Method and apparatus for order entry in an electronic trading system
AssigneeNEX Services North America LLC
InventorsMichael Merold, John E. Schoen
Life of this patent
Estimating the term…
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.
Claims30
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.
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.
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.
Dependencies are inferred from the claim text.