IP Library Granted Patent US 12,136,125
Granted Patent B2
US 12,136,125 · App. 18/122,860 · Granted Nov 5, 2024

Method and apparatus for order entry in an electronic trading system

Inventors: Michael Merold (Sparta, NJ); John E. Schoen (New York, NY)
Assignee: NEX Services North America LLC
G06Q40/04G06Q30/08H04L2012/5681H04L47/10H04L47/50H04L47/6255H04L49/90
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 12,136,125
App. No.
18/122,860
Granted
Nov 5, 2024
Kind
B2
Abstract

Orders received by an electronic trading system are processed in batches based on the instrument to which an order relates. An incoming order is assigned to a queue of a queue set that makes up the batch according to a random process. Where orders are received from related trading parties, they are assigned to the same queue set according to their time of receipt. The batch has a random duration within defined minimum and maximum durations and at the end of the batch, the orders held in the queues are transferred to a matching thread of the trading system sequentially with one order being removed from each queue and a number of passes of the queues completed until orders have been removed.

Claims (42)

1. A computer implemented method comprising:

receiving, at an input by a processor via an electronic communications network coupled therewith during one of a plurality of consecutive periods of time having a finite duration, from one of a plurality of sources, an electronic message transmitted thereby to a destination application, the processor being disposed on the electronic communications network such that all electronic messages transmitted by the plurality of sources to the destination application are communicated thereto via the processor so as to be intercepted thereby;

storing, by a first processing thread executed by the processor subsequent to the receipt of the received electronic message, the received electronic message in lieu of transmitting the received message immediately to the destination application, grouped together along with other stored electronic messages previously received during the one of the plurality of consecutive periods of time, in a memory coupled with the processor, for transmission to the destination application subsequent to the end of the finite duration;

determining, by the processor, that the finite duration has ended; and

transmitting, by a second processing thread executed by the processor upon the ending of the finite duration, the stored electronic messages to the destination application from the memory, at least a subset thereof being transmitted from the memory such that at least one of the stored electronic messages that was received by the processor after another of the stored electronic messages is transmitted prior thereto.

2. The computer implemented method of claim 1 , wherein the received electronic message is stored in the memory in a random order with respect to at least one other stored electronic message previously received during the period of time, the stored electronic messages being transmitted to the destination application from the memory in the order in which they are stored.

3. The computer implemented method of claim 1 , wherein the received electronic message is stored in the memory in an order of receipt with respect to at least one other stored electronic message previously received during the period of time, at least a subset of the stored electronic messages being transmitted to the destination application randomly from the memory.

4. The computer implemented method of claim 1 , wherein the storing further comprises determining, by the processor, one of the other stored electronic messages that was also received from the one of the plurality of sources, and based thereon, storing, by the processor, the received electronic message together with the determined one of the other stored electronic messages, such that the identified one of the other stored electronic messages will be transmitted to the destination application before the received electronic message.

5. The computer implemented method of claim 1 , wherein the memory comprises a plurality of queues, the storing further comprising selecting, by the processor, one of the plurality of queues into which to store the received electronic message.

6. The computer implemented method of claim 5 , wherein the selecting comprises selecting an empty queue of the plurality of queues when available.

7. The computer implemented method of claim 5 , wherein the selecting comprises selecting a queue in which is stored at least one of the other stored electronic messages previously received during the duration that was also received from the one of the plurality of sources.

8. The computer implemented method of claim 1 , wherein the one of the plurality of consecutive periods of time is one of a plurality of periods of time, each for separately collecting and storing received electronic messages for a different instrument of a plurality of instruments traded on an electronic trading system.

9. The computer implemented method of claim 1 , wherein the finite duration of the period of time commences upon receipt of an electronic message subsequent to the ending of a prior duration of a prior period of time.

10. The computer implemented method of claim 1 , wherein the at least one of the stored electronic messages, that was received by the processor after another of the stored electronic messages, was transmitted by a source of the plurality of sources located further from the input then a source of the plurality of sources from which the other of the stored electronic messages was transmitted.

11. The computer implemented method of claim 1 , wherein the at least one of the stored electronic messages, that was received by the processor after another of the stored electronic messages, was transmitted by a first source of the plurality of sources based upon receipt of a market data message received thereby after the market data message was received by a second source of the plurality of sources from which the other of the stored electronic messages was transmitted, the market data message having been contemporaneously transmitted to the first and second sources.

12. The computer implemented method of claim 1 , wherein the receiving and storing are performed by a routing thread executing on the processor and the transmitting is performed by a matching thread executing on the processor.

13. The computer implemented method of claim 1 , wherein the finite duration is random.

14. A non-transitory tangible computer readable medium comprising computer-executable instructions that, when executed by a processor coupled therewith and disposed on an electronic communications network such that all electronic messages transmitted by a plurality of sources to a destination application are communicated via the processor, so as to be intercepted thereby, for subsequent transmission thereby to the destination application, cause the processor to:

receive, at an input by the processor via the electronic communications network during one of a plurality of consecutive periods of time having a finite duration, from one of the plurality of sources, an electronic message transmitted thereby to the destination application;

store, by a first processing thread executed by the processor subsequent to the receipt of the received electronic message, the received electronic message in lieu of transmitting the received message immediately to the destination application, grouped together along with other stored electronic messages previously received during the one of the plurality of consecutive periods of time, in a memory coupled with the processor, for transmission to the destination application subsequent to the end of the finite duration;

determine that the finite duration has ended; and

transmit, by a second processing thread executed by the processor upon the ending of the finite duration, the stored electronic messages to the destination application from the memory, at least a subset thereof being transmitted from the memory such that at least one of the stored electronic messages that was received by the processor after another of the stored electronic messages is transmitted prior thereto.

15. The non-transitory tangible computer readable medium of claim 14 , wherein the received electronic message is stored in the memory in a random order with respect to at least one other stored electronic message previously received during the period of time, the stored electronic messages being transmitted to the destination application from the memory in the order in which they are stored.

16. The non-transitory tangible computer readable medium of claim 14 , wherein the received electronic message is stored in the memory in an order of receipt with respect to at least one other stored electronic message previously received during the period of time, at least a subset of the stored electronic messages being transmitted to the destination application randomly from the memory.

17. The non-transitory tangible computer readable medium of claim 14 , wherein the storage of the received electronic message further comprises a determination, by the processor, of one of the other stored electronic messages that was also received from the one of the plurality of sources, and based thereon, the computer executable instructions causing the processor to store the received electronic message together with the determined one of the other stored electronic messages, such that the identified one of the other stored electronic messages will be transmitted to the destination application before the received electronic message.

18. The non-transitory tangible computer readable medium of claim 14 , wherein the memory comprises a plurality of queues, the computer executable instructions causing the processor to select one of the plurality of queues into which to store the received electronic message.

19. The non-transitory tangible computer readable medium of claim 18 , wherein the selection comprises an empty queue of the plurality of queues when available.

20. The non-transitory tangible computer readable medium of claim 18 , wherein the selection comprises a queue in which is stored at least one of the other stored electronic messages previously received during the duration that was also received from the one of the plurality of sources.

21. The non-transitory tangible computer readable medium of claim 14 , wherein the one of the plurality of consecutive periods of time is one of a plurality of periods of time, each for separately collecting and storing received electronic messages for a different instrument of a plurality of instruments traded on an electronic trading system.

22. The non-transitory tangible computer readable medium of claim 14 , wherein the finite duration of the period of time commences upon receipt of an electronic message subsequent to the ending of a prior duration of a prior period of time.

23. The non-transitory tangible computer readable medium of claim 14 , wherein the at least one of the stored electronic messages, that was received by the processor after another of the stored electronic messages, was transmitted by a source of the plurality of sources located further from the input then a source of the plurality of sources from which the other of the stored electronic messages was transmitted.

24. The non-transitory tangible computer readable medium of claim 14 , wherein the at least one of the stored electronic messages, that was received by the processor after another of the stored electronic messages, was transmitted by a first source of the plurality of sources based upon receipt of a market data message received thereby after the market data message was received by a second source of the plurality of sources from which the other of the stored electronic messages was transmitted, the market data message having been contemporaneously transmitted to the first and second sources.

25. The non-transitory tangible computer readable medium of claim 14 , wherein the receipt and storage of the electronic message are performed by a routing thread executing on the processor and the transmission is performed by a matching thread executing on the processor.

26. The non-transitory tangible computer readable medium of claim 14 , wherein the finite duration is random.

27. A system comprising:

a server configured to receive, at an input thereto via an electronic communications network coupled therewith during one of a plurality of consecutive periods of having a finite duration, from one of a plurality of sources, an electronic message transmitted thereby to a destination application, the server being disposed on the electronic communications network such that all electronic messages transmitted by the plurality of sources to the destination application are communicated thereto via the server so as to be intercepted thereby;

the server being further configured to store, subsequent to the receipt of the received electronic message using a first processing thread executed thereby, the received electronic message in lieu of transmitting the received message immediately to the destination application, grouped together along with other stored electronic messages previously received during the one of the plurality of consecutive periods of time, in a memory coupled with the server for transmission to the destination application subsequent to the end of the finite duration;

the server being further configured to determine that the finite duration as ended; and

the server being further configured to transmit, using a second processing thread executed thereby upon the ending of the finite duration, the stored electronic messages to the destination application from the memory, at least a subset thereof being transmitted from the memory such that at least one of the stored electronic messages that was received by the server after another of the stored electronic messages is transmitted prior thereto.

28. The system of claim 27 , wherein the at least one of the stored electronic messages, that was received by the server after another of the stored electronic messages, was transmitted by a source of the plurality of sources located further from the input then a source of the plurality of sources from which the other of the stored electronic messages was transmitted.

29. The system of claim 27 , wherein the at least one of the stored electronic messages, that was received by the server after another of the stored electronic messages, was transmitted by a first source of the plurality of sources based upon receipt of a market data message received thereby after the market data message was received by a second source of the plurality of sources from which the other of the stored electronic messages was transmitted, the market data message having been contemporaneously transmitted to the first and second sources.

30. The system of claim 27 , wherein the receipt and storage of the electronic message are performed by a routing thread executing on the server and the transmission is performed by a matching thread executing on the server.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2025
From: ICAP SERVICES NORTH AMERICA LLC
To: ICAP GLOBAL BROKING, INC.
Reel/Frame 071548/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: MEROLD, MICHAEL; SCHOEN, JOHN EDWARD
To: ICAP SERVICES NORTH AMERICA LLC
Reel/Frame 063022/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2023
From: ICAP SERVICES NORTH AMERICA LLC
To: INTERCAPITAL SERVICES NORTH AMERICA LLC
Reel/Frame 063117/0045 →
CHANGE OF NAME Recorded Mar 17, 2023
From: INTERCAPITAL SERVICES NORTH AMERICA LLC
To: NEX SERVICES NORTH AMERICA LLC
Reel/Frame 063117/0063 →
Continuity (6)
Continuation 17681917 · Feb 28, 2022
Continuation 16799143 · Feb 24, 2020
Continuation 16161612 · Oct 16, 2018
Continuation 14481022 · Sep 9, 2014
Provisional Application 61875263 · Sep 9, 2013
Related Publication 20230222587A1 · Jul 13, 2023