US2007271334A1PendingUtilityA1

Processing information using a hive of computing engines including request handlers and process handlers

53
Assignee: APPISTRY INC A DELAWARE CORPPriority: Sep 7, 2002Filed: Jul 30, 2007Published: Nov 22, 2007
Est. expirySep 7, 2022(expired)· nominal 20-yr term from priority
H04L 41/046H04L 69/163H04L 67/10H04L 67/51H04L 69/16
53
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A hive of computing engines, typically including clients, request handlers, and process handlers, is used to process of a processing job in order to determine a processing result. A client assigns a processing job to a request handler, which assigns the processing job to one or more processing handlers. One implementation uses one or more volunteer operations to identify the request handler, and/or the one or more process handlers. One implementation updates the request handler with state information related to the partial processing of the processing job such that the completion of the processing job can be assigned to other one or more process handlers, such as, but not limited to, in response to a detected error condition.

Claims

exact text as granted — not AI-modified
1 . A system for processing information, the system comprising: 
 a client configured to cause the processing of a processing job in order to determine a processing result;    a plurality of request handlers; and    a plurality of process handlers;    wherein the client is configured to perform operations comprising: (a) sending to each of the plurality of request handlers a client service request message for the processing job; (b) receiving a plurality of responses to said sent client service request message; (c) selecting a particular request handler of the plurality of request handlers based on said received responses to said sent client service request message; and (d) receiving the processing result from the particular request handler;    wherein each of the plurality of request handlers is configured to perform operations comprising: (a) sending a client service response message to a received said client service request message for the processing job; and (b) if selected by the client to be the particular request handler to handle the processing job: (1) querying the plurality of process handlers to determine a particular process handler of the plurality of process handlers to service the processing job based on a received plurality of responses from different process handlers, including the particular process handler, of the plurality of process handlers; (3) receiving the processing result from the particular process handler; and (4) forwarding said processing result to the client; and    wherein each of the plurality of process handlers is configured to perform operations comprising: (a) responding to said query from the particular request handler; and (b) if identified as the particular process handler by the particular request handler: (1) performing the processing job to determine the processing result; and (2) communicating the processing result to the particular request handler.    
   
   
       2 . The system of  claim 1 , wherein the particular process handler is configured to perform operations including updating the particular request handler with state information pertaining to partial processing of the processing job; and 
 wherein the particular request handler is configured to perform operations including: receiving said state information pertaining to the partial processing of the processing job; updating a data structure with said state information; and in response to a detected error condition, assigning the processing of the processing job to identify the processing result starting from a partial processing state identified from said state information to one of the plurality of process handlers different from the particular process handler.    
   
   
       3 . The system of  claim 1 , where the processing job includes a reference or identification of a process flow, the process flow identifies a plurality of processing sets, each of the plurality of processing sets identifying a beginning state, a task, and one or more ending states.  
   
   
       4 . The system of  claim 3 , wherein the particular process handler is configured to perform operations including updating the particular request handler with state information pertaining to partial processing of the processing job at the completion of each of one or more of the plurality of processing sets; and 
 wherein the particular request handler is configured to perform operations including: receiving said state information pertaining to the partial processing of the processing job; updating a data structure with said state information; and in response to a detected error condition, assigning the processing of the processing job to identify the processing result starting from a partial processing state identified from said state information to one of the plurality of process handlers different from the particular process handler.    
   
   
       5 . The system of  claim 1 , where the processing job includes a reference or identification of a process flow; 
 wherein the particular process handler is configured to perform operations including updating the particular request handler with state information pertaining to partial processing of the processing job at one or more points identified by the process flow; and    wherein the particular request handler is configured to perform operations including: receiving said state information pertaining to the partial processing of the processing job; updating a data structure with said state information; and in response to a detected error condition, assigning the processing of the processing job to identify the processing result starting from a partial processing state identified from said state information to one of the plurality of process handlers different from the particular process handler.    
   
   
       6 . The system of  claim 1 , wherein the particular process handler is configured to perform operations including updating the particular request handler with state information pertaining to partial processing of the processing job at a plurality of different intermediate processing points; and 
 wherein the particular request handler is configured to perform operations including: receiving said state information pertaining to the partial processing of the processing job; updating a data structure with said state information; and in response to a detected error condition, assigning the processing of the processing job to identify the processing result starting from a partial processing state identified from said state information to one of the plurality of process handlers different from the particular process handler.    
   
   
       7 . The system of  claim 1 , including a plurality of computing devices, wherein each of the plurality of computing devices includes a different one of said plurality of process handlers, and each of said plurality of request handlers is included in a different one of the plurality of computing devices.  
   
   
       8 . A networked system for processing information, the system comprising: 
 a client computer including a client; and    a plurality of computers, each of the plurality of computers including a request handler, a process handler, or both a request handler and a process handler;    wherein each of said request handlers is configured to: send a response to a client service request received from the client if it determines it is available to handle a processing job identified in said client service request received from the client for the processing job, and if identified by the client as the selected request handler to handle the processing job: to send one or more query messages to the plurality of process handlers, to receive responses from said process handlers; to select among said received responses to identify and assign a particular process handler to service the processing job, to receive a processing result from the particular process handler, and to send a result corresponding to the processing result to the client;    wherein each of the process handlers is configured to: respond to said one or more query messages if it is available to handle the processing job, and if identified as the particular process handler by the particular request handler: to process the processing job and to communicate the processing result to said identified request handler; and    wherein the client is configured to: receive a plurality of said responses to the client service request; to select the selected request handler based on said received responses to the client service request; and to receive the processing result from the selected request handler.    
   
   
       9 . The system of  claim 8 , wherein the plurality of process handlers are different processes than the plurality of request handlers.  
   
   
       10 . A system for processing information, the system comprising: 
 a request region including a plurality of request handlers, each of said request handlers being a separate process; and    a plurality of processing regions, each of the plurality of processing regions including a plurality of process handlers, each of the process handlers being a separate process;    wherein each of the plurality of request handlers is configured to send a response if it determines it is available to handle a processing job identified in a client service request received from a client for the processing job, and if identified by the client to handle the processing job: to send one or more query messages to one or more of the processing regions, to receive responses from said processing regions; and to select among said received responses to identify and assign a particular process handler to service the processing job, and to receive a processing result from the particular process handler;    wherein each of the process handlers within said one or more of the processing regions is configured to respond to one of said one or more query messages if it is available to handle the processing job, and if identified as the particular process handler by the particular process handler to process the processing job to determine the processing result, and to communicate the processing result to said identified request handler;    wherein the client is configured to receive a plurality of said responses from the client service request, and to receive the processing result from the particular process handler; and    wherein said operation of being identified by the client to handle the processing job includes the client selecting the particular process handler based on said received responses to the client service request.    
   
   
       11 . The system of  claim 10 , wherein the plurality of process handlers are different processes than the plurality of request handlers.  
   
   
       12 . A system for processing information, the system comprising: 
 a plurality of request handlers, each of said request handlers being a separate process; and    a plurality of process handlers, each of the process handlers being a separate process;    wherein each of the plurality of request handlers is configured to send a response to a client service request received from a client if it determines it is available to handle a processing job identified in said client service request received from the client for the processing job, and if identified by the client to handle the processing job: to send one or more query messages to the plurality of process handlers, to receive responses from said process handlers; and to select among said received responses to identify and assign a particular process handler to service the processing job, to receive a processing result from the particular process handler, and to send the processing result to the client;    wherein each of the process handlers is configured to respond to said one or more query messages if it is available to handle the processing job, and if identified as the particular process handler by the particular process handler: to process the processing job and to communicate the processing result to said identified request handler; and    wherein the client is configured to receive a plurality of said responses from the client service request, to select the particular process handler based on said received responses from the client service request, and to receive the processing result from said the particular process handler assigned to service the processing job.    
   
   
       13 . The system of  claim 12 , wherein the plurality of process handlers are different processes than the plurality of request handlers.  
   
   
       14 . A method for processing information in a networked hive of computing engines, the method comprising: 
 each of a plurality of request handlers receiving a client service request message for a particular job from a client;    a plurality of the plurality of request handlers responding to the client request message by sending a response message to the client;    a selected request handler of said request handlers said responding to client request message receiving instructions from the client to process the particular job, wherein the client is external to the computing engine on which the selected request handler resides;    the selected request handler sending a processing request message for the particular job to a plurality of process handlers;    a plurality of the plurality of process handlers responding to the processing request message by sending a response message to the selected request handler;    the selected request handler selecting a selected process handler from said process handlers said responding to the processing request message and assigning the particular job to the selected process handler;    the selected process handler, in response to said assignment by the selected request handler, performing one or more tasks of the particular job to generate a processing result, and sending the processing result to the selected request handler; and    the selected request handler receiving the processing result and sending the processing result to the client;    wherein the selected request handler and the selected process handler are on different computing engines.    
   
   
       15 . A method for processing information in a networked hive of computing engines, the method comprising: 
 each of a plurality of request handlers receiving a client service request message for a particular job from a client;    a plurality of the plurality of request handlers responding to the client request message by sending a response message to the client;    a selected request handler of said request handlers said responding to client request message receiving instructions from the client to process the particular job, wherein the client is external to the computing engine on which the selected request handler resides;    the selected request handler sending a processing request message for the particular job to a plurality of process handlers;    a plurality of the plurality of process handlers responding to the processing request message by sending a response message to the selected request handler;    the selected request handler selecting a selected process handler from said process handlers said responding to the processing request message and assigning the particular job to the selected process handler;    the selected process handler, in response to said assignment by the selected request handler, performing partial processing of the particular job to generate state information, and sending the state information to the selected request handler;    the selected request handler, subsequent to receiving said state information, assigning the particular job to a second process handler of the plurality of process handlers and communicating said state information to the second process handler;    the second process handler completing processing of the particular job from its partially processed state identified from said state information to generate a processing result, and sending the processing result to the selected request handler; and    the selected request handler receiving the processing result and sending the processing result to the client;    wherein the selected request handler, the selected process handler, and the second process handler are on different computing engines.    
   
   
       16 . The method of  claim 15 , wherein said operation by the selected request handler of assigning the particular job to the second process handler is performed in response to the selected request handler detecting an error.  
   
   
       17 . The method of  claim 15 , comprising: the selected request handler performing a volunteer operation to select the second process handler based on received responses from a plurality of the plurality of process handlers including the second process handler.  
   
   
       18 . The method of  claim 17 , wherein said operation by the selected request handler of assigning the particular job to the second process handler is performed in response to the selected request handler detecting an error.  
   
   
       19 . The system of  claim 18 , where the particular job includes a reference or identification of a process flow, the process flow identifies a plurality of processing sets, each of the plurality of processing sets identifying a beginning state, a task, and one or more ending states; wherein said state information identifies the state of the particular job at one of said ending states.  
   
   
       20 . The system of  claim 15 , where the particular job includes a reference or identification of a process flow, the process flow identifies a plurality of processing sets, each of the plurality of processing sets identifying a beginning state, a task, and one or more ending states; wherein said state information identifies the state of the particular job at one of said ending states.  
   
   
       21 . A method for processing information in a networked hive of computing engines, the method comprising: 
 a request handler of a plurality of request handlers receiving instructions from a client to process the particular job, wherein the client is external to the computing engine on which the request handler resides;    the request handler sending a processing request message for the particular job to a plurality of process handlers;    a plurality of the plurality of process handlers responding to the processing request message by sending a response message to the request handler;    the request handler selecting a selected process handler from said process handlers said responding to the processing request message and assigning the particular job to the selected process handler;    the selected process handler, in response to said assignment by the request handler, performing one or more tasks of the particular job to generate a processing result, and sending the processing result to the request handler; and    the request handler receiving the processing result and sending the processing result to the client;    wherein the request handler and the selected process handler are on different computing engines.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.