Brevet FR3104296A1 — publié le 20210611

Un moteur de recherche est configuré pour déterminer un ensemble de produits principaux qui correspondent aux critères de recherche d’une demande de recherche. Un masque binaire de recherche est généré sur la base des critères de recherche indiqués dans la demande de recherche qui identifie un ou plusieurs produits auxiliaires. Si le masque binaire de recherche correspond à un masque binaire de référence représentant les produits auxiliaires demandés, les produits principaux sont sélectionnés pour la réponse à la demande de recherche. Le moteur de recherche vérifie également une disponibilité actuelle des produits auxiliaires associés aux produits principaux sélectionnés et renvoie au moins un des produits principaux pour lesquels la disponibilité actuelle a été déterminée. (Figure 2) SYSTÈME DE DÉRTERMINATION DE PRODUIT OPTIMISÉ DOMAINE L’invention concerne de manière générale des architectures client/serveur et, en particulier, des systèmes, procédés et systèmes informatiques pour déterminer des produits stockés dans une base de données en réponse à une demande client. CONTEXTE Au cours des dernières décennies, Internet a eu un impact radical sur l’architecture des systèmes fournisseurs de contenu qui sont basés sur des architectures client/serveur. Les systèmes fournisseurs de contenu modernes tendent à intégrer des caractéristiques de plus en plus dynamiques et interactives pour améliorer l’expérience de l’utilisateur en limitant la latence du système et pour optimiser leurs ressources de calcul. Les systèmes fournisseurs de contenu modernes utilisent un ou plusieurs serveurs qui reçoivent des demandes client de clients par l’intermédiaire d’une interface de communication via un réseau de communication. Un utilisateur peut soumettre une demande (également appelée requête) de contenu tel qu’un produit utilisant un dispositif client. Le serveur peut chercher un ou plusieurs produits candidats qui répondent à la demande de l’utilisateur, en utilisant un moteur de recherche implémentant un ou plusieurs processus de recherche, et renvoyer une réponse au client par l’intermédiaire de l’interface de communication. La réponse peut comprendre la liste des produits candidats calculés par le serveur de recherche et diverses informations liées à chaque produit candidat. L’utilisateur peut ensuite sélectionner un produit parmi les produits candidats pour obtenir plus de détails sur le produit et éventuellement acheter le produit par l’intermédiaire de demandes de suivi via l’interface de communication Certains systèmes fournisseurs de contenu existants peuvent également fournir des produits auxiliaires également appelés « produits complémentaires », « produits auxiliaires », « services » ou « services auxiliaires » pour certains produits candidats. Par conséquent, un utilisateur peut accéder à un ou plusieurs produits auxiliaires pour chaque produit principal fourni par le système de fournisseur de contenu. Par exemple, le système de fournisseur de contenu peut être un système de fournisseur de voyage qui détermine les options d’itinéraire en réponse à une demande de l’utilisateur pour un voyage, utilisateur précisant sur une interface utilisateur un ensemble de demandes de paramètres tels qu’une date, un lieu géographique de départ et un lieu géographique d’arrivée, et éventuellement des préférences d’utilisateur supplémentaires (par ex. le type de tarif, les correspondances, etc.). L’utilisateur peut ainsi accéder à l’interface utilisateur dédiée fournie par le système de fournisseur de voyage et soumettre une demande de voyage pour obtenir des informations de voyage et/ou acheter un produit de voyage (réservation de voyage) tels qu’un produit de vol pour un itinéraire donné à une date donnée. Dans certaines situations, l’utilisateur peut avoir besoin de services supplémentaires liés au produit de voyage, tels que des services optionnels liés au voyage (par ex. un service de repas, des services liés au siège, un service de transport d’animaux, etc.). Le moteur de recherche des systèmes fournisseurs de contenu conventionnels utilise des ressources de calcul de valeur pour traiter chaque demande d’utilisateur, un tel traitement exigeant un nombre important d’accès aux données stockées dans plusieurs bases de données ou ressources d’antémémoire et pour déterminer les produits candidats, donnant ainsi lieu à d’importants coûts de calcul par demande d’utilisateur. Par ailleurs, chaque produit candidat renvoyé par le système de fournisseur de contenu en réponse à la demande d’utilisateur peut être associé à une valeur (prix du produit) qui est calculée en utilisant d’importantes ressources de calcul. L’intégration de la disponibilité et de la valeur d’un produit complémentaire dans le prix final d’un produit principal pendant le processus de recherche augmenterait la latence du système fournisseur de contenu et aurait un impact négatif sur l’expérience de l’utilisateur. Des systèmes et procédés améliorés pour fournir des produits principaux en réponse à une demande d’utilisateur sont donc nécessaires. Ils intègrent un ou plusieurs produits ou services auxiliaires sans avoir un impact sur la latence et les ressources de calcul du système. RÉSUMÉ Selon un premier aspect, un procédé de traitement des demandes de recherche de base de données dans un environnement informatique distribué comprenant un moteur de recherche, une base de données d’antémémoire de produits et une base de données d’inventaire est fournie. La base de données d’antémémoire de produit est configurée pour stocker des enregistrements de données précisant les principaux produits récupérés dans une ou plusieurs bases de données de fournisseur, dans lesquelles chaque produit principal est associé à un masque binaire de référence représentant dans un format binaire un nombre de produits auxiliaires associés au produit principal correspondant, dans lequel le masque binaire de référence est généré sur la base des données reçues des bases de données de fournisseur et stocké dans la base de données d’antémémoire de produits. La base de données d’inventaire est configurée pour stocker les données de disponibilité liées aux produits principaux et les données de disponibilité liées aux produits auxiliaires associés aux produits principaux. Le procédé détermine, au moteur de recherche, en réponse à une demande de recherche d’un client, un ensemble de produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche et génère un masque binaire de recherche sur la base des critères de recherche indiqués dans la demande de recherche qui identifie un ou plusieurs produits auxiliaires. Le procédé détermine un sous-ensemble récupéré de produits principaux, le sous-ensemble comprenant les produits principaux avec les produits auxiliaires associés tels qu’identifiés dans la demande de recherche, en récupérant dans la base de données d’antémémoire de produits, le masque binaire de référence de chaque produit principal dans l’ensemble et en comparant le masque binaire de recherche au masque binaire de référence pour chaque produit principal dans l’ensemble et en sélectionnant le produit principal pour le sous-ensemble, si le masque binaire de recherche et le masque binaire de référence respectif correspondent. Le procédé détermine une disponibilité pour les produits auxiliaires associés à chaque produit principal dans le sous-ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire. Le procédé met à jour, pour chaque produit principal dans le sous-ensemble, le masque binaire de référence dans la base de données d’antémémoire de produits, si un ou plusieurs des produits auxiliaires associés au produit principal dans le sous-ensemble sont déterminés comme étant indisponibles. Le procédé renvoie au moins un des produits principaux du sous-ensemble pour lequel la disponibilité des produits auxiliaires associés était déterminé au client. Dans certains modes de réalisation, le procédé détermine en récupérant, en réponse à une demande de recherche d’un client, dans une base de données d’antémémoire de produits, l’ensemble des produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche et détermine la disponibilité pour chaque produit principal dans l’ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire. Pour chaque produit principal dans le sous-ensemble, le procédé supprime le produit principal provenant du sous-ensemble, si le produit principal est déterminé comme étant indisponible, modifiant ainsi le sous-ensemble de produits principaux. Dans certains modes de réalisation, le procédé détermine en récupérant, en réponse à une demande de recherche d’un client, dans ladite une ou plusieurs bases de données de fournisseur, l’ensemble des produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche. Dans certains modes de réalisation, le procédé calcule un ou plusieurs tarifs correspondant aux produits principaux dans le sous-ensemble et/ou aux produits auxiliaires associés aux produits principaux dans le sous-ensemble et en ajoute les tarifs calculés au sous-ensemble et/ou calcule les solutions tarifaires pour les produits principaux dans le sous-ensemble et/ou les produits auxiliaires associés aux produits principaux dans le sous-ensemble et en ajoutant les solutions tarifaires calculées au sous-ensemble. Dans certains modes de réalisation, le masque binaire de référence et/ou le masque binaire de recherche est un vecteur binaire comprenant un ensemble de composants binaires, les composants binaires étant générés par une fonction prédéfinie. Selon certains modes de réalisation, le masque binaire de référence et le masque binaire de recherche est un filtre de Bloom. Selon certains modes de réalisation, la détermination d’une disponibilité pour chaque produit principal dans le sous-ensemble et/ou les produits auxiliaires associés à chaque produit principal dans le sous-ensemble comprend l’émission d’une demande de disponibilité à la base de données d’inventaire et la réception d’une réponse à la demande de disponibilité, l’identification du produit principal et/ou du produit auxiliaire comme étant disponible si la réponse à la demande de disponibilité renvoie une indication selon laquelle le produit principal et/ou le produit auxiliaire est disponible et identifiant le produit principal et/ou le produit auxiliaire comme étant indisponible si la réponse à la demande de disponibilité renvoie une indication selon laquelle le produit principal et/ou le produit auxiliaire n’est pas disponible. Selon un autre aspect, un moteur de recherche est fourni pour traiter des demandes de recherche de base de données dans un environnement informatique distribué comprenant une base de données d’antémémoire de produits et une base de données d’inventaire. La base de données d’antémémoire de produit est configurée pour stocker des enregistrements de données précisant les principaux produits récupérés dans une ou plusieurs bases de données de fournisseur, dans lesquelles chaque produit principal est associé à un masque binaire de référence représentant dans un format binaire un nombre de produits auxiliaires associés au produit principal correspondant, dans lequel le masque binaire de référence est généré sur la base des données reçues de ladite une ou plusieurs bases de données de fournisseur et stocké dans la base de données d’antémémoire de produits. La base de données d’inventaire est configurée pour stocker les données de disponibilité liées aux produits principaux et les données de disponibilité liées aux produits auxiliaires associés aux produits principaux. Le moteur de recherche est configuré pour déterminer en récupérant, en réponse à une demande de recherche d’un client, un ensemble de produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche et pour générer un masque binaire de recherche sur la base des critères de recherche indiqués dans la demande de recherche qui identifie un ou plusieurs produits auxiliaires. Le moteur de recherche est configuré pour déterminer un sous-ensemble de l’ensemble récupéré de produits principaux, le sous-ensemble comprenant les produits principaux avec les produits auxiliaires associés comme identifiés dans la demande de recherche, en récupérant dans la base de données d’antémémoire de produits, le masque binaire de référence de chaque produit principal dans l’ensemble et en comparant le masque binaire de recherche au masque binaire de référence pour chaque produit principal dans l’ensemble et en sélectionnant le produit principal pour le sous-ensemble, si le masque binaire de recherche et le masque binaire de référence respectif correspondent. Le moteur de recherche est configuré pour déterminer une disponibilité des produits auxiliaires associés à chaque produit principal dans le sous-ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire et pour mettre à jour le masque binaire de référence dans la base de données d’antémémoire de produits si un plusieurs des produits auxiliaires associés au produit principal dans les sous-ensembles sont déterminées comme étant indisponibles. Le moteur de recherche est configuré pour renvoyer au moins un des produits principaux du sous-ensemble pour lequel la disponibilité des produits auxiliaires associés a été déterminé au client. Dans certains modes de réalisation, le moteur de recherche est par ailleurs configuré pour déterminer en récupérant, en réponse à une demande de recherche d’un client, dans la base de données d’antémémoire de produits, l’ensemble des produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche et pour déterminer une disponibilité pour chaque produit principal dans le sous-ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire et, pour chaque produit principal dans le sous-ensemble, supprimer le produit principal du sous-ensemble si le produit principal est déterminé comme étant indisponible, modifiant ainsi le sous-ensemble de produits principaux. Dans certains modes de réalisation, le moteur de recherche est configuré pour déterminer en récupérant, en réponse à une demande de recherche d’un client, dans ladite une ou plusieurs bases de données de fournisseur, l’ensemble des produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche. Dans certains modes de réalisation, le moteur de recherche est configuré pour calculer un ou plusieurs tarifs correspondant aux produits principaux dans le sous-ensemble et/ou aux produits auxiliaires associés aux produits principaux dans le sous-ensemble et en ajoutant les tarifs calculés au sous-ensemble et/ou calculer les solutions tarifaires pour les produits principaux dans le sous-ensemble et/ou les produits auxiliaires associés aux produits principaux dans le sous-ensemble et en ajoutant les solutions tarifaires calculées au sous-ensemble. Dans certains modes de réalisation, le moteur de recherche est configuré pour déterminer une disponibilité pour chaque produit principal dans le sous-ensemble et/ou les produits auxiliaires associés à chaque produit principal dans le sous-ensemble en émettant une demande de disponibilité à la base de données d’inventaire et en recevant une réponse à la demande de disponibilité, en identifiant le produit principal et/ou le produit auxiliaire comme étant disponible si la réponse à la demande de disponibilité renvoie une indication selon laquelle le produit principal et/ou le produit auxiliaire est disponible et en identifiant le produit principal et/ou le produit auxiliaire comme étant indisponible si la réponse à la demande de disponibilité renvoie une indication selon laquelle le produit principal et/ou le produit auxiliaire n’est pas disponible. Dans certains modes de réalisation, le masque binaire de référence et/ou le masque binaire de recherche est un vecteur binaire comprenant un ensemble de composants binaires, les composants binaires étant générés par une fonction prédéfinie. Dans certains modes de réalisation, le masque binaire de référence ou le masque binaire de recherche est un filtre de Bloom. Selon un autre aspect, un environnement informatique distribué est fourni comprenant une base de données d’antémémoire de produits, une base de données d’inventaire et un moteur de recherche selon l’un quelconque des aspects susmentionnés. Selon un autre aspect, un produit-programme d'ordinateur comprenant des instructions de code de programme stockées sur un support lisible par ordinateur est fourni pour exécuter les étapes du procédé selon l’un quelconque des aspects susmentionnés lorsque ledit programme est exécuté sur un ordinateur. Les présents mécanismes seront décrits en référence aux dessins les accompagnant. Des numéros de référence similaires indiquent généralement des éléments identiques ou dont le fonctionnement est similaire. est une vue schématique d’un système fournisseur de contenu, selon certains modes de réalisation. est un diagramme séquentiel pour le traitement des demandes de recherche au moteur de recherche. présente une vue schématique d’un moteur de recherche, selon une application exemplaire de l’invention au domaine du voyage. présente un environnement d’exploitation d’un système fournisseur de voyage selon un mode de réalisation exemplaire. est un diagramme bloc d’un filtre, selon un mode de réalisation. est un organigramme illustrant le processus de mise à jour du filtre de Bloom, selon un mode de réalisation. est un organigramme illustrant le processus de mise à jour du filtre de Bloom, selon un autre mode de réalisation. est une représentation schématique d’un estimateur de frais auxiliaires, selon certains modes de réalisation. est un organigramme illustrant le processus de traitement d’une demande de recherche, selon certains modes de réalisation. est une représentation schématique des composants internes d’une machine informatique telle que décrite dans les présentes. DESCRIPTION DÉTAILLÉE La présente invention concerne généralement le traitement des demandes de recherche de bases de données dans un environnement informatique distribué comme présenté à la FIG. 1. L’environnement informatique distribué comprend un moteur de recherche 1, un ou plusieurs clients 2, une base de données d’antémémoire de produits 3, une base de données d’inventaire 4. Les clients 2, la base de données d’antémémoire de produits 3 et la base de données d’inventaire 4 sont géographiquement situés à n’importe quel endroit et sont des machines informatiques individuelles telles que des ordinateurs personnels, des stations mobiles telles que des ordinateurs portables ou des tablettes électroniques, des smartphones, et similaires, ainsi que, dans certains modes de réalisation, des machines plus puissantes telles que des serveurs d’applications de bases de données, des systèmes de bases de données distribués comprenant respectivement de multiples machines interconnectées, des centres de données, etc. Dans certains modes de réalisation, la base de données d’antémémoire de produits 3 et/ou la base de données d’inventaire 4 peuvent être des machines similaires telles que des clients 2, tandis que, dans d’autres modes de réalisation, la base de données d’antémémoire de produits 3 et/ou la base de données d’inventaire 4 sont plus puissantes (en termes de ressources de calcul) que les clients 2. La base de données d’antémémoire de produits 3, la base de données d’inventaire 4 et les clients 2 peuvent être constituées de plusieurs machines matérielles en fonction des exigences de performance. La base de données d’antémémoire de produits 3, la base de données d’inventaire 4 et les clients 2, sont conçus par ex. comme des machines matérielles stationnaires ou mobiles comprenant des machines informatiques 100 comme illustré à la FIG. 10 et/ou comme des systèmes spécialisés tels que des systèmes intégrés agencés dans un but technique particulier et/ou comme des composants logiciels fonctionnant sur une machine à matériel informatique général ou spécialisé (tels qu’un serveur Web et des clients Web). La base de données d’antémémoire de produits 3, la base de données d’inventaire 4 et les clients 2 sont interconnectés par les interfaces de communication 5. Chacune des interfaces 6 utilise un réseau local (LAN) filaire ou sans fil ou un réseau métropolitain (MAN) filaire ou sans fil ou un réseau étendu (WAN) filaire ou sans fil tel qu’Internet ou une combinaison des technologies de réseau susmentionnées et sont implémentées par un quelconque protocole de réseau et de communication approprié. Les demandes de recherche qui sont demandées par des clients 2 via les interfaces de communication 5 sont reçues au moteur de recherche 1. Le moteur de recherche 1 peut implémenter des protocoles de communication standardisés à travers les couches du modèle de référence OSI. Parmi d’autres, le moteur de recherche 1 peut employer des mécanismes de traitements initiaux tels que des reconnaissances d’erreurs et des corrections, un ensemble de paquets, ainsi que le fait de déterminer si une requête de base de données valide a été reçue. Les messages non valides peuvent déjà être rejetés par les moteurs de recherche 1 pour des raisons de sécurité et de performance. La base de données d’antémémoire de produits 3 est configurée pour stocker des enregistrements de données précisant les produits principaux et les produits auxiliaires associés récupérés dans une ou plusieurs bases de données de fournisseur (telles que le système fournisseur de voyage 303 de la FIG. 4). Les enregistrements de données peuvent préciser les produits auxiliaires pré-calculés ou mis en antémémoire, et, en option, les produits principaux pré-calculés ou mis en antémémoire. Les produits principaux sont associés à un masque binaire de référence respectif représentant dans un format binaire un nombre de produits auxiliaires associés au produit principal correspondant, dans lequel le masque binaire de référence est généré sur la base des données reçues des bases de données de fournisseur et stocké dans la base de données d’antémémoire de produits. Les masques binaires de référence facilitent la recherche efficace et la récupération des produits auxiliaires associés à un produit principal, comme expliqué plus en détail ci-dessous. La base de données d’antémémoire de produits 3 peut être implémentée comme une autre base de données en plus des bases de données de fournisseur. Dans certains modes de réalisation, la base de données d’antémémoire de produits 3 peut également être une antémémoire logique, c.-à-d. que les données de la base de données d’antémémoire de produits 3 sont conservées dans des zones respectivement attribuées d’une mémoire de la/des machine(s) logicielle(s) qui héberge(nt) une ou plusieurs bases de données de fournisseur et/ou le moteur de recherche 1. La base de données d’inventaire 4 est configurée pour stocker les données de disponibilité liées aux produits principaux et les données de disponibilité liées aux produits auxiliaires associés aux produits principaux. La base de données d’inventaire 4, ladite une ou plusieurs bases de données de fournisseur stockent des données qui sont généralement à jour, et, ainsi forment des données valides ou originales. De plus, la base de données d’antémémoire de produits 3 peut également stocker des enregistrements de données à jour ou en temps réel précisant les produits principaux. La base de données d’antémémoire de produits 3, la base de données d’inventaire 4, et ladite une ou plusieurs bases de données de fournisseur peut être équipée avec une interface pour mettre à jour les données stockées dans les bases de données respectives. L’interface peut être la même que l’interface pour recevoir et répondre aux demandes de recherche. Les données stockées par la base de données d’antémémoire de produits 3 peuvent être conservées à jour, c.-à-d. que les modifications des données sont actuellement effectuées dans les bases de données de fournisseur par ex. sur une base événementielle ou périodique. Par conséquent, la base de données d’antémémoire de produits 3 est soit une source de données originales elle-même, tels qu’une base de données conservant un quelconque type de résultats originaux et généralement valides, ou qui accède à une ou plusieurs sources de données originales telles que les bases de données de fournisseur afin de stocker des résultats originaux sous une forme identique (miroir) ou traitée. Si la base de données d’antémémoire de produits 3 génère/calcule/collecte les résultats originaux en accédant à d’autres sources de données originales afin de préparer les résultats originaux au moment de la recherche, la base de données d’antémémoire de produits 3 fournit des résultats qui reflètent de manière générale et précise le contenu actuel des données de réponse originales. Le système informatique distribué peut être conçu comme un système fournisseur de contenu qui peut être, par exemple, un système de transaction implémentant un flux de traitement en commençant par une demande de recherche reçue par le système pour un produit correspondant à au moins certains des paramètres de la demande et terminé par une opération d’achat d’un produit par l’intermédiaire du système de transactions (une « transaction » peut être par exemple un « achat », une opération « d’achat » ou de « réservation ». Dans une architecture client/serveur, une « transaction » correspond ainsi à une session demande/réponse initiée par une demande client et terminée par l’achat d’un produit (sélection d’un produit principal par l’utilisateur et validation de la sélection par paiement de la valeur (également appelé « prix ») associée au produit). Une proposition de produit déterminée et renvoyée par le système fournisseur de contenu peut comprendre un produit principal et l’ensemble des produits auxiliaires (ensemble de services) comprenant un ou plusieurs produits auxiliaires (services) liés au produit principal, la valeur générale (prix total) d’une transaction pour une proposition de produit donnée comprenant la valeur du produit principal ajoutée à la valeur de l’ensemble de services. Comme utilisé dans les présentes, le terme « contenu » fait référence à un quelconque contenu qui peut être fourni à un client 2 par l’intermédiaire d’une interface utilisateur sous la forme de produits, chaque produit étant éventuellement associé à un ou plusieurs services (produits auxiliaires) liés aux produits. Chaque produit peut être défini par un ensemble de paramètres en fonction du champ d’application de l’invention, et une valeur (ou prix). Chaque produit peut être subdivisé en parties élémentaires (également appelé ci-après « segment »). Un segment d’un produit fait référence à la portion la plus petite d’un produit qui peut être fourni par le système fournisseur de contenu. Le système fournisseur de contenu peut être adapté pour exécuter des transactions avec les clients 2 (telles que la réservation ou l’achat d’un produit principal incluant des produits auxiliaires (services) associés au produit principal). Une transaction pour un produit est achevée lorsque par ex. un utilisateur exploitant l’un des clients 2 procède au paiement du produit (produit principal est produit auxiliaire requis associés au produit principal). Dans certains modes de réalisation, le système fournisseur de contenu peut être configuré pour traiter des demandes de recherche qui comprennent au moins un ensemble de paramètres de demande obligatoires. Un utilisateur exploitant un des clients 2 peut servir directement d’interface au système fournisseur de contenu en utilisant une interface utilisateur dédiée pendant une session client/serveur. Dans certains modes de réalisation, le système fournisseur de contenu peut être configuré pour rediriger le client 2 vers une interface dédiée du système fournisseur de contenu, en réponse à une sélection d’un produit par un utilisateur. Le système fournisseur de contenu peut stocker des informations de compte d’utilisateur comprenant des informations liées à l’utilisateur si l’utilisateur est déjà enregistré sur le système fournisseur de contenu. Le système fournisseur de contenu ne peut alternativement comprendre aucune donnée liée à l’utilisateur si l’utilisateur n’a pas préalablement créé un compte d’utilisateur. Le système fournisseur de contenu peut être dédié à un ou plusieurs champs d’application (par exemple, le domaine du voyage ou des transports). Dans certains modes de réalisation, le système fournisseur de contenu peut être configuré pour déterminer des produits principaux d’un type particulier (par exemple les produits de voldans un champ d'application de voyage). Dans une application exemplaire dans le domaine du voyage, c’est un fournisseur de contenu peut être un système de réservation configuré pour déterminer des produits de voyage (également appelés « propositions de voyage » ou « recommandations de voyage »), tels que des produits de voyage de compagnies aériennes, correspondant à une demande de voyages comprenant un ensemble de produits (services) auxiliaires précisés. Dans cette application, la demande de recherche 11 est une demande de voyage. La demande de voyage peut avoir en format prédéfini définissant un ensemble de paramètres de demande incluant : - les paramètres de lieu/date/heure de départ ; - les paramètres de lieu/date/heure d’arrivée ; - des paramètres supplémentaires liés au voyage ; - un ensemble de produits (services) auxiliaires précis. Les paramètres optionnels de la demande de recherche 11 peuvent inclure par exemple la langue préférée de l’utilisateur, ou des paramètres d’affinage (par ex. heure de la journée, compagnie préférée). Un paramètre de demande de voyage peut avoir une topologie (par exemple « lieu de départ », « lieu d’arrivée »), une catégorie de données (par ex. lieu, date), un type de données (par ex. char) et/ou un format de données (définies par exemple par la norme IATA, IATA signifiant « International Air Transport Association » (Association de transport aérien international). Les activités et fonctions présentées dans les modes de réalisation suivants sont applicables à tous les systèmes de bases de données et systèmes informatiques avec une architecture matérielle ou fonctionnelle, comme présenté à la FIG. 1 ou avec une architecture similaire. Selon certains modes de réalisation et présentés à la FIG. 2, le moteur de recherche 1 détermine, dans une activité 12, en réponse à une demande de recherche 11 d’un client 2, un ensemble de produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche 11. Pour citer un exemple, la demande de recherche 11 d’un client 2 peut comprendre toutes les correspondances de vol de Londres (comme lieu de départ) à Paris (comme lieu d’arrivée) le 1er décembre 2019. En réponse à la demande de recherche 11, le moteur de recherche 1 récupère toutes les correspondances de vol correspondantes pour ce jour, qui sont supposées à des fins de simplicité être toutes fournies par les transporteurs Air France et Lufthansa. La récupération par le moteur de recherche 11 peut comprendre un pré-filtrage, qui peut être compris dans l’activité 12 et qui peut être appliqué lorsque les données principales calculées en temps réel sont récupérées. Le pré-filtrage peut inclure la vérification d’un fichier config qui comprend des informations sur les routes et les transporteurs. Le fichier config peut également comprendre les services auxiliaires supportés. À ce stade, les produits principaux qui ne fournissent pas les produits auxiliaires demandés en général peuvent déjà être triés à partir de l’ensemble. Pour citer encore l’exemple susmentionné, le pré-filtrage peut limiter les produits principaux uniquement aux transporteurs qui fournissent des correspondances de vol de Londres (comme lieu de départ) à Paris (comme lieu d’arrivée) le 1er décembre 2019, tels qu’Air France et Lufthansa. Au cas où British Airways ne fournit pas ladite correspondance de vol, ce transporteur est mis à l’écart par le pré-filtrage. Selon le procédé présenté à la FIG. 2, le moteur de recherche 1 génère une activité 13, un masque binaire de recherche sur la base des critères de recherche indiqués dans la demande de recherche 11 qui identifie un ou plusieurs produits auxiliaires. Le masque binaire de recherche représente les critères de recherche de la demande de recherche 11 qui définit les produits auxiliaires recherchés par l’utilisateur. En faisant référence en continu à l’exemple susmentionné, les produits auxiliaires (ou services) peuvent comprendre un lit pour bébé ou les dispositions pour un animal de compagnie dans une cabine. Le moteur de recherche 1 détermine ensuite un sous-ensemble de l’ensemble récupéré de produits principaux, dans lequel le sous-ensemble comprend les produits auxiliaires associés actuellement disponibles tels qu’identifiés dans la demande de recherche 11. À cette fin, à une première étape, les produits principaux sont déterminés sur la base d’une comparaison de masque binaire (comme expliqué en détail ci-dessous) qui sont généralement associés aux produits auxiliaires demandés (également appelé filtre auxiliaire). À une deuxième étape, une disponibilité actuelle des produits auxiliaires de ces produits principaux déterminés est vérifiée avec une source de disponibilité, la base de données d’inventaire 4 (également appelée filtre de disponibilité). Les produits principaux restants forment le sous-ensemble. Citons encore l’exemple susmentionné, on suppose que seul le transporteur Air France offre les produits (services) auxiliaires d’un lit de bébé ou le fait d’avoir un animal de compagnie en cabine sur ces vols de Paris à Londres tandis que le transporteur Lufthansa n’offre pas ces produits auxiliaires sur ses vols de Paris à Londres. Le sous-ensemble déterminé exclut par conséquent tous les vols de correspondances de Londres à Paris offerts par Lufthansa et inclut les correspondances correspondantes offertes par Air France. La détermination du sous-ensemble est exécutée en récupérant, dans un activité 14, dans la base de données d’antémémoire de produits le masque binaire de référence de chaque produit principal dans l’ensemble et en comparant, dans une activité 15 le masque binaire de recherche au masque binaire de référence pour chaque produit principal dans l’ensemble et en sélectionnant le produit principal pour le sous-ensemble, si le masque binaire de recherche et le masque binaire de référence respectif correspondent. Dans une activité 16, le moteur de recherche 1 détermine une disponibilité pour les produits auxiliaires associés à chaque produit principal dans le sous-ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire 4. Le moteur de recherche 1 met alors à jour, dans une activité 17, pour chaque produit principal dans le sous-ensemble, le masque binaire de référence dans la base de données d’antémémoire de produits, si un ou plusieurs des produits auxiliaires associés au produit principal dans le sous-ensemble sont déterminés comme étant indisponibles. Dans une activité 18, le moteur de recherche 1 renvoie au moins un des produits principaux du sous-ensemble pour lequel la disponibilité des produits auxiliaires associés a été déterminée au client 2. Restons avec l’exemple susmentionné, si un vol Air France particulier de Paris à Londres le 1 er décembre 2019, qui peut avoir un numéro de vol par ex. AF123, offre le service d’un lit pour bébé, ce vol particulier - AF123 - peut être inclus dans les produits principaux renvoyés par le moteur de recherche 1 dans une activité 18. Continuons à citer l’exemple susmentionné, une indisponibilité d’un produit auxiliaire peut survenir lorsque par ex tous les lits pour bébé sur les vols Air France de Londres à Paris sont déjà réservés pour le 1 er décembre 2019. Dans ce cas, la recherche n’a aucun résultat et le client 2 peut être notifié qu’il n’existe aucun vol entre l’origine et la destination aux dates demandées qui fournit le service auxiliaire demandé. Selon certains modes de réalisation, en réponse à une demande de recherche 11 d’un client 2, un ensemble de produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche est déterminé en récupérant dans la base de données d’antémémoire de produits 3 et une disponibilité pour chaque produit principal dans le sous-ensemble est déterminé en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire 4. Restons-en à l’exemple cité, le procédé détermine si une certaine correspondance de vol de Londres à Paris exploitée par le transporteur Air France le 1er décembre 2019 est complète et par conséquent indisponible. Dans certains modes de réalisation, pour chaque produit principal dans le sous-ensemble, le produit principal est supprimé du sous-ensemble si le produit principal est déterminé comme étant indisponible, modifiant ainsi le sous-ensemble de produits principaux. Une correspondance de vol déjà complète serait par conséquent supprimer de l’ensemble. Dans un mode de réalisation, l’activité 12 peut comprendre la détermination en récupérant, en réponse à une demande de recherche 11 d’un client 2, dans ladite une ou plusieurs bases de données de fournisseur, l’ensemble des produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche 11 (pré-filtrage comme présenté ci-dessus). L’ensemble récupéré de produits principaux peut être stocké dans la base de données d’antémémoire de produits 3. Selon certains modes de réalisation, un ou plusieurs tarifs correspondant aux produits principaux dans le sous-ensemble, par ex. pour les correspondances de vol de Londres à Paris, et/ou les produits auxiliaires associés aux produits principaux dans le sous-ensemble sont calculés et les tarifs calculés et/ou le calcul des solutions tarifaires pour les produits principaux dans le sous-ensemble et/ou les produits auxiliaires associés aux produits principaux dans le sous-ensemble et/ou les solutions tarifaires calculées sont ajoutées au sous-ensemble. Le calcul des tarifs est décrit plus en détail ci-dessous. Selon certains modes de réalisation, le masque binaire de référence et/ou le masque binaire de recherche est un vecteur binaire comprenant un ensemble de composants binaires, les composants binaires étant générés par une fonction prédéfinie. Selon certains modes de réalisation, le masque binaire de référence et le masque binaire de recherche sont des filtres de Bloom. En général, un filtre de Bloom est une structure de données probabilistes efficace dans l’espace utilisée pour tester si un élément est un élément d’un ensemble. Des correspondances faussement positives sont possibles, mais des correspondances faussement négatives ne le sont pas. Une requête renvoie soit « possible dans l’ensemble » ou « définitivement pas dans l’ensemble ». Les éléments peuvent être ajoutés à l’ensemble, mais pas supprimés, cependant, plus des éléments sont ajoutés à l’ensemble, plus grande est la probabilité de faux positifs. Dans une phase de codage, qui peut être implémenté hors ligne et/ou lorsque la base de données d’antémémoire de produits 3 est mise à jour (c.-à-d. pas au moment de la requête de recherche), un masque binaire de référence représenté par un vecteur binaire (également appelé « vecteur de codage ») est construit pour un segment donné d’un produit principal en utilisant les données de disponibilité des produits auxiliaires stockés dans la base de données d’inventaire 4. Une phase de codage est implémentée dans le flux d’exécution d’une demande de recherche 11 reçue d’un client 2. Dans la phase de codage, un masque binaire de recherche représenté par un vecteur binaire (également appelé « vecteur de décodage ») est construit pour chaque produit principal déterminé en réponse à la demande de recherche 11. Plus spécifiquement, dans la phase de codage, N prédicats peuvent être formés, un ou plusieurs prédicats correspondant à la disponibilité d’un ou de plusieurs produits (services) auxiliaire pour un produit principal utilisant des données liées à la disponibilité du produit dans la base de données d’inventaire 4. Par exemple, un prédicat peut exister sous la forme « le service X est disponible pour le vol Y », dans une application de l’invention au domaine du voyage. Un prédicat formé de cette manière est ensuite passé par M fonctions de transformation, chaque fonction de transformation renvoyant au moins une position de bits dans le vecteur du bits, le vecteur de bits représentant ainsi un filtre de Bloom pour le prédicat considéré. Cela fournit N vecteurs de bits V (également appelés « masques binaires » ou « filtres de Bloom »), chaque vecteur binaire généré pour le produit principal considéré étant associé à au moins un produit auxiliaire et ayant une longueur arbitraire k . Chaque position d’une vvecteur binaire V est attribuée à une valeur de bit représentant une information de bit qui peut avoir une première valeur (par exemple « 1 ») ou une deuxième valeur (par exemple « 0 »). Les vecteurs de bits V ainsi générés peuvent être stockés dans une base de données optimisée pour la recherche. Dans certains modes de réalisation, le filtre Bloom V calculé pour le produit auxiliaire associé à un produit principal donné peut être stocké dans une structure de données telle que la matrice de filtre de Bloom ou un réseau de dimensions Nx k . Les masques binaires V générés dans la phase de codage sont également appelés dans les présentes « masques binaires de référence » (ou « vecteurs binaires de référence » ou « filtres de Bloom de référence »). Dans la phase de décodage, qui est déclenchée pendant le processus de recherche de produits implémenté en réponse à une demande de recherche 11 précisant les paramètres de la demande incluant des produits auxiliaires, N prédicats liés aux produits auxiliaires précisés dans la demande de recherche 11 peuvent être déterminés pour chaque produit principal trouvé par le moteur de recherche 1 et passé par l’intermédiaire des M fonctions de transformation (qui sont les mêmes fonctions de transformation que dans la phase de codage). Cela fournit un masque binaire (« masque binaire de recherche ») à comparer avec le masque de bit de référence de chaque produit principal généré à l’étape de codage Plus spécifiquement, dans certains modes de réalisation, le masque binaire de recherche est comparé au masque de référence d’un produit principal au niveau du bit. Si un bit particulier dans le masque binaire de recherche correspond au bit correspondant du masque de bits de référence, cela indique que le produit principal est en fait associé au produit auxiliaire correspondant. Dans certains modes de réalisation, si au moins un bit du masque binaire de recherche apparaît dans le masque binaire de référence, le produit principal correspondant est inclus dans le sous-ensemble, étant donné que ledit au moins un produit auxiliaire correspondant existe pour le produit principal. Dans d’autres modes de réalisation, un produit principal est inclus dans le sous-ensemble si la comparaison du masque binaire de recherche au masque binaire de référence indique que tous les produits auxiliaires prescrits par le masque binaire de recherche existent pour le produit principal. Si aucun des bits du masque binaire de recherche ne correspond au bit correspondant du masque binaire de référence, le produit principal peut être rejeté et exclut du sous-ensemble. Les M fonctions de transformation utilisées dans la phase de codage et de décodage peuvent être des fonctions de hachage ou alternativement des fonctions cryptographiques. La description suivante de certains modes de réalisation sera faite en référence à un mode de réalisation dans lequel les M fonctions de transformations consistent en M fonctions de hâchage à des fins d’illustration uniquement. Les fonctions de hachage utilisées pour générer les filtres de Bloom peuvent avoir un faible taux de collision. Le nombre de fonctions de la charge peut dépendre de divers paramètres. L’utilisation d’une structure de données probabilistes montre une utilisation efficace des ressources de stockage du système fournisseur de contenu formé par l’environnement informatique distribué. Pour mettre à jour les filtres de Bloom, une phase de recalcul peut être implémentée (par exemple hors ligne ou dans un processus d’apprentissage après que le traitement de la demande de recherche 11 est terminé) en rafraîchissant de telles informations de disponibilité liées à chaque produit auxiliaire parmi la liste prédéfinie de produits auxiliaires. Les filtres de Bloom peuvent être utilisés pour générer des modèles binaires (correspondant aux vecteurs binaires V) représentant de la disponibilité de chaque produit auxiliaire pour un produit principal donné, permettant ainsi la compression des informations indiquant l’existence de produits auxiliaires associés au produit principal. Une combinaison unique de tous les modèles binaires générées peut être sélectionnée et conservée pour chaque produit principal. Par exemple, le tableau exemplaire présenté ci-dessous décrit l’association obtenue entre un segment d’itinéraire donné AF123 - une correspondance de vol entre Londres (LON) et Paris (PAR) à un moment donné le 1er déc. - des options de voyage calculées par le moteur de recherche 1, un plusieurs produits auxiliaires (par ex. « Couffin pour bébé » ou « Animal de compagnie en cabine » ou {« Couffin pour bébé » et « Animal de compagnie en cabine »}) et un filtre de Bloom : Segment de trajet Produits auxiliaires Filtre de Bloom AF123 LON-PAR DEC01 Couffin pour bébé 10000001 AF123 LON-PAR DEC01 Animal de compagnie en cabine + 10000010 AF123 LON-PAR DEC01 -- = 10000011 Comme présenté dans le tableau ci-dessus : Le produit auxiliaire « Couffin pour bébé » est déterminé comme étant disponible pour le segment d’itinéraire « AF123 LON-PAR DEC01 » et est associé à un filtre de Bloom (formant un « masque binaire ») « 10000001 ». Le produit auxiliaire « Animal de compagnie en cabine » est déterminé comme étant disponible pour le segment d’itinéraire « AF123 LON-PAR DEC01 » et est associé à un filtre de Bloom (formant un « masque binaire ») « 10000010 ». Le filtre de Bloom en résultant 10000011 pour la combinaison de produits auxiliaires {« Couffin pour bébé » et « Animal de compagnie en cabine »}, pour le segment considéré « AF123 LON-PAR DEC01 », est obtenu en appliquant un OU (OR) logique au filtre de Bloom élémentaire « 10000001 » et « 10000010 ». La phase de codage fournit ainsi un filtre de Bloom pour chaque combinaison de produits auxiliaires (ensemble de services) disponible pour chaque segment d’un produit principal. La FIG. 3 décrit le moteur de recherche 1 selon certains modes de réalisation. Le moteur de recherche 1 comprend un serveur de recherche 101 (également appelé « planificateur d’itinéraires ») configuré pour chercher des produits principaux (vols) répondant à une demande de recherche 11, en réponse à la réception de la demande de recherche 11 d’un client 2 par l’intermédiaire d’un ou plusieurs réseaux 5, la demande de recherche 11 identifiant un produit principal souhaité. Le moteur de recherche peut être conçu comme un système fournisseur de voyage qui peut être configuré pour fournir du contenu de voyage à l’utilisateur incluant des produits de voyage des informations de réservation. Le système fournisseur de voyage peut comprendre une interface utilisateur dédiée qui peut être utilisée pour échanger des informations avec un client ou un utilisateur. En particulier, les utilisateurs peuvent soumettre via des clients 2, une demande de recherche 11 (également appelée ci-après « demande d’utilisateur » ou « requête d’utilisateur ») par l’intermédiaire d’un dispositif utilisateur ou fournir des entrées d’utilisateurs par l’intermédiaire de l’interface utilisateur. Le système fournisseur de voyage peut à son tour afficher les résultats obtenus pour une demande de recherche donnée 11. De tels résultats peuvent comprendre un ensemble de produits de voyage principaux, chacun comprenant des informations voyage et des informations auxiliaires telles que la valeur du produit (également appelée « prix du produit » ou « prix du voyage »). Un rendu du produit de voyage principal peut être généré dans l’interface dédiée sous la forme de propositions voyage (également appelées « options d’itinéraire » ou « options de voyage »). L’utilisateur peut ainsi sélectionner par l’intermédiaire de l’interface utilisateur une des options d’itinéraire correspondant à un produit de voyage principal à réserver. Comme utilisé dans les présentes, une « proposition de voyage » correspond à un produit de voyage principal représentant un voyage entre un lieu d’origine et un lieu de destination, et est associé aux informations de planification comprenant la date de départ planifiée et le temps de voyage et la date d’arrivée planifiée et le temps de voyage. Un produit de voyage correspondant à un itinéraire peut comprendre un ensemble de segments (portions élémentaires des produits) interconnecté au point de correspondance ou pôle de correspondance, chaque segment étant associé à des informations de planification. Un fournisseur de contenu peut être hébergé à un site Web public accessible à un quelconque utilisateur avec une interface utilisateur intuitive pour permettre l’achat de voyages directs par un quelconque utilisateur. Alternativement, le système fournisseur de contenu peut être un système spécialisé fourni pour les opérateurs ou agents de voyage, disponible par l’intermédiaire d’un site Web privé, comme un service Web, par l’intermédiaire d’une application privée. Le serveur de recherche 101 génère les options d’itinéraire. Les options d’itinéraire peuvent comprendre des itinéraires qui sont calculés en temps réel et reçus d’une ou de plusieurs bases de données de fournisseur et d’itinéraire pré-calculé stocké dans la base de données d’antémémoire de produits 3. Le système fournisseur de voyage peut utiliser un pré-filtre (ou premier filtre) pour exécuter le pré-filtrage des options d’itinéraire par des produits auxiliaires. Le pré-filtre peut être configuré pour supprimer des produits de vol non-candidats, limitant ainsi la construction de la route aux seuls systèmes de compagnies aériennes qui fournissent les routes requises, par ex. des routes de Paris à Londres. Le pré-filtre peut faire partie du serveur de recherche 101 ou être séparé de lui. Le système fournisseur de voyage peut utiliser un filtre auxiliaire (ou deuxième filtre) pour encore réduire l’ensemble des produits principaux obtenus par pré-filtrage, c’est-à-dire en excluant lesdits produits principaux qui ne sont pas associés aux produits auxiliaires qui sont demandés par la demande de recherche 11, déterminant ainsi un sous-ensemble de l’ensemble des produits principaux obtenus par pré-filtrage. Le filtrage auxiliaire est exécuté en comparant le masque binaire de recherche au masque binaire de référence pour chaque produit principal dans l’ensemble et en sélectionnant le produit principal pour le sous-ensemble si le masque binaire de recherche et le masque binaire de référence respectif correspondent, comme décrit ci-dessus. Le système fournisseur de voyage peut par ailleurs utiliser le serveur de disponibilité 102 pour déterminer les produits disponibles. Le fournisseur de voyage peut calculer des combinaisons tarifaires pour les résultats (options d’itinéraire) déterminés par le serveur de recherche 101. Un calculateur de tarifs 130 peut déterminer les tarifs de vol pour les options d’itinéraire qui sont déterminées pour satisfaire les conditions de disponibilité. Le calculateur de tarifs 103 peut comprendre un moteur de tarification 143 configuré pour déterminer (ou calculer) les combinaisons tarifaires et un moteur de vol 133 configuré pour déterminer les vols disponibles, les deux interagissant avec les moyens de distribution 153. Le moteur de tarification 143 peut utiliser des données de charges tarifaires 113 stockés dans des moyens de stockage stockant les données tarifaires liées aux produits fournis par le système fournisseur de voyage. Un filtre de disponibilité (ou troisième filtre) peut être appliqué aux résultats (options de voyage) déterminés par le serveur de recherche 101 pour exécuter un filtrage supplémentaire desdits résultats par des critères de disponibilité auxiliaires en utilisant une ou plusieurs structures de données probabilistes telles que des filres de Bloom. Le filtre de disponibilité peut faire partie du serveur de disponibilité 102 ou être séparé de lui. Le filtre de disponibilité peut être configuré pour limiter uniquement l’établissement des tarifs aux segments des options d’itinéraire renvoyées par le serveur de recherche 101 ayant une disponibilité suffisante pour le produit auxiliaire. Le système fournisseur de voyage peut par ailleurs comprendre un estimateur de frais auxiliaires 123 configuré pour estimer les frais auxiliaires sur la base des critères d’estimation de frais. L’estimateur de frais auxilaires 123 peut interagir avec un ou plusieurs composants du calculateur de tarifs 103. Dans certains modes de réalisation, comme décrit à la FIG. 3, l’estimateur de frais auxiliaires 123 peut faire partie du calculateur de tarifs 103. L’estimateur de frais auxilaires 123 peut être configuré pour exécuter l’établissement des tarifs de vol et trier dans l’ordre les prix estimatifs des produits sélectionnés par le serveur de disponibilité 102. Pour estimer le prix d’un produit sélectionné, l’estimateur de frais auxiliaires 123 intègre le prix estimatif (valeur du produit estimative) du produit auxiliaire demandé dans le prix global du produit de voyage (prix du produit principal complété par le prix du produit auxiliaire précisé). L’unité de post-traitement 104 peut comparer au moins une partie des produits sélectionnés, qui peuvent avoir les prix estimatifs les plus bas, avec des données en temps réel dans la base de données d’inventaire 4 (qui inclut des données de disponibilité en temps réel et des données tarifaires) selon l’ordre des produits par prix estimatif exécuté par l’estimateur de frais auxiliaires 123. Dans certains modes de réalisation, la partie des produits sélectionnés qui sont comparés à des données en temps réel dans la base de données d’inventaire peut comprendre les produits P ayant les prix estimatifs les plus élevés, P étant déterminé sur la base d’un ensemble de critères (par exemple, P peut être fixé ou dynamiquement modifié à chaque exécution du procédé de détermination du produit). Il faut noter que la valeur du produit (prix des services) associée à un ensemble de produits auxiliaires lié à un produit donné peut être dépendante du produit. De plus, le prix d’un produit auxiliaire lié à un produit de voyage peut dépendre de divers paramètres par exemple : le type de produit auquel le produit auxiliaire est lié (par ex. équipement, type d’avion) ; les informations de lieux liées au produit (les informations de lieu liées à un produit peuvent avoir un impact sur le prix) ; la stratégie de vente implémentée dans un système fournisseur de produits (campagne de promotion par exemple) ; La catégorie du produit (une catégorie peut inclure par exemple la catégorie long vol, la classe affaire, la classe économique). Dans certains modes de réalisation, lorsque la disponibilité des produits actuels dépend d’informations tarifaires complexes, l’estimation de disponibilité fournie par l’estimateur de frais auxiliaires 123 peut être poussée de l’estimateur de frais auxiliaires 123 au filtre de disponibilité. Le système fournisseur de voyage peut également comprendre une unité post-traitement 104 (également appelée « balayeuse de service auxiliaire » ou « balayeuse auxiliaire ») configurée pour exécuter le post-traitement des résultats renvoyés par le serveur de disponibilité 102. L’unité de post-traitement 104 peut être configurée pour comparer la disponibilité et le prix estimatif des produits auxiliaires précisés pour chaque option d’itinéraire (produit principal) aux données de disponibilité en temps réel (disponibilité actuelle) et aux informations de valeur en temps réel (prix actuel) associées aux produits auxiliaires pour les produits de vol calculés précédemment en utilisant des données en temps réel. L’unité de post-traitement 104 peut ensuite post filtrer les résultats de recherche envoyés par le serveur de disponibilité 102 en fonction de ladite comparaison. L’unité de post-traitement 104 peut être avantageusement basée sur une structure de non-antémémoire pour conserver les données garanties. Dans certains modes de réalisation, système fournisseur de contenu peut par ailleurs comprendre un moteur d’apprentissage 105, par ex. un système d’apprentissage automatique configuré pour collecter des données pendant une période d’apprentissage prédéfinie et les stocker dans une ou plusieurs structures de données d’apprentissage (par ex. matrice). Les données collectées peuvent comprendre des données générées pendant les demandes de recherche 11 qui ont été envoyées par les clients 2 pendant une période définie. Les données collectées peuvent ensuite servir de données d’apprentissage pour le système d’apprentissage automatique. Dans de tels modes de réalisation, le système fournisseur peut optimiser les recherches faites en réponse à une demande de recherche 11 en utilisant lesdites données d’apprentissage telles que stockées dans la structure de données d’apprentissage. Ledit moteur d’apprentissage 105 formant ainsi une antémémoire paresseuse, permet de réduire le travail du processus hors ligne. La FIG. 4 représente l’environnement opérationnel d’un système de fournisseur de voyage 303, qui peut être mis en œuvre par un système fournisseur de contenu, dans une application exemplaire de l’invention au domaine du voyage. L’environnement peut inclure un système de distribution globale (GDS) 300, un ou plusieurs systèmes fournisseurs de produits indirects tels que des systèmes de transporteur 301, un ou plusieurs systèmes d’achat de voyages ou systèmes vendeur indirects (systèmes fournisseurs de contenu auxiliaire), tel qu’un système d’agence de voyage 302, le système de fournisseur de voyage 303 et un ou plusieurs clients 2. Chacun du GDS 300, des systèmes de transporteur 301, du système de vendeur indirect 302, du système de fournisseur de voyage 303 et du client 2 peut communiquer pr l’intermédiaire du réseau 304. Les systèmes de transporteur 301 peuvent chacun inclure un système de réservation informatique (CRS) et/ou système de facturation pour la compagnie aérienne respective qui permet au GDS 300 et/ou système de vendeur indirect 302 de réserver et de payer des billets d’avion. Les systèmes de transporteur 301 peuvent également interagir les uns avec les autres, directement ou par l’intermédiaire du GDS 300, pour permettre à un transporteur émetteur de vendre des billets pour des sièges fournis par un transporteur de fait. Le transporteur de fait peut ensuite facturer les produits fournis au transporteur émetteur. Le GDS 300 peut être configuré pour faciliter la communication entre les systèmes de transporteur 301 et les systèmes de vendeur indirect 302 en permettant aux agents de voyages, transporteurs émetteurs, ou autres vendeurs indirects de rechercher des segments disponibles et de faire des réservations sur un ou plusieurs systèmes de transporteur 301 via le GDS 300. Le GDS 300 peut conserver des liens vers chacun des systèmes de transporteur 301 via le réseau 6 pour permettre au GDS 300 d’obtenir les données de planification et de disponibilité pour des segments provenant des systèmes de transporteur 301. Les systèmes de transporteur et d’agence de voyage 301, 302 peuvent ainsi réserver des vols, trains, d’autres types de segments sur de multiples transporteurs via une connexion unique au GDS 300. Le GDS 300 peut stocker et/ou conserver un Enregistrement de nom de passager (PNR) qui inclut un ensemble complet de données pour un itinéraire d’un voyage, incluant des segments provenant de transporteurs multiples et/ou d’autres produits de voyages comprenant le voyage tel que des réservations d’hôtel et de voitures de location. Un système d’agence de voyage 302 peut inclure un serveur Web qui fournit un site Web accessible publiquement. Ce site Web peut être configuré pour fournir l’accès à des caractéristiques de planification de voyage, telles que la capacité de rechercher des produits de voyage correspondant à une demande de voyage. À cette fin, le système d’agence de voyage 302 peut fournir l’accès aux données au voyageur dans une ou plusieurs bases de données hébergées par le GDS 300, les systèmes de transporteur 301, et le système d’agence de voyage 302. Dans un mode de réalisation de l’invention alternatif, le système d’agence de voyage 302 peut être un système propriétaire qui limite l’accès aux prestataires de services de voyage ou aux agents de voyage. Dans un tel cas, l’accès peut être fourni via un site Web privé ou autre application. Le système de fournisseur de voyage 303 peut être en communication avec le système d’agence de voyage 302 via le réseau 304 ou une autre connexion appropriée. Dans des modes de réalisation de l’invention alternatifs, tout ou une portion du système de fournisseur de voyage 303 peut être intégrée dans un ou plusieurs des autres systèmes 300, 301, 302. Les voyageurs ou agents de voyages peuvent utiliser le système d’agence de voyage 302 pour générer et/ou rechercher des propositions de voyage qui répondent à une demande de voyage reçue d’un voyageur en utilisant le système de fournisseur de voyage 303. Le GDS 300, les systèmes de transporteur 301, le système d’agence de voyage 302, le système de fournisseur de voyage 303, et les clients 2 de l’environnement d’exploitation peuvent être implémentés sur un plusieurs systèmes ou dispositifs informatiques, appelés collectivement un ordinateur, tel que l’ordinateur 900 de la FIG. 10. Revenons à la FIG 3 et à la FIG. 4, le serveur de recherche 101 peut recevoir une demande de voyage d’un client 2 comprenant des paramètres de demande tels qu’un lieu d’origine, et/ou un lieu de destination (par exemple sous la forme d’emplacements de ville selon le format IATA ou des points d’accès spécifiques dans une ville tels que les aéroports ou les terminaux pour le mode de transport aérien, les gares pour le monde de transport ferroviaire, ou des noms de rue ou des points d’accès urbains spécifiques). Le lieu d’origine correspond au lieu géographique souhaité du départ du voyage et le lieu de destination correspond au lieu géographique souhaité de l’arrivée du voyage. Dans certains modes de réalisation de l’invention, le serveur de recherche 101 peut convertir les lieux d’origine et/ou de destination précisés dans la demande en coordonnées géographiques telles que des coordonnées GPS pour déterminer les points d’accès correspondants les plus proches. Dans des modes de réalisation où l’utilisateur est équipé d’un dispositif utilisateur d’un type de dispositif mobile, le lieu d’origine de l’utilisateur peut être automatiquement détecté par le serveur de recherche 101 ou par le système de fournisseur de voyage 303 sur la base des données de position de l’utilisateur. L’utilisateur peut également entrer via l’interface utilisateur des paramètres de demande supplémentaires tels que des informations horaires de départ et d’arrivée incluant la date souhaitée et/ou des informations de temps associés au départ (origine) et/ou à l’arrivée (destination) du voyage demandé. L’utilisateur peut également entrer des préférences d’utilisateur via l’interface utilisateur dédiée, qui peuvent comprendre des critères d’utilisateur supplémentaires. De tels critères d’utilisateur peuvent être utilisés par le serveur de recherche 101 comme étant des critères de recherche (tels que les critères de coût, de distance ou de vitesse pour calculer les produits). Le serveur de recherche 101 peut ensuite déterminer les routes existantes par compagnie aérienne qui correspondent à l’itinéraire identifié par les paramètres de la demande de recherche 11 et planifier des voyages pour un mode de transport spécifique (tel qu’un mode de transport aérien), pour un transporteur de voyage spécifique (par exemple Air France), ou de multiples modes de transport (par exemple à la fois les modes de transport aérien et ferroviaire). Pour un serveur de recherche multimodale 101, les options d’itinéraires calculées peuvent inclure des segments liés aux différents modes de transport et l’utilisateur peut préciser des préférences d’utilisateur liées aux modes de transport préférés L’utilisateur peut initialement soumettre une demande de recherche 11 par l’intermédiaire du client 2 qui comprend les produits auxiliaires précisés par l’intermédiaire d’une interface dédiée du système fournisseur de contenu. Le serveur de recherche 101 peut ensuite exécuter une recherche en utilisant le pré-filtre, comme décrit ci-dessus, pour identifier les produits principaux qui correspondent aux paramètres de recherche de produit principal de la demande de recherche, établissant ainsi un ensemble de produits principaux Ensuite, le serveur de recherche 101 peut exécuter un filtrage auxiliaire en supprimant les produits principaux de l’ensemble des produits principaux qui ne fournissent pas les produits auxiliaires précisés, en utilisant les données conservées dans ladite une ou plusieurs bases de données d’antémémoire de produits 3. Le serveur de recherche 101 a ainsi établi un sous-ensemble de produits principaux pour lequel les produits auxiliaires associés demandés existent. Le filtre auxiliaire fournit ainsi un espace de recherche réduit. Lors de l’exécution de cette activité, le filtre auxiliaire peut utiliser une bibliothèque auxiliaire, qui peut faire partie de la base de données d’inventaire 4. La bibliothèque auxiliaire peut fournir une liste de produits auxiliaires supportés pour réduire l’espace de recherche en utilisant comme entrée les produits auxiliaires précisés de la demande de recherche 11 (dans une implémentation de l’invention au domaine du voyage, la bibliothèque auxiliaire peut par exemple fournir une liste des produits auxiliaires supportés par transporteur). Le filtre auxiliaire filtre ainsi l’espace de recherche (comprenant les produits principaux qui remplissent généralement les critères de recherche du produit principal de la demande de recherche), par type de produit auxiliaire. Le serveur de recherche 101 peut ensuite encore traiter les produits principaux qui correspondent à la demande de recherche uniquement dans l’espace de recherche réduit, ce qui signifie qu’il calcule les options d’itinéraire qui répondent aux paramètres de demande restants (autres que le paramètre de produit auxiliaire précisé) parmi les produits de voyage inclus dans l’espace de recherche réduit. Le filtre auxiliaire fournit ainsi un sous-ensemble filtré de produits principaux qui répond à la condition du produit auxiliaire précisé. L’utilisation du filtre auxiliaire avant l’exécution de l’établissement des tarifs empêche le traitement des tarifs pour une compagnie aérienne qui ne supporte pas le produit auxiliaire précisé. Si les produits auxiliaires précisés sont soumis à des quotas en association avec les produits (par ex. quota par vol, par catégorie de classe, etc.), le traitement d’optimisation supplémentaire peut être implémenté en utilisant le filtre de disponibilité 400. La FIG. 5 est une représentation schématique du filtre de disponibilité 400 selon certains modes de réalisation. Pour la combinaison des dimensions dans lesquelles le filtre de disponibilité 400 doigts être appliqué (les dimensions étant définies par la demande de recherche 11 et incluant par exemple les dimensions « Vol » et « Date »), tous les produits auxiliaires (« caractéristiques de service ») disponibles pour chaque segment d’un produit principal peuvent être extraits en premier dans la phase de codage en utilisant des données de disponibilité en temps quasi réel dans la base de données d’inventaire 4. Les produits auxiliaires peuvent être représentés par un identifiant de produit. Le filtre de disponibilité 400 peut comprendre un codeur 402 configuré pour implémenter la phase de codage. Le codeur 402 général ainsi les masques binaires de référence. Le filtre de disponibilité 400 est configuré pour filtrer les résultats renvoyés par le serveur de recherche 101 selon la disponibilité de produit auxiliaire. Plus spécifiquement, le filtre de disponibilité 400 peut être configuré pour supprimer les produits parmi les options itinéraires renvoyées par le serveur de recherche 101, qui ne correspondent pas à une condition de disponibilité liée au produit auxiliaire précisé. Le filtre de disponibilité 400 peut utiliser les données dans la base de données d’inventaire 4, qui peuvent inclure la bibliothèque auxiliaire. La base de données d’inventaire 4 peut inclure des données d’inventaire de services basés sur des quotas. La base de données d’inventaire 4 peut être construite et mise à jour de manière statique, périodique ou dynamique, selon les règles de rafraîchissement ou les conditions de rafraîchissement prédéfinies. Dans certains modes de réalisation, la base de données d’inventaire 4 peut être alimentée par diverses sources de données (telles qu’un inventaire de services, le classement de prix, etc.). La base de données d’inventaire 4 peut comprendre un nombre de dimensions liées aux produits principaux et aux produits auxiliaires fournis par le système fournisseur de voyage, incluant par exemple : une dimension de segment ; une dimension de date ; une dimension de compagnie aérienne ; une dimension de base tarifaire ; et/ou une dimension de code de produit ; etc. Le filtre de disponibilité 400 peut être configuré pour calculer et utiliser des structures de données probabilistes 121, telles que des réseaux binaires compacts de taille fixe ou des filtres de Bloom, à partir de la base de données d’inventaire 4. En réponse à une requête pour de telles structures de données probabilistes 401 identifiant le produit auxiliaire précisé dans la demande et un segment de produit donné, les structures de données probabilistes peuvent être configurées pour renvoyer une réponse indiquant si le produit auxiliaire précisé est disponible pour le segment de produit. La description qui suit de certains modes de réalisation sera faite en référence aux structures de données probabilistes du type de filtre de Bloom à des fins d’illustration uniquement. Comme utilisé dans les présentes, un filtre de Bloom 401 représente un vecteur de bits (également appelé « masque binaire ») d’une longueur arbitraire comprenant un ensemble de bits, chaque bit correspondant à une information binaire (indiquant une valeur « vraie » ou « fausse »). Un filtre de Bloom fournit ainsi l’accès à des informations binaires en correspondance avec chaque position de bit dans le vecteur de bits. Dans la phase de décodage, le filtre de disponibilité 400 peut être configuré pour exécuter une recherche en utilisant un décodeur 403. Dans la phase de recherche implémentée par le filtre de disponibilité 400, les paramètres de recherche peuvent également être codés comme étant un filtre de Bloom par le codeur 402 en utilisant les mêmes fonctions de hâchage. Les paramètres de recherche correspondent auxdits un ou plusieurs produits auxiliaires précisés dans la demande de recherche 11. Le décodeur 403 peut être configuré pour implémenter la phase de décodage. Le décodeur 403 peut appliquer, pour chaque segment d’un produit principal déterminé par le serveur de recherche 101, les M fonctions de hâchage aux produits auxiliaires identifiés dans la demande de recherche 11 pour déterminer un filtre de Bloom élémentaire sous la forme d’un vecteur de bits V pour les produits auxiliaires. Si les produits auxiliaires comprennent un service, le filtre de Bloom est généré en appliquant les M fonctions de hachage à un prédicat lié à la disponibilité de ce service pour le segment considéré, chaque bit du vecteur binaire représentant le filtre de Bloom ayant une valeur binaire, ladite valeur binaire peut avoir une première valeur indiquant la disponibilité du service pour le segment (telle qu’une valeur « vraie ») ou une deuxième valeur indiquant l’indisponibilité du service pour le segment (telle qu’une valeur « fausse »). Lorsque les produits auxiliaires précisés dans la demande comprennent des services K, le filtre de disponibilité 400 peut comprendre une unité traitement 404 configurée pour combiner les filtres de Bloom V 1 ,…,V K générés séparément pour chaque service des produits auxiliaires en utilisant un opérateur logique tel qu’un OU binaire, qui fournit un filtre de Bloom résultant V’ pour les produits auxiliaires considérés et le segment considéré. Un filtre de Bloom résultant V’ est ainsi associé à des caractéristiques de services multiples disponibles pour un segment donné. Le filtre Bloom résultant calculé pour les produits auxiliaires peut être stocké dans une structure de données telle que la matrice ou le réseau de filtre de Bloom 401. Par exemple, si la demande de recherche 11 précise le service « Couffin pour bébé », ladite caractéristique de service sera codée par le codeur 122 comme étant « 10000001 ». Le filtre de disponibilité 400 peut ensuite déterminer si les produits auxiliaires précisés dans la demande de recherche 11 sont disponibles pour l’itinéraire précisé (tel que précisé par la demande de recherche 11). Plus spécifiquement, pour déterminer la disponibilité des produits auxiliaires précisés dans la demande de recherche 11, le filtre de disponibilité 400 peut déterminer pour chaque segment renvoyé par le serveur de recherche 101 si le filtre de Bloom associé aux produits auxiliaires précisés correspond à un des filtres de Bloom associés au segment dans la structure de données du filtre de Bloom 401. Un segment est identifié comme correspondant aux produits auxiliaires précisés, si les bits déterminés pour les produits auxiliaires interrogés (modèle de recherche) correspondent aux bits des produits auxiliaires associés au segment dans la structure de données 401. Si une correspondance est déterminée, le segment est conservé en tant que segment candidat. Autrement, le segment est filtré (ou supprimé) de l’ensemble des options d’itinéraire. Le tableau suivant illustre un traitement exemplaire d’un segment d’un produit principal utilisant un filtre de Bloom : Segment Filtre de Bloom Correspondance AF123 LON-PAR DEC01 10000011 Y LH456 LON-PAR DEC01 00100011 N Dans l’exemple ci-dessus, un résultat négatif est renvoyé, pour le segment « LH456 LON-PAR DEC01 », dans la mesure où il n’existe aucune correspondance entre le filtre de Bloom « 10000001 » correspondant aux produits auxiliaires recherchés et le filtre de Bloom « 00100011 » correspondant aux produits auxiliaires stockés dans la structure de données 401 pour le segment « LH456 LON-PAR DEC01 » (le premier bit du filtre de Bloom des produits auxiliaires précisés dans la demande ne correspond pas au premier bit du filtre de Bloom des produits auxiliaires dans la structure de données du filtre de Bloom 401). Il faut noter que la phase de recherche implémentée par le filtre de disponibilité 400 n’a pas d’impact sur la complexité de calcul générale (les critères de recherche peuvent être combinés et recherchés dans le même processus). Le filtre de disponibilité 400 fournit ainsi un deuxième ensemble de produits filtrés qui répondent tous deux à la condition des produits auxiliaires précisés à la condition de disponibilité des produits auxiliaires. La FIG. 6 est un organigramme décrivant le processus de mise à jour de l’antémémoire du filtre de Bloom 405 du filtre de disponibilité 400, dans un mode hors ligne, selon certains modes de réalisation. Dans une activité 500, à une fréquence prédéterminée, fixée ou sélectionnée, des informations de disponibilité par produit ou par période prédéfinie (par ex. par jour) peuvent être poussées vers la base de données d’inventaire 4 par ex. dans des bases de données externes (non présentées à la FIG. 6). La base de données d’inventaire 4 peut comprendre par exemple une ou plusieurs bases de données. Les données peuvent être envoyées la base de données d’inventaire 4 sur la base de règles prédéfinies, telles que des règles liées aux produits (vols) et à la période (par ex. jour), dans une application de l’invention au champ du voyage. Il faut noter que seulement une partie des informations de disponibilité d’inventaire de produits ou le contenu intégral de l’inventaire peut être poussé dans la base de données d’inventaire 4. En réponse aux données d’inventaire poussées dans la base de données d’inventaire 4, un accusé de réception peut être renvoyé de la base de données d’inventaire 4 aux bases de données externes, dans une activité 502. Dans une activité 504, les structure de données d’inventaire de la base de données d’inventaire 4 sont mises à jour, en réponse à la réception des données. Dans l’activité 504, des données peuvent être supprimées dans la base de données inventaire 4, ajoutées aux structures de données d’inventaire ou une partie des données stockées dans la base de données d’inventaire 4 peut être mise à jour. Dans une activité 506, des valeurs (également appelées « tarifs » ou « données tarifaires ») pour lesquelles des produits particuliers sont disponibles peuvent être également récupérées dans des sources externes (non présentées à la FIG. 6) pour les données récemment reçues par la base de données d’inventaire 4. Dans une activité 508, les structures de données d’inventaire peuvent être mises à jour avec les données tarifaires. Dans une activité 510, les filtres de Bloom peuvent être recalculés à partir des structures de données d’inventaire mises à jour et stockés dans l’antémémoire du filtre de Bloom 401. La FIG. 7 est un organigramme décrivant le processus de mise à jour de l’antémémoire du filtre de Bloom 401 du filtre de disponibilité 400 dans un modèle de mise à jour en ligne, selon certains modes de réalisation. Dans une activité 600, une demande de recherche 11 peut être reçue, précisant des produits auxiliaires donnés. Dans une activité 602, des tarifs mis à jour et des informations de disponibilité pour un produit donné peuvent être poussées d’une passerelle de tarification à un moteur de tarification (la passerelle de tarification est configurée pour appeler les moteurs de tarification) et ensuite reconnues par les moteurs de tarification. En réponse aux données poussées vers le moteur de tarification, les données peuvent être mises à jour à partir des structures de données d’inventaire pour des produits donnés. Par exemple, les données peuvent être supprimées des structures de données d’inventaire pour des produits (vols) et des périodes (par ex. jours) donnés ou ajoutées aux structures de données d’inventaire ou une partie des données stockées peut être mise à jour dans les structures de données d’inventaire avec les données reçues récemment, dans une activité 604. Dans une activité 606, les filtres de Bloom peuvent être recalculés et stockés dans l’antémémoire du filtre de Bloom 401. La FIG. 8 est une représentation schématique de l’estimateur de frais auxiliaires 123, selon certains modes de réalisation. L’estimateur de frais auxiliaires 123 peut être configuré pour déterminer des tarifs de vol pour chaque produit parmi les produits renvoyés par le serveur de recherche 101 et filtrés par le filtre de disponibilité 400, tout en incluant un prix estimatif pour les produits auxiliaires demandés. L’estimateur de frais auxiliaires 123 peut prendre en compte plusieurs critères 701 (appelés ci-après « critères d’estimation des frais auxiliaires ») pour estimer des frais auxiliaires pour chaque produit de la liste de produits filtrés, incluant des critères liés au produit principal et des critères liés aux produits auxiliaires précisés. L’estimateur de frais auxiliaires 123 peut fournir une sortie d’estimation 704 sous la forme d’un montant de frais minimal ou d’un montant de frais exact. Dans certains modes de réalisation, la sortie de destination peut être associée à un contexte lié au produit. Par exemple, pour un produit de voyage, l’estimateur de frais auxiliaires 123 peut fournir une sortie d’estimation en fonction du contexte de la cabine. Par exemple, la sortie d’estimation associée à un produit auxiliaire donné S1 (par ex. « Couffin ou bébé ») peut comprendre des frais de produits déterminés comme étant au moins égaux à 10 EUROS « quelle que soit la cabine » (contexte du produit de voyage). Les critères d’estimation des frais auxiliaires 123 peut comprendre un ensemble de critères qui sont similaires aux critères utilisés par le filtre de disponibilité 400, tels que : des critères basés sur l’identifiant de bureau (ID) représentant l’identifiant d’un bureau ou Point de vente d’un produit de la liste filtrée ; des critères basés sur des paramètres de la demande de recherche 11 tels qu’une date, une heure, ou des informations d’origine et/ou de destination. des critères basés sur le(s) transporteur(s) associé(s) au produit (tels que des informations marketing et/ou de fonctionnement liées au(x) transporteur(s)) ; des critères basés sur le paramètre de date de départ du produit ; des critères basés sur un/des code(s) de produit associé aux produits auxiliaires précisés ; des critères basés sur le type de tarif, etc. Les critères d’estimation des frais auxiliaires 701 peuvent par ailleurs comprendre d’autres types de critères, tels que les critères basés sur : des informations de produits supplémentaires liés à la segmentation du produit (par ex. escale, transfert, des informations concernant un point de retournement) ; des informations tarifaires supplémentaires (par ex. la base tarifaire) des informations de passager liées à l’utilisateur émettant la demande de recherche 11 telles que le Code de type de passager (par ex. catégorie de passager enfant ou adulte) ou des informations de grand voyageur. la date de réservation (telle que supposée à la date actuelle) ; des informations liées aux options des produits telles que le type de cabine, les caractéristiques de siège ou des informations sur les bagages ; des informations sur la disponibilité de produit auxiliaire (catégorie) ; etc. L’estimateur de frais auxiliaires 123 peut fournir une sortie d’estimation 704 (également appelée « le résultat d’estimation ») sous divers formats sur la base des critères d’estimation de frais appliqués et les données de charges tarifaires 113 qui stockent les données tarifaires liées à un produit auxiliaire donné. Par exemple, la sortie d’estimation 704 peut comprendre une des informations suivantes : une information de disponibilité de produit indiquant que le produit auxiliaire est actuellement indisponible ; une information de frais indiquant un montant de frais minimum ainsi qu’une information de notification indiquant que des critères obligatoires manquent pour effectuer une estimation des frais exacts ; une information de frais indiquant un montant de frais exact. Lorsqu’un ou plusieurs critères d’estimation de frais manquants précédemment 701 sont obtenus à partir des données en temps réel, l’estimateur de frais 123 peut être rappelé avec lesdits critères d’estimation de frais 701 pour déterminer les frais mieux estimés (ou même exacts). En réponse à l’estimation faite par l’estimateur de frais auxiliaires 123, l’estimateur de frais auxiliaires 123 peut par ailleurs stocker dans une antémémoire 702 (ci-après appelée « antémémoire d’estimation de frais auxiliaires ») des données liées à l’estimation faite par l’estimateur de frais auxiliaires 123, telles que par exemple : une liste des critères d’estimation des frais auxiliaires 123 utilisé pendant l’estimation faite par l’estimateur de frais auxiliaires 123 ; des informations de critère d’estimation de frais telles que des valeurs pour les critères d’estimation de frais appliqués ou une liste des critères manquants qui représentent des critères de discrimination ; et/ou le résultat d’estimation et éventuellement des critères manquants. L’antémémoire d’estimation de frais auxiliaires 702 peut comprendre un ou plusieurs éléments d’antémémoire, chaque élément d’antémémoire étant associé à un produit auxiliaire donné (par ex. « Animal de compagnie en cabine »), un segment de produits et des frais estimatifs. Les frais estimatifs peuvent avoir divers formats. Ils peuvent être exprimés sous la forme de frais exacts (=10 euros), de frais minimum (>10 euros). Les frais estimatifs peuvent être dépendants du contexte (« cabine affaires ») ou indépendants du contexte. Un élément d’antémémoire peut correspondre à de multiples contextes. Le tableau suivant représente des éléments d’antémémoire exemplaires qui peuvent être stockés dans une antémémoire d’estimation de frais auxiliaires 702 dans une application de l’invention au système fournisseur de voyage : Valeurs des critères Caractéristiques de produit auxiliaire Estimation de frais AF123 LON-PAR DEC01 Couffin pour bébé > 10 EUROS AF123 LON- PAR DEC01 Affaires Couffin pour bébé > 50 EUROS AF123 LON-PAR DEC01 Animal de compagnie en cabine S/O Le premier élément d’antémémoire présenté dans le tableau ci-dessus indique des frais estimatifs d’au moins 10 euros (10 EUROS) pour un produit auxiliaire « Couffin pour bébé », pour le segment de voyage « AF123 LON-PAR DEC01 ». Le deuxième élément d’antémémoire présenté dans le tableau ci-dessus indique des frais estimatifs d’au moins 50 euros (50 EUROS) pour un produit auxiliaire « Couffin pour bébé », pour le segment de voyage « AF123 LON-PAR DEC01 Affaires » (Classe affaires). Le troisième élément d’antémémoire n’indique pas des frais estimatifs (« S/O ») pour le produit auxiliaire « Animal de compagnie en cabine », pour le segment de voyage « AF123 LON-PAR DEC01 » parce que le produit auxiliaire n’est pas disponible pour le segment. L’unité de post-traitement 104 (balayeuse auxiliaire) peut être configuré pour appeler une base de données d’inventaire pour vérifier les données de disponibilité en temps réel et le montant de frais exacts des produits auxiliaires précisés pour les options de voyage calculées. L’unité de post-traitement 104 peut utiliser lesdites données de disponibilité en temps réel et les données de montant des frais provenant de l’inventaire pour : supprimer les faux positifs qui peuvent apparaître dans la base de données d’antémémoire des produits 3 associée au filtre de disponibilité 400 (filtres de Bloom) et/ou déterminer un montant de frais exact pour un produit donné si l’antémémoire d’estimation des frais auxiliaires détermine uniquement un montant de frais minimum et notifie que ces critères sont manquants. La FIG. 9 décrit un procédé de fourniture de produits un utilisateur en réponse à une demande de recherche 11 précisant les paramètres de produits principaux et les paramètres de produits auxiliaires, selon certains modes de réalisation. Dans une activité 800, la demande de recherche 11 est reçue d’un utilisateur. Dans une activité 802, le pré filtrage et le filtrage auxiliaire est exécuté pour réduire l’espace de recherche des produits qui correspondent aux produits auxiliaires précisés. En conséquence, les produits principaux qui ne corresponden pas à la demande de produits auxiliaires précisés sont supprimés de l’espace de recherche. Dans une application d’invention au système fournisseur de voyage, l’activité 802 peux comprendre : le calcul des routes entre l’origine et la destination précisées dans la demande de recherche 11 ; et la suppression des routes pour les transporteurs qui ne fournissent pas les produits auxiliaires précisés. Dans une activité 804, une liste est calculée comprenant les produits principaux répondant à la demande de recherche 11. Dans une activité 806, des informations de disponibilité sur les produits principaux renvoyés dans l’activité 804 peuvent être récupérés dans la base de données d’inventaire 4. Les produits invalides (c.-à-d. des produits qui sont considérés comme indisponibles) peuvent être supprimés. Dans une activité 808, un graphique de chemin tarifaire (également appelé « graphique de chemin de valeur ») peut être généré en utilisant les données tarifaires 113. Les informations tarifaires et les règles tarifaires peuvent ensuite être téléchargées. Dans une activité 810, un filtrage de disponibilité peut être exécuté pour filtrer la liste des produits principaux obtenus dans une activité 804 par disponibilité de produit auxiliaire en utilisant les filtres de Bloom 401. Cela fournit une liste filtrée des produits principaux qui correspondent à la fois au type de produit auxiliaire et aux conditions de disponibilité actuelles de produit auxiliaire. Dans une activité 812, des frais sont déterminés pour chaque produit auxiliaire précisé associé à une portion élémentaire (segment) d’un produit principal de la liste de produits principaux déterminée dans l’activité 810. Dans une activité 814, un post-filtrage supplémentaire (également appelé « post-traitement ») peut être par ailleurs exécuté pour supprimer des faux positifs et/ou déterminer les frais exacts pour un produit précisé en utilisant des données en temps réel dans une base de données d’inventaire stockant des données en temps réel liées à la disponibilité d’un ou de plusieurs produits. Le post-filtrage peut être par ailleurs exécuté pour supprimer des faux positifs et/ou déterminer les frais exacts d’un produit précisé. L’activité 814 peut être déclenchée lorsqu’un ou plusieurs critères d’estimation de frais manquants précédemment sont connus (provenant des données en temps réel). En réponse à la réception de nouveaux critères d’estimation des frais, l’activité 814 peut revenir à l’activité 812 pour procéder à une estimation de frais améliorée en utilisant les nouveaux critères d’entrée 701. Dans une activité 816, des frais généraux sont déterminés pour chaque produit principal de la liste filtrée de produits principaux déterminés dans l’activité 816 qui intègrent à la fois les frais du produit principal et les frais des produits auxiliaires précisés en utilisant des règles tarifaires. Dans une activité 818, le résultat des produits principaux qui correspondent à la demande de recherche 11 (comme déterminé dans les activités 810 et 814) peut être renvoyé à l’utilisateur ou au client 2 dans l’interface utilisateur dédiée du système fournisseur de produits, incluant les frais généraux de chaque produit principal (comme déterminé en 816), par exemple sous la forme d’options de vols qui peuvent être sélectionnées et achetées par l’utilisateur. La FIG. 10 est une représentation schématique du composant interne d’une machine informatique du moteur de recherche 1, du client 2, de la base de données d’antémémoire des produits 3, de la base de données d’inventaire 4 ou d’autres bases de données et antémémoires décrits dans les présentes. La machine informatique 900 inclut un ensemble d’instructions pour amener la machine informatique 900 à exécuter une quelconque des méthodologies discutées dans les présentes lorsqu’elle est exécutée par la machine informatique 900. La machine informatique 900 inclut au moins un processeur 901, une mémoire principale 906 et un dispositifs d’interface réseau 903 qui communiquent entre eux via un bus 904. En option, la machine informatique 900 peut par ailleurs inclure une mémoire statique 905 et une unité de lecteur de disque. Un écran vidéo, un dispositif d’entrée alphanumérique et un dispositif de commande de curseur peuvent être fournis en tant qu’exemples de l’interface utilisateur 902. Le dispositif d’interface réseau 903 connecte la machine informatique 900 aux autres composants du système informatique distribué tels que le moteur de recherche 1, le client 2, la base de données d’antémémoire des produits 3, la base de données d’inventaire 4 ou d’autres bases de données et antémémoires décrites dans les présentes. La machine informatique 900 héberge également l’antémémoire 907. L’antémémoire 907 dans les présents modes de réalisation peut être composée de composants matériels et logiciels qui stockent les tableaux de base de données de sorte que des demandes futures de tableaux de base de données peuvent être servies plus rapidement que sans antémémoire. Il peut y avoir des antémémoires à base de matériel telles que des antémémoires CPU, des antémémoires GPU, des processeurs de signaux numériques et des répertoires de page active ainsi que des antémémoires à base de logiciel telles que des antémémoires de page, des antémémoires Web (antémémoires de protocole de transfert hypertexte, HTTP) etc. Le moteur de recherche 1, le client 2, la base de données d’antémémoire de produits 3, la base de données d’inventaire 4 ou d’autres bases de données et antémémoires décrits dans les présentes peuvent comprendre une antémémoire 907. Un ensemble d’instructions exécutables par ordinateur (c.-à-d. un code de programme informatique) mettant en œuvre une quelconque, ou toutes les méthodologies décrites dans les présentes réside complètement, ou au moins partiellement, dans ou sur un support lisible par machine, par ex. la mémoire principale 906. La mémoire principale 906 héberge le code de programme informatique pour des entités fonctionnelles telles que le traitement de demande de base de données 908 qui est inclut la fonctionnalité de recevoir et de traiter des demandes base de données et la fonctionnalité de traitement de données 909. Les instructions peuvent par ailleurs être transmises ou reçues en temps que signal propagé via Internet par l’intermédiaire du dispositif d’interface réseau 903 via l’interface utilisateur 902. La communication dans la machine informatique est exécutée via le bus 904. Le fonctionnement de base de la machine informatique 900 est commandé par un système d’exploitation qui est également situé dans la mémoire principale 906, ledit au moins un processeur 901 et/ou la mémoire statique 905. En général, les routines exécutées pour implémenter les modes de réalisation, qu’elles soient implémentées en tant que partie d’un système d’exploitation ou d’une application, un composant, un programme, un objet, un module spécifique ou une séquence d’instructions, ou même un sous-ensemble de ceux-ci, peuvent être appelées dans les présentes « code de programme informatique », ou simplement « code de programme ». Le code de programme comprend typiquement des instructions lisibles par ordinateur qui résident à divers moments dans divers dispositifs de stockage et de mémoire dans un ordinateur et qui, lorsqu’elles sont lues et exécutées par un ou plusieurs processeurs dans un ordinateur, amènent cet ordinateur à exécuter les opérations nécessaires pour exécuter les opérations et/ou les éléments mettant en œuvre les divers aspects des modes de réalisation de l’invention. Les instructions de programme lisibles par ordinateur pour exécuter les opérations des modes de réalisation de l’invention peuvent être, par exemple, un langage d’assemblage ou l’un ou l’autre code source ou code objet écrit dans une quelconque combinaison d’un ou de plusieurs langages de programmation. Un procédé de traitement de demandes de recherche de base de données dans un environnement informatique distribué comprenant un moteur de recherche, une base de données d’antémémoire de produits et une base de données d’inventaire, dans lequel : la base de données d’antémémoire de produits est configurée pour stocker des enregistrements de données précisant les principaux produits récupérés dans une ou plusieurs bases de données de fournisseur, dans lesquelles chaque produit principal est associé à un masque binaire de référence représentant dans un format binaire un nombre de produits auxiliaires associés au produit principal correspondant, dans lequel le masque binaire de référence est généré sur la base des données reçues des bases de données de fournisseur et stocké dans la base de données d’antémémoire de produits ; la base de données d’inventaire est configurée pour stocker les données de disponibilité liées aux produits principaux et les données de disponibilité liées aux produits auxiliaires associés aux produits principaux ; le procédé comprenant, au moteur de recherche : la détermination, en réponse à une demande de recherche d’un client, d’un ensemble de produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche ; la génération d’un masque binaire de recherche sur la base des critères de recherche indiqués dans la demande de recherche qui identifie un ou plusieurs produits auxiliaires ; la détermination d’un sous-ensemble de l’ensemble récupéré de produits principaux, le sous-ensemble comprenant les produits principaux avec les produits auxilaires associés tels qu’identifiés dans la demande de recherche, en : récupérant dans la base de données d’antémémoire de produits le masque binaire de référence pour chaque produit principal dans l’ensemble ; comparant le masque binaire de recherche avec le masque binaire de référence pour chaque produit principal dans l’ensemble et sélectionnant le produit principal pour le sous-ensemble si le masque binaire de recherche et le masque binaire de référence respectif correspondent ; déterminant une disponibilité des produits auxiliaires associés à chaque produit principal dans le sous-ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire ; mettant à jour, pour chaque produit principal dans le sous-ensemble, le masque binaire de référence dans la base de données d’antémémoire de produits si un ou plusieurs des produits auxiliaires associés au produit principal dans le sous-ensemble sont déterminés comme étant indisponibles ; le renvoi d’au moins un produit principal du sous-ensemble pour lequel la disponibilité des produits auxiliaires associés a été déterminée au client. Le procédé selon la revendication 1, comprenant par ailleurs : la détermination en récupérant, en réponse à une demande de recherche d’un client, dans la base de données d’antémémoire de produits, l’ensemble des produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche ; la détermination d’une disponibilité pour chaque produit principal dans le sous-ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire ; pour chaque produit principal dans le sous-ensemble, la suppression du produit principal provenant du sous-ensemble, si le produit principal est déterminé comme étant indisponible, modifiant ainsi le sous-ensemble de produits principaux. Le procédé de la revendication 1, comprenant par ailleurs la détermination en récupérant, en réponse à une demande de recherche d’un client, dans ladite une ou plusieurs bases de données de fournisseur, de l’ensemble des produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche. Le procédé de l’une quelconque des revendications 1 à 3, comprenant par ailleurs : le calcul d’un ou de plusieurs tarifs correspondant aux produits principaux dans le sous-ensemble et/ou aux produits auxiliaires associés aux produits principaux dans le sous-ensemble et l’ajout des tarifs calculés au sous-ensemble et/ou le calcul de solutions tarifaires pour les produits principaux dans le sous-ensemble et/ou les produits auxiliaires associés aux produits principaux dans le sous-ensemble et l’ajout de solutions tarifaires calculées au sous-ensemble. Le procédé de l’une quelconque des revendications 1 à 4, dans lequel le masque binaire de référence et/ou le masque binaire de recherche est un vecteur binaire comprenant un ensemble de composants binaires, les composants binaires étant générés par une fonction prédéfinie. Le procédé de la revendication 5, dans lequel le masque binaire de référence et le masque binaire de recherche sont des filtres de Bloom. Le procédé de l’une quelconque des revendications 1 à 6, dans lequel la détermination d’une disponibilité pour chaque produit principal dans le sous-ensemble et/ou les produits auxiliaires associés à chaque produit principal dans le sous-ensemble comprend : l’émission d’une demande de disponibilité à la base de données d’inventaire et la réception d’une réponse à la demande de disponibilité ; l’identification du produit principal et/ou du produit auxiliaire comme étant disponible si la réponse à la demande de disponibilité renvoie une indication selon laquelle le produit principal et/ou le produit auxiliaire est disponible ; l’identification du produit principal et/ou du produit auxiliaire comme étant indisponible si la réponse à la demande de disponibilité renvoie une indication selon laquelle le produit principal et/ou le produit auxiliaire n’est pas disponible. Un moteur de recherche pour traiter des demandes de recherche de base de données dans un environnement informatique distribué comprenant une base de données d’antémémoire de produits et une base de données d’inventaire, dans lequel : la base de données d’antémémoire de produits est configurée pour stocker des enregistrements de données précisant les produits principaux récupérés dans une ou plusieurs bases de données de fournisseur, dans laquelle chaque produit principal est associé à un masque binaire de référence représentant dans un format binaire un nombre de produits auxiliaires associés au produit principal correspondant, dans lequel le masque binaire de référence est généré sur la base des données reçues de ladite une ou plusieurs bases de données de fournisseur et stocké dans la base de données d’antémémoire de produits ; la base de données d’inventaire est configurée pour stocker les données de disponibilité liées aux produits principaux et les données de disponibilité en temps réel liées aux produits auxiliaires associés aux produits principaux ; dans lequel le moteur de recherche est configuré pour : déterminer, en réponse à une demande de recherche d’un client, un ensemble de produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche ; générer un masque binaire de recherche sur la base des critères de recherche indiqués dans la demande de recherche qui identifie un ou plusieurs produits auxiliaires ; déterminer un sous-ensemble de l’ensemble récupéré de produits principaux, le sous-ensemble comprenant les produits principaux avec des produits auxiliaires associés tels qu’identifiés dans la demande de recherche, en : récupérant dans la base de données d’antémémoire de produits le masque binaire de référence pour chaque produit principal dans l’ensemble ; comparant le masque binaire de recherche au masque binaire de référence pour chaque produit principal dans l’ensemble et sélectionnant le produit principal pour le sous-ensemble si le masque binaire de recherche et le masque binaire de référence respectif correspondent ; déterminant une disponibilité pour les produits auxiliaires associés à chaque produit principal dans le sous-ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire ; mettant à jour le masque binaire de référence dans la base de données d’antémémoire de produits, si un ou plusieurs des produits auxiliaires associés au produit principal dans le sous-ensemble sont déterminés comme étant indisponibles ; renvoyant au moins un produit principal du sous-ensemble pour lequel la disponibilité des produits auxiliaires associés a été déterminée au client. Le moteur de recherche de la revendication 8, dans lequel le moteur de recherche est par ailleurs configuré pour : déterminer en récupérant, en réponse à une demande de recherche d’un client, dans la base de données d’antémémoire de produits, l’ensemble de produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche ; déterminer une disponibilité pour chaque produit principal dans le sous-ensemble en récupérant les données de disponibilité correspondantes dans la base de données d’inventaire ; pour chaque produit principal dans le sous-ensemble, supprimer le produit principal provenant du sous-ensemble si le produit principal est déterminé comme étant indisponible, modifiant ainsi le sous-ensemble de produits principaux. Le moteur de recherche de la revendication 8, dans lequel le moteur de recherche est par ailleurs configuré pour déterminer en récupérant, en réponse à une demande de recherche d’un client, dans ladite une ou plusieurs base de données de fournisseur, l’ensemble des produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche. Le moteur de recherche de l’une quelconque des revendications 8 à 10, dans lequel le moteur de recherche est par ailleurs configuré pour : calculer un ou plusieurs tarifs correspondant aux produits principaux dans le sous-ensemble et/ou aux produits auxiliaires associés aux produits principaux dans le sous-ensemble et ajouter les tarifs calculés au sous-ensemble et/ou calculer des solutions tarifaires pour les produits principaux dans le sous-ensemble et/ou les produits auxiliaires associés aux produits principaux dans le sous-ensemble et ajouter les solutions tarifaires calculées au sous-ensemble. Le moteur de recherche de l’une quelconque des revendications 8 à 11, dans lequel le moteur de recherche est configuré pour déterminer une disponibilité pour chaque produit principal dans le sous-ensemble et/ou les produits auxiliaires associés à chaque produit principal dans le sous-ensemble en : émettant une demande de disponibilité à la base de données d’inventaire et recevant une réponse à la demande de disponibilité ; identifiant le produit principal et/ou le produit auxiliaire comme étant disponible si la réponse à la demande de disponibilité renvoie une indication selon laquelle le produit principal et/ou le produit auxiliaire est disponible ; identifiant le produit principal et/ou le produit auxiliaire comme étant indisponible si la réponse à la demande de disponibilité renvoie une indication selon laquelle le produit principal et/ou le produit auxiliaire n’est pas disponible. Le moteur de recherche de l’une quelconque des revendications 8 à 12, dans lequel le masque binaire de référence et/ou le masque binaire de recherche est un vecteur binaire comprenant un ensemble de composants binaires, les composants binaires étant générés par une fonction prédéfinie. Le moteur de recherche de la revendication 13, dans lequel le masque binaire de référence ou le masque binaire de recherche sont des filtres de Bloom. Un environnement informatique distribué comprenant une base de données d’antémémoire de produits, une base de données d’inventaire et un moteur de recherche selon l’une quelconque des revendications 8 à 14. 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’une quelconque des revendications 1 à 7 lorsque ledit programme est exécuté sur un ordinateur.