Brevet FR3069684A1 — publié le 20190201

MOTEUR DE RECHERCHE D'ITINÉRAIRES DOMAINE L'invention concerne un moteur de recherche de vols, un système, des procédés et des produits-programmes d'ordinateur associés. CONTEXTE 10 US 2011/0225012 Al relève d'un système et d'un procédé pour créer un itinéraire de voyage. À la réception d'une requête pour un itinéraire de voyage, un ou plusieurs points médians entre l'origine et la destination demandée sont identifiés et un itinéraire incluant une route entre ledit ou plusieurs points médians et l'origine et la destination demandée est généré en se basant également sur des fichiers de recommandations préenregistrés. 15 RÉSUMÉ DE L'INVENTION Selon un premier aspect, un moteur de recherche d'itinéraires entre une origine et une destination à une date donnée est fourni, selon à une politique d'affichage prédéfinie. Le moteur 20 comprend » un module de recherche de routes pour calculer les routes de vols disponibles de l'origine à la destination, selon la politique d'affichage prédéfinie ; un module de filtrage de routes pour filtrer les routes disponibles selon un premier ensemble de critères prédéfinis associé aux routes ; un module de classement de routes pour classer les routes filtrées, disponibles selon un deuxième ensemble de critères prédéfinis associé aux routes ; un module de détermination d'itinéraires pour construire des itinéraires associés aux routes filtrées disponibles à la date donnée, selon la politique d'affichage prédéfinie ; un module de filtrage d'itinéraires pour filtrer les itinéraires construits selon un 30 troisième ensemble de critères associé aux itinéraires ; un module de classement d'itinéraires pour classer les itinéraires filtrés selon un quatrième ensemble de critères prédéfinis associé aux itinéraires ; dans lequel le moteur comprend par ailleurs un module pour recevoir et analyser des données historiques de réservation, relatives à des itinéraires réservés antérieurement, pour des 35 voyages futurs ; le module de classement de routes et/ou le module de classement d'itinéraires prennent en compte lesdites données historiques de réservation. Selon un deuxième aspect, un système est fourni pour répondre à une requête d'utilisateur pour un vol d'une origine à une destination à une date donnée. Le système comprend : un processeur connecté à un réseau ; un moteur de recherche de vols selon le premier aspect ; un module de disponibilité ; un module de calcul de tarif; 10 et au moins un dispositif client comprenant une interface d'utilisateur. Le système est configuré pour recevoir une requête d'utilisateur comprenant une origine, une destination et une date via l'interface d'utilisateur, interroger le moteur de recherche de vols avec les critères spécifiés par l'utilisateur, interroger le module de disponibilité avec les itinéraires renvoyés par le moteur de recherche de vols, transmettre les itinéraires disponibles envoyés par le module de disponibilité au calculateur de tarif, filtrer et classer les itinéraires tarifés et afficher un sous-ensemble de ceux-ci sur l'interface d'utilisateur. Selon un troisième aspect, un procédé est fourni pour le traitement ne requête d'utilisate Le procédé pour le traitement d'une requête d'utilisateur comprend : 20 la réception d'une requête d'utilisateur comprenant une origine et une destination ainsi qu'une date de voyage, soumis par l'utilisateur via une interface d'utilisateur ; le calcul des routes disponibles pour voyager de l'origine à la destination selon une politique d'affichage ; la mise en oeuvre du filtrage de toutes les routes disponibles selon au moins un premier 25 ensemble de critères prédéfinis associé aux routes ; la mise en oeuvre du classement des routes filtrées selon au moins un deuxième ensemble de critères prédéfinis associés aux routes, dans lequel une première valeur de notation pour chacune des routes filtrées est utilisée ; la sélection d'un nombre prédéfini de routes disponibles, filtrées et classées ; l'obtention d'information sur les horaires correspondant aux segments dans sélectionnées; le calcul, selon une politique d'affichage, des itinéraires disponibles pour chaque route en assemblant des horaires associés aux segments de la route ; la mise en oeuvre du filtrage de tous les itinéraires disponibles selon un troisième 35 ensemble de critères prédéfinis associé aux itinéraires ; la mise en oeuvre du classement des itinéraires filtrés selon un quatrième ensemble de critères prédéfinis associé aux itinéraires dans lequel une première valeur de notation pour chacun des itinéraires filtrés est créée. Selon un autre aspect, un produit-programme d'ordinateur est fourni pour traiter une requête d'utilisateur ; comprenant un support de stockage non transitoire lisible par ordinateur et un code de programme stocké sur le support de stockage non transitoire lisible par ordinateur qui, lorsqu'il est exécuté par un ou plusieurs processeurs, amène ledit ou plusieurs processeurs à mettre en oeuvre le procédé décrit ci-dessus. 10 DESCRIPTION GÉNÉRALE DE MODES DE RÉALISATION OPTIONELS Dans ce document, un segment peut être une connexion entre deux aéroports, un horaire peut être une connexion entre deux aéroports avec une heure de départ spécifiée et une heure d'arrivée. Une route peut être une séquence de segments entre une origine et une destination. Un itinéraire peut être une séquence d'horaires pour voyager d'une origine à une destination, Un itinéraire peut être une séquence d'horaires pour à l'aller d'une origine à une destination et pour voyager au retour de la destination à l'origine, lorsque la requête de voyage concerne un aller-retour. 20 Habituellement, la technologie informatique est utilisée pour rechercher des vols et réserver des vols. Pour rechercher un vol, un utilisateur, voyageur, agent de voyage ou agent tiers peut accéder à une interface d'utilisateur connectée à un système de recherche de vols. L'utilisateur saisit une origine et une destination ainsi qu'une date pour l'aller et une date pour le retour. 25 Pour traiter ces données afin de fournir un itinéraire suggéré, un moteur de recherche de vols, ou un planificateur de voyage ayant accès aux horaires de vols est interrogé. Le moteur de recherche de vols renvoie, pour chaque portion du voyage, un ensemble d'itinéraires pour lesquels la disponibilité a été vérifiée. Les itinéraires disponibles sont 30 combinés en itinéraires, les tarifs correspondants sont recherchés et une liste de recommandations est présentée à l'utilisateur. Recevant un volume très élevé les moteurs de recherche de vols ont besoin de répondre rapidement et de façon optimisée. Les routes et les itinéraires possibles pour une origine et une 35 destination sont nombreux. Les moteurs de recherche de vols appliquent un processus de 4 filtrage et de classement pour éliminer les routes et les itinéraires improbables, limitant ainsi le temps de calcul de recherche du tarif correspondant. Cependant. le filtrage et le classement peuvent éliminer des itinéraires attrayants pour l'utilisateur. Pour une origine et une destination donnée, par exemple Sydney-Londres, les voyageurs peuvent préférer un vol moins cher incluant plusieurs correspondances, un vol plus court, mais plus cher, pourtant un moteur de recherche de vols peut éliminer ce type de vols sur la base d'une distance trop longue ou d'un temps de vol trop élevé. Les voyageurs peuvent aussi préférer des aéroports spécifiques pour la correspondance tels que Dubaï, mais il est possible que les routes sélectionnées pour Sydney-Londres n'offrent pas ces correspondances. Les moteurs connus de recherche de vols ne prennent pas en compte les véritables préférences des voyageurs pour une origine et une destination données et ne changent pas les critères de filtrage de classement une fois qu'ils ont été fixés. Divers modes de réalisation d'un moteur de recherche, appelé aussi simplement « moteur », pour des itinéraires entre une origine et une destination à une date donnée sont décrits ci-après. Dans certains modes de réalisation, le moteur recherche les itinéraires selon une politique d'affichage prédéfinie. La politique d'affichage prédéfinie correspond aux contraintes spécifiques de recherche et de critères de classement des fournisseurs de moteur de recherche pour les résultats de recherche. Diverses contraintes possibles et divers critères de classement seront discutées dans ce document. Le moteur comprend, par exemple, un module de recherche de routes pour calculer les routes de vols disponibles d'une origine à une destination, selon la politique d'affichage prédéfinie. Les routes disponibles sont en fait des routes de voyage offertes par le fournisseur de transport aérien auxquels le moteur est relié. Une route disponible est par exemple « de Munich à Stockholm via Düsseldorf ». Les routes disponibles sont calculées par exemple en construisant une liste de successeurs pour chaque segment, également nommée «arborescence de segments » avec une recherche en profondeur récursive afin de trouver une séquence de segments actuellement disponibles entre l'origine et la destination demandée, c.-à-d. la route. Le moteur comprend par exemple un module de filtrage pour filtrer les routes disponibles selon un premier ensemble de critères prédéfinis associé aux routes. Les critères appropriés pour le 5 filtrage sont par exemple le temps de vol minimum attendu associé à une route, le nombre d'arrêts intermédiaires et ainsi de suite. Le moteur comprend également, par exemple, un module de classement de routes pour classer les routes disponibles, filtrées selon un deuxième ensemble de critères prédéfinis associé aux routes. Le classement des routes est accompli, par exemple, en calculant au moins une valeur de notation associée à chaque route et en comparant ces valeurs de notation les unes avec les autres. Des exemples pour le deuxième ensemble de critères prédéfinis, c.-à-d. les critères de classement, sont par exemple une densité des horaires pour une route spécifique ou une distance associée à la route. 10 Par ailleurs, le moteur comprend par exemple, un module de détermination d'itinéraires pour construire des itinéraires associés aux routes disponibles et filtrées à une date donnée, selon la politique d'affichage prédéfinie. Les itinéraires sont construits, par exemple, en récupérant les données d'horaire pour chaque segment de la route et en combinant les données d'horaire récupérées avec les routes en un itinéraire, de façon par exemple à ce qu'une correspondance 15 entre les segments différents de la route soit possible, par conséquent avec des contraintes relatives aux heures de départ et d'arrivée de certains horaires - de sorte que, par exemple. un itinéraire avec un avion atterrissant après le décollage de l'avion qui lui succède ne soit pas possible. Le moteur comprend également, par exemple, un module de filtrage d'itinéraires pour filtrer les itinéraires construits selon un troisième ensemble de critères prédéfinis associé aux 20 itinéraires. Ce module de filtrage sélectionne par exemple uniquement les itinéraires remplissant le critère de temps au sol maximum spécifique pour le passager ou autre. Par ailleurs, le moteur comprend par exemple, un module de classement d'itinéraires pour classer les itinéraires filtrés selon un quatrième ensemble de critères prédéfinis associé aux itinéraires. Ce classement est aussi accompli, par exemple, en classant es itinéraires en fonction de 25 certaines valeurs de notation. Par ailleurs, le moteur comprend un module pour la réception et l'analyse de données historiques de réservation relatives à des itinéraires réservés antérieurement pour des voyages futurs. Au moins l'un de (i) le module de classement de routes ou (H) le module de classement 30 d'itinéraires prend en compte lesdites données historiques de réservation. Par conséquent, l'exemple pour le classement des routes ou des itinéraires effectué par les modules respectifs est aussi basé sur des données historiques de réservation relatives à des routes ou des itinéraires réservés antérieurement. Par conséquent et à titre d'exemple les routes ou les itinéraires les plus populaires et les plus fréquemment réservés ont un classement 6 supérieur aux autres. Dans certains modes de réalisation, le moteur est arrangé pour recevoir et analyser des données historiques de réservation dans lequel le module de classement de routes ou le module de 5 classement d'itinéraires prennent en compte les données historiques de réservation. Par conséquent, le moteur est équipé par exemple avec une interface pour la réception, p. ex. une liste avec un nombre de réservations pour une certaine route ou itinéraire. Dans certains modes de réalisation, le module de de recherche de routes est connecté à une source de données comprenant des informations relatives à des segments de route, par exemple une liste des 10 segments disponibles et il est configuré pour trouver des segments disponibles et les assembler en routes disponibles entre l'origine et la destination selon la politique d'affichage prédéfinie. Le module de recherche de routes est par exemple connecté à une source de données comprenant des informations relatives à des segments de route, par exemple une liste des segments disponibles et il est configuré pour trouver des segments disponibles et les assembler 15 en routes disponibles entre l'origine et la destination selon la politique d'affichage prédéfinie. Dans certains modes de réalisation, le premier ensemble de critères prédéfinis comprend un temps de vol minimum attendu qui est associé à une route. Par conséquent, le module de filtrage pour filtrer les disponibles routes filtre la ou les route(s) disponibles en fonction d'un temps de 20 vol minimum attendu qui leur est associé. De cette manière, par exemple, toute route avec un temps de vol minimum attendu trop élevé, selon la politique d'affichage prédéfinie, est éliminée. Dans certains modes de réalisation, le deuxième ensemble de critères prédéfinis comprend le 25 temps de vol minimum attendu, une distance et une densité des horaires associés à une route. Par conséquent, les routes disponibles sont classées en fonction de la distance et de la densité des horaires associés à la route. Ils sont classés, par exemple, en utilisant des valeurs de notation distinctes pour la distance et la densité des horaires, dans lesquelles les routes ayant une courte distance et une densité d'horaires élevée sont celles dont le classement est le plus élevé. 30 Dans certains modes de réalisation, le troisième ensemble de critères prédéfinis comprend un temps de correspondance minimum et un temps au sol maximum pour un point de correspondance entre deux segments associés à un itinéraire. Par conséquent, le module de filtrage d'itinéraires filtre les itinéraires construits en fonction d'un temps de correspondance 5 minimum et d'un temps au sol maximum pour un point de correspondance entre deux segments associés à un itinéraire. De cette façon, seuls les itinéraires compris dans ces limites sont pris en compte, par exemple, comme étant des itinéraires valides. Dans certains modes de réalisation, le quatrième ensemble de critères prédéfinis comprend le temps de vol associé à un itinéraire. Par conséquent, le module de classement d'itinéraires classe les itinéraires filtrés en fonction de leur temps de vol. Typiquement, et 'a titre d'exemple, les itinéraires dont le temps de vol est court ont un classement plus élevé que ceux dont le temps de vol est long. Ce classement est aussi réalisé par exemple en calculant une valeur de notation associée au temps de vol des itinéraires et en commandant une liste d'itinéraires en fonction de 10 cette valeur de notation. Dans certains modes de réalisation, les données historiques de réservation comprennent un nombre de réservations pour une route ou un itinéraire spécifique, un nombre maximum de réservations pour des routes ou des itinéraires entre l'origine et la destination et une quantité 15 d'informations concernant les routes ou les itinéraires entre une origine et une destination, dans lesquels la quantité d'informations concernant les routes entre l'origine et la destination est relative à une distribution d'un nombre de réservations réparties sur la quantité des routes et des itinéraires disponibles entre l'origine et la destination. 20 La quantité d'informations peut être donnée par plusieurs indicateurs indicatifs par exemple du nombre de routes disponibles de l'origine à la destination et un nombre moyen de réservations pour toutes les routes possibles dans un laps de temps donné dans le passé. Il est aussi possible de résumer ces indicateurs exemplaires par un nombre unique représentant la quantité d'informations. En général, plus la quantité d'informations est élevée, plus les statistiques de réservations sont fiables pour une certaine route ou un certain itinéraire. À titre d'exemple, si pour une origine et une destination spécifique avec un nombre total de réservations élevé une vaste majorité des réservations (p. ex. > 80 %) a été enregistrée seulement entre deux routes ou itinéraires, la 30 fiabilité des statistiques de réservation, pour ces routes entre l'origine et la destination spécifique, est accrue. Ceci est reflété p. ex. par une quantité élevée du nombre d'informations pour des routes ou des itinéraires entre l'origine et la destination. Par contraste, si l'origine et la destination n'ont que quelques réservations et que celles-ci sont éparpillées entre plusieurs routes, les statistiques de réservation pour ces routes ou itinéraires sont plutôt mauvaises ce qui est reflété p. ex. par une faible quantité du nombre d'informations pour des routes ou des itinéraires entre l'origine et la destination. Dans certains modes de réalisation, au moins l'un de (i) le module de classement de routes ou (ii) le module de classement d'itinéraires prend en compte lesdites données historiques de réservation en utilisant au moins une valeur de notation pour le classement des itinéraires ou des routes. Dans certains exemples, une valeur de notation, nommée ci-après « troisième valeur de notation », est obtenue en combinant une première valeur de notation, associée à au moins l'un du (i) premier (ii) deuxième (iii) troisième ou (iv) quatrième ensemble de critères prédéfinis, avec une deuxième valeur de notation. Les premier, deuxième, troisième et 10 quatrième ensembles de critères sont par exemple choisis selon la manière décrite ci-dessus. La deuxième valeur de notation, avec laquelle la première valeur de notation est combinée, est par exemple basée sur une valeur de popularité. La valeur de popularité correspond par exemple à un ratio pondéré calculé en pondérant un ratio du nombre de réservations pour une route ou 15 un itinéraire spécifique et un nombre maximum de réservations pour des routes ou des itinéraires entre l'origine et la destination avec la mesure de quantité pour les informations relatives à une route ou un itinéraire. La relation fonctionnelle est, à titre d'exemple, un type de formule comme celle qui est donnée ci-dessous : # réservations-route seconde valeur de notation = poidsop(quantité d'information max réservation,» 20 dans laquelle, le poids,» est dépendant de la quantité d'informations relatives aux routes ou itinéraires entre l'origine et la destination, # réservattonsroute est le nombre de réservations pour une route spécifique et max réservations» est le nombre maximum de réservations pour des routes ou des itinéraires entre l'origine et la destination. La quantité d'informations concernant les routes ou les itinéraires entre l'origine et Ta destination, étant relative à la distribution des réservations pour l'ensemble des routes et des itinéraires entre l'origine et la destination, est calculée par exemple par une formule comme suit : quantité d'information = n * 1 + log(n) pelog(pt) 30 i=N dans laquelle n est le nombre de routes différentes et pi sont les fréquences statistiques des routes ou des itinéraires entre l'origine et la destination. Une troisième valeur de notation est obtenue par exemple, en combinant la première valeur de notation et la deuxième valeur de notation. Cette relation fonctionnelle pourrait être implémentée par une formule du type suivant 5 troisième valeur de notation = deuxième valeur de notation ± première valeur de notation Une fois que le calcul ci-dessus a spécifié la troisième valeur de notation, la route ou l'itinéraire est classé par au moins l'un de (i) le module de classement de routes ou (ii) le module de classement d'itinéraires sur la base de la troisième valeur de notation. 10 Dans certains modes de réalisation, la source de données comprenant les informations d'horaires, à laquelle le module de recherche de routes est connecté, est au moins par exemple un fichier de données de transfert de données d'informations commerciales, c.-à-d. un fichier MIDT. Vu que les fichiers MIDT nécessitent une quantité raisonnable d'espace de mémoire, le fichier MIDT est par la suite converti en au moins un fichier SQLite. Ledit au moins un ou plusieurs fichier(s) SQLite est (Sont) lu par un daemon et écrit(s) par le daemon dans des blocs de mémoire partagée, Les blocs de mémoire partagée sont accessibles simultanément par au moins l'un de (i) le module de détermination de routes (ii) le module de filtrage de routes (iii) le module de classement de routes et (iv) le module de classement d'itinéraires qui sont hébergés 20 sur au moins un serveur. Les itinéraires sont par exemple construits à partir des informations d'horaires stockées dans les fichiers SQLite, accessibles via la mémoire partagée. Les blocs de mémoire partagée sont par exemple construits pendant un processus de lots et synchronisés avec les dernières mises à 25 jour via un système de files d'attente. Ceci permettra au moteur de garantir qu'au moins l'une des (i) routes ou l'un (ii) des itinéraires sont toujours construits à partir d'informations aussi actualisées que possible. Ceci est important, car toutes les données requises par le processus (telles que les horaires, les préférences des compagnies aériennes et les paramètres, etc.) ont ensuite besoin d'être accessibles aussi rapidement que possible. Ceci est garanti par les blocs 30 de mémoire partagée. Dans certains modes de réalisation, les blocs de mémoire partagée sont synchronisés avec les mises à jour les plus récentes du fichier de transfert de données d'informations commerciales via un système de files d'attente de données distribuées. 10 Les données d'horaires sont construites par exemple de façon asynchrone et peuvent ainsi devenir rapidement obsolètes. C'est pour cette raison qu'au moment des mises à jour en ligne, les blocs de mémoire partagée sont rapidement modifiés en utilisant, par exemple, des files d'attente distribuées pour mitiger le risque d'obsolescence. Puisqu'une file d'attente unique 5 fonctionne selon le principe « le premier entré est le premier sorti », le taux d'actualisation d'une file d'attente unique est faible. Une variété de files d'attente distribuées plutôt qu'une seule file d'attente peuvent être actualisées plus rapidement. Les files d'attente distribuées peuvent être actualisées de façon synchrone ou asynchrone. Les files d'attente distribuées sont par exemple écrites dans le système de mémoire distribuée. Différents blocs de mémoire du bloc de mémoire partagée sont lus par exemple par différents serveurs sur lesquels différents modules du moteur (module de recherche de routes, module de filtrage de routes, etc.) sont traités. Par exemple, il y a au moins une file d'attente pour chaque bloc de mémoire partagée. Les données MIDT sont par exemple chargées sur les blocs de mémoire partagée par le daemon. 15 Les données M1DT sont par exemple chargées dans les fichiers de données SQLite contenant un mappage prétraité, indexé par origine et destination. Le mappage prétraité peut comprendre le nombre maximum de réservations sur des routes relatives à cette origine et cette destination, le poidsoD, qui est dépendant de la quantité d'informations concernant les routes ou les itinéraires de l'origine à la destination et le nombre maximum de réservations pour des routes 20 ou des itinéraires entre l'origine et la destination. Selon un deuxième aspect, un système est fourni pour répondre à une requête d'utilisateur pour un vol d'une origine à une destination a une date donnée. Le système comprend : un processeur connecté à un réseau ; 25 un moteur de recherche de vols selon le premier aspect ; un module de disponibilité ; un module de calcul de tarif; et au moins un dispositif client comprenant une interface d'utilisateur. Le système est configuré pour recevoir une requête d'utilisateur comprenant une origine, une 30 destination et une date via l'interface d'utilisateur, interroger le moteur de recherche de vols avec les critères spécifiés par l'utilisateur, interroger le module de disponibilité avec les itinéraires renvoyés par le moteur de recherche de vols, transmettre les itinéraires disponibles envoyés par le module de disponibilité au calculateur de tarif, filtrer et classer les itinéraires tarifés et afficher un sous-ensemble de ceux-ci sur l'interface de l'utilisateur. 11 Selon un troisième aspect, un procédé pour le traitement d'une requête d'utilisateur est fourni. Le procédé pour le traitement d'une requête d'utilisateur comprend : la réception d'une requête d'utilisateur comprenant une origine et une destination et une date de voyage, soumises par l'utilisateur via une interface d'utilisateur , le calcul des routes disponibles pour voyager de l'origine à la destination selon une politique d'affichage ; le filtrage de toutes les routes disponibles en fonction au moins d'un premier ensemble de critères prédéfinis associé aux routes ; le classement des routes filtrées selon au moins un deuxième ensemble de critères 10 prédéfinis associés aux routes, dans lequel une première valeur de notation pour chacune des routes filtrées est utilisée ; la sélection d'un nombre prédéfini des routes disponibles, filtrées et classées ; l'obtention des informations relatives aux horaires correspondant aux segments dans les routes sélectionnées ; 15 le calcul, selon une politique d'affichage, des itinéraires disponibles pour chaque route en assemblant des horaires associés aux segments de la route ; le filtrage de tous les itinéraires disponibles selon un troisième ensemble de critères prédéfinis associé aux itinéraires ; le classement des itinéraires filtrés selon un quatrième ensemble de critères prédéfinis 20 associé aux itinéraires dans lequel une première valeur de notation pour chacun des itinéraires filtrés est créée. La première valeur de notation est associée par exemple, 4 au moins l'un du (i) premier (ii) deuxième (iii) troisième ou (iv) quatrième ensemble de critères prédéfinis avec une deuxième valeur de notation. Par exemple, les premier, deuxième, troisième et quatrième ensembles de critères sont choisis de la façon décrite ci-dessus. 25 Dans certains modes de réalisation, au moins une des activités de classement des routes filtrées selon au moins un deuxième ensemble de critères prédéfinis ainsi que l'activité de classement des itinéraires filtrés selon un quatrième ensemble de critères prédéfinis comprennent les activités suivantes 30 l'obtention, pour chaque route ou itinéraire filtré, de données historiques de réservation concernant la route associée à ; le calcul, basé sur les données historiques de réservations, de la valeur de popularité de la route ou de l'itinéraire filtré ; la valeur de popularité de la route ou de l'itinéraire filtré est calculée par exemple de la façon décrite ci-dessus. 35 un deuxième classement des routes ou itinéraires filtrés sur la base de la valeur de 12 popularité de la route associée à l'itinéraire, dans lequel une deuxième valeur de notation es créée pour chaque route ou itinéraire ; la combinaison de la première et de la deuxième valeur des routes ou des itinéraires présents à la fois dans les routes ou itinéraires filtrés et dans les routes associées aux itinéraires pour obtenir une troisième valeur de notation pour ces routes ou itinéraires ; un troisième classement des routes ou itinéraires filtrés sur la base de la troisième valeur de notation pour chaque route ou itinéraire Dans certains modes de réalisation, après l'activité de classement des itinéraires filtrés selon un 10 premier ensemble de critères prédéfinis, les activités suivantes : la sélection d'un nombre prédéfini d'itinéraires disponibles, filtrés et classés l'obtention des informations de disponibilité pour chaque itinéraire sélectionné ; l'obtention des informations tarifaires pour chaque itinéraire disponible afin d'obtenir les tarifs des itinéraires disponibles ; 15 la production d'un sous-ensemble 'itinéraires disponibles, tarifés, filtrés et classés sur l'interface d'utilisateur est effectuée. Le procédé selon le troisième aspect est effectué par exemple par le moteur selon le premier 20 aspect ou par le système selon le deuxième aspect. BRÈVE DESCRIPTION DES DESSINS Des exemples Sont maintenant décrits également par référence aux dessins qui les 25 accompagnent, dans lesquels Fig.1 est une vue schématique d'un système d'exploitation exemplaire pour rechercher des vols entre une O&D qui inclut un processeur pour mettre en oeuvre un moteur de recherche connecté à un système informatique, Fig. 2 est une vue schématique de la collaboration entre un module de recherche de routes, un module de disponibilité et un module de détermination d'itinéraires à l'intérieur du moteur de recherche de la Fig. 1, 35 Fig. 3 est une vue schématique des informations contenues dans les données historiques de 13 réservation, Fig.4 est une vue schématique du traitement des données historiques de réservation ainsi que du temps de vol minimum attendu, de la distance, de la densité des horaires et d'autres critères pour obtenir une valeur de notation pour le classement des routes et/ou des itinéraires, Fig 5 est une vue schématique d' ode de traitement pour des données de réservation stockées dans un fichier M1DT en utilisant la mémoire partagée et les files d'attente distribuées, Fig. 6 est un organigramme montrant un processus mis en oeuvre par le moteur de recherche de vols de la Fig.1, dans lequel les données historiques de réservation sont prises en compte lors du classement des routes, Fig. 7 est un organigramme montrant un processus complet de recherche mis en oeuvre par le 15 moteur de recherche de vols de la Fig.1, dans lequel les données historiques de réservation sont prises en compte pour le classement d'itinéraires et la recherche aboutit à un sous-ensemble d'itinéraires tarifés affichés sur l'écran d'un utilisateur. Les dessins et la description des dessins sont des exemples de l'invention et ne représentent pas 20 l'invention en elle-même. Des signes de référence similaires font référence à des éléments similaires tout au long de la description suivante de modes de réalisation. DESCRIPTION DES EXEMPLES 25 Une vue schématique d'un environnement d'exploitation exemplaire pour la recherche de vols entre une 0841), incluant un processeur qui met en oeuvre un moteur de recherche 1 représenté dans la Fig.1 Au moins un processeur 300 d'un serveur unique, ou d'une pluralité de serveurs non 30 représentés) dans la Fig. I, fait fonctionner un moteur de recherche pour traiter les requêtes de voyage d'utilisateurs, en particulier les requêtes de recherche de vols, telles que la requête d'un utilisateur 301. Un module de recherche de routes 10 du moteur de recherche 1 est programmé pour traiter la requête de l'utilisateur 301 afin de trouver les routes disponibles selon une politique d'affichage 21. Ces routes sont trouvées en construisant une liste de successeurs pour 35 chaque segment, également nommée « arborescence de segments », avec une première 14 recherche en profondeur récursive. Le moteur de recherche 1 dispose également d'un module de filtrage de routes qui est programmé pour filtrer les routes obtenues selon un premier ensemble de critères prédéfinis 21, donné par le temps de vol minimum attendu, également nommé MFT. Un module de classement de route 12 fourni par le moteur de recherche 1 est programmé pour classer les routes filtrées selon un deuxième ensemble de critères prédéfinis 22, notamment le IviFT, la distance et la densité des horaires et les données historiques de réservation. Un module de détermination d'itinéraires 13 du moteur de recherche 1 est programmé pour trouver des itinéraires 10 disponibles correspondant aux routes classées. Un module de filtrage d'itinéraires 14 est programmé pour filtrer les itinéraires obtenus par le module de détermination d'itinéraires 13 selon un troisième ensemble de critères prédéfinis 24, donné par un temps minimum de correspondance et un temps maximum au sol. Un module de classement d'itinéraires 15 est programmé pour classer les itinéraires filtrés selon le temps de vol et les données historiques 15 de réservation. Par conséquent, le produit du moteur de recherche 1 est un ensemble d'itinéraires filtrés et classés. Le moteur de recherche 1 est couplé à un module de disponibilité 16 également mis en oeuvre par le ou les processeur(s) 300 pour assurer que toutes les routes et/ou les itinéraires obtenus 20 sont actuellement disponibles. Par ailleurs, le moteur de recherche est couplé à un module de calcul de tarif 17 qui est programmé pour tarifer les itinéraires filtrés et classés obtenus par le moteur de recherche 1. Un sous-ensemble des itinéraires tarifés obtenus est affiché à un utilisateur selon un ordre de sélections de voyage du sous-ensemble d'affichage 302 par le ou les processeur(s). 25 Une vue schématique de la collaboration entre le module de recherche de routes, le module de disponibilité et le module de détermination d'itinéraires à l'intérieur du moteur de recherche de la Fig. 1 est représentée dans la Fig. 2. 30 Les informations concernant les segments de route 30, tels que l'arborescence de segments, alimentent le module de recherche de routes 10. Le module de recherche de routes 10 parcourt les informations des segments de route 30 et communique avec Je module de disponibilité 16 pour obtenir les segments disponibles 101. Ces segments disponibles 101 sont assemblés par le module de recherche de routes pour créer des routes disponibles 102. 35 15 Les routes disponibles 102 sont combinées avec les informations d'horaires 31 par le module de détermination d'itinéraires 11. Pour accomplir ceci, le module de détermination d'itinéraires 11 combine les routes disponibles ou plus exactement leurs segments avec des horaires associés aux segments des racines disponibles 111 pour obtenir des itinéraires disponibles 112. Les horaires et les routes sont par exemple combinés à des itinéraires réalisables, à titre d'exemple, les itinéraires dont l'heure de départ d'un aéroport est programmée avant l'heure d'arrivée à l'aéroport du vol avec lequel la correspondance est envisagée sont exclus, 10 Une vue globale schématique des données historiques de réservation 26 et un contenu possible de ces données sont montrés dans la Fig. 3. Les données historiques de réservation 26 incluent, par exemple, une distribution d'un nombre de réservations réparties entre les routes disponibles 262. Cette distribution 262 est obtenue par 15 exemple à partir de données de réservation brutes montrant les vols entre les origines et les destinations spécifiques qui ont été réservés dans le passé et à quelle fréquence. La distribution d'un nombre de réservations réparties entre les routes disponibles 262 est, avec le nombre de réservations pour les routes spécifiques 263, un indicateur de la quantité d'informations 261 qui est disponible pour une certaine route. 20 Lorsque la distribution du nombre de réservations entre les routes disponibles 262 montre une nette tendance pour un petit nombre de routes et un nombre élevé de réservations enregistrées pour ces routes, la quantité des informations 261 concernant ces routes est élevée. Cependant, si la distribution du nombre de réservations entre les routes disponibles 263 est plutôt aléatoire 25 et que de surcroit, par exemple, le nombre de réservations pour les routes spécifiques est petit, la quantité d'informations 261 concernant ces routes est faible. Une vue schématique montrant comment les données historiques de réservation sont traitées avec le temps de vol minimum attendu, la distance, la densité des horaires et d'autres critères 30 pour obtenir une valeur de notation pour le classement des routes et/ou des itinéraires dans le module de classement de routes 12 et/ou le module de classement d'itinéraires 15 est représentée dans la Fig. 4. Le premier ensemble de critères prédéfinis 21 donné dans cet exemple par le MFT, le deuxième 35 ensemble de critères prédéfinis 22 donné par le MFT, la distance pour un voyage ainsi qu'une 16 densité des horaires, le troisième ensemble de critères prédéfinis 24 donne par le temps minimum de correspondance ainsi que le temps maximum au sol et un quatrième ensemble de critères prédéfinis 25 donné par le temps de vol sont combinés à une première valeur de notation 40. Les valeurs de notation, tout comme la première valeur de notation 40, sont utilisées par exemple lors du classement des routes et/ou des itinéraires. Dans le classement, les routes ou les itinéraires sont classés par exemple par valeur de notation croissante ou décroissante. Une deuxième valeur de dotation est calculée subséquemment ou parallèlement à la première 10 valeur de notation sur la base d'une valeur de popularité 30. La valeur de popularité 30 est dérivée entre autres des données historiques de réservation 26. La valeur de popularité correspond par exemple à un ratio pondéré calculé en pondérant un ratio du nombre de réservations pour une route ou un itinéraire spécifique et un nombre maximum de réservations pour des routes ou des itinéraires entre l'origine et la destination avec la mesure de quantité 15 pour les informations relatives à une route ou un itinéraire. La valeur de popularité 30 peut être calculée de la façon décrite dans la section intitulée « Description générale des modes de réalisation optionnels ». La deuxième valeur de notation est ajoutée à la première valeur de notation pour obtenir une 20 troisième valeur de notation. La troisième valeur de notation combine les données historiques de réservation et des critères prédéfinis mentionnés ci-dessus pour le classement et le filtrage tels que MFT, temps maximum au sol, etc. Les routes et/ou les itinéraires sont classés par exemple selon la valeur de la troisième valeur 25 de notation seule ou par exemple la première du classement selon une première valeur de notation, puis classés selon la deuxième valeur de notation et finalement classés à nouveau selon la troisième valeur de notation. Une vue schématique d'un mode de traitement pour des données de réservation stockées dans 30 un fichier MIDT en utilisant la mémoire partagée et les files d'attente distribuées est représentée dans la Fig. 5. Les données pour le moteur de recherche, par exemple des horaires, etc., sont extraites d'un fichier MIDT. Les données du fichier MIDT 50 sont transférées à au moins un fichier SQLite 51. En alimentant le moteur de recherche 1 (non représenté) avec des données basées 17 sur un fichier SQLite 51, le moteur de recherche 1 n'a plus qu'à charger les données dont il a besoin plutôt que de lire le fichier MIDT en entier et de conserver une analyse complète en mémoire. De petites modifications aux données d'horaires remplacent seulement les parties du fichier qui changent. Cela réduit le temps de lecture/écriture. Les données sont lues à partir du 5 fichier SQLite par un daemon 60. Le daerrion 60 crée et actualise une mémoire partagée 70. La mémoire partagée 70 est accessible par une pluralité de serveurs 80 sur lesquels par exemple des tâches relatives aux différents modules du moteur de recherche 1 (non illustré) sont effectuées. La mémoire 10 partagée 70 est réalisée par exemple comme une mémoire à lecture seule (ROM), une mémoire à lecture seule programmable et effaçable électriquement (EEPROM) ou une mémoire flash auxquelles les serveurs ont un accès de lecture/écriture. Les données sont traitées sous la forme de file d'attente distribuée 71 pour mitiger le risque d'obsolescence des données traitées. Dans l'exemple de la Fig. 5, le système de files d'attente distribuées est réalisé par deux files 15 d'attente, « file d'attente 1 » et « file d'attente 2 » hébergées sur deux unités différentes SSH de la mémoire partagée 70. Un organigramme montrant un processus mis en oeuvre par le moteur de recherche de vols de la Fig. 1, dans lequel des données historiques de réservation sont prises en compte lors du 20 classement des routes, est représenté dans la Fig. 6. Dans une première activité Al, une requête d'utilisateur comprenant une O&D et une date de voyage est reçue. Dans une activité A2, des routes disponibles sont calculées selon une politique d'affichage. Ces routes sont filtrées selon le MFT dans une activité A3. Les routes filtrées sont 25 classées selon le MFT, la distance et la densité des horaires dans une activité A4. La popularité des routes filtrées est calculée et la deuxième valeur de notation est calculée sur la base de la valeur de popularité dans une activité A5. Subséquemment, un deuxième classement des routes filtrées selon la deuxième valeur de 30 notation est effectué dans une activité A6. La première et la deuxième valeur de notation sont combinées pour obtenir une troisième valeur de notation dans une activité A7. Sur la base de la troisième valeur de notation, un troisième classement des routes est effectué sur la base de la troisième valeur de notation dans une activité A8. Un nombre prédéfini de routes disponibles filtrées et classées est sélectionné dans une activité A9. Pour ces routes sélectionnées, plus 18 précisément pour les segments de ces routes, les informations d'horaires sont obtenues dans une activité Ald. Sur la base des informations horaires obtenues, des itinéraires disponibles sont calculés pour les routes sélectionnées en assemblant des horaires associés aux routes sélectionnées en un itinéraire Ail. Les itinéraires disponibles sont subséquemment filtrés selon le temps minimum de correspondance et le temps maximum au sol dans l'activité Al2. Les itinéraires filtrés sont classés selon le MFT via une première valeur de notation qui lui est associée dans l'activité A13. 10 Subséquemment des informations tarifaires pour chaque itinéraire disponible peuvent être obtenues pour générer des itinéraires tarifés et un sous-ensemble de ces itinéraires tarifés peut être affiché sur une interface d'utilisateur. Un organigramme montrant un processus complet de recherche, mis en oeuvre par le moteur de 15 recherche de vols de la Fig.1, dans lequel des données historiques de réservation sont prises en compte lors du classement des itinéraires est donné dans la Fig. 7. Les quatre premières activités de ce processus de recherche sont identiques à celles de la partie du processus de recherche représenté par l'organigramme de la Fig. 6. 20 Au lieu du calcul d'une valeur de popularité dans la cinquième activité, un nombre prédéfini de routes disponibles filtrées classées selon le MFT, la distance et la densité des horaires est sélectionné dans une activité 85. Les informations d'horaires pour les segments des routes sélectionnées sont obtenues dans l'activité 86. Les itinéraires disponibles pour les routes 25 sélectionnées sont calculés en assemblant les horaires associés aux routes sélectionnées dans l'activité B7. Les itinéraires disponibles sont filtrés selon un temps minimum de correspondance et un temps maximum au sol dans l'activité 88. Les itinéraires filtrés sont classés selon le MFT via une première valeur de notation. 30 La valeur de popularité des itinéraires filtrés n'est pas calculée avant l'activité Bld et avant qu'une deuxième valeur de notation basée sur cette valeur de popularité soit obtenue. Dans l'activité Bll, un deuxième classement d'itinéraires filtrés selon la deuxième valeur de notation est effectué. La première et la deuxième valeur de notation sont combinées en une troisième valeur de notation dans l'activité B12. Un troisième classement des itinéraires basé sur la 35 troisième valeur de notation est effectué dans l'activité B 13. 19 Les itinéraires classés sont filtrés en fonction d'un temps minimum de correspondance et d'un temps maximum au sol dans l'activité BI 4. Un nombre prédéfini des itinéraires disponibles classés et filtrés est sélectionné dans l'activité B15. Dans l'activité B16, des informations de 5 disponibilité sont obtenues pour chaque itinéraire sélectionné. De surcroit, des informations tarifaires pour chaque itinéraire disponible sont obtenues dans l'activité BI7 pour obtenir les itinéraires disponibles tarifés. Lin sous-ensemble de ces itinéraires disponibles tarifés est affiché sur l'interface d'utilisateur dans l'activité REVENDICATIONS1. Un moteur de recherche d'itinéraires entre une origine et une destination à une date donnée, selon une politique d'affichage prédéfinie, comprenant : un module de recherche de routes pour calculer les routes de vols disponibles de l'origine à la destination, selon la politique d'affichage prédéfinie ; un module de filtrage de routes pour filtrer les routes disponibles selon un premier ensemble de critères prédéfinis associé aux routes ; un module de classement de routes pour classer les routes filtrées et disponibles selon un deuxième ensemble de critères prédéfinis associé aux routes ; un module de détermination d'itinéraires pour construire des itinéraires associés aux routes filtrées, disponibles à la date donnée, selon la politique d'affichage prédéterminée ; un module de filtrage d'itinéraires pour filtrer les itinéraires construits selon un troisième ensemble de critères associé aux itinéraires ; un module de classement d'itinéraires pour classer les itinéraires filtrés selon un quatrième ensemble de critères prédéfinis associé aux itinéraires, dans lequel le moteur comprend par ailleurs un module pour recevoir et analyser des données historiques de réservation, relatives à des itinéraires réservés antérieurement, pour des voyages futurs, au moins l'un de (i) le module de classement de routes ou (ii) le module-de classement d'itinéraires prend en compte lesdites données historiques de réservation, dans lequel au moins certaines données sont écrites dans des blocs de mémoire partagée par un daemon et dans lequel les blocs de mémoire partagée sont accessibles simultanément par au moins l'un de (i) le module de de recherche de routes (ii) le module de filtrage de routes (iii) le module de classement de routes (iv) le module de filtrage d'itinéraires et (v) le module de classement d'itinéraires hébergés sur au moins un serveur. 2. Le moteur selon la revendication 1, dans lequel le moteur est arrangé pour recevoir et analyser des données historiques de réservation dans lequel le module de classement de routes ou le module de classement d'itinéraires prennent en compte les données historiques de réservation. 3. Le moteur selon la réservation 1 ou 2, dans lequel le module de recherche de routes est connecté à une source de données comprenant des informations relatives à des segments et est 21 revendications modifiées copie au propre configuré pour trouver des segments disponibles et pour les assembler en routes disponibles entre l'origine et la destination, selon la politique d'affichage prédéfmie et dans lequel le module de détermination d'itinéraires est connecté à une source de données comprenant des informations d'horaires et est configuré pour trouver des horaires associés aux segments de 5 routes disponibles entre l'origine et la destination et pour les assembler en itinéraires disponibles selon la politique d'affichage prédéfinie. 4. Le moteur selon l'une quelconque des revendications 1 à 3 dans lequel le premier ensemble de critères prédéfinis comprend un temps de vol minimum attendu associé à une 10 route. 5. Le moteur selon l'une quelconque des revendications 1 à 4 dans lequel le deuxième ensemble de critères prédéfinis comprend le temps de vol minimum attendu, une distance et une densité des horaires associés à une route. 6. Le moteur selon l'une quelconque des revendications 1 à 5 dans lequel le troisième ensemble de critères prédéfinis comprend un temps de correspondance minimum et un temps maximum au sol pour un point de correspondance entre deux segments associés à un itinéraire. 7. Le moteur selon l'une quelconque des revendications 1 à 6 dans lequel le quatrième ensemble de critères prédéfinis comprend le temps écoulé associé à un itinéraire. 8. Le moteur selon l'une quelconque des revendications 1 à 7, dans lequel les données 25 historiques de réservation comprennent un nombre de réservations pour une route ou un itinéraire spécifique et une quantité d'informations concernant les routes ou les itinéraires entre l'origine et la destination, dans lequel la quantité d'informations est relative à une distribution d'un nombre de réservations entre les routes ou les itinéraires disponibles entre l'origine et la destination. 30 9. Le moteur selon l'une quelconque des revendications 1 à 8, dans lequel au moins l'un de (i) le module de classement de routes ou (ii) le module de classement d'itinéraires prennent en compte lesdites données historiques de réservation en combinant une première valeur de notation associée à au moins l'un du (i) premier (ii) deuxième (iii) troisième, ou (iv) 15 20 22 revendications modifiées copie au propre quatrième ensemble de critères prédéfinis avec une deuxième valeur de notation basée sur une valeur de popularité, dans lequel la valeur de popularité correspond à un ratio pondéré calculé par la pondération d'un ratio entre le nombre des réservations, pour une route ou un itinéraire spécifique entre l'origine et la destination, et la mesure de quantité relative aux informations 5 concernant les routes ou les itinéraires entre l'origine et la destination, créant ainsi une troisième valeur de notation, dans laquelle la route ou l'itinéraire sont classés par au moins l'un de (i) le module de classement de routes ou (ii) le module de classement d'itinéraires sur la base de la troisième valeur de notation. 10 10. Le moteur selon l'une quelconque des revendications 1 à 9, dans lequel la source de données comprenant des informations d'horaires, à laquelle est connecté le module de recherche de routes, est au moins un fichier de données de transfert de données d'information commerciale, c. -à-d. un fichier MIDT qui est ensuite converti en au moins un fichier SQLite qui est lu par le daemon et écrit dans les blocs de mémoire partagée par le daemon. 15 11. Le moteur selon la revendication 10, dans lequel les blocs de mémoire partagée sont synchronisés avec les dernières mises à jour du fichier de transfert de données d'informations commerciales via un système de files d'attente de données distribuées. 20 12. Un système pour répondre à une requête d'utilisateur pour un vol d'une origine à une destination, à une date donnée, le système comprenant : un processeur connecté à un réseau ; un moteur selon l'une quelconque des revendications 1 à 11; un module de disponibilité ; 25 un module de calcul de tarif; et au moins un dispositif client comprenant une interface d'utilisateur, dans lequel le système est configuré pour recevoir une requête d'utilisateur comprenant une origine, une destination et une date via l'interface d'utilisateur, interroger le moteur de recherche de vols avec les critères spécifiés par l'utilisateur, interroger le module 30 de disponibilité avec les itinéraires renvoyés par le moteur de recherche de vols, transmettre les itinéraires disponibles envoyés par le module de disponibilité au calculateur de tarif, filtrer et classer les itinéraires tarifés ainsi qu'afficher un sous-ensemble de ceux-ci sur l'interface d'utilisateur. 23 revendications modifiées copie au propre 13. Un procédé pour traiter une requête d'utilisateur, comprenant les activités suivantes : la réception d'une requête d'utilisateur comprenant une origine et une destination et une date de voyage, soumises par l'utilisateur via une interface d'utilisateur ; le calcul des routes disponibles pour voyager de l'origine à la destination selon une 5 politique d'affichage ; le filtrage de toutes les routes disponibles selon au moins un premier ensemble de critères prédéfinis associé aux routes ; le classement des routes filtrées selon au moins un deuxième ensemble de critères prédéfinis associé aux routes, dans lequel une première valeur de notation pour chacune des 10 routes filtrées est utilisée ; la sélection d'un nombre prédéfini des routes disponibles, filtrées et classées ; l'obtention des informations d'horaires correspondant aux segments dans les routes sélectionnées ; le calcul, selon une politique d'affichage, des itinéraires disponibles pour chaque route 15 en assemblant des horaires associés aux segments de la route ; le filtrage de tous les itinéraires disponibles selon un troisième ensemble de critères prédéfinis associé aux itinéraires ; le classement des itinéraires filtrés selon un quatrième ensemble de critères prédéfinis associé aux itinéraires dans lequel une première valeur de notation pour chacun des itinéraires 20 filtrés est créée. 14. Le procédé selon la revendication 13 dans lequel au moins une de l'activité de classement des routes filtrées selon au moins un deuxième ensemble de critères prédéfinis ainsi que l'activité de classement des itinéraires filtrés selon un quatrième ensemble de 25 critères prédéfinis comprennent les activités suivantes : l'obtention, pour chaque route ou itinéraire filtré, de données historiques de réservation concernant la route associée à l'itinéraire ; le calcul, sur la base des données historiques, de la valeur de popularité de la route ou de l'itinéraire filtré ; 30 un deuxième classement des routes ou itinéraires filtrés sur la base de la valeur de popularité de la route associée à l'itinéraire, dans lequel une deuxième valeur de notation est créée pour chaque route ou itinéraire ; la combinaison de la première et de la deuxième valeur des routes ou des itinéraires présents à la fois dans les routes ou itinéraires filtrés et dans les routes associées aux 24 revendications modifiées copie au propre itinéraires pour obtenir une troisième valeur de notation pour ces routes ou itinéraires ; un troisième classement des routes ou itinéraires filtrés sur la base de la troisième valeur de notation pour chaque route ou itinéraire. 5 15. Le procédé selon la revendication 13 ou 14 comprenant, après l'activité de classement d'itinéraires filtrés selon un quatrième ensemble de critères prédéfinis, les activités suivantes : la sélection d'un nombre prédéfini d'itinéraires disponibles, filtrés et classés ; l'obtention des informations de disponibilité pour chaque itinéraire sélectionné ; l'obtention des informations tarifaires pour chaque itinéraire disponible afin d'obtenir 10 les tarifs des itinéraires disponibles ; la production d'un sous-ensemble d'itinéraires disponibles tarifés classés et filtrés sur l'interface de l'utilisateur. 16. Un programme d'ordinateur comprenant un code de programme pour exécuter le 15 procédé selon l'une quelconque des revendications 13 à 15 lorsque ledit programme fonctionne sur un ordinateur ou un système informatique.