Movatterモバイル変換


[0]ホーム

URL:


FR2830398A1 - Execution of functions in a client server environment, whereby a client computer is requested to execute a function on an object by a server, with selection and transmission of multiple results - Google Patents

Execution of functions in a client server environment, whereby a client computer is requested to execute a function on an object by a server, with selection and transmission of multiple results
Download PDF

Info

Publication number
FR2830398A1
FR2830398A1FR0112603AFR0112603AFR2830398A1FR 2830398 A1FR2830398 A1FR 2830398A1FR 0112603 AFR0112603 AFR 0112603AFR 0112603 AFR0112603 AFR 0112603AFR 2830398 A1FR2830398 A1FR 2830398A1
Authority
FR
France
Prior art keywords
function
client
server
message
results
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0112603A
Other languages
French (fr)
Other versions
FR2830398B1 (en
Inventor
Youenn Fablet
Herve Ruellan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon IncfiledCriticalCanon Inc
Priority to FR0112603ApriorityCriticalpatent/FR2830398B1/en
Priority to US10/260,555prioritypatent/US7181747B2/en
Publication of FR2830398A1publicationCriticalpatent/FR2830398A1/en
Application grantedgrantedCritical
Publication of FR2830398B1publicationCriticalpatent/FR2830398B1/en
Priority to US11/464,757prioritypatent/US7725906B2/en
Anticipated expirationlegal-statusCritical
Expired - Fee Relatedlegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

Method for requesting execution of a function in a client computer within a client-server environment, the function being applicable to a object processed by the server. Method involves prior creation of an interface to a selected object and selection of a function via the interface. The method involves determination of returned results following function execution, selection of a desired result, generation of a call message for the function and transmission of the call message to the server.

Description

Translated fromFrench

<Desc/Clms Page number 1><Desc / Clms Page number 1>

La présente invention a trait de manière générale à l'exécution de fonctions appliquées à des objets informatiques dans un environnement clientserveur. The present invention relates generally to performing functions applied to computing objects in a client server environment.

Plus particulièrement, l'invention concerne, d'une part, un procédé de demande d'exécution d'une fonction dans un système informatique client dans un environnement client-serveur, la fonction étant applicable à un objet informatique traité par un système informatique serveur ; le procédé comportant les étapes préalables d'obtention d'une interface de l'objet et de sélection d'une fonction à partir de l'interface. More particularly, the invention relates, on the one hand, to a method of requesting execution of a function in a client computer system in a client-server environment, the function being applicable to a computer object processed by a server computer system ; the method comprising the preliminary steps of obtaining an interface of the object and selecting a function from the interface.

D'autre part, l'invention concerne un procédé d'exécution d'une fonction dans un système informatique serveur, dans un environnement client-serveur ; Ce procédé comportant une étape préalable de réception d'un message d'appel de la fonction, en provenance d'un système informatique client. On the other hand, the invention relates to a method of executing a function in a server computer system, in a client-server environment; This method comprises a prior step of receiving a call function message from a client computer system.

L'invention concerne aussi des systèmes informatiques aptes à mettre en oeuvre les procédés précités. The invention also relates to computer systems capable of implementing the aforementioned methods.

De manière générale, dans un système orienté objet (en anglais"object oriented system"), un objet informatique est un élément comprenant des données, également appelé attributs, et des fonctions (en anglais"functions" ou"methods") utilisant éventuellement des paramètres d'entrée (en anglais "input arguments"). Classiquement, ces fonctions peuvent être appelées ou invoquées (en anglais "invoked") pour manipuler les données de l'objet. Generally speaking, in an object-oriented system, a computer object is an element comprising data, also called attributes, and functions (or "methods") possibly using input parameters (in English "input arguments"). Classically, these functions can be called or invoked to manipulate the data of the object.

<Desc/Clms Page number 2><Desc / Clms Page number 2>

L'ensemble des fonctions applicables à un objet et ses attributs constitue l'interface de l'objet.The set of functions applicable to an object and its attributes constitutes the interface of the object.

Chaque objet informatique est créé dans un langage de programmation utilisé par une application informatique qui est mise en oeuvre sur le site du réseau sur lequel est créé l'objet. De tels langages de programmation sont connus, par exemple, sous le nom de JAVA ou C++. Each computer object is created in a programming language used by a computer application that is implemented on the site of the network on which the object is created. Such programming languages are known, for example, under the name of JAVA or C ++.

Pour qu'un objet informatique puisse être partagé sur un réseau de communication, il est nécessaire de le coder d'une manière telle qu'il ne soit ni dépendant de l'architecture du réseau de communication, ni dépendant du langage de programmation dans lequel l'application informatique a créé l'objet. In order for a computer object to be shared on a communication network, it is necessary to encode it in such a way that it is neither dependent on the architecture of the communication network nor dependent on the programming language in which the computer application created the object.

Cela est nécessaire dès lors qu'un autre ordinateur peut ne pas avoir la même architecture de réseau ou peut implémenter une application informatique différente.This is necessary since another computer may not have the same network architecture or may implement a different computer application.

Lorsque l'objet informatique est reçu par un autre site, une opération inverse de traduction doit être appliquée à l'objet pour obtenir une représentation de l'objet dans l'application informatique mise en oeuvre sur ce second site. When the computer object is received by another site, a reverse translation operation must be applied to the object to obtain a representation of the object in the computer application implemented on this second site.

Le réseau Internet avec ses langages et ses protocoles de communication se prête particulièrement à l'élaboration d'un système orienté objet d'étendue planétaire. The Internet with its languages and communication protocols lends itself particularly well to the development of an object-oriented system of global scope.

Plus particulièrement, le World Wide Web (Web ou WWW) constitue l'interface de prédilection pour accéder à la plupart des ressources disponibles sur Internet. Le Web (aussi appelé"Toile"en français) est un ensemble de protocoles Internet et de logiciels qui présentent l'information dans un format hypertexte. Le concept d'hypertexte s'emploie pour construire des documents informatiques qui référencent d'autres documents à l'aide de liens, aisément sélectionnables par des utilisateurs novices. In particular, the World Wide Web (Web or WWW) is the preferred interface for accessing most of the resources available on the Internet. The Web (also called "Web" in French) is a set of Internet protocols and software that present information in a hypertext format. The concept of hypertext is used to build computer documents that reference other documents with links, easily selectable by novice users.

Le langage HTML (HyperText Markup Language) est un langage de balisage conçu pour décrire la manière dont des documents doivent être affichés par les navigateurs Web. Ce langage du fait de sa simplicité et de sa facilité d'utilisation, a été rapidement adopté comme un standard dans le HyperText Markup Language (HTML) is a markup language designed to describe how documents are to be displayed by web browsers. This language because of its simplicity and ease of use, was quickly adopted as a standard in the

<Desc/Clms Page number 3><Desc / Clms Page number 3>

monde Internet. Cependant, il est impossible d'étendre ce langage au-delà de ce pourquoi il a été conçu, c. -à-d., la présentation de documents. Les auteurs de documents ne sont en effet pas autorisés à créer de nouvelles balises pour leurs besoins spécifiques. Internet world. However, it is impossible to extend this language beyond what it was designed for, c. ie, the presentation of documents. Document authors are not allowed to create new tags for their specific needs.

Le langage XML (eXtensible Markup Language) a été créé notamment pour pallier la faiblesse du langage HTML. Le langage XML est défini selon une norme de l'organisation internationale connue sous le nom de"W3 Consortium" (W3C). XML est un langage de balisage à balises de structuration : chaque balise correspond à un élément, qui peut être présent une ou plusieurs fois dans le document. Une balise peut contenir du texte ou d'autres balises. Dans le cas où elle contient d'autres balises, une balise est assimilée à un noeud d'un arbre. Contrairement à HTML, le nom des balises n'est pas soumis à une norme, il est défini par le programmeur. En outre, chaque balise ouvrante doit être accompagnée d'une balise fermante, ou être une balise vide. Cette contrainte permet de créer des documents ayant une structure hiérarchique qui peut être représentée sous la forme d'un arbre. The XML (eXtensible Markup Language) was created in particular to overcome the weakness of HTML. The XML language is defined according to a standard of the international organization known as the "W3 Consortium" (W3C). XML is a markup language with structuring tags: each tag corresponds to an element, which can be present one or more times in the document. A tag can contain text or other tags. In the case where it contains other tags, a tag is likened to a node of a tree. Unlike HTML, the name of the tags is not subject to a standard, it is defined by the programmer. In addition, each opening tag must be accompanied by a closing tag, or be an empty tag. This constraint allows you to create documents with a hierarchical structure that can be represented as a tree.

De par sa structure hiérarchique (arborescente), le langage XML permet de représenter des données structurées. D'autre part, un document XML est parfaitement lisible par un humain"averti". Enfin les documents XML étant au format texte, ils peuvent être facilement échangés via le Web en utilisant les protocoles existants comme HTTP (Hypertext Transfer Protocol). By its hierarchical structure (tree), the XML language makes it possible to represent structured data. On the other hand, an XML document is perfectly readable by an "informed" human. Finally, XML documents being in text format, they can be easily exchanged via the Web using existing protocols such as Hypertext Transfer Protocol (HTTP).

En complément du langage XML, on trouve des langages"de schéma", ainsi désignés parce qu'ils permettent de définir une classe de document XML, le terme "document instance" étant souvent utilisé pour définir un document qui est valide par rapport à un certain schéma. Ainsi une DTD (Document Type Definition) est un langage de schéma qui permet de spécifier quels éléments sont susceptibles d'apparaître dans les documents instances, quels éléments peuvent être contenus dans d'autres éléments, et dans quel ordre ils doivent apparaître. Le plus souvent une DTD est un fichier à part, externe au document XML. In addition to the XML language, we find "schema" languages, so called because they make it possible to define an XML document class, the term "document instance" being often used to define a document that is valid with respect to a document. certain scheme. Thus, a Document Type Definition (DTD) is a schema language that allows you to specify which elements are likely to appear in instance documents, which elements can be contained in other elements, and in what order they should appear. Most often a DTD is a separate file, external to the XML document.

<Desc/Clms Page number 4><Desc / Clms Page number 4>

Récemment, un autre langage de schéma est apparu : XML Schema, également défini par une norme W3C. XML Schema présente l'avantage par rapport aux DTD d'utiliser la syntaxe XML. Autrement dit, un document exprimé en XML Schema (appelé schéma XML) est un document XML. Ainsi n'importe quel schéma XML peut être manipulé par tout éditeur XML. Le langage XML Schema présente, entre autres, l'avantage par rapport au langage XML, de permettre la création de types complexes. Recently, another schema language appeared: XML Schema, also defined by a W3C standard. XML Schema has the advantage over DTDs of using XML syntax. In other words, a document expressed in XML Schema (called XML schema) is an XML document. So any XML schema can be manipulated by any XML editor. The XML Schema has, among other things, the advantage over XML, to allow the creation of complex types.

Dans le document constitué par la demande de brevet français n 9908155 déposée au nom de la société CANON, on décrit un procédé et un dispositif d'exécution à distance d'une fonction sur un objet informatique dans un réseau de communication. Plus particulièrement, ce document propose une méthode de description de l'interface d'un objet, basée sur l'utilisation du langage XML. In the document constituted by the French patent application No. 9908155 filed in the name of the CANON company, there is described a method and a device for remotely executing a function on a computer object in a communication network. More particularly, this document proposes a method of describing the interface of an object, based on the use of the XML language.

Dans le document constitué par la demande de brevet français n 0108772 déposée également au nom de la société CANON, on décrit un procédé et un dispositif de description de l'interface d'un objet informatique. Selon ce document, une fonction applicable à un objet informatique donné (par ex., une image numérique) est définie par une première balise utilisant la syntaxe du langage XML. Par ailleurs, des secondes balises, contenues dans la première, utilisant la syntaxe du langage XML Schema permettent de décrire les arguments de la fonction et les types de ces arguments. En outre, si la fonction produit un résultat, il est défini une troisième balise, également contenue dans la première, décrivant le résultat de la fonction, le type du résultat étant exprimé selon la syntaxe XML Schema. In the document constituted by the French patent application No. 0108772 also filed in the name of the CANON company, there is described a method and a device for describing the interface of a computer object. According to this document, a function applicable to a given computer object (e.g., a digital image) is defined by a first tag using the syntax of the XML language. In addition, second tags, contained in the first, using the syntax of the XML Schema language are used to describe the arguments of the function and types of these arguments. In addition, if the function produces a result, it defines a third tag, also contained in the first, describing the result of the function, the type of the result being expressed according to the XML Schema syntax.

Ainsi, dans ce contexte, pour effectuer un appel de fonction à distance sur un objet informatique, un ordinateur client transmet à un ordinateur serveur hébergeant l'objet, un fichier XML qui respecte une syntaxe prédéfinie par le serveur. Thus, in this context, to make a remote function call on a computer object, a client computer transmits to an server computer hosting the object, an XML file that respects a syntax predefined by the server.

Cependant, dans l'art antérieur connu à ce jour, et en particulier dans les documents précités, une fonction donnée applicable à un objet informatique, However, in the prior art known to date, and in particular in the aforementioned documents, a given function applicable to a computer object,

<Desc/Clms Page number 5><Desc / Clms Page number 5>

lorsqu'elle retourne un résultat, retourne le plus souvent un résultat unique, et l'utilisateur n'a aucune possibilité de choix concernant ce résultat. when it returns a result, returns most often a single result, and the user has no possibility of choice concerning this result.

Par ailleurs, lorsqu'un utilisateur demande à obtenir plusieurs résultats, il y a généralement deux solutions possibles. Soit, plusieurs fonctions distinctes sont appelées, chacune d'entres elles retournant un des résultats demandés, soit une seule fonction est appelée, la fonction retournant une pluralité de résultats. In addition, when a user asks to obtain several results, there are generally two possible solutions. Either, several distinct functions are called, each of them returning one of the requested results, or a single function is called, the function returning a plurality of results.

Dans le premier cas, chaque appel de fonction est consommateur de temps de réponse et de bande passante sur le réseau. Dans le second cas, la fonction retournant tous les résultats qu'elle peut générer, il peut y avoir parmi ceux-ci des résultats non désirés par l'utilisateur. Les résultats inutiles retournés consomment également de la bande passante sur le réseau, d'autre part il incombe à l'utilisateur de faire le tri parmi les résultats retournés. In the first case, each function call is consuming response time and bandwidth on the network. In the second case, the function returning all the results it can generate, there may be among these results unwanted by the user. The useless results returned also consume bandwidth on the network, on the other hand it is up to the user to sort through the returned results.

Or, avec notamment le développement du commerce électronique sur Internet, il y a un réel besoin de pouvoir offrir à l'utilisateur, des services qui offrent une grande souplesse d'utilisation, et notamment par l'utilisation de fonctions appliquées à des objets informatiques, qui puissent renvoyer des résultats multiples et sélectionnables par l'utilisateur. However, particularly with the development of e-commerce over the Internet, there is a real need to be able to offer the user services that offer a great flexibility of use, and notably by the use of functions applied to computer objects. , which can return multiple results that can be selected by the user.

La présente invention vise à répondre à ce besoin. A cet effet, l'invention concerne selon un premier aspect, un procédé de demande d'exécution d'une fonction dans un système informatique client ("client") dans un environnement client-serveur, la fonction étant applicable à un objet informatique traité par un système informatique serveur ("serveur"). Ce procédé comporte les étapes préalables d'obtention d'une interface de l'objet et de sélection d'une fonction à partir de l'interface, et est caractérisé en ce qu'il comporte les étapes suivantes : - détermination des résultats différents retournés suite à l'exécution de la fonction, à partir d'informations d'identification de résultat, codées dans l'interface ; - sélection d'au moins un résultat désiré à partir desdites informations d'identification de résultat ; The present invention aims to meet this need. For this purpose, the invention relates, according to a first aspect, to a method of requesting execution of a function in a client computer system ("client") in a client-server environment, the function being applicable to a computer object processed by a server computer system ("server"). This method comprises the preliminary steps of obtaining an interface of the object and selecting a function from the interface, and is characterized in that it comprises the following steps: determination of the different results returned following the execution of the function, from result identification information coded in the interface; selecting at least one desired result from said result identification information;

<Desc/Clms Page number 6><Desc / Clms Page number 6>

- génération d'un message d'appel de la fonction, le message d'appel incluant une liste de résultats désirés, chaque élément de la liste étant indicatif d'un résultat sélectionné ; - envoi du message d'appel de la fonction, audit serveur. generating a call message of the function, the call message including a list of desired results, each element of the list being indicative of a selected result; sending the function call message to said server.

Grâce à ce procédé, on offre à un utilisateur (humain) du système informatique client la possibilité de choisir les résultats qu'il désirent obtenir à partir de l'exécution de la fonction choisie et appliquée à l'objet informatique considéré, et d'obtenir en retour du système serveur seulement les résultats choisis. With this method, a user (human) of the client computer system is offered the possibility of choosing the results that he wishes to obtain from the execution of the function chosen and applied to the computer object in question, and of get back from the server system only the chosen results.

Selon une caractéristique particulièrement avantageuse de l'invention, l'étape de sélection d'au moins un résultat désiré inclut, pour chaque résultat désiré, la détermination d'un ou plusieurs systèmes informatiques destinataires ("destinataires") du résultat correspondant ; le message d'appel incluant alors des informations d'identification du (ou des) destinataire (s) pour chaque résultat désiré. According to a particularly advantageous characteristic of the invention, the step of selecting at least one desired result includes, for each desired result, the determination of one or more destination computer systems ("recipients") of the corresponding result; the call message then including identification information of the recipient (s) for each desired result.

De cette façon, outre la possibilité de choisir les résultats renvoyés par le serveur, l'utilisateur a la possibilité de spécifier pour chaque résultat ou pour chaque groupe de résultats défini par lui, un destinataire informatique (dans l'environnement client-serveur) de ce résultat ou de ce groupe de résultats. En outre, un résultat donné peut être envoyé à plusieurs destinataires sans que le serveur ait à calculer plusieurs fois ce résultat. In this way, besides the possibility to choose the results returned by the server, the user has the possibility to specify for each result or for each group of results defined by him, a computer recipient (in the client-server environment) of this result or group of results. In addition, a given result can be sent to several recipients without the server having to calculate this result several times.

