Brevet FR2855288A1 — publié le 20041126

I La présente invention se rapporte au traitement de messages échangés entre un dispositif client et un dispositif serveur, via un dispositif intermédiaire équipé d'un cache. Elle trouve une application générale dans le traitement de 5 messages échangés dans un réseau de communication, et plus particulièrement les messages représentés en langage de balisage, par exemple selon le protocole SOAP (selon l'acronyme anglo-saxon "Simple Object Access Protocol"). On sait que pour réduire le trafic sur un réseau de communication, 10 par exemple Internet, on dispose des dispositifs intermédiaires formant caches sur le réseau de communication entre les dispositifs clients et les dispositifs serveurs. Un dispositif intermédiaire formant cache agit de manière invisible en stockant les requêtes des dispositifs clients et les réponses des dispositifs 15 serveurs. Ainsi, lorsqu'un dispositif client effectue une requête pour laquelle le dispositif intermédiaire formant cache a déjà mémorisé la réponse associée, le dispositif intermédiaire formant cache peut directement répondre au dispositif client sans que la requête ne soit transmise au dispositif serveur. Cette stratégie permet d'accélérer doublement le temps de réponse pour un dispositif client, d'une part parce que le dispositif intermédiaire formant cache est généralement situé plus près de lui (en terme de distance réseau), et d'autre part parce que sa requête n'a pas à être traitée par un dispositif serveur potentiellement chargé (la machine gérant le dispositif intermédiaire formant 25 cache peut être plus facilement dimensionnée pour satisfaire la demande qu'un dispositif serveur quelconque). En pratique, certaines réponses ne sont valables que durant une période donnée. Par exemple, une cotation boursière sera valable quelques minutes, une carte météo quelques heures, la première page d'une revue 30 mensuelle sera valable un mois et un article de fond sera valable indéfiniment. Dans de tels exemples, un dispositif intermédiaire formant cache ne doit pas conserver une réponse qui ne soit plus valable, car il fournirait alors une réponse non valide au dispositif client et différente de celle que le dispositif client aurait obtenue du dispositif serveur. Récemment, des contenus de plus en plus dynamiques sont apparus dans les sites Internet. Par exemple, des contenus dynamiques sont constitués par les réponses des services Internet, en particulier par les messages à balises, tels que les messages SOAP. De tels messages à balises comprennent des blocs d'informations répartis entre un premier groupe de blocs formant en-tête du message et un second groupe de blocs correspondant au corps du message. Le plus souvent, un contenu dynamique a une durée de vie très courte ou indéterminée et ne peut pas être mémorisé par un dispositif intermédiaire formant cache. L'architecture des dispositifs intermédiaires formant caches ne peut donc plus s'appliquer aux sites fournissant des contenus dynamiques, ce qui a 15 un effet négatif sur la réactivité du site pour un utilisateur. On connaît déjà des solutions techniques mises au point pour gérer de tels contenus dynamiques. Par exemple, le document US-A-6408360 décrit un mécanisme de cache pour un dispositif serveur dynamique. Ce mécanisme de cache est conçu 20 pour être intégré à un dispositif serveur fournissant du contenu dynamique. Quand le dispositif serveur reçoit une requête pour une page contenant un contenu dynamique, le dispositif serveur appelle l'application adéquate pour générer ce contenu. Outre le contenu, I'application appelée génère une information indiquant la durée de validité de ce contenu. Ainsi, le dispositif 25 serveur peut mémoriser la réponse de l'application et répondre à d'autres requêtes similaires en utilisant le contenu mémorisé, sans avoir à faire de nouveau appel à l'application, et ce jusqu'à expiration de la durée de validité du contenu. Un tel mécanisme de cache permet d'améliorer le temps de 30 réponse du dispositif serveur en évitant des calculs inutiles. Cependant, il est intégré à un dispositif serveur et non à un dispositif intermédiaire formant cache indépendant des dispositifs serveurs. Il en résulte qu'un tel mécanisme ne permet pas de diminuer les transferts de données sur Internet et par là d'améliorer le temps de réponse pour un utilisateur. De son côté, le document US-A-6351767 décrit un mécanisme permettant de déterminer si une page construite à partir de plusieurs parties 5 dynamiques peut être mémorisée par un mécanisme de cache. Cette détermination s'effectue en analysant la durée de validité de chacune des parties dynamiques. Mais là encore, ce document ne s'applique qu'aux caches intégrés aux dispositifs serveurs construisant des réponses à partir de plusieurs parties. La présente invention apporte une solution aux problèmes des 10 procédés antérieurs mentionnés ci-avant. Elle vise ainsi à améliorer le traitement des messages, notamment des messages dynamiques du type SOAP, dans des dispositifs intermédiaires formant caches non directement liés à des dispositifs serveurs. Elle porte sur un procédé de traitement d'informations échangées 15 entre au moins un dispositif client et au moins un dispositif serveur via un dispositif intermédiaire formant cache sur un réseau de communication, ledit procédé de traitement étant mis en oeuvre dans le dispositif intermédiaire formant cache. Selon une définition générale de l'invention, le procédé de 20 traitement comprend les étapes suivantes: -obtenir une table comprenant pour chaque requête émanant d'un dispositif client, au moins une ligne de correspondance entre au moins l'adresse de la requête, un premier filtre définissant des informations à conserver pour la requête sans modifier le sens de la requête, un emplacement contenant une 25 requête simplifiée résultant de l'application du premier filtre sur la requête, et un emplacement contenant une réponse, et -en réponse à une requête émanant d'un dispositif client, sélectionner la ligne correspondante, vérifier au moins une condition pour la livraison de la réponse à partir de l'emplacement correspondant, et en cas de vérification positive, livrer à 30 destination du dispositif client la réponse à partir de l'emplacement contenant ladite réponse. Selon une réalisation, au moins certaines lignes de la table comprennent en outre un emplacement contenant une réponse simplifiée résultant de l'application sur la réponse d'un second filtre définissant des informations à conserver pour la réponse associée sans modifier le sens de la réponse, et en réponse à une 5 requête émanant d'un dispositif client, il est prévu de sélectionner la ligne correspondante, de vérifier au moins une condition pour la livraison de la réponse simplifiée à partir de l'emplacement correspondant, et en cas de vérification positive, de livrer à destination du dispositif client la réponse simplifiée à partir de l'emplacement contenant la réponse simplifiée. 10 Le procédé selon l'invention améliore ainsi le traitement des informations échangées sur le réseau de communication, notamment au niveau du fonctionnement du dispositif intermédiaire formant cache, en simplifiant les requêtes, le cas échéant les réponses, de manière à ne conserver que les 15 éléments essentiels du message sans perdre le sens du message, cette simplification étant accompagnée d'une mémorisation des requêtes simplifiées, le cas échéant des réponses simplifiées, dans des emplacements appropriés du dispositif intermédiaire formant cache pour une livraison ultérieure des réponses simplifiées (ou non) à partir desdits emplacements. 20 Selon une réalisation, le procédé comprend en outre l'étape dans laquelle le premier filtre est appliqué à la requête émanant du dispositif client, la requête simplifiée ainsi calculée étant comparée à la requête simplifiée contenue dans l'emplacement de la ligne correspondante, et la condition de livraison est vraie 25 en cas d'égalité entre la requête simplifiée calculée et la requête simplifiée en cache. Par exemple, les premier et second filtres sont différents l'un de l'autre ou bien identiques. Selon une réalisation, les informations du premier filtre et/ou du second filtre émanent du dispositif serveur à destination du dispositif intermédiaire formant cache lors de la délivrance d'une réponse en réplique à une requête. Selon encore une autre réalisation, le procédé comprend en outre une étape d'entretien et/ou de mise à jour des lignes de la table en fonction de l'obsolescence et/ou d'une caractéristique de chaque requête simplifiée et/ou réponse simplifiée ou non à livrer. En pratique, les informations échangées sont du type message représenté en langage à balises, tel que le protocole SOAP selon lequel les messages comprennent des blocs d'informations répartis entre un premier groupe de blocs 10 formant en-tête du message et un second groupe de blocs correspondant au corps du message. En général, le corps du message SOAP représente les données transportées par le message, tandis que les blocs d'en-tête contiennent des informations relatives à ces données, aux mécanismes de transport, etc Par exemple, les informations du premier et/ou du second filtre sont contenus dans l'entête du message échangé. La présente invention a également pour objet un dispositif de traitement d'informations échangées entre au moins un dispositif client et au moins un 20 dispositif serveur via un dispositif intermédiaire formant cache sur un réseau de communication, ledit dispositif de traitement étant intégré dans le dispositif intermédiaire formant cache. Selon un autre aspect de l'invention, le dispositif de traitement comprend: -une table comprenant pour chaque requête émanant d'un dispositif client, au moins une ligne de correspondance entre au moins l'adresse de la requête, un premier filtre définissant des informations à conserver pour la requête sans modifier le sens de la requête, un emplacement contenant une requête simplifiée résultant de l'application du premier filtre sur la requête, et un emplacement 30 contenant une réponse, et -des moyens de traitement aptes, en réponse à une requête émanant d'un dispositif client, à sélectionner la ligne correspondante, à vérifier au moins une condition pour la livraison de la réponse à partir de l'emplacement correspondant, et en cas de vérification positive, à livrer à destination du dispositif client la réponse à partir de l'emplacement contenant ladite réponse. Selon une réalisation, au moins certaines lignes de la table comprennent en 5 outre un emplacement contenant une réponse simplifiée résultant de l'application sur la réponse d'un second filtre définissant des informations à conserver pour la réponse associée sans modifier le sens de la réponse, et les moyens de traitement sont aptes, en réponse à une requête émanant d'un dispositif client, à sélectionner la ligne correspondante, à vérifier au moins une condition pour la 10 livraison de la réponse simplifiée à partir de l'emplacement correspondant, et en cas de vérification positive, à livrer à destination du dispositif client la réponse simplifiée à partir de l'emplacement contenant la réponse simplifiée. Selon une réalisation, les moyens de traitement sont aptes en outre à appliquer 15 le premier filtre à la requête émanant du dispositif client, à comparer la requête simplifiée ainsi calculée à la requête simplifiée contenue dans l'emplacement de la ligne correspondante, et à livrer la requête simplifiée en cas d'égalité entre la requête simplifiée calculée et la requête simplifiée en cache. Selon une autre réalisation, les moyens de traitement sont aptes en outre à entretenir et/ou mettre à jour des lignes de la table en fonction de l'obsolescence et/ou d'une caractéristique de chaque requête simplifiée et/ou réponse simplifiée ou non à livrer. La présente invention a également pour objet un dispositif intermédiaire formant cache comportant des moyens adaptés pour mettre en oeuvre le procédé de traitement mentionné ci-avant, le dispositif intermédiaire formant cache comportant un dispositif de traitement tel que visé ciavant. La présente invention a également pour objet un système d'échange de message dans un réseau de communication comportant un dispositif intermédiaire formant cache tel que décrit ci-avant. La présente invention a également pour objet un support d'informations lisible par un système informatique, éventuellement totalement ou partiellement amovible, notamment CD-ROM ou support magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, 5 comportant des instructions d'un programme d'ordinateur permettant la mise en oeuvre d'un procédé de traitement conforme à l'invention, lorsque ce programme est chargé et exécuté par un système informatique. Enfin, la présente invention a également pour objet un programme d'ordinateur 10 stocké sur un support d'informations, ledit programme comportant des instructions permettant la mise en oeuvre d'un procédé de traitement conforme à l'invention, lorsque ce programme est chargé et exécuté par un système informatique. D'autres caractéristiques et avantages de l'invention apparaîtront à la lumière de la description détaillée ci-après et des dessins dans lesquels: -la figure 1 est un organigramme illustrant le traitement global d'une requête par le dispositif intermédiaire formant cache conformément à l'invention; -la figure 2 est un organigramme illustrant la mise en cache d'une 20 requête et de la réponse associée conformément à l'invention; -la figure 3 est un organigramme illustrant comment un élément XML est simplifié en utilisant un filtre conformément à l'invention; -la figure 4 est un organigramme illustrant la livraison d'une réponse simplifiée en réponse à une requête émanant d'un dispositif client 25 conformément à l'invention; et -la figure 5 est une représentation schématique d'un dispositif intermédiaire formant cache conforme à l'invention. La présente invention se rapporte au traitement de messages échangés entre un dispositif client et un dispositif serveur, via un dispositif 30 intermédiaire équipé d'un cache. La description qui va suivre s'appuie sur un mode de réalisation appliqué aux messages représentés en langage de balisage, par exemple selon le protocole SOAP (en anglais "Simple Object Access Protocol"). Bien évidemment l'invention s'applique à d'autres langages de balisages, tels que HTML, XML, XHTML,... En pratique, selon le protocole SOAP, les messages comprennent des blocs d'informations répartis entre un premier groupe de blocs formant en5 tête du message et un second groupe de blocs correspondant au corps du message. En général, le corps du message SOAP représente les données transportées par le message, tandis que les blocs d'en-tête contiennent des informations relatives à ces données, aux mécanismes de transport, etc Par exemple, un message SOAP en mode requête/réponse est échangé entre un dispositif client et un dispositif serveur pour permettre à un utilisateur d'interroger un serveur météo. En ce qui concerne la requête émise par le dispositif client, le message a la teneur suivante: 15 Hervé Ruellan Rennes France 25 décembre 2002 12:00 35 En ce qui concerne la réponse émise par le dispositif serveur météo, le message a la teneur suivante: 45 50 Rennes France 25 décembre 2002 12:00 Light snow 10 -3 -3 15 Dans cet exemple, la requête consiste principalement dans le corps du message, avec l'élément weather:getWeather et son contenu (lieu et date 20 pour l'information météo). Cette requête contient aussi une information utilisateur dans un entête " user:user ", qui est optionnelle et non spécifiquement utilisée par le dispositif serveur. De son coté, la réponse directe à la requête est contenue dans le 25 corps du message de réponse, avec l'élément weather:weatherForecast. Cette réponse contient aussi une information supplémentaire dans un entête qui décrit la météo marine (cet élément a pu être ajouté soit par rapport à des préférences utilisateur connues par le dispositif serveur, soit automatiquement par le dispositif serveur pour promouvoir ses autres services). 30 Classiquement, un gestionnaire de dispositif intermédiaire formant cache mémorise, dans cet exemple la requête complète ainsi que la réponse complète. Ainsi, une deuxième requête similaire mais ne contenant pas de nom d'utilisateur ou un nom d'utilisateur différent, ne peut être traitée par le 35 gestionnaire de dispositif intermédiaire formant cache, alors que ce gestionnaire dispose de toutes les informations pour y répondre. Pour améliorer son efficacité dans cet exemple, le gestionnaire de dispositif intermédiaire formant cache selon l'invention conserve une requête simplifiée en supprimant l'en-tête de définition de l'utilisateur et de même ne 40 conserve qu'une réponse simplifiée en supprimant l'entête de définition de la météo marine. Le procédé de traitement selon l'invention ne considère pas un message SOAP comme un tout indissociable, mais cherche à prendre en considération la structure des messages SOAP à la différence des systèmes de cache classiques. Ainsi, il devient possible de ne conserver en cache qu'une partie d'un message SOAP. Le but est de ne conserver que les éléments essentiels du message avant de le mémoriser dans un dispositif intermédiaire formant cache, ceci, tout en conservant son sens au message. Mais pour réaliser cette simplification, cela suppose que le 10 gestionnaire de dispositif intermédiaire formant cache connaisse la structure des requêtes et réponses échangées, ce qui n'est pas en pratique le cas. Par contre, le dispositif serveur traitant la requête et générant la réponse connaît ces structures. Ainsi, le dispositif serveur peut transmettre cette information au gestionnaire de dispositif intermédiaire formant cache, celui-ci 15 I'exploitant pour améliorer son fonctionnement. Cette information peut être transmise dans le message de réponse sous forme d'un en-tête indiquant les parties importantes de la requête et de la réponse. Ainsi pour l'exemple précédent, la réponse contient l'en-tête suivant: /Envelope/Header/Preference /Envelope/Body/getWeather /Envelope/Body/weatherForecast Cet en-tête définit quels sont les éléments à conserver dans la requête et la réponse. Les éléments à conserver sont décrit dans des éléments XML (cache:element) en utilisant la syntaxe XPath, qui permet de référer à une partie d'un document XML. Ainsi, dans la requête, il faut conserver l'élément getWeather 35 contenu dans le corps du message, ainsi que l'élément Preference contenu dans l'en-tête du message. Ce dernier élément n'est pas compris dans l'exemple de requête précédent, mais comme il permet de décrire les préférences utilisateurs, comme par exemple l'unité de température à utiliser, il influe sur le contenu de la réponse. Par ailleurs, dans la réponse, seul l'élément weatherForecast est contenu dans le corps de la réponse. En pratique, les éléments simplifiés sont conservés dans une mémoire du dispositif intermédiaire formant cache. Par exemple, pour chaque requête, les éléments simplifiés sont stockés dans une table TA du type: Adresse Filtre Requête Réponse Info cache requête U1 fi Q1 AI1 o...... La table comprend pour chaque requête émanant du dispositif client, au moins une ligne de correspondance entre au moins l'adresse de la requête U, un premier filtre définissant des informations à conserver pour la requête sans modifier le sens de la requête, le cas échéant un second filtre définissant des informations à conserver pour la réponse associée sans modifier 15 le sens de la réponse, un emplacement contenant une requête simplifiée Q résultant de l'application du premier filtre sur la requête, et le cas échéant un emplacement contenant une réponse simplifiée A résultant de l'application du second filtre sur la réponse. Les premier et second filtres peuvent être différents l'un de l'autre 20 ou identiques. Dans l'exemple mentionné ci-avant les premier et second filtres sont identiques et représenté sous la désignation f. Le ou les filtres comprennent un élément XML définissant les informations à conserver dans la requête et/ou la réponse. En outre, une dernière colonne contient des informations 25 classiques I d'un dispositif intermédiaire formant cache, comme la durée de validité de la réponse, etc. Ces informations dépendent du protocole sous-jacent à SOAP utilisé (HTTP, SMPT, ...). Il est possible que plusieurs lignes correspondent à une même adresse de requête, mais pour des requêtes différentes. Ainsi, I'exemple précédent sera mémorisé dans une ligne de la table, mais la même requête avec un entête supplémentaire de préférences indiquant l'utilisation de degré fahrenheit sera mémorisée dans une autre ligne de la table. En référence à la figure 1, on a représenté le traitement global d'une requête par le dispositif intermédiaire formant cache. Lors de la réception d'une requête Q (étape E100), le procédé commence par vérifier si la requête Q est déjà présente dans le dispositif intermédiaire formant cache (étape E105). Si la requête Q est absente du dispositif intermédiaire formant cache, alors le procédé continue en mémorisant 10 dans une mémoire temporaire la requête Q. Puis il modifie la requête de manière à ce que la réponse A lui parvienne (étape E120). Il envoie alors cette requête modifiée au dispositif serveur (étape E130). Lors de la réception de la réponse A (étape E140), le procédé tente de la mettre dans le dispositif intermédiaire formant cache (étape E150), puis le 15 procédé retourne cette réponse A au dispositif client (étape E160). En référence à la figure 2, on a représenté la mise en cache d'une requête Q et de la réponse associée A (étape E200). Tout d'abord, le système vérifie, de manière classique, que la réponse A peut être mémorisée en cache (étape E205). Cette vérification peut par exemple utiliser les informations du 20 protocole de transport, comme par exemple l'en-tête " cache " de HTTP. Si cette la réponse A peut être mémorisée en cache, alors le procédé vérifie s'il s'agit d'un message SOAP (étape E210). Puis il vérifie que la réponse contient un en-tête de filtre, appelé encore en-tête de directive de cache (étape E215). S'il l'une de ces conditions n'est pas vérifiée, le procédé continue comme pour une réponse normale (étape E220). Sinon, le procédé continue en extrayant l'en-tête de directive de cache de la réponse (étape E225), et en extrayant les deux parties correspondant à la requête fq et à la réponse fa. Ces deux parties, comme décrit 30 précédemment, permettent de décrire quelles sont les parties importantes de la requête et de la réponse (premier et second filtres). Le procédé extrait alors de la réponse les informations de cache relatives au protocole, comme par exemple la durée de validité de la réponse (étape E230). Puis le procédé filtre la requête (étape E235) et la réponse (étape 5 E240) afin d'en obtenir une version simplifiée pouvant être conservée dans le dispositif intermédiaire formant cache. Enfin, il mémorise ces informations dans une nouvelle ligne de la table TA (étape E245), en y ajoutant l'adresse de destination de la requête, l'en-tête de directive de cache (premier et/ou second filtres), la requête et la réponse filtrées (simplifiées) et les informations de cache 10 relatives au protocole. En référence à la figure 3, on a représenté comment un élément XML est simplifié en utilisant un filtre contenu dans une directive de cache. Cet algorithme est récursif, quand il est appliqué sur un élément XML, il est (éventuellement) aussi appliqué sur les sous-éléments contenus dans cet 15 élément. Les paramètres fournis à cet algorithme sont l'élément à simplifier M, le filtre f et le chemin C menant à l'élément M. Ce chemin est la liste des noms des éléments parents de l'élément M, séparés par le caractère '/'. Ainsi, dans l'exemple précédent, le chemin passé en même temps que l'élément 20 getWeather est /Envelope/Body. Si ce chemin n'est pas spécifié lors de l'appel à l'algorithme, il est considéré être le chemin racine, " / ". C'est le cas lors de l'appel de cet algorithme depuis la figure 2. L'algorithme commence par créer un arbre XML, M', pour contenir le résultat, cet arbre étant initialement vide (étape E305). Puis, il sélectionne 25 l'élément racine de M, R (étape E310). Cet élément racine peut être différent de M, si M contient des entités particulières comme les commentaires ou les instructions de traitement (processing instructions). Il construit alors le chemin Cr associé à l'élément racine R en ajoutant le nom de cet élément au paramètre C (étape E315). Ensuite, I'algorithme sélectionne un élément F du filtre f (par exemple /Envelope/Header/Preference dans l'exemple précédent) (étape E320). Puis, il compare (étape E325) la valeur du contenu de F (/Envelope/Header/Preference pour le même exemple) avec le chemin de l'élément M, Cr. Si les deux sont égaux (dans le sens de XPath), alors, l'élément racine R est ajouté au résultat M' (étape E330) et l'algorithme se termine (étape E375). Dans le cas contraire, le procédé vérifie si le filtre contient d'autres éléments (étape E335) et si c'est le cas sélectionne un autre élément (étape E340) et effectue de nouveau l'étape E325. Si tous les éléments du filtre f ont été utilisés, alors l'algorithme va 10 s'appliquer récursivement aux sous-éléments de R. Pour cela, il sélectionne un sous-élément S de l'élément racine R (étape E345), puiss'appelle récursivement (étape E350) en passant en paramètres le sousélément S, le filtre f, et le chemin Cr. Le résultat de ce traitement est mémorisé dans le sous-élément S'. Si le sous-élément S' n'est pas vide (étape E355), alors le sous15 élément S' est ajouté à l'élément M' (360). Le sous-élément S' n'est pas ajouté directement à l'élément M', mais à l'intérieur d'un élément ayant le même nom que l'élément racine R. En outre, sont ajoutés à cet élément tous les attributs globaux, c'est-à-dire dans un espace de nommage définit par une norme XML. Dans tous les cas, si un autre sous-élément de R existe (365), il est 20 sélectionné (étape E370) et les étapes E350-E360 lui sont appliquées. Sinon, l'algorithme se termine. Il convient de noter que pour le bon fonctionnement du système cet algorithme doit ajouter un éventuel prologue contenu dans un document XML (comme par exemple ). En référence à la figure 4, on a représenté l'algorithme permettant de chercher une requête Q envoyée vers une adresse U dans un dispositif intermédiaire formant cache conforme à l'invention. Dans un premier temps, l'algorithme sélectionne une des lignes de la table TA (étape E405). Puis il extrait de cette ligne l'adresse de destination de 30 la requête, Uc, le filtre à appliquer, fc, la requête mémorisée en cache, Qc, et la réponse correspondante Ac, ainsi que les informations complémentaires liées au protocole, lc (étape E410). Puis si l'adresse de la requête U et l'adresse mémorisée en cache, Uc, sont égales (au sens des URIs) (étape E415), I'algorithme simplifie la requête Q en lui appliquant le filtre fc, pour obtenir Q' (étape E420). Pour cela, l'algorithme fait appel à celui décrit en référence à la figure 3. Ensuite il compare 5 cette requête simplifiée Q' et la requête mémorisée dans la table TA, Qc (étape E425). Cette comparaison se fait en comparant les documents XML, et tenant compte des équivalences d'écritures pour les documents XML. Si ces deux requêtes sont égales, et si les informations de cache, Ic, indiquent que la réponse est toujours valable, alors l'algorithme retourne la réponse Ac. Dans le cas contraire, ou si le test E415 est négatif, l'algorithme vérifie si d'autre lignes de cache sont disponibles (étape E435) et si c'est le cas en sélectionne une (étape E440) avant d'appliquer de nouveau les étapes E410E425. Dans le cas contraire, I'algorithme se termine en renvoyant un 15 résultat indiquant qu'aucune réponse correspondant à la requête Q n'est disponible dans le cache. Il est à noter que si les informations Ic, indiquent que la réponse mémorisée n'est plus valide, alors la ligne de cache correspondante est supprimée. La figure 5 représente schématiquement un dispositif intermédiaire formant cache adapté à mettre en oeuvre un procédé de traitement conforme à la présente invention, dans un mode préféré de réalisation. Ce dispositif intermédiaire de traitement peut notamment être constitué par un ordinateur. Dans l'exemple de réalisation décrit ici, le dispositif intermédiaire de paiement comporte une carte de communication 807 pour relier le dispositif intermédiaire à un réseau de communication, un clavier 810, un écran 809, reliés à un port d'entrées-sorties 803 d'une carte de traitement 801. La carte de traitement 801 comporte, reliés entre eux par un bus 30 d'adresses et de données 802: - une unité centrale de traitement 800; une mémoire vive RAM 804; - une mémoire morte ROM 805; - une mémoire non volatile FLASH 806 et - le port d'entrées-sorties 803. Chacun des éléments illustrés en figure 5 est bien connu de l'homme du métier des micro-ordinateurs et, plus généralement, des systèmes de traitement de l'information. Ces éléments communs ne sont donc pas décrits ici. La mémoire vive 804 comporte notamment table TA. Cette table peut être stockée dans tout autre moyen de stockage du dispositif intermédiaire: La mémoire morte 805 est adaptée à conserver le programme de fonctionnement de l'unité centrale de traitement 800. Elle comporte notamment 10 un registre "Program" pour mémoriser les instructions d'un programme mettant en oeuvre un procédé de traitement conforme à l'invention, tel que décrit précédemment en référence aux organigrammes des figures 1 à 4. Le dispositif de traitement comporte des moyens de communication classiques connus de l'homme du métier, adaptés à communiquer, au moyen de 15 requêtes et de messages avec d'autres dispositifs du réseau de communication. Ces moyens de communication sont en particulier constitués par la carte de communication 807 et des portions de code informatique mémorisées dans la mémoire morte ROM 805 mettant en oeuvre des couches protocolaires classiques telles que TCP/IP par exemple. Quoiqu'il en soit ces moyens de communication constituent des moyens de réception adaptés à recevoir et/ou envoyer les requêtes et/ou réponses. Les moyens de communication sont en particulier adaptés à reconnaître le type d'une requête reçue et à en extraire les différents champs. 25 REVENDICATIONS 1. Procédé de traitement d'informations échangées entre au moins un dispositif client et au moins un dispositif serveur via un dispositif intermédiaire formant cache sur un réseau de communication, ledit procédé de traitement étant mis en oeuvre dans le dispositif intermédiaire formant cache, caractérisé en ce que le procédé de traitement comprend les étapes suivantes: -obtenir une table (TA) comprenant pour chaque requête émanant d'un dispositif client, au moins une ligne de correspondance entre au moins l'adresse (U) de la requête, un premier filtre (f) définissant des informations à conserver pour la requête sans modifier le sens de la requête, et un emplacement contenant une requête simplifiée résultant de l'application du premier filtre sur la requête, et un 15 emplacement contenant une réponse, et -en réponse à une requête émanant d'un dispositif client, sélectionner la ligne correspondante, vérifier au moins une condition pour la livraison de la réponse à partir de l'emplacement correspondant, et en cas de vérification positive, livrer à destination du dispositif client la réponse à partir de l'emplacement contenant 20 ladite réponse. 2.Procédé selon la revendication 1, caractérisé en ce qu'il comprend en outre l'étape dans laquelle le premier filtre est appliqué à la requête émanant du dispositif client, la requête simplifiée ainsi calculée étant comparée à la requête 25 simplifiée contenue dans l'emplacement de la ligne correspondante, et en ce que la condition de livraison est vraie en cas d'égalité entre la requête simplifiée calculée et la requête simplifiée en cache. 3.Procédé selon la revendication 1 ou la revendication 2, caractérisé en ce qu'au 30 moins certaines lignes de la table (TA) comprennent en outre un emplacement contenant une réponse simplifiée résultant de l'application sur la réponse d'un second filtre (f) définissant des informations à conserver pour la réponse associée sans modifier le sens de la réponse, et en ce qu'en réponse à une requête émanant d'un dispositif client, il est prévu de sélectionner la ligne correspondante, de vérifier au moins une condition pour la livraison de la réponse simplifiée à partir de l'emplacement correspondant, et en cas de vérification positive, de livrer à destination du dispositif client la réponse simplifiée à partir de l'emplacement contenant la réponse simplifiée. 4.Procédé selon la revendication 3, caractérisé en ce que les premier et second filtres sont différents l'un de l'autre. 5.Procédé selon la revendication 3, caractérisé en ce que les premier et second filtres sont identiques. 6.Procédé selon l'une des revendications I à 5, caractérisé en ce que les informations du premier filtre et/ou du second filtre émanent du dispositif serveur 15 à destination du dispositif intermédiaire formant cache lors de la délivrance d'une réponse en réplique à une requête. 7.Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape d'entretien et/ou de mise à jour des lignes de la 20 table en fonction de l'obsolescence et/ou d'une caractéristique de chaque requête simplifiée et/ou réponse simplifiée ou non à livrer. 8.Procédé selon l'une des revendications 1 à 7, caractérisé en ce que les informations échangées sont du type document représenté en langage de 25 balisage comprenant des blocs d'informations répartis entre un premier groupe de blocs formant en-tête du document et un second groupe de blocs correspondant au corps du document. 9.Procédé selon la revendication 8, caractérisé en ce que le langage de balisage 30 est de type SOAP ou analogue. 10.Procédé selon la revendication 9, caractérisé en ce que les informations du premier et/ou du second filtre sont contenus dans l'entête du message échangé. 1I.Dispositif de traitement d'informations échangées entre au moins un dispositif client et au moins un dispositif serveur via un dispositif intermédiaire formant cache sur un réseau de communication, ledit dispositif de traitement étant 5 intégré dans le dispositif intermédiaire formant cache, caractérisé en ce que le dispositif de traitement comprend: -une table (TA) comprenant pour chaque requête émanant d'un dispositif client, au moins une ligne de correspondance entre au moins l'adresse (U) de la requête, un premier filtre (f) définissant des informations à conserver pour la 10 requête sans modifier le sens de la requête, un emplacement contenant une requête simplifiée résultant de l'application du premier filtre sur la requête, et un emplacement contenant une réponse, et -des moyens de traitement aptes, en réponse à une requête émanant d'un dispositif client, à sélectionner la ligne correspondante, à vérifier au moins une 15 condition pour la livraison de la réponse à partir de l'emplacement correspondant, et en cas de vérification positive, à livrer à destination du dispositif client la réponse à partir de l'emplacement contenant ladite réponse. 12.Dispositif de traitement selon la revendication 11, caractérisé en ce que les 20 moyens de traitement sont aptes en outre à appliquer le premier filtre à la requête émanant du dispositif client, à comparer la requête simplifiée ainsi calculée à la requête simplifiée contenue dans l'emplacement de la ligne correspondante, et à livrer la réponse en cas d'égalité entre la requête simplifiée calculée et la requête simplifiée en cache. 25 13.Dispositif selon la revendication 11 ou la revendication 12, caractérisé en ce qu'au moins certaines lignes de la table (TA) comprennent en outre un emplacement contenant une réponse simplifiée résultant de l'application sur la réponse d'un second filtre (f) définissant des informations à conserver pour la 30 réponse associée sans modifier le sens de la réponse, et en ce que les moyens de traitement sont aptes, en réponse à une requête émanant d'un dispositif client, à sélectionner la ligne correspondante, à vérifier au moins une condition pour la livraison de la réponse simplifiée à partir de l'emplacement correspondant, et en cas de vérification positive, à livrer à destination du dispositif client la réponse simplifiée à partir de l'emplacement contenant la réponse simplifiée. 14.Dispositif de traitement selon la revendication 13, caractérisé en ce que les premier et second filtres sont différents l'un de l'autre. 15.Dispositif de traitement selon la revendication 13, caractérisé en ce que les premier et second filtres sont identiques. 16.Dispositif de traitement selon l'une des revendications 11 à 15, caractérisé en ce que les informations du premier filtre et/ou du second filtre émanent du dispositif serveur à destination du dispositif intermédiaire formant cache lors de la délivrance d'une réponse en réplique à une requête. 15 17.Dispositif de traitement selon l'une des revendications 11 à 16, caractérisé en ce que les moyens de traitement sont aptes en outre à entretenir et/ou mettre à jour des lignes de la table en fonction de l'obsolescence et/ou d'une caractéristique de chaque requête simplifiée et/ou réponse simplifiée ou non à 20 livrer. 18.Dispositif de traitement selon l'une des revendications 11 à 17, caractérisé en ce que les informations échangées sont du type document représenté en langage à balises comprenant des blocs d'informations répartis entre un premier 25 groupe de blocs formant en-tête du document et un second groupe de blocs correspondant au corps du document. 19.Dispositif de traitement selon la revendication 18, caractérisé en ce que le langage de balisage est de type SOAP ou analogue. 30 20.Dispositif de traitement selon la revendication 19, caractérisé en ce que les informations du premier et/ou du second filtre sont contenus dans l'entête du message échangé. 21. Dispositif intermédiaire formant cache caractérisé en ce qu'il comporte des moyens adaptés pour mettre en oeuvre un procédé de traitement selon l'une quelconque des revendications 1 à 10. 22. Dispositif intermédiaire formant cache caractérisé en ce qu'il comporte un dispositif de traitement selon l'une quelconque des revendications 11 à 20. 23.Système d'échange de message dans un réseau de communication 10 caractérisé en ce qu'il comporte un dispositif intermédiaire formant cache selon la revendication 21 ou la revendication 22. 24.Support d'informations lisible par un système informatique, éventuellement totalement ou partiellement amovible, notamment CD-ROM ou support 15 magnétique, tel un disque dur ou une disquette, ou support transmissible, tel un signal électrique ou optique, caractérisé en ce qu'il comporte des instructions d'un programme d'ordinateur permettant la mise en oeuvre d'un procédé de traitement selon l'une quelconque des revendications 1 à 10, lorsque ce programme est chargé et exécuté par un système informatique. 20 25.Programme d'ordinateur stocké sur un support d'informations, ledit programme comportant des instructions permettant la mise en oeuvre d'un procédé de traitement selon l'une quelconque des revendications 1 à 10, lorsque ce programme est chargé et exécuté par un système informatique.