Virtual mode execution manager
US-12118376-B2 · Oct 15, 2024 · US
US11650853B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11650853-B2 |
| Application number | US-202117205277-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 18, 2021 |
| Priority date | Mar 18, 2021 |
| Publication date | May 16, 2023 |
| Grant date | May 16, 2023 |
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.
Various approaches for allocating resources to multiple virtual machines include identifying multiple reserved instances, each specifying a quantity of one or more computational resources compatible with the feasible resource template for the VMs; computationally generating, for each of the VMs, an instance-ranking list indicating a ranking order of the reserved instances having templates feasible for the VM; computationally generating, for each of the reserved instances, a VM-ranking list indicating a ranking order of the VMs to which the resources specified by the reserved instance may be allocated; and based at least in part on the instance-ranking list and the VM-ranking list, computationally mapping each of the VMs to one of the reserved instances.
Opening claim text (preview).
What is claimed is: 1. A method of allocating resources to a plurality of virtual machines (VMs), each of the VMs being associated with a feasible resource template specifying minimum resources required to execute the VM, the method comprising: uploading a workload to at least one VM of the plurality of VMs for execution of the workload; identifying a plurality of reserved instances (RIs), wherein each RI specifies a set of computational resources that is compatible with the feasible resource template associated with the at least one VM for execution of the workload for a fixed time period; computationally generating, for the at least one VM, an instance-ranking list indicating a ranking order of the RIs having templates that are compatible with the feasible resource template associated with the at least one VM; computationally generating, for each RI, a VM-ranking list indicating a ranking order of the VMs to which the set of computational resources specified by each RI may be allocated; based at least in part on the instance-ranking list and the VM-ranking list, computationally mapping the at least one VM to a corresponding RI of the RIs; allocating the set of computational resources specified by the corresponding RI to the at least one VM based on the mapping; and monitoring a use of the set of computational resources by the at least one VM using a processor that tracks actual resource utilization over time to determine if the set of computational resources allocated to the at least one VM needs to be updated to execute the workload. 2. The method of claim 1 , wherein the ranking order of the RIs in the instance-ranking list and/or the ranking order of the VMs in the VM-ranking list is determined based on at least one priority factor selected from the group consisting of a cost saving, an affinity between the VMs and the RIs, an association between the VMs and an instance type of each RI, an association between the VMs and a family of the instance type to which each RI belongs, and a usage constraint associated with each RI. 3. The method of claim 2 , wherein, for each RI, the ranking order of the VM-ranking list is determined based on the following order of priority factors: (i) the cost saving associated with the VMs, (ii) the affinity between each RI and the VMs, (iii) the association between the instance type of each RI and the VMs, and (iv) the association between the family of the instance type to which each RI belongs to and the VMs. 4. The method of claim 2 , wherein, for the at least one VM, the ranking order of the Ms in the instance-ranking list is determined based on the following order of priority factors: (i) the cost saving associated with each RI, (ii) the affinity between the at least one VM and each RI of the RIs, (iii) the usage constraint associated with each RI, and (iv) the association between the at least one VM and the instance type of each RI. 5. The method of claim 1 , wherein the set of computational resources specified by each RI are allocated to a different one of the VMs. 6. The method of claim 1 , wherein the set of computational resources specified by one of the RIs are allocated to two or more of the VMs. 7. The method of claim 1 , wherein the mapping is computationally generated using Gale-Shapley algorithm. 8. The method of claim 1 , wherein the set of computational resources are selected from the group consisting of CPUs, memory, databases, network bandwidth, and input-output capacity. 9. A computer system for allocating resources to a plurality of virtual machines (VMs), each of the VMs being associated with a feasible resource template specifying minimum resources required to execute the VM, the computer system comprising: a processor; and a computer memory including stored instructions, executable by the processor, for causing the processor to: upload a workload to at least one VM of the plurality of VMs for execution of the workload; identify a plurality of reserved instances (RIs), wherein each RI specifies a set of computational resources that is compatible with the feasible resource template associated with the at least one VM for execution of the workload for a fixed time period; generate, for the at least one VM, an instance-ranking list indicating a ranking order of the RIs having templates that are compatible with the feasible resource template associated with the at least one VM; generate, for each RI, a VM-ranking list indicating a ranking order of the VMs to which the set of computational resources specified by each RI may be allocated; based at least in part on the instance-ranking list and the VM-ranking list, map the at least one VM to a corresponding RI of the RIs; allocate the set of computational resources specified by the corresponding RI to the at least one VM based on the mapping; and monitor a use of the set of computational resources by the at least one VM using the processor that tracks actual resource utilization over time to determine if the set of computational resources allocated to the at least one VM needs to be updated to execute the workload. 10. The computer system of claim 9 , wherein the ranking order of the RIs in the instance-ranking list and/or the ranking order of the VMs in the VM-ranking list is determined based on at least one priority factor selected from the group consisting of a cost saving, an affinity between the VMs and the RIs, an association between the VMs and an instance type of each RI, an association between the VMs and a family of the instance type to which each RI belongs, and a usage constraint associated with each RI. 11. The computer system of claim 10 , wherein, for each RI, the ranking order of the VM-ranking list is determined based on the following order of priority factors: (i) the cost saving associated with the VMs, (ii) the affinity between each RI and the VMs, (iii) the association between the instance type of each RI and the VMs, and (iv) the association between the family of the instance type to which each RI belongs to and the VMs. 12. The computer system of claim 10 , wherein, for the at least one VM, the ranking order of the RIs in the instance-ranking list is determined based on the following order of priority factors: (i) the cost saving associated with each RI, (ii) the affinity between the at least one VM and each RI, (iii) the usage constraint associated with each RI, and (iv) the association between the at least one and the instance type of each RI. 13. The computer system of claim 9 , wherein the set of computational resources specified by each RI are allocated to a different one of the VMs. 14. The computer system of claim 9 , wherein the set of computational resources specified by one of the Ms are allocated to two or more of the VMs. 15. The computer system of claim 9 , wherein the processor is further configured to computationally map the at least one VM to one of the RIs using Gale-Shapley algorithm. 16. The system of claim 9 , wherein the set of computational resources are selected from the group consisting of CPUs, memory, databases, network bandwidth, and input-output capacity.
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
considering hardware capabilities · CPC title
Hypervisors; Virtual machine monitors · CPC title
considering software capabilities, i.e. software resources associated or available to the machine · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.