IP Library Granted Patent US 9,652,804
Granted Patent B2
US 9,652,804 · App. 14/134,688 · Granted May 16, 2017

Deterministic and efficient message packet management

Inventors: Zachary Bonig (Chicago, IL); Haifeng Zheng (Chicago, IL); Don Mendelson (Chicago, IL); Mike Donaghy (Chicago, IL); Akrapong Lin (Chicago, IL)
Assignee: Chicago Mercantile Exchange Inc.
G06Q40/04H04L47/2475H04L47/31H04L47/34H04L47/6225
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 9,652,804
App. No.
14/134,688
Granted
May 16, 2017
Kind
B2
Abstract

Methods, devices, and systems for facilitation of deterministic management of a plurality of electronic message packets communicated to an application via a network from a plurality of message sources. The facilitation involves receiving each of the plurality of electronic message packets from the network, determining an order in which each electronic message packet was received relative to the reception of others of the plurality of electronic message packets, and providing the order to the application.

Claims (34)

1. A computer implemented method for facilitation of deterministic management of a plurality of electronic message packets comprising orders to trade communicated to an application via a network from a plurality of message sources comprising market participants, the application comprising an order entry gateway for use with an exchange operational to match trades using the electronic message packets, the method comprising:

receiving, by a processor, each of the plurality of electronic message packets from the network at a common destination to which all of the plurality of electronic message packets are directed;

determining, by the processor at the common destination automatically upon receipt thereof prior to each of the received electronic message packets being provided to the application, an order in which each electronic message packet was received relative to the reception of others of the plurality of electronic message packets, the order being determined irrespective of which message source of the plurality of message sources each of the received electronic message packets originated;

storing, by the processor in a memory coupled with the processor, the received plurality of electronic message packets in an arrangement which associates received electronic message packets according to a same respective message source of the plurality of message sources from which each of the received electronic message packets respectively originated irrespective of the time of receipt thereof; and

providing the determined order to the application;

wherein the application accesses the received electronic message packets in the memory according to the determined order irrespective of the message source.

2. The method of claim 1 , wherein each of the plurality of electronic message packets comprise a format for transmission using Transmission Control Protocol (“TCP”).

3. The method of claim 1 , wherein the order comprises data indicative of a time of receipt of each of the plurality of electronic message packets.

4. The method of claim 1 , wherein the order comprises a sequential series of numbers assigned to each of the plurality of electronic message packets.

5. The method of claim 1 further comprising:

storing the plurality of electronic message packets for the application in at least one message buffer, and storing data indicative of the determined order in a buffer separate from the at least one message buffer.

6. The method of claim 1 , wherein the order in which each electronic message packet was received facilitates a determination of a relative priority by the application for each received electronic message packet of the plurality of electronic message packets.

7. A system for facilitation of deterministic management of a plurality of electronic message packets comprising financial messages communicated to an application via a network from a plurality of message sources comprising market participants, the application comprising an order entry gateway for use with an electronic exchange operational to match trades using the financial messages, the system comprising:

a processor and a memory coupled therewith;

a first logic stored in the memory at a common destination to which all of the plurality of electronic message packets are directed and configured to be executed by the processor to cause the system to receive each of the plurality of electronic message packets from the network;

a second logic stored in the memory and configured to be executed by the processor to cause the system to determine, automatically upon receipt thereof prior to each of the received electronic message packets being provided to the application, an order in which each electronic message packet was received at the common destination relative to the reception of others of the plurality of electronic message packets, the order being determined irrespective of which message source of the plurality of message sources each of the received electronic message packets originated, and store in the memory the received plurality of electronic message packets in an arrangement which associates received electronic message packets according to a same respective message source of the plurality of message sources from which each of the received electronic message packets respectively originated irrespective of the time of receipt thereof; and

a third logic stored in the memory and configured to be executed by the processor to cause the system to provide the determined order to the application and allow the application to access the received electronic message packets in the memory according to the determined order irrespective of the message source.

8. The system of claim 7 , wherein each of the plurality of electronic message packets comprise a format for transmission using Transmission Control Protocol (“TCP”).

9. The system of claim 7 , wherein the order comprises data indicative of a time of receipt of each of the plurality of electronic message packets.

10. The system of claim 7 , wherein the order comprises a sequential series of numbers assigned to each of the plurality of electronic message packets.

11. The system of claim 7 further comprising:

a fourth logic stored in a memory and configured to be executed by the processor to cause the system to store the plurality of electronic message packets for the application in at least one message buffer, and wherein data indicative of the determined order is stored in a buffer separate from the at least one message buffer.

12. The system of claim 7 , wherein the order in which each electronic message packet was received determines a relative priority at the application for each received electronic message packet of the plurality of electronic message packets.

13. A system for facilitation of deterministic management of a plurality of electronic message packets comprising financial messages communicated to an application via a network from a plurality of message sources comprising market participants, the application comprising an order entry gateway for use with an exchange operational to match trades using the financial messages, the system comprising:

at least one memory, at a common destination to which all of the plurality of electronic message packets are directed, operable to store the plurality of electronic message packets in an arrangement which associates received electronic message packets according to a same respective message source of the plurality of message sources from which each of the received electronic message packets respectively originated irrespective of the time of receipt thereof; and

at least one processor configured to cause the system to:

receive each of the plurality of electronic message packets from the network at the common destination;

determine, automatically upon receipt thereof prior to each of the received electronic message packets being provided to the application, an order in which each electronic message packet was received relative to the reception of others of the plurality of electronic message packets, the order being determined irrespective of which message source of the plurality of message sources each of the received electronic message packets originated; and

provide the determined order to the application and allow the application to access the received electronic message packets in the memory according to the order.

14. The system of claim 13 , wherein each of the plurality of electronic message packets comprise a format for transmission using Transmission Control Protocol (“TCP”).

15. The system of claim 13 , wherein the order comprises data indicative of a time of receipt of each of the plurality of electronic message packets.

16. The system of claim 13 , wherein the order comprises a sequential series of numbers assigned to each of the plurality of electronic message packets.

17. The system of claim 13 , wherein the processor is further configured to cause the system to store the plurality of electronic message packets for the application in at least one message buffer, and wherein data indicative of the determined order is stored in a buffer separate from the at least one message buffer.

18. The system of claim 13 , wherein the order in which each electronic message packet was received determines a relative priority at the application for each received electronic message packet of the plurality of electronic message packets.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2013
From: BONIG, ZACHARY; ZHENG, HAIFENG; MENDELSON, DON; DONAGHY, MIKE; LIN, AKRAPONG
To: CHICAGO MERCANTILE EXCHANGE INC.
Reel/Frame 031822/0052 →
Continuity (1)
Related Publication 20150178831A1 · Jun 25, 2015