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 in a non-indexed collection 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 devicewherein 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.
-
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 in a non-indexed collection 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 in a non-indexed collection of messages 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