IP Library Granted Patent US 10,380,686
Granted Patent B2
US 10,380,686 · App. 14/315,638 · Granted Aug 13, 2019

Method and apparatus for publishing market information

Inventor: Inderdeep Singh (Chicago, IL)
Assignee: Chicago Mercantile Exchange Inc.
G06Q40/04G06Q40/06
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,380,686
App. No.
14/315,638
Granted
Aug 13, 2019
Kind
B2
Abstract

A method and apparatus for publishing market data for a financial instrument utilizes existing network layer acknowledgement feature to publish market data for the financial instrument to a client device at rates in which the client device is able to process the data. The publishing rate is dynamic, as opposed to being fixed, and is able to adjust “on-the-fly” so as to prevent message queue stagnation.

Claims (46)

1. A computer implemented method for transmitting market data relating to a financial instrument to a client device over an electronic network, the method comprising:

receiving, by a network device, the market data relating to the financial instrument from a financial market center;

storing, by the network device comprising a memory, the received market data in the memory prior to transmission of the received market data to the client device over the electronic network;

determining, by the network device, if the received market data is an update to previously received market data which is stored in the memory and has not yet been transmitted to the client device, wherein if the received market data is determined to be an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device, replacing the previously received market data stored in the memory with the received market data, and if the received market data is determined not to be an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device, storing the received market data in the memory; and

transmitting, by the network device via the electronic network, all of the stored received market data to the client device only upon determination that the client device has acknowledged receipt of previously received market data that was previously transmitted to the client device regardless of whether or not the received market data is identical to the previously received market data that was previously transmitted to the client device and acknowledged thereby as having been received, wherein the electronic network utilizes a Transmission Control Protocol (TCP) that provides a feedback signal in a form of a network layer acknowledgment (ACK) which the client device utilizes to acknowledge receipt of the previously received market data stored in the memory that was previously transmitted to the client device.

2. The computer implemented method of claim 1 , wherein the TCP includes a buffer from which the received market data is transmitted, the memory comprising the buffer.

3. The computer implemented method of claim 1 , wherein the storing of the received market data in the memory further comprises setting an indicator indicative thereof, and further wherein the determining evaluates the indicator and determines that the received market data is an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device when the indicator is determined to be set and determines that the received market data is not an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device when the indicator is determined not to be set.

4. The computer implemented method of claim 1 , further comprising:

determining if the received market data is an update to the previously received market data which is stored in the memory and has been transmitted to the client device but for which acknowledgment of receipt by the client device has not yet been received, and based thereon, transmitting the updated market data in place of the previously transmitted data the network device retransmits the previously received market data which is stored in the memory and has been transmitted to the client device.

5. The computer implemented method of claim 1 , wherein the received market data is stored in the memory in a form of a market book representing offers to sell and offers to buy the financial instrument at a plurality of prices.

6. The computer implemented method of claim 1 , wherein the received market data comprises data representative of a portion of a market book representing offers to sell and offers to buy the financial instrument at a plurality of prices.

7. The computer implemented method of claim 1 , wherein the received market data comprises data indicative of a change in a market for the financial instrument.

8. The computer implemented method of claim 1 , wherein the transmitting further comprises copying the received market data to a buffer, separate from the memory, from which the copied received market data is transmitted to the client device.

9. The computer implemented method of claim 1 , wherein the received market data is transmitted to the client device from the memory.

10. The computer implemented method of claim 1 , wherein the receiving, determining, replacing, storing and transmitting are performed by a network interface controller.

11. The computer implemented method of claim 10 , wherein the network interface controller further implements a TCP stack.

12. A system for transmitting market data relating to a financial instrument to a client device over an electronic network, the system comprising:

a processor and a first memory coupled therewith;

computer program logic stored in the first memory and executable by the processor, wherein the processor is configured to:

receive, from a financial market center, the market data relating to the financial instrument;

store the received market data in a second memory prior to transmission of the received market data to the client device over the electronic network;

determine if the received market data is an update to previously received market data which is stored in the second memory and has not yet been transmitted to the client device, wherein if the received market data is determined to be an update to the previously received market data which is stored in the second memory and has not yet been transmitted to the client device, replace the previously received market data stored in the second memory with the received market data, and if the received market data is determined not to be an update to the previously received market data which is stored in the second memory and has not yet been transmitted to the client device, store the received market data in the second memory; and

transmit all of the stored received market data to the client device only upon determination that the client device has acknowledged receipt of previously received market data that was previously transmitted to the client device regardless of whether or not the received market data is identical to the previously received market data that was previously transmitted to the client device and acknowledged thereby as having been received, wherein the electronic network utilizes a Transmission Control Protocol (TCP) that provides a feedback signal in a form of a network layer acknowledgment (ACK) which the client device utilizes to acknowledge receipt of the previously received market data stored in the second memory that was previously transmitted to the client device.

