FR 2519822 A1 19830718 FR 8200285 A 19820111 "RECUPERATION PREVENTIVE DES ERREURS DANS UN RESEAU DE COMMUNICATIONS " La présente invention concerne un mécanisme de récupération préventive des erreurs dans un réseau de communications ayant une architecture en couches, le dit réseau pouvant être centralisé ou décentralisé, local ou public, mais de préférence local et décentralisé, le dit réseau comportant "n" stations dialoguant entre elles en mode diffusé et/ou en mode adressé par l'intermédiaire d'au moins un canal bi-directionnel dans lequel transitent des messages d'au moins deux types, un premier type de message étant constitué par des messages de contrôle et de synchronisation, messages généralement assez courts et en mode diffusé aussi appelés évènements globaux dont il est important pour la bonne marche de l'ensemble du système que toutes les stations aient une vue absolument identique de ces évènements et plus particulièrement une vue identique de leur séquencement, un deuxième type de message étant constitué par d'autres messages que ceux du premier type. Les réseaux de communication ont déjà de multiples applications et ils sont appelés à un encore plus grand développement aussi bien pour des réseaux locaux, par exemple en bureautique, que pour des réseaux plus éten- dus par exemple réseaux publics d'accès à des bases de données ou encore réseau de télé-distribution par câble ou même par satellite. De tels réseaux sont décrits plus en détail par exemple dans les demandes de brevets français 79 27 410, 79 31 468, 81 07 558; une description d'un modèle de référence pour ces réseaux setrouve aussi dans le document officiel ISO/TC 97/SC 16 "Open Systems Interconnection" du 3.12 1980. Lors de la conception de tels réseaux, de nom- breux problèmes sont à résoudre; en particulier il y a lieu de prévoir des mécanismes pour la récupération des erreurs; les mécanismes connus mettent en jeu des procédures basées généralement sur l'attente par la station émettrice d'un message d'acquittement venant de la, ou des, station(s) destinatrice(s); en l'absence d'acquittement, le message est réputé non reçu, il doit alors être ré-émis,etc; ces procédures sont plus ou moins complexes -faut-il acquit- ter l'acquittement?-, plus ou moins sûres, et peuvent pro- voquer des attentes -d'acquittement et des surcharges importantes néfastes au bon fonctionnement du réseau; de plus une partie de ces procédures étant gérée par la couche de contrôle de lien logique, il en résulte un "alourdisse- ment" des automates de contrôle d'émission et de réception de chaque station; de plus les mécanismes connus permettent la récupération "ultérieure" d'un message mais ne permettent pas de remettre ce message à sa place dans la séquence o il aurait dû se trouver ce qui fait qu'une station particu- lière peut ainsi avoir une vue du séquencement des messages qui sera différente de la vue des autres stations. La présente invention a pour but de supprimer ces inconvénients. En effet, un mécanisme de récupération préventive des erreurs dans un réseau de communications est particuliè- rement remarquable en ce que chaque station émettrice compor- te des moyens pour émettre chaque message du premier type une ou plusieurs fois consécutivement. Bien entendu chaque station réceptrice doit comporter des moyens pour ne prendre en compte qu'un seul exemplaire de chaque message ainsi dupliqué. L'objectif recherché par l'émission consécutive de copies d'un même message est d'augmenter la probabilité du bon acheminement d'un message dans des proportions telles que le risque d'erreur puisse être considéré comme nul; les mécanismes de récupération d'erreur deviennent ainsi superflus et peuvent être purement et simplement supprimés. Un exemple chiffré fera mieux comprendre l'objectif que s'est fixé l'inventeur: pour un réseau de qualité cou- rante le taux d'erreur est de l'ordre de 10 8 par bit c'est à dire qu'il y aura 1 bit erroné à la réception pour 108 bits envoyés à l'émission; pour un message contenant 103 bits -soit 125 octets le taux d'erreur sera de 10 î 8 x 103 = 10 î 5; si le même message est envoyé trois fois, la probabilité pour qu'aucune des trois copies ne soit bien -5 1 réceptionnée sera alors de 10 x 105 x 10 5 115 et si l'on considère un réseau qui trafique à 10 M bits/seconde c'est à dire 107 bits/secondes il faudra quelques 108 secondes pour qu'une erreur ait une chance de se produire 8 7 -15 ( 10 sec x 10 bits/sec x 101 = 1) or 108 sec = 1 150 jours = 3,15 années; avec 4 copies à 100 M bits/seconde on aurait trouvé 31 500 ans. La prédétermination du nombre de copies est donc une tâche de gestion dont la responsabilité est assumée par la couche supérieure au moment de l'expédition du message; le nombre de copies variera en fonction de divers paramètres à savoir -l'importance fonctionnelle du message d'o la fiabilité recherchée évaluée par exemple en nombre d'années. -la fiabilité du réseau, évaluée par exemple pour chaque bit émis. -la longueur du message en nombre de bits. -la vitesse de trafic du réseau en M bits/seconde. D'évidence, la fiabilité recherchée peut varier d'un message à l'autre selon qu'il s'agit d'un message de commande, de synchronisation, de données, etc; il faudra aussi tenir compte de la surcharge du réseau ainsi occasionnée encore que cette surcharge soit certainement largement compensée par les économies réalisées du fait de la disparition complète des procédures de récupération des erreurs. Le mécanisme spécifique à l'invention est prin- cipalement constitué, au niveau de l'émission, par un premier compteur qui prend en charge le nombre "n" de copies à émettre; au niveau de la réception, le mécanisme équivalent comporte également un deuxième compteur qui prend en charge le numéro du premier message correctement réceptionné ce qui permet, en décrémentant le dit deuxième compteur à chaque réception des copies suivantes, premièrement de ne pas valider ces copies inutilement, deuxièmement de ne remettre la station en état de réception que lorsque le dit deuxième compteur de réception atteint la valeur zéro c'est à dire quand toutes les copies restantes du même message ont été valablement ignorées. Les avantages principaux qui résultent de l'inven- tion sont premièrement sa simplicité de réalisation à savoir un premier compteur à l'émission et un deuxième compteur à la réception pour gérer le nombre d'exemplaires émis, et n'en conserver qu'un, deuxièmement la disparition pure et simple des procédures et dispositifs d'acquittement qui sont spécialement complexes dans le cas des messages diffusés pour lesquels il est impératif que toutes les stations aient une vue identique du séquencement des évènements globaux. Un exemple de réalisation fera bien comprendre le mécanisme de fonctionnement d'un réseau conforme à l'invention. La figure 1 représente l'architecture de la partie émission de la couche de contrôle de lien logique d'une station. La figure 2 explicite le mécanisme d'émission. La figure 3 représente l'architecture de la partie réception de la couche de contrôle de lien logique d'une station. La figure 4 explicite le mécanisme de réception. Avant de décrire les figures, examinons la struc- ture de la trame d'un message de type courant: 1 PRE DA SA CDE INFO | FCS La partie PRE est le préambule qui comporte généralement 1 ou des bits de synchronisation et d'autres bits utilisés pour des vérifications physiques de la qualité du message, par exemple le contrôle automatique de gain nécessaire en fonction de la puissance électrique du message reçu. La partie DA contient l'adresse de destination du message dont au moins 1 bit indique si le message est adressé ou diffusé; les autres bits sont soit le numéro d'une station en mode adressé, soit le numéro d'une fonction en mode diffusé. La partie SA comporte l'adresse de la station émettrice du message. La partie CDE, la plus spécifique à l'invention, contient le numéro de la copie d'un même message dupliqué. La partie INFO contient le message proprement dit commandes, contrôles, données, etc La partie FCS contient des bits de contrôle qui permettent une vérification de la transmission physique par un procédé connu par exemple division de la trame par un polynôme générateur. Ainsi un même message émis plusieurs fois consécu- tivement comportera son propre numéro de copie; ces numéros peuvent être en ordre décroissant dans le temps n-l, N 42,, 1, 0, si l'on expédie "n" exemplaires du message. Le rôle de l'automate d'émission d'une station, figure 1 et 2, sera donc d'émettre autant d'exemplaires d'un même message que la couche supérieure en aura demandé et de numéroter ces messages en ordre décroissant. Dans la figure 1, l'automate d'émission communique avec le réseau RESEAU via un multiplexeur MUX, et avec les couches supérieures via le bus interne BUS-I de la sta- tion La couche supérieure charge premièrement les champs SA, DA, INFO dans la mémoire vive RAM via la connexion MES et deuxièmement le nombre d'exemplaires dans un compteur CDE via la connexion NCO; le signal de demande d'émission DE est ensuite transmis l'automate d'état FPLA - Entre la mémoire RAM et le réseau on trouve un convertisseur parallèle série registre à décalage RDS et un multiplexeur MUX qui bâtit la trame avec ses divers champs dont le champ de contrôle FCS qui est élaboré par un générateur CRC. Le contrôleur microprogrammé U P reçoit des infor- mations à partir de l'automate d'état FPLA, du compteur CDE et du réseau dans lequel des messages spécifiques signalent à quel moment le canal est alloué à la station, pour émettre. Le contrôleur microprogrammé U P envoie des micro- commandes U C aux différents composants du système. Les composants utilisés peuvent être par exemple: pour le CDE un 74 LS 193 de chez Signetics pour le RAM uns PD 2167 de chez NEC pour le RDS un 74 LS 165 de chez Signetics pour le CRC un 8 X 01 de chez Signetics pour le MUX un 74 LS 157 de chez Signetics pour le FPLA un 82 S 100 de chez Signetics pour le U P des 82 S 100, 82 S 137 et 74 LS 374 de chez Signetics Dans-la figure 2, le fonctionnement de l'automate de la figure 1 est explicité: Le test (AL?) répond à la question: le canal est-il alloué à la station? L'automate de la station est en attente d'allocation Lorsque la réponse est OUI, le test (DE?) -répond à la question: y a-t-il eu une demande d'émission de la part de la couche supérieure? Si la réponse est NON l'allocation est abandonnée (A-L) au profit d'une autre station; si la réponse est OUI, l'automate exécute l'émission des "n" messages demandés, le rôle du multiplexeur MUX étant de concaténer les différents champs du message comme susdit; le premier message est émis avec le champ CDS à sa valeur initiale: EM-CDE; le compteur CDE est alors décré- menté de i: (CDE) = (CDE) -1; le dit compteur est alors testé à la valeur (CDE = -l?); si la réponse est NON, le message est ré-émis avec la nouvelle valeur du compteur; si la réponse est OUI, ce qui signifie que le dernier message envoyé comportait un champ CDE égal à 0, l'allocation du canal est abandonnée (TL). On voit bien ainsi comment l'automate d'émission est spécialement conçu pour émettre consécutivement "n" copies d'un message, chaque exemplaire, comportant son propre numéro de copie, étant numéroté de n-1 à O en ordre décrois- sant. Sans sortir du cadre de l'invention, il est possible de numéroter les copies en ordre croissant; il est aussi possible d'envoyer plusieurs messages, chacun avec un nombre de copies qui lui serait propre, avant d'abandonner l'al- location du canal mais encore faut-il que le principe de fonctionnement du réseau soit compatible avec cette possibi- lité. L'automate de réception est représenté à la figure 3 ', les messages transitant dans le réseau arrivent dans la file d'attente d'entrée FIFO via un convertisseur série parallèle registreà décalage RDE; la partie FCS du message -est prélevée et contrôlée par le générateur CRC qui envoie un signal OUI-NON (bon ou mauvais) à l'automate d'état FPLA; l'automate d'état FPLA reçoit aussi des signaux venant premièrement du décodeur DEC du champ d'adresse de destina- tion DA ce qui permet, entre autres, de savoir si la station est destinatrice du message reçu et s'il y eu un changement d'allocation, et deuxièmement du compteur CE dont un signal indique son passage par la valeur O; l'automate d'état prend en compte ces diverses informations et génère des micro- commandes (U C) qui font évoluer la station entre les divers états représentés dans la figure 4 que nous allons décrire. Les composants utilisés peuvent être: pour le FIFO un Z 8060 de chez Zilog pour le FPLA un 825100 de chez Signetics pour le RDE un 74 L 5164 de chez Signetics pour le CRC un 8 X Ol de chez Signetics pour le DEC un 825100 de chez Signetics pour le CE un 74 L 5193 de chez Signetics L'état stable initial est l'état RECEPT; quand un message correct (FCS bon) est reçu, celui-ci est validé pour la couche supérieure si la station est destinatrice (DA adéquat); si le dit message bon possède un numéro d'exemplaire égal à zéro, il n'y a pas de copie du dit message, l'automate reste alors dans l'état RECEPT en vue du prochain message, par contre si le numéro d'exemplaire est différent de zéro, les copies qui vont suivre n'ont pas d'intérêt pour la station, le compteur CE est chargé avec ce numéro d'exemplaire et l'automate passe ( 4) dans l'état ATT Dans cet état, l'automate FPLA décrémente de l le compteur DE à chaque message, bon ou mauvais, reçu; ainsi la station attend la fin des copies pour revenir à l'état RECEPT; ce passage ( 5) s'effectue lorsque un message bon avec le N O O -le dernier est détecté, ou lorsque le compteur CE est arrivé à zéro lors du décompte des copies à partir du numéro de l'exemplaire correctement reçu, ou encore lorsque le décodeur DEC a détecté un changement d'alloca- tion: ces différentes conditions pour le passage ( 5) sont éventuellement redondantes ce qui introduit un certain niveau de sécurité au cas o des copies seraient reçues d'une manière erronée, on voit en effet qu'il suffit qu'une seule des copies soit bien reçue pour que le système fonc- tionne. Revenons à l'état initial RECEPT et supposons qu'un message erroné (FCS mauvais) soit reçu, l'automate passe ( 1) alors en état de récupération RECUP dans l'espoir que ce message soit suivi de copies dont l'une au moins pourra être bien réceptionnée; si l'automate détecte alors un message bon avec un numéro de copie différent de zéro, le message est validé et, comme précédemment, le numéro de copie est chargé dans le compteur CE et on passe ( 3) en état d'attente (ATT) pour ignorer les copies suivantes; si l'automate en état de récupération reçoit un message bon avec le numéro zéro, il revient ( 2) en état de réception; si l'automate en état de récupération reçoit un message mauvais, il reste en état de récupération; enfin si l'automate en état de récupération détecte un changement d'allocation alors il revient ( 2) en état de réception en sachant qu'un message a été perdu Cette dernière éventualité est relativement sans importance car soit il s'agit d'un message non destiné à la station -le meilleur cas soit il s'agit d'un message destiné à la station et, ou bien, non dupliqué c'est à dire non primordial, ou bien, dupliqué avec un taux d'erreur connu et calculé par la couche supérieure c'est à dire avec un ris- que connu et accepté. REVENDICATIONS 1 Mécanisme de récupération préventive des erreurs dans un réseau de communications ayant une architecture en couches, ledit réseau pouvant être centralisé ou décentralisé, local ou pu- blic, mais de préférence local et décentralisé, ledit réseau com- portant 'n" stations dialoguant entre elles en mode diffusé et/ou en mode adressé par l'intermédiaire d'au moins un canal bi-direction- nel dans lequel transitent des messages d'au moins deux types, un premier type de message étant constitué par des messages de contrôle et de synchronisation, messages généralement assez courts et en mode diffusé aussi appelés évènements globaux dont il est important pour la bonne marche de l'ensemble du système que toutes les stations aient une vue absolument identique de ces évènements et plus particulière- ment une vue identique de leur séquencement, un deuxième type de mes- sage étant constitué par d'autres messages que ceux du premier type caractérisé en ce que chaque station émettrice comporte des moyens pour émettre chaque message du premier type une ou plusieurs fois consécutivement. 2 Mécanisme selon la revendication 1 caractérisé en ce que chaque station émettrice comporte des moyens pour mémoriser le nombre "'n d'exemplaires du même message à émettre consécutivement, ledit nombre 'n' étant prédéterminé par les couches supérieures et variable d'un message à l'autre. 3 Mécanisme selon la revendication 1 ou la revendica- tion 2 caractérisé en ce que chaque station émettrice comporte des moyens pour numéroter en ordre décroissant les an" exemplaires émis d'un même message, le dernier exemplaire ayant le numéro zéro. 4 Mécanisme selon la revendication 3 caractérisé en ce que chaque station émettrice comporte des moyens pour donner le nu- néro zéro aux messages émis en un seul exemplaire. Mécanisme selon la revendication 1 caractérisé en ce que chaque station réceptrice comporte des moyens pour ne valider, au plus, qu'un seul exemplaire de chaque message et ceci quel que soit le nombre d'exemplaires émis. 6 Mécanisme selon la revendication 3 caractérisé en ce que chaque station réceptrice comporte des moyens pour mémoriser le numéro d'exemplaire du premier exemplaire correctement reçu d'un mes- sage émis plusieurs fois consécutivement. 11. 7 Mécanisme selon la revendication précédente caracté- risé en ce que chaque station réceptrice comporte des moyens pour détecter l'arrivée du dernier exemplaire d'un message qui a été émis en plusieurs exemplaires. 8 Mécanisme selon l'une quelconque des revendications précédentes caractérisé en ce que chaque station réceptrice comporte des moyens pour détecter l'arrivée d'un message dont le numéro d'exem- plaire est zéro.