Patent ID: 8364743

Claim:
A method of preserving the order of messages in an asynchronous message system, comprising: generating a message; tagging the generated message with a sequence identifier and a sequence number, wherein the sequence number is unique within a sequence of messages identified by a common sequence identifier; processing the tagged message by: checking a log to determine whether the sequence identifier of the tagged message is in the log; sending the tagged message to a selected consumer if the sequence identifier of the tagged message is not in the log; sending the tagged message to a particular consumer if the sequence identifier of the tagged message is in the log, where the particular consumer is identified based upon a consumer identifier read from a log entry containing the sequence identifier; and writing to the log, an entry having the sequence identifier and the sequence number of the tagged message and a consumer identifier of the selected consumer to whom the message is sent if the sequence identifier of the tagged message is not in the log.