Patent ID: 7890955

Claim:
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.