Le procédé de demande d'exécution comporte alors une étape finale de réception, en provenance du serveur, d'un message de réponse d'exécution contenant les valeurs des résultats, parmi ceux sélectionnés, dont le destinataire correspond au système informatique client. The execution request method then comprises a final step of receiving, from the server, an execution response message containing the values of the results, among those selected, whose recipient corresponds to the client computer system.

Selon un mode de réalisation préféré, le procédé comporte en outre une étape d'affichage des résultats reçus. According to a preferred embodiment, the method further comprises a step of displaying the results received.

Corrélativement, selon un second aspect, la présente invention concerne un procédé d'exécution d'une fonction dans un système informatique serveur ("serveur"), dans un environnement client-serveur. Le procédé comporte une étape préalable de réception d'un message d'appel de la fonction, en Correlatively, according to a second aspect, the present invention relates to a method of executing a function in a server computer system ("server"), in a client-server environment. The method comprises a preliminary step of receiving a call message of the function, in

<Desc/Clms Page number 7><Desc / Clms Page number 7>

provenance d'un système informatique client ("client"). Le procédé d'exécution est caractérisé en ce qu'il comporte les étapes suivantes : - extraction des arguments de la fonction appelée du message d'appel ; - extraction d'une liste de résultats désirés du message d'appel, chaque élément de la liste étant indicatif d'un type de résultat d'exécution désiré en retour par le client ; - exécution de la fonction en lui appliquant les arguments extraits ; - sélection, parmi les résultats obtenus au cours de l'exécution de la fonction, des résultats désirés par le client selon la liste de résultats désirés extraite du message d'appel ; - génération d'un message de réponse d'exécution de fonction, ledit message de réponse contenant les résultats d'exécution désirés par ledit client ; - envoi du message de réponse d'exécution de fonction au client. from a client computer system ("client"). The execution method is characterized in that it comprises the following steps: extraction of the arguments of the called function from the call message; extracting a list of desired results from the call message, each element of the list being indicative of a type of execution result desired by the client in return; - Execution of the function by applying the extracted arguments; selecting, from among the results obtained during the execution of the function, the results desired by the client according to the list of desired results extracted from the call message; generating a function execution response message, said response message containing the execution results desired by said client; - sending the function execution response message to the client.

Selon une caractéristique avantageuse de l'invention, l'étape d'extraction d'une liste de résultats désirés, inclut une étape d'extraction, du message d'appel, d'informations d'identification d'un ou plusieurs systèmes informatiques destinataires pour chaque type de résultat désiré. According to an advantageous characteristic of the invention, the step of extracting a list of desired results includes an extraction step, the call message, identification information of one or more computer systems recipients for each type of desired result.

