US 11,695,677 B2
Secure message processing protocol
Priteshkumar Soni, Naperville, IL (US); and Madhur Sirohi, Naperville, IL (US)
Assigned to Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed by Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed on Dec. 4, 2020, as Appl. No. 17/112,620.
Prior Publication US 2022/0182306 A1, Jun. 9, 2022
Int. Cl. H04L 43/18 (2022.01); H04L 43/106 (2022.01); H04L 47/32 (2022.01); H04L 47/34 (2022.01); H04L 69/163 (2022.01)
CPC H04L 43/18 (2013.01) [H04L 43/106 (2013.01); H04L 47/32 (2013.01); H04L 47/34 (2013.01); H04L 69/163 (2013.01)] 34 Claims
OG exemplary drawing
 
1. A system for processing an electronic data message received via a network from a source, the electronic data message comprising a sequence of data, the electronic data message having been transmitted by the source via the network as a plurality of packets characterized by a sequence therebetween corresponding to the sequence of the data of the electronic data message, each packet including data indicative of the sequence of that packet relative to others of the plurality of packets of the electronic data message, the system comprising:
a network interface coupled with the network and operative to receive at least a subset of the plurality of packets therefrom and augment each received packet with a timestamp upon receipt indicative of the time thereof;
a non-transitory memory storing computer-executable instructions executable by a processor coupled with the network interface to cause the processor to implement:
a message receiver coupled with the network interface and operative to receive each augmented packet from the network interface;
a message analyzer coupled with the message receiver and operative to automatically analyze each received augmented packet to determine if at least one of the received augmented packets was received by the network interface in an order different from the sequence between the plurality of packets by comparing the data indicative of the sequence with the corresponding timestamp of each received augmented packet to determine if the order of receipt of the received augmented packets corresponds to the sequence between the received augmented packets; and
a message processor coupled with the message analyzer and operative to, when the message analyzer determines that at least one of the received augmented packets of the electronic data message was received by the network interface in an order different from the sequence between the plurality of packets, take an action with respect to the electronic data message regardless of whether the at least one of the received augmented packets of the electronic data message was transmitted by the source prior to or after an occurrence of an event, wherein the processor does not distinguish between inadvertent and intentionally optimistic messaging behavior by the source, wherein the action comprises applying a time delay to the electronic data message.