Method and apparatus for parallel sequencing of messages between disparate information systems
First Claim
1. A system for coordinating concurrent processing of a plurality of messages communicated over a network between a source system and a target system, the plurality of messages configured for including a pair of related messages having a common first unique message identifier and at least one unrelated message having a second unique message identifier different from the first unique identifier, the system comprising:
- an input queue for storing the plurality of messages when received;
an output message queue for storing the plurality of messages during message processing, the output message queue including a plurality of execution streams for facilitating concurrent processing of the at least one unrelated message with at least one of the pair of related messages;
a sequencer module coupled to the output message queue for determining using the first and second unique identifiers which of the plurality of messages are the pair of related messages and which of the plurality of messages are the at least one unrelated message, the sequencer module further configured for identifying a sequence order for the pair of related messages according to a respective sequence indicator associated with each of the related messages, the sequence indicators configured for use in assigning a first position in the sequence order for a first message of the pair of related messages and for use in assigning a second position in the sequence order for a second message of the pair of related messages; and
a registry coupled to the sequencer module and configured for storing a pending message status indicator for the first message in the output message queue;
wherein the sequencer module inhibits the progression of processing through the output message queue for the second message until the pending message status for the first message is removed from the registry while facilitating concurrent processing of the at least one unrelated message though the output message queue.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method are provided for coordinating concurrent processing of a plurality of messages communicated over a network between a source system and a target system. The plurality of messages are configured for including a pair of related messages having a common first unique message identifier and at least one unrelated message having a second unique message identifier different from the first unique identifier. The system and method comprise an input queue for storing the plurality of messages when received and an output message queue for storing the plurality of messages during message processing. The output message queue includes a plurality of execution streams for facilitating concurrent processing of the at least one unrelated message with at least one of the pair of related messages. The system and method also include a sequencer module coupled to the output message queue for determining using the first and second unique identifiers which of the plurality of messages are the pair of related messages and which of the plurality of messages are the at least one unrelated message. The sequencer module is further configured for identifying a sequence order for the pair of related messages according to a respective sequence indicator associated with each of the related messages, such that the sequence indicators are configured for use in assigning a first position in the sequence order for a first message of the pair of related messages and for use in assigning a second position in the sequence order for a second message of the pair of related messages. The system and method also have a registry coupled to the sequencer module and configured for storing a pending message status indicator for the first message in the output message queue, wherein the sequencer module inhibits the progression of processing through the output message queue for the second message until the pending message status for the first message is removed from the registry while facilitating concurrent processing of the at least one unrelated message though the output message queue.
-
Citations
21 Claims
-
1. A system for coordinating concurrent processing of a plurality of messages communicated over a network between a source system and a target system, the plurality of messages configured for including a pair of related messages having a common first unique message identifier and at least one unrelated message having a second unique message identifier different from the first unique identifier, the system comprising:
-
an input queue for storing the plurality of messages when received;
an output message queue for storing the plurality of messages during message processing, the output message queue including a plurality of execution streams for facilitating concurrent processing of the at least one unrelated message with at least one of the pair of related messages;
a sequencer module coupled to the output message queue for determining using the first and second unique identifiers which of the plurality of messages are the pair of related messages and which of the plurality of messages are the at least one unrelated message, the sequencer module further configured for identifying a sequence order for the pair of related messages according to a respective sequence indicator associated with each of the related messages, the sequence indicators configured for use in assigning a first position in the sequence order for a first message of the pair of related messages and for use in assigning a second position in the sequence order for a second message of the pair of related messages; and
a registry coupled to the sequencer module and configured for storing a pending message status indicator for the first message in the output message queue;
wherein the sequencer module inhibits the progression of processing through the output message queue for the second message until the pending message status for the first message is removed from the registry while facilitating concurrent processing of the at least one unrelated message though the output message queue. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for coordinating concurrent processing of a plurality of messages communicated over a network between a source system and a target system, the plurality of messages configured for including a pair of related messages having a common first unique message identifier and at least one unrelated message having a second unique message identifier different from the first unique identifier, the method comprising the steps of:
-
receiving the plurality of messages;
identifying which of the plurality of messages are the pair of related messages and which of the plurality of messages are the at least one unrelated message using the first and second unique identifiers;
identifying a sequence order for the pair of related messages according to a respective sequence indicator associated with each of the related messages, the sequence indicators configured for use in assigning a first position in the sequence order for a first message of the pair of related messages and for use in assigning a second position in the sequence order for a second message of the pair of related messages;
monitoring the processing of the pair of related messages and the at least one unrelated message in an output message queue by inhibiting processing of the second message until a pending message status indicator for the first message is cleared while facilitating concurrent processing of the at least one unrelated message though the output message queue, the pending message status indicator for indicating that the first message is resident in the message output queue, the output message queue including a plurality of execution streams for facilitating concurrent processing of the at least one unrelated message with at least one of the pair of related messages when resident in the output message queue. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product for coordinating concurrent processing of a plurality of messages communicated over a network between a source system and a target system, the plurality of messages configured for including a pair of related messages having a common first unique message identifier and at least one unrelated message having a second unique message identifier different from the first unique identifier, the computer program product comprising:
-
a computer readable medium;
an input queue module stored on the computer readable medium for facilitating storage of the plurality of messages when received;
an output message queue module coupled to the input queue module for facilitating storage of the plurality of messages during message processing, the output message queue module configured to include a plurality of execution streams for facilitating concurrent processing of the at least one unrelated message with at least one of the pair of related messages;
a sequencer module coupled to the output message queue module for determining using the first and second unique identifiers which of the plurality of messages are the pair of related messages and which of the plurality of messages are the at least one unrelated message, the sequencer module further configured for identifying a sequence order for the pair of related messages according to a respective sequence indicator associated with each of the related messages, the sequence indicators configured for use in assigning a first position in the sequence order for a first message of the pair of related messages and for use in assigning a second position in the sequence order for a second message of the pair of related messages; and
a registry module coupled to the sequencer module and configured for storing a pending message status indicator in a registry for the first message, when the first message is in an output message queue provided by the output message queue module;
wherein the sequencer module inhibits the progression of processing through the output message queue for the second message until the pending message status for the first message is removed from the registry while facilitating concurrent processing of the at least one unrelated message though the output message queue.
-
Specification