13. A system for transmitting market data relating to a financial instrument, received from a financial market center, to a client device over an electronic network, the system comprising:

a processor and an electronic communication link coupled therewith and implemented via the electronic network and linked with the client device, configured to:

determine when the client device is ready to receive market data based on receipt of an acknowledgment acknowledging receipt by the client device of previously transmitted market data, and

based on determining that the client device is ready to receive market data, provide a feedback signal indicative thereof; and

a market data publisher implemented by the processor, coupled with the electronic communication link, configured to:

receive, from the financial market center, the market data relating to the financial instrument,

store, in a memory comprised by the market data publisher, the received market data prior to transmission of the received market data to the client device over the electronic network, wherein the market data publisher is further operative to determine if the received market data is an update to previously received market data which is stored in the memory and has not yet been transmitted to the client device, wherein if the received market data is determined to be an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device, replace the previously received market data stored in the memory with the received market data, and if the received market data is determined not to be an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device, store the received market data in the memory, and

transmit all of the stored received market data to the client device only upon determination that the client device has acknowledged receipt of previously received market data stored in the memory that was previously transmitted to the client device regardless of whether or not the received market data is identical to the previously received market data that was previously transmitted to the client device and acknowledged thereby as having been received, wherein the electronic communications link comprises a Transmission Control Protocol (TCP) that provides a feedback signal in a form of a network layer acknowledgment (ACK) which the client device utilizes to acknowledge receipt of the previously received market data stored in the memory that was previously transmitted to the client device.

14. The system of claim 13 , wherein the TCP includes a buffer from which the received market data is transmitted, the memory comprising the buffer.

15. The system of claim 13 , wherein the market data publisher is further operative to set an indicator indicative of a storage of received market data in the memory, and further evaluate the indicator to determine that the received market data is an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device when the indicator is determined to be set and determine that the received market data is not an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device when the indicator is determined not to be set.

16. The system of claim 13 , further wherein the market data publisher is further operative to determine if the received market data is an update to the previously received market data which is stored in the memory and has been transmitted to the client device but for which acknowledgment of receipt by the client device has not yet been received, and based thereon, transmit the updated market data in place of the previously transmitted data the network device retransmits the previously received market data which is stored in the memory and has been transmitted to the client device.

17. The system of claim 13 , wherein the received market data is stored in the memory in a form of a market book representing offers to sell and offers to buy the financial instrument at a plurality of prices.

18. The system of claim 13 , wherein the received market data comprises data representative of a portion of a market book representing offers to sell and offers to buy the financial instrument at a plurality of prices.

19. The system of claim 13 , wherein the received market data comprises data indicative of a change in a market for the financial instrument.

20. The system of claim 13 , wherein the market data publisher is further operative to copy the received market data to a buffer, separate from the memory, from which the copied received market data is transmitted to the client device.

21. The system of claim 13 , wherein the received market data is transmitted to the client device from the memory.

22. The system of claim 13 , wherein the market data publisher is implemented in a network interface controller.

23. The system of claim 22 , wherein the network interface controller further implements a TCP stack.

24. A computer implemented system for transmitting market data relating to a financial instrument to a client device over an electronic network, the system comprising:

means for receiving, by a network device, the market data relating to the financial instrument from a financial center;

means for storing, by the network device comprising a memory, the received market data prior to transmission of the received market data to the client device over the electronic network;

means for determining, by the network device, if the received market data is an update to previously received market data which is stored in the memory and has not yet been transmitted to the client device, wherein if the received market data is determined to be an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device, replacing the previously received market data stored in the memory with the received market data, and if the received market data is determined not to be an update to the previously received market data which is stored in the memory and has not yet been transmitted to the client device, storing the received market data in the memory; and

means for transmitting, by the network device via the electronic network, all of the stored received market data to the client device only upon determination that the client device has acknowledged receipt of previously received market data stored in the memory that was previously transmitted to the client device regardless of whether or not the received market data is identical to the previously received market data that was previously transmitted to the client device and acknowledged thereby as having been received, wherein the electronic network utilizes a Transmission Control Protocol (TCP) that provides a feedback signal in a form of a network layer acknowledgment (ACK) which the client device utilizes to acknowledge receipt of the previously received market data stored in the memory that was previously transmitted to the client device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2014
From: SINGH, INDERDEEP
To: CHICAGO MERCANTILE EXCHANGE INC.
Reel/Frame 033185/0459 →
Continuity (3)
Continuation In Part 13355092 · Jan 20, 2012
Provisional Application 61579811 · Dec 23, 2011
Related Publication 20140310149A1 · Oct 16, 2014