Predictively provisioning cloud computing resources for virtual machines
US-9817690-B2 · Nov 14, 2017 · US
US10489184B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10489184-B2 |
| Application number | US-201715594106-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 12, 2017 |
| Priority date | May 12, 2017 |
| Publication date | Nov 26, 2019 |
| Grant date | Nov 26, 2019 |
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 and method for managing virtual machines in a network. A plurality of virtual machine (VM) requests are received. At least one resource requirement associated with the requests is selected. The plurality of VM requests are grouped into a plurality of request groupings based on a measurement of the at least one resource requirement. The plurality of VM requests are assigned to at least one server through utilization of the request groupings.
Opening claim text (preview).
The invention claimed is: 1. A system for managing virtual machines within a network infrastructure, comprising: a processor, an input/output device coupled to the processor, and a memory coupled with the processor, the memory comprising executable instructions that when executed by the processor cause the processor to effectuate operations comprising: receiving a plurality of virtual machine (VM) instantiation requests; selecting at least one resource requirement, associated with the requests, to measure for each of the requests, wherein the at least one resource requirement is based on at least one efficiency metric associated with the network; measuring the at least one resource requirement for each VM request; grouping the plurality of VM instantiation requests into a plurality of request groupings based on the at least one resource requirement, wherein the request groupings are based on grouping VM requests having relative resource requirement measurements which are complimentary to each other; determining whether or not deployment of the plurality of VM instantiation requests in accordance with the request groupings would violate at least one deployment constraint; if deployment of the plurality of VM instantiation requests in accordance with the request groupings would violate at least one deployment constraint, then removing at least one of the VM instantiation requests from the request groupings and deploying the at least one of the VM instantiation requests that was removed from the request grouping, to at least one server at a site within the network, in accordance with the at least one deployment constraint such that deployment of the VM instantiation requests in accordance with the request groupings would not violate at least one deployment constraint; assigning the plurality of VM requests to the at least one server at the site within the network through utilization of the request groupings monitoring the at least one site for degradation of performance; and if the at least one site experiences degradation of performance, regrouping and reassigning at least some of the plurality of VM requests. 2. The system of claim 1 , wherein the at least one resource requirement is one of a qualitative measurement and a quantitative measurement. 3. The system of claim 1 , wherein the selecting at least one resource requirement comprises selecting a first resource requirement and a second resource requirement. 4. The system of claim 3 , wherein the first resource requirement is predicted CPU usage and the second resource requirement is predicted memory usage. 5. The system of claim 3 , wherein grouping comprises: selecting a clustering algorithm; selecting the first resource requirement and the second resource requirement for utilization as clustering criteria in the clustering algorithm; running the clustering algorithm to create a plurality of VM request clusters. 6. The system of claim 5 , wherein assigning comprises: identifying a first cluster of VM requests and a second cluster of VM requests, wherein the first cluster and the second cluster are furthest apart within the plurality of VM request clusters; and assigning at least one VM request from the first cluster and at least one VM request from the second cluster to the same server. 7. The system of claim 1 , wherein the at least one resource requirement relates to a time of day at which the VM will utilize at least one resource. 8. The system of claim 7 , wherein grouping comprises creating a first cluster comprising at least one VM request that will utilize the at least one resource during a first time and a second cluster comprising at least one VM request that will utilize the at least one resource during a second time. 9. The system of claim 1 , wherein the operations further comprise: causing a plurality of VMs to be instantiated for the plurality of VM instantiation requests; associating an instantiation time stamp with each of the plurality of VMs; receiving a request to delete at least one of the plurality of VMs; and selecting a VM for deletion that has an instantiation time stamp that is later than that of other of the plurality of VMs. 10. A method for managing virtual machines in a network, comprising: selecting at least one resource requirement associated with a plurality of virtual machine (VM) instantiation requests based on at least one efficiency metric associated with the network; measuring the at least one resource requirement for each VM request; grouping the plurality of VM requests based on a measurement of the at least one resource requirement into a plurality of request groupings, wherein the request groupings are based on grouping VM requests having relative resource requirement measurements which are complimentary to each other; determining whether or not deployment of the plurality of VM instantiation requests in accordance with the request groupings would violate at least one deployment constraint; if deployment of the plurality of VM instantiation requests in accordance with the request groupings would violate at least one deployment constraint, then removing at least one of the VM instantiation requests from the request groupings and deploying the at least one of the VM instantiation requests that was removed from the request grouping, to at least one server at a site within the network, in accordance with the at least one deployment constraint such that deployment of the VM instantiation requests in accordance with the request groupings would not violate at least one deployment constraint; and assigning the plurality of VM requests, to the site within the network, to the at least one server through utilization of the grouping; monitoring at least one site within the network infrastructure for degradation of performance; and if the at least one site experiences degradation of performance, regrouping and reassigning at least some of the plurality of VM requests. 11. The method of claim 10 , wherein the at least one resource requirement is one of a qualitative measurement and a quantitative measurement. 12. The method of claim 10 , wherein the selecting at least one resource requirement comprises selecting a first resource requirement and a second resource requirement. 13. The method of claim 12 , wherein the first resource requirement is predicted CPU usage and the second resource requirement is predicted memory usage. 14. The method of claim 12 , wherein grouping comprises: selecting a clustering algorithm; selecting the first resource requirement and the second resource requirement for utilization as clustering criteria in the clustering algorithm; running the clustering algorithm to create a plurality of VM request clusters. 15. The method of claim 14 , wherein assigning comprises: identifying a first cluster of VM requests and a second cluster of VM requests, wherein the first cluster and the second cluster are furthest apart within the plurality of VM request clusters; and assigning at least one VM request from the first cluster and one VM request from the second cluster to the same server. 16. The method of claim 10 , wherein the at least one resource requirement relates to a time of day at which the VM will utilize at least one resource. 17. The method of claim 16 , wherein grouping comprises creating a first cluster comprising at least one VM request that will utilize the at least one resource during a first time and a second cluster comprising at least one VM request that will utilize the at least one resource during a second time.
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
Creating, deleting, cloning virtual machine instances · CPC title
Distribution of virtual machine instances; Migration and load balancing · CPC title
Hypervisor-specific management and integration aspects · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.