Resource management for virtual machines in cloud computing systems

US10963285B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10963285-B2
Application numberUS-201916297530-A
CountryUS
Kind codeB2
Filing dateMar 8, 2019
Priority dateFeb 3, 2017
Publication dateMar 30, 2021
Grant dateMar 30, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A system receives 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. The system selects one of the plurality of nodes having a hard disk drive (HDD) input output operations per second (IOPS) value less than an observed HDD IOPS value for the plurality of nodes running the plurality of virtual machines. The system receives a predicted HDD IOPS value for the virtual machine and determines a new HDD IOPS value for the selected node based on the HDD IOPS value for the selected node and the predicted HDD IOPS value for the virtual machine. The system instantiates the virtual machine on the selected node when the new HDD IOPS value for the selected node is less than or equal to the observed HDD IOPS value for the plurality of nodes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: collecting observed resource utilization information for a plurality of nodes on a cloud computing system; receiving a request to deploy a virtual machine on the cloud computing system, the request including an indication that the virtual machine is one of a first virtual machine type that is amenable to a threshold amount of performance degradation or a second virtual machine type that is not amenable to the threshold amount of performance degradation; determining a resource utilization prediction for a first node from the plurality of nodes based on the observed resource utilization information and a predicted resource utilization metric associated with instantiating the virtual machine on the first node, the first node being an oversubscribed node in which more than available resources on the first node have been allocated to one or more virtual machines; determining that the resource utilization prediction for the first node is less than or equal to a predetermined limit; and instantiating the virtual machine on the first node based on determining that the resource utilization prediction for the first node is less than the predetermined limit and based on whether the virtual machine is the first virtual machine type or the second virtual machine type. 2. The method of claim 1 , wherein determining the resource utilization prediction for the first node comprises: receiving a predicted resource utilization metric for the virtual machine; and determining the resource utilization prediction for the first node based on the observed resource utilization information corresponding to the first node and the predicted resource utilization metric for the virtual machine. 3. The method of claim 1 , wherein the observed resource utilization information comprises one or more of maximum resource utilization values or average resource utilization values for each node of the plurality of nodes; and wherein the resource utilization prediction for the first node comprises a predicted maximum resource utilization metric for the first node based on the virtual machine being instantiated thereon. 4. The method of claim 1 , further comprising updating the observed resource utilization information for the plurality of nodes based on instantiating the virtual machine on the first node. 5. The method of claim 1 , wherein the observed resource utilization information comprises observed resource utilization information for a plurality of virtual machines instantiated on the plurality of virtual machines on the cloud computing system. 6. The method of claim 1 , wherein the resource utilization prediction for the first node is based on a prediction of resource utilization corresponding to one or more virtual machines running on the first node in addition to a predicted utilization of resources on the first node as a result of instantiating the virtual machine on the first node in combination with the one or more virtual machines. 7. The method of claim 1 , wherein the first virtual machine type includes a user-facing virtual machine and the second virtual machine type includes a non-user facing virtual machine that can run as a background process. 8. The method of claim 7 , further comprising determining that the virtual machine is the second virtual machine type, and wherein instantiating the virtual machine on the first node is based on determining that the virtual machine is a non-facing virtual machine that can run as a background process in a batch mode. 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 cause at least one computing device to: collect observed resource utilization information for a plurality of nodes on a cloud computing system; receive a request to deploy a virtual machine on the cloud computing system, the request including an indication that the virtual machine is one of a first virtual machine type that is amenable to a threshold amount of performance degradation or a second virtual machine type that is not amenable to the threshold amount of performance degradation; determine a resource utilization prediction for a first node from the plurality of nodes based on the observed resource utilization information and a predicted resource utilization metric associated with instantiating the virtual machine on the first node, the first node being an oversubscribed node in which more than available resources on the first node have been allocated to one or more virtual machines; determine that the resource utilization prediction for the first node is less than or equal to a predetermined limit; and instantiate the virtual machine on the first node or another node based on determining that the resource utilization prediction for the first node is less than the predetermined limit and based on whether the virtual machine is the first virtual machine type or the second virtual machine type. 10. The system of claim 9 , wherein determining the resource utilization prediction for the first node comprises: receiving a predicted resource utilization metric for the virtual machine; and determining the predicted resource utilization metric for the first node based on the observed resource utilization information corresponding to the first node and the predicted resource utilization metric for the virtual machine. 11. The system of claim 9 , wherein the observed resource utilization information comprises average or maximum resource utilization values for each node of the plurality of nodes; and wherein the resource utilization prediction for the first node comprises a predicted average or a predicted maximum resource utilization metric for the first node based on the virtual machine being instantiated thereon. 12. The system of claim 9 , wherein the observed resource utilization information comprises observed resource utilization information for a plurality of virtual machines instantiated on the plurality of virtual machines on the cloud computing system. 13. The system of claim 9 , wherein the resource utilization prediction for the first node is based on a prediction of resource utilization corresponding to one or more virtual machines running on the first node in addition to a predicted utilization of resources on the first node as a result of instantiating the virtual machine on the first node in combination with the one or more virtual machines. 14. The system of claim 9 , wherein the first virtual machine type includes a user-facing virtual machine and the second virtual machine type includes a non-user facing virtual machine that can run as a background process. 15. The system of claim 14 , further comprising instructions being executable by the one or more processors to cause the at least one computing device to determine that the virtual machine is the second virtual machine type, and wherein instantiating the virtual machine on the first node is based on determining that the virtual machine is a non-facing virtual machine that can run as a background process in a batch mode. 16. A computer-readable storage medium including instructions thereon that, when executed by one or more processors, cause at least one computing device to: collect observed resource utilization information for a plurality of nodes on a cloud computing system; receive a request to deploy a virtual machine on the cloud computing system, the request including an indication that the virtual machine is one

Assignees

Inventors

Classifications

  • G06F9/505Primary

    considering the load · CPC title

  • involving task migration · CPC title

  • resumption being on a different machine, e.g. task migration, virtual machine migration (G06F9/5088 takes precedence) · 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

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10963285B2 cover?
A system receives 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. The system selects one of the plurality of nodes having a hard disk drive (HDD) input output operations per second (IOPS) value less than an observed HDD IOPS value for the plurality of nodes running the plurality of virtual machines. T…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/505. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 30 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).