US2019065225A9PendingUtilityA9

Virtual machine packing method using scarcity

Assignee: MICROSOFT TECHNOLOGY LICENSING LLCPriority: Apr 10, 2009Filed: Feb 11, 2016Published: Feb 28, 2019
Est. expiryApr 10, 2029(~2.7 yrs left)· nominal 20-yr term from priority
G06F 9/5044G06F 9/45533G06F 9/5088G06F 9/5077G06F 9/45558G06F 2009/4557Y02D10/00G06F 9/455
50
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method for packing virtual machines onto host devices may calculate scarcity values for several different parameters. A host's scarcity for a parameter may be determined by multiplying the host's capacity for a parameter with the overall scarcity of that parameter. The sum of a host's scarcity for all the parameters determines the host's overall scarcity. Hosts having the highest scarcity are attempted to be populated with a group of virtual machines selected for compatibility with the host. In many cases, several different scenarios may be evaluated and an optimal scenario implemented. The method gives a high priority to those virtual machines that consume scarce resources, with the scarcity being a function of the available hardware and the virtual machines that may be placed on them.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system, the system comprising:
 system memory;   one or more processors;   one or more hosts, the one or more hosts offering a plurality of resources for use by virtual machines;   a virtual machine manager, using the one or more processors, configured to:
 determine a scarcity of each of the plurality of resources based on the demand for each of the plurality of resources by the one or more virtual machines in view of the supply for each of the plurality of resources at the one or more hosts; 
 determine a scarcity score for each of the one or more hosts, the scarcity score calculated from a local supply of each of the plurality of resources available at the host in view of the scarcity for each of the plurality of resources; and 
 assign the one or more virtual machines to the one or more hosts giving precedence to assigning virtual machines demanding resources that are more scare to hosts that have larger supplies of the resources that are more scarce based on the determined scarcity for each of the plurality of resources and the determined scarcity score for each of the one or more hosts. 
   
     
     
         2 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to place the one or more virtual machines onto the one or more hosts by looping through the one or more virtual machines according to a virtual machine order. 
     
     
         3 . The system of  claim 2 , further comprising the virtual machine manager, using the one or more processors, configured to:
 calculate a virtual machine scarcity score for each of the one or more virtual machines; and   determine the virtual machine order for the one or more virtual machines by ranking each of the one or more virtual machines relative to one another based on the calculated virtual machine scarcity scores for each of the one or more virtual machines.   
     
     
         4 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to determine a scarcity of each of the plurality of resources comprises a virtual machine manager, using the one or more processors, configured to determine a scarcity for a binary resource. 
     
     
         5 . The system of  claim 1 , a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to assign at least one virtual machine with a binary resource to a host. 
     
     
         6 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to determine a scarcity of each of the plurality of resources comprises a virtual machine manager, using the one or more processors, configured to determine a scarcity for at non-consumable resource. 
     
     
         7 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to determine a scarcity of each of the plurality of resources comprises a virtual machine manager, using the one or more processors, configured to determine a scarcity for at consumable resource. 
     
     
         8 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to consider and reject an assignment of a virtual machine to a host. 
     
     
         9 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to determine a scarcity of each of the plurality of resources comprises a virtual machine manager, using the one or more processors, configured to determine a scarcity for a resource based on the scarcity of a plurality of sub resources associated with the resource. 
     
     
         10 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts based on a power consumption score for each of the one or more virtual machines. 
     
     
         11 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to:
 assign a virtual machine to a host, the host selected from among the one or more host; and   assign another virtual machine providing redundancy for the virtual machine to another host, the other host selected from among the one or more hosts.   
     
     
         12 . The system of  claim 1 , wherein a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts comprises a virtual machine manager, using the one or more processors, configured to assign the one or more virtual machines to the one or more hosts taking into account the placement of a group of virtual machines already placed on the one or more hosts. 
     
     
         13 . The system of  claim 1 , further comprising:
 one or more additional virtual machines assigned to the one or more hosts; and   the virtual machine manager, using the one or more processors, configured to:
 determine the demand for each of the plurality of resources based on the individual demand for each of the plurality of resources by each of the one or more virtual machines; and 
 determine the supply for each of a plurality of resources, the supply calculated based on the amount of the resource available at each of the one or more hosts in view of the amount of the resource consumed by the one or more additional virtual machines. 
   
     
     
         14 . A method for use at a computer system, the method for determining placement of one or more virtual machines onto one or more hosts, the one or more hosts offering a plurality of resources for use by virtual machines, the method comprising:
 determining a scarcity of each of the plurality of resources based on the demand for each of the plurality of resources by the one or more virtual machines in view of the supply for each of the plurality of resources at the one or more hosts;   determining a scarcity score for each of the one or more hosts, the scarcity score calculated from a local supply of each of the plurality of resources available at the host in view of the scarcity for each of the plurality of resources; and   assigning the one or more virtual machines to the one or more hosts giving precedence to assigning virtual machines demanding resources that are more scare to hosts that have larger supplies of the resources that are more scarce based on the determined scarcity for each of the plurality of resources and the determined scarcity score for each of the one or more hosts.   
     
     
         15 . The method of  claim 14 , further comprising:
 calculating a virtual machine scarcity score for each of the one or more virtual machines; and   determining a virtual machine order for the one or more virtual machines by ranking each of the one or more virtual machines relative to one another based on the calculated virtual machine scarcity scores for each of the one or more virtual machines; and   wherein assigning the one or more virtual machines to the one or more hosts comprises placing the one or more virtual machines onto the one or more hosts by looping through the one or more virtual machines according to the virtual machine order.   
     
     
         16 . The method of  claim 14 , wherein assigning the one or more virtual machines to the one or more hosts comprises considering and rejecting an assignment of a virtual machine to a host. 
     
     
         17 . The method of  claim 14 , wherein determining a scarcity of each of the plurality of resources comprises determining a scarcity for a resource based on the scarcity of a plurality of sub resources associated with the resource. 
     
     
         18 . The method of  claim 14 , wherein assigning the one or more virtual machines to the one or more hosts comprises assigning the one or more virtual machines to the one or more hosts taking into account the placement of a group of virtual machines already placed on the one or more hosts. 
     
     
         19 . The method of  claim 14 , wherein assigning the one or more virtual machines to the one or more hosts comprises assigning the one or more virtual machines to the one or more hosts based on a power consumption score for each of the one or more virtual machines. 
     
     
         20 . A computer program product for use at a computer system, the computer program product for implementing a method for placing one or more virtual machines onto one or more hosts, the one or more hosts offering a plurality of resources for use by virtual machines, the computer program product comprising one or more computer storage memories having stored thereon computer-executable instructions that, when executed at a processor, cause the computer system to perform the method, including the following:
 determine a scarcity of each of the plurality of resources based on the demand for each of the plurality of resources by the one or more virtual machines in view of the supply for each of the plurality of resources at the one or more hosts;   determine a scarcity score for each of the one or more hosts, the scarcity score calculated from a local supply of each of the plurality of resources available at the host in view of the scarcity for each of the plurality of resources; and   assign the one or more virtual machines to the one or more hosts giving precedence to assigning virtual machines demanding resources that are more scare to hosts that have larger supplies of the resources that are more scarce based on the determined scarcity for each of the plurality of resources and the determined scarcity score for each of the one or more hosts.

Join the waitlist — get patent alerts

Track US2019065225A9 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.