FR2819960A1 - Method for undoing from one customer station a server operation initiated by another station, comprises calculation of undoing cost and return to initiating station of annulling payment less cost - Google Patents
Method for undoing from one customer station a server operation initiated by another station, comprises calculation of undoing cost and return to initiating station of annulling payment less cost Download PDFInfo
- Publication number
- FR2819960A1 FR2819960A1 FR0200399A FR0200399A FR2819960A1 FR 2819960 A1 FR2819960 A1 FR 2819960A1 FR 0200399 A FR0200399 A FR 0200399A FR 0200399 A FR0200399 A FR 0200399A FR 2819960 A1 FR2819960 A1 FR 2819960A1
- Authority
- FR
- France
- Prior art keywords
- cancellation
- function
- station
- client station
- execution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Marketing (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
Description
<Desc/Clms Page number 1> <Desc / Clms Page number 1>
La présente invention concerne un procédé d'annulation d'une opération exécutée à distance sur une station serveur. The present invention relates to a method for canceling an operation executed remotely on a server station.
Aujourd'hui, de plus en plus d'ordinateurs travaillent en réseau et utilisent des services fournis par d'autres ordinateurs. Ainsi, il est courant sur un réseau de communication qu'une station client, connectée via le réseau à une ou plusieurs stations serveurs, utilise les services de l'une des stations serveurs. Today, more and more computers work on a network and use services provided by other computers. Thus, it is common on a communication network for a client station, connected via the network to one or more server stations, to use the services of one of the server stations.
Ces services peuvent être par exemple l'exécution à distance d'une opération ou d'une fonction sur un objet informatique hébergé sur la station serveur. A titre d'exemple, la station client peut utiliser les services fournis par la station serveur afin de manipuler une image à distance. These services can for example be the remote execution of an operation or a function on a computer object hosted on the server station. For example, the client station can use the services provided by the server station to manipulate an image remotely.
Ces services peuvent encore être la fourniture d'un document par la station serveur. These services can also be the provision of a document by the server station.
Généralement, sur un réseau de communication, ces services fournis par les stations serveurs sont rémunérés et facturés à chaque station client. Generally, on a communication network, these services provided by the server stations are remunerated and billed to each client station.
Ainsi, chaque opération est associée à un coût d'exécution mémorisé sur la station serveur. Lors de l'exécution de chacune de ces opérations, ces dernières sont facturées à la volée à la station client, c'est-à-dire au fur et à mesure de l'exécution de ces opérations. Thus, each operation is associated with an execution cost stored on the server station. During the execution of each of these operations, the latter are billed on the fly to the client station, that is to say as and when these operations are carried out.
L'invention concerne plus particulièrement l'annulation d'une opération exécutée à distance sur une station serveur. The invention relates more particularly to the cancellation of an operation executed remotely on a server station.
L'annulation d'une telle opération (en anglais"undo") permet d'annuler les effets d'une fonction exécutée à distance. The cancellation of such an operation (in English "undo") makes it possible to cancel the effects of a function executed remotely.
En effet, il n'est pas rare qu'un utilisateur souhaite revenir à un point de départ sur un objet manipulé, par exemple après une manipulation malencontreuse de l'objet. Indeed, it is not uncommon for a user to wish to return to a starting point on a manipulated object, for example after an unfortunate manipulation of the object.
<Desc/Clms Page number 2> <Desc / Clms Page number 2>
Il est également courant qu'un utilisateur procède par touche successive pour modifier un objet tel qu'une image, et revienne régulièrement en arrière pour supprimer certains effets indésirables. It is also common for a user to use a successive key to modify an object such as an image, and regularly go back to remove certain undesirable effects.
On connaît par exemple le logiciel Adobe Photoshopo qui traite une photographie numérique et applique successivement divers filtres numériques pour trouver le filtre convenant le mieux. We know for example the Adobe Photoshopo software which processes a digital photograph and successively applies various digital filters to find the most suitable filter.
Cette possibilité de retour en arrière et d'annulation d'une opération est unanimement plébiscitée et généralement incorporée à la plupart des logiciels du marché. This possibility of going back and canceling an operation is unanimously acclaimed and generally incorporated into most software on the market.
La présente invention a pour but de conserver cette fonction d'annulation dans un système dans lequel les services fournis par les stations serveurs sont rémunérés et facturés à une station client du réseau. The object of the present invention is to maintain this cancellation function in a system in which the services provided by the server stations are remunerated and billed to a client station on the network.
Elle permet notamment d'annuler des fonctions dans un environnement collaboratif dans lequel plusieurs stations clients ont accès aux services d'une station serveur. It allows in particular to cancel functions in a collaborative environment in which several client stations have access to the services of a server station.
A cet effet, le procédé d'annulation visé par l'invention permet d'annuler à distance une fonction exécutée par une première station client sur un objet informatique stocké sur une station serveur d'un réseau de communication, l'exécution de la fonction étant adaptée à manipuler l'objet d'un état antérieur vers un état manipulé. To this end, the cancellation method aimed at by the invention makes it possible to remotely cancel a function executed by a first client station on a computer object stored on a server station of a communication network, the execution of the function being adapted to manipulate the object from a previous state to a manipulated state.
Conformément à l'invention, ce procédé d'annulation comprend les étapes suivantes : - réception d'une requête d'annulation de l'exécution d'une
fonction, émise par une station client du réseau de communication ; obtention dudit état antérieur de l'objet manipulé ; et envoi d'une réponse à la première station client via le réseau de communication, ladite réponse comprenant une somme de monnaie électronique au plus égale à un coût d'exécution associé à ladite fonction. According to the invention, this cancellation method comprises the following steps: - reception of a request to cancel the execution of a
function, issued by a client station of the communication network; obtaining said previous state of the object handled; and sending a response to the first client station via the communication network, said response comprising an amount of electronic money at most equal to an execution cost associated with said function.
Le procédé d'annulation conforme à l'invention permet à une station client d'annuler une opération effectuée précédemment et de rembourser au moins une partie des frais engagés pour cette exécution à la station client du réseau ayant requis l'exécution de la fonction. The cancellation method according to the invention allows a client station to cancel an operation carried out previously and to reimburse at least part of the costs incurred for this execution to the client station of the network having requested the execution of the function.
<Desc/Clms Page number 3> <Desc / Clms Page number 3>
Ainsi, l'utilisateur peut être dédommagé des frais engagés pour l'exécution d'une fonction à distance lorsque celle-ci est annulée. Thus, the user can be compensated for the costs incurred for the execution of a remote function when it is canceled.
En outre, l'envoi de la réponse permet d'informer la première station client de l'annulation de la fonction exécutée antérieurement sur sa requête. In addition, sending the response allows the first client station to be informed of the cancellation of the function previously executed on its request.
Selon une caractéristique préférée de l'invention, à l'étape d'envoi, la somme de monnaie électronique est inférieure ou égale à un montant perçu par la station serveur pour l'exécution de ladite fonction. According to a preferred characteristic of the invention, in the sending step, the sum of electronic money is less than or equal to an amount collected by the server station for the execution of said function.
Ainsi, un montant de remboursement est déterminé à partir du montant effectivement perçu par la station serveur pour l'exécution de la fonction, qui peut inclure notamment des rabais éventuels sur le coût d'exécution de la fonction. Thus, a reimbursement amount is determined from the amount actually received by the server station for the execution of the function, which may notably include possible discounts on the cost of performing the function.
Selon une autre caractéristique avantageuse de l'invention, la somme de monnaie électronique est strictement inférieure audit montant perçu. According to another advantageous characteristic of the invention, the sum of electronic money is strictly less than said amount received.
Ainsi, le remboursement est partiel. Thus, the reimbursement is partial.
Bien qu'un remboursement complet soit évidemment plus intéressant pour l'utilisateur, ce dernier risquerait d'abuser de la fonction d'annulation des opérations dans un tel cas. Although a full refund is obviously more interesting for the user, the latter would risk abusing the function of cancellation of operations in such a case.
Un remboursement partiel force ainsi les utilisateurs à user de manière plus parcimonieuse de la fonction d'annulation d'une fonction, tout en leur permettant de corriger malgré tout des erreurs éventuelles de manipulation. Partial reimbursement thus forces users to use the function of canceling a function more sparingly, while still allowing them to correct any handling errors.
Selon un autre caractéristique préférée de l'invention, ce procédé d'annulation comprend en outre une étape de calcul d'un coût d'annulation associé à la requête d'annulation reçue, la somme de monnaie électronique étant calculée après déduction du coût d'annulation. According to another preferred characteristic of the invention, this cancellation method further comprises a step of calculating a cancellation cost associated with the cancellation request received, the sum of electronic money being calculated after deduction of the cost d 'cancellation.
Ainsi, la fonction d'annulation peut elle-même être payante à l'instar des autres fonctions exécutables à distance sur la station serveur. Thus, the cancellation function can itself be chargeable like the other functions executable remotely on the server station.
Ce coût d'exécution de la fonction annulation, ou coût d'annulation, est ainsi déduit du montant à rembourser. This cost of executing the cancellation function, or cancellation cost, is thus deducted from the amount to be reimbursed.
Selon une autre caractéristique préférée de l'invention, le procédé d'annulation comprend en outre une étape de génération d'une monnaie électronique sur ladite station serveur, associée à ladite première station client. According to another preferred characteristic of the invention, the cancellation method further comprises a step of generating electronic money on said server station, associated with said first client station.
<Desc/Clms Page number 4> <Desc / Clms Page number 4>
Ainsi, la station serveur génère sa propre monnaie électronique pour rembourser la station client ayant requis l'exécution de la fonction annulée. Thus, the server station generates its own electronic money to reimburse the client station that required the execution of the canceled function.
En pratique, lorsque la rémunération de chaque opération exécutée est réalisée au moyen d'une monnaie électronique générée par la station client, il n'est pas possible d'annuler ce paiement en retournant l'argent reçu. In practice, when the remuneration for each operation executed is achieved by means of electronic money generated by the client station, it is not possible to cancel this payment by returning the money received.
En effet, rien ne garantit à la station client que la station serveur ne gardera pas une copie des pièces de monnaie électronique remboursées en vue d'une utilisation frauduleuse. Indeed, there is no guarantee to the client station that the server station will not keep a copy of the electronic coins reimbursed for fraudulent use.
La génération d'une monnaie électronique propre au remboursement permet de résoudre ce problème. The generation of an electronic money suitable for reimbursement solves this problem.
Selon une caractéristique préférée de l'invention, le procédé d'annulation comprend une étape de réception d'une requête d'annulation de l'exécution d'une fonction, émise par une deuxième station client du réseau de communication, cette requête d'annulation comprenant une somme de monnaie électronique, et une étape d'envoi d'une deuxième réponse à la deuxième station client via le réseau de communication, la deuxième réponse comprenant une somme de monnaie électronique au plus égale à la somme de monnaie électronique incluse dans la requête d'annulation. According to a preferred characteristic of the invention, the cancellation method comprises a step of receiving a request to cancel the execution of a function, sent by a second client station of the communication network, this request for cancellation comprising an amount of electronic money, and a step of sending a second response to the second client station via the communication network, the second response comprising an amount of electronic money at most equal to the amount of electronic money included in the cancellation request.
Pour chaque requête en annulation d'une fonction, il est possible d'identifier la station client ayant demandée l'exécution préalable de la fonction de telle sorte que la somme de monnaie électronique correspondant au remboursement au moins partiel du coût d'exécution est effectivement envoyé à la station client ayant requis l'exécution de la fonction. For each request for cancellation of a function, it is possible to identify the client station having requested the prior execution of the function so that the sum of electronic money corresponding to the at least partial reimbursement of the execution cost is effectively sent to the client station that requested the execution of the function.
Ainsi, lorsque la station client requérant l'annulation d'une fonction est différente de la station client ayant requis son exécution, la station serveur envoie deux réponses : une première réponse à la première station client ayant requis l'exécution de la fonction, dans lequel un montant de remboursement est inclus, et une deuxième réponse à la deuxième station client, ayant requis l'annulation de la fonction. Thus, when the client station requesting the cancellation of a function is different from the client station having requested its execution, the server station sends two responses: a first response to the first client station having requested the execution of the function, in which a reimbursement amount is included, and a second response to the second client station, having requested the cancellation of the function.
Cette deuxième réponse peut comprendre une somme de monnaie électronique égale à la somme de monnaie électronique incluse dans la requête d'annulation, auquel cas l'annulation de la fonction ne coûte rien à la deuxième This second response may include an amount of electronic money equal to the amount of electronic money included in the cancellation request, in which case the cancellation of the function does not cost the second
<Desc/Clms Page number 5><Desc / Clms Page number 5>
station client. Elle peut également être strictement inférieure à la somme de monnaie électronique incluse dans la requête d'annulation, auquel cas un certain coût d'annulation est supporté par la deuxième station client du réseau de communication. client station. It can also be strictly lower than the sum of electronic money included in the cancellation request, in which case a certain cancellation cost is borne by the second client station of the communication network.
En pratique, le procédé d'annulation comprend une étape de calcul d'un coût d'annulation associé à la requête d'annulation reçue de la deuxième station client du réseau de communication, et, à l'étape d'envoi de la deuxième réponse, la somme de monnaie électronique est calculée en déduisant ledit coût d'annulation de la somme de monnaie électronique incluse dans la requête d'annulation. In practice, the cancellation method comprises a step of calculating a cancellation cost associated with the cancellation request received from the second client station of the communication network, and, in the step of sending the second answer, the sum of electronic money is calculated by deducting said cancellation cost from the sum of electronic money included in the cancellation request.
Ainsi, un coût d'annulation est également supporté par l'utilisateur demandant l'annulation de l'exécution d'une fonction. Cela permet d'éviter qu'un utilisateur du réseau de communication annule trop fréquemment des fonctions réalisées préalablement par d'autres utilisateurs du réseau de communication. Thus, a cancellation cost is also borne by the user requesting the cancellation of the execution of a function. This prevents a user of the communication network from too frequently canceling functions previously performed by other users of the communication network.
En pratique, un coût d'annulation peut être facturé à la fois à la première station client, ayant requis et payé l'exécution de la fonction, et à la deuxième station client, ayant requis l'annulation de la fonction. On peut ainsi partager les frais d'annulations entre les différents utilisateurs du réseau de communication. In practice, a cancellation cost can be invoiced both to the first client station, having requested and paid for the execution of the function, and to the second client station, having requested the cancellation of the function. Cancellation fees can thus be shared between the different users of the communication network.
Corrélativement, la présente invention concerne un dispositif d'annulation d'une fonction exécutée par une première station client sur un objet informatique stocké sur une station serveur d'un réseau de communication, l'exécution de la fonction étant adaptée à manipuler ledit objet d'un état antérieur vers un état manipulé. Correlatively, the present invention relates to a device for canceling a function executed by a first client station on a computer object stored on a server station of a communication network, the execution of the function being adapted to handle said object d 'a previous state towards a manipulated state.
Ce dispositif d'annulation comprend : - des moyens de réception d'une requête d'annulation de l'exécution d'une fonction, émise par une station client du réseau de communication ; des moyens d'obtention dudit état antérieur de l'objet manipulé ; et This cancellation device comprises: - means for receiving a request to cancel the execution of a function, sent by a client station of the communication network; means for obtaining said previous state of the manipulated object; and
<Desc/Clms Page number 6><Desc / Clms Page number 6>
des moyens d'envoi d'une réponse à ladite première station client via le réseau de communication, ladite réponse comprenant une somme de monnaie au plus égale à un coût d'exécution associé à ladite fonction. means for sending a response to said first client station via the communication network, said response comprising a sum of money at most equal to an execution cost associated with said function.
Ce dispositif d'annulation d'une opération, incorporé dans une station serveur, présente des caractéristiques et avantages analogues à ceux décrits précédemment pour le procédé d'annulation d'une opération sur une station serveur. This operation cancellation device, incorporated in a server station, has characteristics and advantages similar to those described above for the method of canceling an operation on a server station.
La présente invention concerne également une station serveur adaptée à mettre en oeuvre le procédé d'annulation d'une opération conforme à l'invention. The present invention also relates to a server station suitable for implementing the method for canceling an operation according to the invention.
Elle concerne aussi un ordinateur et un réseau de communication adapté à mettre en oeuvre le procédé d'annulation d'une opération conforme à l'invention. It also relates to a computer and a communication network suitable for implementing the method of canceling an operation according to the invention.
Enfin, la présente invention vise un programme d'ordinateur, lisible par un microprocesseur, comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé d'annulation d'une opération conforme à l'invention lorsque le programme d'ordinateur est chargé sur un microprocesseur. Finally, the present invention relates to a computer program, readable by a microprocessor, comprising portions of software code adapted to implement the method of canceling an operation according to the invention when the computer program is loaded. on a microprocessor.
Ce réseau de communication, cet ordinateur, cette station serveur et le programme d'ordinateur présentent des caractéristiques et avantages analogues à ceux décrits précédemment. This communication network, this computer, this server station and the computer program have characteristics and advantages similar to those described above.
D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après. Other features and advantages of the invention will appear in the description below.
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'annulation d'une opération 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'annulation d'une opération mis en oeuvre sur une station serveur conforme à un mode de réalisation de l'invention ; In the appended drawings, given by way of nonlimiting examples: - Figure 1 is a block diagram illustrating a client station and a server station of a communication network adapted to implement the method of canceling a compliant operation to the invention; - Figure 2 is a block diagram illustrating a computer adapted to implement the invention; - Figure 3 is an algorithm illustrating the method of canceling an operation implemented on a server station according to an embodiment of the invention;
<Desc/Clms Page number 7><Desc / Clms Page number 7>
- la figure 4 est un algorithme détaillant la procédure de calcul d'un coût d'annulation utilisée à la figure 3 ; - la figure 5 est un algorithme détaillant la procédure de calcul d'un montant à rembourser utilisée à la figure 3 ; - la figure 6 est un algorithme détaillant la procédure d'envoi d'un remboursement utilisée à la figure 3 ; - la figure 7 est un algorithme détaillant la procédure d'obtention d'une somme d'argent utilisée à la figure 6 ; - la figure 8 est un algorithme illustrant un procédé d'annulation à une distance d'une opération mise en oeuvre sur une station client ; - la figure 9 est un algorithme détaillant la procédure d'obtention d'un coût d'exécution d'une opération utilisée à la figure 8 ; et - la figure 10 est un algorithme illustrant une procédure de traitement d'une lettre de change mise en oeuvre sur une station client. - Figure 4 is an algorithm detailing the procedure for calculating a cancellation cost used in Figure 3; - Figure 5 is an algorithm detailing the procedure for calculating an amount to be reimbursed used in Figure 3; - Figure 6 is an algorithm detailing the procedure for sending a refund used in Figure 3; - Figure 7 is an algorithm detailing the procedure for obtaining a sum of money used in Figure 6; - Figure 8 is an algorithm illustrating a method of canceling at a distance an operation implemented on a client station; - Figure 9 is an algorithm detailing the procedure for obtaining an execution cost of an operation used in Figure 8; and FIG. 10 is an algorithm illustrating a procedure for processing a bill of exchange implemented on a client station.
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'annulation d'une opération conforme à l'invention. We will first describe, with reference to Figure 1, a communication network adapted to implement the method of canceling an operation according to the 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. In the following, we consider a client station U connected to a server station H. Of course, in a communication network, the different computers on the network can be in turn client station U or server station H.
En outre, dans un réseau de communication, plusieurs stations client sont en réalité connectées à chaque station serveur H. In addition, in a communication network, several client stations are actually connected to each server station 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 opération directement sur la station serveur H. In this example, the client station U can use the services of the server station H. In particular, the client station U can request the execution of an operation directly on the server station H.
Chaque opération correspond à une série d'instructions d'un programme informatique. Each operation corresponds to a series of instructions from a computer program.
Bien entendu, la station client U pourrait également demander d'autres services à la station serveur H, par exemple la fourniture d'un document. Of course, the client station U could also request other services from the server station H, for example the supply of a document.
<Desc/Clms Page number 8> <Desc / Clms Page number 8>
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. For example, and in no way limiting, the server station can host digital images, and a user can, through the client station U, perform operations on one of the images of the server station 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. The operations can be the conversion of an image into black and white, the rotation of the image or a symmetry with respect to a horizontal or vertical axis of the 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. During a remote execution of such an operation, the image will be constantly stored on the server station H and will not pass over the communication network. The client station will simply send a request for remote execution of the operation to the server station.
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. We will consider in the following description, an object-oriented distributed system (in English "distributed object system"). A computer object is an element comprising data, also called attributes, and functions (in English "functions" or "methods") possibly using parameters ("input arguments" in English). In such a system, functions can be called or invoked (in English "invoked") to manipulate the data of the object.
L'ensemble des fonctions applicables à un objet et des attributs constitue son interface. The set of functions applicable to an object and attributes constitutes its interface.
En pratique, la station client U comporte des moyens d'exécution et de paiement 10 pour l'exécution d'une fonction distante f sur un objet o stocké sur la station serveur H. In practice, the client station U comprises means of execution and payment 10 for the execution of a remote function f on an object o stored on the server station H.
Ces moyens ne nécessitent pas d'être décrits en détails ici pour la suite de l'exposé de l'invention. These means do not need to be described in detail here for the remainder of the description of the invention.
Pour la mise en oeuvre de l'invention, la station client U comporte des moyens d'envoi 11 d'une requête d'annulation d'une fonction f précédemment exécutée sur la station serveur H. For the implementation of the invention, the client station U comprises means 11 for sending a request to cancel a function f previously executed on the server station H.
Comme cela sera bien décrit ci-après, cette fonction f à annuler peut avoir été exécutée sur requête provenant de n'importe quelle station client du réseau de communication. As will be well described below, this function f to be canceled may have been executed on request from any client station of the communication network.
Elle comporte également des moyens de réception 12 d'un montant de remboursement retourné par une station serveur H. It also includes means 12 for receiving a reimbursement amount returned by a server station H.
<Desc/Clms Page number 9> <Desc / Clms Page number 9>
Des moyens de validation et de perception 13 de la somme reçue permettent de valider le montant de remboursement retourné par la station serveur H. Validation and collection means 13 of the amount received make it possible to validate the reimbursement amount returned by the server station H.
En particulier, des moyens de stockage 14 permettent de mémoriser des lettres de change permettant d'authentifier le montant de remboursement reçu. In particular, storage means 14 make it possible to store bills of exchange making it possible to authenticate the amount of reimbursement received.
La mise en oeuvre de ces différents moyens sera expliquée en détail en référence aux figures 6 à 8. The implementation of these different means will be explained in detail with reference to FIGS. 6 to 8.
Corrélativement, la station serveur H comprend des moyens d'exécution et de rémunération 20 pour exécuter des fonctions suite à la réception d'une requête d'exécution émise par une station client U. Correlatively, the server station H comprises execution and remuneration means 20 for executing functions following the reception of an execution request sent by a client station U.
Ces moyens d'exécution et de paiement 20 coopèrent avec les moyens de demande d'exécution et paiement 10 de la station client U de manière à exécuter et facturer chaque fonction f sur un objet informatique o. These execution and payment means 20 cooperate with the execution request and payment means 10 of the client station U so as to execute and invoice each function f on a computer object o.
Ces moyens d'exécution et de rémunération 20 coopèrent avec des moyens de stockage 29 permettant de mémoriser l'identité de chaque station client Up du réseau de communication en association avec chaque fonction f exécutée sur requête de cette station client Up. These execution and remuneration means 20 cooperate with storage means 29 making it possible to memorize the identity of each client station Up of the communication network in association with each function f executed at the request of this client station Up.
Elle comprend également des moyens de réception 21 d'une requête d'annulation d'une fonction f et des moyens d'annulation 22 de cette fonction f permettant de revenir à un état de l'objet o précédant l'exécution de cette fonction f. It also includes means 21 for receiving a request to cancel a function f and means 22 for canceling this function f making it possible to return to a state of the object o preceding the execution of this function f .
Dans ce mode de réalisation, des moyens de stockage 23 permettent de mémoriser le montant perçu Cf par la station serveur H pour l'exécution de chaque fonction f. Ces moyens de stockage 23 coopèrent avec des moyens de calcul 24 permettant de lire et calculer le montant de remboursement. In this embodiment, storage means 23 make it possible to store the amount received Cf by the server station H for the execution of each function f. These storage means 23 cooperate with calculation means 24 making it possible to read and calculate the amount of reimbursement.
Ces moyens d'obtention 24 comprennent en outre des modes de calcul d'un coût d'annulation et des moyens de comparaison du nombre de demandes d'annulation reçues, mémorisé dans une table d'annulation 28, avec une valeur seuil prédéterminé. These obtaining means 24 also comprise methods for calculating a cancellation cost and means for comparing the number of cancellation requests received, stored in a cancellation table 28, with a predetermined threshold value.
<Desc/Clms Page number 10> <Desc / Clms Page number 10>
Des moyens d'obtention 25 permettent d'obtenir une somme d'argent S correspondant au montant de remboursement. Obtaining means 25 make it possible to obtain a sum of money S corresponding to the reimbursement amount.
Ces moyens d'obtention 25 coopèrent avec des moyens de stockage de pièces 26 de manière à prélever un nombre de pièces suffisant, et au moins égal au montant de remboursement associé à la fonction à annuler. These obtaining means 25 cooperate with parts storage means 26 so as to collect a sufficient number of parts, and at least equal to the reimbursement amount associated with the function to be canceled.
Des moyens d'envoi 27 permettent d'envoyer à chaque station client le montant de remboursement. Sending means 27 make it possible to send the reimbursement amount to each client station.
Le fonctionnement de l'ensemble de ces moyens permettant de rembourser une station client lors de l'annulation de l'exécution d'une fonction f sera expliqué ultérieurement en référence aux figures 3 et suivantes. The operation of all of these means making it possible to reimburse a client station during the cancellation of the execution of a function f will be explained later with reference to Figures 3 and following.
L'ensemble de ces moyens 10-14 et 20-29 peuvent être incorporés tant au niveau d'une station client U qu'au niveau de la station serveur H dans un ordinateur tel que représenté à la figure 2. All of these means 10-14 and 20-29 can be incorporated both at a client station U and at the server station H in a computer as shown in FIG. 2.
Cet ordinateur comprend de manière classique un microprocesseur 30, une mémoire morte 31 (Read Only Memory ou ROM) et une mémoire vive 32 (Random Access Memory ou RAM) comportant différents registres pour la mise en oeuvre du procédé conforme à l'invention. This computer conventionally comprises a microprocessor 30, a read only memory 31 (Read Only Memory or ROM) and a random access memory 32 (Random Access Memory or RAM) comprising different registers for implementing the method according to the invention.
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. The computer includes in particular a communication interface 39 which can be connected to a communication network 3 to receive or transfer requests or information.
En outre, l'ordinateur comporte des moyens de stockage de documents, tel qu'un disque dur 36, ou 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). In addition, the computer includes document storage means, such as a hard disk 36, or is adapted to cooperate by means of a disk drive 37 with removable storage means 38 such as floppy disks, disks compacts or computer cards (PC Cards).
Ces moyens de stockage fixes ou amovibles peuvent comporter le code du procédé d'exécution d'opérations conforme à l'invention qui, une fois lu par le microprocesseur 30, sera stocké dans le disque dur 36. These fixed or removable storage means may include the code of the process for carrying out operations in accordance with the invention which, once read by the microprocessor 30, will be stored in the hard disk 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. As a variant, the program allowing the device to implement the invention may be stored in the read-only memory 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. In the second variant, the program can be received to be stored as described above via the communication network 3.
<Desc/Clms Page number 11> <Desc / Clms Page number 11>
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. Conventionally, the computer also has a screen 33 allowing for example to serve as an interface with an operator using a keyboard 34 or a mouse 35 or any other means.
L'unité centrale ou microprocesseur 30 (CPU) va exécuter des instructions relatives à la mise en oeuvre de l'invention. The central unit or microprocessor 30 (CPU) will execute instructions relating to the implementation of the 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. During power-up, the programs and methods relating to the invention, stored in a non-volatile memory, for example read-only memory 31, are transferred to the random access memory 32 which will then contain the executable code of the invention as well as the variables necessary for the implementation of the invention.
Ainsi, la mémoire vive 32 incorporée dans une station client d'un réseau de communication comprendra des registres 14 pour stocker notamment les lettres de change délivrées par chaque station serveur H. Thus, the random access memory 32 incorporated in a client station of a communication network will include registers 14 for storing in particular the bills of exchange issued by each server station H.
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 au moins une table de pièces 26, le montant perçu 23 pour l'exécution de chaque fonction, l'identité 29 de la station client associée à l'exécution de chaque fonction et une table d'annulation 28. Likewise, the random access memory 32 incorporated in a server station of a communication network will include registers for storing at least one table of parts 26, the amount received 23 for the execution of each function, the identity 29 of the station client associated with the execution of each function and a cancellation table 28.
Un bus de communication 40 permet la communication entre les différents sous-éléments de l'ordinateur ou liés à lui. A communication bus 40 allows communication between the different sub-elements of the computer or linked to it.
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 par l'intermédiaire d'un autre sous-élément. The representation of the bus is not limiting and in particular the microprocessor is capable of communicating instructions to any sub-element directly or through another sub-element.
On va décrire à présent en référence à la figure 3, le procédé d'annulation d'une opération tel qu'il est mis en oeuvre sur la station serveur H du réseau de communication, selon un mode de réalisation préféré de l'invention. We will now describe, with reference to FIG. 3, the method for canceling an operation as it is implemented on the server station H of the communication network, according to a preferred embodiment of the invention.
Le procédé d'annulation d'une opération comporte tout d'abord une étape de réception E1 d'une requête d'annulation de l'exécution d'une opération. The method for canceling an operation firstly comprises a step E1 of receiving a request to cancel the execution of an operation.
Cette demande d'annulation est émise par une première station client UA du réseau de communication. This cancellation request is issued by a first client station UA of the communication network.
<Desc/Clms Page number 12> <Desc / Clms Page number 12>
On rappelle ici que chaque objet informatique o est écrit dans un langage de programmation utilisé par l'application informatique propre à l'ordinateur qui héberge o et qu'il est par conséquent nécessaire d'utiliser un langage de communication commun au réseau de communication afin de partager les objets informatiques et notamment d'invoquer à distance des fonctions sur ces objets o. It is recalled here that each computer object o is written in a programming language used by the computer application specific to the computer which hosts o and that it is therefore necessary to use a communication language common to the communication network in order to to share computer objects and in particular to remotely call functions on these objects o.
Sur le réseau Internet on peut utiliser un langage de communication tel que le langage XML ("eXtended Markup Language"en anglais). On the Internet, you can use a communication language such as XML ("eXtended Markup Language" in English).
L'utilisation de ce langage de communication, permettant de décrire des objets informatiques sur le réseau et d'invoquer à distance des fonctions sur ces objets, 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. The use of this communication language, making it possible to describe computer objects on the network and remotely invoke functions on these objects, is described in detail in European patent application 00 401 754.7 filed by Canon Research Center 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. We recall below the description of the different data fields which it is necessary to translate into the network communication language in order to remotely invoke functions on o objects.
Champ : interfaces
Ce champ permet d'envoyer plusieurs interfaces à des applications distantes. Field: interfaces
This field allows you to send multiple interfaces to remote applications.
< interfaces > < interface > ... < /interface > < /interfaces >
Champ : interface
Ce champ correspond au concept générique d'une classe d'objet, comme défini dans les langages JAVA ou C++. <interfaces><interface> ... </ interface></interfaces>
Field: interface
This field corresponds to the generic concept of an object class, as defined in the JAVA or C ++ languages.
Une interface décrit les opérations ou fonctions qui sont supportées par un objet informatique o. An interface describes the operations or functions which are supported by a computer object o.
Ces opérations utilisent généralement des paramètres et fournissent éventuellement un résultat. These operations generally use parameters and possibly provide a result.
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. An interface also describes the attributes or data field that all objects supporting this interface contain when they are translated into the communication language.
<Desc/Clms Page number 13> <Desc / Clms Page number 13>
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. An interface can also contain a reference to other interfaces, either that they extend to these other interfaces or only provide a shortcut (in English "short hand") to use these other interfaces. The object then supports all of these other referenced interfaces.
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. Field: attribute
This field contains the list of attributes that an object supporting the interface contains when it is translated into the communication language.
Champ : fonctions
Ce champ contient la liste des fonctions ou opérations associées à l'objet informatique supportant cette interface. Field: functions
This field contains the list of functions or operations associated with the IT object supporting this interface.
< functions > < function > ... < /function > < /functions >
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. <functions><function> ... </ function></functions>
Field: function
This field corresponds to the generic concept of function. A function is identified by its signature, for example a name, the type of parameter used and the type of object obtained during the execution of this function.
Champ : arguments
Ce champ contient la liste des paramètres (en anglais"input arguments") dont une fonction a besoin pour sa mise en oeuvre. Field: arguments
This field contains the list of parameters (in English "input arguments") that a function needs for its implementation.
< arguments > < arg > ... < /arg > < /arguments >
Champ : argument
Ce champ correspond à un paramètre d'une fonction et peut être par exemple un objet littéral ou un objet complexe. <arguments><arg> ... </ arg></arguments>
Field: argument
This field corresponds to a parameter of a function and can for example be a literal object or a complex object.
Le champ fonction permet ainsi d'invoquer une fonction sur un objet distant. On doit spécifier l'objet cible 0 et les paramètres de la fonction comme décrit précédemment. The function field thus makes it possible to invoke a function on a remote object. We must specify the target object 0 and the parameters of the function as described above.
<Desc/Clms Page number 14> <Desc / Clms Page number 14>
Conformément à l'invention, le champ fonction permet d'invoquer la fonction "annuler" sur un objet distant o. According to the invention, the function field makes it possible to invoke the "cancel" function on a remote object o.
Le nom de la fonction à annuler est inclus dans le champ argument de la fonction"annuler". The name of the function to cancel is included in the argument field of the "cancel" function.
Une étape d'extraction E2 permet d'extraire l'identité d'une opération qui est ici une fonction f exécutée sur un objet o. An extraction step E2 makes it possible to extract the identity of an operation which is here a function f executed on an object o.
Une étape de test E3 permet de vérifier si cette fonction f a déjà été exécutée sur l'objet o sur la station serveur H suite à une requête d'exécution envoyée par une station client U du réseau de communication. A test step E3 makes it possible to check whether this function f has already been executed on the object o on the server station H following an execution request sent by a client station U of the communication network.
Dans la négative, la station serveur H envoie en retour dans une étape d'envoi E9 à la première station client UA une réponse signalant l'impossibilité d'annuler une opération f non exécutée. If not, the server station H sends back in a sending step E9 to the first client station UA a response signaling the impossibility of canceling an operation f not executed.
Si l'opération f a déjà été exécutée, on obtient dans une étape d'obtention E4 la liste de fonctions à annuler. If the operation f has already been executed, in a step of obtaining E4, the list of functions to be canceled is obtained.
En effet, si cette fonction f n'est pas la dernière fonction exécutée sur l'objet o sur la station serveur, l'étape d'obtention E4 permet d'obtenir la liste des opérations exécutées après l'exécution de cette opération f à annuler. Indeed, if this function f is not the last function executed on the object o on the server station, the obtaining step E4 makes it possible to obtain the list of operations executed after the execution of this operation f at to cancel.
Bien entendu, si la fonction f à annuler est la dernière fonction exécutée, cette liste est restreinte à cette unique fonction f. Of course, if the function f to be canceled is the last function executed, this list is restricted to this single function f.
Une étape d'obtention E5 est mise en oeuvre pour obtenir l'identité de la station client UA, généralement incorporée dans la demande d'annulation de l'exécution d'une opération. An obtaining step E5 is implemented to obtain the identity of the client station UA, generally incorporated in the request to cancel the execution of an operation.
Une étape d'obtention E6 est ensuite mise en oeuvre afin d'obtenir un coût d'annulation CA. A step of obtaining E6 is then implemented in order to obtain a cancellation cost CA.
En effet, comme décrit ultérieurement, le montant du remboursement effectué lors de l'annulation d'une fonction est calculé à partir d'un montant perçu et prend en compte de préférence un coût d'annulation CA. Indeed, as described later, the amount of the reimbursement made upon the cancellation of a function is calculated from an amount received and preferably takes into account a CA cancellation cost.
En effet, un remboursement complet, correspondant au montant effectivement perçu pour l'exécution de la fonction est plus intéressant pour chaque utilisateur du réseau de communication, mais risque de surcharger la station serveur H. Indeed, a full refund, corresponding to the amount actually received for the execution of the function is more attractive for each user of the communication network, but risks overloading the server station H.
<Desc/Clms Page number 15> <Desc / Clms Page number 15>
Les opérations annulées ne coûtant rien aux utilisateurs, ces derniers risquent d'en abuser. En revanche, un remboursement partiel force les utilisateurs à être plus parcimonieux dans l'utilisation de la fonction d'annulation tout en leur permettant de corriger malgré tout les erreurs éventuelles de manipulation. Since the canceled operations cost the users nothing, they risk abusing them. On the other hand, a partial refund forces users to be more parsimonious in the use of the cancellation function while allowing them to correct any manipulation errors despite everything.
Ainsi, en d'autres termes, la fonction d'annulation est elle-même payante à l'instar des autres fonctions exécutables à distance sur la station serveur H. Thus, in other words, the cancellation function is itself chargeable like the other functions executable remotely on the server station H.
On peut ainsi calculer un coût d'annulation CA associé à chaque demande d'annulation. We can thus calculate a CA cancellation cost associated with each cancellation request.
Un exemple de calcul va être décrit ci-après en référence à la figure 4. An example of calculation will be described below with reference to FIG. 4.
De préférence, la station serveur appliquera un barème dégressif de telle sorte que chaque nouvelle d'annulation sera un peu moins remboursée que la précédente. Preferably, the server station will apply a declining scale so that each new cancellation will be reimbursed a little less than the previous one.
En pratique, le coût d'annulation CA sera augmenté à chaque nouvelle demande d'annulation reçue par la station serveur H et émise par une même station client UA du réseau de communication. In practice, the cancellation cost CA will be increased with each new cancellation request received by the server station H and sent by the same client station UA of the communication network.
De préférence également ce barème dégressif n'entrera pas en place immédiatement. Chaque station client U bénéficiera d'un certain"crédit" d'annulation de telle sorte que le coût d'annulation sera nul si le nombre de demandes d'annulations n émises par la station client U reste inférieur à une valeur de seuil préfixée T. Preferably also this declining scale will not come into place immediately. Each client station U will benefit from a certain cancellation "credit" so that the cancellation cost will be zero if the number of cancellation requests n sent by the client station U remains below a prefixed threshold value T .
La procédure de calcul du coût d'annulation CA va être décrite dans un exemple de réalisation en référence à la figure 4. The procedure for calculating the cancellation cost CA will be described in an exemplary embodiment with reference to FIG. 4.
Une étape d'initialisation E401 permet tout d'abord d'initialiser la valeur du coût d'annulation CA à zéro. An initialization step E401 firstly makes it possible to initialize the value of the cancellation cost CA at zero.
Ensuite, une étape d'obtention E402 permet d'obtenir l'identité de la station client U ayant envoyé une requête en annulation d'une fonction. Then, a step of obtaining E402 makes it possible to obtain the identity of the client station U having sent a request for cancellation of a function.
Une étape de test E403 permet de vérifier si cette station client U est connue de la station serveur S. A test step E403 makes it possible to check whether this client station U is known to the server station S.
<Desc/Clms Page number 16><Desc / Clms Page number 16>
Dans la négative, une étape d'ajout E404 permet de mémoriser dans une table d'annulation 28 l'identité de cette station client U en association avec le nombre de demandes d'annulation n émises par cette station client U, initialisée ici à la valeur 0. If not, an addition step E404 makes it possible to store in a cancellation table 28 the identity of this client station U in association with the number of cancellation requests n sent by this client station U, initialized here at value 0.
Une étape de lecture E405 permet de lire à partir de la table d'annulation 28, après l'étape d'ajout E404 ou directement après l'étape de test E403 si la station client U est connue, le nombre d'annulations n effectuées précédemment pour la station client U. A reading step E405 makes it possible to read from the cancellation table 28, after the adding step E404 or directly after the testing step E403 if the client station U is known, the number of cancellations n carried out previously for client station U.
Une étape d'obtention E406 permet d'obtenir la fonction à annuler F demandée par la station client U. A obtaining step E406 makes it possible to obtain the function to be canceled F requested by the client station U.
On vérifie ensuite dans une étape de test E407 si le nombre d'annulations n est supérieur ou égal à une valeur de seuil préfixée T, par exemple égale à 20. It is then checked in a test step E407 if the number of cancellations n is greater than or equal to a prefixed threshold value T, for example equal to 20.
Dans la négative, c'est-à-dire si le nombre d'annulations n émises par la station client U reste strictement inférieur à cette valeur de seuil T, une étape de mise à jour du nombre d'annulations E411 est mise en oeuvre de telle sorte que le nombre d'annulations n est incrémentée d'une unité. If not, that is to say if the number of cancellations n emitted by the client station U remains strictly less than this threshold value T, a step of updating the number of cancellations E411 is implemented so that the number of cancellations n is incremented by one.
Sinon, si à l'issue de l'étape de test E407, le nombre d'annulations n est supérieur ou égal à la valeur de seuil T, une étape d'obtention E408 permet d'obtenir à partir des moyens de stockage 23 le montant perçu CF pour l'exécution de la fonction F à annuler. Otherwise, if at the end of the test step E407, the number of cancellations n is greater than or equal to the threshold value T, a step of obtaining E408 makes it possible to obtain from the storage means 23 the amount received CF for the execution of function F to be canceled.
Une étape de calcul E409 permet ensuite de calculer le coût d'annulation unitaire C pour cette fonction à annuler F. A calculation step E409 then makes it possible to calculate the unit cancellation cost C for this function to be canceled F.
En pratique, ce coût d'annulation C représente une fraction du montant perçu CF. In practice, this cancellation cost C represents a fraction of the amount received CF.
Ici, à titre d'exemple non limitatif, le coût d'annulation C est calculé par la formule suivante :
Here, by way of nonlimiting example, the cancellation cost C is calculated by the following formula:
La valeur du coût d'annulation C peut ainsi varier entre 0 et CFxt. Le paramètre t représente ainsi le taux maximal remboursable du coût d'exécution perçu pour l'exécution de la fonction à annuler. The value of the cancellation cost C can thus vary between 0 and CFxt. The parameter t thus represents the maximum reimbursable rate of the execution cost perceived for the execution of the function to be canceled.
<Desc/Clms Page number 17> <Desc / Clms Page number 17>
Plus le paramètre D est grand, plus le coût d'annulation C varie lentement. The larger the parameter D, the more slowly the cancellation cost C varies.
En fait, lorsque n-T = D, le coût d'annulation C est égal à la moitié de la valeur maximale de remboursement CF x t. In fact, when n-T = D, the cancellation cost C is equal to half the maximum reimbursement value CF x t.
Une étape de mise à jour E410 de la valeur du coût d'annulation CA est ensuite mise en oeuvre de telle sorte que :
An update step E410 of the value of the cancellation cost CA is then implemented so that:
Le coût d'annulation unitaire associé à l'annulation de la fonction F est ainsi ajouté au coût d'annulation global CA. The unit cancellation cost associated with the cancellation of the function F is thus added to the overall cancellation cost CA.
L'étape de mise à jour E411 décrite précédemment est ensuite mise en oeuvre de telle sorte que le nombre d'annulations n est incrémenté d'une unité. The updating step E411 described previously is then implemented so that the number of cancellations n is incremented by one.
Une étape de test E412 permet de vérifier si une autre fonction doit être annulée dans la liste des fonctions obtenue précédemment à l'étape d'obtention E4. A test step E412 makes it possible to check whether another function must be canceled in the list of functions obtained previously in the step of obtaining E4.
En effet, l'annulation d'une fonction peut nécessiter, comme décrit précédemment, l'annulation d'autres fonctions exécutées ultérieurement à la fonction F à annuler. Indeed, the cancellation of a function may require, as described above, the cancellation of other functions executed subsequently to the function F to be canceled.
Dans l'affirmative, on obtient dans une étape d'obtention E413 la fonction suivante F à annuler et on réitère pour celle-ci l'ensemble des étapes E407 à E412 décrites précédemment. If so, in a step E413 the following function F to be canceled is obtained and the set of steps E407 to E412 described above is repeated for this.
Lorsque toutes les fonctions à annuler ont été traitées, et qu'ainsi chaque coût unitaire C associé à chaque fonction F a été calculé et ajouté les uns aux autres, une étape de mise à jour E414 permet de mettre à jour dans la table d'annulation 28 le nombre d'annulation n associé à la station client U ayant requis l'annulation d'une fonction. When all the functions to be canceled have been processed, and thus each unit cost C associated with each function F has been calculated and added to each other, an update step E414 makes it possible to update in the table of cancellation 28 the cancellation number n associated with the client station U having requested the cancellation of a function.
Une étape de réponse E415 permet d'adresser la valeur calculée du coût d'annulation CA pour la suite de la mise en oeuvre du procédé d'annulation tel qu'illustré à la figure 3. A response step E415 makes it possible to address the calculated value of the cancellation cost CA for the rest of the implementation of the cancellation method as illustrated in FIG. 3.
En revenant à la figure 3, une étape d'extraction E7 est ensuite mise en oeuvre afin d'extraire un paiement PA inclus dans la requête d'annulation émise par la station client UA. Returning to FIG. 3, an extraction step E7 is then implemented in order to extract a payment PA included in the cancellation request sent by the client station UA.
<Desc/Clms Page number 18> <Desc / Clms Page number 18>
En effet, comme décrit précédemment, la fonction d'annulation est de préférence une fonction payante, au moins à partir d'un certain nombre d'annulations demandées par la station client, de telle sorte qu'un paiement PA doit être inclus dans la requête d'annulation pour l'exécution de cette annulation. Indeed, as described above, the cancellation function is preferably a paid function, at least from a certain number of cancellations requested by the client station, so that a PA payment must be included in the cancellation request for the execution of this cancellation.
Ce paiement peut être réalisé par l'introduction d'une somme de monnaie électronique dans la requête d'annulation. This payment can be made by entering an amount of electronic money in the cancellation request.
Une étape de test E8 permet de comparer la valeur du coût d'annulation CA obtenu à l'étape E6 à la valeur du paiement PA extrait à l'étape E7. A test step E8 makes it possible to compare the value of the cancellation cost CA obtained in step E6 with the value of the payment PA extracted in step E7.
Si la valeur du paiement PA est strictement inférieure au coût d'annulation CA, un message d'erreur est retourné dans une étape de réponse E9 afin de signaler à la station client UA l'impossibilité de réaliser l'annulation de la fonction F demandée. If the payment value PA is strictly less than the cancellation cost CA, an error message is returned in a response step E9 in order to signal to the client station UA the impossibility of canceling the requested function F .
Sinon, lorsque le coût d'annulation CA est inférieur ou égal à la valeur du paiement PA, on met en oeuvre les étapes suivantes E10 à E27 afin de déterminer le montant des remboursements à effectuer et les stations clients U du réseau de communication à rembourser et afin de réaliser l'annulation proprement dite des fonctions identifiées à l'étape E4. Otherwise, when the cancellation cost CA is less than or equal to the value of the payment PA, the following steps E10 to E27 are implemented in order to determine the amount of the reimbursements to be made and the client stations U of the communication network to be reimbursed. and in order to carry out the actual cancellation of the functions identified in step E4.
Lors de l'annulation d'une fonction F sur la station serveur H, il est équitable de procéder au remboursement de la station client ayant requis l'exécution de cette fonction et payé ainsi son exécution. When canceling a function F on the server station H, it is fair to reimburse the client station that requested the execution of this function and thus paid for its execution.
En pratique, une étape d'initialisation E10 permet d'initialiser un tableau de remboursement R. In practice, an initialization step E10 makes it possible to initialize a reimbursement table R.
Ce tableau de remboursement R permet d'associer à chaque station client U du réseau, une somme S correspondant à un montant de remboursement à retourner à cette station client U. This reimbursement table R makes it possible to associate with each client station U of the network, a sum S corresponding to a reimbursement amount to be returned to this client station U.
Une étape de mise à jour EU permet d'ajouter tout d'abord dans le tableau de remboursement R la somme à rembourser à la première station client UA ayant requis l'annulation d'une fonction. An EU update step makes it possible first of all to add to the reimbursement table R the sum to be reimbursed to the first client station UA having requested the cancellation of a function.
<Desc/Clms Page number 19> <Desc / Clms Page number 19>
En pratique, on mémorise l'identité de la station UA et une somme S = PA-CA correspondant ainsi au paiement reçu PA de la station client UA duquel est déduit le coût d'annulation CA calculé précédemment. In practice, the identity of the station UA is stored and a sum S = PA-CA thus corresponding to the payment received PA from the client station UA from which the cancellation cost CA calculated previously is deducted.
Une étape de sélection E12 permet ensuite de sélectionner la dernière fonction exécutée dans la liste obtenue à l'étape d'obtention E4. A selection step E12 then makes it possible to select the last function executed in the list obtained in the obtaining step E4.
On vérifie dans une étape de test E13 si cette fonction est inversible, c'est-à-dire s'il existe une fonction inverse permettant de revenir à un état précédent sur l'objet o. In a test step E13, it is checked whether this function is invertible, that is to say whether there is an inverse function making it possible to return to a previous state on the object o.
A titre d'exemple de fonction inversible, on peut citer lors de la manipulation d'une image une rotation de l'image d'un quart de tour à droite, dont la fonction inverse est la rotation de l'image d'un quart de tour à gauche, une symétrie par rapport à un axe, dont la fonction inverse est la fonction ellemême, et/ou encore une fonction d'agrandissement d'un ratio prédéterminé, dont la fonction inverse est la fonction de diminution de l'image du même ratio. As an example of an invertible function, one can cite when manipulating an image a rotation of the image by a quarter turn to the right, whose inverse function is the rotation of the image by a quarter turn left, a symmetry with respect to an axis, the inverse function of which is the function itself, and / or an enlargement function of a predetermined ratio, the inverse function of which is the image reduction function of the same ratio.
Dans le cas où cette fonction est inversible, on obtient sa fonction inverse dans une étape d'obtention E14 puis on applique dans une étape E15 cette fonction inverse à l'objet o à manipuler. In the case where this function is invertible, its inverse function is obtained in a step of obtaining E14 and then, in a step E15, this inverse function is applied to the object o to be handled.
Sinon, si la fonction n'est pas inversible, on obtient dans une étape d'obtention E16 l'état précédent qui a été mémorisé lors de l'exécution de la fonction à annuler, et on applique cet état précédent dans une étape E17. Otherwise, if the function is not invertible, in a step E16, the previous state is obtained which was memorized during the execution of the function to be canceled, and this previous state is applied in a step E17.
En effet, il est alors nécessaire de mémoriser l'état du système avant chaque exécution de chaque fonction et de revenir à cet état antérieur lors de l'annulation. Indeed, it is then necessary to memorize the state of the system before each execution of each function and to return to this previous state during the cancellation.
Tel est le cas notamment des fonctions permettant de transformer une image en noir et blanc, d'appliquer des filtres permettant de rendre flou ou encore d'accentuer les détails d'une image. This is the case in particular of the functions making it possible to transform an image into black and white, to apply filters making it possible to blur or even to accentuate the details of an image.
Par exemple, le logiciel PhotoShop garde en mémoire chaque version successive d'une image afin de permettre l'annulation de n'importe laquelle des opérations effectuées. For example, the PhotoShop software keeps in memory each successive version of an image in order to allow the cancellation of any of the operations performed.
Ces deux mécanismes d'annulation d'une opération sont bien connus de l'homme du métier et ne seront pas décrits plus en détail ici. These two mechanisms for canceling an operation are well known to those skilled in the art and will not be described in more detail here.
<Desc/Clms Page number 20> <Desc / Clms Page number 20>
On obtient ensuite dans une étape d'obtention E18 l'identité de la station client Up ayant requis, et ainsi payé, l'exécution de la fonction annulée précédemment. The identity of the client station Up having requested, and thus paid for, the execution of the previously canceled function is then obtained in a step E18.
Une étape de calcul E19, détaillée à la figure 5, permet de calculer un montant M à rembourser à cette station client Up pour l'annulation de cette fonction. A calculation step E19, detailed in FIG. 5, makes it possible to calculate an amount M to be reimbursed to this client station Up for the cancellation of this function.
Cette procédure de calcul du remboursement M va être décrite dans un exemple de réalisation en référence à la figure 5. This reimbursement calculation procedure M will be described in an exemplary embodiment with reference to FIG. 5.
Une étape d'obtention E501 permet d'obtenir l'identité de la station client U ayant exécuté et payé la fonction à annuler. An obtaining step E501 makes it possible to obtain the identity of the client station U having executed and paid for the function to be canceled.
Une étape de test E502 permet de vérifier si cette station client U est connue de la station serveur S. A test step E502 makes it possible to check whether this client station U is known to the server station S.
Dans la négative, une étape d'ajout E503 permet de mémoriser dans une table d'annulation 28 cette station client U en association avec le nombre m de demandes d'exécution de fonctions qui sont ensuite annulées, émises par cette station client U. Ce nombre m est initialisé ici à la valeur 0. If not, an adding step E503 makes it possible to store in a cancellation table 28 this client station U in association with the number m of requests for execution of functions which are then canceled, sent by this client station U. This number m is initialized here to the value 0.
Une étape de lecture E504 permet, après l'étape d'ajout E503 ou directement après l'étape de test E502 si la station client U est connue, de lire à partir de la table d'annulation 28 le nombre d'exécutions de fonctions ensuite annulées m effectué précédemment par la station client U. A reading step E504 allows, after the adding step E503 or directly after the testing step E502 if the client station U is known, to read from the cancellation table 28 the number of function executions then canceled m previously performed by the client station U.
Une étape de lecture E505 permet de lire dans les moyens de stockage 23 le montant perçu CF lors de l'exécution de la fonction. A reading step E505 makes it possible to read in the storage means 23 the amount received CF during the execution of the function.
En effet, pour chaque fonction, un coût d'exécution c est associé et généralement mémorisé dans l'interface de l'objet o. Indeed, for each function, an execution cost c is associated and generally stored in the interface of the object o.
Cependant, le montant effectivement perçu CF par la station serveur H peut être inférieur à ce coût d'exécution c, notamment lorsque la station serveur applique des rabais. However, the amount actually received CF by the server station H may be less than this execution cost c, in particular when the server station applies discounts.
Le montant de remboursement M sera donc toujours inférieur ou égal au coût d'exécution c associé à la fonction, et en particulier inférieur ou égal au montant effectivement perçu CF lors de l'exécution de cette fonction par la station serveur. The reimbursement amount M will therefore always be less than or equal to the execution cost c associated with the function, and in particular less than or equal to the amount actually received CF during the execution of this function by the server station.
<Desc/Clms Page number 21> <Desc / Clms Page number 21>
On vérifie ensuite dans une étape de test E506 si le nombre d'exécutions de fonctions annulées m est supérieur ou égal à une valeur de seuil préfixé T, par exemple égal à 20. It is then checked in a test step E506 if the number of executions of canceled functions m is greater than or equal to a prefixed threshold value T, for example equal to 20.
Dans la négative, c'est-à-dire si le nombre d'exécutions de fonctions annulées m émises par la station client U est strictement inférieur à cette valeur de seuil T, une étape de calcul E509 du montant M à rembourser est mise en oeuvre de telle sorte que ce montant M = CF. If not, that is to say if the number of canceled function executions m emitted by the client station U is strictly less than this threshold value T, a calculation step E509 of the amount M to be reimbursed is set in work so that this amount M = CF.
Ainsi, tant que le nombre d'exécutions de fonctions annulées m reste inférieur à la valeur de seuil T, le montant remboursé à la station client U correspond exactement au montant facturé CF lors de l'exécution de la fonction à annuler. Thus, as long as the number of executions of canceled functions m remains below the threshold value T, the amount reimbursed to the client station U exactly corresponds to the amount invoiced CF during the execution of the function to be canceled.
Une étape de mise à jour E510 du nombre m est ensuite mise en oeuvre de telle sorte que le nombre d'exécutions de fonctions ensuite annulées m est incrémenté d'une unité. An update step E510 of the number m is then implemented so that the number of function executions then canceled m is incremented by one.
Sinon, si à l'issue de l'étape de test E506, le nombre d'exécutions de fonctions annulées m est supérieur ou égal à la valeur de seuil T, une étape de calcul E507 d'un coût d'annulation C est mise en oeuvre comme précédemment. Otherwise, if at the end of the test step E506, the number of executions of canceled functions m is greater than or equal to the threshold value T, a calculation step E507 of a cancellation cost C is put implemented as before.
A titre d'exemple non limitatif, le coût d'annulation C est calculé par la formule suivante :
By way of nonlimiting example, the cancellation cost C is calculated by the following formula:
Comme précédemment, la valeur du coût d'annulation C peut varier entre 0 et CF X tR, OÙ tR est un taux maximal de remboursement en fonction du montant effectivement perçu CF lors de l'exécution de la fonction. As before, the value of the cancellation cost C can vary between 0 and CF X tR, WHERE tR is a maximum rate of reimbursement depending on the amount actually received CF during the execution of the function.
Une étape d'association E508 permet ensuite de calculer le montant de remboursement M de telle sorte que :
An association step E508 then makes it possible to calculate the reimbursement amount M so that:
On déduit ainsi du montant effectivement perçu CF un coût d'annulation C dépendant du nombre d'exécutions de fonctions annulées m requis par la station client U. There is thus deducted from the amount actually received CF a cancellation cost C depending on the number of executions of canceled functions m required by the client station U.
<Desc/Clms Page number 22> <Desc / Clms Page number 22>
Le montant de remboursement M sera ainsi strictement inférieur au montant effectivement perçu CF lors de l'exécution de la fonction. The reimbursement amount M will therefore be strictly lower than the amount actually received CF during the execution of the function.
L'étape de mise à jour E510 du nombre d'exécutions de fonctions annulées m est également mise en oeuvre après l'étape de calcul E508 de manière à incrémenter d'une unité ce nombre m. The step E510 of updating the number of executions of canceled functions m is also implemented after the calculation step E508 so as to increment this number m by one.
On met ensuite à jour dans une étape de mise à jour E511 la table d'annulation 28 à partir de cette nouvelle valeur m puis la procédure du calcul de remboursement M est terminée et la valeur calculée M est adressée pour la suite de la mise en oeuvre du procédé d'annulation tel qu'illustré à la figure 3. Then, in an updating step E511, the cancellation table 28 is updated from this new value m, then the reimbursement calculation procedure M is finished and the calculated value M is addressed for the rest of the setting. implementation of the cancellation process as illustrated in FIG. 3.
On met ensuite à jour la table de remboursement R. We then update the reimbursement table R.
En pratique, on vérifie si le client Up ayant payé l'exécution de la fonction et pour lequel le montant M à rembourser vient d'être calculé est connu et déjà mémorisé dans le tableau de remboursement R. In practice, it is checked whether the client Up having paid for the execution of the function and for which the amount M to be reimbursed has just been calculated is known and already stored in the reimbursement table R.
Dans la négative, une étape d'ajout E21 permet de mémoriser l'identité de cette station client Up dans le tableau de remboursement R en association avec une somme S à rembourser, ici initialisée à 0. If not, an addition step E21 makes it possible to store the identity of this client station Up in the reimbursement table R in association with a sum S to be reimbursed, here initialized at 0.
Une étape de lecture E22 permet de lire ensuite la somme Sp associée à la station Up à rembourser à partir de la valeur mémorisée dans le tableau de remboursement R. A reading step E22 then makes it possible to read the sum Sp associated with the station Up to be reimbursed from the value stored in the reimbursement table R.
Cette étape de lecture E22 est mise en oeuvre directement à l'issue de l'étape de test E20 lorsque la station client Up est déjà mémorisée dans le tableau de remboursement R. This reading step E22 is implemented directly at the end of the test step E20 when the client station Up is already stored in the reimbursement table R.
La somme à rembourser Sp à cette station client Up est ensuite mise à jour dans une étape de calcul E23 dans laquelle :
The sum to be reimbursed Sp at this client station Up is then updated in a calculation step E23 in which:
Le montant de remboursement M calculé précédemment à l'étape de calcul E19 est ainsi ajouté au montant global à rembourser à la station Up. The reimbursement amount M previously calculated in the calculation step E19 is thus added to the overall amount to be reimbursed at the station Up.
Une étape de mise à jour E24 permet ensuite de mémoriser cette nouvelle valeur de somme à rembourser Sp dans le tableau de remboursement R en association avec l'identité de la station client Up. An update step E24 then makes it possible to store this new sum value to be reimbursed Sp in the reimbursement table R in association with the identity of the client station Up.
Une étape de test E25 permet de vérifier si la liste des fonctions à annuler est épuisée. A test step E25 makes it possible to check whether the list of functions to be canceled has been exhausted.
<Desc/Clms Page number 23> <Desc / Clms Page number 23>
Dans la négative, on sélectionne dans une étape de sélection E26 la fonction précédente dans cette liste et on réitère sur cette fonction l'ensemble des étapes E12 à E25 décrites précédemment. If not, the previous function in this list is selected in a selection step E26 and the set of steps E12 to E25 described above is repeated on this function.
On calcule ainsi pour chaque fonction à annuler le montant M à rembourser en association avec la station client U ayant payée l'exécution de cette fonction à annuler. The amount M to be reimbursed is therefore calculated for each function to be canceled in association with the client station U having paid for the execution of this function to be canceled.
Lorsque la liste des fonctions à annuler est épuisée, à l'issue de l'étape de test E25, une étape d'envoi E27 permet d'envoyer proprement dit les remboursements à chaque station client du réseau de communication, à partir de l'identité de ces stations clients et des valeurs de remboursement S associées mémorisées dans le tableau de remboursement R. When the list of functions to be canceled is exhausted, at the end of the test step E25, a sending step E27 makes it possible to send the reimbursements proper to each client station of the communication network, from the identity of these client stations and the associated reimbursement values S stored in the reimbursement table R.
En pratique, comme illustré à la figure 6, pour envoyer des remboursements, on génère plusieurs messages de réponse à l'attention des stations clients du réseau de communication. In practice, as illustrated in FIG. 6, to send reimbursements, several response messages are generated for the attention of client stations of the communication network.
On lit dans une étape d'obtention E601, une première ligne du tableau R, c'est-à-dire l'identité d'une station client U et une somme à rembourser S calculée précédemment. In a step E601, we read a first line of table R, that is to say the identity of a client station U and an amount to be reimbursed S calculated previously.
Un message de réponse A est ensuite généré dans une étape E602 à destination de la station client U. A response message A is then generated in a step E602 intended for the client station U.
Une étape d'obtention E603 est alors mise en oeuvre pour obtenir une somme S correspondant à la somme globale à rembourser. A step E603 is then implemented to obtain an amount S corresponding to the total amount to be reimbursed.
Cette étape est décrite en détail à la figure 7. This step is described in detail in Figure 7.
De manière générale lors de cette étape, on génère une monnaie électronique sur la station serveur H, cette monnaie électronique étant associée à la station client U à rembourser et le montant d'argent électronique généré étant supérieur ou égal à la somme à rembourser S. Generally during this step, an electronic money is generated on the server station H, this electronic money being associated with the client station U to be reimbursed and the amount of electronic money generated being greater than or equal to the amount to be reimbursed S.
En pratique, la station serveur génère une chaîne de pièces pour chaque station client, cette chaîne de pièces servant aux remboursements consécutifs de différentes opérations annulées par cette station client. In practice, the server station generates a chain of coins for each client station, this chain of coins being used for consecutive reimbursements of various operations canceled by this client station.
Afin d'obtenir cette somme d'argent S, il est nécessaire de générer une monnaie électronique sur la station serveur H permettant de créer une suite In order to obtain this sum of money S, it is necessary to generate an electronic money on the server station H making it possible to create a suite
<Desc/Clms Page number 24><Desc / Clms Page number 24>
de pièces qui peuvent ensuite être dépensées sur le réseau de communication pour rembourser la station client U. coins which can then be spent on the communication network to reimburse the client station U.
On utilise à titre d'exemple, pour générer cette monnaie électronique, un système dit PayWord proposé par Rivest et Shamir. To use this example, a PayWord system proposed by Rivest and Shamir is used to generate this electronic money.
Une description de ce système peut être consultée à l'adresse Internet http ://theory. lcs. mit. edu/-rivest/RivestShamir-mpay. ps. A description of this system can be found at http: // theory. lcs. began. 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). This system generally consists, from a random number Wn, of generating a sequence of numbers using a hash function (in English 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. This PayWord system has the advantage of being reliable and of not requiring the approval of a third party (bank, notary, etc.) to validate each individual payment.
En pratique, on vérifie dans une étape de test E70 si la station client U est connue de la station serveur H. Dans la négative, la station serveur tire un nombre au hasard dans une étape de tirage aléatoire E73. Soit le nombre aléatoire Wn. In practice, it is checked in a test step E70 if the client station U is known to the server station H. If not, the server station draws a number at random in a random drawing step E73. Let be the random number Wn.
On applique ensuite, dans une étape de frappe de pièce E74, de manière récursive, une fonction de hachage connue telle que :
Then, in a coin striking step E74, recursively, a known hash function is applied such as:
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 Wn-1 de retrouver le nombre précédent Wn. This hash function h has the particularity of not being reversible so that it is impossible, from a number Wn-1 to find the previous number Wn.
On obtient ainsi une série de pièces Wn, Wn-1,... W2, W1, Wo. We thus obtain a series of parts Wn, Wn-1, ... W2, W1, 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. The end Wo of the chain of numbers thus obtained is called the root coin (in English Root Coin) and makes it possible to verify the authenticity of the different coins.
Ce système PayWord permet avantageusement de vérifier l'authenticité des pièces par simple application de la fonction de hachage. This PayWord system advantageously makes it possible to verify the authenticity of the coins by simple application of the hash function.
Lors de la génération d'une telle monnaie électronique, il est nécessaire que la station serveur H obtienne un certificat d'une banque afin de prouver son identité. When generating such an electronic money, it is necessary for the server station H to obtain a certificate from a bank in order to prove its identity.
Deux certificats sont utilisés : Two certificates are used:
<Desc/Clms Page number 25><Desc / Clms Page number 25>
- un certificat de banque C (PKe), émis par une banque en réponse à une requête de la station serveur ; et - une lettre de change C (Wo) générée directement par la station serveur H. - a bank certificate C (PKe), issued by a bank in response to a request from the server station; and - a bill of exchange C (Wo) generated directly by the server station H.
Le certificat de banque C (PKe) est une assurance pour chaque utilisateur que la banque honorera toute demande de rédemption de pièces authentiques. La lettre de change C (Wo) est une assurance pour chaque utilisateur que les pièces produites par la station serveur sont bien authentiques et seront honorées par la banque. The bank certificate C (PKe) is an assurance for each user that the bank will honor any request for redemption of authentic documents. The bill of exchange C (Wo) is an assurance for each user that the documents produced by the server station are authentic and will be honored by the bank.
En pratique, la station serveur envoie à un organisme bancaire le numéro de sa carte de crédit ainsi que sa clé publique PKe. In practice, the server station sends to a banking organization the number of its credit card as well as its public key PKe.
L'organisme bancaire retourne un certificat de banque C (PKe) qui contient l'identité de l'organisme bancaire, l'identité de la station serveur et la clé publique de la station serveur 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. The banking organization returns a bank certificate C (PKe) which contains the identity of the banking organization, the identity of the server station and the public key of the server station PKe. This certificate also includes an electronic signature authenticating the information it contains, this signature being produced by the bank using its private key SKb.
Une fois les différentes pièces Wo, Wu,..., Wn générées, ces pièces sont mémorisées dans une étape de mémorisation E75 dans la table des pièces 26 telle qu'illustrée à la figure 1 en association avec un identifiant de la station client U 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 26. Once the various pieces Wo, Wu, ..., Wn have been generated, these pieces are stored in a storage step E75 in the parts table 26 as illustrated in FIG. 1 in association with an identifier of the client station U and an index i, initialized to the value 0, corresponding to the index of the last part used in the table of parts 26.
En outre, à partir du certificat de banque C (PKe) obtenu de la banque, la station serveur H génère dans une étape de création de lettre de change E76, un certificat ou lettre de change à destination de la station client U. In addition, from the bank certificate C (PKe) obtained from the bank, the server station H generates, in a step of creating bill of exchange E76, a certificate or bill of exchange intended for the client station U.
Chaque lettre de change contient le certificat de banque C (PKe) précédemment reçu, l'identité du client U 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 serveur à l'aide de sa clé privée SKe. Each bill of exchange contains the bank certificate C (PKe) previously received, the identity of the client U for which it is intended, as well as the root coin Wo. This bill of exchange also includes an electronic signature authenticating the information it contains, this signature being produced by the server station using its private key SKe.
Après cette étape de création E76 d'une lettre de change, cette dernière est envoyée dans une étape d'envoi E77 à la station client U. After this step of creating E76 of a bill of exchange, the latter is sent in a step of sending E77 to the client station U.
<Desc/Clms Page number 26> <Desc / Clms Page number 26>
Les lettres de change et les pièces sont spécifiques à un utilisateur donné. Bills of exchange and coins are specific to a given user.
En définitive, la station client U reçoit par l'intermédiaire du certificat C (PKe) les informations suivantes : l'identité de l'organisme bancaire, de la
station serveur, la clé publique de la station serveur PKe, et la pièce racine Wo. Ultimately, the client station U receives the following information via the certificate C (PKe): the identity of the banking organization, the
server station, the public key of the PKe server station, and the root piece Wo.
On rappelle que la clé publique de la station serveur 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). It is recalled that the public key of the PKe server station is contained in the certificate of bank C (PKe). The authenticity of this key can therefore be established by comparing the value obtained by decoding the signature of this certificate using the public key of the bank PKb, with the initial information contained in this certificate (signature excluded).
Par ailleurs, on rappelle que la pièce Wo est contenue dans la lettre de change de la station serveur 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). Furthermore, it is recalled that the document Wo is contained in the bill of exchange of the server station C (Wo). The authenticity of this document can therefore be established by comparing the value obtained by decoding the signature of the certificate using the PKe public key previously authenticated, with the initial information contained in this certificate (signature excluded).
Ainsi, par le jeu d'une double signature, chaque client est capable de vérifier qu'il est bien en possession d'une pièce racine Wo émise par un serveur, connu de la banque, et autorisé par celle-ci à émettre des pièces de monnaie électronique. Thus, by the play of a double signature, each client is able to verify that he is indeed in possession of a Wo root coin issued by a server, known to the bank, and authorized by the latter to issue coins. electronic money.
Si à l'issue de l'étape de test E70 la station client U est déjà connue, on vérifie dans une étape de test E71 si la table de pièces 26 contient suffisamment de pièces utilisables par cette station serveur H pour rembourser la somme de remboursement S à la station client U. If at the end of the test step E70 the client station U is already known, it is checked in a test step E71 whether the parts table 26 contains enough parts usable by this server station H to reimburse the reimbursement amount S at client station U.
Dans la négative, une étape de suppression E72 permet d'effacer les pièces restantes dans la table de pièces 26 et on met en oeuvre les étapes décrites précédemment E73 à E77 pour générer de nouvelles pièces utilisables par la station serveur H pour rembourser la station client U. If not, a deletion step E72 makes it possible to delete the remaining parts in the parts table 26 and the steps described above E73 to E77 are implemented to generate new parts usable by the server station H to reimburse the client station U.
Ainsi, la table de pièces 26 est remplie automatiquement dès lors qu'elle ne contient plus suffisamment d'argent électronique permettant de rembourser la station client U. Thus, the parts table 26 is automatically filled as soon as it no longer contains enough electronic money to reimburse the client station U.
<Desc/Clms Page number 27> <Desc / Clms Page number 27>
Le nombre de pièces générées par la station serveur H peut dépendre éventuellement de la fréquence d'utilisation de cette station serveur H par la station client U. The number of coins generated by the server station H may possibly depend on the frequency of use of this server station H by the client station U.
Ce nombre de pièces peut également être constant et déterminé une fois pour toute. This number of pieces can also be constant and determined once and for all.
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 E74 et de stocker celles-ci dans la table de pièces 26 pour une utilisation ultérieure, c'est-à-dire lorsque plusieurs fonctions exécutées par la station client U sont annulées par lui-même ou par une autre station client du réseau de communication. Note that it is preferable to generate a large number of coins during the coin striking step E74 and to store them in the coin table 26 for later use, that is to say when several functions executed by the client station U are canceled by itself or by another client station of the communication network.
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. The generated parts each have a length for example of 32 bytes. The index of the part in the sequence of generated parts can be coded on 16 bits, which makes it possible to generate 216 parts.
En revenant à la figure 6, la station serveur H met en oeuvre une étape de lecture E604 permettant de lire dans la table de pièces 26 l'indice de la dernière pièce utilisée. Returning to FIG. 6, the server station H implements a reading step E604 making it possible to read from the parts table 26 the index of the last part used.
Pour une somme de remboursement S, et en supposant que chaque pièce W, correspond à une fraction unitaire de cette somme S, on prélève S pièces de la table de pièces 26. For a reimbursement sum S, and assuming that each piece W, corresponds to a unit fraction of this sum S, we take S pieces from the table of pieces 26.
* Ici, la somme d'argent S remboursée pour l'annulation de la fonction f est inscrite directement dans la réponse envoyée à la station client U. * Here, the amount of money S reimbursed for the cancellation of the function f is entered directly in the response sent to the client station U.
En pratique, on inscrit dans la réponse la valeur (W, s, i + S). In practice, the value (W, s, i + S) is entered in the response.
Bien entendu, à l'étape de remboursement, chaque montant de remboursement calculé M ou la somme de remboursement globale S pourraient être crédités dans un compte associé à la station client U, puis être utilisés pour rémunérer l'exécution de fonctions ultérieurement. Of course, at the reimbursement stage, each calculated reimbursement amount M or the total reimbursement sum S could be credited to an account associated with the client station U, then be used to remunerate the execution of functions later.
Après cette étape d'inscription E605, une étape de mémorisation E606 permet de mémoriser le nouvel indice i + S correspondant à la dernière pièce utilisée dans la table de pièces 26 pour la station client U. After this registration step E605, a storage step E606 makes it possible to store the new index i + S corresponding to the last part used in the parts table 26 for the client station U.
Ainsi, la réponse A transmise par la station serveur H lors de l'étape d'envoi E607 contient la somme d'argent S correspondant à l'annulation de la fonction demandée. Thus, the response A transmitted by the server station H during the sending step E607 contains the sum of money S corresponding to the cancellation of the requested function.
<Desc/Clms Page number 28> <Desc / Clms Page number 28>
On vérifie ensuite dans une étape de test E608 s'il existe une autre ligne dans le tableau de remboursement R, c'est-à-dire une autre station client U à rembourser d'une somme d'argent S. Then, in a test step E608, it is checked whether there is another line in the reimbursement table R, that is to say another client station U to be reimbursed with a sum of money S.
Dans l'affirmative, on réitère l'ensemble des étapes E601 à E607 décrit précédemment. If so, all the steps E601 to E607 described above are repeated.
Lorsque toutes les lignes du tableau de remboursement R ont été traitées, la procédure de remboursement est terminée. Ainsi, un message de réponse A est à la fois envoyé à la première station client UA du réseau de communication ayant requis l'annulation d'une fonction et à une ou plusieurs autres stations clients du réseau de communication qui ont préalablement exécuté et payé la ou les fonctions à annuler. When all the rows of the reimbursement table R have been processed, the reimbursement procedure is terminated. Thus, a response message A is both sent to the first client station UA of the communication network having requested the cancellation of a function and to one or more other client stations of the communication network which have previously executed and paid for the or the functions to be canceled.
Bien entendu, lorsque la première station client UA requiert l'annulation d'une fonction dont elle a requis elle-même et payé l'exécution, elle reçoit à titre de remboursement le montant effectivement perçu lors de l'exécution de cette fonction auquel est déduit éventuellement un coût d'annulation CA. Of course, when the first UA client station requests the cancellation of a function for which it has requested itself and paid for the execution, it receives by way of reimbursement the amount actually received during the execution of this function which is possibly deducts a CA cancellation cost.
Parallèlement à la mise en oeuvre de ce procédé d'annulation d'opérations sur la station serveur H, un procédé de demande d'annulation d'une fonction à distance est mis en oeuvre sur la station client UA, tel qu'illustré à la figure 8. In parallel with the implementation of this method of canceling operations on the server station H, a method of requesting the cancellation of a remote function is implemented on the client station UA, as illustrated in FIG. figure 8.
Ce procédé de demande d'annulation d'une fonction à distance comporte tout d'abord une étape de génération E801 d'une requête d'annulation d'une fonction à distance. This method for requesting the cancellation of a remote function firstly comprises a step E801 of generating a request to cancel a remote function.
Cette requête d'annulation inclut un paiement PA, qui peut utiliser le système de paiement Payword décrit précédemment. This cancellation request includes a PA payment, which can use the Payword payment system described above.
La requête d'annulation à distance d'une fonction sur un objet o est ensuite envoyée dans une étape d'envoi E802 par la station client U à destination de la station serveur H. The request for the remote cancellation of a function on an object o is then sent in a sending step E802 by the client station U to the server station H.
Ensuite, une étape de réception E803 d'un résultat permet de réceptionner une réponse A envoyée par la station serveur H à l'issue du procédé d'annulation d'opérations tel que décrit précédemment en référence aux figures 3 et suivantes. Then, a step E803 of receiving a result makes it possible to receive a response A sent by the server station H at the end of the process of cancellation of operations as described previously with reference to FIGS. 3 and following.
<Desc/Clms Page number 29> <Desc / Clms Page number 29>
Un test E804 permet de vérifier s'il existe une lettre de change dans la table 14 de la station client U correspondant à la station serveur H. La mémorisation d'une telle lettre de change sera décrite ultérieurement en référence à la figure 9. A test E804 makes it possible to check whether there is a bill of exchange in table 14 of the client station U corresponding to the server station H. The storage of such a bill of exchange will be described later with reference to FIG. 9.
Dans la négative, une étape d'information E815 permet d'informer l'utilisateur de cette anomalie. If not, an information step E815 informs the user of this anomaly.
Si cette lettre de change existe, une étape de test E805 permet de vérifier que la réponse comporte bien dans un champ spécifique une somme d'argent S correspondant à un remboursement. If this bill of exchange exists, a test step E805 makes it possible to verify that the response does indeed include in a specific field a sum of money S corresponding to a refund.
Comme décrit précédemment, lorsque la station client UA demande l'annulation d'une fonction dont elle a elle-même payé et requis l'exécution à distance, la somme à rembourser S correspond à la somme du paiement envoyée PA et du coût perçu CF par la station serveur pour l'exécution de la fonction, de laquelle est déduit un coût d'annulation CA. As described above, when the client station UA requests the cancellation of a function for which it has itself paid and requested the remote execution, the sum to be reimbursed S corresponds to the sum of the payment sent PA and the cost perceived CF by the server station for the execution of the function, from which a CA cancellation cost is deducted.
Si cette station client UA n'a pas requis elle-même l'exécution de la fonction à annuler, la somme à rembourser S ne comportera pas le montant perçu CF par la station serveur H pour l'exécution de la fonction. If this client station UA has not itself required the execution of the function to be canceled, the sum to be reimbursed S will not include the amount received CF by the server station H for the execution of the function.
Si aucun remboursement n'est inclus dans la réponse A, la procédure de traitement de la réponse est également interrompue. If no reimbursement is included in response A, the response processing procedure is also interrupted.
Sinon, une étape d'extraction E806 est mise en oeuvre afin de lire le montant mémorisé, correspondant ici à une pièce Wi et à son indice i dans la chaîne de pièces générées au niveau de la station serveur H. Otherwise, an extraction step E806 is implemented in order to read the memorized amount, here corresponding to a coin Wi and to its index i in the chain of coins generated at the server station H.
A partir de la lecture de la lettre de change dans la table 14, on peut obtenir la valeur de la pièce racine Wo dans une étape de lecture E807. From reading the bill of exchange in table 14, we can obtain the value of the root coin Wo in a reading step E807.
Une étape de validation E808 permet alors de vérifier l'authenticité de la pièce W,. A validation step E808 then makes it possible to verify the authenticity of the piece 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 (Wi)))
La valeur ainsi obtenue est comparée à la valeur de la pièce racine
Wo. In practice, the hash function h is applied recursively to this current part W, and here i times: h (h (... h (Wi)))
The value thus obtained is compared with the value of the root coin
Wo.
<Desc/Clms Page number 30> <Desc / Clms Page number 30>
On peut également, pour accélérer cette étape de validation E808, 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à envoyée par le serveur pour le remboursement de l'exécution d'une fonction à annuler. One can also, to accelerate this validation step E808, apply, recursively, ij times the hash function h, that is to say a number of times just sufficient to find a part W ,, of index j lower than the current index i, and already sent by the server for the reimbursement of the execution of a function to be canceled.
Si la valeur obtenue est différente, la procédure de traitement de la requête d'exécution de fonction est interrompue. If the value obtained is different, the procedure for processing the function execution request is interrupted.
La vérification du remboursement par la station client U 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. The verification of the reimbursement by the client station U is a simple operation, consisting in applying a hash function. In particular, it is neither necessary to call on a banking organization for verification, nor to implement costly cryptographic methods.
Après validation des pièces reçues, on vérifie dans une étape de test E809 si la station client U ayant reçu le remboursement est également la station client ayant requis préalablement l'exécution de la fonction. En pratique, en référence à l'algorithme de la figure 3, on vérifie si la station client ayant requis l'annulation UA est également la station client Up ayant requis et payé l'exécution de la fonction. Dans l'affirmative, une étape d'obtention E810 du coût c associé à l'exécution de la fonction f appliquée à l'objet o est mise en oeuvre. After validation of the received documents, it is checked in a test step E809 if the client station U having received the reimbursement is also the client station having previously requested the execution of the function. In practice, with reference to the algorithm of FIG. 3, it is checked whether the client station having requested UA cancellation is also the client station Up having requested and paid for the execution of the function. If so, a step E810 of obtaining the cost c associated with the execution of the function f applied to the object o is implemented.
Cette étape d'obtention E810 du coût est mise en oeuvre comme décrit ci-après en référence à la figure 9. This step of obtaining E810 of the cost is implemented as described below with reference to FIG. 9.
Le coût d'exécution c peut être inclus directement dans la réponse A envoyée par la station serveur. The execution cost c can be included directly in the response A sent by the server station.
Sinon, une procédure particulière peut être mise en oeuvre pour obtenir ce coût d'exécution, comme illustré à la figure 9. Otherwise, a particular procedure can be implemented to obtain this execution cost, as illustrated in FIG. 9.
Cette procédure d'obtention du coût d'exécution c de la fonction f comporte tout d'abord un test E91 pour vérifier si l'interface associée à l'objet o est disponible sur la station client U. This procedure for obtaining the execution cost c of the function f firstly includes a test E91 to check whether the interface associated with the object o is available on the client station U.
En pratique, on vérifie si une interface correspondante a déjà été mémorisée dans la mémoire cache 15 de la station client U. In practice, it is checked whether a corresponding interface has already been stored in the cache memory 15 of the client station U.
Dans la négative, une étape E92 est mise en oeuvre pour obtenir cette interface auprès de la station serveur H. If not, a step E92 is implemented to obtain this interface from the server station H.
<Desc/Clms Page number 31> <Desc / Clms Page number 31>
La requête d'obtention d'une interface comprend l'adresse informatique de l'interface. The request for obtaining an interface includes the computer address of the 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. When the server station H receives the request for obtaining an interface, the server station extracts from this request the computer address referencing the requested interface.
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. The server station can, from a table, find the requested interface and transmit it to the client station U, after possibly translating this interface into the communication language of the communication network.
Comme décrit précédemment, cette interface comprend une ou plusieurs fonctions associées au code d'exécution de ces fonctions. As described above, this interface includes one or more functions associated with the code for executing these functions.
Chaque fonction est en outre associée à un coût d'exécution de cette fonction. Each function is also associated with a cost of performing this function.
On donne ci-après un exemple d'une interface permettant de manipuler une image à distance.
An example is given below of an interface for manipulating an image remotely.
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. This interface has three functions: - "ConvertToB & W" whose price is constant. This function converts an image to black and white; - "Rotate" whose price depends on the size of the image and the angle of rotation. The price is expressed in the form of an expression that the client station can evaluate: this function allows you to change the orientation of an 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/ctass/) rnage. xm) #ftip#price Cette fonction permet d'appliquer une symétrie à l'image. - "Flip" whose price depends on parameters determined by the server station. The customer is not able to calculate the price himself; the price is for example available at the following computer address:
http: // oceania / web-obj / ctass /) rnage. xm) # ftip # price This function allows you to apply symmetry to the image.
< interface name="1 mage" href=http ://oceania/web-obi/class/lmage. xml/ > < attributes > < int name="width"price="0. 01 FF"/ > < int name="height"price="0. 01 FF"/ > <interface name = "1 mage" href = http: // oceania / web-obi / class / lmage. xml /> <attributes> <int name = "width" price = "0.01 FF" /> <int name = "height" price = "0.01 FF" />
<Desc/Clms Page number 32><Desc / Clms Page number 32>
< string name="encoding"/ > < /attributes > < functions > < function name="convertToB & W"price="0. 5 FF" > < /function > < function name="rotate" > < arguments > < int name="angle"/ > < /arguments > < price > currency name="FF"/ > < value language="JavaScript" > function price (width, height, angle) { return width*height*angle ; } < /value > < /price > < /function > < function name="flip" > < price > < currency name="FF"/ > < value/ > < /price > < /function > < /functions > < /interface >
Après réception de l'interface, une étape de mémorisation E93 permet de mémoriser l'interface pour une utilisation ultérieure dans la mémoire cache 15 de la station client U. <string name = "encoding"/></attributes><functions><function name = "convertToB &W" price = "0. 5 FF"></function><function name = "rotate"><arguments>< int name = "angle"/></arguments><price> currency name = "FF"/><value language = "JavaScript"> function price (width, height, angle) {return width * height * angle; } </ value></price></function><function name = "flip"><price><currency name = "FF"/><value/></price></function></functions>< / interface>
After reception of the interface, a storage step E93 makes it possible to store the interface for later use in the cache memory 15 of the client station U.
Une étape de lecture E94 permet de lire dans l'interface reçue le coût c associé à la fonction f que l'on souhaite annuler. A reading step E94 makes it possible to read the cost c associated with the function f that one wishes to cancel in the interface received.
<Desc/Clms Page number 33> <Desc / Clms Page number 33>
On vérifie dans une étape de test E95 si le coût est une expression à calculer. In a test step E95, it is checked whether the cost is an expression to be calculated.
Dans l'affirmative, une étape d'évaluation E96 permet d'évaluer le coût de la fonction à exécuter à partir de l'expression reçue. If so, an evaluation step E96 makes it possible to evaluate the cost of the function to be executed from the expression received.
Tel est le cas par exemple pour la fonction rotation"rotate". This is the case for example for the rotation function "rotate".
Sinon, on vérifie dans une étape de test E97 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. Otherwise, we check in a test step E97 if the cost of the function is fixed. This is the case, for example, for the transformation of an image into black and white.
Sinon, une étape d'obtention E98 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". Otherwise, an E98 obtaining step is implemented to request
the cost of the function at the server station. This is the case here for the "flip" symmetry function.
On obtient ainsi, à l'issue de l'étape E810 de la figure 8, le coût c associé à la fonction f que l'on souhaite annuler. We thus obtain, at the end of step E810 of FIG. 8, the cost c associated with the function f that we wish to cancel.
Ensuite, une étape de lecture E811 permet de lire l'indice j de la dernière pièce reçue, et une étape de test E812 permet de vérifier si le nombre de pièces reçues i-j est très différent du coût c de la fonction à annuler. Then, a reading step E811 makes it possible to read the index j of the last piece received, and a test step E812 makes it possible to check whether the number of pieces received i-j is very different from the cost c of the function to be canceled.
En pratique, on vérifie à l'étape de test E812 l'inégalité suivante : i-j c 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 client U. In practice, the following inequality is verified in test step E812: ij c where c is the cost associated with the function f, i is the index of the current part, and j is the index of the last part received by client station U.
Si le remboursement inclus dans la réponse n'est pas suffisant, la procédure de traitement de cette réponse est interrompue et l'anomalie est signalée à l'utilisateur à l'étape d'information E815. If the reimbursement included in the response is not sufficient, the procedure for processing this response is interrupted and the anomaly is reported to the user at information step E815.
Sinon, une étape de mémorisation E813 permet de mémoriser le nouvel indice i comme indice j de la dernière pièce reçue. Otherwise, a storage step E813 makes it possible to store the new index i as index j of the last piece received.
Si à l'issue de l'étape de test E809, la station client UA ayant reçu le remboursement n'est pas la station client Up ayant payé et requis l'exécution de la fonction, l'étape de mémorisation E813 peut être directement mise en oeuvre. If at the end of the test step E809, the client station UA having received the reimbursement is not the client station Up having paid and required the execution of the function, the storage step E813 can be directly set in action.
Alternativement, les étapes de vérification E810 à E812 peuvent également être mises en oeuvre par cette station client UA. Alternatively, the verification steps E810 to E812 can also be implemented by this client station UA.
<Desc/Clms Page number 34> <Desc / Clms Page number 34>
Une étape d'ajout E814 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 client U. An addition step E814 then makes it possible to store the withdrawn coin W, associated with its index i in an electronic purse of the client station U.
Périodiquement, chaque station client U 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. Periodically, each client station U can retransmit the values W, associated with each index i, stored in the electronic purse to the bank, in order to recover the monetary value.
Alternativement, à l'étape d'ajout E814, une carte pré-payée ou une carte informatique telle que divulguée dans les figures 4 et 8 du brevet américain US 5 937 395 peut être utilisée comme porte-monnaie électronique de la station client U. Alternatively, at the adding step E814, a prepaid card or a computer card as disclosed in FIGS. 4 and 8 of American patent US Pat. No. 5,937,395 can be used as the electronic purse of the client station U.
On va décrire à présent, en référence à la figure 10, la procédure de traitement d'une lettre de change reçue par une station client U lors de la réception d'un premier remboursement adressé par la station serveur H. We will now describe, with reference to FIG. 10, the procedure for processing a bill of exchange received by a client station U upon receipt of a first reimbursement sent by the server station H.
Après réception de cette lettre de change, une étape d'obtention E101 permet à la station client U 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. After receipt of this bill of exchange, an obtaining step E101 allows the client station U to obtain from a certification body the public key of the bank PKb corresponding to the signature procedure used by the bank.
Comme décrit précédemment, une étape de vérification E102 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. As described above, a verification step E102 of the bank certificate C (PKe) can be implemented using the public bank key PKb in order to verify the signature.
A l'issue d'une étape de test E103, si cette signature est non valide, la procédure est interrompue. At the end of a test step E103, if this signature is invalid, the procedure is interrupted.
Sinon, une étape de lecture E104 est mise en oeuvre afin de lire la clé publique de la station serveur PKe. Cette clé publique PKe permet de vérifier dans une étape E105 la signature de la lettre de change C (Wo) reçue par la station client. Otherwise, a reading step E104 is implemented in order to read the public key of the server station PKe. This public key PKe makes it possible to verify in a step E105 the signature of the bill of exchange C (Wo) received by the client station.
A l'issue d'une étape de test E106, si cette signature est non valide, la procédure est interrompue. At the end of a test step E106, if this signature is invalid, the procedure is interrupted.
Sinon, une étape de lecture E107 est mise en oeuvre afin de connaître l'identité de la station serveur H. Otherwise, a reading step E107 is implemented in order to know the identity of the server station H.
Une étape de mémorisation E108 permet ensuite de mémoriser la lettre de change dans la table de lettre de change 14 de la station client U. A storage step E108 then makes it possible to store the bill of exchange in the bill of exchange table 14 of the client station U.
<Desc/Clms Page number 35> <Desc / Clms Page number 35>
En pratique, chaque identifiant de station serveur H 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. In practice, each identifier of server station H is stored in association with the certificate of authenticity or bill of exchange C (Wo), and more precisely with the value of the root coin Wo.
Cette lettre de change permet ainsi à la station client U d'authentifier les pièces reçues de la station serveur H et de valider la somme de remboursement reçue S. This bill of exchange thus allows the client station U to authenticate the documents received from the server station H and to validate the reimbursement amount received S.
Une fois cette étape exécutée, le remboursement est considéré comme acquis. Once this step has been completed, the reimbursement is taken for granted.
Grâce à cette génération d'une monnaie électronique sur la station serveur H, ce dernier n'envoie pas au client ses propres pièces, ce qui ne peut être mis en oeuvre de manière fiable, mais utilise au contraire un jeu de pièces électroniques séparé comme décrit précédemment. Thanks to this generation of electronic money on the server station H, the latter does not send the customer his own coins, which cannot be implemented reliably, but instead uses a separate set of electronic coins such as previously described.
Le mécanisme de remboursement décrit dans ce mode de réalisation est mis en oeuvre de manière symétrique au mécanisme mis en oeuvre pour rémunérer les fonctions exécutées sur la station serveur. The reimbursement mechanism described in this embodiment is implemented symmetrically with the mechanism implemented to remunerate the functions executed on the server station.
Bien entendu, de nombreuses modifications peuvent être apportées à l'exemple de description décrit ci-dessus sans sortir du cadre de l'invention. Of course, many modifications can be made to the example description described above without departing from the scope of the invention.
Ainsi, dans l'exemple de réalisation décrit précédemment, un coût d'annulation est supporté à la fois par la station client UA ayant requis l'annulation de la fonction et la station client Up ayant requis préalablement l'exécution de la fonction. Thus, in the embodiment described above, a cancellation cost is borne both by the client station UA having requested the cancellation of the function and the client station Up having previously requested the execution of the function.
Bien entendu, le coût d'annulation pourrait n'être imputé qu'à la station client UA ayant requis l'annulation de la fonction. Of course, the cancellation cost could only be charged to the UA client station that requested the cancellation of the function.
La station serveur pourrait aussi proposer de refaire des fonctions annulées. Dans ce cas, le coût pour exécuter de nouveau une fonction pourrait être égal soit : - au montant remboursé lors de l'annulation de la fonction ; - au coût initial d'exécution de la fonction ; ou - un coût différent, compris entre le montant remboursé lors de l'annulation et le coût initial d'exécution de telle sorte qu'une nouvelle exécution d'une fonction annulée coûterait moins cher que l'exécution initiale de la The server station could also propose to redo canceled functions. In this case, the cost to perform a function again could be equal to either: - the amount reimbursed when the function is canceled; - at the initial cost of performing the function; or - a different cost, between the amount reimbursed upon cancellation and the initial cost of execution so that a new execution of a canceled function would cost less than the initial execution of the
<Desc/Clms Page number 36><Desc / Clms Page number 36>
fonction. Cela peut se justifier dès lors que la station serveur a conservé en mémoire le résultat de l'exécution de la fonction après son annulation. function. This can be justified as soon as the server station has kept in memory the result of the execution of the function after its cancellation.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0200399A FR2819960B1 (en) | 2001-01-22 | 2002-01-14 | METHOD FOR CANCELING A REMOTELY EXECUTED OPERATION ON A SERVER STATION |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0100821A FR2819959A1 (en) | 2001-01-22 | 2001-01-22 | METHOD FOR CANCELING A REMOTELY EXECUTED OPERATION ON A SERVER STATION |
FR0200399A FR2819960B1 (en) | 2001-01-22 | 2002-01-14 | METHOD FOR CANCELING A REMOTELY EXECUTED OPERATION ON A SERVER STATION |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2819960A1 true FR2819960A1 (en) | 2002-07-26 |
FR2819960B1 FR2819960B1 (en) | 2003-09-05 |
Family
ID=26212838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0200399A Expired - Fee Related FR2819960B1 (en) | 2001-01-22 | 2002-01-14 | METHOD FOR CANCELING A REMOTELY EXECUTED OPERATION ON A SERVER STATION |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2819960B1 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537526A (en) * | 1993-11-12 | 1996-07-16 | Taugent, Inc. | Method and apparatus for processing a display document utilizing a system level document framework |
US5557518A (en) * | 1994-04-28 | 1996-09-17 | Citibank, N.A. | Trusted agents for open electronic commerce |
-
2002
- 2002-01-14 FR FR0200399A patent/FR2819960B1/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537526A (en) * | 1993-11-12 | 1996-07-16 | Taugent, Inc. | Method and apparatus for processing a display document utilizing a system level document framework |
US5557518A (en) * | 1994-04-28 | 1996-09-17 | Citibank, N.A. | Trusted agents for open electronic commerce |
Non-Patent Citations (2)
Title |
---|
ASIT DAN, FRANCIS PARR: "An Object implementation of Network Centric Business Service Applications (NCBSAs): Conversational Service Transactions, Service Monitor and an Application Style", JEFF SUTHERLAND'S OBJECT TECHNOLOGY WEB SITE, 12 January 1999 (1999-01-12), XP002184918, Retrieved from the Internet <URL:http://jeffsutherland.org/oopsla97/dan.html> [retrieved on 20011204] * |
HEATHER KREGER: "Web Services Conceptual Architecture (WSCA 1.0)", INTERNET, May 2001 (2001-05-01), pages 1 - 41, XP002203346, Retrieved from the Internet <URL:http://www-3.ibm.com/software/solutions/webservices/pdf/WSCA.pdf> [retrieved on 20020624] * |
Also Published As
Publication number | Publication date |
---|---|
FR2819960B1 (en) | 2003-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11615677B2 (en) | Systems for multiple legal game providers with digital ledger | |
US12154413B2 (en) | Systems for multiple legal game providers with digital ledger | |
FR2851389A1 (en) | Multimedia queries managing process for use in client server type architecture, involves dynamically allocating priority at every valid query, and making decision based on priority allocated to query for transmitting valid query | |
FR2819959A1 (en) | METHOD FOR CANCELING A REMOTELY EXECUTED OPERATION ON A SERVER STATION | |
EP1187393A2 (en) | Payment process and system for transmission and/or service operations within a packet transmission network | |
EP3195224A1 (en) | Methods and devices for managing composite transactions | |
FR3062499A1 (en) | METHOD FOR REDUCING THE SIZE OF A BLOCKED CHAIN TYPE DATABASE, DEVICE AND PROGRAM THEREOF | |
FR2819960A1 (en) | Method for undoing from one customer station a server operation initiated by another station, comprises calculation of undoing cost and return to initiating station of annulling payment less cost | |
FR3018369A1 (en) | MEANS FOR MANAGING RIGHTS OF SUITE FOR DIGITAL OBJECTS | |
EP0731580A1 (en) | Method of payment in a data communications application and device for its implementation | |
FR2905021A1 (en) | METHOD AND SYSTEM OF PAYMENT USING A MOBILE TELEPHONE | |
FR2815148A1 (en) | Method of processing requests sent to a server by a client workstation. | |
WO2002005226A1 (en) | Micropayment transaction management method, client devices, trader and financial intermediary | |
FR2815206A1 (en) | Communications network remote execution process having client execution request having step sending server execution cost equivalent money cost transfer. | |
WO2013000966A1 (en) | Method of dematerialized transaction | |
FR2864663A1 (en) | SECURE DATA EXCHANGE, INCLUDING CERTIFIED DATA FOR FACTORING | |
FR3136293A1 (en) | Method, device and computer program to assist in accessing a service | |
EP2172896A1 (en) | Value management method in a prepaid device | |
FR2830644A1 (en) | Execution of and payment for online functions, whereby the cost of execution of independent functions with a function execution request is determined and used to sort functions so that they can be executed and paid for | |
WO2007031628A2 (en) | System for managing rights for protected digital contents, identification module and corresponding methods | |
FR2828043A1 (en) | Communications network function execution payment conditions method having information interface extracted following execution cost and separate memory configuration holding execution cost determination mode. | |
WO2021165612A1 (en) | Method and device for controlling access to a function of an application registered in a blockchain | |
EP3284209B1 (en) | Methods of generating and verifying a security key of a virtual monetary unit | |
EP4099249A1 (en) | Method and device for transmitting an identifier of a user during an electronic payment made by the user | |
WO2023203291A1 (en) | Methods, terminal and server for managing personal data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20140930 |