Par ailleurs, les étapes de génération et d'envoi du message de réponse au client, incluent les étapes suivantes : - génération d'un message de réponse distinct par destinataire identifié, chaque message de réponse contenant le (ou les) résultat (s) correspondant (s) ; - envoi des messages de réponses aux différents destinataires. In addition, the steps of generating and sending the response message to the client include the following steps: generating a separate response message by identified recipient, each response message containing the result (s) correspondent (s); - sending response messages to the different recipients.

Selon un mode préféré de réalisation, l'environnement client-serveur est un réseau de communication de type Internet sur lequel communiquent à distance les systèmes informatiques client et serveur. According to a preferred embodiment, the client-server environment is an Internet type communication network on which the client and server computer systems communicate remotely.

Dans ce mode de réalisation, le protocole de communication utilisé est le protocole HTTP. D'autre part, l'interface de l'objet informatique, le message d'appel de fonction, et les messages de réponse d'exécution de fonction, sont des documents informatiques dont le contenu est représenté dans un langage de balisage de type XML. In this embodiment, the communication protocol used is the HTTP protocol. On the other hand, the computer object interface, the function call message, and the function execution response messages are computer documents whose contents are represented in an XML type markup language. .

<Desc/Clms Page number 8><Desc / Clms Page number 8>

Selon un autre aspect, l'invention concerne un système informatique client comportant des moyens adaptés à la mise en oeuvre d'un procédé de demande d'exécution d'une fonction tel que succinctement exposé supra. According to another aspect, the invention relates to a client computer system comprising means adapted to the implementation of a request method for executing a function as briefly described above.

De manière similaire, l'invention concerne aussi un système informatique serveur, comportant des moyens adaptés à la mise en oeuvre d'un procédé d'exécution d'une fonction tel que succinctement exposé supra. Similarly, the invention also relates to a server computer system, comprising means adapted to the implementation of a method of executing a function as briefly described above.

La présente invention concerne encore un réseau de communication comportant au moins un système informatique client et au moins un système informatique serveur, tels que brièvement exposés ci-dessus. The present invention further relates to a communication network comprising at least one client computer system and at least one server computer system, as briefly described above.

Selon un autre aspect, l'invention concerne aussi, d'une part, un programme d'ordinateur sur un support d'informations, remarquable en ce qu'il comprend des instructions permettant de mettre en oeuvre un procédé de demande d'exécution d'une fonction tel que brièvement exposé plus haut, lorsque ce programme est chargé et exécuté dans un système informatique client ; et d'autre part, un programme d'ordinateur sur un support d'informations, remarquable en ce qu'il comprend des instructions permettant de mettre en oeuvre un procédé d'exécution d'une fonction tel que brièvement exposé plus haut, lorsque ce programme est chargé et exécuté dans un système informatique serveur. According to another aspect, the invention also relates, on the one hand, to a computer program on an information medium, which is remarkable in that it comprises instructions making it possible to implement an application execution method of a function as briefly discussed above, when this program is loaded and executed in a client computer system; and secondly, a computer program on an information medium, remarkable in that it includes instructions for implementing a method of executing a function as briefly discussed above, when this program is loaded and executed in a server computer system.

L'invention vise aussi un support d'informations contenant de tels programmes d'ordinateur. Un tel support d'informations peut comporter un moyen de mémorisation, tel qu'une ROM, par exemple un CD ROM ou une ROM semi-conducteur, ou un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, ou encore par radio ou par d'autres moyens. The invention also relates to an information carrier containing such computer programs. Such an information carrier may comprise storage means, such as a ROM, for example a CD ROM or a semiconductor ROM, or a magnetic recording means, for example a floppy disk or a disk. hard. On the other hand, the medium may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, or by radio or by other means.

Les avantages de ces systèmes informatiques, programmes d'ordinateur, et de ce support d'informations, sont identiques à ceux des procédés de demande d'exécution et d'exécution de fonction, tels que brièvement exposés supra. The advantages of these computer systems, computer programs, and this information carrier are identical to those of the application and performance execution methods, as briefly discussed above.

<Desc/Clms Page number 9><Desc / Clms Page number 9>

D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après d'un mode préféré de réalisation décrit à l'appui des dessins annexés sur lesquels : - la Figure 1 représente un exemple de deux documents selon l'invention exprimés dans un langage de balisage et décrivant respectivement un objet informatique et son interface ; - la Figure 2 représente un exemple de deux documents informatiques selon l'invention, exprimés dans le même langage de balisage, et décrivant respectivement un message d'appel d'une fonction applicable sur l'objet informatique et des messages de réponse obtenus après exécution de la fonction ; - la Figure 3 est un organigramme illustrant un procédé selon l'invention de demande d'exécution d'une fonction dans un système informatique client d'un environnement client-serveur ; - la Figure 4 est un organigramme illustrant un procédé d'exécution d'une fonction dans un système informatique serveur d'un environnement clientserveur, selon un mode de réalisation préféré de l'invention ; - la Figure 5 est un organigramme détaillant certaines étapes du processus de traitement des messages de réponse qui compose le procédé d'exécution d'une fonction, illustré à la Fig. 4 ; - la Figure 6 illustre l'interaction entre le processus d'exécution de la fonction et le processus de génération des messages de réponse, selon le mode de réalisation de l'invention illustré aux Figures 4 et 5, appliqué à l'appel de fonction représenté à la Fig. 2. Other features and advantages of the invention will become apparent from the following description of a preferred embodiment described with reference to the accompanying drawings, in which: FIG. 1 represents an example of two documents according to the invention; expressed in a markup language and describing respectively a computer object and its interface; FIG. 2 represents an example of two computer documents according to the invention, expressed in the same markup language, and respectively describing a call message of a function applicable on the computer object and response messages obtained after execution. of the function; FIG. 3 is a flowchart illustrating a method according to the invention of requesting execution of a function in a client computer system of a client-server environment; FIG. 4 is a flowchart illustrating a method of executing a function in a server computer system of a client server environment, according to a preferred embodiment of the invention; FIG. 5 is a flowchart detailing certain steps in the response message processing process that comprise the method of executing a function, illustrated in FIG. 4; FIG. 6 illustrates the interaction between the process of executing the function and the response message generation process, according to the embodiment of the invention illustrated in FIGS. 4 and 5, applied to the function call. shown in FIG. 2.

Dans le mode de réalisation décrit et illustré au figures, l'environnement client-serveur est le Web sur l'Internet. In the embodiment described and illustrated in the figures, the client-server environment is the Web on the Internet.

La Figure 1 représente un exemple de deux documents informatiques selon l'invention exprimés dans un langage de balisage et décrivant respectivement un objet informatique et son interface. Dans le mode de réalisation préféré, le langage de balisage est le langage XML. Figure 1 shows an example of two computer documents according to the invention expressed in a markup language and describing respectively a computer object and its interface. In the preferred embodiment, the markup language is the XML language.

<Desc/Clms Page number 10><Desc / Clms Page number 10>

Le document 100 est ainsi un document XML décrivant un objet informatique, ici une image numérique stockée dans un ordinateur serveur sur le réseau (par ex. un serveur d'images). The document 100 is thus an XML document describing a computer object, here a digital image stored in a server computer on the network (eg an image server).

Le document 100 peut être obtenu par un utilisateur utilisant un ordinateur "client" sur le réseau, par exemple après avoir consulté un site informatique (site web) et cliqué sur un lien hypertexte ou sur un objet informatique affiché à l'écran. The document 100 can be obtained by a user using a "client" computer on the network, for example after having consulted a computer site (website) and clicked on a hypertext link or on a computer object displayed on the screen.

Selon le document 100, un objet informatique"image"est décrit entre les balises XML ouvrante et fermante :" < image... > "et" < /image > ". L'interface de cet objet peut être obtenue à l'adresse électronique HTTP "http : //www. crf. canon. fr/", dans le fichier"imagelnterface. xsd". Dans ce fichier, l'objet"image"est identifié par le nom (name)"Flower" ("fleur"en français). According to the document 100, an "image" computer object is described between the opening and closing XML tags: "<image ...>" and "</ image>". The interface of this object can be obtained from the http: // www. Canon canon. Fr / "HTTP address in the file" imagelnterface. Xsd ". In this file, the object "image" is identified by the name (name) "Flower" ("flower" in French).

Le document 100 est par exemple affiché sur un écran associé à l'ordinateur client, au travers d'une interface graphique (GUI, graphical user interface). Pour obtenir l'interface de l'image "Flower" à partir du document 100, l'utilisateur peut par exemple entrer une commande au clavier ou cliquer sur un élément graphique affiché à cet effet à l'écran. The document 100 is for example displayed on a screen associated with the client computer, through a graphical user interface (GUI). To obtain the interface of the "Flower" image from the document 100, the user can, for example, enter a command on the keyboard or click on a graphic element displayed for this purpose on the screen.

L'interface de l'objet, c. -à-d., le document 110, est alors téléchargée dans l'ordinateur client depuis l'adresse électronique"http : //www. crf. canon. fr/". The interface of the object, c. ie, the document 110, is then downloaded into the client computer from the email address "http: // www .crf. canon. fr /".

Dans cet exemple, l'interface de l'objet décrit deux fonctions qui lui sont applicables : - la fonction "rotate" (en français "rotation") ; -la fonction"resize" (en français"redimensionner"). In this example, the interface of the object describes two functions that are applicable to it: - the function "rotate" (in French "rotation"); -the "resize" function (in French "resize").

A chacune de ces fonctions correspond des définitions de paramètres d'entrée (arguments) de la fonction et des informations d'identification de type de résultats pouvant être retournés suite à l'exécution de la fonction. Each of these functions has function input parameter (argument) definitions and result type identification information that can be returned following the execution of the function.

Ces informations sont codées à l'aide de balises utilisant la syntaxe du langage XML Schema. This information is encoded using tags that use the syntax of the XML Schema language.

Ainsi, dans l'interface 110, la fonction "rotate" est définie par des informations codées entre les balises ouvrante et fermante : < rotate > et Thus, in the interface 110, the "rotate" function is defined by information coded between the opening and closing tags: <rotate> and

<Desc/Clms Page number 11><Desc / Clms Page number 11>

< /rotate > . La première balise < angle type="xs : float/ > définit un paramètre d'entrée (argument) de cette fonction :"angle" de type flottant (float). </ rotate>. The first <angle type = "xs: float /> tag defines an input parameter (argument) for this function:" angle "floating point (float).

Les autres balises, regroupées sous la référence 1101, définissent chacune un type de résultat pouvant être retourné par la fonction "rotate". The other tags, grouped under the reference 1101, each define a type of result that can be returned by the "rotate" function.

Ainsi, quatre types de résultats sont définis : -"width" : largeur de l'image ; -"height" : hauteur de l'image ; -"preview" : affichage d'une imagette (thumbnail image en anglais) ; -"pixels" : affichage de l'image à sa taille normale. Thus, four types of results are defined: - "width": width of the image; - "height": height of the image; - "preview": display of a thumbnail image; - "pixels": display of the image at its normal size.

Chacune des balises (par ex. < width.../ > ) définissant un type de résultat particulier retourné par la fonction comporte en outre deux attributs :"out"et "returned". Each of the tags (eg <width ... />) defining a particular type of result returned by the function also has two attributes: "out" and "returned".

L'attribut out lorsqu'il est égal à'true' (vrai) definit l'élément correspondant (par ex. width) comme étant un résultat d'exécution. L'attribut retumed lorsqu'il est égal à'true'signifie que le résultat correspondant est retourné par défaut au système informatique client, émetteur du message d'appel de la fonction. De cette façon, si l'utilisateur ne précise pas quels résultats il souhaite obtenir, on lui retourne par défaut une réponse contenant l'ensemble des résultats pour lesquels l'attribut retumed a la valeur'true'. The attribute out when it is equal to 'true' (true) defines the corresponding element (eg width) as a result of execution. The attribute retumed when it is equal to 'mean' means that the corresponding result is returned by default to the client computer system, which transmits the call message of the function. In this way, if the user does not specify which results he wishes to obtain, he is returned by default with a response containing all the results for which the attribute retumed is 'true'.

La seconde fonction"resize"définie dans l'interface (110) de l'objet considéré (image) ne retourne quant à elle aucun résultat. En effet, seul son argument (factor) est défini, et elle ne comprend aucun élément comportant un attribut out='true'. The second "resize" function defined in the interface (110) of the considered object (image) does not return any results. Indeed, only its argument (factor) is defined, and it does not include any element with an attribute out = 'true'.

La Figure 2 représente un exemple de deux documents informatiques, décrivant respectivement un message (200) d'appel de la fonction "rotate" définie dans le document 110, et un message (210) de réponse obtenu après exécution de la fonction par le système serveur. Ces deux documents (200, 210) sont également des documents XML. FIG. 2 represents an example of two computer documents, describing respectively a message (200) calling the function "rotate" defined in the document 110, and a message (210) response obtained after execution of the function by the system server. These two documents (200, 210) are also XML documents.

On suppose que l'utilisateur du système informatique client a sélectionné au préalable, à partir de l'interface 110 de l'objet, plusieurs types de résultats à It is assumed that the user of the client computer system has previously selected, from the interface 110 of the object, several types of results to

<Desc/Clms Page number 12><Desc / Clms Page number 12>

partir de la liste 1101. Un message 200 d'appel de fonction est alors généré, dans le système client. from the list 1101. A function call message 200 is then generated in the client system.

Comme représenté sur la Fig. 2, le message 200 d'appel de fonction (s) est défini entre les balises ouvrante et fermante, respectivement : < message > et < /message > . Dans cet exemple, une seule fonction est appelée, la fonction rotate. As shown in FIG. 2, the function call 200 message (s) is defined between the opening and closing tags, respectively: <message> and </ message>. In this example, only one function is called, the rotate function.

L'appel de la fonction rotate choisie est défini par les informations codées entre les balises ouvrante et fermante : < rotate > et < /rotate > . The call to the selected rotate function is defined by the information encoded between the opening and closing tags: <rotate> and </ rotate>.

L'élément < angle > 90 < /angle > définit la valeur (90) du seul argument (paramètre d'entrée) "angle" de la fonction rotate. Dans cet exemple il s'agit donc d'appliquer une rotation de 90 degrés à l'objet image"Flower". The <angle> 90 </ angle> element defines the value (90) of the only argument (input parameter) "angle" of the rotate function. In this example, it is therefore necessary to apply a rotation of 90 degrees to the image object "Flower".

