Language selection

Search

Patent 2137620 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 2137620
(54) English Title: PROCEDE DE SIMULATION D'UNE ARCHITECTURE "SERVEUR" A PARTIR D'UNE ARCHITECTURE "CLIENT"
(54) French Title: PROCESS FOR SIMULATING A SERVER ARCHITECTURE BY MEANS OF A CLIENT ARCHITECTURE
Status: Expired and beyond the Period of Reversal
Bibliographic Data
(51) International Patent Classification (IPC):
  • G6F 13/10 (2006.01)
  • B1D 33/048 (2006.01)
(72) Inventors :
  • SITBON, GERARD (France)
  • BASSIER, JEAN-FRANCOIS (France)
  • AYDIN, ALEV (France)
  • FREUND, HUBERT (France)
(73) Owners :
  • BULL S.A.
(71) Applicants :
  • BULL S.A. (France)
(74) Agent: LAVERY, DE BILLY, LLP
(74) Associate agent:
(45) Issued: 1999-10-05
(22) Filed Date: 1994-12-08
(41) Open to Public Inspection: 1995-07-01
Examination requested: 1994-12-08
Availability of licence: N/A
Dedicated to the Public: N/A
(25) Language of filing: French

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data:
Application No. Country/Territory Date
93 15947 (France) 1993-12-31

Abstracts

French Abstract


L'invention concerne un procédé de simulation, dans un réseau, d'une
architecture "serveur" à partir d'une architecture "client" d'une première
machine (PS) pour l'exécution d'appels de procédure à distance RPC émis
par au moins une machine d'architecture "client" (CL). Selon ce procédé la
première machine (PS) émet préalablement un appel RPC vers une
troisième machine d'architecture "serveur" (RE) utilisée comme machine
relais entre la première (PS) et la deuxième (CL) machines, cet appel RPC
ouvrant un contexte de communication pour la suite des échanges alors
que la première machine (PS) se bloque dans l'attente d'un retour de
l'appel RPC. Lorsque la seconde machine (CL) émet un appel RPC
représentatif d'une fonction déterminée à exécuter par la première machine
(PS), cet appel est transmis vers la machine relais (RE) qui après
reconnaissance de la fonction le retransmet vers la première machine (PS)
par retour de l'appel RPC bloqué. La première machine (PS) demande
alors les paramètres d'entrée de la fonction à exécuter connus de la
machine relais (RE) puis exécute la fonction dès leur réception en
fournissant comme paramètre de sortie le résultat à la seconde machine
(CL) via la machine relais (RE).

Claims

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


8
Revendications
1. Procédé de simulation, dans un réseau, d'une architecture "serveur" à
partir d'une architecture "client" d'une première machine pour l'exécution
d'appels de procédure à distance RPC émis par au moins une seconde
machine d'architecture "client", caractérisé en ce que la première machine
émet préalablement un appel RPC vers une troisième machine
d'architecture "serveur" utilisée entre la première et la deuxième machines
et pour cela appelée machine relais, cet appel RPC ouvrant un contexte de
communication pour la suite des échanges alors que ladite première
machine se bloque sur ledit appel dans l'attente de son retour, puis lorsque
la seconde machine émet un appel RPC représentatif d'une fonction
déterminée à exécuter par la première machine, cet appel est transmis vers
la machine relais qui après reconnaissance de la fonction à exécuter le
retransmet vers la première machine par retour de l'appel RPC bloqué, la
première machine demandant alors les paramètres d'entrée de la fonction
à exécuter présents dans la machine relais puis exécutant ladite fonction
après réception desdits paramètres d'entrée et enfin fournissant, comme
paramètre de sortie, le résultat à la seconde machine via la machine relais.
2. Procédé de simulation selon la revendication 1 dans lequel les étapes
suivantes sont chronologiquement parcourues:
- la première machine émet vers une première unité d'exécution de la
machine relais un appel RPC (1) signifiant qu'elle est prête pour l'exécution
de fonctions, l'unité d'exécution de la machine relais qui gère cet appel
RPC (1) se met alors en attente d'un signal de réveil et bloque ainsi la
première machine sur cet appel RPC (1),
- la machine relais informe le service de nommage que la première
machine est prête à exécuter une fonction désirée,
- la seconde machine va chercher dans un répertoire du service de
nommage l'adresse de la fonction à exécuter,
- la seconde machine émet alors un appel RPC (2), conforme à la
représentation réseau, correspondant à la fonction à exécuter et

