Brevet FR2579342A1 — publié le 19860926

La présente invention concerne des appareils et des procédés pour transférer des données entre une source et une pluralité de dispositifs récepteurs traitant des don- nées. Plus particulièrement la présente invention concerne un transfert de données dans un réseau local entre une plu- ralité de dispositifs de traitement de données et de dis- positifs périphériques. Dans le domaine de l'informatique, il est tout à fait usuel de transférer des données et des ordres entre une pluralité de dispositifs de traitement de données, comme par exemple des ordinateurs, des imprimantes, des mémoires et analogues. L'interconnexion des ordinateurs et d'autres dispositifs périphériques s'est développée principalement au début des années 1970 avec l'arrivée des systèmes de ges- tion informatisée de réseaux, qui ont permis la répartition des accès aux ressources informatiques, en-dehors de la pro- ximité immédiate d'un ordinateur constituant l'unité infor- matique principale. Des réseaux, tels que le réseau ARPA, ont été dé- veloppés de manière à permettre l'accès, par différents uti- lisateurs, à des systèmes à partage du temps, de grande taille, et le transfert des données entre de tels systèmes. Dans le cas de réseaux installés localement du point de vue géographique, on a développé ce qu'on appelle des "réseaux locaux" (LAN) permettant de raccorder un ensemble d'ordi- nateurs, de terminaux et de périphériques situés de façon typique dans le même bâtiment ou dans des bâtiments voisins et autorisant à chacun de ces dispositifs de communiquer avec les autres ou avec des dispositifs rattachés à d'autres réseaux. Les réseaux locaux permettent la mise en oeuvre d'une informatique répartie ou décentralisation du traite- ment. En d'autres termes certains des dispositifs accouplés aux réseaux locaux peuvent être spécialisés pour l'exécu- tion de fonctions spécifiques, comme par exemple la mémo- risation de fichiers, la gestion de base de données, le traitement au moyen de terminaux, etc. Etant donné qu'elles mettent en oeuvre des machines différentes exécutant des tâches différentes, l'informatique répartie peut mettre en oeuvre le système d'une manière plus simple et plus effi- cace. Les réseaux locaux diffèrent de leurs cousins, que sont les réseaux à grande distance, à de nombreux égards. Une différence clef tient au fait que les concepteurs des réseaux à grande distance, comme par exemple le réseau ARPA, sont souvent tenus d'utiliser, pour des raisons économiques ou légales, le réseau téléphonique public, indépendamment de son caractère technique approprié. Au contraire, la plu- part des réseaux locaux utilisent leur propre câble présen- tant une largeur de bande élevée de manière à permettre un service de datagramme entre les différents dispositifs ac- couplés au réseau LAN. Les milieux de transmission les plus usuels pour des réseaux locaux à détection de porteuse sont des câbles coaxiaux, des paires torsadées et des fibres op- tiques. Une variété de topologiesdes câbles sont possibles, comme par exemple une topologie linéaire, une topologie en forme d'arête, une topologie en forme d'arbre, une topolo- gie en forme d'anneau et une topologie à segments. En outre les réseaux locaux ne sont pas affectés par les longs re- tards de propagation qui sont propres aux autres réseaux de grandes dimensions, ce qui permet d'intensifier l'utili- sation des canaux de telle sorte qu'elle se situe largement au-dessus des capacités de réseauxen échelle étendus. Bien que les réseaux locaux tiennent leurs pro- messes en ce qui concerne le traitement et la communication répartis entre les dispositifs de traitement de données, un certain nombre de facteurs ont empêché une utilisation et une acceptation plus étendues des réseaux locaux, comme par exemple le réseau ETHERNET (brevet US n 4 063 220). Par exemple, en dépit des efforts de réduction de coûts mo- yennant l'utilisation de la technologie à très haute densi- té d'intégration (VLSI), un noeud de réseau LAN typique peut représenter un pourcentage important du coût global d'un ordinateur personnel. C'est pourquoi dans le marché des or- dinateurs personnels, les réseaux locaux impliquaient une dépense prohibitive pour leur mise en oeuvre. En outre, la plupart des réseaux locaux utilisent des techniques de câ- blage complexes et requièrent l'emploi d'un gérant du sys- tème qui soit formé dans le domaine de l'installation, de la mise à jour et de la maintenance du système LAN. En outre, de nombreux réseaux locaux utilisent des protocoles rela- tivement complexes pour permettre une communication des dif- férents dispositifs accouplés au réseau LAN, dans diverses conditions. Comme cela va êtredécrit, la présente invention fournit un réseau local permettant la communication et le partage de ressources entre différents ordinateurs, serveurs, disques, imprimantes, modems et différents autres disposi- tifs de traitement de données. La présente invention permet la prise en charge d'une grande variété de services de ré- seaux locaux et permet une communication avec des réseaux plus étendus, grâce à l'utilisation de dispositifs de tran- sition. La présente invention fournit un réseau local éco- nomique, fiable et simple du point de vue mécanique, incon- nu jusqu'alors dans l'art antérieur. On décrit un réseau local incluant des appareils et des procédés pour transférer des données entre une plu- ralité de ressources ("agents") accouplées a un câble. Dans la forme de réalisation préférée, une pluralité d'agents sont accouplés à un cable commun pour l'émission et la ré- ception de données. Un agent nouvellement accouplé au cable s'attribue lui-même, de façon dynamique, une adresse unique da-nslecâble auquel d'autres agents peuvent envoyer des don- nées. L'agent produit un nombre aléatoire dans une gamme prédéterminée ou récupère le nombre initial mémorisé anté- rieurement ("indication"), en vue de son utilisation en tant qu'adresse provisoire. L'agent envoie un signal de demande ENQ par l'intermédiaire du câble à l'adresse -provisoire de manière à déterminer si cette adresse provisoire est ac- tuellement utilisée par un autre agent. Si un signal d'ac- cusé de réception ACK est reçu par l'agent effectuant l'é- mission, en réponse au signal ENQ, un autre nombre aléatoi- re est produit en tant qu'adresse provisoire et des signaux supplémentaires ENQ sont envoyés. Dans le cas o aucun si- gnal ACK n'est reçu, l'agent effectuant l'émission affecte l'adresse provisoire en tant qu'adresse finale dans sa mé- moire. Une fois qu'un agent s'est attribué lui-même une adresse finale, il peut ensuite envoyer des données à d'au- tres agents raccordés au câble et recevoir des données de la part de ces derniers. Un agent désirant envoyer des don- nées à un agent de réception explore le câble de manière à déterminer si ce dernier est inactif ou en cours d'utili- sation. Si le câble est en cours d'utilisation, l'agent "attend" la détection d'un état inactif. Une fois que le câble est détecté comme étant inactif, l'agent effectuant l'émission attend pendant un intervalle de temps prédéter- miné plus une durée aléatoire avant d'envoyer un signal "RTS" à l'agent effectuant la réception. L'agent effectuant l'émission contrôle alors le câble pour détecter la présen- ce éventuelle d'un signal "CTS", qui doit être envoyé par l'agent effectuant la réception à l'agent effectuant l'é- mission, dans un intervalle de temps prédéterminé (IFG), après la réception des signaux RTS. Si un signal CTS est correctement reçu, l'agent effectuant l'émission peut alors envoyer une trame de données à l'agent effectuant la récep- tion, pendant un intervalle de temps IFG à la suite de la réception du signal CTS. Le fait de ne pas détecter un signal CTS de re- tour pendant un intervalle de temps IFG indique un état de collision. Si l'on suppose l'existence d'une collision, la présente invention essaie de réémettre un signal RTS en uti- lisant un procédé de temporisation qui règle par -voie dyna- mique l'intervalle de temps s'écoulant avant une tentative de réémission basée sur l'histoire récente du trafic dans le câble. Par conséquent la présente invention fournit un procédé permettant de réduire la collision et permet des transferts fiables et économiques de données entre une plu- ralité d'agents accouplés au câble commun. D'autres caractéristiques et avantages de la pré- sente invention ressortiront de la description donnée ci- après prise en référence aux dessins annexés, sur lesquels: - la figure 1 représente un réseau local apte à utiliser les enseignements fournis par la présente inven- tion; - la figure 2 est un diagramme de cadencement il- lustrant l'utilisation, conforme à la présente invention, d'un codage à modulation de fréquence (FM-O); - la figure 3 représente le format de bloc uti- lisé dans la présente invention pour transférer des données à différents dispositifs de traitement de données accouplés au réseau local; - la figure 4 représente l'utilisation, conforme à la présente invention, d'une impulsion de synchronisation avant la transmission d'un bloc; - la figure 5 illustre une trame de demande (ENQ) utilisée conformément à la présente invention pendant l'af- fectation dynamique d'adresses; - la figure 6 est un organigramme illustrant la séquence des opérations utilisées par un dispositif de trai- tement de données accouplé à la présente invention pendant l'affectation dynamique d'adresses; - la figure 7 illustre schématiquement l'utili- sation, conforme à la présente invention, de signaux d'éta- blissement de liaison cude colloque entre des dispositifs de traitement de données, réalisant une émission et une récep- tion, avant la transmission d'un bloc de données; - les figures 8(a) et 8(b) représentent un orga- nigramme illustrant la séquence des opérations d'un dispo- sitif effectuant une émission, pour obtenir l'accès au câ- ble; - la figure 9 est une représentation schématique de l'émission d'un bloc "RTS" par un dispositif effectuant l'émission, après la détection de l'état inactif d'un câble; - la figure 10 est un schéma-bloc illustrant l'u- tilisation, conforme à la présente invention, d'un disposi- tif formant contrôleur séquentiel, accouplé au réseau local; - la figure 11 illustre le procédé, conforme à la présente invention, permettant d'éviter des collisions et incluant une attente; - la figure 12 illustre le mécanisme de colli- sion et de résolution conforme à la présente invention, lors duquel deux signaux "RTS" entrent en collision dans le ré- seau local; et - les figures 13(a) et 13(b) représentent un or- ganigramme illustrant la production de la période d'attente aléatoire R. Ci-après on va donner une description détaillée de la présente invention. On va décrire un réseau local mettant en oeuvre des appareils et des procédés pour transférer des données entre une pluralité de ressources de traitement de données, accouplées à un câble commun. Dans la description qui va suivre, on indique à des fins d'explication, des nombres, des octets, des registres, des adresses, des temps, des si- gnaux et des formats, etc, spécifiques afin de permettre une totale compréhension de la présente invention. Cepen- dant le spécialiste de la technique comprendra à l'évidence que la présente invention peut être mise en oeuvre sans ces détails spécifiques. Dans d'autres cas, des circuits et dis- positifs bien connus sont représentés sous la forme de blocs afin de ne pas obscurcir de façon inutile l'exposé de la présente invention. En se référant à la figure 1, on voit que la pré- sente invention peut comporter une pluralité de dispositifs de traitement de données repérés d'une manière générale par les références 25 à 28 ainsi que des dispositifs périphé- riques comme par exemple une imprimante 30 (ou d'autres dis- positifs tels que-par exemple une mémoire commune, une uni- té de disques et analogue). Dans le cadre de la présente description, tous les dispositifs de traitement de données et tous les dispositifs périphériques, qui sont accouplés au réseau local conforme à la présente invention, sont dé- signés de façon collective sous le terme de "agents". Comme cela est représenté, les dispositifs de traitement 25, 26, 27, 28 et l'imprimante 30 sont interconnectés de manière à réaliser entre eux un transfert de données au moyen d'un câble commun 32. Les différents dispositifs sont accouplés au câble 32 par des modules de connexion 34 qui, dans la forme de réalisation présentement préférée, incluent un -20 transformateur de couplage passif, des circuits résistifs et capacitifs, et sont connus dans la technique pour réali- ser l'accouplement de chacun des dispositifs de traitement de données et d'autres dispositifs au câble 32. Le câble 32 est fermé par une terminaison appropriée de manière à supprimer les réflexions de signaux. Dans la forme de réa- lisation préférée, le câble 32 comporte des terminaisons formées de résistances de 100 ohms et est constitué par un câble à paires torsadées. Le spécialiste de la technique notera que le câble 32 peut être constitué par n'importe quel support de transmission partagé, comme par exemple un câble coaxial, des fibres optiques, un canal radio et ana- logue. Etant donné que, dans la présente forme de réalisa- tion, les agents sont accouplés de façon passive au câble 32, la défaillance d'un agent ou d'un module de connexion n'interrompt pas la communication par l'intermédiaire du câble 32. Comme cela sera décrit, la présente invention fournit un réseau local permettant un transfert de communi- cations et de données synchrones et en série entre des dis- positifs de traitement de données 25 à 28 et d'autres dis- positifs périphériques comme par exemple une imprimante 30, moyennant l'utilisation de protocoles et de procédés et d'ap- pareils permettant de détecter et d'éviter des collisions. L'architecture et les protocoles, qui sont mis en oeuvre conformément à la présente invention, réduisent les problè- mes, usuels dans les systèmes de l'art antérieur, d'éta- blissement de colloques et de détection de collision et permettent une communication en série à grande vitesse dans le câble 32. La présente invention permet d'accéder à dif- férentes ressources accouplées au réseau, comme par exemple à des données mémorisées dans des mémoires locales ou dans un disque, et l'utilisation usuelle d'imprimantes communes, sans la nécessité d'utiliser un circuit de terminaison com- plexe ou actif à l'extrémité du cable ou la nécessité de définir d'avance des adresses pour chaque dispositif accou- plé au câble 32. Dans la forme de réalisation actuelle, la présente invention fonctionne à une cadence égale à environ 230kilobits par seconde en utilisant un câble blindé à pai- res torsadées 32, et est mise en oeuvre conformément aux spécifications de tension équilibrée de la norme EIA, RS- 422. En se référant à la figure 2, on voit que la don- née est codée et transmise par l'intermédiaire du câble 32 en utilisant une technique d'auto-cadencement connue sous le sigle FM-0 (espace biphase) de telle sorte que chaque élément binaire, qui de façon typique possède une durée de 4,34 microsecondes, contient une transition d'état à son extrémité, ce qui fournit l'envoi d'une information néces- saire de cadencement au récepteur. Comme cela est repré- senté, des zéros sont codés par l'adjonction d'une transi- tion supplémentaire d'annulation en position médiane dans l'élément binaire de telle sorte que deux annulations sont détectées pour chaque élément binaire d'une durée de 4,34 mi- crosecondes. De façon similaire un un logique est prévu dans un élément binaire au moyen d'une transition d'annulation présente uniquement à son extrémité. Par conséquent grâce à l'utilisation du codage FM-0, l'information de cadence- ment est véhiculée par le signal de données lui-même et per- met un fonctionnement de la présente invention selon un mo- de synchrone. En se référant maintenant à la figure 3, on voit que la présente invention utilise une unité de base de trans- mission de données connue sous le terme de "bloc" 36. Le bloc 36 comporte un préambule constitué de deux ou d'un plus grand nombre d'octets de synchronisation ("drapeau") 38 et 40. Dans la forme de réalisation actuellement préfé- rées, chaque octet de synchronisation contient les bits 01111110. Comme cela est connu, les octets de synchronisa- tion 38 et 40 permettent à des unités de traitement de données qui effectuent une réception et qui sont ac- couplées au câble 32, de synchroniser leurs circuits de ré- ception et de recevoir l'information d'horloge nécessaire (grâce à l'utilisation du codage FM-0). Les octets suivants de synchronisation 38 et 40 sont constitués par une adres- se de destination 41 & huit bits, qui spécifie l'adresse de l'agent de traitement de données, auquel le bloc est des- tiné. Une adresse d'origine 42 est constituée par une adresse à huit bits de l'agent de transmission de données qui émet le bloc d'informations. Une zone du "type" 45 est prévue de manière à spécifier le type du bloc qui est envoyé, grâce à l'utilisation de différents codes. Par exemple la zone du type 45 peut désigner un bloc d'accusé de réception ACK, un bloc de demande ENQ, ainsi qu'un bloc RTS et un bloc CTS, qui seront décrits plus loin de façon plus détaillée. La zone du type est suivie par une zone de données formées de plusieurs octets (éventuellement de longueur nulle), qui peut contenir des données brutes, des messages et analo- gues devant être transmis entre les agents accouplés au câ- ble 32. A la suite de la zone de données 48 se trouve dis- posée une séquence de contrôle de blocs à seize bits qui est calculée en fonction du contenu de l'adresse source, de l'adresse de destination et des zones du type et des don- nées. Dans la présente forme de réalisation, la séquence de contrôle de blocs (FCS) est définie moyennant l'utilisa- tion du polynôme CRC-CCITT standard. La séquence de contrô- le de blocs 50 est suivie par un bloc de fin 52 ("drapeau") de synchronisation à huit bits (constitués par les bits lo- giques 01111110), et une séquence d'arrêt 53, qui est cons- tituée par onze ou un plus grand nombre de uns successifs. La séquence d'arrêt 53 est utilisée pour indiquer la fin du bloc 36 à des agents accouplés au câble 32. Comme cela sera décrit, le bloc 36 est envoyé par l'intermédiaire de la ligne 32 d'une façon séquentielle synchrone moyennant l'utilisation d'une séquence d'établissement de colloque de blocs de contrôle, qui sont à leur tour suivis par le bloc de données 36 représenté sur la figure 3. Comme cela est représenté sur la figure 4, avant la transmission d'un bloc, un agent réalisant une émission et accouplé au câble 32 envoie une impulsion de synchronisation 56 qui-est sui- vie par une période d'inactivité d'une durée supérieure à la durée de deux bits et inférieure à la durée de 10 bits. L'impulsion 56 peut comporter n'importe quel signal conte- nant une annulation. Dans la présente forme de réalisation, comme cela est représenté sur la figure 10, chaque agent accouplé au câble 32 utilise une microplaquette 79 formant contrôleur de communications série du type connu sous le sigle commercial Zilog Z 8530 SCC qui a accès au câble 32 par l'intermédiaire d'un étage d'attaque de ligne 80 et d'un récepteur de ligne 82. (Voir le document Zilog Technical Manual, Z8030/Z8530 SCC Serial Communications Controller, Janvier 1983). Ce dispositif 79 connu sous le sigle Z8530 SCC inclut un circuit effectuant la recherche de bits de synchronisation (drapeau), dans un mode "de recherche". Comme cela a été indiqué précédemment, la présente invention utilise un octet de synchronisation (drapeau) comportant les bits 01111110. En outre la microplaquette du contrôleur de communications série peut détecter un cycle d'horloge manquant et lors du réglage d'un bit d'horloge manquant à l'intérieur du dispositif, dans le cas o il intervient à la suite d'une annulation donnée, une période définie préa- lablement (supérieure à la durée d'un bit) s'écoule sans l'annulation successive du signal R D arrivant. x L'impulsion 56 envoyée par l'agent effectuant l'émission et accouplé au câble 32 sera considérée comme une impulsion d'horloge par tous les agents effectuant la réception. Cependant, étant donné qu'elle est suivie par une période d'inactivité supérieure à une durée de deux bits, une impulsion d'horloge manquante est détectée et le bit d'horloge manquant est réglé dans le dispositif SCC 79 de chaque agent raccordé au câble 32, de manière à notifier à ces agents que le câble 32 est utilisé. Dans la forme de réalisation préférée, l'impulsion de synchronisation 56 est obtenue grâce a une validation temporaire de l'étage d'at- taque de ligne 80 pour au moins la durée d'un bit. Ceci en- traîne la transmission, pendant la durée d'impulsion, du signal T D dans le câble 32, ce qui garantit au moins une x annulation de l'impulsion de synchronisation 56. En outre la détection des bits de synchronisation (drapeau) (c'est- à-dire 38 et 40) efface le bit "recherche" dans le dispo- sitif Z8530, et permet à chaque agent accouplé au câble 32 de détecter d'une manière plus efficace si le câble 32 est ou non actuellement utilisé, avant l'émission d'un bloc, tout en fournissant les bits de synchronisation nécessai- res afin de permettre à l'agent, qui effectue la réception, de se régler lui-même de façon cadencée sur le bloc de don- * nées arrivant. On notera que, bien que la présente inven- tion utilise actuellement un dispositif Z8530 SCC pour dé- tecter les cycles d'horloge manquants et les octets de syn- chronisation manquants, d'autres circuits peuvent être éga- lement utilisés pour assurer la même fonction. Chaque agent accouplé au câble 32 est identifié par une adresse binaire unique le long du câble. Une carac- téristique de la présente invention réside dans le fait qu'un agent accouplé au câble 32 ne requiert pas une adres- se permanente préalablement définie. Ainsi par exemple le dispositif 37 peut être retiré du câble 32 et être accouplé à nouveau à un autre câble en un emplacement différent, sans qu'il soit nécessaire de former une adresse. Lorsqu'un agent est nouvellement accouplé au câble 32, un protocole unique est suivi, qui consiste en ce qu'une adresse est pro- duite de façon dynamique et est affectée par l'agent lui- m!me. Dans la forme de réalisation actuellement préférée, l'adresse de chaque agent est identifiée moyennant l'uti- lisation d'un identificateur à huit bits (aucun agent ne pouvant avoir une adresse nulle ou une adresse égale à 255). En se reportant brièvement à la figure 6, on y voit repré- sentée la séquence des opérations, qu'un agent utilise pour déterminer et s'attribuerlui-même une adresse. Il ressort à l'évidence qu'afin d'empêcher l'interruption du fonction- nement, aucun agent ne peut acquérir la même adresse qu'un agent déjà en fonctionnement. Dans la pratique l'adresse des agents peut être allouée entre des dispositifs généraux de traitement de données et des "serveurs", qui peuvent in- clure un bloc principal, ou d'autres machines. Dans la pré- sente forme de réalisation, les adresses 1 à 127 sont affec- tées à des agents d'utilisation générale, et les adresses 128 à 254 sont affectées à leur utilisation par des serveurs. Comme représenté sur la figure 6, lorsqu'il est accouplé au câble 32, chaque agent soit produit un nombre aléatoire quelconque à l'intérieur d'une gamme définie d'avance, soit obtient un nombre de départ en provenance d'une certaine mémoire rémanente de longue durée (par exemple une mémoire morte ou un support magnétique) désignée comme étant une "indication". Ce nombre aléatoire (ou cette "indication") est traité en tant qu'adresse "temporaire", et l'agent en- voie ensuite un bloc de demande ENQ, qui utilise l'adres- se temporaire en tant qu'adresse de destination. Le bloc de demande émis se présente sous la forme représentée sur la figure 5 et comprend une impulsion initiale 56 séparée par un intervalle de temps d'au moins deux bits en étant placée en avant des octets de synchronisation (drapeau) 38 et 40 décrits précédemment en référence à la figure 3. L'a- dresse de destination 41 de la figure 5 ainsi que l'adres- se d'origine 42 contiennent l'adresse provisoire produite de façon aléatoire ou au moyen de l'indication. On notera que la zone du type 45 sur la figure 5 contient un code bi- naire qui identifie le bloc de la figure 5 comme étant un bloc "de demande" ENQ, destiné à être utilisé lors de l'af- fectation d'adresses. Ce bloc ENQ est transmis par l'inter- médiaire du câble 32. Dans le cas o un autre agent a réa- lisé préalablement une affectation de l'adresse provisoire, l'agent utilisant déjà cette adresse provisoire reçoit le bloc ENQ et, en réponse, envoie un bloc d'accusé de récep- tion ACK à l'agent effectuant l'émission. Dans la prati- que le bloc ACK est structuré d'une manière semblable au bloc ENQ représenté sur la figure 5, hormis que l'octet de type contient un code binaire identifiant le paquet comme étant un bloc ACK. Comme cela est représenté sur la figure 6, dans le cas o un bloc ACK est reçu par l'agent effectuant l'é- mission, cet agent doit produire alors un autre nombre aléa- toire en tant qu'adresse provisoire et répérer l'envoi de cette nouvelle adresse provisoire dans le câble 32. Dans le cas o aucun bloc ACK n'est reçu, l'agent nouvellement accouplé au câble continue à envoyer des blocs ENQ dans le câble, jusqu'à ce qu'un certain nombre maximum défini d'a- vance d'essais aient été effectués. Si, après un nombre dé- fini d'avance de tentatives, aucun bloc ACK n'a été reçu, l'agent effectuant l'émission affecte alors l'adresse tem- poraire en tant que son adresse finale pour l'ensemble de la communication future réalisée au moyen du câble 32. L'en- voi répété de blocs ENQ est utilisé pour éviter des cas o un agent particulier, qui peut utiliser l'adresse temporai- re, peut être actuellement occupé, et par conséquent ne re- çoit pas une demande. Une fois qu'une adresse finale a été affectée à un agent, ce dernier peut communiquer avec d'autres agents accouplés au câble 32 moyennant l'utilisation d'un proto- cole d'établissement de colloque lié et d'un mécanisme évi- tant les collisions, décrits ci-après. En se référant aux figures 7, 8(a), 8(b) et 9, on voit qu'une communication entre agent, accouplée au câble 32 se produit par l'inter- médiaire d'un processus d'établissement de colloque à trois directions. Le but de la séquence d'établissement du col- loque est de commander l'accès au câble 32 utilisé de façon partagée, d'une manière ordonnée qui réduit la probabilité d'une collision. Chaque transmission incluant l'établisse- ment d'un colloque (connu sous le terme de "dialogue") doit être séparée par un intervalle minimum IDG entre dialo- gues, qui est égal à 400 microsecondes dans la présente for- me de réalisation. En outre les blocs à l'intérieur d'une seule transmission (dialogue) doivent se succéder avec un intervalle maximum (IFGY entre blocs, égal par exemple à microsecondes dans la forme de réalisation actuelle. On dit qu'une collision se produit lorsque deux ou plusieurs agents émettent simultanément dans le câble 32. En se référant aux figures 7 et 8(a) et 8(b), on voit que l'agent effectuant l'émission, par exemple l'agent de traitement de données 25, qui désire communiquer avec un autre agent accouplé au câble 32, exécute l'opération indiquée dans l'organigramme des figures 8(a) et 8(b). Un agent effectuant l'émission détermine, avant l'émission, si le bit "recherche" dans le dispositif de contrôle série Z8530 SCC ou un autre matériel approprié a détecté un oc- tet de synchronisation (drapeau) circulant dans le câble 32. Si un octet de synchronisation (drapeau) a été détecté et qu'aucun octet d'arrêt ne le suit, le câble 32 est alors en cours d'utilisation et l'agent désirant émettre "retarde" son émission. Dans le cas o aucune impulsion de synchroni- sation 56 ou bien aucun octet de synchronisation (drapeau) (38 et 40) n'est détecté, l'agent désirant émettre des don- nées exécute une opération d'attente d'entrée, comme cela est mieux représenté sur la figure 8(a). L'opération d'at- tente d'entrée comprend une série de quatre périodes d'at- tente, qui sont chacune d'une durée de 100 microsecondes dans la présente forme de réalisation et, à la suite de cha- cune de ces périodes, le bit de détection de drapeau ("bit de reherche") est contrôlé pour voir si un octet de synchro- nisation (drapeau) a été reçu dans le câble 32. La détec- tion d'un octet de drapeau indique qu'un certain autre agent utilise le câble 32. Dans un tel cas, l'agent effectuant l'émission doit attendre le bit de détection de drapeau (bit de recherche) pour réaliser un effacement, ce qui signale la fin de l'utilisation du câble 32. A cet instant l'ensem- ble de la séquence d'attente d'entrée illustrée sur les figures 8(a) et 8(b) est répété. Si, d'autre part, un octet de drapeau n'est pas détecté, ceci indique que, pendant la séquence d'attente d'entrée, aucun autre agent n'a essayé d'utiliser le câ- ble, et une opération d'attente aléatoire est alors exécu- tée. En outre, pendant l'opération d'attente d'entrée le bit de détection d'impulsion de synchronisation est effacé après la première attente de 100 microsecondes. Avant de passer à l'exécution de l'opération d'at- tente aléatoire, illustrée sur la figure 8(b), un nombre R d'attentesaléatoires est produit (les détails concernant la production de R seront décrits plus loin). Comme repré- senté, l'opération d'attente aléatoire s'effectue de façon cyclique pendant R fois au moyen d'une opération de base correspondant a une durée d'attente de 100 microsecondes avant que se produise un contrôle servant à vérifier si un drapeau a été détecté (bit de recherche effacé). Si, à un instant quelconque, un drapeau est détecté, alors un autre agent est en train d'utiliser le câble 32 et l'agent réali- sant l'émission doit retarder son émission. Si cependant, à la fin de la séquence d'attente aléatoire, le câble est à nouveau inactif (non utilisé) , alors un dernier contrôle est effectué pour voir si l'impulsion de synchronisation a été détectée, avant l'envoi d'un bloc RTS, comme cela sera décrit. Si le câble 32 reste inactif pendant l'ensemble de cette période R d'attente produite de façon aléatoire, l'agent effectuant l'émission réalise l'émission d'une im- pulsion de synchronisation 56, suivie d'un bloc "RTS", dans le câble 32 en direction de l'agent effectuant la réception. Un bloc RTS est structuré essentiellement de la même maniè- re que le bloc ENQ représenté sur la figure 5, mais la zone du type contient un code binaire identifiant le bloc en tant que bloc RTS et non en tant que bloc ENQ. Lorsqu'il reçoit le bloc RTS en provenance de l'agent effectuant l'émission, l'agent effectuant la réception renvoie un bloc "CTS" à l'a- gent initial effectuant l'émission, et ce dans un laps de temps correspondant au maximum à l'intervalle entre blocs IFG. Comme dans le cas du bloc RTS, un bloc CTS émis par un agent effectuant la réception est structuré essentielle- ment de la même manière que le paquet ENQ représenté sur la figure 5, hormis que la zone du type contient un code identifiant le bloc en tant que bloc CTS. Une fois que l'a- gent initial effectuant l'émission, par exemple une unité 25 de traitement de données, reçoit le bloc CTS, un bloc complet de données 36, tel que représenté sur la figure 3, est envoyé à l'agent effectuant la réception à l'intérieur d'un intervalle de temps IFG correspondant à la réception du bloc CTS. Dans le cas o l'émission d'un bloc CTS ou d'un bloc de données ne se produit pas à l'intérieur d'un inter- valle IFG, alors l'agent effectuant l'émission suppose qu'une collision est apparue ou que l'agent de destination est inactif ou sinon est indisponible. S'il désire une émission générale en direction de tous les agents accouplés au câble 32, l'agent effectuant l'émission envoie un bloc RTS comportant une adresse de des- tination égale à 255 à tous les agents raccordés au câble et attend qu'il s'écoule un intervalle de temps IFG avant d'en- voyer un bloc de données 36 possédant également une adresse de destination égale à 255. Par conséquent, dans le cas d'émissions générales dans le câble 32, l'agent effectuant l'émission n'attend pas les blocs CTS de renvoi, mais exé- cute immédiatement l'envoi d'une émission générale une fois que l'intervalle de temps IFG s'est écoulé, après l'envoi d'un bloc RTS. En outre, étant donné qu'on prévoit à l'in- térieur d'un bloc RTS une zone 41 pour l'adresse de desti- nation possédant une valeur particulière (255) correspondant à une adresse de diffusion, seul un bloc RTS doit être en- voyé à tous les agents aux différentes adresses par l'inter- médiaire du câble 32. Le spécialiste de la technique notera que le but du protocole d'établissement de colloque en trois échelons décrit ci-dessus est d'éviter les collisions en limitant les intervalles de temps pendant lesquels des collisions sont fortement probables (de façon typique pendant les échan- ges de blocs RTS et CTS), et d'étaler dans le temps l'accès au câble, des émetteurs attendant que le câble 22 devienne inactif avant de commencer une émission. Un échange réussi de blocs RTS-CTS signifie qu'aucune collision ne s'est pro- duite et que tous les agents désirant émettre ont détecté la transmission arrivante de blocs de données et sont en attente jusqu'à ce que l'échange des données soit achevé avant de tenter de prendre la commande du câble. Dans le cas o un autre agent commence une émis- sion pendant l'échange de blocs RTS-CTS décrit ci-dessus, on notera que le bloc CTS n'est pas reçu de façon correcte (par exemple la séquence de contrôle du bloc n'est pas va- lable) et que l'agent effectuant l'émission peut alors sup- poser qu'une collision s'est produite. Une collision empê- che un échange complet de blocs RTS et CTS et de ce fait empêche l'établissement correct d'un colloque. Normalement, si un agent, qui désire émettre des données dans le câble 32, détecte que le câble est actuellement en cours d'utili- sation, il retarde l'émission de son propre bloc RTS jus- qu'à ce que le câble soit inactif (voir figures 11 et 12). En se référant aux figures 9, 13(a) et 13(b), on va décrire de façon détaillée la suite des opérations exé- cutées conformément à la présente invention pour obtenir la valeur du nombre d'attentesaléatoiresR (comme cela a été décrit précédemment en référence à la figure 8). Comme on on le notera, la présente invention modifie de façon dyna- mique le nombre d'attentesaléatoiresR en réponse à l'his- toire récente du trafic du câble. Le procédé utilisé par la présente invention suppose que, si l'on a supposé que des collisions s'étaient produites pour des blocs de données récemment envoyés, le bloc 32 est actuellement soumis à une charge importante et à un encombrement élevé. Une période d'attente aléatoire R avant une tentative de réémission éta- le dans le temps l'accès aux bus pour les différents agents qui sont en conflit pour l'utilisation du câble. Par consé- quent les opérations illustrées sur les figures 13(a) et (b) sont exécutées de manière à produire et régler le nom- bre d'attentes aléatoires R utilisé conformément à la suite d'opérations indiquées sur les figures 8(a) et (b). Confor- mément à la présente invention, des registres à décalage à huit bits sont prévus afin de réaliser le suivi des his- toriques de collision et d'attentes pour chaque agent accou- plé au câble 32. Dans le cadre de la présente description, la lettre "C"' désigne un registre à décalage à huit bits, qui est utilisé pour conserver le suivi de l'historique des collisions pour les huit derniers messages de données qu'un agent a essayé d'émettre, et la lettre "D" désigne un re- gistre à décalage -à huit bits représentant l'historique des attentes pour les huit derniers messages, que l'agent a es- sayé d'émettre. Comme cela a été indiqué précédemment, on suppose qu'une collision est apparue si le protocole d'éta- blissement de colloque avec les blocs RTS-CTS ne se produit pas pendant l'intervalle IFG et une attente est supposée se produire si un agent détecte un octet de drapeau ou une impulsion de synchronisation 56 avant d'émettre un message, ce qui indique que le câble est actuellement utilisé. La lettre "G" désigne un masque d'ensemble à quatre bits qui estun nombre correspondant à un facteur de modification représenta- tif de tous les messages antérieurs que l'agent a essayé d'émettre. La lettre "L" désigne un masque local, qui est représentatif de tentatives d'émission du message actuel par un agent accouplé au câble 32. En outre NC désigne le nombre de collisions, qui sont supposées avoir eu lieu pour un paquet de données particulier, et ND es! défini comme étant le nombre d'attentesqui sont intervenues avant l'émis- sion du paquet de données actuel. Comme cela est mieux représenté sur les figures 13(a) et (b) avant l'émission d'un nouveau paquet de données, la variable G est réglée de la manière suivante: Si le nombre des bits positionnés (c'est-à-dire égaux à 1) dans le registre à huit bits "C" est supérieur à 2, alors tous les bits situés dans le registre à décalage à quatre bits définissant "G" sont décalés d'un bit vers la gauche (bit de poids le plus faible (LSB) décalé en di- rection du bit de poids le plus élevé (MSB)). En outre GO0 Z579342 (le bit de poids le plus faible du registre à décalage à quatre bits G) est positionné à 1 et les huit bits consti- tuant C sont positionnés à 0. Si le nombre des bits positionnés dans le regis- tre à huit bits "C" est inférieur ou égal à 2, alors D est examiné, et si le nombre des bits positionnés dans "D" est inférieur à 2, alors la présente invention transfère d'un bit vers la droite le contenu de G (transfert du bit MSB vers le bit LSB), on positionne G3 (MSB de G) à 0 et règle 1ola valeur de D égale à 255. Une fois que G a été réglé, il se produit confor- mément à la présente invention des décalages d'un bit vers la gauche des contenus des registres D et C (en direction du bit MSB) et le positionnement du bit de poids le plus faible (LSB) de C et de D à 0. De façon similaire les va- riables NC et ND, qui désignent le nombre des collisions et le nombre des attentes pour le message particulier de- vant être envoyé, sont également réglées à 0. En outre, com- me représenté sur la figure 13, la valeur de L est alors réglée à une valeur égale à celle de G. Avant le début de la séquence d'attente d'entrée décrite en référence à la figure 8(a), la présente inven- tion détermine si une détection de drapeau (c'est-à-dire un octet de drapeau) a été ou non détectée dans le câble 32. Dans le cas o aucun octet de drapeau n'a été détecté, la présente invention exécute alors la séquence d'opérations illustrée sur la figure 8(a) pour la période d'attente d'en- trée. A la suite de la séquence d'attente d'en-tête fixe, le système conforme à la présente invention produit un nom- bre aléatoire "r" situé dans une gamme prédéterminé et cal- cule alors la valeur de "R" au moyen d'une combinaison ET logique de la valeur de r avec la valeur prédéterminée an- térieurement de L (variable du masque local). Une fois que la valeur de R est déterminée, la présente invention suit alors le cycle d'attente aléatoire illustré sur la figure 8(b) et lors de l'achèvement de la période d'attente aléa- toire, émet le bloc RTS comme représenté sur la figure 13(b). Si le bloc CTS est reçu par l'agent effectuant l'émission, pendant l'intervalle IFG, comme indiqué précé- demment, alors le bloc de données est émis et le dialogue avec transmission de message est achevé. Si par ailleurs un drapeau est détecté avant le début de la séquence d'at- tente d'entrée, un réglage du délai d'attente est prévu, auquel cas D0 (le bit LSB du registre D) est positionné sur un et L0 est positionné sur 1. En outre le réglage du délai d'attente inclut le réglage de ND à une valeur égale à ND+1. Le bit de détection de drapeau (bit de recherche) est à nou- veau contrôlé. Comme cela est représenté sur la figure 13, ce réglage du délai d'attente intervient dans des cas o il est établi que la ligne est occupée avant l'émission. Dans le cas o l'établissement de colloque RTS/ CTS ne se produit pas, alors on suppose qu'il existe une collision et un réglage de collision se produit. C0 est po- sitionné à une valeur égale à 1 et la valeur de L est dé- calée d'un bit vers la gauche (du bit LSB vers le bit MSB). En outre L0 est égal à 1 et NC est réglé à une valeur égale à NC+1, comme représenté sur la figure 13(b). Il s'est avéré que l'utilisation des phases opé- ratoires illustrées sur la figure 13 permettent de réaliser le réglage dynamique de la valeur de r produite de façon aléatoire, de telle sorte que l'intervalle de temps (en in- créments de 100 microsecondes), pendant laquelle un agent attend, endehors de la période d'attente d'entrée, pour tenter une émission, est modifié conformément à l'histoire récente du trafic dans le câble. Cette modification de la période d'attente aléatoire accroît de façon importante la probabilité d'un échange réussi de blocs RTS/CTS et de ce fait évite des collisions dans le câble 32. Par conséquent on a décrit des appareils et pro- cédés ayant une utilité particulière lorsqu'ils sont mis en oeuvre en liaison avec un réseau local. La présente in- vention fournit un réseau qui permet à n'importe quel agent d'être accouplé au câble en n'importe quel point et de s'at- tribuer lui-même une adresse unique. En outre le nouveau protocole d'évitement de collisions conforme à la présente invention réduit le risque de collision dans le câble et dans le cas o une collision se produit, fournit une pro- babilité supérieure de succès pour des réémissions ultérieu- res. Bien que la présente invention ait été décrite de façon particulière en référence aux figures 1-13, il ap- paraîtra à l'évidence au spécialiste de la technique que la présente invention présente une utilité qui va bien au- delà de ce qui est représenté sur les figures. On compren- dra en outre qu'un spécialiste ordinaire de la technique puisse apporter de nombreux changements et modifications à la présente invention, sans pour autant sortir du cadre de cette dernière. REVENDICATIONS 1. Appareil servant à affecter une adresse uni- que à un dispositif de traitement de données ("agent") (25, 26, 27, 28, 30) accouplé à un moyen de communication (32) de manière à permettre le transfert de données entre une pluralité desdits agents par l'intermédiaire dudit moyen de communication, caractérisé en ce qu'il comporte: - des moyens émetteurs-récepteurs (80, 82) accouplés à cha- cun desdits agents (25, 26, 27, 28, 30) de manière à émet- tre des signaux dans ledit moyen de communication (32)et à recevoir des signaux émis par un autre-agent, par l'in- termédiaire dudit moyen de communication, - des moyens d'affectation d'adresses, accouplés à chacun desdits agents de manière à affecter une adresse unique à un agent raccordé audit moyen de communication (32), ces moyens d'affectation d'adresses comprenant - des moyens de production d'un nombre aléatoire (R), ser- vant à produire un nombre aléatoire à l'intérieur d'une gamme définie d'avance de manière qu'il soit utilisé en tant qu'adresse provisoire, - des moyens formant mémoire d'adresses, accouplés aux- dits moyens générateurs du nombre aléatoire afin de mé- moriser ladite adresse provisoire, - des moyens de production d'un premier signal (ENQ), qui sont accouplés auxdits moyens formant mémoire d'adres- ses et auxdits moyens formant émetteurs-récepteurs de manière à produire un signal de demande (ENQ) et à en- voyer au moins ledit signal (ENQ) à ladite adresse pro- visoire par l'intermédiaire dudit moyen de communica- tion (32), * - des moyens de réception de signaux d'accusé de récep- tion (ACK), accouplés auxdits moyens émetteurs-récep- teurs de manière à recevoir un signal d'accusé de ré- ception (ACK) envoyé par un autre agent en réponse à sa réception dudit signal (ENQ), lesdits moyens de ré- ception du signal d'accusé de réception indiquant aux- dits moyens de production d'un nombre aléatoire de pro- duire un autre nombre aléatoire en tant qu'adresse pro- visoire lors de la réception dudit signal (ACK), - des moyens de cadencement accouplés auxdits moyens de ré- ception des signaux d'accusé de réception, pour la mémo- risation de ladite adresse provisoire en tant qu'adresse définitive dans lesdits moyens formant mémoire d'adresses en l'absence de la réception dudit signal (ACK) pendant 1o un intervalle de temps prédéterminé (IFG), après que le dernier signal (ENO} ait été émis, - ce qui a pour effet qu'audit agent se trouve affectée une adresse unique dans ledit moyen de communication (32). 2. Appareil selon la revendication 1, caractéri- sé en ce que lesdits moyens de production du premier signal (ENQ) produisent et émettent une pluralité de signaux (ENQ) dont chacun est émis après l'écoulement dudit intervalle de temps (IFG). 3. Appareil selon la revendication 2, caractéri- sé en ce que lesdits moyens de cadencement mémorisent la- dite adresse provisoire en tant qu'adresse définitive en l'absence dudit signal (ACK), une fois que ledit intervalle de temps (IFG) s'est écoulé après l'envoi du dernier signal faisant partie de ladite pluralité desdits signaux (ENQ). 4. Appareil selon la revendication 3, caractéri- sé en ce que ledit signal (ENQ) comporte un bloc (ENQ) com- prenant au moins un octet formant drapeau de synchronisa- tion (38, 40) comportant une séquence binaire définie d'avan- ce et un octet (ENQ). 5. Appareil selon la revendication 4, caractéri- sé en ce que ledit signal (ACK) comporte un bloc (ACK) com- prenant au moins un octet formant drapeau de synchronisa- tion et possédant une séquence binaire définie d'avance et un octet (ACK). 6. Appareil selon la revendication 5, caractéri- sé en ce que lesdits moyens de production d'un nombre aléa- toire produisent un nombre aléatoire situé dans la gamme comprise entre 1 et 254. 7. Appareil selon la revendication 5, caractéri- sé en ce que lesdits moyens de production du premier signal (ENQ) produisent une impulsion de synchronisation (56) et émettent ladite impulsion de synchronisation dans le moyen de communication (32), ladite impulsion de synchronisation étant émise avant d'autres signaux dans ledit moyen de com- munication. 8. Appareil selon la revendication 7, caractéri- sé en ce que ladite impulsion de synchronisation précède, d'une durée égale à au moins 2 bits, lesdits autres signaux. 9. Appareil selon la revendication 7, caractéri- se en ce que ledit intervalle de temps (IFG) possède en gé- néral une durée de 200 microsecondes. 10. Appareil selon la revendication 7, caracté- risé en ce que ledit moyen de communication (32) est un câ- ble formé de paires torsadées. 11. Appareil selon la revendication 10, caracté- risé en ce que ledit câble formé de paires torsadées est terminé par des résistances formées de 100 ohms. 12. Appareil selon la revendication 7, caracté- risé en ce que lesdits signaux circulant dans ledit moyen de communication (32) sont émis moyennant l'utilisation d'un codage FM-0. 13. Procédé pour réaliser l'affectation d'adres- ses uniques à chaque dispositif faisant partie d'une plura- lité de dispositifs ("agents") (25, 26, 27, 28, 30), qui font partie d'un système de transmission de données et entre les- quels des données sont transférées, caractérisé en ce qu'il inclut les phases opératoires consistant à - produire un nombre aléatoire (T) à l'intérieur d'une gam- me prédéterminée de manière à l'utiliser en tant qu'adres- se provisoire, - mémoriser ladite adresse provisoire dans des moyens for- mant mémoire, - produire un signal de demande (ENQ) et envoyer ledit si- gnal (ENQ) à ladite adresse provisoire par l'intermédiai- re d'un moyen de communication (32), - réaliser une détection dans le moyen de communication pour la réception d'un signal d'accusé de réception (ACK) envoyé par un autre agent en réponse à sa réception dudit signal (ENQ) et, lors de la détection dudit signal (ACK), produire un autre nombre aléatoire destiné à être utilisé en tant qu'adresse provisoire différente, et - mémoriser ladite adresse provisoire en tant qu'adresse définitive dans lesdits moyens de mémoire en l'absence de la réception dudit signal (ACK) pendant un intervalle de temps prédéterminé (IFG) après l'émission dudit signal (ENQ), - ce qui a pour effet qu'une adresse unique est affectée à un agent à l'intérieur dudit système de communication. 14. Procédé selon la revendication 13, caracté- risé en ce que ladite phase opératoire de production du si- gnal (ENQ) implique la production et l'envoi d'une plurali- té de signaux (ENQ) dont chacun est émis après l'écoulement dudit intervalle de temps (IFG), en l'absence de la récep- tion d'un signal (ACK). 15. Procédé selon la revendication 14, caracté- risé en ce que ladite adresse provisoire est mémorisée en tant qu'adresse définitive en l'absence d'un signal (ACK) après l'écoulement dudit intervalle de temps (IFG), une fois que le dernier signal de ladite pluralité de signaux (ENQ) a été transmis. 16. Procédé selon la revendication 15, caracté- risé en ce qu'il inclut en outre la phase opératoire consis- tant à produire une impulsion de synchronisation et à en- voyer cette impulsion par l'intermédiaire dudit système de communication (32), ladite impulsion de synchronisation étant émise avant d'autres signaux dans ledit système de communications. 17. Procédé selon la revendication 16, caracté- risé en ce que ledit signal (ENQ) comporte un bloc (ENQ) comprenant au moins un octet formant drapeau de synchroni- sation (38, 40) possédant une séquence binaire définie d'a- vance et un octet (ENQ). 18. Procédé selon la revendication 17, caracté- risé en ce que ledit signal (ACK) comporte un bloc (ACK) comprenant au moins un octet formant drapeau de synchroni- sation possédant une séquence binaire définie d'avance et un octet (ACK). 19. Procédé selon la revendication 18, caracté- risé en ce que ledit nombre aléatoire se situe dans la gam- me comprise entre 1 et 256. 20. Dispositif de traitement de données (25, 26, 27, 28, 30), apte à être accouplé à un moyen de communica- tion (32) auquel sont accouplés un certain nombre de seconds dispositifs, ce moyen de communication servant à transfé- rer des données entre ledit dispositif et l'un des seconds dispositifs, qui est apte à envoyer un signal d'effacement en réponse à un signal de demande, caractérisé en ce que ledit premier dispositif (25, 26, 27, 28, 30) émet des don- nées uniquement après avoir détecté le fait qu'aucune don- née provenant de l'un des seconds dispositifs n'est trans- mise dans le moyen de communication, pendant une période d'attente variable qui est supérieure à l'intervalle entre blocs, puis émet un signal de demande et reçoit un signal d'effacement en provenance dudit second dispositif.