Le message (200) d'appel de la fonction (rotate) inclut une liste de résultats d'exécution désirés. Cette liste est identifiée à la Fig. 2 par la référence 2001. The call (200) message of the function (rotate) includes a list of desired execution results. This list is identified in FIG. 2 by the reference 2001.

Chacun des résultats de la liste 2001 est représenté par une balise XML, elle-même insérée entre une balise ouvrante ( < answer > ) et une balise fermante ( < /answer > ). Chaque paire de balises ouvrante et fermante ( < answer > , < /answer > ) définit une sous-liste de résultats désirés qui sont destinés à un destinataire particulier sur le réseau. Each of the results in the 2001 list is represented by an XML tag, itself inserted between an opening tag (<answer>) and a closing tag (</ answer>). Each pair of opening and closing tags (<answer>, </ answer>) defines a sub-list of desired results that are intended for a particular recipient on the network.

Ainsi dans l'exemple donné (message 200), deux sous-listes sont présentes. La première comprend deux types de résultat désirés : width et height. Selon l'implémentation choisie et illustrée, comme aucune information concernant le destinataire de ces résultats n'est présente dans la première sous-liste, les résultats d'exécution correspondants seront envoyés par le serveur au système client émetteur du message d'appel de fonction. Thus in the given example (message 200), two sub-lists are present. The first one has two desired types of results: width and height. According to the implementation chosen and illustrated, as no information concerning the recipient of these results is present in the first sub-list, the corresponding execution results will be sent by the server to the client system issuing the function call message .

Dans la seconde sous-liste, un seul type de résultat est demandé : pixels. Une information d'identification de destinataire du résultat est ici présente sous la forme d'un attribut XML particulier (to='...') inséré dans la balise ouvrante correspondante ( < answer > ). In the second sub-list, only one type of result is requested: pixels. Destination recipient identification information is here in the form of a particular XML attribute (to = '...') inserted in the corresponding opening tag (<answer>).

Dans l'exemple choisi, cette information d'identification de destinataire : to='mailto : cra) canon. net' (2002), signifie que le résultat de type pixels sera In the example chosen, this recipient identification information: to = 'mailto: cra) canon. net '(2002) means that the pixel-type result will be

<Desc/Clms Page number 13><Desc / Clms Page number 13>

renvoyé après exécution de la fonction (rotate) par le serveur, à l'adresse de courrier électronique"crf@canon. net" se ! on te protoco) e SMTP (Simple Mail Transfer Protocol). returned after executing the function (rotate) by the server, to the email address "crf @ canon. net" se! you get SMTP (Simple Mail Transfer Protocol).

Ensuite, après traitement du message d'appel 200, c.-à-d. de la demande d'exécution de la fonction rotate appliquée à l'objet image Flower, le \ serveur exécute la fonction et génère deux messages de réponse (210), l'un (2101) destiné au système client émetteur de la demande d'exécution, et l'autre (2102) destiné au système informatique correspondant à l'adresse courrier "crf@canon. net". Then, after processing call message 200, i.e. of the request to execute the rotate function applied to the Flower image object, the server executes the function and generates two response messages (210), one (2101) for the client system issuing the request for execution, and the other (2102) for the computer system corresponding to the mail address "crf @ canon. net".

Chacun des messages de réponse contient les résultat désirés qui correspondent à chaque destinataire défini dans le message d'appel 200. Each of the response messages contains the desired results that correspond to each recipient defined in the call message 200.

Chaque message de réponse comprend une paire de balises ouvrante et fermante ( < rotate~result... > , < /rotate~result > ) indiquant qu'il s'agit d'un résultat d'exécution d'une fonction (rotate~result). A l'intérieur de cette paire de balises ouvrante et fermante, chaque résultat retourné est défini par un autre couple de balises filles ouvrante et fermante définissant le type du résultat et sa valeur, obtenue par l'exécution de la fonction.Each response message includes a pair of opening and closing tags (<rotate ~ result ...>, </ rotate ~ result>) indicating that it is a result of executing a function (rotate ~ result). Inside this pair of opening and closing tags, each returned result is defined by another pair of opening and closing child tags defining the type of the result and its value, obtained by executing the function.

Ainsi dans le message de réponse 2101, le résultat de type width retourné au système client a pour valeur 36. Celui de type height a pour valeur 50. Thus, in response message 2101, the result of type width returned to the client system is 36. The value of type height is 50.

De même dans le message de réponse 2102, dont le destinataire est le serveur de courrier correspondant à l'adresse"crf@canon. net", le résultat retourné est de type pixels et a pour valeur la suite d'éléments hexadécimaux : 'A4515BC...'définissant une image dans le format bitmap. Similarly, in the response message 2102, whose addressee is the mail server corresponding to the address "crf @ canon. Net", the returned result is of pixel type and has the value of the sequence of hexadecimal elements: 'A4515BC ... 'defining an image in the bitmap format.

En liaison maintenant avec la Figure 3, on va décrire le procédé selon l'invention de demande d'exécution d'une fonction dans un système informatique client compris dans un environnement client-serveur. Plus particulièrement, on va décrire le processus mis en oeuvre dans un système informatique client pour obtenir, à partir de la sélection d'un objet informatique sur le réseau, une interface de cet objet tel que le document 110 (Fig. 1), puis générer un message d'appel de fonction tel que le document 200 (Fig. 2), afin Referring now to Figure 3, the method according to the invention of requesting execution of a function in a client computer system included in a client-server environment will be described. More particularly, the process implemented in a client computer system will be described to obtain, from the selection of a computer object on the network, an interface of this object such as document 110 (FIG. generating a function call message such as document 200 (FIG.

<Desc/Clms Page number 14><Desc / Clms Page number 14>

d'obtenir un ou plusieurs messages de réponse tels qu'illustré à la référence 210 (Fig. 2). obtain one or more response messages as illustrated at reference 210 (Fig. 2).

Le procédé de demande d'exécution d'une fonction selon l'invention est mis en oeuvre dans un système informatique client (aussi désigné par "client" ou "ordinateur client"). Dans un mode de réalisation préféré les moyens informatiques permettant de mettre en oeuvre sont essentiellement des moyens logiciels ou programmes, chargés ou stockés de façon résidente dans l'ordinateur client. Le procédé de demande d'exécution selon l'invention est alors mis en oeuvre lorsque ce ou ces programmes sont exécutés dans l'ordinateur client. The method of requesting execution of a function according to the invention is implemented in a client computer system (also referred to as "client" or "client computer"). In a preferred embodiment the computer means for implementing are essentially software or program means, loaded or stored resident in the client computer. The execution request method according to the invention is then implemented when this or these programs are executed in the client computer.