9
comportant les paramètres d'entrée et de sortie de ladite fonction, vers une
seconde unité d'exécution de la machine relais, cette unité d'exécution se
mettant en attente d'un signal de réveil et bloquant ainsi la seconde
machine sur cet appel RPC(2) après avoir elle-même émis un signal de
réveil vers la première unité d'exécution en attente,
- la première machine est renseignée, par retour de l'appel RPC(1) ainsi
débloqué, sur le type de fonction à exécuter,
- la première machine émet un nouvel appel RPC(3), vers la première unité
d'exécution de la machine relais pour demander les paramètres d'entrée de
la fonction à exécuter, cette unité d'exécution demandant lesdits
paramètres à la seconde unité d'exécution de la machine relais via un
mécanisme de communication interprocessus ("sockets", mémoire
partagée avec sémaphores, files de messages, tube de communication
appelé également "pipe",...) ou intraprocessus (mémoire globale protégée
par des verrous,...).
- après obtention des paramètres d'entrée de la fonction à exécuter, la
première unité d'exécution de la machine relais transmet lesdits
paramètres, par retour de l'appel RPC(3), à la première machine qui
exécute la fonction,
- la première machine transmet le résultat de la fonction exécutée à la
première unité d'exécution de la machine relais qui d'une part le
communique à la seconde unité d'exécution via un mécanisme de
communication interprocessus ("sockets", mémoire partagée avec
sémaphores, files de messages, tube de communication appelé également
"pipe",...) ou intraprocessus (mémoire globale protégée par des verrous,...)
et d'autre part émet un signal de réveil vers cette seconde unité
d'exécution,
- la seconde unité d'exécution de la machine relais, par retour de l'appel
RPC (2) ainsi débloqué, transmet comme paramètre de sortie le résultat
de la fonction exécutée vers la seconde machine.
3. Procédé de simulation selon la revendication 2 pour lequel les machines
sont des machines de type DCE.

4. Procédé de simulation selon la revendication 2 ou 3
dans lequel les appels de procédure à distance sont de type standard
DCE/RPC.
5. Procédé de simulation selon la revendication 2 ou 3
dans lequel tout type d'appel de procédure à distance RPC est utilisé pour
les communications entre machines.
6. Procédé de simulation, dans un réseau, d'une
architecture "serveur" dans une première machine pour l'exécution d'appels
de procédures à distance RPC émis par au moins une seconde machine
d'architecture "client", comprenant les étapes suivantes:
émettre un appel RPC de la première machine vers une
première unité d'exécution d'une troisième machine, appelée machine relais
ayant une architecture "serveur" et qui est utilisé entre les première et
seconde machines, ledit appel RPC mettant en marche un contexte de
communication pour une suite d'échanges alors que ladite première machine
se bloque sur ledit appel dans l'attente de son retour;
chercher à l'aide de la seconde machine dans un répertoire
d'un service de nommage l'adresse d'une fonction à exécuter, alors que
lorsque la seconde machine émet un appel RPC qui représente une fonction
prédéterminée à exécuter par la première machine vers une seconde unité
d'exécution de la machine relais, ladite seconde unité d'exécution se mettant
en attente d'un signal de réveil et bloquant la seconde machine sur cet appel
RPC après avoir elle-même émis un signal de réveil vers la première unité
d'exécution en attente;
transmettre ledit appel à la machine relais qui, après avoir
reconnu la fonction à exécuter, retransmet ledit appel à la première machine
par retour de l'appel RPC bloqué;

