FR3104296A1 - Système de determination de produit optimisé - Google Patents

Système de determination de produit optimisé Download PDF

Info

Publication number
FR3104296A1
FR3104296A1 FR1913844A FR1913844A FR3104296A1 FR 3104296 A1 FR3104296 A1 FR 3104296A1 FR 1913844 A FR1913844 A FR 1913844A FR 1913844 A FR1913844 A FR 1913844A FR 3104296 A1 FR3104296 A1 FR 3104296A1
Authority
FR
France
Prior art keywords
product
products
search
main
subset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1913844A
Other languages
English (en)
Inventor
Li Van De Woestyne
Jeremy Van De Woestyne
Jerome Bauchot
Jean-Chafic Hays
Aurelie Camberbec
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amadeus SAS
Original Assignee
Amadeus SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amadeus SAS filed Critical Amadeus SAS
Priority to FR1913844A priority Critical patent/FR3104296A1/fr
Priority to US17/101,273 priority patent/US11798054B2/en
Priority to EP20209700.2A priority patent/EP3832580A1/fr
Priority to CN202011409769.0A priority patent/CN112925974A/zh
Publication of FR3104296A1 publication Critical patent/FR3104296A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0623Item investigation
    • G06Q30/0625Directed, with specific intent or strategy
    • G06Q30/0627Directed, with specific intent or strategy using item specifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/087Inventory or stock management, e.g. order filling, procurement or balancing against orders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0201Market modelling; Market analysis; Collecting market data
    • G06Q30/0206Price or cost determination based on market factors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0278Product appraisal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination
    • G06Q30/0284Time or distance, e.g. usage of parking meters or taximeters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/14Travel agencies

Abstract

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)

