Brevet FR3070781A1 — publié le 20190308

IDENTIFIÂNTS BASÉS SUR UNE INTERROGATION POUR LE SUIVI DE RÉPONSES DE SESSIONS CROISÉES DOMAINE TECHNIQUE [0001] La présente invention concerne de façon générale un environnement informatique distribué, sans qu'il y soit limité. Plus spécifiquement, la présente invention concerne des techniques pour le partitionnement, agnostique pour les clients, d'interrogations de recherche en utilisant des identifiants d'interrogation basés sur des paramètres de recherche ainsi que le suivi des réponses de sessions croisées dans un environnement informatique distribué. 10 CONTEXTE [0002] Des expériences contrôlées telles que les tests A1B, permettent les mises à jour de systèmes actuels ou de nouvelles caractéristiques devant être évaluées objectivement tout en minimisant les risques. Avec les tests AB, par exemple, une mise à jour ou une nouvelle caractéristique d'un système en cours de test (ci-après « version B ») peuvent être évalués 15 objectivement par rapport à une version actuelle (ci-après « version A »). Les utilisateurs interagissant avec le système en cours de test peuvent être partitionnés de sorte que la version A est présentée à un premier sous-ensemble d'utilisateurs alors que la version B est présentée à un second sous-ensemble d'utilisateurs. Les métriques d'évaluation peuvent être déterminées pour chaque version en utilisant des données collectées concernant des réponses ou des comportements 20 d'utilisateurs dans le premier sous-ensemble et le second sous-ensemble. Ces métriques d'évaluation facilitent l'évaluation de façon objective de la version B par rapport à la version A. [0003] L'obtention de résultats valides à partir de ces expériences contrôlées peut impliquer deux exigences distinctes. D'abord une technique peut être requise pour partitionner les utilisateurs interagissant avec un système en cours de test qui est indépendante du comportement du système 25 testé pour réaliser des affectations impartiales à la version A ou à la version B. Deuxièmement une technique de corrélation de ces partitions avec des réponses subséquentes ou des résultats peut être requise pour obtenir des données pour la génération de métriques d'évaluation. Ces exigences distinctes peuvent être difficiles à satisfaire lorsque les expériences contrôlées sont mises en oeuvre dans des environnements informatiques distribués. 100041 Les techniques conventionnelles pour implémenter des expériences contrôlées dans des environnements informatiques distribués utilisent des identifiants côté client pour partitiomier les utilisateurs et corréler ces partitions avec des réponses subséquentes. En utilisant des identifiants côté client, les techniques conventionnelles dépendent des utilisateurs pour maintenir une affectation impartiale aux partitions ou pour corréler les partitions affectées avec des résultats ou des conséquences subséquents. Par exemple, des techniques conventionnelles utilisent des données (connues sous le nom de « cookies ») stockées de façon persistante sur les dispositifs clients par un serveur Web interagissant avec les navigateurs Web en cours d'exécution sur les dispositifs clients afin d'affecter des utilisateurs à une partition de test particulière. Avec cette approche basée sur les cookies, un utilisateur qui était initialement affecté à la version A d'une expérience contrôlée peut subséquemment être affecté à la version B tout simplement en effaçant les cookies stockés sur un dispositif client de l'utilisateur. En effaçant les cookies stockés sur le dispositif client, l'utilisateur introduit un biais dans l'affectation des partitions. 100051 Comme autre exemple, des techniques conventionnelles utilisent des identifiants de session qui sont affectés par des serveurs Web aux dispositifs clients (ou applications) une fois que les sessions client-serveur sont établies avec les dispositifs clients. Cependant les identifiants de session sont généralement basés sur des paramètres spécifiques associés aux dispositifs clients, tels que l'adresse de réseau d'un dispositif client, l'adresse d'une machine associée au dispositif client, un descripteur d'une application particulière en cours d'exécution sur un dispositif client, 20 et ainsi de suite. Telle quelle, cette approche basée sur la session est intrinsèquement spécifique au client/session. Par exemple, un utilisateur peut se voir affecter à une partition au cours d'une première session. Cet utilisateur peut initier une nouvelle (seconde) session avec un serveur Web en utilisant un dispositif client différent, une connexion de réseau différente, ou même une application différente. En initiant la seconde session, l'utilisateur peut avoir entravé la capacité de 25 corréler la partition affectée au cours de la première session avec la réponse subséquente ou le résultat de la seconde session. RÉSUMÉ [0006] Les modes de réalisation de la présente invention fournissent des systèmes, des 30 procédés et des supports de stockage lisibles par ordinateur pour le partitionnement, agnostique pour les clients, des interrogations de recherche en utilisant des paramètres de recherche basés sur des identifiants d'interrogation et le suivi des réponses de sessions croisées dans un environnement d'exploitation distribué. Dans un mode de réalisation, un système inclut un dispositif informatique et un support de stockage lisible par ordinateur qui inclut un premier ensemble d'instructions. Lors de l'exécution par le dispositif informatique, le premier ensemble d'instructions amène le système à recevoir une interrogation de recherche correspondant à une demande de voyage pour un client en provenance d'un dispositif client au niveau du système de réservation. L'interrogation de recherche inclut une pluralité de paramètres de recherche déterminés localement sur le dispositif client en utilisant des données reçues via une interface sur le dispositif client. Un identifiant d'interrogation est généré par le système de réservation basé sur la pluralité des paramètres de recherche. Une version de résultat de recherche qui inclut un itinéraire de voyage satisfaisant la pluralité des paramètres de recherche parmi une pluralité de versions de résultat de recherche est sélectionnée sur la base de l'identifiant d'interrogation. Chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche est distincte des autres versions en vertu d'une variante. La version sélectionnée de résultat de recherche est envoyée au dispositif client actualisant ainsi l'interface sur le dispositif client. [0007] Dans un autre mode de réalisation, le support de stockage lisible par ordinateur comprend un second ensemble d'instructions qui, lors de l'exécution par le dispositif in formatique, amènent par ailleurs le système à corréler un enregistrement dans une base de données de réservation avec la version sélectionnée du résultat de recherche envoyée au dispositif client sur la 20 base de l'identifiant d'interrogation, l'enregistrement généré dans la base de données de réservation étant réceptif à une réservation de l'itinéraire de voyage, dans lequel l'appel API sollicite une fonction de distribution aléatoire du système de réservation qui génère l'identifiant d'interrogation. Dans certains modes de réalisation, la fonction de distribution aléatoire est une fonction de hachage. [00081 Dans un autre mode de réalisation, le second ensemble d'instructions, lors de l'exécution par le dispositif informatique, amène par ailleurs le système à déterminer une métrique d'évaluation pour chaque version des résultats de recherche parmi la pluralité des versions de résultat de recherche. Dans d'autres modes de réalisation, le second ensemble d'instructions, lors de l'exécution par le dispositif informatique, amène le système à mesurer un ratio de sélection 30 actuel entre chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche et à comparer le ratio actuel de sélection avec un ratio prédéfini de sélection. 4 100091 Dans un autre mode de réalisation, un procédé inclut la réception d'une interrogation de recherche correspondant à une demande de voyage pour un client en provenance d'un dispositif client au niveau d'un système de réservation. L'interrogation de recherche inclut une pluralité de paramètres de recherche déterminés localement sur le dispositif client en utilisant des données reçues via une interface sur le dispositif client. Le système de réservation génère un identifiant d'interrogation pour l'interrogation de recherche sur la base de la pluralité des paramètres de recherche. Un résultat de recherche est déterminé comprenant un itinéraire de voyage qui satisfait la pluralité des paramètres de recherche. Une version du résultat de recherche parmi une pluralité de version de résultat de recherche est sélectionnée sur la base de l'identifiant d'interrogation, chaque version des résultats de recherche parmi la pluralité des versions étant distincte des autres versions en vertu d'une variante. La version sélectionnée de résultat de recherche est envoyée au dispositif client actualisant ainsi l'interface sur le dispositif client. [00101 Dans un autre mode de réalisation, le procédé comprend également la détermination d'une métrique d'évaluation pour chaque version des résultats de recherche parmi la pluralité des versions de résultat de recherche. Dans certains modes de réalisation, la métrique d'évaluation est un taux de conversion indicatif d'un pourcentage de réservations d'itinéraires de voyage associé à chaque version de résultat de recherche. [00111 Dans un autre mode de réalisation, la génération d'un identifiant d'interrogation comprend par ailleurs l'application d'une fonction de hachage à la pluralité des paramètres de 20 recherche dans l'interrogation de recherche, dans lequel la valeur de hachage est distribuée uniformément dans une fourchette de valeurs de hachage et la fourchette de valeurs de hachage est partitionnée en une pluralité de partitions dont chaque version de résultat de recherche est représentée par une partition parmi la pluralité de partitions. Dans un autre mode de réalisation, la corrélation de l'enregistrement dans la base de données de réservation comprend par ailleurs 25 l'application de la fonction de hachage à des données dans l'enregistrement qui correspondent à la pluralité des paramètres de recherche. [00121 Dans un autre mode de réalisation, le procédé comprend par ailleurs la mise en antérnémoire des données de versionnage qui associent l'identifiant d'interrogation à la version sélectionnée de résultat de recherche envoyée au dispositif client dans un dispositif de stockage 30 associé au système de réservation, la détermination d'un ratio actuel de sélection en utilisant les données de versionnage et la confirmation de conformité d'un ratio prédéfini de sélection avec le ratio actuel de sélection. Dans certains modes de réalisation, la pluralité des paramètres de recherche inclut un numéro de vol, une date de départ, une date d'arrivée, un point d'origine, une destination, un nombre d'escales, une classe de réservation, un point de vente, un nombre de voyageurs dans un groupe, une raison pour l'émission d'un sous-code, ou une combinaison de ceux-ci. Dans d'autres modes de réalisation, la variante inclut un élément tarifaire de l'itinéraire de voyage, un élément visuel associé au résultat de recherche, un élément d'interface associé au résultat de recherche, un arrangement des éléments d'interface associés au résultat de recherche, ou une combinaison de ceux-ci. [0013] Dans un autre mode de réalisation, un support de stockage non transitoire lisible par ordinateur est fourni incluant des instructions lisibles par ordinateur. Lors de l'exécution par un processeur d'un dispositif informatique, les instructions lisibles par ordinateur amènent le dispositif informatique à recevoir une interrogation de recherche correspondant à une demande de voyage pour un client en provenance d'un dispositif client au niveau du système de réservation. L'interrogation de recherche inclut une pluralité de paramètres de recherche déterminés localement sur le dispositif client en utilisant des données reçues via une interface sur le dispositif client. Un identifiant d'interrogation est généré par le système de réservation basé sur la pluralité des paramètres de recherche. Une version de résultat de recherche qui inclut un itinéraire de voyage satisfaisant la pluralité des paramètres de recherche parmi une pluralité de versions de résultat de recherche est sélectionnée sur la base de l'identifiant d'interrogation. Chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche est distincte des autres versions en vertu d'une variante. La version sélectionnée de résultat de recherche est envoyée au dispositif client actualisant ainsi l'interface sur le dispositif client. [0014] Ce résumé est fourni pour présenter une sélection de concepts, sous une forme simplifiée, lesquels seront décrits de façon plus détaillée dans la description détaillée ci-après. Ce résumé n'a pas l'intention d'identifier des caractéristiques clés ou des caractéristiques essentielles de l'invention revendiquée et n'est pas non plus destiné à être utilisé de façon isolée comme outil de détermination de la portée de l'invention revendiquée. BRÈVE DESCRIPTION DES DESSINS [0015] Les dessins illustrent des modes variés de réalisation de l'invention et, avec la description générale de l'invention ci-dessus et la description détaillée des modes de réalisation 'donnée ci-après, servent à expliquer les modes de réalisation de l'invention. Dans les dessins, des références à des chiffres similaires sont utilisées pour indiquer des éléments similaires dans les diverses visualisations. [0016] FIG. 1 est un diagramme bloc un exemple d'environnement informatique distribué qui est adapté à l'implémentation des aspects de la présente invention. [00171 FIG. 2 est diagramme bloc d'un autre exemple d'environnement informatique distribué qui est adapté à l' implémentation des aspects de la présente invention. [00181 FIG. 3 est un diagramme bloc d'un exemple de système de réservation adapté à l'implémentation de la présente invention. 10 [00191 Fig. 4 est une interface exemplaire ayant une zone dédiée aux saisies de recherche, configurée pour recevoir des entrées de données afin de générer une interrogation de recherche. [0020] FIG. 5 est une interface exemplaire affichant un résultat de recherche. [0021] FIG. 6 est une interface exemplaire affichant un résultat de recherche qui est distinct du résultat de recherche affiché par l'interface de la FIG. 5 en vertu d'un mode de réalisation. 15 [0022] FIG. 7 est un autre exemple d'interface affichant un résultat de recherche distinct du résultat de recherche affiché par l'interface de la FIG. 5 en vertu d'un mode de réalisation. [00231 FIC.i. 8 est un autre exemple d'une interface affichant un résultat de recherche qui est distinct du résultat de recherche affiché par l'interface de la FIG. 5 en vertu d'un mode de réalisation. 20 (0024) FIG. 9 est un autre exemple d'une interface affichant un résultat de recherche qui est distinct du résultat de recherche affiché par l'interface de la FIG. 5 en vertu d'un mode de réalisation. [0025] FIG.10 est un organigramme illustrant un exemple de procédé pour le partitioruiement, agnostique pour le client, d'interrogations de recherche en utilisant des identifiants d'interrogation 25 basés sur des paramètres de recherche. [0026] FIG. 1 I est un organigramme illustrant un procédé exemplaire pour le suivi de réponses de sessions croisées dans un environnement informatique distribué en utilisant des identifiants d'interrogation basés sur des paramètres de recherche. [0027] FIG.12 est un diagramme bloc d'un environnement informatique exemplaire adapté à 30 l'implémentation des modes de réalisation de l'invention. 7 DESCRIPTION DÉTAILLÉE [0028] FIG.1 décrit un environnement informatique distribué exemplaire adapté à l'implémentation des aspects de la présente invention et qui, de façon générale, est désigné comme l'environnement d'exploitation 100. L'environnement d'exploitation 100 inclut une pluralité de dispositifs clients, tels que les dispositifs clients 110A à 110N. À titre d'exemple, et non de restriction, un dispositif client peut être matérialisé par un ordinateur de bureau, un ordinateur portable, un dispositif informatique mobile, un smartphone, une tablette informatique, une montre connectée, un dispositif électronique de consommateur, un poste de travail et ainsi de suite. Dans un mode de réalisation, chaque dispositif client parmi la pluralité des dispositifs clients peut être 10 implémenté comme un système informatique décrit ci-dessous par rapport à la FIG. 12. [00291 Un utilisateur, dans l'environnement d'exploitation 100, interagit avec des applications clientes fonctionnant sur des dispositifs clients, telles que les applications clientes 115A à 115N pour accéder aux ressources fournies par un système informatique distribué via un réseau 150. Dans l'exemple décrit dans la FIG. 1, l'environnement informatique distribué est composé d'une pluralité de composants incluant un moteur de recherche 120, un serveur 130A, un serveur 130B, une base de données 140A et une base de données 140B, [0030] Selon la perspective du système informatique distribué, la pluralité des clients inclut des combinaisons particulières de dispositifs clients (p. ex., les dispositifs clients 110A et 110B à 110 N) et les applications clientes (p. ex., les applications clientes 115A, 115B et 115C à 115N). 20 Par exemple, une combinaison du dispositif client 110A et de l'application cliente 115A est considérée comme étant un premier client du point de vue du système informatique distribué. Comme autre exemple, une combinaison du dispositif client 110B et de l'application cliente 115B et une combinaison du dispositif client 110B et de l'application clientel 15C du point de vue du système informatique distribué sont considérés comme second client et troisième client 25 respectivement. [00311 En accédant aux ressources fournies par le système informatique distribué, un client particulier initie une session de communication avec un composant particulier du système informatique distribué. En bref, une session de communication dans les modes de réalisation exemplaires de la présente divulgation font référence un flux d'échange d'informations entre un 30 noeud serveur et un noeud client dans une architecture serveur-client. Le flux d'échange d'informations implique typiquement le noeud client qui envoie au noeud serveur une demande qui est traitée par le noeud serveur lequel renvoie une réponse satisfaisant la demande au noeud client. Dans un mode de réalisation, une session de communication peut être implémentée comme session basée sur le protocole de transfert hypertexte « HTTP ») sur une connexion basée sur le protocole de contrôle de transmission (TCP). 5 [00321 FIG. 2 est un diagramme bloc décrivant un autre exemple d'un environnement informatique distribué, adapté à l'implémentation des aspects de la présente invention, désigné de façon générale comme l'environnement d'exploitation 200. L'environnement d'exploitation 200 inclut le dispositif client 210, le site Web de métarecherche de voyage 220, le système de réservation du fournisseur 230 et le système mondial de réservation 240. De façon générale, l'environnement d'exploitation 200 représente les divers systèmes impliqués dans le traitement des réservations de voyage pour les utilisateurs x les clients ou les passagers) dans l'industrie du voyage. [0033] Dans cet exemple, les ressources fournies incluent des données associées aux services de voyage (« données relatives au voyage ») et les services associés aux réservations de services 15 de voyage (« services relatifs au voyage »). Des exemples de données relatives au voyage incluent les données de disponibilité d'un service de voyage, les données tarifaires d'un service de voyage et ainsi de suite. Des exemples de services relatifs au voyage incluent la réservation de services de voyage associés aux itinéraires de voyage, l'émission de billets pour des services de voyage réservés associés aux itinéraires de voyage et ainsi de suite. 20 [00341 Les divers systèmes impliqués dans le traitement des réservations de voyage pour les clients (ou les passagers) dans l'industrie du voyage fournissent un exemple de ces environnements informatiques distribués. Dans cet exemple, un client intéressé par la réservation de services de voyage peut soumettre de multiples interrogations de recherche pendant une phase de recherche du processus de réservation de voyage. Les multiples interrogations de recherche peuvent être 25 soumises à des sources diverses d'informations relatives au voyage en utilisant de nombreuses combinaisons de dispositifs client et de logiciels d'application fonctionnant dans des environnements avec des temps d'exécution différents. A ce titre, le client ne complète pas toujours le processus de réservation de voyage en utilisant la même source d'informations relatives au voyage ou même en utilisant le même environnement informatique. 30 [00351 Même si le processus de réservation de voyage a été complété en une seule session entre la même source d'informations relatives au voyage et le même environnement informatique, 9 les systèmes conventionnels ne sont pas capables de corréler une interrogation de recherche spécifique avec une réservation de voyage spécifique. Par exemple, en plus de la phase de recherche, le processus de réservation de voyage inclut aussi une phase de réservation et une phase d'émission de billets impliquant des systèmes dorsaux différents. Les identifiants de session associés aux dispositifs client ne sont pas typiquement propagés aux serveurs des systèmes dorsaux de systèmes conventionnels associés aux phases de réservation et d'émission de billets du processus de réservation de voyage. [0036] Le processus de réservation de voyage passe de la phase de recherche à la face de réservation lorsque le client identifie un itinéraire de voyage spécifique qui satisfait des paramètres 10 fournis dans les interrogations de recherche au cours de la phase de recherche. Pendant la phase de réservation, un enregistrement de réservation (p. ex. un enregistrement de nom de passager « PNR »)) est créé pour réserver des services de voyage associés à cet itinéraire de voyage pour le client. En créant l'enregistrement de réservation, un système de réservation peut accéder un système d'inventaire hébergé sur les serveurs d'un fournisseur spécifique de services de voyage 15 ou d'un système d'inventaire qui est hébergé par un système global de distribution pour de multiples fournisseurs de services de voyage afin de confirmer la disponibilité des services de voyage. [0037] Le processus de réservation de voyage passe de la phase de réservation à la phase d'émission de billets lorsque les services de voyage qui ont été réservés pour le client au cours de 20 la phase de réservation sont achetés. Pendant la phase d'émission de billets, un document de voyage, tel qu'un billet papier ou un billet électronique peut être émis pour chaque segment de l'itinéraire de voyage. Lors de l'émission d'un document de voyage, un enregistrement de billet correspondant aux documents de voyage est généré dans une base de données billettiques associée à un fournisseur de voyage particulier. Du fait de ces diverses phases du processus de réservation 25 de voyage, le site Web de métarecherche de voyage 220, le système de réservation du fournisseur 230 et le système mondial de réservation 240 peuvent être vus comme une pluralité de composants d'un système informatique distribué qui fournit des ressources à une pluralité de clients. [0038] Dans l'environnement d'exploitation 200, un utilisateur interagit avec un dispositif 30 client 210 au cours d'une ou de plusieurs phases d'un processus de réservation de voyage. Au cours d'une phase de recherche d'un processus de réservation de voyage, une donnée entrée est 10 'reçue de l'utilisateur via une interface associée à l'application cliente 215 mise en oeuvre par le dispositif client 210. Dans un mode de réalisation, le dispositif client 210 peut être implémenté comme tout dispositif client parmi les dispositifs clients 110A à 110N de la FIG.1 . Dans un mode de réalisation, l'application cliente 215 peut être implémentée comme toute application cliente parmi les applications clientes 115A à 115N de la FIG. I. [00391 L'application cliente 215 est configurée pour générer des interrogations de recherche correspondant aux demandes de voyage pour un client. Chaque interrogation de recherche inclut de multiples paramètres de recherche que l'application cliente 215 détermine en utilisant des données d'entrée reçues via l'interface. Des exemples de paramètres de recherche incluent un lieu 10 d'origine, un lieu de destination, une date de départ, une date de retour, un nombre de passagers associé à une demande de voyage (« un nombre dans un groupe »), un point de vente, une raison pour l'émission d'un sous-code (« RFISC »), une classe de réservation, un nombre d'escales, un numéro de vol, un identifiant de fournisseur de voyage, une cabine (p. ex. première classe ou économie) et ainsi de suite. 15 [0040] L'application cliente 215 soumet les interrogations de recherche aux sources de données associées au voyage (p. ex., un site Web de métarecherche de voyage 220, un système d'un fournisseur 230 et un système mondial de réservation 240). En réponse à une interrogation de recherche, l'application cliente 215 reçoit un résultat de recherche ayant au moins un itinéraire qui satisfait les multiples paramètres de recherche inclus dans l'interrogation de 20 recherche. Le résultat de recherche reçu actualise l'interface sur le dispositif client 210 associé à l'application cliente 215. [0041] Au cours d'une phase de réservation du processus de réservation de voyage, une donnée entrée par l'utilisateur est reçue via l'interface identifiant un itinéraire inclus dans un résultat de recherche. L'application cliente 215 est configurée pour générer une demande de réservation pour 25 réserver l'itinéraire identifié sur la base de la donnée entrée. L'application cliente 215 soumet la demande de réservation au système fournissant le résultat de recherche. Comme décrit de façon plus détaillée ci-dessous, si le système fournissant le résultat de recherche est un site Web de métarecherche de voyage 220, la demande de réservation est transmise, soit au système de réservation du fournisseur 230, soit au système mondial de réservation 240 pour un traitement 30 additionnel. Autrement, la demande de réservation est traitée par le système récepteur pour réserver l'itinéraire identifié comme décrit par référence à la FIG. 3. Après la phase de réservation ,vient la phase d'émission de billets dans laquelle les billets sont générés pour l'itinéraire réserve. La phase d'émission de billets du processus de réservation est également décrite de façon plus détaillée ci-dessous par rapport à la FIG. 3. [00421 Le site Web de inétarecherche de voyage 220 est configuré pour fournir à des clients 5 (p. ex., le dispositif client 210) des résultats de métarecherche représentant des données *relatives au voyage qui sont obtenues de sources diverses. Des exemples de systèmes adaptés pour l'implémentation du site Web de métarecherche de voyage 220 sont gérés par Priceline Group à Norwalk, Connecticut et Expedia Inc. à Bellevue, Washington. Les résultats de métarecherche sont générés par un moteur de métarecherche hébergé par le site Web de métarecherche de voyage 220. Le moteur de métarecherche est configuré pour interroger de multiples sources de données relatives au voyage lors de la réception d'interrogations de recherche en provenance d'un dispositif client. [00431 Par exemple, le site Web de métarecherche 220 peut recevoir une interrogation de recherche incluant une pluralité de paramètres de recherche qui correspondent à une demande de 15 voyage en provenance du dispositif client 210. A la réception de l'interrogation de recherche en provenance du dispositif client 210, le site Web de métarecherche 220 interroge le système de réservation du fournisseur 230 et le système mondial de réservation 240 via le réseau 250. En réponse, le site Web de métarecherche 220 reçoit des données associées au voyage qui satisfont la pluralité des paramètres de recherche provenant à la fois du système de réservation 20 fournisseur 230 et du système mondial de réservation 240. En utilisant les données relatives au voyage reçues du système de réservation du fournisseur 230 et du système mondial de réservation 240, le site Web de métarecherche 220 génère un résultat de métarecherche qui est transmis au dispositif client 210. [00441 Bien que capable de fournir des données relatives au voyage à des clients, le site Web 25 de métarecherche 220 est incapable de fournir des services relatifs au voyage directement à des clients. Toutes les demandes de services relatifs au voyage reçues par le site Web de métarecherche 220 sont redirigées vers des systèmes qui fournissent un accès direct aux services relatifs au voyage, tels que le système de réservation du fournisseur 230 et le système mondial de réservation 240. En utilisant l'exemple précédent, le résultat de métarecherche transmis au 30 dispositif client 210 peut inclure une pluralité d'itinéraires qui satisfont la pluralité des paramètres de recherche inclus dans l'interrogation de recherche. En réponse aux résultats de métarecherche, 12 . le site Web de métarecherche de voyage 220 peut recevoir une demande de réservation identifiant un itinéraire parmi la pluralité des itinéraires. Dès la réception de la demande de réservation, le site Web de métarecherche de voyage 220 peut déterminer si le système de réservation du fournisseur 230 ou le système mondial de réservation 240 a fourni des données associées au voyage pour l'itinéraire identifié. Sur la base de cette détermination, le site Web de métarecherche de voyage 220 transmet la demande de réservation au système de réservation du fournisseur 230 ou au système mondial de réservation 240 pour un traitement additionnel. En transmettant la demande de réservation, aucun identifiant associé au dispositif client 210 ou à l'application cliente 215 n'est propagé par le site Web de métarecherche de voyage 220 que ce soit au système de réservation du fournisseur 230 ou au système mondial de réservation 240. [0045] Le système de réservation du fournisseur 230 est un système de réservation contiguré pour fournir au client à la fois des données relatives au voyage et des services relatifs au voyage. Des exemples de systèmes adaptés pour l'implémentation du système de réservation du fournisseur 230 sont fournis par Delta Airlines Inc. à Atlanta, Géorgie (États-Unis) et le groupe American Airlines 15 Inc. à Fort Worth, Texas. Par contraste au site Web de métarecherche de voyage 220, les résultats de recherche fournis par le système de réservation du fournisseur 230 sont basés sur des données relatives au voyage qui sont associées à un fournisseur particulier de services de voyage. Cependant, contrairement au site web de métarecherche 220, le système de réservation du fournisseur 230 est capable de proposer directement aux clients des services liés au voyage offerts 20 par le fournisseur de services de voyage particulier. Dans un mode de réalisation, le système de réservation du fournisseur 230 peut être implémenté comme un système de réservation décrit ci- dessous en référence à la FIG. 3. [0046] Le système mondial de réservation 240 est également un système de réservation configuré pour fournir aux clients à la fois des données relatives au voyage et des services relatifs 25 au voyage. Un exemple de système adapté à l'implémentation du système mondial de réservation 240 est fourni par le groupe Amadeus IT à Madrid en Espagne. Par contraste avec le système de réservation du fournisseur 230, les résultats de recherche fournis par le système mondial de réservation 240 sont basés sur des données relatives au voyage qui sont associées à de multiples fournisseurs de services de voyage. Par contraste avec le site Web de métarecherche de 30 voyage 220, le système mondial de réservation 240 est capable de fournir des services relatifs au voyage offerts par de multiples fournisseurs de services de voyage directement aux clients. Dans 13 , un mode de réalisation, le système mondial de réservation 240 peut être implémenté comme un système de réservation décrit ci-dessous en référence à la FIG. 3. [00471 La FIG. 3 est un diagramme bloc décrivant un exemple de système de réservation 300 qui est adapté à l'implémentation des aspects de la présente invention. Dans un 5 mode de réalisation, le système de réservation 300 est implémenté dans le système de réservation du fournisseur 230 de la FIG. 2. Dans un mode de réalisation, le système de réservation est implémenté dans le système mondial de réservation 240. Comme décrit dans la FIG. 3, le système de réservation 300 inclut des systèmes frontaux 375 et des systèmes dorsaux 385 qui échangent des données via un réseau 360 composé de réseaux publics et privés, tels qu'Internet est un système 10 de réservation intranet. Les systèmes frontaux 375, tels que le moteur analytique 310 et le moteur de recherche 320 interagissent directement avec des clients tels que la combinaison du dispositif client 210 et de l'application cliente 215 de la FIG. 2, au cours d'un processus de réservation de voyage. Par contraste, les clients du système de réservation 300 ne sont pas exposés aux systèmes dorsaux 385 qui stockent les données relatives au voyage et effectuent des services relatifs au 15 voyage dans le système de réservation 300, tels que le système de gestion d'inventaire 330, système de gestion de réservation 340 et le système de gestion billettique 350. [00481 Le moteur analytique 310 est configuré pour faciliter le partitionnement agnostique pour le client des interrogations de recherche en utilisant des identifiants d'interrogation basés sur des paramètres de recherche et un suivi de réponse de sessions croisées. Un administrateur du 20 système de réservation 300 (ou d'autres utilisateurs ayant un accès administratif) peuvent effectuer une expérience contrôlée dans le système de réservation 300 en soumettant une instruction d'activation au moteur analytique 310 via admit' API 312. Dans un mode de réalisation, le moteur analytique 310 est configuré pour exposer l'API cliente 311 aux clients du système de réservation 300 en réponse à la réception de l'instruction d'activation. Dans un mode de 25 réalisation, lors de l'exposition de l'API cliente 311 aux clients, des interrogations de recherche soumises au système de réservation 300 sont dirigées vers l'API cliente 311 au lieu d'être dirigées directement à une API associée au moteur de recherche 320. Dans un mode de réalisation, en réponse à la réception d'une interrogation de recherche, l'API cliente 311 fait appel au générateur pseudo aléatoire 313 en transmettant l'interrogation de recherche reçue au générateur pseudo 30 aléatoire 313. Dans un mode de réalisation, les interrogations de recherche soumise au système de réservation 300 sont dirigées vers une API associée au moteur de recherche 320 au lieu d'être 14 , dirigées directement à l'API cliente 311. Dans un mode de réalisation, le moteur analytique 310 est configuré pour exposer PAPI cliente 311 au moteur de recherche 320 en réponse à la réception d'une instruction d'activation. Dans un mode de réalisation, lors de l'exposition de PAPI cliente 311 au moteur de recherche 320, les interrogations de recherche soumises au moteur de recherche 320 sont transmises au moteur analytique 310 via l'API cliente 311. [0049J Lorsqu'il est sollicité par l'API cliente 311, le générateur pseudo aléatoire 313 est configuré pour analyser l'interrogation de recherche afin d'extraire les paramètres de recherche d'une pluralité de paramètres de recherche inclus dans l'interrogation de recherche conformément aux règles de partitionnement prédéfinies L'identifiant d'interrogation ct l'interrogation de 10 recherche sont transmis par le générateur pseudo aléatoire 313 au gestionnaire de partitionnement 315. 100501 Dans un mode de réalisation, les règles de partitionnement prédéfinies sont récupérées par le générateur pseudo aléatoire 313 à partir d'un dispositif de stockage accessible au moteur analytique 310. Dans un mode de réalisation, les règles de partitionnement prédéfinies sont incluses dans l'instruction d'activation. Le générateur pseudo aléatoire 313 injecte les paramètres de recherche extraits dans une fonction de distribution aléatoire pour générer un identifiant d'interrogation pour l'interrogation de recherche. Dans un mode de réalisation, la génération d'un identifiant interrogation inclut de mettre en oeuvre une opération de concaténation qui relie les paramètres de recherche extraits dans un ordre spécifié pour former un paramètre concaténé. Dans 20 un mode de réalisation, la génération d'un identifiant interrogation inclut le calcul d'une valeur de hachage pour l'interrogation de recherche en utilisant un paramètre concaténé. Dans un mode de réalisation, la génération d'un identifiant d'interrogation inclut l'application d'une fonction `boost ::hash_combine' de façon séquentielle pour chaque paramètre de recherche extrait en commençant par un point de départ donné. 25 [0051j Dans un mode de réalisation, les paramètres de recherche extraits incluent un sous- ensemble de la pluralité des paramètres de recherche inclus dans l'interrogation de recherche. Dans un mode de réalisation, les paramètres de recherche extraits sont la pluralité des paramètres de recherche inclus dans l'interrogation de recherche. Dans un mode de réalisation, la fonction de distribution aléatoire est une fonction de hachage. Dans un mode de réalisation, la fonction de distribution aléatoire est une quelconque fonction ergodique. 15 , [00521 Le gestionnaire de partitionnement 315 est configure pour interagir avec le moteur de recherche 320 afin de sélectionner une version de résultat de recherche qui satisfait la pluralité des paramètres de recherche parmi une pluralité de versions de résultat de recherche sur la base de l'identifiant d'interrogation. Chaque version de résultat de recherche parmi la pluralité des versions 5 de résultat de recherche est distincte des autres versions de résultat de recherche en vertu d'une variante. Le gestionnaire de partitionnement 3 15 transmet la version sélectionnée de résultat de recherche à PAPI cliente pour l'envoyer au client qui a soumis l'interrogation de recherche. [00531 Dans un mode de réalisation, l'identifiant de recherche est une valeur de hachage qui est distribuée de façon uniforme dans une fourchette de valeurs de hachage. Dans un mode de 10 réalisation, la fourchette de valeurs de hachage est partitionnée en une pluralité de partitions, chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche étant représentée par une partition parmi la pluralité des partitions. Dans un mode de réalisation, le gestionnaire de partitionnement 315 est configure pour mettre en antémémoire les données de versionnage qui associent un identifiant d'interrogation généré pour une interrogation de recherche 15 avec une version sélectionnée de résultat de recherche envoyée à un dispositif client dans un dispositif de stockage associé au système de réservation 300. Dans un mode de réalisation, une instruction d'activation inclut un ratio de sélection prédéfini qui spécifie comment les interrogations de recherche doivent être partitionnées parmi les diverses versions de résultat de recherche. Dans un mode de réalisation, un ratio actuel de sélection indiquant un partitionnement 20 actuel d'interrogations de recherche peut être déterminé sur la base des données de versionnage. Dans un mode de réalisation, le ratio actuel de sélection est utilisé pour confirmer que le moteur analytique 310 est en accord avec le ratio prédéfini de sélection. Dans un mode de réalisation, chaque variante associée à une version particulière de résultat de recherche est définie par les règles prédéfinies de partitionnement. Dans un mode de réalisation, la pluralité des versions de résultat 25 de recherche est disponible dans un dispositif de stockage accessible au moteur analytique 310 avant de recevoir l'interrogation de recherche. Dans un mode de réalisation, basé sur l'identifiant d'interrogation, le gestionnaire de partitionnement 315 est par ailleurs configure pour introduire une variante dans un résultat de recherche reçu du moteur de recherche. Dans un mode de réalisation, sur la base de l'identifiant de recherche, le gestionnaire de partitionnement 315 est par ailleurs configure pour s'abstenir d'introduire une variante dans un résultat de recherche reçu du moteur de recherche. 16 , [0054] Les données relatives à l'inventaire pour un ou plusieurs fournisseurs de services de voyage sont stockées dans une base de données d'inventaire 335 sous le contrôle d'un système de gestion d'inventaire 330. Dans un mode de réalisation, les données relatives à l'inventaire incluent des informations de disponibilité qui définissent des services non réservés dans l'inventaire de voyage. Tel qu'il est utilisé dans les présentes, « l'inventaire de services de voyage non réservés » concerne des portions d'un inventaire de services de voyage qui ne sont pas associés avec un quelconque des enregistrements de réservation stockés dans la base de données de réservation 345. Par contraste, « l'inventaire de services de voyage réservés » concerne des portions de l'inventaire de services de voyage qui sont associés avec un ou plusieurs enregistrements de réservation stockés 10 dans une base de données de réservation 345. Dans un mode de réalisation, les données relatives à l'inventaire incluent des informations tarifaires associées à l'inventaire de services de voyage non réservés. [0055] Les enregistrements de réservation pour un ou plusieurs fournisseurs de services de voyage sont stockés dans une base de données de réservation 345 sous le contrôle d'un système 15 de gestion de réservation 340. Le système de gestion de réservation 340 est configuré pour interagir avec le moteur de recherche 320 afin de traiter les demandes de réservation reçues au cours d'une phase de réservation du processus de traitement d'une réservation de voyage. En réponse à la réception d'une demande de réservation incluant un itinéraire de voyage, le système de gestion de réservation 340 génère un enregistrement de réservation dans la base de données de 20 réservation 345. Dans un mode de réalisation, l'enregistrement de réservation est un PNR. L'enregistrement de réservation inclut des données d'itinéraire et un localisateur d'enregistrement qui identifie de façon unique l'enregistrement de réservation dans la base de données de réservation 345. Le localisateur d'enregistrement peut aussi être désigné comme numéro de confirmation, numéro de réservation, code de confirmation, références de réservation, et ainsi de 25 suite. [0056] Les données d'itinéraire incluent généralement des informations de voyage définissant divers services de voyage inclus dans un itinéraire et les informations relatives à un ou plusieurs passagers associés à l'enregistrement de réservation. Des exemples d'information de voyage incluent : un lieu d'origine, un lieu de destination, une date de départ, une date de retour, un nombre 30 dans un groupe, un point de vente, un RFISC, une classe de réservation, un nombre d'escales, un numéro de vol, un identifiant de fournisseur de voyage, une cabine et ainsi de suite. Des exemples 17 d'informations de passager, pour chaque passager parmi ledit ou plusieurs passagers associés à un enregistrement de réservation incluent : le nom, le genre, la date de naissance, la nationalité, l'adresse du domicile, l'adresse professionnelle, les informations du passeport, et ainsi de suite. [00571 On peut noter, en comparant ces exemples d'information de voyage avec les exemples de paramètres de recherche décrits ci-dessus par rapport à l'application cliente 215 de la FIG. 2 que des éléments de données communs existent entre les interrogations de recherche et les enregistrements de réservation. Ces points de données communs sont utilisés par le gestionnaire d'évaluation 317 du moteur analytique 310 pour corréler les enregistrements de réservation avec les versions particulières de résultat de recherche envoyées précédemment à un client sans utiliser 10 un quelconque identifiant client. Spécifiquement, le gestionnaire d'évaluation 317 interagit avec Je système de gestion de réservation 340 via le réseau 360 pour récupérer des enregistrements de réservation stockés dans une base de données de réservation 345. Le gestionnaire d'évaluation 317 transmet chaque enregistrement de réservation reçu du système de gestion de réservation 340 au générateur pseudo aléatoire 313. 15 [00583 Le générateur pseudo aléatoire 313 est configuré pour analyser un enregistrement de réservation afin d'extraire des données relatives aux paramètres de recherche à partir des informations de voyage incluses dans l'enregistrement de réservation conformément à des règles prédéfinies de partitionnement. Le générateur pseudo aléatoire 313 injecte les données relatives aux paramètres de recherche extraites dans une fonction de distribution aléatoire pour déterminer 20 un identifiant d'interrogation associé à l'enregistrement de réservation. Dans un mode de réalisation, une fonction de distribution aléatoire utilisée pour déterminer un identifiant de partition associé à un enregistrement de réservation est la même fonction de distribution aléatoire utilisée pour générer un identifiant d'interrogation pour une interrogation de recherche. L'identifiant d'interrogation est transmis par Je générateur pseudo aléatoire 313 au gestionnaire 25 d'évaluation 317 pour un traitement ultérieur. La comparaison de l'identifiant d'interrogation avec les règles prédéfinies de partitionnement utilisées pour sélectionner des versions de résultat de recherche pour des interrogations de recherche permet au gestionnaire d'évaluation 317 de corréler l'enregistrement de réservation avec une version de résultat de recherche parmi la pluralité des versions de résultat de recherche. 30 [00593 En corrélant des enregistrements de réservation avec des versions particulières de résultat de recherche envoyées précédemment à un client, le gestionnaire d'évaluation 317 est 18 , capable de compiler des données d'évaluation. Sur la base des données d'évaluation, le gestionnaire d'évaluation 317 détermine une métrique d'évaluation, telle qu'un taux de conversion pour chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche. [0060] En générant l'enregistrement de réservation, le système de gestion de réservation 340 soumet une requête au système de gestion d'inventaire 330 pour actualiser la base de données d'inventaire 335 conséquemment. Pour actualiser la base de données d'inventaire 335, tous les services de voyage inclus dans l'itinéraire sont associés au localisateur d'enregistrement et passent de l'inventaire de services de voyage non réservés à l'inventaire de services de voyage réservés. 10 Lors de l'actualisation de la base de données d'inventaire 335, le système de gestion d'inventaire 330 peut transmettre un message de confirmation au système de gestion de réservation 340. Le système de gestion de réservation 340, réceptif à la réception du message de confirmation, peut transmettre le localisateur d'enregistrement à un dispositif client qui a envoyé la demande de réservation afin de confirmer que l'itinéraire est réservé. Dans un mode de 15 réalisation, le système de gestion de réservation 340 transmet le localisateur d'enregistrement au dispositif client via le moteur de recherche 320. [00611 Les enregistrements de billets pour un ou plusieurs fournisseurs de services de voyage sont stockés dans la base de données billettiques 355 sous le contrôle du système de gestion billettique 350. Le système de gestion billettique 350 est configuré pour interagir avec le moteur 20 de recherche 320, le système de gestion d'inventaire 330, et le système de gestion de réservation 340 afin de traiter les demandes d'émission de billets reçues au cours d'une phase d'émission de billets d'un processus de réservation de voyage. Pendant la phase d'émission de billets, une demande d'émission d'un billet identifiant un localisateur d'enregistrement correspondant à un itinéraire réservé est reçu par un système de gestion billettique 350. En général, 25 une demande d'émission de billets est déclenchée une fois que le paiement est reçu pour un itinéraire réservé. Dans un mode de réalisation, la demande d'émission de billets est reçue par le système de gestion billettique 350 via un moteur de recherche 320. [00621 Lors de la réception de la demande d'émission de billets, le système de gestion billettique 350 transmet le localisateur d'enregistrement au système de gestion de réservation 340. 30 En réponse au localisateur d'enregistrement, le système de gestion billettique 350 reçoit un enregistrement de réservation associé au localisateur d'enregistrement en provenance du système 19 de gestion de réservation 340. Le système de gestion billettique 350 génère un enregistrement de billets dans la base de données billettiques 355 pour chaque segment de services de voyage et chaque passager associé à l'itinéraire de voyage réservé en utilisant les informations de voyage et les informations de passager dans l'enregistrement de réservation. [0063] Par exemple, un enregistrement de réservation peut inclure des informations de passagers concernant deux passagers. L'enregistrement de réservation peut par ailleurs inclure des informations de voyage qui définissent deux segments de vols d'une compagnie aérienne pour le voyage, d'un lieu d'origine un à lieu de destination, via un lieu d'escale et un segment de vol d'une compagnie aérienne pour voyager du lieu de destination au lieu d'origine. Dans cet exemple, 10 l'information de voyage définit au total trois segments de vols de compagnies aériennes pour deux passagers. En réponse à la réception d'une demande d'émission de billets associée à l'enregistrement de réservation dans cet exemple, le système de gestion billettique 350 générerait. six enregistrements de billets dans la base de données billettiques 355. Le système de gestion billettique 350 soumettrait une demande au système de gestion de réservation 340 pour mettre à 15 jour l'enregistrement de réservation stocké dans la base de données de réservation 345 afin d'inclure six numéros de billets identifiant chaque enregistrement de billet généré. C'est-à-dire que dans cet exemple, un simple enregistrement de réservation stocké dans la base de données de réservation 345 inclurait six numéros de billet identifiant six enregistrements de billet stockés dans la base de données billettiques 355. 20 [0064] La FIG. 4 illustre un exemple d'une interface 400 ayant une zone d'entrées de recherche configurée pour recevoir des données saisies pour générer une interrogation de recherche. L'interface 400 peut être présentée par une application cliente en cours d'exécution sur un dispositif client (p. ex. l'application cliente 215 et le dispositif client 210 de la FIG. 2, respectivement) au cours d'une phase de recherche d'un processus de réservation de voyage en 25 utilisant des données reçues d'un moteur de recherche (p. ex., le moteur de recherche 320 de la FIG.3). Les données entrées reçues via l'interface 400 peuvent être utilisées par le dispositif client pour déterminer les paramètres de recherche pour une interrogation de recherche, [0065] La FIG. 5 illustre un exemple d'une interface 500 affichant un résultat de recherche reçu en réponse à une interrogation de recherche. L'interface 500 peut être présentée par une 30 application cliente en cours d'exécution sur un dispositif client en réponse à l'utilisation de données reçues par un moteur de recherche en réponse à une interrogation de recherche. Le résultat 20 de recherche affiché dans l'interface 500 inclut deux itinéraires identifiés par le moteur de recherche comme satisfaisant les paramètres de recherche de l'interrogation de recherche. Chaque itinéraire inclut des données associées au voyage telles que des données de disponibilité de services de voyage et des données tarifaires pour les services de voyage. Un élément interactif « Réserver » est aussi fourni sur l'interface 500 à côté de chaque itinéraire pour permettre au client de soumettre une demande de réservation pour l'itinéraire correspondant. Dans un mode de réalisation, le résultat de recherche affiché sur l'interface 500 correspond à un cas où le gestionnaire de partitionnement associé au moteur de recherche (p. ex., le gestionnaire de partitionnement 315 de la FIG. 3) s'abstient d'introduire une variante dans le résultat de recherche. 0 [00661 Les FIGS. 6-9 illustrent des interfaces similaires à l'interface 500 de la FIG. 5 dans lesquels le gestionnaire de partitionnement introduit une variante dans le résultat de recherche. Par exemple, la FIG. 6 illustre une interface 600 affichant une version de résultat de recherche qui est distincte des autres versions de résultat de recherche en vertu d'un arrangement des éléments de l'interface. Spécifiquement, les positions des éléments d'interface 610 et 620 relatifs aux éléments 15 de données relatives au voyage 615 et 625 respectivement, ont été changées en comparaison à l'interface 500 de la FIG. 5. Comme autre exemple, la FIG. 7 illustre une interface 700 affichant une version de résultat de recherche qui est distincte des autres versions de résultat de recherche en vertu des éléments tarifaires associés aux deux itinéraires. Spécifiquement, les éléments tarifaires associés à # I et l'itinéraire # 2, représentés par les éléments de données 20 associés au voyage 710 et 720 respectivement, ont été diminués en comparaison à l'interface 500 de la FIG. 5. [00671 La FIG. 8 illustre un autre exemple d'une interface 800 affichant une version de résultat de recherche qui est distincte des autres versions de résultat de recherche en vertu d'un élément visuel associé au résultat de recherche. Spécifiquement, la taille de police associée aux éléments 25 de données associés au voyage 810 et 820 a été respectivement augmentée et diminuée en comparaison à l'interface 500 de la FIG. 5. Comme autre exemple, la FIG. 9 illustre une interface 900 affichant une version de résultat de recherche qui est distincte des autres versions de résultat de recherche en vertu d'un élément d'interface additionnel. Spécifiquement, un lien hypertexte correspondant à un site Web fournissant des détails d'une offre spéciale associée à 30 l'itinéraire #1 représenté par l'élément d'interface 910 a été ajouté à l'interface 900, lequel n'était pas présent dans l'interface 500 de la FIG. 5. 21 [00681 La F1G.10 décrit un mode de réalisation d'un procédé 1000 pour le partitionnement agnostique pour le client des interrogations de recherche en utilisant des identifiants d'interrogation basés sur des paramètres de recherche dans un environnement informatique distribué. Dans un mode de réalisation, le procédé 1000 peut être mis en oeuvre par le système de réservation 300 de la FIG. 3 au moment où il génère un identifiant d'interrogation pour une interrogation de recherche reçue. Au bloc 1002, une interrogation de recherche incluant une pluralité de paramètres de recherche est reçue. Dans un mode de réalisation, le bloc 1002 peut être mis en oeuvre par un gestionnaire de partitionnement 315 de la FIG. 3. Dans un mode de réalisation, la demande de recherche est un appel provenant d'une API qui est adressé à une API 10 d'un système de réservation. Dans un mode de réalisation, l'appel API sollicite une fonction de distribution aléatoire du système de réservation qui génère des identifiants d'interrogation. Dans un mode de réalisation, la pluralité des paramètres de recherche correspond à une demande de voyage pour un client. Dans un mode de réalisation, la demande est reçue en provenance d'un dispositif client. Dans un mode de réalisation, la demande est reçue en provenance d'un client 5 Web. Dans un mode de réalisation, la pluralité des paramètres de recherche inclut un numéro de vol, une date de départ, une date d'arrivée, un point d'origine, une destination, un nombre d'escales, une classe de réservation, un point de vente, un nombre dans un groupe, une RFSIC ou une combinaison de ceux-ci. [0069] Au bloc 1004, un identifiant d'interrogation est généré pour l'interrogation de 20 recherche sur la base de la pluralité des paramètres de recherche. Dans un mode de réalisation, le bloc 1004 peut être mis en oeuvre par un générateur pseudo aléatoire 313 de la FIG. 3. Dans un mode de réalisation, l'identifiant d'interrogation est généré par l'application d'une fonction de hachage à la pluralité des paramètres de recherche de l'interrogation de recherche. Dans un mode de réalisation, l'identifiant de recherche est une valeur de hachage qui est distribuée de façon 25 uniforme dans une fourchette de valeurs de hachage. Dans un mode de réalisation, la fourchette de valeurs de hachage est partitionnée en une pluralité de partitions, chaque version de résultat de recherche étant représentée par une partition parmi la pluralité des partitions. Dans un mode de réalisation, l'identifiant d'interrogation est généré par l'application d'une fonction ergodique à la pluralité des paramètres de recherche de l'interrogation de recherche. Dans un mode de réalisation, 30 les données sont en antémérnoire dans un dispositif de stockage qui associe un identifiant d'interrogation à une version sélectionnée de résultat de recherche envoyée à un dispositif client. 22 0070] Au bloc 1006, une version d'un résultat de recherche parmi de multiples versions de résultat de recherche est sélectionnée sur la base de l'identifiant d'interrogation. Chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche est distincte des autres versions en vertu d'une variante. Dans un mode de réalisation, la variante inclut un élément 5 tarifaire d'un itinéraire de voyage, un élément visuel associé au résultat de recherche, un élément d'interface associé au résultat de recherche, un arrangement des éléments d'interface associé au résultat de recherche, ou une combinaison de ceux-ei. Au bloc 1008, la version sélectionnée de résultat de recherche est envoyée au client en réponse à l'interrogation de recherche. Dans un mode de réalisation, le bloc 1006 et le bloc 1008 peuvent être mis en oeuvre par le gestionnaire de 10 partitionnernent 315 de la FIG. 3. Dans un mode de réalisation, le client est un dispositif client. Dans un mode de réalisation, le client est un client Web. [0071] La FIG. I l décrit un mode de réalisation d'un procédé 1100 pour un suivi agnostique pour le client de réponses de sessions croisées en utilisant des identifiants d'interrogation basés sur des paramètres de recherche dans un environnement informatique distribué. Dans un mode de 15 réalisation, le procédé 1100 peut être mis en oeuvre par le système de réservation 300 de la FIG. 3, au moment où il effectue la corrélation d'un enregistrement dans une base de données de réservation avec une version sélectionnée de résultat de recherche parmi la pluralité des versions en utilisant un identifiant d'interrogation. Au bloc 1102, un enregistrement est reçu qui a été généré dans une base de données de réservation réceptive d'une réservation d'un itinéraire de voyage 20 inclus dans une réponse à une recherche. Dans un mode de réalisation, le bloc 1102 peut être mis en oeuvre par le gestionnaire d'évaluation 317 de la FIG. 3. [0072] Au bloc 1104, l'enregistrement est analysé pour identifier une pluralité de paramètres de recherche inclus dans une interrogation de recherche ayant incité la réponse à la recherche. Dans un mode de réalisation, la pluralité des paramètres de recherche est identifiée dans des règles 25 de partitionnement prédéfinies, reçues dans une instruction d'activation. Au bloc 1106, un identifiant l'interrogation, associé à l'enregistrement, est généré sur la base de la pluralité des paramètres de recherche. Dans un mode de réalisation, l'identifiant d'interrogation est généré en utilisant la même fonction de distribution aléatoire qui a été utilisée pour générer un identifiant d'interrogation pour l'interrogation de recherche. Dans un mode de réalisation, le bloc 1104 et le 30 bloc 1106 peuvent être mis en oeuvre en utilisant le générateur pseudo aléatoire 313 de la FIG 23 Au bloc 1108, l'enregistrement est corrélé avec une version de résultat de recherche parmi la pluralité des versions de résultat de recherche sur la base de l'identifiant d'interrogation. [00731 Après avoir décrit divers modes de réalisation de l'invention, un environnement informatique exemplaire adapté à l'implémentation des modes de réalisation de l'invention va 5 maintenant être décrit. Par référence à la FIG. 12, un dispositif client 210, un site Vtleb de métarecherche de voyage 220, un système de réservation de fournisseurs 230, un système mondial de réservation 240, un système de réservation 300, un moteur analytique 310, un moteur de recherche 320, un système de gestion de réservations 340 et un système de gestion billettique 350 peuvent être implémentés sur un ou plusieurs dispositifs ou systèmes informatiques tels que le 10 système informatique exemplaire 1200. Le système informatique 1200 peut comprendre un processeur 1226, une mémoire 1228, un dispositif de mémoire de masse 1230, une interface entrée/sortie (VO) 1232, et une interface homme-machine (I-IMI) 1234. Le système informatique 1200 peut aussi être couplé de façon fonctionnelle à une ou plusieurs ressources externes 1236 via le réseau 1223 ou l'interface I/0 1232. Les ressources externes peuvent inclure, mais de façon non exhaustive, des serveurs, des bases de données, des dispositifs de stockage de masse, des dispositifs périphériques, des services de réseau en nuage basé sur le cloud, ou toute autre ressource informatique adaptée qui peut être utilisée avec l'ordinateur 1200. [00741 Le processeur 1226 peut inclure un ou plusieurs dispositifs sélectionnés ; microprocesseurs, microcontrôleurs, processeurs de signal numérique, micro-ordinateurs, unités 20 centrales de traitement, réseaux de portes programmables, dispositifs logiques programmables, machines à état défini, circuits logiques, circuits analogiques, circuits numériques, ou tout autre dispositif servant à manipuler des signaux (analogues ou numériques), basés sur des instructions de fonctionnement enregistrées dans la mémoire 1228. La mémoire 1228 peut inclure un seul dispositif de mémoire ou une pluralité de dispositifs de mémoire comprenant, de façon non 25 exhaustive, la mémoire à lecture seule (ROM), la mémoire à accès aléatoire (RAM), la mémoire volatile, la mémoire non volatile, la mémoire vive statique (SRAM), la mémoire dynamique à accès aléatoire (DRAM), la mémoire flash, Pantémémoire (cache memory), ou tout autre dispositif capable de stocker des informations. Le dispositif de de stockage de mémoire de masse 1230 peut inclure des dispositifs de stockage de données tels qu'un disque dur, un lecteur de disque optique, 30 un dérouleur de bande, un dispositif à état défini non volatile ou tout autre dispositif capable de stocker des informations. 24 [0075] Le processeur 1226 peut fonctionner sous le contrôle d'un système d'exploitation 1238 qui réside dans la mémoire 1228. Le système d'exploitation 1238 peut gérer les ressources de l'ordinateur de telle façon que le code de programme de l'ordinateur, intégré sous forme d'un ou plusieurs logiciels d'application, telle que l'application 1240 qui réside dans la mémoire 1228, 5 puisse disposer d'instructions exécutées par le processeur 1226. Dans un autre mode de réalisation, le processeur 1226 peut exécuter l'application 1240 directement et dans ce cas, le système d'exploitation 1238 peut être omis. Une ou plusieurs structures de donnée 1242 peuvent également résider dans la mémoire 1228, et peuvent être utilisées par le processeur 1226, le système d'exploitation 1238, ou l'application 1240 pour stocker ou manipuler des données. 10 [0076] L'interface 110 1232 peut fournir une interface machine qui couple de façon fonctionnelle le processeur 1226 à d'autres dispositifs et systèmes, tels que le réseau 1223 ou une ou plusieurs ressources externes 1236. L'application 1240 peut ainsi collaborer avec le réseau 1223 et/ou les ressources externes 1236 en communiquant par l'intermédiaire de l'interface I/0 1232 pour fournir les divers éléments, fonctions, applications, processus, ou modules composant les modes de réalisation de l'invention. Le serveur d'application 1240 peut aussi avoir un code de programme qui est exécuté par une ou plusieurs ressources externes 1236 ou sinon repose sur les fonctions ou signaux fournis par d'autres systèmes ou composants de réseau externe à l'ordinateur 1200. En effet, au vu des configurations presque infinies de matériel informatique et de logiciel possibles, les hommes de métier comprendront que les modes de réalisation de 20 l'invention peuvent inclure des applications localisées extérieurement à l'ordinateur 1200, distribuées à des ordinateurs multiples et à d'autres ressources externes 1236, ou apportées par des ressources informatiques (matériel et logiciel) qui sont fournies comme services sur le réseau 1223, par exemple un service d'informatique en nuage (cloud computing). [00771 Le HMI 1234 peut être couplé de façon opérationnelle au processeur 1226 du système 25 informatique 1200 d'une façon connue pour permettre à un utilisateur d'interagir directement avec le système informatique 1200. Le HMI 1234 peut inclure des affichages vidéo ou alphanumériques, un écran tactile, un haut-parleur et tout autre indicateur audio et visuel adapté, capables de fournir des données à l'utilisateur. Le HMI 1234 peut aussi inclure des dispositifs de saisie et des contrôles tels qu'un clavier alphanumérique, un dispositif de pointage, des boutons 30 poussoirs, des boutons de contrôle, des microphones, etc., capables d'accepter des commandes ou des saisies de l'utilisateur et de transmettre la saisie entrée au processeur 1226. 25 [0078I Une base de données 1244 peut résider sur le dispositif de stockage de mémoire de masse et peut être utilisée pour collecter et organiser des données utilisées par les divers systèmes et modules décrits dans les présentes. Une base de données d'inventaire 335, une base de données de réservation 345 et une base de données billettiques 355 peuvent être implémentés en utilisant une ou plusieurs bases de données telles que la base de données 1244. La base de données 1244 peut inclure des données ainsi que les structures de donnée qui les accommodent pour stocker et organiser les données. En particulier, la base de données 1244 peut-être arrangée selon toute organisation ou structure de base de données incluant, mais de façon non exhaustive, une base de données relationnelle, une base de données de type hiérarchique, une base de données en réseau, 10 ou des combinaisons de celles-là. Un système de gestion de base de données sous forme de logiciel d'application qui s'exécute sous la forme d'instructions sur le processeur 1226 peut être utilisé pour accéder à l'information ou aux données stockées dans des fichiers de la base de données 1244 en réponse à une requête, lorsqu'une requête peut être déterminée de façon dynamique et exécutée par le système d'exploitation 1238, les autres applications 1240, ou un ou 15 plusieurs modules. [0079] 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-là, peuvent être désignées dans les 20 présentes comme « code de programme informatique » ou simplement « code de programme ». Le code de programme comprend typiquement des instructions lisibles par ordinateur qui résident à des moments divers dans des dispositifs divers de mémoire et de stockage dans un ordinateur, et qui lorsqu'il est lu et exécuté par un ou plusieurs processeurs dans un ordinateur, provoque l'exécution par l'ordinateur d'opérations et/ou d'éléments propres aux aspects variés 25 des modes de réalisation de l'invention. Les instructions d'un programme informatique lisibles par ordinateur pour effectuer les opérations des modes de réalisation de l'invention peuvent être, par exemple : le langage d'assemblage ou, un code source ou un code objet, écrit en combinaison avec un ou plusieurs langages de programmation. [0080] Le code de programme mis en oeuvre dans toute applicationimodule décrit dans les 30 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 26 distribué en utilisant un support de stockage lisible par ordinateur ayant des instructions de programme lisibles par ordinateur en amenant un processeur à exécuter des aspects des modes de réalisation de l'invention. [00811 Les supports de stockage de données lisibles par ordinateur et qui sont intrinsèquement non transitoires, peuvent inclure des médias tangibles, volatiles et non volatiles, amovibles et non amovibles, implémentés dans toute méthode ou technologie de stockage de données, telles que des instructions de programme lisibles par ordinateur, des structures de données, des modules de programme, ou autres données. Les supports de stockage lisibles par ordinateur peuvent aussi comprendre des mémoires une mémoire à accès aléatoire (RAM), une mémoire à lecture seule (ROM), une mémoire à lecture seule programmable et effaçable (EPROM), une mémoire à lecture seule programmable et effaçable électriquement (EEPROM une mémoire flash, ou toute technologie de support solide de mémoire, un disque compact portable doté d'une mémoire à lecture seule (CD-ROM), ou tout autre stockage optique, bandes d'enregistrement magnétique, mémoire à disque magnétique, ou tout autre support pouvant être utilisé pour stocker l'information désirée et apte à être lu par un ordinateur. Le support de stockage lisible par ordinateur ne peut être interprété en soi comme des signaux transitoires (des ondes radio ou d'autres ondes électromagnétiques propagées via des supports de transmission tels qu'un guide d'ondes, des signaux électriques transmis par un câble). Les instructions de programme lisibles par ordinateur peuvent être téléchargées sur un ordinateur, un autre type 20 d'appareil de traitement de données programmable ou sur tout autre dispositif de support de stockage lisible par machine, ou vers un ordinateur externe ou vers un dispositif de stockage externe par un réseau, 100821 Les instructions de programme lisibles par ordinateur, stockées sur un support lisible par ordinateur, peuvent être utilisées pour instruire un ordinateur, d'autres types d'appareils 25 programmables de traitement ou d'autres dispositifs pour fonctionner d'une façon particulière, de sorte que les instructions stockées sur un support lisible par ordinateur produisent un article de fabrication comprenant les instructions qui implémentent les fonctions, 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 30 processeurs d'un ordinateur à usage général, un ordinateur dédié ou un autre appareil programmable de traitement de données pour produire une machine, de sorte que les instructions, 27 lorsqu'elles sont exécutées à l'aide du ou de plusieurs 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. 100831 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 commandées à nouveau, traitées en série et/ou traitées en même temps conformément aux modes de réalisation de l'invention. De plus, tout organigramme, diagramme séquentiel, et/ou diagramme bloc peut inclure plus ou moins de blocs que ceux qui sont illustrés conformément à des modes de réalisation de l'invention. 10 100841 Le support de stockage lisible par ordinateur peut comprendre des instructions lisibles par ordinateur qui lors de l'exécution par un processeur d'un dispositif informatique amène le dispositif informatique à recevoir, au niveau d'un système de réservation, une interrogation de recherche correspondant à une demande de voyage pour un client en provenance d'un dispositif client, l'interrogation de recherche incluant une pluralité de paramètres de recherche déterminés 15 localement au niveau du dispositif client, pour générer via le système de réservation, un identifiant interrogation pour l'inten-ogation sur la base de la pluralité des paramètres de recherche, pour sélectionner une version de résultat de recherche parmi la pluralité des versions de résultat de recherche basée sur l'identifiant de recherche, chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche étant distincte des autres 20 versions de résultat de recherche en vertu d'une variante, le résultat de recherche incluant un itinéraire de voyage qui satisfait la pluralité des paramètres de recherche et pour envoyer la version sélectionnée de résultat de recherche au dispositif client, la version sélectionnée de résultat de recherche actualisant l'interface sur le dispositif client. Chaque version du résultat de recherche parmi la pluralité des versions de résultat de recherche peut diriger un navigateur Web 25 du dispositif client vers une version différente d'une page de résultat de recherche. [0085] Le support de stockage lisible par ordinateur peut aussi comprendre des instructions qui lors de l'exécution par le processeur amènent par ailleurs le dispositif informatique à déterminer une métrique d'évaluation pour chaque version de résultat de recherche parmi la pluralité de versions de résultat de recherche sur la base en partie de la corrélation d'un 30 enregistrement dans une base de données de réservation avec la version sélectionnée de résultat de recherche envoyée au client Web sur la base de l'identifiant d'interrogation, enregistrement 28 généré dans la base de données de réservation étant réceptif à une réservation de l'itinéraire de voyage. 29 REVENDICATIONSUn système comprenant : un dispositif informatique ; et un support de stockage lisible par ordinateur comprenant un premier ensemble d'instructions qui, au cours de l'exécution par le dispositif informatique, amène le système à: recevoir, au niveau d'un système de réservation, une interrogation de recherche correspondant à une demande de voyage pour un voyageur en provenance d'un dispositif client, l'interrogation de recherche incluant une pluralité de paramètres de recherche déterminés localement sur le dispositif client en utilisant des données d'entrée reçues via une interface sur le 10 dispositif client ; générer, par le système de réservation, un identifiant d'interrogation po l'interrogation de recherche sur la base de la pluralité des paramètres de recherche ; sélectionner une version d'un résultat de recherche parmi une pluralité de versions de résultat de recherche basée sur l'identifiant de recherche, chaque version du résultat de recherche 15 parmi la pluralité des versions de résultat de recherche étant distincte des autres versions de résultat de recherche en vertu d'une variante, le résultat de recherche incluant un itinéraire de voyage qui satisfait la pluralité des paramètres de recherche ; et envoyer la version sélectionnée de résultat de recherche au dispositif client, la version sélectionnée du résultat de recherche actualisant l'interface sur le dispositif client. 2. Le système selon la revendication 1, dans lequel le support de stockage lisible par ordinateur comprend par ailleurs un second ensemble d'instructions qui, lors de l'exécution par le dispositif informatique, amène par ailleurs le système à: corréler un enregistrement dans une base de données de réservation avec la version 25 sélectionnée de résultat de recherche envoyée au dispositif client sur la base de l'identifiant d'interrogation, l'enregistrement généré dans la base de données de réservation étant réceptif à la servation de l'itinéraire de voyage. 3. Le système selon l'une quelconque des revendications 1 ou 2, dans lequel l'interrogation 30 de recherche est un appel à une interface de programme d'application (API) visant une API du 20 30 système de réservation, dans lequel l'appel à une API sollicite une fonction de distribution aléatoire du système de réservation qui génère l'identifiant d'interrogation. 4. Le système selon la revendication 3, dans lequel fa fonction de distribution aléatoire est une fonction de hachage. 5. Le système selon l'une quelconque des revendications 1 à 4, dans lequel le second ensemble d'instructions, lors de l'exécution par le dispositif informatique, amène par ailleurs le système à: déterminer une métrique d'évaluation pour chaque versi la pluralité des versions de résultat de recherche. Le système selon l'une quelconque des revendications 1 à 5, dans lequel le second ensemble d'instructions lors de l'exécution par le système informatique amène par ailleurs le système à: mesurer un ratio actuel de sélection entre chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche: et comparer le ratio actuel de sélection à un ratio prédéfini de sélection. 7. Un procédé comprenant : la réception au niveau d'un système de réservation, d'une interrogation de recherche correspondant à une demande de voyage pour un voyageur en provenance d'un dispositif client, l'interrogation de recherche incluant une pluralité de paramètres de recherche déterminés localement au niveau du dispositif client en utilisant des données d'entrée reçues via une interface sur le dispositif client ; la génération, par le système de réservation d'un identifiant d'interrogation basé sur la pluralité des paramètres de recherche ; la détermination des résultats de recherche comprenant un itinéraire de voyage satisfaisant la pluralité des paramètres de recherche ; la sélection d'une version de résultat de recherche parmi une pluralité de versions de résultat de recherche basée sur l'identifiant de recherche, chaque version du résultat de recherche de résultat de cherche parmi 31 parmi la pluralité des versions de résultat de recherche étant distincte des autres versions de résultat de recherche en vertu d'une variante ; l'envoi de la version sélectionnée de résultat de recherche au dispositif client, la version sélectionnée du résultat de recherche actualisant l'interface sur le dispositif client. Le procédé selon la revendication 7, comprenant par ailleurs : la détermination d'une métrique d'évaluation pour chaque version de résultat de recherche parmi la pluralité des versions de résultat de recherche. 10 9. Le procédé selon la revendication 8, dans lequel la n'étique d'évaluation est un taux de conversion indicatif d'un pourcentage de réservations d'itinéraire de voyage associé à chaque version de résultat de recherche. 10. Le procédé selon lune quelconque des revendications 7 à 9, dans lequel la génération d'un identifiant d'interrogation comprend par ailleurs : l'application d'une fonction de hachage à la pluralité des paramètres de recherche dans l'interrogation de recherche, dans lequel la valeur de hachage est distribuée uniformément dans une fourchette de valeurs de hachage et la fourchette dc valeurs de hachage est partitionnée en une pluralité de partitions, chaque version de résultat de recherche est représentée par une 20 partition parmi la pluralité de partitions. 11. Le procédé selon la revendication 10, dans lequel la corrélation de l'enregistrement dans la base de données de réservation comprend par ailleurs l'application d'une fonction de hachage aux données dans l'enregistrement correspondant 25 à la pluralité des paramètres de recherche. 12. Le procédé selon l'une quelconque des revendications 7 à 11, comprenant par ailleurs : la mise en antémémoire de données de versionnage qui associe identifiant d'interrogation a la version sélectionnée de résultat de recherche envoyée au dispositif client dans un dispositif de stockage associé au système de réservation. la détermination d'un ratio actuel de sélection en utilisant les données de version ; et 32 la confirmation de l'adhérence d'un ratio de sélection prédéfini avec le ratio de sélection actuel. 13. Le procédé selon l'une quelconque des revendications 7 à 12, dans lequel la pluralité des paramètres de recherche inclut un numéro de vol, une date de départ, une date d'arrivée, un point d'origine, une destination, un nombre d'escales, une classe de réservation, un point de vente, un nombre dans un groupe, une raison pour l'émission d'un sous-code, ou une combinaison de ceux-ci. 10 14. Le procédé selon l'une quelconque des revendications 7 à 13. dans lequel la variante inclut un élément tarifaire de l'itinéraire de voyage, un élément visuel associé au résultat de recherche, un élément d'interface associé au résultat de recherche, un arrangement des éléments d'interface associé au résultat de recherche, ou une combinaison de ceux-ci. 15 15. Un programme d'ordinateur comprenant un code de programme pour exécuter les étapes du procédé selon l'une quelconque des revendications 7 à 14 lorsque ledit programme fonctionne sur un ordinateur.