émettre alors un appel RPC de la première machine vers la
première unité d'exécution de la machine relais via un mécanisme de
communication interprocessus pour demander des paramètres d'entrée de
la fonction à exécuter qui sont présents dans la seconde unité d'exécution
de la machine relais;
exécuter alors ladite fonction à exécuter après avoir reçu
lesdits paramètres d'entrée; et
finalement, fournir le résultat sous la forme d'un paramètre de
sortie à la seconde machine via l'unité d'exécution de la machine relais.
7. Procédé de simulation selon la revendication 6, pour
lequel les machines sont des machines du type DCE.
8. Procédé de simulation selon la revendication 7, dans
lequel les appels de procédure à distance sont de type standard DCE/RPC.
9. Procédé de simulation selon la revendication 7, dans
lequel tout type d'appel de procédure à distance RPC est utilisé pour les
communications entre machines.
10. Procédé de simulation selon la revendication 6, dans
lequel les appels de procédure à distance sont de type standard DCE/RPC.
11. Procédé de simulation selon la revendication 10, dans
lequel tout type d'appel de procédure à distance RPC est utilisé pour les
communications entre machines.

Description

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


~~ )~~3~~
1
Procédé de simulation d'une architecture "serveur" à partir d'une
architecture "client".
La présente invention concerne un procédé de simulation) dans un réseau)
s d'une architecture "serveur" à partir d'une architecture "client" d'une
première machine pour l'exécution d'appels de procédure à distance RPC
(Remote Procedure Call) émis par au moins une seconde machine
d'architecture "client".
io De manière générale) le service d'appels de procédure à distance RPC
fournit un langage de niveau élevé et permet aux programmes exécutés
localement d'appeler des procédures installées sur des systèmes à
distance. Ce service constitue un élément fondamental du modèle "client-
serveur". Ce modèle est un modèle informatique asymétrique constitué de
is deux unités séparées et logiques travaillant en coopération. Une machine
d'architecture "client", communément appelée "client", demande des
informations ou des actions qu'une machine d'architecture "serveur" peut
exécuter plus spécifiquement ou dans de meilleures conditions. La machine
d'architecture "serveur") communément appelée "serveur", répond aux
Zo demandes du "client" et exécute des tâches lourdes ou spécialisées.
Dans ce contexte) il peut étre ressenti le besoin d'utiliser une machine
d'architecture exclusivement "client" comme "serveur". La solution à ce
problème consistait) jusqu'à présent) à porter une partie "serveur" sur la
Zs machine "client", c'est-à-dire à reproduire l'intégralité du code source
d'une
partie "serveur". Une telle solution est longue et fastidieuse et par
conséquent co0teuse et ceci d'autant plus que plusieurs versions peuvent
se succéder à brève échéance et que de plus le code peut étre malaisé à
porter sur des systèmes propriétaires.
La présente invention a pour but de remédier aux inconvénients précités et
propose un procédé de simulation d'une architecture "serveur" à partir
d'une architecture "client" qui ne nécessite pas une recopie d'une partie
"serveur" et qui par conséquent est peu onéreux et rapide à mettre en
3s oeuvre.
Pour cela le procédé de simulation mentionné dans le préambule est
remarquable en ce que la première machine émet préalablement un appel

