Brevet FR2696256A1 — publié le 19940401

Utilisation de "tubes"î pour le transfert d'états entre différents systèmes distants La présente invention concerne un procédé de transfert, vers un système local gérant une imprimante, d'une pluralité de fichiers comportant les états en provenance d'une pluralité de systèmes distants d'un réseau pour une édition desdits états sur l'imprimante du système local. Lorsque divers systèmes distants les uns des autres sont connectés sur un réseau et dialoguent entre eux, généralement seul le système local, pour des raisons de coût, est susceptible = d'être équipé d'un système d'impression non impact sophistiqué Dans ces conditions et jusqu'à présent, quand il est désiré effectuer des transferts d'états, du type connu sous le nom de SYSOUT (les SYSOUT étant des fichiers imprimables), des systèmes distants vers le système local, lesdits transferts sont effectués à la main, c'est-à-dire qu'un opérateur doit lancer une commande de transfert de fichier En outre, si le système local est équipé d'un système d'impression non impact sophistiqué, ce dernier ne permet d'imprimer que les états en provenance dudit système local, ainsi les états en provenance des systèmes distants "off-line", c'est-à-dire non connectés au système local, ne peuvent être directement imprimés Un opérateur devra alors monter sur le système local des bandes magnétiques contenant les états en provenance des systèmes distants, ce qui est totalement anachronique dans un tel environnement sophistiqué et présente de graves inconvénients en interdisant l'automaticité du procédé. La présente invention a pour but de remédier à ces divers inconvénients et propose un procédé qui de manière simple et efficace autorise une totale automatisation de l'exploitation. Pour cela le procédé mentionné dans le préambule est remarquable en ce que, l'imprimante étant connectée à un réseau de télécommunications, à chaque transfert de fichier d'un système distant sont associés deux fichiers de synchronisation du type connu sous le nom de "tube"', un premier dans le sens système local vers système distant et un second dans le sens système distant vers système local créant ainsi un automate de rapatriement d'éditions multiples assurant principalement la synchronisation et la communication entre d'une part, un processus de scrutation et de commande lancé sur le système local et chargé de surveiller le système distant associé et de lui envoyer la commande de l'état à transmettre et d'autre part, un processus de transfert de fichier chargé de renvoyer les états à éditer du système distant vers le système local. Ainsi, l'idée de l'invention consiste principalement à utiliser pour la première fois des fichiers de synchronisation ou "tubes" pour le transfert des états d'une pluralité de systèmes distants vers un système local. L'invention présente de la sorte une solution à un problème technique que l'homme du métier s'efforçait de résoudre depuis longtemps et permet en outre de satisfaire des besoins d'automatisation de l'exploitation (alors que certaines opérations étaient exécutées manuellement) et de réduction des coûts (suppression des opérateurs) qui existaient également Le fichier de synchronisation ou "tube" est un fichier séquentiel qui est décrit sous le nom de "conduit" dans l'ouvrage de M J ROCHKIND publié chez MASSON sous le titre "UNIX programmation avancée" C'est en fait un pseudo-fichier qui a été modifié pour assurer une synchronisation entre un émetteur (écrivain) et un récepteur (lecteur) et une mise en file d'attente en offrant une manière commode d'organiser et de distribuer des tâches Un automate est ainsi créé en associant à un transfert de fichier dépendant d'une application existant déjà sur les divers systèmes, un fichier de synchronisation en entrée et un second en sortie Les deux processus principaux de scrutation et de commande d'une part et de transfert d'autre part, sont reliés par ces fichiers de synchronisation et peuvent ainsi communiquer Un transfert de fichier non associé à des fichiers de synchronisation ne peut être utilisé de manière simple pour dialoguer avec une tâche (nécessité de modifier le transfert de fichier, de placer des sémaphores,) alors qu'il est directement utilisable et automatisé en appliquant l'idée de l'invention Une ou plusieurs tâches écrivent dans le fichier de synchronisation et les autres le lisent Si le fichier est vide mais ouvert en écriture, les lectures sont suspendues jusqu'à ce que les données (articles) soient disponibles La lecture de données du fichier de synchronisation est suivie implicitement de la suppression de ces données Lorsque le fichier est codé et qu'il n'est plus ouvert en écriture, toute tentative de lecture se traduit par l'affichage d'un code "fin de fichier" L'automatisation de l'édition et la sécurité du transfert sont ainsi assurées. La description suivante en regard des dessins annexés, le tout donné à titre d'exemple non limitatif, fera bien comprendre comment l'invention peut être réalisé. La figure 1 propose un schéma synoptique du fonctionnement en automate obtenu par le procédé selon l'invention. La figure 2 présente un exemple de liaison entre systèmes utilisant le procédé selon l'invention. Le schéma synoptique de la figure 1 permet de dégager le principe général suivant qui concerne la communication entre processus Le système local LS lance les surveillances qui vont permettre d'analyser chacun des différents systèmes distants RS contenant les noms des fichiers imprimables ou SYSOUT pour rapatrier lesdits fichiers imprimables Pour transposer cet ensemble de systèmes au domaine des systèmes clients/serveur, il suffira dans la suite de considérer le système local comme étant le serveur et les systèmes distants les clients Le système local gère une imprimante et est donc chargé de surveiller une pluralité d'autres systèmes distants qui peuvent avoir à procéder à des éditions sur cette imprimante. Conformément à l'idée de l'invention le procédé de transfert, vers le système local LS gérant une imprimante, d'une pluralité de fichiers comportant les états en provenance d'une pluralité de systèmes distants RS d'un réseau N (voir figure 2) pour une édition desdits états sur l'imprimante du système local est remarquable en ce que, l'imprimante étant connectée à un réseau de télécommunications, à chaque transfert de fichier d'un système distant RS sont associés deux fichiers de synchronisation PF, P 2 du type connu sous le nom de "tube", un premier Pl dans le sens système local vers système distant et un second P 2 dans le sens système distant vers système local créant ainsi un automate de rapatriement d'éditions multiples assurant principalement, la synchronisation et la communication entre d'une part, un processus de scrutation et de commande SCP lancé sur le système local LS et chargé de surveiller le système distant RS et de lui envoyer la commande de l'état à transmettre et d'autre part, un processus de transfert de fichier FTP chargé de renvoyer les états à éditer du système distant RS vers le système local LS. Ainsi à chaque système distant RS est associée une tâche de surveillance effectuée au moyen d'un processus de scrutation et de commande SCP lancé sur le système local qui en outre commande le nom des états à transmettre et en réponse à cette commande un processus de transfert de fichier FTP permet au système distant de renvoyer les états à éditer vers le système local A toute surveillance correspond donc un groupe de tâches participant à l'activité "multi-tâches'T du système local, et bien que le nombre de surveillances ne soit théoriquement pas limité, il est raisonnable de prévoir une limitation à ce nombre car au-delà d'un certain degré de multiprogrammation l'activité normale du processeur central dans le système local ne peut se maintenir et les performances diminuent de manière significative Pour éviter cette détérioration des performances le nombre de surveillances peut être par exemple limité à huit. Plus précisément décrit à l'aide de la figure 2, le procédé selon l'invention s'articule autour du processus SCP dont la tâche principale est de gérer les transferts de fichiers au moyen d'une application STR, existant déjà dans les différents systèmes, dédiée au transfert des états à rapatrier Lorsqu'un ordre d'impression est donné sur le système distant RS, le nom de l'état et ses paramètres d'impression sont stockés dans une station La représentation réelle de la notion de station sur le système distant est ici la boîte aux lettres MBR Quand la surveillance est lancée, il est opéré une scrutation de la ou des stations qui lui sont affectées Si la station MBR est vide, la surveillance se met en attente, dans le cas contraire le processus SCP demande le rapatriement des états de la station affectée Sur le système distant RS le processus FTP est chargé de regarder dans la boîte à lettres MBR s'il y a des états en attente d'impression et de renvoyer le nom de l'état ainsi que sa localisation physique Les état rapatriés vers le système local LS sont alors stockés sous le répertoire Di du disque de stockage, i variant de 1 à 8 (si la limitation des surveillances est fixée à huit) en fonction du numéro de rapatriement et l'édition de ces mêmes états est lancée automatiquement lors de l'application du procédé selon l'invention Sur le système local, les trois tâches les plus importantes utilisées selon le présent procédé sont la tâche SCP, tâche principale qui par l'intermédiaire des deux fichiers Pl et P 2 gère les commandes et les messages de la tâche STR, ensuite la tâche STR dédiée au transfert des états à rapatrier et enfin une tâche AS propre à la surveillance de l'automate constitué. L'utilisateur peut, en outre, personnaliser le traitement final de l'état rapatrié par modification du fichier approprié PF qui peut être ainsi destiné à une utilisation soit avec un système d'impression non impact NIP comme représenté sur la figure, soit avec un système d'impression classique ou encore avec un périphérique de stockage, l'ordre d'impression dépendant alors du système d'impression choisi. La scrutation des stations peut être réalisée en série ou en parallèle Ainsi, si une scrutation parallèle est opérée les stations sont examinées en parallèle et à une surveillance correspondra un groupe de tâches Par contre, lors d'une scrutation série un même groupe de tâches examine plusieurs stations La surveillance de ces stations comporte un certain nombre de paramètres communs entre elles, heure de début et de fin de scrutation, même nom de système distant, etc Dans le présent procédé il sera utilisé de préférence une scrutation parallèle. Comme cela a été vu précédemment, une station logique d'un système correspond à une notion physique du système qui est la boîte aux lettres Cette notion de station représente une ressource du système et permet de stocker les différents états à imprimer L'impression peut être effectuée en local par une boîte aux lettres telle que MBR Pour que la boîte aux lettres dédiée à l'impression, qui est plus communément appelée queue d'impression, soit modifiée il suffit de se conformer à la syntaxe de la commande d'impression (de manière générale la commande d'impression propre à un système d'impression classique) pour dévier le stockage des états vers une nouvelle queue d'impression. Un tel procédé de transfert de fichier présente ainsi divers avantages dont le premier est relatif à la sécurité du transfert En effet, ledit procédé utilise sur le système local, pour les transferts de fichier, l'application STR existant déjà sur les divers systèmes Cette application STR gère un premier niveau d'erreur, elle permet d'obtenir un fichier identique à celui du système distant au travers des couches ISO référencées ISO/L sur le dessin Lors d'un transfert de fichier si l'application STR est interrompue à la suite d'un problème de réseau, le transfert en cours sera repris entièrement ultérieurement, ce type d'erreur est avantageusement géré selon le présent procédé De plus, si le système interrompt le groupe de tâches d'un processus ou si le groupe de tâches s'interrompt tout seul, le transfert en cours sera repris automatiquement à la relance du procédé D'autres avantages apparaissent également relativement à la simultanéité des rapatriements et à la transparence quant à l'exploitation par des imprimantes différentes Un autre avantage très significatif tient au fait qu' avec l'utilisation d'un tel automate, le nombre d'opérations est sensiblement réduit, un gain de temps, une diminution du coût et une augmentation des performances étant par conséquent entraînés. Selon une application préférée,-le procédé selon l'invention est remarquable en ce qu'en outre, à chaque scrutation est associé un fichier de configuration de scrutation contenant principalement les paramètres relatifs au nom du système local, au nom du système distant scruté, au nom de la station ou boite aux lettres scrutée, à l'heure du début de scrutation, au nom du disque de rapatriement d'états et aux paramètres d'états à rapatrier. Ainsi des fichiers de configuration de scrutation F Ci (i variant de 1 à 8 dans le présent exemple) sont générés ou mis à jour lors de l'installation, c'est-à-dire de la configuration des différentes scrutations, pour contenir chacun les différents paramètres concernant une scrutation et par conséquent une surveillance donnée Il existe donc un35 fichier de configuration de scrutation par surveillance et ce fichier est situé sous le répertoire F Ci du disque de stockage du système local. Par conséquent, à chaque scrutation correspondent deux répertoires sur le disque de stockage, un premier, F Ci, qui contient le fichier propre à cette scrutation et un second Di dont la localisation est indiquée sous le répertoire F Ci et qui contient les états rapatriés Pour effacer une scrutation il suffit, à l'inverse, de vider ses répertoires F Ci et Di associés. Il est à noter qu'une boîte aux lettres dans laquelle vont être stockés les états ne doit pas être quelconque En effet, l'impression locale utilise déjà un certain nombre de boîtes aux lettres et il faut donc vérifier son existence. En résumé, pour effectuer les transferts d'états à travers les réseaux, le système local et les systèmes distants dialoguent en s'échangeant des messages Les communications entre un système distant et le système local se font avantageusement, comme cela a été précédemment décrit selon le présent procédé, grâce aux fichiers de synchronisation ou "Itubes"i Pl et P 2 Ces fichiers ou "ltubes" permettent, par l'intermédiaire de l'application spécifique STR, aux tâches d'accéder directement aux informations qui leur sont réservées Pour autoriser un tel dialogue, le procédé selon l'invention utilise principalement deux tâches exécutées respectivement suivant les processus SCP et FTP Le processus SCP interroge le processus FTP pour connaître les noms des états à transférer vers le système local en vue d'une impression Le processus SCP est, en fait, initiateur car c'est lui qui détermine l'envoi du message contenant une demande de nom d'état Cette demande comporte un certain nombre d'informations qui permettent de connaître en outre le nom de la boîte aux lettres dans laquelle sont situés les noms des états désirés Le processus FTP, en réponse à cette demande, va examiner la boîte aux lettres Si cette dernière est vide, un message spécifique est envoyé, dans le cas contraire le nom de l'état avec sa situation sur le système distant ainsi que des paramètres d'impression sont renvoyés vers le système local pour être exploités par le processus SCP Ce dernier dispose alors de toutes les informations nécessaires pour effectuer le rapatriement de l'état en attente et ce transfert est réalisé également à l'aide de l'application STR existant déjà dans les différents systèmes L'état rapatrié est stocké sur le disque d'accueil du système local sous le répertoire Di adéquat et en fin de transfert une commande d'impression est lancée par le fichier PF par lequel est sélectionné le système d'impression destiné à l'édition. Le processus de scrutation et de commande agit en fait comme un automate qui reçoit les informations par le fichier de synchronisation, les analyse puis exécute les traitements appropriés. De manière particulière, le processus de scrutation et de commande commence par lire le fichier de configuration de scrutation F Ci approprié pour connaître les informations nécessaires à la scrutation, entre autres, le nom du système distant RS à surveiller et le nom de la boîte aux lettres MBR dans laquelle est stocké l'état désiré, puis il entre dans une première boucle, communique vers le système distant par l'intermédiaire du premier fichier de synchronisation Pl dans lequel il écrit les informations pour la demande du nom25 d'état et lance la commande de l'application spécifique connue STR pour la transmission des informations Il se met ensuite en attente pour la lecture d'une réponse du système distant par l'intermédiaire du second fichier de synchronisation P 2 et entre dans une seconde boucle qui permet de lire les messages reçus en réponse Si la réponse comporte un message "boîte aux lettres vide", il reste en attente pendant un temps prédéterminé, par exemple plusieurs secondes, puis réenvoie une demande Si, par contre, la réponse comporte le nom de l'état à rapatrier, une demande de transfert est émise par l'intermédiaire du premier fichier de synchronisation Pl au moyen de l'application spécifique connue STR L'état qui est alors rapatrié est stocké dans un répertoire Di approprié alors qu'une commande d'impression est lancée. Egalement de manière caractéristique, le processus de transfert de fichier va dans une phase préliminaire attendre un message en provenance du système local LS par l'intermédiaire du premier fichier de synchronisation Pl, puis il entre dans une boucle lorsqu'il détecte l'arrivée du message et lit les informations contenant, entre autres, le nom de la boîte aux lettres MBR dans laquelle doit être stocké l'état à rapatrier et le nom du système local LS en attente de l'état à rapatrier Il va ensuite lire dans la boîte aux lettres désignée si l'état désiré y est stocké et au moyen de l'application spécifique connue STR il peut alors émettre deux types de réponses vers le système local par l'intermédiaire du second fichier de synchronisation P 2. Si la boîte aux lettres est vide, il est prévenu par un code d'erreur et il envoie dans ce cas vers le système local un message du type 'boîte aux lettres vide', sinon il reçoit les informations relatives au nom de l'état désiré avec sa localisation exacte et à ses paramètres d'impression et dans ce cas, il envoie vers le système local ces informations propres à l'état à rapatrier. En outre, et comme cela apparaît sur la figure 1, le procédé selon l'invention utilise avantageusement un processus d'arrêt ST permettant d'interrompre ainsi une ou plusieurs scrutations Suivant le processus ST, un message d'arrêt écrit dans le fichier de synchronisation d'une scrutation particulière permet d'interrompre ladite scrutation en cours Ce processus ST appelé plusieurs fois avec un paramètre différent, un paramètre correspondant à un numéro de scrutation, autorise l'interruption du nombre désiré de scrutations La figure 1 montre que le processus ST peut être appliqué pour être opéré localement dans les fichiers de synchronisation Pl et P 2. il Montré également sur la figure 1, de manière remarquable, le processus AS de surveillance de l'automate ainsi créé est prévu pour débloquer le système local en cas de problème de réseau Au début d'un espace de temps prédéterminé, par5 exemple chaque minute, tout au long de l'application du procédé le processus AS est chargé d'émettre localement un message spécifique écrit dans le second fichier de synchronisation P 2 Le processus de scrutation et de commande SCP reçoit et analyse ce message spécifique et10 compte son nombre d'apparitions successives Si le réseau est bloqué, le processus SCP ne reçoit plus alors que ces messages spécifiques puisqu'il ne peut plus communiquer avec le processus de transfert de fichier FTP Lorsque ce message est reçu successivement un certain nombre de fois prédéterminé sans autres informations, par exemple au bout de six minutes, donc de six apparitions successives sans communication le réseau est considéré bloqué et le processus SCP est interrompu. Pour conclure, le procédé de transfert de fichier entre systèmes distants tel que décrit et revendiqué est directement exploitable et automatisé du fait de l'utilisation pour la première fois de fichiers de synchronisation pour ce type de transfert Un automate est ainsi avantageusement et efficacement créé de manière simple en associant à un transfert de fichier dépendant d'une application existant déjà sur les divers systèmes, un fichier de synchronisation en entrée et un second en sortie pour relier un processus de scrutation et de commande à un processus de transfert de fichier Ces deux processus peuvent ainsi communiquer aisément Grâce à ce procédé la sécurité des transferts est de plus garantie Divers autres avantages, de plus, apparaissent quant à la simultanéité des rapatriements des fichiers et à la transparence en ce qui concerne l'exploitation par des imprimantes différentes. L'utilisateur peut, en outre, personnaliser le traitement final de l'état rapatrié en sélectionnant le système d'impression désiré D'autre part, avec l'utilisation d'un tel automate, le nombre d'opérations est très significativement réduit entraînant de la sorte un gain de temps et une diminution des coûts sensibles de même qu'une notable augmentation des performances.5 Revendications 1 Procédé de transfert, vers un système local gérant une imprimante, d'une pluralité de fichiers comportant les états en provenance d'une pluralité de systèmes distants d'un réseau pour une édition desdits états sur l'imprimante du système local, caractérisé en ce que, l'imprimante étant connectée sur un réseau de télécommunications, à chaque transfert de fichier d'un système distant sont associés deux fichiers de synchronisation du type connu sous le nom de "tube", un premier dans le sens système local vers système distant et un second dans le sens système distant vers système local créant ainsi un automate de rapatriement d'éditions multiples assurant principalement la synchronisation et la communication entre d'une part, un processus de scrutation et de commande lancé sur le système local et chargé de surveiller le système distant associé et de lui envoyer la commande de l'état à transmettre et d'autre part un processus de transfert de fichier chargé de renvoyer les états à éditer du système distant vers le système local. 2 Procédé de transfert de fichier selon la revendication 1, caractérisé en que, en outre, à chaque scrutation est associé un fichier de configuration de scrutation contenant principalement les paramètres relatifs au nom du système local, au nom du système distant scruté, au nom de la boîte aux lettres scrutée, à l'heure du début de scrutation, au nom du disque de rapatriement d'états et aux paramètres d'états à rapatrier. 3 Procédé de transfert de fichier selon la revendication 1 ou 2, caractérisé en ce que, par l'intermédiaire des fichiers de synchronisation communiquant au moyen d'une application spécifique les différents messages, dans une première étape le processus de scrutation et de commande interrogeant le processus de transfert de fichier pour connaître les noms des états à transférer vers le système local en vue d'une impression envoie un message contenant une demande de nom d'état, demande comportant les informations qui permettent de connaître, en outre le nom de la boîte aux lettres du système distant dans laquelle se5 trouve le nom de l'état désiré, puis dans une seconde étape, le processus de transfert de fichier en réponse à cette demande, examine ladite boîte aux lettres pour, si cette dernière est vide envoyer un message spécifique vers le système local et dans le cas contraire envoyer vers le10 système local les informations relatives au nom de l'état avec sa situation sur le système distant ainsi qu'aux paramètres d'impression, informations qui sont alors exploitées par le processus de scrutation et-de commande qui dans une troisième étape effectue le rapatriement de l'état15 en attente, l'état rapatrié étant alors stocké sur un disque d'accueil du système local sous un répertoire qui lui est destiné et enfin dans une quatrième étape à la fin du transfert, une commande d'impression est lancée pour l'édition de l'état sur l'imprimante -du système local désirée. 4 Procédé de transfert de fichier selon la revendication 3, caractérisé en ce que, le processus de scrutation et de commande commence par lire le fichier de configuration de scrutation approprié pour connaître les informations nécessaires à la scrutation, entre autres, le nom du système distant à surveiller et le nom de la boîte aux lettres dans laquelle est stocké l'état désiré, puis entre dans une première boucle, communique vers le système distant par l'intermédiaire du premier fichier de synchronisation dans lequel il écrit les informations pour la demande du nom d'état, lance la commande de l'application spécifique pour la transmission des informations, se met en attente pour la lecture d'une réponse du système distant, par l'intermédiaire du second fichier de synchronisation, et entre dans une seconde boucle, si la réponse comporte un message "rboîte aux lettres vide" reste en attente un temps prédéterminé puis réenvoie une demande, ou si la réponse comporte le nom de l'état à rapatrier demande son transfert par l'intermédiaire du premier fichier de synchronisation au moyen de l'application spécifique, rapatrie cet état qui est stocké dans un répertoire approprié et enfin lance une commande d'impression. Procédé de transfert de fichier selon la revendication 4, caractérisé en ce que, le processus de transfert de fichier dans une phase préliminaire de surveillance attend un message en provenance du système local par l'intermédiaire du premier fichier de synchronisation, puis entre dans une boucle lorsqu'il détecte l'arrivée du message et lit les informations contenant, entre autres, le nom de la boîte aux lettres dans laquelle doit être stocké l'état à rapatrier et le nom du système local en attente de l'état à rapatrier, va ensuite lire dans la boite aux lettres appropriée si l'état désiré y est stocké, et au moyen de l'application spécifique par l'intermédiaire du second fichier de synchronisation, si la boîte aux lettres est vide et après réception d'un code d'erreur envoie vers le système local un message "boîte aux lettres vide", sinon après réception des informations relatives au nom de l'état désiré avec sa localisation exacte et ses paramètres d'impression, envoie vers le système local lesdites informations concernant l'état à rapatrier. 6 Procédé de transfert de fichier selon la revendication 5, caractérisé en ce que, en outre, un processus d'arrêt est utilisé localement pour interrompre une ou plusieurs scrutations, un message d'arrêt étant pour cela écrit dans le fichier de synchronisation d'une scrutation particulière et ceci pour chacune des scrutations à interrompre. 7 Procédé de transfert de fichier selon la revendication 6, caractérisé en ce que, de plus, un processus de surveillance de l'automate constitué est prévu pour débloquer le système local en cas de problème de réseau, le processus étant chargé d'émettre localement, à chaque début d'un espace de temps prédéterminé et ceci tout au long de l'application du procédé, un message spécifique écrit dans le fichier de synchronisation, le processus de scrutation et de commande qui reçoit, analyse ledit message spécifique et compte son5 nombre d'apparitions successives, détectant un blocage du réseau et étant alors automatiquement interrompu lorsque seul ledit message sans autres informations est reçu un nombre successif de fois prédéterminé. 8 Automate de rapatriement d'éditions multiples mettant en oeuvre le procédé selon l'une quelconque des revendications précédentes.