Comme représenté à la Fig. 3, le procédé de demande d'exécution d'une fonction selon l'invention débute par une étape E301 au cours de laquelle l'utilisateur du système client obtient l'interface d'un objet informatique (par ex. une image) sélectionné par exemple par navigation Internet sur un site Web. As shown in FIG. 3, the method of requesting execution of a function according to the invention starts with a step E301 during which the user of the client system obtains the interface of a computer object (eg an image) selected by example by browsing the Internet on a website.

L'objet informatique est hébergé par un système informatique serveur (aussi désigné par"serveur"ou"ordinateur serveur").The computer object is hosted by a server computer system (also referred to as "server" or "server computer").

Cette interface, dans sa forme brute, est un document XML tel que celui (110) représenté à la Fig. 1. Ce document interface peut être utilisé tel quel et être affiché sur un écran d'ordinateur, ou bien être traité d'abord par un logiciel d'interface graphique de manière à être plus facilement exploitable par un utilisateur novice en informatique. This interface, in its raw form, is an XML document such as that (110) shown in FIG. 1. This interface document can be used as it is and displayed on a computer screen, or it can be processed first by GUI software so that it can be more easily used by a novice computer user.

A l'étape E303 suivante, une liste des fonctions applicables à l'objet est affichée à l'écran sous une forme quelconque. Par exemple, selon l'interface 110, on pourra afficher les mots clés suivants :"Rotation de l'image", "Redimensionner l'image", sur lesquels l'utilisateur pourra cliquer pour sélectionner une fonction. In the following step E303, a list of the functions applicable to the object is displayed on the screen in any form. For example, according to the interface 110, we can display the following keywords: "Image rotation", "Resize image", which the user can click to select a function.

A l'étape E305, on attend que l'utilisateur sélectionne une fonction qu'il désire voir exécuter sur l'objet informatique considéré. En réalité, l'utilisateur peut sélectionner le cas échéant plusieurs fonctions, mais le processus étant le même pour chaque fonction sélectionnée, on ne considèrera ici qu'une seule fonction sélectionnée, afin de simplifier l'exposé. In step E305, it is expected that the user selects a function that he wishes to see performed on the computer object considered. In reality, the user can select several functions if necessary, but since the process is the same for each selected function, only one selected function will be considered here, in order to simplify the presentation.

<Desc/Clms Page number 15><Desc / Clms Page number 15>

Lorsqu'une fonction a été sélectionnée par l'utilisateur, on détermine (E307) les types de résultats différents qui peuvent être retournés suite à l'exécution de la fonction. When a function has been selected by the user, the different types of results that can be returned following the execution of the function are determined (E307).

Les types de résultats retournés sont déterminés à partir des informations (1101) d'identification de type de résultat, codées dans l'interface (110). Ensuite, à titre d'exemple, une fenêtre de dialogue pourra être affichée à l'écran. Dans cette fenêtre les différents types de résultat (1101) seront présentés à l'utilisateur. On attend alors que l'utilisateur fasse son choix (étape E309). The returned result types are determined from the result type identification information (1101) encoded in the interface (110). Then, as an example, a dialog window can be displayed on the screen. In this window the different types of results (1101) will be presented to the user. It is then expected that the user makes his choice (step E309).

Selon l'invention, l'étape E309 de sélection d'un ou plusieurs types de résultat désiré inclut, pour chacun des types de résultat sélectionnés, la détermination du (ou des) système (s) informatique (s) destinataire (s) ("destinataire (s)") du résultat correspondant, le message d'appel (200) incluant alors des informations (2002) d'identification du ou des destinataires, par ex. telles que celles exposées supra en liaison avec la Fig. 2. According to the invention, the step E309 for selecting one or more types of desired result includes, for each of the selected result types, the determination of the recipient computer system (s) (s) ( "recipient (s)") of the corresponding result, the call message (200) then including information (2002) identifying the recipient (s), e.g. such as those discussed above in connection with FIG. 2.

Lorsque l'utilisateur a sélectionné un ou plusieurs types de résultats, par ex. en cliquant à l'écran sur des mots clés représentant ces types de résultats, on génère (E311) un message d'appel de la fonction choisie précédemment. When the user has selected one or more types of results, e.g. by clicking on the screen on keywords representing these types of results, one generates (E311) a call message of the previously chosen function.

Dans le mode de réalisation préféré de l'invention, il s'agit d'un message XML tel que décrit plus haut (200) en liaison avec la Fig. 2.In the preferred embodiment of the invention, it is an XML message as described above (200) in conjunction with FIG. 2.

Comme exposé plus haut, le message d'appel (200) inclut une liste (2001) de résultats désirés, chaque élément de la liste étant indicatif d'un type de résultat sélectionné. Le message (200) d'appel de fonction, encore désigné par"demande d'exécution de fonction", est alors envoyé (étape E313) à l'ordinateur serveur au travers du réseau. As explained above, the call message (200) includes a list (2001) of desired results, each item of the list being indicative of a selected type of result. The function call message (200), again referred to as "function execution request", is then sent (step E313) to the server computer through the network.

Le serveur traite le message d'appel de fonction (cf. infra, description en liaison avec les figures 4 et 5) puis envoie un message de réponse d'exécution de la fonction aux différents destinataires spécifiés dans le message d'appel (200). The server processes the function call message (see below, description in conjunction with FIGS. 4 and 5) and sends a function execution response message to the various recipients specified in the call message (200). .

Le système client reçoit la réponse d'exécution qui lui est destinée, à l'étape E315. Cette réponse contient les résultats d'exécution correspondant The client system receives the execution response for it at step E315. This response contains the corresponding execution results

<Desc/Clms Page number 16><Desc / Clms Page number 16>

aux types de résultat, parmi ceux sélectionnés par l'utilisateur (E309), dont le destinataire correspond au système client. the result types, among those selected by the user (E309), whose recipient corresponds to the client system.

Enfin (E317), les résultats d'exécution sont affichés à l'écran dans le système client. Finally (E317), the execution results are displayed on the screen in the client system.

En liaison maintenant avec la Figure 4, on va décrire un procédé d'exécution d'une fonction dans un système informatique serveur d'un environnement client-serveur, selon un mode de réalisation préféré de l'invention. Plus particulièrement, on va décrire le processus mis en oeuvre dans un système informatique serveur pour traiter un message d'appel de fonction tel que le document 200 (Fig. 2), afin d'obtenir un ou plusieurs messages de réponse tel qu'illustré à la référence 210 (Fig. 2). Referring now to Figure 4, there will be described a method of executing a function in a server computer system of a client-server environment, according to a preferred embodiment of the invention. More particularly, the process implemented in a server computer system will be described to process a function call message such as document 200 (FIG.2), in order to obtain one or more response messages as illustrated. at reference 210 (Fig. 2).

Le procédé d'exécution d'une fonction selon l'invention est mis en oeuvre dans un système informatique serveur (aussi désigné par"serveur"ou "ordinateur serveur"). Dans un mode de réalisation préféré les moyens informatiques permettant de mettre en oeuvre ce procédé sont essentiellement des moyens logiciels ou programmes chargés ou stockés de façon résidente dans l'ordinateur serveur. Le procédé d'exécution selon l'invention est alors mis en oeuvre lorsque ce ou ces programmes sont exécutés dans l'ordinateur serveur. The method of executing a function according to the invention is implemented in a server computer system (also referred to as "server" or "server computer"). In a preferred embodiment, the computer means making it possible to implement this method are essentially software or program means loaded or stored resident in the server computer. The execution method according to the invention is then implemented when this or these programs are executed in the server computer.

Comme représenté à la Fig. 4, le procédé d'exécution d'une fonction selon l'invention débute par une étape E400 au cours de laquelle le serveur reçoit un message (200) d'appel de fonction. As shown in FIG. 4, the method of executing a function according to the invention starts with a step E400 during which the server receives a message (200) function call.

Ensuite, selon le mode de réalisation préféré de l'invention, deux processus (E41, E42) sont exécutés en parallèle. Ces deux processus, assurent respectivement : - le traitement de l'appel de fonction (E41) ; - le traitement des réponses (E42). Then, according to the preferred embodiment of the invention, two processes (E41, E42) are executed in parallel. These two processes respectively provide: - the processing of the function call (E41); the processing of the responses (E42).

Les processus E41 et E42 interagissent au moyen d'une pile (stack en anglais). Cette pile peut être par exemple constituée d'un fichier XML ou d'un emplacement mémoire particulier. Processes E41 and E42 interact by means of a stack. This stack may for example consist of an XML file or a particular memory location.

<Desc/Clms Page number 17><Desc / Clms Page number 17>

Dans le processus E41, on commence (E410) par extraire les informations d'appel de fonction du message (200) reçu. In the process E41, one starts (E410) by extracting the function call information from the received message (200).

Plus précisément, il s'agit, d'une part, d'identifier la fonction appelée et d'en extraire les arguments. Dans l'exemple choisi (message 200), l'argument de la fonction rotate est l'angle de rotation de l'image dont la valeur choisie par l'utilisateur est'90' (degrés). More precisely, it is a question of identifying the called function and extracting its arguments. In the example chosen (message 200), the rotate function argument is the rotation angle of the image whose value chosen by the user is '90 '(degrees).

D'autre part, il s'agit d'extraire la liste de résultats sélectionnés par l'utilisateur associée aux informations (2002) d'identification du (ou des) système (s) informatique (s) destinataire (s) pour chaque type de résultat désiré. On the other hand, it is a question of extracting the list of results selected by the user associated with the information (2002) of identification of the computer system (s) recipient (s) for each type of desired result.

Dans l'exemple du message 200 les résultats sélectionnés sont les informations regroupées sous la référence 2001, les informations d'identification de destinataire étant indiquées par la référence 2002. In the example of the message 200 the selected results are the information grouped under the reference 2001, the recipient identification information being indicated by the reference 2002.

A l'étape E412, la fonction (rotate) est exécutée en lui appliquant les arguments extraits (angle). Au cours de l'exécution de la fonction, au fur et à mesure de l'obtention des résultats, ceux-ci sont insérés (E414) dans la pile (mémoire temporaire). In step E412, the function (rotate) is executed by applying the extracted arguments (angle). During the execution of the function, as and when the results are obtained, they are inserted (E414) into the stack (temporary memory).

Le processus E42 de traitement des messages de réponse commence quant à lui par l'étape E420 au cours de laquelle on génère des messages de réponse vides. Comme cela sera exposé plus bas, en liaison avec les figures 5 et 6, ces messages vides sont constitués de"squelettes"XML contenant la paire de balises XML ouvrante et fermante de plus haut niveau, ainsi que pour chaque résultat désiré, une paire de balise ouvrante et fermante ne contenant pas encore la valeur du résultat considéré. D'autre part, on génère autant de messages de réponse vides distincts, qu'il y a de destinataires identifiés différents dans le message d'appel de la fonction. The response message processing process E42 begins with step E420 during which empty response messages are generated. As will be explained below, in connection with FIGS. 5 and 6, these empty messages consist of XML "skeletons" containing the highest level of opening and closing XML tag pair, as well as for each desired result, a pair of opening and closing tag that does not yet contain the value of the result. On the other hand, as many separate empty response messages are generated, there are different identified recipients in the call message of the function.

