Resource management for virtual machines in cloud computing systems
US-2019205157-A1 · Jul 4, 2019 · US
US11455193B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11455193-B2 |
| Application number | US-201916576548-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 19, 2019 |
| Priority date | Feb 3, 2017 |
| Publication date | Sep 27, 2022 |
| Grant date | Sep 27, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A system receives a request to deploy a virtual machine (VM) on one of a plurality of nodes running a plurality of VMs in a cloud computing system. The system receives a predicted lifetime for the VM and an indication of an average lifetime of VMs running on each of the plurality of nodes. The system allocates the VM to a first node when a first policy of collocating VMs with similar lifetimes on a node is adopted and the predicted lifetime is within a predetermined range of the average lifetime of VMs running on the first node. The system allocates the VM to a second node when a second policy of collocating VMs with dissimilar lifetimes on a node is adopted and the predicted lifetime is not within the predetermined range of the average lifetime of VMs running on the second node.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: receiving a request to deploy a virtual machine on a node from a plurality of nodes running a plurality of virtual machines in a cloud computing system; receiving a predicted lifetime for the virtual machine; identifying, for each node from the plurality of nodes, an average lifetime, the average lifetime including an average predicted lifetime of virtual machines running on a given node from the plurality of nodes, and wherein the average lifetime indicates an average duration of time prior to termination of virtual machines running on the given node; when the predicted lifetime is within a predetermined range of the average lifetime of virtual machines running on a first node of the plurality of nodes, allocating the virtual machine to the first node and instantiating the virtual machine on the first node; and when the predicted lifetime is not within the predetermined range of the average lifetime of virtual machines running on the first node of the plurality of nodes, allocating the virtual machine to a different node from the plurality of nodes and instantiating the virtual machine on the different node from the plurality of nodes. 2. The method of claim 1 , wherein the predetermined range comprises a predetermined number of standard deviations from a current average lifetime of virtual machines running on each of the plurality of nodes. 3. The method of claim 1 , wherein allocating the virtual machine to the first node is further based on a policy applicable to the first node associated with ensuring that each virtual machine on the first node has a lifetime that is less than or equal to a threshold lifetime. 4. The method of claim 1 , wherein allocating the virtual machine to the different node is further based on a policy applicable to the different node associated with limiting a number of virtual machines on the node having lifetimes that are greater than or equal to a threshold lifetime. 5. The method of claim 1 , wherein receiving the predicted lifetime for the virtual machine comprises: collecting data regarding lifetimes of the plurality of virtual machines; and generating the predicted lifetime for the virtual machine based on characteristics of the virtual machine and the collected data. 6. The method of claim 1 , further comprising identifying the average lifetime of virtual machines running on each of the plurality of nodes by: collecting data regarding lifetimes of the plurality of virtual machines in the cloud computing system; and generating the average lifetime of virtual machines running on each of the plurality of nodes based on the collected data. 7. The method of claim 1 , further comprising determining an updated average lifetime of virtual machines running on each of the plurality of nodes based on allocating the virtual machine. 8. The method of claim 7 , further comprising: receiving a second request to deploy a second virtual machine on a node from the plurality of nodes running the plurality of virtual machines in the cloud computing system; receiving a second predicted lifetime for the additional second virtual machine; when the second predicted lifetime is within the predetermined range of the updated average lifetime of virtual machines running on the first node of the plurality of nodes, allocating the second virtual machine to the first node; and when the second predicted lifetime is not within the predetermined range of the updated average lifetime of virtual machines running on the first node of the plurality of nodes, allocating the second virtual machine to the different node from the plurality of nodes. 9. A system, comprising: one or more processors; memory in electronic communication with the one or more processors; and instructions stored in the memory, the instructions being executable by the one or more processors to: receive a request to deploy a virtual machine on a node from a plurality of nodes running a plurality of virtual machines in a cloud computing system; receive a predicted lifetime for the virtual machine; determine that the predicted lifetime is within a predetermined range of an average lifetime of virtual machines running on a first node from the plurality of nodes, the average lifetime including an average predicted lifetime of virtual machines running on a given node from the plurality of nodes, and wherein the average lifetime indicates an average duration of time prior to termination of virtual machines running on the given node; identify an allocation policy for the first node including a preference that virtual machines on the first node have lifetimes within the predetermined range of the average lifetime for the first node; based on determining that the predicted lifetime is within the predetermined range of the average lifetime in accordance with the allocation policy for the first node, allocate the virtual machine to the first node; and instantiate the virtual machine on the first node. 10. The system of claim 9 , wherein the predetermined range comprises a predetermined number of standard deviations from a current average lifetime of virtual machines running on each of the plurality of nodes. 11. The system of claim 9 , wherein the allocation policy applicable to the first node includes a policy associated with ensuring that each virtual machine on the first node has a lifetime that is less than or equal to a threshold lifetime. 12. The system of claim 9 , further comprising instructions executable by the one or more processors to: collect data regarding lifetimes of the plurality of virtual machines in the cloud computing system; and identify an average lifetime of virtual machines running on the first node based on the collected data, and identify the predicted lifetime for the virtual machine is-based on characteristics of the virtual machine and the collected data. 13. The system of claim 9 , further comprising instructions executable by the one or more processors to, in response to allocating the virtual machine to the first node, determine an updated average lifetime of virtual machines running on the first node based on the predicted lifetime for the virtual machine. 14. The system of claim 13 , further comprising instructions executable by the one or more processors to: receive a second request to deploy a second virtual machine on a node from the plurality of nodes running the plurality of virtual machines in the cloud computing system; receiving a second predicted lifetime for the second virtual machine; and based on determining that the second predicted lifetime is within the predetermined range of the updated average lifetime of virtual machines running on the first node in accordance with the allocation policy for the first node, allocate the second virtual machine to the first node. 15. A system, comprising: one or more processors; memory in electronic communication with the one or more processors; and instructions stored in the memory, the instructions being executable by the one or more processors to: receive a request to deploy a virtual machine on a node from a plurality of nodes running a plurality of virtual machines in a cloud computing system; receive a predicted lifetime for the virtual machine; determine that the predicted lifetime is outside a predetermined range of an average lifetime of virtual machines running on a first node from the plurality of nodes, the average lifetime including an average predicted lifetime of virtual machines running on a given node from the plurality of nodes, and wherein the average lifetime indicates an
Grid computing · CPC title
the resource being the memory · CPC title
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
Machine learning · CPC title
Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.