Auto-scheduling of tests
First Claim
1. A computer-implemented method for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the method comprising:
- for each respective unit of the plurality of units, searching the plurality of tests to determine a respective test, wherein
1) the respective test has not been performed on the respective unit, and
2) the respective resource of the respective test is available for use;
if the respective test for the respective unit is found;
locking the respective resource of the respective test, wherein said locking comprises acquiring the respective resource;
performing the respective test on the respective unit; and
unlocking the respective resource of the respective test, wherein said unlocking comprises releasing the respective resource; and
wherein two or more of said respective tests on the respective units are performed substantially concurrently.
5 Assignments
0 Petitions
Accused Products
Abstract
System and method for performing a multiple tests on each of one or more units, where each of the tests requires a respective resource of a plurality of resources. A first test is performed on a unit using a first resource. During performance of the first test, a search is made for a second test, requiring a second resource, where the second resource is not currently being used. If the second test is found, the second test is performed on the unit, or a second unit, using the second resource, substantially concurrently with at least a portion of the first test being performed on the unit. Performing a test includes locking the respective resource to exclude use by other tests, including acquiring the resource, and unlocking the resource upon completion of the test, including releasing the resource for use in performing the respective test on another of the units.
67 Citations
50 Claims
-
1. A computer-implemented method for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the method comprising:
-
for each respective unit of the plurality of units, searching the plurality of tests to determine a respective test, wherein
1) the respective test has not been performed on the respective unit, and
2) the respective resource of the respective test is available for use;
if the respective test for the respective unit is found;
locking the respective resource of the respective test, wherein said locking comprises acquiring the respective resource;
performing the respective test on the respective unit; and
unlocking the respective resource of the respective test, wherein said unlocking comprises releasing the respective resource; and
wherein two or more of said respective tests on the respective units are performed substantially concurrently. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the system comprising:
-
a processor; and
a memory medium coupled to the processor;
wherein the memory medium stores program instructions which are executable to;
for each respective unit of the plurality of units, search the plurality of tests to determine a respective test, wherein
1) the respective test has not been performed on the respective unit, and
2) the respective resource of the respective test is available for use;
if the respective test for the respective unit is found;
lock the respective resource of the respective test, wherein said locking comprises acquiring the respective resource;
perform the respective test on the respective unit; and
unlock the respective resource of the respective test, wherein said unlocking comprises releasing the respective resource; and
wherein two or more of said respective tests on the respective units are performed substantially concurrently.
-
-
18. A carrier medium which stores program instructions for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, wherein the program instructions are executable to perform:
-
for each respective unit of the plurality of units, searching the plurality of tests to determine a respective test, wherein
1) the respective test has not been performed on the respective unit, and
2) the respective resource of the respective test is available for use;
if the respective test for the respective unit is found;
locking the respective resource of the respective test, wherein said locking comprises acquiring the respective resource;
performing the respective test on the respective unit; and
unlocking the respective resource of the respective test, wherein said unlocking comprises releasing the respective resource; and
wherein two or more of said respective tests on the respective units are performed substantially concurrently.
-
-
19. A computer-implemented method for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the method comprising:
-
performing a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
during said performing the first test, searching for a second test of the plurality of tests, wherein
1) the second test requires a second resource of the plurality of resources, and
2) the second resource is not currently being used; and
if the second test is found, then performing the second test on a second unit using the second resource;
wherein said performing the second test on the second unit is performed substantially concurrently with at least a portion of said performing the first test on the first unit. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A system for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the system comprising:
-
a processor; and
a memory medium coupled to the processor;
wherein the memory medium stores program instructions which are executable to;
perform a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
while the first test is being performed, search for a second test of the plurality of tests, wherein the second test requires a second resource of the plurality of resources, and wherein the second resource is not currently being used; and
if the second test is found, then perform the second test on a second unit using the second resource;
wherein the second test is performed on the second unit and at least a portion of the first test is performed on the first unit substantially concurrently.
-
-
32. A carrier medium which stores program instructions for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, wherein the program instructions are executable to perform:
-
performing a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
during said performing the first test, searching for a second test of the plurality of tests, wherein the second test requires a second resource of the plurality of resources, and wherein the second resource is not currently being used; and
if the second test is found, then performing the second test on a second unit using the second resource;
wherein said performing the second test on the second unit is performed substantially concurrently with at least a portion of said performing the first test on the first unit.
-
-
33. A system for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the system comprising:
-
means for performing a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
means for searching for a second test of the plurality of tests during said performing the first test, wherein the second test requires a second resource of the plurality of resources, and wherein the second resource is not currently being used; and
means for performing the second test on a second unit using the second resource if the second test is found;
wherein said performing the second test on the second unit is performed substantially concurrently with at least a portion of said performing the first test on the first unit.
-
-
34. A computer-implemented method for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the method comprising:
-
performing a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
during said performing the first test, identifying a second test of the plurality of tests that can be performed during said performing the first test of the plurality of tests, wherein the second test requires a second resource of the plurality of resources, and wherein the second resource is not currently being used; and
performing the second test on a second unit using the second resource;
wherein at least a portion of said performing the second test on the second unit is performed during said performing the first test.
-
-
35. A system for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the system comprising:
-
a processor; and
a memory medium coupled to the processor;
wherein the memory medium stores program instructions which are executable to;
perform a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
while the first test is being performed on the first unit, identify a second test of the plurality of tests that can be performed while the first test is being performed, wherein the second test requires a second resource of the plurality of resources, and wherein the second resource is not currently being used; and
perform the second test on a second unit using the second resource;
wherein at least a portion of the second test is performed on the second unit while the first test is performed on the first unit.
-
-
36. A carrier medium which stores program instructions for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, wherein the program instructions are executable to perform:
-
performing a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
during said performing the first test, identifying a second test of the plurality of tests that can be performed during said performing the first test of the plurality of tests, wherein the second test requires a second resource of the plurality of resources, and wherein the second resource is not currently being used; and
performing the second test on a second unit using the second resource;
wherein at least a portion of said performing the second test on the second unit is performed during said performing the first test.
-
-
37. A computer-implemented method for performing a plurality of tests on a unit, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the method comprising:
-
performing a first test of the plurality of tests on the unit using a first resource of the plurality of resources;
during said performing the first test, searching for a second test of the plurality of tests, wherein the second test requires a second resource of the plurality of resources, and wherein the second resource is not currently being used; and
if the second test is found, then performing the second test on the unit using the second resource;
wherein said performing the second test on the unit is performed substantially concurrently with at least a portion of said performing the first test on the unit. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44, 45)
-
-
46. A system for performing a plurality of tests on a unit, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the system comprising:
-
a processor; and
a memory medium coupled to the processor;
wherein the memory medium stores program instructions which are executable to;
perform a first test of the plurality of tests on the unit using a first resource of the plurality of resources;
while the first test is being performed, search for a second test of the plurality of tests, wherein
1) the second test requires a second resource of the plurality of resources, and
2) the second resource is not currently being used; and
if the second test is found, then perform the second test on the unit using the second resource;
wherein the second test is performed on the unit and at least a portion of the first test is performed on the unit substantially concurrently.
-
-
47. A carrier medium which stores program instructions for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, wherein the program instructions are executable to perform:
-
performing a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
during said performing the first test, searching for a second test of the plurality of tests, wherein
1) the second test requires a second resource of the plurality of resources, and
2) the second resource is not currently being used; and
if the second test is found, then performing the second test on a second unit using the second resource;
wherein said performing the second test on the second unit is performed substantially concurrently with at least a portion of said performing the first test on the first unit.
-
-
48. A system for performing a plurality of tests on each of a plurality of units, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the system comprising:
-
means for performing a first test of the plurality of tests on a first unit using a first resource of the plurality of resources;
means for searching for a second test of the plurality of tests during said performing the first test, wherein the second test requires a second resource of the plurality of resources, and wherein the second resource is not currently being used; and
means for performing the second test on a second unit using the second resource if the second test is found;
wherein said performing the second test on the second unit is performed substantially concurrently with at least a portion of said performing the first test on the first unit.
-
-
49. A computer-implemented method for performing a plurality of tests on a unit, wherein each of the plurality of tests requires a respective resource of a plurality of resources, the method comprising:
-
searching the plurality of tests to determine a respective test, wherein the respective test has not been performed on the unit, and wherein the respective resource of the respective test is available for use;
if the respective test is found;
locking the respective resource of the respective test, wherein said locking comprises acquiring the respective resource;
performing the respective test on the unit; and
unlocking the respective resource of the respective test, wherein said unlocking comprises releasing the respective resource;
wherein at least portions of said searching, said locking, said performing, and said unlocking for a plurality of the respective tests are performed substantially concurrently. - View Dependent Claims (50)
-
Specification