A l'étape suivante, E422, on attend l'apparition d'un nouveau résultat d'exécution dans la pile, et on l'ajoute dans le (ou les) message (s) de réponse correspondant (s) (c. -à-d. destinées) au (x) destinataire (s) spécifié (s) dans le message d'appel de la fonction) si ce résultat est désiré par l'utilisateur. En d'autres termes, on sélectionne parmi les résultats d'exécution obtenus lors de In the next step, E422, a new execution result in the stack is expected, and it is added in the corresponding response message (s) (c. ie to the recipient (s) specified in the function call message) if this result is desired by the user. In other words, one selects from the results of execution obtained during

<Desc/Clms Page number 18><Desc / Clms Page number 18>

l'exécution de la fonction, ceux correspondant à la liste (2001) de résultats désirés extraite du message d'appel (200). execution of the function, those corresponding to the list (2001) of desired results extracted from the call message (200).

Les messages de réponse sont ainsi complétés au fur et à mesure de l'apparition des résultats dans la pile. Cela apporte notamment un gain de temps dans l'exécution du processus global de traitement de la requête d'exécution (message d'appel) de la fonction par le système serveur. The response messages are thus completed as and when the results appear in the stack. This brings in particular a saving of time in the execution of the overall process of processing the execution request (call message) of the function by the server system.

On génère donc un message réponse différent par destinataire identifié dans le message d'appel (2001), chaque message de réponse contenant le ou les résultats correspondants. Therefore, a different answer message is generated per recipient identified in the call message (2001), each response message containing the corresponding result or results.

Enfin, à l'étape E424, les messages (2101,2102) de réponse d'exécution de la fonction sont envoyés à leur destinataire respectif. Finally, in step E424, the execution response messages (2101, 2102) of the function are sent to their respective recipient.

La Figure 5 est un organigramme détaillant certaines opérations accomplies au cours du processus (E42, Fig. 4) de traitement des réponses, au cours duquel les différents messages de réponse sont créés et complétés au fur et à mesure de l'apparition des résultats d'exécution dans la pile. Figure 5 is a flowchart detailing certain operations performed during the response processing process (E42, Fig. 4), in which the different response messages are created and completed as the results of the response occur. in the stack.

A la Fig. 5, on commence par l'étape E420 (celle de la Fig. 4) au cours de laquelle des messages de réponse vides sont générés. Il y a autant de messages de réponse vides que de destinataires différents spécifiés dans le message d'appel de la fonction. In FIG. 5, start with step E420 (that of Fig. 4) during which empty response messages are generated. There are as many empty response messages as different recipients specified in the function call message.

On passe ensuite à l'étape E4220 au cours de laquelle on attend qu'un résultat d'exécution (RES) soit inséré dans la pile. Lorsqu'un résultat a été obtenu, on sélectionne (E4221) un message de réponse incomplet MSG (à ce moment là il s'agit d'un message vide). Next, step E4220 in which an execution result (RES) is expected to be inserted into the stack. When a result has been obtained, an incomplete response message MSG is selected (E4221) (at this time it is an empty message).

A l'étape suivante, E4222, on détermine si le résultat considéré (RES) doit être ou non inclus dans le message incomplet sélectionné. Cette détermination est effectuée par exemple par l'analyse des balises de résultat présentes dans le message incomplet considéré. In the next step, E4222, it is determined whether or not the result under consideration (RES) should be included in the selected incomplete message. This determination is carried out for example by analyzing the result tags present in the incomplete message under consideration.

Si c'est le cas (E4222, Oui), au cours de l'étape E4223, on encode le résultat RES et on l'ajoute dans le message incomplet courant (MSG). Dans le cas contraire (E4222, Non), on passe directement à l'étape E4242 décrite plus bas. If this is the case (E4222, Yes), during step E4223, the result RES is encode and is added in the current incomplete message (MSG). If not (E4222, No), go directly to step E4242 described below.

<Desc/Clms Page number 19><Desc / Clms Page number 19>

A l'étape E4240, on détermine si le message MSG courant est complet, c. -à-d. s'il contient tous les résultats spécifiés dans le message (200) d'appel de fonction. Si c'est le cas (E4240, Oui), on envoie en E4241 le message de réponse complet à son destinataire sur le réseau, puis on passe au test E4242. In step E4240, it is determined whether the current MSG message is complete, c. -to-d. if it contains all the results specified in the function call message (200). If this is the case (E4240, Yes), E4241 is sent the complete response message to its destination on the network, and then the test E4242 is passed.

Si le message n'est pas complet (E4240, Non), on passe directement au test E4242 au cours duquel on détermine s'il existe un autre message de réponse incomplet à traiter. If the message is not complete (E4240, No), it goes directly to the test E4242 in which it is determined if there is another incomplete response message to be processed.

Si c'est le cas (E4242, Oui), on retourne à l'étape E4221 pour sélectionner un autre message de réponse incomplet, et le processus continue comme décrit plus haut. If so (E4242, Yes), step E4221 is returned to select another incomplete response message, and the process continues as described above.

Dans le cas contraire (E4242, Non), il n'y a plus de message de réponse incomplet à traiter. Dans ce cas, on passe au test E4243, dans lequel on détermine si tous les résultats demandés dans le message d'appel de la fonction ont été obtenus. Si c'est le cas (E4243, Oui), le processus est terminé. Otherwise (E4242, No), there is no longer an incomplete response message to process. In this case, one passes to the test E4243, in which one determines if all the results requested in the call message of the function were obtained. If this is the case (E4243, Yes), the process is complete.

Dans le cas contraire (E4243, Non), on retourne à l'étape E4220 pour attendre l'arrivée, dans la pile, d'un nouveau résultat d'exécution de la fonction, et le processus continue comme exposé plus haut. In the contrary case (E4243, No), one returns to the step E4220 to wait for the arrival, in the stack, of a new result of execution of the function, and the process continues as explained above.

La Figure 6 illustre l'interaction entre le processus (E41) d'exécution de la fonction et le processus (E42) de génération des messages de réponse, selon le mode de réalisation de l'invention illustré au dessus en référence aux Figures 4 et 5, et appliqué à titre d'exemple au message d'appel (200) de fonction représenté à la Fig. 2. Figure 6 illustrates the interaction between the function execution process (E41) and the response message generation process (E42), according to the embodiment of the invention illustrated above with reference to FIGS. 5, and applied by way of example to the function call message (200) shown in FIG. 2.

Comme illustré à la Fig. 6, le message d'appel 200 reçu dans le serveur donne lieu, après avoir été analysé, au déclenchement (601) de l'exécution de la fonction rotate et à l'initialisation (607) de la pile. As illustrated in FIG. 6, the call message 200 received in the server gives rise, after being analyzed, to the triggering (601) of the execution of the rotate function and to the initialization (607) of the stack.

En parallèle, deux messages de réponse vides sont créés (références 603,607) : MSG1~0 et MSG2~0. Ces messages sont au nombre de deux, puisqu'il y a deux destinataires spécifiés dans le message 200. Les messages MSG1~0 et MSG2~0 correspondent à l'initialisation des messages MSG1 et MSG2 qui seront finalement envoyés à leur destinataire, une fois complétés. In parallel, two empty response messages are created (references 603,607): MSG1 ~ 0 and MSG2 ~ 0. These messages are two in number, since there are two recipients specified in the message 200. The messages MSG1 ~ 0 and MSG2 ~ 0 correspond to the initialization of the messages MSG1 and MSG2 which will finally be sent to their recipient once. completed.

<Desc/Clms Page number 20><Desc / Clms Page number 20>

Le message MSG1~0 contient les balises correspondantes aux résultats "width" et "height" de la fonction rotate destinés au système client. Le message MSG2~0 contient les balises correspondantes au résultat "pixels" de la fonction rotate, destiné au serveur de courrier d'adresse"crf@canon. net". La valeur de ces résultats n'est pas encore connue (VIDE). The message MSG1 ~ 0 contains the tags corresponding to the "width" and "height" results of the rotate function for the client system. The message MSG2 ~ 0 contains the tags corresponding to the result "pixels" of the rotate function, destined for the mail server of address "crf @ canon. Net". The value of these results is not yet known (EMPTY).

En 609, le premier résultat obtenu lors de l'exécution de la fonction rotate est"width", ce résultat est contenu dans une variable du même nom et est stocké dans la pile. In 609, the first result obtained when executing the rotate function is "width", this result is contained in a variable of the same name and is stored in the stack.

En 611, le résultat "width" est alors extrait de la pile, puis encodé dans le message MSG1 pour produire le message de réponse incomplet MSG1~1. In 611, the result "width" is then extracted from the stack, then encoded in the message MSG1 to produce the incomplete response message MSG1 ~ 1.

De même, lorsque le résultat "height" est produit et inséré dans la pile (en 613), il est récupéré puis encodé également dans MSG1 c.-à-d. dans
MSG1~1, le message MSG1~2 est alors produit. La valeur de chacun des résultats width et height est contenue dans MSG1~2 (respectivement'36'et '50').

Figure img00200001
Similarly, when the "height" result is produced and inserted into the stack (at 613), it is retrieved and then encoded also in MSG1 ie. in
MSG1 ~ 1, the message MSG1 ~ 2 is then produced. The value of each of the width and height results is contained in MSG1 ~ 2 (respectively '36' and '50').
Figure img00200001

Le message MSG1, dans l'état MSG1~2, est complet ; il peut être alors envoyé (en 617) à son destinataire, ici, le système informatique client, émetteur de la requête XML (200) d'exécution de fonction.The message MSG1, in state MSG1 ~ 2, is complete; it can then be sent (at 617) to its recipient, here, the client computer system, issuing the function execution XML request (200).

Il est à noter que si un autre résultat, qui est non demandé dans le message d'appel de la fonction, est produit durant l'exécution de la fonction, par exemple le résultat "preview" pour la fonction rotate (voir interface 110), ce résultat sera stocké dans la pile, mais il ne sera pas incorporé ensuite dans un message de réponse (Fig. 5, test E4222, Non). It should be noted that if another result, which is not requested in the function's call message, is produced during the execution of the function, for example the "preview" result for the rotate function (see interface 110) this result will be stored in the stack but will not be incorporated into a response message (Fig. 5, test E4222, No).

