Policy based message aggregation framework
First Claim
1. A computerized method of aggregating messages at a batching computer, said batching computer receiving messages for at least one destination application via a communications network, said method comprising:
- storing message subscriptions in a data store, said message subscriptions defining a list of batching services at the batching computer that receive messages satisfying a particular condition;
receiving a plurality of messages at the batching computer from at least one source application via the communications network;
evaluating each of the received plurality of messages against the message subscriptions to identify which batching service at the batching computer will receive each message satisfying the particular condition;
stamping each of the received plurality of messages with a service identifier corresponding to the batching service identified during the evaluating;
defining a batch configuration policy at the batching computer, said batch configuration policy including criteria for aggregating the messages received from the at least one source application at the batching computer into a batch for the at least one destination application and business logic for determining when the batch is complete;
aggregating the received messages into a batch at the batching computer as a function of the batch configuration policy applied to the received messages and as a function of the service identifier stamped on each of the received messages, said service identifier identifying the batching service to aggregate the received messages;
maintaining an instance state associated with the batch, said instance state permitting the recovery of the batch in the event that a failure of the batcher computer is determined;
in response to determining a failure of the batching computer, recovering the batch at the batching computer based on the instance state; and
in response to determining that the batch is complete, serializing the received messages in the batch into a single message output stream.
2 Assignments
0 Petitions
Accused Products
Abstract
Messages generated by an originating application are aggregated into batches based on a configuration policy. The configuration policy contains business logic used to aggregate messages into a batch. Once a batch is complete, it is formatted into a single stream output and sent to a destination application designed to receive the messages. Messages may also be aggregated into batches that are controlled by the originating application. The messages include an indicator set by the originating application to signal when a batch is complete. Once the batch is complete, it is formatted into a single stream output and sent to a destination application designed to receive the messages.
28 Citations
17 Claims
-
1. A computerized method of aggregating messages at a batching computer, said batching computer receiving messages for at least one destination application via a communications network, said method comprising:
-
storing message subscriptions in a data store, said message subscriptions defining a list of batching services at the batching computer that receive messages satisfying a particular condition; receiving a plurality of messages at the batching computer from at least one source application via the communications network; evaluating each of the received plurality of messages against the message subscriptions to identify which batching service at the batching computer will receive each message satisfying the particular condition; stamping each of the received plurality of messages with a service identifier corresponding to the batching service identified during the evaluating; defining a batch configuration policy at the batching computer, said batch configuration policy including criteria for aggregating the messages received from the at least one source application at the batching computer into a batch for the at least one destination application and business logic for determining when the batch is complete; aggregating the received messages into a batch at the batching computer as a function of the batch configuration policy applied to the received messages and as a function of the service identifier stamped on each of the received messages, said service identifier identifying the batching service to aggregate the received messages; maintaining an instance state associated with the batch, said instance state permitting the recovery of the batch in the event that a failure of the batcher computer is determined; in response to determining a failure of the batching computer, recovering the batch at the batching computer based on the instance state; and in response to determining that the batch is complete, serializing the received messages in the batch into a single message output stream. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computerized method of aggregating messages at a batching computer for sending to at least one destination application, said batching computer receiving messages from at least one source application via a communications network, said method comprising:
-
storing message subscriptions in a data store, said message subscriptions defining a list of batching services that receive messages satisfying a particular condition; receiving a plurality of messages at the batching computer from the at least one source application via the communications network, said messages including a batch identifier and a batch end indicator; evaluating each of the received plurality of messages against the message subscriptions to identify which batching service will receive each message satisfying the particular condition; aggregating the messages received from the at least one source application into a batch associated with the batch identifier at the batching computer as a function of the batch identifier and as a function of the evaluating; maintaining an instance state associated with the batch, said instance state permitting the recovery of the batch in the event that a failure of the batcher computer is determined; in response to determining a failure of the batching computer, recovering the batch at the batching computer based on the instance state; completing the aggregating as a function of the batch end indicator; in response to completing the aggregating, serializing the received messages in the batch into a single message output stream; and in response to serializing the batch into the single message output stream, sending the single message output stream from the batching computer to the at least one destination application. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system for aggregating messages for at least one destination application, said messages being addressed by at least one source application to a send port on a communications network, said system comprising a computer-readable storage media having one or more computer-executable components stored thereon and a batching computer having a processor for executing said computer-executable components, said one or more computer-executable components comprising:
-
a message engine component for; storing message subscriptions in a data store, said message subscriptions defining a list of batching services that receive messages satisfying a particular condition; receiving messages at the batching computer via the send port on the communications network from the at least one source application; evaluating each of the received plurality of messages against the message subscriptions to identify which service will receive each message satisfying the particular condition; and stamping each of the received plurality of messages with a service identifier corresponding to the service identified during the evaluating; a batcher component for; aggregating messages into a batch at the batching computer as a function of a batch configuration policy and as a function of the service identifier stamped on each of the received messages, said batcher component receiving at the batching computer the messages from the message engine, said messages being addressed to the send port, said batch configuration policy including criteria for aggregating the messages received from the at least one source application at the batching computer into a batch for the at least one destination application and including business logic for determining when the batch is complete; maintaining an instance state associated with the batch, said instance state permitting the recovery of the batch in the event that a failure of the batcher computer is determined; and in response to determining a failure of the batching computer;
recovering the batch at the batching computer based on the instance state;wherein the message engine component dynamically creates a new instance of the batcher component associated with the send port as needed if an instance of the batcher component associated with the send port does not exist when messages are received from the at least one source application via the send port. - View Dependent Claims (17)
-
Specification