FR3067838A1 - SYSTEM AND METHOD FOR PROCESSING BAGGAGE MESSAGING - Google Patents

SYSTEM AND METHOD FOR PROCESSING BAGGAGE MESSAGING Download PDF

Info

Publication number
FR3067838A1
FR3067838A1 FR1755401A FR1755401A FR3067838A1 FR 3067838 A1 FR3067838 A1 FR 3067838A1 FR 1755401 A FR1755401 A FR 1755401A FR 1755401 A FR1755401 A FR 1755401A FR 3067838 A1 FR3067838 A1 FR 3067838A1
Authority
FR
France
Prior art keywords
message
baggage
metadata
processing system
routing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1755401A
Other languages
French (fr)
Other versions
FR3067838B1 (en
Inventor
Gus Salamoun
Matthew Parker Willingham
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Priority to FR1755401A priority Critical patent/FR3067838B1/en
Priority to EP18177588.3A priority patent/EP3416109A1/en
Publication of FR3067838A1 publication Critical patent/FR3067838A1/en
Application granted granted Critical
Publication of FR3067838B1 publication Critical patent/FR3067838B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • G06Q50/40
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks

Abstract

Les modes de réalisation concernent un point d'accès pour un système de traitement de message d'un bagage. Le système comprend une interface entrée/sortie adaptée pour être connectée à un système externe, un convertisseur configuré pour convertir un message reçu via l'interface entrée/sortie et/ou un message devant être transmis via l'interface entrée/sortie dans un format prédéterminé, un extracteur configuré pour extraire une métadonnée à partir d'un message converti et une unité de transmission et/ou de réception configurée pour transmettre et/ou recevoir un autre message comprenant la métadonnée extraite et l'information associée relative à l'adresse.Embodiments relate to an access point for a message processing system of a baggage. The system includes an input / output interface adapted to be connected to an external system, a converter configured to convert a received message via the input / output interface and / or a message to be transmitted via the input / output interface in a format predetermined, an extractor configured to extract a metadata from a converted message and a transmitting and / or receiving unit configured to transmit and / or receive another message including the extracted metadata and the associated information relating to the address .

Description

SYSTÈME ET PROCÉDÉ DE TRAITEMENT DE MESSAGERIE DES BAGAGESLUGGAGE MESSAGING PROCESSING SYSTEM AND METHOD

DOMAINE TECHNIQUETECHNICAL AREA

Les modes de réalisation concernent des systèmes et des procédés de traitement de messagerie concernant des bagages, en particulier de systèmes et des procédés servant d’interface avec des systèmes externes sans qu’il soit nécessaire de modifier ces systèmes externes.The embodiments relate to mail handling systems and methods for baggage, particularly systems and methods for interfacing with external systems without the need to modify these external systems.

CONTEXTECONTEXT

L’industrie aéronautique a connu une croissance considérable au cours des dernières décennies. Avec la croissance du nombre de passagers, le nombre des bagages qui doivent être transportés a aussi considérablement augmenté. La perte d’un bagage est coûteuse, aussi bien en efforts déployés pour retrouver le bagage perdu, mais aussi en matière de dommages à la réputation. Il existe donc un besoin de système fiable pour tracer un bagage.The aeronautics industry has grown considerably in recent decades. With the growth in the number of passengers, the number of baggage items that must be transported has also increased considerably. Losing baggage is costly, both in efforts to find lost baggage, but also in reputation damage. There is therefore a need for a reliable system for tracking baggage.

RÉSUMÉABSTRACT

Les modes de réalisation concernent un point d’accès pour un système de traitement de message d’un bagage. Le système comprend une interface entrée/sortie adaptée pour être connectée à un système externe, un convertisseur configuré pour convertir un message reçu via l’interface entrée/sortie et/ou un message devant être transmis via l’interface entrée/sortie dans un format prédéterminé, un extracteur configuré pour extraire des métadonnées à partir d’un message converti et une unité de transmission et/ou de réception configurée pour transmettre et/ou recevoir un autre message comprenant les métadonnées extraites et l’information associée relative à l’adresse.The embodiments relate to an access point for a baggage message processing system. The system includes an input / output interface adapted to be connected to an external system, a converter configured to convert a message received via the input / output interface and / or a message to be transmitted via the input / output interface in a format predetermined, an extractor configured to extract metadata from a converted message and a transmission and / or reception unit configured to transmit and / or receive another message comprising the extracted metadata and the associated information relating to the address .

L’adaptateur peut être configuré pour accéder à une base de données stockant un ou plusieurs protocoles de communication et pour convertir le format d’un message sur la base desdits protocoles stockés.The adapter can be configured to access a database storing one or more communication protocols and to convert the format of a message based on said stored protocols.

L’adaptateur est configuré pour lier une métadonnée reçue via l’unité de transmission/réception à un message qui doit être envoyé via l’interface entrée/sortie conformément à un protocole de communication stocké.The adapter is configured to link metadata received via the transmit / receive unit to a message to be sent via the input / output interface according to a stored communication protocol.

L’extracteur peut-être un analyseur qui émet et absorbe des événements au fur et à mesure qu’une arborescence d’analyse est traversée.The extractor may be an analyzer which emits and absorbs events as an analysis tree is crossed.

Le point d’accès peut être par ailleurs configuré pour créer un message devant être envoyé via l’unité de transmission/réception en combinant la métadonnée extraite avec un ID de transaction unique.The access point can also be configured to create a message to be sent via the transmission / reception unit by combining the extracted metadata with a unique transaction ID.

Les modes de réalisation de l’invention concernent aussi un système de traitement de message d’un bagage comprenant une pluralité de points d’accès et un ou plusieurs routeurs configurés pour router un message reçu via une unité de transmission/réception d’un point d’accès sur la base au moins en partie du contenu de la métadonnée qui forme une partie du message.The embodiments of the invention also relate to a baggage message processing system comprising a plurality of access points and one or more routers configured to route a message received via a point transmission / reception unit. access based at least in part on the content of the metadata that forms part of the message.

Le routeur peut accéder à des règles de routage et router le message sur la base des règles de routage. Les règles de routage peuvent lier des éléments d’information inclus dans la métadonnée pour obtenir un niveau plus fin de granularité de routage qu’il ne serait autrement possible sur la base des seuls éléments de métadonnée. Les règles peuvent, en particulier, lier des éléments de métadonnée d’une manière qui est spécifique à la destination, telle qu’un aéroport de destination, pour permettre le routage du message vers un sous-système ou lieu de la destination.The router can access routing rules and route the message based on the routing rules. Routing rules can link pieces of information included in metadata to achieve a finer level of routing granularity than would otherwise be possible based on metadata alone. Rules can, in particular, link metadata elements in a way that is specific to the destination, such as a destination airport, to allow routing of the message to a subsystem or location of the destination.

Chaque routeur peut être configuré pour router des messages conformément à des règles de routage, le routeur étant configuré pour compiler de façon dynamique lesdites règles de routage au moment de leur utilisation ou immédiatement avant.Each router can be configured to route messages according to routing rules, the router being configured to dynamically compile said routing rules at the time of use or immediately before.

Des modes de réalisation de l’invention concernent également le système de traitement de message d’un bagage qui comprend une pluralité de points d’accès décrits ci-dessus et un stockage distribué pour stocker les messages reçus par l’interface entrée/sortie d’un point d’accès ainsi que l’information indiquant l’état de routage des messages associés transmis par l’unité de transmission/réception du point d’accès.Embodiments of the invention also relate to the baggage message processing system which includes a plurality of access points described above and a distributed storage for storing the messages received by the input / output interface of an access point as well as the information indicating the routing status of the associated messages transmitted by the transmission / reception unit of the access point.

L’information peut comprendre un recoupement complet historique de routage du message associé.The information may include a complete historical cross-reference routing of the associated message.

Chaque routeur est configuré, au redémarrage, pour accéder au stockage distribué et router des messages pour lesquels les états associés de routage indiquent que le routage est incomplet.Each router is configured, upon reboot, to access distributed storage and route messages for which the associated routing states indicate that routing is incomplete.

Le stockage distribué peut être accessible à une pluralité de routeurs.Distributed storage can be accessible to a plurality of routers.

Un système de traitement de message d’un bagage peut être configuré pour associer un point d’accès avec chaque client logique avec qui la communication doit être établie.A baggage message processing system can be configured to associate an access point with each logical client with whom communication is to be established.

Le système de traitement de message d’un bagage peut être configuré pour localiser des articles individuels de bagage en traçant les messages qui comprennent une métadonnée identifiant l’article et provenant des points d’accès dont la localisation est connue.The baggage message processing system can be configured to locate individual items of baggage by tracing messages that include metadata identifying the item and from known access points.

Des modes de réalisation de l’invention concernent aussi un procédé de communication d’un message entre un système de traitement de message d’un bagage et un système extérieur au système de traitement de bagage d’un message. Le procédé comprend la réception d’un message provenant du système externe via une interface entrée/sortie, la conversion du message reçu dans un format prédéterminé, l’extraction d’une métadonnée du message converti et la transmission au système de traitement de message de bagage d’un message comprenant la métadonnée extraite et l’information associée relative à l’adresse.Embodiments of the invention also relate to a method of communicating a message between a baggage message processing system and a system external to a message baggage processing system. The method includes receiving a message from the external system via an input / output interface, converting the received message to a predetermined format, extracting metadata from the converted message, and transmitting the message to the message processing system. baggage of a message comprising the extracted metadata and the associated address information.

Des modes de réalisation de l’invention concernent aussi des instructions exécutables d’un produit-programme d’ordinateur qui, lorsqu’elles sont exécutées par un processeur, conduisent un point d’accès pour un système de traitement de message de bagage à accepter, via une interface entrée/sortie, un message provenant d’un système externe, à convertir le message reçu dans un format prédéterminé et à extraire la métadonnée du message converti et à transmettre un message comprenant la métadonnée extraite et l’information associée relative à l’adresse au système de message de traitement de bagage.Embodiments of the invention also relate to executable instructions of a computer program product which, when executed by a processor, drive an access point for a baggage message processing system to be accepted , via an input / output interface, a message from an external system, converting the received message into a predetermined format and extracting the metadata from the converted message and transmitting a message comprising the extracted metadata and the associated information relating to the address to the baggage handling message system.

BRÈVE DESCRIPTION DES DESSINSBRIEF DESCRIPTION OF THE DRAWINGS

Les modes de réalisation de l’invention présente seront mieux compris et seront appréciés plus pleinement grâce à la lecture de la description détaillée ci-après qui complète les dessins.The embodiments of the present invention will be better understood and will be appreciated more fully by reading the detailed description below which completes the drawings.

Figure 1 montre un système de distribution de messages relatifs à des bagages selon un mode de réalisation ;Figure 1 shows a system for distributing messages relating to baggage according to one embodiment;

Figure 2 montre une vue de haut niveau de l’architecture d’un mode de réalisation du système de distribution de messages de bagage ;Figure 2 shows a high-level view of the architecture of an embodiment of the baggage message distribution system;

Figure 3 apporte une vue d’ensemble de l’architecture de nœuds individuels selon un mode de réalisation ;Figure 3 provides an overview of the architecture of individual nodes according to one embodiment;

Figure 4 fournit une vue plus détaillée de l’architecture d’un nœud individuel selon un mode de réalisation ;Figure 4 provides a more detailed view of the architecture of an individual node according to one embodiment;

Figure 5 montre l’architecture d’un service de passerelles selon un mode de réalisation ;Figure 5 shows the architecture of a gateway service according to one embodiment;

Figure 6 montre le flux de données dans un routeur ;Figure 6 shows the data flow in a router;

Figure 7 illustre un exemple de flux de messages dans le système BMD ; etFigure 7 illustrates an example of message flow in the BMD system; and

Figure 8 montre les détails relatifs aux façons de stocker les données dans le journal de transactions.Figure 8 shows details of how to store data in the transaction log.

DESCRIPTION DÉTAILLÉEDETAILED DESCRIPTION

Figure 1 montre un système de distribution de messages de bagage (BMD) 100 conforme à un mode de réalisation. Le système de distribution de messages de bagage 100 facilite une communication efficace entre une variété de systèmes impliqués avec les messages relatifs à un bagage. Ces systèmes incluent, sans restriction, les systèmes de contrôle de départ 110 à 130, les systèmes de tri de bagages 140 à 160 et les systèmes de rapprochement des bagages 170 à 190. Les systèmes de contrôle de départ 110 à 130 peuvent être gérés par diverses compagnies aériennes dans un aéroport particulier ou dans plusieurs aéroports ou par une compagnie aérienne particulière dans un certain nombre d’aéroports. Les divers systèmes de tri de bagages 140 à 160 et les systèmes de rapprochement relatifs aux bagages 170 à 190 peuvent fonctionner dans des aéroports différents. On remarquera que les aéroports mentionnés ci-dessus ne sont pas nécessairement tous situés dans un pays, et encore moins dans un pays en particulier.Figure 1 shows a baggage message distribution system (BMD) 100 according to one embodiment. The baggage message distribution system 100 facilitates effective communication between a variety of systems involved with baggage related messages. These systems include, without limitation, departure control systems 110 to 130, baggage sorting systems 140 to 160 and baggage reconciliation systems 170 to 190. Departure control systems 110 to 130 can be managed by various airlines in a particular airport or in several airports or by a particular airline in a number of airports. The various baggage sorting systems 140 to 160 and the baggage reconciliation systems 170 to 190 can operate at different airports. Note that the airports mentioned above are not necessarily all located in one country, and even less in a particular country.

On remarquera qu’en raison de la popularité croissante du trafic aérien le nombre d’articles de bagages qui sont transportés chaque jour est très important et augmente de façon constante. La quantité de données relatives au transport des bagages qui est générée de façon constante est donc très importante. Ce seul fait rend la gestion et la distribution des messages complexes relatifs aux bagages.It will be noted that due to the increasing popularity of air traffic the number of baggage items which are transported every day is very important and is constantly increasing. The amount of data relating to the transport of luggage which is generated constantly is therefore very important. This fact alone makes the management and distribution of complex baggage related messages.

En outre, les systèmes de gestion de données des compagnies aériennes et des aéroports utilisent invariablement des procédés et des conventions de traitement différentes. Par conséquent, l’échange des messages entre ces systèmes a tendance à être impossible, sans même parler dans un mode très fiable, face à des volumes élevés de messages.In addition, airline and airport data management systems invariably use different methods and processing conventions. Therefore, the exchange of messages between these systems tends to be impossible, let alone in a very reliable mode, in the face of high volumes of messages.

Figure 2 illustre à haut niveau l’architecture d’un mode de réalisation du système de distribution de messages de bagages 100. Le système 100 comprend une pluralité de nœuds 210 qui forment un groupement 250 englobant la région géographique couverte par le système BMD 100. Dans un mode de réalisation, chaque nœud héberge un ensemble de services dans le système. Chaque composant dans le système est considéré comme un service, et le terme « service » se rapporte simplement à une unité (regroupée) de temps d’exécution qui peut être installée et fonctionner sur n’importe quel nœud dans le groupement 250.Figure 2 illustrates at high level the architecture of an embodiment of the baggage message distribution system 100. The system 100 comprises a plurality of nodes 210 which form a grouping 250 encompassing the geographic region covered by the BMD system 100. In one embodiment, each node hosts a set of services in the system. Each component in the system is considered a service, and the term "service" simply refers to a (bundled) unit of execution time that can be installed and run on any node in the 250 bundle.

Les nœuds 210 sont connectés par un système de messagerie 260 pour permettre aux services de communiquer les uns avec les autres entre les nœuds. Dans un mode de réalisation, le système de messagerie utilisé est Active MQ. Dans un mode de réalisation, les nœuds 210 forment un réseau d’intermédiaires, permettant à chaque nœud 210 dans le réseau d’être implicitement visible de tout autre nœud 210 dans le réseau. Un journal de transactions 270 comprend un ensemble de tableaux qui sont utilisés pour tracer et enregistrer le flux de messages et l’état des transactions dans l’ensemble du système. Chaque message d’un nœud 210 est mis à disponibilité à au moins un autre nœud 210 de sorte que l’échec d’un nœud ne conduise pas à la perte d’un quelconque message.The nodes 210 are connected by a messaging system 260 to allow the services to communicate with each other between the nodes. In one embodiment, the messaging system used is Active MQ. In one embodiment, the nodes 210 form a network of intermediaries, allowing each node 210 in the network to be implicitly visible from any other node 210 in the network. A transaction log 270 includes a set of tables that are used to track and record the flow of messages and the status of transactions throughout the system. Each message from node 210 is made available to at least one other node 210 so that failure of one node does not lead to the loss of any message.

Puisque le système BMD 100 est un système distribué couvrant un nombre quelconque de nœuds, un service de coordination partagé 280 est fourni pour coordonner les nœuds 210. Ce service 280 apportera un contexte, englobant le groupement, pour chaque nœud 210 pour permettre de faire connaître les services hébergés par un nœud 210 ainsi que pour annoncer la capacité ou l’incapacité d’un nœud 210 à participer au traitement des activités. Le service de coordination 280 est configuré pour faciliter l’élection d’un chef de file parmi les nœuds 210 dans le groupement 250, pour fournir un registre de tous les services offerts par les nœuds 210 dans le groupement 250, pour surveiller l’état des nœuds 210 et les services qu’ils fournissent et pour équilibrer les charges de travail au sein du groupement 250. Dans un mode de réalisation, le service de coordination 280 est fourni par des machines différentes de celles qui fournissent les nœuds BMD 210. Les services de coordination en eux-mêmes peuvent être groupés pour assurer une haute disponibilité et tolérance face à un échec du service de coordination 280.Since the BMD 100 system is a distributed system covering any number of nodes, a shared coordination service 280 is provided to coordinate the nodes 210. This service 280 will provide a context, including grouping, for each node 210 to make known services hosted by a node 210 as well as to advertise the ability or inability of a node 210 to participate in the processing of activities. The coordination service 280 is configured to facilitate the election of a leader among the nodes 210 in the grouping 250, to provide a register of all the services offered by the nodes 210 in the grouping 250, to monitor the state nodes 210 and the services they provide and to balance the workloads within the grouping 250. In one embodiment, the coordination service 280 is provided by machines different from those which provide the BMD nodes 210. The Coordination services in themselves can be grouped together to ensure high availability and tolerance in the event of a failure of the coordination service 280.

Chaque composant individuel dans les nœuds 210 est déployé un nombre fois qui est configurable sur un nombre configurable de nœuds dans l’ensemble du groupement 250 sans entraîner une quelconque dépendance forte envers son site d’hébergement. Cela permet à de nouveaux nœuds d’être ajoutés pendant le temps d’exécution et d’être approvisionnés de façon dynamique. Le déploiement dynamique de ces composants individuels permet le rééquilibrage des ressources informatiques dans l’ensemble du groupement lors d’une défaillance sur la base de l’addition ou de la soustraction des nœuds actifs.Each individual component in the nodes 210 is deployed a number of times which is configurable on a configurable number of nodes throughout the grouping 250 without causing any strong dependence on its hosting site. This allows new nodes to be added during runtime and to be provisioned dynamically. The dynamic deployment of these individual components allows the rebalancing of IT resources throughout the grouping in the event of a failure based on the addition or subtraction of active nodes.

Figure 3 apporte une vue d’ensemble de l’architecture de nœuds individuels 210, selon un mode de réalisation, ainsi que la manière par laquelle les nœuds 210 communiquent via une connexion aux éléments environnants. Un nœud 210 comprend un serveur d’application dans lequel un ensemble de services BMD essentiels 300 sont déployés. Toutes les communications avec des systèmes externes 310 sont traitées par des passerelles de service 320 responsables de l’adaptation des protocoles, des sessions de maintenance et tout autre comportement spécifique à un domaine. Les systèmes externes incluent, sans restriction, les systèmes de contrôle de départ 110 à 130, les systèmes de tri de bagages 140 à 160 et les systèmes de rapprochement des bagages 170 à 190 qui sont illustrés dans la Figure 1.Figure 3 provides an overview of the architecture of individual nodes 210, according to one embodiment, as well as the manner in which the nodes 210 communicate via a connection to the surrounding elements. A node 210 includes an application server in which a set of essential BMD services 300 are deployed. All communications with external systems 310 are handled by service gateways 320 responsible for adapting protocols, maintenance sessions and any other domain-specific behavior. External systems include, without limitation, departure control systems 110 to 130, baggage sorting systems 140 to 160 and baggage reconciliation systems 170 to 190 which are illustrated in Figure 1.

Une fois que le message a été reçu et traité de façon appropriée par une passerelle de service 320, il est remis aux services essentiels BMD 300 pour un routage et une livraison adéquate. Les services essentiels 300 calculent la voie de livraison du message sur la base d’un ensemble de règles de routage enfichables stockées dans la base de connaissances 330. Dans le mode de réalisation, ces règles sont des scripts compilés de façon dynamique et peuvent par conséquent être modifiées durant l’exécution du système pour ajuster les modes de routage sans subir d’interruption. Une fois que les voies de routage adéquates sont déterminées, le service de coordination 280 détermine les adresses de service dans le groupement pour les services de passerelle prévus des systèmes destinataires 320.Once the message has been received and appropriately processed by a service gateway 320, it is delivered to BMD 300 essential services for proper routing and delivery. Essential Services 300 calculates the delivery route of the message based on a set of pluggable routing rules stored in knowledge base 330. In the embodiment, these rules are dynamically compiled scripts and can therefore be modified during system execution to adjust the routing modes without being interrupted. Once the appropriate routing channels are determined, the coordination service 280 determines the service addresses in the pool for the intended gateway services of the recipient systems 320.

Alors que, dans un mode de réalisation, une copie de la base de connaissances 330 est présente dans chaque nœud, dans un autre mode de réalisation, la base de connaissances peut être stockée sous une forme qui peut être accessible par chaque service dans le groupement selon le besoin. De ce fait, uniquement une seule copie de la base de connaissances a besoin d’être stockée, permettant ainsi de réaliser des économies d’espace de stockage. À des fins de répétition, un nombre de copies est avantageusement conservé. Dans un mode de réalisation, la copie ou les copies de la base de données de connaissances sont distribuées dans l’ensemble du groupement. Les règles stockées dans la base de connaissances peuvent être actualisées pendant l’exécution. La base de connaissances est configurée pour transmettre des notifications pour toutes les mises à jour de règles aux routeurs dans le groupement de sorte que les routeurs opèrent en utilisant les règles les plus actualisées dans l’ensemble de règles disponible.While, in one embodiment, a copy of the knowledge base 330 is present in each node, in another embodiment, the knowledge base can be stored in a form that can be accessed by each service in the pool as required. As a result, only a single copy of the knowledge base needs to be stored, thereby saving storage space. For rehearsal purposes, a number of copies is advantageously kept. In one embodiment, the copy or copies of the knowledge database are distributed throughout the group. The rules stored in the knowledge base can be updated during execution. The knowledge base is configured to send notifications for all rule updates to routers in the pool so that routers operate using the most up-to-date rules in the available rule set.

Tous les services, y compris le service de coordination 280 sont configurés pour s’inscrire eux-mêmes avec un service de registre afin d’annoncer leur présence et disponibilité dans le système 100. Les services peuvent par conséquent être adressés individuellement à un quelconque nœud dans l’ensemble du groupement. Dans un mode de réalisation, le routeur 300 est responsable de la résolution des adresses internes de service utilisées au cours de la livraison des messages.All the services, including the coordination service 280 are configured to register themselves with a registry service in order to announce their presence and availability in the system 100. The services can therefore be addressed individually to any node throughout the group. In one embodiment, the router 300 is responsible for resolving the internal service addresses used during message delivery.

Les services sont aussi configurés pour se reconfigurer eux-mêmes à la demande lors de l’exécution à la requête du service de coordination afin de permettre l’équilibrage des charges, etc. le registre de service est conservé dans le cadre du service de coordination 280. Comme mentionné ci-dessus, dans un mode de réalisation, le service de coordination 280 forme un second groupement hautement disponible avec un trois nœuds au minimum, distinct de l’ensemble de nœuds BMD. Une entrée dans le registre ne demeure que pendant que le service est actif et opérationnel et expire à tout moment dès lors que le service est à l’arrêt ou qu’il y a une défaillance. Vu que le service de coordination 280 est exploité dans un groupement séparé, la possibilité d’une défaillance simultanée avec un nœud 210 exécutant un service qui échoue est très faible. Chaque nœud 210 conserve une connexion active avec le service de coordination 280, ce qui pour les modes de réalisation fonctionne sur une machine séparée. Ces connexions créent une session en même temps que des objets de donnée qui sont liés à cette session. Le service de coordination 280 veille sur la session. Dans l’hypothèse où le nœud 210 se déconnecterait et que la session soit perdue, le service de coordination 280 peut redistribuer des actions associées aux sessions qui ont échoué vers d’autres nœuds. Les services hors ligne peuvent être rapidement détectés de cette manière permettant un contrôle facile de l’état du groupement et une réaction aux événements liés au cycle de vie du service et aux échecs en mode événement.The services are also configured to reconfigure themselves on demand during execution at the request of the coordination service in order to allow load balancing, etc. the service register is kept as part of the coordination service 280. As mentioned above, in one embodiment, the coordination service 280 forms a second highly available grouping with a minimum of three nodes, distinct from the set of BMD nodes. An entry in the register remains only while the service is active and operational and expires at any time as soon as the service is stopped or there is a failure. Since coordination service 280 is operated in a separate bundle, the possibility of simultaneous failure with node 210 performing a service that fails is very low. Each node 210 maintains an active connection with the coordination service 280, which for the embodiments operates on a separate machine. These connections create a session at the same time as data objects that are linked to that session. The coordination service 280 watches over the session. In the event that node 210 disconnects and the session is lost, coordination service 280 can redistribute actions associated with sessions that have failed to other nodes. Offline services can be quickly detected in this way allowing easy monitoring of group status and reaction to service life cycle events and event mode failures.

Figure 4 apporte une vue plus détaillée de l’architecture d’un nœud individuel 210. Chacun des services essentiels BMD 300 et chacune des passerelles 320 incluent leur propre file d’attente, 340 et 350 respectivement, qui sera globalement disponible dans l’ensemble du groupement via le système de messagerie. Dans l’hypothèse d’un échec, des messages d’un service qui ont commencé à être routés à travers le groupement, mais n’ont pas encore été délivrés peuvent être récupérés à partir de la file d’attente qui les héberge lorsque le service a échoué et que le routage peut être relancé. Selon un mode de réalisation, le système est configuré similairement pour utiliser des files d’attente d’autres services pour servir de tampons lors de pointes des charges. De cette manière, le trafic de pointe peut être géré et traité sans difficulté pendant une période de temps opérationnel.Figure 4 provides a more detailed view of the architecture of an individual node 210. Each of the BMD 300 essential services and each of the gateways 320 include their own queue, 340 and 350 respectively, which will be globally available as a whole. grouping via the messaging system. In the event of failure, messages from a service that have started to be routed through the pool, but have not yet been delivered can be retrieved from the queue that hosts them when the service failed and that routing can be restarted. According to one embodiment, the system is similarly configured to use queues of other services to serve as buffers during peak loads. In this way, peak traffic can be managed and handled without difficulty for an operational period of time.

Les passerelles 320 reçoivent des messages provenant de systèmes externes connectés 310 et convertissent ces messages du format reçu à un format d’échange dans le BMD 100. Tous les messages ainsi reformatés sont stockés dans un journal de transactions 270. Le stockage dans le journal de transactions 270 permet de purger les files d’attente 340 et 350. Les files d’attente purgées sont préférables pour des raisons de performance. Dans l’éventualité où des messages non purgés de file d’attente seraient perdus, les files d’attente 340 et 350 sont alors remplies à nouveau sur la base du journal de transactions 270.The gateways 320 receive messages from connected external systems 310 and convert these messages from the format received to an exchange format in the BMD 100. All the messages thus reformatted are stored in a transaction log 270. The storage in the log of transactions 270 purges the queues 340 and 350. The purged queues are preferable for performance reasons. In the event that un-purged queue messages are lost, queues 340 and 350 are refilled based on transaction log 270.

Dans un mode de réalisation, chaque nœud 210 contient un nœud-agent. Le nœud-agent est chargé de veiller au bon fonctionnement de la machine sur laquelle le nœud 210 est exécuté ainsi que sur le JVM dans lequel ce nœud 210 fonctionne. Le nœud-agent veille en particulier au niveau d’usage de l’unité centrale de traitement (CPU) par le système d’exploitation du nœud et à la capacité de mémoire du JVM. L’usage du CPU et des capacités de la mémoire JVM des nœuds exécutant les mêmes services sont comparés afin d’identifier les nœuds fortement chargés et ceux qui sont moins chargés. Une vaste connaissance des nœuds moins chargés est obtenue sur la base de ce groupement. Le nœud-agent est configuré de sorte que, durant les fortes pointes de trafic, les messages sont automatiquement routés vers le nœud le plus approprié dans le groupement, à n’importe quel moment donné, afin d’assurer une distribution de charge optimale.In one embodiment, each node 210 contains an agent node. The agent node is responsible for ensuring the proper functioning of the machine on which the node 210 is running as well as on the JVM in which this node 210 operates. The node-agent monitors in particular the level of use of the central processing unit (CPU) by the operating system of the node and the memory capacity of the JVM. CPU usage and JVM memory capacity of nodes running the same services are compared to identify heavily loaded and lightly loaded nodes. A vast knowledge of the less loaded nodes is obtained on the basis of this grouping. The agent node is configured so that, during heavy traffic peaks, messages are automatically routed to the most appropriate node in the grouping, at any given time, to ensure optimal load distribution.

Figure 5 montre l’architecture d’un service de passerelles 320 selon un mode de réalisation. Une passerelle 320 enrobe tous les transports, protocoles et sémantiques de session requis pour la communication avec un système externe. Les services de passerelle 320 facilitent la prise en charge des systèmes externes de sorte que les systèmes externes qui doivent être connectés au système BMD 100 n’ont pas besoin d’être modifiés. L’extrémité 400 prend en charge toutes les interactions avec le système externe 310, notamment des responsabilités telles que le décodage/encodage de trames TCP/IP, la génération de battements de cœur et les mécanismes d’authentification. La passerelle 320 est un point frontière efficace pour l’entrée et la sortie du BMD 100. Dans un mode de réalisation, une seule passerelle 320 par système logique externe 310 est déployée, créant un mappage biunivoque pour la passerelle 320 au client.Figure 5 shows the architecture of a gateway service 320 according to one embodiment. A gateway 320 coats all transport, protocols and session semantics required for communication with an external system. Gateway Services 320 facilitates support for external systems so that external systems that must be connected to the BMD 100 system do not need to be changed. The endpoint 400 supports all interactions with the external system 310, including responsibilities such as decoding / encoding of TCP / IP frames, generation of heartbeats and authentication mechanisms. Gateway 320 is an efficient border point for entry and exit of BMD 100. In one embodiment, only one gateway 320 per external logic system 310 is deployed, creating a one-to-one mapping for gateway 320 to the client.

L’extrémité 400 est fournie pour permettre la communication avec le système externe 310 en utilisant des méthodes de communication telles que, mais sans limitation, les méthodes suivantes : TCP/IP, UDP, S/FTP/S, JMS, Services Web (SOAP/REST), etc. L’extrémité 400 repose sur des protocoles préexistants pour cette nature, mais s’ils sont configurés pour être capables de stocker des nouveaux et/ou des protocoles actualisés adapter des protocoles de communication personnalisés qui peuvent être utilisés par certains systèmes externes 310. Dans un mode de réalisation, l’extrémité 400 est configurée pour utiliser un identifiant de ressource uniforme (URI) basé sur une chaîne pour permettre le remplacement d’une propriété dans l’ensemble d’un nœud. Le fait de définir une adresse IP locale, à laquelle un service doit être lié comme propriété du service, permet au service d’être reprogrammé pour fonctionner sur un nœud de remplacement 210 en cas d’échec du nœud 210 sur lequel il fonctionnait à l’origine.End 400 is provided to allow communication with the external system 310 using communication methods such as, but not limited to, the following methods: TCP / IP, UDP, S / FTP / S, JMS, Web Services (SOAP / REST), etc. The end 400 is based on preexisting protocols for this nature, but if they are configured to be able to store new and / or updated protocols, adapt personalized communication protocols which can be used by certain external systems 310. In a embodiment, the endpoint 400 is configured to use a uniform resource identifier (URI) based on a string to allow replacement of a property throughout a node. Defining a local IP address, to which a service must be linked as a property of the service, allows the service to be reprogrammed to operate on a replacement node 210 if the node 210 on which it was operating fails. 'origin.

La passerelle 320 inclut en outre un adaptateur de protocole 410. L’adaptateur de protocole 410 est responsable de la conversion de/vers un format de donnée domaine-spécifique. L’extrémité 400 découple cette conversion du mécanisme de transport actuel utilisé. L’adaptateur de protocole 410 est configuré pour ajouter et retirer des enveloppes de protocole et de la transformation de/vers un format connu de donnée utilisé par un système externe. Si le message est reçu à la passerelle 320, cela inclut de relier au message la métadonnée appropriée produite durant la propagation du message dans le BMD 100. Cette métadonnée peut par exemple être des identifiants de séquence de messages. L’opération de l’adaptateur de protocole 410 sera décrite de façon plus détaillée ci-dessous en référence à la Figure 6.Gateway 320 further includes a protocol adapter 410. Protocol adapter 410 is responsible for converting from / to a domain-specific data format. The end 400 decouples this conversion from the current transport mechanism used. The protocol adapter 410 is configured to add and remove protocol envelopes and transformation from / to a known format of data used by an external system. If the message is received at gateway 320, this includes linking to the message the appropriate metadata produced during the propagation of the message in the BMD 100. This metadata can for example be message sequence identifiers. The operation of the protocol adapter 410 will be described in more detail below with reference to Figure 6.

La passerelle 320 inclut par ailleurs un analyseur 420 qui est configuré pour analyser et valider les messages entrants. Ces messages peuvent être des messages de Bagage IATA 1745, des messages IATA de Bagage IATA XML ou tout autre type de messages échangés dans le BMD 100. L’analyse des messages de Type-B est accomplie par l’implémentation des grammaires étendues Extended Backus-Naur Form (EBNF) qui sont utilisées pour générer des analyseurs avec une structure ANTLR. Les analyseurs générés 420 fournissent un mécanisme de rappel commandé par les événements qui se comporte de façon similaire à un analyseur SAX, avec émission et absorption d’événements au fur et à mesure que l’arbre d’analyse est traversé. On remarquera que d’autres technologies d’analyseur peuvent être utilisées dans des modes de réalisation différents.The gateway 320 also includes an analyzer 420 which is configured to analyze and validate incoming messages. These messages can be IATA 1745 Baggage messages, IATA IATA XML Baggage messages or any other type of messages exchanged in the BMD 100. Analysis of Type-B messages is accomplished by the implementation of Extended Backus extended grammars -Naur Form (EBNF) which are used to generate analyzers with an ANTLR structure. The 420 generated analyzers provide an event-driven callback mechanism that behaves similarly to a SAX analyzer, with event transmission and absorption as the analysis tree is traversed. Note that other analyzer technologies can be used in different embodiments.

Durant le processus d’analyse et de validation, une métadonnée est extraite de la charge de message pour une utilisation dans le routage en aval. La métadonnée extraite peut inclure une ou plusieurs des informations concernant les aéroports impliqués, LPC, adresses TTY, etc. Si des irrégularités relatives au format du message sont détectées empêchant un routage correct, ces erreurs seront identifiées et signalées par l’analyseur pour un usage ultérieur d’inspection et de rapport de message. L’analyseur 420 peut extraire une métadonnée, quel que soit le format d’origine du message.During the analysis and validation process, metadata is extracted from the message payload for use in downstream routing. The extracted metadata can include one or more information about the airports involved, LPC, TTY addresses, etc. If irregularities relating to the format of the message are detected preventing proper routing, these errors will be identified and reported by the analyzer for later use in inspection and message reporting. Analyzer 420 can extract metadata, regardless of the original format of the message.

Optionneilement, la passerelle 320 inclut un moyen de transformation canonique 430 pour transformer la métadonnée extraite par l’analyseur 420 en un espace de nom unique et un schéma pour chaque type de donnée pouvant être routée par le système. Dans un mode de réalisation, par exemple, chaque sous-type IATA1745 (p. ex. BSM, BPM, ou BTM) a son propre espace de nom, p. ex. com.amadeus.apt.bmd.bdm. Le schéma de métadonnée est interne au système décrit dans les présentes dans un mode de réalisation et est configuré pour identifier tous les attributs et structures imbriqués représentant un type de donnée. L’espace de nom com.amadeus.apt.bmd.iata peut, par exemple, inclure un schéma individuel pour BSM, BTM, BPM, etc. Celui-ci peut être basé sur la norme IATA 1745. Un identifiant complet est donc, dans un mode de réalisation, com.amadeus.apt.bmd.iata.bsm. On remarquera que le moyen de transformation canonique 430 n’a pas besoin d’opérer sur des messages reçus à la passerelle 320 pour une sortie vers le système externe 310, car le message devant sortir vers le système externe 310 est réassemblé par l’adaptateur de protocole 410.Optionally, the gateway 320 includes a canonical transformation means 430 for transforming the metadata extracted by the analyzer 420 into a unique namespace and a diagram for each type of data that can be routed by the system. In one embodiment, for example, each IATA1745 subtype (eg BSM, BPM, or BTM) has its own namespace, eg. ex. com.amadeus.apt.bmd.bdm. The metadata schema is internal to the system described herein in one embodiment and is configured to identify all of the nested attributes and structures representing a data type. The com.amadeus.apt.bmd.iata namespace can, for example, include an individual schema for BSM, BTM, BPM, etc. This can be based on the IATA 1745 standard. A complete identifier is therefore, in one embodiment, com.amadeus.apt.bmd.iata.bsm. It will be noted that the canonical transformation means 430 does not need to operate on messages received at the gateway 320 for an output to the external system 310, since the message to be output to the external system 310 is reassembled by the adapter protocol 410.

II est important de noter que bien que la passerelle 320 sera utilisée à la fois pour des flux entrant et sortant, chacun aura des problèmes de traitement distincts. Un flux sortant par exemple n’aura jamais besoin d’appliquer une logique de transformation canonique ou analytique. II est aussi possible pour une seule passerelle d’être comprise de plusieurs routes et extrémités différentes selon la demande du système client.It is important to note that although the gateway 320 will be used for both incoming and outgoing flows, each will have separate processing problems. An outgoing flow for example will never need to apply a canonical or analytical transformation logic. It is also possible for a single gateway to be comprised of several different routes and ends according to the request of the client system.

Figure 6 montre le flux de données à l’intérieur d’un routeur 300. Le routeur peut recevoir la métadonnée extraite d’un message. Alors que la destination de routage peut partiellement identifier la destination du message, les messages de gestion de bagages ont actuellement tendance à ne pas permettre d’identification sans ambiguité concernant les lieux de destination individuels. La destination fournie peut, par exemple, être seulement l’aérodrome vers lequel le bagage sera dirigé. Cependant, il peut n’y avoir pas plus de données précises disponibles concernant la destination. Le routage basé sur cette donnée de destination peut au mieux être capable de délivrer le message au lieu géographique correct. Cependant, une livraison plus précise n’est plus possible. Pour permettre un routage plus précis, les routeurs sont configurés pour inspecter la métadonnée et prendre des décisions de routage sur cette base. Pour faciliter ces décisions chaque routeur stocke, ou est connecté en mode de communication avec une mémoire qui stocke dans un espace physique séparé, des règles de routage basées sur le contenu et est configuré pour décider, sur la base du contenu du message tel qu’il est encodé sous forme de métadonnée et sur la base des informations reçues provenant du service de coordination, la voie de routage du message afin d’atteindre un service de destination particulier. Ce service de destination peut-être une passerelle de destination connectée un système externe particulier vers lequel le message interne doit être délivré sous la forme d’un message de sac.Figure 6 shows the data flow inside a router 300. The router can receive the metadata extracted from a message. While the routing destination can partially identify the destination of the message, baggage management messages currently tend not to allow unambiguous identification of individual destination locations. The destination provided may, for example, be only the aerodrome to which baggage will be directed. However, there may be no more specific data available regarding the destination. Routing based on this destination data may at best be able to deliver the message to the correct geographic location. However, more accurate delivery is no longer possible. To allow more precise routing, routers are configured to inspect metadata and make routing decisions based on it. To facilitate these decisions, each router stores, or is connected in communication mode with a memory which stores in a separate physical space, content-based routing rules and is configured to decide, based on the content of the message such as it is encoded in the form of metadata and on the basis of the information received from the coordination service, the route for routing the message in order to reach a particular destination service. This destination service may be a destination gateway connected to a particular external system to which the internal message must be delivered in the form of a bag message.

Par exemple, les règles de routage basées sur le contenu peuvent lier divers éléments d’information inclus dans la métadonnée d’une manière qui reflète spécifiquement les exigences de traitement dans un aéroport particulier. Un message peut par exemple être destiné à un aéroport particulier, dans lequel la métadonnée ne spécifie pas cependant un endroit particulier de l’aéroport, par exemple un terminal spécifique. Au moins si des terminaux différents de l’aéroport incluent une infrastructure physique ou des données distinctes, la livraison du message vers un terminal incorrect n’est pas souhaitable. Les règles de routage basées sur le contenu lient les entrées de métadonnée pour parfaire le routage à un niveau plus précis de granularité qu’il ne serait possible uniquement sur la base d’un seul élément de métadonnée. Une règle de routage basée sur du contenu peut par exemple définir vers quel terminal d’un aéroport de destination un message doit être routé sur la base d’informations du transporteur concerné par le message, sur la base d’un aéroport de destination finale si le message concerne l’escale d’un vol, etc.For example, content-based routing rules can link various pieces of information included in the metadata in a way that specifically reflects the processing requirements at a particular airport. A message can for example be intended for a particular airport, in which the metadata does not however specify a particular location of the airport, for example a specific terminal. At least if different terminals at the airport include separate physical infrastructure or data, delivering the message to the wrong terminal is not desirable. Content-based routing rules link metadata entries to fine-tune routing to a more precise level of granularity than would be possible on the basis of a single metadata element. A content-based routing rule can for example define to which terminal of a destination airport a message should be routed based on information from the carrier concerned by the message, based on a final destination airport if the message concerns the stopover of a flight, etc.

Le routage basé sur le contenu peut donc être défini comme un routage qui combine un nombre d’éléments d’information dans la métadonnée sur la base de certaines informations dans la métadonnée pour atteindre une granularité de routage plus affinée qu’il ne serait possible sur la base d’un élément d’information de la métadonnée ou sur le seul élément d’information de la métadonnée sur laquelle était basée la combinaison utilisée pour le routage.Content-based routing can therefore be defined as routing that combines a number of pieces of information in the metadata based on certain information in the metadata to achieve a more granular routing granularity than would be possible on the basis of a metadata information element or on the only metadata information element on which the combination used for routing was based.

Le routage basé sur le contenu peut, par exemple, être basé sur un aérodrome : par exemple la définition de routages peut être basée sur un aéroport de départ, plusieurs escales/points de transfert et sur la destination finale ; il peut être basé sur une compagnie aérienne, par exemple une définition de routages peut être basée sur les contraintes spécifiques d’une compagnie aérienne, d’un transporteur vs un opérateur dans les terminaux préférés, sur les vols intérieurs vs les vols internationaux basés sur une série de numéros de vols, par exemple les numéros de vols de 0001-3000 opèrent dans un terminal pour les vols intérieurs, mais les numéros 4000+ opèrent dans un terminal international ; il peut être basé sur le LPC (plaque d’immatriculation de l’étiquette de bagage), par exemple sur la base du préfixe LPC d’un BSM ou sur le LPC lui-même si un routage inverse d’un BPM est effectué en retour vers le système émetteur ; il peut être basé sur le type de message, par exemple la définition de routages est basée sur un type de donnée interne d’espace de nom (représentant un BSM, enregistrement de vols, etc.) pour cibler des systèmes spécifiques sur la base des types de données ou sur une quelconque combinaison de ceux-ci. On remarquera que les exemples de routage cités dans les présentes illustrent simplement certaines des nombreuses façons de combiner des éléments d’information de la métadonnée afin d’améliorer la granularité du routage.Content-based routing can, for example, be based on an aerodrome: for example, the definition of routes can be based on a departure airport, several stopovers / transfer points and on the final destination; it can be based on an airline, for example a definition of routes can be based on the specific constraints of an airline, a carrier vs an operator in preferred terminals, on domestic flights vs international flights based on a series of flight numbers, for example the flight numbers of 0001-3000 operate in a terminal for domestic flights, but the numbers 4000+ operate in an international terminal; it can be based on the LPC (luggage tag license plate), for example on the basis of the LPC prefix of a BSM or on the LPC itself if reverse routing of a BPM is performed return to the sending system; it can be based on the type of message, for example the definition of routes is based on an internal data type of namespace (representing a BSM, flight recording, etc.) to target specific systems on the basis of data types or any combination thereof. Note that the routing examples cited here simply illustrate some of the many ways to combine metadata information to improve the granularity of the routing.

L’information reçue du service de coordination peut inclure un ou plusieurs des éléments suivants :Information received from the coordination service may include one or more of the following:

- L’information concernant les types et lieux de services à la destination (dans l’exemple de la Figure 6 l’aérodrome de destination).- Information concerning the types and locations of services at the destination (in the example of Figure 6 the aerodrome of destination).

- L’information identifiant les systèmes dans l’aérodrome appartenant aux transporteurs concernés- Information identifying the systems in the aerodrome belonging to the carriers concerned

- L’information relative au lieu de l’équipement affecté à un vol particulier à l’aérodrome de destination.- Information relating to the location of the equipment assigned to a particular flight at the destination aerodrome.

Dans un mode de réalisation un ou plusieurs de chaque nœud 210 dans le système 100 maintient une réserve configurable de routeurs permettant le routage parallèle des messages provenant de chaque système connecté.In one embodiment, one or more of each node 210 in the system 100 maintains a configurable reserve of routers allowing parallel routing of messages from each connected system.

Dans un mode de réalisation, les routeurs 300 sont configurés pour les actualisations de règles de routage et d’adresses de service en temps réel. Le service de coordination est configuré pour diffuser l’information nécessaire pour ces mises à jour lorsqu’elles sont nécessaires et/ou disponibles. Le besoin pour les mises à jour peut survenir à la suite d’un événement, tel que l’échec d’un service ou d’un nœud entier dans le système 100. De cette manière, l’ensemble du mécanisme de publication de mises à jour peut être basé sur des événements.In one embodiment, the routers 300 are configured for updates to routing rules and service addresses in real time. The coordination service is configured to disseminate the information necessary for these updates when they are necessary and / or available. The need for updates may arise as a result of an event, such as the failure of a service or an entire node in system 100. In this way, the entire mechanism for publishing updates may be based on events.

Les règles de routage se conforment à un format qui peut être compilé de façon dynamique à l’intérieur du routeur. Que cette manière, les règles peuvent être modifiées de façon dynamique lors de l’exécution sans besoin de relancer ou de remplacer des composants.Routing rules conform to a format that can be dynamically compiled inside the router. That way, the rules can be changed dynamically at runtime without the need to relaunch or replace components.

Figure 7 illustre un flux de messages dans le système BMD 100. Après qu’un message d’origine a été reçu, à une passerelle entrante/source 320 à l’étape 500, il est traité par l’analyseur 420 faisant partie de la passerelle 320, à l’étape 510. La charge brute du message est stockée dans le journal de transactions 270 à l’étape 520 et le message interne analysé est envoyé au routeur pour transmission vers sa destination à l’étape 530. Chaque message contient un identifiant de transaction unique ainsi que la métadonnée concernant la charge message. Puisque l’identifiant de transaction peut être utilisé ultérieurement pour récupérer la charge entière de message dans un stockage permanent, un message passant par la portion de routage et de livraison du système est une représentation extrêmement allégée des données complètes du message. Optionnellement, en cas de besoin, la charge complète d’origine peut aussi être attachée au message. Pour faciliter la récupération de données clés par les utilisateurs clients ainsi que le personnel opérationnel, les données du message stockées incluent, dans un mode de réalisation, un Identifiant de Système Externe, un Identifiant de Message (LPC, etc.), la compagnie aérienne (provenance DCS) concernée, l’aéroport concerné, la voix de livraison, les horaires de livraison, les indications d’erreur et les relances de comptage. On remarquera que cette liste n’est pas restrictive et qu’en plus d’autres données peuvent être stockées. La voix de livraison est déterminée par le routeur d’origine et tous les autres routeurs y adhèrent.Figure 7 illustrates a message flow in the BMD 100 system. After an original message has been received, at an incoming / source gateway 320 in step 500, it is processed by the analyzer 420 forming part of the gateway 320, in step 510. The gross load of the message is stored in the transaction log 270 in step 520 and the analyzed internal message is sent to the router for transmission to its destination in step 530. Each message contains a unique transaction identifier as well as the metadata concerning the message load. Since the transaction identifier can be used later to retrieve the entire message load in permanent storage, a message passing through the routing and delivery portion of the system is an extremely streamlined representation of the complete message data. Optionally, if necessary, the original full charge can also be attached to the message. To facilitate the recovery of key data by client users as well as operational staff, the stored message data includes, in one embodiment, an External System Identifier, a Message Identifier (LPC, etc.), the airline (DCS origin) concerned, the airport concerned, the delivery voice, the delivery times, error indications and metering reminders. Note that this list is not restrictive and that in addition other data can be stored. The delivery voice is determined by the original router and all other routers join it.

Seulement après que le message a été stocké dans le journal de transactions et transmis au routeur, l’analyseur 420 est alerté du message, tel qu’il est accepté par la passerelle entrante/source 320, à l’étape 540. À son tour, la passerelle entrante/source 320 ne fait qu’accuser réception du message à la source à l’étape 550, suite à la réception d’une indication d’acceptation provenant de l’analyseur 420.Only after the message has been stored in the transaction log and transmitted to the router, the analyzer 420 is alerted to the message, as it is accepted by the incoming / source gateway 320, in step 540. In turn , the inbound / source gateway 320 only acknowledges receipt of the message at the source in step 550, following the receipt of an acceptance indication from the analyzer 420.

Comme indiqué, chaque routeur 300 comprend une file d’attente de services 340. Les messages internes reçus au routeur 300 en provenance de l’analyseur 420 sont stockés dans la file d’attente du routeur 340 pour traitement, récupérés à l’étape 560 et acheminés par le routeur 300 à l’étape 570 vers la file d’attente de la passerelle de destination 350. En remarquera que ce routage peut impliquer un routage via un nombre de nœuds 210. Alors que les services de passerelle sont fournis dans un mode de réalisation, ils ne sont utilisés que pour la communication avec des systèmes externes. Tous les services internes d’un groupement peuvent communiquer les uns avec les autres directement sans devoir passer par la passerelle de services. Dans un mode de réalisation, les routeurs 300 de ces nœuds communiquent via une passerelle de service 320 intervenante. Dans un autre mode de réalisation, les nœuds 210 et les routeurs 300 dans ces nœuds 210 sont configurés pour permettre une communication directe entre les routeurs 300.As indicated, each router 300 includes a service queue 340. The internal messages received at the router 300 from the analyzer 420 are stored in the queue of the router 340 for processing, retrieved in step 560. and routed by the router 300 in step 570 to the queue of the destination gateway 350. Note that this routing can involve routing via a number of nodes 210. While the gateway services are provided in a embodiment, they are only used for communication with external systems. All internal services in a group can communicate with each other directly without having to go through the service gateway. In one embodiment, the routers 300 of these nodes communicate via an intervening service gateway 320. In another embodiment, the nodes 210 and the routers 300 in these nodes 210 are configured to allow direct communication between the routers 300.

Une fois que le message interne a progressé dans la file d’attente de la passerelle de destination 320 il est récupéré par la passerelle de destination et converti dans un format de messages de sac qui, on le sait, est attendu par la destination (un système de traitement de bagage BHS dans le cas de la Figure 6) à l’étape 580, avant la livraison à destination et l'accusé réception par la destination à l’état 590.Once the internal message has progressed in the queue of the destination gateway 320 it is retrieved by the destination gateway and converted into a bag message format which, as we know, is expected by the destination (a BHS baggage handling system in the case of Figure 6) in step 580, before delivery to the destination and the acknowledgment by the destination in state 590.

Figure 8 montre en détail de quelle manière les données sont stockées dans le journal de transactions 270 au fur et à mesure que les messages sont routés de la passerelle entrante 320 à la passerelle sortante 320. Après que le message d’origine a été reçu à la passerelle 320, sa charge est stockée dans sa forme brute sur la base de la couche de transport de réception (c.-à-d. avant de commencer l’analyse) dans le journal de transactions 270 avec un ID de transmission unique pour le message. Au fur et à mesure que le message interne (maintenant modifié) progresse sous sa route de livraison vers la (les) passerelle(s) sortante(s) 320, chaque nœud de routeur 300 stocke un horodatage indiquant que le processus a bien été effectué par le nœud/composant auquel la tâche de mise en œuvre était confiée. La passerelle entrante stocke aussi la ou les adresse(s) de destination associée(s) avec i’ID de transmission dans le journal de transactions 270. L’horodatage est seulement stocké après l’achèvement du processus auquel il est lié. Par conséquent il est possible de déterminer si oui ou non un message a été traité par la passerelle en 320 et si oui ou non le routage a été complété. Dans l’éventualité où il serait déterminé qu’un message en question n’est pas arrivé à destination, le message interne peut-être généré à nouveau sur la base des données brutes du message d’origine qui ont été stockées dans le journal transactions 270 par la passerelle entrante 320. Au cas où un routeur aurait besoin de se relancer après une défaillance, lorsque le routeur est à nouveau opérationnel en ligne tous les messages valides et non délivrés dans le journal de transactions seront rechargés pour traitement avec une priorité accordée aux messages actuels. Dans un mode de réalisation, une transaction est une étape de transmission d’un message d’un routeur à un autre. Dans un mode de réalisation, chaque transaction est affectée à un routeur spécifique. C’est ce routeur qui complétera les transactions qui lui ont été affectées suite à sa relance. Le système est configuré pour réaffecter des transactions à d’autres routeurs dans l’éventualité où un routeur compromis, auquel des transactions particulières ont été affectées, ne parvient pas à se relancer après un laps de temps prédéterminé.Figure 8 shows in detail how data is stored in the transaction log 270 as messages are routed from incoming gateway 320 to outgoing gateway 320. After the original message has been received at gateway 320, its load is stored in its raw form based on the receive transport layer (i.e. before starting the analysis) in transaction log 270 with a unique transmit ID for the message. As the internal message (now modified) progresses under its delivery route to outgoing gateway (s) 320, each router node 300 stores a time stamp indicating that the process has been completed by the node / component to which the implementation task was entrusted. The incoming gateway also stores the destination address (es) associated with the transmission ID in the transaction log 270. The time stamp is only stored after the completion of the process to which it is linked. Consequently, it is possible to determine whether or not a message has been processed by the gateway at 320 and whether or not the routing has been completed. In the event that it is determined that a message in question has not arrived at its destination, the internal message may be re-generated based on the raw data of the original message which has been stored in the transaction log. 270 by the incoming gateway 320. In the event that a router needs to restart after a failure, when the router is operational again online all valid messages not delivered in the transaction log will be reloaded for processing with priority granted to current messages. In one embodiment, a transaction is a step of transmitting a message from one router to another. In one embodiment, each transaction is assigned to a specific router. It is this router that will complete the transactions assigned to it following its restart. The system is configured to reassign transactions to other routers in the event that a compromised router, to which particular transactions have been assigned, fails to restart after a predetermined amount of time.

Le journal de transactions, de façon plus générale, contient des entrées qui détaillent les mouvements et les points de vérification actuels du flux de messages circulant dans le BMD. Cela inclut, sans restrictions, des états acceptés acheminés, délivrés, avec accusé réception, expirée, etc. ainsi que les charges brutes complètes entrantes et sortantes. De cette manière, le système 100 est configuré pour reconstruire entièrement le cycle de vie et le chemin traversé d’un message à un quelconque moment donné même après une récupération suite à une défaillance. Comme mentionné ci-dessus, le journal de transactions n’est mis à jour que seulement après avoir atteint avec succès un point de vérification pendant la propagation du message. Dans l’éventualité d’un scénario de récupération, le système 100 a une garantie que l’état du message est au moins actuel ou antérieur à la dernière tentative réussie au point de vérification dans le système. Cela empêche la perte de messages supposément délivrés. La pénalité encourue est au pire la duplication d’un seul message en aval d’un système après récupération.The transaction log, more generally, contains entries which detail the current movements and check points of the message flow circulating in the BMD. This includes, without restrictions, accepted reports routed, issued, with acknowledgment, expired, etc. as well as the complete incoming and outgoing gross loads. In this way, the system 100 is configured to completely reconstruct the life cycle and the path traversed by a message at any given time even after recovery from a failure. As mentioned above, the transaction log is only updated after it has successfully reached a checkpoint during the propagation of the message. In the event of a recovery scenario, the system 100 has a guarantee that the message status is at least current or prior to the last successful attempt at the check point in the system. This prevents the loss of supposedly delivered messages. The penalty incurred is at worst the duplication of a single message downstream of a system after recovery.

Dans un mode de réalisation, le journal de transactions 270 prend la forme d’un prend la forme d’un registre répliqué d’engagement disponible pour tous les nœuds dans le groupement dans l’ensemble du stockage attaché à un réseau. Dans un mode de réalisation, les enregistrements entrés dans le journal ont un niveau bas et un format simple. Cela permet l’utilisation d’une connectivité brute de base de données Java (JDBC), réduisant les fonctions techniques. Concernant ce qui précède, on remarquera qu’aucun accès de données partagées n’est nécessaire pour un quelconque enregistrement. Le système 100 évite par conséquent les dépendances intertransactions et atteint une production élevée de données parallèles.In one embodiment, the transaction log 270 takes the form of a replicated commitment register available to all nodes in the pool across all storage attached to a network. In one embodiment, the records entered in the journal have a low level and a simple format. This allows the use of raw Java database connectivity (JDBC), reducing technical functions. Regarding the above, it should be noted that no shared data access is necessary for any recording. The system 100 therefore avoids inter-transaction dependencies and achieves high production of parallel data.

Bien que l’invention soit illustrée par une description de divers modes de réalisation et bien que ces modes de réalisation soient décrits de façon très détaillée, il n’est pas de l’intention du demandeur de restreindre ou de limiter, de quelque façon que ce soit, l’étendue des revendications des présentes à ces détails. Des avantages supplémentaires et des modifications possibles apparaîtront aisément aux hommes de métier. L’invention sous un angle plus large n’est donc pas limitée aux détails spécifiques, aux procédés et aux appareils représentatifs, et aux illustrations montrées et décrites à titre d’exemple.Although the invention is illustrated by a description of various embodiments and although these embodiments are described in great detail, it is not the intention of the applicant to restrict or limit in any way that is, the scope of the claims herein to these details. Additional advantages and possible modifications will be readily apparent to those skilled in the art. The invention from a wider angle is therefore not limited to specific details, representative processes and apparatus, and to the illustrations shown and described by way of example.

Claims (15)

REVENDICATIONS 1. Un point d’accès pour un système de traitement de message d’un bagage comprenant :1. An access point for a baggage message processing system comprising: une interface entrée/sortie adaptée pour se connecter à un système externe ; un convertisseur configuré pour convertir un message reçu via l’interface entrée/sortie et/ou un message devant être transmis via l’interface entrée/sortie dans un format prédéterminé ;an input / output interface adapted to connect to an external system; a converter configured to convert a message received via the input / output interface and / or a message to be transmitted via the input / output interface in a predetermined format; un extracteur configuré pour extraire une métadonnée à partir d’un message converti ; et une unité de transmission et/ou de réception configurée pour transmettre et/ou recevoir un autre message comprenant la métadonnée extraite et l’information associée relative à l’adresse.an extractor configured to extract metadata from a converted message; and a transmission and / or reception unit configured to transmit and / or receive another message comprising the extracted metadata and the associated information relating to the address. 2. Un point d’accès selon la revendication 1, comprenant en outre un adaptateur configuré pour accéder à une base de données stockant un ou plusieurs protocoles de communication et pour convertir le format des messages sur la base desdits protocoles stockés.2. An access point according to claim 1, further comprising an adapter configured to access a database storing one or more communication protocols and to convert the format of messages on the basis of said stored protocols. 3. Un point d’accès selon îa revendication 2, dans lequel ledit adaptateur est configuré pour lier une métadonnée reçue via l’unité de transmission/réception à un message qui doit être envoyé via l’interface entrée/sortie conformément à un protocole de communication stocké.3. An access point according to claim 2, wherein said adapter is configured to link metadata received via the transmission / reception unit to a message which is to be sent via the input / output interface according to a communication protocol. stored communication. 4. Un point d’accès selon l’une quelconque des revendications précédentes dans lequel l’extracteur est un analyseur qui émet et absorbe des événements au fur et à mesure qu’un arbre d’analyse est traversé.4. An access point according to any one of the preceding claims in which the extractor is an analyzer which emits and absorbs events as an analysis tree is crossed. 5. Un point d’accès selon l’une quelconque des revendications précédentes dans lequel il est par ailleurs configuré pour créer un message devant être envoyé via l’unité de transmission/réception en combinant une métadonnée extraite avec un ID de transaction unique.5. An access point according to any one of the preceding claims in which it is further configured to create a message to be sent via the transmission / reception unit by combining an extracted metadata with a unique transaction ID. 6. Un système de traitement de message d’un bagage comprenant une pluralité de points d’accès selon l’une quelconque des revendications précédentes et un ou plusieurs routeurs configurés pour router un message reçu par une unité de transmission/réception d’un point d’accès sur la base au moins en partie du contenu de la métadonnée qui forme une partie du message.6. A baggage message processing system comprising a plurality of access points according to any one of the preceding claims and one or more routers configured to route a message received by a point transmission / reception unit access based at least in part on the content of the metadata that forms part of the message. 7. Un système de traitement de message d’un bagage selon la revendication 6, dans lequel chaque routeur est configuré pour router des messages conformément à des règles de routage, le routeur étant configuré pour compiler de façon dynamique lesdites règles de routage immédiatement avant ou au moment de leur utilisation.7. A baggage message processing system according to claim 6, wherein each router is configured to route messages according to routing rules, the router being configured to dynamically compile said routing rules immediately before or at the time of use. 8. Un système de traitement de message d’un bagage selon la revendication 6 ou 7, dans lequel est compris un stockage distribué pour stocker les messages reçus de l’interface entrée/sortie d’un point d’accès ainsi que l’information indiquant un état de routage des messages associés transmis par l’unité de transmission/réception du point d’accès.8. A baggage message processing system according to claim 6 or 7, in which is included a distributed storage for storing the messages received from the input / output interface of an access point as well as the information indicating a routing state of the associated messages transmitted by the transmission / reception unit of the access point. 9. Un système de traitement de message d’un bagage selon la revendication 8 dans lequel ladite information comprend un suivi historique complet du routage du message associé.9. A baggage message processing system according to claim 8 wherein said information comprises a complete historical tracking of the routing of the associated message. 10. Un système de traitement de message d’un bagage selon la revendication 8 ou 9, dans lequel chaque routeur est configuré, au redémarrage, pour accéder au stockage distribué et router des messages pour lesquels les états associés de routage indiquent que le routage est incomplet.10. A baggage handling system according to claim 8 or 9, in which each router is configured, on restart, to access the distributed storage and route messages for which the associated routing states indicate that the routing is incomplete. 11. Un système de traitement de message d’un bagage selon l’une quelconque des revendications 8 à 10, dans lequel le stockage distribué est accessible par une pluralité de routeurs.11. A baggage message processing system according to any of claims 8 to 10, wherein the distributed storage is accessible by a plurality of routers. 12. Un système de traitement de message d’un bagage selon l’une quelconque des revendications 6 à 11, dans lequel il est configuré pour associer un point d’accès avec chaque client logique avec lequel la communication doit être établie.12. A baggage message processing system according to any one of claims 6 to 11, in which it is configured to associate an access point with each logical client with which communication is to be established. 13. Un système de traitement de message d’un bagage selon l’une quelconque des revendications 6 à 12, dans lequel une configuration permet de tracer l’emplacement des éléments individuels d’un bagage en traçant les messages qui comprennent une métadonnée identifiant l’élément et reçu des points d’accès dont la localisation est connue.13. A baggage message processing system according to any one of claims 6 to 12, in which a configuration makes it possible to trace the location of the individual elements of a baggage by tracing the messages which include a metadata identifying the element and received from access points whose location is known. 14. Un procédé de communication d’un message entre un système de traitement de message d’un bagage et un système extérieur au système de traitement de bagage d’un message, le procédé comprenant :14. A method of communicating a message between a baggage handling system and a system external to a baggage handling system, the method comprising: la réception d’un message en provenance du système externe via une interfacereceiving a message from the external system via an interface 5 entrée/sortie ;5 input / output; la conversion du message reçu dans un format prédéterminé ; l’extraction d’une métadonnée du message converti ; et la transmission au système de traitement de message de bagage, d’un message comprenant la métadonnée extraite et l’information d’adresse associée.converting the received message into a predetermined format; extracting metadata from the converted message; and transmitting a message comprising the extracted metadata and the associated address information to the baggage message processing system. 10 15. Un produit-programme d’ordinateur comprenant des instructions d'ordinateur exécutables qui, lorsqu’elles sont exécutées par un processeur, amène un point d’accès pour un système de traitement de message d’un bagage à :10 15. A computer program product comprising executable computer instructions which, when executed by a processor, brings an access point for a baggage message processing system to: accepter via une interface entrée/sortie un message provenant d’un système externe ;accept a message from an external system via an input / output interface; 15 convertir le message reçu dans un format prédéterminé ;Converting the received message into a predetermined format; extraire la métadonnée du message converti ; et transmettre au système de traitement de message de bagage, un message comprenant la métadonnée extraite et l’information d’adresse associée.extract the metadata of the converted message; and transmitting to the baggage message processing system a message comprising the extracted metadata and the associated address information.
FR1755401A 2017-06-15 2017-06-15 LUGGAGE MESSAGING SYSTEM AND METHOD Active FR3067838B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR1755401A FR3067838B1 (en) 2017-06-15 2017-06-15 LUGGAGE MESSAGING SYSTEM AND METHOD
EP18177588.3A EP3416109A1 (en) 2017-06-15 2018-06-13 Baggage messaging handling system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1755401A FR3067838B1 (en) 2017-06-15 2017-06-15 LUGGAGE MESSAGING SYSTEM AND METHOD
FR1755401 2017-06-15

Publications (2)

Publication Number Publication Date
FR3067838A1 true FR3067838A1 (en) 2018-12-21
FR3067838B1 FR3067838B1 (en) 2021-10-29

Family

ID=60450723

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1755401A Active FR3067838B1 (en) 2017-06-15 2017-06-15 LUGGAGE MESSAGING SYSTEM AND METHOD

Country Status (1)

Country Link
FR (1) FR3067838B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0705012A2 (en) * 1994-09-20 1996-04-03 AT&T Corp. Computer network gateway
WO1999033226A1 (en) * 1997-12-18 1999-07-01 Michael Coveley Intelligent communication server and communication system incorporating same
US20040025117A1 (en) * 2002-07-19 2004-02-05 Commerce One Operations, Inc. Registry driven interoperability and exchange of documents
US20050201304A1 (en) * 2004-03-12 2005-09-15 Robert Olshansky Signaling mediation agent
US20080130682A1 (en) * 2006-12-01 2008-06-05 Ty Akadiri System and method for communication over an adaptive service bus
US20090193096A1 (en) * 2008-01-24 2009-07-30 International Business Machines Corporation System and product for role-based tag management for collaborative services integrated within an soa

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0705012A2 (en) * 1994-09-20 1996-04-03 AT&T Corp. Computer network gateway
WO1999033226A1 (en) * 1997-12-18 1999-07-01 Michael Coveley Intelligent communication server and communication system incorporating same
US20040025117A1 (en) * 2002-07-19 2004-02-05 Commerce One Operations, Inc. Registry driven interoperability and exchange of documents
US20050201304A1 (en) * 2004-03-12 2005-09-15 Robert Olshansky Signaling mediation agent
US20080130682A1 (en) * 2006-12-01 2008-06-05 Ty Akadiri System and method for communication over an adaptive service bus
US20090193096A1 (en) * 2008-01-24 2009-07-30 International Business Machines Corporation System and product for role-based tag management for collaborative services integrated within an soa

Also Published As

Publication number Publication date
FR3067838B1 (en) 2021-10-29

Similar Documents

Publication Publication Date Title
Aksakalli et al. Deployment and communication patterns in microservice architectures: A systematic literature review
CN107431664B (en) Message transmission system and method
Daya et al. Microservices from theory to practice: creating applications in IBM Bluemix using the microservices approach
US10198298B2 (en) Handling multiple task sequences in a stream processing framework
Kakivaya et al. Service fabric: a distributed platform for building microservices in the cloud
Smit et al. Distributed, application-level monitoring for heterogeneous clouds using stream processing
US8856800B2 (en) Service-level enterprise service bus load balancing
US20200233877A1 (en) Transformation configuration in instance data replication with bi-directional replication support
CA2847749A1 (en) Marketplace for timely event data distribution
Achar Cloud-based System Design
JP6067714B2 (en) Scale-out system that acquires event data
CN116489214A (en) Unified service scheduling method, device, medium and equipment based on micro service gateway
Böhm et al. Cloud-edge orchestration for smart cities: A review of kubernetes-based orchestration architectures
Sneps-Sneppe et al. On mobile cloud for smart city applications
US20230283695A1 (en) Communication Protocol for Knative Eventing's Kafka components
US20230017632A1 (en) Reducing the environmental impact of distributed computing
Coppolino et al. Effective QoS monitoring in large scale social networks
FR3067838A1 (en) SYSTEM AND METHOD FOR PROCESSING BAGGAGE MESSAGING
Latif et al. Characterizing the architectures and brokering protocols for enabling clouds interconnection
US10135718B2 (en) Service pack deployment in a method and system for providing answers to requests
Narayanan et al. OpenCDN: An ICN-based open content distribution system using distributed actor model
Vanneste et al. Distributed uniform streaming framework: towards an elastic fog computing platform for event stream processing
Pham et al. Multi-level just-enough elasticity for MQTT brokers of Internet of Things applications
US10812379B2 (en) Baggage messaging handling systems and methods
Tomczak et al. Development of service composition by applying ICT service mapping

Legal Events

Date Code Title Description
PLSC Publication of the preliminary search report

Effective date: 20181221

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7