Dans l'exemple représenté à la Fig. 6, le résultat"pixels"est produit à la fin d'exécution (619) de la fonction rotate. Il s'agit alors, dans cet exemple, de la variable de retour de la fonction rotate. La variable de retour Pixels est alors insérée dans la pile (en 621). In the example shown in FIG. 6, the result "pixels" is produced at the end of execution (619) of the rotate function. This is, in this example, the return variable of the rotate function. The Pixels return variable is inserted into the stack (at 621).

En 623, la variable Pixels est extraite de la pile et sa valeur encodée dans le message MSG2 précédemment dans l'état MSG2~0. La valeur du résultat "pixels" : la suite hexadécimale'A4515BC...' (format bitmap) est inscrite At 623, the variable Pixels is retrieved from the stack and its value encoded in the MSG2 message previously in the state MSG2 ~ 0. The value of the result "pixels": the hexadecimal continuation'A4515BC ... '(bitmap format) is inscribed

<Desc/Clms Page number 21><Desc / Clms Page number 21>

dans le message de réponse MSG2~0. Le message MSG2 maintenant dans l'état MSG2~1 est complet, et peut donc être envoyé en 625 à son destinataire. in the response message MSG2 ~ 0. The message MSG2 now in state MSG2 ~ 1 is complete, and can therefore be sent in 625 to its recipient.

Ainsi, à la fin du processus d'exécution de la fonction rotate (effectué en réponse à la réception du message 200 d'appel de fonction dans le serveur), le serveur produit une réponse d'exécution (210, Fig. 2) constituée de deux messages de réponse distincts MSG1 et MSG2 de contenu respectif 2101 et 2102. Thus, at the end of the execution process of the rotate function (performed in response to receipt of the function call message 200 in the server), the server produces an execution response (210, Fig. 2) consisting of two separate response messages MSG1 and MSG2 of respective contents 2101 and 2102.

