Brevet FR2723225A1 — publié le 19960202

L'invention concerne un procédé de travail coopératif qui peut être mis en oeuvre sur des ordinateurs afin que plusieurs utilisateurs travaillent sur un même programme d'application. Il est de plus en plus important que plusieurs personnes puissent travailler ensemble tout en étant séparées par de grandes distances. Bien que les téléphones, les télécopieurs, les systèmes de téléconférence et les réseaux d'ordinateurs assurent des échanges d'informations, ils ne permettent pas une véritable collaboration entre plusieurs personnes. Pour ces raisons, on a mis au point des procédés et des programmes permettant l'utilisation simultanée et en collaboration d'un même programme d'application simultanément sur plusieurs ordinateurs distants. Ainsi, le brevet des Etats-Unis d'Amérique n 5 008 853 concerne un procédé de mise en oeuvre d'un système de coopération dans lequel plusieurs stations de travail utilisent une même représentation d'un objet formé de données structurées partagées. Dans un tel système, plusieurs utilisateurs peuvent avoir simultanément accès à des données partagées, leur représentation étant gérée par un système central. Ce type de collaboration nécessite un système centralisé qui synchronise les travaux exécutés sur tous les ordinateurs. Il existe aussi, dans différents réseaux locaux, des systèmes qui permettent, à partir d'un ordinateur constituant un poste quelconque du réseau, d'obtenir une image d'un ordinateur distant et de transmettre des commandes comme si elles provenaient du clavier de l'ordinateur distant. Ces fonctions sont mises en oeuvre dans le cadre du réseau et nécessitent une gestion par le réseau. La demande de brevet européen n" 550 374 concerne un système à base d'ordinateurs permettant un travail en coopération de type "multimédia", dans lequel plusieurs postes peuvent travailler sur une même image affichée sur chacun des postes, et chaque poste a un curseur affiché sur les écrans de tous les postes et permettant à l'utilisateur d'un poste de se réserver une région de l'affichage. Le brevet des Etats-Unis d'Amérique n" 5 293 619 décrit un procédé et un appareil qui permettent l'utilisation d'un programme prédéterminé d'application à plusieurs postes prédéterminés. Un seul programme d'application est utilisé et il est présenté sur les visuels de différents postes. Le procédé est mis en oeuvre essentiellement sur un système central et il fonctionne avec une architecture client-serveur. Chaque poste communique avec un serveur central qui traite les échanges de données et de commandes entre les différents postes afin qu'un travail puisse être exécuté en coopération sur plusieurs postes par plusieurs personnes distantes, par l'intermédiaire de lignes téléphoniques. Les procédés précités conviennent à des installations très puissantes, soit dans des ensembles reliés par des réseaux qui gèrent une partie des échanges soit disposant d'un serveur qui assure un certain nombre de fonctions de synchronisation et d'échange. Aucun de ces procédés et de ces systèmes ne permet simplement à deux ordinateurs distants de communiquer afin que leurs utilisateurs puissent travailler en coopération sur une même copie d'un programme d'application, exécuté sur l'un ou l'autre des deux ordinateurs. L'invention concerne un procédé permettant un tel travail coopératif. Plus précisément, l'invention concerne un procédé de travail coopératif entre deux ordinateurs ayant chacun un visuel et un dispositif de commande ; ce procédé comprend une étape initiale de connexion d'un premier ordinateur raccordé à un réseau à un second ordinateur raccordé au même réseau, au moins une étape intermédiaire qui comprend elle-même une étape de transmission de données représentant une image du visuel du premier ordinateur au deuxième ordinateur éventuellement suivie d'une étape de transmission de commandes du second ordinateur au premier ordinateur, et une étape finale d'interruption de la connexion entre le premier et le second ordinateur. Selon l'invention, le premier ordinateur fonctionne par mise en oeuvre d'un premier système d'exploitation, le second ordinateur fonctionne par mise en oeuvre d'un second système d'exploitation qui peut être identique au premier ou différent de celui-ci, et le procédé comprend, avant l'étape intermédiaire de transmission de données, une étape préalable d'échange de données relatives aux capacités du premier ordinateur et du second ordinateur pour la détermination d'un format intermédiaire commun, et, pendant une étape de transmission de données d'image du premier ordinateur au second ordinateur, d'abord la conversion par le premier ordinateur des données d'image d'un format compatible avec le premier système d'exploitation au format intermédiaire commun de données, puis, lorsque le second ordinateur a reçu des données d'image du premier ordinateur, la conversion par le second ordinateur des données d'image du format intermédiaire commun de données à un format compatible avec le second système d'exploitation. Il est avantageux que ce procédé comprenne en outre, pendant une étape de transmission de commandes du second ordinateur au premier ordinateur, la conversion, par le second ordinateur, de commandes d'un format compatible avec le second système d'exploitation au format intermédiaire commun, puis, lorsque le premier ordinateur a reçu des données de commande du second ordinateur, la conversion, par le premier ordinateur des données au format intermédiaire commun en données de commande au format compatible au premier système d'exploitation. Dans un exemple, le premier et le second système d'exploitation sont identiques et ils sont choisis parmi "Windows" (marque déposée) et "System 7" (marque déposée). Dans un autre mode de réalisation, le premier et le second système d'exploitation sont différents, l'un étant le système "Windows" (marque déposée) et l'autre "System 7" (marque déposée). Les commandes transmises du second ordinateur au premier peuvent être des commandes de type clavier ou de type souris. Il est avantageux que les données d'image transmises du premier ordinateur au second comprennent des données de structure de fenêtre et des données de contenu de fenêtre. Les données de contenu de fenêtre comprennent par exemple des images de l'intérieur d'une fenêtre. Les données de structure de fenêtre comprennent par exemple des données permettant au système d'exploitation de reconstruire une fenêtre avec un menu. Les commandes transmises du second ordinateur au premier comprennent des données de position dans le contenu de la fenêtre et/ou une commande référencée par rapport à la structure de la fenêtre. Les données échangées peuvent concerner une seule fenêtre ou plusieurs fenêtres. Selon une caractéristique avantageuse, le second ordinateur met en oeuvre une fonction de presse-papier et place des données provenant de cet ordinateur dans son presse-papier, commandé dans le programme d'application, et les données sont transmises du presse-papier du second ordinateur au presse-papier du premier ordinateur et peuvent être disponibles ainsi dans le premier ordinateur. D'autres caractéristiques et avantages de l'invention ressortiront mieux de la description qui va suivre, faite en référence aux dessins annexés sur lesquels la figure 1 représente l'aspect de menus obtenus sur l'écran d'un microordinateur "Macintosh" (marque déposée) utilisé comme ordinateur maître la figure 2 représente l'aspect de l'écran obtenu sur un microordinateur "Macintosh" (marque déposée) utilisé comme ordinateur esclave la figure 3 représente l'aspect obtenu sur l'écran d'un microordinateur "PC" (marque déposée) utilisé comme ordinateur maître la figure 4 représente l'aspect obtenu sur l'écran d'un microordinateur "PC" (marque déposée) utilisé comme ordinateur esclave les figures 5A, 6A, 7A et 8A représentent l'aspect de l'écran d'un microordinateur utilisé comme ordinateur maître ; et les figures 5B, 6B, 7B et 8B correspondent aux figures 5A, 6A, 7A et 8A et représentent l'aspect de l'écran de l'ordinateur respectif utilisé comme esclave. On décrit dans la suite l'application du procédé de l'invention au travail en coopération entre deux personnes reliées par une ligne téléphonique. Chacune des deux personnes dispose d'un ordinateur muni chacun d'une carte de connexion au réseau téléphonique qui est capable de gérer les échanges habituels par ligne téléphonique. De préférence, la ligne téléphonique utilisée entre les deux postes est une ligne de type RNIS et un poste téléphonique est associé à chacune de ces cartes. Dans un exemple d'application, les ordinateurs sont munis de cartes destinées au réseau RNIS "Numéris" (marque déposée), travaillant suivant la norme H320. Elles gèrent des trames de 80 octets. Dans un exemple de session de travail, l'un des deux interlocuteurs téléphone à son futur partenaire pour lui indiquer qu'il souhaite travailler en coopération. Une fois que les interlocuteurs se sont mis d'accord sur le programme sur lequel ils veulent travailler en commun, ils commandent chacun l'exécution, sur son propre poste, d'un programme de partage. Ce programme de partage met en oeuvre une étape dans laquelle les deux ordinateurs échangent des données afin qu'ils connaissent leurs capacités réciproques et, en conséquence, déterminent un format intermédiaire commun d'échange de données et de commandes. L'utilisateur disposant du microordinateur qui doit constituer l'ordinateur maître lance l'application prévue, et les fenêtres de son écran d'affichage sont alors reproduites sur l'ordinateur esclave. Si les deux ordinateurs mettent en oeuvre le même système d'exploitation, on conçoit que les échanges de données et de commande peuvent être relativement simples, grâce à la cohérence entre les systèmes. Cependant, l'invention concerne un procédé qui n'est pas limité à l'utilisation d'un même système d'exploitation par les deux ordinateurs, et qui peut être mis en oeuvre avec un certain nombre de systèmes d'exploitation différents ayant quelques caractéristiques communes. Ces caractéristiques communes sont l'utilisation de fenêtres et de menus. Pour mieux comprendre l'invention, il convient de considérer, en référence aux figures 1 à 4, le procédé mis en oeuvre sur des ordinateurs ayant des systèmes d'exploitation différents. Les figures 1 et 2 représentent respectivement des exemples de menus obtenus sur un microordinateur "Macintosh" (marque déposée) travaillant avec "System 7" (marque déposée), dans le cas d'un ordinateur maître (figure 1) et d'un ordinateur esclave (figure 2). De même, les figures 3 et 4 représentent un exemple de menus obtenus sur un microordinateur "PC" (marque déposée) travaillant sous "Windows" (marque déposée) , dans le cas d'un ordinateur maître (figure 3) et d'un ordinateur esclave (figure 4). La comparaison des figures 1 à 4 montre un grand nombre de ressemblances. Cependant, indépendamment du contenu des menus, leur gestion est très différente dans les systèmes "Windows" (marque déposée) et "System 7" (marque déposée). En effet, dans un cas ("Windows" (marque déposée)), les menus sont associés aux fenêtres et gérés avec celles-ci et, dans l'autre cas, les menus sont gérés à part ("System 7" (marque déposée)). La comparaison des figures SA et 6A indique aussi des différences sur l'aspect des fenêtres dans les deux systèmes. Comme l'indique la figure 5A, les commandes de menu, de fermeture et de redimensionnement ne sont pas placées de la même manière sur les deux types de fenêtre qui ont par ailleurs des aspects différents. Compte tenu de ces différences, le procédé selon l'invention met en oeuvre des échanges de données relatives à l'intérieur des fenêtres et de données relatives aux structures des fenêtres. L'intérieur des fenêtres peut correspondre à un format d'image courant, analogue au format habituel BMP par exemple (format "bitmap"). Les fenêtres sont par contre définies par leur structure. En outre, la partie "menu" est gérée séparément puisque les menus ne sont pas gérés avec les fenêtres par "System 7" (marque déposée). Pour la solution du problème de partage d'une application, le procédé de l'invention met donc en oeuvre une première étape dans laquelle les deux ordinateurs échangent des données relatives à leurs capacités afin qu'ils puissent déterminer quel doit être le format intermédiaire commun à utiliser. Plus précisément, cette étape permet la détermination d'un certain nombre de paramètres (par exemple le type de machine, la définition de l'écran, sa profondeur, le type de clavier). A partir de ces informations, chacun des deux ordinateurs peut déterminer quel doit être le "format intermédiaire commun" utilisé entre les deux ordinateurs. Dans une variante, un seul des ordinateurs détermine ce format commun et l'indique alors à l'autre. Ce "format" n'est pas véritablement un format au sens informatique, car il comprend en réalité un ensemble composite comprenant un ensemble de codages spécifiques aux différentes données et informations à échanger. Une fois défini ce format intermédiaire commun, le procédé met en oeuvre essentiellement l'émission de contenus de fenêtres de l'ordinateur maître vers l'ordinateur esclave, et le traitement des actions exécutées sur l'ordinateur esclave. On décrit maintenant chacune des ces deux opérations. Lorsque le contenu d'une fenêtre est transmis de l'ordinateur maître à 1' ordinateur esclave, l'ordinateur maître exécute d'abord un filtrage d'un ordre d'affichage et récupère le contenu de la fenêtre. Il conserve une copie de cette fenêtre et en assure la compression sans perte. Il ajoute un en-tête d'identification de la fenêtre et émet le tout. Lorsque l'ordinateur esclave reçoit les signaux de la ligne téléphonique, il sépare l'en-tête et assure la décompression du contenu de la fenêtre. Il en conserve une copie et affiche sur l'écran l'image de la fenêtre. Lorsqu'une action est exécutée par l'utilisateur de l'ordinateur esclave, cet ordinateur commence par filtrer les ordres du clavier et de la souris, et par récupérer l'action de l'opérateur. L'ordinateur ajoute alors un en-tête qui identifie la fenêtre et l'action. Il émet alors ces informations. Lorsque l'ordinateur maître reçoit ces informations, il sépare l'en-tête et simule l'action demandée par l'ordinateur esclave. Selon une caractéristique de l'invention, un seul des deux ordinateurs peut exécuter une action. Par exemple, si l'utilisateur de l'ordinateur maître effectue des actions dans le programme d'application qui est partagé, l'utilisateur de l'ordinateur esclave ne peut pas agir sur le programme. Cependant, l'ordinateur maître peut passer la main à l'ordinateur esclave dont les actions sont alors prises en compte par le programme tournant sur l'ordinateur maître dont l'utilisateur ne peut pas modifier l'application. Les figures 1 et 3 qui représentent une partie de menu de l'ordinateur maître et les figures 2 et 4 qui représentent une partie de menu de l'ordinateur esclave indiquent que c'est l'ordinateur maître qui peut choisir l'application et configurer la liaison. Par contre, l'ordinateur esclave dispose de fonctions d'édition, et il peut utiliser en particulier les fonctions du presse-papier. Le presse-papier est toujours modifié sur l'ordinateur maître. Si la demande de modification provient de l'ordinateur esclave, et si la demande provient du menu de l'espace partagé, seul le presse-papier de l'ordinateur maître est utilisé alors que si la demande provient du menu de l'application de partage, les deux presse-papier sont utilisés. L'action est transmise à l'ordinateur maître avant transfert du presse-papier de l'ordinateur maître à l'ordinateur esclave. La commande "coller" de l'ordinateur esclave provoque l'utilisation du presse-papier de l'ordinateur esclave. Il est transmis à l'ordinateur maître avec l'action associée. Les figures 5A, 5B à 8A, 8B représentent en regard les aspects des écrans de l'ordinateur maître (en haut de chaque planche) et de l'ordinateur esclave (en bas de chaque planche). Les figures 5A et 5B représentent le cas dans lequel les deux ordinateurs sont du type "Macintosh" (marque déposée) . On note que l'ordinateur esclave comprend une fenêtre appelée "application de partage" qui inclut une fenêtre appelée "application 1" qui correspond au contenu de l'écran de l'ordinateur maître. On note cependant que la corbeille est gérée séparément, c'est-à-dire que la corbeille de l'ordinateur maître n'est pas reproduite en tant que corbeille sur l'écran de l'ordinateur esclave qui dispose de sa propre corbeille. Les figures 6A et 6B représentent les aspects correspondants dans le cas où les deux microordinateurs sont de type "PC" (marque déposée) travaillant avec le système d'exploitation "Windows" (marque déposée). On note aussi que l'écran de l'ordinateur esclave comprend une fenêtre appelée "application de partage" dans laquelle est incluse une autre fenêtre appelée "application 1" et qui correspond à la fenêtre principale de l'écran de l'ordinateur maître. Les figures 7A et 7B d'une part et les figures 8A et 8B représentent des cas dans lesquels les deux ordinateurs ne mettent pas en oeuvre le même système d'exploitation. Dans le cas des figures 7A et 7B, l'ordinateur maître est du type "Macintosh" (marque déposée) et l'ordinateur esclave est du type "PC" (marque déposée). On note que la figure 7A est identique à la figure 5A et que la figure 7B est identique à la figure 6B, à part l'absence d'une icône appelée "fenêtre 3". Sur la figure 7A, on note que c'est la fenêtre 2 qui est active, comme sur la figure 7B. Bien que cela ne soit pas représenté, le contenu de la fenêtre 1 de l'ordinateur esclave correspond à celui de la fenêtre 1 de la fenêtre de l'ordinateur maître. Les figures 8A et 8B sont respectivement identiques aux fenêtres 6A et SB, mis à part l'icône appelée "fenêtre 3" sur la figure 8B. La comparaison des figures 5A, 5B à 8A, 8B indique donc que, quel que soit le type de l'ordinateur, et quel que soit l'ordinateur qui est maître et celui qui est esclave, l'ordinateur esclave reproduit toujours les données de l'ordinateur maître, avec une présentation correspondant à son propre système d'exploitation, indépendamment du système d'exploitation de l'ordinateur maître. Ce résultat n'est possible que parce que les ordinateurs maître et esclave peuvent échanger des données à un format intermédiaire commun qui est défini en fonction des parties communes et des parties distinctes des deux systèmes d'exploitation. Bien qu'on ait décrit l'invention dans le cas de l'exécution d'une seule application partagée, il est bien évident que plusieurs applications peuvent être partagées, simultanément ou successivement. D'ailleurs, les menus des figures 1 et 3 suggèrent la sélection de différentes applications. On a indiqué que l'ordinateur maître et l'ordinateur esclave étaient raccordés à une ligne d'un réseau RNIS par l'intermédiaire de cartes ordinaires de connexion au réseau RNIS, associées chacune à un téléphone. Cependant, cette caractéristique n'est pas essentielle et l'invention peut être mise en oeuvre avec tout autre réseau, local ou non. Il suffit de noter que le procédé selon l'invention n'utilise le réseau que comme un support de transmission d'informations qui ne sont pas sous forme de fichiers mais sont sous forme continue. On a indiqué que, lorsque l'ordinateur maître et l'ordinateur esclave étaient connectés, seul l'un d'eux pouvait agir dans le programme d'application à un moment donné. Compte tenu de cette caractéristique, il n'est pas nécessaire que le procédé de l'invention soit limité à deux utilisateurs. Il est possible qu'un ordinateur maître soit connecté simultanément à plusieurs ordinateurs esclaves. Cependant, il faut noter que, de toute manière, un seul des ordinateurs peut effectuer une action à un moment déterminé. Il est bien entendu que l'invention n'a été décrite et représentée qu'à titre d'exemple préférentiel et qu'on pourra apporter toute équivalence dans ses éléments constitutifs sans pour autant sortir de son cadre. REVENDICATIONS 1. Procédé de travail coopératif entre deux ordinateurs ayant chacun un visuel et un dispositif de commande, ce procédé étant du type qui comprend une étape initiale de connexion d'un premier ordinateur raccordé à un réseau à un second ordinateur raccordé au même réseau, au moins une étape intermédiaire qui comprend elle-même une étape de transmission de données représentant une image du visuel du premier ordinateur au deuxième ordinateur éventuellement suivie d'une étape de transmission de commandes du second ordinateur au premier ordinateur, et une étape finale d'interruption de la connexion entre le premier et le second ordinateur, caractérisé en ce que le premier ordinateur fonctionne par mise en oeuvre d'un premier système d'exploitation et le second ordinateur fonctionne par mise en oeuvre d'un second système d'exploitation qui peut être identique au premier ou différent de celui-ci, et le procédé comprend, avant l'étape intermédiaire de transmission de données, une étape préalable d'échange de données relatives aux capacités du premier ordinateur et du second ordinateur pour la détermination d'un format intermédiaire commun, et, pendant une étape de transmission de données d'image du premier ordinateur au second ordinateur, la conversion par le premier ordinateur des données d'image d'un format compatible avec le premier système d'exploitation au format intermédiaire commun de données, puis, lorsque le second ordinateur a reçu des données d'image du premier ordinateur, la conversion par le second ordinateur des données d'image du format intermédiaire commun de données à un format compatible avec le second système d'exploitation. 2. Procédé selon la revendication 1, caractérisé en ce que le procédé comprend en outre, pendant une étape de transmission de commandes du second ordinateur au premier ordinateur, la conversion, par le second ordinateur, de commandes d'un format compatible avec le second système d'exploitation au format intermédiaire commun, puis, lorsque le premier ordinateur a reçu des données de commande du second ordinateur, la conversion, par le premier ordinateur des données au format intermédiaire commun en données de commande au format compatible au premier système d'exploitation. 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que le premier et le second système d'exploitation sont identiques et ils sont choisis parmi "Windows" (marque déposée) et "System 7" (marque déposée). 4. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que le premier et le second système d'exploitation sont différents. 5. Procédé selon la revendication 4, caractérisé en ce que l'un des systèmes d'exploitation est le système "Windows" (marque déposée) et l'autre "System 7" (marque déposée). 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les données d'image transmises du premier ordinateur au second comprennent des données de structure de fenêtre et des données de contenu de fenêtre. 7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les données de structure de fenêtre comprennent des données permettant au système d'exploitation de reconstruire une fenêtre avec un menu. 8. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les commandes transmises du second ordinateur au premier comprennent au moins des données choisies parmi une position dans le contenu de la fenêtre et une commande référencée par rapport à la structure de la fenêtre. 9. Procédé selon l'une quelconque des revendications 6 à 8, caractérisé en ce que les données échangées concernent plusieurs fenêtres. 10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le second ordinateur met en oeuvre une fonction de presse-papier et place des données provenant de cet ordinateur dans son presse-papier, commandé dans le programme d'application, et les données sont transmises du presse-papier du second ordinateur au presse-papier du premier ordinateur et sont alors disponibles dans le premier ordinateur.