FR 3094809 A1 20201009 FR 1903521 A 20190402 Description Titre de l'invention : PROCÉDÉ ET DISPOSITIF POUR LA GESTION D'ÉVÈNEMENTS Domaine technique [0001] La présente invention concerne de façon générale la gestion d'informations et plus spécifiquement un dispositif de gestion d'évènements, un procédé et un programme d'ordinateur. CONTEXTE [0002] Les systèmes informatiques modernes, tels que le système de transmission de données, collectent un immense volume de données provenant de diverses sources de données, incluant les données d'utilisateur nécessaires pour les applications en cours d'exécution dans les systèmes. [0003] Un système de transmission de données comprend généralement une ou plusieurs structures de donnée dans lesquelles sont agrégées les données d'utilisateur reçues de ces sources de données. Un système de transmission de données entre généralement ces données d'utilisateur de façon statique dans les applications en cours d'exécution dans le système. [0004] Cependant, les systèmes de transmission de données modernes sont soumis à de fortes contraintes en matière de temps de réponse. Cela implique de traiter un important volume de données avec des performances computationnelles élevées afin de pouvoir transmettre une réponse aux dispositifs clients avec une faible latence. [0005] Les données transmises par un système de transmission de données sont géné- ralement transmises pour un ensemble donné d'utilisateurs, en réponse à une demande d'un client reçue d'un dispositif client. Les données transmises peuvent représenter, par exemple, des produits qui seront utilisés par l'ensemble des utilisateurs, tels que des billets de voyage, des billets de spectacle, des livres électroniques, des articles de vidéo ou de musique, etc. Dans le processus de transmission de données aux dispositifs client pour un ensemble donné d'utilisateurs, les utilisateurs sont généralement identifiés dans le système de transmission de données en utilisant des informations relatives aux utilisateurs. Le système de transmission de données conserve généralement ces données d'utilisateur dans une ou plusieurs structures de donnée de stockage. Le système de transmission de données peut aussi récupérer des données supplémentaires relatives à l'utilisateur à partir de diverses sources de données hétérogènes (internes ou externes au système). 100061 Ces données d'utilisateur représentent un immense volume de données hétérogènes conservées par le système de transmission de données qui constituent les ressources 2 clés. Les systèmes de transmission de données existants utilisent un nombre d'applications qui nécessitent un accès à ces données d'utilisateur. L'exécution de ces applications nécessite généralement d'importantes ressources computationnelles en raison de l'hétérogénéité des données d'utilisateur, la diversité des sources desquelles elles sont reçues et le nombre très important d'utilisateurs associé à ces données, ce qui peut augmenter la latence globale du système de transmission de données. [0007] Par ailleurs, un système de transmission de données exécute aussi un nombre d'applications ou est connecté à des applications externes qui peuvent être impactécs en temps réel par des événements liés aux données d'utilisateur conservées par le système de transmission de données. [0008] Cependant, les systèmes de transmission de données existants ne sont pas capables de détecter ces événements en temps réel de façon dynamique tout en maintenant un temps de réponse optimal et un haut niveau de disponibilité des données d'utilisateur. [0009] Un système amélioré de transmission de données capable de détecter en temps réel de façon dynamique des événements liés aux données d'utilisateur est donc nécessaire. RÉSUMÉ [0010] Pour surmonter ces problèmes, un dispositif de gestion d'évènements pour gérer des évènements est fourni. Le dispositif comprend un détecteur d'événements configuré pour détecter l'apparition d'un événement lié à des données délivrées par un système de transmission de données et pour extraire des données d'utilisateur relatives à l'événement détecté d'un stockage de données d'utilisateur, les données d'utilisateur extraites comprenant les données d'utilisateur stockées dans au moins une entrée du stockage de données d'utilisateur. Lc dispositif de gestion d'événements comprenant par ailleurs un gestionnaire de règles configuré pour déterminer une plusieurs actions à exécuter en appliquant une ou plusieurs règles utilisant les données d'utilisateur extraites, le dispositif de gestion d'événements étant configuré pour déclencher l'exécution d'au moins une action déterminée. [0011] Dans un mode de réalisation, le gestionnaire de règles comprend une mémoire de règles pour stocker des règles et un moteur de règles pour gérer les règles stockées dans la mémoire de règles. [0012] Chaque règle comprend une partie conditions comprenant une combinaison logique d'au moins une condition et une partie actions comprenant une combinaison logique d'au moins une action, le moteur de règles étant configuré pour déterminer ladite au moins une action à exécuter de la partie actions de chaque règle appliquée en fonction de la vérification de la combinaison logique de conditions de la règle appliquée. [0013] Dans certains modes de réalisation, les règles peuvent être stockées dans la mémoire de règles sous forme d'une ou de plusieurs structures de donnée d'arbre associées aux règles, le moteur de règles étant configuré pour appliquer une règle aux données 3 extraites en analysant au moins une structure de donnée d'arbre. [0014] Chaque structure de donnée d'arbre peut être associée à une règle donnée de la mémoire de règles et représente la partie conditions de la règle. [0015] Dans certains modes de réalisation, le dispositif comprend par ailleurs une unité d'extraction de données configurée pour extraire les données d'utilisateur du stockage de données d'utilisateur en réponse à l'événement détecté, l'unité d'extraction de données étant par ailleurs configurée pour extraire des données liées à l'événement de l'événement détecté. [0016] L'unité d'extraction de données est configurée pour générer un fichier de description intégrant les données d'utilisateur extraites et/ou les données relatives à l'événement extrait, le fichier de description étant utilisé par le gestionnaire de règles pour déterminer ladite au moins une action à exécuter. [0017] Dans certains modes de réalisation, le gestionnaire de règles est configuré pour sé- lectionner ladite une ou plusieurs règles à appliquer en utilisant les données d'utilisateur extraites et/ou les données liées à l'événement extraites de l'événement détecté et/ou les données de sources de données externes. [0018] Le stockage de données d'utilisateur comprend une ou plusieurs entrées, les données d'utilisateur stockées dans chaque entrée du stockage de données d'utilisateur comprenant des informations d'utilisateur relatives aux données transmises par ledit système de transmission de données à l'ensemble des utilisateurs. [0019] Dans certains modes de réalisation, le dispositif comprend un moteur d'apprentissage automatique configuré pour déterminer un score de pertinence d'action pour chaque action exécutée, en utilisant des valeurs de rétroaction reçues pour l'action exécutée au cours d'une période. [0020] Le dispositif est configuré pour actualiser les règles de façon dynamique dans la mémoire de règles sur la base des scores de pertinence d'action déterminés pour les actions exécutées associées aux règles. [0021] Dans certains modes de réalisation, le dispositif peut par ailleurs comprendre une base de données de pertinence d'action configurée pour stocker, pour chaque action exécutée, le score de pertinence d'action déterminée pour l'action par le moteur d'apprentissage automatique. Le gestionnaire de règles peut ensuite être configuré pour déterminer une action à exécuter sous la forme d'une combinaison logique d'actions utilisant au moins un opérateur booléen, le système étant configuré pour déclencher l'exécution d'au moins une des actions de la combinaison logique déterminée par le gestionnaire de règles sur la base du score de pertinence d'action associé aux actions de la combinaison logique dans la base de données de pertinence d'actions. [0022] 11 est par ailleurs fourni un procédé pour gérer des événements clans un système de transmission de données. Le procédé comprend : - la détection de l'apparition d'un événement relatif aux données transmises par le système de transmission de données, - l'extraction des données d'utilisateur relatives à l'événement d'un stockage de données d'utilisateur, les données d'utilisateur extraites comprenant des données d'utilisateur stockées dans au moins une entrée du stockage de données d'utilisateur, - la détermination d'une ou plusieurs actions à exécuter en appliquant une ou plusieurs règles utilisant, les données d'utilisateur extraites comprises dans chacune des entrées du stockage de données d'utilisateur, - le déclenchement de l'exécution de ladite au moins une action déterminée. [0023] Il est également fourni un programme d'ordinateur comprenant des instructions de code de programme pour exécuter le procédé conformément aux modes de réalisation précités lorsque le programme fonctionne sur un ordinateur. [0024] Les modes de réalisation de l'invention permettent de détecter de façon dynamique en temps réel des événements liés à des données d'utilisateur et de déclencher des actions en réponse aux événements détectés. Ils permettent par ailleurs d'actualiser les règles utilisées pour déclencher des actions en utilisant des données de méta-apprentissage. Brève description des dessins [0025[ Les dessins en annexe qui sont incorporés et constituent une partie de cette spéci- fication, illustrent divers modes de réalisation de l'invention et, avec la description générale de l'invention ci-dessus et la description détaillée des modes de réalisation donnée ci-dessous, servent à expliquer les modes de réalisation de l'invention. Dans les dessins, des références à des chiffres similaires sont utilisées pour indiquer des éléments similaires dans les diverses visualisations. [0026[ La [fig. I] est un diagramme bloc de l'environnement d'un système de transmission de données implémentant un dispositif de gestion d'événements, conformément à certains modes de réalisation ; [0027[ La [fig.2] est un diagramme bloc d'un exemple d'environnement d'exploitation adapté à l'implémentation des aspects de la présente invention. [0028[ La [fig.3] est un diagramme bloc d'un dispositif de détection d'événements, conforme à des modes de réalisation ; [0029] La [fig.4] est un organigramme décrivant un procédé pour gérer des événements, conformément à des modes de réalisation ; [0030] La [fig.5] est un organigramme décrivant un procédé pour gérer des règles en utilisant des données de rétroaction, conformément à un mode de réalisation; [0031] La [fig.6] montre une structure de donnée d'arbre utilisée pour représenter un exemple de règle gérée par le gestionnaire de règles, conformément à un mode de réa- lisation ; et [0032] La [fig.7] est une vue schématique d'un exemple de système de fonctionnement pour héberger un composant du dispositif de gestion d'événements. Description des modes de réalisation [0033] La Figure 1 montre un exemple d'environnement 100 d'un système de transmission de données 10 configuré pour transmettre des données à un ou plusieurs utilisateurs via des dispositifs clients 2. Le système de transmission de données 10 peut utiliser une ou plusieurs structures de donnée 11 (également appelées ci-après « stockage de données d'utilisateur ») configurées pour stocker des données d'utilisateur relatives aux utilisateurs, telles que des données d'utilisateur qui sont collectées à partir d'une ou plusieurs sources de données. Lc stockage de données d'utilisateur 11 peut être inclus dans le système de transmission de données 10 ou stocké dans un système externe connecté au système de transmission de données. [0034] Selon des modes de réalisation, le système de transmission de données 10 peut comprendre un dispositif de gestion d'événements 1 configuré pour détecter des événements liés aux données transmises par un système de transmission de données (10) tels que des événements ayant un impact sur les données transmises par le système de transmission de données aux utilisateurs et pour déclencher des actions en réponse aux événements détectés en utilisant des règles. Lc dispositif de gestion d'événements I peut comprendre un détecteur d'événements 101 configuré pour détecter l'apparition d'un événement et pour sélectionner des données d'utilisateur relatives à l'événement détecté dans un stockage de données d'utilisateur 11, les données d'utilisateur sélectionnées comprenant les données d'utilisateur liées à au moins une entrée du stockage de données d'utilisateur 11. Lc dispositif de gestion d'événements 1 peut par ailleurs comprendre un gestionnaire de règles 102 configuré pour déterminer une ou plusieurs actions à déclencher en appliquant une ou plusieurs règles basées sur des événements (appelées ci-après « règles ») utilisant les données d'utilisateur sélectionnées, en lien avec chaque entrée dans le stockage de données d'utilisateur. Le dispositif de gestion d'événements 1 peut ensuite déclencher l'exécution d'au moins certaines des actions déterminées. [0035] Un «événement», tel qu'utilisé ici, fait référence à tout événement lié à des données transmises par le système de transmission de données 10. Une «règle» peut dépendre de données relatives à un événement détecté et/ou à des données d'utilisateur extraites du stockage de données d'utilisateur et/ou à des données provenant de sources de données externes telles que des conditions météorologiques. [0036] Dans certains modes de réalisation, le dispositif de gestion d'événements 1 peut par ailleurs être configuré pour actualiser les règles de façon dynamique sur la base d'un 6 score de pertinence d'action déterminé, pour chaque action exécutée, en utilisant des valeurs de rétroaction reçues pour une action exécutée au cours d'une période, conformément à un processus d'apprentissage automatique visant les règles. [0037] Le détecteur d'événements 101 surveille ainsi l'apparition d'événements qui peuvent avoir un impact sur les données transmises précédemment à des utilisateurs ou qui sont en cours de transmission à des utilisateurs, afin de déclencher de façon dynamique des actions en fonction des événements détectés. [0038] Le système de transmission de données 10 peut être connecté à un ou plusieurs dis- positifs clients 2 via un ou plusieurs réseaux de communication 5. [0039] Chaque dispositif client 2 peut être un dispositif informatique personnel, une tablette informatique, un terminal client léger (thin client), un smartphonc et/ou un autre dispositif informatique de cc genre. Chaque dispositif client 2 peut héberger des navigateurs Web et/ou un logiciel d'applications personnalisées (p. ex. un système client), et peut inclure une interface utilisateur client. [0040] Chaque dispositif client 2 peut par ailleurs inclure une application de navigateur Web qui communique avec une application de serveur Web hébergée par le système de transmission de données 10. [0041] Le réseau de communication 5 peut inclure un ou plusieurs réseaux privés et/ou publics (p. ex. Internet) qui permettent l'échange de données, tels qu'internet, un réseau de zone locale (LAN), un réseau de zone étendue (WAN), un réseau cellulaire voix/données, une ou plusieurs connexions par bus à grande vitesse et/ou d'autres types de réseaux de communication de ce genre. Chaque réseau de communication 5 peut utiliser des technologies de communication normales et/ou des protocoles tels que 4G, Ethernet, 802.11, TCP/IP (Protocole de contrôle de transmission/Protocole Internet), HTTP (Protocole de transport hypertexte), FTP (Protocole de transfert de fichier), etc. Les données peuvent être échangées sur chaque réseau 5 selon des technologies d'échange de données différentes et/ou des formats tels que le langage de balisage hypertexte (HTML), le modèle JSON et le langage de balisage étendu (XML). [0042] Le stockage de données d'utilisateur 11 peut stocker diverses données d'utilisateur relatives à des utilisateurs du système de transmission de données 10. [0043] Tel qu'utilisé ici, un « utilisateur » du système de transmission de données 10 fait référence à un utilisateur associé à des données transmises par le système de transmission de données 10 à un dispositif client 2, l'utilisateur étant identifié au cours du processus de transmission de données à l'utilisateur pour indiquer que cet utilisateur sera le consommateur des données. Un utilisateur peut être identifié en soumettant un ensemble d'informations relatives à l'utilisateur au système de transmission de données 10, en réponse à la sélection de données par l'utilisateur lui-même ou par un autre utilisateur différent pour l'utilisateur et agissant pour le compte de l'utilisateur 7 des données via un dispositif client 2. [0044] Tel qu'utilisé ici les « données » transmises par le système de transmission de données font référence à tout contenu qui peut être fourni à un dispositif client 2 via une interface utilisateur sous la forme de produits, chaque produit étant potentiellement associé à un ou plusieurs produits complémentaires relatifs aux produits (représentant les services complémentaires). Le terme «produit» sera également utilisé ci-après pour faire référence aux données transmises par le système de transmission de données. Chaque produit peut être représenté par un ensemble de paramètres. Dans certains modes de réalisation, un produit peut être associé à une valeur de produits (également appelée «prix du produit »). Chaque produit peut être sous-divisé en parties élémentaires (également appelées ci-après « segments »). Un segment d'un produit fait référence à la plus petite portion d'un produit qui peut être délivré par le système de transmission de données 10. [0045] Une représentation des produits délivrés par le système de transmission de données 10 peut être générée sur une interface graphique d'utilisateur d'un dispositif client 2 en utilisant divers éléments de représentation tels que du texte électronique, des images, des photos, des enregistrements audio et d'autres formes de données qui peuvent être traitées, stockées et renvoyées. [0046] Dans certains modes de réalisation, un produit peut être délivré à un groupe d'utilisateurs comprenant deux ou plusieurs utilisateurs, dans une même session de transmission de produits, en réponse à une requête de client unique, par exemple pour la livraison d'un divertissement, d'un produit hôtelier de voyage à un groupe d'utilisateurs qui souhaitent participer ensemble à une activité de divertissement (musées, théâtre, représentation, etc.), réserver une chambre dans le même hôtel le même jour, voyager ensemble. [0047] En réponse à une requête d'un client comprenant un ensemble de paramètres de requête, le système de transmission de données 10 peut effectuer une recherche dans une base de données de produits en utilisant un algorithme de recherche implémenté par le moteur de recherche pour déterminer un ensemble de produits candidats correspondant à la requête du client. L'ensemble des produits candidats peut être filtré en utilisant divers critères de filtrage. Dans un mode de réalisation, l'ensemble des produits candidats peut être filtré en utilisant des données de disponibilité représentant la disponibilité en temps réel ou quasiment en temps réel des produits candidats et/ou des informations relatives à la valeur des produits tels que les prix des produits candidats. Les produits filtrés peuvent être ordonnés en fonction d'un ensemble de critères d'ordre, tels que les valeurs des produits. Un résultat des produits filtrés peut être généré sur l'interface client du dispositif client 2 à partir duquel la requête a été émise L'affichage peut prendre en compte l'ordre des produits filtrés. 8 [0048] L'utilisateur qui a émis la requête à partir du dispositif client 2 peut sélectionner un des produits candidats affichés et initier une session de réservation pour réserver le produit sélectionné pour un plusieurs les utilisateurs. La session de réservation peut être finalisée sous réserve de l'aboutissement réussi d'une transaction de réservation ou d'une transaction de paiement consistant à recevoir un paiement qui correspond à une valeur (prix) déterminée à partir de la valeur de produit (prix du produit) associée au produit. [0049] La session de réservation peut par ailleurs inclure de solliciter et de recevoir des in- formations relatives à l'ensemble des utilisateurs pour lequel le produit sera livré. [0050] Une entrée peut être créée dans le stockage de données d'utilisateur 11 en réponse à la réservation du produit pour l'ensemble identifié des utilisateurs. Un identifiant d'entrée peut être attribué à chaque entrée créée dans le stockage de données d'utilisateur. L'entrée associée à l'ensemble identifié des utilisateurs pour le produit sélectionné peut inclure : - Des informations d'utilisateur relatives à l'ensemble des utilisateurs et comprenant i) des informations d'utilisateur reçues du dispositif client émetteur 2 au cours de la session de réservation et ii) des informations d'utilisateur supplémentaires récupérées à partir d'autres hases de données d'utilisateur connectées au système de transmission de données en utilisant les identifiants d'utilisateur correspondant à chaque utilisateur de l'ensemble des utilisateurs ; - Des informations de produits relatives aux produits réservés pour l'ensemble des utilisateurs au cours de la session de réservation. - Des informations de système de transmission de données comprenant des informations relatives au système de transmission de données. [0051] Dans un exemple d' application de l'invention pour un système de transmission de produits de voyage 10, les données d'utilisateur stockées dans le stockage de données 11 peuvent être des données relatives au voyageur(s) et les informations relatives aux données transmises par ledit système de transmission de données peuvent être des informations de produit de voyage telles qu'un produit de vol (billets d'avion). [0052] Les informations d'utilisateur peuvent inclure : [0053] - Des informations personnelles associées à chaque utilisateur de l'ensemble des uti- lisateurs telles que le nom de l'utilisateur, le genre de l'utilisateur, la nationalité, le lieu et la date de naissance, l'adresse, l'identifiant, le numéro de téléphone, les détails du passeport, etc. ; [0054] - Les informations de profil d'utilisateur comprenant des informations relatives au profil du client de chaque utilisateur (utilisateur fréquent, réservations antérieures, préférences de l'utilisateur, etc.). [0055] Dans un exemple d'application de l'invention à un système de transmission de 9 produits de voyage 10 délivrant des produits de voyage à un utilisateur en réponse à une requête de voyage comprenant des paramètres de requête, le stockage de données d'utilisateur 11 peut être un fichier appelé « fichier de nom de passager (PNR)», stocké dans une hase de données d'un système de réservation informatique (CRS). Dans cet exemple d'application, le stockage de données d'utilisateur 11 (PNR) peut comprendre pour chaque utilisateur (appelé un «passager ») diverses données collectées à partir d'une ou plusieurs sources de données : - Des informations personnelles associées au passager, telles que le nom du passager et/ou les informations de contact du passager et/ou les informations d'identification relatives à l'utilisateur qui a demandé le produit et effectué la transaction ; - Des informations de produit (p. ex. des informations d'itinéraire) correspondant aux produits achetés par le passager ou par un groupe de passagers voyageant ensemble et/ ou des détails d'identification de produit (référence ou numéro du produit, durée limite d'utilisation du produit). [0056] Dans un exemple d'application de l'invention où le système de transmission de données 10 peut être configure pour délivrer des produits de voyage hétérogènes, les PNR peuvent être utilisés pour tout type de produits délivrés par le système de transmission de données (billets d'avion ou de train, réservation de chambres d'hôtel, voiture, etc.). [0057] Le PNR peut également stocker des informations d'utilisateur supplémentaires telles que les données de programme de fidélisation, les préférences de l'utilisateur (p. ex. les demandes de type de sièges), les demandes particulières de l'utilisateur (SSR) (p. ex. des exigences de repas, une assistance en fauteuil roulant, des enfants non accompagnés) et/ou des informations de produits supplémentaires telles que le montant des taxes payées par d'autres entités pour le produit, le type de paiement, etc. [0058] Un fichier PNR peut être créé dans la base de données d'utilisateur 11, en réponse à la sélection d'un produit par un utilisateur pour le passager(s) et la finalisation d'une transaction d'achat par l'utilisateur pour le produit. Le CRS peut faire partie d'un système centralisé de distribution de données, tel qu'un système de distribution global GDS, partagé par plusieurs systèmes de transmission de données ou un CRS indépendant. Chaque fichier PNR créé peut être identifié dans la base de données d'utilisateur 11 en utilisant en identifiant d'entrée (également appelé «localisateur d'enregistrement» dans une application de l'invention à un PNR). Le localisateur d'enregistrement associé à l'entrée d'utilisateur dans le stockage de données d'utilisateur 11 peut être un identifiant alpha ou alphanumérique qui sera associé à l'entrée d'utilisateur dans le stockage de données d'utilisateur 11, même si l'entrée est modifiée par la suite. Le localisateur d'enregistrement peut aussi être désigné comme numéro de confirmation, numéro de réservation, code de confirmation, références de réservation, numéro de PNR, et ainsi de suite. [0059] Des copies de l'information de PNR peuvent être envoyées aux CRS d'autres systèmes de transmission de données connectés qui délivrent des produits similaires. Les CRS recevant les copies du PNR créé peuvent créer à leur tour des copies du PNR créées dans leur propre stockage de données d'utilisateur 11 afin de pouvoir délivrer d'autres portions demandées de l'itinéraire de l'utilisateur. Autrement, plusieurs systèmes de transmission de données délivrant des produits similaires peuvent héberger leur CRS dans un GDS et partager leurs PNR par l'entremise du GDS. Les localisateurs d'enregistrement des PNR copiés sont communiqués en retour au CRS qui détient le PNR créé. Des mises à jour du PNR peuvent ensuite être échangées lorsque le statut du voyage change dans un quelconque des CRS. [0060] Chaque composant/champ (nom d'utilisateur, informations de produits, durée limite du produit, etc.) d'un PNR peut être identifié par un code. [0061] Un PNR sert donc d'identifiant unique d'un système de transmission de données spécifique qui est utilisé pour enregistrer un produit spécifique. [0062] Les modes de réalisation de l'invention peuvent être mis en oeuvre sur un système in- formatique comprenant un ou plusieurs ordinateurs ou serveurs en réseau. Les systèmes informatiques peuvent fournir le traitement et les fonctions de hase de données pour le fournisseur de contenu. [0063] Faisant maintenant référence à la figure 2, un exemple d'environnement de fonc- tionnement 200 est montré conformément à un mode de réalisation de l'invention dans lequel le système de transmission de données 10 est un système de réservation de voyage. L'environnement 200 peut inclure un système centralisé de distribution de données 20 tel qu'un GDS (système global de distribution), un ou plusieurs systèmes de fournisseurs indirects de contenu 21 tels que des systèmes de transporteurs et des systèmes de vendeurs indirects tels qu'un système d'agence de voyages 22 et un ou plusieurs dispositifs clients 2. Chacun des systèmes centralisés de distribution de données 20, des systèmes de fournisseurs indirects de contenu 21, des systèmes de vendeurs indirects 22 et des dispositifs utilisateurs 2 peut communiquer via un réseau 5. Les systèmes de fournisseurs indirects de contenu 21 peuvent inclure chacun un système de réservation informatique (CRS) et/ou un système de facturation pour la compagnie aérienne respective qui permet au système centralisé de distribution de données 20 et/ou au système du vendeur indirect 22 de réserver et de payer des billets d'avion. Les systèmes des fournisseurs indirects de contenu 21 peuvent aussi interagir les uns avec les autres, soit directement ou via le système centralisé de distribution de données 20, pour permettre à un transporteur émetteur de vendre des billets pour des sièges fournis par un transporteur de fait. Le transporteur de fait peut ensuite facturer le transporteur émetteur pour les services fournis. 11 [0064] Le système centralisé de distribution de données 20 peut être configuré pour faciliter la communication entre les systèmes de fournisseurs indirects de contenu 21 et les systèmes de vendeurs indirects 22 en permettant aux agents de voyage, aux transporteurs émetteurs, aux autres vendeurs indirects de rechercher des segments disponibles et d'effectuer des réservations sur un ou plusieurs systèmes de fournisseurs indirects de contenu 21 via le système centralisé de distribution de données 20. Le système centralisé de distribution de données 20 peut maintenir des liens avec chacun des systèmes des transporteurs 21 via le réseau 5. Ces liens peuvent permettre au système centralisé de distribution de données 20 d'obtenir des données de disponibilité et de programmation pour des segments à partir des systèmes de fournisseurs indirects de contenu 21, et des requêtes de réservation de propositions de voyage aux systèmes des fournisseurs de contenu 21. Les systèmes de fournisseurs de contenu 21 et les systèmes de vendeurs indirects 22 peuvent ainsi réserver des vols, des billets de train ou d'autres types de segments sur de multiples transporteurs via une connexion unique au système centralisé de distribution de données 20. Le système centralisé de distribution de données 20 peut stocker et/ou conserver un enregistrement de nom de passager (PNR) qui inclut un ensemble complet des données pour un itinéraire de voyage, incluant les segments de multiples transporteurs et/ou d'autres services de voyage comprenant le voyage, tels que les réservations d'hôtel et de voiture de location. [0065] Un système de vendeur indirect 22 tel qu'une agence de voyages peut inclure un serveur Web qui fournit un site Web accessible au grand public. Ce site Web peut être configuré pour fournir un accès à des produits de voyage, en effectuant une recherche pour des produits de voyage en réponse à une requête de voyage. Dans ce but, le système du vendeur 22 peut fournir à des utilisateurs un accès à des données en utilisant une ou plusieurs bases de données hébergées par le système centralisé de distribution de données 20, les systèmes de fournisseurs 21 et/ou les systèmes de vendeurs 22. Autrement, le système de vendeur 22 peut être un système propriétaire (p. ex. le système d'une agence de voyages) qui fournit un accès à un ensemble limité d'utilisateurs (p. ex ; les fournisseurs de services de voyage ou les agents de voyage) auquel cas l'accès peut être fourni par l'entremise d'un site Web privé ou une autre application. [0066] Le système de transmission de données 10 peut être en communication avec le système du vendeur 22 via le réseau 5 une autre connexion appropriée. Dans d'autres modes de réalisation de l'invention, tout ou une portion du système de transmission de données 10 peut être intégré dans un ou plusieurs des autres systèmes 20, 21, 22, 23. Les utilisateurs ou agents de voyage peuvent utiliser le système vendeur 22 pour générer et/ou rechercher des produits de voyage qui satisfont une requête de voyage 12 reçue de l'utilisateur en utilisant le système de transmission de données 10. [0067] Le système de distribution global 20, les systèmes transporteurs 21, le système de l'agence de voyages 22, le système du fournisseur de voyage 2 et les dispositifs clients 2 de l'environnement d'exploitation peuvent être implémentés sur un ou plusieurs dispositifs informatiques ou systèmes, appelés collectivement un ordinateur, tel qu'un ordinateur. [0068] La Figure 3 est un diagramme bloc d'un dispositif de détection d'événements 1 conforme à des modes de réalisation de l'invention ; [0069] Les modes de réalisation de l'invention permettent la détection d'événements liés aux données d'utilisateur stockées dans l'unité de stockage de données 11 et le déclenchement d'actions d'une ou de plusieurs applications internes ou externes en utilisant des règles autoadaptatives. [0070] Comme le montre la figure 3, le dispositif de gestion d'événements 1 peut comprendre une unité de détection d'événements 30 configurée pour détecter l'apparition d'un événement lié à au moins un utilisateur identifié dans une entrée du stockage de hase de données d'utilisateur 11. Les événements peuvent être des événements internes au système (événements internes) ou des événements externes au système (événements externes). Les événements peuvent être détectés de diverses manières en utilisant les informations reçues par des applications internes ou des dispositifs externes connectés au système de transmission de données 10. [0071] Dans un exemple d'application de l'invention à un système de transmission de données 10 délivrant des produits de voyage tels que des billets (l'avion, un événement peut par exemple être : - une perturbation dans l'itinéraire d'un utilisateur identifiée dans une entrée du stockage de base de données d'utilisateur 11 associée à un utilisateur ; - l'émission d'un billet (correspondant à un produit de voyage) identifiée dans une entrée du stockage de base de données d'utilisateur 11 associée à un utilisateur ; - le retard d'un vol (produit de voyage) identifié dans une entrée du stockage de base de données d'utilisateur 11 associée à un utilisateur. [0072] De façon plus générale, le type d'événement détecté par l'unité de détection d'événements 30 peut comprendre : - des événements externes indépendants de l'utilisateur qui ne sont pas spécifiques à un ensemble d'utilisateurs tels que par exemple un événement de football en Russie à une date donnée; l'unité (l'extraction de données 31 extraira alors de l'unité de stockage de données 11 des données correspondant à des utilisateurs identifiés comme étant des supporters de football, récupérera des données d'utilisateur supplémentaires corrélées à ces utilisateurs identifiés dans le stockage de données d'utilisateur 11, les transformera en un fichier de description et transmettra le fichier de description au 13 moteur de règles 4 pour le mappage d'actions en utilisant les règles correspondant aux données extraites. - des événements externes indépendants de l'utilisateur qui sont spécifiques à un ou à plusieurs utilisateurs tels que par exemple une réservation pour un produit de vol donné pour la Russie ; l'unité d'extraction de données 31 extraira alors de l'unité de stockage de données 11 des données correspondant à des utilisateurs pour lesquels existe une réservation pour le produit de vol donné à destination de la Russie, récupérera des données d'utilisateur supplémentaires corrélées à ces utilisateurs identifiés dans le stockage de données d'utilisateur 11, les transformera en un fichier de description et transmettra le fichier de description au moteur de règles 4 pour le mappage d'actions en utilisant les règles correspondant aux données extraites. [0073] Le dispositif de gestion d'événements 1 peut par ailleurs comprendre une unité d'extraction de données 31 configurée pour extraire des données d'utilisateur relatives à l'événement détecté dans le stockage de données d'utilisateur 1 1 . L'unité d'extraction de données 31 peut comprendre un analyseur de données 311 pour déterminer les données d'utilisateur qui doivent être extraites du stockage de données d'utilisateur sur la base de l'événement détecté. L'unité d'extraction de données 31 peut comprendre un parscur pour analyser les informations d'événement reçues, une unité de division pour séparer les informations d'événement analysées dans un ensemble de portions et une unité de sélection pour sélectionner des données à partir d'au moins certaines des portions, les données sélectionnées représentent les données extraites à partir d'une unité d'extraction de données 31. [0074] L'unité d'extraction de données 31 peut être adaptée pour extraire des données de formats divers dans le stockage de données d'utilisateur 11. L'unité d'extraction de données 31 peut être configurée pour transformer le format des données extraites en un format homogène. Dans un mode de réalisation, l'unité d'extraction de données 31 peut extraire les données d'utilisateur dans un fichier de description ayant un format homogène tel qu'un fichier XSLT (le langage extensible de transformation de feuilles de style). L'unité d'extraction de données 31 peut par ailleurs extraire des données relatives à des événements à partir de l'événement détecté et intégrer ces données relatives à l'événement dans le fichier de description. [0075] Le gestionnaire de règles 102 peut utiliser des données d'utilisateur et les données relatives à l'événement extraites par l'unité d'extraction de données 31 pour déterminer les règles qui doivent être appliquées aux données d'utilisateur extraites. [0076] Le dispositif de gestion d'événements 1 peut par ailleurs comprendre une unité de déclenchement d'actions 32 configurée pour déclencher une action dans le système de transmission de données 10 sur la base des données extraites du stockage de données d'utilisateur 11 en réponse à l'événement détecté. L'action peut être exécutée par une 14 ou plusieurs applications ou fonctions implémentées dans le système de transmission de données 10 et/ou par une ou plusieurs applications externes. Dans des modes de réalisation, dans lesquels l'action déclenchée est exécutée au moins partiellement par une ou plusieurs applications externes, l'unité d'extraction de données 31 peut être configure° pour envoyer au moins une partie des données extraites des données d'utilisateur vers l'application(s) externe(s) au système de transmission de données 10, par exemple une application fonctionnant dans un système externe ou dispositif 3. [0077] Dans un mode de réalisation, l'unité de détection d'événements 30 peut comprendre un interprète de données 300 capable d'interpréter les événements notifiés au système de transmission de données 10. L'unité de détection d'événements 30 peut par ailleurs comprendre un module de corrélation 302 configuré pour calculer une corrélation entre un événement interprété et des données d'événements prédéfinies stockées dans le système de transmission de données 10. L'interprète de données 300 de l'unité de détection d'événements peut utiliser au moins un processeur pour interpréter en temps réel les données correspondant à un événement entrant. [0078] L'unité de déclenchement d'action 33 peut être configurée pour appliquer un ensemble de règles 400 géré par un moteur de règles 4 du gestionnaire de règles 102. [0079] Par exemple, dans une application de l'invention à un système de transmission de produits de voyage 10, l'unité de détection d'événement 30 peut détecter un événement correspondant à la «détection d'une perturbation dans l'itinéraire d'un utilisateur». L'unité d'extraction de données 31 peut ensuite extraire le profil de l'utilisateur correspondant dans le stockage de données d'utilisateur 11 (tels que des informations relatives à sa carte de fidélité, etc.), transmettre les données extraites à l'unité de déclenchement d'action 33 qui à son tour peut déclencher une action correspondant à l'émission d'un fichier à un système de notification externe 3 comprenant une proposition d'indemnisation pour l'utilisateur, par exemple sous la forme d'un bon d'achat, le fichier étant généré en utilisant les règles 400 fournies par le moteur de règles, en fonction des données d'utilisateur extraites. Le système de notification externe 3 peut par exemple générer un message électronique devant être envoyé à l'adresse courriel de l'utilisateur comprenant une offre d'indemnisation. [0080] Le moteur de règles 4 peut comprendre une mémoire de règles 40 pour stocker les règles appliquées aux données reçues de l'unité d'extraction de données 31. [0081] Tel qu'utilisé ici, une «règle » gérée par le moteur de règles 4 fait référence à une ou plusieurs conditions logiques relatives à un ensemble de paramètres qui, dépendant de leur évaluation par rapport aux valeurs de paramètres reçues, définit une ou plusieurs actions à exécuter par le système de transmission de données. Une règle est donc une instruction conditionnelle. Une RÈGLE peut par exemple être exprimée sous la forme : [0082] [Math.1] "IF onditionCr) OP n n )0P2(conditio (condition CI)OPi (condtlio Ci+1), . id(ttort Ch-1) OPM-1 (condben Cm» THEN(DONC>{(Action Ai) P' (Action A3).. (Action Al OPI(Action . (Action .Am..]) (Action Am», 'expression de RE] - et M font référence à un nombre entier égal - Ci désigne la condition i-th de la RÈGLE ; résigné Faction j-th adion associée la R L-X3LE 4 référence à un opérateur booléen tel que ropérateur A -?OP' fait référence à un opérateur booléen: let que opéraleurAN D ; dans un mode de réa lion, les opérateurs DPi et OP.] peuvent tous être des opérateurs AND - La « p, ;RTtE CONDI:110MS tr de la RÉGI E comprend une combi inonde lions. EI éférence .dition Ci OP! (condition C2) .0p.2 t'ilion C3) nttlion CO OP; tcondrtiun G,,]]) (condition Cri REVENDICATIONSDispositif de gestion d'événements (1) pour gérer des événements, dans lequel le dispositif comprend un détecteur d'événements (101) configuré pour détecter l'apparition d'un événement lié à des données transmises par un système de transmission de données (10) et pour extraire des données d'utilisateur relatives à l'événement détecté d'un stockage de données d'utilisateur (11), les données d'utilisateur extraites comprenant des données d'utilisateur stockées dans au moins une entrée du stockage de données d'utilisateur (11), le dispositif de gestion d'évènement (1) comprenant par ailleurs un gestionnaire de règles (102) configuré pour déterminer une ou plusieurs actions à exécuter en appliquant une ou plusieurs règles utilisant lesdites données d'utilisateur extraites, le dispositif de gestion d'événements (1) étant configuré pour déclencher l'exécution de ladite au moins une action déterminée. Dispositif selon la revendication 1, dans lequel le gestionnaire de règles (102) comprend une mémoire de règles (401) pour stocker des règles et un moteur de règles (4) pour gérer lesdites règles stockées dans la mémoire de règles (401). Dispositif selon la revendication 2, dans lequel chaque règle comprend une partie conditions comprenant une combinaison logique d'au moins une condition et une partie actions comprenant une combinaison logique d'au moins une action, le moteur de règles (4) étant configuré pour déterminer ladite au moins une action à exécuter de la partie actions de chaque règle appliquée en fonction de la vérification de la combinaison logique des conditions de la règle appliquée. Dispositif selon l'une quelconque des revendications 2 et 3, dans lequel les règles sont stockées dans la mémoire de règles (401) sous forme d'une ou de plusieurs structures de donnée d'arbre associées aux règles, le moteur de règles (4) étant configuré pour appliquer une règle à ladite donnée extraite en analysant au moins une structure de donnée d'arbre. Dispositif selon la revendication 4 dans lequel chaque structure de donnée d'arbre est associée à une règle donnée de la mémoire de règles (401) et représente la partie conditions de la règle. Dispositif selon l'une quelconque des revendications précédentes, dans lequel le dispositif (1) comprend par ailleurs une unité d'extraction de données (31) configurée pour extraire les données d'utilisateur du stockage de données d'utilisateur (11) en réponse à l'événement détecté, 29 [Revendication 7] [Revendication 8] [Revendication 9] [Revendication 10] [Revendication 11] [Revendication 12] l'unité d'extraction de données (31) étant par ailleurs configuréc pour extraire des données liées à l'événement de l'événement détecté. Dispositif selon la revendication 6, dans lequel l'unité d'extraction de données (31) est configurée pour générer un fichier de description intégrant les données d'utilisateur extraites et/ou les données relatives à l'événement extrait, le fichier de description étant utilisé par le gestionnaire de règles (102) pour déterminer ladite au moins une action à exécuter. Dispositif selon la revendication 6, dans lequel le gestionnaire de règles (102) est configuré pour sélectionner ladite une ou plusieurs règles à appliquer en utilisant les données d'utilisateur extraites et/ou les données liées à l'événement extrait de l'événement détecté et/ou les données de sources de données externes. Dispositif selon l'une quelconque des revendications précédentes, dans lequel le stockage de données d'utilisateur (11) comprend une ou plusieurs entrées, les données d'utilisateur stockées dans chaque entrée du stockage de données d'utilisateur comprenant des informations d'utilisateur relatives à un ensemble d'utilisateurs et/ou aux informations de données transmises par ledit système de transmission de données à l'ensemble des utilisateurs. Dispositif selon l'une quelconque des revendications précédentes 2 à 9, dans lequel le dispositif (1) comprend un moteur d'apprentissage automatique (6) configuré pour déterminer un score de pertinence d'action pour chaque action exécutée, en utilisant des valeurs de rétroaction reçues pour l'action exécutée au cours d'une période. Dispositif selon la revendication 10, dans lequel le dispositif est configuré pour actualiser les règles de façon dynamique dans la mémoire de règles (401) sur la base des scores de pertinence d'action déterminés pour les actions exécutées associées aux règles Dispositif selon la revendication 10, dans lequel le dispositif comprend par ailleurs une base de données de pertinence d'action configurée pour stocker, pour chaque action exécutée, le score de pertinence d'action déterminé pour l'action par le moteur d'apprentissage automatique (6), dans lequel le gestionnaire de règles (102) est configuré pour déterminer une action à exécuter sous forme d'une combinaison logique d'actions en utilisant au moins un opérateur booléen, le système (10) étant configuré pour déclencher l'exécution d'au moins une des actions de la combinaison logique déterminée par le gestionnaire de règles (102) sur 30 [Revendication 13] la hase du score de pertinence d'action associé aux actions de la combinaison logique dans la hase de données de pertinence d'action. Procédé pour gérer des événements dans un système de transmission de données, dans lequel le procédé comprend : [Revendication 14] - la détection (402) de l'apparition d'un événement lié aux données transmises par le système de transmission de données (10), - l'extraction(404) des données d'utilisateur relatives à l'évènement d'un stockage de données d'utilisateur (11), les données d'utilisateur extraites comprenant des données d'utilisateur stockées dans au moins une entrée du stockage de données d'utilisateur(11), - la détermination (406) d'une ou de plusieurs actions à exécuter en appliquant une ou plusieurs règles utilisant les données d'utilisateur extraites comprises dans chacune desdites entrées du stockage de données d'utilisateur. - le déclenchement (408) de l'exécution de ladite au moins une action déterminée. Programme d'ordinateur comprenant des instructions de code de programme pour exécuter les étapes du procédé selon l'une quelconque des revendications 12 et 13 lorsque ledit programme fonctionne sur un ordinateur.