Il est à noter que si l'utilisateur ne spécifie, dans le message d'appel de la fonction, aucun résultat devant lui être retourné directement (dans le système client qu'il utilise), on peut prévoir que le serveur envoie quand même un message de réponse au système client, ce message de réponse contenant par exemple un message textuel indiquant que l'exécution de la fonction s'est bien déroulée. It should be noted that if the user does not specify, in the call message of the function, any result to be returned directly to him (in the client system that he uses), we can predict that the server still sends a response message to the client system, this response message containing for example a text message indicating that the execution of the function has gone well.

Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. En particulier, l'invention s'applique également à un environnement client-serveur non inscrit dans le contexte d'un réseau de communication. Par exemple, le client et le serveur peuvent être constitués par des applications logicielles distinctes mises en oeuvre au sein d'un même ordinateur. Of course, the present invention is not limited to the embodiments described and shown, but encompasses, on the contrary, any variant within the scope of the skilled person. In particular, the invention also applies to a client-server environment not inscribed in the context of a communication network. For example, the client and the server may be constituted by separate software applications implemented within the same computer.

Claims (24)

Translated fromFrench
REVENDICATIONS1. Procédé de demande d'exécution d'une fonction dans un système informatique client ("client") dans un environnement client-serveur, la fonction étant applicable à un objet informatique traité par un système informatique serveur ("serveur"), le procédé comportant les étapes préalables d'obtention (E301) d'une interface (110) de l'objet et de sélection (E303, E305) d'une fonction à partir de l'interface, le procédé étant caractérisé en ce qu'il comporte les étapes suivantes : - détermination (E307) des types de résultats différents retournés suite à l'exécution de la fonction, à partir d'informations (1101) d'identification de type de résultat, codées dans ladite interface (110) ; - sélection (E309) d'au moins un type de résultat désiré à partir desdites informations (1101) d'identification de type de résultat ; - génération (E311) d'un message (200) d'appel de la fonction, le message d'appel incluant une liste (2001) de résultats désirés, chaque élément de la liste étant indicatif d'un type de résultat sélectionné ; - envoi (E313) du message (200) d'appel de la fonction, audit serveur.A method of requesting execution of a function in a client computer system ("client") in a client-server environment, the function being applicable to a computer object processed by a server computer system ("server"), the method comprising the steps of obtaining (E301) an interface (110) of the object and selecting (E303, E305) a function from the interface, the method being characterized in that comprises the following steps: - determining (E307) the types of different results returned following the execution of the function, from information (1101) of identification of type of result, encoded in said interface (110); selecting (E309) at least one type of desired result from said result type identification information (1101); generating (E311) a message (200) for calling the function, the call message including a list (2001) of desired results, each element of the list being indicative of a selected type of result; sending (E313) the message (200) calling the function to said server. 2. Procédé selon la revendication 1, caractérisé en ce que l'étape de sélection (E309) d'au moins un type de résultat désiré inclut, pour chaque type de résultat désiré, la détermination d'au moins un système informatique destinataire ("destinataire") du résultat correspondant, le message d'appel (200) incluant des informations (2002) d'identification dudit au moins un destinataire pour chaque type de résultat désiré. 2. Method according to claim 1, characterized in that the step of selecting (E309) at least one type of desired result includes, for each type of desired result, the determination of at least one destination computer system (" recipient ") of the corresponding result, the call message (200) including information (2002) identifying said at least one recipient for each type of desired result. 3. Procédé selon la revendication 2, caractérisé en ce qu'il comporte en outre une étape (E315) de réception, en provenance dudit serveur, d'un message (211,212) de réponse d'exécution contenant les résultats 3. Method according to claim 2, characterized in that it further comprises a step (E315) receiving, from said server, a message (211,212) response execution containing the results<Desc/Clms Page number 23><Desc / Clms Page number 23> correspondant aux types de résultats, parmi ceux sélectionnés, dont le destinataire correspond audit client. corresponding to the types of results, among those selected, whose recipient corresponds to said client. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte en outre une étape (E317) d'affichage des résultats reçus. 4. Method according to claim 3, characterized in that it further comprises a step (E317) of displaying the results received. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit environnement client-serveur est un réseau de communication, lesdits client et serveur communiquant à distance sur le réseau. 5. Method according to any one of the preceding claims, characterized in that said client-server environment is a communication network, said client and server communicating remotely over the network. 6. Procédé selon la revendication 5, caractérisé en ce que ledit réseau de communication est un réseau de type Internet, ledit client et ledit serveur communiquant en utilisant un protocole de communication de type HTTP. 6. Method according to claim 5, characterized in that said communication network is an Internet type network, said client and said server communicating using an HTTP type communication protocol. 7. Procédé selon la revendication 6, caractérisé en ce que ladite interface de l'objet informatique, ledit message d'appel de fonction, et lesdits messages de réponse d'exécution de fonction, sont des documents informatiques dont le contenu est représenté dans un langage de balisage de type XML. 7. Method according to claim 6, characterized in that said interface of the computer object, said function call message, and said function execution response messages, are computer documents whose content is represented in a markup language of the XML type. 8. Procédé selon la revendication 7, caractérisé en ce que lesdites informations (1101) d'identification de type de résultat codées dans ladite interface (110) de la fonction sont codées dans des balises utilisant la syntaxe d'un langage de balisage de type XML Schema. The method according to claim 7, characterized in that said result type identification information (1101) encoded in said function interface (110) is encoded into tags using the syntax of a type markup language. XML Schema. 9. Procédé selon la revendication 7 ou 8, caractérisé en ce que chacun desdits résultats désirés de ladite liste (2001) de résultats désirés contenue dans ledit message (200) d'appel, est représenté par une balise XML, elle-même insérée entre une balise ouvrante ( < answer > ) et une balise fermante 9. The method of claim 7 or 8, characterized in that each of said desired results of said list (2001) of desired results contained in said message (200) call, is represented by an XML tag, itself inserted between an opening tag (<answer>) and a closing tag<Desc/Clms Page number 24><Desc / Clms Page number 24> ( < /answer > ) prédéterminées, chaque paire de balises ouvrante et fermante prédéterminée définissant une sous-liste de résultats désirés, destinés à un destinataire particulier sur le réseau de communication. (</ answer>) predetermined pairs of opening and closing tags defining a sub-list of desired results for a particular recipient on the communication network. 10. Procédé selon la revendication 9, caractérisé en ce que lesdites informations (2002) d'identification de destinataire sont définies par un attribut particulier (to=") du langage XML, inséré dans ladite balise ouvrante ( < answer > ) correspondante, dans ledit message (200) d'appel de fonction. The method according to claim 9, characterized in that said recipient identification information (2002) is defined by a particular attribute (to = ") of the XML language, inserted in said corresponding <answer> tag, in said function call message (200). 11. Procédé d'exécution d'une fonction dans un système informatique serveur ("serveur"), dans un environnement client-serveur, le procédé comportant une étape préalable (E400) de réception d'un message (200) d'appel de la fonction, en provenance d'un système informatique client ("client"), le procédé étant caractérisé en ce qu'il comporte les étapes suivantes : - extraction (E410) des arguments de la fonction appelée dudit message (200) d'appel ; - extraction (E410) d'une liste (2001) de résultats désirés dudit message (200) d'appel, chaque élément de la liste étant indicatif d'un type de résultat d'exécution désiré en retour par ledit client ; - exécution (E412) de la fonction en lui appliquant les arguments extraits ; - sélection (E422), parmi les résultats obtenus au cours de l'exécution de la fonction, des résultats désirés par ledit client selon la liste (2001) de résultats désirés extraite dudit message (200) d'appel ; - génération (E422) d'un message (210) de réponse d'exécution de fonction, ledit message (210) de réponse contenant les résultats d'exécution désirés par ledit client ; - envoi (E424) dudit message (210) de réponse d'exécution de fonction audit client. 11. A method of executing a function in a server computer system ("server"), in a client-server environment, the method comprising a preliminary step (E400) for receiving a message (200) invoking a the function, coming from a client computer system ("client"), the method being characterized in that it comprises the following steps: - extraction (E410) of the arguments of the called function of said call message (200) ; extracting (E410) a list (2001) of desired results from said call message (200), each item in the list being indicative of a type of execution result desired by said client; - Execution (E412) of the function by applying the extracted arguments to it; selecting (E422), from the results obtained during the execution of the function, the results desired by said client according to the list (2001) of desired results extracted from said call message (200); - generating (E422) a function execution response message (210), said response message (210) containing the desired execution results by said client; sending (E424) said function execution response message (210) to said client.<Desc/Clms Page number 25><Desc / Clms Page number 25> 12. Procédé selon la revendication 11, caractérisé en ce que l'étape (E410) d'extraction d'une liste de résultats désirés, inclut l'étape suivante : - extraction, dudit message (200) d'appel, d'informations (2002) d'identification d'au moins un système informatique destinataire ("destinataire") pour chaque type de résultat désiré. 12. The method as claimed in claim 11, characterized in that the step (E410) of extracting a list of desired results includes the following step: extracting, from said call message (200), information (2002) for identifying at least one recipient computer system ("recipient") for each type of desired result. 13. Procédé selon la revendication 12, caractérisé en ce que les étapes de génération (E422) et d'envoi (E424) dudit message (211) de réponse audit client, incluent les étapes suivantes : - génération d'un message (2101,2102) de réponse distinct par destinataire identifié, chaque message de réponse contenant le (ou les) résultat (s) correspondant (s) ; - envoi des messages (2101,2102) de réponses aux différents destinataires. 13. The method as claimed in claim 12, characterized in that the steps of generating (E422) and sending (E424) of said message (211) of response to said client, include the following steps: - generation of a message (2101, 2102) for each identified recipient, each response message containing the corresponding result (s); - sending messages (2101,2102) responses to different recipients. 14. Procédé selon l'une quelconque des revendications 11 à 13, caractérisé en ce que ledit environnement client-serveur est un réseau de communication, lesdits client et serveur communiquant à distance sur le réseau. 14. Method according to any one of claims 11 to 13, characterized in that said client-server environment is a communication network, said client and server communicating remotely over the network. 15. Procédé selon la revendication 14, caractérisé en ce que ledit réseau de communication est un réseau de type Internet, ledit client et ledit serveur communiquant en utilisant un protocole de communication de type HTTP. 15. Method according to claim 14, characterized in that said communication network is an Internet type network, said client and said server communicating using an HTTP type communication protocol. 16. Procédé selon la revendication 15, caractérisé en ce que ledit message d'appel de fonction, et lesdits messages de réponse d'exécution de fonction, sont des documents informatiques dont le contenu est représenté dans un langage de balisage de type XML. The method of claim 15, characterized in that said function call message, and said function execution response messages, are computer documents whose content is represented in an XML type markup language.<Desc/Clms Page number 26><Desc / Clms Page number 26> 17. Procédé selon la revendication 16, caractérisé en ce que chacun desdits résultats désirés de ladite liste (2001) de résultats désirés contenue dans ledit message (200) d'appel, est représenté par une balise XML, ellemême insérée entre une balise ouvrante ( < answer > ) et une balise fermante ( < /answer > ), chaque paire de balises ouvrante et fermante définissant une sous-liste de résultats désirés, destinés à un destinataire particulier sur le réseau de communication. 17. A method according to claim 16, characterized in that each of said desired results of said list (2001) of desired results contained in said call message (200), is represented by an XML tag, itself inserted between an opening tag ( <answer>) and a closing tag (</ answer>), each pair of opening and closing tags defining a desired sub-list of results for a particular recipient on the communication network. 18. Procédé selon la revendication 17, caractérisé en ce que lesdites informations (2002) d'identification de destinataire sont définies par un attribut particulier (to=") du langage XML, inséré dans ladite balise ouvrante ( < answer > ) correspondante, dans ledit message (200) d'appel de fonction. The method according to claim 17, characterized in that said recipient identification information (2002) is defined by a particular attribute (to = ") of the XML language, inserted into said corresponding opening tag (<answer>), in said function call message (200). 19. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit message (200) d'appel de la fonction est généré dans ledit système informatique client à la suite de la mise en oeuvre d'un procédé de demande d'exécution d'une fonction selon l'une quelconque des revendications 1 à 10. 19. The method as claimed in claim 1, wherein said function call message is generated in said client computer system following the implementation of a request method performing a function according to any one of claims 1 to 10. 20. Système informatique client, caractérisé en ce qu'il comporte des moyens adaptés à la mise en oeuvre d'un procédé de demande d'exécution d'une fonction selon l'une quelconque des revendications 1 à 10. 20. Client computer system, characterized in that it comprises means adapted to the implementation of a request method for executing a function according to any one of claims 1 to 10. 21. Système informatique serveur, caractérisé en ce qu'il comporte des moyens adaptés à la mise en oeuvre d'un procédé d'exécution d'une fonction selon l'une quelconque des revendications 11 à 19. 21. server computer system, characterized in that it comprises means adapted to the implementation of a method of executing a function according to any one of claims 11 to 19. 22. Réseau de communication comportant au moins un système informatique client selon la revendication 20 et au moins un système informatique serveur selon la revendication 21. Communication network comprising at least one client computer system according to claim 20 and at least one server computer system according to claim 21.<Desc/Clms Page number 27><Desc / Clms Page number 27> 23. Programme d'ordinateur sur un support d'informations, caractérisé en ce qu'il comprend des instructions permettant de mettre en oeuvre un procédé de demande d'exécution d'une fonction selon l'une quelconque des revendications 1 à 10, lorsque ledit programme est chargé et exécuté dans un système informatique client. 23. Computer program on an information carrier, characterized in that it comprises instructions for implementing a request method for executing a function according to any one of claims 1 to 10, when said program is loaded and executed in a client computer system. 24. Programme d'ordinateur sur un support d'informations, caractérisé en ce qu'il comprend des instructions permettant de mettre en oeuvre un procédé d'exécution d'une fonction selon l'une quelconque des revendications 11 à 19, lorsque ledit programme est chargé et exécuté dans un système informatique serveur. 24. Computer program on an information carrier, characterized in that it comprises instructions for implementing a method of executing a function according to any one of claims 11 to 19, when said program is loaded and executed in a server computer system.
FR0112603A2001-10-012001-10-01 METHOD AND DEVICE FOR EXECUTING A FUNCTION WITH SELECTING AND SENDING MULTIPLE RESULTS IN A CLIENT-SERVER ENVIRONMENTExpired - Fee RelatedFR2830398B1 (en)

Priority Applications (3)

Application NumberPriority DateFiling DateTitle
FR0112603AFR2830398B1 (en)2001-10-012001-10-01 METHOD AND DEVICE FOR EXECUTING A FUNCTION WITH SELECTING AND SENDING MULTIPLE RESULTS IN A CLIENT-SERVER ENVIRONMENT
US10/260,555US7181747B2 (en)2001-10-012002-10-01Method and device for executing a function with selection and sending of multiple results in a client-server environment
US11/464,757US7725906B2 (en)2001-10-012006-08-15Method and device for executing a function with selection and sending of multiple results in a client-server environment

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
FR0112603AFR2830398B1 (en)2001-10-012001-10-01 METHOD AND DEVICE FOR EXECUTING A FUNCTION WITH SELECTING AND SENDING MULTIPLE RESULTS IN A CLIENT-SERVER ENVIRONMENT

Publications (2)

Publication NumberPublication Date
FR2830398A1true FR2830398A1 (en)2003-04-04
FR2830398B1 FR2830398B1 (en)2003-11-28

Family

ID=8867797

Family Applications (1)

Application NumberTitlePriority DateFiling Date
FR0112603AExpired - Fee RelatedFR2830398B1 (en)2001-10-012001-10-01 METHOD AND DEVICE FOR EXECUTING A FUNCTION WITH SELECTING AND SENDING MULTIPLE RESULTS IN A CLIENT-SERVER ENVIRONMENT

Country Status (1)

CountryLink
FR (1)FR2830398B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2001033433A1 (en)*1999-11-012001-05-10Xcoders Inc.Method and apparatus for establishing and using an xml database

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
WO2001033433A1 (en)*1999-11-012001-05-10Xcoders Inc.Method and apparatus for establishing and using an xml database

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEE D ET AL: "Comparative Analysis of Six XML Schema Languages", INTERNET CITATION, 7 June 2000 (2000-06-07), XP002183403*

Also Published As

Publication numberPublication date
FR2830398B1 (en)2003-11-28

Similar Documents

PublicationPublication DateTitle
EP2336885B1 (en)Method for integrating in a web browser the graphics rendering generated by a graphical application
EP1193947A2 (en)Communications system based on the WSDL language
FR2892885A1 (en)Font management method for e.g. mobile telephone, involves listing all fonts or font portions stored by mobile telephone, and matching management parameter with each of fonts using font data-base
FR2813409A1 (en)Configuration of a peripheral for processing of electronic documents in a communication network, uses user data to access level of service available to that user on a network and prepares configuration from user data and service level data
WO2007051784A1 (en)Method for optimizing the rendering of a multimedia scene, corresponding program, signal, data medium, terminal and receiving method
FR2863127A1 (en) METHODS AND DEVICES FOR ASYNCHRONOUS DELIVERY OF DIGITAL DATA
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
EP2169569B1 (en)Method and system for communication between distinct web applications
EP2116056A1 (en)Method of transmitting at least one content representative of a service, from a server to a terminal, corresponding device and computer program product
WO2004044789A2 (en)Method and system for the dynamic production of images, for conversion thereof into a format that is compatible with remote terminals
WO2007141446A1 (en)System for managing a multimodal interactive service
EP2187321B1 (en)Method and system for editing an object represented on a web page
WO2011067531A1 (en)Method for dynamically modifying the rendering of a web page
WO2009121808A1 (en)Method of managing electronic messages on the basis of a messaging client and system for implementing the method
EP0755001A1 (en)Architecture for wrapping applications running on a data processing platform
FR2830398A1 (en)Execution of functions in a client server environment, whereby a client computer is requested to execute a function on an object by a server, with selection and transmission of multiple results
EP1494116A1 (en)Method and system for graphical interfacing
FR2830349A1 (en)Client server protocol for Internet includes reception of message, selection and execution of sub-program by server to return results to client
FR2810187A1 (en) METHOD AND SYSTEM FOR PARTICULARIZING DIGITAL TELEVISION CONTENT
FR2893439A1 (en) METHOD FOR GENERATING IMAGES ASSOCIATED WITH A REAL-TIME 3D CONTEXT, AND TELEINFORMATIC DEVICE FOR REALIZING OPERATIONS ON A MULTIMEDIA DATABASE
EP4554187A1 (en)Web page downloading optimized for event-based traffic peaks
EP1295203A1 (en)Method for structuring, transferring and interpreting a data set for designing graphic interfaces
EP1853040A1 (en)Communication system and low-consumption display terminals suitable for same
WO2007010139A2 (en)Method and device for interaction between computer-based applications and a remote site
FR2860318A1 (en) ELECTRONIC INVESTIGATION METHOD

Legal Events

DateCodeTitleDescription
STNotification of lapse

Effective date:20140630


[8]ページ先頭

©2009-2025 Movatter.jp