213~~?(~
2
RPC vers une troisième machine d'architecture "serveur" utilisée entre la
première et la deuxième machines et pour cela appelée machine relais, cet
appel RPC ouvrant un contexte de communication (appelé "client context"
par l'homme du métier dans un environnement d'information répartie et
s selon la sémantique de DCE, DCE (Distributed Computing Environment)
étant une marque déposée par Open Software Foundation) pour la suite
des échanges alors que ladite première machine se bloque sur ledit appel
dans l'attente de son retour, puis lorsque la seconde machine émet un
appel RPC représentatif d'une fonction déterminée à exécuter par la
io première machine) cet appel est transmis vers la machine relais qui après
reconnaissance de la fonction à exécuter fe retransmet vers la première
machine par retour de l'appel RPC bloqué, la première machine demandant
alors les paramètres d'entrée de la fonction à exécuter présents dans la
machine relais puis exécutant ladite fonction après réception desdits
is paramètres d'entrée et enfin fournissant, comme paramètre de sortie, le
résultat à la seconde machine via la machine relais.
Ainsi grâce au procédé de simulation selon l'invention, dans un réseau, une
machine "client" peut lancer des appels de procédure RPC vers une autre
Zo machine "client" utilisée comme "serveur' ("pseudo-serveur' et ceci sans
modification ou recopie du code source d'une partie "serveur"; le code
"client" est standard, il suffit pour cela de sélectionner un "serveur" du
réseau qui servira alors de machine relais et autorisera le dialogue entre la
machine "client" et fe "pseudo-serveur". En effet, ta machine "client" voit
Zs alors le couple "senreur"P'pseudo-serveur" comme une machine "serveur"
homogène. Dans ces conditions tout appel RPC avec tout type de
paramètre peut être exécuté. En outre, de manière générale fintertace de
la procédure est décrite dans un langage de description d'intertace (IDL).
Cette interface est compilée en deux talons (appelés "stubs" par l'homme
3o du métier), un pour le cSté "client", l'autre pour le c8té "serveur" du
RPC,
les talons étant compilés avec les programmes "client" et "serveur"
respectivement pour donner les deux exécutables "client" et "serveur". Le
talon "client" est une fonction dont l'interface respecte fintertace décrite
en
IDL et qui a pour but de transformer les paramètres d'appel de la
ss représentation propre à la machine "client" en une représentation
universelle dite représentation de réseau. Le but du talon "serveur" est de
transformer les paramètres d'appel de la représentation réseau en la
représentation propre à la machine senneur et d'appeler ensuite la fonction

