Message queue behavior optimizations
First Claim
1. A method, comprising:
- receiving messages at a message server from a source;
collecting the messages into a plurality of groups based upon properties associated with the messages, wherein the properties associated with the messages used for grouping comprise message topics;
storing messages of each of the plurality of groups in a corresponding one of a plurality of queues, wherein messages in a selected one the plurality of groups are directed from the source to an individual one of a plurality of destinations;
and sending all of the messages in the selected group to the individual destination in a single transaction;
wherein the destination is a gateway.
2 Assignments
0 Petitions
Accused Products
Abstract
Network and storage calls are reduced by batching messages. Messages are collected from a client and sent to the gateway or backend application in one round trip. Alternatively, the messages are collected for different entities, and the batched messages are durably stored. Related messages, which may have the same sessionID, are grouped into a logical unit or session. This session may be locked to a single message consumer. A session may be associated with an application processing state as an atomic unit of work while other operations are performed on the messages in the session. Acknowledgements are accumulated by a broker on a message server, but the messages are not immediately deleted. Instead, multiple messages in a selected range are periodically truncated from a message store in a single operation. Expired messages for active sessions are proactive cleaned up to prevent sessions from reaching a quota or limit.
-
Citations
13 Claims
-
1. A method, comprising:
- receiving messages at a message server from a source;
collecting the messages into a plurality of groups based upon properties associated with the messages, wherein the properties associated with the messages used for grouping comprise message topics; storing messages of each of the plurality of groups in a corresponding one of a plurality of queues, wherein messages in a selected one the plurality of groups are directed from the source to an individual one of a plurality of destinations; and sending all of the messages in the selected group to the individual destination in a single transaction;
wherein the destination is a gateway. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- receiving messages at a message server from a source;
-
9. A system, comprising:
-
a processor; and a memory coupled to the processor, the memory having program instructions stored thereon that, upon execution by the processor, cause the system to; receive messages at a message server from a source; collect the messages into a plurality of groups based upon properties associated with the messages; store messages of each of the plurality of groups in a corresponding one of a plurality of queues, wherein messages in a selected one the plurality of groups were sent by the source to an individual one of a plurality of destinations; and send all of the messages in the selected group to the individual destination in a single transaction, wherein the destination is a gateway. - View Dependent Claims (10, 11, 12)
-
-
13. A computer-readable storage device comprising instructions that, when executed by a computer, cause the computer to:
-
receive messages at a message server from a source; collect the messages into one or more a plurality of groups based upon properties associated with the messages store messages of each of the plurality of groups in a corresponding one of a plurality of queues, wherein messages in a selected one the plurality of groups were sent by the source to reach a single one of a plurality of destinations; and send all of the messages in the selected group to the single destination in a single transaction, wherein the messages are acknowledgements of previously sent messages;
wherein the destination is a gateway.
-
Specification