Back to results
US 8,266,624 B2Granted
Task dispatch utility coordinating the execution of tasks on different computers
AssigneeRed Hat, Inc.
InventorsFrank Ch. Eigler, Brendan L. Conoboy
Life of this patent
Estimating the term…
Abstract
Computer resource management techniques involving receiving notification of an available resource, generating a set of tasks that could be performed by the resource, and dispatching one of the tasks on the resource. Related systems and software are also discussed. Some techniques can be used for automatic software building and testing.
Claims16
A method comprising:
- receiving, by a dispatching computer system, a notification of an available computer resource, the notification identifying one or more hardware characteristics of the available computer resource, the notification being generated when a worker process running on the available computer resource determines that the available computer resource is able to execute a task;
- upon receiving the notification of the available computer resource, accessing a data store of a plurality of tasks requiring specific hardware characteristics;
- generating, from the plurality of tasks, a set of tasks eligible to be performed by the available computer resource based on matching hardware characteristics;
- selecting a highest priority task from the set of eligible tasks;
- dispatching the highest priority task to the available computer resource for execution, the highest priority task testing a software package on a predetermined system architecture under a predetermined version;
- monitoring an execution of the highest priority task;
- comparing a result of the highest priority task during the execution against a current predefined outcome;
- setting the result of the highest priority task as a new predefined outcome if the result of the highest priority task supersedes the current predefined outcome;
- and
- terminating the highest priority task if the highest priority task exceeds an execution limit, the execution limit comprising at least one of a memory limit, a disk limit, a central processor unit (“CPU”) time limit, or a wall-clock time limit.
7 more elements
A non-transitory computer-readable medium containing instructions to cause a programmable processor to perform operations comprising:
- determining, by a dispatching computer system, if processing resources are available using worker processes running on processing resources to detect when a processing resource is able to execute a task;
- determining hardware characteristics of the available processing resources;
- upon identifying the available processing resources, querying a task database of a plurality of tasks requiring specific hardware characteristics to find tasks eligible to be performed by the available processing resources based on matching hardware characteristics;
- selecting a highest priority task from the found eligible tasks;
- causing the highest priority task to be executed by the available processing resources, the highest priority task testing a software package on a predetermined system architecture under a predetermined version;
- monitoring an execution of the highest priority task;
- comparing a result of the highest priority task during the execution against a current predefined outcome;
- setting the result of the highest priority task as a new predefined outcome if the result of the highest priority task supersedes the current predefined outcome;
- and
- terminating the highest priority task if the highest priority task exceeds an execution limit.
7 more elements
A system comprising:
- a database to store information about computing tasks to be performed;
- a plurality of computing resources to perform computing tasks, the plurality of computing resources having corresponding hardware characteristics;
- a dispatcher to determine if any of the plurality of computing resources are available using worker processes running on the plurality of processing resources to detect when any of the plurality of processing resources is able to execute a task, to determine hardware characteristics of the available processing resources, to query a task database, upon identifying available processing resources, to find tasks eligible to be performed by the available processing resources based on matched hardware characteristics, to select a highest priority task from the found eligible tasks, to dispatch the highest priority task for execution on one of the available processing resources, the highest priority task testing a software package on a predetermined system architecture under a predetermined version, to monitor an execution of the highest priority task, and to terminate the highest priority task if the highest priority task exceeds an execution limit;
- and
- a test result evaluator to compare a result of the highest priority task during the execution against a current predefined outcome, and to set the result of the highest priority task as a new predefined outcome if the result of the highest priority task supersedes the current predefined outcome.
2 more elements
Dependencies are inferred from the claim text.