213720
3
effectivement demandée. Selon l'invention, le fonctionnement est
automatique et conforme à la représentation réseau, toutes les conversions
étant réalisées au niveau du NDR (Network Data Representation). Les
talons, qui sont générés par le langage de description de l'interface, sont
s donc standards. De plus) en ce qui concerne les services de sécurité, les
mécanismes de protection éventuels sont également standards.
De manière remarquable, selon le présent procédé de simulation, les
étapes suivantes sont chronologiquement parcourues
io
- la première machine émet vers une première unité d'exécution de la
machine relais un appel RPC (1 ) signifiant qu'elle est préte pour l'exécution
de fonctions, l'unité d'exécution de la machine relais qui gère cet appel
RPC (1 ) se met alors en attente d'un signal de réveil et bloque ainsi la
~s première machine sur cet appel RPC (1))
- la machine relais informe le service de nommage que la première
machine est préte à exécuter une fonction désirée,
zo - la seconde machine va chercher dans un répertoire du service de
nommage l'adresse de la fonction à exécuter,
- la seconde machine émet alors un appel RPC (2), conforme à la
représentation réseau, correspondant à la fonction à exécuter et
Zs comportant les paramètres d'entrée et de sortie de ladite fonction, vers
une
seconde unité d'exécution de la machine relais, cette unité d'exécution se
mettant en attente d'un signal de réveil et bloquant ainsi la seconde
machine sur cet appel RPC(2) après avoir elle-méme émis un signal de
réveil vers la première unité d'exécution en attente,
- la première machine est renseignée, par retour de l'appel RPC(1 ) ainsi
débloqué, sur le type de fonction à exécuter,
- la première machine émet un nouvel appel RPC(3), vers la première unité
3s d'exécution de la machine relais, pour demander les paramètres d'entrée
de la fonction à exécuter, cette unité d'exécution demandant lesdits
paramètres à la seconde unité d'exécution de la machine relais via un
mécanisme de communication interprocessus ("sockets", mémoire

~137~2U
4
partagée avec sémaphores, files de messages, tube de communication
appelé également "pipe",...) ou intraprocessus (mémoire globale protégée
par des verrous par exemple).
s - après obtention des paramètres d'entrée de la fonction à exécuter, la
première unité d'exécution de la machine relais transmet lesdits
paramètres, par retour de l'appel RPC(3), à la première machine qui
exécute la fonction,
io - la première machine transmet le résultat de la fonction exécutée à la
première unité d'exécution de la machine relais qui d'une part le
communique à la seconde unité d'exécution via un mécanisme de
communication interprocessus ("sockets", mémoire partagée avec
sémaphores, files de messages, tube de communication appelé également
~s "pipe",...) ou intraprocessus (mémoire globale protégée par des verrous par
exemple) et d'autre part émet un signal de réveil vers cette seconde unité
d'exécution,
- la seconde unité d'exécution de la machine relais, par retour de l'appel
ao RPC (2) ainsi débloqué, transmet comme paramètre de sortie ie résultat
de la fonction exécutée vers la seconde machine.
De cette manière, le procédé selon l'invention peut s'appliquer à l'évidence
à une pluralité de machines "client" émettant des appels RPC vers un
Zs "pseudo-serveur", chaque machine "client" voyant le couple
"serveur"~'pseudo-serveur" comme une machine "serveur". Le dialogue
entre la machine "client" et le "pseudo-serveur" est alors autorisé par
l'intermédiaire de différentes unités d'exécution de la machine relais.
3o La description suivante en regard du dessin annexé, le tout donné à titre
d'exemple non limitatif, fera bien comprendre comment l'invention peut être
réalisée.
La figure unique présente de manière schématique, un exemple de
3s dialogue élaboré dans un réseau autour d'appels RPC) entre une première
machine "client" utilisée en "serveur" et une seconde machine "client" par
l'intermédiaire d'une troisième machine "serveur" utilisée comme relais.

21a7~20
Sur la figure, une première machine PS d'architecture uniquement "client"
est désirée étre utilisée comme "serveur RPC" ("pseudo-serveur"} par une
seconde machine CL d'architecture "client". Conformément à l'idée de
l'invention, les différents appels RPC sont émis d'abord vers une troisième
s machine RE dite machine relais, cette machine ayant une architecture
"serveur".
De préférence, les machines PS, RE) CL sont des machines de type DCE
(DCE est une marque déposée par Open Software Fou~dation).
io
De méme) de manière préférée mais non limitative, les appels de
procédure à distance sont de type standard DCEIRPC. II est cependant
rappelé qu'avantageusement tout type d'appel RPC avec tout autre type de
paramètre peut étre utilisé selon le présent procédé et par exemple un
is RPC selon la technologie de Sun Microsystems) un RPC NCS 1.5
ApoIlo/Hewlett.Packard (NCS : Network Computing System), un RPC selon
Netwise, etc...).
Pour une meilleure appréhension du procédé selon l'invention) un exemple
2o simple est ci-après décrit. Dans cet exemple la machine CL demande à la
machine PS d'exécuter une fonction d'addition en prenant comme
paramètres d'entrée) les paramètres a et b à additionner et comme
paramètre de sortie, le paramètre c représentant le résultat de l'addition a
et b.
2s
Selon le présent procédé de simulation) dans cet exemple précis)
différentes étapes seront parcourues avant d'aboutir au résultat c.
Ainsi, à l'étape 1, la première machine PS émet vers une premiére unité
so d'exécution TH1 de la machine relais RE, un appel RPC 1 (représenté par
une flèche en trait plein)) par exemple du type "I am ready(f nb)",
signifiant qu'elle est prête pour l'exécution de fonctions (dont la fonction
"add"). L'unité d'exécution TH1 de la machine RE qui reçoit et va donc
gérer cet appel RPC1, se met alors en attente d'un signal de réveil qui peut
3s être une variable de condition du type (pthread_cond_wait
(tond var work)), ce qui a pour effet de bloquer la première machine PS
sur l'appel RPC 1.

