System and method for dynamic allocation of computers in reponse to requests
First Claim
1. A computer-readable medium having computer-executable instructions for performing steps for allocating computers in a computer pool in response to requests to use the computers, comprising:
- organizing the computers in the computer pool into a hierarchical structure having groups and subgroups of computers;
receiving a request for computers, the request having at least one logical machine set specifying a number of required computers and requirements for the required computers;
identifying a target group of computers from the hierarchical structure of the computer pool;
selecting from the target group computers meeting the requirements of the logical machine set; and
allocating the selected computers to the logical machine set.
2 Assignments
0 Petitions
Accused Products
Abstract
A mechanism dynamically allocates physical machines (computers) for satisfying requests for the machines, such as in the context of assigning test machines for running test cases. Each request specifies one or more logical machine sets it needs, and each logical machine set has specified requirements. The physical machines are organized into a hierarchical structure that includes groups and subgroups of machines. An allocation engine performs the function of allocating available machines from a selected group in the hierarchy for a request based on the requirements of each logical machine set of the request. A group or subgroup of machines may be marked as “allocate as one unit” and all machines in it will be reserved for one request. A job corresponding to a request may have sub-jobs, and machines allocated for the sub-job are selected from the machines allocated for the parent job.
-
Citations
32 Claims
-
1. A computer-readable medium having computer-executable instructions for performing steps for allocating computers in a computer pool in response to requests to use the computers, comprising:
-
organizing the computers in the computer pool into a hierarchical structure having groups and subgroups of computers;
receiving a request for computers, the request having at least one logical machine set specifying a number of required computers and requirements for the required computers;
identifying a target group of computers from the hierarchical structure of the computer pool;
selecting from the target group computers meeting the requirements of the logical machine set; and
allocating the selected computers to the logical machine set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a computer pool having a plurality of computers organized into a hierarchical structure having groups and subgroups of computers;
an allocation engine for allocating computers in the computer pool in response to a request to use computers in the computer pool, the request having at least one logical machine set specifying a number of required computers and requirements for the required computers, the allocation engine being programmed to identify a target group of computers from the hierarchical structure of the computer pool, select from the target group computers meeting the requirements of the logical machine set, and allocate the selected computers to the logical machine set. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method of allocating computers in a computer pool in response to requests to use the computers, comprising:
-
organizing the computers in the computer pool into a hierarchical structure having groups and subgroups of computers;
receiving a request for computers, the request having at least one logical machine set specifying a number of required computers and requirements for the required computers;
identifying a target group of computers from the hierarchical structure of the computer pool;
selecting from the target group computers meeting the requirements of the logical machine set; and
allocating the selected computers to the logical machine set. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification