ASSIGNMENT OF RESOURCES IN VIRTUAL MACHINE POOLS
First Claim
Patent Images
1. A method for providing resources in a cloud computing environment, comprising:
- receiving a request from a first user for one or more standby reservations of virtual machines associated with a first virtual machine pool corresponding to the first user;
assigning one or more preemptible virtual machines to a second virtual machine pool corresponding to a second user;
performing one or more tasks for the second virtual machine pool using the assigned preemptible virtual machines;
determining that a load-based threshold for conversion of at least one standby reservation for the first virtual machine pool is satisfied;
selecting at least one preemptible virtual machine assigned to the second virtual machine pool for preemption based on at least one of a bid price associated with the second virtual machine pool and a length of time for performing a task on a preemptible virtual machine;
stopping performance of tasks on the at least one selected virtual machine; and
assigning the at least one selected virtual machine to the first virtual machine pool as a dedicated virtual machine.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for assigning and associating resources in a cloud computing environment. Virtual machines in the cloud computing environment can be assigned or associated with pools corresponding to users as dedicated, standby, or preemptible machines. The various states provide users with the ability to reserve a desired level of resources while also allowing the operator of the cloud computing environment to increase resource utilization.
237 Citations
20 Claims
-
1. A method for providing resources in a cloud computing environment, comprising:
-
receiving a request from a first user for one or more standby reservations of virtual machines associated with a first virtual machine pool corresponding to the first user; assigning one or more preemptible virtual machines to a second virtual machine pool corresponding to a second user; performing one or more tasks for the second virtual machine pool using the assigned preemptible virtual machines; determining that a load-based threshold for conversion of at least one standby reservation for the first virtual machine pool is satisfied; selecting at least one preemptible virtual machine assigned to the second virtual machine pool for preemption based on at least one of a bid price associated with the second virtual machine pool and a length of time for performing a task on a preemptible virtual machine; stopping performance of tasks on the at least one selected virtual machine; and assigning the at least one selected virtual machine to the first virtual machine pool as a dedicated virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13)
-
-
10. One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for providing resources in a cloud computing environment, comprising:
-
tracking a number of standby reservations of virtual machines associated with a virtual machine pool corresponding to a user; receiving a request from the user for an increase of dedicated machines assigned to the virtual machine pool by a first amount and an increase in the number of standby reservations associated with the virtual machine pool by a second amount; converting at least one of the one or more standby reservations to a dedicated virtual machine assigned to the virtual machine pool; associating one or more additional standby reservations with the virtual machine pool, the number of additional standby reservations being sufficient to achieve the increase in the number of standby reservations by the second amount; and performing one or more tasks for the virtual machine pool using the at least one converted dedicated virtual machine.
-
-
14. A method for providing resources in a cloud computing environment, comprising:
-
assigning a first virtual machine from a first virtual machine cluster to a first virtual machine pool as a preemptible virtual machine for an assignment time period; assigning a second virtual machine from a second virtual machine cluster to a second virtual machine pool as a preemptible virtual machine for the assignment time period; performing one or more tasks on the first preemptible virtual machine and on the second preemptible virtual machine, the one or more tasks on the first preemptible virtual machine having a greater priority than the one or more tasks on the second preemptible virtual machine; receiving a request from a third virtual machine pool for one or more dedicated virtual machines, the request including an affinity for the first virtual machine cluster; converting the first preemptible virtual machine to a dedicated virtual machine assigned to the third virtual machine pool; removing the assignment of the second preemptible virtual machine from the second virtual machine pool; assigning the second preemptible virtual machine to the first virtual machine pool; and initiating at least one task for the first virtual machine pool on the second preemptible virtual machine prior to the end of the assignment time period. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification