Language selection

Search

Patent 2546888 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2546888
(54) English Title: ASYNCHRONOUS AND AUTOMATIC DEVICE AND METHOD FOR TRANSMISSION OF RESULTS BETWEEN COMMUNICATING OBJECTS
(54) French Title: DISPOSITIF ET PROCEDE ASYNCHRONES ET AUTOMATIQUES DE TRANSMISSION DE RESULTATS ENTRE OBJETS COMMUNICANTS
Status: Granted
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 9/54 (2006.01)
(72) Inventors :
  • CAROMEL, DENIS (France)
  • QUILICI, ROMAIN (France)
  • DELBE, CHRISTIAN (France)
  • HENRIO, LUDOVIC (United Kingdom)
(73) Owners :
  • INRIA INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE (France)
(71) Applicants :
  • INRIA INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE (France)
(74) Agent: ROBIC
(74) Associate agent:
(45) Issued: 2011-07-12
(86) PCT Filing Date: 2004-11-24
(87) Open to Public Inspection: 2005-06-16
Examination requested: 2006-10-26
Availability of licence: N/A
(25) Language of filing: French

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/FR2004/003005
(87) International Publication Number: WO2005/055060
(85) National Entry: 2006-05-19

(30) Application Priority Data:
Application No. Country/Territory Date
0313876 France 2003-11-26

Abstracts

English Abstract

The invention relates to a method for managing remote method calls in object-oriented languages, by means of an asynchronous communication between a local process of a station and a remote process on another station, such a call comprising a request from one of the processes, followed by a reply from the other process. The method comprises a) detecting the transmission of an empty object as request or reply parameter before the transmission thereof from a local process to a remote process (710), calculating the content of said empty object the provision of which was requested for an expert process, b) processing of said empty object in order to make the content of said object (712) available to the remote process and c) carrying out the transmission of said request, or said reply on condition of appropriate processing.


French Abstract




L'invention concerne un procédé de gestion d'appel de méthodes à distance en
langage orienté objet, par une communication asynchrone, entre un processus
local d'une station et un processus distant d'une autre station, un tel appel
comprenant une requête de l'un des processus, suivie d'une réponse de l'autre
processus. Ce procédé consiste a- à détecter la transmission d'un objet vide
comme paramètre d'une requête ou d'une réponse avant son envoi d'un processus
local à un processus distant (710), le calcul du contenu de cet objet vide et
sa mise à disposition ayant été demandés à un processus sachant, b- à traiter
l'objet vide en vue de mettre à disposition le contenu de cet objet (712) au
processus distant, c- à poursuivre l'envoi de ladite requête ou de ladite
réponse sur une condition de traitement satisfaite.

Claims

Note: Claims are shown in the official language in which they were submitted.





17


REVENDICATIONS:



1. Procédé de gestion d'appel de méthodes à distance en langage orienté
objet, par une communication asynchrone avec retour de résultats, entre un
processus local d'une station et un processus distant d'une autre station, un
tel
appel comprenant une requête (RPC) de l'un des processus (P1; P2), suivi d'une

réponse (R-A) de l'autre processus (P2; P1),
caractérisé en ce qu'il consiste,

a- à détecter la transmission d'un objet vide comme paramètre d'une requête
ou d'une réponse avant son envoi d'un processus local à un processus distant
(210, 710), le calcul du contenu de cet objet vide et sa mise à disposition
ayant été
demandés à un processus sachant,

b- à traiter l'objet vide en vue de mettre à disposition le contenu de cet
objet
(212,712) au processus distant lorsque le contenu de l'objet vide est connu du

processus local, le processus local mettant à jour l'objet vide en intégrant
le
contenu dans la structure de l'objet vide,

c- à poursuivre l'envoi de ladite requête ou de ladite réponse (108) sur une
condition de traitement satisfaite, en se servant d'une représentation de la
réponse.

2. Procédé selon la revendication 1, caractérisé en ce que le procédé consiste

à

a- détecter l'événement qu'un objet vide doit être utilisé par un processus
local (702), et suspendre l'exécution de l'utilisation de l'objet vide par le
processus
local (704)

b- b1- à extraire de l'objet vide comprenant un identifiant, l'identifiant du
processus sachant apte à calculer et mettre à disposition le contenu de
l'objet vide
(706),


b2- à émettre au processus sachant un premier message ayant des
premières données comprenant l'identifiant de l'objet vide et l'identifiant du




18

processus local et requérant la transmission au processus local d'un second
message ayant des secondes données comprenant le contenu et l'identifiant de
l'objet vide (708),

c- à attendre la réception dudit second message par le processus local et
une fois ce second message reçu, à mettre à jour l'objet vide et à continuer
l'exécution de l'utilisation.


3. Procédé selon la revendication 2, caractérisé en ce que l'étape b2-
consiste en outre, b2-1 sur réception du premier message par le processus
sachant, à vérifier si l'identifiant de l'objet vide est dans une seconde
table
comprenant des couples de données associant des identifiants d'objets vides et
le
contenu de ces objets(716),

b2-2-i dans l'affirmative, à émettre au processus local le second message
(718)

b2-2-ii dans la négative,

- à ajouter les premières données dans une première table comprenant des
couples de données associant des identifiants d'objets vides et des
identifiants de
processus (717).


4. Procédé selon la revendication 3, caractérisé en ce que l'étape b2-2-ii
consiste en outre, une fois le contenu de l'objet vide mis à disposition
(720),

- à ajouter les secondes données dans la seconde table (722),

- à émettre le second message aux processus dont les identifiants dans la
première table sont associés à l'identifiant de l'objet vide (724).


5. Procédé selon la revendication 1, caractérisé en ce que l'étape b- consiste

en outre, par le processus local, à attendre la réception d'un message envoyé
par
le processus sachant (212), le message comprenant le contenu et l'identifiant
de
l'objet vide, et sur réception dudit message, à continuer à l'étape c avec
l'objet vide
mis à jour.




19

6. Procédé selon la revendication 1, caractérisé en ce que l'étape b- consiste

en outre, par le processus local, à ajouter l'identifiant de l'objet vide
associé à
l'identifiant du processus distant dans une table comprenant des couples de
données associant des identifiants d'objets vides et des identifiants de
processus
(712-2) et à continuer à l'étape c.


7. Procédé selon la revendication 6, caractérisé en ce que l'étape c.
consiste,
une fois l'envoi exécuté, à

c1- attendre que le contenu de l'objet vide est disponible dans le processus
local (412),

c2- une fois le contenu disponible, envoyer le contenu et l'identifiant de
l'objet vide aux processus dont les identifiants dans ladite table sont
associés à
l'identifiant de l'objet vide (414).


8. Procédé selon la revendication 1, caractérisé en ce que l'étape b- consiste

en outre, par le processus local,

b1- à extraire de l'objet vide comprenant un identifiant, l'identifiant du
processus sachant apte à calculer et à mettre à disposition le contenu de
l'objet
vide,

b2- à émettre au processus sachant un premier message ayant des
premières données comprenant l'identifiant de l'objet vide associé à
l'identifiant du
processus distant, ce message requérant que le processus sachant transmette au

processus distant un second message ayant des secondes données comprenant
l'identifiant de l'objet vide associé à son contenu (712-3).


9. Procédé selon la revendication 8, caractérisé en ce que l'étape c consiste
également, par le processus sachant et sur réception du premier message, à
c1- à ajouter les premières données dans une table comprenant des couples
de données associant des identifiants d'objets vides et des identifiants de
processus (712-3).




20



10. Procédé selon l'une des revendications 8 et 9, caractérisé en ce que
l'étape
c consiste de plus, par le processus local et après l'envoi exécuté, à
c1- attendre que le contenu de l'objet vide est disponible dans le processus
local (612),

d2- une fois le contenu disponible, envoyer l'identifiant de l' objet vide
associé à son contenu aux processus dont les identifiants dans ladite table
sont
associés à l'identifiant de l'objet vide (614).


11. Station informatique, comprenant un environnement (ST1-2, ST1-4, ST1-6),
capable d'exécuter un ou des processus locaux (P1) en langage orienté-objet,
caractérisée en ce qu'elle comprend:

- un module de protocole (ST1-6), capable de traiter, par une communication
asynchrone avec retour de résultats, des appels de méthodes à distance (RPC)
entre un processus local (P1) et un processus distant (P2) d'une autre
station, un
tel appel (RPC) comprenant une requête (A) de l'un des processus (P1; P2),
suivie
d'une réponse (R-A) de l'autre processus (P2; P1), et

- un moniteur (ST1-12) apte, sur une détection de l'événement qu'un objet
vide intervient comme paramètre d'une requête ou d'une réponse à envoyer par
le
processus local (P1) au processus distant (P2), le calcul du contenu de cet
objet
vide et sa mise à disposition ayant été demandés à un processus sachant, à

. traiter l'objet vide en vue de mettre à disposition le contenu de cet objet
au
processus distant, lorsque le contenu de l'objet vide est connu du processus
local,
le processus local mettant à jour l'objet vide en intégrant le contenu dans la

structure de l'objet vide.
. poursuivre l'envoi de la requête ou de la réponse sur une condition de
traitement satisfaite, en se servant d'une représentation de la réponse.


21

12. Station informatique selon la revendication 11, caractérisée en ce que le
moniteur (ST1-12) est en outre apte, sur une détection de l'événement qu'un
objet
vide doit être utilisé par le processus local,
- à extraire de l'objet vide comprenant un identifiant, l'identifiant d'un
processus sachant apte à calculer et mettre à disposition le contenu de
l'objet vide,
- à émettre au processus sachant un premier message ayant des premières
données comprenant l'identifiant de l'objet vide et l'identifiant du processus
local et
requérant la transmission au processus local d'un second message ayant des
secondes données comprenant le contenu et l'identifiant de l'objet vide,
- à attendre la réception dudit second message par le processus local, ladite
réception étant la condition de traitement satisfaite.


13. Station informatique selon la revendication 12, caractérisée en ce que le
moniteur (ST1-12) de la station informatique du processus sachant étant propre
- à travailler avec une première table comprenant des couples de données
associant des identifiants d'objets vides et des identifiants de processus et
une
seconde table comprenant des couples de données associant des identifiants
d'objets vides et les contenus de ces objets,
- à émettre le second message
.au processus local après avoir vérifié que l'identifiant de l'objet vide
du premier message est dans la seconde table
. aux processus dont l'identifiant dans la première table est associé à
l'identifiant de l'objet vide après avoir ajouté les premières données dans la

première table et une fois avoir ajouté les secondes données dans la seconde
table
après calcul du contenu de l'objet vide.


14. Station informatique selon la revendication 11, caractérisée en ce que le


22

moniteur (ST1-12) est apte à attendre la réception d'un message envoyé par le
processus sachant, le message comprenant le contenu et l'identifiant de
l'objet
vide, ladite réception étant la condition de traitement satisfaite.


15. Station informatique selon la revendication 11, caractérisée en ce que le
moniteur (ST1-12) est apte à ajouter l'identifiant de l'objet vide associé à
l'identifiant
du processus distant dans une table comprenant des couples de données
associant des identifiants d'objets vides et des identifiants de processus,
cet ajout
étant la condition de traitement satisfaite.


16. Station informatique selon la revendication 15, caractérisée en ce qu'une
fois
le contenu de l'objet vide disponible dans le processus local, le moniteur
(ST1-12)
est propre à transmettre l'identifiant et le contenu de l'objet vide à des
processus
dont les identifiants dans ladite table sont associés à l'identifiant de
l'objet vide.


17. Station informatique selon la revendication 11, caractérisée en ce que le
moniteur (ST1-12) est apte à
- à extraire de l'objet vide comprenant un identifiant, l'identifiant d'un
processus sachant apte à calculer et à mettre à disposition le contenu de
l'objet
vide,
- à émettre au processus sachant un premier message ayant des premières
données comprenant l'identifiant de l'objet vide associé à l'identifiant du
processus
distant, ce premier message requérant la transmission au processus distant
d'un
second message ayant des secondes données comprenant le contenu et
l'identifiant de l'objet vide, l'émission du premier message étant la
condition de
traitement satisfaite.


18. Station informatique selon la revendication 17, caractérisée en ce que le
moniteur (ST1-12) de la station informatique du processus sachant étant
propre,
sur réception du premier message,


23

- à ajouter les premières données dans une table comprenant des couples
de données associant des identifiants d'objets vides et des identifiants de
processus.


19. Station informatique selon l'une des revendications 17 et 18, caractérisée
en
ce que le moniteur de la station informatique du processus local est propre,
après
exécution de l'envoi de la requête ou de la réponse et une fois le contenu de
l'objet
vide disponible dans le processus local, à envoyer l'identifiant de l'objet
vide
associé à son contenu aux processus dont les identifiants dans la table sont
associés à l'identifiant de l'objet vide (614).


20. Réseau de stations informatiques caractérisé en ce que chaque station
informatique est telle que définie selon l'une des revendications 11 à 19,
chaque
station informatique comprenant un processus local, le module de protocole et
le
moniteur de sorte que chaque processus local puisse être local, distant par
rapport
à un autre processus d'une autre station ou sachant pour le calcul du contenu
d'un
objet vide.


Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
Dispositif et procédé asynchrones et automatiques de transmission de résultats
entre objets
communicants

L'invention concerne le domaine des communications par appels de. procédures à
distance
(de type RPC pour Remote Procédure Call) entre un processus local et un
processus distant.
Ces communications de type RPC peuvent utiliser des objets au sens du langage
orienté-
objet. Dans le cadre des communications de type RPC synchrone, un processus
dit appelant
envoie une requête à un processus appelé, le processus appelant bloquant son
exécution
jusqu'à recevoir le résultat de sa requête par le processus appelé.

Dans le cadre de l'invention, les communications établies entre les processus
sont de type
RPC asynchrone, c'est-à-dire que le processus source poursuit son exécution
après l'envoi
(ou dépôt) d'une requête (dit message d'appel). Ainsi, dans le cas d'une
requête, le processus
cible finit d'abord l'exécution de ses tâches en cours puis exécute la méthode
distante en
parallèle avec l'exécution du processus source et met à disposition les
paramètres de la
réponse en fin d'exécution de la méthode distante. Le processus source peut
ainsi obtenir ses
paramètres de réponse.

Toutefois, ce type de communication RPC asynchrone ne prévoit pas de gestion
de
communication de ces résultats entre processus, ce qui peut entraîner des
blocages lorsque
l'exécution d'opérations ou l'envoi de messages nécessite ces résultats.


L'invention vient améliorer la situation.

L'invention concerne un procédé de gestion d'appel de méthodes à distance en
langage
orienté objet, par une communication asynchrone, entre un processus local
d'une station et
un processus distant d'une autre station, un tel appel comprenant une requête
de l'un des
processus, suivie d'une réponse de l'autre processus, ce procédé consistant à
a- à détecter la transmission d'un objet vide comme paramètre d'une requête ou
d'une
réponse avant son envoi d'un processus local à un processus distant, le calcul
du contenu de
cet objet vide et sa mise à disposition ayant été demandés à un processus
sachant,


CA 02546888 2009-05-15

2
b- à traiter l'objet vide en vue de mettre à disposition le contenu de cet
objet au processus
distant,

c- à poursuivre l'envoi de ladite requête ou de ladite réponse sur une
condition de traitement
satisfaite.

L'invention concerne également une station informatique, comprenant
- un environnement, capable d'exécuter un ou des processus locaux en langage
orienté-objet,
- un module de protocole, capable de traiter, par une communication
asynchrone, des appels
de méthodes à distance entre un processus local et un processus distant d'une
autre station,
un tel appel comprenant une requête de l'un des processus, suivie d'une
réponse de l'autre
processus.

Selon une caractéristique de l'invention, la station informatique comprend:
un moniteur apte, sur une détection de l'événement qu'un objet vide intervient
comme
paramètre d'une requête ou d'une réponse à envoyer par le processus local au
processus
distant, le calcul du contenu de cet objet vide et sa mise à disposition ayant
été demandés à
un processus sachant, à

. traiter l'objet vide en vue de mettre à disposition le contenu de cet objet
au
processus distant,
. poursuivre l'envoi de la requête ou de la réponse sur une condition de
traitement
satisfaite.

L'invention, telle que revendiquée, concerne plus particulièrement un procédé
de
gestion d'appel de méthodes à distance en langage orienté objet, par une
communication asynchrone avec retour de résultats, entre un processus local
d'une
station et un processus distant d'une autre station, un tel appel comprenant
une
requête de l'un des processus, suivi d'une réponse de l'autre processus,
caractérisé en ce qu'il consiste,
a- à détecter la transmission d'un objet vide comme paramètre d'une requête


CA 02546888 2009-05-15

2a
ou d'une réponse avant son envoi d'un processus local à un processus distant,
le
calcul du contenu de cet objet vide et sa mise à disposition ayant été
demandés à
un processus sachant,
b- à traiter l'objet vide en vue de mettre à disposition le contenu de cet
objet
au processus distant lorsque le contenu de l'objet vide est connu du processus
local, le processus local mettant à jour l'objet vide en intégrant le contenu
dans la
structure de l'objet vide,
c- à poursuivre l'envoi de ladite requête ou de ladite réponse sur une
condition de traitement satisfaite, en se servant d'une représentation de la
réponse.
L'invention revendiquée concerne également une station informatique,
comprenant
un environnement, capable d'exécuter un ou des processus locaux en langage
orienté-objet, caractérisée en ce qu'elle comprend-
- un module de protocole, capable de traiter, par une communication
asynchrone avec retour de résultats, des appels de méthodes à distance entre
un
processus local et un processus distant d'une autre station, un tel appel
comprenant une requête de l'un des processus, suivie d'une réponse de l'autre
processus, et
- un moniteur apte, sur une détection de l'événement qu'un objet vide
intervient comme paramètre d'une requête ou d'une réponse à envoyer par le
processus local au processus distant, le calcul du contenu de cet objet vide
et sa
mise à disposition ayant été demandés à un processus sachant, à
. traiter l'objet vide en vue de mettre à disposition le contenu de cet objet
au
processus distant, lorsque le contenu de l'objet vide est connu du processus
local,
le processus local mettant à jour l'objet vide en intégrant le contenu dans la
structure de l'objet vide.
. poursuivre l'envoi de la requête ou de la réponse sur une condition de
traitement satisfaite, en se servant d'une représentation de la réponse.


CA 02546888 2009-05-15

2b
De plus, l'invention concerne un réseau de stations informatiques caractérisé
en ce
que chaque station informatique est telle que définie ci-dessus, chaque
station
informatique comprenant un processus local, le module de protocole et le
moniteur
de sorte que chaque processus local puisse être local, distant par rapport à
un
autre processus d'une autre station ou sachant pour le calcul du contenu d'un
objet
vide.

Le dispositif informatique selon l'invention peut comprendre de nombreuses
caractéristiques supplémentaires qui pourront être prises séparément et/ou en
combinaison et qui seront exposés dans la description détaillée.

D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen
de la
description détaillée ci-après, ainsi que des dessins annexés sur lesquels :

- la figure 1 représente un réseau de stations communicant par appels de
méthodes ou de procédures à distance (RPC) asynchrone,

- la figure 2 illustre la communication entre deux stations de la figure 1
utilisant l'appel de procédure à distance RPC asynchrone,



CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
3
- la figure 3-1 illustre un réseau de stations utilisant l'appel de procédure
à distance RPC
asynchrone avec retour de résultats selon l'invention,
- la figure 3-2 illustre en détail des composants d'une station selon
l'invention,
- la figure 4 est un ordinogramme illustrant le procédé d'envoi de requête ou
de résultat pour
des communications RPC asynchrones,
- la figure 5 est un ordinogramme détaillant une première réalisation d'un
procédé associé
à l'envoi et appelé à l'étape 702 de la figure 4,
- la figure 6 est un ordinogramme détaillant une première réalisation d'un
procédé de
continuation automatique de résultats associée à la première réalisation du
procédé de la
figure 5,
- la figure 7 est un ordinogramme détaillant une deuxième et une troisième
réalisation du
procédé associé à l'envoi et appelé à l'étape 702 de la figure 4,
- la figure 8 est un ordinogramme détaillant une deuxième réalisation du
procédé de
continuation automatique de résultats associée à la deuxième réalisation du
procédé de la
figure 7,
- la figure 9 est un ordinogramme détaillant une troisième réalisation du
procédé de
continuation automatique de résultats associée à la troisième réalisation du
procédé de la
figure 7,
- la figure 10 est un ordinogramme détaillant un procédé d'attente par
nécessité de résultat
selon l'invention,
- la figure 11 illustre un procédé de réception de message après envoi de
message de l'étape
708 de la figure 10,
- la figure 12 est un ordinogramme détaillant une quatrième réalisation du
procédé de
continuation automatique de résultats associée aux procédés des figures 10 et
11.

Les dessins contiennent, pour l'essentiel, des éléments de caractère certain.
Ils pourront donc
non seulement servir à mieux faire comprendre la description, mais aussi
contribuer à la
définition de l'invention, le cas échéant.

La figure 1 représente un réseau de stations communicants entre-elles. On
entend par "station
informatique" tout élément informatique capable d'échanger des données. Ainsi,
cet élément
pourra être un terminal de communication mobile comme un téléphone mobile ou
un
ordinateur portable, ou au contraire un terminal de communication fixe comme
un ordinateur


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
4
de type PC. Chaque station ST1, ST2, STO comprend un système d'exploitation
ST1-2, ST2-
2, STO-2, une mémoire ST1-4, ST2-4, STO-4 non partagée, un processus P1, P2,
PO
travaillant en langage orienté-objet, et un module de protocole de
communications ST1-6,
ST2-6, STO-6 de type communications par appels de méthodes ou de procédures à
distance

de type RPC (pour Remote Procedure Call) asynchrone capable de travailler avec
des objets
au sens du langage orienté objet. Ce module de protocole est capable de
traiter, par une
communication asynchrone, des appels de méthodes à distance RPC entre un
processus local
et un processus distant d'une autre station. Le module de protocole comprend
une
bibliothèque d'objets comprenant des méthodes ou fonctions qui permettent
l'appel de
méthodes à distance. Le terme "processus" désigne un programme d'instructions
qui peut
comprendre des appels de méthodes, des opérations à titre d'exemple.
L'environnement
constitué par un système d'exploitation STl-2, une mémoire non partagée ST1-4,
et un
module de protocole de communications ST1-6 permet d'exécuter des processus
locaaux
comme P1 en langage orienté-objet.

Chaque station est reliée aux autres stations par un lien qui peut être
physique ou virtuel, par
exemple des câbles, des fibres optiques ou des ondes radio. De façon plus
précise et à titre
d'exemple, chaque station peut être reliée à un réseau 10 par un lien 10-ST1,
10-ST2, 10-
STO, les stations étant ainsi reliées entre-elles.

Comme illustré sur la figure 2, le module de protocole de type RPC asynchrone
permet pour
un processus P1 dit client d'appeler une méthode du processus P2 dit serveur
situé à distance
dans la station ST2. Cet appel A est appelé aussi requête et comprend des
paramètres Pa. Au
sens du langage orienté-objet, une requête est un objet représentant un appel
de méthode et

comprenant la méthode et les paramètres d'appels. Pour que l'appel de cette
méthode
ressemble à un appel d'une méthode locale, le processus client P1 comprend un
objet ayant
une méthode locale de même nom que la méthode distante à appeler. Cette
méthode locale
de la station ST1 appelle certaines méthodes dans la bibliothèque d'objet du
module de
protocole, par exemple une bibliothèque de type Java . Ces dernières prennent
en charge
les connexions réseaux, le passage des paramètres Pa et le retour des
résultats appelé aussi
réponse RES. Lors d'un appel de type RPC asynchrone, le processus client P1
dépose la
requête avec ses paramètres d'appel dans la station ST2 puis continue son
exécution. Du côté
de la station ST2, le processus serveur P2 finit l'exécution de ses tâches en
cours avant


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
d'appeler la méthode locale de la station ST2 avec les paramètres d'appel et
de retourner la
réponse R-A, c'est-à-dire le résultat à la station ST1.

Ainsi, le processus client P1 n'appelle pas la méthode locale mais dépose
seulement une
5 requête du côté de la station ST2 puis continue son exécution. De façon
parallèle, le
processus serveur P2 continue son exécution en cours lors du dépôt de la
requête puis répond
à la requête en renvoyant une réponse au processus client P1.

Bien évidemment, tout processus du réseau utilise la bibliothèque du module de
protocole
de type RPC asynchrone pour établir des communications par appels de méthodes
à distance.
De manière générale, tout processus peut être à la fois client et serveur, à
savoir émettre une
requête et en recevoir. On parlera donc de processus source ou local lorsque
le processus
envoie des requêtes ou des réponses, de processus cible ou distant lorsque le
processus reçoit
des requêtes ou des réponses.

Les communications établies entre les processus sont de type asynchrone, c'est-
à-dire que
le processus source poursuit son exécution après l'envoi (ou dépôt) d'une
requête (message
d'appel) ou d'une réponse. Ainsi, dans le cas d'une requête, le processus
cible finit d'abord
l'exécution de ses tâches en cours puis exécute la méthode distante en
parallèle avec
l'exécution du processus source et met à disposition les paramètres de la
réponse en fin
d'exécution de la méthode distante. Le processus source peut ainsi obtenir ses
paramètres
de réponse.

Dans le cadre de communications de type RPC asynchrone utilisant des objets au
sens du
langage orienté-objet, lorsqu'un processus envoie une requête, la réponse peut
tarder ce qui
peut bloquer l'exécution du processus. Un processus peut ne pas attendre la
réponse à une
requête et se servir de la représentation de cette réponse non encore
déterminée. De manière
générale, un objet est identifié par un identifiant et comprend une structure
qui peut soit être
vide, soit comprendre un contenu (valeurs de paramètres, méthodes). Ainsi, la
représentation

d'une réponse non encore déterminée peut être un identifiant d'objet indiqué
comme vide
ou partiellement vide. Cet objet est lié à un drapeau (flag) indiquant que cet
objet est vide
ou partiellement vide. L'objet peut être complètement vide, c'est-à-dire un
objet dont le
contenu est encore inconnu, soit comme partiellement vide, c'est-à-dire un
objet dont le


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
6
contenu n'est que partiellement connu. Cet identifiant d'objet vide nomme un
objet dont le
contenu, ou au moins une partie de celui-ci, sera la réponse à une requête
donnée.

Une requête ou une réponse envoyée par un processus local à un processus
distant peut avoir
des paramètres comprenant un ou plusieurs identifiants d'objets vides. Plus
précisément, une
requête envoyée par un processus client à un processus serveur peut avoir des
paramètres
comprenant un ou plusieurs identifiants d'objets vides. De la même manière,
une réponse
envoyée par un processus serveur à un processus client peut avoir des
paramètres
comprenant un ou plusieurs identifiants d'objets vides. Dans ces cas, il est
important que les
processus distants puissent obtenir le contenu de ces objets vides une fois
que ceux-ci sont
disponibles.

Dans certains cas, connaître le contenu d'un objet vide est indispensable. Par
exemple,
lorsqu'un identifiant d'objet vide est utilisé par un processus. On entend par
"utilisation"
d'un identifiant d'objet vide, une opération pour laquelle déterminer le
contenu de cet objet

est nécessaire. Une opération est dite stricte et peut être à titre non
limitatif une addition, une
soustraction, une division, une multiplication si l'identifiant de l'objet
nomme un objet
représentant un nombre. Dans le cas d'une utilisation, il est nécessaire que
le processus
puisse obtenir le contenu de l'objet vide afin d'exécuter l'opération.
Un mécanisme de gestion de transmission des contenus d'objets vides vers les
processus en
ayant besoin apparaît nécessaire.

La figure 3-1 illustre le réseau de stations de la figure 1.Les références
identiques à celles de
la figure 1 désignent les mêmes éléments.

Les communications RPC asynchrones entre les processus P1 et PO décrites
maintenant sont
représentées par des flèches en traits tiretés.

Lors d'un appel RPCO-a de type RPC asynchrone, le processus source P1 crée un
identifiant
d'objet vide ID-01 représentant la réponse à la requête RPCO-a, sérialise la
requête comme
présenté sur la figure 4 décrite ci-après, dépose dans la station STO la
requête RPCOa avec
ses paramètres d'appel qui comprennent l'identifiant de l'objet vide ID-01
puis continue son


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
7
exécution. Dans la station STO, la requête est reçue, désérialisée, puis mise
en attente dans
une file de requêtes à traiter par le processus cible P0. Ainsi, le calcul du
contenu de cet objet
vide et sa mise à disposition sont demandés au processus cible appelé aussi
processus
sachant notamment lors de la création de la requête RPCO-a. Lorsque le contenu
de l'objet

vide est obtenu par le processus cible P0, le couple de résultat CRES
comprenant le contenu
CONT-01 et l'identifiant ID-01 de l'objet vide est mis à disposition. Le
processus cible PO
obtient le contenu CONT-01 de l'objet vide par calcul et est appelé processus
sachant.

Le processus PO peut également stocker l'identifiant du processus P1 associé à
l'identifiant
de l'objet vide afin de renvoyer le résultat au processus P1 par la réponse
RO.

Le contenu CONT-01 peut lui-même contenir l'identifiant d'un autre objet vide
dont le
contenu sera calculé par un autre processus.

Une fois l'objet vide créé dans le processus P1, l'identifiant de cet objet
peut être soit utilisé
par le processus P1 soit passé en paramètre dans une requête RPC1-a au
processus cible P2
comme indiqué sur la figure 3-1.

Lorsque le contenu de l'objet vide est connu du processus P1, celui-ci met à
jour l'objet vide
en intégrant le contenu dans la structure de l'objet vide.

La figure 3-2 illustre plus en détail les modules aptes à travailler en
relation avec le
processus P1.

La station comprend les composants suivants :
- un détecteur, par exemple un sérialisateur ST1-20, en relation avec le
processus P1 et
propre à détecter l'évênement qu'un identifiant d'objet vide intervient comme
paramètre
d'une requête ou d'une réponse à envoyer par le processus local P1 à un autre
processus P2
distant,
- un module de mise à jour ST1-16 apte, à partir de l'identifiant d'un objet
vide et du contenu
déterminé de cet objet vide, à intégrer ce contenu à la structure de l'objet
vide, et ainsi mettre
à jour l'objet vide


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
8
- un moniteur ST1-12 en liaison avec le détecteur ST1-20 et le processus local
P1 et propre,
en réponse à la détection du détecteur, à intercepter l'envoi, à traiter
l'objet vide en vue de
mettre à disposition le contenu de cet objet au processus distant et à
poursuivre l'envoi de
la requête ou de la réponse sur une condition de traitement satisfaite.


Le traitement de l'objet vide, qui sera développé plus loin, comprend soit

- l'attente du contenu et l'arrêt de l'exécution de l'évênement durant cette
attente, la
condition de traitement satisfaite correspondant à la réception du contenu ou
la mise à jour
de l'objet vide par l'intégration de son contenu une fois obtenu,

- le stockage de données qui identifient l'objet vide et un processus auquel
le contenu de
l'objet vide doit être acheminé, l'exécution de l'évênement étant alors
poursuivie sans que
le contenu de l'objet vide ne soit connu,

- le fait de continuer l'exécution de l'événement.

Dans le cas d'une utilisation d'un identifiant d'objet vide par le processus
P1, la détection
de cet utilisation est automatiquement réalisée car l'accès à cet objet vide
est bloquée de part
la sémantique du langage objet. Il sera développé plus loin le traitement
réservé après la
détection d'une telle utilisation.

Le moniteur comprend un ensemble de processus appelés processus d'intervention
qui sont
exécutés selon que le processus est un processus source ou sachant, un
processus sachant
étant celui qui calcule le contenu d'un objet vide. Le moniteur comprend un
processus dit
d'attente par nécessité, un processus dit associé à l'envoi de
requête/résultat, un processus
dit de continuation automatique. L'exécution de ce dernier processus peut être
effectuée
parallèlement et indépendamment des autres processus. Ce processus de
continuation
automatique a pour fonction d'acheminer les contenus déterminés d'objets vides
vers tous
les processus susceptibles d'en avoir besoin.

Le moniteur travaille par ailleurs avec au moins une table dite Table de
Contenus à
Retransmettre TCR indiquant l'identifiant d'objets vides et l'identifiant d'un
processus.
Cette table sert à la transmission du contenu de l'objet vide au processus
identifié. Un telle
table sera utilisée soit dans le processus sachant soit dans tous les
processus ayant transmis


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
9
un identifiant d'objet vide, par exemple un processus source, en fonction du
mode de
réalisation de l'invention comme développé ci-après.

Dans le cas de la requête RPCO-a de la figure 3-1 par exemple, le processus PO
ajoute dans
sa Table de Contenus à Retransmettre TCRO le couple comprenant l'identifiant
ID-01 de
l'objet vide et l'identifiant ID-P1 du processus source auquel le contenu de
l'objet vide doit
être envoyé.

Les fonctions de ces différents composants sont détaillés dans la description
des organigram-
mes des figures 4 à 12 ci-après. La description sera faite en parallèle avec
la figure 3-1.
Pour les modes de réalisations des figures 4 à 9, on se place sur la figure 3-
1 dans le cas où
le processus P1 a envoyé une requête RPCO-a au processus sachant PO et cherche
à envoyer
au processus P2 une requête RPC1-a comprenant l'identifiant ID-01 de l'objet
vide ou dans
le cas où le processus P1 a reçu un identifiant d'objet vide ID-01 créé par un
autre processus
du réseau.

La figure 4 illustre la sérialisation d'une requête ou d'une réponse avant son
envoi. A l'étape
702, un premier objet parmi les paramètre de la requête ou de la réponse à
envoyer est
sérialisé. Le mécanisme de la sérialisation, qui permet l'envoi de la requête
ou de la réponse

après copie de celle-ci, comprend notamment une détection d'un objet vide. A
cette détection
est ajoutée une gestion de cet objet vide grâce à l'appel d'un procédé associé
à l'envoi d'un
message selon la figure 5 ou la figure 7 par exemple. Si, à l'étape 704, les
paramètres de la
requête ou de la réponse comprennent d'autres objets, ceux-ci sont également
sérialisés par

appel récursif du procédé de la figure 5 ou de la figure 7 avant l'envoi de la
requête ou de
la réponse.

Les figures 5 et 6 illustrent un premier mode de réalisation du moniteur selon
l'invention.
Ce mode de réalisation s'applique lors de l'envoi d'objets vides par un
processus source à
travers les paramètres d'une requête ou d'une réponse. Ce mode peut être nommé
"Attente
sur tentative de transmission".


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
Lors de la sérialisation de la requête ou de la réponse selon la figure 4, la
figure 5 propose
un procédé associé à l'envoi d'un message (requête ou réponse) selon un
premier mode de
réalisation. A titre d'exemple, ce message peut être le message RPC1-a de la
figure 3-1 ayant
pour paramètre un identifiant d'objet vide ID-01 et envoyé par le processus P1
au processus

5 P2. Dans le message, la structure d'un premier objet est parcourue à l'étape
206. Si la
structure de l'objet comprend un contenu connu à l'étape 208, le mécanisme de
sérialisation
de l'étape 704 de la figure 4 continue. Si la structure de l'objet n'a pas de
contenu
entièrement connu, par exemple l'objet comprend un drapeau (flag) indiquant
que l'objet est
vide comme dans le cas de RPC1-a, l'objet est détecté comme un objet vide à
l'étape 210.

10 L'envoi de la requête ou de la réponse est alors suspendu à l'étape 212 et
ceci tant que l'objet
vide n'est pas mis à jour dans le processus source P1 à l'étape 214. Le
procédé retourne à
l'étape 704 de la figure 4 pour sérialiser un autre objet de la requête ou de
la réponse. Une
fois que tous les objets de la requête ou de la réponse ont été sérialisés,
l'envoi du message
est poursuivi, par exemple l'envoi du message RPC1-a du processus P1 au
processus P2.

Dans cette réalisation, le moniteur du processus P1 est apte à attendre la
réception d'un
message envoyé par le processus sachant, le message comprenant le contenu et
l'identifiant
de l'objet vide, ladite réception étant la condition de traitement satisfaite.

La figure 6 illustre un procédé de continuation automatique selon le premier
mode de
réalisation de l'invention. Sur la figure 3-1, on se place dans le cas du
processus source P1
ayant envoyé une requête RPCO-a à un processus sachant PO pour connaître le
contenu d'un
identifiant d'objet vide ID-01. Lorsque le processus sachant PO se charge de
la requête, il
vérifie si le contenu de l'objet vide identifié par ID-01 est disponible. Dès
que celui-ci est
disponible à l'étape 220, il est recherché dans la table TCRO du processus
sachant P0,
l'identifiant du processus source associé à l'identifiant ID-01 de l'objet
vide. Ainsi, le
contenu et l'identifiant de l'objet vide sont envoyés au processus source P1.
Les données de
la table TCRO sont effacées au fur et à mesure que le contenu des objet vide
est envoyé aux
processus répertoriés dans cette table.

Une fois que ce résultat est reçu par le processus P1, son module de mise à
jour met à jour
l'objet vide en intégrant le contenu dans la structure de l'objet avant de
poursuivre l'envoi
de la requête RPC1-a au processus P2 comme indiqué par les procédés des
figures 4 et 5.


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
11
Pour chaque objet de la requête ou de la réponse, la figure 7 propose une
deuxième et une
troisième réalisation du procédé associé à l'envoi d'un message (requête ou
réponse). La
deuxième réalisation peut être intitulée "Transmission des résultats par les
processus
transmetteurs d'objets vides" et la troisième réalisation peut être intitulée
" Passage avec

ordre de retransmission par les processus transmetteurs d'objets vides". On se
place dans le
cas du message RPC1-a comprenant un identifiant d'objet vide ID-01 et envoyé
du processus
P1 au processus P2. La structure d'un objet du message est parcouru à l'étape
706 par le
sérialisateur du processus P1. Si la structure de l'objet comprend un contenu
connu à l'étape
708, le mécanisme de sérialisation de l'étape 704 de la figure 7 continue. Si
la structure de

l'objet n'a pas de contenu connu ou a un contenu partiellement connu, par
exemple l'objet
comprend un drapeau (flag) indiquant que l'objet est vide, l'objet est détecté
comme un objet
vide à l'étape 710. On parle alors d'interception de l'envoi dans le cas d'un
envoi d'une
requête ou d'une réponse. L'objet vide est alors traité à l'étape 712 par le
moniteur ST1-12.
Ce traitement comprend plusieurs possibilités selon la réalisation du procédé

- soit, à l'étape 712-2, le stockage dans une table ou une liste locale
appelée Table des
Contenus à Retransmettre TCR, par exemple TRC1 lié au processus P1, de
l'identifiant de
l'objet vide et de l'identifiant du processus de destination, par exemple ID-
P2, auquel le
contenu de cet objet doit être envoyé,

- soit, à l'étape 712-3, à partir de l'identifiant de l'objet vide, par
exemple ID-01, l'extraction
de l'identifiant du processus sachant, par exemple PO (appelé sachant), propre
à calculer le
contenu de cet objet vide et l'ajout dans la table TCR du processus sachant,
par exemple
TCRO du processus P0, de l'identifiant de l'objet vide et de l'identifiant du
processus de
destination auquel le contenu de cet objet doit être envoyé. Cet ajout peut se
réaliser après
l'envoi d'un message du processus source au processus sachant, par exemple du
processus

P1 au processus P0, demandant au processus sachant de transmettre le contenu
de l'objet au
processus de destination, par exemple P2.

Dans le cas de l'étape 712-2, la Table des Contenus à Retransmettre TCR du
processus
source P1 contient les couples d'identifiants d'objets vides ID-OBJ-VID
associés aux
identifiants de processus cibles ID-P auxquels le contenu d'au moins un objet
vide doit être

retransmis. Le moniteur ST1-12 ajoute le couple (ID-P2, ID-01) à la table TCR1
du
processus source P1. Cet ajout correspond à une condition de traitement
satisfaite, ce qui
déclenche l'envoi de la requête RPC1 au processus cible P2.


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
12
Dans le cas de l'étape 712-3, l'identifiant du processus sachant PO est
extrait de l'identifiant
de l'objet vide ID-01. Le couple (ID-01, ID-P2) est ajouté dans la Table des
Contenus à
Retransmettre TCRO du processus sachant P0. Pour cela, le processus source P1
peut
envoyer un message au processus sachant PO demandant la retransmission du
résultat

comprenant l'identifiant et le contenu de l'objet vide au processus cible P2.
Sur une
condition de traitement satisfaite qui peut être l'extraction de l'identifiant
du processus
sachant pour un objet vide donné, l'envoi du message demandant la
retransmission, l'ajout
dans la table TCRO du couple (ID-01, ID-P2), le processus source P1 envoie la
requête RPC1
au processus cible P2.

Au moment de l'extraction de l'identifiant du processus sachant P0, le
processus source P1
peut informer le processus cible P2 de l'identifiant du processus sachant PO
si celui-ci n'a
pas de procédé d'extraction. Ainsi, si l'identifiant de l'objet vide est
utilisé comme paramètre
d'une requête par le processus P2, ce dernier pourra demander au processus
sachant la
transmission directe du contenu de l'objet vide au prochain processus cible.

La figure 8 illustre un deuxième mode de réalisation du procédé de
continuation automatique
lié au procédé associé à l'envoi d'un message réalisant le traitement de
l'étape 712-2 de la
figure 7.


Ce procédé est effectué pour chaque processus Px, x étant un entier pouvant
désigner le
processus sachant PO et tout processus ayant retransmis l'objet vide ID-01,
c'est-à-dire un
processus P1, P2.

A l'étape 412, le moniteur du processus Px est en phase d'attente de
disponibilité du résultat
comprenant l'identifiant et le contenu de l'objet vide (ID-01, CONT-01). Une
fois que ce
résultat est disponible dans le processus Px, le module de mise à jour de ce
dernier met à jour
l'objet en intégrant le contenu à la structure de l'objet et envoie par un
message (par exemple
le message R1 entre le processus P1 et le processus P2 sur la figure 3-1) cet
objet mis à jour
à tous les processus cibles c'est-à-dire les processus dont les identifiants
ID-P dans la table
TCRx sont associés à l'identifiant de l'objet vide ID-01 à l'étape 414. Ainsi,
à l'étape 416,
le résultat devient disponible dans tous les processus cibles.


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
13
De manière itérative, les processus cibles ayant retransmis l'objet vide
attendent le résultat
à l'étape 412, c'est-à-dire l'objet vide mis à jour. Dès que ces processus
cibles reçoivent ce
résultat, ils deviennent processus sources en effectuant l'étape 414, c'est-à-
dire qu'ils
retransmettent par un message l'objet vide mis à jour à tous les processus
cibles de leur table

TCR dont les identifiants ID-P sont associés à l'identifiant de l'objet vide
ID-01. Cette
itération s'effectue jusqu'à ce que tous les processus ayant retransmis
l'objet vide reçoivent
l'objet mis à jour.

Le procédé est d'abord effectué par le processus sachant puis, de manière
itérative, par tout
processus ayant retransmis l'objet vide et recevant l'objet mis à jour.

Ainsi, ce mode de réalisation permet la retransmission du contenu de l'objet
vide par un
processus source au processus cible dès que le contenu est disponible dans le
processus
source et que la mise à jour de l'objet vide a été réalisée par le processus
source. Cette
retransmission peut se faire de manière itérative et par une communication de
type RPC
synchrone.

La figure 9 illustre un troisième mode de réalisation du procédé de
continuation automatique
lié au procédé associé à l'envoi d'un message réalisant le traitement de
l'étape 712-3 de la
figure 7.

Sur la figure 9, à l'étape 612, le moniteur du processus sachant PO est en
phase d'attente de
mise à disposition du résultat de la requête RPCO-a. Ce résultat comprend
l'identifiant et le
contenu de l'objet vide (ID-01, CONT-01). Une fois que ce résultat est
disponible dans le
processus sachant P0, le module de mise à jour de ce dernier met à jour
l'objet vide en
intégrant le contenu à la structure de l'objet et le moniteur envoie cet objet
mis à jour par un
message R2 à tous les processus cibles c'est-à-dire à tous les processus dont
les identifiants
ID-P dans la table TCRO sont associés à l'identifiant de l'objet vide ID-01 à
l'étape 614.
Ainsi, à l'étape 616, l'objet mis à j our devient disponible localement dans
tous ces processus
cibles.

Dans ce mode de réalisation de l'invention, le moniteur de la station
informatique du
processus local est propre, après exécution de l'envoi de la requête ou de la
réponse et une


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
14
fois le contenu de l'objet vide disponible dans le processus local, à envoyer
l'identifiant de
l'objet vide associé à son contenu aux processus dont les identifiants dans la
table sont
associés à l'identifiant de l'objet vide.

Les figures 10, 11 et 12 illustrent un quatrième mode de réalisation de
l'invention qui
s'applique à la détection de l'utilisation d'un objet vide par le processus P1
à titre d'exemple.
Dans ce mode de réalisation, le procédé associé à l'envoi d'un message
(requête ou réponse)
ne nécessite pas de traitement particulier et l'envoi est effectué en présence
ou non d'objet
vide détecté.

La figure 10 illustre un procédé d'attente par nécessité selon le quatrième
mode de
réalisation de l'invention. A l'étape 702, l'utilisation par un processus P1
d'un objet vide
identifié par ID-01 est détecté. A l'étape 704, l'exécution du processus P1
est suspendu. A
l'étape 706, le moniteur du processus P1 extrait à partir de l'identifiant ID-
01 de l'objet vide,

l'identifiant du processus sachant ID-PO apte à calculer et à mettre à
disposition le contenu
de l'objet vide. A l'étape 708, le moniteur du processus P1 émet au processus
sachant PO un
premier message Transmettre(ID-01, ID-PI) avec l'identifiant ID-01 de l'objet
vide et
l'identifiant ID-P1 du processus P1. Ce message requiert, une fois le contenu
de l'objet vide
mis à disposition, la transmission par le processus PO au processus P1 d'un
second message

(ID-01, CONT-01) avec l'identifiant et le contenu de l'objet vide. A l'étape
710, le moniteur
du processus P1 attend que l'objet vide soit mis à jour par le module de mise
à jour du
processus P1. Cette mise à jour de l'objet vide correspond à une condition de
traitement
satisfaite que le moniteur détecte pour poursuivre l'exécution de
l'utilisation faite de l'objet
identifié à l'étape 712.


Sur la figure 11 illustre le procédé de réception du premier message de
l'étape 708 par le
processus sachant P0. A l'étape 716, le moniteur du processus PO vérifie si le
contenu
CONT-01 de l'objet identifié ID-01 dans le premier message reçu existe dans la
Table des
Contenus Calculés TCC tenue par le processus sachant PO comme indiqué sur la
figure 12.

Si c'est le cas, le moniteur récupère le contenu de l'objet vide et son
identifiant dans la table
TCC et, à l'étape 718, envoie un second message comprenant l'identifiant et le
contenu de
l'objet vide (ID-01, CONT-01) au processus P1 utilisant cet objet.


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
Si ce n'est pas le cas, à l'étape 717, le moniteur du processus PO ajoute,
dans sa Table de
Contenus à Retransmettre TCRO, le couple de données (ID-Pl, ID-01) qui a été
passé en
paramètres avec le premier message.

5 La figure 12 illustre un procédé de continuation automatique selon le
quatrième mode de
réalisation de l'invention. Ainsi, à l'étape 720, le moniteur de processus
sachant PO attend
que le résultat (ID-01, CONT-01) comprenant l'identifiant et le contenu de
l'objet vide soit
disponible. Une fois ce résultat disponible, il est ajouté dans la table TCC
du processus
sachant PO à l'étape 722 puis envoyé à tous les processus de la table TCRO de
PO pour

10 lesquels les identifiants sont associés à l'identifiant de l'objet vide. En
d'autres termes, le
processus PO calcule en une fois le contenu de l'objet vide puis envoie le
couple identifiant-
contenu de l'objet vide à tous les processus en attente de résultat grâce aux
tables TCC et
TCRO tenues en mémoire par le processus sachant P0.

15 Ainsi, le moniteur de la station informatique du processus sachant est
propre à travailler avec
une première table TCRO comprenant des couples de données associant des
identifiants
d'objets vides et des identifiants de processus et une seconde table TCC
comprenant des
couples de données associant des identifiants d'objets vides et les contenus
de ces objets.
Le moniteur de la station informatique du processus sachant est également
propre, une fois

avoir ajouté dans la deuxième table l'identifiant de l'objet vide et son
contenu calculé, à
émettre un message comprenant l'identifiant et le contenu de l'objet vide
au processus local après avoir vérifié que l'identifiant de l'objet vide est
dans la seconde
table et
. aux processus dont l'identifiant dans la première table est associé à
l'identifiant de l'objet
vide, identifiants qui ont été ajoutés dans la première table sur un message
du processus P1.
Cette réalisation du moniteur de l'invention utilisant les tables TCC et TCR
permet une
gestion globale des processus en attente d'un même contenu d'objet vide
identifié pour
l'utilisation de cet objet.


Bien qu'il soit fait mention de tables de données, le terme "table" peut tout
aussi bien
désigner une liste de données associées entre-elles et le terme "liste" peut
tout aussi bien
désigner une table de données.


CA 02546888 2006-05-19
WO 2005/055060 PCT/FR2004/003005
16
Ainsi, ces mode de réalisation permettent la retransmission du contenu associé
à un objet
vide à tous les processus ayant un identifiant de cet objet vide dès que le
contenu a été
calculé par le processus sachant.

Les processus d'intervention des premier, deuxième et troisième modes de
réalisation de
l'invention sont accompagnés d'un processus assurant la cohérence de la mise à
jour
automatique du contenu de l'objet vide lorsque l'identifiant d'un objet vide
est utilisé par le
processus P dans une station, à savoir un processus d'attente par nécessité
qui suspend
l'exécution en cours et ne la reprend qu'une fois le contenu de l'objet vide
connu.

Chaque station informatique comprend un processus local, un module de
protocole et un
moniteur de sorte que chaque processus local puisse être local, distant par
rapport à un autre
processus d'une autre station ou sachant pour le calcul du contenu d'un objet
vide. Chaque
station informatique peut comprendre un ou plusieurs processus locaux, chaque
processus
ayant un module de protocole et un moniteur.

L'invention n'est pas limitée aux mode de réalisation décrit ci-dessus mais s'
étend à d'autres
modes de réalisation. Ainsi, les procédés développés peuvent être utilisés
alternativement
ou en combinaison en fonction des performances souhaitées.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2011-07-12
(86) PCT Filing Date 2004-11-24
(87) PCT Publication Date 2005-06-16
(85) National Entry 2006-05-19
Examination Requested 2006-10-26
(45) Issued 2011-07-12

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2006-05-19
Maintenance Fee - Application - New Act 2 2006-11-24 $100.00 2006-08-28
Registration of a document - section 124 $100.00 2006-09-13
Request for Examination $800.00 2006-10-26
Maintenance Fee - Application - New Act 3 2007-11-26 $100.00 2007-11-08
Maintenance Fee - Application - New Act 4 2008-11-24 $100.00 2008-10-30
Maintenance Fee - Application - New Act 5 2009-11-24 $200.00 2009-09-23
Maintenance Fee - Application - New Act 6 2010-11-24 $200.00 2010-10-29
Final Fee $300.00 2011-04-29
Maintenance Fee - Patent - New Act 7 2011-11-24 $200.00 2011-10-19
Maintenance Fee - Patent - New Act 8 2012-11-26 $200.00 2012-11-23
Maintenance Fee - Patent - New Act 9 2013-11-25 $200.00 2013-11-19
Maintenance Fee - Patent - New Act 10 2014-11-24 $250.00 2014-11-10
Maintenance Fee - Patent - New Act 11 2015-11-24 $250.00 2015-11-16
Maintenance Fee - Patent - New Act 12 2016-11-24 $250.00 2016-11-18
Maintenance Fee - Patent - New Act 13 2017-11-24 $250.00 2017-11-22
Maintenance Fee - Patent - New Act 14 2018-11-26 $250.00 2018-11-23
Maintenance Fee - Patent - New Act 15 2019-11-25 $450.00 2019-11-18
Maintenance Fee - Patent - New Act 16 2020-11-24 $450.00 2020-11-16
Maintenance Fee - Patent - New Act 17 2021-11-24 $459.00 2021-11-15
Maintenance Fee - Patent - New Act 18 2022-11-24 $458.08 2022-11-09
Maintenance Fee - Patent - New Act 19 2023-11-24 $473.65 2023-11-08
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
INRIA INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE
Past Owners on Record
CAROMEL, DENIS
DELBE, CHRISTIAN
HENRIO, LUDOVIC
QUILICI, ROMAIN
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Cover Page 2011-06-15 2 48
Claims 2006-05-19 6 274
Abstract 2006-05-19 2 93
Description 2006-05-19 16 892
Drawings 2006-05-19 11 159
Representative Drawing 2006-08-07 1 7
Cover Page 2006-08-08 1 44
Claims 2009-05-15 7 270
Description 2009-05-15 18 967
Correspondence 2011-02-03 1 23
Correspondence 2011-02-14 1 77
Fees 2006-08-28 1 40
Assignment 2006-05-19 5 147
PCT 2006-05-19 3 101
Fees 2008-10-30 1 59
Maintenance Fee Payment 2017-11-22 1 33
Correspondence 2006-08-03 2 34
Assignment 2006-09-13 2 73
Prosecution-Amendment 2006-10-26 1 46
Fees 2007-11-08 1 52
Prosecution-Amendment 2008-11-17 3 91
Prosecution-Amendment 2009-05-15 17 591
Prosecution-Amendment 2009-08-21 2 71
Fees 2009-09-23 1 57
Prosecution-Amendment 2010-02-03 5 187
Prosecution-Amendment 2010-05-12 2 52
Maintenance Fee Payment 2018-11-23 1 33
Correspondence 2010-08-10 1 46
Prosecution-Amendment 2010-11-01 6 206
Correspondence 2010-12-07 1 30
Correspondence 2010-12-07 1 39
Assignment 2011-01-19 3 104
Correspondence 2011-04-29 2 62
Fees 2012-11-23 1 43
Fees 2013-11-19 1 43
Fees 2016-11-18 1 33