US2020287961A1PendingUtilityA1

Balancing resources in distributed computing environments

58
Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Apr 27, 2015Filed: Feb 27, 2020Published: Sep 10, 2020
Est. expiryApr 27, 2035(~8.8 yrs left)· nominal 20-yr term from priority
G06F 9/505H04L 47/83H04L 67/1001H04L 47/70G06F 9/5077G06F 2009/4557G06F 9/45558H04L 67/1002
58
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

In various implementations, methods and systems resource balancing in a distributed computing environment are provided. A client defined resource metric is received that represents a resource of nodes of the cloud computing platform. A placement plan for job instances of service applications is generated. The placement plan includes one or more movements that are executable to achieve a target placement of the job instances on the nodes. It is determined that the placement plan complies with placement rules. Each placement rule dictates whether a given job instance of the job instances is suitable for placement on a given node of the nodes. The placement plan is executed based on determining that the target placement of the job instances improves balance of resources across the nodes of the cloud computing platform based on the resource represented by the client defined resource metric.

Claims

exact text as granted — not AI-modified
1 . A computerized system comprising:
 one or more computer processors; and   computer memory storing computer-useable instructions that, when used by the one or more computer processors, cause the one or more computer processors to perform operations comprising:   generating a plurality of placement plans, wherein placement plans define one or more movements of a plurality of job instances to node locations identified in corresponding placement plans;
 comparing a first placement plan to a second placement plan using a multi-factor score, wherein the multi-factor score is defined based on at least one of the following: a cost factor and a resource balance factor; 
   based on comparing the first placement plan to the second placement plan, selecting the first placement plan; and   executing the first placement plan.   
     
     
         2 . The system of  claim 1 , wherein the generating of a placement plan is based on identifying an insufficient placement plan associated with the plurality job instances, wherein the insufficient placement plan violates at least one placement rule of a plurality of placement rules; and
 wherein a placement plan is selected based on determining that a placement score of the placement plan exceeds a placement score of a previous placement plan for the plurality of job instances.   
     
     
         3 . The system of  claim 1 , wherein the cost factor is defined based on a number of movements of the plurality of job instances and the resource balance factor is defined based on one or more balances that quantify the balance of one or more of the resources defined by the resource metrics. 
     
     
         4 . The system of  claim 3 , wherein the resource metrics are calculated for one or more nodes associated with the plurality of job instances in target placements of the plurality of job instances, wherein, after the one or more movements, each node location of the plurality of job instances is defined as a target placement for a corresponding job instance in the plurality of job instances. 
     
     
         5 . The system of  claim 1 , the operations further comprising:
 generating an intermediate placement plan for the job instances;   determining that the intermediate placement plan complies with placement rules, the placement rules comprising client-defined placement rules or system-defined placement rules, wherein each placement rule dictates whether a given job instance of the job instances is suitable for placement on a given node of the nodes;   probabilistically replacing a previously preferred placement plan for the job instances with the intermediate placement plan, wherein the intermediate placement plan diminishes the multi-factor score with respect to the previous preferred placement plan; and   replacing the intermediate placement plan with the previous preferred placement plan for the executing the first placement plan.   
     
     
         6 . The system of  claim 1 , the operations further comprising removing a subset of placement plans from the plurality of placement plans prior to comparing the first placement plan to the second placement plan based on the multi-factor score. 
     
     
         7 . The system of  claim 1 , wherein in each iteration, in generating the first placement plan, the operations further comprising:
 receiving, from a client, a designation of a subset of client-defined resource metrics to a particular job instance of the job instances wherein, at least one of the reports is from the particular job instance and specifies the utilization for the subset of the client-defined resource metrics by the particular job instance based on the designation.   
     
     
         8 . One or more computer-storage media having computer-executable instructions embodied thereon that, when executed by a computing system having a processor and memory, cause the processor to:
 generate a plurality of placement plans, wherein placement plans define one or more movements of a plurality of job instances to node locations identified in corresponding placement plans;
 compare a first placement plan to a second placement plan using a multi-factor score, wherein the multi-factor score is defined based on at least one of the following: a cost factor and a resource balance factor; 
   based on comparing the first placement plan to the second placement plan, select the first placement plan; and   executing the first placement plan.   
     
     
         9 . The media of  claim 8 , wherein the generating of a placement plan is based on identifying an insufficient placement plan associated with the plurality job instances, wherein the insufficient placement plan violates at least one placement rule of a plurality of placement rules; and
 wherein a placement plan is selected based on determining that a placement score of the placement plan exceeds a placement score of a previous placement plan for the plurality of job instances.   
     
     
         10 . The media of  claim 8 , wherein the cost factor is defined based on a number of movements of the plurality of job instances and the resource balance factor is defined based on one or more balances that quantify the balance of one or more of the resources defined by the resource metrics. 
     
     
         11 . The media of  claim 10 , wherein the resource metrics are calculated for one or more nodes associated with the plurality of job instances in target placements of the plurality of job instances, wherein each node location of the plurality of job instances after the one or more movements is defined as a target placement for a corresponding job instance in the plurality of job instances. 
     
     
         12 . The media of  claim 8 , the instructions further comprising:
 generating an intermediate placement plan for the job instances;   determining that the intermediate placement plan complies with placement rules, the placement rules comprising client-defined placement rules or system-defined placement rules, wherein each placement rule dictates whether a given job instance of the job instances is suitable for placement on a given node of the nodes;   probabilistically replacing a previously preferred placement plan for the job instances with the intermediate placement plan, wherein the intermediate placement plan diminishes the multi-factor score with respect to the previous preferred placement plan; and   replacing the intermediate placement plan with the previous preferred placement plan for the executing.   
     
     
         13 . The media of  claim 8 , removing a subset of placement plans from the plurality of placement plans prior to comparing the first placement plan to the second placement plan based on the multi-factor score. 
     
     
         14 . The media of  claim 8 , wherein in each iteration, in generating the first placement plan, the operations further comprising:
 receiving, from a client, a designation of a subset of client-defined resource metrics to a particular job instance of the job instances wherein, at least one of the reports is from the particular job instance and specifies the utilization for the subset of the client-defined resource metrics by the particular job instance based on the designation.   
     
     
         15 . A computer-implemented method, the method comprising:
 generating a plurality of placement plans, wherein placement plans define one or more movements of a plurality of job instances to node locations identified in corresponding placement plans;
 comparing a first placement plan to a second placement plan using a multi-factor score, wherein the multi-factor score is defined based on at least one of the following: a cost factor and a resource balance factor; 
   based on comparing the first placement plan to the second placement plan, selecting the first placement plan; and   executing the first placement plan.   
     
     
         16 . The method of  claim 15 , wherein the generating of a placement plan is based on determining that an insufficient placement plan for the plurality job instances violates at least one placement rule of a plurality of placement rules, and
 wherein a placement plan is selected based on determining that a placement score of the placement plan exceeds a placement score of a previous placement plan for the plurality of job instances.   
     
     
         17 . The method of  claim 16 , wherein the cost factor is defined based on a number of movements of the plurality of job instances and wherein the cost factor is defined based on a number of movements of the plurality of job instances and the resource balance factor is defined based on one or more balances that quantify the balance of one or more of the resources defined by the resource metrics,
 wherein the resource metrics are calculated for one or more nodes associated with the plurality of job instances in target placements of the plurality of job instances, wherein each node location of the plurality of job instances after the one or more movements is defined as a target placement for a corresponding job instance in the plurality of job instances.   
     
     
         18 . The method of  claim 15 , the method further comprising:
 generating an intermediate placement plan for the job instances;   determining that the intermediate placement plan complies with placement rules, the placement rules comprising client-defined placement rules or system-defined placement rules, wherein each placement rule dictates whether a given job instance of the job instances is suitable for placement on a given node of the nodes;   probabilistically replacing a previously preferred placement plan for the job instances with the intermediate placement plan, wherein the intermediate placement plan diminishes the multi-factor score with respect to the previous preferred placement plan; and   replacing the intermediate placement plan with the previous preferred placement plan for the executing.   
     
     
         19 . The method of  claim 15 , the method further comprising removing a subset of placement plans from the plurality of placement plans prior to comparing the first placement plan to the second placement plan based on the multi-factor score. 
     
     
         20 . The method of  claim 19 , wherein in each iteration, in generating the first placement plan, the method further comprising:
 receiving, from a client, a designation of a subset of client-defined resource metrics to a particular job instance of the job instances wherein, at least one of the reports is from the particular job instance and specifies the utilization for the subset of the client-defined resource metrics by the particular job instance based on the designation.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.