Brevet FR3105471A1 — publié le 20210625

La présente invention révèle un système et un procédé pour gérer et stocker des enregistrements de données. Une application logicielle est configurée pour traiter des demandes d’utilisateurs et générer en conséquence un enregistrement de données maître qui est associé à au moins un utilisateur et/ou une application d’utilisateur. L’application logicielle génère par ailleurs un token de partition qui est utilisé par un module de routage pour router la demande d’utilisateur afin de stocker un enregistrement de données maître vers une partition de stockage maître associée à un identifiant de partition indiqué dans le token de partition généré. Figure pour l’abrégé : Fig. 1 UNE PLATEFORME DE RÉSERVATION INFORMATIQUE DISTRIBUÉE POUR STOCKER ET GÉRER DES ENREGISTREMENTS DE DONNÉES PARTAGÉS La présente invention concerne une plateforme informatique distribuée pour stocker et gérer des enregistrements de données. Plus spécifiquement, la présente invention concerne une plateforme informatique de réservations de voyage configurée pour stocker et gérer des enregistrements de données partagés entre des applications d’utilisateurs différents, tels que des fichiers d’enregistrements de nom de passager (PNR). L’informatique dématérialisée (cloud) a permis un déploiement à grande échelle d’applications logicielles qui peuvent être accédées par une pluralité d’utilisateurs pour fournir un service prédéterminé. En général, une application logicielle distribuée basée sur le cloud est instanciée sur une pluralité de groupements de serveurs informatiques d’au moins un centre de données. Dans de nombreux cas, pour assurer un accès rapide et une opération continue, l’application logicielle peut être configurée pour fonctionner sur les ressources informatiques de centres de données différents situés dans des lieux géographiques différents. Dans le secteur du voyage, les plateformes de réservation informatiques distribuées basées sur le cloud ont été introduites, celles-ci permettent aux utilisateurs, tels que des agents de voyage (TA) de rechercher et de réserver des produits de voyage d’une pluralité de fournisseurs de services de voyage, p. ex. des vols de compagnies aériennes différentes. Un enregistrement unique de données d’enregistrement de nom de passager (PNR) est créé pour chaque réservation de voyage pouvant être associée à un ensemble d’utilisateurs et d’applications de voyage. Chaque PNR contient une gamme de détails concernant le passager, l’opérateur de voyage, le prix, et similaire qui sont partagés entre des utilisateurs et des applications de voyage différents. Par exemple, un PNR peut être accédé par le TA qui fait la réservation de voyage, par les passagers, par les opérateurs de la compagnie aérienne fournissant le service et par une gamme d’applications de voyage associées, p. ex. un système de contrôle des départs (DCS). Les PNRs générés par la plateforme de réservation de voyage peuvent être stockés dans un module de stockage partagé qui peut être accessible à différents utilisateurs, p. ex. les opérateurs de voyage, les TAs et similaires. Le module de stockage partagé peut être instancié sur une infrastructure technique qui utilise des ressources informatiques partagées entre les différents utilisateurs. Cependant, cette approche présente l’inconvénient qu’en cas d’arrêt programmé ou non programmé tous les utilisateurs partageant les mêmes ressources seraient impactés. Par exemple, dans le cas d’un travail de maintenance effectué par un utilisateur qui pourrait nécessiter l’arrêt des ressources informatiques partagées, d’autres utilisateurs de la plateforme seraient impactés. De façon similaire, dans le cas d’un arrêt inattendu des ressources informatiques, p. ex. une panne, tous les utilisateurs de la plateforme seraient impactés. Par ailleurs, dépendant de l’activité de l’utilisateur et du volume de données générées, le fonctionnement constaté par différents utilisateurs différents serait considérablement impacté. Par exemple, un utilisateur très actif consommerait la plupart des ressources informatiques partagées occasionnant des problèmes de fonctionnement pour d’autres utilisateurs. Par conséquent, il y a un besoin d’apporter une plateforme informatique distribuée ayant la capacité d’isoler les ressources informatiques allouées aux différents utilisateurs tout en assurant la continuité opérationnelle de l’application logicielle et sa robustesse, particulièrement en termes de transactions impliquant plusieurs utilisateurs. Un but de la présente invention est de fournir une plateforme informatique distribuée pour gérer et stocker des enregistrements de données et un procédé correspondant qui permet l’isolement de différents utilisateurs tout en assurant la continuité opérationnelle de l’application logicielle et sa robustesse particulièrement en termes de transactions impliquant plusieurs utilisateurs. L’objet de la présente invention est atteint conformément à la plateforme informatique distribuée et au procédé correspondant qui sont présentés dans les revendications indépendantes. Selon un premier aspect de la présente invention, une plateforme informatique distribuée pour gérer et stocker des enregistrements de données est fournie. La plateforme informatique fonctionne sur une pluralité de groupements de serveurs informatiques d’au moins un centre de données, la plateforme informatique distribuée comprenant : une logique de communication configurée pour recevoir des demandes de création de données provenant d’une pluralité d’utilisateurs ; une application logicielle, exécutant un programme informatique, configurée pour traiter chaque demande d’utilisateur de création de données et qui génère en conséquence un enregistrement de données maître associé à au moins un utilisateur et/ou à une application d’utilisateur ; un module de stockage comprenant une pluralité de partitions de stockage pour stocker des enregistrements de données, chaque partition de stockage étant dotée d’un identifiant de partition indiquant que la partition de stockage associée à chaque utilisateur et la configuration de la partition de stockage sont maîtres, configuré pour stocker des enregistrements de données maîtres ou esclaves, configuré pour stocker des copies des enregistrements de données maîtres ; et un module de routage configuré pour au moins router chaque enregistrement de données maître généré vers la partition de stockage maître correspondante associée à l’utilisateur émettant la demande de création de données ; dans laquelle l’application logicielle est configurée pour générer, pour chaque enregistrement de données maître, un token de partition correspondant indiquant l’identifiant de partition de la partition de stockage maître correspondant à l’utilisateur émettant la demande de création de données ; et dans laquelle le module de routage est configuré pour router chaque enregistrement de données maître vers la partition de stockage maître associée à l’identifiant de partition du token de partition généré. Selon un mode de réalisation de la présente invention, l’application logicielle est configurée pour générer des copies d’enregistrements de données maîtres, lesquelles sont stockées dans des partitions de stockage esclaves associées aux utilisateurs et/ou aux applications d’utilisateurs associés à l’enregistrement de données maître. Selon un mode de réalisation de la présente invention, la logique de communication est configurée pour recevoir des demandes d’accès d’utilisateurs pour accéder à un enregistrement de données maître et/ou à une copie d’un enregistrement de données maître, l’application logicielle est configurée pour générer, pour chaque demande d’accès d’utilisateur, un token de partition identifiant la partition de stockage maître ou esclave correspondante stockant l’enregistrement de données demandé, le module de routage est configuré pour router chacune des demandes d’accès d’utilisateur sur la base du token de partition généré vers la partition de stockage maître ou esclave correspondante. La présente invention permet aux demandes d’utilisateur pour accéder à ou stocker des enregistrements de données d’être routées efficacement vers les partitions correctes de stockage, également désignées comme stockage de sommet. L’utilisation d’un token de partition permet l’identification rapide de la partition correcte de stockage pour stocker les enregistrements de données tout en assurant l’isolement des différents utilisateurs. Le token de partition agit comme une clé de routage qui permet à la logique de routage de router efficacement les demandes d’utilisateur pour stocker ou accéder à des enregistrements de données vers la partition correcte de stockage. Avec l’utilisation du token de partition, il est possible d’isoler l’information qui devient disponible aux différents utilisateurs de la plateforme informatique distribuée, tout en permettant l’échelonnage des ressources informatiques disponibles pour assurer la continuité opérationnelle de la plateforme en fonction de la demande de l’utilisateur. Chaque enregistrement de données maître peut être associé à au moins un utilisateur maître, p. ex. l’utilisateur créant l’enregistrement de données maître et à au moins un deuxième utilisateur et/ou à une application d’utilisateur qui sont configurés pour consommer l’information contenue dans l’enregistrement de données maître et/ou pour mettre à jour l’enregistrement de données maître. Par exemple, dans le contexte de l’industrie du voyage, un enregistrement de nom de passager maître créé par un agent de voyage (TA) peut aussi être accessible en mode lecture/écriture aux fournisseurs de voyage p. ex., une compagnie aérienne, opérant le service de voyage. En tant que tel, un fournisseur de voyage est capable de modifier le PNR maître lorsque cela est nécessaire p. ex. pour un changement de nom de passager ou de date de voyage sur le billet. Pour chaque enregistrement de données maître, l’application logicielle est configurée pour générer un nombre de copies, lesquelles sont stockées dans des partitions de stockage des utilisateurs et/ou des applications d’utilisateurs associées à l’enregistrement de données maître. Les copies de l’enregistrement de données maître peuvent être limitées à la lecture, permettant ainsi que les informations contenues dans l’enregistrement de données maître ne soient modifiées que par des utilisateurs habilités. Par exemple, dans le cas d’un enregistrement de données de voyage, p. ex. un enregistrement de nom de passager (PNR), généré par un premier utilisateur, p. ex. un agent de voyage (TA), un nombre de copies de PNR peuvent être générées pour consommation par différents utilisateurs et/ou applications d’utilisateurs associés à l’enregistrement de voyage maître pendant sa validité, p. ex. les opérateurs de voyage, le passager, les applications de voyage et similaire. Chaque utilisateur et/ou application d’utilisateur demandent accès à l’enregistrement de données maître et, dépendant de leurs identifiants et du type de demande, ils sont dirigés soit vers la partition de stockage maître stockant l’enregistrement de données maître demandé ou vers une partition de stockage esclave stockant une copie de l’enregistrement de données maître demandé. Par exemple, dans le cas d’une demande d’un utilisateur habilité pour modifier l’information contenue dans le PNR, la requête d’utilisateur correspondante serait dirigée vers la partition de stockage stockant l’enregistrement de données PNR maître emettant le token de partition généré alors qu’une demande d’utilisateur pour consommer les informations de PNR pour les besoins d’un service de voyage, p. ex. l’embarquement, serait dirigée vers la partition de stockage associée à l’utilisateur correspondant qui stocke une copie de la copie limitée à la lecture du PNR maître. Afin de différencier les différents utilisateurs, chaque partition de stockage comprend un identifiant de partition de stockage qui peut indiquer l’utilisateur associé à la partition de stockage et si la partition de stockage est configurée comme étant une partition maître ou esclave. Le token de partition est configuré pour correspondre à la demande de données de l’utilisateur avec l’identifiant correct de partition de stockage permettant ainsi au module de routage de router la demande de données d’utilisateur pour stocker et/ou accéder aux enregistrements de données vers la partition correcte de stockage. Selon un mode de réalisation de la présente invention, l’application logicielle comprend un fichier de configuration comprenant des informations de configuration de partition de stockage indiquant les partitions de stockage maîtres et/ou esclaves associées à chaque utilisateur. Le fichier de configuration permet de modifier l’allocation de partitions de stockage aux utilisateurs et la configuration correspondante sans aucun impact sur le fonctionnement de la plateforme informatique distribuée. De cette façon, une quelconque modification de l’allocation de partitions de stockage peut être rapidement adoptée par l’application logicielle pour la génération de tokens de partitions, assurant ainsi que les demandes d’utilisateurs sont routées vers les partitions correctes de stockage. Par exemple, dans le cas où la partition de stockage maître d’un utilisateur deviendrait indisponible, p. ex. un centre de données défectueux, une autre partition de stockage peut être allouée comme étant une partition maître pour le même utilisateur dans le fichier de configuration permettant ainsi au trafic d’être routé de la partition de stockage maître défectueuse vers la nouvelle partition de stockage maître. De façon similaire, la liste des partitions de stockage et les identifiants correspondants peuvent être ajustés, p. ex. en ajoutant ou en supprimant une information de partition de stockage. Selon un mode de réalisation de la présente invention, l’application logicielle est configurée pour générer le token de partition sur la base du fichier de configuration et/ou de l’identité de l’utilisateur émettant la demande de données et/ou le type de demande d’accès. Selon des modes de réalisation de la présente invention, l’application logicielle comprend un module localisateur d’enregistrement configuré pour localiser des enregistrements de données en réponse à la demande d’accès à l’enregistrement de données de l’utilisateur. Le module localisateur d’enregistrement peut comprendre une antémémoire configurée pour stocker la localisation de chaque enregistrement de données maître dans le module de stockage. Par exemple, le module d’enregistrement peut stocker en antémémoire une liste identifiant, pour chaque enregistrement de données maître, la localisation de la partition de stockage correspondante. En outre, le localisateur d’enregistrement peut comprendre un mécanisme de diffusion d’enregistrements de données qui, en réponse à une demande d’un utilisateur pour accéder à l’enregistrement de données, est configuré pour vérifier chaque partition de stockage afin de déterminer la localisation exacte de l’enregistrement de données demandé. Le mécanisme de diffusion peut transmettre une demande pour récupérer un enregistrement de données à chaque partition de stockage, avec les détails de l’enregistrement de données demandé. Chaque partition de stockage peut traiter la requête provenant du mécanisme de diffusion et envoyer conformément un signal de réponse au mécanisme de diffusion indiquant si l’enregistrement de données demandé est localisé dans la partition de stockage. Le mécanisme de diffusion peut être configuré pour traiter les réponses reçues de chaque partition de stockage afin d’identifier la partition de stockage qui contient l’enregistrement de données demandé. Le token de partition est généré en utilisant une gamme d’informations qui peut permettre la localisation de la partition correcte de stockage afin de router les demandes d’utilisateur. De cette façon, le temps de réponse à une demande d’utilisateur peut être réduit substantiellement tout en assurant que l’information partagée entre les utilisateurs reste isolée. Par ailleurs, l’utilisation du module localisateur d’enregistrement peut améliorer la vitesse de récupération des enregistrements de données dans les différentes partitions de stockage. Le module localisateur d’enregistrement peut fonctionner en combinaison avec la génération de tokens de partition ou comme un processus isolé. Selon un mode de réalisation de la présente invention, la plateforme informatique est instanciée sur des groupements de serveurs informatiques de multiples centres de données. Selon un mode de réalisation de la présente invention, les centres de données sont connectés via un flux de données de message. Selon un mode de réalisation de la présente invention, une copie de chaque enregistrement de données maître est poussée vers le flux de messages pour réplication dans les partitions de stockage d’utilisateur associé. Selon un mode de réalisation de la présente invention, chaque partition de stockage comprend une application de consommateur de données configurée pour surveiller le flux de données de message et pour récupérer, sur la base d’un ensemble de critères de sélection, des copies des enregistrements de données associées à l’utilisateur de chaque partition de stockage. Selon un mode de réalisation de la présente invention, les critères de sélection comprennent l’identité de l’utilisateur associée à un enregistrement de données, la localisation géographique de l’utilisateur et le contenu de l’enregistrement de données. La plateforme distribuée de la présente invention est configurée pour fonctionner sur des groupements de serveurs informatiques d’une pluralité de centres de données qui peuvent être situés dans des lieux géographiques différents. La logique de communication peut être configurée pour router les demandes d’utilisateurs vers l’application logicielle fonctionnant sur un centre de données qui est situé au plus proche de la localisation géographique de l’utilisateur initiant la requête. De cette façon, la latence de réponse à une requête d’utilisateur peut être réduite substantiellement. En outre, différents centres de données peuvent être utilisés pour sauvegarder l’information, permettant ainsi au trafic d’utilisateurs d’être redirigé d’un centre de données défectueux vers un centre de données de sauvegarde pour assurer la continuité opérationnelle de la plateforme informatique distribuée en fournissant le service demandé aux utilisateurs. Les centres de données peuvent être connectés via un flux de données par lequel des copies des enregistrements de données sont poussées pour réplication. Chaque partition de stockage peut comprendre une application de consommateur de données configurée pour surveiller le flux de données de message et pour récupérer, sur la base d’un ensemble de critères de sélection, p. ex. des règles de configuration, des copies des enregistrements de données associées aux utilisateurs de chaque partition de stockage. Par exemple, une copie d’un enregistrement de données d’enregistrement de nom de passager (PNR) généré par un agent de voyage (TA) peut être poussée vers le flux de données de message pour réplication dans d’autres partitions de stockage d’utilisateurs et/ou d’applications d’utilisateurs associées au PNR maître, p. ex. des fournisseurs de voyage, des applications de voyage, des applications d’embarquement de vol et similaires. Les partitions de stockage peuvent être configurées pour stocker des copies de secours de l’enregistrement de données maître qui peuvent être activées au cas où il y aurait un problème avec la partition de stockage stockant les copies d’enregistrements de données maîtres. Les partitions de stockage peuvent être distribuées entre les différents centres de données. Les centres de données peuvent être distribués à travers des régions géographiques différentes, pour améliorer la résilience et minimiser la latence pour les utilisateurs accédant à la plateforme à partir de régions géographiques différentes. Selon un mode de réalisation de la présente invention, chaque enregistrement de données stocké comprend un signalement d’état sélectionnable par l’utilisateur, configuré pour faire basculer le mode de configuration de chaque enregistrement de données entre un mode maître, indiquant un enregistrement de données maître et un mode esclave indiquant un enregistrement de données maître répliqué. Le signalement d’état sélectionnable permet un enregistrement de données d’être basculé vers le mode maître et esclave en fonction de la demande de l’application. Par exemple, dans le cas où la partition de stockage stockant les enregistrements de données maîtres deviendrait indisponible, p en raison d’une panne, le signalement d’état sur les copies correspondantes de l’enregistrement de données maître pourrait être basculé du mode esclave au mode d’enregistrement de données maître et la partition de stockage correspondante deviendrait dans le fichier de configuration la partition de stockage maître. En conséquence, le trafic d’utilisateurs pour accéder aux enregistrements de données maîtres peut être redirigé de la partition de stockage défectueux vers la nouvelle partition de stockage maître spécifiée dans le fichier de configuration. L’utilisation du signalement d’état peut réduire la durée d’indisponibilité de l’application logicielle distribuée dans le cas d’une redirection de l’utilisateur. Chaque fois qu’une modification a lieu dans l’enregistrement de données maître, p. ex. une modification des informations du PNR, les modifications sont répliquées dans les copies correspondantes de l’enregistrement de données maître actualisé. Par exemple, une copie de l’enregistrement de données actualisé est répliquée dans les partitions de stockage associées où elle remplace toutes les versions précédentes. Les versions précédentes de l’enregistrement de données peuvent être stockées dans une base de données. Selon un mode de réalisation de la présente invention, la logique de communication est configurée pour sélectionner le centre de données pour traiter les requêtes d’utilisateurs sur la base d’un ensemble de critères. Par exemple, l’ensemble de critères peut comprendre la localisation géographique de l’utilisateur, le type de requête de l’utilisateur, la capacité d’un centre de données à traiter les requêtes d’utilisateurs et similaire. Selon un mode de réalisation de la présente invention, l’enregistrement de données maître est partagé entre une pluralité d’utilisateurs et/ou d’applications d’utilisateurs. Par exemple, dans le contexte d’une réservation de voyage, un PNR maître peut être partagé entre différents acteurs, p. ex. les agents de voyage et la compagnie aérienne, chacun ayant la capacité de créer et de gérer les informations dans le PNR maître, p. ex. des informations de passagers actualisées. Selon un mode de réalisation de la présente invention, chaque partition de stockage est instanciée sur des groupements de serveurs informatiques isolés d’un centre de données. La présente invention permet l’implémentation d’un modèle de stockage distribué permettant d’isoler l’infrastructure technique par utilisateur. Un des avantages de l’approche d’isolement est qu’elle minimise l’impact pour les utilisateurs d’un arrêt programmé ou non programmé d’un centre de données ou d’une partition de stockage. Par exemple, elle permet que des travaux de maintenance soient effectués dans l’infrastructure technique associée à un utilisateur sans impacter le fonctionnement pour d’un autre utilisateur. Par ailleurs, l’approche d’isolement permet de mieux gérer les ressources informatiques allouées aux utilisateurs à forte activité générant de grands volumes de données, ce qui était difficile à implémenter dans les systèmes actuels sans affecter le fonctionnement des autres utilisateurs de la plateforme. Selon un mode de réalisation de la présente invention, l’application logicielle est une application de réservation de voyage pour réserver des produits de voyage qui est configurée pour générer un enregistrement de données d’enregistrement de nom de passager (PNR) qui est partagé entre une pluralité d’applications de voyage. L’enregistrement de données généré par l’application logicielle de la présente invention peut être configuré pour être partagé entre différents utilisateurs et/ou applications d’utilisateurs pour la fourniture d’un service. Par exemple, dans le secteur du voyage, un enregistrement de données d’enregistrement de nom de passager (PNR) peut être partagé avec une pluralité d’utilisateurs et d’applications logicielles pour la fourniture d’un service de voyage, p. ex. un vol entre une origine et une destination. Par exemple, un enregistrement de données PNR généré par un agent de voyage (TA) ou un autre utilisateur peut être lié à une pluralité d’utilisateurs et/ou d’applications d’utilisateurs pour la fourniture du service de voyage, p. ex. la compagnie aérienne opérant le vol réservé, les applications logicielles d’enregistrement et d’embarquement, et similaires. Selon un deuxième aspect de la présente invention, un procédé pour gérer et stocker des enregistrements de données sur une plateforme informatique distribuée fonctionnant sur une pluralité de groupements de serveurs informatiques d’au moins un centre de données est fourni. Le procédé comprend : la réception de demandes de création de données provenant d’une pluralité d’utilisateurs via une logique de communication configurée pour recevoir ; le traitement des demandes d’utilisateurs pour la création de données aux moyens d’une application logicielle exécutant un programme informatique configuré pour générer un enregistrement de données maître associé à au moins un utilisateur et/ou une application d’utilisateur ; le stockage des enregistrements de données dans un module de stockage comprenant une pluralité de partitions de stockage, chaque partition de stockage se voit attribuer un identifiant de partition indiquant la partition de stockage associée à chaque utilisateur et le fait que la configuration de la partition de stockage est maître, configurée pour stocker des enregistrements de données maîtres ou esclaves, configurée pour stocker des copies des enregistrements de données maîtres ; le routage aux moyens d’un module de routage de chaque enregistrement de données maître généré vers la partition de stockage maître correspondante associée à l’utilisateur émettant la demande de création de données ; la génération aux moyens de l’application logicielle pour chaque enregistrement de données maître d’un token de partition correspondant indiquant l’identifiant de partition de la partition de stockage maître correspondant à l’utilisateur émettant la demande de création de données ; et le routage de chaque enregistrement de données généré vers la partition de stockage maître associée à l’identifiant de partition du token de partition généré. Les dessins suivants sont fournis à titre d’exemple pour décrire et expliquer de façon détaillée divers aspects de l’invention. Les Figures 1 à 4 montrent une plateforme de réservation de voyage distribuée à titre d’exemple et son fonctionnement dans des situations différentes conformément aux modes de réalisation de la présente invention. Les figures 5 à 8 montrent des implémentations exemplaires de la plateforme de réservation de voyage distribuée pour le stockage d’un PNR partagé créé par un ou plusieurs utilisateurs selon des modes de réalisation de la présente invention. La présente invention sera illustrée en utilisant les modes de réalisation exemplaires montrés dans les figures 1 à 8 qui seront décrits de façon plus détaillée ci-dessous. Il faut noter que toutes références faites aux dimensions sont seulement indicatives et ne limitent d’aucune façon l’invention. Alors que l’invention a été montrée et décrite en faisant référence à certains modes de réalisation illustrés dans la présente, les hommes de métier comprendront que diverses modifications de formes et de détails peuvent y être apportées sans pour autant s’éloigner du champ d’application de l’invention couvert par les revendications en annexe. Par ailleurs, alors que l’invention a été décrite avec des références à un système de réservation de voyage distribué particulier et à un procédé pour gérer et stocker des enregistrements de données d’enregistrements de nom de passager (PNR), les hommes de métier comprendront que des changements de formes et de détails peuvent être effectués pour faciliter une plateforme informatique distribuée pour la gestion et le stockage d’autres types d’enregistrements de données sans pour autant s’éloigner du champ d’application de l’invention couvert par les revendications en annexe. La Figure 1 montre un système exemplaire de réservation de voyage distribué 100 conforme à des modes de réalisation de la présente invention. Le système de réservation de voyage distribué 100 est fourni avec un module de communication 200 qui est configuré pour connecter des utilisateurs 110 à une application logicielle 400 fonctionnant sur des ressources informatiques d’au moins un centre de données 300. L’application logicielle peut être configurée comme une application de réservation permettant aux utilisateurs de rechercher et de réserver des produits de voyage de différents fournisseurs de voyage. En réponse à une requête d’un utilisateur 100 pour réserver un produit de voyage, l’application logicielle peut être configurée pour générer un enregistrement de données maître qui, dans le contexte d’une réservation de voyage, peut prendre la forme d’un enregistrement de nom de passager. L’application logicielle 400 peut être fournie avec un module de token de partition 410 qui est configuré pour générer un token de partition identifiant la partition de stockage associé à l’utilisateur générant l’enregistrement de données maître. Le module de token de partition 410 peut générer le token de partition sur la base de l’information contenue dans l’enregistrement de données maître et l’information obtenue à partir d’un fichier de configuration. Par exemple, le module de token de partition 410 peut générer le token de partition en extrayant l’information contenue dans l’enregistrement de données maître, relative à l’identité de l’utilisateur qui génère l’enregistrement de données maître. Le token de partition 410 peut identifier, sur la base de l’information extraite de l’enregistrement de données maître, dans le fichier de configuration la localisation de la partition de stockage maître 610 associée à l’utilisateur générant l’enregistrement de données maître. Le token de partition peut ensuite être transmis à un module de routage 500 qui est configuré pour router l’enregistrement de données maître vers la partition de stockage maître 610 associée à l’utilisateur. Le fichier de configuration fournit des informations relatives à la localisation des partitions de stockage 610 associées à chaque utilisateur qui peuvent être mises à jour chaque fois que la configuration de partition de stockage est modifiée. De cette façon, le module de routage 500, avec l’usage du token de partition, est capable de router l’enregistrement de données maître vers la localisation de la partition correcte de stockage 610. L’exemple montré dans la Figure 1 montre deux utilisateurs 110, l’utilisateur 1 et l’utilisateur 2, connectés à un système de réservation de voyage distribué 100 conforme à des modes de réalisation de la présente invention. L’utilisateur 1 peut être connecté au système 100 avec l’intention de générer un enregistrement de données maître alors que l’utilisateur 2 peut être connecté au système 100 avec l’intention d’accéder à un enregistrement de données maître. Par exemple, dans le contexte des réservations de voyage, un agent de voyage (TA) peut être connecté au système pour effectuer une réservation de voyage. Le module de communication 200 peut connecter le TA vers le centre de données géographiquement le plus proche qui héberge l’application de réservation de voyage 400. Le TA peut engager une réservation à l’application de réservation 400 et un enregistrement de nom de passager (PNR) maître est généré. Le PNR maître est traité par le module de token de partition 410 et est basé sur l’information contenue dans celui-ci et l’information dans le fichier de configuration, un token de partition est généré identifiant la localisation de la partition de stockage maître 610 dans le module de stockage 600 correspondant à l’agent de voyage générant le PNR maître. Le module de routage 500 basé sur le token partition transmettrait le PNR maître vers la localisation du module de stockage 600 contenant la partition de stockage 610 associée au TA qui, ainsi qu’illustrée dans la figure 1, et le centre de données « 1 » 300. Au module de stockage 600, le PNR maître serait stocké dans la partition de stockage associée 610. Un deuxième utilisateur, l’utilisateur 2, peut vouloir accéder au PNR maître. Par exemple, la compagnie aérienne opérant le vol identifié dans le PNR peut vouloir accéder au PNR maître confirmé par le TA. Dans ce cas, la compagnie aérienne se connecterait au système de réservation de voyage 100 via le module de communication 200. La demande de la compagnie aérienne pour récupérer le PNR maître peut être traitée par l’application de réservation 400. L’application de réservation 400 peut être fournie avec un module localisateur d’enregistrement configuré pour localiser les enregistrements de données en réponse à un utilisateur demandant la récupération d’un enregistrement de données. Le module localisateur d’enregistrement peut comprendre une antémémoire configurée pour stocker la localisation de chaque enregistrement de données maître dans le module de stockage. Par exemple, le module d’enregistrement peut comprendre une liste identifiant pour chaque enregistrement de données maître la localisation de la partition de stockage correspondante. En outre, le localisateur d’enregistrement peut comprendre un mécanisme de diffusion d’enregistrements de données qui, en réponse à une demande d’un utilisateur pour accéder à l’enregistrement de données, est configuré pour vérifier chaque partition de stockage afin de déterminer la localisation exacte de l’enregistrement de données demandé. Comme le montre la figure 1, la demande du deuxième utilisateur, l’utilisateur 2, serait dirigée vers la localisation du PNR maître situé dans le module de stockage 600 du centre de données « 1 » 300. La figure 2 montre un mode de réalisation exemplaire de la présente invention dans le cas d’un arrêt programmé ou non programmé de l’un des centres de données. Comme le montre la figure 2, dans le cas où un des centres de données 300, p. ex. le centre de données 1, deviendrait indisponible, le trafic serait dirigé vers les autres centres de données, p. ex. le centre de données 2 qui contient une sauvegarde également désignée comme copie de secours de l’enregistrement de données maître demandée par le deuxième utilisateur. Dans ce cas, la copie de sauvegarde deviendrait la copie maître en modifiant un signalement de configuration associé à l’enregistrement de données. Le signalement d’état de la configuration peut être configuré pour faire basculer le mode de configuration de chaque enregistrement de données entre un mode maître indiquant un enregistrement de données maître et un mode esclave indiquant un enregistrement de données maître répliqué, également désigné comme copie d’attente ou de sauvegarde. Le signalement d’état sélectionnable permet à un enregistrement de données d’être basculé entre le mode maître et le mode esclave comme l’exige l’application logicielle. Comme le montre la figure 2, le trafic est dirigé au moyen du module de communication 200 vers le centre de données « 2 ». La figure 3 montre à titre d’exemple comment la partition de stockage du PNR peut être modifiée en utilisant le fichier de configuration. Comme le montre la figure 3, l’utilisateur « 1 » peut initialement être alloué la partition de stockage « 3 » 610 pour stocker les enregistrements de données maîtres, p. ex un PNR. Dans ce cas, le signalement d’état de configuration du PNR serait fixé à maître = oui. Dans le cas d’une modification de la configuration de partition de stockage, il peut être nécessaire de modifier aussi la localisation de la partition de stockage maître. Par exemple, au cours de la maintenance, les ressources informatiques allouées à la partition de stockage « 3 » peuvent devenir indisponibles nécessitant par conséquent une modification de la configuration pour assurer la continuité opérationnelle de la plateforme. Pour faciliter la modification de la configuration, le signalement d’état de configuration sur une copie de sauvegarde du PNR maître stockée dans la partition de stockage « 7 » peut être changé d’esclave à maître. La nouvelle partition de stockage maître 610, la partition « 7 » contacterait la partition « 3 » pour retirer le signalement maître du PNR associé et le fichier de configuration serait modifié en conséquence. Par conséquent, le trafic d’utilisateur serait dirigé vers la partition « 7 » plutôt que vers la partition « 3 » assurant ainsi la continuité opérationnelle de la plateforme. La Figure 4 montre un système 100 conforme à des modes de réalisation de la présente invention. Comme le montre la figure 4, en fonction de l’application, il peut-être préférable de rapprocher l’enregistrement de données maître de la localisation géographique de l’utilisateur qui y accède afin d’améliorer la latence. Par exemple, l’enregistrement de données PNR maître généré par un agent de voyage (TA) 100 peut être déplacé de la partition de stockage 610 du TA dans le centre de données « 1 » vers la partition de stockage 610 du deuxième utilisateur (l’utilisateur 2) 100 dans le centre de données « 2 » 300 qui géographiquement peut être plus proche de l’utilisateur 2, améliorant ainsi la réponse d’accès. La Figure 5 montre un exemple du système 100 conforme à des modes de réalisation de la présente invention. Ainsi que détaillé précédemment, le système 100 de la présente invention peut être distribué sur des ressources informatiques de différents centres de données 300 pour améliorer la vitesse et la résilience de la plateforme en cas d’arrêt programmé ou non programmé des ressources informatiques. Comme le montre la figure 5, les centres de données 300 peuvent être interconnectés via un flux de données de message 700. Une copie de chaque enregistrement de données maître peut être poussée vers le flux de données de message 700 pour réplication dans des partitions de stockage 610 associées à chaque enregistrement de données maître qui peuvent être situées dans le même et/ou dans différents centres de données 300. Chaque partition de stockage 610 peut comprendre une application de consommateur de données pour veiller au flux de données de message 700 et récupérer, sur la base d’un ensemble de critères de sélection, des copies des enregistrements de données associées à l’utilisateur de chaque partition de stockage. Par exemple, les critères de sélection comprennent l’identité de l’utilisateur associée à un enregistrement de données, la localisation géographique de l’utilisateur et le contenu de l’enregistrement de données ou d’autres critères de sélection. Comme le montre la figure 5, un agent de voyage (TA) 110 peut être configuré pour stocker le PNR maître, PNR 1, dans la partition de stockage 610 qui est située dans le centre de données « 2 ». En même temps une copie du PNR 1, PNR (R), peut être poussée vers le flux de données de message 700 où elle serait réceptionnée par la partition de stockage 610 de l’opérateur de voyage (TO) qui peut être située dans le centre de données « 3 ». Par ailleurs, comme le montre la figure 6, une copie de l’enregistrement de données maître peut être stockée dans une partition de sauvegarde. Par exemple, comme le montre la figure 5, une copie de sauvegarde du PNR 1, PNR 1', peut être poussée dans le flux de données de message 700 où elle serait réceptionnée par la partition de stockage de sauvegarde 610 du TA qui peut être située dans le centre de données 3. De façon similaire, une autre copie du PNR 1 maître, PNR 1 (R) serait réceptionnée par une partition de stockage de l’opérateur de voyage (TO) associé qui peut être situé dans un autre centre de données 300. La figure 7 montre un autre exemple d’une configuration pour stocker les enregistrements de données maîtres et esclaves. Comme le montre la figure 7, la copie de sauvegarde du PNR 1 maître, PNR 1', peut être sauvegardée dans une partition de stockage 610 qui est située dans le même centre de données 300 contenant la partition de stockage 610 configurée pour sauvegarder un autre PNR maître généré par un opérateur de voyage (TO), le PNR 2. De façon similaire, une copie de sauvegarde du deuxième PNR 2 maître, PNR 2’, peut être sauvegardée dans une autre partition de stockage d’un centre de données différent 300. La figure 8 montre encore un autre exemple d’une configuration pour sauvegarder les différentes versions de l’enregistrement de données. Par exemple, comme le montre la figure 8, le PNR maître, PNR 1, peut être sauvegardé dans une partition de stockage 610 du centre de données « 2 » alors que la copie de sauvegarde PNR 1’ peut être sauvegardée dans le centre de données « 1 ». De façon similaire, la copie PNR de l’opérateur de voyage, PNR 1 (R) peut être sauvegardée dans le centre de données « 3 » alors que la copie de sauvegarde PNR du TO correspondant, PNR (R)’ peut être sauvegardée dans un autre centre de données. En général, les routines exécutées pour mettre en œuvre les modes de réalisation de l’invention, qu’elles soient implémentées dans le cadre d’un système d’exploitation ou d’une application spécifique, d’un composant, d’un programme, d’un objet, d’un module ou d’une séquence d’instructions, ou même un sous-ensemble de ceux-là, peuvent être désignées dans les présentes comme « code de programme informatique » ou simplement « code de programme ». Un code de programme comporte typiquement des instructions lisibles par ordinateur qui résident à divers moments dans divers dispositifs de mémoire et de stockage dans un ordinateur et qui, lorsqu’elles sont lues et exécutées par un ou plusieurs processeurs dans un ordinateur, amènent l’ordinateur à effectuer des opérations nécessaires à l’exécution d’opérations et/ou d’éléments propres à la mise en œuvre des aspects variés des modes de réalisation de l’invention. Les instructions d’un programme informatique lisibles par ordinateur pour accomplir les opérations des modes de réalisation de l’invention peuvent être, par exemple, le langage d’assemblage, ou soit un code source ou un code objet, écrit en combinaison avec un ou plusieurs langages de programmation. Le code de programme mis en œuvre dans une/un quelconque des applications/modules décrit(e)s dans les présentes peut être distribué individuellement ou collectivement comme un produit-programme d’ordinateur, sous une variété de formes. En particulier, le code de programme peut-être distribué en utilisant un support de stockage lisible par ordinateur ayant en lui-même des instructions de programme lisibles par ordinateur pour amener un processeur à mettre en œuvre des aspects des modes de réalisation de l’invention. Les supports de stockage lisibles par ordinateur, étant intrinsèquement non transitoires, peuvent inclure des supports tangibles, volatiles et non volatiles et amovibles et non amovibles, implémentés dans un quelconque procédé ou technologie pour le stockage d’informations, tel que les instructions de programme lisibles par ordinateur, des structures de données, des modules de programme, ou autres données. Les supports de stockage lisibles par ordinateur peuvent par ailleurs inclure la mémoire vive aléatoire (RAM), la mémoire morte à lecture seule (ROM), la mémoire à lecture seule, programmable et effaçable (EPROM), la mémoire à lecture seule, programmable et effaçable électriquement (EEPROM), une mémoire flash, ou toute technologie de support solide de mémoire, disque compact portable doté d’une mémoire à lecture seule (CD-ROM), ou tout autre stockage optique, des cassettes magnétiques, des bandes d’enregistrement magnétiques, des mémoires de disque magnétique ou tout autre médium pouvant être utilisé pour stocker l’information désirée et apte à être déchiffrée par un ordinateur. Un support de stockage lisible par ordinateur ne peut être interprété comme signaux transitoires en soi (par exemple, des ondes radio ou toutes autres ondes électromagnétiques se propageant, des ondes électromagnétiques se propageant à travers un support de transmission telle qu’un guide d’ondes, ou des signaux électriques transmis par câble). Les instructions de programme lisibles par ordinateur peuvent être téléchargées sur un ordinateur, un autre type d’appareil de traitement de données programmable ou sur tout autre dispositif de support de stockage lisible par machine, ou vers un ordinateur externe ou vers un dispositif de stockage externe via un réseau. Les instructions de programme lisibles par ordinateur, stockées sur un support lisible par ordinateur, peuvent être utilisées pour instruire un ordinateur, d’autres types d’appareils programmables de traitement ou d’autres dispositifs pour fonctionner d’une façon particulière, de sorte que les instructions stockées sur un support lisible par ordinateur produisent un article de fabrication comprenant les instructions qui implémentent les fonctions/actions spécifiées dans les organigrammes, diagrammes de séquence, et/ou diagrammes blocs. Les instructions de programme informatique peuvent être fournies à un ou plusieurs processeurs d’un ordinateur à usage général, un ordinateur dédié ou un autre appareil programmable de traitement de données pour produire une machine, de sorte que les instructions, lorsqu’elles sont exécutées via un ou plusieurs processeurs, accomplissent une série de calculs pour mettre en œuvre les fonctions, actions, et/ou les actions spécifiées dans les organigrammes, diagrammes séquentiels et/ou diagrammes blocs. Dans certains autres modes de réalisation, les fonctions, les actions et/ou des opérations spécifiées dans les organigrammes, diagrammes de séquence, et/ou des diagrammes blocs peuvent être réorganisées à nouveau, traitées en série et/ou traitées en même temps conformément aux modes de réalisation de l’invention. De plus, un quelconque des organigrammes, diagrammes séquentiels, et/ou diagrammes bloc peut inclure plus ou moins de blocs que ceux qui sont illustrés, conformément à des modes de réalisation de l’invention. La terminologie utilisée dans les présentes a pour but de décrire uniquement des modes de réalisation particuliers et n’est pas destinée à limiter les modes de réalisation de l’invention. On comprendra par ailleurs que les termes « comprendre », « comprend » et/ou « comprenant », lorsqu’ils sont utilisés dans cette spécification, précisent la présence de caractéristiques, de nombres entiers, d’étapes, d’opérations, d’éléments, et/ou de composants, mais n’excluent pas la présence ou l’ajout d’une ou de plusieurs caractéristiques, de nombres entiers, d’étapes, d’éléments, de composants et/ou de groupes, en cela. De plus, dans la mesure où les termes « inclut », « ayant », « a », « avec », « compris de » ou des variantes de ceux-ci, sont utilisés, soit dans la description détaillée, soit dans les revendications, ces termes sont censés être inclusifs de façon similaire au terme « comprenant ». Bien que l’invention ait été illustrée par une description de modes de réalisation divers et bien que ces modes de réalisation aient été décrits de façon considérablement détaillée, les demandeurs n’ont pas l’intention de restreindre ou de limiter en aucune façon le champ d’application à ces détails. Des avantages supplémentaires et des modifications possibles apparaîtront aisément aux hommes de métier. L’invention sous ses aspects plus larges n’est donc pas limitée aux détails spécifiques, aux appareils représentatifs et aux procédés, ainsi qu’aux exemples illustratifs montrés et décrits. Par conséquent, il est possible de s’éloigner de ces détails sans s’éloigner de l’esprit et de la portée du concept inventif général du demandeur. Une plateforme informatique distribuée pour gérer et stocker des enregistrements de données, la plateforme informatique fonctionnant sur une pluralité de groupements de serveurs informatiques d’au moins un centre de données, la plateforme informatique distribuée comprenant : une logique de communication configurée pour recevoir des demandes de création de données provenant d’une pluralité d’utilisateurs ; une application logicielle, exécutant un programme informatique, configurée pour traiter chaque demande d’utilisateur de création de données et qui génère en conséquence un enregistrement de données maître associé à au moins un utilisateur et/ou une application d’utilisateur ; un module de stockage, comprenant une pluralité de partitions de stockage pour stocker des enregistrements de données, chaque partition de stockage se voit attribuer un identifiant de partition indiquant que la partition de stockage associée à chaque utilisateur et la configuration de la partition de stockage sont maîtres, configuré pour stocker des enregistrements de données maîtres ou esclaves, configuré pour stocker des copies des enregistrements de données maîtres ; et un module de routage configuré pour au moins router chaque enregistrement de données maître généré vers la partition de stockage maître correspondante associée à l’utilisateur émettant la demande de création de données ; dans laquelle l’application logicielle est configurée pour générer, pour chaque enregistrement de données maître, un token de partition correspondant indiquant l’identifiant de partition de la partition de stockage maître correspondant à l’utilisateur émettant la demande de création de données ; et dans laquelle le module de routage est configuré pour router chaque enregistrement de données maître vers la partition de stockage maître associée à l’identifiant de partition du token de partition généré. Une plateforme informatique distribuée selon la revendication 1, dans laquelle l’application logicielle est configurée pour générer des copies d’enregistrements de données maîtres lesquelles sont stockées dans des partitions de stockage esclaves associées aux utilisateurs et/ou aux applications d’utilisateurs associées à l’enregistrement de données maître. Une plateforme informatique distribuée selon la revendication 1 ou 2, dans laquelle la logique de communication est configurée pour recevoir des demandes d’accès d’utilisateurs pour accéder à un enregistrement de données maître et/ou à une copie d’un enregistrement de données maître, l’application logicielle est configurée pour générer, pour chaque demande d’accès d’utilisateur, un token de partition identifiant la partition de stockage maître ou esclave correspondante stockant l’enregistrement de données demandé, le module de routage est configuré pour router chacune des demandes d’accès d’utilisateurs sur la base du token de partition généré vers la partition de stockage maître ou esclave correspondante. Une plateforme informatique distribuée selon l’une quelconque des revendications précédentes, dans laquelle l’application logicielle comprend un fichier de configuration comprenant des informations de configuration de partition de stockage indiquant les partitions de stockage maîtres et/ou esclaves associées à chaque utilisateur. Une plateforme informatique distribuée selon la revendication 4, dans laquelle l’application logicielle est configurée pour générer le token de partition sur la base du fichier de configuration et/ou de l’identité de l’utilisateur émettant la demande de données et/ou du type de demande d’accès. Une plateforme informatique distribuée selon la revendication 5, dans laquelle la plateforme informatique est instanciée sur des groupements de serveurs informatiques de multiples centres de données. Une plateforme informatique distribuée selon la revendication 6, dans laquelle les centres de données sont connectés via un flux de données de messages. Une plateforme informatique distribuée selon la revendication 7, dans laquelle une copie de chaque enregistrement de données maître est poussée vers le flux de messages pour réplication dans des partitions de stockage d’utilisateurs associées. Une plateforme informatique distribuée selon la revendication 8, dans laquelle chaque partition de stockage comprend une application de consommateur de données configurée pour surveiller le flux de données de message et pour récupérer, sur la base d’un ensemble de critères de sélection, des copies des enregistrements de données associées à l’utilisateur de chaque partition de stockage. Une plateforme informatique distribuée selon la revendication 9, dans laquelle les critères de sélection comprennent l’identité de l’utilisateur associée à un enregistrement de données, la localisation géographique de l’utilisateur et le contenu de l’enregistrement de données. Une plateforme informatique distribuée selon l’une quelconque des revendications précédentes, dans laquelle chaque enregistrement de données stocké comprend un signalement d’état sélectionnable par l’utilisateur, configuré pour faire basculer le mode de configuration de chaque enregistrement de données entre un mode maître, indiquant un enregistrement de données maître et un mode esclave indiquant un enregistrement de données maître répliqué. Une plateforme informatique distribuée selon l’une quelconque des revendications précédentes, dans laquelle la logique de communication est configurée pour sélectionner le centre de données pour le traitement des demandes d’utilisateur sur la base d’un ensemble de critères. Une plateforme informatique distribuée selon l’une quelconque des revendications précédentes, dans laquelle l’enregistrement de données maître est partagé entre une pluralité d’applications d’utilisateurs. Une plateforme informatique distribuée, dans laquelle l’application logicielle est une application de réservation de voyage pour réserver des produits de voyage qui est configurée pour générer un enregistrement de données d’enregistrement de nom de passager (PNR) qui est partagé entre une pluralité d’applications de voyage. Un procédé pour gérer et stocker des enregistrements de données sur une plateforme informatique distribuée fonctionnant sur une pluralité de groupements de serveurs informatiques d’au moins un centre de données, le procédé comprenant : la réception de demandes de création de données provenant d’une pluralité d’utilisateurs via une logique de communication configurée pour recevoir ; le traitement des demandes d’utilisateurs pour la création de données aux moyens d’une application logicielle, exécutant un programme informatique, configurée pour générer un enregistrement de données maître associé à au moins un utilisateur et/ou une application d’utilisateur ; le stockage des enregistrements de données dans un module de stockage comprenant une pluralité de partitions de stockage, chaque partition de stockage se voit attribuer d’un identifiant de partition indiquant que la partition de stockage associée à chaque utilisateur et la configuration de la partition de stockage sont maîtres, configurée pour stocker des enregistrements de données maîtres ou esclaves, configurée pour stocker des copies des enregistrements de données maîtres ; le routage aux moyens d’un module de routage de chaque enregistrement de données maître généré vers la partition de stockage maître correspondante associée à l’utilisateur émettant la demande de création de données ; la génération aux moyens de l’application logicielle pour chaque enregistrement de données maître d’un token de partition correspondant indiquant l’identifiant de partition de la partition de stockage maître correspondant à l’utilisateur émettant la demande de création de données ; et le routage de chaque enregistrement de données généré vers la partition de stockage maître associée à l’identifiant de partition du token de partition généré.