FR3067490A1 - TREATMENT OF MULTINOUS MESSAGES - Google Patents
TREATMENT OF MULTINOUS MESSAGES Download PDFInfo
- Publication number
- FR3067490A1 FR3067490A1 FR1755105A FR1755105A FR3067490A1 FR 3067490 A1 FR3067490 A1 FR 3067490A1 FR 1755105 A FR1755105 A FR 1755105A FR 1755105 A FR1755105 A FR 1755105A FR 3067490 A1 FR3067490 A1 FR 3067490A1
- Authority
- FR
- France
- Prior art keywords
- message
- envelope
- messages
- target
- standard
- 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
Links
- 238000010200 validation analysis Methods 0.000 claims abstract description 127
- 238000012545 processing Methods 0.000 claims abstract description 90
- 230000004044 response Effects 0.000 claims abstract description 72
- 230000006870 function Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 107
- 230000008859 change Effects 0.000 claims description 81
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 80
- 238000012163 sequencing technique Methods 0.000 description 45
- 238000012790 confirmation Methods 0.000 description 15
- 230000001419 dependent effect Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Des messages sont traités sur un système de messagerie distribuée par un moteur de traitement de messages. Des cibles de message fonctionnent selon une première norme ou à une seconde norme héritée. En réponse à la réception d une indication de validation d une base de données, une enveloppe de messages est générée pour chaque cible de message devant être notifiée comme étant fonctionnelle selon la première norme et au moins à l un des messages dans chaque enveloppe de messages; Les dépendances d enveloppe de messages entre les enveloppes de message générées pour une même cible de message sont calculées. Les dépendances de message entre les messages dans chaque enveloppe de messages sont calculées sur la base au moins de la norme des messages de l enveloppe respective de messages et des fonctions des messages. Les messages sont envoyés à la cible respective de message dans une séquence basée sur les dépendances d enveloppe de messages et sur les dépendances des messages.Messages are processed on a messaging system distributed by a message processing engine. Message targets operate according to a first standard or a second inherited standard. In response to receiving a validation indication from a database, a message envelope is generated for each message target to be notified as being functional according to the first standard and at least one of the messages in each message envelope. ; The message envelope dependencies between the message envelopes generated for the same message target are calculated. The message dependencies between the messages in each message envelope are calculated based at least on the message standard of the respective message envelope and message functions. The messages are sent to the respective message target in a sequence based on the message envelope dependencies and the message dependencies.
Description
TRAITEMENT DE MESSAGES MULTINORMESPROCESSING MULTINORM MESSAGES
DOMAINE DE L’INVENTIONFIELD OF THE INVENTION
L’invention présente relève de façon générale du traitement de message. Plus spécifiquement, l’invention présente vise le traitement de messages en respectant les dépendances entre les messages et l’ordre des messages.The present invention generally relates to message processing. More specifically, the present invention aims at processing messages while respecting the dependencies between the messages and the order of the messages.
CONTEXTECONTEXT
Selon l’art antérieur, divers systèmes de traitement de messages sont connus.According to the prior art, various message processing systems are known.
US 7,240,097 B2 décrit un système qui est capable de préserver l’ordre des messages pour un traitement parallèle. Ce système de messagerie traite des messages saisis immédiatement dès la réception et préserve l’ordre des messages saisis lorsque les messages sont envoyés aux destinations.US 7,240,097 B2 describes a system which is capable of preserving the order of messages for parallel processing. This messaging system processes messages entered immediately upon receipt and preserves the order of messages entered when messages are sent to destinations.
US 8,200,765 B2 décrit un système centralisé dans lequel les messages sont mis en file d’attente dans un ordre sur la base d’une valeur de primordialité des messages, p. ex. les messages les plus cruciaux sont prioritaires sur les messages moins cruciaux. Des files d’attente d’entrées et de sorties sont utilisées. Le système proposé est mis en œuvre à la façon d’un système distribué/parallèle avec une connexion à une base de données centralisée ou des files d’attente de sortie sont utilisées dans chaque serveur de nœuds d’un parc. L’ordre des messages est calculé avant que les messages ne soient placés dans la file d’attente de sortie.US 8,200,765 B2 describes a centralized system in which messages are queued in order based on a message primacy value, p. ex. the most crucial messages take priority over the less crucial messages. Entry and exit queues are used. The proposed system is implemented like a distributed / parallel system with a connection to a centralized database or output queues are used in each node server in a fleet. Message order is calculated before messages are placed in the output queue.
US 2007/0124398 Al est capable d’envoyer des messages à des récepteurs en fonction d’un identifiant de séquence attribué. Le procédé proposé peut établir la priorité des messages qui sont générés pour une enveloppe et les enveloppes sont connectées les unes aux autres en utilisant les identifiants de séquence.US 2007/0124398 Al is capable of sending messages to receivers based on an assigned sequence identifier. The proposed method can prioritize the messages that are generated for an envelope and the envelopes are connected to each other using the sequence identifiers.
US 7,680,793 B2 envoie des messages dans un ordre basé sur l’horodatage d’une validation. Les messages sont envoyés dans un ordre basé à la fois sur une valets· commerciale et sur l’horodatage de validation.US 7,680,793 B2 sends messages in an order based on the validation timestamp. Messages are sent in an order based on both a commercial valet and the validation timestamp.
US 8,875,155 B2 gère les ordres des messages pour des groupes de messages.US 8,875,155 B2 manages the orders of the messages for groups of messages.
EP 2 811 437 propose un système SOA pour séquencer les messages entrant, en particulier pour les messages basés sur HTTP (protocole de transfert hypertexte), SOAP (protocole d’accès à un objet simple) ou XML (langage de balisage extensible).EP 2,811,437 proposes an SOA system for sequencing incoming messages, in particular for messages based on HTTP (hypertext transfer protocol), SOAP (simple object access protocol) or XML (extensible markup language).
Par ailleurs, certaines normes de messages sont connues telles que le télétype, ou brièvement, les messages TTY. Par exemple, P 2254046 Bl décrit un séquencement de messages TTY afin de déterminer un ordre d’envoi des messages TTY.Furthermore, certain message standards are known such as the teletype, or briefly, TTY messages. For example, P 2254046 Bl describes a sequencing of TTY messages in order to determine an order in which TTY messages are sent.
En outre, la norme relative à la « Nouvelle Capacité de Distribution », plus brièvement désignée NDC ci-après, a été émise par IATA, l’International Air Transport Association en 2015. NDC est un format de distribution pour les compagnies aériennes pour le développement et l’adoption par le marché d’une norme de transmission de données basée sur XML entre compagnies aériennes et systèmes de distribution globale (GDS). NDC permet par exemple aux compagnies aériennes de répondre directement à des demandes de consultation d’offres en provenance d’agents de voyage, afin de gérer le traitement de commandes et de permettre de véritables comparaisons d’offres. NDC n’est ni un système ni un logiciel ni une base de données, mais une norme pour l’échange d’informations entre compagnies aériennes et agents de voyage.In addition, the “New Distribution Capacity” standard, more briefly referred to as NDC below, was issued by IATA, the International Air Transport Association in 2015. NDC is a distribution format for airlines for the development and adoption by the market of a data transmission standard based on XML between airlines and global distribution systems (GDS). NDC, for example, allows airlines to respond directly to requests for consultation of offers from travel agents, in order to manage order processing and allow real comparison of offers. NDC is not a system, software or database, but a standard for the exchange of information between airlines and travel agents.
RÉSUMÉABSTRACT
Il s’agit d’un objet fournissant un système de traitement de messages capable de traiter à la fois des messages conformes à un format hérité et des messages conforme à un successeur du format hérité, p. ex. un nouveau format, tout en assurant que les messages conformes aux deux formats sont envoyés à des récepteurs dans un ordre correct de message. Spécifiquement, il s’agit d’un objet fournissant un système de traitement de messages qui peut traiter de façon homogène des messages, basés sur XML selon la norme NDC et sur un format hérité tel que TTY.It is an object providing a message processing system capable of processing both messages conforming to a legacy format and messages conforming to a successor to the legacy format, eg. ex. a new format, while ensuring that messages conforming to both formats are sent to receivers in the correct message order. Specifically, it is an object providing a message processing system that can process messages uniformly, based on XML according to the NDC standard and on a legacy format such as TTY.
NDC permet qu’une validation de changement de base de données déclenche de multiples messages à une cible de message. Ces messages peuvent être de types différents, peuvent être soumis à des procédés d’envoi différents et peuvent avoir une certaine dépendance et causalité. Il s’agit donc d’un objet fournissant un système de messagerie qui prend en charge des flux de messages NDC et en même temps est inversement compatible avec des systèmes de messages hérités dotés de fonctionnalités plus simples, de sorte que les deux types de flux de messages sont pris en charge de façon intégrée et homogène, et non comme deux systèmes indépendants de messagerie.NDC allows a database change validation to trigger multiple messages to a message target. These messages can be of different types, can be submitted to different sending methods and can have a certain dependence and causality. It is therefore an object providing a messaging system that supports NDC message flows and at the same time is inversely compatible with legacy message systems with simpler functionality, so both types of flows messages are supported in an integrated and seamless manner, not as two independent messaging systems.
Par ailleurs, il s’agit d’un objet fournissant un système de messagerie ouvert et extensible et qui peut ainsi prendre en charge les futures normes de messages pouvant accommoder une gamme encore plus large de fonctionnalités que la norme NDC.Furthermore, it is an object providing an open and extensible messaging system and which can thus support future message standards that can accommodate an even wider range of features than the NDC standard.
Selon un premier aspect, un procédé est fourni pour le traitement des messages dans un système de messagerie distribuée par un moteur de traitement de messages. Au moins une cible de message d’une pluralité de cibles de message opère selon une première norme et au moins une cible de message de la pluralité des cibles de message opère selon une seconde norme héritée. Le procédé estmis en œuvre par un moteur de traitement de messages.In a first aspect, a method is provided for processing messages in a distributed messaging system by a message processing engine. At least one message target of a plurality of message targets operates according to a first standard and at least one message target of the plurality of message targets operates according to a second inherited standard. The method is implemented by a message processing engine.
Une pluralité d’indications de validations de base de données est reçue, dans laquelle chaque indication de validation de base de données indique un changement dans un enregistrement d’une base de données. En réponse à la réception d’une indication de validation de base de données provenant de la pluralité d’indications de validations de base de données, une enveloppe de messages est générée pour chaque cible de message devant être notifiée, opérant selon la première norme et au moins un message dans chaque enveloppe de messages est généré.A plurality of database validation indications are received, wherein each database validation indication indicates a change in a record of a database. In response to the receipt of a database validation indication from the plurality of database validation indications, a message envelope is generated for each message target to be notified, operating according to the first standard and at least one message in each message envelope is generated.
Les dépendances d’enveloppe de messages entre les enveloppes de message générées pour une même cible de message sont calculées. Les dépendances des enveloppes de message définissent un ordre des enveloppes de message pour la même cible de message.The message envelope dependencies between the message envelopes generated for the same message target are calculated. Message envelope dependencies define an order of message envelopes for the same message target.
Les dépendances de message entre les messages dans chaque enveloppe de messages sont calculées sur la base au moins de la norme des messages de l’enveloppe respective de messages et des fonctions des messages. Les dépendances des enveloppes de message définissent un ordre des messages dans chaque enveloppe respective.The message dependencies between the messages in each message envelope are calculated based at least on the message standard of the respective message envelope and the message functions. Message envelope dependencies define an order of messages in each respective envelope.
Les messages sont envoyés à la cible respective de message dans une séquence basée sur les dépendances d’enveloppe de messages et sur les dépendances des messages.The messages are sent to the respective message target in a sequence based on the message envelope dependencies and the message dependencies.
Selon un second aspect, un système de messagerie, arrangé pour mettre en œuvre le procédé cidessus, est fourni.In a second aspect, a messaging system, arranged to implement the above process, is provided.
Selon un troisième aspect, un produit-programme d’ordinateur qui met en œuvre le procédé cidessus lorsqu’il est exécuté sur un ordinateur est fourni.In a third aspect, a computer program product that implements the above process when executed on a computer is provided.
DESCRIPTION SOMMAIRE DES DESSINSSUMMARY DESCRIPTION OF THE DRAWINGS
L’invention présente sera décrite en faisant référence aux dessins qui l’accompagnent. Des numéros de référence similaires indiquent généralement des éléments identiques ou similaires sur le plan fonctionnel.The present invention will be described with reference to the accompanying drawings. Similar reference numbers generally indicate identical or functionally similar elements.
FIGS. 1, 2, 3 et 4 sont des organigrammes pour un procédé de traitement de messages sur le plan fonctionnel comme décrit par les présentes.FIGS. 1, 2, 3 and 4 are flow diagrams for a method of processing messages functionally as described herein.
FIG. 5 est une représentation visuelle des dépendances au niveau de l’enveloppe de messages et au niveau du message telles qu’elles sont définies par le système de traitement de messages décrit dans les présentes.FIG. 5 is a visual representation of the dependencies at the message envelope and at the message level as defined by the message processing system described herein.
FIG. 6 est une représentation visuelle exemplaire, orientée-processus, du système de traitement de messages.FIG. 6 is an exemplary, process-oriented visual representation of the message processing system.
FIG. 7 illustre un matériel d’architecture exemplaire pour le système de traitement de messages.FIG. 7 illustrates exemplary architectural hardware for the message processing system.
FIGS. 8 et 9 sont des organigrammes plus détaillés d’une implémentation exemplaire du traitement de message et de la dépendance.FIGS. 8 and 9 are more detailed flowcharts of an exemplary implementation of message processing and dependency.
FIG. 10 est un organigramme détaillé d’une implémentation exemplaire d’un processus d’envoi de message.FIG. 10 is a detailed flow diagram of an exemplary implementation of a message sending process.
FIGS. 11, 12, et 13 montrent des états différents d’un tableau contenant des enveloppes de message et des messages, ainsi que les dépendances entre les enveloppes de message et les messages.FIGS. 11, 12, and 13 show different states of a table containing message envelopes and messages, as well as the dependencies between message envelopes and messages.
FIG. 14 est une vue schématique exemplaire de l’architecture interne d’un tableau de base de données et/ou d’un client demandeur.FIG. 14 is an exemplary schematic view of the internal architecture of a database table and / or of a requesting client.
DESCRIPTION DÉTAILLÉEDETAILED DESCRIPTION
Avant d’expliquer un exemple d’implémentation plus spécifique par rapport aux FIGS. 6 et 14, quelques aspects généraux seront d’abord discutés en référence aux FIGS. 1 à 5.Before explaining an example of a more specific implementation compared to FIGS. 6 and 14, some general aspects will first be discussed with reference to FIGS. 1 to 5.
De façon générale, l’ordre des messages devant être envoyé aux cibles de message et un aspect qui doit être adressé dans le système de traitement de messages. Par exemple, un ordre correct de messages de réservation doit être maintenu pour les flux d’information dans un GDS. Par exemple, une réservation (simple réservation) dans une base de données d’un système de réservation est modifiée dans une ou plusieurs validations de changement. Un récepteur est supposé recevoir les notifications correspondantes du changement de réservation sous forme d’un échange de messages, spécifiquement de ces validations de changement, dans l’ordre, afin de maintenir la cohérence des données dans l’ensemble du système. Si l’ordre des validations de changement est modifié, une divergence ou une incohérence pourrait survenir entre des enregistrements de GDS et/ou des systèmes des compagnies aériennes. Par exemple, une agence de voyages effectue une annulation de vol, puis effectue une nouvelle réservation pour le même vol à une date différente, via deux validations subséquentes de changement. Le client, c.-à-d. la compagnie aérienne, a besoin de recevoir le message d’annulation en premier et, seulement après, un message pour la nouvelle réservation de vol pour que la synchronisation soit correcte. Donc, une séquence de messages correcte envoyée à la cible du message garantit que la réservation reste cohérente entre une source de réservation et une cible de réservation afin d’éviter toute possibilité d’anomalie d’enregistrement.Generally, the order of messages to be sent to message targets and an aspect to be addressed in the message processing system. For example, a correct order of reservation messages must be maintained for information flows in a GDS. For example, a reservation (simple reservation) in a database of a reservation system is modified in one or more change confirmations. A receiver is expected to receive corresponding notifications of the reservation change in the form of an exchange of messages, specifically of these change validations, in order, in order to maintain data consistency across the system. If the order of change approvals is changed, a discrepancy or inconsistency could arise between GDS records and / or airline systems. For example, a travel agency cancels a flight and then makes a new reservation for the same flight on a different date, via two subsequent change confirmations. The client, i.e. the airline needs to receive the cancellation message first and only afterwards a message for the new flight reservation for synchronization to be correct. Therefore, a correct sequence of messages sent to the target of the message ensures that the reservation remains consistent between a reservation source and a reservation target in order to avoid any possibility of recording anomalies.
De nos jours, dans les flux de messagerie tels que les flux de synchronisation de réservations d’un GDS, habituellement - pour une cible de message - au plus un message TTY par validation de changement d’un enregistrement de réservation (désigné comme enveloppe de fin de transaction pour un enregistrement de nom de passager, autrement dit un PNR) est généré pour échanger des changements entre nœuds de GDS. Un procédé dédié pour un contexte traditionnel TTY a été proposé par EP 2254046 B1. Cependant dans le contexte des réservations NDC, le scénario change, car des implémentations de normes NDC sont habituellement envisagées pour déclencher de multiples messages pour une validation de changement d’un enregistrement de réservation à des cibles de message opérant conformément aux spécifications NDC et implémentant ainsi les caractéristiques NDC. Ces multiples messages peuvent être de type de message différent (TTY, XML, au même d’autres types dans le futur), avoir des fonctions de messagerie différentes (telles que l’ajout ou la suppression de messages), des procédés d’envoi (synchrone : le message est envoyé et une réponse de confirmation est reçue au cours de la même session, puis la session est fermée une fois que la livraison réussie du message est constatée ; ou asynchrone : la session est fermée du côté de l’émetteur le message est envoyé, la réponse de confirmation est renvoyée à l’émetteur au cours d’une autre session), ils peuvent utiliser des protocoles de réseau et de transmission variés (tels que HTTP/SOAP) et aussi des priorités d’envoi qui définissent les relations entre les messages. Aussi, les flux de messages TTY hérités sont toujours assurés par les systèmes de traitement de messages, c.-à-d. les systèmes de traitement de messages doivent être inversement compatibles, car les flux TTY et les flux NDC coexisteront pour synchroniser les enregistrements de réservation. Dans le but d’obtenir de la robustesse, une compatibilité inverse, et de maintenir la stabilité, un nouveau mécanisme de traitement de messages est donc recherché.Nowadays, in messaging flows such as GDS reservation synchronization flows, usually - for a message target - at most one TTY message per validation of change of a reservation record (designated as end of transaction for a passenger name registration, in other words a PNR) is generated to exchange changes between nodes of GDS. A dedicated process for a traditional TTY context has been proposed by EP 2254046 B1. However, in the context of NDC reservations, the scenario changes, as NDC standards implementations are usually considered to trigger multiple messages for validation of change from a reservation record to message targets operating in accordance with NDC specifications and thus implementing NDC characteristics. These multiple messages can be of different message type (TTY, XML, even other types in the future), have different messaging functions (such as adding or deleting messages), sending methods (synchronous: the message is sent and a confirmation response is received during the same session, then the session is closed once the successful delivery of the message is observed; or asynchronous: the session is closed on the sender's side the message is sent, the confirmation response is sent back to the sender in another session), they can use various network and transmission protocols (such as HTTP / SOAP) and also send priorities which define the relationships between messages. Also, legacy TTY message flows are still provided by message processing systems, i.e. message processing systems must be inversely compatible, since TTY flows and NDC flows will coexist to synchronize reservation records. In order to obtain robustness, reverse compatibility, and maintain stability, a new message processing mechanism is therefore sought.
Pour résumer, ce nouveau mécanisme de traitement de messages doit traiter le problème des séquences de messages dans le contexte des réservations NDC dans lequel de multiples messages qui peuvent avoir une relation de dépendance les uns par rapport aux autres sont déclenchés par une validation de changement et ont donc besoin d’être envoyés à une cible de message dans un ordre bien défini. Le nouveau traitement de message permet aussi d’adresser le problème d’intégration des flux de messages NDC et des flux TTY hérités dans un seul cadre générique de traitement de message qui synchronise l’enregistrement de réservation dans un mode hybride dans lequel TTY, XML ou d’autres types de messages sont utilisés.In summary, this new message processing mechanism must address the problem of message sequences in the context of NDC reservations in which multiple messages which may be dependent on each other are triggered by change validation and therefore need to be sent to a message target in a well-defined order. The new message processing also makes it possible to address the problem of integrating NDC message flows and TTY legacy flows into a single generic message processing framework which synchronizes the reservation record in a hybrid mode in which TTY, XML or other types of messages are used.
Pour adresser ces problèmes, il est proposé de traiter les messages et de gérer les ordres de messages d’une façon intégrée contrairement à la gestion de flux de messages hérités et de flux de messages NDC par deux systèmes séparés et indépendants de traitement de messages. Faisant référence à la FIG. 1, des messages sont traités dans un système de messagerie distribuée par un moteur de traitement de message.To address these problems, it is proposed to process messages and manage message orders in an integrated manner unlike the management of legacy message flows and NDC message flows by two separate and independent message processing systems. Referring to FIG. 1, messages are processed in a messaging system distributed by a message processing engine.
Le système de messagerie distribuée inclut de multiples types de cibles de message. Au moins une cible de message d’une pluralité de cibles de message opère selon une première norme et au moins une cible de message de la pluralité des cibles de message opère selon une seconde norme héritée. Le terme cible de message tel qu’il est utilisé dans les présentes inclut des destinations de message à des niveaux variés, incluant de larges systèmes tels qu’un système de distribution globale (GDS) ; un système de contrôle des départs (DCS), un réseau de zone étendue (WAN), ou un réseau de zone locale (LAN) d’une entreprise particulière, par exemple une compagnie aérienne ainsi que des stations réceptrices individuelles.The distributed messaging system includes multiple types of message targets. At least one message target of a plurality of message targets operates according to a first standard and at least one message target of the plurality of message targets operates according to a second inherited standard. The target message term as used herein includes message destinations at various levels, including large systems such as a global distribution system (GDS); a departure control system (DCS), a wide area network (WAN), or a local area network (LAN) of a particular company, such as an airline as well as individual receiving stations.
Dans certain mode de réalisation, des cibles de message opérant selon la première norme sont entièrement inversement compatibles et opèrent donc aussi selon la seconde norme, c.-à-d. qu’elles sont arrangées pour traiter aussi des messages selon la seconde norme, alors que les cibles de message qui opèrent selon la seconde norme sont des cibles de message héritées qui n’implémentent pas la première norme et sont donc incapables de traiter des messages selon la seconde norme. Ainsi, une référence à la première norme mentionnée dans les présentes comprend généralement la première norme et la seconde norme et les messages respectifs conformes à la première et à la seconde norme, alors qu’une référence à la seconde norme mentionnée dans les présentes ne comprend que les cibles de message et les messages conformes à la seconde norme.In some embodiment, message targets operating according to the first standard are entirely inversely compatible and therefore also operate according to the second standard, i.e. that they are arranged to also process messages according to the second standard, whereas the message targets which operate according to the second standard are inherited message targets which do not implement the first standard and are therefore incapable of processing messages according to the second standard. Thus, a reference to the first standard mentioned herein generally includes the first standard and the second standard and the respective messages conforming to the first and second standards, while a reference to the second standard mentioned herein does not include than message targets and messages conforming to the second standard.
Faisant à nouveau référence à la FIG. 1 et à la FIG. 2, une pluralité d’indications de validation de bases de données est reçue par le moteur de traitement de messages. Chaque indication de validation de base de données indique un changement d’un enregistrement de base de données. Une indication de validation de base de données est un contenu de tous les changements faits à un enregistrement de base de données tel qu’un enregistrement de nom de passager (PNR), entre une demande de récupération et une validation de base de données finalisant les changements de l’enregistrement de base de données dans la base de données qui est située en amont du moteur de traitement de messages. Par conséquent, chaque fois qu’un changement est validé dans la base de données en amont, une indication de validation de changement de base de données est générée et publiée au moteur de traitement de messages. Les indications de validation de base de données alimentent ainsi le moteur de traitement de messages.Referring again to FIG. 1 and in FIG. 2, a plurality of database validation indications is received by the message processing engine. Each database validation indication indicates a change to a database record. A database validation indication is a content of all changes made to a database record such as a passenger name record (PNR), between a retrieval request and a database validation finalizing the changes to the database record in the database which is located upstream of the message processing engine. Therefore, each time a change is committed to the upstream database, a database change validation indication is generated and published to the message processing engine. The database validation indications thus feed the message processing engine.
En réponse à la réception d’une indication de validation de base de données provenant de la pluralité d’indications de validation de base de données, une enveloppe de messages est générée pour chaque cible de message devant être notifiée selon la première norme et au moins un message dans chaque enveloppe de messages est généré au 4. Une enveloppe de messages telle qu’elle est utilisée dans les présentes est une occurrence spéciale d’un message qui n’est pas envoyé, mais qui constitue un groupement référentiel de messages d’une enveloppe de messages. Cela est similaire aux systèmes de fichiers où un répertoire, ou dossier est une occurrence particulière d’un fichier groupant tous les fichiers situés dans le répertoire. L’ensemble d’une enveloppe de messages et de ses messages est aussi désigné dans les présentes comme étant une liste de messages.In response to receiving a database validation indication from the plurality of database validation indications, a message envelope is generated for each message target to be notified according to the first standard and at least a message in each message envelope is generated on 4. A message envelope as used herein is a special occurrence of a message that is not sent, but constitutes a repository grouping of messages from an envelope of messages. This is similar to file systems where a directory, or folder is a particular occurrence of a file grouping all the files located in the directory. The entire message envelope and its messages are also referred to herein as a message list.
Généralement, le moteur de traitement de messages détermine les cibles de message qui sont affectées par une indication de validation de base de données reçue et génère une enveloppe de messages pour chaque cible de message affectée devant être notifiée qui opère selon la première norme. Tous les messages dans une enveloppe de messages sont adressés à cette cible de message et seront envoyés à la cible de message dans un ordre bien défini. Afin de déterminer et d’assurer l’ordre d’envoi, des dépendances à des niveaux différents sont introduites, notamment la dépendance d’une enveloppe de messages au niveau de l’enveloppe de messages et une dépendance de niveau de message au niveau du message. Les dépendances d’enveloppe de messages définissent un ordre pour toutes les enveloppes de messages générées pour une certaine cible de message. Les dépendances de messages définissent l’ordre d’un message dans une certaine enveloppe de messages.Generally, the message processing engine determines the message targets which are affected by a received database validation indication and generates a message envelope for each affected message target to be notified which operates according to the first standard. All messages in a message envelope are addressed to this message target and will be sent to the message target in a well-defined order. In order to determine and ensure the sending order, dependencies at different levels are introduced, in particular the dependency of a message envelope on the level of the message envelope and a dependency of message level on the level of the message. Message envelope dependencies define an order for all message envelopes generated for a certain message target. Message dependencies define the order of a message in a certain message envelope.
Par conséquent, la génération d’enveloppes de messages et de messages dans les enveloppes de messages implique aussi un calcul des dépendances de l’enveloppe de messages entre les enveloppes de messages générées pour une même cible de message, au 6, et les dépendances de messages entre les messages dans chaque enveloppe de messages au 8.Consequently, the generation of message envelopes and of messages in the message envelopes also involves a calculation of the dependencies of the message envelope between the message envelopes generated for the same message target, at 6, and the dependencies of messages between messages in each message envelope at 8.
Généralement, une enveloppe de messages créée pour une indication de validation de base de données est calculée au 6, pour être dépendante d’autres enveloppes de messages déjà existantes pour la même cible de message, c.-à-d. que les enveloppes de message qui ont déjà été générées précédemment pour cette cible de message en réponse à la réception antérieure d’un message de validation de base de données. Par conséquent, les enveloppes de messages pour une certaine cible de message sont ordonnées sur la base d’un ordre de réception des messages de validation de base de données affectant ladite certaine cible de message.Generally, a message envelope created for a database validation indication is calculated at 6, to be dependent on other already existing message envelopes for the same message target, i.e. than the message envelopes that have already been generated previously for this message target in response to the previous receipt of a database validation message. Therefore, message envelopes for a certain message target are ordered based on an order of receipt of database validation messages affecting said certain message target.
D’autre part, les dépendances de messages sont calculées au 8, sur la base au moins de la norme des messages de l’enveloppe respective de messages et des fonctions des messages. En particulier les messages de la première norme peuvent être classés selon des fonctions différentes (également désignées comme « nom de message » ci-dessous) par exemple : ajout de message ajoute un enregistrement, suppression de message supprime un enregistrement, division de messages divise un enregistrement, et autres.On the other hand, message dependencies are calculated at 8, at least on the basis of the message standard of the respective message envelope and the message functions. In particular, messages of the first standard can be classified according to different functions (also designated as “message name” below) for example: adding a message adding a record, deleting a message deleting a record, dividing messages divides a recording, and others.
Une carte de dépendances d’un message désigne les relations établies entre des enveloppes de messages spécifiques et des messages et qui sont valides à un certain moment dans le temps. Les cartes de dépendances de messages sont conservées par le moteur de traitement de messages dans un ou plusieurs tableaux de base de données. Les messages sont envoyés au 10, par le moteur de traitement de messages à la cible de message respective, dans une séquence basée sur les dépendances d’enveloppe de messages et sur les dépendances de message.A message dependency map refers to the relationships established between specific message envelopes and messages that are valid at a certain point in time. Message dependency maps are kept by the message processing engine in one or more database tables. The messages are sent to 10, by the message processor to the respective message target, in a sequence based on the message envelope dependencies and the message dependencies.
En plus des différents types de cibles de message, différents types de systèmes de base de données générant les indications de validation de base de données peuvent être présents dans le système de messagerie distribuée. Un type de système de base de données opère selon la première (nouvelle) norme et peut produire des indications de validation de base de données déjà conformes à la première norme (et, pour des raisons de compatibilité inverse, aussi des indications de validation de base de données conformes à la seconde norme). Un autre type de système de base de données opère toujours uniquement selon la seconde norme héritée et produit ainsi uniquement des indications de validation de base de données héritées.In addition to the different types of message targets, different types of database systems that generate database validation indications may be present in the distributed messaging system. One type of database system operates according to the first (new) standard and can produce indications of database validation already conforming to the first standard (and, for reasons of reverse compatibility, also indications of basic validation data compliant with the second standard). Another type of database system always operates only according to the second legacy standard and thus only produces indications of legacy database validation.
En fonction de la source d’un message de validation de base de données (un système de base de données opérant selon la première norme ou une opération de système de base de données selon la seconde norme héritée) et en fonction du type de cible de message devant être notifiée (une cible de message opérant selon la première norme ou une cible de message opérant selon la seconde norme héritée) il est possible de différencier différents cas de traitement de message.Depending on the source of a database validation message (a database system operating according to the first standard or a database system operation according to the second inherited standard) and according to the target type of message to be notified (a message target operating according to the first standard or a message target operating according to the second inherited standard) it is possible to differentiate different cases of message processing.
Un premier cas, représenté visuellement par la FIG. 2, suppose qu’une indication de validation de base de données reçue au 11 est une première indication de validation de base de données de la pluralité d’indications de validations de base de données provenant d’un système de base de données qui opère selon la première norme. Dans certains modes de réalisation, cette indication de validation de base de données est signalée comme indication de validation de base de données conforme à la première norme, p. ex. par une balise, ainsi que cela est expliqué par ailleurs ci-dessous. En réponse à la réception d’une indication de validation de base de données conforme à la première norme, le moteur de traitement de messages génère une enveloppe de messages pour chaque cible de message conforme à la première norme devant être notifiée et génère au moins un message dans chaque enveloppe de messages.A first case, represented visually by FIG. 2, assumes that a database validation indication received at 11 is a first database validation indication of the plurality of database validation indications from a database system which operates in accordance with the first standard. In some embodiments, this database validation indication is signaled as a database validation indication according to the first standard, e.g. ex. by a tag, as explained elsewhere below. In response to receiving a database validation indication conforming to the first standard, the message processing engine generates a message envelope for each message target conforming to the first standard to be notified and generates at least one message in each message envelope.
Ici, deux sous-cas peuvent être distingués. Pour chacune des cibles de message devant être notifiées en implémentant la première norme, désignées brièvement comme premières cibles de message, une première enveloppe de messages respective est générée au 12, chacune d’entre elles inclut habituellement une pluralité de premiers messages interdépendants devant être relayés à la première cible respective de message opérant selon la première norme. La pluralité des premiers messages interdépendants est spécifiée comme étant conforme à la première norme (qui comprend aussi généralement les messages conformes aux seconds messages conformes à la seconde norme pour des raisons de compatibilité inverse déjà expliquées cidessus). Pour chaque cible de message devant être notifiée en implémentant la seconde norme héritée, brièvement désignée comme secondes cibles de message, un second message (un par cible de message) devant être relayé à la seconde cible de message opérant selon la seconde norme est généré au 13. Le second message est spécifié comme étant conforme à la seconde norme héritée.Here, two sub-cases can be distinguished. For each of the message targets to be notified by implementing the first standard, briefly designated as the first message targets, a respective first message envelope is generated at 12, each of which usually includes a plurality of first interdependent messages to be relayed to the respective first message target operating according to the first standard. The plurality of first interdependent messages is specified as conforming to the first standard (which also generally includes messages conforming to the second messages conforming to the second standard for reasons of reverse compatibility already explained above). For each message target to be notified by implementing the second inherited standard, briefly designated as second message targets, a second message (one per message target) to be relayed to the second message target operating according to the second standard is generated at 13. The second message is specified as conforming to the second legacy standard.
Le moteur de traitement de messages calcule ensuite, les dépendances d’enveloppe de messages entre la première enveloppe de messages et d’autres enveloppes de messages déjà en attente pour la première cible de message au 14. Les dépendances des enveloppes de messages définissent l’ordre des enveloppes de messages pour la première cible de message.The message processing engine then calculates, the message envelope dependencies between the first message envelope and other message envelopes already waiting for the first message target at 14. The message envelope dependencies define the message envelope order for the first message target.
Le moteur de traitement de messages calcule par ailleurs, les dépendances de message entre les premiers messages de la première enveloppe de messages sur la base au moins de la première cible de message et des fonctions des premiers messages au 15. Les dépendances de messages définissent l’ordre des messages dans chaque enveloppe de messages.The message processing engine also calculates the message dependencies between the first messages of the first message envelope based at least on the first message target and the functions of the first messages on the 15th. The message dependencies define the of messages in each message envelope.
Les premiers messages sont ensuite envoyés à la première cible de message au 16, dans une séquence basée sur les dépendances d’enveloppe de messages et sur les dépendances de messages.The first messages are then sent to the first message target at 16, in a sequence based on the message envelope dependencies and the message dependencies.
Concernant les seconds messages générés pour les cibles de message implémentant la seconde norme héritée, ces messages sont, soit envoyés directement s’il n’y a plus de messages en attente pour la cible de message concernée ou, lorsque d’autres messages sont en attente pour la cible de message, une dépendance de niveau de message est calculée. Dans le deuxième cas, les seconds messages sont envoyés dans une séquence en fonction de la dépendance calculée de niveau de message.Concerning the second messages generated for the message targets implementing the second inherited standard, these messages are either sent directly if there are no more messages waiting for the message target concerned or, when other messages are in waiting for the message target, a message level dependency is calculated. In the second case, the second messages are sent in a sequence according to the calculated dependency of message level.
Un second cas représenté visuellement par la FIG. 3 suppose qu’une indication de validation de base de données reçue au 17 est une seconde indication de validation de base de données de la pluralité d’indications de validations de base de données provenant d’un système de base de données qui opère selon la seconde norme héritée. Dans certains modes de réalisation, cette indication de validation de base de données n’inclut pas un signalement indiquant la première norme et le système de traitement de messages interprète ainsi que l’indication de validation de base de données est une indication selon la seconde norme héritée.A second case visually represented by FIG. 3 assumes that a database validation indication received at 17 is a second database validation indication of the plurality of database validation indications from a database system which operates according to the second inherited standard. In some embodiments, this database validation indication does not include a signal indicating the first standard and the message processing system interprets as well as the database validation indication is an indication according to the second standard inherited.
En réponse à la réception d’une seconde indication de validation de base de données de la pluralité d’indications de validations de base de données provenant d’un système de base de données hérité qui opère selon la seconde norme, le moteur de traitement de messages génère au 18 un message pour chaque cible de message devant être notifiée et associe potentiellement le message pour chaque cible de message à une enveloppe existante de messages pour la cible respective, sous réserve qu’au moins une enveloppe de messages pour la cible de message ait été générée dans le passé et soit toujours en attente. Généralement, puisque le message de validation de la seconde base de données est conforme à la seconde norme héritée, uniquement les messages respectifs conformes à la seconde norme sont générés par le moteur de traitement de messages. En d’autres termes, une indication de validation de base de données conforme à la seconde norme héritée ne cause ni une génération d’enveloppe de messages ni une génération de messages conformes la première norme.In response to receiving a second database validation indication of the plurality of database validation indications from a legacy database system operating according to the second standard, the processing engine messages generates at 18 a message for each message target to be notified and potentially associates the message for each message target with an existing message envelope for the respective target, provided that at least one message envelope for the message target has been generated in the past and is still pending. Generally, since the validation message of the second database conforms to the second inherited standard, only the respective messages conforming to the second standard are generated by the message processing engine. In other words, a database validation indication conforming to the legacy second standard does not cause either a generation of message envelopes or a generation of messages conforming to the first standard.
Dans les deux cas, pour les cibles de message opérant selon la première norme et pour les cibles de message opérant selon la seconde norme héritée, le moteur de traitement de messages génère un message formaté selon la seconde norme, ci-après désigné comme troisième message. Pour chaque cible de message, dont il est déterminé au 19, qu’elle n’a aucune enveloppe de messages et/ou messages en attente, le troisième message généré selon la seconde norme est envoyé immédiatement, au 20, sans aucun calcul de dépendance de message.In both cases, for message targets operating according to the first standard and for message targets operating according to the second inherited standard, the message processing engine generates a message formatted according to the second standard, hereinafter referred to as the third message. . For each message target, of which it is determined at 19, that it has no message envelope and / or pending messages, the third message generated according to the second standard is sent immediately, to 20, without any dependency calculation message.
Pour les cibles de message dont il est déterminé au 19 qu’elle a une enveloppe de messages en attente et/ou au moins un message en attente, le message généré conforme à la seconde norme héritée est généralement associé à l’enveloppe de messages en attente ou, si aucune enveloppe de messages n’est en attente, est inclus dans la séquence des messages en attente. Dans ce cas, le moteur de traitement de messages calcule au 21 une dépendance de message du troisième message sur la base au moins de la première cible de message et sur le fait que le troisième message est un message conforme à la seconde norme héritée. La dépendance de message calculée définit l’emplacement du troisième message dans la séquence des autres messages de l’enveloppe de messages en attente pour la cible de message visée.For message targets of which it is determined in 19 that it has a message waiting envelope and / or at least one message waiting, the message generated in accordance with the second inherited standard is generally associated with the message envelope in pending or, if no message envelope is pending, is included in the sequence of pending messages. In this case, the message processing engine calculates at 21 a message dependency of the third message based at least on the first message target and on the fact that the third message is a message conforming to the second inherited standard. The calculated message dependency defines the location of the third message in the sequence of other messages in the message waiting envelope for the target message target.
Par exemple, si la cible de message visée opère selon la première norme, c.-à-d. qu’elle est une première cible de message, une première enveloppe avec les premiers messages est peut-être déjà en attente. Dans ce cas, le troisième message est généralement inclus dans l’enveloppe de messages et une dépendance de message est calculée liant les premiers messages au troisième message. Au 22, les premiers messages et le troisième message sont envoyés à la première cible de message dans une séquence basée sur les dépendances d’enveloppes de messages et sur les dépendances de messages.For example, if the intended message target operates according to the first standard, i.e. that it is a first message target, a first envelope with the first messages may already be pending. In this case, the third message is usually included in the message envelope and a message dependency is calculated linking the first messages to the third message. At 22, the first messages and the third message are sent to the first message target in a sequence based on message envelope dependencies and on message dependencies.
Dans des cas particuliers, p. ex. si la plus haute priorité, par rapport à tous les autres messages dans la première enveloppe de messages, est attribuée au troisième message, aucune dépendance de messages n’est calculée, car le troisième message peut être envoyé directement.In special cases, p. ex. if the highest priority is given to the third message, relative to all other messages in the first message envelope, no message dependency is calculated because the third message can be sent directly.
Faisant référence à la FIG. 4, optionnellement, une valeur de priorité donnée est attribuée au 24 à chacune des pluralités de messages interdépendants en fonction au moins de la norme du message et du type de message. La dépendance de message entre les messages avec une enveloppe de messages est calculée au 25 sur la base des valeurs de priorité attribuées. Un exemple de tableau définissant les valeurs de priorité sera par ailleurs présenté plus loin.Referring to FIG. 4, optionally, a given priority value is assigned to 24 for each of the pluralities of interdependent messages as a function at least of the standard of the message and of the type of message. The message dependency between messages with a message envelope is calculated at 25 based on the priority values assigned. An example of a table defining the priority values will also be presented later.
Optionnellement, un message est envoyé au 26 en réponse à la détermination que le message est indépendant de tout autre message dans l’enveloppe de messages du message et que l’enveloppe de messages du message est indépendante de toute autre enveloppe de messages. Par ailleurs, optionnellement, la dépendance de message du message envoyé et la dépendance de message du message qui suit dans l’ordre des messages dans l’enveloppe de messages du message sont mises à jour au 27. Comme il le sera expliqué de façon plus détaillée ci-dessous, cette mise à jour pourrait, le cas échéant, rendre le message suivant dans l’enveloppe de messages indépendant et donc prêt à être envoyé.Optionally, a message is sent to 26 in response to the determination that the message is independent of any other message in the message envelope of the message and that the message envelope of the message is independent of any other message envelope. In addition, optionally, the message dependency of the message sent and the message dependency of the message that follows in the order of the messages in the message envelope of the message are updated to 27. As will be explained in more detail detailed below, this update could, if necessary, make the next message in the message envelope independent and therefore ready to be sent.
Si le dernier message envoyé était le dernier message de l’enveloppe de messages actuelle, la dépendance d’enveloppe de message du dernier message envoyé est mise à jour et, de même, la dépendance d’enveloppe de message de l’enveloppe de messages suivante dans l’ordre des enveloppes de messages est mise à jour. Cette mise à jour complète le traitement de l’enveloppe de messages du dernier message envoyé et l’enveloppe de messages suivante devient indépendante et, par conséquent, le premier message de l’enveloppe de messages suivante devient également indépendant aussi et donc prête à être envoyée.If the last message sent was the last message in the current message envelope, the message envelope dependency of the last message sent is updated and, likewise, the message envelope dependence of the message envelope next in the order of the message envelopes is updated. This update completes the processing of the message envelope of the last message sent and the next message envelope becomes independent and, therefore, the first message of the following message envelope also becomes independent too and therefore ready to be sent.
Optionnellement, la première norme est conforme à la nouvelle norme de capacité de distribution (NDC) émise par IATA.Optionally, the first standard complies with the new distribution capacity standard (NDC) issued by IATA.
Dans certains modes de réalisation, les méthodologies décrites dans les présentes, p. ex. un système de synchronisation de réservation GDS de messages hérités TT Y s’étendent à un ensemble de messages hybrides : messages TTY, messages XML et potentiellement d’autres messages.In some embodiments, the methodologies described herein, p. ex. a GDS reservation synchronization system of legacy TT Y messages extends to a set of hybrid messages: TTY messages, XML messages and potentially other messages.
Une vue de haut niveau du traitement des messages est illustrée par la FIG. 5. À titre d’exemple, un scénario de segment de vol « annulé-réservé à nouveau » est survenu dans les indications de validation de changement 34 de l’enregistrement de réservation B. Des indications de validation de changement B2 et B3 sont reçues au cours d’un processus de séquencement et de génération de messages 42 provenant d’un processus de réservation GDS 32. Une indication de validation de changement B2 indique une annulation du segment de vol XX123 pour l’enregistrement de réservation B, une indication de validation de changement B3 indique l’ajout d’un segment de vol XXI23 à l’enregistrement de réservation B. Le processus de séquencement et de génération de messages 42 reçoit aussi des validations de changement 34 pour d’autres enregistrements de réservation conservés par le processus de réservation GDS 32, telles que les validations de changement AO, A2 et A3 relatives à un autre enregistrement de réservation A.A high-level view of message processing is illustrated in FIG. 5. As an example, a “canceled-re-booked” flight segment scenario occurred in change validation indications 34 of reservation record B. Change validation indications B2 and B3 are received during a sequencing and message generation process 42 from a GDS reservation process 32. A change validation indication B2 indicates a cancellation of flight segment XX123 for the reservation record B, an indication of change validation B3 indicates the addition of a flight segment XXI23 to the reservation record B. The sequencing and message generation process 42 also receives change validations 34 for other reservation records kept by the GDS 32 reservation process, such as AO, A2 and A3 change validations for another A reservation record.
Idéalement les indications de validation de changement 34 sont produites par le processus de réservation GDS 32 d’une manière ordonnée. Cependant, cela peut ne pas être toujours le cas, comme illustré dans l’exemple pour les validations de changement relatives à l’enregistrement de réservation A qui sont envoyées par le processus de réservation GDS 32 dans l’ordre AO, A3, A2, Al. Le processus de réservation GDS 32 peut à l’origine provenir de deux systèmes de base de données différents, notamment un système de base de données opérant selon la première norme (p. ex. gérant l’enregistrement de réservation B) et un autre système de base de données opérant selon la seconde norme héritée (p. ex., gérant l’enregistrement de réservation A) comme cela a été expliqué ci-dessus.Ideally the change validation indications 34 are produced by the GDS reservation process 32 in an orderly fashion. However, this may not always be the case, as illustrated in the example for change confirmations relating to reservation record A which are sent by the reservation process GDS 32 in the order AO, A3, A2, Al. The GDS 32 reservation process may originate from two different database systems, in particular a database system operating according to the first standard (eg managing reservation record B) and a other database system operating according to the second legacy standard (eg, managing reservation record A) as explained above.
En réponse à la réception des indications de validations de changement 34 du flux exemplaire « annulé-réservé à nouveau » concernant l’enregistrement de réservation B (ainsi que d’autres validations de changement 34 relatives à d’autres enregistrements de réservation), le processus de séquencement et de génération de messages 42 reconnaît que ces indications de validations de changement 34 du flux exemplaire « annulé-réservé à nouveau » concernant l’enregistrement de réservation B sont des validations de changement conformes à une norme de pointe telle que la norme NDC (c.-à-d. la première norme, contrairement à la seconde norme héritée). Par exemple, les indications de validations de changement 34 du flux exemplaire « annulé-réservé à nouveau » concernant l’enregistrement de réservation B contiennent un indicateur spécial qui les identifie comme des indications de validations de changement NDC.In response to the receipt of indications of change validations 34 from the exemplary flow “canceled-reserved again” concerning reservation record B (as well as other change validations 34 relating to other reservation records), the message sequencing and generation process 42 recognizes that these indications of change validations 34 of the “canceled-re-reserved” exemplary flow relating to reservation record B are change validations conforming to a leading standard such as the standard NDC (i.e., the first standard, unlike the second legacy standard). For example, the change validation indications 34 of the "canceled-re-reserved" exemplary flow relating to reservation record B contain a special indicator which identifies them as indications of change validation NDC.
En réponse à la reconnaissance qu’une indication de validation de changement 34 est une validation de changement NDC, le processus de séquencement et de génération de messages 42 crée une enveloppe de messages 36 pour chaque cible de message devant être notifiée, ici la cible de message 49a opérant selon la première norme telle que NDC, et un ou de multiples messages 38 appartenant à l’enveloppe de messages 36. L’enveloppe de messages groupe ledit ou les multiples messages relatifs à l’indication de validation NDC reconnue et devant être envoyés à la cible de message 49a. Par ailleurs, le processus de séquencement et de génération de messages 42 établit des dépendances à deux niveaux, notamment au niveau d’une enveloppe de messages ainsi qu’au niveau du message. Les dépendances aux deux niveaux sont aussi désignées ci-après comme cartes de dépendances.In response to the recognition that a change validation indication 34 is an NDC change validation, the message sequencing and generation process 42 creates a message envelope 36 for each message target to be notified, here the target of message 49a operating according to the first standard such as NDC, and one or multiple messages 38 belonging to the message envelope 36. The message envelope groups said one or more messages relating to the recognized NDC validation indication and which must be sent to message target 49a. Furthermore, the message sequencing and generation process 42 establishes dependencies at two levels, in particular at the level of a message envelope as well as at the level of the message. The dependencies at the two levels are also referred to below as dependency maps.
Le but de créer une enveloppe de messages 36 est de gérer et de déterminer si et quand les messages de cette enveloppe de messages peuvent être envoyés, c.-à-d. si les messages de l’enveloppe de messages 36 n’ont aucune dépendance envers d’autres messages 38 qui sont générés par d’autres validations de changement 34. Dans ce sens, d’un point de vue fonctionnel, une enveloppe de messages 36 constitue un nœud de référence pour tous les messages 38 appartenant à cette enveloppe de messages 36 (les enveloppes de messages sont donc aussi abrégées par la lettre « R » ci-après).The purpose of creating a message envelope 36 is to manage and determine if and when messages in this message envelope can be sent, i.e. if the messages of the message envelope 36 have no dependence on other messages 38 which are generated by other change validations 34. In this sense, from a functional point of view, a message envelope 36 constitutes a reference node for all the messages 38 belonging to this message envelope 36 (the message envelopes are therefore also abbreviated by the letter "R" below).
Une nouvelle enveloppe de messages créée 36 est incluse dans une carte de dépendances au niveau de l’enveloppe de messages potentiellement déjà existante si une ou plusieurs autres enveloppes de messages est/sont déjà présentes pour la cible de message concernée 49a. Dans l’exemple de la FIG. 3, une indication de validation de changement B2 indiquant l’annulation du segment de vol XX123 est reçue par le processus de séquencement et de génération de messages 42. Le processus de séquencement et de génération de messages 42 détermine que la cible de message 49a doit être notifiée et crée une enveloppe de messages R2 et trois messagesA new message envelope created 36 is included in a dependency map at the level of the potentially already existing message envelope if one or more other message envelopes is / are already present for the concerned message target 49a. In the example of FIG. 3, a change validation indication B2 indicating the cancellation of the flight segment XX123 is received by the message sequencing and generation process 42. The message sequencing and generation process 42 determines that the message target 49a must be notified and create an R2 message envelope and three messages
2.1 XML ; 2.2 XML et 2.3 TTY appartenant à l’enveloppe de messages R2.2.1 XML; 2.2 XML and 2.3 TTY belonging to the R2 message envelope.
Ensuite, une indication de validation de changement B3 est reçue. Le processus de séquencement et de génération de messages 42 détermine à nouveau que la cible de message 49a doit être notifiée et crée une autre enveloppe de messages R3 avec un ensemble de messagesThen, a change validation indication B3 is received. The message sequencing and generation process 42 again determines that the message target 49a is to be notified and creates another message envelope R3 with a set of messages
3.1 XML, 3.2 XML et 3.3 XML. Une dépendance entre les enveloppes de messages R2 et R3 est établie du fait que l’enveloppe de messages R3 dépend de l’enveloppe de messages R2, comme l’indique la flèche pointillée 37.3.1 XML, 3.2 XML and 3.3 XML. A dependency between the R2 and R3 message envelopes is established because the R3 message envelope depends on the R2 message envelope, as indicated by the dotted arrow 37.
De plus, à l’intérieur de l’enveloppe de messages 36, des messages 38 sont mis en ordre également, c.-à-d. qu’une carte de dépendances de niveau de message est établie. Dans l’exemple de la FIG. 5, l’ordre de messages dans l’enveloppe de messages R2 est 2.1 XML, 2.2 XML et 2.3 TTY et l’ordre de messages dans l’enveloppe R3 est 3.1 XML, 3.2 XML et 3.3 XML comme indiqué par les flèches 39. Dans certains modes de réalisation, les cartes de dépendances de niveau de message sont établies sur la base des valeurs de priorité prédéfinies des messages, de sorte que les messages dont les valeurs de priorité sont plus élevées sont situés en amont dans la carte de dépendances des messages par rapport aux messages dont les valeurs de priorité sont plus basses.In addition, inside the message envelope 36, messages 38 are also arranged in order, i.e. that a message level dependency map is established. In the example of FIG. 5, the message order in the R2 message envelope is 2.1 XML, 2.2 XML and 2.3 TTY and the message order in the R3 envelope is 3.1 XML, 3.2 XML and 3.3 XML as indicated by the arrows 39. In some embodiments, the message level dependency maps are established based on the predefined priority values of the messages, so that messages with higher priority values are located upstream in the dependency map of the messages. messages compared to messages with lower priority values.
Ensuite, le processus de génération de messages et de séquencement 42 reçoit l’indication de validation de changement B4 toujours liée à l’enregistrement de réservation B. l’indication de validation de changement B4 provient d’un système de réservation hérité et le processus de génération de messages et de séquencement 42 détermine à nouveau que la cible de message 49a opérant selon la première norme doit être notifiée. Ainsi, le processus de génération de messages et de séquencement 42 génère un message TTY ; le message 4 TTY, qu’il classe dans la carte de dépendances existante conformément aux mécanismes du contexte TTY décrits par EP 2254046 Bl. Dans l’exemple de la FIG. 5, une dépendance de.niveau de messages est calculée pour le message 4 TTY de sorte que le message 4 TTY dépend du message 2.3 TTY (pour des raisons de présentation, il est supposé ici que le message 2.3 TTY ne pouvait pas déjà être envoyé, p. ex parce que d’autres messages TTY antérieurs relatifs à l’enregistrement de réservation B, non représentés dans la FIG.5, sont toujours en attente pour la cible de message 49 a)Then, the message generation and sequencing process 42 receives the change validation indication B4 always linked to the reservation record B. the change validation indication B4 comes from a legacy reservation system and the process message generation and sequencing 42 again determines that the message target 49a operating according to the first standard is to be notified. Thus, the message generation and sequencing process 42 generates a TTY message; the message 4 TTY, which it classifies in the existing dependency card in accordance with the mechanisms of the TTY context described by EP 2254046 Bl. In the example of FIG. 5, a message level dependency is calculated for the 4 TTY message so that the 4 TTY message depends on the 2.3 TTY message (for presentation reasons, it is assumed here that the 2.3 TTY message could not already have been sent , e.g. because other prior TTY messages relating to reservation record B, not shown in FIG. 5, are still pending for message target 49 a)
Les cartes de dépendances au niveau de l’enveloppe de messages et au niveau des messages contrôlent la séquence d’envoi des messages aux cibles de message 49. Généralement, les messages pour une enveloppe particulière de messages 36 sont seulement envoyés aux cibles de message 49 si l’enveloppe particulière de messages 36 ne dépend pas d’autres enveloppes de messages 36. Par conséquent, dans l’exemple de la FIG. 5, les messages 3.1 XML, 3.2 XML et 3.3 XML ne sont envoyés qu’après le traitement complet de l’enveloppe R2, c.-à-d. après que toutes les enveloppes de messages R2 ont été envoyées avec succès à la cible de message 49a. A l’intérieur d’une enveloppe de messages, l’ordre d’envoi des messages est déterminé par la dépendance de niveau de message. Dans l’exemple de la FIG. 5, l’ordre d’envoi des messages à l’intérieur de l’enveloppe de messages R2 est le message 2.1 XML en premier, suivi du message 2.2 XML et en dernier le message 2.3 TTY. Pour l’enveloppe de messages R3, l’ordre d’envoi des messages est le message 3.1 XML en premier, suivi du message 3.2 XML et en dernier le message 3.3 XML. Le message 4 TTY peut être envoyé après que le message 2.3 TTY a été transmis avec succès, c.-à-d. que le message 4 TTY est envoyé parallèlement au message 3.1 XML.Dependency maps at the message envelope level and at the message level control the sequence of sending messages to message targets 49. Generally, messages for a particular message envelope 36 are only sent to message targets 49 if the particular message envelope 36 does not depend on other message envelopes 36. Therefore, in the example of FIG. 5, the messages 3.1 XML, 3.2 XML and 3.3 XML are only sent after the complete processing of the R2 envelope, i.e. after all the R2 message envelopes have been successfully sent to the message target 49a. Within a message envelope, the order in which messages are sent is determined by the message level dependency. In the example of FIG. 5, the order in which messages are sent within the R2 message envelope is the 2.1 XML message first, followed by the 2.2 XML message and lastly the 2.3 TTY message. For the R3 message envelope, the order in which the messages are sent is the 3.1 XML message first, followed by the 3.2 XML message and the 3.3 XML message last. The message 4 TTY can be sent after the message 2.3 TTY has been successfully transmitted, i.e. that the 4 TTY message is sent in parallel with the 3.1 XML message.
Les indications de validation de changement 34 reçu en provenance d’un système de base de données hérité sont généralement converties uniquement en message conforme à la seconde norme héritée, dans l’exemple de la FIG. 5 en messages TTY. Dans le cas où aucun message antérieur n’est en attente pour une cible de message donnée concernée, ces messages peuvent être envoyés immédiatement sans calcul d’une dépendance de niveau d’enveloppe de messages et de niveau de messages. Dans l’exemple de la FIG. 5, l’enregistrement de réservation A est conservé dans un système hérité de base de données et les indications de validations de changement AO, Al, A2 et A3 ne sont donc converties qu’en messages TTY. Par exemple, en réponse à la réception d’une indication de validation de changement AO, le processus de génération de messages et de séquencement 42 détermine que la cible de message 49b (qui est une cible de message opérant selon la seconde norme héritée) doit être notifiée et génère un message 0 TTY qui est ensuite envoyé immédiatement puisqu’il n’y a aucun autre message en attente pour la cible de message 49b. De même, l’indication de validation de changement Al déclenche la génération du message 1 TTY qui est à nouveau envoyé immédiatement sans calcul d’une dépendance de niveau de message, en supposant que le message 0 TTY a déjà été délivré avec succès à la cible de message 49b.Change validation indications 34 received from a legacy database system are generally converted only to a message conforming to the second legacy standard, in the example of FIG. 5 in TTY messages. In the event that no previous message is pending for a given message target, these messages can be sent immediately without calculating a dependency on message envelope level and message level. In the example of FIG. 5, the reservation record A is kept in a legacy database system and the indications of change validations AO, Al, A2 and A3 are therefore only converted into TTY messages. For example, in response to receiving an AO change validation indication, the message generation and sequencing process 42 determines that the message target 49b (which is a message target operating according to the second legacy standard) must be notified and generates a 0 TTY message which is then sent immediately since there is no other message waiting for the message target 49b. Likewise, the change validation indication A1 triggers the generation of the message 1 TTY which is again sent immediately without calculation of a message level dependence, assuming that the message 0 TTY has already been successfully delivered to the message target 49b.
Généralement, un message est déterminé comme étant éligible à l’envoi et doit être placé dans une file d’attente d’envoi de messages en réponse à la détermination que le message ne dépend pas de la remise réussie d’un autre message, dans lequel cette dépendance est définie par les cartes de dépendances au niveau d’enveloppe de messages et au niveau du message. Si une remise réussie d’un message particulier est reconnue, p. ex. par la réception d’une réponse de confirmation de réception en provenance de la cible de message 49, l’état de dépendance de ce message particulier est mis à jour par le système de traitement de messages. En réponse à la mise à jour de l’état de cette dépendance, l’état de dépendance d’autres messages dépendants du message particulier est ensuite actualisé de « dépendant à « indépendant » ayant pour effet de déclencher ensuite l’envoi de ces autres messages. En réponse à la détermination que le dernier message dans la carte de dépendances de niveau de message d’une enveloppe particulière de messages 36 a été remis avec succès à la cible de message 49, c.-à-d. tous les messages de l’enveloppe de message particulière 36 ont été envoyés, l’enveloppe particulière de messages particulière 36 est considérée comme étant complètement traitée et l’état de dépendance au niveau de l’enveloppe de messages de l’enveloppe de messages suivante qui dépend de l’enveloppe de messages particulière 36 est actualisée de «dépendant» à « indépendant ». Cela rend le premier message de la carte de dépendances de niveau de message de l’enveloppe suivante de messages prêt pour envoi et l’envoi de ce premier message de l’enveloppe de messages suivante est déclenché. Tout le processus continue de la même manière jusqu’à ce que tous les messages de l’enveloppe de messages aient été envoyés à leurs cibles de message.Generally, a message is determined to be eligible for sending and should be placed in a message sending queue in response to the determination that the message does not depend on the successful delivery of another message, in which this dependency is defined by the dependency maps at the message envelope level and at the message level. If a successful delivery of a particular message is recognized, p. ex. by receiving a confirmation of receipt response from the message target 49, the dependency of this particular message is updated by the message processing system. In response to the updating of the state of this dependency, the dependency state of other messages dependent on the particular message is then updated from "dependent to" independent "having the effect of then triggering the sending of these others messages. In response to the determination that the last message in the message level dependency map of a particular message envelope 36 has been successfully delivered to the message target 49, i.e. all messages from the particular message envelope 36 have been sent, the particular message envelope 36 is considered to be completely processed and the state of dependence on the message envelope level of the following message envelope which depends on the particular message envelope 36 is updated from “dependent” to “independent”. This makes the first message in the message level dependency map of the next message envelope ready for dispatch, and the sending of this first message in the next message envelope is triggered. The whole process continues in the same way until all messages in the message envelope have been sent to their message targets.
TTY et XML utilisés ci-dessus sont des exemples de différents types de messages conformes aux différentes normes de messages. TTY est un exemple de norme héritée utilisant un ou plusieurs sous-types hérités de messages. XML est un exemple d’une nouvelle génération de normes utilisant une pluralité de sous-types de messages, p. ex. pour des fonctions différentes de manipulation de base de données. Habituellement, les différents types de messages sont générés pour différents types de cibles de message, notamment des cibles de message qui implémentent les différentes normes de message. L’exemple de la FIG. 5 montre deux types spécifiques de cibles de message, notamment les cibles de message TTY 49b qui implémentent uniquement la norme héritée (et non la norme de la nouvelle génération) et les cibles de message XML 49 a qui implémentent la nouvelle génération de normes telles que la norme NDC (comme expliqué ci-dessus, la cible de message XML 49a pourrait potentiellement être compatible inversement et donc capable de traiter aussi les messages hérités).TTY and XML used above are examples of different types of messages conforming to different message standards. TTY is an example of an inherited standard using one or more inherited message subtypes. XML is an example of a new generation of standards using a plurality of message subtypes, e.g. ex. for different database manipulation functions. Usually, different types of messages are generated for different types of message targets, including message targets that implement the different message standards. The example of FIG. 5 shows two specific types of message targets, including TTY message targets 49b which implement only the legacy standard (not the next generation standard) and XML message targets 49 a which implement the new generation of standards such as the NDC standard (as explained above, the XML message target 49a could potentially be inversely compatible and therefore capable of also processing legacy messages).
Le système de traitement de message des présentes n’est pas limité aux traitements des messages de deux normes de message, mais il est extensible et généralement approprié aux traitements des messages conformes à une ou plusieurs autres normes et types pour des cibles de message 49c qui implémentent lesdites nouvelles normes. Le concept d’établir des dépendances au niveau de l’enveloppe de messages et au niveau du message peut être utilisé pour gérer toute autre nouvelle norme et tout autre type, par exemple en attribuant des valeurs de priorité aux messages de la nouvelle norme/nouveau type qui définissent une relation des messages de la nouvelle norme/nouveau type aux messages des normes/types existants.The message processing system herein is not limited to processing messages of two message standards, but is extensible and generally suitable for processing messages conforming to one or more other standards and types for message targets 49c which implement these new standards. The concept of establishing dependencies at the message envelope and message level can be used to manage any other new standard and any other type, for example by assigning priority values to messages of the new / new standard types that define a relationship of messages from the new standard / new type to messages from existing standards / types.
Concernant la partie plus spécifique de la description, un exemple d’implémentation particulier des mécanismes généraux de traitement des messages expliqués ci-dessus sera décrit maintenant en référence aux FIGS. 6 à 14.Concerning the more specific part of the description, an example of a particular implementation of the general mechanisms for processing messages explained above will now be described with reference to FIGS. 6 to 14.
Un processus d’architecture exemplaire pour l’implémentation du moteur de traitement de messages 50 est illustré par la FIG. 6. L’architecture de système inclut les composants suivants qui sont implémentés par un logiciel utilisant des ressources matérielles dédiées et/ou partagées :An exemplary architectural process for implementing the message processing engine 50 is illustrated in FIG. 6. The system architecture includes the following components which are implemented by software using dedicated and / or shared hardware resources:
- un moteur de réservation d’un système de distribution globale hérité (GDS) 41 qui produit des indications de validations de changement d’un GDS hérité ;- a reservation engine for a legacy global distribution system (GDS) 41 which produces indications of validation of changes to a legacy GDS;
- un moteur de réservation NDC 40 produit des indications de validations de changement NDC PNR et marque ces validations de changement avec une balise signalant que ces indications de validations de changement sont des indications de validations de changement NDC (c.-à-d. conformes à la première norme) et doivent être traitées conformément à la norme NDC, sauf pour les cibles de message devant être notifiées qui opèrent toujours selon la seconde norme héritée, telles que les cibles de message TTY.- an NDC 40 booking engine produces NDC PNR change validation indications and marks these change validations with a beacon indicating that these change validation indications are NDC change validation indications (i.e. compliant to the first standard) and must be treated in accordance with the NDC standard, except for message targets to be notified which always operate according to the second legacy standard, such as TTY message targets.
- un processus de génération de messages NDC et de séquencement 42 qui génère toutes sortes de messages de réservation tels que des messages TTY, des messages XML ou autres types de messages. Le processus de génération de messages et de séquencement NDC 42 calcule les cartes de dépendances des messages.an NDC message generation and sequencing process 42 which generates all kinds of reservation messages such as TTY messages, XML messages or other types of messages. The NDC 42 message generation and sequencing process calculates message dependency maps.
- un moteur de séquencement de messages TTY 43 qui forme une partie du processus de génération de messages et de séquencement NDC 42. Le moteur de séquencement de messages TTY 43 calcule les caractéristiques de dépendance des messages TTY, ce qui détermine l’ordre d’envoi des messages TTY comme décrit p. ex. par EP 2254046 B1.- a TTY 43 message sequencing engine which forms part of the NDC 42 message generation and sequencing process. The TTY 43 message sequencing engine calculates the dependency characteristics of TTY messages, which determines the order of sending TTY messages as described on p. ex. by EP 2254046 B1.
- un tableau de priorité de messages 44 qui stocke les valeurs de priorité de message. Les valeurs de priorité des messages sont précalculées sur la base des résultats d’analyse et peuvent être mises à jour si nécessaire ou à la demande.a message priority table 44 which stores the message priority values. The priority values of the messages are precalculated on the basis of the analysis results and can be updated if necessary or on request.
- une carte de dépendances et un tableau de messages 45 qui stockent les cartes de dépendances à au moins deux niveaux, notamment les cartes de dépendances au niveau de l’enveloppe de messages pour les enveloppes de messages et les chaînes de dépendances au niveau du message pour les messages.a dependency card and a message table 45 which store the dependency cards at at least two levels, in particular the dependency cards at the message envelope level for the message envelopes and the dependency chains at the message level for messages.
- une machine étatique d’envoi de messages 46 qui représente le processus principal pour contrôler l’envoi de messages et pour mettre à jour la carte de dépendances au niveau des enveloppes et les chaînes de dépendances au niveau des messages. La machine étatique d’envoi de messages 46 inclut une file d’attente de messages 46a et deux sous-processus, notammenta state machine for sending messages 46 which represents the main process for controlling the sending of messages and for updating the dependency map at the envelope level and the dependency chains at the message level. The state message sending machine 46 includes a message queue 46a and two sub-processes, in particular
- un sous-processus d’émission de messages 47 qui retirent systématiquement les messages de la file d’attente et les envoie aux cibles 49, eta message sending sub-process 47 which systematically removes the messages from the queue and sends them to the targets 49, and
- un sous-processus de réception de réponse de messages 48 qui est à l’écoute des réponses aux messages. Le sous-processus de réception de réponse 48 des cibles valide les opérations de la file d’attente de l’émetteur et met à jour les cartes de dépendances au niveau des enveloppes de messages et les chaînes de dépendances au niveau des messages afin de suivre les changements dans la carte de dépendances et le tableau de messages 45 en réponse à la réception de réponses de confirmation provenant des cibles de message 49.a message response reception sub-process 48 which listens to the responses to the messages. The target response reception sub-process 48 validates the operations of the sender's queue and updates the dependency maps at the message envelopes level and the dependency chains at the message levels in order to follow changes to the dependency map and message table 45 in response to receipt of confirmation responses from message targets 49.
Ces composants d’architecture de système interagissent les uns avec les autres de la manière suivante illustrée par les flèches connectant les blocs dans la FIG. 6.These system architecture components interact with each other as illustrated by the arrows connecting the blocks in FIG. 6.
Le moteur de réservation NDC 40 crée un nouvel enregistrement de base de données, p. ex. en réponse à une nouvelle réservation de voyage ou à des mises à jour d’un enregistrement existant de donnée en réponse à changement d’une réservation de voyage existante. La création d’un nouvel enregistrement de base de données et la mise à jour de l’enregistrement existant de base de données génèrent respectivement des indications de validations de changement que le moteur de réservation NDC 40 publie (flèche N01) au processus de séquencement et de génération de messages NDC 42. Toutes les publications provenant du moteur de réservation NDC 42 sont signalées (p. ex., balisées) comme étant des validations d’un changement de réservation NDC, c.-à-d. comme des indications de validations de changement de base de données provenant du moteur de réservation NDC 40.The NDC 40 booking engine creates a new database record, eg. ex. in response to a new travel reservation or updates to an existing data record in response to a change to an existing travel reservation. The creation of a new database record and the updating of the existing database record respectively generate indications of change validations that the reservation engine NDC 40 publishes (arrow N01) to the sequencing process and generating NDC 42 messages. All publications from the NDC 42 reservation engine are flagged (eg, tagged) as validations of an NDC reservation change, ie. as indications of database change validations from the NDC 40 booking engine.
De façon similaire, le moteur de réservation GDS hérité 42 peut créer un nouvel enregistrement de base de données, p. ex. en réponse à une nouvelle réservation de voyage ou à des mises à jour d’un enregistrement existant de donnée en réponse à un changement dans une réservation de voyage existante. La création d’un nouvel enregistrement de base de données et la mise à jour d’un enregistrement existant de base de données génèrent respectivement une indication de validation de changement qui est publiée par le moteur de réservation GDS hérité 42 (flèche N02) au processus de séquencement et de génération de messages NDC 42. Cependant, les indications de validations de changement publiées par le moteur de réservation GDS hérité 40 ne sont pas signalées ou balisées.Similarly, the legacy GDS reservation engine 42 can create a new database record, e.g. ex. in response to a new travel reservation or updates to an existing data record in response to a change in an existing travel reservation. The creation of a new database record and the updating of an existing database record respectively generate a change validation indication which is published by the legacy GDS reservation engine 42 (arrow N02) to the process sequence and generation of NDC messages 42. However, the indications of change validations published by the legacy GDS reservation engine 40 are not signaled or marked up.
En réponse à la réception d’une indication de validation de changement provenant du moteur de réservation GDS hérité 42, le processus de séquencement et de génération de messages 42 génère uniquement des messages TTY pour des cibles de message devant être notifiées.In response to receiving a change validation indication from the legacy GDS reservation engine 42, the message sequencing and generation process 42 only generates TTY messages for message targets to be notified.
En réponse à la réception d’indications de validations de changement de base de données provenant du moteur de réservation NDC 40, le processus de séquencement et de génération de messages NDC 42 génère des enveloppes de messages pour les cibles de message NDC devant être notifiées et des messages associés aux enveloppes de messages respectives. Dans ce but, le processus de séquencement et de génération de messages NDC 42 récupère les valeurs de priorité de messages dans le tableau de priorité de messages 44 (flèche N05 représentant des demandes de récupération et flèche N06 représentant des réponses de récupération), ainsi que l’information récupérée concernant les enveloppes d’un message actuelles et les messages associés de la carte de dépendances et le tableau de messages 45, et insère les enveloppes de messages nouvellement générées et les messages associés dans une carte de dépendances et dans le tableau de messages 45 (flèche N03 représentant les demandes de récupération et d’insertion et flèche N04 représentants les réponses de récupération et d’insertion). Les interactions du processus de séquencement et de génération de messages NDC 42 avec le tableau de priorité de messages 44 et la carte de dépendances et le tableau de messages 45 seront expliquées par la suite sur la base d’un exemple particulier.In response to receipt of database change validation indications from the NDC reservation engine 40, the NDC message sequencing and generation process 42 generates message envelopes for the NDC message targets to be notified and messages associated with the respective message envelopes. For this purpose, the NDC message sequencing and generation process 42 retrieves the priority values of messages in the message priority table 44 (arrow N05 representing recovery requests and arrow N06 representing recovery responses), as well as the information retrieved concerning the current message envelopes and the associated messages from the dependency card and the message table 45, and inserts the newly generated message envelopes and the associated messages into a dependency card and in the message table messages 45 (arrow N03 representing the recovery and insertion requests and arrow N04 representing the recovery and insertion responses). The interactions of the NDC 42 message sequencing and generation process with the message priority table 44 and the dependency map and the message table 45 will be explained later on the basis of a particular example.
Par ailleurs, le processus de séquencement et de génération de messages 42 peut déterminer qu’un message particulier ne dépend d’aucun autre message ce qui signifie que ce message est prêt à être envoyé à la cible de message 49. Dans cette situation, le processus de séquencement et de génération de messages 42 récupère le message particulier de la carte de dépendances et du tableau de messages 45 via des opérations N03 (demande de récupération) et N04 (réponse de récupération), génère un élément de file d’attente de message représentant le message particulier et place l’élément de file d’attente de message dans la file d’attente de messages 46a de la machine étatique d’envoi de messages par une opération N07.Furthermore, the message sequencing and generation process 42 may determine that a particular message does not depend on any other message which means that this message is ready to be sent to the message target 49. In this situation, the message sequencing and generation process 42 retrieves the particular message from the dependency card and the message board 45 via operations N03 (retrieval request) and N04 (retrieval response), generates a queue element of message representing the particular message and places the message queue element in the message queue 46a of the state machine for sending messages by an operation N07.
Par la suite, l’élément de file d’attente de messages est retiré par une opération N08 de la file d’attente par la machine étatique d’envoi de messages 46 et envoyé (flèche N09) par le sousprocessus d’émission de messages 47 à la cible correcte de message 49. Une réponse de message (telle qu’un accusé de réception) peut être reçue (flèche N10) de la cible de message 49 par le sous-processus de réception de réponses de message 48 de la machine étatique d’envoi de messages 46.Subsequently, the message queue element is removed by an operation N08 from the queue by the state machine for sending messages 46 and sent (arrow N09) by the message sending subprocess. 47 to the correct message target 49. A message response (such as an acknowledgment) can be received (arrow N10) from message target 49 by the machine receiving message response 48 subprocess. state sending of messages 46.
Une fois que la réponse de la cible de message 49 a été reçue, c.-à-d. que le message particulier a été remis avec succès à la cible de message 49, la machine étatique d’envoi de messages met à jour l’état de dépendance de message du message particulier dans la carte de dépendances et dans le tableau de messages 45 (flèche Nil). Cette mise à jour peut rendre le message ou les messages suivants indépendants de tout autre message (c.-à-d. que l’envoi de ce nouveau message de ces nouveaux messages peut-être ensuite déclenché. Dans ce but, le message qui est devenu indépendant par la remise réussie du message particulier préalablement est récupéré (flèche N12) par la machine étatique d’envoi 46 et placé en file d’attente dans les files d’attente de messages 46a. Les opérations N08, N09 et N10 sont ensuite exécutées de la même manière que décrite ci-dessus.Once the response from message target 49 has been received, i.e. that the particular message has been successfully delivered to the message target 49, the state message sending machine updates the message dependency state of the particular message in the dependency map and in the message table 45 ( Nile arrow). This update may make the following message or messages independent of any other message (ie the sending of this new message from these new messages may then be triggered. For this purpose, the message which has become independent by the successful delivery of the particular message beforehand is recovered (arrow N12) by the state sending machine 46 and placed in a queue in the message queues 46a. The operations N08, N09 and N10 are then executed in the same manner as described above.
Un exemple du tableau de priorité de messages 44 se présente ainsi :An example of the message priority table 44 is as follows:
La colonne « Cible de message » définit les destinations de messages, c.-à-d. qu’elle liste toutes les cibles de message connues 49. La colonne « Type de message » indique les nonnes de messages (c.-à-d. si elles sont conformes à une norme héritée telle que le type de message TTY ou conformes à une norme actuelle telle que NDC qui utilise des messages XML. Selon le type/norme de message, il peut y avoir des messages de sous-types différents qui sont indiqués dans la colonne « Nom de message ». Comme le montre l’exemple ci-dessus, la norme héritée peut ne pas fournir différents types de messages de sorte que tous les messages TTY sont désignés sous le nom de messages TTY. Cependant, la nouvelle norme qui utilise des types de messages XML peut définir différents types de messages tels que suppression de messages (« SUPR ») et ajout de messages (« AJT »). Enfin une troisième norme (« NOUV ») peut définir des messages génériques (« GÉN »).The "Message Target" column defines the message destinations, ie. list all known message targets 49. The "Message Type" column indicates the message standards (ie, if they conform to an inherited standard such as the TTY message type or conform to a current standard such as NDC which uses XML messages. Depending on the type / standard of message, there may be messages of different subtypes which are indicated in the column "Message name". As shown in the example below above, the legacy standard may not deliver different types of messages so all TTY messages are referred to as TTY messages, however the new standard that uses XML message types may define different types of messages such as deletion of messages ("SUPR") and addition of messages ("AJT") Finally a third standard ("NEW") can define generic messages ("GEN").
La colonne « Valeur de priorité » définit la valeur de priorité du message de tous les messages d’un type de message donné et le nom du message devant être adressé à une cible de message particulière. Par conséquent, les valeurs de priorité permettent de différencier des messages au niveau de la cible de message, de la norme et du sous-type/nom de message. Dans l’exemple ci-dessus, les valeurs de la colonne « Valeur de priorité » ont les significations suivantes : une valeur de priorité de 0 signifie que le message ne doit pas être envoyé. Ceci a du sens, p. ex. dans les cas où les messages, ayant une certaine fonction, sont déjà spécifiés par la première norme, mais ne sont pas encore pris en charge par les cibles de message actuellement déployées. Dans l’exemple de la table 44 ci-dessus, c’est le cas p. ex. pour le message DIVISE qui est déjà généré en interne par le moteur de traitement de messages 50, mais n’est pas (encore) envoyé en raison d’un manque d’implémentation par les cibles de message. Si aucune valeur de priorité n’est fixée («NULL »), le message peut être envoyé lorsqu’il n’y a aucune dépendance au niveau de l’enveloppe de messages. Les messages d’une enveloppe sont interdépendants selon leur valeur de priorité, des valeurs de priorité de valeurs plus ou moins élevées.The "Priority Value" column defines the message priority value of all messages of a given message type and the name of the message to be addressed to a particular message target. Therefore, priority values are used to differentiate messages at the message target, standard, and message subtype / name. In the example above, the values in the "Priority value" column have the following meanings: a priority value of 0 means that the message should not be sent. This makes sense, p. ex. in cases where messages, having a certain function, are already specified by the first standard, but are not yet supported by the currently deployed message targets. In the example in table 44 above, this is the case on p. ex. for the DIVIDED message which is already generated internally by the message processing engine 50, but is not (yet) sent due to a lack of implementation by the message targets. If no priority value is set ("NULL"), the message can be sent when there is no dependency on the message envelope. The messages in an envelope are interdependent according to their priority value, priority values of higher or lower values.
Le tableau de priorité de messages 44 est généralement statique, mais configurable à tout moment. Une nouvelle cible peut être ajoutée, de nouveaux types de messages peuvent être ajoutés pour les diverses cibles et aussi de nouveaux noms de message peuvent être ajoutés pour un type de message donné. En outre, des rangs existants peuvent être mis à jour ou supprimés, par ex. lorsqu’une cible particulière doit être retirée. Les valeurs de priorité peuvent être également reconfigurées.The message priority table 44 is generally static, but can be configured at any time. A new target can be added, new message types can be added for the various targets and also new message names can be added for a given message type. In addition, existing rows can be updated or deleted, e.g. when a particular target needs to be removed. Priority values can also be reconfigured.
Dans certains modes de réalisation, le tableau de priorité de messages 44 n’est pas hébergé par un système de base de données, mais est stocké sous la forme d’un fichier antémémoire (cache memory) par ex. d’un serveur de lots. L’antémémoire peut être synchronisée avec tout serveur si cela est nécessaire ou approprié. Par exemple, les changements du tableau de priorité de messages 44 peuvent être effectués par un système de gestion de contenu du serveur de lots puis diffusés vers tous les serveurs déployés.In some embodiments, the message priority table 44 is not hosted by a database system, but is stored in the form of a cache memory file, for example. from a batch server. The cache can be synchronized with any server if necessary or appropriate. For example, changes to the message priority table 44 can be made by a content management system of the batch server and then broadcast to all of the deployed servers.
D’autre part, la carte de dépendances et le tableau de messages 45 est très dynamiques parce que la carte de dépendances et le tableau de messages 45 représente l’état actuel du système de traitement de messages à tout moment donné. Ainsi, dans certains modes de réalisation, la carte de dépendances et le tableau de messages 45 est hébergés par un système de base de données. Le système de traitement de messages décrit dans les présentes peut fonctionner en sessions multiples en direct, en insérant et en actualisant la carte de dépendances et le tableau de messages 45 en temps réel.On the other hand, the dependency map and the message board 45 are very dynamic because the dependency map and the message board 45 represent the current state of the message processing system at any given time. Thus, in certain embodiments, the dependency card and the message table 45 are hosted by a database system. The message processing system described herein can operate in multiple live sessions, inserting and updating the dependency map and message table 45 in real time.
Une définition exemplaire des colonnes de la carte de dépendances et du tableau de messages 5 45est la suivante :An exemplary definition of the columns of the dependency map and of the message table 5 45 is as follows:
Les deux états de dépendance RDJSTAT et D_STAT peuvent prendre les valeurs « envoyées » (S) si le message a été envoyé, ou « sans effet » (V) s’il n’y a pas de message à envoyer à la cible (p. ex. l’entrée du tableau représente une enveloppe de messages contrairement à un message), ou « dépendant » (D) si le message à une dépendance envers un autre message au niveau du message ou si l’enveloppe de messages du message a une dépendance envers une autre enveloppe de messages, ou « N » s’il n’existe pas de dépendance (= prêt à être envoyé) ou « inconnu » (U) lorsque la dépendance n’a pas encore été identifiée, p. ex. un message correspondant est manquant pour le moment, c.-à-d. toujours en suspens dans le processus de séquencement et de génération de messages NDC 42. Les entrées de tableau représentent des enveloppes de messages si la cellule RD_STAT est remplie et si la cellule DSTAT reste vide.The two dependency states RDJSTAT and D_STAT can take the values "sent" (S) if the message has been sent, or "without effect" (V) if there is no message to send to the target (p eg the entry in the table represents a message envelope unlike a message), or "dependent" (D) if the message has a dependency on another message at the message level or if the message envelope of the message has a dependency on another message envelope, or "N" if there is no dependency (= ready to send) or "unknown" (U) when the dependency has not yet been identified, p. ex. a corresponding message is missing at the moment, i.e. still pending in the NDC 42 message sequencing and generation process. Table entries represent message envelopes if the RD_STAT cell is full and the DSTAT cell remains empty.
Par exemple l’enveloppe de messages pour la liste de messages de {M^’n(x)}est dénotée comme Rj .For example, the message envelope for the message list of {M ^ ' n (x)} is denoted as Rj.
Dans certains modes de réalisation, le système de traitement de messages 50 est déployé comme une gamme de serveurs 52 avec potentiellement de multiples occurrences respectives de traitement 54 comme le montre la FIG. 7. Les caractéristiques de répartition de charges peuvent distribuer les charges de traitement de messages entre les cas de traitement 54 d’un serveur 52 et/ou entre les serveurs 52 de la gamme de serveurs. Par conséquent, le système de traitement de messages 50 est extensible afin de s’adapter à une augmentation potentielle de trafic.In some embodiments, the message processing system 50 is deployed as a range of servers 52 with potentially multiple respective processing occurrences 54 as shown in FIG. 7. The load balancing characteristics can distribute the message processing loads between the processing cases 54 of a server 52 and / or between the servers 52 of the range of servers. Consequently, the message processing system 50 is extensible in order to adapt to a potential increase in traffic.
Le système de traitement de messages 50 présente au moins un serveur de base de données 56 (il peut y avoir des bases de données additionnelles pour des raisons de redondance et/ou de performance) qui conserve la carte de dépendances et le tableau de messages 45. Toutes les occurrences de traitement 54 sont connectées aux serveurs de base de données 56. De façon globale, le système de traitement de messages 50 constitue une étape dans une chaîne de traitement d’information d’un système distribué plus large comprenant tous les composants montrés dans la FIG. 6 et d’autres composants tels que les clients d’agences de voyages. D’autre part, le système de traitement de messages 50 effectue un traitement parallèle, car chaque cas de traitement individuel 54 est capable de traiter une enveloppe d’enregistrement à la fois.The message processing system 50 has at least one database server 56 (there may be additional databases for reasons of redundancy and / or performance) which keeps the dependency map and the message table 45 All the processing occurrences 54 are connected to the database servers 56. Overall, the message processing system 50 constitutes a step in an information processing chain of a larger distributed system comprising all the components. shown in FIG. 6 and other components such as travel agency customers. On the other hand, the message processing system 50 performs parallel processing, since each individual processing case 54 is capable of processing one recording envelope at a time.
Comme expliqué ci-dessus, le processus de séquencement et de génération de messages NDC 42 est le processus principal du système de traitement de messages 50. Le processus de séquencement et de génération de messages NDC 42 contient le moteur de séquencement de messages TTY hérités 43 et interagit avec le tableau de priorité de messages 44 et la carte de dépendances et le tableau de messages 45. Les opérations N01 à N07 montrées dans la FIG. 6 peuvent être implémentées par l’organigramme de processus exemplaire de la FIG. 8 décrit ciaprès.As explained above, the NDC message sequencing and generation process 42 is the main process of the message processing system 50. The NDC message sequencing and generation process 42 contains the legacy TTY message sequencing engine 43 and interacts with the message priority table 44 and the dependency card and the message table 45. The operations N01 to N07 shown in FIG. 6 can be implemented by the FIG exemplary process flowchart. 8 describes below.
Lorsqu’une indication de changement de validation d’une base de données est reçue, au 602, provenant soit du moteur de réservation NDC 40, soit du moteur de réservation GDS hérité 41, le processus de séquencement et de génération de messages NDC 42 construit en premier, au 604, une liste de cibles de message 49 qui sont affectées par la validation de changement de base de données et recevront donc un ou plusieurs messages informant la cible du changement dans l’enregistrement de réservation survenue dans le moteur de réservation NDC 40 ou dans le moteur de réservation GDS hérité 41.When an indication of change of validation of a database is received, at 602, coming either from the NDC reservation engine 40 or from the legacy GDS reservation engine 41, the NDC 42 message sequencing and generation process is constructed. first, at 604, a list of message targets 49 that are affected by the database change validation and will therefore receive one or more messages informing the target of the change in the reservation record that occurred in the NDC reservation engine 40 or in the legacy GDS reservation engine 41.
De façon générale, les messages pour les différentes cibles 49 n’ont pas de relations de dépendance (c.-à-d. qu’un premier message vers une première cible peut être envoyé quel que soit l’état du second message adressé à une seconde cible. Par conséquent, comme expliqué cidessus, les dépendances au niveau de l’enveloppe de messages ne sont établies qu’entre des enveloppes de messages pour la même cible de message et, naturellement, les dépendances au niveau du message ne sont établies qu’entre les messages d’une enveloppe de messages et donc entre messages pour une et même cible de message. Par conséquent comme illustré par la FIG. 8, le processus de séquencement et de génération de messages NDC 42 traite les cibles de message 49 dans la liste l’une après l’autre. Pour une indication donnée de validation de changement de base de données, une carte de dépendances de messages est construite ou élargie soit par la génération d’une nouvelle enveloppe de messages avec un ou plusieurs messages [côté droit de la FIG. 8] ou un message hérité [côté gauche de la FIG. 8] pour chaque cible de message devant être notifiée par les activités suivantes représentées dans la FIG. 8.Generally, the messages for the different targets 49 have no dependency relationships (i.e., a first message to a first target can be sent regardless of the state of the second message addressed to a second target. Therefore, as explained above, the message envelope dependencies are only established between message envelopes for the same message target and, of course, the message dependencies are established only between messages in a message envelope and therefore between messages for the same message target. As illustrated in FIG 8, the NDC 42 message sequencing and generation process processes message targets 49 in the list one after the other. For a given indication of validation of database change, a message dependency map is built or enlarged either by the generation of a new the message envelope with one or more messages [right side of FIG. 8] or an inherited message [left side of FIG. 8] for each message target to be notified by the following activities shown in FIG. 8.
Au 606, le processus de séquencement et de génération de messages NDC 42 vérifie si la fin de la liste établie de cibles de message au 604 a été atteinte. Si tel est le cas, le processus de la FIG. 8 se termine, car l’indication de validation de changement de base de données reçue a été traitée complètement. Si ce n’est pas le cas, le processus se poursuit avec la cible de message 49 suivante dans la liste de cibles de message ; après lecture de cette nouvelle cible au 608 le processus détermine si la cible suivante opère selon la première norme [c.-à-d. NDC dans cet exemple] ou selon la seconde norme héritée [c.-à-d. ne traitant que les messages TTY dans cet exemple]. Le processus vérifie ensuite au 610 si l’indication de validation de changement de base de données reçue est signalée comme étant une validation provenant du moteur de réservation NDC 40 ou du moteur de réservation GDS hérité 41.At 606, the NDC 42 message sequencing and generation process checks whether the end of the established list of message targets at 604 has been reached. If so, the process in FIG. 8 ends because the database change validation indication received has been processed completely. If not, the process continues with the next message target 49 in the message target list; after reading this new target at 608 the process determines if the next target operates according to the first standard [ie. NDC in this example] or according to the second legacy standard [i.e. only processing TTY messages in this example]. The process then checks at 610 whether the received database change validation indication is flagged as validation from the NDC reservation engine 40 or the legacy GDS reservation engine 41.
Les deux déterminations des boîtes 608 et 610 déterminent si le récepteur actuel est traité via le côté gauche ou via le côté droit de la FIG. 8. En réponse à la détermination que l’indication de validation de changement de base de données provient du moteur de réservation NDC 40 et est donc alignée avec la première norme et que la cible actuelle de messages opère selon la première norme, « branche oui » de la boîte 610 est choisie. Dans tous les autres cas, c.-à-d. en réponse à la détermination que l’indication de validation de changement de base de données provient du moteur de réservation GDS hérité 41 au 610, et/ou que la cible actuelle de message opère selon la seconde norme héritée au 608, « branche non » de la boîte 610 est choisie. Les deux branches du processus dans son ensemble, illustrées par la FIG. 8, utilisent la carte de dépendances et le tableau de messages 45. Le côté gauche « branche non » de la boîte 610 stocke les dépendances au niveau du message ainsi que les messages mêmes dans la carte de dépendances et dans le tableau de messages 45, sauf si les messages TTY sont envoyés directement, car aucun des messages qui étaient en attente pour la cible de message visée n’est plus en attente. Le côté droit « branche oui » de la boîte 610 stocke les dépendances au niveau de l’enveloppe de messages et au niveau du message également ainsi que les messages mêmes dans la carte de dépendances et dans le tableau de messages 45.The two determinations of boxes 608 and 610 determine whether the current receiver is processed via the left side or via the right side of FIG. 8. In response to the determination that the database change validation indication originates from the NDC 40 reservation engine and is therefore aligned with the first standard and that the current message target operates according to the first standard, "branch yes From box 610 is selected. In all other cases, i.e. in response to the determination that the database change validation indication is from the legacy GDS reservation engine 41 through 610, and / or that the current message target operates according to the second legacy standard at 608, "branch no" from box 610 is chosen. The two branches of the process as a whole, illustrated by FIG. 8, use the dependency card and the message table 45. The left side "branch no" of the box 610 stores the dependencies at the message level as well as the messages themselves in the dependency card and in the message table 45, unless TTY messages are sent directly, because none of the messages that were waiting for the target message target are no longer waiting. The right side "branch yes" of box 610 stores the dependencies at the level of the message envelope and at the level of the message as well as the messages themselves in the dependency card and in the message table 45.
Pour les cibles de message héritées/nonNDC et/ou les indications de validation de changement héritées, le processus de séquencement et de génération de messages NDC 42, plus spécifiquement le moteur de séquencement TTY 43, génère un message TTY par les activités 612 à 624. Le message TTY est formaté au 612, un élément de dépendance TTY est initialisé au 614. Ici, les valeurs de priorité de messages pour les messages TTY sont récupérées dans le tableau de priorités de messages 44. Si, au 616, il est déterminé que le message TTY actuel est le premier message pour la cible sélectionnée dans les listes au 606, c.-à-d. s’il n’y a pas de message TTY antérieur en attente pour cette cible, le message TTY est transmis à la machine étatique d’envoi de messages 46 et placé directement dans la liste d’attente 46a. La carte de dépendances et le tableau de messages 45 est ensuite validé au 620 et le processus dans son ensemble avance à la cible suivante sur la liste de cibles, au 626. Si, au 606, il est vérifié que la fin de la liste de cibles est atteinte, le processus prend fin.For inherited / nonNDC message targets and / or inherited change validation indications, the NDC 42 message sequencing and generation process, more specifically the TTY sequencing engine 43, generates a TTY message through activities 612 to 624 The TTY message is formatted at 612, a TTY dependency element is initialized at 614. Here, the message priority values for TTY messages are retrieved from the message priority table 44. If, at 616, it is determined that the current TTY message is the first message for the target selected in the lists in 606, i.e. if there is no previous TTY message waiting for this target, the TTY message is transmitted to the state message sending machine 46 and placed directly in the waiting list 46a. The dependency map and the message table 45 is then validated at 620 and the whole process advances to the next target on the target list, at 626. If, at 606, it is verified that the end of the list of targets are reached, the process ends.
En réponse à la détermination, au 616, qu’un ou plusieurs autres messages XML et/ou TTY sont toujours en attente pour la cible de message actuelle sélectionnée au 606, le processus de séquencement et de génération de messages NDC 42 calcule un état de dépendance de niveau de message pour le message TTY au 622, c.-à-d. que le paramètre D_STAT est réglé pour le message TTY. Si D_STAT est calculé comme étant « N », c.-à-d. qu’aucune dépendance n’existe pour le message TTY, le message TTY peut être envoyé directement à la cible de message 49. Ainsi, de façon similaire à ce qui a été décrit ci-dessus, le message TTY est transmis à la machine étatique d’envoi de messages 46 et placé directement dans la file d’attente 46a au 618 et le processus procède de la façon décrite ci-dessus. Si l’opération 624 détermine un quelconque état de dépendance du message autre que « N », la carte de dépendances et le tableau de messages 45 est ensuite validé au 620 et le processus global avance à la cible suivante sur la liste de cibles au 626.In response to the determination at 616 that one or more other XML and / or TTY messages are still pending for the current message target selected at 606, the NDC 42 message sequencing and generation process calculates a state of message level dependency for TTY message to 622, i.e. that the parameter D_STAT is set for the TTY message. If D_STAT is calculated as "N", ie. since no dependency exists for the TTY message, the TTY message can be sent directly to the message target 49. Thus, similarly to what has been described above, the TTY message is transmitted to the state machine sending messages 46 and placed directly in the queue 46a to 618 and the process proceeds as described above. If operation 624 determines any state of dependency on the message other than "N", the dependency card and the message table 45 is then validated at 620 and the overall process advances to the next target on the target list at 626 .
D’autres détails de traitement des messages hérités TT Y sont décrits dans EP 2254046 Bl, en particulier dans la FIG. 5, FIG. 6 et FIG. 7 d’EP 2254046 Bl et la description qui les accompagne sous les paragraphes [0030] à [0034] auxquels il est fait référence dans les présentes.Other details for processing legacy TT Y messages are described in EP 2254046 Bl, in particular in FIG. 5, FIG. 6 and FIG. 7 of EP 2254046 Bl and the description which accompanies them under paragraphs [0030] to [0034] to which reference is made herein.
Pour les cibles de message 49 qui implémentent la norme NDC, ainsi que déterminé au 608, et sous réserve que l’indication de validation de changement actuellement traitée soit balisée NDC, ainsi que déterminé au 610, le processus de séquencement et de génération de messages NDC 42 génère un ou plusieurs messages NDC par les activités 612 à 624 de la FIG. 8.For message targets 49 which implement the NDC standard, as determined in 608, and provided that the change validation indication currently being processed is tagged NDC, as determined in 610, the message sequencing and generation process NDC 42 generates one or more NDC messages by activities 612 to 624 of FIG. 8.
Au 628, un ou plusieurs messages sont générés selon la première norme [ici : sur la base NDC sur XML] et/ou selon la seconde norme [ici : la norme de messages héritée sur la base TTY]. Les opérations 630 et 632 sont similaires sur le plan fonctionnel aux opérations 614 et 616, mais - contrairement à 614 et 616 - sont relatives à une chaîne de dépendances au niveau de l’enveloppe de messages. Au 630, une enveloppe de messages pour ledit ou plusieurs messages NDC est créée et l’état de dépendance de l’enveloppe de messages RDSTAT est initialisé. La vérification au 632 détermine si l’enveloppe de messages est la première enveloppe de messages pour la cible actuelle de message 49 visée dans la boucle actuelle dans la carte de dépendances d’enveloppe de messages stockée dans la carte de dépendances et le tableau de messages 45. En réponse à la détermination, au 632, qu’il n’y a plus d’enveloppe de messages antérieure pour la cible actuelle 49, l’enveloppe de messages nouvellement créée n’a pas de dépendance et le paramètre RD STAT est ensuite réglé sur N conformément, au 634. D’autre part, en réponse à la détermination au 632 qu’une ou plusieurs enveloppes de messages pour la cible actuelle 49 sont déjà présentes dans la carte de dépendances et dans le tableau de messages 45, le paramètre RD STAT est alors réglé conformément sur D au 636. Après que RD STAT est calculé au 634 ou au 636, le processus 638 est appelé à stocker l’enveloppe de messages présente dans la carte de dépendances et dans le tableau de messages 45.In 628, one or more messages are generated according to the first standard [here: on the NDC basis on XML] and / or according to the second standard [here: the message standard inherited on the TTY base]. Operations 630 and 632 are functionally similar to operations 614 and 616, but - unlike 614 and 616 - relate to a chain of dependencies at the message envelope level. In 630, a message envelope for said one or more NDC messages is created and the dependency state of the RDSTAT message envelope is initialized. The check at 632 determines whether the message envelope is the first message envelope for the current message target 49 targeted in the current loop in the message envelope dependency map stored in the dependency map and the message table. 45. In response to the determination in 632 that there is no longer an earlier message envelope for the current target 49, the newly created message envelope has no dependency and the RD STAT parameter is then set to N in accordance with 634. On the other hand, in response to the determination in 632 that one or more message envelopes for the current target 49 are already present in the dependency map and in the message table 45, the RD STAT parameter is then set in accordance with D at 636. After RD STAT is calculated at 634 or 636, process 638 is called to store the message envelope present in the dep card endances and in the message table 45.
Après la validation réussie de la carte de dépendances et du tableau de messages 45 au 638, le processus 640 est appelé à construire une chaîne de dépendances de messages deAfter the successful validation of the dependency card and the message table 45 to 638, the process 640 is called upon to construct a chain of message dependencies of
c.-à-d. des dépendances des messages à l’intérieur de l’enveloppe de messages adressés à la cible 49 de la boucle actuelle. L’opération 640 fait usage des valeurs de priorité de message prédéfinies dans le tableau de priorité de messages 44.ie d. message dependencies within the envelope of messages addressed to target 49 of the current loop. Operation 640 uses the message priority values predefined in the message priority table 44.
Un organigramme détaillé de l’opération 640 est illustré dans la FIG. 9. Faisant maintenant référence à la FIG. 9, les saisies de l’opération 640 de la F1G.8, telles qu’elles sont représentées au 702 de la FIG. 9, sont :A detailed flowchart of operation 640 is illustrated in FIG. 9. Now referring to FIG. 9, the entries of operation 640 of F1G.8, as shown in FIG 702. 9, are:
i) l’enveloppe de messages ii) la liste de messages, {Mj^'n(x}} et iii) les noms de messages, les types et cibles des messages dans la liste de messages.i) the message envelope ii) the message list, {Mj ^ ' n (x}} and iii) the message names, types and targets of the messages in the message list.
Les résultats sont la liste des éléments de dépendance qui sont construits pour les entrées. Les premiers processus, 704 et 706, visent à lire le tableau de priorité de messages 44 et à trouver les valeurs de priorité des messages M^’n(x) dans la liste de messages. La liste de messages entrés est ensuite classée selon des valeurs de priorité, des valeurs de priorité les plus élevées aux valeurs de priorité les plus basses. La liste des messages classés est dénotée }.The results are the list of dependency elements that are constructed for the inputs. The first processes, 704 and 706, aim to read the message priority table 44 and to find the priority values of the messages M ^ ' n (x) in the message list. The list of entered messages is then classified according to priority values, from the highest priority values to the lowest priority values. The list of classified messages is denoted}.
Une fois que les messages sont classés selon un ordre, alors chacun des messages de la liste de messages passe en boucle à l’étape 708, l’étape de vérification 710 permet de déterminer d’abord si le message actuellement envisagé a une valeur de priorité valide définie dans le tableau des priorités de message 44. En réponse à la détermination que le message actuellement envisagé au 710 a une valeur de priorité valide, la vérification additionnelle au 720 est appelée à déterminer si le message est le premier message dans la liste de messages, Dans l’affirmative, le DID du message Μ?ω,η[ΐ) ' est attribué à FED de R?® au 722. Au 724 une vérification est effectuée pour déterminer si la valeur de RDSTAT est N ou V, c.-à-d. si l’enveloppe de messages est indépendante des autres enveloppes de messages. Si cela est avéré, alors au 726 le message actuel est réglé pour être indépendant, c.-à-d. que la valeur D_STAT pour e '==N. Sinon, au 728, le message est fixé pour être dépendant, c.-à-d. la valeurOnce the messages are classified in an order, then each of the messages in the message list loops in step 708, the verification step 710 makes it possible first to determine whether the message currently envisaged has a value of valid priority defined in message priority table 44. In response to the determination that the message currently being considered at 710 has a valid priority value, the additional check at 720 is called to determine whether the message is the first message in the list messages, If so, the DID of the message Μ? ω , η [ΐ) 'is assigned to FED de R? ® at 722. At 724 a check is made to determine if the value of RDSTAT is N or V, ie d. if the message envelope is independent of other message envelopes. If this is proven, then at 726 the current message is set to be independent, i.e. that the value D_STAT for e '== N. Otherwise, at 728, the message is set to be dependent, i.e. the value
D_STAT pour e -D. Le processus de la FIG.9 avance ensuite au prochain message dans la liste de messages au 738.D_STAT for e -D. The process in FIG. 9 then advances to the next message in the message list at 738.
Si le message traité dans la boucle actuelle n’est plus le premier message, ainsi que déterminé au 720, le D_ID du message (x) ' est attribué à l’ID du message M^’n(x - 1) ', au 730.If the message processed in the current loop is no longer the first message, as determined at 720, the D_ID of the message (x) 'is assigned to the ID of the message M ^' n (x - 1) ', at 730.
Une autre vérification 732 est alors effectuée afin de déterminer si la valeur de priorité du message de la boucle actuelle est égale à 0. Comme mentionné ci-dessus, une valeur de priorité égale à 0 signifie que le message ne doit pas être envoyé. Par conséquent, si la valeur de priorité = 0 est reconnue, DJSTAT de M^,nÇx)' est réglé sur V. Sinon, D_STAT deM/^I',,n(x)' est réglé sur D dans les opérations 734 et 736, respectivement. Le processus de la FIG. 9 avance ensuite au prochain message dans la liste des messages, au 738.Another check 732 is then performed to determine if the priority value of the message in the current loop is 0. As mentioned above, a priority value of 0 means that the message should not be sent. Consequently, if the priority value = 0 is recognized, DJSTAT of M ^ , n Çx) 'is set to V. Otherwise, D_STAT of M / ^ I ' ,, n (x) 'is set to D in operations 734 and 736, respectively. The FIG process. 9 then advances to the next message in the message list, 738.
Si, au 710, il est déterminé que la valeur de priorité du message actuel ne doit pas être définie, cela signifie que le message n’est dépendant que de l’enveloppe de message Rj^s. Par conséquent, l’D_ID est toujours réglé sur l’ID de Rj^ au 712 (ce qui est identique à l’opération 722) et DSTAT du message est réglé sur D au 716 ou à V au 718, selon que RDSTAT de l’enveloppe de messages est déterminé comme étant N ou V au 714. Le processus de la FIG. 9 avance ensuite au prochain message dans la liste des messages, au 738.If, at 710, it is determined that the priority value of the current message should not be set, this means that the message is dependent only on the message envelope Rj ^ s. Consequently, the D_ID is always set to the ID of Rj ^ at 712 (which is identical to operation 722) and DSTAT of the message is set to D at 716 or V at 718, depending on whether RDSTAT from l The message envelope is determined to be N or V at 714. The process of FIG. 9 then advances to the next message in the message list, 738.
Faisant maintenant référence à nouveau à la FIG. 8, après que l’opération 640 est conclue, la vérification 642 de la dépendance RD_STAT de l’enveloppe de messages est appelée à déterminer si les messages de l’enveloppe de messages peuvent être placés dans la file d’attente 46a pour envoi. Si RDJSTAT = N, l’opération 644 est exécutée pour placer le premier message de l’enveloppe de messages, c.-à-d. dans la file d’attente 46a afin d’être envoyé en premier. Ensuite, d’autres messages de l’enveloppe de messages, Μ^’η(χ)', dont D STAT est égal à N sont aussi placés dans la file d’attente 46a, au 644.Now referring again to FIG. 8, after the operation 640 is concluded, the verification 642 of the RD_STAT dependency of the message envelope is called upon to determine whether the messages of the message envelope can be placed in the queue 46a for sending. If RDJSTAT = N, operation 644 is executed to place the first message in the message envelope, i.e. in queue 46a to be sent first. Then, other messages from the message envelope, Μ ^ ' η (χ)', whose D STAT is equal to N are also placed in the queue 46a, at 644.
Si, au 642, il est déterminé que RDJSTAT de l’enveloppe de messages n’est pas N, une autre vérification est effectuée afin de déterminer si un message TTY est 'dans la carte de dépendances de message pour la cible de message 49 de la boucle actuelle. Dans l’affirmative, la carte de dépendances de messages et mise à jour au 648. Plus spécifiquement, {M^®'n(x) est mis à jour afin de de relier D_ID de au message TTY de P(i - 1) ou à l’enveloppe de messages si aucun TTY n’est présent au 648.If at 642 it is determined that RDJSTAT of the message envelope is not N, another check is made to determine if a TTY message is in the message dependency map for message target 49 of the current loop. If so, the message dependency map and updated to 648. More specifically, {M ^ ® ' n (x) is updated in order to link D_ID de to the TTY message of P (i - 1) or to the message envelope if no TTY is present at 648.
À ce stade, après que les opérations 644, 646 et 648, respectivement, ont été conclues, le calcul de la liste de messages } est achevé et la chaîne de dépendances pour (P(i)j) est ainsi définie. De plus, tous les messages dont D_STAT=N ont tous placés dans les listes de file d’attente 46a pour envoi de ces messages aux cibles de message 49. Les résultats sont ensuite stockés dans la base de données lors de l’opération de validation 620. Le processus de la FIG. 8 avance ensuite au 626 à la cible de message suivante dans la liste de cibles de message.At this point, after operations 644, 646 and 648, respectively, have been concluded, the computation of the message list} is completed and the dependency chain for (P (i) j) is thus defined. In addition, all the messages including D_STAT = N have all been placed in the queue lists 46a for sending these messages to the message targets 49. The results are then stored in the database during the validation operation. 620. The process of FIG. 8 then advances to 626 at the next message target in the message target list.
Le processus de séquencement et de génération de messages NDC 42 peut être expliqué par ailleurs en se référant à titre d’exemple aux mises à jour historiques de la liste de messages, dans les tableaux I et II illustratifs fournis à titre d’exemple qui figurent ci-dessous, les deux étant des exemples de la carte de dépendances et du tableau de messages 45 à un moment particulier dans le temps.The process of sequencing and generating NDC 42 messages can be explained further by referring by way of example to the historical updates of the message list, in the illustrative tables I and II provided by way of example which appear. below, both being examples of the dependency map and the message board 45 at a particular point in time.
Dans cet exemple historique de mise à jour, les indications de validations par rapport aux deux enregistrements de réservation, AAAAAA et BBBBBB, sont reçues par le processus de séquencement et de génération de messages NDC 42. Deux cibles de message 49, désignées comme YY et ZZ, sont concernées par ces deux enregistrements de réservation et sont donc les récepteurs des messages générés par le système de traitement 50. Pour les entrées d’enveloppe de messages, seules les six premières colonnes sont remplies. Les entrées de message n’incluent pas les valeurs pour la cinquième colonne RD_STAT, car ce paramètre fait référence à la dépendance au niveau de l’enveloppe de message.In this historical update example, the validation indications with respect to the two reservation records, AAAAAA and BBBBBB, are received by the sequencing and generation process of NDC messages 42. Two message targets 49, designated as YY and ZZ, are concerned by these two reservation records and are therefore the receivers of the messages generated by the processing system 50. For the message envelope entries, only the first six columns are filled. Message entries do not include values for the fifth column RD_STAT, as this parameter refers to the dependency on the message envelope.
Tableau I. Cartes de dépendances du traitement des enveloppes de messages 0 et 1Table I. Dependency maps for processing of message envelopes 0 and 1
Les enveloppes de messages AAAAAA(O) et BBBBBB(O) sont les premières enveloppes respectives de messages des enregistrements de réservation AAAAAA et BBBBBB. Ainsi, les entrées du tableau avec les ID 001 et 002 sont détectées chacune comme étant les « premières pour la séquence » au cours de la vérification 632 dans la FIG. 8. AAAAAA(l) n’est pas la première enveloppe de messages, mais la première enveloppe de messages relative à l’enregistrement de réservation AAAAAA pour lequel au moins un message est généré pour la cible de message ZZ. En conséquence, l’entrée du tableau d’enveloppe de messages » D 004 est aussi détectée comme étant la « première pour la séquence » au cours de la vérification 632 dans la FIG.8. Ces entrées de tableau d’enveloppe de messages n’ont pas le paramètre D_ID réglé et leur RD_STAT respectif est réglé sur « V » comme indiqué dans le tableau I, car ces enveloppes de messages ne dépendent pas d’autres enveloppes de messages pour leurs cibles de message respectives 49. Par conséquent, les messages, M^'TTY(1) et peuvent être envoyés immédiatement une fois qu’ils sont générés par le processus de séquencement et de génération de messages NDC 42, et leur DJSTAT est actualisé à S. (1) ' est le premier message dans la liste de messages {M%z0)'n(x) }, mais il n’est pas calculé car il n’a pas besoin d’être envoyé (par exemple, parce que ce message TTY n’a pas d’effet fonctionnel sur la cible de message, ou parce que la cible de message est connue pour être désabonnée au message TTY, etc., voir EP 2254046 Bl, par. [0032] et Figure 7 auxquels il est fait référence dans les présentes pour plus de contexte) par conséquent son DSTAT est finalement actualisé à V. Puis le message M^z°^'ADD [2) ' est ensuite envoyé et son D_STAT est actualisé à S. Les messagesAi^1)'771, (2) ', Μ^^'ττγ (1)'et Myy^'XML(iy sont calculés et sont prêts à être placés dans la file d’attente de messages 46a pour envoi.The AAAAAA (O) and BBBBBB (O) message envelopes are the first respective message envelopes of the AAAAAA and BBBBBB reservation records. Thus, the table entries with IDs 001 and 002 are each detected as "first for sequence" during check 632 in FIG. 8. AAAAAA (l) is not the first message envelope, but the first message envelope relating to the AAAAAA reservation record for which at least one message is generated for the message target ZZ. Consequently, the entry of the message envelope table »D 004 is also detected as being the« first for the sequence »during the check 632 in FIG.8. These message envelope table entries do not have the D_ID parameter set and their respective RD_STAT is set to "V" as shown in Table I, because these message envelopes do not depend on other message envelopes for their respective message targets 49. Consequently, the messages, M ^ ' TTY (1) and can be sent immediately once they are generated by the NDC 42 message sequencing and generation process, and their DJSTAT is updated to S. (1) 'is the first message in the message list {M% z 0 )' n (x)}, but it is not calculated because it does not need to be sent (for example, because this TTY message has no functional effect on the message target, or because the message target is known to be unsubscribed from the TTY message, etc., see EP 2254046 Bl, paras. [0032] and Figure 7 to which reference is made herein for more context) therefore its DSTAT is ultimately t updated to V. Then the message M ^ z ° ^ ' ADD [2)' is then sent and its D_STAT is updated to S. MessagesAi ^ 1 ) ' 771, (2)', Μ ^^ ' ττγ (1 ) 'and Myy ^' XML (iy are calculated and are ready to be placed in the message queue 46a for sending.
Déclenchées par d’autres changements effectués dans les enregistrements de base de données AAAAAA et BBBBBB, les indications de changement de base de données 2 et 10 de l’enregistrement de base de données AAAAAA et l’indication de validation de changement de base de données 2 de BBBBBB, sont reçues par le processus de séquencement et de génération de messages NDC 42 au moment où le traitement des enveloppes de messages et des messages selon le tableau I est complété par le processus de séquencement et de génération de messagesTriggered by other changes made to the AAAAAA and BBBBBB database records, the database change indications 2 and 10 of the AAAAAA database record and the database change validation indication 2 of BBBBBB, are received by the NDC 42 message sequencing and generation process when the processing of message envelopes and messages according to Table I is completed by the message sequencing and generation process
NDC 42 et la carte de dépendances et le tableau de messages 45 viennent juste d’être validés. Les messages transmis aux listes d’attente de messages 46a ne sont pas encore envoyés aux cibles 49.NDC 42 and the dependency card and message board 45 have just been validated. Messages sent to message waiting lists 46a have not yet been sent to targets 49.
En réponse à la réception des indications de validations de changement 2 et 10 de l’enregistrement de base de données AAAAAA et de la validation de changement 2 de l’enregistrement de base de données BBBBBB, deux autres listes de messages, notammentIn response to receiving indications of change validations 2 and 10 from the AAAAAA database record and change validation 2 from the BBBBBB database record, two other message lists, including
M^aDSL(2), et M%2U'ur V», son générées par le processus de séquencement et de génération de messages NDC 42 pour l’indication de validation de changement AAAAAA(2). Par ailleurs, une liste de messages, notamment {Μγγ10^’ΤΤΥ(1), M^'ADD (2)}, est générée pour l’indication de validation de changement AAAAAA (10), et une liste de messages, {Μ$2)'ΤΤΥ (1), M^’ADD(2), Μγ™’™1 (3)}, est générée pour l’indication de validation de changement BBBBBB(2). Le tableau II représente la carte de dépendances et le tableau de messages 45 après que toutes ces listes de messages ont été traitées par le processus de séquencement et de génération de messages NDC 42.M ^ aDSL (2), and M% 2U ' ur V ", are generated by the sequencing and generation process of NDC 42 messages for the indication of validation of change AAAAAA (2). In addition, a list of messages, in particular {Μγγ 10 ^ ' ΤΤΥ (1), M ^' ADD (2)}, is generated for the indication of validation of change AAAAAA (10), and a list of messages, { Μ $ 2) ' ΤΤΥ (1), M ^' ADD (2), Μγ ™ '™ 1 (3)}, is generated for the indication of validation of change BBBBBB (2). Table II represents the dependency map and the message table 45 after all of these message lists have been processed by the NDC 42 message sequencing and generation process.
Tableau II. Cartes de dépendances du traitement des enveloppes de messages 2 et 10Table II. Dependency cards for processing message envelopes 2 and 10
La liste classée {My®’n(x)} est faite sur la base de la définition des valeurs de priorité du tableau de priorités de message 44, dérivable à partir des entrées de tableau ayant les IDs 019, 022 et 023. Leur enveloppe de messages Ργγ2^ est stockée sous forme d’entrée de tableau ayant l’ID 017. Les deux messages et M$?)‘NDC(3)' ont le même paramètre de dépendance D_ID qui lie les deux messages à Ργγ2\ résultant des vérifications 710 et 720 ainsi que des opérations 712 et 722 (Fig. 9).The classified list {My® ' n (x)} is made on the basis of the definition of the priority values of the message priority table 44, derivable from the table entries having the IDs 019, 022 and 023. Their envelope of messages Ργγ 2 ^ is stored as an array entry with the ID 017. The two messages and M $?) ' NDC (3)' have the same dependency parameter D_ID which links the two messages to Ργγ 2 \ resulting from checks 710 and 720 as well as operations 712 and 722 (Fig. 9).
L’enveloppe de messages R^/ et la liste classée sont stockées comme entrées de tableau ayant les IDs 016, 018 et 021. M^2')'7Tr(l)' a son l’état de dépendance D_ID lié àThe message envelope R ^ / and the classified list are stored as table entries having the IDs 016, 018 and 021. M ^ 2 ' ) ' 7Tr (l) 'in its dependency state D_ID linked to
M^TTY (2)' plutôt qu’à Rz/\ résultant des vérifications 642 et 646 ainsi que de l’opération 648 dans la FIG. 8. L’état de dépendance D_ID deM^2^'SPL/T(2) ' est calculé comme étant 018 dans l’opération 730 dans la FIG. 9), mais, résultant de la vérification 732 et de l’opération 736 (FIG. 9), l’état du message DSTAT est calculé comme étant V.M ^ TTY (2) 'rather than Rz / \ resulting from checks 642 and 646 as well as from operation 648 in FIG. 8. The dependency state D_ID of M ^ 2 ^ ' SPL / T (2)' is calculated as 018 in operation 730 in FIG. 9), but, resulting from verification 732 and from operation 736 (FIG. 9), the state of the DSTAT message is calculated as V.
L’enveloppe de messages Ryy2) et la liste de messages{My®,n(x)'} sont stockées comme entrées de tableau ayant les IDs 013, 014, 015 et 020. L’enveloppe de messages Ryy10^ et la liste de messages {Λί^10^'η(χ)7 sont stockées comme entrées de tableau ayant les IDs 024 à 026. Le RDSTAT de l’enveloppe de messages Ryy10-1 est calculé comme étant U (Inconnu), au 630 dans la FIG.8 (p. ex. parce que pour une raison quelconque l’indication de validation de changement 10 est arrivée au processus de séquencement et de génération de messages 42 avant que l’indication de validation de changement 9 et qu’un contexte de publication à l’intérieur de l’indication de validation de changement 10 ne montre qu’il existe une indication de validation de changement antérieure, puis l’état de dépendance de l’enveloppe de messages est réglé sur U en attendant l’arrivée de l’indication de validation de changement 9. Des détails concernant le calcul de l’état U inconnu sont aussi expliqués dans EP 2254046 Bl sous les par. [0031] et [0032] et la Figure 7 auxquels il est fait référence dans les présentes), et tous les messages ont un état de dépendance DSTAT de D, ce qui signifie qu’ils ne seront mis en file d’attente pour envoi que lorsque la dépendance de l’enveloppe de messages RD STAT de leur enveloppe de messages est réglée sur N.The Ryy message envelope 2) and the message list {My® , n (x) '} are stored as table entries with IDs 013, 014, 015 and 020. The Ryy message envelope 10 ^ and the message list {Λί ^ 10 ^ ' η (χ) 7 are stored as table entries with IDs 024 to 026. The RDSTAT of the Ryy message envelope 10 - 1 is calculated as U (Unknown), at 630 in FIG. 8 (e.g. because for some reason the change validation indication 10 has arrived at the message sequencing and generation process 42 before the change validation indication 9 and a publication context inside the change validation indication 10 only shows that there is a previous change validation indication, then the dependency of the message envelope is set to U while waiting for the arrival of the change validation indication 9. Details concerning the calculation of the unknown U state are at if explained in EP 2254046 Bl under par. And Figure 7 to which reference is made herein), and all messages have a DSTAT dependency of D, which means that they will only be queued for sending only when the dependency of the RD STAT message envelope on their message envelope is set to N.
Faisant maintenant référence à la FIG. 10, la machine étatique d’envoi de messages 46 est responsable de l’envoi des messages qui sont en file d’attente dans les files d’attente de messages 46 a, en actualisant l’état de dépendance D STAT de ces messages de N à S et en actualisant aussi l’état des enveloppes de messages et des messages restants dans les enveloppes de messages contenus dans la carte de dépendances et dans le tableau de messages 45 après qu’ils ont été envoyés à la cible 49, c.-à-d. en réponse à la réception de confirmations reçues des cibles de message, et finalement en plaçant d’autres messages éligibles à l’envoi dans les files d’attente de messages 46a.Now referring to FIG. 10, the state message sending machine 46 is responsible for sending the messages which are queued in the message queues 46 a, by updating the dependency state D STAT of these messages. N to S and also updating the state of the message envelopes and of the messages remaining in the message envelopes contained in the dependency card and in the message table 45 after they have been sent to the target 49, c. -to-d. in response to receipt of confirmations received from the message targets, and finally by placing other messages eligible for dispatch in the message queues 46a.
La machine étatique d’envoi de messages 46 est active chaque fois qu’un message est présent dans la file d’attente de messages 46a. La machine étatique d’envoi de messages 46 retire le message de la file d’attente et au 802 le processus d’émission 47 envoie le message, via une chaîne de communication établie définie pour le type de message vers la cible correcte de message 49. Les messages TTY hérités et les messages XML peuvent être envoyés via des chaînes de communication différentes (p. ex. de façon asynchrone en utilisant une chaîne dédiée pour les messages TTY et de façon synchrone en utilisant SOAP/HTTP pour les messages XML). Une fois qu’un message est retiré de la file d’attente et envoyé, basé sur la méthode d’envoi de message (synchrone ou asynchrone), le processus de réception 48 vérifie, au 804, si une réponse de confirmation provenant du système cible (pour le mode synchrone) ou, p. ex., provenant d’un système interne délégataire de messages (pour le mode asynchrone) est présente, comme décrit par EP 2693337A1. Un message est signalé comme étant «Envoyé » (S) au 812 seulement lorsqu’une réponse de confirmation valide est reçue en provenance de la cible de message 49 et que la réponse de confirmation ne présente aucun code/information d’erreur. L’opération de nouvelle tentative d’envoi qui est constituée des opérations 806, 808 et 810 est un procédé sécurisé pour répéter les opérations d’envoi pour les messages qui n’ont pas été remis avec succès (pas de réponse de confirmation valide reçue dans un intervalle de temps donné après la transmission du message ou une réponse de confirmation avec un code d’erreur est reçue), pour le mode asynchrone. Optionnellement, les messages dépassant un nombre donné de tentatives sont signalés et stockés dans la file d’attente pour récupération comme s’ils n’étaient finalement pas envoyés (non illustré par la FIG. 10).The state message sending machine 46 is active whenever a message is present in the message queue 46a. The state message sending machine 46 removes the message from the queue and at 802 the sending process 47 sends the message, via an established communication chain defined for the message type to the correct message target 49 Legacy TTY messages and XML messages can be sent via different communication chains (eg asynchronously using a dedicated chain for TTY messages and synchronously using SOAP / HTTP for XML messages). Once a message is removed from the queue and sent, based on the message sending method (synchronous or asynchronous), the reception process 48 checks, at 804, whether a confirmation response from the system target (for synchronous mode) or, p. eg from an internal message delegate system (for asynchronous mode) is present, as described by EP 2693337A1. A message is reported as "Sent" (S) to 812 only when a valid confirmation response is received from message target 49 and the confirmation response does not have any error code / information. The retry sending operation which consists of operations 806, 808 and 810 is a secure method for repeating sending operations for messages that have not been delivered successfully (no valid confirmation response received within a given time interval after the message has been transmitted or a confirmation response with an error code is received), for asynchronous mode. Optionally, messages exceeding a given number of attempts are flagged and stored in the queue for retrieval as if they were ultimately not sent (not shown in FIG. 10).
Lorsqu’il est déterminé, aux 804, qu’une réponse valide et correcte est reçue pour le message ^ρ(ι),η^ ,, p£tat dépendance DSTAT du message est actualisé à l’état S (envoyé) au 812.When it is determined, at 804, a valid and correct response is received to the message ^ ρ (ι) η ^ ,, p £ dependency tat dstat the message is updated to the state S (sent) 812 .
Ensuite, l’opération 814 est appelée à vérifier si M^'n{yY est le dernier message dans la liste de messages {M^'n[x} }. Dans l’affirmative, l’opération 816 actualise l’état de dépendance RDJSTAT au niveau de l’enveloppe de messages de Rj J à l’état S (envoyé) et stocké dans la carte de dépendances et dans le tableau de messages 45, stockant aussi la mise à jour D STAT de l’opération 812. Après cela, au 818, l’état de dépendance de l’enveloppe suivante de messages de la chaîne de dépendances au niveau de l’enveloppe de messages P(i + 1), le cas échéant, est réglé sur RD_STAT=N (pas de dépendance), car tous les messages de l’enveloppe actuelle de messages ont été envoyés et par conséquent, l’ensemble de l’enveloppe de messages a été traitée entièrement. De plus, toujours au 818, tous les messages dont D_ID est réglé sur l’ID de R?(l+ï\ selon la carte de dépendances et le tableau de messages 45, sont actualisés pour régler leur état de dépendance D_STAT sur N. Ces messages sont aussi placés dans la file d’attente de messages 46a pour envoi, au 818. Finalement, la carte de dépendances et le tableau de messages 45 sont aussi validés une fois de plus au 822 afin de stocker les changements les plus récents dans l’enveloppe suivante de messages dans la chaîne de dépendances au niveau de l’enveloppe de messages et de la liste suivante de messages {Mj (l+1),n(x) '}, c.-à-d. les messages de l’enveloppe suivante de messages..Next, operation 814 is called to check whether M ^ ' n {yY is the last message in the message list {M ^' n [x}}. In the affirmative, operation 816 updates the dependency state RDJSTAT at the level of the message envelope of Rj J at state S (sent) and stored in the dependency card and in the message table 45, also storing the update D STAT of operation 812. After that, at 818, the state of dependence of the following envelope of messages of the chain of dependencies at the level of the envelope of messages P (i + 1 ), if applicable, is set to RD_STAT = N (no dependency), because all the messages in the current message envelope have been sent and therefore the entire message envelope has been processed entirely. In addition, still at 818, all the messages for which D_ID is set to the ID of R? ( L + ï \ according to the dependency map and the message table 45, are updated to set their dependency state D_STAT to N. These messages are also placed in the message queue 46a for sending, to 818. Finally, the dependency card and the message table 45 are also validated once more at 822 in order to store the most recent changes in the 'next message envelope in the dependency chain at the level of the message envelope and the following list of messages {Mj (l + 1), n (x)'}, i.e. the messages of the next envelope of messages ..
Si, au 814, il est déterminé que le message actuel n’est pas le dernier message de la liste de messages, l’opération 820 est appelée à sélectionner les messages éligibles pour envoi : tous les messages dont D_ID est réglé sur l’ID de ’ (c.-à-d. tous les messages qui dépendent du message actuel qui a été remis à la cible avec succès) sont sélectionnés à partir de la carte de dépendances et du tableau de messages 45, leur état de dépendance DSTAT est réglé sur N et ces messages sont placés dans la file d’attente de messages 46a pour envoi. Après cela, l’opération 822 est appelée à valider la carte de dépendances et le tableau de messages 45 afin de stocker les changements les plus récents des listes de messages etIf, at 814, it is determined that the current message is not the last message in the message list, operation 820 is called to select the messages eligible for sending: all messages for which D_ID is set to ID from '(i.e. all messages that depend on the current message that was successfully delivered to the target) are selected from the dependency map and message table 45, their DSTAT dependency status is set to N and these messages are placed in the message queue 46a for sending. After that, operation 822 is called to validate the dependency card and the message table 45 in order to store the most recent changes to the message lists and
La machine étatique d’envoi de messages 46 peut être illustrée par ailleurs en référence au Tableau II déjà discuté ci-dessus. Tout d’abord, les cartes de dépendances sont mises à jour après l’envoi réussi de (2)', ' et M$y^'XML [ïy comme illustré dans laThe state machine for sending messages 46 can be illustrated moreover with reference to Table II already discussed above. First, the dependency maps are updated after the successful sending of (2) ',' and M $ y ^ ' XML [ïy as illustrated in the
FIG. 11 avec le Tableau III, représentant l’état de la carte de dépendances et du tableau de messages à ce stade.FIG. 11 with Table III, representing the state of the dependency card and the message table at this stage.
Lorsque le dernier message d’une liste de messages, c.-à-d. à l’intérieur d’une enveloppe de message R}- , est envoyé avec succès à la cible de message, l’entrée de tableau d’enveloppe de message dans la carte de dépendances et dans le tableau de messages 45 est mise à jour pour compléter le traitement d’envoi de messages pour l’enveloppe actuelle de messages Rj® Par exemple, les entrées suivantes de tableau sont mises à jour à l’opération 816 dans la FIG. 10, ainsi que représenté visuellement par les flèches dans la FIG. 11 :When the last message in a message list, i.e. inside a message envelope R } -, is successfully sent to the message target, the message envelope table entry in the dependency card and in the message table 45 is updated to complete the message sending processing for the current Rj® message envelope. For example, the following table entries are updated in operation 816 in FIG. 10, as shown visually by the arrows in FIG. 11:
- La transmission réussie du message avec l’ID=007 règle D_STAT=S ce qui signifie que tous les messages de l’enveloppe de messages avec l’ID=004 ont été envoyés. Par conséquent, la dépendance au niveau d’enveloppe de messages peut être réglée sur « envoyée » aussi, c.-à-d. que RDSTAT de l’enveloppe de messages ID=004 est réglé sur S.- The successful transmission of the message with ID = 007 rule D_STAT = S which means that all messages in the message envelope with ID = 004 have been sent. Therefore, the dependency on the message envelope level can be set to "sent" too, ie. that RDSTAT of the message envelope ID = 004 is set to S.
- Le message avec ID=010 est le seul message de l’enveloppe de messages ID=009. Ainsi, lorsque le message ID=010 est transmis avec succès, son D_STAT est réglé sur- The message with ID = 010 is the only message in the message envelope ID = 009. Thus, when the message ID = 010 is successfully transmitted, its D_STAT is set to
S et la dépendance au niveau de l’enveloppe de messages peut également être réglée sur « envoyée », c.-à-d. que RDJSTAT de l’enveloppe de messages ID=009 est réglé sur S.S and the envelope envelope dependency can also be set to "sent", ie. that RDJSTAT of the message envelope ID = 009 is set to S.
- De la même façon, le message avec ID=012 est le seul message de l’enveloppe de messages ID=11. Ainsi, lorsque le message ID=12 est transmis avec succès, son ID_STAT est est réglé sur S et la dépendance au niveau de l’enveloppe de messages peut également être réglée sur « envoyée », c.-à-d. RD_STAT de l’enveloppe de messages ID=011 est réglé sur S.- Similarly, the message with ID = 012 is the only message in the message envelope ID = 11. Thus, when the message ID = 12 is successfully transmitted, its ID_STAT is set to S and the dependency on the message envelope can also be set to "sent", ie. RD_STAT of the message envelope ID = 011 is set to S.
Puis, les mises à jour des dépendances au niveau de l’enveloppe de messages continuent avec les enveloppes suivantes R^l+1) qui dépendent des enveloppes de messages Rj^ qui ont été réglées à RD_STAT=S dans l’opération 818 de la FIG. 10. Généralement, le RDSTAT de l’enveloppe suivante de messages R^l+1^ est actualisé à N chaque fois que l’enveloppe de messages R^ dont dépend l’enveloppe de messages R;^I+1^est réglée sur S. dans l’exemple du Tableau III dans la FIG. 11, les transitions (signalées à nouveau par les flèches respectives dans la FIG. 11) sont les suivantes :Then, the updates of the dependencies at the level of the message envelope continue with the following envelopes R ^ l + 1) which depend on the message envelopes Rj ^ which have been set to RD_STAT = S in operation 818 of the FIG. 10. Generally, the RDSTAT of the following envelope of messages R ^ l + 1 ^ is updated to N each time that the message envelope R ^ on which the message envelope R depends ; ^ I + 1 ^ is set to S. in the example in Table III in FIG. 11, the transitions (indicated again by the respective arrows in FIG. 11) are as follows:
- En réponse au réglage RD_STAT de l’enveloppe de messages ID=004 sur S, l’état de dépendance au niveau de l’enveloppe de messages de l’enveloppe de messages avec ID=016 dépendant de l’enveloppe de messages ID=004 (c.-à-d. ayant D_ID=004) est réglé sur RD_STAT=N.- In response to the RD_STAT setting of the message envelope ID = 004 on S, the state of dependence on the level of the message envelope of the message envelope with ID = 016 depending on the message envelope ID = 004 (i.e. having D_ID = 004) is set to RD_STAT = N.
- En réponse au réglage RD STAT de l’enveloppe de messages ID=009 sur S, l’état de dépendance au niveau de l’enveloppe de messages de l’enveloppe de messages avec ID=013 dépendant de l’enveloppe de messages ID=009 (c.-à-d. ayant D_ID=009) est réglé sur RD_STAT=N.- In response to the RD STAT setting of the message envelope ID = 009 on S, the state of dependence on the level of the message envelope of the message envelope with ID = 013 depending on the message envelope ID = 009 (i.e. having D_ID = 009) is set to RD_STAT = N.
- En réponse au réglage RD STAT de l’enveloppe de messages ID=011 sur S, l’état de dépendance au niveau de l’enveloppe de messages de l’enveloppe de messages avec ID=017 dépendant de l’enveloppe de messages ID=011 (c.-à-d. ayant D_ID=011) est réglé sur RD_STAT=N.- In response to the RD STAT setting of the message envelope ID = 011 on S, the state of dependence on the level of the message envelope of the message envelope with ID = 017 depending on the message envelope ID = 011 (i.e. having D_ID = 011) is set to RD_STAT = N.
En réponse à ces mises à jour de l’état de dépendance RD_STAT au niveau de l’enveloppe de messages, les premiers messages des enveloppes de messages actualisées, c.-à-d. dont la dépendance est sur Rj ^l+1\ sont mis à jour et placés en file d’attente, pour envoi, au cours del’opération 818 dans la FIG. 10. Par exemple, en faisant référence à nouveau à la FIG. 11, les messages suivants sont signalés comme n’étant plus dépendants :In response to these RD_STAT dependency state updates at the message envelope level, the first messages in the updated message envelopes, i.e. whose dependency is on Rj ^ l + 1 \ are updated and placed in the queue, for sending, during operation 818 in FIG. 10. For example, referring again to FIG. 11, the following messages are marked as no longer dependent:
- En réponse au réglage RDSTAT de l’enveloppe de messages ID=013 à N, l’état de dépendance au niveau de l’enveloppe de messages de l’enveloppe de messages ID=014 étant le premier message dans l’enveloppe de messages ID=013 (c.-à-d. ayant D_ID=013) est réglé sur D_STAT=N et transmis à la file d’attente de messages 46a.- In response to the RDSTAT setting of the message envelope ID = 013 to N, the state of dependence on the level of the message envelope of the message envelope ID = 014 being the first message in the message envelope ID = 013 (i.e. having D_ID = 013) is set to D_STAT = N and passed to message queue 46a.
- En réponse au réglage RDSTAT de l’enveloppe de messages ID=017 sur N, l’état de dépendance au niveau de l’enveloppe de messages de l’enveloppe de messages avec ID=019 et ID=023 étant à la fois les premiers messages dans l’enveloppe de messages ID=017 (c.-à-d. ayant D_ID=13 qu’il n’y a aucune dépendance entre ces deux messages) est réglé sur D_STAT=N et les deux messages sont transmis à la file d’attente de messages 46a.- In response to the RDSTAT setting of the message envelope ID = 017 to N, the state of dependence on the level of the message envelope of the message envelope with ID = 019 and ID = 023 being both first messages in the message envelope ID = 017 (i.e. having D_ID = 13 that there is no dependency between these two messages) is set to D_STAT = N and the two messages are transmitted to the message queue 46a.
L’opération 818 de la FIG. 10 vérifie aussi si des dépendances existent au niveau des messages hérités qui doivent être mis à jour en raison de l’envoi des messages avec succès et lorsque les messages ont été réglés sur N (indépendant). Par exemple, le message de norme héritée ID=108 relatif à l’indication de validation de changement 2 (c.-à-d. 1=2) a une dépendance au niveau du message avec le message ID=107 (c.-à-d. D_ID=007) qui appartenait à l’enveloppe de messages ID=004 et a été envoyé avec succès. Par conséquent, l’état de dépendance du message ID=018 est réglé sur N et le message ID= 108 est également transmis à la file d’attente 46a pour envoi.FIG operation 818. 10 also checks to see if there are any dependencies on legacy messages that need to be updated due to successful message sending and when the messages have been set to N (independent). For example, the legacy standard message ID = 108 relating to change validation indication 2 (i.e. 1 = 2) has a message level dependence on the message ID = 107 (i.e. i.e. D_ID = 007) which belonged to the message envelope ID = 004 and was sent successfully. Consequently, the state of dependency of the message ID = 018 is set to N and the message ID = 108 is also transmitted to the queue 46a for sending.
Par souci d’exhaustivité, il doit être noté que le message hérité ID=018 et un cas spécial puisqu’il s’agit d’une fonction optionnelle du moteur de traitement de messages 50 pour construire une chaîne de dépendance directe au niveau du message entre les messages hérités TTY pour chaque cible de message pour le même enregistrement de base de données. Le message hérité ID=007 dans l’enveloppe de messages ID=004 est un message habituel ayant une dépendance au niveau du message par rapport au message ID=005 à l’intérieur de l’enveloppe de messages ID=004. D’autre part, le message hérité ID=018 appartient actuellement à l’enveloppe de messages ID=016 et son D_ID devrait donc être 016. Cependant, puisqu’il s’agit d’un message hérité, un processus particulier de calcul de dépendance héritée règle son D_ID=007 au lieu de D_ID=016 parce que l’envoi du message hérité ID=018 ce faisant immédiatement après le message hérité= 007 n’affecte pas la séquence et la dépendance de tout autre message XML éventuel dans l’enveloppe de messages (ici : le message ID=021), c.-à-d. que la chaîne de dépendances au niveau du message est conservée pour les indications de validation de changement signalées NDC.For the sake of completeness, it should be noted that the inherited message ID = 018 is a special case since it is an optional function of the message processing engine 50 to construct a direct dependency chain at the message level between TTY legacy messages for each message target for the same database record. The inherited message ID = 007 in the message envelope ID = 004 is a usual message having a dependency on the message compared to the message ID = 005 inside the message envelope ID = 004. On the other hand, the inherited message ID = 018 currently belongs to the message envelope ID = 016 and its D_ID should therefore be 016. However, since it is an inherited message, a particular process of calculating inherited dependency sets its D_ID = 007 instead of D_ID = 016 because sending the inherited message ID = 018 doing so immediately after the inherited message = 007 does not affect the sequence and dependency of any other XML messages in the message envelope (here: message ID = 021), i.e. that the message level dependency chain is kept for change validation indications reported NDC.
Les cartes de dépendances définies par la carte de dépendances et le tableau de messages 45 après que l’envoi réussi des premiers messages mentionnés ci-dessus (messages avec IDs 014, 019, 023 et 018) sont illustrées dans le Tableau IV de la FIG. 12. L’état de dépendance au niveau du message des messages avec les IDs 014, 019, 023 et 018 est réglé sur D_STAT=S en réponse à la réception par le processus de réception 48 des réponses respectives de confirmation.The dependency maps defined by the dependency map and the message table 45 after the successful sending of the first messages mentioned above (messages with IDs 014, 019, 023 and 018) are illustrated in Table IV of FIG . 12. The state of dependence on the message level of messages with IDs 014, 019, 023 and 018 is set to D_STAT = S in response to reception by the reception process 48 of the respective confirmation responses.
Ensuite, l’opération 820 de la FIG. 10 met à jour l’état de dépendance au niveau du message des messages suivants dans les enveloppes de messages respectives sur la base de la chaîne de dépendances au niveau du message en cours de définition par la carte de dépendances et le tableau de messages 45. Dans l’exemple de la FIG. 12, les mises à jour suivantes de dépendance sont faites au niveau du message :Next, FIG operation 820. 10 updates the dependency state at the message level of the following messages in the respective message envelopes on the basis of the chain of dependencies at the level of the message being defined by the dependency map and the message table 45. In the example of FIG. 12, the following dependency updates are made at the message level:
- En réponse à la transmission réussie du message ID-014, l’état de dépendance au niveau du message du message ID=014 est réglé sur « envoyé », c.-à-d. D_STAT=S. L’état de dépendance au niveau du message du message suivant dépendant du message ID=0014, notamment le message ID=015 (ayant D ID 014) est ensuite réglé sur indépendant, c.-à-d. D_STAT=N, et le message ID 015 est transmis à la file d’attente de messages 46a pour envoi.- In response to the successful transmission of message ID-014, the message-dependent state of message ID = 014 is set to "sent", ie. D_STAT = S. The state of dependence on the message level of the next message depending on the message ID = 0014, in particular the message ID = 015 (having D ID 014) is then set to independent, i.e. D_STAT = N, and message ID 015 is passed to the message queue 46a for dispatch.
- De la même façon, en réponse à la transmission réussie du message ID=019, l’état de dépendance au niveau du message du message ID=019 est réglé sur « envoyé », c.-à-d. D_STAT=S. L’état de dépendance au niveau du message du message suivant dépendant du message ID=0019, notamment le message avec ID=022 (ayant- In the same way, in response to the successful transmission of the message ID = 019, the state of dependence on the message level of the message ID = 019 is set to "sent", ie. D_STAT = S. The state of dependence on the message level of the following message depending on the message ID = 0019, in particular the message with ID = 022 (having
D ID 019) est ensuite réglé sur indépendant, c.-à-d. D STAT^N, et le message ID 022 est transmis à la file d’attente de messages 46a pour envoi.D ID 019) is then set to independent, i.e. D STAT ^ N, and message ID 022 is passed to the message queue 46a for dispatch.
Par ailleurs, au niveau de l’enveloppe de messages, l’enveloppe de messages avec ID=016 (Rzz^} est actualisée à S, car le message avec ID=018 (Λί^ζ^'ΓΤΓ(1)) était le seul message dans la chaîne de dépendances devant être envoyé à la cible de message ZZ (le message ID=021 appartient aussi à l’enveloppe de message ID=016, mais il a un statut annulé [D_STAT=V] et ne sera donc pas envoyé) et le message ID=018 a été envoyé.In addition, at the level of the message envelope, the message envelope with ID = 016 (Rzz ^} is updated to S, because the message with ID = 018 (Λί ^ ζ ^ ' ΓΤΓ (1)) was the only message in dependency chain to be sent to message target ZZ (message ID = 021 also belongs to message envelope ID = 016, but it has a canceled status [D_STAT = V] and therefore will not be sent) and the message ID = 018 has been sent.
Les cartes de dépendances définies par la carte de dépendances et le tableau de messages 45 sont montrés dans la FIG. 13 avec le Tableau V après que tous les messages mentionnés cidessus sont envoyés. La FIG. 13 indique aussi les mises à jour suivantes des dépendances au niveau de l’enveloppe de messages et des dépendances au niveau du message :The dependency maps defined by the dependency map and the message table 45 are shown in FIG. 13 with Table V after all of the above messages are sent. FIG. 13 also indicates the following updates to the message envelope dependencies and the message level dependencies:
Après que le message ID_022 a été envoyé avec succès, son état de dépendance au niveau du message D_STAT est réglé sur S. cela signifie aussi que tous les messages de l’enveloppe de messages ID=017 ont été remis avec succès. Par conséquent, la dépendance au niveau de l’enveloppe de messages peut également être réglée sur « envoyée », c.-à-d. que RDSTAT de l’enveloppe de messages ID=017 est réglé de N sur S.After the message ID_022 has been successfully sent, its dependency on the D_STAT message is set to S. This also means that all the messages in the message envelope ID = 017 have been delivered successfully. Therefore, the dependency on the message envelope can also be set to "sent", ie. that RDSTAT of the message envelope ID = 017 is set from N to S.
- Après que le message ID_015 a été envoyé avec succès, son état de dépendance au niveau du message DSTAT est réglé sur S. Le message suivant dépendant du message ID_015 est le message ID=020 (ayant D_ID=015). Par conséquent, la dépendance au niveau du message du message ED=015 est réglée sur N et le message est transmis à la file d’attente de messages 46a pour envoi.- After the message ID_015 has been sent successfully, its state of dependence on the DSTAT message is set to S. The next message depending on the message ID_015 is the message ID = 020 (having D_ID = 015). Consequently, the message level dependence of the message ED = 015 is set to N and the message is transmitted to the message queue 46a for sending.
- FIG. 13 indique déjà par « (S) » que l’état de dépendance au niveau du message du message ID=020 sera plus tard réglé sur « envoyé » en réponse à la réception d’une réponse de confirmation correspondante provenant de la cible de message YY.- FIG. 13 already indicates with "(S)" that the message dependency state of the message ID = 020 will later be set to "sent" in response to the receipt of a corresponding confirmation response from the message target YY.
- Puis, la FIG. 13 indique également, en réponse à la détermination de la remise réussie du message ID_020, que l’état de dépendance de l’enveloppe de messages de l’enveloppe de messages ID=013 sera réglé sur «envoyé (S) parce que le message ID=020 était le dernier message de cette enveloppe de messages.- Then, FIG. 13 also indicates, in response to determining successful delivery of message ID_020, that the message envelope dependency of the message envelope ID = 013 will be set to "sent (S) because the message ID = 020 was the last message in this message envelope.
Enfin, la FIG. 14 est une représentation schématique d’un système informatique 100 qui apporte la fonctionnalité du système de traitement de messages 50 décrit ci-dessus. Le système informatique 100 peut inclure un ensemble d’instructions qui amènent le système informatique 100 à implémenter un quelconque des procédés et des activités du système de traitement de messages 50 tel qu’ii est élaboré ci-dessus. Le système informatique 100 inclut un ou plusieurs processeurs 101, une mémoire principale 102 et un dispositif d’interface de réseau 103 qui communiquent les uns avec les autres via un bus 104. Ledit au moins un processeur 101 inclut au moins une unité centrale de processeur, CPU, ayant des instructions de programme en antémémoire pour mettre en œuvre les procédés de traitement de message qui sont décrits dans les présentes. Optionnellement, le système informatique 100 peut par ailleurs inclure une mémoire statique 105 et une unité de lecteur de disque 106. Un affichage vidéo 107, un dispositif de saisie alphanumérique 108 et un dispositif de commande de curseur 109 constituent une interface homme-machine afin de faire fonctionner le système informatique 100. Le dispositif d’interface de réseau 103 est une interface filaire et/ou sans fil qui connecte le système de traitement de messages 50 à un nombre quelconque et tout type d’autres systèmes, incluant un moteur de réservation NDC 40, un moteur de réservation GDS hérité 41 et des cibles de message 49. Les cibles de message 49 peuvent être hébergées sur Internet et/ou tout autre réseau. Le dispositif d’interface de réseau 103 utilise soit des protocoles de communication standards tels que HTTP/TCP/une pile de protocoles IP, IEEE 802.11 et/ou des protocoles de communication brevetés.Finally, FIG. 14 is a schematic representation of a computer system 100 which provides the functionality of the message processing system 50 described above. The computer system 100 may include a set of instructions which cause the computer system 100 to implement any of the methods and activities of the message processing system 50 as described above. The computer system 100 includes one or more processors 101, a main memory 102 and a network interface device 103 which communicate with each other via a bus 104. Said at least one processor 101 includes at least one central processor unit , CPU, having cache program instructions for implementing the message processing methods which are described herein. Optionally, the computer system 100 can also include a static memory 105 and a disk drive unit 106. A video display 107, an alphanumeric input device 108 and a cursor control device 109 constitute a man-machine interface in order to operate the computer system 100. The network interface device 103 is a wired and / or wireless interface which connects the message processing system 50 to any number and any type of other systems, including a reservation engine NDC 40, a legacy GDS reservation engine 41 and message targets 49. Message targets 49 can be hosted on the Internet and / or any other network. The network interface device 103 uses either standard communication protocols such as HTTP / TCP / a stack of IP protocols, IEEE 802.11 and / or patented communication protocols.
Un ensemble d’instructions (c.-à-d. un logiciel) 110 représentants un quelconque des procédés, ou tous, décrits ci-dessus, est hébergé complètement, ou au moins partiellement, dans ou sur un support lisible par ordinateur, p. ex. la mémoire principale 102 et/ou ledit au moins un processeur 101 avec ledit au moins une antémémoire de CPU. Parmi d’autres, les instructions peuvent mettre en œuvre les fonctions du système de traitement de messages pour traiter les validations de changement de base de données entrante et les messages ainsi que pour mettre en file d’attente est envoyé les messages comme cela est décrit de façon détaillée ci-dessus. Un support lisible par ordinateur sur lequel le logiciel 110 et hébergé peut aussi être un support de données non volatile 111 (p. ex. un disque dur magnétique non amovible ou un disque optique ou magnétique amovible) qui fait partie de l’unité de lecteur de disque 106. Le logiciel 110 peut par ailleurs être transmis ou reçu sous forme de signal propagé 112 via Internet par l’intermédiaire du dispositif interface de réseau 103.A set of instructions (i.e. software) 110 representing any or all of the methods described above is hosted completely, or at least partially, in or on a computer-readable medium, p . ex. main memory 102 and / or said at least one processor 101 with said at least one CPU cache. Among others, the instructions can implement the functions of the message processing system to process the incoming database change validations and messages as well as to queue the messages sent as described in detail above. A computer-readable medium on which the software 110 and hosted can also be a non-volatile data medium 111 (eg a non-removable magnetic hard disk or a removable optical or magnetic disk) which is part of the drive unit disk 106. The software 110 can also be transmitted or received in the form of a propagated signal 112 via the Internet via the network interface device 103.
Pour résumer, les procédés décrits dans les présentes facilitent la génération d’une chaîne de dépendance à la fois au niveau de l’enveloppe de messages et au niveau du message Les relations de dépendance entre les enveloppes de message le message sont configurables en (re) définissant des valeurs données de priorité de message. Globalement, une structure générique est présentée qui prend en charge à la fois les flux de messages hérités, p. ex. les messages TTY ainsi que les flux de messages hybrides plus sophistiqués selon une norme de pointe telle queTo summarize, the methods described herein facilitate the generation of a dependency chain both at the level of the message envelope and at the message level. The dependency relationships between the message envelopes and the message are configurable by (re ) defining given message priority values. Overall, a generic structure is presented which supports both legacy message flows, e.g. ex. TTY messages as well as more sophisticated hybrid message flows according to an advanced standard such as
NDC. La structure est extensible, car plus de normes sophistiquées et de flux de messages peuvent être ajoutés sans problème.NDC. The structure is extensible, as more sophisticated standards and message flows can be added without problem.
Bien que certains produits et procédés construits selon les enseignements de l’invention aient 5 été décrits dans les présentes, la portée de couverture de ce brevet ne leur est pas limitée. Bien au contraire, ce brevet couvre tous les modes de réalisation des enseignements de l’invention qui tombe raisonnablement dans la portée des revendications en annexe soit littéralement, soit au regard de la doctrine des équivalents.Although certain products and processes constructed according to the teachings of the invention have been described herein, the scope of coverage of this patent is not limited to them. On the contrary, this patent covers all the embodiments of the teachings of the invention which reasonably fall within the scope of the appended claims, either literally or in the light of the doctrine of equivalents.
Claims (3)
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1755105A FR3067490B1 (en) | 2017-06-08 | 2017-06-08 | PROCESSING MULTISTANDARD MESSAGES |
KR1020197037423A KR102321860B1 (en) | 2017-06-08 | 2018-06-08 | Multi-standard message processing |
ES18728422T ES2898755T3 (en) | 2017-06-08 | 2018-06-08 | Multi-standard message processing |
AU2018280855A AU2018280855B2 (en) | 2017-06-08 | 2018-06-08 | Multi-standard message processing |
PCT/EP2018/065192 WO2018224659A1 (en) | 2017-06-08 | 2018-06-08 | Multi-standard message processing |
EP18728422.9A EP3513292B1 (en) | 2017-06-08 | 2018-06-08 | Multi-standard message processing |
JP2019567541A JP7083850B2 (en) | 2017-06-08 | 2018-06-08 | Multi-standard message processing |
CN201880037254.7A CN110709820B (en) | 2017-06-08 | 2018-06-08 | Multi-standard message processing |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1755105 | 2017-06-08 | ||
FR1755105A FR3067490B1 (en) | 2017-06-08 | 2017-06-08 | PROCESSING MULTISTANDARD MESSAGES |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3067490A1 true FR3067490A1 (en) | 2018-12-14 |
FR3067490B1 FR3067490B1 (en) | 2023-04-28 |
Family
ID=60923544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1755105A Active FR3067490B1 (en) | 2017-06-08 | 2017-06-08 | PROCESSING MULTISTANDARD MESSAGES |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR3067490B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3772027A1 (en) * | 2019-07-30 | 2021-02-03 | Amadeus S.A.S. | Device, system and method for mode-based synchronization of a data records |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158883A1 (en) * | 2002-02-04 | 2003-08-21 | Drudis Antoni N. | Message processing |
US20060146848A1 (en) * | 2004-12-30 | 2006-07-06 | Microsoft Corporation | Server queuing system and method |
EP2254046A1 (en) * | 2009-05-18 | 2010-11-24 | Amadeus S.A.S. | A method and system for managing the order of messages |
-
2017
- 2017-06-08 FR FR1755105A patent/FR3067490B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030158883A1 (en) * | 2002-02-04 | 2003-08-21 | Drudis Antoni N. | Message processing |
US20060146848A1 (en) * | 2004-12-30 | 2006-07-06 | Microsoft Corporation | Server queuing system and method |
EP2254046A1 (en) * | 2009-05-18 | 2010-11-24 | Amadeus S.A.S. | A method and system for managing the order of messages |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3772027A1 (en) * | 2019-07-30 | 2021-02-03 | Amadeus S.A.S. | Device, system and method for mode-based synchronization of a data records |
FR3099619A1 (en) * | 2019-07-30 | 2021-02-05 | Amadeus | Device, system and method for mode-based synchronization of data records |
US11580462B2 (en) | 2019-07-30 | 2023-02-14 | Amadeus S.A.S., Sophia Antipolis | Device, system and method for mode-based synchronization of data records |
US11875282B2 (en) | 2019-07-30 | 2024-01-16 | Amadeus S.A.S. | Device, system and method for mode-based synchronization of data records |
Also Published As
Publication number | Publication date |
---|---|
FR3067490B1 (en) | 2023-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111866191B (en) | Message event distribution method, distribution platform, system and server | |
CN101203832B (en) | System and method for providing content aggregation platform | |
US10565086B2 (en) | Service modeling and virtualization | |
CN103051667B (en) | Distributing multi-source push notifications to multiple targets | |
CA2275187C (en) | Method of data conversion and transport between agent servers on one machine and a central agent server on another machine | |
AU2017251862A1 (en) | Marketplace for timely event data distribution | |
CN108628881A (en) | Method of data synchronization and device | |
US20190238495A1 (en) | Multi-standard message processing | |
US7870563B2 (en) | Triggering workflows based on middleware events | |
CN116760705B (en) | Multi-tenant platform isolation management system and method based on comprehensive energy management system | |
FR3099613A1 (en) | AUTOMATIC LEARNING SYSTEMS AND METHODS FOR PLACING DATA IN DISTRIBUTED STORAGE | |
WO2014019701A1 (en) | Method, system and computer program product for sequencing asynchronous messages in a distributed and parallel environment | |
FR3067490A1 (en) | TREATMENT OF MULTINOUS MESSAGES | |
CN110457380A (en) | A kind of data-storage system | |
CN110225102A (en) | Method, equipment and the system of pushed information | |
EP2693337B1 (en) | Method, system and computer program products for sequencing asynchronous messages in a distributed and parallel environment | |
US20140040194A1 (en) | Method, system and computer program product for sequencing asynchronous messages in a distributed and parallel environment | |
Takahashi et al. | Sustainable NFT blockchain storage for high availability and security | |
JP7083850B2 (en) | Multi-standard message processing | |
FR3102587A1 (en) | System, method and apparatus for correlation of data objects | |
FR3002666A1 (en) | METHOD FOR CENTRALIZED PLANNING OF TASKS TO BE EXECUTED BY COMPUTERS THAT VERIFY CERTAIN QUALITATIVE CRITERIA WITHIN A SET DISTRIBUTED BY COMPUTERS | |
FR3062228A1 (en) | AGREGATIVE DATABASE OF RECORDINGS CONTEXT | |
US20170063766A1 (en) | Email Parking Lot | |
FR3090156A1 (en) | DISTRIBUTED REGISTER | |
CN117785448A (en) | Message scheduling method and device, equipment and medium thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLSC | Publication of the preliminary search report |
Effective date: 20181214 |
|
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 |
|
PLFP | Fee payment |
Year of fee payment: 8 |