Selecting computing resources
First Claim
1. A method comprising:
- maintaining a plurality of computing resources comprising instantiated virtual machines, wherein the plurality of computing resources are organized into a plurality of groups of computing resources, wherein each group of the plurality of groups includes computing resources that share a respective combination of resource characteristics, wherein the resource characteristics are allocated to each virtual machine from a pool of resources;
receiving a first request to perform a first test on a computing resource, wherein the first request comprises a non-concrete requirement among a plurality of required characteristics for the computing resource selected to perform the first test, the non-concrete requirement representing a range of computing resource characteristics or a set of approved computing resources that can satisfy the first request;
determining, from the plurality of groups of computing resources, a subset of groups of computing resources, the subset of groups comprising a plurality of groups that include a respective combination of resource characteristics that satisfy the required characteristics of the first test;
shuffling the subset of groups and selecting a first group from the shuffled subset of groups;
selecting an available computing resource from the first group; and
causing the first test to be performed on the selected available computing resource from the first group, wherein causing the first test to be performed comprises transmitting test data associated with the first test to the selected available computing resource, the test data being used by the selected available computing resource to execute the first test.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are described for distributing pool resources. One method includes maintaining a plurality of groups of computing resources, wherein each group of the plurality of groups includes computing resources that share a respective combination of resource characteristics; receiving a first request to perform a first test on a computing resource; determining, from the plurality of groups of computing resources, a subset of groups of computing resources that include a respective combination of resource characteristics that satisfy the required characteristics of the first test; shuffling the subset of groups and selecting a first group from the shuffled subset of groups; selecting an available computing resource from the first group; and causing the first test to be performed on the selected available computing resource from the first group.
-
Citations
19 Claims
-
1. A method comprising:
-
maintaining a plurality of computing resources comprising instantiated virtual machines, wherein the plurality of computing resources are organized into a plurality of groups of computing resources, wherein each group of the plurality of groups includes computing resources that share a respective combination of resource characteristics, wherein the resource characteristics are allocated to each virtual machine from a pool of resources; receiving a first request to perform a first test on a computing resource, wherein the first request comprises a non-concrete requirement among a plurality of required characteristics for the computing resource selected to perform the first test, the non-concrete requirement representing a range of computing resource characteristics or a set of approved computing resources that can satisfy the first request; determining, from the plurality of groups of computing resources, a subset of groups of computing resources, the subset of groups comprising a plurality of groups that include a respective combination of resource characteristics that satisfy the required characteristics of the first test; shuffling the subset of groups and selecting a first group from the shuffled subset of groups; selecting an available computing resource from the first group; and causing the first test to be performed on the selected available computing resource from the first group, wherein causing the first test to be performed comprises transmitting test data associated with the first test to the selected available computing resource, the test data being used by the selected available computing resource to execute the first test. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system comprising:
at least one computing device and one or more storage devices storing instructions that are operable, when executed by the at least one computing device, to cause the at least one computing device to perform operations comprising; maintaining a plurality of computing resources comprising instantiated virtual machines, wherein the plurality of computing resources are organized into a plurality of groups of computing resources, wherein each group of the plurality of groups includes computing resources that share a respective combination of resource characteristics, wherein the resource characteristics are allocated to each virtual machine from a pool of resources; receiving a first request to perform a first test on a computing resource, wherein the first request comprises a non-concrete requirement among a plurality of required characteristics for the computing resource selected to perform the first test, the non-concrete requirement representing a range of computing resource characteristics or a set of approved computing resources that can satisfy the first request; determining, from the plurality of groups of computing resources, a subset of groups of computing resources, the subset of groups comprising a plurality of groups that include a respective combination of resource characteristics that satisfy the required characteristics of the first test; shuffling the subset of groups and selecting a first group from the shuffled subset of groups; selecting an available computing resource from the first group; and causing the first test to be performed on the selected available computing resource from the first group, wherein causing the first test to be performed comprises transmitting test data associated with the first test to the selected available computing resource, the test data being used by the selected available computing resource to execute the first test. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
16. A computer program, encoded on one or more non-transitory computer storage media, comprising instructions that when executed by at least one computing device cause the one or more computers to perform operations comprising:
-
maintaining a plurality of computing resources comprising instantiated virtual machines, wherein the plurality of computing resources are organized into a plurality of groups of computing resources, wherein each group of the plurality of groups includes computing resources that share a respective combination of resource characteristics, wherein the resource characteristics are allocated to each virtual machine from a pool of resources; receiving a first request to perform a first test on a computing resource, wherein the first request comprises a non-concrete requirement among a plurality of required characteristics for the computing resource selected to perform the first test, the non-concrete requirement representing a range of computing resource characteristics or a set of approved computing resources that can satisfy the first request; determining, from the plurality of groups of computing resources, a subset of groups of computing resources, the subset of groups comprising a plurality of groups that include a respective combination of resource characteristics that satisfy the required characteristics of the first test; shuffling the subset of groups and selecting a first group from the shuffled subset of groups; selecting an available computing resource from the first group; and causing the first test to be performed on the selected available computing resource from the first group, wherein causing the first test to be performed comprises transmitting test data associated with the first test to the selected available computing resource, the test data being used by the selected available computing resource to execute the first test. - View Dependent Claims (17, 18, 19)
-
Specification