Patent ID: 11915037
Assignee: NASDAQ, INC.
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 12:
13. A method implemented in a distributed computing system that includes a plurality of computing devices that communicate by using an electronic data network, each of the plurality of computing devices including at least one hardware processor, the method comprising:
executing a matching engine, which includes a sequencer, on a first computing device of the plurality of computing devices;
executing, across different ones of the plurality of computing devices, a plurality of feature processing instances;
controlling communication from the plurality of feature processing instances to the matching engine by using a command bus;
controlling communication from the matching engine to the plurality of feature processing instances by using a sequenced message bus;
at the matching engine:
storing a dual-sided data structure, with each side of the data structure containing at least one pending data transaction request;
storing a parent request data structure that includes, for each parent request, (1) associations between parent requests and data transaction requests that are children of the corresponding parent request, (2) a child sequence value, and (3) a match now sequence number;
in response to reception, via the command bus and from one of the plurality of feature processing instances, of a new child data transaction request command, which includes a sequence value, to generate a new data transaction request in connection with a parent request, comparing the sequence value included in the new child data transaction request command to the stored child sequence value to validate the new child data transaction request command;
based on validation of the new child data transaction request command to generate a new data transaction request, updating the stored child sequence value and generating a new data transaction request that includes a new order identifier;
broadcasting, using the sequenced message bus, a message that includes the new order identifier and a parent identifier for the parent request;
validating match now commands, which have been received via the command bus, by comparing a match now sequence number, which is included in each respective match now command, to a match now sequence number stored in the parent data structure; and

at each of the plurality of feature processing instances:
updating a locally stored child sequence value based on reception of the message that includes data for the new data transaction request; and

wherein the plurality of feature processing instances each implements respective different functionality for creating or changing data transaction requests that are handled by the matching engine and stored in association with the parent request.