US 12,206,634 B2
Streaming platform reader
Charles Patrick Nugent, Whiteabbey (GB); and Gareth Albert McCarter, Belfast (GB)
Assigned to Chicago Mercantiile Exchange Inc., Chicago, IL (US)
Filed by Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed on Jan. 31, 2024, as Appl. No. 18/428,043.
Application 16/700,435 is a division of application No. 15/840,668, filed on Dec. 13, 2017, granted, now 10,541,953, issued on Jan. 21, 2020.
Application 18/428,043 is a continuation of application No. 18/105,356, filed on Feb. 3, 2023, granted, now 11,929,967.
Application 18/105,356 is a continuation of application No. 17/404,363, filed on Aug. 17, 2021, granted, now 11,601,386, issued on Mar. 7, 2023.
Application 17/404,363 is a continuation of application No. 16/700,435, filed on Dec. 2, 2019, granted, now 11,128,585, issued on Sep. 21, 2021.
Prior Publication US 2024/0171532 A1, May 23, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 51/046 (2022.01); G06F 9/54 (2006.01); G06F 16/28 (2019.01); G06Q 40/04 (2012.01); H04L 43/106 (2022.01); H04L 49/901 (2022.01); H04L 49/9057 (2022.01); H04L 51/063 (2022.01)
CPC H04L 51/046 (2013.01) [G06F 9/546 (2013.01); G06Q 40/04 (2013.01); H04L 49/901 (2013.01); G06F 16/283 (2019.01); H04L 43/106 (2013.01); H04L 49/9057 (2013.01); H04L 51/063 (2013.01)] 25 Claims
OG exemplary drawing
 
1. A system comprising:
a streaming platform reader;
a plurality of transaction processors coupled with the streaming platform reader, each of the plurality of transaction processors operative to process electronic transaction requests as they are received and, based thereon, generate an electronic result message comprising data indicative of when that electronic result message was generated, and communicate the generated electronic result messages to an associated partition of the streaming platform reader;
the streaming platform reader comprising:
a processor coupled with the streaming platform and operative to execute a set of reader threads, each associated with one of the partitions and configured to retrieve electronic result messages therefrom, and wherein the processor transmits an end of partition signal to the reader thread when the associated partition contains no electronic result messages;
a set of queues stored in a memory and coupled with the reader threads, wherein each queue is configured to store electronic result messages or an end of partition signal retrieved by one of the reader threads in a sequence that the electronic result messages are retrieved, and wherein each queue includes a first position that stores the earliest generated electronic result message of the electronic result messages stored therein; and
wherein the processor is further operative to execute a writer thread which is controlled by gate control logic that, upon determining that each of the queues contains an electronic message or an end of partition signal:
compares all of the electronic result messages in the first positions of the queues, and
provides, to a consuming application requesting electronic result messages from one or more of the plurality of transaction processors, the earliest generated electronic result message of all of the electronic result messages in the first positions.