Conservation of electronic communications resources and computing resources via selective processing of substantially continuously updated data
First Claim
1. A computer implemented method for interrupting processing of electronic data transaction result messages in a data transaction processing system in which data objects are transacted by hardware matching processors that match electronic data transaction request messages for data objects based on multiple transaction parameters received from different client computers over a data communications network, the method comprising:
- receiving, by a processor, a plurality of electronic data transaction request messages, each electronic data transaction request message comprising a request to perform a transaction on a data object;
for each electronic data transaction request message;
generating, by the processor, an electronic data transaction result message in response to processing the electronic data transaction request message;
generating, by the processor, for the electronic data transaction result message, a key based on the electronic data transaction result message and an identifier unique to the electronic data transaction result message; and
storing the key and the identifier in a first memory coupled to the processor; and
for each electronic data transaction result message corresponding to an electronic data transaction request message;
storing, by the processor, the key and the identifier associated with the electronic data transaction result message in a second memory coupled to the processor;
identifying, by the processor, a plurality of data objects related to the data object associated with the corresponding electronic data transaction request message;
performing, by the processor, a calculation for at least one of the plurality of related data objects; and
after each calculation that is performed;
retrieving, by the processor, from the first memory, an identifier associated with a key equal to the key stored in the second memory;
determining, by the processor, if the identifier retrieved from the first memory is equal to the identifier stored in the second memory; and
upon determining that the identifier retrieved from the first memory is not equal to the identifier stored in the second memory, interrupting, by the processor, performing calculations for the related data objects.
1 Assignment
0 Petitions
Accused Products
Abstract
In a system including a primary process followed by a secondary process, which are performed serially and sequentially, i.e., in a FIFO manner, where the secondary process is downstream of the primary process, the disclosed embodiments relate to selective/conditional secondary processing of electronic data transaction request messages, which speeds up the primary processing of the electronic data transaction request messages, reduces reduce the amount of computing resources wasted on calculating inaccurate information, and reducing the usage of network resources associated with publishing market data feeds and receiving new responsive messages.
-
Citations
21 Claims
-
1. A computer implemented method for interrupting processing of electronic data transaction result messages in a data transaction processing system in which data objects are transacted by hardware matching processors that match electronic data transaction request messages for data objects based on multiple transaction parameters received from different client computers over a data communications network, the method comprising:
-
receiving, by a processor, a plurality of electronic data transaction request messages, each electronic data transaction request message comprising a request to perform a transaction on a data object; for each electronic data transaction request message; generating, by the processor, an electronic data transaction result message in response to processing the electronic data transaction request message; generating, by the processor, for the electronic data transaction result message, a key based on the electronic data transaction result message and an identifier unique to the electronic data transaction result message; and storing the key and the identifier in a first memory coupled to the processor; and for each electronic data transaction result message corresponding to an electronic data transaction request message; storing, by the processor, the key and the identifier associated with the electronic data transaction result message in a second memory coupled to the processor; identifying, by the processor, a plurality of data objects related to the data object associated with the corresponding electronic data transaction request message; performing, by the processor, a calculation for at least one of the plurality of related data objects; and after each calculation that is performed; retrieving, by the processor, from the first memory, an identifier associated with a key equal to the key stored in the second memory; determining, by the processor, if the identifier retrieved from the first memory is equal to the identifier stored in the second memory; and upon determining that the identifier retrieved from the first memory is not equal to the identifier stored in the second memory, interrupting, by the processor, performing calculations for the related data objects. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer implemented method for interrupting processing of electronic data transaction result messages in a data transaction processing system in which data objects are transacted by hardware matching processors that match electronic data transaction request messages for data objects based on multiple transaction parameters received from different client computers over a data communications network, the method comprising:
by a primary processor; receiving a first electronic data transaction request message comprising a request to perform a transaction on a data object; generating a first electronic data transaction result message in response to processing the first electronic data transaction request message; generating a first key based on the first electronic data transaction result message and a first identifier unique to the first electronic data transaction result message; storing the first key and the first identifier in a first memory coupled to the primary processor; and forwarding the first electronic data transaction result message, the first key and the first identifier to a secondary processor; and by the secondary processor; storing the first key and the first identifier in a second memory coupled to the secondary processor; identifying a plurality of data objects related to the data object; performing a calculation for at least one of the plurality of related data objects based on the first electronic data transaction result message; and after each calculation that is performed; retrieving from the first memory, an identifier associated with a key equal to the first key stored in the second memory; determining if the identifier retrieved from the first memory is equal to the first identifier stored in the second memory; and upon determining that the identifier retrieved from the first memory is not equal to the first identifier stored in the second memory, interrupting performing calculations for the related data objects based on the first electronic data transaction result message. - View Dependent Claims (12, 13)
-
14. A computer system for interrupting processing of electronic data transaction result messages in a data transaction processing system in which data objects are transacted by hardware matching processors that match electronic data transaction request messages for data objects based on multiple transaction parameters received from different client computers over a data communications network, the computer system comprising:
-
an upstream processor; a downstream processor; a first memory communicatively coupled to the upstream processor, the first memory comprising first instructions that, when executed by the upstream processor, cause the upstream processor to; receive a plurality of electronic data transaction request messages, each electronic data transaction request message comprising a request to perform a transaction on a data object; and for each electronic data transaction request message; generate an electronic data transaction result message in response to processing the electronic data transaction request message; generate, for the electronic data transaction result message, a key based on the electronic data transaction result message and an identifier unique to the electronic data transaction result message; store the key and the identifier in the first memory; and forward the electronic data transaction result message and the key and the identifier for the electronic data transaction result message to the downstream processor; and a second memory communicatively coupled to the downstream processor, the second memory comprising second instructions that, when executed by the downstream processor, cause the downstream processor to; for each electronic data transaction result message corresponding to an electronic data transaction request message; store the key and the identifier associated with the electronic data transaction result message in the second memory; identify a plurality of data objects related to the data object associated with the corresponding electronic data transaction request message; perform a calculation for at least one of the plurality of related data objects; and after each calculation that is performed; retrieve, from the first memory, an identifier associated with a key equal to the key stored in the second memory; determine if the identifier retrieved from the first memory is equal to the identifier stored in the second memory; and upon determining that the identifier retrieved from the first memory is not equal to the identifier stored in the second memory, interrupt performing calculations for the related data objects. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A computer system comprising:
-
means for receiving a plurality of electronic data transaction request messages, each electronic data transaction request message comprising a request to perform a transaction on a data object; for each electronic data transaction request message; means for generating an electronic data transaction result message in response to processing the electronic data transaction request message; means for generating for the electronic data transaction result message, a key based on the electronic data transaction result message and an identifier unique to the electronic data transaction result message; and means for storing the key and the identifier; and for each electronic data transaction result message corresponding to an electronic data transaction request message; means for storing the key and the identifier associated with the electronic data transaction result message in a second memory coupled to the processor; means for identifying a plurality of data objects related to the data object associated with the corresponding electronic data transaction request message; means for performing a calculation for at least one of the plurality of related data objects; and after each calculation that is performed; means for retrieving an identifier associated with a key equal to the key associated with the electronic data transaction result message; means for determining if the retrieved identifier is equal to the identifier associated with the electronic data transaction result message; and upon determining that the retrieved identifier is not equal to the identifier associated with the electronic data transaction result message, means for interrupting performing calculations for the related data objects.
-
Specification