US2014324666A1PendingUtilityA1

Publish and Subscribe System Including Buffer

Assignee: CHICAGO MERCANTILE EXCHANGEPriority: Sep 23, 2005Filed: Jul 7, 2014Published: Oct 30, 2014
Est. expirySep 23, 2025(expired)· nominal 20-yr term from priority
G06F 15/16G06Q 40/00G06Q 40/04G06Q 40/06G06Q 10/10
56
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system comprising:
 a trading engine configured to generate the plurality of trading data messages;   a plurality of listeners that each subscribe to a subset of the plurality of trading data messages according to a criterion;   a buffering system configured to temporarily store the subsets of messages subscribed to by the plurality of listeners; and   a server configured to receive a subset of the plurality of trading data messages subscribed to by one of the plurality of listeners and stored in the buffering system.   
     
     
         2 . The system of  claim 1 , further comprising:
 a communication bus configured to receive the plurality of trading data messages from the trading engine and asynchronously deliver the plurality of messages.   
     
     
         3 . The system of  claim 1 , wherein a criterion is one of message content or intended destination. 
     
     
         4 . The system of  claim 1 , wherein the buffering system is configured to match order messages with a corresponding acknowledgement messages to create a matched set of messages. 
     
     
         5 . The system of  claim 4 , further comprising:
 a memory module configured to store the matched set of messages.   
     
     
         6 . The system of  claim 1 , wherein the server is a live alert server that receives the subset of the plurality of trading data messages and includes computer-executable instructions for comparing trading data to at least one rule and generating a rule message when a rule is violated. 
     
     
         7 . The system of  claim 6 , further comprising:
 an email server configured to receive the rule message and generate an email message that includes a link for a generating a report relating to the violated rule.   
     
     
         8 . The system of  claim 7 , wherein the at least one rule is a position quantity, a risk level quantity, or an order type quantity. 
     
     
         9 . The system of  claim 1 , wherein the trading engine is a match engine. 
     
     
         10 . The system of  claim 9 , wherein the match engine is configured to match orders for options contracts. 
     
     
         11 . The system of  claim 9 , wherein the match engine is configured to match orders for futures contracts. 
     
     
         12 . The system of  claim 1 , wherein the buffering system is configured to temporarily store in a non-indexed collection the subsets of messages subscribed to by the plurality of listeners. 
     
     
         13 . 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 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.   
     
     
         14 . The method of  claim 13 , further comprising:
 subscribing the external client device to receive the first class of messages from the communication bus.   
     
     
         15 . The method of  claim 13 , further comprising:
 generating the request to the buffering system when the external client does not receive a message of the first class of messages from the communication bus.   
     
     
         16 . The method of  claim 13 , wherein the buffering system stores the message on a first in first out basis and the time period depends on a rate that the messages are received at the buffering system. 
     
     
         17 . The method of  claim 13 , wherein the time period comprises a user defined predetermined duration. 
     
     
         18 . The method of  claim 17 , further comprising:
 determining whether or not the request is received during the time period comprises indexing a sequence number of the message in the request in the buffer.   
     
     
         19 . A publish and subscribe messaging system, comprising:
 a publisher operable to asynchronously send a plurality of messages to a communication bus, each of the plurality of messages containing data from a trading engine and an attribute;   a first subscriber operable to receive, from the communication bus, a class of the plurality of messages according to the attribute;   a buffer to receive the class of the plurality of messages from the first subscriber and store the class of the plurality of messages for a predetermined time period; and   a second subscriber operable to receive, from the communication bus, the class of the plurality of messages according to the attribute and send a request to the buffer when one of the plurality of messages is received out of sequence.   
     
     
         20 . The publish and subscribe messaging system of  claim 19 , wherein the buffer is configured to store the class of the plurality of messages in a non-indexed collection of messages for a predetermined time period.

Join the waitlist — get patent alerts

Track US2014324666A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.