Workflow job distribution in a data processing system with agent time window constraints
First Claim
1. A method, comprising:
- performing operations as follows on a processor of a computing device;
receiving a plurality of jobs that require execution;
identifying a plurality of agents that are configured to execute at least one of the plurality of jobs;
identifying a plurality of time windows in which the plurality of agents are available to execute the plurality of jobs;
identifying a constraint rule on the execution of the plurality of jobs;
identifying a plurality of possible execution paths, wherein each of the execution paths comprises a possible set of selected ones of the time windows in which respective ones of the plurality of agents in the execution path can execute at least one job of the plurality of jobs and wherein the respective ones of the plurality of agents in the execution path can collectively execute all of the plurality of jobs;
removing execution paths from the plurality of possible execution paths that do not comply with the constraint rule to provide a preferred set of execution paths;
calculating a metric for each of the preferred set of execution paths;
selecting an execution path in response to the metric; and
causing the plurality of jobs to be executed by at least one of the agents according to the selected execution path.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of scheduling jobs includes receiving a plurality of jobs that require execution, identifying a plurality of agents that are configured to execute at least one of the plurality of jobs, identifying a plurality of time windows in which the plurality of agents are, available to execute the plurality of jobs, identifying a constraint rule on the execution of the plurality of jobs, and identifying a plurality of possible execution paths. Execution paths that do not comply with the constraint;rule are removed from the plurality of possible execution paths to provide a preferred set of execution paths. The method further includes calculating a metric for each of the preferred set of execution paths, selecting an execution path in response to the metric, and causing the plurality of jobs to be executed by at least one of the agents according to the selected execution path.
-
Citations
20 Claims
-
1. A method, comprising:
-
performing operations as follows on a processor of a computing device; receiving a plurality of jobs that require execution; identifying a plurality of agents that are configured to execute at least one of the plurality of jobs; identifying a plurality of time windows in which the plurality of agents are available to execute the plurality of jobs; identifying a constraint rule on the execution of the plurality of jobs; identifying a plurality of possible execution paths, wherein each of the execution paths comprises a possible set of selected ones of the time windows in which respective ones of the plurality of agents in the execution path can execute at least one job of the plurality of jobs and wherein the respective ones of the plurality of agents in the execution path can collectively execute all of the plurality of jobs; removing execution paths from the plurality of possible execution paths that do not comply with the constraint rule to provide a preferred set of execution paths; calculating a metric for each of the preferred set of execution paths; selecting an execution path in response to the metric; and causing the plurality of jobs to be executed by at least one of the agents according to the selected execution path. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer program product, comprising:
-
a non.-transitory computer readable storage medium comprising computer readable program code embodied in the medium that when executed by a processor of a computing device causes the processor to perform operations comprising; receiving a plurality of jobs that require execution; identifying a plurality of agents that are configured to execute at least one of the plurality of jobs; identifying a plurality of time windows in which the plurality of agents are available to execute the plurality of jobs; identifying a constraint rule on the execution of the plurality of jobs; identifying a plurality of possible execution paths, wherein each of the execution paths comprises a possible set of selected ones of the time windows in which respective ones of the plurality of agents can execute at least one job of the plurality of jobs and wherein the respective ones of the plurality of agents can collectively execute all of the plurality of jobs; removing execution paths from the plurality of possible execution paths that do not comply with the constraint rule to provide a preferred set of execution paths; calculating a metric for each of the preferred set of execution paths; selecting art execution path in response to the metric; and causing the plurality of jobs to be executed by at least one of the agents according to the selected execution path. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification