System and method for supporting out-of-order message processing in a distributed data grid
First Claim
1. A method for supporting out-of-order message processing in a distributed data grid comprising a plurality of cluster nodes operating on one or more microprocessors, the distributed data grid comprising a message transfer layer which guarantees in-order delivery of messages to said plurality of cluster nodes, the method comprising:
- embedding a callback function in each of a plurality of messages directed to a cluster node of said plurality of cluster nodes, wherein said callback function is configured to inform whether said message can be pre-processed and/or whether said message requires in-order processing on a message processing service queue;
transmitting said plurality of messages to said cluster node over said message transfer layer;
receiving said plurality of messages at said cluster node;
preprocessing each message of said plurality of messages based on the callback function embedded in each message;
in response to said preprocessing, pushing a first subset of said plurality of messages onto the message processing service queue for in-order processing; and
in response to said preprocessing, dispatching a second subset of said plurality of messages to one or more different threads for out-of-order processing.
1 Assignment
0 Petitions
Accused Products
Abstract
A system and method can support out-of-order message processing in a distributed data grid. A cluster node in the distributed data grid can receive a plurality of messages at a cluster node in the distributed data grid. The distributed data grid allows each message in the plurality of messages to determine whether it needs to be handled in a particular order on a first thread. The cluster node can dispatch one or more of said messages that do not need to be handled in the particular order on the first thread to one or more different threads.
77 Citations
20 Claims
-
1. A method for supporting out-of-order message processing in a distributed data grid comprising a plurality of cluster nodes operating on one or more microprocessors, the distributed data grid comprising a message transfer layer which guarantees in-order delivery of messages to said plurality of cluster nodes, the method comprising:
-
embedding a callback function in each of a plurality of messages directed to a cluster node of said plurality of cluster nodes, wherein said callback function is configured to inform whether said message can be pre-processed and/or whether said message requires in-order processing on a message processing service queue; transmitting said plurality of messages to said cluster node over said message transfer layer; receiving said plurality of messages at said cluster node; preprocessing each message of said plurality of messages based on the callback function embedded in each message; in response to said preprocessing, pushing a first subset of said plurality of messages onto the message processing service queue for in-order processing; and in response to said preprocessing, dispatching a second subset of said plurality of messages to one or more different threads for out-of-order processing. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for supporting out-of-order message processing in a distributed data grid, comprising:
-
one or more microprocessors; a plurality of cluster nodes in the distributed data grid running on the one or more microprocessors;
a message transfer layer which guarantees in-order delivery of messages to said plurality of cluster nodes;a message preprocessor in a cluster node of said plurality of cluster nodes; a plurality of messages directed to said cluster node of said plurality of cluster nodes, wherein each of said plurality of messages includes an embedded callback function, wherein said callback function is configured to inform whether said message can be pre-processed and/or whether said message requires in-order processing on a message processing service queue; wherein when said plurality of messages are received from said message trasfer layer at said cluster node, the message preprocessor performs steps comprising, preprocessing each message of said plurality of messages based on the callback function embedded in each message, in response to said preprocessing, pushing a first subset of said plurality of messages onto the message processing service queue for in-order processing, and in response to said preprocessing, dispatching a second subset of said plurality of messages to one or more different threads for out-of-order processing. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory machine readable storage medium having instructions stored thereon for supporting out-of-order message processing in a distributed data grid comprising a plurality of cluster nodes and a message transfer layer which guarantees in-order delivery of messages to said plurality of cluster nodes, which instructions, when executed, cause said distributed data grid to perform steps comprising:
-
embedding a callback function in each of a plurality of messages directed to a cluster node of said plurality of cluster nodes, wherein said callback function is configured to inform whether said message can be pre-processed and/or whether said message requires in-order processing on a message processing service queue; transmitting said plurality of messages to said cluster node over said message transfer layer; receiving said plurality of messages at said cluster node; preprocessing each message of said plurality of messages based on the callback function embedded in each message; in response to said preprocessing, pushing a first subset of said plurality of messages onto the message processing service queue for in-order processing; and in response to said preprocessing, dispatching a second subset of said plurality of messages to one or more different threads for out-of-order processing. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification