Brevet FR3079636A1 — publié le 20191004

RÉALISER UNE ADAPTATION DE MISE À JOUR DE LA MÉMOIRE-CACHE DOMAINE TECHNIQUE [0001] La présente révélation concerne de façon générale des ordinateurs et des logiciels 5 informatiques et en particulier des procédés, des systèmes et des produits-programmes d'ordinateur qui gèrent des interrogations de recherche dans un système de base de données et effectuent une adaptation de mise à jour de la mémoire-cache. CONTEXTE 10 [0002] Des développements récents en technologie de base de données montrent qu'il existe un problème commun pour assurer des temps de réponse courts aux interrogations de recherche qui demandent le traitement de larges quantités de données. Par exemple, ce traitement doit être effectué en réponse aux dites «interrogations ouvertes » qui ne contiennent que peu d'informations saisies (p. ex. seuls un ou deux paramètres parmi une douzaine de paramètres 15 possibles sont spécifiés et/ou les fourchettes de valeurs spécifiées des paramètres sont larges) et, par conséquent, elles renvoient généralement un grand nombre de résultats. Les possibilités pour accélérer le traitement des données en augmentant la performance du matériel sont limitées. Ainsi, l'attention se porte sur l'amélioration des mécanismes sous-jacents du traitement de grandes quantités de données. 20 [0003] Une approche générale pour diminuer les temps de réponse aux interrogations consiste à précalculer ou précollecter un résultat aux interrogations de recherche et de les conserver dans une mémoire-cache. Ainsi, les interrogations de recherche ne sont pas réellement traitées sur de grandes quantités de données, mais sur les résultats tels qu'ils sont conservés dans la mémoire-cache. 25 [0004] La mise en cache présente cependant un inconvénient, notamment le fait que les résultats conservés dans la mémoire-cache peuvent devenir obsolètes en raison de modifications des données sur lesquelles les résultats précalculés ou précollectés sont basés, ils différent donc de ces données. Il y a donc un problème pour garder les résultats précalculés ou précollectés à jour afin d'assurer que les interrogations renvoyées par les résultats de la mémoire-cache reflètent 30 correctement les données correspondantes parmi les quantités de données. Des stratégies pour garder la mémoire-cache à jour, c'est-à-dire les résultats conservés dans la mémoire-cache sont donc nécessaires. [0005] Des stratégies variées relativement simples pour garder la mémoire-cache à jour, telles qu'elles sont connues dans l'art antérieur, concernent par exemple le recalcul ou la recollecte 2 de résultats entiers fréquemment conservés dans la mémoire-cache, l'établissement et la tenue manuels de planifications des recalculs ou des recollectes et le recalcul ou la recollecte des résultats lorsqu'ils sont jugés obsolètes. En général, le recalcul ou la recollecte d'un grand nombre de résultats de recherche (ou la mise à jour d'une mémoire-cache) est une tâche qui consomme une quantité substantielle de ressources de calcul ainsi que de ressources de largeur de bande. Par conséquent, des techniques de recalcul ou de recollecte sont recherchées pour effectuer de façon efficace le recalcul ou la recollecte des résultats de recherche. [0006] Une autre stratégie pour diminuer les temps de réponse tout en assurant la validité des résultats de recherche avec une certaine assurance est décrite dans EP 2 908 255 Al. Selon cette stratégie, la validité des résultats de recherche précalculés ou précollectés est estimée et cette estimation de validité est utilisée afin de renvoyer au client des résultats de recherche précalculés ou précollectés qui sont probablement valides. Plus spécifiquement, un procédé est fourni pour gérer les interrogations dans un système de base de données ayant au moins un client et au moins une plateforme de recherche. La plateforme de recherche conserve des résultats de recherche précalculés qui sont associés à des facteurs de confiance. Un facteur de confiance indique une probabilité que le résultat de recherche associé soit valide. Une interrogation indiquant au moins un critère de recherche est reçue par la plateforme de recherche. La plateforme de recherche utilise les facteurs de confiance associés aux résultats de recherche précollectés identifiés pour augmenter la probabilité moyenne que les résultats de recherche précollectés qui sont renvoyés au client soient valides. RÉSUMÉ [0007] Selon un premier aspect de la présente révélation, un procédé est fourni pour le traitement d'interrogations dans un système de base de données. Le système de base de données 25 comprend une source de données d'origine stockant une pluralité d'éléments de donnée d'origine et une source de mémoire-cache stockant une pluralité d'éléments de donnée en cache, dans lequel chaque élément de donnée en cache est associé à une valeur d'exactitude. Le procédé comprend la sélection aléatoire d'interrogations parmi une pluralité d'interrogations gérées par le système de base de données, au moment où l'interrogation respective est reçue de 30 la part d'un client. Par ailleurs, le procédé comprend, pour chacune des interrogations sélectionnées de façon aléatoire, la récupération d'un premier élément de donnée en cache correspondant à l'interrogation sélectionnée de façon aléatoire, à partir de la source de mémoire-cache, et la récupération d'un premier élément de donnée d'origine correspondant à l'interrogation de façon aléatoire, à partir de la source de données d'origine. Le procédé 3 comprend aussi, pour des interrogations qui ne sont pas sélectionnées de façon aléatoire, la récupération d'un second élément de donnée en cache correspondant à l'interrogation à partir de la source de mémoire-cache, l'évaluation de la valeur d'exactitude du second élément de donnée en cache et si la valeur d'exactitude est en dessous d'un seuil donné, la récupération 5 d'un second élément de donnée d'origine correspondant à l'interrogation à partir de la source de données d'origine, et la mise à jour du second élément de donnée en cache par le second élément de donnée d'origine. Le procédé comprend l'adaptation d'un modèle probabiliste basé sur le premier élément de donnée en cache et le premier élément de donnée d'origine en utilisant un algorithme d'apprentissage automatique. La valeur d'exactitude est dérivée du modèle 10 probabiliste et indique une probabilité qu'un élément de donnée en cache coïncide avec un élément correspondant de donnée d'origine. [0008] Selon un exemple, le procédé comprend, pour les interrogations sélectionnées de façon aléatoire, la comparaison du premier élément de donnée en cache et du premier élément de donnée d'origine, l'actualisation du premier élément de donnée en cache par le premier élément 15 de donnée d'origine et le renvoi du premier élément de donnée d'origine au client. [0009] Dans un autre exemple, le procédé comprend par ailleurs, pour les interrogations qui ne sont pas sélectionnées de façon aléatoire, le renvoi du second élément de donnée en cache comme résultat au client si la valeur d'exactitude est en dessous du seuil donné, et autrement, le renvoi du second élément de donnée en cache comme résultat au client. 20 [0010] Dans un autre exemple, le procédé comprend par ailleurs, pour chacune des interrogations sélectionnées de façon aléatoire, l'envoi d'informations concernant l'interrogation, le premier élément de donnée en cache et le premier élément de donnée d'origine vers une base de données historique du système de base de données. [0011] Selon un autre exemple, le procédé comprend par ailleurs, la comparaison du premier 25 élément de donnée d'origine avec le premier élément de donnée en cache, le stockage d'une première valeur d'indicateur indiquant si le premier élément de donnée d'origine coïncide avec le premier élément de donnée en cache, la comparaison de la valeur d'exactitude du premier élément de donnée en cache et du seuil donné, le stockage d'une seconde valeur d'indicateur indiquant si la valeur d'exactitude est en dessous du seuil donné et l'actualisation du seuil donné 30 sur la base de paires des premières et secondes valeurs d'indicateur. [0012] Dans l'autre exemple, l'actualisation du seuil donné peut comprendre en option la détermination d'une fréquence de sondage et de l'efficacité des sondages sur la base des paires de premières et de secondes valeurs d'indicateur, et l'actualisation du seuil donné sur la base de la fréquence de sondage et de l'efficacité des sondages. 4 [0013] Toujours en option, dans l'autre exemple, la fréquence des sondages peut être déterminée sur la base d'une équation : (TP+FP) / (TP+FP+TN+FN), et l'efficacité des sondages peut être déterminée sur la base d'une équation : TP / (TP+FP). Dans les équations, TP est le nombre desdites paires dans lequel la première valeur d'indicateur indique que 5 l'élément de donnée d'origine ne coïncide pas avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude est en dessous du seuil donné. TN est un nombre desdites paires dans lesquelles la première valeur d'indicateur indique que l'élément de donnée d'origine coïncide avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude n'est pas en dessous du seuil donné. FP est un nombre 10 desdites paires dans lesquelles la première valeur d'indicateur indique que l'élément de donnée d'origine coïncide avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude est en dessous du seuil donné. FN est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine ne coïncide pas avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur 15 d'exactitude n'est pas en dessous du seuil donné. [0014] Selon un second aspect de la présente révélation, un système de base de données de traitement des interrogations est fourni. Le système de base de données comprend une source de données d'origine stockant une pluralité d'éléments de donnée d'origine et une source de mémoire cache stockant une pluralité d'éléments de donnée en cache, chaque élément de 20 donnée en cache étant associé à une valeur d'exactitude. Le système de base de données est par ailleurs configuré pour sélectionner de façon aléatoire des interrogations parmi une pluralité d'interrogations gérées par le système de base de données au moment où l'interrogation respective est reçue de la part d'un client. Le système de base de données est aussi configuré de façon à, pour chacune des interrogations sélectionnées de façon aléatoire, récupérer un premier élément de donnée en cache correspondant à l'interrogation sélectionnée de façon aléatoire à partir de la source de mémoire-cache et récupérer un premier élément de donnée d'origine correspondant à l'interrogation de façon aléatoire à partir de la source de données d'origine. Le système de base de données est configuré de façon à, pour des interrogations qui ne sont pas sélectionnées de façon aléatoire, récupérer un second élément de donnée en cache correspondant à l'interrogation à partir de la source de mémoire-cache, évaluer la valeur d'exactitude du second élément de donnée en mémoire-cache et si l'évaluation de la valeur d'exactitude du second élément de donnée en cache et la valeur d'exactitude est en dessous d'un seuil donné, récupérer un second élément de donnée d'origine correspondant à l'interrogation à partir de la source de données d'origine et actualiser le second élément de 5 donnée en cache par le second élément de donnée d'origine. Le système de base de données est par ailleurs configuré pour adapter un modèle probabiliste basé sur le premier élément de donnée en cache et le premier élément de donnée d'origine en utilisant un algorithme d'apprentissage automatique. La valeur d'exactitude est dérivée du modèle probabiliste et 5 indique une probabilité qu'un élément de donnée en cache coïncide avec un élément correspondant de donnée d'origine. [0015] Selon un troisième aspect de la présente révélation, un produit-programme d'ordinateur est fourni. Le produit-programme d'ordinateur comprend des instructions qui, lorsqu'elles sont exécutées par un ordinateur, amènent l'ordinateur à mettre en oeuvre le procédé selon les aspects 10 du premier mode de réalisation. [0016] Le résumé ci-dessus présente une synthèse simplifiée afin d'apporter une compréhension basique de certains aspects des systèmes et/ou procédés détaillés dans les présentes. Ce résumé n'est pas un aperçu extensif des systèmes et/ou des procédés détaillés dans les présentes. Il ne prétend, ni identifier des éléments clés/décisifs, ni définir la portée de 15 ces systèmes et/ou procédés. Son seul but est de présenter certains concepts de façon simplifiée en préface à la description plus détaillée qui est exposée par la suite. BRÈVE DESCRIPTION DES DESSINS [0017] Les dessins, en annexe illustrent les modes de réalisation variés de la présente révélation 20 et avec la description générale donnée ci-dessus et la description détaillée des modes de réalisation donnée ci-après, servent à expliquer les modes de réalisation de la présente révélation. Dans les dessins, des références à des chiffres similaires sont utilisées pour indiquer des éléments similaires dans les diverses visualisations. [0018] La FIG. 1 illustre un système de base de données exemplaire, dans lequel un procédé 25 pour gérer des interrogations de recherche peut être mis en oeuvre. [0019] La FIG. 2 illustre un procédé exemplaire de gestion d'interrogations de recherche dans le système de base de données exemplaire de la FIG. 1. [0020] La FIG. 3 illustre les principes de la présente révélation pour traiter les interrogations et adapter la décision de sondage. 30 [0021] La FIG. 4 illustre d'autres principes de la présente révélation pour traiter des interrogations et adapter la décision de sondage. [0022] La FIG. 5 illustre un procédé pour traiter d'interrogation conformément à la présente révélation. 6 [0023] La FIG. 6 illustre un système de base de données exemplaire, dans lequel le procédé illustré dans la FIG. 5 peut être mis en oeuvre. [0024] La FIG. 7 illustre un procède exemplaire pour gérer des interrogations de recherche non sélectionnées dans le cadre du procédé de la FIG. 5. 5 [0025] La FIG. 8 illustre un procédé exemplaire pour actualiser les données en cache dans le cadre du procédé de la FIG. 5. [0026] La FIG. 9 illustre un procédé exemplaire pour actualiser un seuil dans le système de base de données de la FIG. 6. [0027] La FIG.10 illustre une représentation schématique d'un système informatique conforme 10 à un mode de réalisation. DESCRIPTION DÉTAILLÉE [0028] Avant d'aborder la description détaillée des modes de réalisation, il sera d'abord expliqué des aspects plus généraux concernant les techniques impliquées 15 [0029] La présente révélation concerne de façon générale la gestion des interrogations de recherche dans un système de base de données. Le terme « interrogation de recherche » inclut tout type de demande de base de données y compris, p. ex. des requêtes pour récupérer des données et la possibilité d'écrire des requêtes pour insérer, changer ou effacer des données. Un système de base de données exemplaire 1 pour la gestion d'interrogations de recherche est 20 illustré dans la FIG. 1. [0030] Le système de base de données 100 inclut au moins une plateforme 110 et au moins une base de données 120. Afin de renforcer la prévention d'échec ou la performance, une pluralité de plateformes de recherche 110 peut exister. Il peut aussi exister une pluralité de bases de données 120 afin d'augmenter la capacité ou la performance. La pluralité des bases de 25 données 120 peut être située sur un site ou peut être distribuée sur une pluralité de sites. Ladite au moins une plateforme 110 et ladite au moins une base de données 120 sont connectées via un réseau tel qu'un réseau local (LAN), un réseau métropolitain (MAN), ou un-réseau étendu (WAN) tel qu'Internet. [0031] Ladite au moins une base de données 120 stocke des données d'origine. Dans les 30 présentes, ces bases de données 120 qui stockent des données d'origine sont aussi désignées comme source de données d'origine. De façon plus détaillée, ladite au moins une base de données 120 stocke une pluralité d'éléments de donnée d'origine. Ici, le terme «données d'origine » signifie des données valides qui forment la base de tout traitement de données dans le système de base de données 100, en particulier les données vers lesquelles les interrogations 7 de recherche sont adressées. Ici, le terme «base de données » vise à englober tous les types de systèmes de stockage d'information structurée tels que les bases de données individuelles standardisées comme SQL ou des bases de données non-SQL ainsi que des bases de données complexes distribuées et/ou propriétaires, des bases de données relationnelles ou des bases de 5 données orientées-objet. Enfin, le terme « élément » signifie ici tout type d'information structurée tel que des enregistrements, des ensembles, des parties de tableaux d'une base de données (p. ex., des colonnes, des lignes, ou des entrées), et ainsi de suite. [0032] Les éléments de donnée d'origine peuvent concerner tout type d'information dans un domaine particulier. Par exemple, la donnée d'origine peut appartenir au domaine des 10 simulations de circuit électronique informatisées (telles que les simulations faisant l'objet de décision T 1227/05 par la commission de recours OEB) et contient des informations relatives aux valeurs d'entrée pour les simulations de circuit électronique informatisées, des paramètres d'un modèle utilisé par les simulations de circuit électronique informatisées, des résultats de simulation intermédiaires et/ou finaux, et entre autres. Cette simulation de circuit électronique 15 informatisée relative aux données est conservée dans ladite au moins une base de données 120 et peut être interrogée par un système informatique sur lequel la simulation de circuit électronique informatisé est effectuée, p. ex., via ladite au moins une plateforme de recherche 110, afin de récupérer des valeurs d'entrée ou des paramètres, d'écrire ou d'actualiser les résultats de simulation. 20 [0033] Par ailleurs, dans le système de base de données 100, ladite au moins une plateforme de recherche 110 conserve des résultats de recherche précalculés ou précollectés afin de diminuer les temps de réponse pour répondre aux interrogations de recherche, comparé aux temps nécessaires pour récupérer les données d'origine correspondantes de ladite au moins une base de données 120 et de mettre en oeuvre le calcul afférent pour obtenir les résultats de recherche. 25 À cet égard, les termes « précalculés » et « précollectés » sont utilisés pour couvrir toutes sortes de précalculs et de précollectes tels que des explorateurs d'Internet qui collectent ou copient le contenu de serveurs Web sur Internet, mais aussi des calculs complexes et chronophages de résultats de recherche basés sur des données d'origine sous-jacentes. Dans le domaine des simulations de circuit électronique informatisé, le précalcul peut impliquer la mise en oeuvre de 30 simulations avec un ensemble réduit de paramètres (comparé à tous les paramètres du système dans le monde réel), mais avec des valeurs variables dudit ensemble de paramètres afin d'obtenir des résultats à utiliser comme valeurs d'entrée dans d'autres simulations avec des ensembles supplémentaires d'autres paramètres. 8 [0034] Dans ladite au moins une plateforme de recherche 110, au moins une source de mémoire-cache 115 pour le stockage des résultats de recherche peut être fournie. Les données stockées dans ladite au moins une source de mémoire-cache 115 sont aussi désignées comme données en cache et une pluralité d'éléments de donnée en cache peut être stockées dans ladite 5 au moins une source de mémoire-cache 115. Par exemple, les éléments de donnée en cache stockés dans ladite au moins une source de mémoire-cache 115 peut correspondre à des éléments de donnée d'origine dans ladite au moins une base de données 120 (c.-à-d. la source de données d'origine) et la pluralité des éléments de donnée en cache dans ladite au moins une source de mémoire-cache 115 concernent un sous-ensemble de la pluralité des éléments de 10 donnée d'origine de ladite au moins une base de données 120. [0035] Cependant, comme déjà mentionné ci-dessus, la mise en cache de résultats de recherche précalculés ou précollectés, conservés dans ladite au moins une source de mémoire-cache 115 de ladite au moins une plateforme de recherche 110, deviennent obsolètes dans le temps en raison de changements dans les données d'origine à partir desquels ils ont été précalculés ou 15 précollectés. En raison des changements dans les données d'origine, des différences entre les données en cache correspondantes et les données d'origine surviennent et par conséquent les données en cache deviennent caduques. [0036] Afin de fournir une indication de la vraisemblance de la validité, ou non, des données en cache, les résultats de recherche précalculés ou précollectés conservés dans ladite au moins 20 une source de mémoire-cache 115 par la plateforme de recherche 110 sont associées à des valeurs d'exactitude (également désignées comme facteurs de confiance dans les présentes). Les valeurs d'exactitude peuvent être similaires aux facteurs de confiance tels qu'ils sont décrits dans EP 2 908 255 Al. Par exemple, chaque résultat de recherche précollecté ou précalculé, stocké par la plateforme de recherche 110 à une valeur d'exactitude correspondante. Autrement, 25 une valeur d'exactitude peut être associée à une pluralité de résultats précollectés précalculés. Une valeur d'exactitude indique une probabilité que le ou les résultat(s) associés de recherche précollectés ou précalculés soient valides. C'est-à-dire que la valeur d'exactitude indique une probabilité qu'un élément de donnée en cache stocké dans ladite au moins une source de mémoire-cache 115 coïncide à un élément de donnée d'origine correspondant, c.-à-d. un 30 élément de donnée d'origine à partir duquel l'élément de donnée en cache a été dérivé. La valeur d'exactitude associée aux résultats de recherche précollectés ou précalculés est utilisée afin de décider s'il faut renvoyer les résultats de recherche précollectés ou précalculés de ladite au moins une source de mémoire-cache 115, ou de ladite au moins une base de données 120. 9 [0037] Le modèle probabiliste, à partir duquel les valeurs d'exactitude des résultats de recherche précalculés ou précollectés dans la source de mémoire-cache 115 sont généralement dérivées, modélise les divergences entre les résultats de recherche en cache (précalculés ou précollectés) et les résultats de recherche (c.-à-d. présumés, ou s'ils sont actuellement 5 récupérés) sur la base des données d'origine dans ladite au moins une base de données 120. C'est-à-dire que le modèle probabiliste se rapproche de l'exactitude ou de l'inexactitude d'un quelconque résultat de recherche en cache. À titre d'exemple, le modèle probabiliste modélise la validité probable des résultats de recherche en cache dans le temps. [0038] Des types de modèles probabilistes variés peuvent être utilisés. Par exemple, le modèle 10 probabiliste peut être un modèle conceptuel qui a été généré par un processus de modélisation structurée connue comme modélisation scientifique. La modélisation nécessite l'identification et la sélection des aspects et des événements-de l'environnement réel (ici, p. ex., les aspects et les événements ayant une influence sur la volatilité et l'exactitude diminuant dans le temps des résultats de recherche en cache) et l'abandon d'autres aspects qui peuvent n'avoir aucune 15 pertinence particulière pour le dessein du modèle. Par ailleurs, les aspects identifiés et sélectionnés peuvent être soustraits et formulés/implémentés sous forme traitable telle qu'un programme informatique et/ou des équations mathématiques. Un tel modèle conceptuel peut aussi servir de moyen pour une simulation informatisée qui simule le comportement (c.-à-d., la volatilité/exactitude) des résultats de recherche précalculés ou précollectés dans le temps. 20 Autrement, le modèle probabiliste utilisé peut être un modèle historique-statistique qui est basé sur la surveillance et l'évaluation, p. ex., la volatilité/l'exactitude des résultats de recherche précalculés ou précollectés sur une période donnée dans le passé (p. ex., trois mois) et qui extrapole les tendances déterminées dans le futur. [0039] En plus de modéliser l'exactitude en utilisant le modèle probabiliste, une perte sévère 25 d'exactitude est évitée en étant réactive aux événements. Les décisions de recalcul/recollecte sont affinées à la réception des événements prédéterminés qui peuvent avoir un impact sur l'exactitude des résultats de recherche en cache. Les événements peuvent être asynchrones, c.- à-d. que le point dans le temps de leur occurrence n'est pas prédéterminé - ils peuvent survenir à tout moment, ou être synchrones, c.-à-d. que le point dans le temps de leur occurrence peut 30 être déterminé par avance - ils peuvent survenir de façon régulière. [0040] Dans la FIG.1, au moins un client 130 (habituellement une pluralité de clients) est connecté à ladite au moins une plateforme de recherche 110 via un réseau tel qu'un réseau local (LAN), un réseau métropolitain (MAN), un réseau étendu tel qu'Internet ou un réseau de communication mobile tel que l'évolution à long terme (LTE). La connexion peut être filaire 10 ou sans-fil. Par exemple, les clients 130 peuvent être des ordinateurs personnels ou des dispositifs de communication mobiles tels que des smartphones, des tablettes, un assistant personnel -, entre autres. [0041] Dans ce qui suit, il sera expliqué comment le système de base de données 100 illustré 5 dans la FIG. 1 gère les interrogations de recherche. [0042] La FIG. 2 illustre un flux séquentiel d'un procédé 200 pour gérer des interrogations de recherche dans le système de base de données 100 de la FIG.1. [0043] Au cours de l'opération 210, la pluralité des clients 130 adresse des interrogations de recherche à la plateforme de recherche 110 en incluant un ou plusieurs critères de recherche ou 10 paramètres. Par exemple, si une interrogation de recherche est une recherche sur Internet, l'interrogation de recherche peut comporter une chaîne de recherche, une recherche de texte ou une recherche de phrases comme critères de recherche. Un autre critère de recherche peut être le langage des sites Web devant être explorés ou une indication d'un point dans le temps de la première disponibilité de la chaîne de recherche, du texte de recherche ou de la phrase de 15 recherche demandée. Dans l'exemple ci-dessus, dans le domaine des simulations informatisées, l'interrogation de recherche peut comporter comme critères de recherche, le nom d'un paramètre entré pour lequel une valeur est nécessaire pour la simulation informatisée. [0044] La plateforme de recherche 110 reçoit l'interrogation de recherche, traite chacune des interrogations de recherche reçue de la part des clients 130 et effectue des recherches 20 correspondantes parmi les résultats de recherche précollectés ou précalculés. De façon plus détaillée, au cours de l'opération 220, la plateforme de recherche 110 peut envoyer une demande de recherche, pour mettre en oeuvre une recherche pour chaque interrogation de recherche, à la source de mémoire-cache 115. La demande de recherche inclut au moins une partie d'un ou de plusieurs critères ou paramètres de recherche de l'interrogation de recherche. 25 La source de mémoire-cache 115 effectue la recherche sur la base de la demande de recherche, c.-à-d. une recherche pour des données parmi les données en cache qui correspondent aux critères ou paramètres de recherche de la demande de recherche, au cours de l'opération 225 et envoie les données trouvées en cache comme résultats de recherche précalculés ou précollectés à la plateforme de recherche 110 au cours de l'opération 230. Les résultats de recherche 30 précalculés ou précollectés (c.-à-d. les données en cache) ont des valeurs ou des paramètres qui coïncident (c.-à-d. correspondent) aux critères ou aux paramètres de recherche de la demande de recherche. [0045] Tout résultat de recherche précalculé ou précollecté correspondant dans la source de mémoire-cache 115 est renvoyé par la plateforme de recherche 110 au client 130 à partir duquel 11 l'interrogation de recherche a été reçue comme réponse à l'interrogation de recherche au cours de l'opération 280. Le client 130 reçoit cette réponse et présente les résultats de recherche à l'utilisateur ou, dans le domaine des simulations informatisées, les utilisent comme entrées pour la simulation mise en oeuvre. 5 [0046] Au cas où les résultats de recherche précalculés ou précollectés correspondants ne sont pas trouvés dans la source de mémoire-cache 115, la plateforme de recherche 110 peut rendre les critères ou les paramètres de recherche de l'interrogation de recherche moins restrictifs et mettre en oeuvre une recherche révisée en envoyant des demandes de recherche révisées avec des critères ou des paramètres de recherche moins restrictifs à la source de mémoire-cache 115. 10 La plateforme de recherche 110 peut aussi mettre en oeuvre la recherche révisée en n'appliquant pas tous les critères ou paramètres de recherche donnés. Les détails concernant le choix et la manière de rendre les critères ou les paramètres de recherche des interrogations de recherche moins restrictifs et/ou la détermination des critères ou des paramètres de recherche moins importants dans les interrogations de recherche, peuvent être fixés dans la plateforme de 15 recherche 110 par des règles données ou déterminées en utilisant des techniques d'apprentissage automatique, p. ex., des modèles probabilistes basés sur des critères ou des paramètres de recherche historiques et des résultats de recherche précalculés ou précollectés. [0047] Comme décrit ci-dessus, les résultats de recherche dans la source de mémoire-cache 115 peuvent être associés à des valeurs d'exactitude. Si tel est le cas, à l'opération 240, la plateforme 20 de recherche 110 peut évaluer les valeurs d'exactitude des résultats de recherche précollectés ou précalculés correspondant aux critères ou paramètres de recherche avant de les renvoyer aux clients 130, de la même manière qu'EP 2 908 255 Al. Par exemple, la plateforme de recherche 110 compare les valeurs d' exactitude à un seuil (donné dans l'interrogation de recherche par les clients 130, ou prescrit par la plateforme de recherche 110). Ainsi, la 25 plateforme de recherche 110 détermine la probabilité que les résultats de recherche soient valides, c'est-à-dire, la probabilité que les résultats de recherche envoyés par la source de mémoire-cache 115 coïncident aux données d'origine correspondantes dans la base de données 120 à partir de laquelle ils ont été précollectés ou précalculés. [0048] Si les valeurs d'exactitude sont au-dessus du seuil donné, la plateforme de recherche 110 30 renvoie les résultats de recherche afférents lors de l'opération 280. Autrement, pour les résultats de recherche envoyés par la source de mémoire-cache 115 avec des valeurs d'exactitude qui ne sont pas au-dessus du seuil donné, la plateforme de recherche 110 récupère les données d'origine correspondantes dans les bases de données 120. C'est-à-dire que la plateforme de recherche 110 envoie les demandes de recherche respectives aux bases de données 120 au cours 12 de l'opération 250 et les bases de données 120 recherchent des données d'origine qui correspondent aux critères ou aux paramètres de recherche dans les demandes de recherche, au cours de l'opération 255. Ensuite, au cours de l'opération 260, les bases de données 120 renvoient les données d'origine trouvées. En réponse à la réception des données d'origine en 5 provenance des bases de données 120, la plateforme de recherche 110 renvoie les données d'origine reçues comme résultats de recherche aux clients 130, au cours de l'opération 280. La plateforme de recherche 110 peut aussi actualiser les résultats de recherche récupérés des bases de données 120 dans la source de mémoire-cache 115 en les envoyant au cours de l'opération 270 à la source de mémoire-cache 115 pour une mise à jour. La source de mémoire-10 cache 115 met à jour les données en cache en utilisant les résultats de recherche reçus de la plateforme de recherche 110. [0049] C'est-à-dire, que de façon similaire à EP 2 908 255 Al, les résultats de recherche précalculés, associés aux valeurs d'exactitude indiquant une probabilité que les résultats de recherche associés soient valides, sont conservés dans la mémoire-cache. Cependant, comme 15 pour EP 2 908 255 Al, les valeurs d'exactitude sont de nature statique de sorte qu'un sondage sera effectué chaque fois que les valeurs d'exactitude associées à des résultats de recherche particuliers indiquent leur invalidité. Cela conduit à de grandes quantités de sondages inutiles et donc inefficaces du fait que les résultats de recherche récupérée de la base de données au moyen d'un sondage coïncident toujours avec les résultats de recherche précalculés. C'est-à- 20 dire que les résultats de recherche précalculés sont actuellement toujours valides même si les valeurs d'exactitude associées indiquent leur invalidité. De plus, comme déjà mentionné ci-dessus, le recalcul et la recollecte des résultats de recherche est une tâche qui consomme une quantité non négligeable de ressources de calcul et de ressources de largeur de bande, et l'invention présente parvient à des améliorations d'efficacité en actualisant les données en 25 cache d'une manière synchrone alors que les données d'origine sont récupérées des bases de données120, préférablement uniquement pour les éléments de données en cache qui sont vraisemblablement obsolètes. [0050] Dans les présentes, la récupération de données d'origine de la base de données 120 et leur utilisation pour mettre à jour les données en cache dans la mémoire-cache 115, ou pour 30 répondre aux interrogations de recherche, est aussi désignée comme sondage ou opération de sondage. Le sondage peut être effectué en réponse à la réception d'une interrogation de recherche particulière, c.-à-d. d'une manière synchrone ou indépendamment de toute interrogation de recherche. Dans le dernier cas, au moins une partie, ou l'ensemble, des données en cache stockées dans la mémoire-cache 115 sont mises à jour au cours d'une opération 13 globale, d'une manière asynchrone. La décision de sonder ou de ne pas sonder est désignée comme décision de sondage. Par exemple, l'évaluation de la valeur d'exactitude associée à la donnée en cache par rapport à un seuil donné, comme dans l'opération 240 de la FIG. 2 afin de déterminer si la donnée en cache est vraisemblablement valide, ou non, et donc s'il est 5 nécessaire de récupérer la donnée d'origine de la base de données, est une décision de sondage dans le contexte de l'invention présente. [0051] L'invention présente tient compte de ces questions et fournit un procédé pour adapter le modèle probabiliste afin d'augmenter l'efficacité des décisions de sondage en diminuant le nombre d'éléments de sondage des données d'origine qui ont des données correspondantes 10 valides dans la mémoire-cache 115 comparé à EP 2 908 255 A 1 . De façon plus détaillée, la présente révélation permet d'éviter des sondages inutiles et inefficaces ou au moins de limiter leur nombre en adaptant les valeurs d'exactitude et donc la décision de sondage en les rendant par conséquent dynamiques. Cela permet de limiter le nombre de demandes de recherche ou d'interrogations de recherche devant être effectuées dans les bases de données 120 et résout 15 donc les inconvénients p. ex. d'EP 2 908 255 Al. Les principes généraux de la présente révélation vont maintenant être décrits par référence aux FIGS 3 et 4. [0052] En général, le procédé de traitement des interrogations de recherche tel qu'il est illustré par la FIG. 3 sélectionne un nombre d'interrogations de recherche 310 parmi toutes les interrogations de recherche 320 gérées par un système de base de données tel que le système de 20 base de données 100 illustré dans la FIG. 1. De façon plus détaillée, au moment où une interrogation de recherche est reçue par le système de base de données 100 de la part d'un client 130, il est décidé si l'interrogation de recherche doit être traitée de la façon connue telle qu'elle est révélée ci-dessus par référence à la FIG. 2, ou s'il faut sélectionner l'interrogation de recherche et la gérer comme l'interrogation de recherche sélectionnée 310. Les 25 interrogations de recherche sélectionnées forment des interrogations actuelles qui sont traitées afin d'adapter le modèle probabiliste et sont traitées d'une façon particulière telle que décrite ci-dessous. La décision de sélectionner une interrogation de recherche peut être aléatoire, ou basée sur certains facteurs prescrits tels que, par exemple, des facteurs de recherche spécifiques aux interrogations (p. ex., l'interrogation de recherche inclut des critères ou des paramètres 30 prescrits), ou d'autres facteurs (p. ex., l'interrogation de recherche est reçue à des moments prescrits ou à des intervalles de temps). L'interrogation de recherche sélectionnée 310 est traitée (opération 330) en récupérant les données en cache de la source de mémoire-cache 115 et également en récupérant les données d'origine de la base de données 120, les deux correspondant aux critères ou aux paramètres de recherche de l'interrogation de recherche 14 sélectionnée 310. La donnée d'origine récupérée de la base de données 120 est renvoyée au client 130 et peut aussi être utilisée pour mettre à jour la donnée en cache dans la source de mémoire-cache 115. Les données en cache récupérées et les données d'origine récupérées sont utilisées pour adapter le modèle probabiliste. En particulier, les données en cache récupérées et 5 les données d'origine récupérées sont comparées pour déterminer si la récupération des données d'origine aurait été appropriée ou non. C'est-à-dire, si les résultats de comparaison sont tels que les données en cache récupérées coïncident avec les données d'origine récupérées, la récupération des données d'origine se serait avérée inutile, car les données en cache sont toujours valides ; autrement, elle aurait été pertinente, car les données en cache étaient invalides. 10 Ce résultat indiquant l'efficacité du sondage stocké ensemble avec les données en cache récupérées et les données d'origine récupérées (opération 340) est utilisé pour adapter le modèle probabiliste (opération 350) à partir duquel la valeur d'exactitude associée aux données en cache est dérivée. L'adaptation est faite de préférence en utilisant un algorithme d'apprentissage automatique qui sera décrit de façon plus détaillée ci-dessous. Par conséquent, le modèle 15 probabiliste est amélioré et la décision de faire le sondage (c.-à-d. de récupérer les données d'origine de la base de données et de mettre à jour les données en cache) est nécessaire et donc efficace est adapté, augmentant ainsi la précision du modèle de probabilité. Cela permet de réduire le nombre de sondages en améliorant la décision de sondages, comparé à EP 2 908 255 Al. 20 [0053] Conformément à ces principes, un nombre d'interrogations de recherche parmi toutes les interrogations de recherche gérées par le système de base de données est sélectionné pour être traité différemment des interrogations de recherche qui ne sont pas sélectionnées. Les interrogations de recherche sélectionnées sont gérées de la manière décrite ci-dessus par référence à la FIG. 3, alors que les interrogations de recherche non sélectionnées sont gérées de 25 la manière décrite ci-dessus par référence à la FIG. 2. Ceci a comme conséquence de déterminer si un sondage aurait été approprié et donc efficace pour les données en cache et les données d'origine correspondantes puisqu'il peut être déterminé si les données en cache sont déjà devenues obsolètes ou non. Ceci est accompli en ligne basé sur des interrogations de recherche réelles de sorte qu'un traitement additionnel hors ligne en utilisant, par exemple, des tests 30 d'interrogations de recherche ou des interrogations de recherche historiques, peut être évité tout en augmentant la précision du modèle probabiliste. [0054] Le procédé illustré dans la FIG. 3 peut par ailleurs être amélioré en tenant compte de la valeur d'exactitude associée à la donnée en cache et à la valeur de seuil, tel que décrit ci-dessus. Comme l'illustre la FIG. 4, le procédé comprend par ailleurs un processus de prévision 410 (qui 15 peut être effectué par un pronostiqueur comme il le sera décrit en référence à la FIG. 6 ci-dessous). En réponse à la récupération des données en cache correspondant à l'interrogation de recherche, les valeurs d'exactitude associées aux données en cache sont évaluées par rapport à la valeur de seuil, de façon similaire à l'opération 240 de la FIG. 2. Le résultat du processus de 5 prévision 410 indique, soit que le sondage aurait été effectué (c.-à-d. les données d'origine auraient été récupérées et renvoyées parce que les données en cache sont vraisemblablement obsolètes), ou non (c.-à-d. les données en cache sont vraisemblablement valides et auraient été renvoyées). Ce résultat indiquant un processus de décision de prévision (pronostiqueur) est aussi stocké (opération 420) et pris en compte dans l'adaptation du modèle probabiliste en 10 utilisant l'algorithme d'apprentissage automatique (430). De cette façon, le résultat indiquant l'efficacité du sondage et le résultat indiquant une décision pronostiqueur peuvent être comparés. Par exemple, il peut être déterminé si les données en cache sont réellement devenues obsolètes alors que l'évaluation de la valeur d'exactitude par rapport à la valeur de seuil montre que les données en cache ne sont vraisemblablement pas obsolètes. Ceci améliore par ailleurs 15 le modèle probabiliste et la décision qu'un sondage s'impose, en augmentant ainsi par ailleurs la précision du modèle probabiliste. Cela permet de limiter le nombre de sondages à un minimum [0055] Maintenant, le procédé de traitement des interrogations de recherche, comme aspect de la présente révélation, sera décrit de façon plus détaillée par référence aux FIGS. 5 à 9. 20 [0056] Le procédé est mis en neuve dans le système de base de données 600 comprenant au moins une base de données 120 comme source de données d'origine et au moins une mémoire-cache 115 comme source de données en cache. La source de données d'origine 120 stocke une pluralité d'éléments de donnée d'origine, et la source de mémoire-cache 115 stocke une pluralité d'éléments de donnée en cache. Dans les présentes, on comprendra que les éléments 25 de donnée en cache sont récupérés à partir de la source de données d'origine 120 et sont stockés dans la source de mémoire-cache 115 par une opération de sondage et représentent donc des versions en cache d'éléments de donnée d'origine. Cependant, les données en cache ne sont pas limitées à des versions en cache et peuvent concerner des résultats de précalcul ou de précollecte basés sur les données d'origine. L'opération de sondage doit être comprise comme comprenant 30 le traitement de précalcul ou de précollecte. Les données en cache sont associées à une valeur d'exactitude indiquant une probabilité que la donnée en cache coïncide avec la donnée d'origine. Par exemple, chaque élément de donnée en cache peut être associé à cette valeur d'exactitude qui indique la probabilité que ledit élément de donnée en cache coïncide à l'élément correspondant de donnée d'origine, c.-à-d. l'élément de donnée d'origine dont il a été 16 dérivé. La valeur d'exactitude est dérivée d'un modèle probabiliste établi dans le système de base de données 600. Le système de base de données 600 comprend par ailleurs un modélisateur 610 pour maintenir et adapter le modèle probabiliste ainsi que pour dériver les valeurs d'exactitude du modèle probabiliste. 5 [0057] Au cours de l'opération 510, le système de base de données 600 reçoit une pluralité d'interrogations de recherche (par la suite aussi dénommées brièvement comme interrogations) de la part d'au moins un client 130 connecté au système de base de données 600 et il gère les interrogations de recherche reçues via une plateforme de recherche similaire à la plateforme 110 de la FIG. 1. 10 [0058] Le procédé 500 de la FIG. 5 commence avec l'opération 520 pour sélectionner des interrogations de recherche parmi la pluralité d'interrogations de recherche gérées par le système de base de données 600. Dans les détails, au cours de l'opération 510, le système de base de données 600 décide, au moment où il reçoit une interrogation de recherche particulière de la part dudit au moins un client 130 si l'interrogation de recherche doit être gérée comme 15 une interrogation de recherche sélectionnée, ou non. Ceci est réalisé sur une base aléatoire, mais peut aussi être réalisé sur une base régulière ou selon des règles données dans d'autres modes de réalisation. Par exemple, la base régulière peut inclure de gérer chaque dixième ou centaine interrogation de recherche comme interrogation de recherche sélectionnée. Les règles données peuvent définir des critères ou des paramètres de recherche qui, s'ils sont présents dans une 20 interrogation de recherche, indiquent que l'interrogation de recherche doit être sélectionnée, ou ils peuvent désigner d'autres facteurs devant être sélectionnés, tels que l'heure de réception, le nombre donné d'interrogations de recherche avec des critères ou des paramètres de recherche similaires ou identiques, un nombre donné d'interrogations de recherche reçues de la part du même client 130, ou des modèles statistiques. L'interrogation de recherche est gérée comme 25 une interrogation de recherche sélectionnée si elle est désignée par les règles données. Dans le système de base de données 600, un sélecteur 620 qui reçoit l'interrogation de recherche, une indication que l'interrogation de recherche a été reçue, une copie de l'interrogation de recherche, ou l'équivalent, met en oeuvre l'opération 520 et désigne l'interrogation de recherche comme étant une interrogation de recherche sélectionnée. 30 [0059] En réponse à l'interrogation de recherche ayant été sélectionnée au cours de l'opération 520 (c.-à-d. pour l'interrogation de recherche ayant été sélectionnée de façon aléatoire), un élément de donnée en cache (dénommé premier élément de donnée en cache) correspondant à l'interrogation de recherche est récupéré à partir de la source de mémoire-cache 115 au cours de l'opération 530. Plus spécifiquement, la source de mémoire-cache 115 17 est fournie avec une demande de recherche qui inclut au moins une partie des critères ou des paramètres de recherche inclus dans l'interrogation de recherche. La source de mémoire-cache 115 recherche des données en cache parmi toutes les données en cache qui y sont stockées correspondant à la demande de recherche, particulièrement les critères ou les paramètres de 5 recherche lui étant associés. La donnée en cache correspondant à la demande de recherche est renvoyée, comme étant le premier élément de donnée en cache provenant de la source de mémoire-cache 115. Cette opération 530 est similaire aux opérations 220, 225 et 230 montrées dans la FIG. 2. Si aucune donnée en cache correspondant à la demande de recherche n'est trouvée, le procédé 500 peut poursuivre avec les données en cache indiquant qu'elles n'ont pas 10 de correspondance. [0060] Par ailleurs, au cours de l'opération 540, un élément de donnée d'origine (désigné comme premier élément de donnée d'origine) correspondant à l'interrogation de recherche est récupéré à partir de la source de données d'origine 120. Plus spécifiquement, la source de données d'origine 120 est fournie avec une demande de recherche incluant au moins une partie 15 des critères ou des paramètres de recherche inclus dans l'interrogation de recherche. La demande de recherche envoyée à la source de données d'origine 120 correspond en matière de critères ou de paramètres de recherche inclus à la demande de recherche envoyée à la source de mémoire-cache 115. La source de mémoire-cache 115 recherche des données d'origine correspondant à la demande de recherche, particulièrement aux critères ou paramètres de 20 recherche lui étant associés. La donnée d'origine correspondant à la demande de recherche est renvoyée comme étant le premier élément de donnée d'origine provenant de la source de données d'origine 120. Cette opération 540 est similaire aux opérations 250, 255 et 260 montrées dans la FIG. 2. Dans certains exemples, les opérations 530 et 540 sont effectuées en parallèle. Si aucune donnée d'origine correspondant à l'interrogation de recherche n'est 25 trouvée, le procédé 500 peut poursuivre avec les données d'origine en indiquant qu'elles n'ont pas de correspondance. [0061] Dans certains exemples, si aucune donnée en cache dans la source de mémoire-cache 115 correspondant à l'interrogation de recherche n'est trouvée au cours de l'opération 530, les critères ou paramètres de recherche de l'interrogation de recherche peuvent 30 être rendus moins restrictifs, ainsi que décrit ci-dessus en référence à la FIG. 2, et l'opération 530 est ensuite mise en oeuvre pour l'interrogation de recherche avec des critères ou des paramètres de recherche moins restrictifs. Également, si aucune donnée d'origine dans la source de données d'origine 120 correspondant à l'interrogation de recherche n'est trouvée au cours de l'opération 540, soit une information correspondante indiquant qu'aucune donnée 18 d'origine correspondant à l'interrogation de recherche n'est présente dans la source de données d'origine 120, ou la donnée en cache trouvée au cours de l'opération 530 est renvoyée au client 130 lors de l'opération 570. [0062] Le procédé 500 peut aussi inclure une opération 550 pour mettre à jour le premier 5 élément de donnée en cache dans la source de mémoire-cache 115 en utilisant le premier élément de donnée d'origine récupéré à partir de la source de données d'origine 120. L'opération 550 est similaire à l'opération 270 illustrée dans la FIG. 2. [0063] Au cours de l'opération 560, le modèle probabiliste est ensuite adapté sur la base du premier élément de donnée en cache et du premier élément de donnée d'origine. 10 L'opération 560 peut être mise en oeuvre pour chaque interrogation de recherche de façon aléatoire au cours de l'opération 520. En général, l'opération 560 n'est pas mise en oeuvre individuellement pour chaque interrogation de recherche sélectionnée, mais d'une manière asynchrone pour un nombre collecté d'interrogations de recherche sélectionnées de façon aléatoire au cours de l'opération 520. Par exemple, la mise en oeuvre de façon asynchrone de 15 l'opération 520 signifie la mise en oeuvre de l'opération 520 lorsqu'un nombre donné d'interrogations de recherche ont été sélectionnées et traitées. En particulier, dans le cas de la mise en oeuvre de l'opération 560 de manière asynchrone, le premier élément de donnée en cache et le premier élément de donnée d'origine, lorsqu'ils sont récupérés au cours des opérations 530 et 540, sont stockés dans le système de base de données 600 pour un traitement 20 ultérieur au cours de l'opération 560. L'adaptation du modèle probabiliste au cours de l'opération 560 peut utiliser un algorithme d'apprentissage automatique qui sera décrit ci-dessous. L'opération 560 peut être mise en oeuvre par le modélisateur 610 qui est aussi configuré pour recevoir le premier élément de donnée en cache et l'élément de donnée d'origine pour chaque interrogation de recherche sélectionnée de façon aléatoire. 25 [0064] Finalement ou parallèlement à l'opération 550 ou 560, le premier élément de donnée d'origine récupéré à partir de la source de données d'origine 120 est renvoyé au client 130 comme résultat de recherche au cours de l'opération 570. Ici, au cas où les paramètres ou critères de recherche de l'interrogation de recherche ont été rendus moins restrictifs de la manière décrite ci-dessus, le renvoi du premier élément de donnée d'origine inclut une 30 indication que les paramètres ou critères de recherche de l'interrogation de recherche ont été modifiés pour qu'ils soient moins restrictifs, et de quelle manière. [0065] Dans un exemple, l'opération 560 inclut la comparaison des premiers éléments de donnée en cache et les premiers éléments de donnée d'origine, et détermine une valeur statistique indiquant une probabilité que le premier élément de donnée en cache coïncide avec 19 le premier élément de donnée d'origine. Dans ce cas, c.-à-d., si les deux premiers éléments coïncident, la récupération de l'élément de donnée d'origine à partir de la source de données d'origine 120 n'aurait pas été nécessaire parce que l'élément de donnée en cache était toujours valide. 5 [0066] En réponse à l'adaptation du modèle probabiliste, les valeurs d'exactitude de tous ou du moins certains éléments de donnée en cache dans la source de mémoire-cache 115 peuvent être actualisés. Par exemple, les valeurs d'exactitude des données en cache peuvent être actualisées en les dérivant du modèle probabiliste adapté. [0067] Dans la présente révélation, tout algorithme d'apprentissage automatique pouvant être 10 utilisé en lien avec les modèles probabilistes peut être établi. Par exemple, l'algorithme d'apprentissage automatique, pour une pluralité donnée d'interrogations de recherche sélectionnées converties en un ensemble de caractéristiques structurées, construit un modèle probabiliste pour prédire une cible (p. ex., une valeur de premier indicateur stocké avec les interrogations de recherche). Le terme « caractéristique » est relatif ici à toute information qui 15 peut être déduite à partir des interrogations de recherche. La conversion de la pluralité d'interrogations de recherche sélectionnées peut comprendre les valeurs de calcul de toutes les caractéristiques, en utilisant les critères de recherche et/ou les données de référence (p. ex. les tableaux montrant les valeurs produites par défaut pour le circuit électronique donné, etc.). Par exemple, à partir de tous les critères de recherche de la pluralité d'interrogations de recherche 20 et des données de référence, l'ensemble des caractéristiques devant être utilisées par l'algorithme d'apprentissage automatique peut être sélectionné. L'ensemble de caractéristiques peut donc contenir un mélange de critères de recherche et de caractéristiques nécessitant des calculs, mais une caractéristique peut aussi correspondre à un ou plusieurs critères de recherche (p. ex., tous les paramètres entrés pour un circuit électronique donné qui doit être simulé par 25 des simulations de circuit électronique informatisées, l'horodatage d'une interrogation de recherche, etc.). L'ensemble des caractéristiques est structuré au fur et à mesure que l'algorithme d'apprentissage automatique nécessite une entrée (p. ex., un fichier de données séparées par une virgule), avec un rang par interrogation de recherche et une colonne par caractéristique. L'ordre des colonnes suit un modèle donné afin que le modèle probabiliste soit 30 utilisé correctement une fois déployé. L'algorithme d'apprentissage automatique peut aussi construire de façon itérative un arbre de décision. En commençant avec la pluralité des interrogations de recherche sélectionnées, l'algorithme d'apprentissage automatique teste les caractéristiques et les conditions de ces caractéristiques pour diviser la pluralité en deux ensembles-enfants. Un de ces tests peut être « le paramètre entré pour le circuit électronique 20 donné est-il égal au voltage dont la valeur est 10 » (c.-à-d., de façon générale, vérifier si la caractéristique est égale à une valeur donnée) ou « le paramètre d'entrée pour le circuit électronique donné est-il égal à un voltage dont la valeur est supérieure à 20 » (c.-à-d., de façon générale, vérifier si la caractéristique est supérieure/inférieure à la valeur donnée). De toutes 5 les caractéristiques et conditions testées, l'algorithme d'apprentissage automatique conserve uniquement la caractéristique et la condition qui séparent le plus la pluralité en un premier ensemble-enfant contenant les interrogations de recherche dont la cible est égale à une valeur, et un second ensemble-enfant contenant les interrogations de recherche dont la cible n'est pas égale à ladite valeur. En d'autres termes, l'arbre de décision est construit par l'algorithme 10 d'apprentissage automatique de sorte qu'une caractéristique est prise comme un noeud avec deux voies sortantes, une pour les interrogations de recherche dont la caractéristique est égale à la valeur donnée (le premier ensemble-enfant) et une autre voie pour les interrogations de recherche dont la caractéristique n'est pas égale à la valeur donnée (le second ensemble-enfant) C'est-à-dire, que les interrogations de recherche sont divisées en deux ensembles-enfants sur la 15 base de la caractéristique. L'algorithme d'apprentissage automatique construit progressivement l'arbre de décision en divisant aussi par la suite l'ensemble-enfant en ensembles plus petits avec la même logique de sélection de caractéristique et de condition. L'algorithme d'apprentissage automatique s'arrête une fois que l'arbre de décision atteint une taille ou une complexité donnée fournie dans le paramètre. 20 [0068] Comme décrit ci-dessus, la FIG. 5 illustre des opérations qui sont effectuées pour chaque interrogation de recherche sélectionnée au cours de l'opération 520 parmi la pluralité des interrogations de recherche gérées par le système de données 600. Ci-dessous dans les présentes, les opérations devant être effectuées pour chaque interrogation de recherche qui n'a 25 pas été sélectionnée au cours de l'opération 520 de la FIG.5 sera décrite en référence au procédé 700 illustré dans la FIG. 7. [0069] En réponse à l'interrogation de recherche n'ayant pas été sélectionnée au cours de l'opération 520 (c.-à-d., pour l'interrogation de recherche n'ayant pas été sélectionnée de façon aléatoire), un élément de donnée en cache (désigné comme second élément de donnée en cache) 30 correspondant à l'interrogation de recherche est récupéré de la source de mémoire-cache 115 au cours de l'opération 710, de façon similaire aux opérations 220, 225 et 230 de la FIG. 2. Spécifiquement, la source de mémoire-cache 115 est fournie avec la demande de recherche, comme dans l'opération 220 de la FIG. 2 et une donnée en cache correspondant à l'interrogation de recherche, particulièrement aux critères ou aux paramètres de recherche lui étant associés, 21 est recherchée, comme dans l'opération 225 de la FIG. 2. La donnée en cache correspondant à l'interrogation de recherche est renvoyée, comme second élément de donnée en cache de la source de mémoire-cache 115 au cours de l'opération de 230 de la FIG. 2. [0070] Le second élément de donnée en cache récupéré de la source de mémoire-cache 115 est 5 associé à la valeur d'exactitude, tel que décrit ci-dessus. En réponse à la récupération du second élément de donnée en cache au cours de l'opération 710, la valeur d'exactitude du second élément de donnée en cache est évaluée au cours de l'opération 720 par le pronostiqueur 650 comme illustré dans la FIG. 6. Par exemple, la valeur d'exactitude est comparée à un seuil donné. Cette opération est similaire à l'opération 240 illustrée dans la FIG. 2. 10 [0071] Dans certains exemples, le seuil est prescrit par le client 130. Par exemple, le client 130 inclut le seuil (tel qu'« au moins 85 %» ou «au moins 0,9» ou « élevé » étant vraisemblablement défini comme « au moins 0,9 ») dans l'interrogation de recherche lorsqu'il demande des résultats de recherche du système de base de données 600. Le client 130 peut aussi envoyer des messages dédiés asynchrones indiquant un seuil désiré au système de base de 15 données 600. Le système de base de données 600 stocke ces prescriptions de seuil spécifique au client et les utilise chaque fois qu'une interrogation de recherche est reçue de la part du client respectif 130. Autrement, dans d'autres exemples, le seul est fixé par un tiers tel que l'opérateur du système de base de données 600. Dans ce cas, un seuil unique peut être applicable toutes les interrogations de recherche reçues de tous les clients 130. Les clients 130 peuvent ne pas avoir 20 d'influence sur le seuil utilisé par le système de base de données 600. Autrement, le seuil prédéfini par le tiers peut agir comme une valeur par défaut et les clients 130 peuvent avoir la capacité de contourner cette valeur par défaut avec leur propre prescription qui leur est spécifique. [0072] Si au cours de l'opération 720 il s'avère que la valeur d'exactitude est en dessous du 25 seuil donné, un élément de donnée d'origine (désigné comme second élément de donnée d'origine) correspondant à l'interrogation de recherche est récupéré de la source de données d'origine 120 au cours de l'opération 730. Cette opération 730 est similaire aux opérations 250, 255 et 260 illustrées dans la FIG. 2. Plus spécifiquement, la source de données d'origine 120 est fournie avec la demande de recherche, de façon similaire à l'opération 250 de la FIG. 2 et 30 une donnée d'origine correspondant à l'interrogation de recherche, particulièrement les critères ou les paramètres de recherche y étant associés, y est recherchée de façon similaire à l'opération 255 dans la FIG. 2. La donnée d'origine correspondant à l'interrogation de recherche est renvoyée, comme second élément de donnée d'origine, de la source de données d'origine 120, de façon similaire à l'opération de 260 dans la FIG. 2. 22 [0073] En réponse à la récupération du second élément de donnée d'origine, le second élément de donnée en cache dans la source de mémoire-cache 115 est mis à jour par le second élément de donnée d'origine au cours de l'opération 740. Cette opération 740 est similaire à l'opération 270 illustrée dans la FIG. 2. Par exemple, le second élément de donnée d'origine est 5 stocké dans la source de mémoire-cache 115 de sorte que le second élément de donnée en cache est remplacé, formant ainsi un nouvel élément de donnée en cache dans la source de mémoire- cache 115. Aussi, le second élément de donnée d'origine peut être stocké dans la source de mémoire-cache 115, ce qui rend le second élément de donnée en cache antérieur caduque. La donnée de contrôle relative à la valeur d'exactitude du second élément de donnée en cache 10 actualisé, tel qu'un horodatage d'actualisation, peut également être actualisé. Dans un exemple, un collecteur de déchets peut être mis en oeuvre sur la source de mémoire-cache 115, supprimant toute donnée en cache caduque et libérant l'espace correspondant dans la source de mémoire-cache 115. [0074] Selon que l'évaluation dans l'opération 720 a abouti à une valeur d'exactitude qui est 15 au-dessus du seuil donné ou pas, soit le second élément de donnée en cache, ou le second élément de donnée d'origine, est renvoyé comme résultat de recherche au client 130 au cours de l'opération 750. Cette opération 750 peut aussi être mise en oeuvre parallèlement à l'opération 740. Ici, au cas où les paramètres ou critères de recherche de l'interrogation de recherche ont été rendus moins restrictifs, comme décrit ci-dessus, le renvoi du second élément 20 de donnée d'origine ou du second élément de donnée en cache inclut une indication que les critères ou les paramètres de recherche de l'interrogation de recherche ont été modifiés pour être moins restrictifs et de quelle manière. [0075] Dans un exemple, l'opération 550 du procédé 500 illustrée dans la FIG. 5 peut être effectuée conformément au procédé 800, illustré dans la FIG. 8. 25 [0076] En réponse à la récupération du premier élément de donnée en cache de la source de mémoire-cache 115 et à la récupération du premier élément de donnée d'origine de la source de données d'origine 120, il est possible de déterminer si une mise à jour du premier élément de donnée en cache est pertinente ou non. [0077] Le procédé 800 inclut, dans l'opération 810, la comparaison du premier élément de 30 donnée en cache et du premier élément de donnée d'origine. L'opération de comparaison 810 est effectuée afin de vérifier si le premier élément de donnée en cache récupéré de la source de mémoire-cache 115 coïncide avec le premier élément de donnée d'origine récupéré de la source de données d'origine 120. S'il est déterminé que les premiers éléments de donnée d'origine en cache ne coïncident pas, signifiant que le premier élément de donnée en cache est déjà devenu 23 obsolète, le premier élément de donnée en cache est mis à jour par le premier élément de donnée d'origine au cours de l'opération 550. Cette opération 550 est similaire à l'opération 270 illustrée dans la FIG. 2. Indépendamment du résultat de l'opération 810, le premier élément de donnée d'origine est renvoyé au client 130 de la part duquel l'interrogation de recherche a été 5 reçue, comme résultat de recherche. [0078] Dans un exemple, dans le sélecteur 620 ou dans le système de base de données 600, un nombre d'interrogations de recherche devant être sélectionnées parmi toutes les interrogations de recherche gérées par le système base de données 600, peut être établi. Ceci augmente la signification probabiliste, car le nombre d'interrogations de recherche sélectionnées est pris en 10 compte dans l'adaptation du modèle de probabilité. Ce nombre d'interrogations de recherche sélectionnées peut être spécifique au système, prédéfini, ou déterminé sur la base d'un facteur dérivé du modèle probabiliste. Le nombre d'interrogations de recherche sélectionnées peut être applicable pour une durée donnée telle que, par exemple, une heure ou un jour. Par conséquent, l'opération 520 illustrée dans la FIG. 5 peut être adaptée de sorte à permettre la sélection 15 d'interrogations de recherche parmi les interrogations de recherche gérées par le système de base de données 600 dans un nombre qui correspond au nombre des interrogations de recherche sélectionnées. Le sélecteur 620 effectue l'opération 520 uniquement au cas où le nombre d'interrogations de recherche sélectionnées précédemment n'est pas égal au nombre d'interrogations de recherche sélectionnées établi, autrement les interrogations de recherche 20 sont gérées conformément au procédé 700 illustré dans la FIG. 7. Dans le cas de la sélection d'une interrogation de recherche, le sélecteur 420 incrémente le nombre d'interrogations de recherche sélectionnées précédemment. Le sélecteur 420 peut redéfinir le nombre d'interrogations de recherche sélectionnées précédemment après une durée donnée à laquelle le nombre d'interrogations de recherche sélectionnées s'applique. 25 [0079] Dans un autre exemple, le système de base de données 600 inclut une base de données historique ou d'enregistrements 630. La base de données historique ou d'enregistrements 630 peut être réalisée avec toutes sortes de bases de données, préférablement une base de données distribuée et elle peut être séparée de la source de données d'origine 120, ou être combinée avec celle-ci. Dans la base de données historique ou d'enregistrement 630, les informations relatives 30 aux interrogations de recherche, les données d'origine et en cache récupérées en réponse aux interrogations de recherche sont stockées et conservées pour un traitement ultérieur. Dans le procédé 500 illustré dans la FIG. 5, p. ex. à la suite de l'opération 540 pour la récupération du premier élément de donnée d'origine de la source de données d'origine 120, les informations relatives à l'interrogation de recherche reçue de la part du client 130, le premier élément de 24 donnée en cache récupéré de la source de mémoire-cache 115 et le premier élément de donnée d'origine récupéré de la source de données d'origine 120 au cours de l'opération 540 sont envoyées à la base de données historique ou d'enregistrements 630. Par exemple, les informations relatives à l'interrogation de recherche peuvent inclure un ou plusieurs éléments 5 suivants : les critères ou les paramètres de l'interrogation de recherche, l'horodatage de réception de l'interrogation de recherche dans le système de base de données 600, les informations relatives aux clients 130 de la part duquel l'interrogation de recherche a été reçue et les informations concernant les temps de réponse pour récupérer les premiers éléments de donnée d'origine/en cache. Également, le premier élément de donnée en cache peut être envoyé 10 à la base de donnée historique ou d'enregistrement 630, ensemble avec la valeur d'exactitude qui lui est associée. La base de données historique ou d'enregistrements 630 reçoit les informations et les stocke d'une manière structurée, par exemple, comme un n-tuple (p. ex. 3 - tuple ou triple). La base de données historique ou d'enregistrements 630 conserve et fournit les informations au modélisateur 610 qu'il utilise pour adapter le modèle probabiliste au cours 15 de l'opération 560. L'information peut être conservée dans la base de données historique ou d'enregistrements 630 pour une durée donnée, ou être supprimée après l'utilisation pour l'adaptation du modèle probabiliste au cours de l'opération 560. [0080] Dans un autre exemple, le système de base de données 600 inclut un actualisateur de seuil 640. L'actualisateur de seuil 640 est responsable de la mise à jour du seuil donné, s'il est 20 utilisé par le système de base de données 600. L'adaptation ou la variation du seuil donné permet au système de base de données 600 de contrôler la charge de sorte que seuls un nombre, ou une partie, des interrogations de recherche gérées par le système de base de données 600 soit traité en utilisant la source de données d'origine 120, évitant ainsi une surcharge à la source de données d'origine 120. Aussi, l'actualisateur de seuil 640 peut fournir et actualiser une règle 25 pour l'adaptation du seuil prescrit par les clients 130. L'actualisateur de seuil 640 effectue des opérations préférablement d'une manière asynchrone avec les opérations illustrées dans la FIG. 5 ainsi que les opérations du modélisateur 610 et de la base de données historique 630. L'actualisateur de seuil 640 actualise le seuil donné sur une base régulière, s'il est déclenché par un tiers, ou si le nombre d'interrogations de recherche gérées comme interrogations de 30 recherche sélectionnées dépasse une valeur donnée. [0081] Le fonctionnement de l'actualisateur de seuil 640 va maintenant être décrit en référence à la FIG. 9 qui illustre un procédé 900 pour actualiser le seuil donné. De préférence, le procédé 900 d'actualisation du seuil donné fait partie du procédé 500 d'adaptation du modèle probabiliste comme illustré dans la FIG. 5. 25 [0082] Le procédé 900 de la FIG. 9 commence avec la comparaison du premier élément de donnée d'origine avec le premier élément de donnée en cache à l'opération 910. Le premier élément de donnée d'origine et le premier élément de donnée en cache qui doivent être comparés, peuvent être récupérés par l'actualisateur de seuil 640 dans la base de données 5 historique ou d'enregistrements 630. Aussi, les premiers éléments de donnée en cache/d'origine devant être comparés, peuvent être envoyés à l'actualisateur de seuil 640 en réponse à leur récupération de la source de mémoire-cache 115 et de la source de données d'origine 120. [0083] Au cours de l'opération 920, une première valeur d'indicateur est stockée par l'actualisateur de seuil 640. La première valeur d'indicateur est fournie par l'actualisateur de 10 seuil 640 pour les premiers éléments de donnée en cache/d'origine comparés et indique le résultat de la comparaison. C'est-à-dire que la première valeur d'indicateur indique si les premiers éléments de donnée en cache/d'origine coïncident les uns avec les autres, ou non. Par exemple, la première valeur d'indicateur est représentée par une valeur d'un bit, où la valeur « 1 » représente que les premiers éléments coïncident les uns avec les autres, alors que 15 la valeur « 0 » représente que les premiers éléments ne coïncident pas. La première valeur d'indicateur peut être conservée dans l'actualisateur 640 en association aux premiers éléments de donnée en cache/d'origine ou peuvent être envoyés à la base de données historique ou de la base de données d'enregistrements 630 pour un stockage comme valeur dans le n-tuple des premiers éléments correspondants de donnée en cache/d'origine. 20 [0084] Par la suite, au cours de l'opération 930, la valeur d'exactitude associée au premier élément de donnée en cache, récupéré de la base de données historique ou d'enregistrements 630, est comparée au seuil donné, c.-à-d. avec le seuil donné actuellement établi dans le système de base de données 600 ou en vue de l'interrogation de recherche correspondante. 25 [0085] Au cours de l'opération 940, une seconde valeur d'indicateur est conservée par l'actualisateur de seuil 640. La seconde valeur d'indicateur est fournie par l'actualisateur de seuil 640 pour le premier élément de donnée en cache, dont la valeur d'exactitude a été utilisée dans la comparaison de l'opération 930 et indique le résultat de la comparaison. C'est-à-dire que la seconde valeur d'indicateur indique si la valeur d'exactitude est en dessous du seuil 30 donné ou non. Par exemple, la seconde valeur d'exactitude est représentée par une valeur d'un bit, où la valeur « 1 » représente que la valeur d'exactitude est en dessous du seuil donné, alors que la valeur « 0 » représente que la valeur d'exactitude n'est pas en dessous du seuil donné. La seconde valeur d'indicateur peut être conservée dans l'actualisateur de seuil 640 en association au premier élément de donnée en cache ou peut être envoyée à la base de données 26 historique ou d'enregistrements 630 pour une conservation comme valeur dans le n-tuple du premier élément correspondant de donnée en cache. [0086] Sur la base de la première et de la seconde valeur d'indicateur, soit conservées dans l'actualisateur de seuil 640, ou récupérées dans la base de données historique ou 5 d'enregistrements 630, le seuil donné est actualisé au cours de l'opération 940. [0087] Le seuil donné, tel qu'il est actualisé par le procédé 900, est établi dans le système de base de données 600 et est utilisé pour des interrogations de recherche subséquentes. [0088] Dans un exemple préféré, le procédé 900 de la FIG. 9 est mis en oeuvre par l'actualisateur de seuil 640 pour chacun de la pluralité des premiers éléments de donnée en 10 cache/d'origine stockés dans la base de données historique ou d'enregistrements 630 sous la forme d'un traitement global. [0089] Dans un exemple, l'opération 940 du procédé 900 inclut l'opération 942 de détermination d'une fréquence de sondage et de l'efficacité des sondages sur la base de paires de premières valeurs et de secondes valeurs d'indicateur et au cours de l'opération 944 15 d'actualisation du seuil donné sur la base de la fréquence de sondage et de l'efficacité des sondages. Ici, une pluralité de premières et de secondes valeurs d'indicateurs sont prises en compte et potentiellement récupérées de la base de données historique ou d'enregistrements 630 avant opération 942. La fréquence de sondage indique la fréquence à laquelle l'opération de sondage est mise en oeuvre. C'est-à-dire, que la fréquence de sondage 20 est la fréquence entre le nombre total d'opérations de sondage actuellement réalisées et le nombre total d'opérations de sondage potentielles (c.-à-d. si l'opération de sondage est effectuée pour chaque interrogation de recherche). Par exemple, la fréquence de sondage est un ratio entre un nombre de secondes valeurs d'indicateur indiquant que la valeur d'exactitude est en dessous du seuil donné, c.-à-d. indiquant que le premier élément de donnée en cache est 25 devenu obsolète et est présumé ne pas coïncider avec le premier élément correspondant de donnée d'origine, et un nombre total de secondes valeurs d'indicateur. La fréquence de sondage indique dans quelle mesure les opérations de sondage ont été efficaces. C'est-à-dire que l'efficacité des sondages est un ratio entre le nombre d'opérations de sondage réalisées alors que la valeur d'exactitude était en dessous du seuil donné et que les données en cache sont déjà 30 devenues obsolètes, et le nombre total d'opérations de sondage actuellement réalisées. Par exemple, l'efficacité des sondages est un ratio entre un nombre de secondes valeurs d'indicateur indiquant que la valeur d'exactitude est en dessous du seuil donné, dans lequel le premier élément de donnée en cache est déjà devenu obsolète, et un nombre total de secondes valeurs d'indicateur indiquant que la valeur d'exactitude est au-dessous du seuil donné. 27 [0090] Dans l'exemple ci-dessus, la fréquence de sondage peut être déterminée sur la base de l'équation suivante (1) : Fréquence de sondage = (TP + FP) 5 (TP + FP + TN + FN) (1) [0091] L'efficacité des sondages peut être déterminée dans l'exemple ci-dessus sur la base de l'équation suivante (2) : Sondage d'efficacité = TP 10 (TP + FP) (2) [0092] Dans les équations (1) et (2) : - TP est le nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément des donnée d'origine ne coïncide pas avec l'élément de donnée en cache et la 15 seconde valeur d'indicateur indique que la valeur d'exactitude est en dessous du seuil donné ; - TN est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine coïncide avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude n'est pas en dessous du seuil 20 donné ; - FP est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine coïncide avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude est en dessous du seuil donné, et - FN est un nombre desdites paires dans lequel la première valeur d'indicateur indique que 25 l'élément de donnée d'origine ne coïncide pas avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude n'est pas en dessous du seuil donné. [0093] Aussi, dans l'exemple ci-dessus, si la fréquence de sondage calculée sur la pluralité des paires est au-dessus d'une valeur désirée (p. ex. une limite du matériel associé à la source de 30 données d'origine 120), le seuil donné peut être augmenté. Autrement, si la fréquence de sondage est plus basse que la valeur désirée, le seuil donné peut être diminué. De façon itérative sur un lot ou plusieurs lots de la pluralité des paires, le seuil donné converge vers une valeur permettant d'atteindre la valeur désirée de la fréquence de sondage. 28 [0094] Enfin, la FIG. 10 est une représentation schématique d'un système informatique qui apporte la fonctionnalité du système de base de données 600 de la FIG. 6. À l'intérieur du système de base de données 600 un ensemble d'instructions pour amener le système informatique à mettre en oeuvre l'une quelconque des méthodologies décrites dans les présentes 5 peut être exécuté. Le système informatique 600 inclut au moins un processeur 1020, une mémoire principale 1040 et un dispositif d'interface de réseau 1080 qui communiquent les uns avec les autres via un bus 1010. En option, il peut par ailleurs inclure une mémoire statique 1060 et une unité de lecteur de disque 1070. Un écran vidéo, un dispositif de saisie alphanumérique et un dispositif de contrôle de pointeur peuvent être fournis comme exemples 10 d'interface d'utilisateur 1030. Le dispositif d'interface de réseau 1080 connecte le système informatique 600 au moins aux clients 130, à une ou plusieurs bases de données agissant comme source de données d'origine 120 et à la base de données historique ou d'enregistrements 630 s'ils sont fournis extérieurement au système de base de données 600, à d'autres dispositifs informatiques s'ils sont fournis extérieurement au système de base de 15 données 600, agissant comme modélisateur 610, sélecteur 620 et actualisateur de seuil 640, à l'Intemet et/ou à tout autre réseau. Aussi, ladite une ou plusieurs bases de données, agissant comme source de données d'origine 120 et comme base de données historique ou d'enregistrements 630, peuvent être fournies comme bases de données 1042 à l'intérieur de la mémoire principale 1040. Un ensemble d'instructions (c.-à-d. un code de programme 20 informatique) 1044 réalisant une ou toutes les méthodologies, décrites ci-dessus, est hébergé complètement, ou au moins partiellement, dans ou sur un support lisible par ordinateur, p. ex. la mémoire principale 1040 et/ou ledit au moins un processeur 1020. Un support lisible par ordinateur sur lequel le code 1044 est hébergé peut aussi être un support de données non volatile (p. ex. un disque dur magnétique non amovible ou un disque optique ou magnétique amovible) 25 qui fait partie de l'unité de lecteur de disque 1070. Le code 1044 peut par ailleurs être transmis ou reçu sous forme de signal propagé via Internet par l'intermédiaire du dispositif d'interface de réseau 1080. L'opération basique du système de base de données 600 incluant l'interface d'utilisateur et la communication en réseau est contrôlée par le système d'exploitation 1046. [0095] En général les routines exécutées pour mettre en oeuvre les modes de réalisation de 30 l'invention, qu'elles soient implémentées dans le cadre d'un système d'exploitation ou d'une application spécifique, d'un composant, d'un programme, d'un objet, d'un module ou d'une séquence d'instructions, ou même un sous-ensemble de ceux-là, peuvent être désignées dans les présentes comme « code de programme informatique » ou simplement « code de programme ». Un code de programme comporte typiquement des instructions lisibles par 29 ordinateur qui résident à divers moments dans divers dispositifs de mémoire et de stockage dans un ordinateur et qui, lorsqu'elles sont lues et exécutées par un ou plusieurs processeurs dans un ordinateur, amènent l'ordinateur à effectuer des d'opérations nécessaires à l'exécution d'opérations et/ou d'éléments propres à la mise en oeuvre des aspects variés des modes de 5 réalisation de l'invention. Les instructions d'un programme, lisibles par ordinateur, pour effectuer les opérations des modes de réalisation de l'invention peuvent être, par exemple, le langage d'assemblage, ou encore un code source ou un code objet écrit en combinaison avec un ou plusieurs langages de programmation. [0096] Divers codes de programme décrits dans les présentes peuvent être identifiés, selon 10 l'application dans laquelle ils sont implémentés, dans des modes de réalisation spécifiques de l'invention. Cependant, on notera qu'une quelconque nomenclature d'un programme particulier qui suit est utilisée uniquement par commodité et 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 15 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 fonctionnalités d'un programme parmi diverses couches de logiciels qui sont hébergés 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.], 20 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. [0097] Le code de programme mis en oeuvre dans une/un quelconque des applications/modules décrit (e) s dans les présentes peut être distribué individuellement ou collectivement comme un 25 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, disposant d'instructions de programme lisibles par ordinateur en lui-même, amenant un processeur à mettre en oeuvre des aspects des modes de réalisation de l'invention. [0098] Les supports de stockage lisibles par ordinateur, étant intrinsèquement non transitoires, 30 peuvent inclure des supports tangibles, volatiles et non volatiles et amovibles et non amovibles, implémentés dans un quelconque procédé, ou technologie, pour le stockage d'informations, telles que les instructions de programme lisibles par ordinateur, des structures de donnée, des modules de programme, ou autres données. Les supports de stockage lisibles par ordinateur peuvent aussi comprendre une mémoire à accès aléatoire (RAM), une mémoire à lecture seule 30 (ROM), une mémoire à lecture exclusivement, programmable et effaçable (EPROM), une mémoire à lecture exclusivement, programmable et effaçable électriquement (EEPROM), une mémoire flash, ou toute technologie de support solide de mémoire, CD-ROM (disque compact portable doté d'une mémoire à lecture seule), ou tout autre stockage optique, des cassettes 5 magnétiques, une bande d'enregistrement magnétique, un disque de stockage magnétique ou d'autres dispositifs de stockage magnétique, ou tout autre support pouvant être utilisé pour stocker l'information désirée et apte à être lu par un ordinateur. Un support de stockage lisible par ordinateur ne peut être interprété comme « signaux transitoires » en soi (par exemple, des ondes radio ou toutes autres ondes électromagnétiques se propageant, des ondes 10 électromagnétiques se propageant à travers un support de transmission telle qu'un guide d'ondes, ou des signaux électriques transmis par câble). Les instructions de programme lisibles par ordinateur peuvent être téléchargées sur un ordinateur, un autre type d'appareil de traitement de données programmable ou sur tout autre dispositif de support de stockage lisible par ordinateur, ou vers un ordinateur externe ou vers un dispositif de stockage externe par un 15 réseau. [0099] 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 20 un article de fabrication incluant les instructions qui mettent en oeuvre 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, un ordinateur dédié ou un autre appareil programmable de traitement de données pour produire une machine, de sorte que les 25 instructions, qui sont exécutées à l'aide du ou des processeurs, accomplissent une série de calculs pour mettre en oeuvre les fonctions, actions, et/ou les opérations spécifiées dans les organigrammes, diagrammes séquentiels et/ou diagrammes blocs. [00100] 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 30 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. 31 [00101] 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 « comprend », et/ou « comprenant » lorsqu'ils sont utilisés dans cette spécification, précisent la présence de caractéristiques 5 énoncées, 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, nombres entiers, étapes, éléments, composants et/ou groupes en cela. De plus, dans la mesure où les termes « inclut », « ayant », « a », « avec » ou leurs variantes, sont utilisées dans la description détaillée des revendications, ces termes sont censés être inclusifs de façon similaire au terme 10 « comprenant». [00102] Bien que l'invention ait été illustrée par une description de divers modes de réalisation et bien que ces modes de réalisation aient é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 15 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 au procédé, 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 l'esprit REVENDICATIONS1. Un procédé de traitement des interrogations dans un système de base de données, le système de base de données comprenant une source de données d'origine stockant une pluralité d'éléments de donnée d'origine et une source de mémoire-cache stockant une pluralité d'éléments de donnée en cache, chaque élément de donnée en cache étant associé à une valeur d'exactitude, le procédé comprenant : la sélection aléatoire d'interrogations parmi une pluralité d'interrogations gérées par le système de base de données, au moment où l'interrogation respective est reçue de la part d'un 10 client. pour chacune des interrogations sélectionnées de façon aléatoire, la récupération, de la source de mémoire-cache, d'un premier élément de donnée en cache correspondant à l'interrogation sélectionnée de façon aléatoire, et la récupération d'un premier élément de donnée d'origine correspondant à 15 l'interrogation sélectionnée de façon aléatoire à partir de la source de données d'origine ; pour les interrogations qui ne sont pas sélectionnées de façon aléatoire, la récupération, d'un second élément de donnée en cache correspondant à l'interrogation à partir de la source de mémoire-cache ; l'évaluation de la valeur d'exactitude du second élément de donnée en cache ; 20 Si la valeur d'exactitude est en dessous d'un seuil donné, la récupération d'un second élément de donnée d'origine correspondant à l'interrogation à partir de la source de données d'origine, et l'actualisation du second élément de donnée en cache par le second élément des données d'origine ; et 25 l'adaptation d'un modèle probabiliste basée sur le premier élément de donnée en cache et le premier élément de donnée d'origine en utilisant un algorithme d'apprentissage automatique, dans lequel la valeur d'exactitude est dérivée du modèle probabiliste et indique une probabilité qu'un élément de donnée en cache coïncide avec un élément correspondant de 30 donnée d'origine. 2. La méthode de la revendication 1 comprenant par ailleurs : pour les interrogations sélectionnées de façon aléatoire, 33 la comparaison du premier élément des données en cache et du premier élément des données d'origine ; la mise à jour du premier élément de donnée en cache par le premier élément de donnée d'origine et le renvoi du premier élément de donnée d'origine au client. 5 3. Le procédé des revendications 1 ou 2, comprenant par ailleurs : pour les interrogations qui ne sont pas sélectionnées de façon aléatoire, si la valeur d'exactitude est en dessous du seuil donné, le renvoi du second élément de donnée d'origine comme résultat au client ; et autrement, le renvoi du second élément de donnée en cache comme résultat au client. 4. Le procédé de l'une quelconque des revendications 1 à 3, comprenant par ailleurs : pour chacune des interrogations sélectionnées de façon aléatoire, l'envoi d'informations concernant l'interrogation, le premier élément de donnée en cache et le premier élément de donnée d'origine vers une base de données historique du système de base de données. 5. Le procédé de l'une quelconque des revendications 1 à 4, comprenant par ailleurs : la comparaison du premier élément de donnée d'origine avec le premier élément de donnée en cache ; le stockage de la valeur d'un premier indicateur indiquant si le premier élément de donnée d'origine coïncide avec le premier élément de donnée en cache ; la comparaison de la valeur d'exactitude du premier élément de donnée en cache avec le seuil donné ; le stockage d'une seconde valeur d'indicateur indiquant si la valeur d'exactitude est en dessous du seuil donné ; et l'actualisation du seuil donné sur la base de paires de premières et de secondes valeurs d' indicateur. 6. Le procédé de la revendication 5, dans lequel l'actualisation du seuil donné comprend : la détermination d'une fréquence de sondage et d'une efficacité des sondages sur la base des paires de premières et secondes valeurs d'indicateur ; et 34 l'actualisation du seuil donné sur la base de la fréquence de sondage et de l'efficacité des sondages. 7. Le procédé de la revendication 6 dans lequel 5 la fréquence de sondage est déterminée sur la base de l'équation : (TP+FP)/(TP+FP+TN+FN), et l'efficacité des sondages est déterminée sur la base de l'équation : TP/(TP+FP), où TP est un nombre desdites paires dans lequel la première valeur d'indicateur 10 indique que l'élément de donnée d'origine ne coïncide pas avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude est en dessous du seuil donné, TN est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine coïncide avec l'élément de donnée en cache et la 15 seconde valeur d'indicateur indique que la valeur d'exactitude n'est pas en dessous du seuil donné, FP est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine coïncide avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude est en dessous du seuil donné, et 20 FN est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine ne coïncide pas avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude n'est pas en dessous du seuil donné. 25 8. Un système de base de données pour le traitement d'interrogations, comprenant une source de données d'origine stockant une pluralité d'éléments de donnée d'origine et une source de mémoire cache stockant une pluralité d'éléments de donnée en cache, chaque élément de donnée en cache étant associé à une valeur d'exactitude, le système de base de données configuré pour : 30 sélectionner de façon aléatoire des interrogations parmi une pluralité d'interrogations gérées par le système de base de données au moment où l'interrogation respective est reçue de la part d'un client ; pour chacune des interrogations sélectionnées de façon aléatoire, récupérer un premier élément de donnée en cache correspondant à l'interrogation sélectionnée de façon aléatoire à partir de la source de mémoire cache, et récupérer un premier élément de donnée d'origine correspondant à l'interrogation sélectionnée de façon aléatoire à partir de la source de données d'origine. 5 pour les interrogations qui ne sont pas sélectionnées de façon aléatoire, récupérer un second élément de donnée en cache correspondant à l'interrogation à partir de la source de mémoire cache. évaluer la valeur d'exactitude du second élément de donnée en cache ; si la valeur d'exactitude est en dessous d'un seuil donné, 10 récupérer un second élément de donnée d'origine correspondant à l'interrogation à partir de la source de données d'origine, et mettre à jour le second élément de donnée en cache avec le second élément de donnée d'origine ; et adapter un modèle probabiliste basé sur le premier élément de donnée en cache et le 15 premier élément de donnée d'origine en utilisant un algorithme d'apprentissage automatique, dans lequel la valeur d'exactitude est dérivée du modèle probabiliste et indique une probabilité qu'un élément de donnée en cache coïncide avec un élément correspondant de données d'origine. 20 9. Le système de base de données de la revendication 8, dans lequel le système de base de données est par ailleurs configuré pour : pour les interrogations sélectionnées de façon aléatoire, comparer le premier élément de donnée en cache et le premier élément de donnée d'origine ; 25 mettre à jour le premier élément de donnée en cache avec le premier élément de donnée d'origine et renvoyer le premier élément de donnée d'origine au client. 10. Le système de base de données de la revendication 8 ou 9, dans lequel le système de base de données est par ailleurs configuré pour : 30 pour les interrogations qui ne sont pas sélectionnées de façon aléatoire, si la valeur d'exactitude est en dessous du seuil donné, renvoyer le second élément de donnée d'origine comme résultat au client ; et autrement, renvoyer le second élément de donnée en cache comme résultat au client. 36 11. Le système de base de données de l'une quelconque des revendications 8 à 10, dans lequel le système de base de données est par ailleurs configuré pour : pour chacune des interrogations sélectionnées de façon aléatoire, 5 envoyer l'information concernant l'interrogation, le premier élément de donnée en cache et le premier élément de donnée d'origine vers une base de données historique du système de base de données. 12. Le système de base de données de l'une quelconque des revendications 8 à 11, dans 10 lequel le système de base de données est par ailleurs configuré pour : comparer le premier élément de donnée d'origine avec le premier élément de donnée en cache ; conserver une première valeur d'indicateur indiquant si le premier élément de donnée d'origine coïncide avec le premier élément de donnée en cache ; 15 comparer la valeur d'exactitude du premier élément de donnée en cache avec le seuil donné ; conserver une seconde valeur d'indicateur indiquant si la valeur exactitude est en dessous du seuil donné ; et actualiser le seuil donné basé sur des paires de premières et secondes valeurs 20 d'indicateur. 13. Le système de base de données de la revendication 12, dans lequel le système de base de données est configuré pour actualiser le seuil donné par : la détermination d'une fréquence de sondage et d'une efficacité des sondages sur la base 25 des paires de premières et secondes valeurs d'indicateur ; et l'actualisation du seuil donné sur la base de la fréquence de sondage et de l'efficacité des sondages. 14. Le système de base de donnée de la revendication 13, dans lequel le système de base de 30 données est configuré de sorte que : la fréquence de sondage est déterminée sur la base d'une équation : (TP+FP)/(TP+FP+TN+FN), et l'efficacité des sondages est déterminée sur la base d'une équation : TP/(TP+FP), où 37 TP est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine ne coïncide pas avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude est en dessous du seuil donné, 5 TN est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine coïncide avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude n'est pas en dessous du seuil donné, FP est un nombre desdites paires dans lequel la première valeur d'indicateur 10 indique que l'élément de donnée d'origine coïncide avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude est en dessous du seuil donné, et FN est un nombre desdites paires dans lequel la première valeur d'indicateur indique que l'élément de donnée d'origine ne coïncide pas avec l'élément de donnée en cache et la seconde valeur d'indicateur indique que la valeur d'exactitude n'est pas en dessous du 15 seuil donné. 15. Un produit-programme d'ordinateur comprenant des instructions qui, lorsqu'elles sont exécutées par un ordinateur, amènent l'ordinateur à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 7. 20