21~7~~0
6
Lors d'une seconde étape 2, la machine relais RE informe le service de
nommage NS que la première machine PS est préte à exécuter la fonction
désirée par la seconde machine CL, en l'occurrence ce sera la fonction
d'addition "add". Sur la figure, le service de nommage NS est représenté à
s l'extérieur des machines PS, RE ou CL, cependant il peut être localisé dans
l'une quelconque des machines "serveur" du réseau et donc par exemple
dans RE.
La seconde machine CL) lors de l'étape 3, va chercher dans un répertoire
io du service de nommage, couramment appelé CDSD ("Cell Directory Server
Daemon") l'adresse (par exemple une adresse Internet) de la fonction à
exécuter, dans le cas présent la fonction "add".
Lors de l'étape 4) la seconde machine CL émet à son tour, vers une
is seconde unité d'exécution TH2 de la machine RE, un appel RPC 2
(représenté par une flèche en trait plein), conforme à la représentation
réseau grâce aux talons standards) cet appel correspondant à la fonction à
exécuter et comportant les paramètres d'entrée (a) b) et de sortie (c) de
ladite fonction. L'appel RPC 2 peut être par exemple du type "add" (a [in],
2o b [in]) c [out])". L'unité d'exécution TH2 émet le signal de réveil attendu
par
la première machine PS (pthread_cond signal (tond var work)) puis se
met en attente d'un signal de réveil qui peut être une variable de condition
du type (pthread_cond_wait(cond var arg) ce qui a pour effet de bloquer la
seconde machine CL sur l'appel RPC 2.
La premiëre machine PS est, lors de l'étape 5) renseignée sur le type de
fonction à exécuter par retour de l'appel RPC 1 (représenté par une flèche
en trait pointillé) ainsi débloqué) le numéro de la fonction, correspondant
ici
à la fonction "add", lui étant transmis. C'est donc lors de cette étape) que
la
3o machine PS sait quelle fonction doit être exécutée, en l'occurrence la
fonction "add" et par là même le type de paramètres à demander.
A l'étape 6, la première machine PS émet vers l'unité d'exécution TH1 de la
machine RE, un nouvel appel RPC 3 (représenté par une flèche en trait
3s plein) par exemple du type "get add ([out]a,[out]b)", pour demander les
paramètres d'entrée (a,b) de la fonction "add" à exécuter. L'unité
d'exécution TH1 demande alors lesdits paramètres à la seconde unité
d'exécution TH2 et les obtient via un mécanisme de communication

~1~"~~~~1
interprocessus du genre "sockets") mémoire partagée avec sémaphores,
files de messages) tube de communication appelé également "pipe",... ou
intraprocessus par exemple du genre mémoire globale protégée par des
verrous.
s
Lorsque l'unité d'exécution TH 1 de la machine RE a obtenu les paramètres
d'entrée (a,b) de la fonction "add" à exécuter, elle transmet vers la première
machine PS, lors de l'étape 7) lesdits paramètres (a,b) par retour de l'appel
RPC 3 (représenté par une flèche en trait pointillé). La machine PS connaît
à présent la fonction à exécuter "add" et les paramètres d'entrée a et b et
elle exécute l'addition de a et b pour donner le résultat c=a+b.
La première machine PS transmet à l'unité d'exécution TH1 de la machine
RE, lors de l'étape 8) le résultat c de la fonction ainsi exécutée) au moyen
is par exemple de la fonction "set add {[in]c). L'unité d'exécution TH1 qui
connaiï à présent le résultat c, le communique à l'unité d'exécution TH2 via
un mécanisme de communication interprocessus ("sockets", mémoire
partagée avec sémaphores) files de messages, tube de communication
appelé également "pipe",...) ou intraprocessus (mémoire globale protégée
ao par des verrous par exemple) puis émet vers ladite unité TH2 le signal de
réveil attendu du type (pthread_cond signal(cond var arg)), ce qui aura
pour effet de débloquer l'appel RPC 2.
Enfin) lors de l'étape 9) la seconde unité d'exécution TH2 de la machine
Zs RE, par retour de l'appel RPC 2 (représenté par une flèche en trait
pointillé)
ainsi débloqué, transmet, vers la seconde machine CL) comme paramètre
de sortie le résultat c=a+b de la fonction "add" exécutée.
En conclusion, comme cela vient d'étre vu) le présent procédé qui permet
3o de simuler avantageusement une architecture "serveur" à partir d'une
architecture "client" peut être mis en oeuvre de manière aisée et rapide et
par conséquent son application est peu onéreuse.

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

