FR 3098944 A1 20210122 FR 1907939 A 20190715 Description Titre de l'invention : Traitement de requêtes de base de données [0001] La présente divulgation relève de la technologie de bases de données. Plus spéci- fiquement, elle concerne le traitement de requêtes de base de données et des résultats de requête de base de données dans un environnement de base de données distribuée. [0002] Aujourd'hui, les environnements de bases de données sont souvent de nature distribuée. Par exemple, les données sont hébergées sur une base de données centrale alors que d'autres données sont hébergées sur des bases de données distinctes. La séparation peut aussi être établie en divisant un système de base de données en un système frontal et un système dorsal. US 9,946,752 B2 en est un exemple. US 7,013,289 B2 est un autre exemple d'art antérieur selon lequel les requêtes de base de données sont reçues et traitées à divers noeuds de systèmes de base de données distribuée. [0003] La présente divulgation vise à améliorer l'utilisation de réseau parmi les noeuds, les entités ou les sous-systèmes d'un système de base de données distribuée ainsi que l'utilisation de mémoire des sous-systèmes. Plus spécifiquement, la présente divulgation vise à introduire le traitement coordonné de requêtes de base de données liées qui sont gérées par divers sous-systèmes de la base de données distribuée afin de rendre le traitement de ces requêtes de base de données plus efficace en termes de mémoire et d'utilisation de réseau. [0004] Selon un premier aspect, un procédé est fourni pour le traitement de requêtes de base de données dans un système de base de données distribuée. Le système de base de données distribuée comprend un sous-système de base de données centrale et une pluralité de sous-systèmes de bases de données locales comprenant un premier sous-système de base de données locale. Le procédé comprend, au sous-système de base de données centrale, la réception d'une deuxième requête de base de données indiquant au moins un identifiant unique d'au moins un résultat de base de données d'une pluralité de résultats de base de données qui ont été stockés avec des identifiants uniques correspondants par le premier sous-système de base de données locale en réponse à une première requête de hase de données reçue au premier sous-système de base de données locale ; la récupération dudit au moins un résultat de hase de données identifié par ledit au moins un identifiant unique à partir du premier sous-système dc base de données locale ; le traitement dudit au moins un résultat dc base de données récupéré et le stockage persistant dudit au moins un résultat de base de données traité dans und base de données du sous-système de base de données centrale. [0005] Dans certains modes de réalisation, un identifiant unique parmi les identifiants uniques comprend une première portion identifiant un sous-système dc hase de 2 données locale de la pluralité des sous-systèmes de bases de données locales en stockant le résultat de base de données respectif et une deuxième portion identifiant le résultat de base de données respectif, et dans lequel la récupération dudit au moins un résultat de base de données comprend la résolution dudit au moins un identifiant unique inclus dans la deuxième requête de base de données pour identifier, sur la base de la première portion dudit au moins un identifiant unique, le premier sous-système de base de données locale comme étant le sous-système de base de données locale de la pluralité des sous-systèmes de bases de données locales qui stocke ledit au moins un résultat de base de données, et l'envoi d'une requête de récupération qui inclut au moins la deuxième portion dudit au moins un identifiant unique au premier sous-système de base de données locale identifié. [0006] Dans certains modes de réalisation, ledit au moins un identifiant unique comprend par ailleurs une troisième portion identifiant un ensemble de résultats de base de données qui est constitué par la pluralité des résultats de hase de données qui ont été stockés par le premier sous-système de hase de données locale, dans lequel la requête de récupération inclut la troisième portion dudit au moins un identifiant unique pour récupérer ledit au moins un résultat de hase de données identifié par ledit au moins un identifiant unique à partir de l'ensemble des résultats de hase de données. [0007] Dans certains modes de réalisation, le procédé comprend par ailleurs, avant la réception de la deuxième requête de hase de données, l'inscription, au sous-système de base de données centrale, du premier sous-système de base de données locale comprenant : l'attribution d'un identifiant de sous-système de base de données locale qui identifie le premier sous-système de base de données locale, dans lequel l'identifiant de sous-système de base de données locale constitue la première portion des identifiants uniques de la pluralité des résultats de base de données qui ont été stockés par le premier sous-système de base de données locale ; et le stockage de l'identifiant de sous-système de base de données locale attribué afin de récupérer les résultats de base de données du premier sous-système de base de données locale. [0008] Dans certains modes de réalisation, le procédé comprend par ailleurs la suppression, par le premier sous-système de base de données locale, de la pluralité des résultats de base de données qui ont été stockés par le premier sous-système de base de données locale lors de l'expiration d'un délai donné après le stockage. [0009] Dans certains modes de réalisation, le procédé comprend par ailleurs, au sous- système de base de données centrale, la réception d'une troisième requête de base de données indiquant au moins un des identifiants uniques dudit au moins un résultat de base de données traité stocké de façon persistante dans la base de données du sous-système de base de données centrale ; la récupération dudit au moins un résultat de base de données identifié par ledit au moins un identifiant unique indiqué par la 3 troisième requête de hase de données de la hase de données du sous-système de hase de données centrale; par ailleurs le traitement dudit au moins un résultat de hase de données récupéré et le stockage persistant dudit au moins autre résultat de hase de données traité dans une hase de données du sous-système de hase de données centrale. [0010] Dans certains modes de réalisation, le premier sous-système de hase de données locale est un sous-système informatique dématérialisé. [0011] Dans certains modes de réalisation, au moins le premier sous-système de hase de données locale et le sous-système de hase de données centrale fonctionnent selon la nouvelle norme de capacité de distribution (NDC) [0012] Dans certains modes de réalisation, la première requête de hase de données est une requête pour faire du shopping (emplettes), c.-à-d. une requête pour récupérer des offres de voyage, basées sur la norme NDC. La deuxième requête peut être une requête pour obtenir des informations tarifaires détaillées sur une offre de voyage sélectionnée hasée sur la norme NDC ou une requête pour acheter une offre de voyage sélectionnée hasée sur la norme NDC. [0013] Dans certains modes de réalisation, la troisième requête de hase de données est une requête pour acheter une offre sélectionnée basée sur la norme NDC ou une requête pour modifier ou pour annuler une réservation existante ou une commande de voyage hasée, sur la norme NDC. [0014] Selon un premier aspect, un sous-système de hase de données centrale est fourni pour traiter des requêtes de base de données. Le sous-système de base de données centrale fait partie d'un système de base de données distribuée comprenant une pluralité de sous-systèmes de bases de données locales comprenant un premier sous-système de base de données locale. Le sous-système de base de données centrale est agencé pour recevoir une deuxième requête de base de données indiquant au moins un identifiant unique d'au moins un résultat de base de données d'une pluralité de résultats de base de données qui ont été stockés avec des identifiants uniques correspondants par le premier sous-système de base de données locale en réponse à une première requête de base de données reçue au premier sous-système de base de données locale ; récupérer ledit au moins un résultat de base de données identifié par ledit au moins un identifiant unique à partir du premier sous-système de base de données locale ; traiter ledit au moins un résultat de base de données récupéré et stocker de façon persistante ledit au moins un résultat de base de données traité dans une base de données du sous-système de base de données centrale. [0015] Dans certains modes de réalisation, le sous-système de base de données centrale est par ailleurs agencé pour mettre en oeuvre le procédé d'un quelconque des modes de réalisation exposés ci-dessus. [0016] Selon un autre aspect, il est fourni un produit programme d'ordinateur comprenant des instructions de code de programme stockées sur un support lisible par ordinateur pour exécuter les étapes du procédé selon l'un quelconque des modes de réalisation exposés ci-dessus lorsque ledit programme fonctionne sur un ordinateur. [0017] Selon encore un autre aspect, un procédé pour le traitement de requêtes de base de données est fourni dans un système de hase de données distribuée qui comprend un sous-système de base de données centrale et une pluralité de sous-systèmes de bases de données locales comprenant un premier sous-système de base de données locale, et le procédé comprend : la réception au premier sous-système de base de données locale, d'une première requête de base de données ; le renvoi, par le premier sous-système de hase de données locale, d'une pluralité de résultats de hase de données et des identifiants uniques correspondants pour chacun des résultats de la pluralité des résultats de hase de données et le stockage de la pluralité des résultats de hase de données avec les identifiants uniques correspondants dans une base de données du premier sous-système de base de données locale; la réception, au sous-système de hase de données centrale d'une deuxième requête de base de données indiquant au moins un des identifiants uniques de la pluralité des résultats de hase de données ; la récupération par le sous-système de base de données centrale, dudit au moins un résultat de base de données identifié par ledit au moins un identifiant unique du premier sous-système de hase de données locale ; le traitement, par le sous-système de base de données centrale, dudit au moins un résultat de bases de données récupéré et le stockage persistant dudit au moins un résultat de base de données traité dans une base de données du sous-système de base de données centrale. [0018] D'autres raffinements de cet autre aspect sont les modes de réalisation du procédé tels qu'ils sont exposés ci-dessus. [0019] Selon encore un autre aspect, un système de base de données distribuée est fourni pour le traitement de requêtes de base de données comprenant un sous-système de base de données centrale et une pluralité de sous-systèmes de bases de données locales comprenant un premier sous-système de base de données locale, le système de base de données étant agencé pour : recevoir, au premier sous-système de base de données locale, une première requête de base de données ; renvoyer, par le premier sous-système de base de données locale, une pluralité de résultats de base de données et des identifiants uniques correspondants pour chacun des résultats de la pluralité des résultats de base de données et le stockage de la pluralité des résultats de base de données avec les identifiants uniques correspondants dans une base de données du premier sous-système de base de données locale ; recevoir, au sous-système de base de données centrale, une deuxième requête de base de données indiquant au moins un des identifiants uniques de la pluralité des résultats de base de données ; récupérer, par le sous-système de base de données centrale, ledit au moins un résultat de base de données identifié par ledit au moins un identifiant unique du premier sous-système de base de données locale ; traiter, par le sous-système de base de données centrale, ledit au moins un résultat de base de données récupéré et stocker de façon persistante ledit au moins un résultat de base de données traité dans une base de données du sous-système de hase de données centrale. [0020] Dans des modes de réalisation de raffinement, le système de données distribuée est agencé pour mettre en oeuvre des fonctions de l'un quelconque des modes de réalisation mentionnés ci-dessus. [0021] Les dessins qui accompagnent, illustrent divers modes de réalisation de la présente divulgation et, avec la description générale donnée ci-dessus, et la description détaillée des exemples donnés ci-dessous, servent à expliquer les exemples de la présente divulgation. Dans les dessins, des numéros de référence similaires sont utilisés pour désigner des parties similaires dans les diverses vues. [0022] [fig.1] décrit un système de hase de données distribuée exemplaire avec des sous- systèmes qui interagissent avec des dispositifs clients. [0023] [fig.2] illustre un exemple d'une séquence de traitement de requête de hase de données basique. [0024] [fig.3] montre une structure d'identifiant exemplaire. [0025] [fig.4] concerne une procédure d'inscription permettant à la hase de données centrale d'identifier un sous-système de hase de données locale basé sur un identifiant. [0026] [fig.5] est un organigramme incluant la suppression de résultats de base de données stockés localement. [0027] [fig.6] illustre un autre exemple d'une séquence de traitement de requête de base de données. [0028] [fig.7] est une visualisation d'un cas d'usage d'un mode de réalisation dans un système de base de données distribuée fonctionnant selon la nouvelle norme de capacité de distribution (NDC). [0029] [fig.8] montre une structure interne exemplaire d'une machine informatique im- plémentant un sous-système de base de données centrale, un sous-système de base de données locale, ou un dispositif client. [0030] La présente divulgation relève de façon générale du traitement des interrogations de recherche dans un système de base de données distribuée. Le terme «requête de recherche » inclut tous types de requêtes de base de données y compris, p. ex. des requêtes pour récupérer des données et la possibilité d'écrire des requêtes pour insérer, changer ou effacer des données. [0031] Un exemple d'un système de base de données distribuée 1 est fourni par la Fig. 1. Le côté serveur du système de base de données est formé par une pluralité de noeuds de base de données dénommés sous-systèmes dans la présente. Les différents sous- 6 systèmes ont généralement des fonctionnalités différentes, c.-à-d. qu'ils gèrent différents types de requêtes de hase de données. Le système de hase de données 1 inclut de multiples sous-systèmes de hases de données locales 3. Dans la présente, il est supposé qu'un sous-système de hase de données locale 3 traite au moins un type de requêtes de hase de données, ci-après dénommée première requête de hase de données. Par conséquent, les sous-systèmes de hases de données locales 3 stockent ou ont accès aux données à traiter et répondent aux premières requêtes de hase de données. [0032] Le système de hase de données 1 inclut par ailleurs un ou plusieurs sous-systèmes de hases de données centrales 2. Dans la présente, il est supposé qu'un sous-système de hase de données centrale 2 traite d'autres types de requêtes de hase de données, ci-après dénommées deuxième requête de hase de données et troisième requête de hase de données. De façon générale, les deuxièmes et troisièmes requêtes de hase de données peuvent être considérées comme étant des requêtes de suivi des premières requêtes de hase de données. Par conséquent, un sous-système de hase de données locale 3 peut recevoir unc première requête de hase de données, traiter la première requête de hase de données et renvoyer un résultat par la suite, un sous-système de hase de données centrale 2 peut recevoir une deuxième requête de hase de données qui est liée à la première requête de hase de données, traiter la deuxième requête de hase de données et renvoyer un résultat. Le sous-système de hase de données centrale 2 peut ensuite aussi recevoir unc troisième requête de hase de données qui est liée à la deuxième requête de base de données, traiter la troisième requête de base de données et renvoyer un résultat. [0033] Les requêtes de base de données au sous-système de base de données 1 sont générées et envoyées aux dispositifs clients 4. Par exemple, un dispositif client 4 peut être un ordinateur personnel ou un dispositif de communication mobile telle qu'un smartphone, une tablette, un assistant personnel ou autre dispositif de ce genre, équipé en matériel et logiciel pour implémenter les fonctionnalités clientes de génération de la première, deuxième, troisième requête de base de données, transmettre les requêtes de base de données au sous-système de base de données respectif ainsi que recevoir et traiter des réponses à partir des sous-systèmes de bases de données. [0034] Les sous-systèmes de bases de données locales 3 sont connectés en mode commu- nication audit un ou plusieurs sous-systèmes de bases de données centrales 2 par l'intermédiaire d'une ou de plusieurs interfaces de communication 5. Les interfaces de communication 5 peuvent utiliser des réseaux de communication tels que des réseaux de zone locale (LANs), des réseaux de zone métropolitaine (MAN) ou des réseaux de zone étendue (WANs) incluant l'Internet. De façon similaire, un dispositif client 4 est connecté en mode communication à au moins un des sous-systèmes de bases de données locales 3 ainsi qu'à au moins un sous-système de base de données centrale 2 par l'intermédiaire d'une ou de plusieurs interfaces de communication 6 au moyen 7 d'une technologie de réseau de communication similaire. S'il existe de multiples sous-systèmes de hase de données centrale 2, ceux-ci sont aussi connectés en mode communication les uns avec les autres et peuvent utiliser un mécanisme de synchronisation/réplication pour assurer la cohérence des données à travers les multiples sous-systèmes de hase de données centrale 2. [0035] Il faut noter que les ternies sous-système de hase de données locale et sous-système de hase de données centrale doivent être interprétés au sens large et font référence à différentes fonctions des sous-systèmes de hases de données. Dans certains modes de réalisation non limitatifs, le système de hase de données 1 inclut un plus petit nombre de sous-systèmes de hases de données centrales 2 tel qu'un ou deux sous-systèmes de hases de données centrales 2 et un nombre plus élevé de sous-systèmes de hases de données locales. Par ailleurs, dans certains modes de réalisation non limitatifs, les sous-systèmes de hases de données locales 3 sont distribués géographiquement de sorte que des premiers dispositifs client 4 géographiquement proches envoient leurs premières requêtes de hase de données à un sous-système de hase de données locale 3A (voir Figs. 4, 5, 6 décrites en détail ci-dessous) dans le voisinage géographique de ce nombre de dispositifs clients 4, alors que d'autres deuxièmes dispositifs clients 4 qui sont géographiquement plus distants des premiers dispositifs clients 4 envoient leurs premières requêtes de hase de données à un autre deuxième sous-système de hase de données locale 3B (Figs. 4, 5, 6) qui est géographiquement plus proche des deuxièmes dispositifs clients 4 que le premier sous-système de base de données locale 3A. Cependant, le système de base de données centrale 2 peut être géographiquement plus distant des premiers et deuxièmes dispositifs clients 4 que les sous-systèmes de bases de données locales 3A et 3B respectivement. Il en résulte un effet technique de latences réduites (en comparaison avec une installation où par laquelle le dispositif client 4 enverrait les premières requêtes de base de données à un sous-système de base de données géographiquement distant. [0036] Dans certains modes de réalisation non limitatifs, les sous-systèmes de bases de données locales 3 peuvent être des centres de calcul informatique qui sont géographiquement distribués entre de multiples localisations telles que des villes, des pays ou des continents, et les sous-système(s) de bases de données centrales peuvent être des centres de calcul informatiques centraux, p. ex. un par pays ou par continent. [0037] Les sous-systèmes de bases de données locales 3 et le sous-système de base de données centrale 2 stockent des données au moyen de bases de données. Les bases de données peuvent être co-localisées au sous-système respectif, ou situées à distance, p. ex. sous forme de bases de données dématérialisées. Ici, le terme base de données vise à englober tous types de systèmes de stockage d'information structurés tels que les bases de données individuelles standardisées comme SQL ou des bases de données non 8 SQL ainsi que des bases de données complexes distribuées et/ou propriétaires, des bases de données relationnelles ou des bases de données orientées-objet. [0038] Les données stockées par le système de base de données distribuée 1 peuvent concerner tout type d'information dans un domaine particulier. Par exemple, les données peuvent appartenir au domaine des simulations de circuit électronique informatisées et contenir des informations sur des valeurs entrées pour les simulations de circuit électronique informatisées, des paramètres d'un modèle utilisé par les simulations de circuit électronique informatisées, des résultats de simulation intermédiaires et/ou finaux, et autres données de cc genre. Ces données liées aux simulations de circuit électronique informatisées sont conservées par les sous-systèmes de hases dc données locales 3 et peuvent être interrogées par un dispositif client 4 sur lequel la simulation de circuit électronique informatisée est mise en oeuvre. Des requêtes de hase de données servant dc suivi, p. ex. au cours de la simulation exécutée par le client ou pour traiter/réécrire les données d'évaluation de simulation après la conclusion de l'exécution de la simulation, peuvent ensuite être gérées par le sous-système de hase de données centrale 2. [0039] En utilisant le système de hase de données distribuée 1, les requêtes de hase de données sont traitées d'une manière exemplaire représentée visuellement par la Fig. 2. Une première requête de hase de données 11 est reçue par un sous-système de hase de données locale 3 provenant d'un dispositif client 4 et est traitée par le sous-système de base de données locale 3. Le sous-système de base de données locale 3 de la Fig. 2 est un des multiples sous-systèmes de bases de données locales 3 du système de base de données 1, p. ex. le sous-système de base de données locale 3 qui est géographiquement le plus proche du dispositif client 4. Le traitement peut, par exemple, inclure la récupération de données identifiées par la première requête de base de données 11 dans une base de données. L'identification des données à récupérer peut inclure un plusieurs critères ou paramètres de recherche dans la première requête de base de données 11. Les critères de recherche peuvent inclure une chaîne de recherche, un texte de recherche ou une phrase de recherche. Par exemple, la première requête de base de données 11 peut être comprise ou comprend un énoncé SQL SELECT. Dans l'exemple de la Fig. 2, le dispositif client 4 demande un ensemble de multiples enregistrements de données, dénommés à titre d'exemple A à X. [0040] Le système de base de données locale 3, après avoir récupéré les enregistrements de données formant les résultats de base de données, associe les enregistrements de données à des identifiants uniques, dénotés, dans l'exemple de la Fig. 2, IDA à IDx, et stocke au 12 les enregistrements de données associés aux identifiants uniques comme résultats de base de données pour la première requête de base de données. Dans ce sens, la première requête de base de données 11 est une opération de stockage puisque 9 les premières requêtes de hase de données effectuent le stockage des résultats de base de données récupérés ensemble avec les identifiants uniques. Les résultats de hase de données peuvent être stockés temporairement par le système de hase de données locale 3, c.-à-d. pour un délai d'expiration donné, par exemple 30 minutes, et p. ex. dans un stockage local tel qu'une mémoire cache (voir Fig. 8) qui permet une récupération plus rapide que la récupération d'enregistrements de données. Le système de hase de données locale 3 renvoie ensuite les résultats de hase de données demandés, c.-à-d. les enregistrements de données demandés identifiés par leur identifiant unique dans une réponse 13 au dispositif client demandeur 4. [0041] Le dispositif client 4, après avoir reçu la réponse 13, sélectionne ensuite un ou plusieurs des résultats de hase de données reçus pour un traitement ultérieur et génère une deuxième requête de hase de données 15. La deuxième requête de hase de données 15 inclut un plusieurs des identifiants uniques qui identifient ledit un ou plusieurs résultats de hase de données sélectionnés pour un traitement ultérieur. Dans l'exemple de la Fig. 2, l'enregistrement de données M identifié par l'identifiant unique 1D,, a été sélectionné. Conformément aux méthodologies décrites dans la présente, la deuxième requête de hase de données 15 est envoyée au sous-système de hase de données centrale 2. [0042] Le sous-système de hase de données centrale 2 reçoit la deuxième requête de hase de données 15 indiquant au moins un des identifiants uniques d'au moins un résultat de base de données de la pluralité des résultats de base de données. Comme expliqué ci-dessus, la pluralité des résultats de base de données (dans l'exemple de la Fig. 2, les enregistrements de données A à X) ont été stockés avec des identifiants uniques correspondants (IDA à IDx) par le sous-système de base de données locale 3 en réponse à la première requête de base de données 11 reçue au premier sous-système de base de données locale 3. [0043] En réponse à la réception de la deuxième requête de base de données 15, le sous- système de base de données centrale 2 récupère au 16 ledit au moins un résultat de base de données identifié par ledit au moins un identifiant unique du premier sous-système de base de données locale 3 qui a adressé la première requête de base de données 11 et a stocké les résultats de base de données au 12. La récupération au 16 inclut une requête de récupération 16B provenant du sous-système de base de données centrale 2 transmise au sous-système de base de données locale 3 via l'interface de communication 5. La requête de récupération 16A inclut ledit au moins un identifiant unique (dans l'exemple de la Fig. 2 : IDm). Le sous-système de base de données locale 3 reçoit la requête de récupération 16A et récupère ledit au moins un résultat de base de données demandé, parmi la pluralité de résultats de base de données stockés du stockage. Le sous-système de base de données locale 3 répond ensuite à la requête de récupération 16A avec une réponse de récupération 16B qui inclut ledit au moins un résultat de base de données demandé, dans l'exemple de la Fig. 3, l'enregistrement de données M, identifié à nouveau par identifiant unique ID',,. Le sous-système de hase de données centrale 2 reçoit la réponse de récupération 16B. [0044] En réponse à la récupération dudit au moins un résultat de hase de données demandé du sous-système de hase de données locale 3, le sous-système de hase de données centrale 2 traite au 17 ledit au moins un résultat de hase de données récupéré. Le traitement peut inclure toute sorte de traitement de données, retouchant ou réformant, complétant, etc. des résultats de hase de données récupérés en fonction du cas d'usage spécifique. La Fig. 2 est une visualisation du traitement au 17 par une transformation de l'enregistrement de données M en enregistrement de données traité M'. Le sous-système de hase de données centrale 2 stocke ensuite de façon persistante au 18 ledit au moins un résultat de hase de données traité dans une hase de données du sous-système de hase de données centrale. De façon persistante fait référence ici à un stockage sans délai d'expiration donné utilisé par le sous-système de hase de données locale 3 ainsi que mentionné ci-dessus. Cependant, ceci n'implique pas que les résultats de hase de données traitée ne seront jamais supprimés ; la suppression peut survenir p. ex. en réponse à une demande de suppression ou après un délai d'expiration qui est plus long en magnitude que le délai d'expiration utilisé par le sous-système de hase de données locale 3. À nouveau, les résultats de hase de données traités peuvent être stockés en association avec des identifiants uniques correspondants (ID, : M') qui peuvent correspondre aux identifiants uniques précédents (IDm) ou être des identifiants uniques nouvellement générés. Les résultats de base de données traités sont ainsi conservés dans un état de disponibilité pour un quelconque traitement subséquent ultérieur p. ex. en réponse à d'autres requêtes de base de données. [0045] Le sous-système de base de données 2 renvoie aussi ledit au moins un résultat traité au dispositif client 4 au moyen d'une réponse 19. Le dispositif client peut ensuite gérer ultérieurement les résultats de base de données traités reçus, p. ex. en affichant le résultat de base de données traité sur un dispositif-écran et/ou en réintégrant les résultats de base de données traités dans une application côté client telle qu'une évaluation de simulation, ainsi qu'expliqué brièvement ci-dessus. [0046] La séquence de la Fig. 2 présente des avantages techniques variés par rapport à un système d'art antérieur standard qui, p. ex., utilise un dépôt de données central pour partager les résultats de base de données entre des sous-systèmes d'un système de bases de données distribuées. Le stockage local et temporaire au 12 des résultats de base de données pour la première requête de base de données 11 avec le sous-système de base de données locale 3 et la récupération au 16 des résultats de base de données sélectionnés du sous-système de base de données locale 3 uniquement en réponse à la 11 deuxième requête de base de données 15 soulage les interfaces de communication 5 entre les sous-systèmes de hases de données locales 3 et le sous-système de hase de données centrale 2 de deux manières. En premier lieu, ce sont seulement les résultats de hases de données sélectionnés (c.-à-d. généralement uniquement un sous-ensemble des résultats globaux de hase de données stockés pour la première requête de hase de données) qui sont transmis à partir du sous-système de hase de données locale 3 au sous-système de hase de données centrale 2, c.-à-d. moins de données sont transmises en comparaison avec la transmission des résultats de hase de données stockés en réponse à la première requête de hase de données 11 (dans l'exemple de la Fig. 2 : l'enregistrement de données M est transmis par la récupération 16, pas tous les enregistrements de données A à X). Ceci est particulièrement bénéfique p. ex. dans une installation dans laquelle les sous-systèmes de hases de données locales 3 sont connectés au sous-système de hase de données centrale 2 par une connexion de réseau coûteuse (coûteuse en ternies de temps de transmission, de largeur de bande disponible, etc.), telle que le sous-système de hase de données centrale 2 qui est un centre de calcul informatique situé aux EU alors que les sous-systèmes de hases de données locales 3 sont des centres de calcul informatique situés dans d'autres continents. Ici les méthodologies décrites dans la présente économisent des ressources précieuses de transmission technique à travers continents. D'autre part, la transmission des résultats de hase de données sélectionnés uniquement au moment de la deuxième requête de base de données 15 résulte en une situation telle que rien n'est transmis du sous-système de base de données locale 3 au sous-système de base de données centrale 2 dans l'éventualité où une deuxième requête de base de données 15 ne surviendrait pas. [0047] Ceci est complémenté par l'option que les résultats de base de données peuvent être stockés seulement temporairement par le sous-système de base de données locale 3. Ainsi que représenté visuellement par la Fig. 5 et discuté par ailleurs ci-dessous, les résultats de base de données peuvent être supprimés au 33 par le sous-système de base de données locale 3 après un délai d'expiration donné L1. Si une deuxième requête de base de données 15 n'arrive pas au sous-système de base de données centrale 2 dans un délai donné et/ou configurable suivant la première requête de base de données 11, les résultats de bases de données stockés seront purgés par le sous-système de base de données locale 3, en supposant qu'une deuxième requête de base de données 15 n'arrivera plus. Par conséquent, la transmission de données et le stockage de données sont plus efficaces dans le système de base de données distribuée 1 enseigné dans la présente en comparaison avec les systèmes mentionnés ci-dessus. En supposant que les dispositifs clients sélectionnent environ 10 % des résultats de bas de données récupérés au moyen de la première requête de base de données 11 lors de la sélection 14 et que la deuxième requête de base de données 15 est envoyée dans 70 % des cas, le présent 12 système de base de données 1 permet une diminution du trafic de réseau à seulement 7 % du trafic dans les systèmes conventionnels mentionnés ci-dessus tout en accomplissant le même résultat de traitement ultérieur au sous-système de base de données centrale 2. [0048] Dans certains modes de réalisation, les identifiants uniques utilisés par le système de base de données 1 comprennent une première portion qui identifie un sous-système de base de données locale 3 de la pluralité des sous-systèmes de bases de données locales 3 en stockant le résultat de base de données respectif et une deuxième portion qui identifie le résultat de base de données respectif. Un exemple non limitatif d'une structure d'un identifiant unique 20 est présenté dans la Fig. 3 selon lequel l'identifiant unique 20 inclut une première portion 21 qui identifie le sous-système de base de données locale 3 qui stocke la pluralité des résultats de base de données récupérés pour la première requête de base de données 1 1 . L'identifiant unique exemplaire 20 de la Fig. 3 a une valeur exemplaire de première portion de 2904. En outre, l'identifiant unique 20 a une deuxième portion 22 qui identifie un résultat de base de données individuel stocké au sous-système de base de données locale 3 identifié par la valeur de la première portion 21. L'identifiant unique exemplaire 20 de la Fig. 3 a une valeur exemplaire de la deuxième portion de 1204 2903. On comprendra que le format spécifique, longueur, etc. de la première et de la deuxième portion est sujet de l'implémentation du système de base de données 1 et dépend par exemple du nombre de sous-systèmes de bases de données locales 3 et du nombre de résultats de base de données stockés à la fois par un sous-système de base de données locale 3. [0049] Faisant maintenant référence à un aspect de la Fig. 4 (d'autres aspects de la Fig. 4 seront décrits par ailleurs ci-dessous), la première portion 21 et la deuxième portion 22 des identifiants uniques 20 peuvent être utilisées lors de la récupération dudit au moins un résultat de base de données par le sous-système de base de données centrale 2 dans le sous-système de base de données locale 3. La récupération 16 peut inclure la résolution 32 dudit au moins un identifiant unique 20 inclus dans la deuxième requête de base de données 15 pour identifier, sur la base de la première portion 21 dudit au moins un identifiant unique 20, le premier sous-système de base de données locale 3A comme étant le sous-système de base de données locale 3A de la pluralité des sous-systèmes de bases de données locales 3 qui stocke ledit au moins un résultat de base de données. À nouveau, ainsi que représenté visuellement par la Fig. 4, le système de base de données 1 comprend de multiples sous-systèmes de bases de données locales 3 et la valeur de la première portion 21 indique, dans l'exemple de la Fig. 4, que le résultat de base de données sélectionné M est stocké au premier sous-système de base de données locale 3A. La résolution 32 peut inclure une consultation d'une liste ou d'un tableau qui associe les sous-systèmes individuels de bases de données locales 3 du système de 13 hase de données 1 avec des valeurs correspondantes de la première portion 21. En consultant cette liste ou ce tableau, prenant la valeur de la première portion 21 de l'identifiant unique (Pm) inclus dans la deuxième requête 15 comme clé, le système de hase de données centrale 2 identifie que le premier sous-système de hase de données 3A stocke le résultat de hase de données sélectionné (M) et est capable d'acheminer la requête de récupération 16A au sous-système correct de hase de données locale 3A. Par exemple, la résolution 32 peut obtenir un localisateur de ressource uniforme (URL) ou un identifiant de ressource uniforme (URI) du sous-système de hases de données locales 3 qui à son tour peut être converti en une adresse de protocole Internet (IP) au moyen d'une interrogation de système de nom de domaine (DNS). Par conséquent, le sous-système de hase de données centrale 2 envoie la requête de récupération 16A au premier sous-système de hase de données locale identifié 3A. [0050] La requête de récupération 16A inclut alors au moins la deuxième portion 22 dudit au moins un identifiant unique (ID,,) afin d'indiquer au premier sous-système de hase de données locale 3A quel résultat de hase de données doit être récupéré. En retour, le premier sous-système de hase de données locale 3A utilise la valeur de la deuxième portion 22 pour identifier le résultat de hase de données stocké correct et renvoie le résultat de hase de données identifié par la deuxième portion 22 au sous-système de hase de données centrale 2 au moyen d'une réponse de récupération 16B. [0051] Faisant référence à nouveau à la Fig. 3, dans certains modes de réalisation non li- mitatifs, ledit au moins un identifiant unique 20 comprend par ailleurs une troisième portion 23 identifiant un ensemble de résultats de base de données qui est constitué par la pluralité des résultats de base de données qui ont été stockés par le premier sous-système de base de données locale 3A. Dans ces modes de réalisation, la requête de récupération 16A dans la Fig. 4 peut aussi inclure la troisième portion 23 dudit au moins un identifiant unique 20 pour récupérer ledit au moins un résultat de base de données identifié par ledit au moins un identifiant unique dans l'ensemble des résultats de base de données. La troisième portion 23 peut être comprise comme étant une partie logique de la deuxième portion 22, car la deuxième portion 22 et la troisième portion 23 ensemble constituent une identification d'un résultat de base de données qui est unique au niveau d'un sous-système de base de données locale 3. La troisième portion permet aux sous-systèmes de bases de données locales 3 de stocker les résultats de base de données récupérés en réponse à la première requête de base de données 11 dans un ensemble plutôt que de stocker les résultats de base de données individuellement. [0052] En continuant à faire référence à la Fig. 4, dans certains modes de réalisation, le système de base de données 1 utilise une inscription des sous-systèmes de bases de données locales 3 au sous-système de base de données centrale 2. L'inscription construit le tableau ou liste de paires de valeurs de première portion et de sous- 14 systèmes de bases de données locales 3. L'inscription d'un sous-système de base de données locale 3 au sous-système de base de données centrale 2 survient généralement avant qu'une quelconque deuxième requête 15 ne soit reçue par le sous-système de base de données centrale 2 concernant les résultats de hase de données stockés avec le sous-système de hase de données locale 3. Par rapport à la Fig. 4, l'inscription du premier sous-système de hase de données locale 3A survient au sous-système de hase de données centrale 2 avant de recevoir la deuxième requête de hase de données 15, permettant au sous-système de hase de données centrale 2 de traiter correctement la deuxième requête de hase de données 15 en particulier pour localiser le sous-système de hase de données locale correct 3A. [0053] Dans l'exemple de la Fig. 4, l'inscription comprend unc requête d'inscription 30A provenant du premier sous-système de hase de données locale 3A au sous-système de hase de données centrale 2. En réponse à la réception de la requête d'inscription 30A, le sous-système de hase de données centrale 2 génère une valeur pour un identifiant de sous-système de hase de données locale et renvoie la valeur générée au premier sous-système de hase de données locale 3A au moyen d'un message d'accusé d'inscription 30B. Le sous-système de hase de données centrale 2 inscrit au 31 le premier sous-système de hase de données locale 3A en écrivant la valeur d'identifiant de sous-système de hase de données locale reçut dans le tableau ou la liste. La valeur d'identifiant de sous-système de hase de données locale est par la suite utilisée par le premier sous-système de base de données locale 3A comme première portion 21 des identifiants uniques 20 et ainsi envoyée au sous-système de base de données centrale 2 par une quelconque deuxième requête de base de données 15 afin d'indiquer que les résultats de base de données à récupérer sont stockés par le premier sous-système de base de données locale 3A, comme déjà expliqué ci-dessus. Par conséquent, le sous-système de base de données centrale 2 attribue un identifiant de sous-système de base de données locale qui identifie le premier sous-système de base de données locale 3A, dans lequel l'identifiant de sous-système de base de données locale constitue la première portion 21 des identifiants uniques 20 de la pluralité des résultats de base de données qui ont été stockés par le premier sous-système de base de données locale 3A. Le sous-système de base de données centrale 2 stocke l'identifiant de sous-système de base de données locale attribué afin de récupérer les résultats de base de données du premier sous-système de base de données locale 3A. Le sous-système de base de données centrale 2 renvoie aussi l'identifiant de sous-système de base de données locale au premier sous-système de base de données locale 3A au moyen d'un message d'accusé d'inscription 30B. Le premier sous-système de base de données locale 3A utilise ensuite l'identifiant de sous-système de base de données locale lors de l'attribution des identifiants uniques aux résultats de base de données et du stockage et renvoi des résultats de hase de données. [0054] L'inscription peut aussi être effectuée d'autres façons, par exemple en fournissant une liste de multiples identifiants de sous-systèmes de hases de données locales au sous-système de hase de données centrale 2, déposant de ce fait le tableau ou la liste des sous-systèmes de hases de données locales 3 dans le système de hase de données 1 avec les identifiants attribués correspondants, partiellement ou complètement, plutôt que d'inscrire les sous-systèmes de hases de données locales 3 individuellement par des transactions d'inscription incluant la requête d'inscription 30A et le message d'accusé d'inscription 30B de la Fig. 4. [0055] Dans certains modes de réalisation non limitatifs, en faisant maintenant référence à la Fig. 5, un sous-système de hase de données locale 3 supprime optionnellement au 19 la pluralité des résultats de hase de données qui ont été stockés par le premier sous-système de hase de données locale 3A au cours du traitement d'une première requête de hase de données 11 à l'expiration d'un délai donné après le stockage 12. La Fig. 5 montre à titre d'exemple une suppression de résultats de hase de données stockés A à M après un délai d'expiration donné te'). Ceci implémente le stockage temporaire des résultats de hase de données au cours du traitement d'une première requête de hase de données 11 comme mentionné ci-dessus. La suppression 19 peut se dérouler au sous-système de hase de données locale 3 indépendamment de l'occurrence ou non d'une deuxième requête de hase de données 15 au cours du délai donné. La durée du délai donné peut être sujette à l'implémentation du système de base de données 1 et peut être fixée en minutes ou en heures, p. ex. 30 minutes. La durée du délai donné peut aussi être flexible, c'est-à-dire que la durée peut dépendre p. ex. des paramètres de la première requête de base de données 11, p. ex. sur le dispositif client 4 ayant envoyé la première requête de base de données 11, du nombre de résultats de base de données stockée, de la quantité de mémoire allouée par les résultats de base de données stockés, etc. La suppression 19 soulage les sous-systèmes de base de données locale 3 d'avoir à stocker des données transitoires pour une durée plus longue et représente par conséquent un des aspects d'efficacité du système de base de données 1. [0056] Dans certains modes de réalisation non limitatifs, en faisant maintenant référence à la Fig. 6, le sous-système de base de données centrale 2 gère aussi les requêtes de base de données subséquentes qui sont liées aux résultats de base de données traités (M') stockés au sous-système de base de données centrale 2. Dans ces modes de réalisation, le sous-système de base de données centrale 2 reçoit une troisième requête 41 indiquant au moins un des identifiants uniques (dans l'exemple de la Fig. 6 :IDM-) dudit au moins un résultat de base de données traité stocké de façon persistante dans la base de données du sous-système de base de données centrale 2 (dans l'exemple de la Fig. 6 : l'enregistrement de données M'). Le sous-système de base de données centrale 2 16 récupère au 42 ledit au moins un résultat de hase de données (M') identifié par ledit au moins un identifiant unique (TDM) indiqué par la troisième requête de hase de données 41 de la hase de données du sous-système de hase de données centrale 2. Le sous-système de hase de données centrale 2 traite ensuite par ailleurs au 43 ledit au moins un résultat de hase de données récupéré et stocke de façon persistante au 44 ledit au moins un autre résultat de hase de données traité (dénoté M" dans l'exemple de la Fig ; 6) dans la hase de données du sous-système de hase de données centrale 2. L'autre résultat de hase de données traité est identifié par l'identifiant unique (dénoté TDM, dans l'exemple de la Fig. 6) afin de garder l'autre résultat de hase de données traité dans un état de disponibilité pour encore d'autres itérations de traitement. Ainsi que mentionné ci-dessus, en fonction du cas d'usage, la valeur de cet identifiant unique ID,,,, peut être identique à la valeur de l'identifiant unique Ille passé dans la troisième requête de hase de données 41 (p. ex. si ledit au moins un résultat de hase de données traité M' est mis à jour pour devenir M" en réponse à la troisième requête de hase de données 41) ou peut avoir une nouvelle valeur (p. ex. si ledit au moins un autre résultat de hase de données traité M" est stocké en plus dudit au moins un résultat de hase de données traité M'). Lc sous-système de hase de données centrale 2 renvoie ensuite l'autre résultat de hase de données traité, identifié par l'identifiant unique : M") au dispositif client 4 qui a envoyé la troisième requête de hase de données 41. [0057] D'autres itérations de traitement faisant référence aux résultats de hase de données traités stockés au sous-système de base de données centrale 2 peuvent se dérouler d'une manière similaire comme ce qui est représenté visuellement dans l'exemple de la Fig. 6. [0058] Dans certains modes de réalisation, comme ceux qui sont représentés visuellement par les Figs. 4, 5 et 6, un ou plusieurs des sous-systèmes de bases de données locales 3 peuvent former un sous-système dématérialisé. Dans certains modes de réalisation, au moins une partie des sous-systèmes de bases de données locales 3 forme un environnement informatique dématérialisé, dans lequel le premier sous-système de base de données 3A sert p. ex. de serveur périphérique pour le dispositif client 4 des Figs. 4, 5 et 6 envoyant la première requête de base de données 11, le serveur périphérique étant géographiquement plus proche de la localisation du dispositif client 4. Par conséquent, les sous-systèmes de bases de données locales 3 peuvent non seulement héberger la fonctionnalité de traitement des premières requêtes de base de données et servir les requêtes de récupération 16A, mais aussi offrir des services d'application et d'infrastructure aux dispositifs clients 4. [0059] Un système de base de données exemplaire utilisant les technologies de base de données décrites dans la présente dans une base de données exploitée selon la nouvelle norme de capacité de distribution (NDC) par l'association internationale de transport 17 aérien (TATA) est illustré par la Fig. 7. Ici, au moins un du sous-système de hase de données locale 3 (p. ex. le premier sous-système de hase de données locale 3A décrit ci-dessus) et le sous-système de hase de données centrale 2 fonctionne selon la norme NDC. Par exemple, les sous-systèmes de hases de données locales 3 et le sous-système de hase de données centrale 2 assument le rôle de l'agrégateur et sont donc dénommés sous-systèmes agrégatcurs de hase de données 3 et le sous-système agrégateur de hase de données 2 dans l'exemple de la Fig. 7. Le client 4 assume le rôle du demandeur de contenu distribué par l'agrégateur. De plus, le système de hase de données distribuée 1 dans l'exemple de la Fig. 7 peut inclure au moins un sous-système de hase de données d'une compagnie aérienne 7 qui assume le rôle d'un fournisseur de contenu fournissant des données d'offre de vol. Ledit au moins un sous-système de hase de données de compagnie aérienne 7 est couplé en mode communication 8, p. ex. via un plusieurs réseaux de communication, avec ledit au moins un sous-système agrégateur de hase de données locale 3 ainsi qu'avec le sous-système agrégateur de hase de données centrale 2. [0060] Dans l'exemple de la Fig. 7, la première requête de hase de données 11 est une requête pour récupérer des offres de voyage NDC (requête de de shopping 110 basée sur la norme NDC) qui est reçue par un des sous-systèmes agrégateurs de hases de données locales 3, lesquels répondent par une réponse d NDC 130. En réponse à la réception de la requête de shopping NDC 110, le sous-système agrégateur de hase de données locale 3 crée et stocke un ensemble d'offres avec une ou plusieurs offres ainsi que prescrit par la norme NDC. L'ensemble d'offres correspond aux résultats de base de données décrits ci-dessus et est identifié avec un identifiant unique, tel que SFO1234567890123456789 (correspondant à la troisième portion 23 décrite ci-dessus). Chaque offre dans l'ensemble d'offres est identifiée par un index à l'intérieur de l'ensemble (correspondant à la deuxième portion 22 décrite ci-dessus). De plus, ainsi qu'expliqué ci-dessus, l'identifiant unique peut aussi inclure une première portion indiquant le sous-système particulier agrégateur de base de données locale 3 qui gère la requête de shopping NDC 110. Une réponse de shopping NDC 130 est renvoyée par le sous-système agrégateur de base de données locale 3 au demandeur 4, contenant l'identifiant unique de l'ensemble d'offres et les index des offres dans l'ensemble d'offres. [0061] Par la suite, la deuxième requête de base de données 15 est reçue par le sous-système agrégateur de base de données centrale 2 qui est, dans l'exemple de la Fig. 7, une requête de tarification NDC (une requête pour obtenir les détails tarifaires d'une offre de voyage sélectionnée basée sur la norme NDC) (dénotée 150 dans la Fig. 7). La requête de tarification NDC 150 indique une offre spécifique identifiée par identifiant unique renvoyé avec la réponse de shopping NDC 130, p. ex. l'ID SFO- 18 12345678901234567890-7. Le sous-système agrégateur de hase de données centrale 2 récupère l'offre identifiée dans l'ensemble d'offres stocké au sous-système agrégateur de hase de donnée locale 3 au moyen de la deuxième et de la troisième portion de l'identifiant unique, c.-à-d. l'identifiant de l'ensemble d'offres et l'index de l'offre. L'offre récupérée est ensuite traitée au 17, p. ex. enrichie d'une tarification pour l'offre p. ex. en récupérant l'information tarifaire actuelle à partir du sous-système de hase de données de la compagnie aérienne 7. L'offre traitée est ensuite stockée au 18 comme enregistrement de données autonome par le sous-système agrégateur de hase de données centrale 2 avec l'identifiant unique, c.-à-d. l'identifiant de l'ensemble d'offres et l'index SFO-12345678901234567890-7,et elle est renvoyée aux demandeurs 4 au moyen d'une réponse de tarification NDC 190. La deuxième requête de hase de données peut aussi être unc requête pour acheter (p. ex. pour réserver ou commander) une offre sélectionnée. [0062] En outre, comme expliqué ci-dessus, le sous-système de hase de données centrale 2 peut aussi recevoir une troisième requête de hase de données 41 ultérieurement. Dans l'exemple de la Fig. 7, la troisième requête de hase de données 41 peut être une requête pour acheter (p. ex. pour réserver ou pour commander) une offre sélectionnée ou une requête pour modifier ou annuler une commande de voyage existante basée sur la norme NDC (toutes dénotées 410 dans la Fig. 7). Le sous-système agrégateur de hase de données centrale 2 gère la requête NDC pour acheter l'offre sélectionnée en récupérant au 42 et en traitant par ailleurs au 43 l'offre tarifée et en stockant au 44 l'offre traitée par ailleurs de façon similaire à ce qui a été décrit ci-dessus en référence à la Fig. 6, et il renvoie une réponse 450 basée sur la norme NDC ou demandeur 4. Si la troisième requête 41 est une requête pour modifier ou annuler une commande de voyage, le sous-système agrégateur de base de données centrale 2 gère la requête NDC en récupérant au 42 et en traitant par ailleurs au 43 la commande existante et en stockant au 44 l'offre traitée par ailleurs de façon similaire à ce qui a été décrit ci-dessus en référence à la Fig. 6, et il renvoie une réponse 450 basée sur la norme NDC ou demandeur 4. [0063] Dans certains modes de réalisation, la première requête de base de données, la deuxième requête de base de données et la troisième requête de base de données ainsi que les réponses correspondantes peuvent être basées sur une interface de programmation d'application (API). L'API peut aussi être spécifique aux fournisseurs, spécifique particulièrement pour faciliter la communication avec un fournisseur offrant du contenu. L'API peut fournir une fonctionnalité pour communiquer avec le fournisseur. Par exemple, l'API peut prendre en charge un protocole de communication pour demander des offres au fournisseur. Dans un exemple non limitatif, l'API peut avoir été développée par le fournisseur (p. ex. un fournisseur fournissant du 19 contenu relatif au voyage tel que le contenu d'une compagnie aérienne) et avoir été déployée pour rechercher, acheter, tarifer, réserver, réadapter, etc. le contenu relatif au voyage à d'autres tels que les fournisseurs de services (p. ex. les compagnies aériennes). En utilisant l'API, le contenu relatif au voyage peut être acheminé dans un système dorsal p. ex. d'un fournisseur de services pour permettre l'implémentation de canaux directs pour les achats tels qu'un site Web d'une compagnie aérienne, des applications mobiles, des centres d'appels, et autres canaux de ce genre. Plus spécifiquement, l'API peut fournir une fonctionnalité pour connecter un système frontal au p. ex. système d'un fournisseur de services (p. ex. un système d'une compagnie aérienne) hébergé par le fournisseur de l'API afin de réaliser le commerce de [0064] Enfin, la FIG. 8 est une représentation schématique d'un système informatique 100 qui apporte la fonctionnalité du sous-système de hase de données centrale 2, un sous-système de hase de données locale 3 ou un dispositif client 4. À l'intérieur du système informatique 100 un ensemble d'instructions pour amener le système informatique à mettre en oeuvre l'une quelconque des méthodologies décrites dans les présentes peut être exécuté. [0065] Par exemple, le système informatique 100 inclut au moins un processeur 101, une mémoire principale 106 qui peut aussi inclure une mémoire cache 107 et un dispositif d'interface de réseau 103 qui communiquent les uns avec les autres via un bus 104. Optionnellement, le système informatique 100 peut par ailleurs inclure une mémoire statique 105 qui peut aussi inclure une unité amovible ou non amovible de lecteur de disque. Un écran vidéo, un dispositif de saisie alphanumérique et un dispositif de contrôle de pointeur peuvent aussi être fournis comme exemples d'une interface d'utilisateur 102. Le dispositif d'interface de réseau 103 connecte le système informatique 100 aux dispositifs clients 4 ainsi qu'à d'autres entités du système de base de données 1, l'hiternet et/ou tout autre réseau. Un ensemble d'instructions exécutables par ordinateur (c.-à-d. un code de programme informatique) réalisant une ou toutes les mises en oeuvre du procédé, décrites ci-dessus, réside complètement, ou au moins partiellement, dans ou sur un support lisible par ordinateur, p. ex. la mémoire principale 106 et/ou ledit au moins un processeur 101. En particulier, le code implémente la fonctionnalité de traitement 108 pour traiter les requêtes de base de données 11, 15 et/ou 41, et/ou la fonctionnalité de traitement de données 109 pour récupérer et stocker les résultats de base de données. Un support lisible par ordinateur sur lequel le code est hébergé peut aussi être un support de données non volatile (p. ex. un disque dur magnétique non amovible ou un disque optique ou magnétique amovible) qui fait partie de l'unité de lecteur de disque. Le code peut par ailleurs être transmis ou reçu sous forme de signal propagé via Internet par l'intermédiaire du dispositif d'interface de réseau 103. Dans la mémoire 106 et/ou dans la mémoire cache 107, une ou plusieurs bases de données peuvent être stockées et être incluses afin de stocker les résultats de base de données ou [traiter] les résultats de base de données ou d'autres résultats de base de données. L'opération basique du système informatique 100 incluant l'interface d'utilisateur et la communication en réseau est contrôlée par un système d'exploitation. [0066] En général les routines exécutées pour mettre en oeuvre 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-ci, 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 oeuvre des aspects variés des modes de réalisation de l'invention. Les instructions d'un programme, lisibles par ordinateur pour mettre en oeuvre les opérations des modes de réalisation de l'invention peuvent être, par exemple, le langage d'assemblage, ou encore un code source ou un code objet écrit en combinaison avec un ou plusieurs langages de programmation. [0067] Divers codes de programme décrits dans les présentes peuvent être identifiés, selon l'application dans laquelle ils sont implémentés, dans des modes de réalisation spécifiques de l'invention. Cependant, on notera qu'une quelconque nomenclature d'un programme particulier dans les présentes est utilisée uniquement par commodité ; ainsi l'invention ne peut être limitée à un seul usage dans toute application spécifique identifiée et/ou sous-entendue par ladite nomenclature. Par ailleurs, au vu du nombre généralement infini de moyens par lesquels les programmes informatiques peuvent être organisés selon des sous-programmes, procédures, procédés, modules, objets, et ainsi de suite, ainsi que les façons variées d'affecter les fonctionnalités d'un programme parmi diverses couches de logiciels qui sont hébergées dans un ordinateur typique [p. ex., les systèmes d'exploitation, les bibliothèques, les interfaces d'application de programme (API's), les applications, les petites applications (applets), etc.], on notera que les modes de réalisation de l'invention ne sont pas limités à l'organisation spécifique et à l'affectation spécifique des fonctionnalités de programme telles qu'elles sont décrites dans les présentes. [0068] Le code de programme mis en oeuvre 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 21 stockage lisible par ordinateur, disposant en lui même d'instructions de programme lisibles par ordinateur, permettant à un processeur de mettre en oeuvre des aspects des modes de réalisation de [0069] Les supports de stockage lisibles par ordinateur, étant intrinsèquement non tran- sitoires, 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 telles que les instructions de programme lisibles par ordinateur, des structures de donnée, des modules de programme, ou autres données. Les supports de stockage lisibles par ordinateur peuvent aussi comprendre une mémoire à accès aléatoire (RAM), une mémoire à lecture seule (ROM), une mémoire à lecture exclusivement, programmable et effaçable (EPROM), une mémoire à lecture exclusivement, programmable et effaçable électriquement (EEPROM), une mémoire flash, ou toute technologie de support de mémoire à état défini, un disque compact portable doté d'une mémoire à lecture seule (CD-ROM), ou tout autre stockage optique, des cassettes magnétiques, une bande d'enregistrement magnétique, un disque de stockage magnétique ou d'autres dispositifs de stockage magnétique, ou tout autre support pouvant être utilisé pour stocker l'information désirée et pouvant être lu 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 ordinateur, ou vers un ordinateur externe ou vers un dispositif de stockage externe via un réseau. [0070] Les instructions de programme lisibles par ordinateur, enregistrées sur un support lisible pal- ordinateur, peuvent être utilisées pour amener un ordinateur, d'autres types d'appareils programmables de traitement de données, ou d'autres dispositifs, à fonctionner d'une façon particulière, de sorte que les instructions stockées sur le support lisible par ordinateur produisent un article de fabrication incluant les instructions qui mettent en oeuvre les fonctions, les actions et/ou les opérations 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 ou 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 à l'aide du ou des processeurs, accomplissent une série de calculs pour mettre en oeuvre les fonctions, actions, et/ou les opérations spécifiées dans les organigrammes, diagrammes séquentiels et/ou diagrammes blocs. [0071] 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éordonnécs, 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, tout organigramme, diagramme séquentiel et/ou diagramme bloc peut inclure plus ou moins de blocs que ceux qui sont illustrés, tout en restant cohérents avec les modes de réalisation de l'invention. [0072] 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 "comprend", et/ou "comprenant" lorsqu'ils sont utilisés dans cette spécification, précisent la présence de caractéristiques énoncées, 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, nombres entiers, étapes, éléments, composants et/ou groupes en cela. De plus, dans la mesure où les termes "inclut", "ayant", "a", «avec» ou leurs variantes, sont utilisés dans la description détaillée des revendications, ces termes sont censés être inclusifs de façon similaire au terme "comprendre". [0073] 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, il n'y a pas d'intention de restreindre ou de limiter d'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 la portée du concept inventif général. 23 [Revendication I] [Revendication 2] [Revendication 3] REVENDICATIONSUn procédé pour le traitement de requêtes de base dc données dans un système de base de données distribuée comprenant un sous-système de base de données centrale et une pluralité de sous-systèmes dc bases de données locales comprenant un premier sous-système de base de données locale, le procédé comprenant, au niveau du sous-système de base dc données centrale : la réception d'une deuxième requête dc base de données indiquant au moins un identifiant unique d'au moins un résultat dc base de données d'une pluralité de résultats de base de données qui ont été stockés avec des identifiants uniques correspondants par le premier sous-système de base de données locale en réponse à une première requête de base de données reçue au premier sous-système de base de données locale; la récupération dudit au moins un résultat de base de données identifié par ledit au moins un identifiant unique du premier sous-système de base de données locale ; le traitement dudit au moins un résultat de base de données récupéré et le stockage persistant dudit au moins un résultat de base de données traité dans une base de données du sous-système de base de données centrale. Le procédé de la revendication 1, dans lequel un identifiant unique parmi les identifiants uniques comprend une première portion identifiant un sous-système de base de données locale de la pluralité des sous-systèmes de bases de données locales en stockant le résultat de base de données respectif et une deuxième portion identifiant le résultat de base de données respectif, et dans lequel la récupération dudit au moins un résultat de base de données comprend : la résolution dudit au moins un identifiant unique inclus dans la deuxième requête de base de données pour identifier, sur la base de la première portion dudit au moins un identifiant unique, le premier sous-système de base de données locale comme étant le sous-système de base de données locale de la pluralité des sous-systèmes de bases de données locales qui stocke ledit au moins un résultat. de base de données, et l'envoi d'une requête de récupération qui inclut au moins la deuxième portion dudit au moins un identifiant unique au premier sous-système de base de données locale identifié. Le procédé de la revendication 1, dans lequel ledit au moins un 24 [Revendication 4] [Revendication 5] [Revendication 6] identifiant unique comprend par ailleurs une troisième portion identifiant un ensemble de résultats de base de données qui est constitué par la pluralité des résultats dc hase de données qui ont été stockés par le premier sous-système de hase de données locale, dans lequel la requête de récupération inclut la troisième portion dudit au moins un identifiant unique pour récupérer ledit au moins un résultat de hase de données identifié par ledit au moins un identifiant unique à partir de l'ensemble des résultats de hase de données Le procédé de la revendication 2 ou 3 comprenant par ailleurs : avant la réception dc la deuxième requête de hase de données, l'inscription au sous-système de hase de données centrale, du premier sous-système de hase de données locale comprenant : l'attribution d'un identifiant de sous-système de hase de données locale identifiant le premier sous-système dc hase de données locale, dans lequel l'identifiant de sous-système de hase dc données locale constitue la première portion des identifiants uniques de la pluralité des résultats de hase de données qui ont été stockés par le premier sous-système de hase dc données locale ; et le stockage de l'identifiant dc sous-système dc base de données locale attribué afin de récupérer les résultats de hase de données du premier sous-système de base de données locale. Le procédé de l'une quelconque des revendications 1 à 4, comprenant par ailleurs : la suppression, par le premier sous-système de base de données locale, de la pluralité des résultats de base de données qui ont été stockés par le premier sous-système de base de données locale au moment de l'expiration d'un délai donné après le stockage. Le procédé de l'une quelconque des revendications 1 à 5, comprenant par ailleurs, au sous-système de base de données centrale : la réception d'une troisième requête de base de données indiquant au moins un des identifiants uniques dudit au moins un résultat de base de données traité stocké de façon persistante dans la base de données du sous-système de base de données centrale ; la récupération dudit au moins un résultat de base de données identifié par ledit au moins un identifiant unique indiqué par la troisième requête de base de données de la base de données du sous-système de base de données centrale ; par ailleurs le traitement dudit au moins un résultat de bases de données 25 [Revendication 7] [Revendication 8] [Revendication 9] [Revendication 10] récupéré et le stockage persistant dudit au moins un autre résultat de base de données traité dans une base de données du sous-système de base de données centrale. Le procédé de l'une quelconque des revendications 1 à 7, dans lequel le premier sous-système de base de données locale est un sous-système dématérialisé. Un sous-système de base de données centrale pour le traitement de requêtes de base de données, le sous-système de base de données centrale faisant partie d'un système de base de données distribuée comprenant aussi une pluralité de sous-systèmes de hases de données locales comprenant un premier sous-système de hase de données locale, le sous-système de hase de données centrale comprenant un processeur et une mémoire incluant des instructions qui, lorsqu'elles sont exécutées par le processeur, amènent le sous-système de hase de données centrale à: recevoir une deuxième requête de hase de données indiquant au moins un identifiant unique d'au moins un résultat de hase de données d'une pluralité de résultats de hase de données qui ont été stockés avec des identifiants uniques correspondants par le premier sous-système de hase de données locale en réponse à une première requête de hase de données reçue au premier sous-système de base de données locale; récupérer ledit au moins un résultat de base de données identifié par ledit au moins un identifiant unique à partir du premier sous-système de base de données locale ; traiter ledit au moins un résultat de base de données récupéré et stocker ledit au moins un résultat de base de données traité de façon persistante dans une base de données du sous-système de base de données centrale. Le sous-système de base de données centrale de la revendication [ln dans lequel les instructions, lorsqu'elles sont exécutées par le processeur, amènent le sous-système de base de données centrale à exécuter les étapes du procédé de l'une quelconque des revendications 2 à 7. Un produit programme d'ordinateur comprenant des instructions de code de programme stockées sur un support lisible par ordinateur pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 7 lorsque ledit programme fonctionne sur un ordinateur.