Systems and methods of communicating electronic data transaction updates to client computer systems
AssigneeNasdaq, Inc.
InventorsLeo Golubovsky, Michael Wood, Jonathan Wakefield
Life of this patent
Estimating the term…
Abstract
A distributed computer system is provided that includes a storage system and at least one hardware processor. The storage system stores a data structure that includes a plurality of pending data transaction requests. Data transaction requests are processed to add, modify, or remove from the data structure. Multiple update messages for how the data structure is updated are generated and then delivered to clients via different communication paths, which have different latency. Some update messages are delivered via one communication path, but not another communication path.
Claims20
A distributed computer system for processing different types of data transaction requests, the distributed computing system comprising:
- a storage system configured to store a data structure that includes a plurality of pending data transaction requests, each being associated with a first side or a second side, the plurality of pending data transaction requests including a first data transaction that includes a plurality of different attributes;
- and
- memory coupled to at least one hardware processor that is configured to perform operations comprising:
- sending data messages to one or more external clients using a plurality of different communication protocols;
- processing a plurality of new data transaction requests that have been submitted from different external client computer systems;
- as part of processing each corresponding data transaction request of the plurality of new data transaction requests:
- (a) updating the data structure to a new state, wherein the updating includes adding to, modifying, or removing from the plurality of pending data transaction requests that are included in the data structure, wherein which of the adding, modifying, or removing is performed is based on content of the corresponding data transaction request that is processed;
- (b) generating at least first and second update messages that each include data for how the data structure has been updated as a result of processing the corresponding data transaction request;
- (c) causing at least the generated first and second update messages to be delivered to at least an external client, wherein the first update message is configured to be delivered to the external client at a first data communication path and the second update message is configured to be delivered to the external client at a second data communication path, wherein the first data communication path has less latency than the second data communication path, wherein a type of information that is included in each of the first update message and the second update message is based on a data communication path at which the first update message and the second update message is configured to be delivered to the external client;
- and
- wherein based on the updating including the modifying of one of the plurality of pending data transaction requests of the data structure, causing a third update message to be generated and delivered, using the second data communication path, to the external client, wherein no corresponding update message is delivered using the first data communication path to the external client.
A method performed on a computing system for processing data transaction requests, the computing system including at least one hardware processor, the method comprising:
- storing, to a storage system, a data structure that includes a plurality of pending data transaction requests, each being associated with a first side or a second side, the plurality of pending data transaction requests including a first data transaction that includes a plurality of different attributes;
- sending data messages to one or more external clients using a plurality of different communication protocols;
- processing a plurality of new data transaction requests that have been submitted from different external client computer systems;
- as part of processing each corresponding data transaction request of the plurality of new data transaction requests:
- (a) updating the data structure to a new state, wherein the updating includes adding to, modifying, or removing from the plurality of pending data transaction requests that are included in the data structure;
- wherein which of the adding, modifying, or removing is performed is based on content of the corresponding data transaction request that is processed;
- (b) generating at least first and second update messages that each include data for how the data structure has been updated as a result of processing the corresponding data transaction request;
- (c) causing at least the generated first and second update messages to be delivered to at least an external client, wherein the first update message is configured to be delivered to the external client at a first data communication path and the second update message is configured to be delivered to the external client at a second data communication path, wherein the first data communication path has less latency than the second data communication path, wherein a type of information that is included in each of the first update message and the second update message is based on a data communication path at which the first update message and the second update message is configured to be delivered to the external client;
- and
- wherein when the updating includes the modifying of one of the plurality of pending data transaction requests of the data structure, causing a third update message to be generated and delivered, using the second data communication path, to the external client, wherein no corresponding update message is delivered using the first data communication path to the external client.
A non-transitory computer readable storage medium storing computer readable instructions for use with a computing system that includes a processing system that includes at least one hardware processor, the computer readable instructions comprising instructions that cause the processing system to perform actions that include:
- storing, to a storage system, a data structure that includes a plurality of pending data transaction requests, each being associated with a first side or a second side, the plurality of pending data transaction requests including a first data transaction that includes a plurality of different attributes;
- sending data messages to one or more external clients using a plurality of different communication protocols;
- processing a plurality of new data transaction requests that have been submitted from different external client computer systems;
- as part of processing each corresponding data transaction request of the plurality of new data transaction requests:
- (a) updating the data structure to a new state, wherein the updating includes adding to, modifying, or removing from the plurality of pending data transaction requests that are included in the data structure;
- wherein which of the adding, modifying, or removing is performed is based on content of the corresponding data transaction request that is processed;
- (b) generating at least first and second update messages that each include data for how the data structure has been updated as a result of processing the corresponding data transaction request;
- (c) causing at least the generated first and second update messages to be delivered to at least an external client, wherein the first update message is configured to be delivered to the external client at a first data communication path and the second update message is configured to be delivered to the external client at a second data communication path, wherein the first data communication path is faster than the second data communication path, wherein a type of information that is included in each of the first update message and the second update message is based on a data communication path at which the first update message and the second update message is configured to be delivered to the external client;
- and
- wherein when the updating includes the modifying of one of the plurality of pending data transaction requests of the data structure, causing a third update message to be generated and delivered, using the second data communication path, to the external client, wherein no corresponding update message is delivered using the first data communication path to the external client.
Dependencies are inferred from the claim text.