US2019362423A1PendingUtilityA1

Mitigation of latency disparity in a transaction processing system

Assignee: CHICAGO MERCANTILE EXCHANGE INCPriority: Aug 12, 2015Filed: Aug 7, 2019Published: Nov 28, 2019
Est. expiryAug 12, 2035(~9 yrs left)· nominal 20-yr term from priority
G06Q 40/06G06Q 40/04H04L 67/42
64
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Systems and methods are disclosed which match or otherwise allocate an incoming transaction with previously received but not yet fully satisfied transactions counter thereto as well as to mitigation of disparities in latencies between the client devices of the market participants and the electronic data transaction processing system which may result in disparities in the time of receipt of competing transactions. The disclosed embodiments may mitigate such disparities by buffering or otherwise grouping temporally proximate competing transactions together upon receipt, e.g. into a group, collection, set, bucket, etc., and subsequently arbitrating among those grouped competing transactions, in a manner other than solely based on the order in which the competing transactions in the group were received, to determine the order in which those competing transactions will be processed, thereby equalizing priority of transactions received from participants having varying abilities to rapidly submit transactions or otherwise capitalize on transactional opportunities.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A system for mitigating latency disparity between different client devices and an electronic data transaction processing system in which data items are transacted by a hardware matching processor that matches, as they are received, incoming electronic data transaction request messages, for one of the data items based on a set of transaction parameters, received from the different client devices over a data communication network with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message, the system comprising:
 first logic stored in a first memory and executable by a first processor coupled therewith to cause the first processor to determine an occurrence of a first event and a subsequent occurrence of a second event;   second logic stored in the first memory and executable by the first processor to cause, upon determination of occurrence of the first event, the first processor to receive a set of incoming electronic data transaction request messages, each including a set of transaction parameters which further includes a first parameter having a first value and a second parameter having a second value, and store the set of received incoming electronic data transaction request messages in a second memory coupled with the first processor prior to forwarding the set of received incoming electronic data transaction request messages to the hardware matching processor;   third logic stored in the first memory and executable by the first processor to cause the first processor to, upon the occurrence of the second event, identify a first subset of at least two of the stored incoming electronic data transaction request messages wherein values of at least a subset of the set of transaction parameters thereof, including the first parameter, are identical, and determine whether the hardware matching processor would match any of the first subset of stored incoming electronic data transaction request messages, based on the set of transaction parameters thereof, with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the stored incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message;   fourth logic stored in the first memory and executable by the first processor to cause the first processor to, upon the occurrence of the second event, modify the first value of the first parameter of the set of transaction parameters of each of the first subset of the set of stored incoming electronic data transaction request messages based on the second value of the second parameter at least one second subset thereof which would be matched by the hardware matching processor, based on the modified first values, with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the second subset of stored incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message, and forward each stored electronic data transaction request message of each of the at least one second subset, each having the modified first value, to the hardware matching processor in the order in which they were received by the first processor and, subsequent thereto, forward each remaining stored electronic data transaction request message of the first subset, each having their associated set of transaction parameters, to the hardware matching processor in the order in which they were received by the first processor.   
     
     
         2 . The system of  claim 1  wherein the incoming electronic data transaction request messages may include a request to modify at least one other previously received electronic data transaction request message, the system further comprising:
 fifth logic stored in the first memory and executable by the first processor to cause the first processor to, upon the occurrence of the second event and wherein it is determined that the hardware matching processor would match any of the first subset of stored incoming electronic data transaction request messages, based on the set of transaction parameters thereof, with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the stored incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message, identify and forward to the hardware matching processor any of the stored incoming electronic data transaction request messages comprising a request to modify any of at least one other previously received but unsatisfied electronic data transaction request messages to the extent those identified stored incoming electronic data transaction request messages comprising a request to modify any of at least one other previously received but unsatisfied electronic data transaction request messages would have been effective if at least all of the subset of stored incoming electronic data transaction request messages and the identified stored incoming electronic data transaction request messages comprising a request to modify any of at least one other previously received but unsatisfied electronic data transaction request messages were forwarded to the hardware matching processor in the order in which they were received by the first processor; and 
 wherein the fourth logic is further executable by the processor upon the occurrence of the second event and subsequent to the forwarding of any of the stored incoming electronic data transaction request messages comprising a request to modify any of at least one other previously received but unsatisfied electronic data transaction request messages, and wherein it is subsequently determined that the hardware matching processor would still match any of the first subset of stored incoming electronic data transaction request messages. 
 
     
     
         3 . The system of  claim 1  wherein the first, second, third and fourth logic are comprised by the hardware matching processor. 
     
     
         4 . The system of  claim 1  wherein the first and second events define an elapse of an interval of time. 
     
     
         5 . The system of  claim 4  wherein the time interval begins to elapse upon receipt of an incoming electronic data transaction request subsequent to a prior elapse of the time interval. 
     
     
         6 . The system of  claim 4  wherein the time interval begins to elapse upon transmission of notification of a previously received but not satisfied electronic data transaction request to the different client devices. 
     
     
         7 . The system of  claim 4  wherein the duration of the time interval is variable. 
     
     
         8 . The system of  claim 1  wherein the first event comprises receipt of an acknowledgment from the hardware matching processor acknowledging receipt of previously forwarded incoming orders. 
     
     
         9 . The system of  claim 1  wherein the second event comprises the number of stored received incoming orders exceeding a threshold. 
     
     
         10 . The system of  claim 1  wherein the received incoming electronic data transaction requests are stored in the memory in association with data indicative of time and/or order of receipt by the incoming order receiver. 
     
     
         11 . A method for mitigating latency disparity between different client devices and an electronic data transaction processing system in which data items are transacted by a hardware matching processor that matches, as they are received, incoming electronic data transaction request messages, for one of the data items based on a set of transaction parameters, received from the different client devices over a data communication network with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message, the method comprising:
 determining, by a processor, an occurrence of a first event and a subsequent occurrence of a second event;   receiving, by the processor, a set of incoming electronic data transaction request messages, each including a set of transaction parameters which further includes a first parameter having a first value and a second parameter having a second value, and storing the received set of incoming electronic data transaction request messages in a memory coupled with the processor prior to forwarding the received incoming electronic data transaction request messages to the hardware matching processor;   identifying, by the processor, upon the occurrence of the second event, a first subset of at least two of the stored incoming electronic data transaction request messages wherein values of at least a subset of the set of transaction parameters thereof, including the first parameter, are identical, and determining whether the hardware matching processor would match any of the first subset of stored incoming electronic data transaction request messages, based on the set of transaction parameters thereof, with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the stored incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message;   modifying, by the processor, upon the occurrence of the second event, the first value of the first parameter of each of the first subset of the set of stored incoming electronic data transaction request messages based on the second value of the second parameter and determining at least one second subset thereof which would be matched by the hardware matching processor, based on the modified first values, with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the second subset of stored incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message, and forwarding each stored electronic data transaction request message of each of the at least one second subset, each having the modified first value, to the hardware matching processor in the order in which they were received by the processor and, subsequent thereto, forward each remaining stored electronic data transaction request message of the first subset, each having their associated set of transaction parameters, to the hardware matching processor in the order in which they were received by the processor.   
     
     
         12 . The method of  claim 11  wherein the incoming electronic data transaction request messages may include a request to modify at least one other previously received electronic data transaction request message, the method further comprising:
 identifying and forwarding, upon the occurrence of the second event and wherein it is determined that the hardware matching processor would match any of the first subset of stored incoming electronic data transaction request messages, based on the set of transaction parameters thereof, with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the stored incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message, to the hardware matching processor any of the stored incoming electronic data transaction request messages comprising a request to modify any of at least one other previously received but unsatisfied electronic data transaction request messages to the extent those identified stored incoming electronic data transaction request messages comprising a request to modify any of at least one other previously received but unsatisfied electronic data transaction request messages would have been effective if at least all of the subset of stored incoming electronic data transaction request messages and the identified stored incoming electronic data transaction request messages comprising a request to modify any of at least one other previously received but unsatisfied electronic data transaction request messages were forwarded to the hardware matching processor in the order in which they were received by the processor; 
 wherein the modifying is further subject to the occurrence of the second event and subsequent to the forwarding of any of the stored incoming electronic data transaction request messages comprising a request to modify any of at least one other previously received but unsatisfied electronic data transaction request messages, and wherein it is subsequently determined that the hardware matching processor would still match any of the first subset of stored incoming electronic data transaction request messages. 
 
     
     
         13 . The method of  claim 11  wherein the determining, receiving, identifying, modifying and forwarding are performed by the hardware matching processor. 
     
     
         14 . The method of  claim 11  wherein the first and second events define an elapse of an interval of time. 
     
     
         15 . The method of  claim 14  wherein the time interval begins to elapse upon receipt of an incoming electronic data transaction request subsequent to a prior elapse of the time interval. 
     
     
         16 . The method of  claim 14  wherein the time interval begins to elapse upon transmission of notification of a previously received but not satisfied electronic data transaction request to the different client devices. 
     
     
         17 . The method of  claim 14  wherein the duration of the time interval is variable. 
     
     
         18 . The method of  claim 11  wherein the first event comprises receipt of an acknowledgment from the hardware matching processor acknowledging receipt of previously forwarded incoming orders. 
     
     
         19 . The method of  claim 11  wherein the second event comprises the number of stored received incoming orders exceeding a threshold. 
     
     
         20 . The method of  claim 11  wherein the received incoming electronic data transaction requests are stored in the memory in association with data indicative of time and/or order of receipt. 
     
     
         21 . A system for mitigating latency disparity between different client devices and an electronic data transaction processing system in which data items are transacted by a hardware matching processor that matches, as they are received, incoming electronic data transaction request messages, for one of the data items based on a set of transaction parameters, received from the different client devices over a data communication network with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message, the system comprising:
 means for determining an occurrence of a first event and a subsequent occurrence of a second event;   means for receiving a set of incoming electronic data transaction request messages, each including a set of transaction parameters which further includes a first parameter having a first value and a second parameter having a second value, and storing the received set of incoming electronic data transaction request messages in a memory prior to forwarding the received incoming electronic data transaction request messages to the hardware matching processor;   means for identifying upon the occurrence of the second event, a first subset of at least two of the stored incoming electronic data transaction request messages wherein values of at least a subset of the set of transaction parameters thereof, including the first parameter, are identical, and determining whether the hardware matching processor would match any of the first subset of stored incoming electronic data transaction request messages, based on the set of transaction parameters thereof, with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the stored incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message;   means for modifying upon the occurrence of the second event, the first value of the first parameter of each of the first subset of the set of stored incoming electronic data transaction request messages based on the second value of the second parameter and determining at least one second subset thereof which would be matched by the hardware matching processor, based on the modified first values, with at least one other previously received but unsatisfied electronic data transaction request message counter thereto to at least partially satisfy one or both of the second subset of stored incoming electronic data transaction request messages or the at least one other previously received electronic data transaction request message, and forwarding each stored electronic data transaction request message of each of the at least one second subset, each having the modified first value, to the hardware matching processor in the order in which they were received by the means for receiving and, subsequent thereto, forward each remaining stored electronic data transaction request message of the first subset, each having their associated set of transaction parameters, to the hardware matching processor in the order in which they were received by the means for receiving.

Join the waitlist — get patent alerts

Track US2019362423A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.