SYSTEMS AND METHODS FOR SCHEDULING, PROCESSING, AND MONITORING TASKS
First Claim
1. A computer-implemented method for performing a process, the method comprising:
- (a) receiving a request to perform a process, the process comprising a plurality of tasks and at least a scheduler rule(b) receiving a plurality of checkpoints associated with the process, each checkpoint comprising checkpoint state data and at least a respective checkpoint rule governing execution of the process;
(c) determining a first task of the plurality of tasks to be scheduled into a priority queue, in accordance with the scheduler rule;
(d) determining the first checkpoint of the plurality of checkpoints that is to be the first checkpoint used in processing the first task, in accordance with the scheduler rule;
(e) creating the checkpoint state data for the first checkpoint;
(f) saving the checkpoint state data for the first checkpoint'"'"'(g) processing the first task in accordance with the checkpoint rule associated with the first checkpoint;
(h) determining the next task in the plurality of tasks to perform, based on the checkpoint rule associated with the first checkpoint(i) updating the saved checkpoint data for the first checkpoint with the data and state associated with the first task;
(j) repeating steps (c) through (i) for each subsequent task and checkpoint, in accordance with the respective scheduler and checkpoint rules, until a predetermined condition has been reached.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method for performing a process is provided. The method comprises: (a) receiving a request to perform a process, the process comprising a plurality of tasks and at least a scheduler rule; (b) receiving a plurality of checkpoints associated with the process, each checkpoint comprising checkpoint state data and at least a respective checkpoint rule governing execution of the process; (c) determining a first task of the plurality of tasks to be scheduled into a priority queue, in accordance with the scheduler rule; (d) determining the first checkpoint of the plurality of checkpoints that is to be the first checkpoint used in processing the first task, in accordance with the scheduler rule; (e) creating the checkpoint state data for the first checkpoint; (f) saving the checkpoint state data for the first checkpoint; (g) processing the first task in accordance with the checkpoint rule associated with the first checkpoint; (h) determining the next task in the plurality of tasks to perform, based on the checkpoint rule associated with the first checkpoint; (i) updating the saved checkpoint data for the first checkpoint with the data and state associated with the first task; and (j) repeating steps (c) through (i) for each subsequent task and checkpoint, in accordance with the respective scheduler and checkpoint rules, until a predetermined condition has been reached.
-
Citations
28 Claims
-
1. A computer-implemented method for performing a process, the method comprising:
-
(a) receiving a request to perform a process, the process comprising a plurality of tasks and at least a scheduler rule (b) receiving a plurality of checkpoints associated with the process, each checkpoint comprising checkpoint state data and at least a respective checkpoint rule governing execution of the process; (c) determining a first task of the plurality of tasks to be scheduled into a priority queue, in accordance with the scheduler rule; (d) determining the first checkpoint of the plurality of checkpoints that is to be the first checkpoint used in processing the first task, in accordance with the scheduler rule; (e) creating the checkpoint state data for the first checkpoint; (f) saving the checkpoint state data for the first checkpoint'"'"' (g) processing the first task in accordance with the checkpoint rule associated with the first checkpoint; (h) determining the next task in the plurality of tasks to perform, based on the checkpoint rule associated with the first checkpoint (i) updating the saved checkpoint data for the first checkpoint with the data and state associated with the first task; (j) repeating steps (c) through (i) for each subsequent task and checkpoint, in accordance with the respective scheduler and checkpoint rules, until a predetermined condition has been reached. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method for processing a logical thread, comprising the steps of:
-
(a) dividing the logical thread into a plurality of processor functions; (b) modeling the state of the logical thread as a first task that is passed between processor functions, the first task comprising first task data and a first task state; (c) adding the first task to a queue of tasks; (d) persisting the first task in a first checkpoint; (e) selecting a first processor function for processing the first task in accordance with a first rule; (f) receiving the first task at a first processor function and using the first task data to perform a first process on the task; (g) storing the output data from the first process in the first task; (h) persisting the first task in a second checkpoint; (i) selecting a second processor function for processing the first task in accordance with a second rule; and (j) receiving the first task at the second processor function, wherein the second processor function uses the output data from the first process, if necessary, as the input data to the second process. - View Dependent Claims (21, 22, 23, 24)
-
-
25. A computerized system for executing a process, the system comprising:
-
means for receiving requests to execute a business process and for providing responses to the requests; means for processing incoming requests in accordance with a predetermined priority method; means for saving data relating to the state of processing of the incoming request at one or more checkpoints; and means for recovering data from a checkpoint, to restore the business process. - View Dependent Claims (26, 27, 28)
-
Specification