Processing information using a hive of computing engines including request handlers and process handlers
First Claim
1. A method for processing information, the method comprising:
- receiving a service request message for a processing job from a client;
responding to the service request message including sending a service response message to the client;
receiving from the client a processing job message for the processing job;
sending a processing request message based on the processing job to a plurality of process handlers;
receiving processing responses from a subset of the plurality of process handlers;
selecting a first process handler of the subset of the plurality of process handlers;
initiating the processing job on the first process handler;
receiving a first set of state information from the first process handler for the processing job;
sending a second processing request message based on the processing job to a second plurality of process handlers;
receiving second processing responses from a subset of the second plurality of process handlers;
selecting a second process handler of the subset of the second plurality of process handlers;
forwarding the first set of state information to the second process handler;
receiving a final set of state information from the second process handler; and
sending a result message based on the final set of state information to the client.
7 Assignments
0 Petitions
Accused Products
Abstract
A hive of computing engines, typically including request handlers and process handlers, is used to process information. One implementation includes a request region including multiple request handlers and multiple processing regions, each typically including multiple process handlers. Each request handler is configured to respond to a client service request of a processing job, and if identified to handle the processing job: to query one or more of the processing regions to identify and assign a particular process handler to service the processing job, and to receive a processing result from the particular process handler. Each of the process handlers is configured to respond to such a query, and if identified as the particular process handler: to service the processing job, to process the processing job, to update said identified request handler with state information pertaining to partial processing of said processing job, and to communicate the processing result to the identified request handler.
-
Citations
65 Claims
-
1. A method for processing information, the method comprising:
-
receiving a service request message for a processing job from a client; responding to the service request message including sending a service response message to the client; receiving from the client a processing job message for the processing job; sending a processing request message based on the processing job to a plurality of process handlers; receiving processing responses from a subset of the plurality of process handlers; selecting a first process handler of the subset of the plurality of process handlers; initiating the processing job on the first process handler; receiving a first set of state information from the first process handler for the processing job; sending a second processing request message based on the processing job to a second plurality of process handlers; receiving second processing responses from a subset of the second plurality of process handlers; selecting a second process handler of the subset of the second plurality of process handlers; forwarding the first set of state information to the second process handler; receiving a final set of state information from the second process handler; and sending a result message based on the final set of state information to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium containing computer-executable instruction for performing steps comprising:
-
receiving a service request message for a processing job from a client; responding to the service request message including sending a service response message to the client; receiving from the client a processing job message for the processing job; sending a processing request message based on the processing job to a plurality of process handlers; receiving processing responses from a subset of the plurality of process handlers; selecting a first process handler of the subset of the plurality of process handlers; initiating the processing job on the first process handler; receiving a first set of state information from the first process handler for the processing job; sending a second processing request message based on the processing job to a second plurality of process handlers; receiving second processing responses from a subset of the second plurality of process handlers; selecting a second process handler of the subset of the second plurality of process handlers; forwarding the first set of state information to the second process handler; receiving a final set of state information from the second process handler; and sending a result message based on the final set of state information to the client. - View Dependent Claims (9, 10, 11, 12)
-
-
13. An apparatus for processing information, the apparatus comprising:
-
means for receiving a service request message for a processing job from a client; means for responding to the service request message including sending a service response message to the client; means for receiving from the client a processing job message for the processing job; means for sending a processing request message based on the processing job to a plurality of process handlers; means for receiving processing responses from a subset of the plurality of process handlers; means for selecting a first process handler of the subset of the plurality of process handlers; means for initiating the processing job on the first process handler; means for receiving a first set of state information from the first process handler for the processing job; means for sending a second processing request message based on the processing job to a second plurality of process handlers; means for receiving second processing responses from a subset of the second plurality of process handlers; means for selecting a second process handler of the subset of the second plurality of process handlers; means for forwarding the first set of state information to the second process handler; means for receiving a final set of state information from the second process handler; and means for sending a result message based on the final set of state information to the client. - View Dependent Claims (14)
-
-
15. A method for processing applications, the method comprising:
-
a client communicating a service request to a plurality of request handlers; a subset of the plurality of request handlers responding to the service request, said responding including communicating a response to the client; the client receiving one or more of said responses; the client selecting a particular request handler of the subset of the plurality of request handlers based on said received one or more of said responses; the client submitting a processing job to the particular request handler; the particular request handler generating a processing request based on the processing job; the particular request handler communicating the processing request to a plurality of process handlers; a subset of the plurality of process handlers responding to the processing request, said responding including communicating a processing request response to the particular request handler; the particular request handler receiving one or more of said processing request responses; the particular request handler selecting a particular process handler of the plurality of process handlers based on said received one or more of processing request responses; the particular request handler submitting the processing job to the particular process handler; the particular process handler updating the particular request handler with a first set of state information corresponding to a first subset of processing of the processing job; the particular request handler sending to a second process handler a completion job request of the processing job from the state indicated in the first set of state information; the second process handler completing the processing job; the second process handler returning a result of after said completing the processing job to the particular request handler; and the particular request handler sending the result to the client. - View Dependent Claims (16)
-
-
17. A system for processing information, the system comprising one or more computers including:
-
a client configured to cause the processing of a processing job in order to determine a processing result;
a plurality of request handlers;a plurality of process handlers; and
a plurality of task 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;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) assigning one or more tasks of the processing job to a particular task handler of the plurality of task handlers;
(2) receiving one or more task results from the particular task handler; and
(3) communicating the processing result identified based on said one or more task results to the particular request handler; andwherein the particular task handler is configured to perform operations comprising;
processing one or more tasks identified in the processing job in order to determine said one or more task results; and
communicating said one or more task results to the particular process handler. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A networked system for processing information, the system comprising:
-
a client computer including a client; and a plurality of computers, including a plurality of request handlers, a plurality of process handlers and a plurality of task handlers such that each of the plurality of computers includes one or more handlers from a group consisting of;
a request handler of the plurality of request handlers, a process handler of the plurality of process handlers, and a task handler of the plurality of task handlers;wherein each of the plurality of 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 corresponding to 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 plurality of 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 assign one or more tasks of the processing job to one or more particular task handlers of the plurality of task handlers;
to identify the processing result based on processing results of said one or more tasks of the processing job by said one or more particular task handlers; and
to communicate the processing result to the particular request handler;wherein each of said one or more particular task handlers is configured to process one or more of said one or more tasks assigned to it to determine one or more task results; and
to communicate said one or more task results to the particular process handler; andwherein 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. - View Dependent Claims (27, 28, 29, 30, 31)
-
-
32. 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 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, assigning the processing job to a particular task handler of a plurality of task handlers; the particular task handler performing one or more tasks of the particular the job to generate a processing result, and sending the processing result to the selected process handler; the selected process handler, in response to receiving the processing result, sending the processing result to the selected request handler; and the selected request handler, in response to receiving the processing result, sending the processing result to the client; and wherein the selected request handler and the selected process handler are on different computing engines. - View Dependent Claims (33, 34, 35, 36)
-
-
37. A system for processing information, the system comprising one or more computers including:
-
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 assign the processing job to one or more task handlers to determine the processing result and to receive 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; andwherein 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. - View Dependent Claims (38)
-
-
39. A system for processing information, the system comprising one or more computers including:
-
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 assign the processing job to one or more task handlers to determine the processing result and to receive the processing result, and to communicate the processing result to said identified request handler; andwherein 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. - View Dependent Claims (40)
-
-
41. 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, assigning the processing job to a particular task handler of a plurality of task handlers; the particular task handler performing one or more tasks of the particular the job to generate a processing result, and sending the processing result to the selected process handler; the selected process handler, in response to receiving the processing result, sending the processing result to the request handler; and the request handler, in response to receiving the processing result, sending the processing result to the client; wherein the request handler and the selected process handler are on different computing engines. - View Dependent Claims (42, 43, 44, 45)
-
-
46. A system for processing information, the system comprising one or more computers including:
-
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; andwherein 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. - View Dependent Claims (47, 48, 49, 50, 51, 52)
-
-
53. 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 identity 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; andwherein 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. - View Dependent Claims (54)
-
-
55. A system for processing information, the system comprising one or more computers including:
-
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. - View Dependent Claims (56)
-
-
57. A system for processing information, the system comprising one or more computers including:
-
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; andwherein 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. - View Dependent Claims (58)
-
-
59. 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.
-
-
60. 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. - View Dependent Claims (61, 62, 63, 64, 65)
-
Specification