Brevet FR2672707A1 — publié le 19920814

La présente invention concerne un procédé de télémaintenance d'un poste de travail informatique. Elle vise également un système pour sa mise en oeuvre. La diffusion considérable de logiciels et de progiciels dans les entreprises et chez les particuliers suscite naturellement un besoin croissant d'assistance aussi bien pour l'installation et la mise en oeuvre de ces progiciels que pour la maintenance et l'utilisation optimale de leurs fonctionnalités. Les diffuseurs de progiciels proposent dans ce sens un ensemble de prestations telles que la fourniture d'un manuel d'utilisation et parfois d'un didacticiel, la mise à disposition d'une ligne téléphonique d'assistance ou encore l'accès à un centre serveur télématique. Lorsqu'il s'agit d'une mise à jour ou de la maintenance d'un logiciel, des disquettes de mise à jour sont généralement envoyées aux clients utilisateurs. Si ces prestations apportent satisfaction aux utilisateurs dans la majeure partie des cas, en revanche la résolution de problèmes d'assistance ou de maintenance complexes nécessitent parfois l'intervention d'un spécialiste lorsque l'utilisateur du poste de travail informatique sur lequel est installé le progiciel concerné n'est pas en mesure d'effectuer sur ce poste les commandes informatiques nécessaires.De telles interventions induisent inévitablement des délais et des coûts supplémentaires Il existe actuellement des procédés de maintenance à distance ou télémaintenance consistant à prendre le contrôle d'un poste de travail informatique, dit "Esclave", à distance à partir d'un poste de travail informatique de maintenance, dit "Maître". La mise en oeuvre de ces procédés suppose la connexion du poste de travail Esclave et du poste Maître à travers un réseau de télécommunication, par exemple le réseau téléphonique autocommuté, via des unités de modulation-démodulation ou modems. Les logiciels actuels de télémaintenance mettant en oeuvre ces procédés intègrent généralement des fonctions de traitement de données d'écran, des fonctions de commande et des fonctions de transmission de données. En particulier, la transmission d'informations depuis le poste de travail Esclave vers le poste de maintenance Maître inclut à la fois la transmission d'ordres et de demandes et le transfert du contenu de l'écran du poste de travail-Esclave. Le transfert d'un écran ne contenant que du texte correspond à un volume d'informations à transmettre relativement faible (par exemple, 4 Koctets (4096 octets) pour 25 lignes de 80 caractères avec leur attribut) et l'utilisation d'une liaison de communication à 2400 bits par seconde (2400 bps) est tout à fait acceptable. En revanche, le transfert d'un écran graphique suppose un volume d'informations considérablement plus élevé à transmettre, par exemple 150 Koctets dans le cas d'un écran graphique de type VGA comprenant 480 lignes de 640 pixels, ce qui conduit inévitablement à des temps de transfert prohibitifs, par exemple trente fois plus longs que ceux nécessaires pour le transfert d'un écran texte, et qui peuvent ainsi atteindre 21 minutes pour une vitesse de transmission de 2400 bps qui est celle des modems les plus courants. Une telle durée de transfert est bien sûr rédhibitoire et est généralement diminuée par compression des données avant émission vers le modem, ce qui conduit avec les logiciels actuels de télémaintenance à des temps de mise à jour d'un écran graphique d'un logiciel tel que WINDOWS de la Société MICROSOFT, compris entre deux et cinq minutes avec une liaison à 2400 bps.En outre, le volume considérable d'informations associées à un écran graphique, par exemple 150 Koctets, rend difficilement concevable la réservation d'une zone mémoire reflet de l'écran du poste de travail Maître, ou double écran, comme cela est effectué actuellement dans les procédés de télémaintenance en mode texte qui ne nécessitent qu'une zone mémoire de 4 Koctets, qui permettrait de n'effectuer que la transmission des différences entre deux écrans successifs et donc de diminuer considérablement les temps de transfert d'écrans graphiques avec les modems les plus utilisés de vitesse de transmission égale à 2400 bps. Le but de la présente invention est de remédier à ces inconvénients en proposant un procédé de télémaintenance d'un poste de travail informatique générant des images écrans graphiques, à partir d'un poste de travail informatique de maintenance en communication avec le poste de travail maintenu à travers un réseau de télécommunication auquel lesdits postes de travail informatique sont respectivement reliés via des unités de modulation-démodulation ou modems, comportant un transfert d'images écrans graphiques depuis le poste de travail maintenu vers le poste de travail de maintenance. Suivant l'invention, chaque image écran graphique est divisée en un nombre prédéterminé de cellules comprenant un nombre prédéterminé de pixels et à chacune desquelles est associé un code numérique de structure prédéterminée représentatif du contenu de celleci, et le transfert d'image écran graphique comprend la transmission vers le poste de maintenance, de demandes de copie, au sein de l'écran dudit poste de maintenance, des contenus de cellules initialement présents dans ledit écran et dont les codes représentatifs coïncident avec des codes numériques représentatifs des contenus de cellules modifiées sur l'image écran graphique du poste maintenu, dans les cellules de l'image écran graphique du poste de maintenance correspondant auxdites cellules modifiées. Ainsi, avec le procédé selon l'invention, le temps de mise à jour d'une image écran graphique est considérablement réduit par rapport aux procédés antérieurs, puisque à chaque mise à jour seuls quelques octets correspondant aux demandes de copie de blocs de cellule sont transférés au lieu de la centaine au moins d'octets correspondant à un transfert pixel par pixel sur une surface équivalente à celle d'une cellule, qui seraient effectivement transférés avec les procédés antérieurs. En effet, ce ne sont plus les octets de codage de chaque pixel qui sont systématiquement transmis via un modem et le réseau de communication, mais les coordonnées des cellules modifiées et des cellules dont la copie de bloc est demandée.La diminution ainsi obtenue du volume d'informations à transmettre permet alors l'utilisation de modems courants notamment avec une vitesse de transmission de 2400 bps et donc de limiter considérablement le coût de la télémaintenance. Selon une version avantageuse du procédé selon l'invention, celui-ci comprend en outre une étape de définition d'au moins une zone prioritaire à mettre à jour au sein des images écrans graphiques présentes sur le poste de maintenance, initiée à partir dudit poste de maintenance et comprenant la transmission vers le poste maintenu d'informations relatives aux coordonnées de ladite zone prioritaire au sein des images graphiques. Ainsi, l'opérateur du poste de maintenance peut transmettre les coordonnées de zones au sein de l'écran qui l'intéressent tout particulièrement. Ceci permet de réduire encore les temps de transfert puisque seule une partie de l'écran est alors traitée. Ceci est particulièrement bénéfique dans de nombreuses applications graphiques pour lesquelles le contenu des images écrans ne change pas systématiquement dans sa totalité mais partiellement dans certaines zones prédéterminées de l'écran. Selon un autre aspect de l'invention, le système de télémaintenance d'un poste de travail informatique, mettant en oeuvre le procédé selon l'invention, est caractérisé en ce que le poste de travail informatique maintenu comprend des moyens de mémoire vive agencés pour recevoir notamment l'ensemble des codes numériques représentatifs des contenus respectifs courants de chacune des cellules constituant une image écran graphique présente sur ledit poste maintenu, et en ce que le poste de travail de maintenance comprend des moyens de contrôle et de traitement agencés pour effectuer sélectivement des copies de bloc des contenus de cellules de l'image écran graphique en cours sur ledit poste de maintenance et dont les codes représentatifs sont identiques à ceux des nouveaux contenus des cellules modifiées de l'image écran graphique du poste maintenu, dans des cellules de l'écran graphique du poste de maintenance de même localisation au sein de ladite image écran graphique que lesdites cellules modifiées. D'autres particularités et avantages de l'invention apparaîtront encore dans la description ciaprès. Aux dessins annexés donnés à titre d'exemples non limitatifs: - la figure 1 est un schéma synoptique d'un forme de mise en oeuvre du procédé de télémaintenance selon l'invention, - la figure 2 représente un exemple de traitement d'une page écran d'un logiciel avec le procédé selon l'invention - la figure 3 illustre les différentes étapes du procédé de télémaintenance selon l'invention. On va maintenant décrire une forme particulière de mise en oeuvre du procédé selon l'invention en même temps que le système pour sa mise en oeuvre. Un système de télémaintenance 1 comprend, d'une part, un poste de travail informatique M dédié à la télémaintenance et d'autre part, un ensemble de postes de travail informatique à maintenir E, dont une illustration est donnée à titre d'exemple en figure 1, reliés au poste de maintenance M à travers un réseau de télécommunication 2. Le poste de maintenance M placé dans un local de maintenance 10 est relié au réseau 2 via une unité de modulation-démodulation ou modem 14, qui est habituellement sous la forme d'une carte spécifique insérée dans le coffret 13 du poste de travail M, un cordon téléphonique 15 connecté à une prise téléphonique 16 et une liaison téléphonique extérieure 18.De même, chaque poste de travail maintenu E placé dans un local 20 est relié au réseau de télécommunications 2 via un modem 24, qui peut être inclus dans le coffret 23 du poste maintenu E, un cordon téléphonique 25 connecté à une prise téléphonique 26 et une liaison téléphonique extérieure 28. Bien sûr, les modems 14 et 24 associés respectivement au poste de travail de maintenance M et au poste de travail à maintenir E peuvent être des entités distinctes des postes de travail et être situés à l'extérieur de leurs coffrets respectifs. L'objectif d'une opération de télémaintenance est de permettre à un opérateur 3 du poste de maintenance M de prendre le contrôle à distance d'un poste de travail maintenu E, qui devient alors un poste "Esclave" vis à vis du poste de maintenance "Maître", à partir de son clavier 17. Cette prise de contrôle se traduit en particulier par le fait que les images écran 22 présentes sur l'écran du moniteur 21 du poste de travail maintenu E doivent apparaître aussi comme image écran 12 sur l'écran du moniteur 11 du poste de maintenance M. Cette visualisation à distance permet à l'opérateur 3 de contrôler l'état du poste maintenu E et de prendre des décisions de maintenance qui se traduisent par des ordres émis à partir du clavier 17.Les images écrans qui doivent être transférées depuis le poste maintenu E vers le poste de maintenance M peuvent être soit en mode texte soit en mode graphique. Ce mode est actuellement de plus en plus utilisé dans la plupart des applications logicielles, par exemple dans le logiciel intégrateur WINDOWS de la société MICROSOFT Avec le procédé selon l'invention, chaque image écran graphique 30 présente sur l'écran du poste maintenu E est divisée en un nombre prédéterminé de cellules C, en référence à la figure 2 qui illustre un quadrillage d'une image écran graphique de structure simplifiée semblable telle qu'on peut en rencontrer avec un logiciel de type WINDOWS.Dans cette figure, -le nombre de cellules a volontairement été réduit pour des raisons de lisibilité mais en pratique, un écran couleur de type VGA, qui est actuellement un standard du marché des écrans de microordinateurs, pourra être divisé en 25 x 80 = 2 000 cellules rectangulaires de tailles identiques.Chaque cellule comprend un nombre prédéterminé de pixels vidéo, dont les répartitions en horizontal et en vertical définissent respectivement la largeur et la hauteur de la cellule Le contenu de chaque cellule C est représenté par un code numérique N associé à la localisation de ladite cellule au sein d'un écran et comportant par exemple 16 bits Chaque code numérique N est calculé par un algorithme prédéterminé installé sur le poste de travail maintenu E, par exemple du type CRC ("Cyclic Redundancy Checking" : vérification de redondance cyclique), à partir de l'ensemble des pixels contenus dans la cellule à laquelle est associé le code.L'ensemble R des codes numériques associés à l'ensemble des cellules d'une image écran constitue en quelque sorte un double écran qui, dans l'exemple d'une division en 2 000 cellules, n'occupe qu'une place mémoire de 4 000 octets au lieu des 150 Koctets normalement nécessaires pour un écran de type VGA lorsqu'il est traité pixel par pixel. L'ensemble de codes R est stocké au sein de la mémoire vive RAM du poste maintenu E. Le procédé de télémaintenance selon l'invention est mis en oeuvre par exécution d'un logiciel de télémaintenance associé au procédé, dont une partie "Maître" est installée sur le poste de maintenance M et dont une autre partie "Esclave" est installée sur chaque poste de travail informatique E concerné par une opération de télémaintenance. La partie Maître comprend des modules de paramétrage, d'identification, de gestion de communication et de prise de contrôle à distance. Chaque partie Esclave comprend des modules d'accès au système de télémaintenance, de gestion de communication et de gestion du transfert des images écrans graphiques vers le poste de maintenance M. Au niveau du poste de travail maintenu E, à chaque instant tl, est associé à l'image écran graphique 22 courante un ensemble de cellules lui-même associé à un ensemble R de codes représentatifs du contenu de chaque cellule, en référence à la figure 3. On considère par exemple une cellule C à laquelle est associée un code représentatif N calculé par un algorithme installé sur le poste maintenu E, et une autre cellule C' de la même image écran graphique. Au même instant, une image écran graphique 12 identique à l'image écran graphique 22 est présente sur l'écran du moniteur du poste de maintenance M. En particulier, les cellules C et C' de l'image écran 12 correspondant aux cellules précitées de l'image écran 22 présentent respectivement un contenu identique à ces dernières Une détection périodique D est effectuée pour détecter la modification, commandée par exemple à partir du clavier 27 du poste maintenu E, du contenu d'une ou plusieurs des cellules de l'image écran graphique 22 du poste maintenu E. Cette détection comporte le calcul systématique par l'algorithme précité des codes représentatifs du contenu en cours de chacune des cellules de l'image écran graphique 22 et leur comparaison avec les codes antérieurs respectifs associés à chacune des cellules. Si à un instant t2, une modification du contenu d'une cellule de l'image écran graphique 22, par exemple la cellule désignée par C' en figure 3, est détectée, une étape de recherche RC du code représentatif du nouveau contenu de la cellule modifiée C' est effectuée parmi l'ensemble R des codes représentatifs des contenus respectifs de l'ensemble des cellules constituant l'image graphique 12 actuellement présentes sur le poste de maintenance M. S'il existe au moins un code représentatif identique à celui du nouveau contenu de la cellule modifiée C', par exemple le code N, représentatif du contenu de la cellule C, le procédé selon l'invention initie une étape de transmission DC, à partir du poste maintenu E via son modem associé 24, d'une demande de copie de bloc B du contenu de la cellule C de l'image écran graphique 12 du poste de maintenance M associé au code identique N vers la cellule C' de l'image écran graphique 12 dudit poste de maintenance M de localisation identique à la cellule modifiée de l'image écran graphique 22 du poste maintenu E. A l'issue des étapes précitées à l'instant t3, une ou plusieurs autres séquences de détection, de recherche et de transmission sont effectuées jusqu'à ce que les deux images écrans graphiques 22, 12 présentes respectivement sur le poste maintenu E et sur le poste de maintenance soient de nouveau identiques. On conçoit aisément que le temps nécessaire pour la mise à jour de l'image écran graphique du poste de maintenance M par le procédé selon 1 invention est considérablement réduit par rapport au temps nécessaire pour un transfert classique de l'ensemble des pixels constituant une image écran graphique, même après compression des données, puisque le procédé selon l'invention fait principalement appel à des transferts de demande de copie de bloc. L'étape de transmission DC d'une demande de copie de bloc est de préférence précédée d'une étape de vérification de la conformité des contenus respectifs de la cellule modifié C' de l'image écran graphique 22 du poste maintenu E et de la cellule C de l'image écran graphique 12 du poste de maintenance M dont le contenu présente un code identique au code représentatif N du contenu de la cellule modifiée C'. Cette vérification de conformité peut être effectuée par exécution de l'algorithme précité Si aucune cellule de l'image écran graphique 12 du poste de maintenance M ne présente un code identique à celui correspondant à la cellule modifiée C' de l'image écran graphique 22 du poste maintenu E, il est alors nécessaire d'effectuer un transfert complet de l'ensemble des pixels constituant le nouveau contenu de la cellule modifiée C' vers le poste de maintenance M. Le procédé selon l'invention peut aussi être configuré pour permettre à l'opérateur E du poste de maintenance M de définir une ou plusieurs zones prioritaires à mettre à jour au sein de l'image écran graphique 22 du poste maintenu E. En effet, on constate bien souvent que dans de nombreux logiciels, seule une partie de l'écran est parfois particulièrement intéressante pour une fonction donnée. Dans ce cas, il est prévu avec le procédé selon l'invention, une transmission, du poste de maintenance M vers le poste maintenu E, de l'ensemble des coordonnées définissant géométriquement la ou les zones prioritaires à mettre à jour. Par exemple, si seule la partie en bas à gauche de l'écran intéresse l'opérateur, la mise à jour ne portera que sur un quart de l'écran et sera donc quatre fois plus rapide. Le reste de l'écran ne sera mis à jour qu'ultérieurement. Ainsi, avec le procédé selon l'invention, l'utilisation intensive du mode de copies de bloc, associée éventuellement à la définition de zones prioritaires au sein de l'écran, conduit à des gains de temps spectaculaires si l'on note que les écrans graphiques générés actuellement par de nombreux logiciels présentent chacun en leur sein de nombreuses zones similaires telles que des cadres, des boutons ou des caractères. Bien sûr, l'invention n'est pas limitée aux exemples qui viennent d'être décrits et de nombreux aménagements peuvent être apportés à ces exemples sans sortir du cadre de l'invention. Ainsi, l'invention peut s'appliquer à tous types de logiciels et progiciels graphiques installés sur un poste de travail qui peut tout aussi bien être un ordinateur compatible PC ou PS, une station de travail ou tout autre type de calculateur pourvu qu'il puisse être relié à un réseau de télécommunication. En outre, le code numérique représentatif d'une cellule peut présenter un nombre de bits différent de 16 en fonction des capacités de traitement et de stockage des postes de travail utilisés. REVENDICATIONS 1. Procédé de télémaintenance d'un poste de travail informatique (E) générant des images écrans graphiques (22), à partir d'un poste de travail informatique de maintenance (M) en communication avec le poste de travail maintenu (E) à travers un réseau de télécommunication (2) auquel lesdits postes de travail informatique (E, M) sont respectivement reliés via des unités de modulation-démodulation ou modems (24, 14), comportant un transfert d'images écrans graphiques (22) depuis le poste de travail maintenu (E) vers le poste de travail de maintenance (M), caractérisé en ce que chaque image écran graphique (30) est divisée en un nombre prédéterminé de cellules (C) comprenant un nombre prédéterminé de pixels et à chacune desquelles est associé un code numérique (N) de structure prédéterminée représentatif du contenu de celle-ci, et en ce que le transfert d'image écran graphique comprend la transmission vers le poste de maintenance (M), de demandes de copie (DC) au sein de l'écran (12) dudit poste de maintenance (M), de contenus de cellules présents initialement dans ledit écran (12) et dont les codes représentatifs coïncident avec des codes numériques représentatifs des contenus actuels de cellules modifiées sur l'image écran graphique (22) du poste maintenu (E), dans les cellules de l'image écran graphique du poste de maintenance (M) correspondant auxdites cellules modifiées. 2. Procédé selon la revendication 1, caractérisé en que le transfert d'image écran graphique comprend en outre une étape périodique de détection (D) de la modification du contenu d'une ou plusieurs des cellules de l'image écran graphique (22) présente sur l'écran du poste maintenu (E), cette étape périodique de détection (D) comportant le calcul systématique par un algorithme prédéterminé, des codes représentatifs du contenu en cours de chacune des cellules constituant l'image écran graphique (22) du poste maintenu (E) et leur comparaison avec les codes antérieurs respectifs associés à chacune des cellules. 3. Procédé selon la revendication 2, caractérisé en ce que chaque détection (D) de la modification du contenu d'une cellule (C') de l'image écran graphique (22) du poste maintenu (E) est suivie d'une étape de recherche (RC) du code représentatif du nouveau contenu de ladite cellule modifiée (C') parmi-l'ensemble des codes représentatifs des contenus respectifs de l'ensemble des cellules constituant l'image écran graphique (12) actuellement présente sur le poste de maintenance (M), conduisant en cas d'existence d'au moins un code représentatif identique à celui du nouveau contenu, à une étape de transmission (DC) à partir du poste maintenu (E) via le modem (24) associé audit poste (E), d'une demande de copie de bloc (CB) du contenu de la cellule (C) de l'image écran graphique (12) du poste de maintenance (M) associé audit code identique vers la cellule (C') de l'image écran graphique (12) dudit poste de maintenance (M) de localisation identique à la cellule modifiée de l'image écran graphique (22) du poste maintenu (E). 4. Procédé selon la revendication 3, caractérisé en ce que l'étape de transmission (DC) d'une demande de copie de bloc est précédée d'une étape de vérification de la conformité des contenus respectifs de la cellule modifiée (C') de l'image écran graphique (22) du poste maintenu (E) et de la cellule (C) de l'image écran graphique (12) du poste de maintenance (M) dont le contenu a pour code le code représentatif (N) du contenu de ladite cellule modifiée (C'). 5. Procédé selon les revendications 3 ou 4, caractérisé en ce que en cas d'absence du code représentatif de la cellule modifiée (C') parmi l'ensemble (R) des codes représentatifs des contenus respectifs des cellules constituant l'image écran graphique (12) en cours du poste de maintenance (M), un transfert complet de l'ensemble des pixels constituant le nouveau contenu de la cellule modifiée (C') de l'image écran graphique (22) du poste maintenu (E) est effectué vers le poste de maintenance (M). 6. Procédé selon l'une des revendications 2 à 5, caractérisé en ce que la division en cellules (C) de chaque image écran graphique (30, 22) est réalisée suivant un quadrillage régulier définissant des cellules rectangulaires de tailles identiques. 7. Procédé selon l'une des revendications 2 à 6, caractérisé en ce que les codes numériques (N) représentatifs des contenus respectifs des cellules des images écrans graphiques comportent seize bits. 8. Procédé selon l'une des revendications 2 à 7, caractérisé en ce que l'algorithme prédéterminé de calcul de chaque code représentatif est du type à vérification de redondance cyclique et traite l'ensemble des pixels contenus dans une cellule. 9. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend en outre une étape de définition d'au moins une zone prioritaire à mettre à jour au sein des images écrans graphiques présentes sur le poste de maintenance (M), initiée à partir dudit poste de maintenance (M) et comprenant la transmission vers le poste maintenu (E) d'informations relatives aux coordonnées de ladite zone prioritaire au sein des images écrans graphiques. 10. Système de télémaintenance (1) d'au moins un poste de travail informatique (E) générant des images écrans graphiques (22), à partir d'un poste de travail informatique de maintenance (M) en communication avec le poste de travail maintenu (E) à travers un réseau de télécommunications (2) auquel les postes de travail (M, E) sont respectivement reliés via des modems (14, 24), mettant en oeuvre le procédé selon l'une des revendications précédentes, caractérisé en ce que le poste de travail informatique maintenu (E) comprend des moyens de mémoire vive (R) agencés pour recevoir notamment l'ensemble des codes numériques (N) représentatifs des contenus respectifs courants de chacune des cellules (C) constituant une image écran graphique (22) présente sur ledit poste maintenu (E), et en ce que le poste de travail de maintenance (M) comprend des moyens de contrôle et de traitement agencés pour effectuer sélectivement des copies de bloc des contenus de cellules de l'image écran graphique (12) en cours sur ledit poste de maintenance (M) et dont les codes représentatifs sont identiques à ceux des nouveaux contenus des cellules modifiées de l'image écran graphique (22) du poste maintenu (E), dans des cellules de l'écran graphique du poste de maintenance (M) de même localisation au sein de ladite image écran graphique (22) que lesdites cellules modifiées. 11. Système (1) selon la revendication 10, caractérisé en ce que les postes de travail informatique (M, E) sont des microordinateurs de type compatible PC ou PS. 12. Système (1) selon l'une des revendications 10 ou 11, caractérisé en ce que le réseau de télécommunication (2) est un réseau téléphonique public autocommuté et en ce que les modems (14, 24) présentent une vitesse de transmission de 2400 bps.