Publish and subscribe system including buffer
First Claim
1. 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 plurality of listeners coupled to the communication bus and configured to subscribe to and receive the first class of messages and the second class of messages; and
a buffering system configured to temporarily store the plurality of messages received from the plurality of listeners 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;
wherein the buffering system is configured to determine when one of the plurality of listeners misses a message and to store a corresponding message received from a corresponding redundant listener.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for delivering a plurality of trading data messages to a server in connection with the monitoring the trading of financial instruments are provided. A listener subscribes to a subset of the plurality of trading data messages generated by market participants or components within the trading platform. A buffer receives the subset of the plurality of trading data messages and stores the subset of the plurality of trading data messages. A server, such as a live alerts server, receives the subset of the plurality of trading data messages stored from the buffer and analyzes the subset of the plurality of trading data.
68 Citations
13 Claims
-
1. 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 plurality of listeners coupled to the communication bus and configured to subscribe to and receive the first class of messages and the second class of messages; and a buffering system configured to temporarily store the plurality of messages received from the plurality of listeners 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; wherein the buffering system is configured to determine when one of the plurality of listeners misses a message and to store a corresponding message received from a corresponding redundant listener. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for delivering data comprising a plurality of messages from a trading engine to an external client device, the method comprising:
-
generating the plurality of messages at the trading engine; associating each of the plurality of messages with an attribute to define at least a first class of messages and a second class of messages; delivering asynchronously the plurality of messages along a communication bus; subscribing a first listener coupled to the communication bus to receive the first class of messages; subscribing a second listener coupled to the communication bus to receive the second class of messages; storing the plurality of messages received from the first listener and the second listener in a buffering system for a time period; determining when the first listener misses a message and storing in the buffering system a corresponding message received from a corresponding redundant listener; providing a message stored in the buffering system to the external client device based upon a request from the external client device if the request is received during the time period; storing the plurality of messages in a database coupled to the buffering system; and providing a message stored in the database to the external client device based upon the request from the external client device if the request is received after the time period. - View Dependent Claims (9, 10, 11, 12, 13)
-
Specification