Patent ID: 8200563

Claim:
A system for delivering a plurality of messages to an external client device, the system comprising: a trading engine configured to generate the plurality of messages and associate each of the plurality of messages with an attribute to define at least a first class of messages and a second class of messages; a communication bus configured to receive the plurality of messages from the trading engine and asynchronously deliver the plurality of messages; a first listener coupled to the communication bus and configured to subscribe to and receive the first class of messages; a second listener coupled to the communication bus and configured to subscribe to and receive the second class of messages; a buffering system configured to temporarily store the plurality of messages received from the first listener and the second listener for a first time period and configured to provide at least one of the stored messages to the external client device based upon a request from the external client device; a database coupled to the buffering system configured to store the plurality of messages for a second time period subsequent to the first time period, configured to provide the at least one of the stored messages to the external client device based upon the request when the buffering system no longer stores the at least one of the stored messages; a third listener coupled to the communication bus and configured to subscribe to and receive the first class of messages; and a fourth listener coupled to the communication bus and configured to subscribe to and receive the second class of messages; wherein when the first listener misses a message, the buffering system is further configured to store the corresponding message received from the third listener and when the second listener misses a message, the buffering system is further configured to store the corresponding message received from the fourth listener.