FR 3067826 A1 20181221 FR 1855181 A 20180613 BASE DE DONNÉES DISTRIBUÉE GÉOGRAPHIQUEMENT Domaine technique [0011 Les modes de réalisation divulgués concernent des systèmes de bases de données distribuées géographiquement pour le traitement des requêtes d'un utilisateur. Ces systèmes étant configurés pour réduire les incohérences entre les contenus des bases de données distribuées géographiquement. Plus spécifiquement, les modes de réalisation divulgués concernent des centres de données distribués géographiquement qui traitent certaines requêtes localement alors que d'autres requêtes sont acheminées vers un ou plusieurs centres de données actifs pour 10 traitement. CONTEXTE [0021 Les utilisateurs font de plus en plus de réservations pour des hébergements et des services, ainsi que pour l'achat de marchandises, en ligne. Les systèmes de gestion d'inventaire 15 peuvent permettre à des utilisateurs de rechercher et de réserver des éléments d'inventaire dans un inventaire. De tels systèmes peuvent aussi permettre aux prestataires de services de configurer un inventaire en ajoutant, en retirant, et en modifiant des éléments de l'inventaire. Les utilisateurs et les prestataires de services peuvent interagir avec les systèmes de gestion d'inventaire en effectuant différentes opérations, telles que des requêtes de recherche, des 20 requêtes de réservation et des requêtes de configuration. Les utilisateurs et les prestataires de services peuvent avoir des tolérances différentes envers les délais dans le traitement de ces requêtes. Par exemple, les utilisateurs peuvent s'attendre à des réponses aux requêtes de recherche dans un délai de 100 ms. Des réponses plus lentes peuvent être tolérées par les utilisateurs pour les requêtes de réservation et par les prestataires de services pour les requêtes de 25 configuration. Par ailleurs, les volumes de requêtes peuvent aussi différer considérablement selon les types de requêtes. Par exemple, les requêtes de recherche peuvent considérablement surpasser en nombre les requêtes de réservation qui, à leur tour, peuvent considérablement surpasser en nombre les requêtes de configuration. [003] Le placement géographique des centres de données pour les systèmes de gestion 30 d'inventaire à proximité des utilisateurs peut réduire les temps de réponse. Cependant les utilisateurs peuvent être distribués géographiquement et donc les systèmes de gestion 2 d'inventaire peuvent nécessiter de multiples centres de données. Mais l'utilisation de multiples centres de données peut en revanche créer des problèmes en termes de réservations dupliquées et des incohérences de données d'inventaire entre les centres de données. [004] Les systèmes et les procédés divulgués utilisent une architecture spécifique adaptée 5 pour satisfaire les exigences en matière de qualité de service. En particulier, cette architecture spécifique repose sur de multiples centres de données et distribue différemment les types de requêtes entre les centres de données. Les solutions techniques spécifiques révélées adressent au moins le défi de satisfaire les attentes des utilisateurs et des prestataires de service en matière de temps de réponse tout en réduisant le potentiel pour la duplication de réservations et d'incohérences de données entre les centres de données. De cette manière, les systèmes et les procédés divulgués améliorent les systèmes de gestion d'inventaire existants et surmontent les problèmes qui surviennent spécifiquement dans le domaine des réseaux informatiques. RÉSUMÉ [0051 Les modes de réalisation divulgués comprennent des systèmes et des procédés pour le 15 traitement des requêtes en utilisant de multiples centres de données géographiquement distincts. Dans certains modes de réalisation, les multiples centres de données peuvent inclure des informations relatives à l'inventaire. Les centres de données peuvent être configurés pour fournir des informations relatives à l'inventaire en réponse aux interrogations des utilisateurs. Les requêtes de configuration d'inventaire et les requêtes de transaction sont traitées pour certains 20 aspects par des centres de données actifs. Des équilibreurs de charge, dans des centres de données passifs, réacheminent les requêtes de configuration et de transaction vers des centres de données actifs afin de réduire le potentiel de réservations erronées des ressources. [006] Les modes de réalisation divulgués incluent un système de base de données. Le système de base de données peut inclure un premier centre de données et un deuxième centre de données 25 géographiquement distinct du premier centre de données. Le premier centre de données peut inclure un premier équilibreur de charge et un premier groupement implémentant une base de données distribuée en cache active qui contient la première information en cache et une base de données active de configuration contenant la première information de configuration. Le deuxième centre de données peut inclure un deuxième équilibreur de charge et un deuxième 30 groupement implémentant une base de données distribuée en cache passive contenant une deuxième information en cache et une base de données de configuration passive contenant une 3 deuxième information de configuration. Le premier équilibreur de charge et le deuxième équilibreur de charge peuvent être configurés pour recevoir des requêtes provenant de systèmes géographiquement distincts. La requête peut inclure des requêtes de recherche, des requêtes de configuration et des requêtes de transaction. Le premier équilibreur de charge et le deuxième 5 équilibreur de charge peuvent par ailleurs être configurés pour fournir les requêtes de recherche à une de la base de données distribuée en cache active et à la base de données distribuée en cache passive. Le premier équilibreur de charge et le deuxième équilibreur de charge peuvent par ailleurs être configurés pour fournir les requêtes de configuration à la base de données de configuration active. Le premier équilibreur de charge et le deuxième équilibreur de charge 10 peuvent aussi être configurés par ailleurs pour fournir les requêtes de transaction à la base de données distribuée en cache active. [007] Sous certains aspects, la base de données distribuée en cache active peut être configurée pour fournir des résultats de recherche basés sur la première information en cache. La base de données en cache distribuée passive peut être configurée pour fournir des résultats de recherche basés sur la deuxième information en cache. La base de données de configuration active peut être configurée pour mettre à jour la première information de configuration sur la base des requêtes de configuration et pour pousser les mises à jour de configuration vers la base de données distribuée en cache active afin de mettre à jour la première information en cache. La base de données de configuration en cache active peut être configurée pour mettre à jour la première information en cache sur la base des requêtes de transaction et pour pousser les mises à jour de transaction vers la base de données distribuée en cache passive afin de mettre à jour la deuxième information en cache. La base de données distribuée en cache passive peut ensuite mettre à jour la deuxième information en cache sur la base des mises à jour de la transaction, permettant le rapprochement des mémoires-cache entre la base de données distribuée en cache active et la base de données distribuée en cache passive. [008] Sous certains aspects, au moins une de la base de données de configuration active et la base de données distribuée en cache active peuvent par ailleurs être configurée pour pousser les mises à jour de configuration vers la base de données de configuration passive afin de mettre à jour la deuxième information de configuration. Au moins une de la base de données de configuration passive et la base de données distribuée en cache active peut par ailleurs être 4 configurée pour pousser les mises à jour de configuration vers la base de données distribuée passive afin de mettre à jour la deuxième information de configuration. [9] Sous certains aspects, la base de données distribuée active peut par ailleurs être configurée pour pousser les mises à jour de transaction vers la base de données de configuration 5 active afin de mettre à jour la première information de configuration. Dans des aspects variés, la base de données de configuration active peut par ailleurs être configurée pour pousser les mises à jour de transaction vers la base de données de configuration passive afin de mettre à jour la deuxième information de configuration. Sous certains aspects, la base de données distribuée en cache passive peut par ailleurs être configurée pour pousser les mises à jour de transaction vers la 10 base de données de configuration passive afin de mettre à jour la deuxième information de configuration. [10] Sous certains aspects, les requêtes de configuration peuvent inclure au moins une des actions suivantes : l'ajout, le retrait et la modification de la première information en cache ou de la deuxième information en cache. Les requêtes de recherche peuvent inclure un ou plusieurs 15 critères spécifiés pour rechercher des éléments dans la première information en cache. [11] Sous certains aspects, lors de la réception des instructions d'activation provenant du système de gestion, la base de données distribuée en cache passive et la base de données de configuration passive peuvent être activées et la base de données distribuée en cache active ainsi que la base de données de configuration active peuvent être désactivées. 20 [012] Le mode de réalisation divulgué inclut par ailleurs des aspects d'un procédé correspondant aux aspects du système de base de données définis ci-dessus. [013] Les modes de réalisation divulgués incluent par ailleurs un procédé pour traiter les requêtes. Le procédé peut inclure la réception d'une requête de configuration provenant d'un système de gestion pour ajouter ou retirer des éléments dans un premier centre de données. Le 25 procédé peut par ailleurs inclure l'acheminement de la requête de configuration vers un deuxième centre de données géographiquement distinct du premier centre de données, le deuxième centre de données incluant une base de données de configuration active. Le procédé peut aussi inclure la mise à jour de l'information de configuration stockée dans la base de données de configuration active avec des mises à jour de configuration basées sur la requête de 30 configuration. Le procédé peut par ailleurs inclure la poussée des mises à jour de configuration vers une base de données distribuée en cache passive dans le premier centre de données et vers 5 une base de données distribuée en cache active dans un deuxième centre de données. Les requêtes de configuration peuvent inclure au moins l'une des actions suivantes : l'ajout, le retrait et la modification de la première information en cache ou de la deuxième information en cache. [0141 Sous certains aspects, le procédé peut par ailleurs inclure la poussée des mises à jour de 5 configuration vers une base de données de configuration passive dans le premier centre de données. Le procédé peut par ailleurs inclure la réception d'une requête de recherche provenant d'un dispositif utilisateur spécifiant un ou plusieurs critères de recherche dans le premier centre de données. Le dispositif utilisateur peut être géographiquement plus proche du premier centre de données que du deuxième centre de données. Le procédé peut par ailleurs inclure le retrait 10 d'éléments satisfaisant ledit un ou plusieurs critères de recherche de la base de données distribuée en cache passive. Le procédé peut par ailleurs inclure l'apport d'une indication des éléments au dispositif utilisateur. [0151 Sous certains aspects, le procédé peut par ailleurs inclure la réception d'une requête de transaction d'un dispositif utilisateur en réponse à l'indication fournie des éléments au premier 15 centre de données. Le procédé peut par ailleurs inclure l'acheminement de la requête de transaction vers le deuxième centre de données. Le procédé peut par ailleurs inclure la mise à jour de l'information de configuration stockée dans la base de données distribuée en cache active avec les mises à jour de transaction sur la base de la requête de transaction. Le procédé peut par ailleurs inclure la poussée des mises à jour de transaction vers la base de données distribuée en 20 cache passive. Le procédé peut par ailleurs inclure la poussée des mises à jour de transaction vers la base de données de configuration active et vers une base de données de configuration passive dans un premier centre de données. [0161 Les modes de réalisation divulgués incluent un procédé pour fournir des bases de données. Le procédé peut inclure de servir les requêtes de configuration reçues des systèmes de 25 gestion en utilisant un groupement informatique actif d'au moins deux groupements informatiques géographiquement distincts en actualisant une base de données de configuration active du groupement informatique actif sur la base des requêtes de configuration. Le procédé peut par ailleurs inclure de servir les requêtes de recherche reçues des dispositifs utilisateurs qui spécifient un ou plusieurs critères de recherche en utilisant le plus proche d'au moins deux 30 groupements informatiques géographiquement distincts en récupérant les éléments satisfaisant ledit un ou plusieurs critères de recherche à partir de copies locales d'une base de données en 6 cache répliquée parmi lesdits au moins deux groupements informatiques distincts géographiquement. Le procédé peut aussi inclure de servir des requêtes de transaction reçues des dispositifs utilisateurs en utilisant le groupement informatique actif en actualisant une copie locale active de la base de données en cache répliquée dans le groupement informatique actif. 5 [017] Dans certains aspects, le procédé peut par ailleurs inclure des changements de réplication dans les bases de données de configuration actives sur les copies locales de la base de données en cache. Le procédé peut par ailleurs inclure la réplication de changement dans la copie locale active de la base de données en cache sur la base de données de configuration active. Le procédé peut par ailleurs inclure de changer le groupement informatique actif en activant un 10 autre groupement informatique parmi lesdits au moins deux groupements informatiques géographiquement distincts et en désactivant le groupement informatique actif. Dans certains aspects, lesdits au moins deux groupements informatiques géographiquement distincts sont configurés pour servir les requêtes de transaction et les requêtes de configuration au groupement informatique le plus proche entre le groupement informatique actif et l'autre groupement 15 informatique alors que le groupement informatique actif et l'autre groupement informatique sont tous les deux actifs. [18] On comprendra que la description générale et la description détaillée qui suivent sont fournies à titre d'exemple et d'explication uniquement et ne restreignent aucunement les modes de réalisation divulgués. 20 BRÈVE DESCRIPTION DES DESSINS [19] Les dessins ne sont pas nécessairement à l'échelle, ou exhaustifs. Au contraire, l'accent est généralement placé sur l'illustration des principes des inventions décrites dans les présentes. Les dessins accompagnants illustrent plusieurs modes de réalisation cohérents avec la 25 divulgation et, conjointement avec la description, servent à expliquer les principes de la divulgation. Dans les dessins : [20] Fig. 1 décrit un système de base de données comprenant de multiples centres de données. [21] Fig. 2 décrit un centre de données exemplaire de façon schématique. 30 [022] Fig. 3 décrit un flux séquentiel exemplaire illustrant le traitement d'une requête de configuration. 7 [23] Fig. 4 décrit un flux séquentiel exemplaire illustrant le traitement d'une requête de recherche. [24] Fig. 5 décrit un flux séquentiel exemplaire illustrant le traitement d'une requête-de transaction. 5 [025] Fig. 6 décrit un flux séquentiel exemplaire illustrant le changement du centre de données actif. DESCRIPTION DÉTAILLÉE [26] Les modes de réalisation divulgués, dont des exemples sont illustrés par les dessins 10 accompagnants, seront maintenant détaillés. Partout où cela sera approprié, les mêmes numéros de référence seront utilisés dans l'ensemble des dessins pour désigner des éléments identiques ou semblables. [27] Tel qu'utilisés dans les présentes, par rapport à un ensemble, les termes « et/ou » et la phrase « au moins un... et... » englobent tous deux chaque sous-ensemble de l'ensemble. Par 15 exemple, « des éléments d'hébergement, des éléments de services et/ou de marchandises » et «au moins un des éléments d'hébergement, des éléments de services et des marchandises » ont une portée équivalente et incluent soit des éléments d'hébergement ; ou des éléments de services ; ou des marchandises ; ou des éléments d'hébergement et des éléments de services ; ou des éléments de services et des marchandises ; ou des éléments d'hébergement, des éléments de services et de; 20 marchandises. [28] Selon des modes de réalisation divulgués, un système de base de données géographiquement distribué peut inclure de multiples centres de données, chacun ayant une copie d'une base de données. Cette base de données peut inclure, comme exemple non limitatif, un inventaire des éléments d'hébergement, des éléments de services et/ou des marchandises. La 25 poussée des copies de la base de données géographiquement plus proche des utilisateurs peut réduire de cette manière les retards de réponse aux requêtes des utilisateurs. Cependant, parce que le temps pris par le rapprochement croisé de la base de données avec de multiples centres de données permet à chaque centre de données de répondre aux requêtes des utilisateurs en configurant la base de données ou en effectuant des transactions impliquant la base de données 30 cela pourrait engendrer des réservations erronées. Par exemple, en réponse à la requête d'un utilisateur, un centre de données pourrait effectuer des transactions concernant un ou plusieurs 8 éléments d'inventaire rendus indisponibles par des changements de configuration ou des transactions dans un autre centre de données. Comme exemple non limitatif, un centre de données pourrait réserver un élément d'inventaire rendu indisponible par des changements de configuration ou des transactions dans un autre centre de données. 5 [0291 Dans certains modes de réalisation, pour réduire le potentiel de réservations erronées, tous les centres de données peuvent gérer des requêtes de recherche alors qu'au moins un centre de données actif gère la configuration de l'inventaire et les transactions. Par exemple, uniquement un seul centre de données actif peut gérer la configuration de l'inventaire et les transactions. Les équilibreurs de charge à l'intérieur de chaque centre de données sont configurés 10 pour acheminer les requêtes de transaction et de configuration vers ledit au moins un centre de données actif. [030] Dans certains modes de réalisation, un centre de données supplémentaire peut être activé en configurant les équilibreurs de charge pour acheminer les requêtes de configuration et de transaction vers à la fois le centre de données activé à l'origine et le centre de données 15 nouvellement activé. Le centre de données activé à l'origine peut ensuite être désactivé en configurant son équilibreur de charge pour acheminer les requêtes de configuration et de transaction vers le centre de données nouvellement activé. De cette manière, le système de gestion d'inventaire peut réduire le potentiel de réservations erronées tout en permettant aux centres de données actifs d'être aisément remplacés par d'autres centres de données selon les 20 besoins. 1031] Tel qu'utilisé dans les présentes, un inventaire peut inclure des éléments d'hébergement, des éléments de services et/ou des marchandises. Les éléments d'hébergement peuvent inclure au moins un élément tel qu'un hôtel, un centre de vacances et un hébergement locatif (p. ex. des chambres, des chalets, des maisons). Les éléments de services peuvent inclure 25 au moins un service de voyage (p. ex., d'avion, de train, de véhicule de location, de ferry, des réservations de transport partagé, des réservations d'autobus), des éléments de divertissement (p. ex., des billets de théâtre, de concert, d'exposition, des activités de centre de vacances), la livraison des éléments de services (p. ex., des réservations de places assises, des réservations pour des repas, des billets de repas prépayés). L'inventaire peut inclure des forfaits incluant des 30 éléments d'hébergement, des éléments de services et/ou des marchandises. Un tel forfait peut, par exemple, inclure des réservations de vol et d'hôtel, des réservations de restaurant et/ou des 9 tickets pour des activités. L'inventaire peut inclure un certain nombre d'éléments et peut être mis à jour pour créer des éléments, ajouter des éléments, retirer des éléments et/ou modifier des éléments. Vu que les utilisateurs choisissent, sélectionnent, réservent, achètent ou réclament autrement des éléments d'hébergement, de services et/ou des marchandises, ces éléments 5 peuvent devenir indisponibles pour d'autres utilisateurs. L'inventaire peut inclure des informations de transaction pour les éléments, tels que les prix, les conditions du programme de fidélité, les rabais et/les informations concernant les éléments d'inventaire. Par exemple, pour un élément de réservation de chambres d'hôtel, l'inventaire peut spécifier un prix, une location, une heure d'enregistrement, un rabais pour les membres d'AAA (American Automobile Association) 10 et/ou des conditions pour créditer un programme de fidélité avec des points lors de la réservation de la chambre d'hôtel. [032] Tel qu'utilisé dans les présentes, une requête de configuration peut inclure une requête pour créer, ajouter, retirer et/ou modifier un inventaire. Une telle requête de configuration peut amener un centre de données à créer des éléments dans un inventaire, ajouter des éléments un 15 inventaire, modifier et/ou retirer des éléments d'inventaire. Comme exemple non limitatif, une requête de configuration peut indiquer au moins une des opérations suivantes : la création ou l'addition d'un ou de plusieurs éléments de l'inventaire, le changement des prix et des disponibilités pour un ou plusieurs éléments d'inventaire et le retrait d'un ou de plusieurs éléments d'inventaire de l'inventaire. Une requête de configuration peut être fournie au système 20 des modes de réalisation divulgués en utilisant une forme de langage de balisage hypertexte (HTML), un message en langage de balisage extensible (XML) [p. ex. un protocole d'accès à un objet simple (SOAP)], un objet de notation d'objet issu de JavaScript (JSON), un message de requête de protocole de transfert hypertexte (HTTP), un message de protocole de transfert de courriel simple (SMTP), ou un autre format de message. 25 [0331 Telle qu'utilisée dans les présentes, une requête de recherche peut inclure une interrogation pour des éléments d'inventaires qui satisfont des critères spécifiés. Par exemple, une requête de recherche pour des vols peut spécifier au moins un critère tel que l'origine et la destination désirées du vol, la date du vol, l'heure du vol, les correspondances pendant le vol, la catégorie de sièges et des critères similaires. Comme exemple supplémentaire, une requête de 30 recherche pour une chambre d'hôtel peut décrire au moins un critère tel que la ville ou la localisation souhaitée, l'heure d'enregistrement, l'heure de sortie, le type de chambre, fumeur ou 10 non-fumeur et d'autres critères. Une requête de recherche peut être fournie au système des modes de réalisation divulgués en utilisant un format HTML, un message XML (p. ex., un objet SOAP), un objet JSON, un message de requête HTTP, un message SMTP ou un autre format de message. 5 [034] Telle qu'utilisée dans les présentes, une requête de transaction peut inclure une requête d'achat, de réservation ou autrement une demande d'éléments d'inventaire. La requête de transaction peut inclure les informations de paiement et les informations de l'utilisateur, selon les besoins, pour acheter, réserver ou autrement demander les éléments dans l'inventaire. Par exemple, un nom complet et un numéro de carte de crédit peuvent être nécessaires pour réserver 10 une chambre d'hôtel ; un nom complet, un numéro de carte de crédit et une adresse de facturation peuvent être nécessaires pour acheter un siège sur un avion ; un nom complet, un numéro de carte de crédit, une adresse de facturation et un numéro de permis de conduire peuvent être nécessaires pour réserver une voiture ; un nom complet, un numéro de carte de crédit, une adresse postale et une adresse de facturation ainsi qu'un numéro de téléphone portable peuvent 15 être nécessaires pour acheter des services ou des marchandises et peuvent être nécessaires pour réserver une place dans un restaurant. Une requête de transaction peut aussi inclure des informations identifiant l'élément(s) souhaité(s) dans l'inventaire. Une requête de transaction peut être fournie au système des modes de réalisation divulgués en utilisant un format HTML, un message XML (p. ex., un objet SOAP), un objet JSON, un message de requête HTTP, un 20 message SMTP, ou un autre format de message. [035] L'homme de métier reconnaîtra que la distance entre deux sites informatiques peut produire un délai de communication entre le moment où un signal est fourni par le premier site informatique et le moment où le signal est reçu par le deuxième dispositif de communication. Tel qu'utilisé dans les présentes, « géographiquement distinct)) signifie être séparé par une distance 25 générant un retard de communication supérieur à 10 millisecondes. L'homme de métier comprendra que le délai de communication acceptable peut dépendre du but, de l'application et/ou du contenu du signal. Par exemple, des délais de communication de 100 millisecondes ou plus peuvent être acceptables pour une communication entre des dispositifs utilisateurs et des sites Web orientés texte tels que des blogues, des journaux et des magazines en ligne. Des délais 30 inférieurs peuvent être exigés pour des moteurs de recherche et des sites Web faisant une utilisation extensive d'images, de scripts et d'éléments interactifs. Tel qu'utilisé aussi dans les 11 présentes, un premier système est « plus proche » d'un deuxième système que d'un troisième système lorsque le délai de communication entre le premier système et le deuxième système est moindre que le délai de communication entre le premier système et le troisième système. Le délai de communication peut être spécifié sous forme de délai de communication minimum ou 5 attendu et peut être mesuré ou estimé selon des procédés connus. [36] Fig. 1 décrit un système de base de données 100 comprenant de multiples centres de données conformes aux modes de réalisation divulgués. Comme le montre la Fig. 1, le système 100 utilise de multiples centres de données géographiquement distincts (p. ex., le centre de données 110 et le centre de données 120) pour assurer que les dispositifs utilisateurs (p. ex. le 10 dispositif utilisateur 130) puissent accéder au système 100 sans subir de retard de communication important. Par exemple, le système 100 peut être configuré de telle façon que le dispositif utilisateur 130 accède à une copie de l'inventaire stockée dans un centre de données géographiquement plus proche du dispositif utilisateur 130. Dans certains aspects, des dispositifs utilisateurs (p. ex., le dispositif 130) et des systèmes de gestion (p. ex. le système de gestion 140) 15 peuvent accéder au système 100. [37] Comme le montre la fig. 1, les composants du système 100 peuvent communiquer les uns avec les autres et avec d'autres systèmes (tels que d'autres dispositifs utilisateurs et d'autres systèmes de gestion) en utilisant le réseau 150. Comme exemples non limitatifs, les composants du système 100 communiquent les uns avec les autres ou avec d'autres systèmes en utilisant un 20 objet SOAP, un objet JSON, un message XML, un appel de procédure distante, un message de requête HTTP, un message SMTP, ou un message dans un autre protocole similaire. [38] Les centres de données géographiquement distincts (p. ex. le centre de données 110 et le centre de données 120) peuvent chacun inclure un ou plusieurs locaux pour héberger des systèmes informatiques tels que des serveurs. Selon des procédés connus de l'homme de métier, 25 les locaux peuvent inclure des systèmes d'appui, tels que des systèmes électriques, des systèmes énergétiques, des systèmes de sécurité et des systèmes de refroidissement pour les systèmes informatiques. Les locaux peuvent aussi inclure des dispositifs de stockage de données pour stocker l'inventaire et la configuration de l'inventaire. [39] Le dispositif utilisateur 130 peut inclure des dispositifs informatiques tels que des 30 montres connectées, des smartphones connectés, des tablettes informatiques, des miniordinateurs portables, des carnets informatiques, des ordinateurs portables, des ordinateurs de 12 bureau, des postes informatiques de travail, des dispositifs électroniques portables, des électroménagers connectés et des serveurs. Le dispositif utilisateur 130 peut être configuré pour interagir avec un utilisateur, par exemple, par l'intermédiaire d'un dispositif d'entrée/sortie connu et/ou d'une interface utilisateur graphique. Dans certains modes de réalisation, le 5 dispositif 130 peut permettre à un utilisateur d'accéder à un système de réservation, à un système de gestion de biens, ou à un système de gestion d'inventaire. Le dispositif utilisateur 130 peut permettre cet accès via par exemple un navigateur Web, une application ou un programme client. [0401 Un système de gestion 140 peut inclure un ou plusieurs dispositifs informatiques tels que des montres connectées, des smartphones connectés, des tablettes informatiques, des mini- 10 ordinateurs portables, des carnets informatiques, des ordinateurs portables, des ordinateurs de bureau, des postes informatiques de travail et des serveurs. Le système de gestion 140 peut être autonome ou peut faire partie d'un seul système qui peut faire partie d'un système plus important. Par exemple, le système de gestion 140 peut être associé à une institution commerciale qui fournit des services de recherche et de réservation. Le système de gestion 140 15 peut inclure des serveurs distribués qui sont situés à distance et communiquent avec d'autres systèmes de l'institution commerciale sur un réseau public ou sur un réseau privé dédié. Le système de gestion 140 peut être configuré pour interagir avec un utilisateur, par exemple, par l'intermédiaire d'un dispositif connu d'entrée/sortie et/ou d'une interface utilisateur graphique. Dans certains modes de réalisation, le système d'administration 140 peut permettre à un 20 utilisateur d'accéder à un système de réservation, à un système de gestion de biens, ou à un système de gestion d'inventaire. Par exemple, le système de gestion 140 peut héberger le système de réservation, le système de gestion de biens ou le système de gestion d'inventaire ; il peut faire fonctionner une application (p. ex., un navigateur Web un programme client) qui permet à l'utilisateur d'accéder au système de réservation, au système de gestion de biens ou au 25 système de gestion d'inventaire hébergé sur un autre système informatique. [0411 Le réseau 150 peut être configuré pour fournir des communications entre les composants du système 100 décrits par la Fig. 1. Par exemple, le réseau 150 peut être tout type de réseau (incluant l'infrastructure) qui fournit des communications, des échanges d'informations et/ou facilite l'échange d'informations, tel qu'Internet, un réseau de zone locale, 30 des réseaux cellulaires, des réseaux de zone locale sans fil (WLANS), des réseaux de senseurs sans fil, des réseaux de communication satellite ou toute autre connexion appropriée qui permet 13 aux composants du système 100 de communiquer les uns avec les autres et avec d'autres systèmes (tels que des dispositifs utilisateurs et des systèmes de gestion). [42] Fig. 2 décrit de façon schématique deux centres de données exemplaires (p. ex., les centres de données 110 et 120), conformes aux modes de réalisations divulgués. Comme on le 5 voit, chaque centre de données peut inclure un équilibreur de charge (p. ex., l'équilibreur de charge 215 et l'équilibreur de charge 225) et un ou plusieurs groupements (p. ex., le groupement(s) 210 et le groupement(s) 220). L'équilibreur de charge peut être implémenté comme un dispositif physique, comme une machine virtuelle ou sous forme d'une combinaison d'une machine virtuelle et d'un dispositif physique. Des exemples non limitatifs d'un tel 10 équilibreur de charge incluent l'équilibreur de charge F5 offert par BIG-IP®, l'équilibreur de charge KEMP®, et l'équilibreur de charge BARRACUDA®. Dans certains modes de réalisation, l'équilibreur de charge peut être configuré pour acheminer le trafic entre les serveurs comprenant le groupement. L'équilibreur de charge peut aussi être configuré pour acheminer le trafic d'un groupement à un autre. Par exemple, lorsqu'un centre de données est configuré pour être passif, 15 l'équilibreur de charge pour ce centre de données peut être configuré pour acheminer les requêtes de transaction et les requêtes de configuration vers un centre de données actif ou vers le centre de données actif le plus proche lorsque plus d'un centre de données est actif. Dans certains modes de réalisation, les équilibreurs de charge du système 100 peuvent être configurés pour communiquer avec les centres de données et/ou les uns avec les autres afin d'assurer que le trafic 20 soit acheminé vers le centre de données approprié. Par exemple, un équilibreur de charge qui reçoit une requête de transaction ou une requête de configuration peut être configuré pour interroger l'état d'un ou de plusieurs centres de données et identifier le centre de données actif le plus proche sur la base de la réponse à cette interrogation. [43] Le groupement(s) peut comprendre un ou plusieurs serveurs configurés pour participer 25 dans une ou plusieurs plateformes informatiques fonctionnelles en nuage (cloud). Par exemple, le groupement(s) peutimplémenter un déploiement de logiciel et de système de gestion tels que OPENSHIFT®, KUBERNETES®, CLOUDWAYS , AMAZON® WEB SERVICES, GOOGLE® COMPUTE, ou un autre système similaire. Dans certains modes de réalisation, le groupement(s) dans chaque centre de données peut être configuré pour implémenter une base de données 30 distribuée en cache Q. ex., la base de données distribuée en cache 213 et la base de données distribuée en cache 223) et une base de données de configuration (p. ex., la base de données de 14 configuration 211 et la base de données de configuration 221). Dans des modes de réalisation variés, le groupement(s) dans chaque centre de données peut implémenter la base de données distribuée en cache, mais pas la base de données de configuration qui peut être implémentée sur un système extérieur au groupement(s), mais faisant partie du centre de données, extérieur aux 5 centres de données (par exemple, sur un autre système informatique), mais faisant partie du système 100, ou extérieur au système 100. [44] Les bases de données distribuées en cache (p. ex., la base de données distribuée en cache 213 et la base de données distribuée en cache 223) peuvent être configurées pour fournir des réponses rapides aux requêtes de recherche et aux requêtes de transaction. Par exemple, les 10 bases de données distribuées en cache peuvent utiliser un système de base de données tel que COUCHBASEe, MEMCACHED®, REDIS', ou un système similaire pour assurer que l'inventaire est stocké en mémoire. Telles qu'utilisées dans les présentes, les bases de données distribuées en cache peuvent inclure des stockages durables ou non volatiles en plus du stockage en mémoire et peuvent utiliser des processus connus ou des procédés pour répliquer le stockage 15 en mémoire dans le stockage durable ou non volatile. Le système 100 peut être configuré pour acheminer les requêtes de recherche provenant des dispositifs utilisateurs vers les bases de données distribuées en cache afin de minimiser le délai entre la réception de la requête et l'apport d'une réponse. [45] Les bases de données distribuées en cache peuvent être configurées pour fournir un seul 20 lieu de mise à jour (p. ex., un seul centre de données) pour les requêtes de transaction. Par exemple, le système 100 peut inclure au moins un (mais généralement seulement un) centre de données actif à tout moment. Le système 100 peut être configuré pour acheminer les requêtes de transaction vers ledit au moins un centre de données actif. Les centres de données restants peuvent être passifs et ne peuvent pas traiter les requêtes de transaction. Ainsi, le système 100 25 peut minimiser la possibilité que des demandes conflictuelles soient créées par différents centres de données au même inventaire pour des utilisateurs différents. [46] Les bases de données distribuées en cache peuvent être configurées pour assurer une cohérence entre chacune des bases de données distribuées en cache et les bases de données de configuration. Dans certains modes de configuration, la base de données distribuée en cache peut 30 être configurée pour un rapprochement croisé des groupements. Par exemple, chaque base de données distribuée en cache peut être configurée pour pousser une information de transaction 15 vers d'autres bases de données distribuées en cache afin de mettre à jour l'inventaire stocké dans ces bases de données. Dans des modes de réalisation variés, les bases de données distribuées en cache peuvent être configurées pour mettre à jour les bases de données de configuration. Par exemple, les mises à jour d'inventaire résultant des requêtes de transaction peuvent être poussées 5 vers les bases de données de configuration pour assurer que ces bases de données reflètent correctement l'inventaire disponible. [47] Les bases de données de configuration (p. ex., la base de données de configuration 211 et la base de données de configuration 221) peuvent être configurées pour une facilité d'utilisation et/ou une compatibilité avec des systèmes existants. Dans certains modes de 10 réalisation, les bases de données de configuration peuvent inclure des bases de données relationnelles (p. ex., MICROSOFT ACCESS®, MICROSOFT SQL SERVER®, 4D® (4 TH DIMENSION), APACHE DERBY®, CUBRID®, EXASOLUTION®, FILEMAKER®, MYSQL®), ou des bases de données relationnelles-objet (p. ex.,ORACLE DATABASES, MICROSOFT SQL SERVER®, ADAPTIVE SERVER ENTERPRISE®, CUBRID®, DB2®, 15 INFORMIX®, POSTGRESQL®). [48] Les bases de données de configuration peuvent être configurées pour servir de tampon aux mises à jour d'inventaire, réduisant la probabilité que ces mises à jour affectent la capacité des bases de données distribuées en cache de répondre aux requêtes de recherche et de transaction. Par exemple, le système 100 peut acheminer les requêtes de configuration vers les 20 bases de données de configuration et le système 100 peut ensuite pousser les mises à jour de la base de données de configuration vers les bases de données distribuées en cache. De cette manière, le système 100 peut empêcher des changements importants immédiats à l'inventaire, correspondant à des changements importants immédiats aux bases de données distribuées en cache. Au contraire, l'utilisation de la base de données de configuration comme tampon aux 25 mises à jour de l'inventaire permet une implémentation efficace de ces mises à jour. Par exemple, les mises à jour peuvent être divisées ou combinées en lots. Les bases de données distribuées en cache peuvent être mises à jour en utilisant ces lots à intervalles réguliers ou pendant des temps de faible utilisation du système. [49] Les bases de données de configuration peuvent aussi être configurées pour fournir un 30 seul lieu de mise à jour (p. ex., un seul centre de données) pour les requêtes de configuration. Comme décrit dans l'exemple ci-dessus, le système 100 peut inclure au moins un (mais 16 généralement seulement un) centre de données actif à tout moment. Le système 100 peut être configuré pour acheminer des requêtes de configuration vers ledit au moins un centre de données actif. Les centres de données restants sont passifs (et ne peuvent pas traiter les requêtes de configuration). Ainsi, le système 100 peut minimiser la possibilité que des centres de données 5 différents créent des changements incompatibles avec l'inventaire. [50] Fig. 3 décrit un flux séquentiel exemplaire qui illustre le traitement d'une requête de configuration, conforme aux modes de réalisation divulgués. À l'étape 301, le système de gestion 140 peut recevoir des instructions pour configurer l'inventaire. Le système de gestion 140 peut recevoir ses instructions en interagissant avec un utilisateur par l'intermédiaire 10 d'un dispositif I/O et d'une interface utilisateur graphique, via une interface de programmation d'application exposée (p. ex., un service Web), ou via un autre procédé d'interaction. Le système de gestion 140 peut générer une requête de configuration basée sur les instructions. Cette requête de configuration peut indiquer l'ajout, le retrait et/ou le retrait d'un ou de plusieurs éléments d'inventaire, ainsi que discuté précédemment. Le système de gestion 140 pour fournir la requête 15 de configuration au centre de données le plus proche (p. ex. le centre de données 120). [51] À l'étape 303, l'équilibreur de charge 225 du centre de données 120 peut recevoir la requête de configuration et l'acheminer vers le centre de données appropriées. Par exemple, lorsqu'une requête de configuration est reçue par un centre de données passif, l'équilibreur de charge pour le centre de données peut acheminer la requête vers un centre de données actif. Dans 20 cet exemple, le centre de données 120 est actuellement passif et par conséquent les requêtes de configuration reçues par l'équilibreur de charge 225 du centre de données 120 sont acheminées vers le centre de données 110. Par conséquent, la base de données de configuration 211 du centre de données 110 peut recevoir des requêtes de configuration par l'intermédiaire d'un ou de plusieurs équilibreurs de charge (p. ex. l'équilibreur de charge de 215 et l'équilibreur de 25 charge 225). Dans des modes de réalisation variés, la base de données de configuration 211 peut recevoir la requête de configuration directement d'un système de gestion 140. À l'étape 305, la base de données de configuration 211 peut utiliser la requête de configuration pour mettre à jour l'information de l'inventaire stockée dans la base de données de configuration 211, conformément à des procédés connus. 30 [052] À l'étape 307, le centre de données 110 peut être configuré pour pousser les mises à jour de la base de données de configuration 211 vers la base de données distribuée en cache 213. 17 Par exemple, le centre de données 110 peut être configuré pour exécuter un ou plusieurs processus en arrière-plan qui copient les mises à jour de la base de données de configuration 211 vers la base de données distribuée en cache 213. Comme décrit dans les présentes, le centre de données 110 peut pousser les mises à jour à base de données distribuée en cache 213 en utilisant 5 un objet SOAP, un objet JSON, un message XML, un appel de procédure distant, un message de requête HTTP, un message SMTP, ou un message dans un autre protocole similaire. [0531 À l'étape 309, le centre de données 110 peut être configuré pour pousser les mises à jour de configuration de la base de données distribuée en cache 213 vers la base de données distribuée en cache 223. Par exemple, la base de données distribuée en cache 213 du centre de 10 données 110 peut être configurée pour copier les mises à jour de configuration de la base de données distribuée en cache 213 vers la base de données distribuée en cache 223 en utilisant un procédé de rapprochement croisé de groupements (p. ex., comme implémenté par COUCHBASE® et des bases de données similaires). La base de données distribuée en cache 223 peut utiliser les mises à jour de configuration pour mettre à jour les informations d'inventaire 15 stockées dans la base de données distribuée en cache 223. De cette manière, le centre de données 110 peut permettre un rapprochement croisé entre la base de données distribuée en cache 213 et la base de données distribuée en cache 223. [054] Dans certains modes de réalisation, à l'étape 311, le centre de données 110 peut être configuré pour pousser les messages de configuration de la base de données de configuration 211 20 vers la base de données de configuration 221. La base de données de configuration 221 peut utiliser ces mises à jour de configuration pour mettre à jour l'information d'inventaire stockée dans la base de données de configuration 221. Dans de tels modes de réalisation, à l'étape 313, le centre de données 120 peut aussi pousser les mises à jour de configuration de la base de données de configuration 221 vers la base de données distribuée en cache 223. 25 [055] Fig. 4 décrit un flux séquentiel exemplaire, illustrant le traitement d'une requête de recherche, conforme à des modes de réalisation divulgués. À l'étape 401, le dispositif utilisateur 130 peut recevoir des instructions pour faire des recherches dans l'inventaire. De façon semblable à la description ci-dessus, par rapport à l'étape 301, le dispositif utilisateur 130 peut être configuré pour recevoir ces instructions en interagissant avec un utilisateur par 30 l'intermédiaire d'un dispositif I/0 et d'une interface utilisateur graphique, via une interface de programmation exposée (p. ex., un service Web ou une application), ou par l'intermédiaire d'un 18 autre procédé. Le dispositif utilisateur 130 peut générer une requête de recherche basée sur les instructions. La requête de recherche peut spécifier des critères de recherche pour des éléments d'inventaire, ainsi que décrite précédemment. Le dispositif utilisateur 130 peut fournir la requête de recherche au centre de données le plus proche (p. ex., le centre de données 120). 5 [056] À l'étape 403, l'équilibreur de charge 225 du centre de données 120 peut recevoir la requête de recherche et l'acheminer vers la base de données distribuée en cache 223. Par contraste aux requêtes de configuration, les requêtes de recherche peuvent ne pas être acheminées vers les centres de données actifs (p. ex., le centre de données 110), réduisant le délai pour fournir des résultats de recherche. En outre, dans certains modes de réalisation, les résultats 10 de recherche peuvent ne pas changer l'inventaire stocké dans les bases de données distribuées en cache et par conséquent peuvent ne pas avoir besoin d'un seul lieu de mise à jour (p. ex., un seul centre de données actif). [057] À l'étape 405, la base de données distribuée en cache 223 du centre de données 120 peut identifier des résultats de recherches qui satisfont les critères de recherche et pousser des 15 résultats de recherche vers le dispositif utilisateur 130. À l'étape 407, le dispositif utilisateur 130 peut recevoir les résultats de recherche fournis par la base de données distribuée en cache 223. L'étape 407 peut par ailleurs inclure l'affichage des résultats de recherche à l'utilisateur via une interface d'utilisateur graphique. L'utilisateur peut par ailleurs ajuster les critères de recherche et commencer une nouvelle requête de recherche basée sur les résultats de recherche. 20 [058] Fig. 5 décrit un flux séquentiel exemplaire, illustrant le traitement d'une requête de transaction, conforme à des modes de réalisation divulgués. À l'étape 501, le dispositif utilisateur 130 peut recevoir les instructions de transaction. D'une manière similaire à ce qui a été décrit ci-dessus par rapport aux requêtes de configuration et aux requêtes de recherche, aux étapes 301 et 401, le dispositif utilisateur 130 peut être configuré pour générer une requête de 25 transaction et fournir la requête de transaction au centre de données le plus proche. La requête de transaction peut indiquer un ou plusieurs éléments d'inventaire qu'un utilisateur souhaite demander, comme décrit précédemment. Comme décrit ci-dessus, la requête de transaction peut par ailleurs inclure des informations de paiement et des informations concernant l'utilisateur. [059] À l'étape 503, l'équilibreur de charge 225 du centre de données le plus proche (p. ex., le 30 centre de données 120) peut acheminer la requête de transaction vers un centre de données actif (p. ex., le centre de données 110), comme décrit ci-dessus à l'étape 303. 19 [060] À l'étape 505, la base de données distribuée en cache 213 du centre de données actif 110 peut recevoir la requête de transaction. La base de données distribuée en cache 213 peut utiliser la requête de transaction pour mettre à jour l'information d'inventaire stockée dans la base de données distribuée en cache 213. Par exemple, la base de données distribuée en 5 cache 213 peut changer l'information d'inventaire stockée dans la base de données distribuée en cache 213 pour indiquer que des éléments de transaction demandés sont actuellement indisponibles pour d'autres utilisateurs, ainsi que décrit précédemment. Par exemple, la base de données distribuée en cache 213 peut retirer les éléments de transaction demandés de la base de données distribuée en cache 213. 10 [061] À l'étape 507, le centre de données 110 peut être configuré pour pousser la requête de transaction de la base de données distribuée en cache 213 vers la base de données distribuée en cache 223 comme décrit précédemment à l'étape 309. La base de données distribuée en cache 223 peut ensuite utiliser la requête de transaction pour mettre à jour l'information d'inventaire stockée dans la base de données distribuée en cache 223. De cette manière, le centre 15 de données 110 peut permettre un rapprochement croisé entre la base de données distribuée en cache 213 et la base de données distribuée en cache 223. [0621 À l'étape 509, le centre de données 110 peut pousser les mises à jour de transaction de la base de données distribuée en cache 213 vers la base de données de configuration 211. Par exemple, le centre de données 110 peut être configuré pour exécuter des processus en arrière- 20 plan qui copient des mises à jour de transaction de la base de données distribuée en cache 213 vers la base de données de configuration 211. [0631 À l'étape 511, le centre de données 120 peut pousser les mises à jour de transaction de la base de données distribuée en cache 223 vers la base de données de configuration 221. Par exemple, le centre de données 110 peut être configuré pour exécuter un ou plusieurs processus 25 d'arrière-plan qui copient les mises à jour de transaction de la base de données distribuée en cache 223 vers la base de données de configuration 221. De plus ou autrement, dans certains modes de réalisation, la base de données de configuration 211 peut être configurée pour pousser des mises à jour de transaction vers la base de données de configuration 221. La base de données de configuration 221 peut utiliser ces mises à jour de transaction pour mettre à jour l'information 30 d'inventaire stockée dans la base de données de 221. 20 [064] Fig. 6 décrit un flux séquentiel exemplaire, illustrant le changement d'un centre de données actif, conformément à des modes de réalisation divulgués. À l'étape 601, le système 100 peut recevoir des instructions spécifiant un deuxième centre de données à activer (p. ex., le centre de données 120). Les instructions peuvent être reçues du système de gestion 140 ou 5 d'autres systèmes informatiques extérieurs au système 100. [0651 À l'étape 603, le système 100 peut être configure pour activer le centre de données passif spécifié. Par exemple, le système 100 peut fournir des instructions de reconfiguration à un équilibreur de charge pour le deuxième centre de données (p. ex., l'équilibreur de charge 225 pour le centre de données 120). Selon ces instructions, l'équilibreur de charge 225 peut être 10 reconfiguré pour acheminer les requêtes de configuration et de transaction vers le centre de données nouvellement activé, p. ex. le centre de données 120. [0661 À l'étape 605, après l'activation du deuxième centre de données passif (p. ex., le centre de données 120), le système 100 peut fournir des instructions de reconfiguration à l'équilibreur de charge pour le centre de données actif d'origine (p. ex., l'équilibreur de charge 215 du centre 15 de données 110). Selon ces instructions, l'équilibreur de charge 215 peut être reconfiguré pour acheminer des requêtes de transaction et de configuration vers le centre de données nouvellement activé, p. ex. le centre de données 120. De cette manière, un nouveau centre de données peut être activé et le centre de données actif précédemment peut être désactivé. Dans ce mode de réalisation, les deux centres de données peuvent être actifs pendant un moment. Cela peut 20 entraîner une surréservation, car de multiples requêtes de transaction pour le même élément d'inventaire peuvent être reçues par différents centres de données actifs avant le rapprochement des bases de données distribuées en cache pour ces centres de données. Mais ces surréservations peuvent s'avérer rares et peuvent être préférables au refus de requêtes de configuration et/ou de transaction lors du changement des centres de données actifs. 25 [0671 Par ailleurs décrit dans les présentes, en combinaison avec la méthodologie des systèmes et des procédés décrits ci-dessus, il existe des procédés pour traiter les requêtes et fournir des services de base de données qui peuvent être caractérisés par les points suivants : 1. Un procédé pour le traitement de requêtes, comprenant : 30 la réception d'une requête de configuration provenant d'un système de gestion pour au moins ajouter, retirer et modifier des éléments dans un premier centre de données ; 21 l'acheminement de la requête de configuration vers un deuxième centre de données géographiquement distinct du premier centre de données, le deuxième centre de données incluant une base de données de configuration active ; la mise à jour de l'information de configuration stockée dans la base de données de configuration 5 active avec les mises à jour de configuration sur la base de la requête de configuration ; la poussée des mises à jour de configuration vers une base de données distribuée en cache passive et vers une base de données distribuée en cache active dans un deuxième centre de données. 10 2. Le procédé du point 2 comprenant par ailleurs, la poussée des mises à jour de configuration vers une base de données de configuration passive dans le premier centre de données. 3. Le procédé du point 1 ou 2, comprenant par ailleurs : 15 la réception, au premier centre de données, d'une requête de recherche provenant des dispositifs utilisateurs qui inclut un critère de recherche ; la récupération des éléments satisfaisant le critère de recherche dans la base de données distribuée en cache passive ; et l'apport d'une indication des éléments au dispositif utilisateur. 20 4. Le procédé selon l'un quelconque des points 1 à 3, dans lequel le dispositif utilisateur est géographiquement plus proche du premier centre de données que du deuxième centre de données. 25 5. Le procédé selon l'un quelconque des points 1 à 4, comprenant par ailleurs : la réception d'une requête de transaction provenant d'un dispositif utilisateur en réponse à l'indication fournie des éléments du premier centre de données ; l'acheminement de la requête de transaction vers le deuxième centre de données ; la mise à jour de l'information de configuration stockée dans la base de données distribuée en 30 cache active avec les mises à jour de transaction sur la base de la requête de transaction ; et la poussée des mises à jour de transaction vers la base de données distribuée en cache passive. 22 6. Le procédé selon l'un quelconque des points 1 à 5, comprenant par ailleurs la poussée des mises à jour de transaction vers la base de données de configuration active et vers une base de données de configuration passive dans le premier centre de données. 5 7. Le procédé selon l'un quelconque des points 1 à 6, dans lequel les requêtes de configuration incluent au moins une des actions suivantes : l'ajout, le retrait et la modification de la première information en cache ou de la deuxième information en cache. 10 8. Un procédé pour fournir des services de base de données comprenant : le service de requêtes de configuration reçues des systèmes de gestion en utilisant un groupement informatique actif d'au moins deux groupements informatiques géographiquement distincts en actualisant une base de données de configuration active du groupement informatique actif sur la base des requêtes de configuration ; 15 le service des requêtes de recherche reçues des dispositifs utilisateurs qui spécifient un critère de recherche en utilisant le plus proche desdits au moins deux groupements informatiques géographiquement distincts en récupérant des éléments qui satisfont le critère de recherche à partir de copies locales d'une mémoire-cache répliquée entre les groupements informatiques géographiquement distincts ; et 20 le service des requêtes de transaction reçues des dispositifs utilisateurs en utilisant le groupement informatique actif en actualisant une copie locale active de la base de données en cache répliquée dans le groupement informatique actif. 9. Le procédé du point 8 comprenant par ailleurs des changements de réplication dans la 25 base de données de configuration active sur les copies locales de la base de données en cache. 10. Le procédé du point 8 ou 9 comprenant par ailleurs des changements de réplication dans la copie locale active de la base de données en cache sur la base de données de configuration active. 30 23 11. Le procédé selon l'un quelconque des points 8 à 10, comprenant par ailleurs le changement du groupement informatique actif en activant un autre groupement informatique parmi au moins deux groupements informatiques géographiquement distincts et en désactivant ensuite le groupement informatique actif, dans lequel lesdits au moins deux groupements 5 informatiques géographiquement distincts sont confîgurés pour servir les requêtes de transaction et les requêtes de configuration au plus proche du groupement informatique actif et de l'autre groupement alors que le groupement informatique actif et l'autre groupement informatique sont tous les deux actifs_ [68] Comme décrit dans les présentes, les bases de données de configuration et les bases de 10 données distribuées en cache dans les centres de données du système 100 incluent des structures de donnée et des instructions stockées sur un support informatique lisible, non transitoire, qui lorsqu'il est exécuté, amène un ou plusieurs processeurs à mettre en oeuvre les étapes ou les fonctions pertinentes avec les modes de réalisation de la présente divulgation. Des exemples d'un support de stockage lisible par ordinateur incluent, de façon non exhaustive, une mémoire vive à 15 changement de phase (PRAM), une mémoire vive statique (SRAM), une mémoire vive dynamique (DRAM), d'autres types de mémoires vives (RAMs), une mémoire morte (ROM), une mémoire morte programmable et effaçable électroniquement (EEPROM), une mémoire flash ou d'autres technologies de mémoire, une mémoire-cache, un enregistreur, un disque compact à mémoire morte (CD-ROM), ou tout autre support lisible par ordinateur non transitoire pouvant 20 être utilisé pour stocker des informations, auquel un dispositif informatique peut avoir accès. [69] D'autres modes de réalisation seront apparents aux hommes de métier en tenant compte de la spécification et de la pratique des modes de réalisation révélés qui sont divulgués dans les présentes. Il est prévu que la spécification et les exemples soient considérés comme des exemples uniquement, tandis que la véritable portée et l'esprit des modes de réalisation sont 25 indiqués par les revendications suivantes. Par ailleurs, bien que des aspects des modes de réalisation divulgués soient décrits comme étant associés à des données stockées en mémoire et d'autres supports tangibles, non transitoires de stockage lisibles par ordinateur, l'homme de métier reconnaîtra que ces aspects peuvent également être stockés sur, et exécutés à partir de nombreux types de stockage tangibles lisibles par ordinateur, tels que des dispositifs de stockage 30 secondaires comme des disques durs, des disquettes, ou des CD-ROM, ou d'autres formes de RAM ou de ROM. Par conséquent, les modes de réalisation divulgués ne sont pas limités aux 24 exemples décrits ci-dessus, mais plutôt ils sont définis par les revendications en annexe prenant en compte l'intégralité des équivalents. [0701 En outre, bien que des modes de réalisation aient été décrits à titre illustratif dans les présentes, la portée inclut un quelconque et tous les modes de réalisation ayant des éléments, des 5 modifications, des omissions, des combinaisons (p. ex., des aspects entre des modes de réalisation variés), des adaptations ou des altérations équivalentes sur la base de la présente divulgation. Les éléments doivent être interprétés de façon large sur la base du langage utilisé dans les revendications et ne sont pas limités aux exemples décrits dans la présente spécification ou lors de la poursuite de la demande, lesquels exemples doivent être interprétés comme étant 10 non exhaustifs. Par ailleurs, les étapes des procédés divulgués peuvent être modifiées de n'importe quelle manière, incluant les étapes consistant à réordonner, insérer ou retirer des étapes. Il est donc prévu que la spécification et les exemples soient considérés uniquement à titre d'exemple. REVENDICATIONS1. Un système de base de données pour le traitement de requêtes comprenant : un premier centre de données incluant un premier équilibreur de charge et un premier groupement implémentant une base de données distribuée en cache active qui contient la première information en cache et une base de données de configuration active contenant la première information de configuration. un deuxième centre de données géographiquement distinct du premier centre de données, le deuxième centre de données incluant un deuxième équilibreur de charge et un deuxième groupement implémentant une base de données distribuée en cache passive contenant une deuxième information en cache et une base de données de configuration passive contenant une deuxième information de configuration. dans lequel, le premier équilibreur de charge et le deuxième équilibreur de charge sont configurés pour recevoir des requêtes provenant de systèmes géographiquement distincts, les requêtes, comprenant des requêtes de recherche, des requêtes de configuration et des requêtes de transaction et ils fournissent (i) les requêtes de recherche à une base de données distribuée en cache active et à la base de données distribuée en cache passive, (ii) les requêtes de configuration à la base de données de configuration active, et (iii) les requêtes de transaction à la base de données distribuée en cache active ; dans lequel la base de données distribuée en cache active est configurée pour fournir des résultats de recherche basés sur la première information en cache et dans lequel la base de données distribuée en cache passive est configurée pour fournir des résultats de recherche basés sur la deuxième information en cache ; dans lequel la base de données de configuration active peut être configurée pour mettre à jour la première information de configuration sur la base des requêtes de configuration et pour pousser les mises à jour de configuration vers la base de données distribuée en cache active afin de mettre à jour la première information en cache. 26 dans lequel la base de données de configuration en cache active est configurée pour mettre à jour la première information en cache sur la base des requêtes de configuration et pour pousser les mises à jour de configuration vers la base de données distribuée en cache passive afin de mettre à jour la deuxième information 5 en cache. 2. Le système de base de données de la revendication 1, dans lequel au moins l'une de la base de données de configuration active et de la base de données distribuée en cache active est par ailleurs configurée pour pousser les mises à jour de configuration vers la base de données de configuration passive afin de mettre à jour l'information de 10 configuration. 3. Le système de base de données de la revendication 1 ou de la revendication 2, dans lequel au moins une de la base de données de configuration passive et de la base de données distribuée en cache active est par ailleurs configurée pour pousser les mises à jour de 15 configuration vers la base de données distribuée en cache passive afin de mettre à jour la deuxième information en cache. 4. Le système de base de données d'une quelconque des revendications 1 à 3, dans lequel la base de données distribuée en cache active est par ailleurs configurée pour pousser les 20 mises à jour de transaction vers la base de données de configuration active afin de mettre à jour la première information de configuration. 5. Le système de base de données d'une quelconque des revendications 1 à 4, dans lequel la base de données de configuration active est par ailleurs configurée pour pousser les mises 25 à jour de transaction vers la base de données de configuration passive afin de mettre à jour la deuxième information de configuration. 27 6. Le système de base de données d'une quelconque des revendications 1 à 5, dans lequel la base de données distribuée en cache passive est par ailleurs configurée pour pousser les mises à jour de transaction vers la base de données de configuration passive afin de mettre à jour la deuxième information de configuration. 7. Le système de base de données de la revendication 1, dans lequel les requêtes de configuration incluent au moins une des actions suivantes : l'ajout, le retrait et la modification de la première information en cache ou de la deuxième information en cache. 8. Le système de base de données d'une quelconque des revendications 1 à 7, dans lequel les requêtes de recherche incluent un critère pour rechercher des éléments dans la première information en cache. 15 9. Le système de base de données d'une quelconque des revendications 1 à 8, dans lequel lors de la réception des instructions d'activation provenant d'un système de gestion, la base de données distribuée en cache passive et la base de données de configuration passive sont activées, et la base de données distribuée en cache active et la base de données de configuration active sont désactivées. 20 10. Un procédé pour le traitement des requêtes mis en oeuvre par un système de base de données qui comprend : un premier centre de données incluant un premier équilibreur de charge et un premier groupement implémentant une base de données distribuée en cache active 25 contenant la première information en cache et une base de données de configuration active contenant la première information de configuration ; un deuxième centre de données géographiquement distinct du premier centre de données, le deuxième centre de données incluant un second équilibreur de charge et un 5 10 28 deuxième groupement implémentant une base de données distribuée en cache passive contenant une deuxième information en cache et une base de données de configuration passive contenant une deuxième information de configuration ; dans lequel, le premier équilibreur de charge et le deuxième équilibreur de charge sont 5 configurés pour recevoir des requêtes provenant de systèmes géographiquement distincts, les requêtes comprenant des requêtes de recherche, des requêtes de configuration et des requêtes de transaction et ils fournissent (i) les requêtes de recherche à une de la base de données distribuée en cache active et à la base de données distribuée en cache passive, (ii) les requêtes de configuration à la base de 10 données de configuration active, et (iii) les requêtes de transaction à la base de données distribuée en cache active ; le procédé comprenant : l'apport, par la base de données distribuée en cache active, de résultats de recherche basés sur la première information en cache et par la base de données distribuée en cache 15 passive, de résultats de recherche basés sur la deuxième information en cache ; la mise à jour, par la base de données de configuration active, de la première information de configuration sur la base des requêtes de configuration et la poussée des mises à jour de configuration vers la base de données distribuée en cache active afin de mettre à jour la première information en cache ; 20 la mise à jour, par la base de données distribuée active, de la première information en cache sur la base des requêtes de transaction et la poussée des mises à jour de transaction vers la base de données distribuée en cache passive afin de mettre à jour la deuxième information en cache. 25