Description

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 recherche1, un ou plusieurs clients2, une base de données d’antémémoire de produits3, une base de données d’inventaire4. Les clients2, la base de données d’antémémoire de produits3 et la base de données d’inventaire4 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 produits3 et/ou la base de données d’inventaire4 peuvent être des machines similaires telles que des clients2, tandis que, dans d’autres modes de réalisation, la base de données d’antémémoire de produits3 et/ou la base de données d’inventaire4 sont plus puissantes (en termes de ressources de calcul) que les clients2.
La base de données d’antémémoire de produits3, la base de données d’inventaire4 et les clients2 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 produits3, la base de données d’inventaire4 et les clients2, sont conçus par ex. comme des machines matérielles stationnaires ou mobiles comprenant des machines informatiques100 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 produits3, la base de données d’inventaire4 et les clients2 sont interconnectés par les interfaces de communication5. Chacune des interfaces6 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 clients2 via les interfaces de communication5 sont reçues au moteur de recherche1. Le moteur de recherche1 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 recherche1 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 recherche1 pour des raisons de sécurité et de performance.
La base de données d’antémémoire de produits3 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 voyage303 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 produits3 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 produits3 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 produits3 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 recherche1.
La base de données d’inventaire4 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’inventaire4, 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 produits3 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 produits3, la base de données d’inventaire4, 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 produits3 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 produits3 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 produits3 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 produits3 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 client2 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 clients2 (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 clients2 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 clients2 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 client2 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 recherche11 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 recherche11 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 recherche1 détermine, dans une activité12, en réponse à une demande de recherche11 d’un client2, un ensemble de produits principaux correspondant aux critères de recherche indiqués dans la demande de recherche11. Pour citer un exemple, la demande de recherche11 d’un client2 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 recherche11, le moteur de recherche1 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 recherche11 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 recherche1 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 recherche11 qui identifie un ou plusieurs produits auxiliaires. Le masque binaire de recherche représente les critères de recherche de la demande de recherche11 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 recherche1 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 recherche11. À 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’inventaire4 (é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 recherche1 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’inventaire4. Le moteur de recherche1 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 recherche1 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 client2. Restons avec l’exemple susmentionné, si un vol Air France particulier de Paris à Londres le 1erdé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 recherche1 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 1erdécembre 2019. Dans ce cas, la recherche n’a aucun résultat et le client2 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 recherche11 d’un client2, 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 produits3 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’inventaire4. 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 recherche11 d’un client2, 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 recherche11 (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 produits3.
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 produits3 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’inventaire4. Une phase de codage est implémentée dans le flux d’exécution d’une demande de recherche11 reçue d’un client2. 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 recherche11.
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’inventaire4. 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 bitsV(é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 arbitrairek. Chaque position d’une vvecteur binaireVest 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 bitsVainsi 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 BloomVcalculé 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 Nxk. Les masques binairesVgé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 recherche11 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 recherche11 peuvent être déterminés pour chaque produit principal trouvé par le moteur de recherche1 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 recherche11 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 recherche1, 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 recherche1 selon certains modes de réalisation. Le moteur de recherche1 comprend un serveur de recherche101 (également appelé «planificateur d’itinéraires») configuré pour chercher des produits principaux (vols) répondant à une demande de recherche11, en réponse à la réception de la demande de recherche11 d’un client2 par l’intermédiaire d’un ou plusieurs réseaux5, la demande de recherche11 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 clients2, une demande de recherche11 (é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ée11. 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 recherche101 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 produits3.
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 recherche101 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 recherche11, 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 recherche101.
Un calculateur de tarifs130 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 tarifs103 peut comprendre un moteur de tarification143 configuré pour déterminer (ou calculer) les combinaisons tarifaires et un moteur de vol133 configuré pour déterminer les vols disponibles, les deux interagissant avec les moyens de distribution153. Le moteur de tarification143 peut utiliser des données de charges tarifaires113 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 recherche101 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 recherche101 ayant une disponibilité suffisante pour le produit auxiliaire.
Le système fournisseur de voyage peut par ailleurs comprendre un estimateur de frais auxiliaires123 configuré pour estimer les frais auxiliaires sur la base des critères d’estimation de frais. L’estimateur de frais auxilaires123 peut interagir avec un ou plusieurs composants du calculateur de tarifs103. Dans certains modes de réalisation, comme décrit à la FIG. 3, l’estimateur de frais auxiliaires123 peut faire partie du calculateur de tarifs103. L’estimateur de frais auxilaires123 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 auxiliaires123 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-traitement104 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’inventaire4 (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 auxiliaires123. 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 auxiliaires123 peut être poussée de l’estimateur de frais auxiliaires123 au filtre de disponibilité.
Le système fournisseur de voyage peut également comprendre une unité post-traitement104 (é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-traitement104 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-traitement104 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-traitement104 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’apprentissage105, 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 recherche11 qui ont été envoyées par les clients2 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 recherche11 en utilisant lesdites données d’apprentissage telles que stockées dans la structure de données d’apprentissage. Ledit moteur d’apprentissage105 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 voyage303, 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 transporteur301, 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 voyage302, le système de fournisseur de voyage303 et un ou plusieurs clients2. Chacun du GDS300, des systèmes de transporteur301, du système de vendeur indirect302, du système de fournisseur de voyage303 et du client2 peut communiquer pr l’intermédiaire du réseau304. Les systèmes de transporteur301 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 GDS300 et/ou système de vendeur indirect302 de réserver et de payer des billets d’avion. Les systèmes de transporteur301 peuvent également interagir les uns avec les autres, directement ou par l’intermédiaire du GDS300, 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 GDS300 peut être configuré pour faciliter la communication entre les systèmes de transporteur301 et les systèmes de vendeur indirect302 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 transporteur301 via le GDS300. Le GDS300 peut conserver des liens vers chacun des systèmes de transporteur301 via le réseau6 pour permettre au GDS300 d’obtenir les données de planification et de disponibilité pour des segments provenant des systèmes de transporteur301. Les systèmes de transporteur et d’agence de voyage301, 302 peuvent ainsi réserver des vols, trains, d’autres types de segments sur de multiples transporteurs via une connexion unique au GDS300. 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 voyage302 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 voyage302 peut fournir l’accès aux données au voyageur dans une ou plusieurs bases de données hébergées par le GDS300, les systèmes de transporteur301, et le système d’agence de voyage302. Dans un mode de réalisation de l’invention alternatif, le système d’agence de voyage302 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 voyage303 peut être en communication avec le système d’agence de voyage302 via le réseau304 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 voyage303 peut être intégrée dans un ou plusieurs des autres systèmes300, 301, 302. Les voyageurs ou agents de voyages peuvent utiliser le système d’agence de voyage302 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 voyage303.
Le GDS 300, les systèmes de transporteur301, le système d’agence de voyage302, le système de fournisseur de voyage303, et les clients2 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’ordinateur900 de la FIG. 10.
Revenons à la FIG 3 et à la FIG. 4, le serveur de recherche101 peut recevoir une demande de voyage d’un client2 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 recherche101 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 recherche101 ou par le système de fournisseur de voyage303 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 recherche101 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 recherche101 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 recherche11 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 multimodale101, 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 recherche11 par l’intermédiaire du client2 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 recherche101 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 recherche101 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 produits3. Le serveur de recherche101 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’inventaire4. 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 recherche11 (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 recherche101 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 recherche11 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’inventaire4. Les produits auxiliaires peuvent être représentés par un identifiant de produit. Le filtre de disponibilité400 peut comprendre un codeur402 configuré pour implémenter la phase de codage. Le codeur402 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 recherche101 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 recherche101, 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’inventaire4, qui peuvent inclure la bibliothèque auxiliaire. La base de données d’inventaire4 peut inclure des données d’inventaire de services basés sur des quotas. La base de données d’inventaire4 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’inventaire4 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’inventaire4 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 probabilistes121, telles que des réseaux binaires compacts de taille fixe ou des filtres de Bloom, à partir de la base de données d’inventaire4. En réponse à une requête pour de telles structures de données probabilistes401 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 Bloom401 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écodeur403. 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 codeur402 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 recherche11.
Le décodeur403 peut être configuré pour implémenter la phase de décodage. Le décodeur403 peut appliquer, pour chaque segment d’un produit principal déterminé par le serveur de recherche101, les M fonctions de hâchage aux produits auxiliaires identifiés dans la demande de recherche11 pour déterminer un filtre de Bloom élémentaire sous la forme d’un vecteur de bitsVpour 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é traitement404 configurée pour combiner les filtres de BloomV 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ésultantV’pour les produits auxiliaires considérés et le segment considéré. Un filtre de Bloom résultantV’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 Bloom401. Par exemple, si la demande de recherche11 précise le service «Couffin pour bébé», ladite caractéristique de service sera codée par le codeur122 comme étant «10000001».
Le filtre de disponibilité400 peut ensuite déterminer si les produits auxiliaires précisés dans la demande de recherche11 sont disponibles pour l’itinéraire précisé (tel que précisé par la demande de recherche11). Plus spécifiquement, pour déterminer la disponibilité des produits auxiliaires précisés dans la demande de recherche11, le filtre de disponibilité400 peut déterminer pour chaque segment renvoyé par le serveur de recherche101 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 Bloom401. 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ées401. 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ées401 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 Bloom401).
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 Bloom405 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’inventaire4 par ex. dans des bases de données externes (non présentées à la FIG. 6). La base de données d’inventaire4 peut comprendre par exemple une ou plusieurs bases de données.
Les données peuvent être envoyées la base de données d’inventaire4 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’inventaire4.
En réponse aux données d’inventaire poussées dans la base de données d’inventaire4, un accusé de réception peut être renvoyé de la base de données d’inventaire4 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’inventaire4 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 inventaire4, ajoutées aux structures de données d’inventaire ou une partie des données stockées dans la base de données d’inventaire4 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’inventaire4. 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 Bloom401.
La FIG. 7 est un organigramme décrivant le processus de mise à jour de l’antémémoire du filtre de Bloom401 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 recherche11 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 Bloom401.
La FIG. 8 est une représentation schématique de l’estimateur de frais auxiliaires123, selon certains modes de réalisation.
L’estimateur de frais auxiliaires123 peut être configuré pour déterminer des tarifs de vol pour chaque produit parmi les produits renvoyés par le serveur de recherche101 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 auxiliaires123 peut prendre en compte plusieurs critères701 (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 auxiliaires123 peut fournir une sortie d’estimation704 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 auxiliaires123 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 auxiliaires123 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 recherche11 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 auxiliaires701 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 recherche11 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 auxiliaires123 peut fournir une sortie d’estimation704 (é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 tarifaires113 qui stockent les données tarifaires liées à un produit auxiliaire donné. Par exemple, la sortie d’estimation704 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édemment701 sont obtenus à partir des données en temps réel, l’estimateur de frais123 peut être rappelé avec lesdits critères d’estimation de frais701 pour déterminer les frais mieux estimés (ou même exacts).
En réponse à l’estimation faite par l’estimateur de frais auxiliaires123, l’estimateur de frais auxiliaires123 peut par ailleurs stocker dans une antémémoire702 (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 auxiliaires123, telles que par exemple:
  • une liste des critères d’estimation des frais auxiliaires123 utilisé pendant l’estimation faite par l’estimateur de frais auxiliaires123;
  • 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 auxiliaires702 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 (=10euros), de frais minimum (>10euros). 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 auxiliaires702 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é > 10EUROS
AF123 LON- PAR DEC01 Affaires Couffin pour bébé > 50EUROS
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 10euros (10EUROS) 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 50euros (50EUROS) 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-traitement104 (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-traitement104 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 produits3 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 recherche11 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 recherche11 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 recherche11; 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 recherche11.
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’inventaire4. 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 tarifaires113. 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 Bloom401. 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ée701.
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 recherche11 (comme déterminé dans les activités810 et 814) peut être renvoyé à l’utilisateur ou au client2 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 recherche1, du client2, de la base de données d’antémémoire des produits3, de la base de données d’inventaire4 ou d’autres bases de données et antémémoires décrits dans les présentes. La machine informatique900 inclut un ensemble d’instructions pour amener la machine informatique900 à exécuter une quelconque des méthodologies discutées dans les présentes lorsqu’elle est exécutée par la machine informatique900. La machine informatique900 inclut au moins un processeur901, une mémoire principale906 et un dispositifs d’interface réseau903 qui communiquent entre eux via un bus904. En option, la machine informatique900 peut par ailleurs inclure une mémoire statique905 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 utilisateur902. Le dispositif d’interface réseau903 connecte la machine informatique900 aux autres composants du système informatique distribué tels que le moteur de recherche1, le client2, la base de données d’antémémoire des produits3, la base de données d’inventaire4 ou d’autres bases de données et antémémoires décrites dans les présentes.
La machine informatique900 héberge également l’antémémoire907. L’antémémoire907 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 recherche1, le client2, la base de données d’antémémoire de produits3, la base de données d’inventaire4 ou d’autres bases de données et antémémoires décrits dans les présentes peuvent comprendre une antémémoire907.
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 principale906. La mémoire principale906 héberge le code de programme informatique pour des entités fonctionnelles telles que le traitement de demande de base de données908 qui est inclut la fonctionnalité de recevoir et de traiter des demandes base de données et la fonctionnalité de traitement de données909. 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éseau903 via l’interface utilisateur902. La communication dans la machine informatique est exécutée via le bus904. Le fonctionnement de base de la machine informatique900 est commandé par un système d’exploitation qui est également situé dans la mémoire principale906, ledit au moins un processeur901 et/ou la mémoire statique905.
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.

Claims (16)

  1. 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.
  2. Le procédé selon la revendication1, 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.
  3. Le procédé de la revendication1, 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.
  4. Le procédé de l’une quelconque des revendications1 à 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.
  5. Le procédé de l’une quelconque des revendications1 à 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.
  6. Le procédé de la revendication5, dans lequel le masque binaire de référence et le masque binaire de recherche sont des filtres de Bloom.
  7. Le procédé de l’une quelconque des revendications1 à 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.
  8. 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.
  9. Le moteur de recherche de la revendication8, 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.
  10. Le moteur de recherche de la revendication8, 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.
  11. Le moteur de recherche de l’une quelconque des revendications8 à 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.
  12. Le moteur de recherche de l’une quelconque des revendications8 à 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.
  13. Le moteur de recherche de l’une quelconque des revendications8 à 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.
  14. Le moteur de recherche de la revendication13, dans lequel le masque binaire de référence ou le masque binaire de recherche sont des filtres de Bloom.
  15. 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.
  16. 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.
FR1913844A 2019-12-06 2019-12-06 Système de determination de produit optimisé Pending FR3104296A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1913844A FR3104296A1 (fr) 2019-12-06 2019-12-06 Système de determination de produit optimisé
US17/101,273 US11798054B2 (en) 2019-12-06 2020-11-23 Optimized product determination system
EP20209700.2A EP3832580A1 (fr) 2019-12-06 2020-11-25 Système de détermination de produit optimisé
CN202011409769.0A CN112925974A (zh) 2019-12-06 2020-12-04 优化的产品确定系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1913844 2019-12-06
FR1913844A FR3104296A1 (fr) 2019-12-06 2019-12-06 Système de determination de produit optimisé

Publications (1)

Publication Number Publication Date
FR3104296A1 true FR3104296A1 (fr) 2021-06-11

Family

ID=69700130

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1913844A Pending FR3104296A1 (fr) 2019-12-06 2019-12-06 Système de determination de produit optimisé

Country Status (4)

Country Link
US (1) US11798054B2 (fr)
EP (1) EP3832580A1 (fr)
CN (1) CN112925974A (fr)
FR (1) FR3104296A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568465B2 (en) * 2021-04-25 2023-01-31 Wenye Tan Intelligent online platform for digitizing, searching, and providing services
WO2023172205A1 (fr) * 2022-03-11 2023-09-14 Smudg Company Pte. Ltd. Système configuré avec un réseau d'un ou de plusieurs types d'attributs à auto-étalonnage et en expansion continue

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160307281A1 (en) * 2015-04-14 2016-10-20 Amadeus S.A.S. Selecting search results for responding to search query

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2825814B1 (fr) * 2001-06-07 2003-09-19 Commissariat Energie Atomique Procede de creation automatique d'une base de donnees images interrogeable par son contenu semantique
US20110004856A1 (en) * 2005-02-28 2011-01-06 Yuri Granik Inverse Mask Design and Correction for Electronic Design
US9934526B1 (en) * 2013-06-27 2018-04-03 A9.Com, Inc. Text recognition for search results
US20200394728A1 (en) * 2013-09-13 2020-12-17 Keith FISHBERG Amenity and service search and booking engine
EP3044702A4 (fr) * 2013-09-13 2017-05-10 Fishberg, Keith Système de recherche et de réservation de commodités d'accueil, de services spéciaux et de services de restauration
US10303735B2 (en) * 2015-11-18 2019-05-28 Intel Corporation Systems, apparatuses, and methods for K nearest neighbor search
US9626334B2 (en) * 2014-12-24 2017-04-18 Intel Corporation Systems, apparatuses, and methods for K nearest neighbor search
US10270965B2 (en) * 2015-12-04 2019-04-23 Ebay Inc. Automatic guided capturing and presentation of images
US10521691B2 (en) * 2017-03-31 2019-12-31 Ebay Inc. Saliency-based object counting and localization
EP3948840A4 (fr) * 2019-03-18 2023-07-19 Geomagical Labs, Inc. Interaction virtuelle avec imagerie de pièce intérieure en trois dimensions
WO2020210820A1 (fr) * 2019-04-11 2020-10-15 Carnegie Mellon University Système et procédé permettant de déterminer des produits en rupture de stock
US20210027317A1 (en) * 2019-07-26 2021-01-28 Capital One Services, Llc Inventory and structure finder
US11663642B2 (en) * 2019-10-07 2023-05-30 Salesforce, Inc. Systems and methods of multicolor search of images

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160307281A1 (en) * 2015-04-14 2016-10-20 Amadeus S.A.S. Selecting search results for responding to search query

Also Published As

Publication number Publication date
US11798054B2 (en) 2023-10-24
EP3832580A1 (fr) 2021-06-09
CN112925974A (zh) 2021-06-08
US20210174419A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
TWI709867B (zh) 資料處理方法及裝置
JP6568240B2 (ja) 運輸サービスの料金を求める方法及びシステム
CN104169950B (zh) 利用面向批处理的计算的数据库系统
JP6456348B2 (ja) アイテムクエリの管理
US20160203422A1 (en) Method and electronic travel route building system, based on an intermodal electronic platform
US20200057918A1 (en) Systems and methods for training artificial intelligence to predict utilization of resources
US20080198761A1 (en) Decentralized network architecture for travel related services
EP3046058A1 (fr) Procédé et système de construction de l'itinéraire de déplacement électronique, sur la base d'une plate-forme électronique intermodal
Voigt et al. Crowdsourced logistics: The pickup and delivery problem with transshipments and occasional drivers
CN107580713A (zh) 时间期满库存的需求预测
US20080183512A1 (en) System and method for estimating seat value
CN109155039A (zh) 用于时间期满清单利用预测的回归树压缩的特征向量机
US20150046201A1 (en) Travel Booking Platform
AU2018388686A1 (en) A method and a computer system for providing a route or a route duration for a journey from a source location to a target location
US20090222279A1 (en) Rate quote generation for optimization of travel agency profitability
CA3090497A1 (fr) Classification de transaction basee sur des predictions de temps de transaction
US11580584B2 (en) Managing item queries
CN109643401A (zh) 即将到期库存的需求预测
US20030069747A1 (en) Methods, systems, and articles of manufacture for providing fare trend information
JP6850310B2 (ja) 見積もり価格、たとえば航空運賃価格見積もりの組を提供するための方法及びサーバ
FR3021790A1 (fr)
FR3104296A1 (fr) Système de determination de produit optimisé
US11544638B2 (en) Method and system for recommending multi-modal itineraries
US20210035252A1 (en) Determining disutility of shared transportation requests for a transportation matching system
WO2020228607A1 (fr) Procédé et système de transport multimodal

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210611

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5