PRESERVING MESSAGE ORDER USING A MESSAGE ORDERING MANAGER
First Claim
1. A method for preserving a message order while processing electronic messages, the method comprising:
- receiving electronic messages at an input queue;
maintaining, at a message ordering manager, a list of the received electronic messages, the list including an order sequence in which the electronic messages arrive at the input queue;
providing the electronic messages from the input queue to an application server adapted for processing the electronic messages;
processing, at the application server, the electronic messages not in the order sequence; and
committing, at the message ordering manager, the processed electronic messages according to the order sequence in the list.
5 Assignments
0 Petitions
Accused Products
Abstract
A method and system for preserving a message ordering while processing message are discussed. A message ordering manager records an order in which electronic messages arrive at an input queue. An application server processes the electronic messages out-of-order or in parallel. The message ordering manager commits the processed electronic messages in the order in which electronic messages arrive at an input queue. If a processed message cannot be committed because older message(s) are not completely processed, then application server determines whether processing older message(s) is critical or not. If the processing the older message(s) is critical, the application server rolls back the processed message and the older message(s). Otherwise, the message ordering manager commits the processed message before the older electronic messages are committed.
-
Citations
20 Claims
-
1. A method for preserving a message order while processing electronic messages, the method comprising:
-
receiving electronic messages at an input queue; maintaining, at a message ordering manager, a list of the received electronic messages, the list including an order sequence in which the electronic messages arrive at the input queue; providing the electronic messages from the input queue to an application server adapted for processing the electronic messages; processing, at the application server, the electronic messages not in the order sequence; and committing, at the message ordering manager, the processed electronic messages according to the order sequence in the list. - View Dependent Claims (2)
-
-
3. A method for handling electronic messages that cannot be processed, the method comprising:
-
receiving a first electronic message and one or more subsequent electronic messages at an input queue; providing the first electronic message and the one or more subsequent electronic messages from the input queue to an application server adapted for processing the first electronic message and the one or more subsequent electronic messages; attempting processing of the first message and the one or more subsequent electronic messages out-of-order; checking whether the first message has been processed; waiting for a pre-determined period of time for the first message to be processed, if the first message is not processed yet; rolling back the one or more subsequent electronic messages, if the first message is not processed until at the end of the period; and cancelling all changes made while processing the one or more subsequent electronic messages. - View Dependent Claims (4, 5)
-
-
6. A method for processing electronic messages, the method comprising:
-
receiving a first electronic message and one or more subsequent electronic messages at an input queue; providing the first electronic message and the one or more subsequent electronic messages from the input queue to an application server adapted for processing the first electronic message and the one or more subsequent electronic messages; attempting processing of the first electronic message and the one or more subsequent electronic messages out-of-order; checking whether the first electronic message has been processed; waiting for a pre-determined period of time for the first electronic message to be processed, if the first message is not processed; determining whether the processing of the first electronic message is critical; and committing the one or more subsequent electronic messages, if the processing of the first electronic message is not critical. - View Dependent Claims (7, 8, 9, 10, 19, 20)
-
-
11. A system for handling electronic messages that cannot be processed, the system comprising:
-
An input queue for receiving a first electronic message and one or more subsequent electronic messages at an input queue; means for providing the first electronic message and the one or more subsequent electronic messages from the input queue to an application server adapted for processing the first electronic message and the one or more subsequent electronic messages, the application server attempting processing of the first message and the one or more subsequent electronic messages out-of-order; means for checking whether the first message has been processed; means for waiting for a pre-determined period of time for the first message to be processed, if the first message is not processed yet; means for rolling back the one or more subsequent electronic messages, if the first message is not processed until at the end of the period; and means for cancelling all changes made while processing the one or more subsequent electronic messages. - View Dependent Claims (12, 13)
-
-
14. A system for processing electronic messages, the method comprising:
-
an input queue for receiving a first electronic message and one or more subsequent electronic messages at an input queue; means for providing the first electronic message and the one or more subsequent electronic messages from the input queue to an application server adapted for processing the first electronic message and the one or more subsequent electronic messages, the application server attempting processing of the first electronic message and the one or more subsequent electronic messages out-of-order; means for checking whether the first electronic message has been processed; means for waiting for a pre-determined period of time for the first electronic message to be processed, if the first message is not processed; means for determining whether the processing of the first electronic message is critical; and means for committing the one or more subsequent electronic messages, if the processing of the first electronic message is not critical. - View Dependent Claims (15, 16, 17, 18)
-
Specification