System and method for supporting asynchronous message processing in a distributed data grid
AssigneeOracle International Corporation
InventorGene Gleyzer
Life of this patent
Estimating the term…
Abstract
A system and method can support asynchronous message processing in a distributed data grid. A cluster node in the distributed data grid can provide a message processor running on a message processing thread. The message processor can receive a request to process an incoming message from a service thread, wherein the request is associated with a continuation data structure. Then, the message processor can wrap the continuation data structure in a return message after processing the incoming message, and forward the return message to a service queue that is associated with the service thread.
Claims20
A method comprising:
- providing a node in a distributed data grid having a plurality of nodes, wherein said node comprises a first message processing thread, and a service thread having an associated service queue;
- receiving an incoming message at said service thread;
- preprocessing the incoming message in said service thread and generating a continuation data structure, wherein said continuation data structure represents a control state of a computational process on said service thread which allows said computational process to resume execution at a later point in time on said first message processing thread;
- transmitting a request to process the incoming message from said service thread to said first message processing thread, wherein the request is transmitted with the continuation data structure;
- processing the incoming message in said first message processing thread using said continuation data structure;
- generating a return message in said first message processing thread;
- wrapping, via said first message processing thread, the continuation data structure in said return message;
- and
- sending said return message and said continuation data structure from said first message processing thread to said service queue.
A system comprising:
- one or more microprocessors;
- a node in a distributed data grid having a plurality of nodes, wherein said node runs on said one or more microprocessors and comprises a first message processing thread, and a service thread having an associated service queue;
- wherein said node is configured to:
- receive an incoming message at said service thread,
- reprocess the incoming message in said service thread and generate a continuation data structure, wherein said continuation data structure represents a control state of a computational process on said service thread which allows said computational process to resume execution at a later point in time on said first message processing thread,
- transmit a request to process the incoming message from said service thread to said first message processing thread, wherein the request is transmitted with the continuation data structure,
- process the incoming message in said first message processing thread using said continuation data structure,
- generate a return message in said first message processing thread,
- wrap the continuation data structure in said return message in said first message processing thread, and
- send said return message and said continuation data structure from said first message processing thread to said service queue.
A non-transitory machine readable storage medium having instructions stored thereon that when executed cause a system to perform steps comprising:
- providing a node in a distributed data grid having a plurality of nodes, wherein said node comprises a first message processing thread, a service thread having an associated service queue;
- receiving an incoming message at said service thread;
- preprocessing the incoming message in said service thread and generating a continuation data structure, wherein said continuation data structure represents a control state of a computational process on said service thread which allows said computational process to resume execution at a later point in time on said first message processing thread;
- transmitting a request to process the incoming message from said service thread to said first message processing thread, wherein the request is transmitted with the continuation data structure;
- processing the incoming message in said first message processing thread using said continuation data structure;
- generating a return message in said first message processing thread;
- wrapping, via said first message processing thread, the continuation data structure in said return message;
- and
- sending said return message and said continuation data structure from said first message processing thread to said service queue.
Dependencies are inferred from the claim text.