FR3086412A1 - Recalcul des resultats de recherche precalcules - Google Patents

Recalcul des resultats de recherche precalcules Download PDF

Info

Publication number
FR3086412A1
FR3086412A1 FR1858505A FR1858505A FR3086412A1 FR 3086412 A1 FR3086412 A1 FR 3086412A1 FR 1858505 A FR1858505 A FR 1858505A FR 1858505 A FR1858505 A FR 1858505A FR 3086412 A1 FR3086412 A1 FR 3086412A1
Authority
FR
France
Prior art keywords
search results
group
precalculated
recalculation
availability
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.)
Granted
Application number
FR1858505A
Other languages
English (en)
Other versions
FR3086412B1 (fr
Inventor
Cyril Antoine Chambeyron
Nadege Ricolfi
Johann Marchi
Eric Jean Joseph Martin
Abdelhakim Cherif
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 FR1858505A priority Critical patent/FR3086412B1/fr
Priority to US16/570,423 priority patent/US11169990B2/en
Priority to EP19198340.2A priority patent/EP3627349B1/fr
Publication of FR3086412A1 publication Critical patent/FR3086412A1/fr
Application granted granted Critical
Publication of FR3086412B1 publication Critical patent/FR3086412B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06F16/24552Database cache management
    • 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/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query
    • 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
    • G06F16/24553Query execution of query operations
    • G06F16/24561Intermediate data storage techniques for performance improvement
    • 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/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • 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/248Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Braking Arrangements (AREA)
  • Control Of Metal Rolling (AREA)

Abstract

Les résultats de recherche précalculés sont recalculés par une plate-forme de calcul sur la base des ressources informatiques disponibles Une plate-forme de recherche conserve au moins un premier et un deuxième groupes de résultats de recherche précalculés et fournit le premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et le deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition aux clients demandeurs. Un dispositif de commande de recalcul planifie le recalcul des résultats de recherche précalculés sur la base des probabilités de validité étant associées aux résultats de recherche précalculés et aux heures de mise à disposition respectives. Le recalcul du premier groupe et du deuxième groupe est planifié, de sorte que la validité des résultats de recherche du premier groupe donnée par les probabilités de validité soit maximisée à la première heure de mise à disposition et que la validité des résultats de recherche précalculés du deuxième groupe donné par les probabilités de validité soit maximisée à la deuxième heure de mise à disposition.

Description

RECALCUL DES RÉSULTATS DE RECHERCHE PRÉCALCULÉS [0001] La présente invention concerne de façon générale la technologie de l’information. Plus spécifiquement, elle vise la technologie de base de données et les mécanismes de recalcul des résultats de recherche précalculés.
CONTEXTE [0002] On connaît le précalcul des résultats de recherche et le renvoi les résultats de recherche précalculés en réponse aux interrogations de recherche au lieu de seulement calculer les résultats de recherche au moment de l’interrogation. De cette manière, les temps de réponse peuvent être raccourcis. Les résultats de recherche précalculés doivent être tenus à jour afin de s’assurer que des réponses valides sont renvoyées. Si les données sous-jacentes (étant la base du précalcul des résultats de recherche) changent, les résultats de recherche prix calculés peuvent devenir obsolètes et des résultats incorrects seraient renvoyés. Ainsi, des stratégies de mise à jour sont utilisées pour tenir à jour les résultats de recherche précalculés.
[0003] Une approche générale pour conserver les résultats de recherche précalculés à jour consiste à recalculer les résultats de recherche précalculés périodiquement. À cette fin l’exactitude et la validité des résultats de recherche précalculés renvoyés sont conservées un certain niveau.
[0004] Diverses stratégies de calcul supplémentaires sont connues dans l’état de la technique antérieur, par exemple, le recalcul des résultats de recherche précalculés, axé sur certains critères de seuil de qualité.
[0005] US 2005/0055426 concerne un système qui met préalablement en mémoire cache des informations provenant de sites Internet pour lesquels le système prévoit que l’utilisateur les consulte. Le système planifie que la mise préalable en mémoire cache a lieu au moment le plus approprié d’une journée pour augmenter la probabilité que les informations les plus récentes soient fournies à l’utilisateur.
[0006] US 2009/0177667 utilise des techniques pour alimenter une mémoire cache de données sur un serveur. Les demandes de données reçues par le serveur sont collectées dans un
FR 18 58505 répertoire. US 2009/0177667 apprend à inclure des résultats dans une mémoire cache sur la base d’un modèle prédictif (« modèle d’exploration de données ») qui prédit les résultats auxquels les clients auront accès le ou les jours suivants de la semaine suivante. Par ailleurs, US 2009/0177667 apprend que la mémoire cache de données est remplie sur la base de la granularité des jours ou pour une semaine donnée.
[0007] Enfin, WO 2014/026753 décrit une plate-forme de mémoire cache de données qui conserve des résultats des interrogations de base de données précalculés calculés par une plateforme de calcul. La plate-forme de mémoire cache de données détermine les probabilités selon lesquelles les résultats d’interrogation de bases de données précalculés sont obsolètes pour émettre automatiquement des ordres de recalcul sur la plate-forme de calcul pour mettre à jour les résultats d’interrogation de bases de données précalculés sur la base des probabilités déterminées. La plate-forme de mise en mémoire cache de données utilise par ailleurs une « ExactitudeUtilisateur » qui se base sur la fréquence d’accès moyenne pour mettre à jour les résultats de demande de base de données précalculés.
RÉSUMÉ [0008] Selon un premier aspect, un procédé de recalcul des résultats de recherche précalculés est fourni. Le procédé est mis en œuvre dans un environnement de base de données. L’environnement de base de données inclut au moins une plate-forme de recherche, un dispositif de commande de recalcul et une plate-forme de calcul. La plate-forme de recherche conserve les résultats de recherche précalculés. Les résultats de recherche précalculés sont subdivisés en nous un premier groupe de résultats de recherche précalculés et un deuxième groupe de résultats de recherche précalculés. La plate-forme de recherche fournit le premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et le deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition aux clients demandeurs. Le dispositif de commande de recalcul contrôle le recalcul des résultats de recherche précalculés sur la base des probabilités de validité étant associées aux résultats de recherche précalculés. La plate-forme de recherche recalcule les résultats de recherche précalculés. Le dispositif de commande de recalcul planifie le recalcul du premier groupe et du deuxième groupe de résultats de recherche précalculés par la plate-forme de calcul.
FR 18 58505
Le recalcul se base sur les ressources informatiques disponibles de la plate-forme de calcul. Les probabilités de validité sont par ailleurs associées aux résultats de recherche précalculés du premier groupe et du deuxième groupe et aux heures de mise à disposition respectives. La plateforme de calcul peut avoir des ressources informatiques insuffisantes pour recalculer tous les résultats de recherche précalculés du premier et du deuxième groupe de résultats de recherche précalculés jusqu’aux heures de mise à disposition respectives. La planification comprend la planification du recalcul du premier groupe et du deuxième groupe de résultats de recherche précalculés de sorte que la validité des résultats de recherche du premier groupe donné par les probabilités de validité soit maximisée à la première heure de mise à disposition et la validité des résultats de recherche précalculés du deuxième groupe donné par les probabilités de validité soit maximisé à la deuxième heure de mise à disposition. Enfin, la plate-forme de recherche fournit le premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et le deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition aux clients demandeurs respectifs.
[0009] En option, le procédé comprenant la détermination, par le dispositif de commande de recalcul, que la plate-forme de calcul a des ressources informatiques insuffisantes pour recalculer tous les résultats de recherche précalculés du premier et du deuxième groupe de résultats de recherche précalculés jusqu’aux heures de mise à disposition respectives, et dans lequel la planification du recalcul du premier groupe et du deuxième groupe des résultats de recherche précalculés comprend : l’attribution d’une première portion des ressources informatiques de la plate-forme de calcul disponible jusqu’à la première heure de mise à disposition au premier groupe de résultats de recherche précalculés pour terminer le recalcul d’au moins un sous-ensemble du premier groupe de résultats de recherche précalculés jusqu’à la première heure de mise à disposition, et l’attribution d’une deuxième portion de ressources informatiques de la plate-forme de calcul disponible jusqu’à la deuxième heure de mise à disposition au deuxième groupe de résultats de recherche précalculés pour terminer le recalcul d’au moins un sous-ensemble du deuxième groupe de résultats de recherche précalculés jusqu’à la deuxième heure de mise à disposition.
[0010] En option, selon la revendication 1, la planification du recalcul du premier groupe et du deuxième groupe des résultats de recherche précalculés comprend : la détermination de la
FR 18 58505 première heure de mise à disposition du premier groupe de résultats de recherche précalculés et la détermination de la deuxième de mise à disposition du deuxième groupe de résultats de recherche précalculés, la détermination des ressources de calcul requises pour recalculer les résultats de recherche précalculés du premier groupe et la détermination des ressources de calcul requises pour recalculer les résultats de recherche précalculés du deuxième groupe, la détermination des ressources de calcul disponibles de la plate-forme de calcul pendant une période préalable à la première heure de mise à disposition et à la deuxième heure de mise à disposition, en réponse à la détermination selon laquelle les ressources de calcul de la plateforme de calcul sont insuffisantes pour recalculer tous les résultats de recherche précalculés du premier et du deuxième groupe de résultats de recherche précalculés jusqu’aux heures de mise à disposition respectives, la sélection des résultats de recherche précalculés du premier et du deuxième groupes pour le recalcul sur la base des probabilités de validité des résultats de recherche précalculés du premier et du deuxième groupes, et la détermination des résultats de recherche précalculés sélectionnés du premier et du deuxième groupes qui doivent être recalculés et de l’heure de recalcul.
[0011] En option, le procédé comprenant : en réponse à la détermination selon laquelle les ressources de calcul de la plate-forme de calcul sont suffisantes pour recalculer tous les résultats de recherche précalculés du premier et du deuxième groupes de résultats de recherche précalculés jusqu’aux heures de mise à disposition respectives, la détermination des résultats de recherche précalculés du premier et du deuxième groupes qui doivent être recalculés et de l’heure de recalcul.
[0012] En option, la planification du recalcul du premier groupe et du deuxième groupes de résultats de recherche précalculés comprend la détermination d’un poids Wÿ pour chaque résultat de recherche précalculé Di du premier et du deuxième groupes, dans laquelle le poids Wÿ précise un avantage fourni par un recalcul du résultat de recherche précalculé respectif Di dans un créneau horaire Sj avant l’heure de mise à disposition respective du premier et du deuxième groupes.
[0013] En option, la plate-forme de recherche reçoit des demandes de résultats de recherche précalculés du premier et/ou du deuxième groupe(s) de résultats de recherche précalculés à un instant arbitraire, et dans lequel la planification du recalcul du premier et du deuxième groupe
FR 18 58505 de résultats de recherche précalculés se base de plus sur une fréquence d’accès du premier groupe et du deuxième groupe de résultats de recherche précalculés.
[0014] En option, les heures de mise à disposition respectives du premier groupe de résultats de recherche précalculés et du deuxième groupe de résultats de recherche précalculés sont déterminées par les clients demandeurs.
[0015] En option, les résultats de recherche précalculés du premier groupe de résultats de recherche précalculés et du deuxième groupe de résultats de recherche précalculés sont récupérés par les clients demandeurs.Selon un deuxième aspect, un dispositif de commande de recalcul correspondant agencé pour exécuter le procédé est fourni. Le dispositif de commande de recalcul pour le recalcul des résultats de recherche précalculés conservés par au moins une plate-forme de recherche, dans lequel ladite au moins une plate-forme de recherche conserve les résultats de recherche précalculés, en fournissant au moins deux groupes de résultats de recherche précalculés aux clients demandeurs, un premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et un deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition, et dans lequel le dispositif de commandes de recalcul est conçu pour contrôler le recalcul des résultats de recherche précalculés par une plate-forme de calcul sur la base des probabilités de validité associées aux résultats de recherche précalculés en : Planifiant le recalcul du premier groupe et du deuxième groupe de résultats de recherche précalculés par la plate-forme de calcul sur la base des ressources informatiques disponibles de la plate-forme de calcul, les probabilités de validité associées aux résultats de recherche précalculés du premier groupe et du deuxième et les heures de mise à disposition respectives, de sorte que la validité des résultats de recherche du premier groupe fournie par les probabilités de validité soit maximisée à la première heure de mise à disposition et que la validité des résultats de recherche précalculés du deuxième groupe fourme par les probabilités de validité soit maximisée à la deuxième heure de mise à disposition.
[0016] En option, les instructions, lorsqu’ elles sont exécutées par un ou plusieurs processeurs, amène le dispositif de commande de recalcul à effectuer les procédés facultatifs décrits cidessus.
FR 18 58505 [0017] Selon un troisième aspect, un produit-programme d’ordinateur comprenant : un support durable de stockage de données lisibles par ordinateur ; et les instructions stockées sur le support de stockage durable lisible par ordinateur qui, lorsqu’il est exécuté par un processeur, amène le processeur à contrôler le recalcul des résultats de recherche précalculés, en fournissant un premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et un deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition aux clients demandeurs sur la base des probabilités de validité étant associées aux résultats de recherche précalculés en : planifiant le recalcul du premier groupe et du deuxième groupe de résultats de recherche précalculés sur la base des ressources informatiques disponibles du processeur, les probabilités de validité associées aux résultats de recherche précalculés du premier groupe et du deuxième et les heures de mise à disposition respectives, de sorte que la validité des résultats de recherche du premier groupe donnée par les probabilités de validité soit maximisée à la première heure de mise à disposition et que la validité des résultats de recherche précalculés du deuxième groupe fournie par les probabilités de validité soit maximisée à la deuxième heure de mise à disposition..
[0018] En option, les instructions, lorsqu’elles sont exécutées par un ou plusieurs processeurs, amènent le processeur à effectuer les procédés facultatifs décrits ci-dessus.
[0019] D’autres aspects optionnels sont aussi présentés.
BRÈVE DESCRIPTION DES DESSINS [0020] Les présents mécanismes seront décrits en faisant référence aux dessins qui les accompagnent. Des numéros de référence similaires indiquent généralement des éléments similaires, identiques sur le plan fonctionnel.
[0021] La FIG. 1 montre schématiquement un environnement de base de données distribué.
[0022] La FIG. 2 visualise la planification d’un recalcul de résultat de précalcul afin de fournir des résultats de recherche précalculés mis à jour à une heure donnée aux clients demandeurs.
FR 18 58505 [0023] La FIG. 3 illustre la diminution d’une probabilité de validité de deux résultats de recherche précalculés ou groupes de résultats de recherche précalculés dans le temps.
[0024] La FIG. 4 est un organigramme de planification de recalcul.
[0025] La FIG. 5 décrit la planification de recalcul en bloc de deux groupes de résultats de recherche précalculés avec des ressources de calcul insuffisantes.
[0026] La FIG. 6 décrit la planification de recalcul intercalée de deux groupes de résultats de recherche précalculés avec des ressources de calcul insuffisantes.
[0027] La FIG. 7 illustre la planification temporelle au niveau d’un groupe individuel de résultats de recherche précalculés.
[0028] La FIG. 8 Illustre un système informatique exemplaire mettant en œuvre un dispositif de commande de recalcul agencé pour effectuer la planification de recalcul, comme décrit dans les présentes.
DESCRIPTION DÉTAILLÉE [0029] Comme déjà souligné au début, les méthodologies décrites dans les présentes concernent des environnements de base de données qui offre des résultats de recherche aux clients. Pour être en mesure de traiter les interrogations de recherche qui requièrent des calculs sur la base de gros volumes de données attendues, les résultats de recherche sont généralement précalculés et stockés comme des enregistrements de données dans une base de données. Ciaprès, les termes « précalcul » et « précalculés » couvrent toutes sortes de précalculs et de précollectes tels que les explorateurs Internet qui collectent ou copient le contenu de serveurs Web sur Internet, mais aussi des calculs complexes et chronophages de résultats de recherche sur la base des données sous-jacentes. L’objectif technique du prix calcul est en règle générale de diminuer les temps de réponse pour répondre à des interrogations de recherche par rapport à un calcul effectué uniquement au moment de l’interrogation de recherche.
FR 18 58505 [0030] Le terme « base de données » vise à englober tous les types de systèmes de stockage d’informations structurées tels que les bases de données individuelles standardisées comme le serveur SQL® ou les bases de données Oracle® ainsi que des systèmes de stockage complexes distribuées et/ou propriétaires, des bases de données relationnelles incluant des systèmes de gestion de bases de données ou des systèmes de bases de données orientés objet et similaires. La base de données est interrogée par des entités demandeuses (telles que des clients, des applications, des navigateurs installés sur des terminaux utilisateurs, etc.) au cours d’une recherche et les résultats de recherche précalculés répondant aux critères de recherche indiqués par les interrogations de recherche sont renvoyés au client en réponse à l’interrogation.
[0031 ] Le terme « interrogation de recherche » vise à englober tous les types et contenus d une demande fournie par un client à la base de données. Ledit contenu concerne les données requises comme résultats de recherche précalculés dans la base de données. Par exemple, le contenu d’une interrogation de recherche vise l’état c.-à-d. le contenu explicite des informations variant dans le temps uniquement à un instant prédéterminé. À cette fin, l’interrogation de recherche demandée contient au moins une indication sur le type d’informations demandé et l’heure concrète à laquelle elles sont attendues par le client demandeur pour que la base de données fournisse les informations demandées.
[0032] La FIG. 1 illustre un environnement de base de données 1 à un niveau schématique. La plate-forme de recherche 4 conserve les résultats de recherche précalculés 6. Le dispositif de commande de recalcul 2 est connecté à la plate-forme de calcul 3 et émet des ordres de recalcul à la plate-forme de calcul 3 pour recalculer les résultats de recherche précalculés 6. La plate-forme de calcul 3, à son tour, transmet les résultats de recherche précalculés correspondants 6 la plate-forme de recherche 4 et, de plus, au dispositif de commande de recalcul 2 qui concerne également les résultats de recherche précalculés 6 pour des raisons de contrôle de recalcul. Les clients 5 tels que des applications et/ou des terminaux utilisateurs fixes ou mobiles accèdent aux résultats de recherche précalculés 6 à partir de la plate-forme de recherche 4. Comme le montre la FIG. 1, une ou plusieurs plates-formes de recherche 4 peuvent être présentes dans l’environnement L Si une pluralité de plates-formes de recherche 4 est présente, les résultats de recherche précalculés 6 peuvent être conservés de manière distribuée sur les diverses plates-formes de recherche 4 et le dispositif de commande de recalcul 2 peut
FR 18 58505 contrôler le recalcul de tous les résultats de recherche précalculés 6 distribués sur les platesformes de recherche 4. La plate-forme de recherche 4 peut également offrir un ensemble hétérogène de demandes de recherche précalculées, par ex. certaines plates-formes de recherche 4 conserve des demandes de recherche précalculées liées au transport aérien, d’autres plates-formes de recherche 4 ont stocké une demande de recherche précalculée liée aux assurances et d’autres plates-formes de recherche 4 conservent des demandes de recherche précalculées (ou pré-explorées) liées aux sites Internet. Un tel environnement hétérogène peut être contrôlé par une seul dispositif de commande de recalcul 2 ou par une pluralité de dispositifs de commande de recalcul 2. Une pluralité de plates-formes de recherche 4 peut également être présente pour des raisons de redondance, pour augmenter la sécurité contre les défaillances et/ou les performances.
[0033] Les résultats de recherche précalculés 6 et leur stockage dans la plate-forme de recherche 4 accessible aux clients demandeurs 5 mène à la situation générale selon laquelle les données de calcul peuvent changer dans le temps et, par conséquent, les résultats de recherche précalculés 6 deviennent obsolètes ou non valides (les deux termes sont utilisés comme synonymes dans les présentes). Les résultats de recherche précalculés 6 qui sont encore à jour,
c.-à-d. qui correspondent aux équivalents de calcul en temps réel correspondants (résultats qui seraient en réalité calculés sur demande sans que les résultats de recherche précalculés 6 ne soient disponibles), sont ci-après dénommés résultats de recherche précalculés 6 « valides » ou « exacts » Ainsi, lorsque les résultats de recherche précalculés 6 dans la plate-forme de recherche 4 représentent correctement l’état actuel du domaine de données sous-jacent aux résultats de recherche précalculés 6, c.-à-d. les données de calcul, les résultats de recherche précalculés 6 stockés dans la plate-forme de recherche 4 sont, en général, exacts.
[0034] Généralement, pour permettre à la plate-forme de recherche 4 d’envoyer des résultats corrects, on veut maintenir un niveau élevé de corrélation entre les résultats de recherche précalculés 6 qui sont fournis à l’entité demandeuse 5 en réponse aux interrogations de bases de données et à leurs équivalents de calcul en temps réel. Au même moment, cependant, il est souhaitable de minimiser la consommation de ressources informatique causée par les recalculs parce que les ressources informatiques disponibles de la plate-forme de calcul 3 sont limitées et, en général, il n’existe pas suffisamment de ressources informatiques pour recalculer tous les
FR 18 58505 résultats de recherche précalculés 6 en permanence. Par conséquent, un compromis entre le recalcul des résultats de recherche précalculés 6 et l’utilisation des ressources informatiques disponibles est recherché.
[0035] Selon la stratégie de recalcul les résultats de recherche précalculés 6 présentée dans les présentes, le recalcul des résultats de recherche précalculés 6 est planifié en fonction des heures d accès ou de livraison des résultats de recherche précalculés 6, ci-après dénommée heures de mise à disposition. La planification du recalcul est mise en œuvre par le dispositif de commande de recalcul 2 d’un environnement de base de données 1, tel qu’illustré à la FIG. 1. La planification du recalcul des résultats de recherche précalculés 6 donne un instant pour commencer par le recalcul d’un résultat de recherche précalculé 6 afin de fournir le résultat de recherche précalculé 6 au client ou à plusieurs clients demandeurs 5 juste à temps après la fin du recalcul du résultat de recherche précalculé 6. Ces instants pour recommencer le recalcul sont ci-après dénommés heures de commencement du recalcul. L’effet de cela est qu’un résultat de recherche précalculé 6 qui a été recalculé récemment avant sa mise à disposition d’un client demandeur de contenu 5 est susceptible d’être exact.
[0036] Un exemple est donné à la FIG. 2. Ici, deux résultats de recherche précalculés exemplaires A et B sont conservés par la plate-forme de recherche 4 de l’environnement de bases de données 1. Les deux résultats de recherche précalculés A et B sont connus ou leur fourniture est attendue à une heure donnée respective, à savoir le résultat de recherche précalculé A à l’heure de mise à disposition îpa et le résultat de recherche précalculé B à l’heure tpB[0037] Il faut noter que ces heures de mise à disposition peuvent avoir une granularité variée, telles que des instants donnés à un niveau de secondes (par ex., Hhl5m30s), de minutes (par ex., 1 lh30m) ou d’heures (1 IhOO). Par conséquent, à une granularité inférieure, les heures de mise à disposition constituent en réalité les périodes pendant lesquelles l’instant exact de mise à disposition n’est pas déterminé (par exemple, une heure de mise à disposition à 1 IhOO signifie que le résultat de recherche précalculé en question sera mis à disposition ou récupéré à un certain instant entre 1 lh et 11 h59).
FR 18 58505 [0038] Par ailleurs, dans certains exemples, les heures de mise à disposition indiquant l’heure de récupération ou de mise à disposition des groupes de résultats de recherche précalculés sont prédéterminées dans l’environnement de bases de données 1. Par exemple, un client demandeur de contenu 5 peut indiquer à la plate-forme de recherche 4 quand le client 5 récupérera quels groupes de résultats de recherche précalculés 6 et cette information est stockée dans un lieu de stockage donné (par ex., dans le dispositif de commande de recalcul 2). Les heures de mise à disposition peuvent également être transmises par tout autre moyen et/ou entité à l’environnement de bases de données 1, par ex. par e-mail, quel que soit le client particulier 5 qui récupérera plus tard les groupes de résultats de recherche précalculés. Dans d’autres exemples, le dispositif de commande de recalcul 2 évalue les heures de mise à disposition en collectant et en évaluant les valeurs empiriques des anciennes heures de mise à disposition des résultats de recherche précalculés 6 par le passé. Dans ces exemples, les heures de mise à disposition sont modélisées sur la base de l’attente d’un comportement de demande répétitif de clients demandeurs 5, similaires à EP 2 991 070 Bl.
[0039] Sur la base de ces heures de mise à disposition respectives, le recalcul des résultats de recherche précalculés A et B est planifié 7 en dérivant les heures de début de recalcul respectives, à savoir l’heure de début de recalcul îrb pour le résultat de recherche précalculé B et l’heure de début de recalcul îra pour le résultat de recherche précalculé A. En général, les heures de départ de recalcul sont déterminées sur la base des ressources de calcul requises pour recalculer le résultat de recherche précalculé respectif ainsi que les ressources de calcul de la plate-forme de calcul 3 qui sont disponibles pendant la période avant les heures de mise à disposition respectives. Le fait de commencer le recalcul des deux résultats de recherche précalculés A et B à ces deux heures îra et îrb a pour effet que leur recalcul est terminé juste à temps à leurs heures de mise à disposition respectives tpAet îpb.
[0040] Il faut noter que l’exemple simplifié de la FIG. 2 suppose qu’un certain volume de ressources de calcul est toujours disponible et que les heures de mise à disposition sont séparées dans le temps de sorte qu’aucun conflit de planification n’apparaît. Cependant, cette supposition n’est en général pas faisable dans la pratique, dans la mesure où les ressources de calcul de la plate-forme de calcul 3 seront en général limitées et varieront dans le temps et il peut arriver que les heures de mise à disposition des deux résultats de recherche précalculés A et B par ex. soient proches les unes des autres (ou même identiques) et il est par conséquent impossible de
FR 18 58505 terminer le recalcul de A et de B à leurs heures de mise à disposition respectives. Ainsi, la stratégie de recalcul comme décrite dans les présentes distribue en général les ressources de calcul limitées disponibles de la plate-forme de calcul 3 pour recalculer les résultats de recherche précalculés 6, de sorte que l’exactitude des résultats de recherche précalculés 6 à leurs heures de mise à disposition pour les fournir aux clients demandeurs 5 soit optimisée dans des situations de ressources de calcul insuffisantes et/ou d’heures de mise à disposition conflictuelles.
[0041 ] Ces situations de ressources de calcul insuffisantes et/ou d’heures de mise à disposition conflictuelles peuvent avoir pour effet que certains résultats de recherche précalculés à fournir à un client 5 à une heure donnée peuvent être recalculés avant l’heure de mise à disposition, c.à-d. qu’une partie des résultats de recherche précalculés à fournir à l’heure de mise à disposition n’est pas recalculée en rapport avec l’heure de mise à disposition. À cet égard, la planification de recalcul, comme décrit dans les présentes, inclut la détermination et la sélection des résultats de recherche précalculés à fournir à l’heure de mise à disposition qui doivent être recalculés avant l’heure de mise à disposition tp et ceux qui ne le doivent pas. Ceci est ci-après dénommé planification de la sélection.
[0042] De plus, même si les ressources de calcul suffisantes sont en général disponibles avant les heures de mise à disposition pour recalculer tous résultats de recherche précalculés à fournir à l’heure de mise à disposition, il est impossible de recalculer tous résultats de recherche à fournir à l’heure de mise à disposition en bloc, en raison des heures de mise à disposition conflictuelles qui sont proches les unes des autres (ou même identiques). À cet égard, la planification de recalcul telle que décrite dans les présentes inclut la détermination des résultats de recherche précalculés de deux ou plusieurs groupes conflictuels qui doivent être recalculés et de l’heure de recalcul îr. Ceci est ci-après dénommé planification temporelle.
[0043] C’est en général différent d’autres stratégies de calcul connues dans le métier, telles que les stratégies de calcul de mise à jour de mémoire cache conformément à US 8356026 B2 et US 2009/0177667 Al qui ne tiennent pas compte des ressources de calcul éventuellement limitées ou des heures de mise à disposition conflictuelles. Les stratégies de calcul écrites dans les présentes augmentent l’exactitude des résultats de recherche précalculés 6 renvoyés aux clients 5 particulièrement dans ces situations de ressources de calcul insuffisantes pour
FR 18 58505 recalculer tous les résultats de recherche précalculés à fournir aux clients 5. De même, la stratégie calcul proposée diminue les ressources de calcul requises pour le recalcul des résultats de recherche précalculés 6 par rapport à ces références de l’état de la technique antérieures.
[0044] La stratégie de recalcul présentée dans les présentes peut utiliser les paramètres suivants pour un résultat de recherche précalculé i :
-L’âge ti du résultat de recherche précalculé i : le temps depuis le dernier calcul de ce résultat de recherche précalculé 6 par la plate-forme de calcul 3.
—Le taux d’invalidité λί du résultat de recherche précalculé i est une mesure de la durée pendant laquelle le résultat de recherche précollecté i reste valide ou de la rapidité avec laquelle le résultat de recherche précollecté i devient non valable en raison de changements des données originales sous-jacentes. Ce taux de non-validité d’un résultat de recherche précalculé i donné est, par exemple, statistiquement dérivé de l’occurrence et des résultats de (re)calculs ou (re)collectes passé(e)s et de comparaisons du résultat de recherche recollecté avec son état ou ses valeurs précédentes. Par exemple, il a été déterminé qu’un résultat de recherche particulier i a un taux de non-validité λί de 10 % par heure, ce qui signifie que la probabilité qu’i soit valide diminue de 10 % toutes les heures. Au moment de la (re)collecte ou du (re)calcul, i est généralement valide à 100 %. Après une heure, i est valide avec une probabilité de 90 %. Après deux heures, la validité de i est de 81 % (= 90% encore diminué de 10%). Après trois heures, la validité probable de i est de 72,9 %, etc.
—Le taux d’invalidité λί peut être utilisé pour évaluer la probabilité d’un résultat de recherche précalculé de rester valide après une heure de mise à disposition : P(inchangé après t) = e'V. Cela est également dénommé l’exactitude attendue, accj = e~Àiti ou plus généralement, la probabilité de résultats de recherche précalculé d’être valide ou, en d’autres termes, de ne pas être obsolète. Deux fonctions exemplaires de cette exactitude probable décroissante dans le temps 8 sont décrites par la FIG. 3. La fonction 10 représente un résultat de recherche précalculé qui reste éventuellement plus exact (ou plus exactement reste à une probabilité plus élevée d’être valide dans le temps) qu’un autre résultat de recherche précalculé associée à la
FR 18 58505 fonction 11. Par exemple, le résultat de recherche précalculé représenté par la fonction 10 à une probabilité de 70 % d’être encore valide 35 heures après son dernier recalcul alors que l’autre résultat de recherche précalculé caractérisé par la fonction 11 n’est seulement valide qu’à environ 50 % des heures après son dernier recalcul. Les fonctions 10 et 11 peuvent aussi représenter des ensembles ou groupes entiers de résultats de recherche précalculés et indiquer ensuite des proportions des ensembles/groupes de résultats de recherche précalculés vraisemblablement valides à un moment passé depuis le dernier recalcul de l’ensemble.
—La « popularité » pi du résultat de recherche précalculé i : c’est la fréquence d’accès moyenne à ce résultat de recherche précalculé par les utilisateurs finaux. Comme déjà indiqué brièvement ci-dessus, il peut être souhaitable d’atteindre une meilleure exactitude pour ces résultats de recherche précalculés qui sont plus souvent demandés par les utilisateurs que d’autres résultats de recherche précalculés 6. Ainsi, l’exactitude de l’intégralité de la somme des résultats de recherche précalculés 6 dans la plate-forme de recherche 4, comme vu par les clients 5 peut également être définie en ce que chaque valeur d’exactitude est pondérée par la popularité du résultat de recherche précalculé respectif. Ainsi, la proportion d’accès exacts aux résultats de recherche précalculés 6 par opposition à la proportion attendue de résultats de recherche précalculés exacts 6 est incluse.
[0045] La planification du recalcul des résultats de recherche précalculés 6 maintenue par la plate-forme de recherche 4 généralement décrite au niveau des groupes de résultats de recherche précalculés 6. Un groupe de résultats de recherche précalculés 6 inclut un ou plusieurs résultats de recherche précalculés 6. Par exemple, un groupe de résultats de recherche précalculés 6 contient de multiples résultats de recherche précalculés 6 liés, par ex. des résultats qui sont prescrits par une interrogation de recherche d’un client demandeur 5. Par exemple, une telle interrogation de recherche est liée à de multiples résultats de recherche qui sont précisés par les mêmes paramètres de recherche. En général, un groupe de résultats de recherche précalculés fait référence dans les présentes à un nombre de résultats de recherche précalculés qui sont demandés par ou fournis à au moins un client 5 à une heure de mise à disposition tp donnée. Bien que les mécanismes présentés dans les présentes sont décrits de manière
FR 18 58505 exemplaire en utilisant un nombre limité de groupes de résultats de recherche précalculés (tel que deux ou trois groupes), les mécanismes s’appliquent généralement à tout nombre de groupes de résultats de recherche précalculés.
[0046] Par exemple, les résultats de recherche précalculés 6 peuvent être des résultats de simulations de circuit électronique informatisées (telles que les simulations faisant l’objet de décision T 1227/05 par la commission de recours EPO Boards of Appeal) et contenir des informations relatives aux valeurs entrées pour les simulations informatisées, des paramètres d’un modèle utilisé par les simulations informatisées, des résultats de simulation intermédiaires et/ou finaux, et similaires. Le recalcul exécute ici une simulation avec des paramètres d’entrée particuliers et le recalcul des résultats de recherche précalculé signifie la répétition de 1 exécution d’une simulation. Cette simulation informatisée liée à des données est conservée dans la plate-forme de recherche 4 peut être interrogée par un client 5 pour récupérer les résultats de la simulation. Une interrogation de recherche peut par ex. préciser une certaine exécution de simulation et, par conséquent, tous les résultats de recherche précalculés liés à cette exécution de simulation précisée forment un groupe de résultats de recherche précalculés.
[0047] Dans certains exemples, la diminution de la probabilité de validité des résultats de recherche précalculés 6 qui sont regroupés dans un groupe de résultats de recherche précalculés 6 suivent un taux de validité égal ou au moins similaire λί. Ainsi, comme déjà montré à la FIG. 3, les fonctions illustrées 10 et 11 de la probabilité de validité diminuant dans le temps sont liées à deux groupes différents A et B de résultats de recherche précalculés 6 avec des taux de validité égaux ou au moins similaires λί. Le recalcul d’un résultat de recherche précalculé ou d’un groupe de résultats de recherche précalculés 6 réinitialise les fonctions de probabilité de validité 10 et 11. Par conséquent, un résultat de recherche précalculé ou un groupe de résultats de recherche précalculés est généralement valide immédiatement après son recalcul et sa probabilité de validité diminue encore dans le temps conformément aux fonctions 10 et 11.
[0048] Les mécanismes de planification du recalcul sont à présent expliqués en référence à l’organigramme de la FIG. 4. Les activités de la LIG. 4 sont exécutées par le dispositif de commande de recalcul 2. En général, le dispositif de commande de recalcul planifie le recalcul d’un premier groupe de résultats de recherche précalculés (tel que le groupe A à la FIG. 2) et
FR 18 58505 un deuxième groupe de résultats de recherche précalculés (tel que le groupe B à la FIG. 2) par la plate-forme de calcul 3, de sorte que la validité des résultats de recherche du premier groupe fournie par les probabilités de validité soit maximisée à la première heure de mise à disposition et la validité des résultats de recherche précalculés du deuxième groupe fournie par les probabilités de validité soit maximisée à la deuxième heure de mise à disposition. La planification du recalcul se base sur
- les ressources informatiques disponibles de la plate-forme de calcul 3, les probabilités de validité associées aux résultats de recherche précalculés du premier groupe de résultats de recherche précalculés et du deuxième groupe de résultats de recherche précalculés et les heures de mise à disposition respectives desdits au moins deux groupes de résultats de recherche précalculés.
[0049] Plus spécifiquement, le dispositif de commande de recalcul 2 détermine 12 d’abord une première heure de mise à disposition pour le premier groupe de résultats de recherche précalculés (par ex., îpa de la FIG. 2) et une deuxième heure de mise à disposition pour le deuxième groupe de résultats de recherche précalculés (par ex., tPB de la FIG. 2). Si les heures de mise à disposition sont connues, par ex., dans la mesure où le client demandeurs a précédemment annoncé quand et quel groupe sera récupéré par le client 5 et était stocké par l’environnement 1, la détermination 12 peut inclure la récupération des heures de mise à disposition dans le lieu de stockage de l’environnement L Si les heures de mise à disposition approximativement modélisées par un modèle probabiliste, la détermination 12 peut inclure la récupération des heures de mise à disposition dans un modèle probabiliste.
[0050] Ensuite, le dispositif de commande de recalcul 2 détermine 13 les ressources de calcul requises pour recalculer tous les résultats de recherche précalculés du premier et du deuxième groupe. La détermination 13 peut par ex. inclure l’estimation des ressources de calcul en multipliant le nombre de résultats de recherche précalculés dans le premier et le deuxième groupes avec une ressource de calcul moyenne ou par défaut pour recalculer un résultat de recherche précalculé. Dans certains modes de réalisation, la détermination 13 peut être plus exacte, comme calculer la somme des ressources de calcul individuelles pour chacun des résultats de recherche précalculés dans un groupe ou tenir compte d’éventuels effets de synergie
FR 18 58505 de calcul ; ce qui diminue les ressources de calcul par résultat de recherche précalculé avec un nombre croissant de résultats de recherche précalculés dans un groupe similaire, comme décrit parEP 2913764 Al.
[0051] Ensuite, le dispositif de commande de recalcul 2 détermine 14 les ressources de calcul disponibles de la plate-forme de calcul 3 pendant une période précédant la première et la deuxième heures de mise à disposition (par ex., pendant une heure avec les ressources de calcul disponibles avant îpa à la FIG. 2). La détermination 14 peut inclure la détermination de la quantité globale cumulative des ressources de calcul disponible avant la première heure de mise à disposition et la deuxième heure de mise à disposition, en retenant la plus tardive.
[0052] Ensuite, la plate-forme recalcul 2 détermine 15 si oui ou non les ressources de calcul disponibles sont suffisantes pour recalculer le premier et le deuxième groupe dans leur intégralité, c.-à-d. si les ressources de calcul disponibles de la plate-forme de calcul comme déterminé par la détermination 14 sont égales à ou plus grandes que les ressources de calcul requises pour recalculer le premier et le deuxième groupes sont déterminées par la détermination 13.
[0053] La détermination 15 peut donner qu’une plate-forme de calcul 3 a des ressources informatiques insuffisantes pour recalculer tous les résultats de recherche précalculés du premier et du deuxième groupe de résultats de recherche précalculés jusqu’aux heures de mise à disposition respectives. En réponse à la détermination selon laquelle les ressources de calcul de la plate-forme de calcul 3 sont insuffisantes pour recalculer le premier groupe est le deuxième groupe dans leur intégralité, le dispositif de commande de recalcul 2 effectue ensuite la planification de la sélection 16 en déterminant les sous portions du premier groupe et du deuxième groupe à recalculer avec les ressources de calcul disponibles. À cette fin, le dispositif de commande de recalcul 2 détermine les probabilités de validité des résultats de recherche précalculés du premier groupe et du deuxième groupe. Le dispositif de commande de recalcul 2 sélectionne ensuite les résultats de recherche précalculés du premier groupe et du deuxième groupe qui doivent être recalculés avant la première et la deuxième heures de mise à disposition, respectivement, sur la base des probabilités de validité déterminées.
FR 18 58505 [0054] Dans certains modes de réalisation, le dispositif de commande de recalcul 2 sélectionne de manière incrémentielle les résultats de recherche précalculés des deux groupes en augmentant la probabilité de validité jusqu’à ce que les ressources de calcul préalables aux heures de mise à disposition soient épuisées. En d’autres termes, le dispositif de commande de recalcul 2 sélectionne les résultats de recherche précalculés ayant une probabilité de validité plus faible à l’heure de mise à disposition de leur groupe respectif et supprime les résultats de recherche précalculés ayant une probabilité de validité plus élevée à l’heure de mise à disposition de leur groupe respectif que les résultats de recherche précalculés sélectionnés. De cette manière, la validité des résultats de recherche précalculés est optimisée à leurs heures de mise à disposition respectives, malgré les ressources de calcul insuffisantes.
[0055] En réponse à la détermination 15 selon laquelle les ressources de calcul de la plateforme de calcul 3 sont suffisantes pour recalculer le premier groupe est le deuxième groupe dans leur intégralité avant l’heure de mise à disposition respective, ou après la fin de la planification de sélection 16, le dispositif de commande de recalcul 2 effectue la planification temporelle 17 afin de déterminer les résultats de recherche précalculés (sélectionnés) des deux groupes qui sont recalculés et à quelles heures avant l’heure de mise à disposition respective.
[0056] Dans certains modes de réalisation, la planification temporelle 17 inclut la détermination des heures de départ du recalcul îr, comme déjà souligné ci-dessus en référence à la FIG. 2. A cette fin, le dispositif de commande de recalcul 2 détermine si oui ou non les résultats de recherche précalculés (sélectionnés) d’un groupe peuvent être calculés en bloc avant l’heure de mise à disposition tp du groupe en répétant les activités 13, 14 et 15 au niveau de chaque groupe individuel concerné. Ainsi, le dispositif de commande de recalcul 2 détermine les ressources de calcul disponibles avant la dernière heure de mise à disposition (par ex., tpA à la FIG. 2) et après l’heure de mise à disposition antérieur (par ex., tpe à la FIG. 2) et les ressources de calcul disponibles avant l’heure de mise à disposition antérieure (par ex., tpA à la FIG. 2). Le dispositif de commande de recalcul 2 pour chacun des deux groupes, détermine par ailleurs les ressources de calcul requises pour recalculer tous les résultats de recherche précalculés (sélectionnés) du groupe respectif. Le dispositif de commande de recalcul 2 détermine ensuite si les ressources de calcul requise pour recalculer un groupe sont disponibles avant l’heure de mise à disposition du groupe
FR 18 58505 [0057] Dans l’affirmative, il est possible de recalculer tous les résultats de recherche précalculés (sélectionnés) d’un groupe en bloc avant l’heure de mise à disposition du groupe ; ce qui pourrait être bénéfique en raison des éventuelles synergies de calcul, comme mentionné ci-dessus. Dans ce cas, le dispositif de commande de recalcul 2 détermine l’heure de départ du recalcul îr et ordonne à la plate-forme de calcul 3 de recalculer tous ou tous les résultats de recherche précalculés sélectionnés du groupe commençant à l’heure de départ de recalcul et de transmettre les résultats de recherche précalculés à la plate-forme de recherche 4 jusqu’à l’heure de mise à disposition tp. Un exemple d’un recalcul en bloc de deux groupes sera décrit cidessous en référence à la FIG. 5.
[0058] Autrement, il est impossible de recalculer tous ou tous les résultats de recherche précalculés sélectionnés d’un groupe en bloc mais plutôt de manière intercalée. Dans ce cas, la planification temporelle 17 déterminer quelles parties de quels groupes doivent être recalculées et à quelles heures. Dans certains modes de réalisation, cela est fait par une planification inversée par groupe. La planification inversée commence par le groupe ayant la dernière mise à disposition (par ex., le groupe A avec la mise à disposition tpA à la FIG. 2). Le dispositif de commande de recalcul 2 détermine le pourcentage de résultats de recherche précalculés (sélectionnés) de ce groupe peut être recalculé dans l’intervalle de temps préalable à l’heure de mise à disposition du groupe et après l’heure de mise à disposition précédente (par ex., îpb du groupe B à la FIG. 2) et planifie par ex. une portion correspondante du groupe pour le recalcul dans cet intervalle de temps. Afin de maximiser la validité du groupe à l’heure de mise à disposition, la portion inclut ces résultats de recherche précalculés du groupe avec les probabilités de validité les plus faibles (à l’heure de mise à disposition). De la même manière, la même chose est répétée pour le groupe de résultats de recherche précalculés avec l’heure de mise à disposition antérieure (par ex., le groupe B avec la mise à disposition îpb à la FIG. 2), etc. Un exemple de mise en œuvre particulière d’un algorithme de planification sera donné cidessous. Si les ressources de calcul entre les deux heures de mise à disposition ne sont pas épuisées, le recalcul d’une autre portion d’un groupe avec une heure de mise à disposition postérieure (qui était déjà planifiée en raison de la planification temporelle inversée) est planifié. Un exemple de cela sera décrit ci-dessous en référence à la FIG. 6.
[0059] Après la fin de la planification temporelle 17, le dispositif de commande de recalcul 2 génère des ordres de recalcul et envoie les ordres de recalcul à la plate-forme de calcul 3 afin
FR 18 58505 que la plate-forme de calcul 3recalculer résultats de recherche précalculés du premier groupe et du deuxième groupe conformément au résultat de la planification de recalcul. La plate-forme de calcul 3 recalcule ensuite les résultats de recherche précalculés, comme demandé et envoie les résultats de recherche recalculés la plate-forme de recherche 4. Aux heures de mise à disposition respectives, la plate-forme de recherche 4 fournit le premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et le deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition aux clients demandeurs respectifs.
[0060] La FIG. 5 montre une situation de planification exemplaire conformément à certains modes de réalisation. Conformément à cet exemple, trois groupes de résultats de recherche précalculés doivent être recalculé, à savoir le groupe C doit être fourni à un client 5 au moins à l’heure de mise à disposition tpc, le groupe A doit être fourni à l’heure de mise à disposition tpA et le groupe B doit être fourni à l’heure de mise à disposition tpe. Le recalcul du groupe C ne doit pas être considéré en détail mais il visualise uniquement que les ressources de calcul de la plate-forme de calcul 3 sont également utilisés avant que le recalcul du groupe A ne commence après l’heure de mise à disposition tpc, c.à-d. à îra. Ainsi, la FIG. 5 indique qu’une certaine portion du groupe C (x %) doit être recalculée avant tpc.
[0061] Concernant la planification du recalcul des résultats de recherche précalculés du groupe A et du groupe B, l’algorithme de planification peut traiter en premier le groupe B étant donné que tpe est postérieure à tpA. Le dispositif de commande de recalcul 2 détermine que la plate-forme de calcul 3 a une capacité suffisante dans l’intervalle de temps entre îrb (qui coïncide avec îpa) et tpe pour recalculer entièrement les résultats de recherche précalculés du groupe B (1.0 B, c.-à-d. 100 % du groupe B). Dans le groupe B, la planification temporelle détermine le résultat de recherche précalculés du groupe B qui doit être recalculé et à quel instant dans l’intervalle de temps de îpa à îpb, en tenant compte des probabilités de validité des résultats de recherche précalculés du groupe B, et également en tenant compte de l’éventuelle variation des ressources de calcul disponible de la plate-forme de calcul 3 pendant cet intervalle de temps (représenté visuellement dans les exemples de la FIG. 5 en ce que plus de ressources de calcul sont disponibles pendant une première partie de l’intervalle de temps de tpA à îpb et moins de ressources de calcul sont disponibles pendant une deuxième partie de l’intervalle de temps de tpA à îpb). Par exemple, afin de maximiser les probabilités de validité des résultats de
FR 18 58505 recherche précalculés du groupe B à îpb, la planification temporelle considère le taux de validité λί des résultats de recherche précalculés du groupe B, par ex., de sorte que les résultats de recherche précalculés ayant un taux d’invalidité λί plus élevé soient recalculés plus tard dans l’intervalle de temps entre tpA et îpb (étant donné qu’ils étaient probablement obsolètes à nouveau plus tôt) que les résultats de recherche précalculés ayant un taux d’invalidité λί plus bas (étant donné qu’ils seront obsolètes plus tard).
[0062] En se référant encore à la FIG. 5, la planification passe ensuite au recalcul des résultats de recherche précalculés du groupe A qui doit être mené en utilisant les ressources de calcul de la plate-forme de calcul 3 qui sont disponibles dans l’intervalle de temps entre tpc et îpa. Le dispositif de commande de recalcul 2 détermine que les ressources de calcul disponible de la plate-forme de calcul 3 sont suffisantes pour recalculer tous les résultats de recherche précalculés du groupe A mais sont suffisants seulement pour recalculer 90 % des résultats de recherche précalculés du groupe B (0,9 A). Par conséquent, 10 % des résultats de recherche précalculés du groupe A ne sont pas recalculés avant îpa. Dans ce cas, comme expliqué cidessus en référence à la FIG. 4, la planification de sélection détermine d’abord les résultats de recherche précalculés du groupe A qui doivent être recalculés dans l’intervalle de temps entre tpc et tPA. Comme expliqué ci-dessus, cela se base sur les probabilités de validité des résultats de recherche précalculés du groupe A. Par exemple, les 10% de résultats de recherche précalculés du groupe A ayant les probabilités de validité les plus élevés ne sont pas recalculés tandis que le recalcul des 90 % restant des résultats de recherche précalculés du groupe A ayant des probabilités de validité plus faibles est planifié dans l’intervalle de temps entre tpc et îpa. Ensuite, la planification temporelle détermine les résultats de recherche précalculés en dehors des 90 % sélectionnés des résultats de recherche précalculés du groupe A qui doivent être recalculés et à quel instant dans l’intervalle de temps entre tpc et îpa. Là encore, cela tient compte des probabilités de validité des résultats de recherche précalculés du groupe A, et des éventuelles variations des ressources de calcul disponibles de la plate-forme de calcul 3 pendant cet intervalle de temps (visuellement représenté dans les exemples de la FIG. 5 en ce que moins de ressources de calcul sont disponibles pendant une première partie de l’intervalle de temps de tpc à îpa et plus de ressources de calcul sont disponibles pendant une deuxième partie de l’intervalle de temps de tpc à îpa. Par exemple, afin de maximiser les probabilités de validité des résultats de recherche précalculés du groupe A à îpa, la planification temporelle considère
FR 18 58505 le taux de validité λί des résultats de recherche précalculés du groupe A, par ex., encore de sorte que les résultats de recherche précalculés plus volatiles ayant un taux d’invalidité λ, plus élevé soient recalculés après l’intervalle de temps entre tpc et îpa que les résultats de recherche précalculés ayant un taux d’invalidité λί plus bas.
[0063] Un autre exemple de planificiation est donné à la FIG. 6. De façon similaire à la FIG. 5, le recalcul de deux groupes de résultats de recherche est planifié avant leurs heures de mise à disposition respectives, à savoir les groupes A et B. Concernant le groupe B, la fonctionnalité de planification du dispositif de commande de recalcul 2 détermine que l’heure et les ressources de calcul disponibles dans l’intervalle de temps entre tpA — îrb de la FIG. 6 sont trop courts pour recalculer tous les résultats de recherche précalculés du groupe B, de sorte que 70 % seulement des résultats de recherche précalculés du groupe B puissent être recalculés pendant cet intervalle de temps (0,7 B). La planification de sélection du planificateur de recalcul 2 détermine les résultats de recherche précalculés qui constituent ces 70 % sur la base des probabilités de validité des résultats de recherche précalculés du groupe B, préférant les résultats de recherche précalculés du groupe B ayant une probabilité de validité plus faible que les résultats de recherche précalculés ayant une probabilité de validité plus élevée.
[0064] D’un autre côté, de manière similaire au groupe B dans l’exemple de la FIG. 5, le groupe A de l’exemple de la FIG. 6 peut être entièrement recalculé (1.0 A) pendant l’intervalle de temps entre îra et îpa. La planification temporelle du groupe A est réalisée de manière similaire, comme décrit ci-dessus en référence à la FIG. 5. De plus, la planification temporelle du dispositif de commande de recalcul 2 est effectuée pour le groupe A de manière similaire à celle déjà décrite ci-dessus.
[0065] Au-delà de l’exemple de la FIG. 5, le dispositif de commande de recalcul 2 détermine par ailleurs que les ressources de calcul de la plate-forme de calcul 3 sont encore disponibles à une phase antérieure, à savoir avant îpa. La partie de la planification de sélection de la fonctionnalité de planification du dispositif de commande de recalcul 2 détermine qu’une portion des 30 % restants du groupe B qui n’étaient pas sélectionnés pour le recalcul dans l’intervalle de temps de tRB à îpb peut être recalculée en utilisant ces ressources de calcul disponibles avant îra, à savoir 20 % supplémentaires des résultats de recherche précalculés du groupe B (0,2 B). Cela augmente par ailleurs la validité des résultats de recherche précalculés
FR 18 58505 du groupe B à fournir à un client 5 à l’heure de mise à disposition du groupe B tpe. Là encore, la planification temporelle et de sélection de ces 20 % exemplaires apparaît de la même manière que celle déjà décrite en détail ci-dessus.
[0066] La FIG. 7 décrit un exemple non limitatif de planification temporelle dans un groupe de résultats de recherche précalculés dans un intervalle de temps de îr à tp (heure de mise à disposition). Comme expliqué ci-dessus, le taux de validité/; d’un résultat de recherche précalculé indique à quelle vitesse le résultat de recherche précalculé devient obsolète en raison d’un changement des données originales sous-jacentes. Dans certains modes de réalisation, il peut par conséquent être bénéfique de planifier dans le temps le recalcul des résultats de recherche précalculés dans un groupe, de sorte que la recherche précalculée plus volatile ayant un taux de validité λί plus élevé soient recalculés ultérieurement dans l’intervalle de temps concerné et que la recherche précalculée plus stable ayant un taux de non-validité λί soient recalculés ultérieurement dans l’intervalle de temps concerné. En d’autres termes, dans ces modes de réalisation, le recalcul des résultats de recherche précalculés avec les taux d’invalidité λί les plus élevés (les 15 % à la FIG. 7) est prévu en dernier (afin de maximiser la probabilité selon laquelle ils sont valides à l’heure de mise à disposition), tandis que le calcul des résultats de recherche précalculés avec les taux d’invalidité les plus élevés λί (les 10 % à la FIG. 7) est prévu en premier, tandis que le calcul d’autres sous-portions des résultats de recherche précalculés du groupe avec des taux d’invalidité plus bas, moyens, plus élevés λί (les 40 %, 5 % et 30 % à la FIG. 7) est prévu entre-temps. II faut noter que les sous-portions des résultats de recherche du groupe montrées à la FIG. 7 se situent à une granularité exemplaire uniquement. La planification temporelle peut se situer à toute granularité jusqu’aux résultats de recherche précalculés individuels.
[0067] Dans certains modes de réalisation, la planification du recalcul tient en plus compte des fréquences d’accès des résultats de recherche précalculés 6 des accès client arbitraires audelà de toute heure de mise à disposition. Dans ces modes de réalisation, la plate-forme de recherche 4 n’est pas uniquement conçue pour fournir aux clients 5 des groupes de résultats de recherche précalculés aux heures de mise à disposition tp, mais elle est également conçue pour
FR 18 58505 recevoir des demandes de résultats de recherche précalculés 6 (incluant les résultats de recherche précalculés d’un groupe A et/ou d’un groupe B) à un instant arbitraire.
[0068] En général, dans ces modes de réalisation, la planification du recalcul préfère de plus le recalcul de résultats de recherche précalculés ayant une fréquence d’accès plus élevée que le recalcul des résultats de recherche précalculés avec une fréquence d’accès plus faible, si les ressources de calcul sont suffisantes pour recalculer tous les résultats de recherche précalculés d’un groupe donné avant l’heure de mise à disposition du groupe. Cela donne une validité supplémentaire aux résultats de recherche précalculés qui sont demandés plus souvent que d autres résultats de recherche précalculés, et ainsi, augmente de manière générale la validité de tous les résultats de recherche précalculés du point de vue des clients 5.
[0069] Un exemple de mise en œuvre spécifique en utilisant une notation plus formelle est donné ensuite. A cette fin, l’heure de recalcul disponible est divisée en créneaux horaires Sj ({Si ... Sj... St }) de durée égale. Par exemple, la durée de chaque créneau horaire Sj est le temps le plus court pour calculer un résultat de recherche (c.-à-d. que la durée du créneau peut être vue comme une unité de temps). De plus, Di ({Di ... Di... Dt }) est défini comme la donnée (plus petite unité des résultats de recherche précalculés, groupe de résultats de recherche précalculés) qui doit être recalculée dans un créneau donné.
[0070] Aux fins de l’exemple de mise en œuvre, on suppose que chaque unité de donnée Di requiert la même quantité de temps à calculer, c.-à-d. que les mêmes ressources de calcul doivent être utilisées sur la plate-forme de calcul pour chaque Di. Basé sur les programmes, c.à-d. que les heures de mise à disposition par ex. au cours de la journée qui sont par ex. fournies par les clients, basées sur les taux de validité λί, associés aux résultats de recherche à fournir aux clients, et basées d’autres métriques optionnelles à prendre en compte, un poids Wij est calculé, il précise un un avantage individuel fourni par un recalcul de la donnée Di lors du créneau horaire Sj, concernant la future heure de mise à disposition tp. Plus spécifiquement, étant donné une prochaine heure de mise à disposition tp pour laquelle le groupe de résultats de recherche précalculés doit être recalculé, le poids peut être défini comme étant Wjj = Pi * * χ, si p. est le facteur optionnel de la fréquence d’accès,λ, est le taux de validité de la donnée Di, comme expliqué ci-dessus, tp est l’heure de mise à disposition comme expliqué ci-dessus, j désigne le créneau horaire considéré et K est un facteur de pondération optionnel
FR 18 58505 supplémentaire qui permet une autre différenciation entre les résultats de recherche précalculés (par ex., pour compenser une éventuelle différence des coûts de CPU entre les recalculs de deux résultats de recherche précalculés Di et D2, dans la mesure où la supposition ci-dessus de ressources de calcul uniformes devant recalculer tout D, pourrait être incorrecte en pratique).
[0071] Etant donné que les ressources de calcul de la plate-forme de calcul 3 sont limitées, seulement une donnée Di peut être calculée à chaque créneau Sj, comme susmentionné. Un scalaire désigné Xij est égal à 0 si Di est recalculée au créneau Sj, et 1 autrement. La contrainte est que la somme (Xij) de toutes les Di est égale à 1.
[0072] En utilisant les notations ci-dessus, les critères
L L
Di data Sj slots avec les contraintes suivantes, comme déjà exposé ci-dessus,
Xij = 1 (one computation per time slot) si
Xij G {0,1} (indicator of position of data i in time slot f) déterminent le maximum de la somme des poids Wÿ, sur tous les créneaux horaires Sj et tous les résultats de recherche précalculés Di considérés. Cela fournit une mesure pour planifier les résultats de recherche précalculés dans le temps pour maximiser la probabilité de validité des résultats de recherche précalculés à fournir aux clients aux heures de mise à disposition respectives. Comme susmentionné, il est possible que i>j, ce qui signifie que les ressources de calcul sont insuffisantes pour calculer tous les résultats de recherche précalculés à fournir à leurs heures de mise à disposition.
[0073] Les kits d’outils de programmation linéaire (tels que le kit de programmation linéaire GNU, GLPK) fournissent des options de mise en œuvre pour trouver un ensemble adapté de scalaires Xij pour résoudre les critères ci-dessus dans des contraintes données. Cet algorithme de mise en œuvre exemplaire est utilisé de manière itérative pour alimenter les créneaux horaires respectifs N entre deux heures de mise à disposition dans un laps de temps particulier plus grand, tel qu’un jour.
FR 18 58505 [0074] Ainsi, en général, les recalculs des résultats de recherche précalculés sont planifiés à l’inverse sur un certain laps de temps (par ex., quotidiennement) afin d’optimiser les recalculs des résultats de recherche précalculés à fournir au client à des heures de mise à disposition données. Ceci est réalisé en appliquant l’algorithme de mise en œuvre exemplaire décrit cidessus pour chacun des créneaux horaires entre les heures de mise à disposition (concernant les FIGS. 5 et 6 par ex. entre tpe et îpa, puis tpc et îpa, etc.). Par conséquent, la planification du recalcul du premier groupe et du deuxième groupes de résultats de recherche précalculés comprend la détermination d’un poids Wÿ pour chaque résultat de recherche précalculé Di du premier et du deuxième groupes, dans laquelle le poids Wÿ précise un avantage fourni par un recalcul du résultat de recherche précalculé respectif Di dans un créneau horaire Sj avant l’heure de mise à disposition respective du premier et du deuxième groupes. Si toute la capacité de calcul des créneaux horaires entre deux heures de mise à disposition a été épuisée pour recalculer les résultats de recherche précalculés dus à la dernière des deux heures de mise à disposition, c.-à-d. en cas de surcapacité temporaire, les créneaux horaires disponibles restants peuvent être utilisés pour recalculer les résultats de recherche précalculés qui sont dus à des heures de mise à disposition postérieures, étant donné que cela augmente l’exactitude globale des résultats de recherche précalculés.
[0075] Enfin, la FIG. 8 est une représentation schématique d’un système informatique 100 qui fournit la fonctionnalité du dispositif de commande de recalcul 2, comme montré à la FIG. 1, initiant le recalcul du précalculé, comme décrit dans les présentes. Dans le dispositif de commande de recalcul 2 un ensemble d’instructions 110, pour amener le système informatique 100 à mettre en œuvre l’un quelconque des procédés décrits dans les présentes, peut être exécuté. Le dispositif de commande de recalcul 2 inclut un processeur 102, une mémoire 104 et un dispositif d’interface de réseau 108. La mémoire principale 104 inclut un espace utilisateur 104’, qui est associé à des applications exécutées par l’utilisateur, un espace noyau 104”, qui est réservé pour les applications liées au système d’exploitation et au matériel. Les composants du système informatique 102 à 109 sont interconnectés par un bus de données 101. En option, elle peut autrement inclure une mémoire statique 106, par ex. un lecteur flash et/ou à semi-conducteur non amovible et/ou une carte micro ou mini SD amovible, qui stocke de manière permanente le logiciel permettant au système informatique 100 exécuter
FR 18 58505 les fonctions du système informatique 100 et une interface I/O 109 supplémentaire, telle qu’un lecteur de carte et des interfaces USB peuvent être présents. Un écran vidéo 103, un module de commande d’interface utilisateur 107 et/ou un dispositif d’entrée alphanumérique 105. Le dispositif d’interface réseau 108 connecte dispositif de commande de recalcul des données 2 à la plate-forme de calcul 3 en effectuant le recalcul des résultats de recherche précalculés 6, d’Internet et/ou de tout autre réseau. Un ensemble d’instructions (c.-à-d. un logiciel) 110 réalisant un ou tous les procédés, décrits ci-dessus, est hébergé complètement, ou au moins partiellement, dans ou sur un support lisible par machine, par ex. la mémoire principale 104 et/ou le processeur 102. Le logiciel 110 peut par ailleurs être transmis ou reçu sous forme de signal propagé 111 via Internet par l’intermédiaire du dispositif d’interface réseau 108.
[0076] En général, les routines exécutées pour mettre en œuvre les modes de réalisation de l’invention, si elles sont mises en œuvre en tant que partie d’un système d’exploitation d’une application spécifique, d’un composant, d’un programme, d’un objet, d’un module ou d’une séquence d’instructions spécifique, ou un sous-ensemble de ceux-ci, peuvent être dénommé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 à des moments divers dans des dispositifs divers de mémoire et de stockage dans un ordinateur, et qui lorsqu'il est lu et exécuté par un ou plusieurs processeurs dans un ordinateur, amène cet ordinateur à mettre en œuvre les opérations et/ou les éléments propres aux aspects variés des modes de réalisation de l'invention. Les instructions d'un programme, lisibles par ordinateur, pour mettre en œuvre les opérations des modes de réalisation de l'invention peuvent être, par exemple, le langage d'assemblage, ou encore un code source ou un code objet écrit en combinaison avec un ou plusieurs langages de programmation.
[0077] Divers codes de programme décrits dans les présentes peuvent être identifiés, selon l'application dans laquelle ils sont mis en oeuvre, dans des modes de réalisation spécifiques de l'invention. Cependant, on notera qu’une quelconque nomenclature d'un programme particulier dans les présentes est utilisée uniquement par commodité ; ainsi l'invention ne peut être limitée à un seul usage dans toute application spécifique identifiée et/ou sous-entendue par ladite nomenclature. Par ailleurs, au vu du nombre généralement infini de moyens par lesquels les programmes informatiques peuvent être organisés selon des sous-programmes, procédures, procédés, modules, objets, et ainsi de suite, ainsi que les façons variées d'affecter les
FR 18 58505 fonctionnalités d'un programme parmi diverses couches de logiciels qui sont hébergées dans un ordinateur typique (p. ex., les systèmes d'exploitation, les bibliothèques, les interfaces d'application de programme (API), les applications, les petites applications (applets) etc.), on notera que les modes de réalisation de l'invention ne sont pas limités à l'organisation spécifique et à l'affectation spécifique des fonctionnalités de programme telles qu'elles sont décrites dans les présentes.
[0078] Le code de programme mis en œuvre dans une/un quelconque des applications/modules décrit(es) dans les présentes peut être distribué individuellement ou collectivement comme un produit-programme d'ordinateur, sous une variété de formes. En particulier, le code de programme peut être distribué en utilisant un support de stockage lisible par ordinateur ayant des instructions de programme lisibles par ordinateur pour amener un processeur à mettre en œuvre des aspects des modes de réalisation de l'invention.
[0079] Les instructions de programme lisibles par ordinateur, enregistrées sur un support lisible par ordinateur, peuvent être utilisées pour amener un ordinateur, d'autres types d'appareils programmables de traitement de données, ou d'autres dispositifs, à fonctionner d'une façon particulière, de sorte que les instructions stockées sur le support lisible par ordinateur produisent un article de fabrication incluant les instructions qui mettent en œuvre les fonctions, les actions et/ou les opérations spécifiées dans les organigrammes, diagrammes de séquence, et/ou diagrammes blocs. Les instructions de programme informatique peuvent être fournies à un ou plusieurs processeurs d'un ordinateur à usage général ou un ordinateur dédié ou un autre appareil programmable de traitement de données pour produire une machine, de sorte que les instructions, lorsqu'elles sont exécutées à l'aide du ou des processeurs, accomplissent une série de calculs pour mettre en œuvre les fonctions, actions, et/ou les opérations spécifiées dans les organigrammes, diagrammes séquentiels et/ou diagrammes blocs.
[0080] Dans certains autres modes de réalisation, les fonctions, les actions et/ou des opérations spécifiées dans les organigrammes, diagrammes de séquence, et/ou des diagrammes blocs peuvent être réordonnées, traitées en série, et/ou traitées en même temps conformément aux modes de réalisation de l'invention. De plus, tout organigramme, diagramme séquentiel et/ou diagramme bloc peut inclure plus ou moins de blocs que ceux qui sont illustrés, tout en restant cohérents avec les modes de réalisation de l'invention.
FR 18 58505 [0081] La terminologie utilisée dans les présentes a pour but de décrire uniquement des modes de réalisation particuliers et n'est pas destinée à limiter les modes de réalisation de l'invention. On comprendra par ailleurs que les termes « comprendre », « comprend » et/ou « comprenant », lorsqu’ils sont utilisés dans cette spécification, précisent la présence de caractéristiques, de nombres entiers, d’étapes, d’opérations, d’éléments, et/ou de composants, mais n’excluent pas la présence ou l’ajout d’une ou de plusieurs caractéristiques, de nombres entiers, d’étapes, d’éléments, de composants et/ou de groupes, en cela. De plus, dans la mesure où les termes « inclut », « ayant », « a », « avec », « compris de » ou des variantes de ceux-ci, sont utilisés, soit dans la description détaillée, soit dans les revendications, ces termes sont censés être inclusifs de façon similaire au terme « comprenant ».
[0082] Bien que l'invention aient été illustrée par une description de modes de réalisation variés et bien que ces modes de réalisation ait été décrits de façon considérablement détaillée, il n’y a pas d'intention de restreindre ou de limiter en aucune façon la portée des revendications en annexe à ces détails. Des avantages supplémentaires et des modifications possibles apparaîtront aisément aux hommes de métier. L'invention sous ses aspects plus larges n'est donc pas limitée aux détails spécifiques, aux appareils représentatifs et aux procédés, ainsi qu’aux exemples illustratifs montrés et décrits. Par conséquent, il est possible de s'éloigner de ces détails sans s'éloigner de la portée du concept inventif général.

Claims (12)

1. Un procédé pour recalculer les résultats de recherche précalculés exécutés dans un environnement de base de données, l’environnement de base de données comprenant :
- au moins une plate-forme de recherche pour conserver les résultats de recherche précalculés, dans laquelle la plate-forme de recherche fournit au moins deux groupes de résultats de recherche précalculés aux clients demandeurs à des heures de mise à disposition données, un premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et un deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à dispositions ;
un dispositif de commande de recalcul pour contrôler le recalcul des résultats de recherche précalculés sur la base des probabilités de validité associées aux résultats de recherche précalculés ; et
- une plate-forme de calcul pour recalculer les résultats de recherche précalculés ;
le procédé comprenant :
la planification, par le dispositif de commande de recalcul, du recalcul du premier groupe et du deuxième groupe de résultats de recherche précalculés par la plateforme de calcul sur la base des ressources informatiques disponibles de la plate-forme de calcul, les probabilités de validité associées aux résultats de recherche précalculés du premier groupe et du deuxième groupe et les heures de mise à disposition respectives, de sorte que la validité des résultats de recherche du premier groupe fournie par les probabilités de validité soit maximisée la première heure de mise à disposition et que la validité des résultats de recherche précalculés du deuxième groupe fournie par probabilité de validité soit maximisée à la deuxième heure de mise à disposition.
le recalcul, par la plate-forme de calcul, des résultats de recherche précalculés conformément à la planification par le dispositif de commande de recalcul ;
- la fourniture, par la plate-forme de recherche, du premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et du deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition aux clients demandeurs respectifs.
FR 18 58505
2. Le procédé selon la revendication 1 comprenant :
la détermination, par le dispositif de commande de recalcul, que la plateforme de calcul a des ressources informatiques insuffisantes pour recalculer tous les résultats de recherche précalculés du premier et du deuxième groupe de résultats de recherche précalculés jusqu’aux heures de mise à disposition respectives, et dans lequel la planification du recalcul du premier groupe et du deuxième groupe des résultats de recherche précalculés comprend :
- l’attribution d’une première portion des ressources informatiques de la plate-forme de calcul disponible jusqu’à la première heure de mise à disposition au premier groupe de résultats de recherche précalculés pour terminer le recalcul d’au moins un sousensemble du premier groupe de résultats de recherche précalculés jusqu’à la première heure de mise à disposition, et
- l’attribution d’une deuxième portion de ressources informatiques de la plateforme de calcul disponible jusqu’à la deuxième heure de mise à disposition au deuxième groupe de résultats de recherche précalculés pour terminer le recalcul d’au moins un sousensemble du deuxième groupe de résultats de recherche précalculés jusqu’à la deuxième heure de mise à disposition.
3. Le procédé selon la revendication 1, dans lequel la planification du recalcul du premier groupe et du deuxième groupe des résultats de recherche précalculés comprend :
la détermination de la première heure de mise à disposition du premier groupe de résultats de recherche précalculés et la détermination de la deuxième de mise à disposition du deuxième groupe de résultats de recherche précalculés, la détermination des ressources de calcul requises pour recalculer les résultats de recherche précalculés du premier groupe et la détermination des ressources de calcul requises pour recalculer les résultats de recherche précalculés du deuxième groupe, la détermination des ressources de calcul disponibles de la plate-forme de calcul pendant une période préalable à la première heure de mise à disposition et à la deuxième heure de mise à disposition, en réponse à la détermination selon laquelle les ressources de calcul de la plate-forme de calcul sont insuffisantes pour recalculer tous les résultats de recherche
FR 18 58505 précalculés du premier et du deuxième groupe de résultats de recherche précalculés jusqu’aux heures de mise à disposition respectives, o la sélection des résultats de recherche précalculés du premier et du deuxième groupes pour le recalcul sur la base des probabilités de validité des résultats de recherche précalculés du premier et du deuxième groupes, et o la détermination des résultats de recherche précalculés sélectionnés du premier et du deuxième groupes qui doivent être recalculés et de l’heure de recalcul.
4. Le procédé selon la revendication 3 comprenant :
en réponse à la détermination selon laquelle les ressources de calcul de la plate-forme de calcul sont suffisantes pour recalculer tous les résultats de recherche précalculés du premier et du deuxième groupes de résultats de recherche précalculés jusqu’aux heures de mise à disposition respectives, la détermination des résultats de recherche précalculés du premier et du deuxième groupes qui doivent être recalculés et de l’heure de recalcul.
5. Le procédé selon l’une quelconque des revendication 1 à 4, dans lequel la planification du recalcul du premier groupe et du deuxième groupes de résultats de recherche précalculés comprend la détermination d’un poids Wÿ pour chaque résultat de recherche précalculé Di du premier et du deuxième groupes, dans laquelle le poids Wÿ précise un avantage fourni par un recalcul du résultat de recherche précalculé respectif Di dans un créneau horaire Sj avant l’heure de mise à disposition respective du premier et du deuxième groupes.
6. Le procédé sur l’une quelconque des revendications 1 à 5, dans lequel la plate-forme de recherche reçoit des demandes de résultats de recherche précalculés du premier et/ou du deuxième groupe(s) de résultats de recherche précalculés à un instant arbitraire, et dans lequel la planification du recalcul du premier et du deuxième groupe de résultats de recherche précalculés se base de plus sur une fréquence d’accès du premier groupe et du deuxième groupe de résultats de recherche précalculés.
FR 18 58505
7. Le procédé selon l’une quelconque des revendications 1 à 6, dans lequel les heures de mise à disposition respectives du premier groupe de résultats de recherche précalculés et du deuxième groupe de résultats de recherche précalculés sont déterminées par les clients demandeurs.
8. Le procédé selon l’une quelconque des revendications 1 à 7, dans lequel les résultats de recherche précalculés du premier groupe de résultats de recherche précalculés et du deuxième groupe de résultats de recherche précalculés sont récupérés par les clients demandeurs.
9. Un dispositif de commande de recalcul pour le recalcul des résultats de recherche précalculés conservés par au moins une plate-forme de recherche, dans lequel ladite au moins une plate-forme de recherche conserve les résultats de recherche précalculés, en fournissant au moins deux groupes de résultats de recherche précalculés aux clients demandeurs, un premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et un deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition, et dans lequel le dispositif de commandes de recalcul est conçu pour contrôler le recalcul des résultats de recherche précalculés par une plate-forme de calcul sur la base des probabilités de validité associées aux résultats de recherche précalculés en :
Planifiant le recalcul du premier groupe et du deuxième groupe de résultats de recherche précalculés par la plate-forme de calcul sur la base des ressources informatiques disponibles de la plate-forme de calcul, les probabilités de validité associées aux résultats de recherche précalculés du premier groupe et du deuxième et les heures de mise à disposition respectives, de sorte que la validité des résultats de recherche du premier groupe fournie par les probabilités de validité soit maximisée à la première heure de mise à disposition et que la validité des résultats de recherche précalculés du deuxième groupe fournie par les probabilités de validité soit maximisée à la deuxième heure de mise à disposition.
10. Le dispositif de commande de recalcul 10, dans lequel les instructions, lorsqu’elles sont exécutées par un ou plusieurs processeurs, amène le dispositif de commande de recalcul à effectuer les procédés de l’une quelconque des revendications 2 à 8.
FR 18 58505
11. Un produit-programme d’ordinateur comprenant :
un support durable de stockage de données lisibles par ordinateur ; et les instructions stockées sur le support de stockage durable lisible par ordinateur qui, lorsqu’il est exécuté par un processeur, amène le processeur à contrôler le recalcul des résultats de recherche précalculés, en fournissant un premier groupe de résultats de recherche précalculés à une première heure de mise à disposition et un deuxième groupe de résultats de recherche précalculés à une deuxième heure de mise à disposition aux clients demandeurs sur la base des probabilités de validité étant associées aux résultats de recherche précalculés en :
- planifiant le recalcul du premier groupe et du deuxième groupe de résultats de recherche précalculés sur la base des ressources informatiques disponibles du processeur, les probabilités de validité associées aux résultats de recherche précalculés du premier groupe et du deuxième et les heures de mise à disposition respectives, de sorte que la validité des résultats de recherche du premier groupe donnée par les probabilités de validité soit maximisée à la première heure de mise à disposition et que la validité des résultats de recherche précalculés du deuxième groupe fournie par les probabilités de validité soit maximisée à la deuxième heure de mise à disposition.
12. Le programme informatique selon la revendication 11, dans lequel les instructions, lorsqu’elles sont exécutées par un ou plusieurs processeurs, amènent le processeur à effectuer les procédés de l’une quelconque des revendications 2 à 8.
FR1858505A 2018-09-20 2018-09-20 Recalcul des resultats de recherche precalcules Active FR3086412B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR1858505A FR3086412B1 (fr) 2018-09-20 2018-09-20 Recalcul des resultats de recherche precalcules
US16/570,423 US11169990B2 (en) 2018-09-20 2019-09-13 Re-computing pre-computed search results
EP19198340.2A EP3627349B1 (fr) 2018-09-20 2019-09-19 Recalcul des resultats de recherche precalcules

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1858505A FR3086412B1 (fr) 2018-09-20 2018-09-20 Recalcul des resultats de recherche precalcules
FR1858505 2018-09-20

Publications (2)

Publication Number Publication Date
FR3086412A1 true FR3086412A1 (fr) 2020-03-27
FR3086412B1 FR3086412B1 (fr) 2020-10-30

Family

ID=65861348

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1858505A Active FR3086412B1 (fr) 2018-09-20 2018-09-20 Recalcul des resultats de recherche precalcules

Country Status (3)

Country Link
US (1) US11169990B2 (fr)
EP (1) EP3627349B1 (fr)
FR (1) FR3086412B1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6810651B2 (ja) * 2017-04-24 2021-01-06 日立オートモティブシステムズ株式会社 電子制御装置、論理回路の制御方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055426A1 (en) 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US20090177667A1 (en) 2008-01-07 2009-07-09 International Business Machines Corporation Smart Data Caching Using Data Mining
US8356026B2 (en) 2009-08-31 2013-01-15 Microsoft Corporation Predictive data caching
WO2013160721A1 (fr) * 2012-04-26 2013-10-31 Amadeus S.A.S. Système de base de données utilisant un calcul orienté lot
WO2014026753A1 (fr) 2012-08-14 2014-02-20 Amadeus S.A.S. Mise à jour de résultats d'interrogations de base de données mis en antémémoire
EP2913764A1 (fr) 2014-02-19 2015-09-02 Amadeus S.A.S. Nouveau calcul de résultats de recherche précalculés
EP2991070A1 (fr) 2014-08-26 2016-03-02 Samsung Display Co., Ltd. Appareil d'affichage

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085394A1 (en) * 2004-10-14 2006-04-20 International Business Machines Corporation Methods and apparatus for processing a database query
US20130073586A1 (en) * 2011-05-02 2013-03-21 Amadeus S.A.S. Database system using batch-oriented computation
US9235620B2 (en) * 2012-08-14 2016-01-12 Amadeus S.A.S. Updating cached database query results
US20160171008A1 (en) * 2012-08-14 2016-06-16 Amadeus S.A.S. Updating cached database query results
US9529848B2 (en) * 2013-12-06 2016-12-27 Vmware, Inc. Predictive query result computation
US9582536B2 (en) * 2014-02-19 2017-02-28 Amadeus S.A.S. Long-term validity of pre-computed request results
US10395294B2 (en) * 2014-11-03 2019-08-27 Amadeus S.A.S. Managing pre-computed search results
CN108376143B (zh) * 2018-01-11 2019-12-27 上海跬智信息技术有限公司 一种新型的olap预计算***及生成预计算结果的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050055426A1 (en) 2000-06-12 2005-03-10 Kim Smith System, method and computer program product that pre-caches content to provide timely information to a user
US20090177667A1 (en) 2008-01-07 2009-07-09 International Business Machines Corporation Smart Data Caching Using Data Mining
US8356026B2 (en) 2009-08-31 2013-01-15 Microsoft Corporation Predictive data caching
WO2013160721A1 (fr) * 2012-04-26 2013-10-31 Amadeus S.A.S. Système de base de données utilisant un calcul orienté lot
WO2014026753A1 (fr) 2012-08-14 2014-02-20 Amadeus S.A.S. Mise à jour de résultats d'interrogations de base de données mis en antémémoire
EP2913764A1 (fr) 2014-02-19 2015-09-02 Amadeus S.A.S. Nouveau calcul de résultats de recherche précalculés
EP2991070A1 (fr) 2014-08-26 2016-03-02 Samsung Display Co., Ltd. Appareil d'affichage

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ILARRI ET AL: "Using cooperative mobile agents to monitor distributed and dynamic environments", INFORMATION SCIENCES, AMSTERDAM, NL, vol. 178, no. 9, 15 January 2008 (2008-01-15), pages 2105 - 2127, XP022507929, ISSN: 0020-0255, DOI: 10.1016/J.INS.2007.12.015 *
JAGAN SANKARANARAYANAN ET AL: "SMILE: A Data Sharing Platform for Mobile Apps in the Cloud", ADVANCES IN DATABASE TECHNOLOGY - EDBT 2014: 17TH INTERNATIONAL CONFERENCE ON EXTENDING DATABASE TECHNOLOGY, PROCEEDINGS, 2014, pages 688 - 699, XP055606576, ISBN: 978-3-89318-065-3, Retrieved from the Internet <URL:http://openproceedings.org/EDBT/2014/edbticdt2014industrial_submission_26.pdf> [retrieved on 20190717], DOI: 10.5441/002/edbt.2014.75 *

Also Published As

Publication number Publication date
US20200097470A1 (en) 2020-03-26
FR3086412B1 (fr) 2020-10-30
EP3627349B1 (fr) 2024-06-05
EP3627349A1 (fr) 2020-03-25
US11169990B2 (en) 2021-11-09

Similar Documents

Publication Publication Date Title
EP2904737B1 (fr) Accords de niveau de service basés sur la cohérence dans des environnements de stockage en nuage
US9378155B2 (en) Method for processing and verifying remote dynamic data, system using the same, and computer-readable medium
FR2972277A1 (fr) Systeme et procede de recommendation d&#39;articles dans des environnements multi-relationnels
WO2007022199A2 (fr) Regroupement scalable d&#39;utilisateurs base sur la similarite d&#39;ensembles
FR3088740A1 (fr) Traitement de donnees iteratif
US20130260352A1 (en) Providing questions to entity groups
FR3099613A1 (fr) Systèmes d’apprentissage automatiques et procédés pour le placement de données dans le stockage distribué
FR2972090B1 (fr) Determination de la validite d&#39;un abonnement pour l&#39;utilisation de contenus numeriques
FR3086412A1 (fr) Recalcul des resultats de recherche precalcules
CA2540947A1 (fr) Procede pour suivre l&#39;utilisation d&#39;espace dans une base de donnees
CN114416324A (zh) 任务触发方法、装置、计算机设备和存储介质
FR3079635A1 (fr) Mise a jour de donnees en cache
US20210149868A1 (en) Dynamic index management for computing storage resources
WO2003085554A1 (fr) Methode de gestion des reorganisations dans un ensemble de bases de donnees indexees d&#39;un systeme informatique
EP2756398B1 (fr) Procede, dispositif et programme d&#39;ordinateur pour allouer dynamiquement des ressources d&#39;un cluster a l&#39;execution de processus d&#39;une application
WO2018019769A1 (fr) Procede de prediction de demande de consommation, utilisant un modele de prediction perfectionne
EP3475847B1 (fr) Serveur de statistiques pour optimisation de requêtes client-serveur
FR3077146A1 (fr) Recalcul de resultats precalcules d&#39;interrogation
FR3086424A1 (fr) Traitement d&#39;une sequence d&#39;appels de fonction
WO2019129958A1 (fr) Procede de stockage de donnees et procede d&#39;execution d&#39;application avec reduction du temps d&#39;acces aux donnees stockees
FR3079636A1 (fr) Realiser une adaptation de mise a jour de la memoire-cache
WO2020193761A1 (fr) Système de stockage redondant de données, procédé et programme d&#39;ordinateur correspondants
EP4148569A1 (fr) Procédé d&#39;ordonnancement d&#39;un ensemble de taches de calcul dans un supercalculateur
CN117688007A (zh) 一种数据表的生命周期管理方法及装置
CN117908773A (zh) 一种云端冷热数据随机性在线分层存储方法及***

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20200327

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6