System and method for fault tolerant processing of information via networked computers including request handlers, process handlers, and task handlers
DC CAFCFirst Claim
Patent Images
1. A system for processing information, the system comprising:
- a plurality of networked computers for processing a processing job in a distributed manner, the plurality of networked computers comprising a request handler, a plurality of process handlers, and a plurality of task handlers, the processing job comprising a process flow, the process flow including (1) a plurality of processing tasks and (2) state information relating to the processing job;
the request handler configured to (1) receive a service request for the processing job, and (2) communicate data representative of the processing job to a process handler;
the process handler to which the processing job data was communicated being configured to (1) receive the communicated processing job data, and (2) analyze the processing job data and state information to determine a sequence of processing tasks to be performed by the task handlers;
the task handlers configured to (1) perform the processing tasks of the processing job in accordance with the determined sequence, and (2) generate updated state information in response to the performed processing tasks; and
wherein the request handler is further configured to (1) maintain state information for the processing job based on the updated state information, (2) determine whether a fault exists, and (3) in response to a determination that a fault exists, initiate a recovery procedure based on the maintained state information for the processing job.
3 Assignments
Litigations
0 Petitions
Accused Products
Abstract
Systems and methods for processing information via networked computers leverage request handlers, process handlers, and task handlers to provide efficient distributed and fault-tolerant processing of processing jobs. A request handler can receive service requests for processing jobs, process handlers can identify tasks to be performed in connection with the processing jobs, and task handlers can perform the identified tasks, where the request handler, the process handlers, and the task handlers can be distributed across a plurality of networked computers.
20 Citations
48 Claims
-
1. A system for processing information, the system comprising:
-
a plurality of networked computers for processing a processing job in a distributed manner, the plurality of networked computers comprising a request handler, a plurality of process handlers, and a plurality of task handlers, the processing job comprising a process flow, the process flow including (1) a plurality of processing tasks and (2) state information relating to the processing job; the request handler configured to (1) receive a service request for the processing job, and (2) communicate data representative of the processing job to a process handler; the process handler to which the processing job data was communicated being configured to (1) receive the communicated processing job data, and (2) analyze the processing job data and state information to determine a sequence of processing tasks to be performed by the task handlers; the task handlers configured to (1) perform the processing tasks of the processing job in accordance with the determined sequence, and (2) generate updated state information in response to the performed processing tasks; and wherein the request handler is further configured to (1) maintain state information for the processing job based on the updated state information, (2) determine whether a fault exists, and (3) in response to a determination that a fault exists, initiate a recovery procedure based on the maintained state information for the processing job. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for processing information via a plurality of networked computers, the plurality of networked computers comprising a request handler, a plurality of process handlers, and a plurality of task handlers, the method comprising:
-
receiving a service request for the processing job, the processing job comprising a process flow, the process flow including (1) a plurality of processing tasks and (2) state information relating to the processing job; the request handler (1) receiving a service request for the processing job, and (2) communicating data representative of the processing job to a process handler; the process handler to which the processing job data was communicated (1) receiving the communicated processing job data, and (2) analyzing the processing job data and state information to determine a sequence of processing tasks to be performed by the task handlers; the task handlers (1) performing the processing tasks of the processing job in accordance with the determined sequence, and (2) generating updated state information in response to the performed processing tasks; and the request handler (1) maintaining state information for the processing job based on the updated state information, (2) determining whether a fault exists, and (3) in response to a determination that a fault exists, initiating a recovery procedure based on the maintained state information for the processing job. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A method for processing information via a plurality of networked computers, the plurality of networked computers comprising a request handler, a plurality of process handlers, and a plurality of task handlers, the method comprising:
-
the request handler receiving a service request for the processing job, the processing job comprising a process flow, the process flow including (1) a plurality of processing tasks and (2) state information relating to the processing job; a process handler coordinating an execution of the processing tasks by a plurality of the task handlers; the task handlers (1) executing the processing tasks, and (2) generating updated state information for the processing job in response to the executing step; as the processing tasks are executed by the task handlers, redundantly storing updated state information across a plurality of different processes; determining whether a failure has occurred; and in response to a determination that a failure has occurred, (1) retrieving a copy of the redundantly stored state information, and (2) resuming the processing job in accordance with the retrieved state information. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A system for processing information, the system comprising:
-
a plurality of networked computers for processing a processing job in a distributed manner, the plurality of networked computers comprising a request handler, a plurality of process handlers, and a plurality of task handlers, the processing job comprising a process flow, the process flow including (1) a plurality of processing tasks and (2) state information relating to the processing job; the request handler configured to (1) receive a service request for the processing job, and (2) communicate data representative of the processing job to a process handler; the process handler to which the processing job data was communicated being configured to (1) receive the communicated processing job data, and (2) analyze the processing job data and state information to determine a sequence of processing tasks to be performed by the task handlers; the task handlers configured to (1) perform the processing tasks of the processing job in accordance with the determined sequence, and (2) generate updated state information in response to the performed processing tasks; and wherein the process handler to which the processing job data was communicated is further configured to (1) maintain state information for the processing job based on the updated state information, (2) determine whether a fault exists, and (3) in response to a determination that a fault exists, initiate a recovery procedure based on the maintained state information for the processing job.
-
-
28. A method for processing information via a plurality of networked computers, the plurality of networked computers comprising a request handler, a plurality of process handlers, and a plurality of task handlers, the method comprising:
-
receiving a service request for the processing job, the processing job comprising a process flow, the process flow including (1) a plurality of processing tasks and (2) state information relating to the processing job; the request handler (1) receiving a service request for the processing job, and (2) communicating data representative of the processing job to a process handler; the process handler to which the processing job data was communicated (1) receiving the communicated processing job data, and (2) analyzing the processing job data and state information to determine a sequence of processing tasks to be performed by the task handlers; the task handlers (1) performing the processing tasks of the processing job in accordance with the determined sequence, and (2) generating updated state information in response to the performed processing tasks; and the process handler to which the processing job data was communicated (1) maintaining state information for the processing job based on the updated state information, (2) determining whether a fault exists, and (3) in response to a determination that a fault exists, initiating a recovery procedure based on the maintained state information for the processing job.
-
-
29. A system for processing information, the system comprising:
-
a plurality of networked computers for processing a plurality of processing jobs in a distributed manner, the plurality of networked computers comprising a request handler, a plurality of process handlers, and a plurality of task handlers, the process handlers being resident on a plurality of different networked computers, the task handlers being resident on a plurality of different networked computers, the processing jobs having a plurality of associated process flows, the process flows including (1) a plurality of processing tasks and (2) logic configured to define a relationship between the processing tasks of the same process flow; the request handler configured to (1) receive a plurality of service requests for the processing jobs, (2) store state information for the processing jobs, and (3) select a plurality of process handlers from among the process handlers for servicing the processing jobs; the selected process handlers configured to (1) analyze the state information for the processing jobs to determine whether any processing tasks in the process flows remain to be performed based on the logic for the process flows, (2) in response to the state information analysis indicating that a processing task remains for the process flow of a processing job, identify a processing task to be performed for the process flow having the remaining processing task, and (3) in response to the state information analysis indicating that no processing tasks remain for the process flow of a processing job, determine that the processing job corresponding to the process flow with no remaining processing tasks has been completed; and the task handlers configured to perform the identified processing tasks to generate a plurality of task results, the task results causing an update to the state information for the processing job. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48)
-
Specification