Apparatus for sending a sequence of asynchronous messages to the same member of a clustered consumer
First Claim
1. A computer-implementable method comprising:
- identifying a received message as a member of a message group;
dynamically selecting a single destination consumer application from among multiple possible destination consumer applications within a cluster application to which messages of the message group may be forwarded;
when at least a first message of the message group comprises a group count indicating a total number of members within the message group;
assigning a temporary storage location to the message group on receipt of the first member of the message group;
collecting each member of the message group within the storage location assigned to that message group, wherein only members of the message group are stored within that storage location;
tracking a number of received members stored within the storage location to determine when all members of the message group have been received;
enabling the forwarding of the message group to the destination consumer application only after all members of the message group have been received; and
automatically forwarding each member of the message group to only the single destination consumer application selected, once the single destination consumer application is selected to forward a first member of the message group to;
when the members are assigned a sequence value within their headers corresponding to a preferred order for forwarding the members to the destination consuming application, said collecting comprises mapping each received member of the message group to an in-sequence location of the storage location corresponding to the correct sequence value within the message header, wherein said automatically forwarding transfers said members of the message group in the sequence in which said members are stored within the storage location.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for providing advanced messaging middleware functionality that is capable of handling message groups. Advanced messaging middleware (AMM) utility responds to the receipt of members of a message group by forwarding the message groups to a single consumer application of a multiple-consumer cluster application. Group messages comprise group identification (ID), and the AMM utility binds the group ID to a single consumer application. All subsequent messages of the message group are forwarded to that particular consumer application, while other messages are forwarded to other consumer applications within the application cluster. When the message group includes a number (group count) field indicating the number of messages within the message group, an aggregator component stores all members of a message group before forwarding the collected members in one sequence to the single consumer application.
37 Citations
8 Claims
-
1. A computer-implementable method comprising:
-
identifying a received message as a member of a message group; dynamically selecting a single destination consumer application from among multiple possible destination consumer applications within a cluster application to which messages of the message group may be forwarded; when at least a first message of the message group comprises a group count indicating a total number of members within the message group; assigning a temporary storage location to the message group on receipt of the first member of the message group; collecting each member of the message group within the storage location assigned to that message group, wherein only members of the message group are stored within that storage location; tracking a number of received members stored within the storage location to determine when all members of the message group have been received; enabling the forwarding of the message group to the destination consumer application only after all members of the message group have been received; and automatically forwarding each member of the message group to only the single destination consumer application selected, once the single destination consumer application is selected to forward a first member of the message group to; when the members are assigned a sequence value within their headers corresponding to a preferred order for forwarding the members to the destination consuming application, said collecting comprises mapping each received member of the message group to an in-sequence location of the storage location corresponding to the correct sequence value within the message header, wherein said automatically forwarding transfers said members of the message group in the sequence in which said members are stored within the storage location. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
a processor; a data bus coupled to the processor; a memory coupled to the data bus; and a computer-usable medium embodying computer program code, the computer program code comprising instructions executable by the processor and configured to; parse a header of the received message for a group identifier (ID), wherein all messages that are members of a same message group contain a same group ID within their message header and a single message that is not a part of a message group contains a null value within the header field within which group ID is stored; identify a received message as a member of a message group; dynamically select a single destination consumer application from among multiple possible destination consumer applications within a cluster application to which messages of the message group may be forwarded; and automatically forward each member of the message group to the single destination consumer application selected; when the received message does contain a group ID; parse a header of the received message for a group count value; and when there is no group count value with the received message or the group count value is a null value, dynamically assign the corresponding message group with the group ID to a particular destination consumer application and immediately forward said received message and each subsequent message received with the same group ID to that particular consumer application; when the received message does not contain a group ID, initiate a forwarding of the message to a destination consumer application not currently assigned to a message group; and when the received message is not a member of a message group; determine which consumer application of the multiple consumer applications within the application cluster are not currently assigned to a message group; block access to any destination consumer application assigned to a message group for forwarding the members of the message group; forward the received message to only an consumer application that is not currently assigned to a message group; and when all destination consumer application are currently assigned to a message group, hold the received message until one of the destination consumer applications is released from the assignment to a message group and becomes available. - View Dependent Claims (7, 8)
-
Specification