System and method for dynamic allocation of virtual machines in a virtual server environment
First Claim
1. A system for dynamically producing virtual machines (VMs) on a plurality of servers, the system comprising:
- a VM manager engine configured for;
receiving VM parameters specifying a plurality of VMs to be produced across the plurality of servers, wherein the VM parameters do not specify that a VM be produced on a specific server in the plurality of servers;
producing a single VM request queue for the plurality of servers, the VM request queue being accessible by a plurality of threads and comprising a plurality of VM requests for producing the plurality of VMs, each VM request specifying a VM for producing on the plurality of servers and not specifying the VM for producing on a specific server in the plurality of servers; and
producing a plurality of processing threads for the plurality of servers, each processing thread assigned to a server, each processing thread configured to access and retrieve VM requests from the single VM request queue and process a retrieved VM request for producing a VM only on the assigned server, wherein each VM request is configured for processing by any processing thread in the plurality of processing threads for producing a VM on any server in the plurality of servers depending on which processing thread retrieves the VM request from the VM request queue.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method for dynamically producing virtual machines (VMs) across a plurality of servers in the virtual server environment is provided. A single VM request queue is produced comprising VM requests for producing the plurality of VMs. A processing thread is produced and assigned for each server and retrieves VM requests from the VM request queue and produces VMs only on the assigned server according to the retrieved VM requests. Each processing thread may be configured for retrieving VM requests and producing VMs without any programmed delays, whereby the rate at which a processing thread produces VMs on its assigned server is a function of the performance capabilities of the assigned server. This dynamic allocation of VMs based on such a “natural selection” technique may provide an appropriately balanced allocation of VMs based on the performance capabilities of each server in the virtual server environment.
-
Citations
22 Claims
-
1. A system for dynamically producing virtual machines (VMs) on a plurality of servers, the system comprising:
a VM manager engine configured for; receiving VM parameters specifying a plurality of VMs to be produced across the plurality of servers, wherein the VM parameters do not specify that a VM be produced on a specific server in the plurality of servers; producing a single VM request queue for the plurality of servers, the VM request queue being accessible by a plurality of threads and comprising a plurality of VM requests for producing the plurality of VMs, each VM request specifying a VM for producing on the plurality of servers and not specifying the VM for producing on a specific server in the plurality of servers; and producing a plurality of processing threads for the plurality of servers, each processing thread assigned to a server, each processing thread configured to access and retrieve VM requests from the single VM request queue and process a retrieved VM request for producing a VM only on the assigned server, wherein each VM request is configured for processing by any processing thread in the plurality of processing threads for producing a VM on any server in the plurality of servers depending on which processing thread retrieves the VM request from the VM request queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
10. A method for dynamically producing virtual machines (VMs) on a plurality of servers, the method comprising:
-
receiving, at a VM manager engine, VM parameters specifying a plurality of VMs to be produced across the plurality of servers, wherein the VM parameters do not specify that a VM be produced on a specific server in the plurality of servers; producing, using the VM manager engine, a single VM request queue for the plurality of servers, the VM request queue being accessible by a plurality of threads and comprising a plurality of VM requests for producing the plurality of VMs, each VM request specifying a VM for producing on the plurality of servers and not specifying the VM for producing on a specific server in the plurality of servers; and producing, using the VM manager engine, a plurality of processing threads for the plurality of servers, each processing thread assigned to a server, each processing thread configured to access and retrieve VM requests from the single VM request queue and process a retrieved VM request for producing a VM only on the assigned server, wherein each VM request is configured for processing by any processing thread in the plurality of processing threads for producing a VM on any server in the plurality of servers depending on which processing thread retrieves the VM request from the VM request queue. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A system for dynamically producing virtual machines (VMs) on a plurality of servers, the system comprising:
a VM manager engine configured for; receiving VM parameters specifying a plurality of VMs to be produced across the plurality of servers, wherein the VM parameters do not specify that a VM be produced on a specific server in the plurality of servers; producing a single VM request queue for the plurality of servers, the VM request queue being accessible by a plurality of threads and comprising a plurality of VM requests for producing the plurality of VMs, each VM request specifying a VM for producing on the plurality of servers and not specifying the VM for producing on a specific server in the plurality of servers; and producing a plurality of processing threads for the plurality of servers, each processing thread assigned to a server, each processing thread configured to access and retrieve VM requests from the single VM request queue and process a retrieved VM request for producing a VM only on the assigned server, wherein each processing thread is configured for retrieving VM requests and producing VMs without any programmed delays, whereby the rate at which a processing thread produces VMs on its assigned server is a function of the performance capabilities of the assigned server. - View Dependent Claims (20)
-
21. A method for dynamically producing virtual machines (VMs) on a plurality of servers, the method comprising:
-
receiving, at a VM manager engine, VM parameters specifying a plurality of VMs to be produced across the plurality of servers, wherein the VM parameters do not specify that a VM be produced on a specific server in the plurality of servers; producing, using the VM manager engine, a single VM request queue for the plurality of servers, the VM request queue being accessible by a plurality of threads and comprising a plurality of VM requests for producing the plurality of VMs, each VM request specifying a VM for producing on the plurality of servers and not specifying the VM for producing on a specific server in the plurality of servers; and producing, using the VM manager engine, a plurality of processing threads for the plurality of servers, each processing thread assigned to a server, each processing thread configured to access and retrieve VM requests from the single VM request queue and process a retrieved VM request for producing a VM only on the assigned server, wherein each processing thread is configured for retrieving VM requests and producing VMs without any programmed delays, whereby the rate at which a processing thread produces VMs on its assigned server is a function of the performance capabilities of the assigned server. - View Dependent Claims (22)
-
Specification