Virtual mode execution manager
US-12118376-B2 · Oct 15, 2024 · US
US9858095B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9858095-B2 |
| Application number | US-201213621526-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 17, 2012 |
| Priority date | Sep 17, 2012 |
| Publication date | Jan 2, 2018 |
| Grant date | Jan 2, 2018 |
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 method for providing dynamic resizing of at least one virtual machine in a cloud infrastructure includes steps of: obtaining a measure of resource usage for the virtual machine and/or application performance of an application running on the virtual machine; determining, as a function of prescribed rules relating to resource usage and the measure of resource usage and/or application performance, whether the virtual machine requires resizing; and resizing the virtual machine to dynamically change resource availability for the virtual machine so as to maintain resource usage and/or application performance within prescribed limits defined by the prescribed rules.
Opening claim text (preview).
What is claimed is: 1. A method for providing dynamic resizing of at least one virtual machine in a cloud infrastructure, the method comprising steps of: obtaining a measure of resource usage for the at least one virtual machine and application performance of an application running on the virtual machine, the at least one virtual machine having a set of one or more physical resource elements assigned thereto; determining, as a function of prescribed rules relating to resource usage and the measure of resource usage for the at least one virtual machine and application performance, whether the at least one virtual machine requires resizing; determining a feasibility of the resizing of the at least one virtual machine based at least in part on the information regarding resource availability; and resizing the at least one virtual machine to dynamically change resource availability for the at least one virtual machine so as to maintain resource usage and application performance within prescribed limits defined by the prescribed rules, said resizing being performed without any of: interrupting an application running on the at least one virtual machine, causing an operating system reboot, restarting the application, or causing a hardware reconfiguration; wherein resizing the at least one virtual machine comprises periodically performing the steps of: determining whether resource usage and application performance is below prescribed lower limits defined by the prescribed rules, and responsive to this determination hiding at least a portion of the set of one or more physical resource elements from the application such that the hidden portion of the set remains assigned to the at least one virtual machine but is effectively invisible to the application running on the virtual machine; determining whether resource usage and application performance is still below prescribed lower limits defined by the prescribed rules and a pre-determined number of resources are hidden from the application in the hidden portion and responsive to this determination decreasing the size of the at least one virtual machine by decreasing at least one of a number and a capacity of one or more resource elements assigned to the at least one virtual machine; determining whether the resource usage and application performance is above a higher limit defined by the prescribed rules and whether a resource exists in the hidden portion of physical resource elements and responsive to this determination making visible at least a portion of the set of one or more physical resource elements from the hidden portion for usage by the application; and determining whether the resource usage and application performance is above a higher limit defined by the prescribed rules and whether all resources in the hidden portion are visible and responsive to this determination increasing a size of the at least one virtual machine by at least one of adding one or more available resources to the at least one virtual machine. 2. The method of claim 1 , further comprising: obtaining information regarding resource availability on a physical machine which includes the at least one virtual machine; and determining a feasibility of the resizing of the at least one virtual machine based at least in part on the information regarding resource availability. 3. The method of claim 2 , further comprising relocating the at least one virtual machine from a first host to a second host when the feasibility of the resizing determines that an in situ resize of the at least one virtual machine is not possible. 4. The method of claim 2 , wherein the step of determining a feasibility of the resizing is based at least in part on current available resource information. 5. The method of claim 2 , further comprising establishing at least one communication channel to at least one of the at least one virtual machine and the physical machine to perform the resizing when the feasibility of the resizing determines that an in situ resize of the at least one virtual machine is possible. 6. The method of claim 1 , wherein the step of resizing is performed at least one of directly, in an on-demand basis, and indirectly, by providing prescribed policies to be enforced. 7. The method of claim 1 , further comprising: analyzing historical resize demand data; and allocating physical capacity on at least one physical machine, based on said historical resizing demand data, in such a manner as to ensure a target success probability of the resizing of the at least one virtual machine. 8. The method of claim 1 , wherein hiding at least a portion of the set comprises hiding at least one processor, assigned to the virtual machine, from the application. 9. The method of claim 1 , wherein hiding at least a portion of the set comprises hiding at least one network interface, assigned to the virtual machine, from the application. 10. The method of claim 1 , wherein hiding at least a portion of the set comprises throttling at least a given one of the physical resource elements assigned to the virtual machine, thereby hiding a portion of the given physical resource element from the application, said throttling comprising restricting a maximum capacity perceived by the application for the given physical resource element. 11. The method of claim 10 , wherein the given physical resource element comprises a processor, and wherein the perceived capacity comprises an operating frequency of the processor. 12. The method of claim 10 , wherein the given physical resource element comprises a network interface, and wherein the perceived capacity comprises a bandwidth of the network interface. 13. The method of claim 1 , further comprising creating the virtual machine by: assigning the set of one or more physical resource elements to the virtual machine such that the actual size of the virtual machine is a maximum size of the virtual machine; and hiding at least the portion of the set of one or more physical resource elements such that the perceived size of the virtual machine is less than the actual size of the virtual machine. 14. The method of claim 13 , wherein hiding the portion of the set of one or more physical resource elements decreases the perceived size of the virtual machine without changing the actual size of the virtual machine; and making the hidden portion of the set visible increases the perceived size of the virtual machine without changing the actual size of the virtual machine. 15. An apparatus configured to dynamically resize at least one virtual machine instantiated on a computing system in a cloud infrastructure, the apparatus comprising: a memory; at least one processor operatively coupled with said memory; and a persistent storage device operatively coupled with said memory and storing in a non-transitory manner instructions which when loaded into said memory cause said at least one processor to implement at least one virtual machine resizing module adapted to communicate with the cloud infrastructure, the resizing module being configured to: obtain a measure of resource usage for the at least one virtual machine and application performance of an application running on the virtual machine, the at least one virtual machine having a set of one or more physical resource elements assigned thereto; determine, as a function of prescribed rules relating to resource usage and the measure of resource usage for the at least one virtual machine and application performance, whether the at least one virtual machine requires resizing; determine a feasibility of the resizing of the at least one virtual machine based at
Hypervisors; Virtual machine monitors · 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
Cross-Sectional Technologies · mapped topic
to service a request · CPC title
Performance criteria · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.