US 11,688,011 B2
Transactionally deterministic high speed financial exchange having improved, efficiency, communication, customization, performance, access, trading opportunities, credit controls, and fault tolerance
Ari Studnitzer, Northbrook, IL (US); Zachary Bonig, Skokie, IL (US); Ryan Eavy, Chicago, IL (US); Frank Kmiec, Carey, IL (US); Barry Galster, Chicago, IL (US); and Paul Callaway, Chicago, IL (US)
Assigned to Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed by Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed on Sep. 7, 2022, as Appl. No. 17/939,106.
Application 17/939,106 is a continuation of application No. 17/097,053, filed on Nov. 13, 2020, granted, now 11,475,520.
Application 17/097,053 is a continuation of application No. 16/408,022, filed on May 9, 2019, granted, now 10,867,350, issued on Dec. 15, 2020.
Application 16/408,022 is a continuation of application No. 14/074,668, filed on Nov. 7, 2013, granted, now 10,332,206, issued on Jun. 25, 2019.
Prior Publication US 2022/0414779 A1, Dec. 29, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06Q 40/00 (2023.01); G06Q 40/04 (2012.01)
CPC G06Q 40/04 (2013.01) 20 Claims
OG exemplary drawing
 
1. A system comprising:
a plurality of hardware match engines coupled with a processor external thereto, each of which is unable to access unsatisfied orders of the others, the processor further coupled with a memory which stores computer executable instructions which, when executed by the processor, cause the processor to:
receive data from each of the plurality of hardware match engines indicative of results of attempts by that hardware match engine to satisfy incoming orders received thereby, each for a transaction of at least one financial instrument, and store the received data in the memory indicative of all unsatisfied incoming orders of all of the plurality of hardware match engines;
identify, using the data stored in the memory when the received data from one of the plurality of hardware match engines indicates that it was unable to fully satisfy an incoming order received thereby, data stored in the memory indicative of any unsatisfied orders, received by at least one other of the plurality of match engines, wherein a transaction between the incoming order and/or any of the identified unsatisfied orders would at least partially satisfy the incoming order and/or any of the identified unsatisfied orders; and
determine that the incoming order together with the identified unsatisfied orders, if the transaction therebetween were to be completed, would fully satisfy the incoming order and the identified unsatisfied orders;
generate, based on the determination, a set of synthetic counter orders, the set comprising a synthetic counter order for a transaction counter to the incoming order and synthetic counter orders counter to each of the identified unsatisfied orders, and submit each generated synthetic counter order to those hardware match engines of the plurality of hardware match engines which received the incoming and identified unsatisfied orders for which the synthetic counter order is counter thereto, each of which processes the synthetic order in a same manner as an incoming order thereto.