US 12,112,377 B2
Data distribution architecture
Arkadiusz Koziol, Glenview, IL (US); Priteshkumar Soni, Naperville, IL (US); Melissa Ann Jenner, Naperville, IL (US); Baris Mestanogullari, Downers Grove, IL (US); and Pearce Peck-Walden, Chicago, IL (US)
Assigned to Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed by Chicago Mercantile Exchange Inc., Chicago, IL (US)
Filed on Sep. 6, 2023, as Appl. No. 18/242,674.
Application 18/242,674 is a continuation of application No. 18/076,621, filed on Dec. 7, 2022, granted, now 11,790,450.
Application 18/076,621 is a continuation of application No. 17/154,265, filed on Jan. 21, 2021, granted, now 11,551,300, issued on Jan. 10, 2023.
Prior Publication US 2023/0419407 A1, Dec. 28, 2023
Int. Cl. G06Q 40/04 (2012.01); G06F 16/23 (2019.01); G06Q 30/0201 (2023.01); H04L 67/10 (2022.01)
CPC G06Q 40/04 (2013.01) [G06F 16/2379 (2019.01); G06Q 30/0201 (2013.01); H04L 67/10 (2013.01)] 31 Claims
OG exemplary drawing
 
1. A system for communication of data messages generated by a transaction processor operative to generate, as the transaction processor processes each of a plurality of incoming electronic transaction messages received from any of a plurality of participants, data messages comprising transaction event data indicative thereof, the system comprising:
an electronic data publisher coupled with the transaction processor and with at least a subset of the plurality of participants so as to be able to transmit data messages thereto and further comprising a control database which stores data operative to control communication with one or more of the subset of the plurality of participants coupled therewith;
the electronic data publisher being further operative to receive a data message from the transaction processor, the received data message comprising:
transaction event data,
data indicative of a modification to the data stored in the control database, or
data indicative of timing information indicative of a relationship between previously received transaction event data or data indicative of a modification to the data stored in the control database and subsequently received transaction event data or data indicative a modification to the data stored in the control database;
the electronic data publisher being further operative, upon receipt of the data message, to:
when the received data message comprises data indicative of a modification to the data stored in the control database, update the data stored in the control database in accordance therewith; and
when the received data message comprises transaction event data, determine, based on the data currently stored in the control database, a subset of at least the subset of the plurality of participants coupled with the electronic data publisher to which to transmit the transaction event data and at what time to transmit the transaction event data thereto, and transmit the transaction event data to the determined subset of the plurality of participants at the determined time; and
wherein the electronic data publisher operates identically to another electronic data publisher in receipt of a same data message in a same relationship to a previously performed action which was performed based on a previously received data message regardless of whether the electronic data publishers receive the same data messages at the same or at different times, such that when the received data message comprises data indicative of a modification to the data stored in the control database of the other electronic data publisher, the other electronic data publisher updates the data stored in a control database coupled therewith in accordance therewith, and when the received data message comprises transaction event data, the other data publisher determines, based on the data currently stored in the control database coupled therewith, a subset of at least the subset of the plurality of participants coupled with the other electronic data publisher to which to transmit the transaction event data and at what time to transmit the transaction event data thereto, and transmits the transaction event data to the determined subset of the plurality of participants at the determined time.