(19)
(11) EP 2 693 337 A8

(12) CORRECTED EUROPEAN PATENT APPLICATION
Note: Bibliography reflects the latest situation

(15) Correction information:
Corrected version no 1 (W1 A1)

(48) Corrigendum issued on:
09.04.2014 Bulletin 2014/15

(43) Date of publication:
05.02.2014 Bulletin 2014/06

(21) Application number: 12368017.5

(22) Date of filing: 02.08.2012
(51) International Patent Classification (IPC): 
G06F 9/54(2006.01)
(84) Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA ME

(71) Applicant: Amadeus S.A.S.
06410 Biot (FR)

(72) Inventors:
  • Krasensky, Nicolas
    06800 Cagnes sur Mer (FR)
  • Seveillac, Clement
    06400 Cannes (FR)
  • Spezia, Didier
    06100 Nice (FR)
  • Dor, Pierre
    06140 Vence (FR)

(74) Representative: Lippich, Wolfgang 
Samson & Partner Widenmayerstrasse 5
80538 München
80538 München (DE)

   


(54) Method, system and computer program products for sequencing asynchronous messages in a distributed and parallel environment


(57) The invention provides a system and a computer-implemented method of sequencing distributed asynchronous messages in a distributed and parallel system having a plurality of inbound handlers (810, 820, ..., 840) and a plurality of outbound handlers (860, 870, 880, 890), the method comprising the following steps performed with at least one data processor:
receiving in an inbound handler (810) an incoming message (801-1) with a sequence correlation value that identifies a sequence comprising the incoming message,
checking for a sequence status of said sequence in a sequence storage (800);
determining if the incoming message is the next message to be processed for maintaining the order of the messages in said sequence;
i.if the sequence status indicates that none of the outbound handler (860, 870, 880, 890) is currently processing a message for said sequence and if the incoming message is determined to be the next message to be processed for said sequence, then forwarding the incoming message to a queue storage (850) and subsequently forwarding it to an available outbound handler (860, 870, 880, 890) for processing;

if the sequence status indicates that at least one of the outbound handlers (860, 870, 880, 890) is currently processing a message of said sequence; or if the queue storage (850) already comprises a message to be processed for said sequence; or if the incoming message is determined not to be the next message to be processed for said sequence, then storing the incoming message (801-1) in a memory of an overflow storage (806) to keep for further processing.