2024-08-01:As part of the Next Generation Patents (NGP) transition, the Canadian Patents Database (CPD) now contains a more detailed Event History, which replicates the Event Log of our new back-office solution.

Please note that "Inactive:" events refers to events no longer in use in our new back-office solution.

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 , Event History , Maintenance Fee  and Payment History  should be consulted.

Event History

Description Date
Inactive: IPC from MCD 2006-03-11
Time Limit for Reversal Expired 2000-12-08
Letter Sent 1999-12-08
Grant by Issuance 1999-10-05
Inactive: Cover page published 1999-10-04
Inactive: Final fee received 1999-07-14
Pre-grant 1999-07-14
4 1999-01-26
Notice of Allowance is Issued 1999-01-26
Notice of Allowance is Issued 1999-01-26
Letter Sent 1999-01-26
Inactive: Status info is complete as of Log entry date 1999-01-21
Inactive: Application prosecuted on TS as of Log entry date 1999-01-21
Inactive: Approved for allowance (AFA) 1998-11-27
Application Published (Open to Public Inspection) 1995-07-01
All Requirements for Examination Determined Compliant 1994-12-08
Request for Examination Requirements Determined Compliant 1994-12-08

Abandonment History

There is no abandonment history.

Maintenance Fee

The last payment was received on 1998-11-17

Note : If the full payment has not been received on or before the date indicated, a further fee may be required which may be one of the following

  • the reinstatement fee;
  • the late payment fee; or
  • additional fee to reverse deemed expiry.

Patent fees are adjusted on the 1st of January every year. The amounts above are the current amounts if received by December 31 of the current year.
Please refer to the CIPO Patent Fees web page to see all current fee amounts.

Fee History

Fee Type Anniversary Year Due Date Paid Date
MF (application, 3rd anniv.) - standard 03 1997-12-08 1997-10-29
MF (application, 4th anniv.) - standard 04 1998-12-08 1998-11-17
Final fee - standard 1999-07-14
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
BULL S.A.
Past Owners on Record
ALEV AYDIN
GERARD SITBON
HUBERT FREUND
JEAN-FRANCOIS BASSIER
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 (Temporarily unavailable). 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) 
Representative drawing 1999-09-27 1 6
Representative drawing 1998-06-03 1 10
Description 1995-06-30 7 412
Abstract 1995-06-30 1 38
Cover Page 1995-09-21 1 19
Claims 1995-06-30 3 121
Drawings 1995-06-30 1 14
Claims 1998-11-17 4 188
Cover Page 1999-09-27 2 53
Commissioner's Notice - Application Found Allowable 1999-01-25 1 163
Maintenance Fee Notice 2000-01-04 1 178
Correspondence 1999-07-13 1 37
Fees 1998-11-16 1 47
Fees 1997-10-28 1 49
Fees 1996-12-03 1 48
Prosecution correspondence 1994-12-07 4 149
Prosecution correspondence 1998-10-22 4 155
Prosecution correspondence 1998-10-22 1 39
Examiner Requisition 1998-06-22 2 46