US 12,367,068 B2
Distributed event platform for processing and publishing event transactions
David Bessiere, Grasse (FR); David Pasero, Mougins (FR); Tony Bisegna, Vallauris (FR); Guillaume Pain, Grasse (FR); and Andreu Marco Garrido, Golfe Juan (FR)
Assigned to AMADEUS S.A.S., Biot (FR)
Filed by AMADEUS S.A.S., Biot (FR)
Filed on Jun. 29, 2022, as Appl. No. 17/852,497.
Claims priority of application No. 21305957 (EP), filed on Jul. 9, 2021.
Prior Publication US 2023/0010765 A1, Jan. 12, 2023
Int. Cl. G06F 9/48 (2006.01); G06F 9/445 (2018.01); G06F 9/46 (2006.01); G06F 9/50 (2006.01)
CPC G06F 9/4881 (2013.01) [G06F 9/44505 (2013.01); G06F 9/467 (2013.01); G06F 9/5077 (2013.01)] 15 Claims
OG exemplary drawing
 
1. A distributed event platform configured for propagating events from at least one event source to one or more target consumer applications, the distributed event platform comprising:
an event source configured to store and push events to be propagated to one or more target consumer applications;
an event producer module configured to queue and propagate events received from the event source to an event streaming layer of the distributed event platform, the event streaming layer comprising a plurality of event streaming modules, each configured to index and store the events received from the event producer module into one or more storage partitions associated with one or more corresponding target consumer applications; and
a plurality of consumer modules communicatively coupled to the event streaming layer, each consumer module being associated with at least one target consumer application and configured to retrieve and propagate events from the storage partitions associated with each corresponding target consumer application;
wherein the event streaming layer comprises a monitoring module configured to monitor the propagation and delivery of each event in the event source, by a respective event streaming cluster, based on event notifications received from the event producer module indicating the propagation of events to an event streaming module and event notifications received from each of the consumer modules indicating the delivery of corresponding propagated events, the monitoring module is configured, based on the information received from the event producer and each of the consumer modules, to update an event monitoring status table stored in a database associated with the monitoring module and at least indicating the delivery status of each propagated event,
wherein in response to determining unsuccessful delivery of a given event, the monitoring module notifies the event producer module to re-propagate the given event to a different respective event streaming cluster than an initial event streaming cluster to which the given event was submitted, and
wherein upon receiving a notification to re-propagate the propagated event from the monitoring model, the event producer module selects an available event streaming cluster to re-submit the event.