US 11,915,011 B2
Systems and methods of distributed processing
Kyle Prem, Croton-on-Hudson, NY (US); John Vaccaro, New York, NY (US); and Hemant Thombre, Warren, NJ (US)
Assigned to NASDAQ, INC., New York, NY (US)
Filed by NASDAQ, INC., New York, NY (US)
Filed on Jul. 30, 2021, as Appl. No. 17/390,781.
Prior Publication US 2023/0033983 A1, Feb. 2, 2023
Int. Cl. G06F 9/00 (2006.01); G06F 9/4401 (2018.01); G06F 9/50 (2006.01); G06F 9/38 (2018.01); G06F 9/46 (2006.01)
CPC G06F 9/4418 (2013.01) [G06F 9/3836 (2013.01); G06F 9/466 (2013.01); G06F 9/5044 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A distributed computing system comprising:
a plurality of computing devices that communicate by using an electronic data network, the plurality of computing devices including at least a first computing device, each of the plurality of computing devices including at least one hardware processor;
the first computing device configured to execute a matching engine, which includes a sequencer;
the plurality of computing devices configured to execute, across different ones of the plurality of computing devices, a plurality of processing instances including at least a first feature processing instance;
the matching engine comprising instructions that, when executed by the at least one hardware processor of the first computing device, cause the at least one hardware processor of the first computing device to perform operations comprising:
maintaining a dual-sided data structure, with each side of the data structure containing at least one pending data transaction request, with at least one data transaction request being included on the first side of the dual-sided data structure, the first data transaction request being associated with a parent request that has a parent identifier;
the first feature processing instance comprising instructions that, when executed by at least one hardware processor of the plurality of computing devices, cause the at least one hardware processor of the plurality of computing devices to perform operations comprising:
in response to detection of a triggering condition, generate and transmit, to the matching engine using a command bus, a parent suspend message that includes the parent identifier;
the matching engine comprising instructions that, when executed by the at least one hardware processor of the first computing device, cause the at least one hardware processor of the first computing device to perform operations comprising:
based at least in part on reception of the parent suspend message via the command bus:
(a) generating and transmitting, via a sequenced message bus, a parent suspend message that includes the parent identifier;
(b) performing cancelation processing for any data transaction requests stored in the dual-sided data structure that are associated with the parent request; and
(c) generating and transmitting, via the sequenced message bus, a parent state message that indicates that the parent request has been suspended.