Claims
- 1. A method for managing an execution of a software processing job, the method comprising:
enabling a controller code; finding a suitable and available networked processing resource registered with a registry service to execute the software processing job; and monitoring the execution of the software processing job by a selected processing resource and an availability of the selected processing resource while the controller code is enabled, the controller code configured to be executed on a networked computer.
- 2. A method for executing a software processing job as recited in claim 1, wherein the networked computer is a master computer system, and enabling a controller code includes,
turning on a master computer system configured to include the controller code; and executing the controller code on the master computer system.
- 3. A method for executing a software processing job as recited in claim 1, wherein finding the suitable and available networked processing resource registered with the registry service to execute the software processing job includes,
searching the registry service so as to locate the suitable networked processing resource, the suitable networked processing resource having a machine service configured to have a machine service proxy and a set of machine service attributes, the machine service attributes substantially matching a set of requirements of the software processing job; and ensuring an availability of the suitable networked processing resource to execute the software processing job.
- 4. A method for executing a software processing job as recited in claim 3, wherein ensuring the availability of the suitable networked processing resource to execute the software processing job includes,
verifying a nonexistence of a registered process service proxy and a set of registered process service attributes of a process service having a type substantially matching a type of the software processing job for the selected processing resource.
- 5. A method for executing a software processing job as recited in claim 1, wherein monitoring the execution of the software processing job by the selected processing resource and the availability of the selected processing resource while the controller code is enabled includes,
obtaining a machine service proxy of the selected processing resource, the machine service proxy being registered with the registry service; communicating with the machine service proxy so as to request the networked processing resource to start executing the software processing job; obtaining a process service proxy of a process service spawned by the machine service of the selected processing resource, the process service proxy being registered with the registry service; and communicating with the process service proxy so as to initiate the execution of the software processing job, wherein the process service proxy and the set of process service attributes are configured to be removed from the registry service upon the conclusion of the software processing job indicating the availability of the selected processing resource to execute a process having substantially similar requirements.
- 6. A method for executing a software processing job as recited in claim 1, wherein the registry service is a look up service.
- 7. A method for executing a software processing job as recited in claim 1, wherein the networked processing resource is a test system.
- 8. A process execution scheduling method, the method comprising:
launching a controller code on a computer system; determining the existence of a process for execution, the determining including,
scheduling the process to be executed by a selected processing resource registered with a registry service if the process awaits execution, the selected processing resource being one of many processing resources being networked with the computer system, and the scheduling including,
reading a set of attributes of the process; searching the registry service for the selected processing resource, the selected processing resource configured to have a set of attributes substantially matching the set of attributes of the process; contacting the selected processing resource; and submitting the job execution to the selected processing resource; and waiting for the process to be submitted for execution if there are no processes awaiting execution.
- 9. A process execution scheduling method as recited in claim 8, wherein reading a set of attributes of the process includes,
scanning an inqueue directory so as to read a first file containing the process; and initializing a second file in a temporary storage implementing the first file in the inqueue directory containing the process, wherein a set of attributes of the process in the first file is substantially similar to a set of attributes of the second file.
- 10. A process execution scheduling method as recited in claim 9, wherein the temporary storage is a queue.
- 11. A process execution scheduling method as recited in claim 8, wherein searching the registry service for the selected processing resource includes,
scanning the registry service for the selected processing resource, the processing resource configured to have a machine service having a machine service proxy and a set of machine service attributes; and locating the selected processing resource, the set of machine service attributes of the selected processing resource substantially matching the set of attributes of the process.
- 12. A process execution scheduling method as recited in claim 8, wherein contacting the selected processing resource includes,
obtaining a machine service proxy of the machine service of the selected processing resource; and communicating with the machine service proxy so as to request an execution of the process.
- 13. A process execution scheduling method as recited in claim 8, wherein submitting the job execution to the selected processing resource includes,
obtaining a process service proxy of a process service spawned by a machine service of the selected processing resource, the process service being registered with the registry service, the process service having a type substantially similar to a type of the process; and communicating with the process service proxy so as to request the initiation of the execution of the process.
- 14. A process execution scheduling method as recited in claim 8, wherein the process is a test execution request.
- 15. A process execution scheduling method as recited in claim 8, wherein the processing resource is a test system.
- 16. A process execution scheduling method as recited in claim 8, wherein the registry service is a look up service.
- 17. A process execution scheduling, distributing, and management system, the system comprising:
a communication module configured to enable and manage communication between the system and a processing resource registered with a registry service, the processing resource configured to execute a process; and a process management module configured to manage the execution of the process by implementing an inqueue directory configured to contain a file substantially for each process submitted for execution.
- 18. A system as recited in claim 17, wherein the communication module implements one of Jini™, Remote Method Invocation, and Transport Commit Protocol/Internet Protocol (TCP/IP) socket so as to enable network communication between the system and the processing resource.
- 19. A system as recited in claim 17, wherein the process management module implements each file in the inqueue directory to initialize a corresponding file in one of an in-queue queue and an execution queue.
- 20. A system as recited in claim 17, wherein each file in the in-queue queue and the execution queue is formatted in Extensible Markup Language (XML).
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority from U.S. Provisional Patent Application No. 60/304,919 filed on Jul. 11, 2001 and entitled “Distributed Test Framework,” which is incorporated herein by reference in its entirety.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60304919 |
Jul 2001 |
US |