Method, system, and non-transitory computer readable storage medium of distributed transaction processing
AssigneeNasdaq, Inc.
InventorsLeo Golubovsky, Chung-Sin Wang
Life of this patent
Estimating the term…
Abstract
A first transaction computer system and a second transaction computer system are provided. The first transaction computer system receives data transaction requests that may be routed to the second transaction computer system. The second transaction computer system attempts to match the routed data transaction request against pending data transaction requests using hidden attributes.
Claims20
A distributed computer system comprising:
- a first transaction computer system that includes at least one hardware processor and a first memory device configured to store pending data transaction requests;
- and
- a second transaction computer system that includes at least one hardware processor, a second memory device configured to store at least one private data transaction request;
- the first transaction computer system comprising instructions that, when executed by the at least one hardware processor of the first transaction computer system, cause the at least one hardware processor of the first transaction computer system to perform first operations comprising:
- repeatedly performing a first matching process that uses match values and the stored pending data transaction requests,
- receiving, from a first participant, a first data transaction request that includes a first match value,
- determining whether to perform, in response to reception of the first data transaction request, the first matching process for the first data transaction request,
- obtaining a constraint value that is based at least in part on a current state associated with existing pending data transaction requests, and
- based on determination that the first matching process is not to be performed in response to reception of the first data transaction request, generating a routing message that is based at least on the constraint value and the first data transaction request and communicating the routing message to the second transaction computer system;
- the second transaction computer system comprising instructions that, when executed by the at least one hardware processor of the second transaction computer system, cause the at least one hardware processor of the second transaction computer system to perform second operations comprising:
- processing the routing message that has been communicated from the first transaction computer system,
- identifying a match, at a second match value, between the first data transaction request and the private data transaction request, where the second match value is based on the constraint value and is different from the first match value, and
- based on identification of the match, communicating a match message back to the first transaction computer system;
- and
- wherein the first operations further comprise:
- based on the match message, performing a process that confirms that the match between the first data transaction request and the private data transaction request is valid, and
- causing a confirmation message to be communicated to the first participant, the confirmation message including a reported match value, which is different from the second match value, which is the match value at which the match occurred between the first data transaction request and the private data transaction request, wherein the confirmation message does not include the second match value.
A method of performing distributed transaction processing with a first transaction computer system that stores pending public data transaction requests and a second transaction computer system that stores at least one private data transaction request, the method comprising:
- repeatedly performing, at the first transaction computer system, a first matching process that uses match values and the stored pending data transaction requests;
- receiving, from a first participant, a first data transaction request that includes a first match value;
- determining, at the first transaction computer system, whether to perform, in response to reception of the first data transaction request, the first matching process for the first data transaction request;
- obtaining, at the first transaction computer system, a constraint value that is based at least in part on a current state associated with existing pending data transaction requests;
- based on determination that the first matching process is not to be performed in response to reception of the first data transaction request, generating, at the first transaction computer system, a routing message that is based at least on the constraint value and the first data transaction request and communicating the routing message to the second transaction computer system;
- processing, at the second transaction computer system, the routing message that has been communicated from the first transaction computer system;
- identifying, at the second transaction computer system, a match, at a second match value, between the first data transaction request and the private data transaction request, where the second match value is based on the constraint value and is different from the first match value;
- based on identification of the match, communicating a match message back to the first transaction computer system;
- based on the match message, performing, at the first transaction computer system, a process that confirms that the match between the first data transaction request and the private data transaction request is valid;
- and
- causing a confirmation message to be communicated to the first participant, the confirmation message including match value, which is different from the second match value, which is the match value at which the match occurred between the first data transaction request and the private data transaction request, wherein the confirmation message does not include the second match value.
A non-transitory computer readable storage medium storing instructions for use with a distributed computer system that includes a first transaction computer system and a second transaction computer system, the first transaction computer system configured to store first pending data transaction requests and the second transaction computer system configured to store at least one second data transaction request, the stored instructions comprising instructions that, when executed, cause at least one processor of the distributed computer system to perform operations comprising:
- repeatedly performing, at the first transaction computer system, a first matching process that uses match values and the stored first pending data transaction requests;
- receiving, from a first participant, a first data transaction request that includes a first match value;
- determining, at the first transaction computer system, whether to perform, in response to reception of the first data transaction request, the first matching process for the first data transaction request;
- obtaining, at the first transaction computer system, a constraint value that is based at least in part on a current state associated with existing pending data transaction requests;
- based on determination that the first matching process is not to be performed in response to reception of the first data transaction request, generating, at the first transaction computer system, a routing message that is based at least on the constraint value and the first data transaction request and communicating the routing message to the second transaction computer system;
- processing, at the second transaction computer system, the routing message that has been communicated from the first transaction computer system;
- identifying, at the second transaction computer system, a match, at a second match value, between the first data transaction request and the at least one second data transaction request, where the second match value is based on the constraint value and is different from the first match value;
- based on identification of the match, communicating a match message back to the first transaction computer system;
- based on the match message, performing, at the first transaction computer system, a process that confirms that the match between the first data transaction request and the at least one second data transaction request is valid;
- and
- causing a confirmation message to be communicated to the first participant, the confirmation message including a reported value, which is different from the second match value, which is the match value at which the match occurred between the first data transaction request and the at least one second data transaction request, wherein the confirmation message does not include the second match value.
Dependencies are inferred from the claim text.