Server queuing system and method
First Claim
1. A computer-implemented method for queuing messages, comprising:
- receiving a message group in a queuing system that is sent from a sender subsystem, wherein the message group comprises a group of messages;
wherein each message within the group of messages is identified as belonging to the message group;
storing each message of the group of messages within an entry of a message queue;
in response to receiving the message group adding a new record to the group queue;
wherein the record in the group queue identifies each of the messages in the message queue that comprise the received message group;
wherein each record in the group queue is associated with a different message group;
storing the received message group in a predetermined order within the group queue using the queuing system;
receiving in the queuing system a correlation identifier for the message group, wherein the correlation identifier is used to associate the messages in the message group;
storing the received correlation identifier using the queuing system; and
sending the stored message groups in accordance with the predetermined order and the correlation identifiers.
2 Assignments
0 Petitions
Accused Products
Abstract
A queuing server is used for reliable message transport, where one subsystem desires to execute one or more ordered operations asynchronously. Messages are sent to the queue in groups, which may have one or more messages. Messages within a particular group are processed in a predetermined order. Optionally, groups of messages can marked as correlated such that all groups within a particular correlation can be processed in a predetermined order. A message can be stored in a SQL database table until processing of that message is complete. The receiving side of the message system can be scaled across multiple machines and/or across available resources of any given machine. The system can handle “disaster” scenarios on both the sending side (i.e. the sending machine crashes in the middle of sending a group), and the receiving side (i.e., a power failure causes a reboot in at least one of the receiving machines).
40 Citations
20 Claims
-
1. A computer-implemented method for queuing messages, comprising:
-
receiving a message group in a queuing system that is sent from a sender subsystem, wherein the message group comprises a group of messages;
wherein each message within the group of messages is identified as belonging to the message group;storing each message of the group of messages within an entry of a message queue; in response to receiving the message group adding a new record to the group queue;
wherein the record in the group queue identifies each of the messages in the message queue that comprise the received message group;
wherein each record in the group queue is associated with a different message group;storing the received message group in a predetermined order within the group queue using the queuing system; receiving in the queuing system a correlation identifier for the message group, wherein the correlation identifier is used to associate the messages in the message group; storing the received correlation identifier using the queuing system; and sending the stored message groups in accordance with the predetermined order and the correlation identifiers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for queuing messages, comprising:
-
means for sending a message group in a queuing system that are sent from a sender subsystem, wherein the message group comprises a group of messages;
wherein each message within the group of messages is identified as belonging to the message group;means for storing each of the messages within the message group within a separate entry in a message queue; means for storing the received message group in a predetermined order within a group queue using the queuing system;
wherein the group queue comprises a record for each received message groups;means for receiving in the queuing system a correlation identifier for the message group, wherein the correlation identifier is used to associate the messages comprising the message group; means for storing the received correlation identifier using the queuing system; and means for sending the stored message groups in accordance with the predetermined order and the correlation identifiers. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A computer-readable storage medium having computer-executable instructions for managing a queuing system for messages, comprising:
-
instructions for receiving message groups in a queuing system that are sent from a sender subsystem, wherein each message group comprises messages; instructions for storing each of the messages within an entry of a message queue such that different messages from different message groups are contained within the message queue; instructions for adding a new record to a group queue in response to receiving each of the message groups;
wherein each record in the group queue identifies one of the received message groups;instructions for storing the received message groups in a predetermined order within the group queue using the queuing system; instructions for receiving in the queuing system a correlation identifier for each message within a message group, wherein the correlation identifier is used to associate message groups; instructions for storing the received correlation identifier using the queuing system; and instructions for sending the stored message groups in accordance with the predetermined order and the correlation identifiers. - View Dependent Claims (17, 18, 19, 20)
-
Specification