Brevet FR2815206A1 — publié le 20020412

La présente invention concerne de manière générale un procédé d'exécution à distance d'une fonction dans un réseau de communication. Plus précisément elle concerne un procédé d'exécution à distance d'une fonction sur une station serveur, mis en oeuvre sur une station client. Corrélativement, elle concerne également un procédé d'exécution d'une fonction sur une station serveur, commandée à distance à partir d'une station client. Aujourd'hui, de plus en plus d'ordinateurs travaillent en réseau et utilisent les services fournis par d'autres ordinateurs appelés stations serveurs. Il n'est pas rare que, sur un réseau de communication, ces services fournis par les stations serveurs soient rémunérés. De manière classique, la station serveur peut, pour être rémunérée, ouvrir un compte client associé à une station client du réseau. L'ensemble des opérations effectuées par la station client sur la station serveur est mémorisé et facturé régulièrement, par exemple tous les mois. Un tel système oblige à ouvrir et gérer un compte client sur chaque station serveur du réseau. En outre, ce type de paiement est une contrainte sur un réseau de communication de grande dimension, du type réseau Internet, dans lequel il est souhaitable que chaque utilisateur, à partir d'une station client, puisse utiliser différents serveurs du réseau. Par ailleurs, il est courant sur un réseau de communication qu'une station client, connectée via le réseau à une ou plusieurs stations serveurs, commande l'exécution à distance d'une fonction sur l'une des stations serveurs. Chaque fonction correspond à une série d'instructions d'un programme informatique mémorisé sur la station serveur. La présente invention a pour but de proposer un procédé d'exécution à distance d'une fonction d'un réseau de communication, qui procure une grande flexibilité pour la rémunération de cette opération. Selon un premier aspect de l'invention, un procédé d'exécution à distance d'une fonction d'une station serveur à partir d'une station client comprend une étape d'envoi d'une requête d'exécution à distance d'une fonction prédéterminée. Selon l'invention, ce procédé d'exécution à distance comprend une étape d'envoi à ladite station serveur d'une somme d'argent au moins égale à un coût d'exécution associé à ladite fonction prédéterminée. Ainsi, pour chaque demande d'exécution à distance d'une fonction transmise à une station serveur, on envoie une somme d'argent suffisante pour exécuter cette fonction sur la station serveur. Les fonctions sont ainsi payées au fur et à mesure qu'elles doivent être exécutées sur la station serveur et il n'est pas nécessaire pour la station serveur d'ouvrir un compte client. La station client n'a plus à gérer un compte sur chacun des serveurs du réseau et reste ainsi libre de cesser d'utiliser un serveur qui ne lui conviendrait pas, ou au contraire d'essayer un autre serveur du réseau. Selon une caractéristique préférée de l'invention, ladite somme d'argent est inscrite dans la requête d'exécution à distance de la fonction prédéterminée. On peut ainsi transmettre le paiement relatif à l'exécution d'une fonction directement dans la requête d'exécution de cette fonction. Cette caractéristique évite à la station client de générer et d'envoyer deux requêtes différentes, l'une pour le paiement de la fonction, et l'autre pour l'exécution proprement dite de cette fonction. Selon une autre caractéristique préférée de l'invention, le procédé d'exécution à distance comprend une étape préalable d'obtention du coût d'exécution associé à ladite fonction prédéterminée. En effet, le coût d'exécution d'une fonction n'est pas connu à l'avance par la station client et doit être demandé à la station serveur avant l'exécution de cette fonction. La station serveur peut ainsi fixer librement les prix, ceux-ci dépendant à la fois d'une politique commerciale, de la nature de l'opération à réaliser et du type de données sur lesquelles cette opération s'applique. On peut ainsi obtenir une facturation dynamique sur le réseau de communication, en fonction notamment du type de données à traiter. Selon une caractéristique avantageuse de l'invention, le procédé d'exécution à distance comprend une étape de mémorisation dans une mémoire de la station client du coût d'exécution associé à une fonction prédéterminée. Le coût d'exécution ainsi mémorisé peut être obtenu facilement pour une exécution ultérieure de la même fonction, sans envoyer une nouvelle requête à la station serveur pour obtenir le coût de cette fonction. En pratique, le procédé d'exécution à distance comprend une étape de réception d'une interface d'un objet informatique, incluant le coût d'exécution d'une ou plusieurs fonctions. Le procédé d'exécution à distance conforme à l'invention est particulièrement bien adapté à un système distribué orienté-objet dans lequel pour chaque objet distant, le coût d'exécution d'une ou plusieurs fonctions sur cet objet est mémorisé dans l'interface (ou classe) associée à cet objet. En outre, le coût d'exécution est le même pour tous les objets d'une même classe. En réceptionnant et mémorisant une interface d'un objet informatique, la station client peut obtenir facilement toutes les fonctions applicables à un objet et leurs coûts respectifs. Selon un autre aspect de l'invention, un procédé d'exécution d'une fonction sur une station serveur, commandée à distance à partir d'une station client, comprend une étape de réception d'une requête d'exécution à distance d'une fonction prédéterminée. Selon l'invention, ce procédé d'exécution d'une fonction comprend les étapes suivantes : - lecture du coût d'exécution associé à cette fonction ; - réception d'une somme d'argent envoyée par la station client ; et - exécution de cette fonction prédéterminée si cette somme d'argent est au moins égale au coût d'exécution associé à la fonction prédéterminée. On peut ainsi facturer au fur et à mesure les fonctions réalisées à distance sur la station serveur. Un tel système présente en outre des garanties pour la station serveur d'être correctement rémunérée pour tous les services fournis aux différentes stations clientes du réseau de communication, ce qui est d'autant plus important dans les réseaux de grande étendue du type Internet. Corrélativement, la présente invention concerne un dispositif d'exécution à distance d'une fonction d'une station serveur à partir d'une station client comprenant des moyens d'envoi d'une requête d'exécution à distance d'une fonction prédéterminée. Ce dispositif d'exécution à distance comprend des moyens d'envoi à ladite station serveur d'une somme d'argent au moins égale à un coût d'exécution associé à ladite fonction prédéterminée. Ce dispositif d'exécution à distance, incorporé dans une station client, présente des caractéristiques et avantages analogues à ceux décrits précédemment pour le procédé d'exécution à distance d'une fonction. De même, la présente invention concerne un dispositif d'exécution d'une fonction sur une station serveur, ladite fonction étant commandée à distance à partir d'une station client, comprenant : - des moyens de réception d'une requête d'exécution à distance d'une fonction prédéterminée ; - des moyens de lecture du coût d'exécution associé à ladite fonction ; - des moyens de réception d'une somme d'argent envoyée par ladite station client ; et - des moyens d'exécution d'une fonction adaptés à exécuter ladite fonction si ladite somme d'argent est au moins égale au coût d'exécution associé à ladite fonction prédéterminée. Ce dispositif d'exécution d'une fonction, incorporé dans une station serveur, présente des caractéristiques et avantages analogues à ceux décrits précédemment pour le procédé d'exécution d'une fonction sur une station serveur. La présente invention concerne également une station client adaptée à mettre en oeuvre le procédé d'exécution à distance d'une fonction conforme au premier aspect de l'invention et une station serveur adaptée à mettre en oeuvre le procédé d'exécution d'une fonction conforme au second aspect de l'invention. Elle concerne aussi un ordinateur et un réseau de communication adaptés à mettre en oeuvre) le procédé d'exécution à distance d'une fonction conforme au premier ou second aspect de l'invention. La présente invention vise enfin un programme d'ordinateur, lisible par un microprocesseur, comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé d'exécution à distance d'une fonction selon le premier ou second aspect de l'invention lorsque le programme d'ordinateur est chargé sur un microprocesseur. Ce réseau de communication, cet ordinateur, cette station client, cette station serveur et le programme d'ordinateur présentent des caractéristiques et avantages analogues à ceux décrits précédemment. D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après. Aux dessins annexés, donnés à titre d'exemples non limitatifs : - la figure 1 est un schéma bloc illustrant une station client et une station serveur d'un réseau de communication adapté à mettre en oeuvre le procédé d'exécution à distance d'une fonction conforme à l'invention ; - la figure 2 est un schéma bloc illustrant un ordinateur adapté à mettre en oeuvre l'invention ; - la figure 3 est un algorithme illustrant le procédé d'exécution à distance d'une fonction conforme à un premier aspect de l'invention ; - la figure 4 est un algorithme détaillant la procédure d'obtention d'une somme d'argent utilisée à la figure 3 ; et - les figures 5 et 6 sont des algorithmes illustrant le procédé d'exécution d'une fonction sur une station serveur conforme à un second aspect de l'invention. On va décrire tout d'abord, en référence à la figure 1, un réseau de communication adapté à mettre en oeuvre le procédé d'exécution à distance d'une fonction conforme à l'invention. Dans la suite, on considère une station client U connectée à une station serveur H. Bien entendu, dans un réseau de communication, les différents ordinateurs du réseau peuvent être tour à tour station client U ou station serveur H. Dans cet exemple, la station client U peut utiliser les services de la station serveur H. En particulier, la station client U peut demander l'exécution d'une fonction directement sur la station serveur H. Par exemple, et de manière nullement limitative, la station serveur peut héberger des images numériques, et un utilisateur peut, à travers la station client U, effectuer des opérations sur l'une des images de la station serveur H. Les opérations peuvent être la conversion d'une image en noir et blanc, la rotation de l'image ou une symétrie par rapport à un axe horizontal ou vertical de l'image. Lors d'une exécution à distance d'une telle opération, l'image sera constamment stockée sur la station serveur H et ne transitera pas sur le réseau de communication. La station client se contentera d'émettre une requête d'exécution à distance de l'opération à destination de la station serveur. On va considérer dans la suite de la description, un système distribué orienté-objet (en anglais"distributed object system"). Un objet informatique est un élément comprenant des données, également appelées attributs, et des fonctions (en anglais"functions"ou"methods") utilisant éventuellement des paramètres ("input arguments"en anglais). Dans un tel système, les fonctions peuvent être appelées ou invoquées (en anglais "invoked") pour manipuler les données de l'objet. L'ensemble des fonctions applicables à un objet et des attributs constitue son interface. En pratique, la station client U comporte des moyens d'exécution d'un programme 10. Ce programme comporte une série d'instructions dont une ou plusieurs demandent l'exécution d'une fonction distante f sur un objet o stocké sur la station serveur H. Pour mettre en oeuvre cette exécution à distance d'une fonction, la station client U comporte des moyens d'obtention 11 d'un coût d'exécution associé à la fonction f. Ici, ces moyens d'obtention 11 d'un coût permettent d'obtenir l'interface de l'objet o et d'extraire de cette interface le coût de la fonction f. La station client comporte également une mémoire cache 12 dans laquelle peuvent être mémorisés les coûts d'exécution d'une ou plusieurs fonctions. La station client comporte en outre des moyens d'obtention 13 d'une somme d'argent S. Ces moyens d'obtention 13 coopèrent avec des moyens de stockage de pièces 14 de manière à prélever un nombre de pièces suffisant, et au moins égal au coût d'exécution associé à la fonction à exécuter. L'obtention d'une somme d'argent S et la génération des pièces de monnaie seront expliquées ultérieurement notamment en référence à la figure 4. Enfin, la station client comprend des moyens d'envoi 15 d'une requête d'exécution à distance de la fonction f sur un objet o et du paiement associé à cette fonction. Corrélativement, la station serveur H comprend des moyens de réception 21 permettant de réceptionner le paiement et la requête d'exécution à distance de la fonction f sur l'objet o. Des moyens de lecture 22 du coût associé à la fonction f permettent d'obtenir le coût d'exécution à partir de l'interface mémorisée dans une mémoire d'interfaces 23. Dans cette mémoire d'interfaces 23, les différentes interfaces des objets informatiques de la station serveur H sont mémorisées, incluant pour chaque fonction exécutable le coût associé. Des moyens de comparaison et de prélèvement 24 permettent de valider le paiement reçu, de le comparer au coût de la fonction à exécuter et de prélever une somme au moins égale au coût d'exécution associé à la fonction f. La validation de l'argent électronique reçu peut être réalisée au moyen d'un certificat d'authenticité (ou lettre de change) mémorisé dans une table 25. Des moyens d'exécution 26 de la fonction f sur l'objet o sont également incorporés dans la station serveur H. L'ensemble de ces moyens 10-15 et 21-26 peuvent être incorporés tant au niveau de la station client U qu'au niveau de la station serveur H dans un ordinateur tel que représenté à la figure 2. Cet ordinateur comprend de manière classique un microprocesseur 30, une mémoire morte 31 (Read Only Memory ou ROM) mémorisant soit le procédé d'exécution à distance d'une opération, soit le procédé d'exécution de cette opération, et une mémoire vive 32 (Random Access Memory ou RAM) comportant différents registres pour la mise en oeuvre de ces procédés. L'ordinateur comporte notamment une interface de communication 39 pouvant être reliée à un réseau de communication 3 pour recevoir ou transférer des requêtes ou informations. En outre, l'ordinateur comporte des moyens de stockage de documents, tel qu'un disque dur 36, où est adapté à coopérer au moyen d'un lecteur de disque 37 avec des moyens de stockage amovibles 38 telles que des disquettes, des disques compacts ou des cartes informatiques (PC Card). Ces moyens de stockage fixes ou amovibles peuvent comporter le code du procédé d'exécution à distance conforme à l'invention qui, une fois lu par le microprocesseur 30, sera stocké dans le disque dur 36. A titre de variante, le programme permettant au dispositif de mettre en oeuvre l'invention pourra être stocké dans la mémoire morte 31. En seconde variante, le programme pourra être reçu pour être stocké comme décrit précédemment par l'intermédiaire du réseau de communication 3. De manière classique, l'ordinateur possède également un écran 33 permettant par exemple de servir d'interface avec un opérateur à l'aide d'un clavier 34 ou d'une souris 35 ou tout autre moyen. L'unité centrale 30 (CPU) va exécuter des instructions relatives à la mise en oeuvre de l'invention. Lors de la mise sous tension, les programmes et méthodes relatives à l'invention, stockés dans une mémoire non volatile, par exemple la mémoire morte 31, sont transférés dans la mémoire vive 32 qui contiendra alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention. Ainsi, la mémoire vive 32 incorporée dans une station client d'un réseau de communication comprendra des registres pour stocker notamment la mémoire cache 12 et la table de pièces 14. De même, la mémoire vive 32 incorporée dans une station serveur d'un réseau de communication comprendra des registres pour stocker les différentes interfaces, un porte-monnaie électronique pour stocker le paiement prélevé et une table de lettres de change permettant de mémoriser des lettres de change pour valider la somme d'argent reçue. Un bus de communication 40 permet la communication entre les différents sous-éléments de l'ordinateur ou lié à lui. La représentation du bus n'est pas limitative et notamment le microprocesseur est susceptible de communiquer des instructions à tout sous- élément directement ou pour l'intermédiaire d'un autre sous-élément. On va décrire à présent en référence aux figures 3 et 4, le procédé d'exécution à distance d'une opération tel qu'il est mis en oeuvre à partir d'une station client d'un réseau de communication. On souhaite exécuter à titre d'exemple une fonction distante associée à un objet o de la station serveur H. Chaque objet informatique o étant créé dans un langage de programmation utilisé par l'application informatique propre à l'ordinateur qui héberge l'objet, il est nécessaire d'utiliser un langage de communication commun au réseau de communication afin de partager les objets informatiques. Sur le réseau Internet on peut utiliser un langage de communication tel que le langage XML ("eXtended Markup Language"en anglais). L'utilisation de ce langage de communication pour représenter des objets informatiques sur le réseau et accéder à leurs fonctions est décrit en détail dans la demande de brevet européen 00 401 754.7 déposée par Canon Research Centre France S. A. Nous rappelons ci-après la description des différents champs de données qu'il est nécessaire de traduire dans le langage de communication du réseau pour permettre d'invoquer à distance des fonctions sur des objets o. Champ : interfaces Ce champ permet d'envoyer plusieurs interfaces à des applications distantes. ... Champ : interface Ce champ correspond au concept générique d'une classe d'objet, comme défini dans les langages JAVA ou C++. Une interface décrit les opérations ou fonctions qui sont supportées par un objet informatique o. Ces fonctions utilisent généralement des paramètres et fournissent éventuellement un résultat. Une interface décrit également les attributs ou champ de données que tous les objets supportant cette interface contiennent lorsqu'ils sont traduits dans le langage de communication. Une interface peut également contenir une référence à d'autres interfaces, soit qu'elles s'étendent à ces autres interfaces ou fournissent seulement un raccourci (en anglais"short hand") pour utiliser ces autres interfaces. L'objet supporte alors toutes ces autres interfaces référencées. Champ : attribut Ce champ comporte la liste des attributs qu'un objet supportant l'interface contient lorsqu'il est traduit dans le langage de communication. Champ : fonctions Ce champ contient la liste des fonctions associées à l'objet informatique supportant cette interface. ... Champ : fonction Ce champ correspond au concept générique de fonction. Une fonction est identifiée par sa signature, par exemple un nom, le type de paramètre utilisé et le type d'objet obtenu lors de l'exécution de cette fonction. Champ : arguments Ce champ contient la liste des paramètres (en anglais"input arguments") dont une fonction a besoin pour sa mise en oeuvre. ... Champ : argument Ce champ correspond à un paramètre d'une fonction et peut être par exemple un objet littéral ou un objet complexe. Le champ fonction permet ainsi d'invoquer une fonction sur un objet distant. On doit spécifier l'objet cible o et les paramètres de la fonction comme décrit précédemment. Ainsi, pour exécuter une fonction f distante, le procédé de commande de cette fonction sur la station client U comporte tout d'abord un test E1 pour vérifier si l'interface associée à l'objet 0 est disponible sur la station client U. En pratique, on vérifie si une interface correspondante a déjà été mémorisée dans la mémoire cache 12 de la station client U. Dans la négative, une étape E2 est mise en oeuvre pour obtenir cette interface auprès de la station serveur H. La requête d'obtention d'une interface comprend l'adresse informatique de l'interface. Lorsque la station serveur H reçoit la requête d'obtention d'interface, la station serveur extrait de cette requête l'adresse informatique référençant l'interface demandée. La station serveur peut, à partir d'une table, retrouver l'interface demandée et la transmettre à la station client U, après éventuellement traduction de cette interface dans le langage de communication du réseau de communication. Comme décrit précédemment, cette interface comprend une ou plusieurs fonctions associées au code d'exécution de ces fonctions. Conformément à l'invention, chaque fonction est en outre associée à un coût d'exécution de cette fonction. On donne ci-après un exemple d'une interface permettant de manipuler une image à distance. Cette interface comporte trois fonctions : -"ConvertToB & W" dont le prix est constant. Cette fonction permet de convertir une image en noir et blanc ; -"Rotate" dont le prix dépend de la taille de l'image et de l'angle de rotation. Le prix est exprimé sous forme d'une expression que la station client peut évaluer : cette fonction permet de changer l'orientation d'une image. -"Flip" dont le prix dépend de paramètres déterminés par la station serveur. Le client n'est pas capable d'effectuer lui-même le calcul du prix ; le prix est par exemple disponible à l'adresse informatique suivante : http ://oceania/web-obj/class/Imaqe.xml#flip#price Cette fonction permet d'appliquer une symétrie à l'image. function price (width, height, angle) { return width*height*angle ; } Après réception de l'interface, une étape de mémorisation E3 permet de mémoriser l'interface pour une utilisation ultérieure dans la mémoire cache 12 de la station client. Une étape de lecture E4 permet de lire dans l'interface reçue le coût c associé à la fonction f que l'on souhaite exécuter. On vérifie dans une étape de test E5 si le coût est une expression à calculer. Dans l'affirmative, une étape d'évaluation E6 permet d'évaluer le coût de la fonction à exécuter à partir de l'expression reçue. Tel est le cas par exemple pour la fonction rotation"rotate". Sinon, on vérifie dans une étape de test E7 si le coût de la fonction est fixe. Tel est le cas par exemple pour la transformation d'une image en noir et blanc. Sinon, une étape d'obtention E8 est mise en oeuvre pour demander le coût de la fonction à la station serveur. Tel est ici le cas pour la fonction symétrie"flip". Lorsque le coût c associé à la fonction f que l'on souhaite exécuter à distance est connu, on met en oeuvre une procédure d'obtention E9 d'une somme d'argent S au moins supérieure au coût de la fonction à exécuter. Cette procédure d'obtention d'une somme d'argent S va être décrite en détail en référence à la figure 4. Afin d'obtenir une somme d'argent S, il est nécessaire de générer une monnaie électronique sur la station client U permettant de créer une suite de pièces qui peuvent ensuite être dépensées sur le réseau de communication. On utilise à titre d'exemple, pour générer cette monnaie électronique, un système dit PayWord proposé par Rivest et Shamir. Une description de ce système peut être consultée à l'adresse hternet http mit. edu/-rivest/RivestShamir-mpay. ps. Ce système consiste de manière générale, à partir d'un nombre aléatoire Wn, de générer une suite de nombres à l'aide d'une fonction de hachage (en anglais Hash function). Ce système PayWord présente l'avantage d'être fiable et de ne pas requérir l'approbation d'un organisme tiers (banque, notaire, etc. ) pour valider chaque paiement individuel. En pratique, on vérifie dans une étape de test E10 si la station serveur H est connue de la station client U. Dans la négative, la station client tire un nombre au hasard dans une étape de tirage aléatoire E13. Soit le nombre aléatoire Wn- On applique ensuite, dans une étape de frappe de pièce E14, de manière récursive, une fonction de hachage connue telle que : Wn-1 = h (Wn) Cette fonction de hachage h a la particularité de ne pas être réversible de telle sorte qu'il est impossible, à partir d'un nombre Wu de retrouver le nombre précédent Wn. On obtient ainsi une série de pièces Wn, W,,... W, W.,, Wo. L'extrémité Wo de la chaîne de nombres ainsi obtenue est appelée pièce racine (en anglais Root Coin) et permet de vérifier l'authenticité des différentes pièces. Ce système PayWord permet avantageusement de vérifier l'authenticité des pièces par simple application de la fonction de hachage. Lors de la génération d'une telle monnaie électronique, il est nécessaire que la station client U obtienne un certificat d'une banque afin de prouver son identité aux vendeurs ultérieurs. Deux certificats sont utilisés : - un certificat de banque C (pike), émis par une banque en réponse à une requête de la station client ; et - une lettre de change C (Wo) générée directement par la station client. Le certificat de banque C (PKe) est une assurance pour chaque vendeur que la banque honorera toute demande de rédemption de pièces authentiques. La lettre de change C (Wo) est une assurance pour chaque vendeur que les pièces produites par la station client sont bien authentiques et seront honorées par la banque. En pratique, la station client envoie à un organisme bancaire le numéro de sa carte de crédit ainsi que sa clé publique Pke. L'organisme bancaire retourne un certificat de banque C (PKe) qui contient l'identité de l'organisme bancaire, l'identité de la station client et la clé publique de la station client PKe. Ce certificat comporte en outre une signature électronique authentifiant les informations qu'il contient, cette signature étant réalisée par la banque à l'aide de sa clé privée SKb. Une fois les différentes pièces Wo, W1,..., Wn générées, ces pièces sont mémorisées dans une étape de mémorisation E15 dans la table des pièces 14 telle qu'illustrée à la figure 1 en association avec un identifiant du serveur H et un indice i, initialisé à la valeur 0, correspondant à l'indice de la dernière pièce utilisée dans la table des pièces 14. En outre, à partir du certificat de banque C (PKe) obtenu de la banque, la station client U génère dans une étape de création de lettre de change E16, un certificat ou lettre de change à destination de la station serveur H. Chaque lettre de change contient le certificat de banque C (PKe) précédemment reçu, l'identité du serveur H auquel il est destiné, ainsi que la pièce racine Wo. Cette lettre de change comporte en outre une signature électronique authentifiant les informations qu'elle contient, cette signature étant réalisée par la station client à l'aide de sa clé privée SKe. Après cette étape de création E16 d'une lettre de change, cette dernière est envoyée dans une étape d'envoi E17 à la station serveur H. Les lettres de change et les pièces sont spécifiques à un serveur donné. En définitive, la station serveur H reçoit par l'intermédiaire du certificat C (PKe) les informations suivantes : l'identité de l'organisme bancaire, de la station client, la clé publique de la station client PKe, et la pièce racine Wo. On rappelle que la clé publique de la station client PKe est contenue dans le certificat de la banque C (PKe). L'authenticité de cette clé peut donc être établie en comparant la valeur obtenue en décodant la signature de ce certificat à l'aide de la clé publique de la banque PKb, aux informations initiales contenues dans ce certificat (signature exclue). Par ailleurs, on rappelle que la pièce Wo est contenue dans la lettre de change de la station client C (Wo)' L'authenticité de cette pièce peut donc être établie en comparant la valeur obtenue en décodant la signature du certificat à l'aide de la clé publique PKe précédemment authentifiée, aux informations initiales contenues dans ce certificat (signature exclue). Ainsi, par le jeu d'une double signature, chaque serveur est capable de vérifier qu'il est bien en possession d'une pièce racine Wo émise par un client, connu de la banque, et autorisé par celle-ci à émettre des pièces de monnaie électronique. Si à l'issue de l'étape de test E10 le serveur H est déjà connu, on vérifie dans une étape de test EU si la table de pièces 14 contient suffisamment de pièces utilisables sur cette station serveur H pour exécuter une fonction à distance. Dans la négative, une étape de suppression E12 permet d'effacer les pièces restantes dans la table de pièces 14 et on met en oeuvre les étapes décrites précédemment E13 à E17 pour générer de nouve ! ! es pièces utilisables sur la station serveur H. Ainsi, la table de pièces 14 est remplie automatiquement dès lors qu'elle ne contient plus suffisamment d'argent électronique. Le nombre de pièces n générées par la station client U peut dépendre éventuellement de la fréquence d'utilisation de la station serveur H. Ce nombre de pièces peut également être constant et déterminé une fois pour toute. On remarque qu'il est préférable de générer un grand nombre de pièces lors de l'étape de frappe de pièces E14 et de stocker celles-ci dans la table de pièces 14 pour une utilisation ultérieure, c'est-à-dire lorsque l'on souhaite exécuter à distance à partir de la station client U plusieurs fonctions sur un même objet informatique o. En revenant à la figure 3, la station client U génère ensuite dans une étape E18 une requête d'exécution à distance de la fonction f sur un objet informatique o. Ici, et de manière nullement limitative, la somme d'argent nécessaire à l'exécution de la fonction est inscrite directement dans la requête d'exécution à distance de l'opération prédéterminée. Pour cela, une étape de lecture E19 permet de lire dans la table de pièces 14 l'indice de la dernière pièce utilisée. Pour un coût c de la fonction f, et en supposant que chaque pièce W, correspond à une fraction unitaire du coût c, on prélève c pièces de la table de pièces 14. En pratique, on inscrit dans la requête d'exécution à distance la valeur (W, , i+c). Après cette étape d'inscription E20, une étape de mémorisation E21 permet de mémoriser le nouvel indice i + c correspondant à la dernière pièce utilisée dans la table de pièces 14 pour le serveur H. Ainsi, la requête d'exécution à distance transmise par la station client U lors de l'étape d'envoi E22 contient la somme d'argent nécessaire à l'exécution de la fonction demandée sur la station serveur H. Eventuellement, une étape de réception E23 permet de recevoir le résultat de l'exécution de la fonction f sur l'objet o. La fonction peut être ainsi exécutée et payée au fur et à mesure. Dans l'exemple donné ici, de manipulation d'une image numérique, l'utilisateur de la station client U n'est pas obligé d'acheter au préalable un logiciel de traitement d'images. Au contraire, l'utilisateur ne paiera que les fonctions réellement utilisées pour manipuler une image. Grâce au système de micro-paiement décrit précédemment, les pièces n'occupent qu'un espace mémoire réduit dans la requête d'exécution à distance d'une fonction. Les pièces générées ont chacune une longueur par exemple de 32 octets. L'indice de la pièce dans la suite de pièces générées peut être codé sur 16 bits, ce qui permet de générer 216 pièces. Par ailleurs, le coût d'exécution n'est pas connu à l'avance par la station client et il peut être fixé librement par la station serveur, notamment en fonction de l'objet ou des données sur lesquelles s'applique la fonction. Ainsi, certaines fonctions relativement rapides et faciles à exécuter (par exemple la conversion en noir et blanc d'une image de 16 pixels de côté) seront moins coûteuses qu'une opération nettement plus longue et plus complexe (par exemple la rotation de 35 degrés d'une image de 2 048 pixels de côté). La conversion en noir et blanc sera par exemple facturée 1 centime par la station serveur H, tandis que la rotation sera facturée 1 franc. On va décrire à présent, en référence aux figures 5 et 6, le procédé d'exécution d'une fonction sur la station serveur, cette fonction ayant été commandée à distance par la station client U. Avant de réaliser toute fonction payante sur la station serveur H, il est nécessaire pour la station serveur H de mémoriser au préalable la lettre de change reçue par le serveur H à l'issue de l'étape d'envoi E17. Cette procédure de traitement d'une lettre de change est illustrée à la figure 5. Une étape d'obtention E31 permet à la station serveur H d'obtenir auprès d'un organisme de certification la clé publique de la banque PKb correspondant à la procédure de signature utilisée par la banque. Comme décrit précédemment, une étape de vérification E32 du certificat de banque C (PKe) peut être mise en oeuvre à partir de la clé publique de banque PKb afin de vérifier la signature. A l'issue d'une étape de test E33, si cette signature est non valide, la procédure est interrompue. Sinon, une étape de lecture E34 est mise en oeuvre afin de lire la clé publique de la station client PKe. Cette clé publique PKe permet de vérifier dans une étape E35 la signature de la lettre de change C (Wo) reçue par le routeur. A l'issue d'une étape de test E36, si cette signature est non valide, la procédure est interrompue. Sinon, une étape de lecture E37 est mise en oeuvre afin de lire l'identité de la station client U. Une étape de mémorisation E38 permet ensuite de mémoriser la lettre de change dans la table de lettre de change 25 de la station serveur H. En pratique, chaque identifiant de la station client U est mémorisé en association avec le certificat d'authenticité ou lettre de change C (Wo), et plus précisément avec la valeur de la pièce racine Wo. On va décrire à présent, en référence à la figure 6, la procédure d'exécution d'une fonction sur la station serveur H, cette fonction étant commandée par la station client U. Une étape de réception E41 permet de réceptionner la requête d'exécution à distance envoyée par la station client U. Une étape de test E42 permet de vérifier si il existe une lettre de change dans la table des lettres de change 25 de la station serveur H correspondant à la station client U. Dans la négative, la requête d'exécution à distance d'une fonction est rejetée et la transmission sur le réseau est interrompue. Sinon, une étape de test E43 permet de vérifier que la requête comporte bien dans un champ spécifique une somme d'argent S correspondant au paiement de la fonction à exécuter. Dans la négative, la procédure de traitement de la requête d'exécution à distance est également interrompue. Sinon, une étape d'extraction E44 est mise en oeuvre afin de lire le montant mémorisé correspondant ici à une pièce W, et son indice i dans la chaîne de pièces générées au niveau de la station client U. A partir de la lecture de la lettre de change dans la table 25, on peut obtenir la valeur de la pièce racine Wo dans une étape de lecture E45. Une étape de validation E46 permet alors de vérifier l'authenticité de la pièce W,. En pratique, on applique sur cette pièce courante W, la fonction de hachage h de manière récursive, et ici i fois : h (h (... h (W,))) La valeur ainsi obtenue est comparée à la valeur de la pièce racine WO. On peut également, pour accélérer cette étape de validation E46, appliquer, de manière récursive, i-j fois la fonction de hachage h, c'est-à-dire un nombre de fois juste suffisant pour retrouver une pièce W,, d'indice j inférieur à l'indice courant i, et déjà prélevée par le serveur pour le paiement de l'exécution d'une fonction. Si la valeur obtenue est différente, la procédure de traitement de la requête d'exécution de fonction est interrompue. La station serveur H conserve ainsi un débit important, proche de celui d'un même système sans paiement. En effet, la vérification du paiement par la station serveur H est une opération simple, consistant à appliquer une fonction de hachage. En particulier, il n'est ni nécessaire de faire appel à un organisme bancaire pour la vérification, ni de mettre en oeuvre des procédés cryptographiques coûteux. Ceci est important dans un système qui peut, dans certain cas, avoir à réaliser plusieurs milliers d'opérations à distance par seconde. Après validation des pièces reçues, une étape de lecture E47 est mise en oeuvre pour obtenir l'interface de l'objet o à manipuler. A partir de la lecture de cette interface stockée sur la station serveur H, on obtient le coût c associé à l'exécution de cette fonction f appliquée à l'objet o. Cette étape d'obtention E48 est mise en oeuvre comme décrit précédemment en référence à la figure 3. En pratique, soit le coût d'exécution c est fixe et lu directement dans l'interface, soit le coût d'exécution est le résultat d'une expression à calculer. Ensuite, une étape de lecture E49 permet de lire l'indice j de la dernière pièce reçue, et une étape de test E50 permet de vérifier si le nombre de pièces reçues est suffisant pour payer le coût c de la fonction à exécuter. En pratique, on vérifie à l'étape de test E50 l'égalité suivante c = i-j où c est le coût associé à la fonction f, i est l'indice de la pièce courante, et j est l'indice de la dernière pièce reçue par la station serveur H. Bien entendu, on pourrait seulement vérifier que le coût c est inférieur ou égal à i-j. Si le paiement inclus dans la requête d'exécution d'une fonction à distance n'est pas suffisant, la procédure de traitement de cette requête est interrompue. Sinon, une étape de mémorisation E51 permet de mémoriser le nouvel indice i comme indice j de la dernière pièce reçue. Une étape d'ajout E52 permet ensuite de mémoriser la pièce prélevée W, associée à son indice i dans un porte-monnaie électronique de la station serveur H. Ensuite, de manière classique, une étape d'exécution E53 permet d'exécuter la fonction demandée sur l'objet o. Une étape de test E54 permet de vérifier si il existe un résultat à l'issue de l'exécution de cette fonction. Dans l'affirmative, une étape d'envoi E55 est adaptée à retourner le résultat à la station client U. Grâce à l'invention, les fonctions étant payées au fur et à mesure de leur exécution, il n'est pas nécessaire pour la station serveur d'ouvrir un compte pour chaque station client U. Périodiquement, chaque station serveur H peut retransmettre à l'organisme bancaire les valeurs W, associées à chaque indice i, mémorisées dans le porte-monnaie électronique, afin d'en récupérer la valeur monétaire. On peut ainsi exécuter à distance des fonctions rémunérées sur différents objets d'un réseau de communication, sans retarder leur exécution. Bien entendu, de nombreuses modifications peuvent être apportées à l'exemple de réalisation décrit si dessus sans sortir du cadre de l'invention. En particulier, le système PayWord n'est qu'un exemple parmi d'autres de monnaie électronique pouvant être générée sur la station client U et dépensée ensuite sur la station serveur H d'un réseau de communication. En outre, le langage perfectionné XML utilisé ici peut être remplacé par d'autres systèmes connus tels que CORBA, DCOM ou JAVA/RMI. Enfin, le procédé d'exécution de fonctions à distance décrit ici peut s'appliquer à d'autres systèmes informatiques qu'un système distribué orientéobjet. REVENDICATIONS 1. Procédé d'exécution à distance d'une fonction (f) d'une station serveur (H) à partir d'une station client (U) comprenant une étape d'envoi (E22) d'une requête d'exécution à distance d'une fonction prédéterminée (f), caractérisé en ce qu'il comprend une étape d'envoi (E22) à ladite station serveur (H) d'une somme d'argent (W,, i) au moins égale à un coût d'exécution (c) associé à ladite fonction prédéterminée (f). 2. Procédé d'exécution à distance conforme à la revendication 1, caractérisé en ce que ladite somme d'argent (W,, i) est inscrite dans la requête d'exécution à distance de la fonction prédéterminée. 3. Procédé d'exécution à distance conforme à l'une des revendications 1 ou 2, caractérisé en ce qu'il comprend une étape préalable d'obtention (E1-E8) du coût d'exécution (c) associé à ladite fonction prédéterminée (f). 4. Procédé d'exécution à distance conforme à la revendication 3, caractérisé en ce qu'il comprend une étape de mémorisation (E3) dans une mémoire (12) de la station client (U) du coût d'exécution (c) associé à une fonction prédéterminée (f). 5. Procédé d'exécution à distance conforme à l'une des revendications 1 à 4, caractérisé en ce qu'il comprend une étape de réception (E2) d'une interface d'un objet informatique (o) incluant le coût d'exécution (c) d'une ou plusieurs fonctions (f). 6. Procédé d'exécution d'une fonction (f) sur une station serveur (H), commandée à distance à partir d'une station client (U), comprenant une étape de réception (E41) d'une requête d'exécution à distance d'une fonction prédéterminée, caractérisé en ce qu'il comprend les étapes suivantes : - lecture (E48) du coût d'exécution (c) associé à ladite fonction (f) ; - réception (E41) d'une somme d'argent (W,, i) envoyée par ladite station client (U) ; et - exécution (E53) de ladite fonction prédéterminée (f) si ladite somme d'argent (W,, i) est au moins égale au coût d'exécution (c) associé à ladite fonction prédéterminée. 7. Procédé d'exécution d'une opération conforme à la revendication 6, caractérisé en ce qu'à l'étape de réception (E41) d'une somme d'argent, ladite somme d'argent (W,, i) est extraite de la requête d'exécution à distance réceptionnée. 8. Procédé d'exécution conforme à l'une des revendications 6 ou 7, caractérisé en ce qu'il comprend en outre une étape d'authentification (E46) de ladite somme d'argent (W,, i) envoyée par la station client (U). 9. Dispositif d'exécution à distance d'une fonction (f) d'une station serveur (H) à partir d'une station client (U) comprenant des moyens d'envoi (15) d'une requête d'exécution à distance d'une fonction prédéterminée, caractérisé en ce qu'il comprend des moyens d'envoi (15) à ladite station serveur (H) d'une somme d'argent au moins égale à un coût d'exécution associé à ladite fonction prédéterminée. 10. Dispositif d'exécution conforme à la revendication 9, caractérisé en ce qu'il comprend des moyens d'inscription (15) de ladite somme d'argent dans la requête d'exécution à distance de la fonction prédéterminée. 11. Dispositif d'exécution à distance conforme à l'une des revendications 9 ou 10, caractérisé en ce qu'il comprend des moyens d'obtention (11) du coût d'exécution associé à ladite fonction prédéterminée. 12. Dispositif d'exécution à distance conforme à l'une des revendications 9 à 11, caractérisé en ce qu'il comprend une mémoire (12) adaptée à mémoriser le coût d'exécution associé à une fonction prédéterminée. 13. Dispositif d'exécution à distance conforme à l'une des revendications 9 à 12, caractérisé en ce qu'il est incorporé dans : - un microprocesseur (30) ; - une mémoire morte (31) adaptée à mémoriser un programme pour exécuter à distance une fonction ; et - une mémoire vive (32) comprenant des registres adaptés à mémoriser des variables modifiées lors de l'exécution dudit programme. 14. Dispositif d'exécution d'une fonction sur une station serveur (H), commandée à distance à partir d'une station client (U), comprenant des moyens de réception (21) d'une requête d'exécution à distance d'une fonction prédéterminée, caractérisé en ce qu'il comprend : - des moyens de lecture (22) du coût d'exécution associé à ladite fonction ; - des moyens de réception (21) d'une somme d'argent envoyée par ladite station client ; et - des moyens d'exécution (26) d'une fonction adaptés à exécuter ladite fonction si ladite somme d'argent est au moins égale au coût d'exécution associé à ladite fonction prédéterminée. 15. Dispositif d'exécution d'une fonction conforme à la revendication 14, caractérisé en ce que les moyens de réception (21) d'une somme d'argent sont adaptés à extraire ladite somme d'argent de la requête d'exécution à distance réceptionnée. 16. Dispositif d'exécution d'une opération conforme à l'une des revendications 14 ou 15, caractérisé en ce qu'il comprend en outre des moyens d'authentification (24) de ladite somme d'argent envoyée par la station client (U). 17. Dispositif d'exécution d'une opération conforme à l'une des revendications 14 à 16, caractérisé en ce qu'il est incorporé dans : un microprocesseur (30) ; - une mémoire morte (31) adaptée à mémoriser un programme pour exécuter une fonction commandée à distance ; et - une mémoire vive (32) comprenant des registres adaptés à mémoriser des variables modifiées lors de l'exécution dudit programme. 18. Station client d'un réseau de communication, caractérisée en ce qu'elle comprend des moyens adaptés à mettre en oeuvre le procédé d'exécution à distance conforme à l'une des revendications 1 à 5. 19. Station serveur d'un réseau de communication, caractérisée en ce qu'elle comprend des moyens adaptés à mettre en oeuvre le procédé d'exécution d'une fonction conforme à l'une des revendications 6 à 8. 20. Réseau de communication, caractérisé en ce qu'il comprend un dispositif d'exécution à distance d'une fonction conforme à l'une des revendications 9 à 13. 21. Réseau de communication, caractérisé en ce qu'il comprend un dispositif d'exécution d'une fonction conforme à l'une des revendications 14 à 17.