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.
Claims32
A computer implemented method comprising:
- receiving, at an input by a processor via an electronic communications network coupled therewith during each of a plurality of succeeding finite time periods, 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 so as to intercept all electronic messages transmitted by any of the plurality of sources to the destination application;
- storing, upon receipt of the electronic message by one of a plurality of processing threads executed by the processor, the received electronic message in lieu of transmitting the received message to the destination application, in a queue together with other stored electronic messages previously received during the same one of the plurality of succeeding finite time periods in a memory coupled with the processor, for transmission to the destination application subsequent to the end of the finite time period during which the electronic messages stored in the queue were received;
- transmitting, by another of the plurality of processing threads executed by the processor upon a determination that the current finite time period has ended, the stored electronic messages to the destination application from the queue in an order not based on the order in which the stored electronic messages were received.
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 so as to intercept all electronic messages transmitted by any of a plurality of sources to a destination application, cause the processor to:
- receive, at an input by the processor via an electronic communications network coupled therewith during each of a plurality of succeeding finite time periods, 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 so as to intercept all electronic messages transmitted by any of the plurality of sources to the destination application;
- store, upon receipt of the electronic message by one of a plurality of processing threads executed by the processor, the received electronic message in lieu of transmitting the received message to the destination application, in a queue together with other stored electronic messages previously received during the same one of the plurality of succeeding finite time periods in a memory coupled with the processor, for transmission to the destination application subsequent to the end of the finite time period during which the electronic messages stored in the queue were received;
- transmit, by another of the plurality of processing threads executed by the processor upon a determination that the current finite time period has ended, the stored electronic messages to the destination application from the queue in an order not based on the order in which the stored electronic messages were received.
A system comprising:
- a server configured to receive, at an input thereto via an electronic communications network coupled therewith during each of a plurality of succeeding finite time periods, 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 so as to intercept all electronic messages transmitted by any of the plurality of sources to the destination application;
- the server being further configured to store, upon receipt of the electronic message by one of a plurality of processing threads executed thereby, the received electronic message in lieu of transmitting the received message to the destination application, in a queue together with other stored electronic messages previously received during the same one of the plurality of succeeding finite time periods in a memory coupled with the server, for transmission to the destination application subsequent to the end of the finite time period during which the electronic messages stored in the queue were received;
- the server being further configured to transmit, by another of the plurality of processing threads executed thereby upon a determination that the current finite time period has ended, the stored electronic messages to the destination application from the queue in an order not based on the order in which the stored electronic messages were received.
Dependencies are inferred from the claim text.