Systems and methods of matching customizable data transaction requests
AssigneeNasdaq, Inc.
InventorsMichael Craig, Thomas Fay, Dominick Paniscotti
Life of this patent
Estimating the term…
Abstract
A computer system is provided that allows participants to submit agent data structures for processing. Each agent data structure includes a valuation function for a first resource and a property of a second resource. The computer system performs a dual sided evaluation process to determine when contra-sided agents match with one another. A match is determined by comparing results of valuation functions of the agent data structures.
Claims20
A computer system for matching customizable data transaction requests, the computer system comprising:
- a transceiver configured to receive a plurality of data messages for a plurality of agent data structures, wherein each of the plurality agent data structures includes 1) a valuation function that includes at least one parameter for a resource, and 2) at least one property of a different resource;
- non-transitory memory configured to store a plurality of resource records that each include a unique resource identifier and data that defines a corresponding resource;
- and
- a plurality of computing nodes configured to communicate with one another via at least one message bus, the plurality of computing nodes comprising computer-executable instructions that, when executed by at least one hardware processor of the plurality of computing nodes, cause the at least one hardware processor to perform operations comprising:
- processing the plurality of data messages, where each of the plurality of data messages specify a different one of the plurality of agent data structures, wherein the plurality of agent data structures include a first group of agent data structures and a second group of agent data structures, wherein each one of the first group of the plurality of agent data structures includes plural parameters for each corresponding valuation function for a first resource and plural properties for a second resource that is different from the first resource, wherein each one of the second group of the plurality of agent data structures includes plural parameters for each corresponding valuation function for the second resource and plural properties for the first resource;
- transmitting sequenced data messages that are generated by sequencing each one of the plurality of data messages, wherein the sequenced data messages are transmitted using the message bus to other computing nodes;
- executing a pair-wise calculation between different ones of the valuation functions of the plurality of agent data structures, the pair-wise calculation of the valuation functions for the first and second group including:
- (a) for each corresponding valuation function in the first group, calculating a plurality of first results that are each based on evaluating the corresponding valuation function by using the plural properties from each of the different ones of the second group of the plurality of agent data structures, and
- (b) for each corresponding valuation function in the second group, calculating a plurality of second results that are each based on evaluating the corresponding valuation function by using the plural properties from each of the different ones of the first group of the plurality of agent data structures;
- based on the pair-wise calculation of the valuation functions for the first group and the second group, determining a match between a first agent data structure, which is included in the first group, and a second agent data structure, which is included in the second group, by determining that a result from the valuation function of the first agent data structure that used the plurality properties of the second agent data structure matches a result from the valuation function of the second agent data structure that used the plural properties of the first agent data structure;
- based on the determining of the match, generating match data for the match between at least the first agent data structure and the second agent data structure;
- and
- transmitting a sequenced confirmation match message that is generated based on the determining of the match and the match data that is generated.
A method for matching customizable agent data structures, the method comprising:
- receiving, from external computer systems, data messages for a plurality of agent data structures;
- based on the received data messages, processing, by a computer system that includes a plurality of processing nodes that each include at least one hardware processor, the plurality of agent data structures, wherein each of the plurality agent data structures includes 1) a valuation function that includes at least one parameter for a resource, and 2) at least one property of a different resource, the plurality of agent data structures including a first group of agent data structures and a second group of agent data structures, wherein each one of the first group of the plurality of agent data structures includes plural parameters for each corresponding valuation function for a first resource and plural properties for a second resource that is different from the first resource, wherein each one of the second group of the plurality of agent data structures includes plural parameters for each corresponding valuation function for the second resource and plural properties for the first resource;
- and
- generating sequenced data messages based on processing for the plurality of agent data structures, wherein the sequenced data messages are transmitted using a message bus to other computing nodes of the computer system;
- executing a pair-wise calculation between different ones of the valuation functions of the plurality of agent data structures, the pair-wise calculation of the valuation functions for the first and second group including:
- (a) for each corresponding valuation function in the first group, calculating a plurality of first results that are each based on evaluating the corresponding valuation function by using the plural properties from each of the different ones of the second group of the plurality of agent data structures, and
- (b) for each corresponding valuation function in the second group, calculating a plurality of second results that are each based on evaluating the corresponding valuation function by using the plural properties from each of the different ones of the first group of the plurality of agent data structures;
- based on the pair-wise calculation of the valuation functions for the first group and the second group, determining a match between a first agent data structure, which is included in the first group, and a second agent data structure, which is included in the second group, by determining that a result from the valuation function of the first agent data structure that used the plurality properties of the second agent data structure matches a result from the valuation function of the second agent data structure that used the plural properties of the first agent data structure;
- based on the determining the match, generating match data for the match between at least the first agent data structure and the second agent data structure;
- and
- transmitting a sequenced confirmation match message that is generated based on determination of the match and the match data.
A non-transitory computer readable storage medium storing computer executable instructions for use with a computer system that includes a plurality of processing nodes that each include at least one hardware processor, the stored computer executable instructions comprising instructions that cause the computer system to perform operations including:
- based on data messages, which are received from external computing systems, that are for a plurality of agent data structures, processing the plurality of agent data structures, wherein each of the plurality agent data structures includes 1) a valuation function that includes at least one parameter for a resource, and 2) at least one property of a different resource, the plurality of agent data structures including a first group of agent data structures and a second group of agent data structures, wherein each one of the first group of agent data structures includes plural parameters for each corresponding valuation function for a first resource and plural properties for a second resource that is different from the first resource, wherein each one of the second group of agent data structures includes plural parameters for each corresponding valuation function for the second resource and plural properties for the first resource;
- and
- generating sequenced data messages based on processing each of the plurality of agent data structures, wherein the sequenced data messages are transmitted using a message bus to other computing nodes of the computer system;
- executing a pair-wise calculation between different ones of the valuation functions of the plurality of agent data structures, the pair-wise calculation of the valuation functions for the first and second group including:
- (a) for each corresponding valuation function in the first group, calculating a plurality of first results that are each based on evaluating the corresponding valuation function by using the plural properties from each of the different ones of the second group of agent data structures, and
- (b) for each corresponding valuation function in the second group, calculating a plurality of second results that are each based on evaluating the corresponding valuation function by using the plural properties from each of the different ones of the first group of agent data structures;
- based on the pair-wise calculation of the valuation functions for the first group and the second group, determining a match between a first agent data structure, which is included in the first group, and a second agent data structure, which is included in the second group, by determining that a result from the valuation function of the first agent data structure that used the plural properties of the second agent data structure matches a result from the valuation function of the second agent data structure that used the plural properties of the first agent data structure;
- based on the determining the match, generating match data for the match between at least the first agent data structure and the second agent data structure;
- and
- transmitting a sequenced confirmation match message that is generated based on determination of the match and the match data.
Dependencies are inferred from the claim text.