FR2717973A1 - Acheminement multi-destinataire fiable sur les arbres recouvrants des réseaux de communication par paquets. - Google Patents

Acheminement multi-destinataire fiable sur les arbres recouvrants des réseaux de communication par paquets. Download PDF

Info

Publication number
FR2717973A1
FR2717973A1 FR9501602A FR9501602A FR2717973A1 FR 2717973 A1 FR2717973 A1 FR 2717973A1 FR 9501602 A FR9501602 A FR 9501602A FR 9501602 A FR9501602 A FR 9501602A FR 2717973 A1 FR2717973 A1 FR 2717973A1
Authority
FR
France
Prior art keywords
sep
message
nodes
node
list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9501602A
Other languages
English (en)
Other versions
FR2717973B1 (fr
Inventor
Bodner Rachel Anne
Chow Chee-Seng
Gidon Israel
Dudley John Gary
Edwards Allan Kendrick
Gopal Inder Sarat
Immanuel Chandra Paul
Kaplan Marc Adam
Kutten Shat
Tedijanto Theodore Ernest
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to FR9501602A priority Critical patent/FR2717973B1/fr
Publication of FR2717973A1 publication Critical patent/FR2717973A1/fr
Application granted granted Critical
Publication of FR2717973B1 publication Critical patent/FR2717973B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0097Relays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Réseau de communication par paquets dans lequel les transmissions de message multi-destinataire sont rendues fiables en transmettant les accusés de réception à tous les voisins de chaque nœud de réception, y compris le nœud d'origine. Ceci permet la libération des mémoires tampon de maintien du message dès que tous les voisins proches accusent réception du message après l'écoulement seul du temps d'aller et retour le plus long vers les voisins les plus proches, plutôt qu'après l'aller et retour vers la destination la plus lointaine. De plus, des possibilités de transmission point-à-point auxiliaires et très fiables peuvent être utilisées pour réémettre les messages multi-destinataires qui ont été signalés comme étant perdus grâce à l'absence d'accusé de réception. Enfin, les segmentations de réseau qui se produisent pendant le processus multi-destinataire n'entraîne pas nécessairement la perte du message multi-destinataire dans les segmentations éloignées du fait que tout nœud recevant le message peut assurer sa délivrance vers tous les autres nœuds de cette segmentation.

Description

ACHEMINEMENT MULTI-DESTINATAIRE FIABLE SUR LES ARBRES RECOUVRANTS
DES RESEAUX DE COMMUNICATION PAR PAQUETS
Domaine technique
Cette invention se rapporte aux systèmes de transmission par paquets et plus particulièrement à des communications fiables sur des arbres multi-destinataires de tels système.
Technique Antérieure
Les réseaux de transmission par paquets sont devenus courants pour assurer des communications entre des centres de traitement de données de même qu'entre d'autres utilisateurs de communication. Les systèmes de transmission par paquets comprennent une pluralité de noeuds de commutation de paquets interconnectés par des liens de transmission. De tels systèmes de transmission partagent des informations numériques en une pluralité de paquets qui comportent un entête ayant toutes les informations d'acheminement nécessaires pour commander les noeuds de commutation de manière à déplacer les paquets depuis le noeud émetteur jusqu'au noeud de destination. Les réseaux par paquets ont été créés à l'origine sur un plan local afin de desservir des emplacements de traitement de données regroupés de façon serrée.
Les réseaux par paquets sont cependant de plus en plus utilisés au profit d'emplacements de traitement de données importants et largement répartis qui peuvent étre non seulement de portée nationale, mais aussi internationale.
Plusieurs protocoles d'acheminement différents ont été utilisés pour commander l'acheminement des paquets d'un noeud à l'autre dans un système de transmission par paquets. De tels protocoles comprennent le protocole dit "d'échange" dans lequel l'étiquette de l'entête de paquet est utilisée en tant qu'adresse de recherche dans un tableau pour déterminer la branche suivante de l'itinéraire. L'acheminement automatique de réseaux (ANR) utilise une concaténation des étiquettes de lien afin d'identifier les branches successives de l'itinéraire, lesquelles étiquettes sont éliminées une par une à mesure que le paquet progresse dans le réseau, laissant toujours la prochaine étiquette à utiliser au début du champ d'acheminement. Un autre tel protocole d'acheminement, dit à "acheminement multi-destinataire sur un arbre" constitue l'objet de la présente invention. Dans ce protocole d'acheminement, un arbre est défini comme un ensemble connecté de noeuds de réseau et de lien qui ne comportent pas de répétitions ou de boucles. Le terme "multi-destinataire", signifie qu'un seul expéditeur émet le même paquet vers une multiplicité de noeuds récepteurs. Un tel arbre multidestinataire utilise une adresse d'arbre dans le champ d'acheminement de l'entête du paquet. La même adresse d'arbre est associée à chaque lien de transmission faisant partie de l'arbre multi-destinataire. Lorsqu'un paquet multi-destinataire atteint un noeud de commutation de paquet, l'adresse d'arbre de l'entête de paquet est comparée aux adresses d'arbre qui sont associées avec tous les liens de transmission sortant de ce noeud. S'il se produit une correspondance, le paquet est expédié sur les liens de transmission pour lesquels se produit la correspondance, sauf en ce qui concerne le lien sur lequel le paquet est reçu. On notera que de nombreuses copies du paquet peuvent être produites à chaque noeud de commutation afin de se conformer à des arbres multi-destinataires qui comportent de nombreuses dérivations au noeud de commutation.
L'acheminement par arbre multi-destinataire est devenu un procédé habituel de communication dans un système de transmission par paquets grâce à l'efficacité du protocole d'arbre multidestinataire. On notera qu'un tel acheminement par arbre multidestinataire peut être utilisé pour la répartition des paquets vers tous les noeuds d'un réseau de communication et implique la détermination et la conservation du trajet optimum (l'arbre recouvrant) afin de connecter les noeuds l'un avec l'autre. On a couramment créé et utilisé dans la technique antérieure des arbres recouvrant multi-destinataires dans ce but. Des problèmes importants apparaissent cependant, si des noeuds sont ajoutés ou enlevés du réseau ou si des pannes et des remises en route du matériel amènent une segmentation de l'arbre ou la création de bouclage dans l'arbre recouvrant. La répartition fiable des messages multi-destinataires dans une structure d'arbre qui varie constamment constitue l'objet de la présente invention.
Les procédés de répartition fiable de messages multidestinataires dans un arbre recouvrant de la technique antérieure imposaient que le noeud expéditeur mémorise le message jusqu'a ce que les accusés de réception soient reçus de chaque station réceptrice de l'arbre recouvrant, et retransmettent le message vers les stations réceptrices qui n'accusent pas réception.
Cependant, du fait que le réseau n'est pas statique et que des noeuds peuvent être ajoutés ou quitter le réseau, l'expéditeur ne sait pas toujours combien de noeuds sont dans l'arbre ou combien d'accusés de réception doivent être attendus pour chaque expédition de message. En outre, s'il arrive que le réseau soit segmenté à cause de la panne d'un noeud ou d'un lien, il est impossible d'assurer l'intégrité du transfert d'informations vers tous les noeuds du réseau ou même vers tous les noeuds d'une segmentation donnée du réseau. Ceci est particulièrement important lorsqu'un arbre recouvrant multi-destinataire est utilisé pour acheminer les informations de topologie de réseau vers tous les noeuds d'un réseau, et qu'une vision cohérente de la topologie du réseau est nécessaire pour un acheminement précis des paquets de données.
Résumé de l'invention
Conformément avec le mode de réalisation qui illustre la présente invention, les informations de topologie sont utilisées à chaque noeud d'un arbre recouvrant afin d'assurer des transmissions fiables vers tous les noeuds de l'arbre recouvrant.
Ces informations comprennent le nombre des voisins immédiats de chaque noeud de l'arbre recouvrant, l'identité de chaque voisin et l'identification du trajet nécessaire à la transmission des messages vers chacun de ces voisins. La répartition fiable de messages multi-destinataires utilise à la fois des accusés de réception aller et retour pour chaque lien de l'arbre recouvrant.
C'est-à-dire que le noeud émetteur émet vers chaque voisin, chaque autre noeud sauf le noeud émetteur diffuse le message multi-destinataire à tous les noeuds voisins de l'arbre recouvrant sauf celui duquel il a été reçu, et que chaque noeud, y compris le noeud émetteur, envoie également un accusé de réception de la réception d'un message à chacun de ses voisins. Chacun de ces noeuds continue à mémoriser le message jusqu'a ce qu'il reçoive un accusé de réception de chacun de ses voisins. Si un noeud ne reçoit pas un accusé de réception de chacun de ses voisins, le message est réémis vers chacun des voisins qui n'ont pas accusé réception de l'émission d'origine, en utilisant ce que l'on appelle une "liaison point-à- point fiable" entre les noeuds contigus. Le message est rejeté une fois qu'un accusé de réception est reçu pour le message depuis chaque voisin immédiat, ou lorsque le message est réémis en utilisant le mécanisme d'émission fiable.
Plus particulièrement, chaque noeud produit une liste de tous les voisins immédiats de l'arbre recouvrant en utilisant les données en cours de sa base de données de topologie lorsqu'un message est reçu. Un accusé de réception du message multi-destinataire reçu est émis vers chacun de ses voisins proches et un temporisateur de délais d'attente est initialisé pendant l'attente des accusés de réception de tous les voisins proches. Si un accusé de réception n'est pas reçu d'un voisin proche ou plus, le message diffusé est réémis vers ces voisins proches, en utilisant un mécanisme d'émission point-à-point "fiable" tel que décrit par E.
J. Weldon, Jr. dans "An Improved Selective-Repeat ARQ Strategy",
EEE Transactions on Communications, vol. COM-30, N03, pages 480 à 486, mars 1982. Avec un tel mécanisme, la délivrance du message est garantie aux niveaux de protocoles inférieurs et peut ainsi être supposée comme étant obtenue en ce qui concerne l'objet de cette invention. Lorsque tous les accusés de réception sont reçus, un délai d'attente est initialisé à la fin duquel le processus est arrêté pour ce noeud. Ce délai d'attente est destiné à s'assurer qu'une réémission retardée à partir d'un autre noeud soit rejetée et ne produise pas un nouveau bouclage multi -destinataire.
Conformément avec une caractéristique de la présente invention, si un noeud reçoit un accusé de réception qui est indéchiffrable, un message d'accusé de réception négatif (NACK) peut être envoyé au voisin qui réémet alors immédiatement le message en utilisant le mécanisme de transmission point-a-point fiable sans attendre le délais d'attente du temporisateur d'accusé de réception. Si l'accusé de réception négatif est perdu, le noeud expéditeur attend jusqu'a la fin du délai d'attente d'accusé de réception.
Ce procédé accroît la vitesse de transmission fiable vers tous les noeuds de l'arbre recouvrant lorsque le message d'origine se perd quelque part pendant la transmission à travers l'arbre recouvrant.
Conformément à encore une autre caractéristique de l'invention, si un noeud reçoit un message multi-destinataire point-a-point fiable avant qu'il ne reçoive le message multi-destinataire d'origine, ce noeud émet immédiatement des copies point-à-point du message vers ses voisins proches à partir desquels un accusé de réception n'a pas encore été reçu, sans attendre l'écoulement du délai d'attente d'accusé de réception. La vitesse de transmission fiable vers tous les noeuds de l'arbre recouvrant lorsqu'on est confronté à une perte de message se trouve de ce fait améliorée.
La configuration de transmission fiable décrite ci-dessus présente l'avantage de permettre à chaque noeud de libérer ses mémoires tampon dès que les accusés de réception sont reçus de tous ses voisins proches. Ces accusés de réception sont transmis par les voisins proches eux-mêmes, ce qui limite le temps de rétention normal au temps de transit sur le seul lien de liaison et ne nécessite qu'un délais d'attente qui dépend du temps de transmission de ce seul lien. Par contre, dans la technique antérieure pour laquelle les noeuds de destination émettaient des accusés de réception vers l'expéditeur, le temps de rétention en mémoire tampon dépendait de la profondeur maximum de l'arbre recouvrant, qui impliquait beaucoup de liens entre les noeuds.
Brève descristion des dessins
La figure 1 représente un schéma synoptique général d'un réseau de communication par paquets dans lequel les procédés et dispositifs de la présente invention peuvent etre utilisés.
La figure 2 représente un schéma synoptique plus détaillé d'un noeud d'acheminement caractéristique représenté sur la figure 1.
La figure 3 représente un schéma synoptique détaillé d'un point de décision de paquet caractéristique représenté sur la figure 2.
La figure 4 représente le format d'un message qui peut être utilisé dans le mécanisme de transmission point-a-point fiable de la présente invention
La figure 5 représente le format d'un message d'accusé de réception qui peut être utilisé dans le mécanisme de transmission multi-destinataire fiable de la présente invention.
La figure 6 représente un schéma de transition d'état pour l'émission de messages multi-destinataires fiables à partir d'un noeud d'expédition du réseau de communication par paquets de la figure 1.
La figure 7 représente un schéma de transition d'état pour la réception de messages multi-destinataires fiables dans un noeud du réseau de communication par paquets de la figure 1, et
La figure 8 représente un exemple qui illustre un arbre recouvrant de noeuds de transmission par paquets et de liens de transmission, montrant le fonctionnement du système de la présente invention lorsqu'il est confronté à un encombrement de noeuds et à une panne de lien.
Afin de faciliter la compréhension du lecteur, des références numériques identiques sont utilisées pour désigner les éléments communs aux figures.
Description détaillée
Sur la figure 1, est représenté un schéma synoptique général 'un réseau de communication par paquets qui comprend une pluralité de noeuds d'acheminement 10 à 18 disposés sur la figure 1 suivant un réseau à deux dimensions régulier. Cependant, les noeuds 10 à 18 peuvent être disposés suivant toute disposition de tracé de liaison quelconque, chaque noeud comportant une pluralité de liens de transmission entrant et une pluralité de liens de transmission sortant, les deux pluralités étant normalement, mais pas nécessairement, égales. Chacun des noeuds 10 à 18 est associé à un ordinateur central qui réalise toutes les fonctions de mémorisation, acheminements et commandes nécessaires pour le fonctionnement du noeud. Chacun des noeuds 10 à 18 peut acheminer des paquets de données à partir d'un quelconque des liens de transmission entrant vers un quelconque des liens de transmission sortant. Comme représenté sur la figure 2, chacun des noeuds 10 à 18 peut comporter un point de décision ou plus 21, 22 ..., 23 qui, à leur tour, sont décrits plus en détail sur la figure 3. Ces figures seront décrites en détail ci-après.
Pour les réseaux de communication par paquets tels que celui représenté sur la figure 1, bien que les itinéraires des paquets soient calculés avant le lancement de tels paquets sur le réseau, les liens de communication réels ne sont pas réservés à ce paquet jusqu'a la réception du paquet au noeud de commutation.
Chaque lien de l'itinéraire est utilisé pour la transmission en réponse à des informations d'acheminement d'un entête d'acheminement qui constitue la partie initiale du paquet. Les entêtes de paquet des données entrantes sont examinés afin de déterminer le ou les liens de transmission sortant appropriés sur lequel le paquet doit être expédié. En réponse aux informations de l'entête, le paquet est réellement transmis sur le ou les liens sortant appropriés.
Sur la figure 2, un noeud de commutation caractéristique est représenté, il correspond aux noeuds 10 à 18 de la figure 1. On notera que chacun de ces noeuds de commutation comprend un point de décision de sous-noeud ou plus 21 à 23 ayant chacun une pluralité de trajets de transmission entrant et une pluralité de trajets de transmission sortant. Comme cela est représenté plus clairement sur la figure 3, les trajets de transmission entrant aux points de décision de sous-noeud 21 à 23 peuvent provenir de noeuds de commutation éloignés du réseau de communication par paquets, de points de décision du même noeud de communication, ou bien des applications des utilisateurs qui ont accès au réseau par paquets à ce noeud de commutation. La disponibilité de plus d'un point de décision permet à chaque noeud de manipuler un nombre quelconque de liens entrant et sortant du fait que le nombre des liens peut être accru en ajoutant des points de décision supplémentaires dans le noeud. Un nombre important d'applications des utilisateurs locaux peut accéder de la même manière à chaque noeud de commutation en utilisant de multiples points de décision.
On notera que le point de décision de la figure 2 est chargé de commuter ou d'expédier des messages à multi-destinataire sans l'aide des ordinateurs centraux H de la figure 1, une fois qu'un arbre recouvrant est établi. Grâce à cette autonomie des points de décision, l'ordinateur central H peut ne pas recevoir un message à multi-destinataire alors que d'autres ordinateurs centraux en aval reçoivent le message. De la même manière, un ordinateur central ne sait jamais si les autres ordinateurs centraux ont reçu un message multi-destinataire sans recevoir un accusé de réception (ACK) de cet ordinateur central. Enfin, un ordinateur central ne reçoit pas nécessairement un message multidestinataire plutôt que les autres ordinateurs centraux qui sont en aval dans l'arbre recouvrant.
Sur la figure 3, est représenté un sous-noeud caractéristique de point de décision de paquet tel que les points de décision 21 à 23 de la figure 2. Le point de décision de la figure 3 comprend une structure de commutation de paquet 33 et une pluralité d'adaptateurs 30, 31, ..., 32 et 34, 35 ..., 36. La structure de commutation 33 fonctionne de manière à connecter sélectivement l'un quelconque des adaptateurs 30 à 32, 34 à 36 à un autre de ces adaptateurs. La structure de commutation 33 peut par exemple comprendre un bus à partage de temps sur lequel les signaux numériques sont écrits et lus dans la même tranche de temps par les deux adaptateurs reliés l'un à l'autre. Les adaptateurs 30 à 32 et 34 à 36 sont de deux sortes, des adaptateurs de transmission pour connecter les liens à l'intérieur du noeud ou entre les noeuds, et les adaptateurs des applications d'utilisateurs pour connecter les utilisateurs du réseaux par paquets. De tels adaptateurs d'utilisateur et de transmission peuvent être mélangés en toute proportion à chaque point de décision, suivant uniquement les nécessités locales. Les utilisateurs sont reliés au système de communication par paquets à chaque noeud ou sous-noeud au moyen d'adaptateurs d'application d'utilisateur similaires aux adaptateurs 30 à 32 de la figure 3.
Les adaptateurs 30 à 32 et 34 à 36 et la structure de commutation 33 sont tous commandés par les ensembles de gestion de connexion 37, qui sont de manière caractéristique des programmes de l'ordinateur central ("H" sur la figure 1), mais peuvent également être réalisés par des liens spécialisés. Les fonctions fournies par les ensembles de gestion de connexion 37 sont complétées par une base de données de topologie de réseau 38 qui contient et conserve un enregistrement de mise à jour de toutes les ressources disponibles sur le réseaux par paquets.
Ces enregistrements des ressources sont utilisés pour calculer les trajets de transmission entre des applications d'utilisateur d'origine et de destination et pour calculer les trajets sur l'arbre afin d'interconnecter une pluralité d'applications d'utilisateur. La transmission multi-destinataire des paquets est bien connue et est décrite dans "Multipoint connection
Management in High Speed Networks", par Bubenik et al.,
Proceedings of the IEEE INFOCOM 1991, avril 1991, et dans "Reliable Multiuser Tree Setup with Local Identifiers", par Segall et al., IBM Research Report, décembre 1990, de même que dans la demande en attente de E. Hervatic et al., numéro de série 07/900 628 déposée le 18 juin 1992 et cédée au cessionnaire de la présente demande. La base de données de topologie de réseau 38 contient, parmi d'autres données, l'identité de tous les voisins immédiats du noeud de commutation qui sont sur chaque arbre recouvrant multi-destinataire.
Comme cela sera décrit ci-après, la liste de tels voisins immédiats est construite à chaque fois qu'un message multidestinataire est reçu, ce qui fait partie de la conception mutidestinataire fiable de la présente invention.
Sur la figure 4, est illustré une représentation graphique de ce que l'on appelle un message fiable transmis point-a-point entre des noeuds contigus, en mettant en pratique des parties de la présente invention Le message fiable de la figure 4 comprend un entête 40 qui contient un code identifiant ce message particulier comme étant un message fiable point-à-point. Dans le champ 41 sur la figure 4 est contenue l'identification du message multi-destinataire original lui-même comme un identificateur de connexion de transfert pleinement adapté (FQ TCID). Dans le champ 42 de la figure 4 se situe le message multi-destinataire lui-même. Comme on l'a remarqué ci-dessus, des messages fiables tels que représentés sur la figure 4 peuvent être transmis par un mécanisme de transmission point-à-point fiable entre des paires de noeuds de commutation de paquet du réseau de communication par paquets de la figure 1.
Sur la figure 5, est illustrée une représentation graphique d'un message d'accusé de réception caractéristique qui est transmis à tous les voisins proches lorsqu'un message multi-destinataire est reçu à un noeud de commutation quelconque du système de la figure 1. De tels accusés de réception sont échangés entre chaque paire contigue de noeuds sur un arbre recouvrant multi-destinataire lorsque le message multi-destinataire est expédié entre les deux noeuds.
Le message d'accusé de réception de la figure 5 comprend un champ 50 qui contient un code d'identification d'accusé de réception unique et un champ 51 qui contient l'identificateur de connexion de transfert pleinement adapté (FQ TCID) associé avec le message multi-destinataire d'origine.
Le système d'acheminement de message multi-destinataire fiable de la présente invention sera décrit en ce qui concerne le processus qui se produit à chaque noeud lorsqu'un message multidestinataire est reçu à ce noeud et le processus qui se produit au noeud expéditeur lorsqu'un message multi-destinataire est émis à partir de ce noeud sur l'arbre recouvrant du réseau. Dans le mode de réalisation préféré, ces processus sont réalisés en programmant les ordinateur centraux "H" de la figure 1. Ces processus programmés seront mieux décrits au moyen d'organigrammes indiquant la séquence des actions qui doivent être exécutées en réponse aux événements qui se produisent à ce noeud. Une représentation utile d'un tel organigramme est appelée une machine à état fini (FSM) du fait que chaque événement (entrée) amène le processus à se déplacer vers un nouvel état et à effectuer des actions précisées pour cet état. Une description complète et précise de tous les états possibles de la machine à état fini, de toutes les entrées possibles vers les machines à état fini, et de toutes les actions qui peuvent être prises dans chaque état de la machine à état fini est considérée comme constituant la description adéquate et en fait la plus précise possible du système multi-destinataire fiable de la présente invention. Les figures 6 et 7 sont des organigrammes de la machine à état fini pour expédier et recevoir, respectivement, un message multi-destinataire à un noeud quelconque du système de la figure 1. Les processus des figures 6 et 7 supposent que le noeud en question n'a que trois voisins immédiats sur l'arbre recouvrant afin de simplifier l'illustration de la présente invention. Les tableaux 1 à 4 ci-après procurent les memes états, entrées et données d'action à un nombre indéterminé de voisins proches sur l'arbre recouvrant. On notera qu'un grand nombre de messages multi-destinataires peuvent exister simultanément, et que de ce fait un certain nombre de machines à état fini d'expédition et de réception (FSM) peuvent exister simultanément. Les machines à état fini peuvent de ce fait être identifiées au mieux par l'identification du message multi-destinataire correspondant.
En se référant maintenant à la figure 6, un organigramme d'une machine à état fini est représenté, lequel peut être utilisé pour réaliser l'algorithme de transmission multi-destinataire fiable de la présente invention pour un noeud comportant trois voisins immédiats sur l'arbre recouvrant sur lequel le message multidestinataire a été délivré. L'organigramme de la figure 6 comporte des pavés 60, 62, 64, 66 et 68 qui correspondent aux cinq états distincts de la machine à état fini. Le pavé 60 (état 1) représente l'état de repos ou inactif dans lequel les machines à état fini restent jusqu'à ce que le noeud soit prêt à émettre le message multi-destinataire aux 3 noeuds immédiatement contigus de l'arbre sur l'arbre recouvrant multi-destinataire. Le système reste à l'état 1 la plupart du temps du fait que les messages multi-destinataires ne sont émis qu'occasionnellement.
Lorsqu'un ordinateur central produit un message à émettre sur l'arbre recouvrant (Entrée I1), la transition représentée par la flèche 61 se produit, ce qui amène le système dans l'état 2.
Simultanément, l'Action A est lancée. L'Action A implique l'utilisation de cette nouvelle machine à état fini pour traiter cette répartition des messages multi-destinataires. La machine à état fini est identifiée au moyen de la même identification de connexion de transfert pleinement adaptée (FQ TCID) que celle qui est utilisée sur les figures 4 et 5 afin d'identifier le message.
En même temps, action A nécessite qu'une liste des voisins proches soit créée. Cette liste, appelée la "Liste~explicite", est produite à partir des informations d'arbre recouvrant mémorisées dans la base de données de topologie 38 de la figure 3. La
Liste~explicite n'est pas crée plus tôt du fait que la topologie du système de communication par paquets (figure 1) varie continuellement à cause de l'ajout de nouveaux noeuds et de nouveaux liens de transmission, et à cause de la suppression de noeuds et de liens qui sont en panne ou obsolètes. En outre, l'appartenance à l'arbre recouvrant varie continuellement de la même manière. Il serait de ce fait inapproprié de produire une Listeexplicite avant l'émission réelle d'un message multidestinataire. Enfin, l'Action A démarre également un temporisateur de délai d'attente d'accusé de réception, appelée "Temporisateur~ACK" qui mesure le temps le plus long escompté jusqu'au retour des accusés de réception (comme sur la figure 5) venant de tous les voisins proches. On notera que le délai d'attente du Temporisateur~ACK est le temps le plus long escompté pour le trajet aller et retour des messages envoyés entre deux noeuds contigus, et non pas le temps de transmission aller et retour multi-liaison comme dans les commandes de retransmission de la technique antérieure. Le système reste à l'état 2 jusqu'à ce que le premier accusé de réception soit reçu.
Lorsque le premier accusé de réception est reçu (Entrée I2), ou si un message point-à-point fiable ("Message~local") est reçu (Entrée
I4), et que le noeud expéditeur figure sur la Liste~explicite, on sort du pavé 62 (Etat 2) par la flèche 63 et on entre dans le pavé 64 (Etat 3) On suppose que l'identité de l'expéditeur du Messagelocal ou qu'un accusé de réception est fourni à l'ordinateur central H (figure 1) par le mécanisme d'acheminement utilisé pour la retransmission du message reçu. Si un accusé de réception est reçu, ou si un Messagelocal est reçu et si le noeud expéditeur ne figure pas sur la Liste explicite (Entrées I3 ou
I5), on suit la flèche 69 ce qui maintient le système dans le pavé 62 (Etat 2). L'entrée du Messagelocal sera présentée ci-après.
Les accusés de réception successifs ou les Messages~locaux des second et troisième noeuds immédiatement contigus (Entrées I2 et
I4) sur l'arbre recouvrant déplacent successivement le système en suivant la flèche 65 vers le pavé 66 (Etat 4) et en suivant la flèche 67 vers le pavé 68 (Etat 5), dans la mesure où les noeuds expéditeurs figurent sur la Liste~explicite. Si le noeud expéditeur n'est pas sur la Liste explicite, l'accusé de réception du Message~local est ignoré, en suivant les flèches 70 et 71, et le système reste dans le même état. Lorsque le système passe du pavé 62 (Etat 2), au pavé 64 (Etat 3), au pavé 66 (Etat 4), au pavé 68 (Etat 5), en suivant les flèches 63, 65 et 67 respectivement, l'identification du noeud expéditeur est supprimée de la Liste~explicite. La Liste~explicite devient vide lorsque l'on entre dans le pavé 68 du fait de la réception des accusés de réception ou des Messages~locaux. A ce moment, le
Temporisateur~ACK est arrêté et un autre temporisateur, appelé "Temporisateur~de rejet", est démarré. Le Temporisateur~de rejet est initialisé avec une durée après laquelle la machine à état fini peut être libérée. La machine à état fini de la figure 6 peut alors revenir à un état de repos (pavé 60, Etat 1) en suivant la flèche 76. L'intervalle de temps du Temporisateur~de rejet est d'une longueur suffisante pour s'assurer qu'un ancien message multi-destinataire ne soit pas de nouveau reçu et traité en tant que nouveau message multi-destinataire.
Si la temporisation du Temporisateur~ACK est écoulée pendant les états 2, 3 ou 4, (Entrée I6) on suit les flèches 73, 74 ou 75 respectivement, pour se déplacer directement vers l'Etat 5 du pavé 68. C'est-à-dire, que si la temporisation du Temporisateur~ACK est écoulée, il est peu probable que les accusés de réception attendus mais non encore reçus ne soient jamais reçus. Dans ce cas, on effectue l'Action D. Lors de l'Action D, le message multidestinataire est retransmis (en tant que Message local) vers tous les noeuds voisins qui restent sur la Liste~explicite, en utilisant le mécanisme de transmission point-à-point fiable de remplacement. En même temps, la Liste~explicite est vidée, le
Temporisateur~ACK est arrêté et le Temporisateur~de rejet est démarré. C'est-à-dire qu'une fois que les Messages~locaux sont émis, on suppose qu'ils seront reçus, et la machine à état fini de la figure 6 commence à décompter la durée.
La machine à état
Les états décrits suivant la figure 6 peuvent être résumés comme suit
Etat 1 : Inactif.
Etat 2 : Message multi-destinataire émis, pas d'accusé de réception reçu.
Etat 3 : Message multi-destinataire émis, 1 accusé de réception reçu.
Etat 4 : Message multi-destinataire émis, 2 accusés de réception reçus.
Etat 5 : Message multi-destinataire émis, ensemble des 3 accusés de réception reçus ou écoulement de la temporisation d'accusé de réception.
De la même manière, les entrées décrites suivant la figure 6 peuvent être résumées comme suit
Entrée 1 : Message à émettre en multi-destination.
Entrée 2 : Accusé de réception reçu, émetteur figurant dans la Liste~explicite, ou pas de liste.
Entrée 3 : Accusé de réception reçu, expéditeur ne figurant pas dans la Liste~explicite.
Entrée 4 : Messagelocal reçu, expéditeur figurant dans la Liste~explicite, ou pas de liste.
Entrée 5 : Message~local reçu, expéditeur ne figurant pas dans la
Liste explicite.
Entrée 6 : Temporisation du Temporisateur~ACK écoulée.
Entrée 7 : Temporisation du Temporisateur~de rejet écoulée.
Les actions décrites suivant la figure 6 sont résumées dans le tableau 1.
TABLEAU 1
CODES D'ACTION DE MACHINE A ETAT FINI POUR L'ENVOI DE MESSAGES
MULTI-DESTINATAIRES
Figure img00170001
<tb> <SEP> Code <SEP> de <SEP> l'action <SEP> Description <SEP> de <SEP> l'action
<tb> <SEP> Identifier <SEP> la <SEP> machine <SEP> à <SEP> état <SEP> fini <SEP> avec
<tb> <SEP> l'identificateur <SEP> de <SEP> connexion <SEP> de
<tb> <SEP> A <SEP> transfert <SEP> du <SEP> message.
<tb>
<SEP> Emettre <SEP> le <SEP> message <SEP> multi-destinataire.
<tb>
<SEP> Créer <SEP> la <SEP> Liste~explicite.
<tb>
<SEP> Lancer <SEP> le <SEP> Temporisateur~ACK.
<tb>
<SEP> Supprimer <SEP> l'expéditeur <SEP> du <SEP> Message~local
<tb> <SEP> ou <SEP> de <SEP> l'accusé <SEP> de <SEP> réception <SEP> de <SEP> la
<tb> <SEP> Listeexplicite. <SEP>
<tb>
<SEP> Si <SEP> la <SEP> Liste~explicite <SEP> devient <SEP> vide
<tb> <SEP> B <SEP> Eliminer <SEP> la <SEP> Liste~explicite. <SEP>
<tb>
<SEP> Lancer <SEP> le <SEP> Temporisateur~de <SEP> rejet.
<tb>
<SEP> Arrêter <SEP> le <SEP> Temporisateur~ACK.
<tb>
<SEP> C <SEP> Ignorer <SEP> le <SEP> message.
<tb>
<SEP> Envoyer <SEP> le <SEP> Messagelocal <SEP> aux <SEP> éléments
<tb> <SEP> de <SEP> la <SEP> Liste~explicite.
<tb>
<SEP> D <SEP> Eliminer <SEP> la <SEP> Liste~explicite.
<tb>
<SEP> Démarrer <SEP> le <SEP> Temporisateur~de <SEP> rejet.
<tb>
<SEP> Arrêter <SEP> le <SEP> Temporisateur <SEP> ACK.
<tb>
Supprimer <SEP> l'identification <SEP> de <SEP> la
<tb> x <SEP> E <SEP> machine <SEP> a <SEP> état <SEP> fini.
<tb>
Sur la figure 7 est représenté un organigramme d'une machine à état fini pour réaliser le processus nécessaire pour traiter la réception d'un message multi-destinataire dans l'algorithme multidestinataire fiable de la présente invention. L'organigramme de la figure 7 comprend les pavés 80, 82, 84, 86, 88 et 90, correspondant aux Etats 1, 2, 3, 4, 5, et- 6 de la machine à état fini. De nouveau, la machine à état fini représentée sur la figure 7 suppose qu'il n'y a que trois noeuds voisins proches du noeud qui effectue le processus de la figure 7. Un nombre plus petit ou plus grand de noeuds proches peut être mis en oeuvre au moyen d'une extension évidente de l'organigramme de la figure 7.
Le pavé 80 (Etat 1) est l'état de repos ou inactif qui se produit lors de l'attente de la réception d'un message multi-destinataire au noeud. Lorsqu'un premier accusé de réception et reçu (Entrée I1), la machine à état fini est créée et identifiée par l'identificateur de connexion de transfert pleinement adapté (FQ
TCID) utilisé pour identifier le message multi-destinataire qui est identifié dans l'accusé de réception (figure 5). On suit alors la flèche 81 vers le pavé 82 (Etat 2) où la réception du message multi-destinataire lui-même est attendue. En même temps, l'identification du noeud qui envoie l'accusé de réception est mémorisée dans une liste appelée la "Liste~de réception". Si un accusé de réception est reçu pendant l'état de repos (Etat 1), on suppose qu'un noeud voisin proche a reçu un message multidestinataire et a émis l'accusé de réception à tous ses voisins proches y compris ce noeud. Ceci constitue une situation anormale du fait que dans la situation normale, un accusé de réception est reçu après le message multi-destinataire d'origine. Cependant, si un accusé de réception est reçu avant le message multidestinataire lui-même, on suppose qu'une panne quelconque s'est produite, et on entre dans le pavé 82 (Etat 2) afin d'attendre le message multi-destinataire lui-même (ou un Message~local contenant le message multi-destinataire d'origine). On entre dans le pavé 84 (Etat 3) directement si un message multi-destinataire est reçu avant qu'un accusé de réception ne soit reçu.
Si d'autres accusés de réception sont reçus pour ce message multidestinataire pendant l'Etat 2, on suit la flèche 91 afin de rester dans le pavé 82 (Etat 2), alors que l'identification du noeud d'expédition est ajoutée à la Liste~de réception. Si le message multi-destinataire est reçu pendant l'Etat 2 (pavé 82) (Entrées I4 à I7), on suit les flèches 83, 96, 97 ou 98 vers le pavé 84 (Etat 3), 86 (Etat 4), 88 (Etat 5) ou 90 (Etat 6), respectivement.
L'Action E nécessite l'élaboration d'une Liste explicite. Tout noeud expéditeur figurant sur la Liste~de réception est supprimé de la Liste~explicite du fait que des accusés de réception ont déjà été reçus depuis ces noeuds. Le Temporisateur~ACK est lancé à cet instant (sauf si la Liste explicite est vide) afin de temporiser la réception des accusés de réception. Si la
Liste explicite devient vide pendant cette opération, tous les noeuds voisins ont accusé réception du message multi-destinataire et la Listeexplicite peut être éliminée et le Temporisateur~de rejet peut être lancé.
Si un message multi-destinataire est reçu pendant lWEtat 1 (pavé 80), ceci signifie qu'aucun accusé de réception n'a été reçu et qu'il n'y a pas de Liste~de réception (Entrée 3). La machine à état fini de la figure 7 est de ce fait identifiée par l'identificateur de connexion de transfert à cet instant et on suit immédiatement la flèche 100 vers l'Etat 3 (pavé 84) et l'Action E, comme décrit ci-dessus, est entreprise. C'est-à-dire, qu'une Liste~explicite est créée qui contient toutes les identifications des voisins proches de ces noeuds sur l'arbre recouvrant, et le Temporisateur~ACK est lancé. Le système reste à l'Etat 3 (pavé 84) pendant qu'il attend les accusés de réception des noeuds voisins. On emprunte la flèche 85 si un accusé de réception (Entrée I1) ou un Message local (Entrée I8) est reçu, et si le noeud expéditeur figure sur la Liste~explicite. A mesure que le nouvel accusé de réception (ou Message~local) est reçu, la machine à état fini avance d'un état et le noeud expéditeur est supprimé de la Liste~explicite. De cette manière, le système se déplace successivement du pavé 84 (Etat 3) au pavé 86 (Etat 4), au pavé 88 (Etat 5) et au pavé 90 (Etat 6). La Liste~explicite devient vide lorsque l'on entre dans le pavé 90 (Etat 6). A cet instant, le Temporisateur~ACK est arrêté et le Temporisateur~de rejet est démarré. Si les accusés de réception ou le Message~local sont reçus depuis les noeuds qui ne figurent pas sur la
Liste~explicite (ou après que la Liste~explicite soit éliminée) dans les pavés 84, 86, 88 ou 90, l1état reste le même en suivant les flèches 92, 93, 94 ou 95, respectivement. Si l'écoulement du temps d'attente d'accusé de réception se produit dans le pavé 84, 86 ou 88 (Entrée I10), on suit la flèche 101 (Action G) et une copie du Message~local point-à-point fiable du message multidestinataire est expédiée à tous les noeuds voisins qui figurent encore sur la Liste~explicite (pour lesquels les accusés de réception n'ont pas été reçus). La Liste~explicite peut alors être éliminée et le Temporisateur~de rejet démarré. Lorsque le temps d'attente du Temporisateur~de rejet est écoulé, on suit la flèche 102 afin de revenir à l'état de repos (pavé 80) et la machine à état fini est disponible pour être utilisée avec le message reçu suivant.
Si, comme on l'a remarqué plus haut, on reçoit un tel message multi-destinataire pendant que l'on attend la réception d'un message multi-destinataire dans l'Etat 2 (pavé 82), la
Liste explicite est alors élaborée. Si aucune identification de noeud de la Liste~de réception ne figure dans la Liste~explicite, on suit la flèche 83 afin d'entrer dans l'Etat 3 (pavé 84) comme décrit ci-dessus. Si toutefois, il existe une identification de noeud de la Liste~de réception qui figure dans la Liste~explicite au moment où le message multi-destinataire est reçu, on entre directement dans l'Etat 4 (pavé 86) en suivant la flèche 96. De la meme manière, si deux ou trois identifications de noeud de la
Liste~de réception figurent dans la Liste explicite au moment où le message multi-destinataire est reçu, on entre dans lwEtat 5 (pavé 88) ou dans l'Etat 6 (pavé 90) en suivant les flèches 97 ou 98, respectivement. Les noeuds de la Liste~de réception, s'il y en a, sont supprimés de la Liste~explicite. Si, pendant ce processus, la Liste~explicite devient vide, le Temporisateur~de rejet est lancé (Action E). Si la Liste explicite ne devient pas vide, le
Temporisateur~ACK est lancé. On notera que les actions "si" décrites ci-dessus sont pleinement déterminées par l'état actuel de la machine à état fini (FSM), et ne sont décrites ici que dans un but d'exhaustivité.
Si, pendant ltEtat 1 (pavé 80) ou lwEtat 2 (pavé 82) un Messagelocal est reçu d'un expéditeur, on suit respectivement les flèches 103 ou 99 directement vers l'Etat 6 (pavé 90). C'est-àdire, que si un Message~local est reçu pendant l'attente d'un message multi-destinataire, il est évident qu'une panne quelconque s'est produite qui a bloqué le message multi-destinataire. Sous ces conditions, l'Action F est entreprise. La machine à état fini est identifiée avec l'identificateur de connexion de transfert du message si elle n'a pas déjà été identifiée précédemment, et une
Liste~explicite est élaborée et les noeuds de la Liste~de réception, s'il y en a, sont supprimés de la Liste~explicite. Un accusé de réception est envoyé à tous les noeuds, sauf l'expéditeur, qui sont sur la Liste~explicite et également sur la Liste~de réception. Un Messagelocal est envoyé à tous les noeuds, sauf au noeud expéditeur, qui figurent sur la Liste~explicite mais pas sur la Liste~de réception. Ces deux listes sont alors éliminées et le Temporisateur~de rejet est lancé.
Les états décrits ci-dessus suivant la figure 7 peuvent être résumés comme suit
Etat 1 : Etat de repos.
Etat 2 : Attente d'un message multi-destinataire.
Etat 3 : Message multi-destinataire reçu, pas d'accusé de réception reçu.
Etat 4 : Message multi-destinataire reçu, 1 accusé de réception reçu.
Etat 5 : Message multi-destinataire reçu, 2 accusés de réception reçus.
Etat 6 : Message multi-destinataire reçu, les 3 accusés de réception sont reçus.
De la même manière, les entrées décrites suivant la figure 7 peuvent être résumées comme suit
Entrée 1 : Accusé de réception reçu, expéditeur figurant sur la Listeexplicite ou il n'existe pas de Liste~explicite.
Entrée 2 : Accusé de réception reçu, expéditeur ne figurant sur la
Liste explicite.
Entrée 3 : Message multi-destinataire reçu, il n'existe pas de
Liste~de réception.
Entrée 4 : Message multi-destinataire reçu, aucun élément de la Liste~de réception ne figure dans la Liste~explicite.
Entrée 5 : Message multi-destinataire reçu, 1 élément de la Liste~de réception figure dans la Liste~explicite.
Entrée 6 : Message multi-destinataire reçu, 2 éléments de la Liste~de réception figurent dans la Liste~explicite.
Entrée 7 : Message multi-destinataire reçu, 3 éléments de la Liste~de réception figurent dans la Liste~explicite.
Entrée 8 : Message local reçu, l'expéditeur figure dans la
Liste explicite ou il n'existe pas de Liste~explicite.
Entrée 9 : Messagelocal reçu, l'expéditeur ne figure pas dans la
Liste explicite
Entrée 10 : Ecoulement du délai d'attente du Temporisateur~ACK.
Entrée 11 : Ecoulement du délai d'attente du Temporisateur~de rejet.
Les actions décrites suivant la figure 7 sont résumées dans le tableau 2.
Entrée 11 : Ecoulement du délai d'attente du Temporisateur~de rejet.
Les actions décrites suivant la figure 7 sont résumées dans le tableau 2.
TABLEAU 2
CODES D'ACTION DE LA MACHINE A ETAT FINI POUR LA ré RECEPTION DE
MESSAGES DIFFUSES
Figure img00230001
<tb> Code <SEP> de
<tb> l'action <SEP> Description <SEP> de <SEP> l'action
<tb> <SEP> Identifier <SEP> la <SEP> machine <SEP> à <SEP> état <SEP> fini <SEP> avec
<tb> <SEP> l'identificateur <SEP> de <SEP> connexion <SEP> de <SEP> transfert <SEP> du <SEP> message
<tb> <SEP> multi-destinataire. <SEP>
<tb>
<SEP> A <SEP> Mémoriser <SEP> l'expéditeur <SEP> de <SEP> l'accusé <SEP> de <SEP> réception <SEP> dans
<tb> <SEP> la <SEP> Liste~de <SEP> réception.
<tb>
<SEP> Mémoriser <SEP> l'expéditeur <SEP> de <SEP> l'accusé <SEP> de <SEP> réception <SEP> dans
<tb> <SEP> B <SEP> la <SEP> Liste~dela <SEP> réception.
<tb>
<SEP> Sortir <SEP> l'expéditeur <SEP> de <SEP> l'accusé <SEP> de <SEP> réception <SEP> ou <SEP> le
<tb> <SEP> Message <SEP> local <SEP> de <SEP> la <SEP> Liste~explicite.
<tb>
<SEP> Si <SEP> la <SEP> Liste <SEP> explicite <SEP> devient <SEP> vide
<tb> <SEP> C <SEP> Eliminer <SEP> la <SEP> Liste~explicite.
<tb>
<SEP> Lancer <SEP> le <SEP> Temporisateur~de <SEP> rejet.
<tb>
<SEP> Arrêter <SEP> le <SEP> Temporisateur~ACK.
<tb>
<SEP> D <SEP> Ignorer <SEP> le <SEP> message.
<tb>
<SEP> Identifier <SEP> la <SEP> machine <SEP> à <SEP> état <SEP> fini, <SEP> si <SEP> elle <SEP> n'est <SEP> pas
<tb> <SEP> encore <SEP> identifiée.
<tb>
<SEP> Elaborer <SEP> la <SEP> Liste~explicite.
<tb>
<SEP> S'il <SEP> existe <SEP> une <SEP> Liste~de <SEP> réception
<tb> <SEP> E <SEP> Sortir <SEP> les <SEP> expéditeurs <SEP> des <SEP> accusés <SEP> de <SEP> réception
<tb> <SEP> mémorisés <SEP> de <SEP> la <SEP> Liste~explicite. <SEP> Si <SEP> la
<tb> <SEP> Liste~explicite <SEP> est <SEP> vide
<tb> <SEP> Eliminer <SEP> la <SEP> Liste~explicite <SEP> et <SEP> lancer <SEP> le
<tb> <SEP> Temporisateur~de <SEP> rejet.
<tb>
<SEP> Sinon <SEP> lancer <SEP> le <SEP> Temporisateur <SEP> ACK.
<tb>
<SEP> Identifier <SEP> la <SEP> machine <SEP> à <SEP> état <SEP> fini, <SEP> si <SEP> elle <SEP> n'est <SEP> pas
<tb> <SEP> encore <SEP> identifiée.
<tb>
<SEP> Elaborer <SEP> la <SEP> Liste~explicite.
<tb>
<SEP> Envoyer <SEP> le <SEP> Message~local <SEP> aux <SEP> éléments <SEP> de <SEP> la
<tb> <SEP> Liste~explicite <SEP> qui <SEP> ne <SEP> figurent <SEP> pas <SEP> dans <SEP> la <SEP> Liste~de
<tb> <SEP> réception.
<tb>
<SEP> F <SEP> (Sauf <SEP> l'expéditeur <SEP> du <SEP> Messagelocal). <SEP>
<tb>
<SEP> Envoyer <SEP> l'accusé <SEP> de <SEP> réception <SEP> aux <SEP> éléments <SEP> de <SEP> la
<tb> <SEP> Liste~explicite <SEP> figurant <SEP> également <SEP> dans <SEP> la <SEP> Liste~de
<tb> <SEP> réception <SEP> (Sauf <SEP> l'expéditeur <SEP> du <SEP> Message~local). <SEP>
<tb>
<SEP> Eliminer <SEP> la <SEP> Liste~explicite <SEP> et- <SEP> la <SEP> Liste~de <SEP> réception.
<tb>
<SEP> Lancer <SEP> le <SEP> Temporisateur~de <SEP> rejet.
<tb>
<SEP> Expédier <SEP> le <SEP> Message~local <SEP> à <SEP> l'élément <SEP> de <SEP> la
<tb> <SEP> Liste~explicite. <SEP>
<tb>
<SEP> G <SEP> Eliminer <SEP> la <SEP> Liste~explicite.
<tb>
<SEP> Lancer <SEP> le <SEP> Temporisateur <SEP> de <SEP> rejet.
<tb>
<SEP> H <SEP> H <SEP> Supprimer <SEP> l'identification <SEP> de <SEP> la <SEP> machine <SEP> à <SEP> état <SEP> fini
<tb>
On a supposé sur les figures 6 et 7 que seuls trois voisins proches existaient sur l'arbre recouvrant. Le nombre des voisins proches peut en réalité varier de un à tout nombre quelconque. Si le nombre de voisins proches est N, alors N + 2 états sont nécessaires à la machine à état fini d'expédition et N + 3 états sont nécessaires à la machine à état fini de réception. Un tableau de changement d'état concernant une machine à état fini d'expédition qui comporte un nombre quelconque de voisins proches est représenté sur le tableau 3 alors qu'un tableau de changement d'état d'une machine à état fini de réception qui comporte un nombre quelconque de voisins proches est représenté sur le tableau 4.
TABLEAU 3
TABLEAU DE CHANGEMENT D'ETAT D'UNE MACHINE A ETAT FINI
D'EXPEDITION DE MESSAGES DIFFUSES
Figure img00250001
<tb> Numéro <SEP> d'état <SEP> : <SEP> 1 <SEP> i+3 <SEP> N+3 <SEP>
<tb> Nom <SEP> de <SEP> l'état <SEP> : <SEP> Machine <SEP> à <SEP> état <SEP> Expédition <SEP> multi- <SEP> Multi-destinataires
<tb> <SEP> fini <SEP> au <SEP> repos <SEP> destinataire, <SEP> terminés <SEP> ont <SEP> tous
<tb> <SEP> i <SEP> accusé <SEP> de <SEP> réception <SEP> envoyé <SEP> des <SEP> accusés
<tb> <SEP> i <SEP> = <SEP> O-(N-1) <SEP> de <SEP> réception
<tb> Entrées <SEP> :
<tb> Message <SEP> à <SEP> etre <SEP>
<tb> expédié <SEP> au <SEP> multi- <SEP> 2/A <SEP> / <SEP>
<tb> destinataire
<tb> Accusé <SEP> de <SEP> réception
<tb> (figurant <SEP> dans <SEP> la
<tb> Liste~explicite <SEP> ou <SEP> <SEP> / <SEP> / <SEP> / <SEP>
<tb> il <SEP> n'existe <SEP> pas <SEP> de
<tb> Liste~explicite)
<tb> Accusé <SEP> de <SEP> réception
<tb> (ne <SEP> figure <SEP> pas <SEP> dans <SEP> / <SEP> -/c <SEP> <SEP> / <SEP>
<tb> la <SEP> Liste~explicite)
<tb> Message~local
<tb> (figurant <SEP> dans
<tb> la <SEP> Liste~explicite <SEP> / <SEP> i+3/B <SEP> -/c
<tb> ou <SEP> il <SEP> n'existe <SEP> pas
<tb> de <SEP> Liste~explicite)
<tb> Message~local <SEP> (ne
<tb> figurant <SEP> pas <SEP> dans <SEP> / <SEP> -/c <SEP> /
<tb> la <SEP> Liste~explicite)
<tb> Fin <SEP> de <SEP> temporisation
<tb> d'accusé <SEP> de <SEP> réception <SEP> / <SEP> N+2/D <SEP> /
<tb> Fin <SEP> de
<tb> Temporisateur~ <SEP> / <SEP> <SEP> / <SEP> <SEP> 1/E
<tb> de <SEP> rejet
<tb>
On notera qu'une barre oblique (/tut) dans une position du tableau de changement d'état signifie que cet événement ne peut pas se produire. Un trait d'union ("-") à une position du tableau de changement d'état signifie qu'aucun changement d'état ne se produit. On doit également noter que la panne d'un lien dans l'arbre recouvrant est toujours traitée comme un accusé de réception émis par le noeud qui est à l'autre extrémité du lien en panne. Ceci permet au noeud d'effectuer une réémission sans attendre l'écoulement de la temporisation d'accusé de réception.
Comme on a remarqué ci-dessus, le tableau de changement d'état pour une machine à état fini de réception comportant un nombre quelconque de voisins proches est représentée dans le tableau 4
TABLEAU 4
TABLEAU DE CHANGEMENT D'ETAT D'UNE MACHINE A ETAT FINI DE
RECEPTION DE MESSAGES DIFFUSES
Figure img00270001
<tb> <SEP> Numéro <SEP> d'état <SEP> <SEP> 1 <SEP> 2 <SEP> i+3 <SEP> N+3
<tb> <SEP> Nom <SEP> de <SEP> l'état <SEP> : <SEP> Machine <SEP> Attente <SEP> d'un <SEP> Messages <SEP> multi- <SEP> Messages <SEP> multi
<tb> <SEP> état <SEP> message <SEP> multi- <SEP> destinataire <SEP> destinataire
<tb> <SEP> fini <SEP> destinataire <SEP> recus <SEP> terminés, <SEP> tous
<tb> <SEP> au <SEP> repos <SEP> i <SEP> accusés <SEP> les <SEP> accusés <SEP> de
<tb> <SEP> de <SEP> réception <SEP> réception <SEP> sont
<tb> <SEP> recus
<tb> <SEP> Entrées
<tb> <SEP> L'accusé <SEP> de
<tb> <SEP> réception
<tb> <SEP> figure <SEP> dans <SEP> la
<tb> <SEP> Liste~explicite <SEP> 2/A <SEP> 2/B <SEP> i+4/C <SEP> -/D
<tb> <SEP> ou <SEP> il <SEP> n'existe <SEP> pas
<tb> <SEP> de <SEP> Liste~explicite
<tb> <SEP> L'accusé <SEP> de
<tb> <SEP> réception <SEP> ne
<tb> <SEP> figure <SEP> pas <SEP> dans <SEP> / <SEP> / <SEP> -/D
<tb> <SEP> la <SEP> Listeexplicite <SEP>
<tb> <SEP> Multi-destinataire
<tb> <SEP> (pas <SEP> de <SEP> Liste~de <SEP> 3/E <SEP> / <SEP> -/D
<tb> <SEP> réception)
<tb> <SEP> Multi-destinataire,
<tb> <SEP> i <SEP> figure <SEP> sur <SEP> la
<tb> <SEP> Liste~de <SEP> réception
<tb> <SEP> et <SEP> également <SEP> sur <SEP> la <SEP> / <SEP> i+3/E <SEP> /
<tb> <SEP> Liste~explicite,
<tb> <SEP> i <SEP> = <SEP> O,. <SEP> .,N.
<tb>
<SEP> Message~local
<tb> <SEP> (figure <SEP> dans <SEP> la
<tb> <SEP> Liste~explicite
<tb> <SEP> ou <SEP> il <SEP> n'existe <SEP> pas <SEP> N+3/F <SEP> <SEP> N+3/F <SEP> i+4/C <SEP>
<tb> <SEP> de <SEP> Liste~explicite)
<tb> <SEP> Message~local <SEP> (ne
<tb> <SEP> figure <SEP> pas <SEP> dans <SEP> la <SEP> / <SEP> / <SEP> -/D <SEP> /
<tb> <SEP> Liste~explicite)
<tb> <SEP> Fin <SEP> de
<tb> temporisation
<tb> d'accusé <SEP> de
<tb> <SEP> réception <SEP> W+3/G <SEP>
<tb> <SEP> Fin <SEP> de
<tb> <SEP> Temporisateur~de <SEP> / <SEP> / <SEP> / <SEP> 1/H
<tb> <SEP> rejet
<tb>
Sur la figure 8 est illustrée la représentation graphique d'un exemple de démonstration du fonctionnement du système de transmission multi-destinataire fiable de la présente invention. Sur la figure 8, les noeuds du système de la figure 1 sont représentés par des pavés carrés, les liens de transmission sont représentés par des flèches pleines, et les messages transmis sur les liens de transmission sont représentés par des flèches en pointillés parallèles aux liens de transmission sur lesquels ils sont transmis.
L'exemple de la figure 8 n'implique que cinq noeuds de commutation 120, 122, 124, 126 et 128, et l'arbre recouvrant reliant ces noeuds n'implique que quatre liens de transmission : le lien 121, reliant les noeuds 120 et 122, le lien 123 reliant les noeuds 122 et 124, le lien 125 reliant les noeuds 120 et 126, et le lien 127 reliant les noeuds 122 et 128. On suppose qu'au départ le Noeud A (pavé 120) diffuse un message multi-destinataire destiné aux Noeuds B à E (pavés 122, 124, 126 et 128, respectivement). Ce message (représenté en ligne pointillée 129 sur la figure 8) atteint le Noeud D (pavé 126) et traverse le Noeud B (pavé 122) vers le Noeud E (pavé 128), mais n'est pas reçu par le Noeud B (pavé 122) ni par le Noeud C (pavé 124) à cause d'une perte de paquets due à un encombrement et à un débordement de mémoire tampon dans le Noeud B (pavé 122). A cet instant, le lien de transmission 121 est coupé afin d'empêcheur d'autres transmissions entre le
Noeud A (pavé 120) et le Noeud B (pavé 122).
Le Noeud A expéditeur (pavé 120) et chacun des noeuds recevant le message, le Noeud D (pavé 126) et le Noeud E (pavé 128), envoient des accusés de réception. Ces accusés de réception circulent du Noeud A au Noeud D, du Noeud D au
Noeud A, du Noeud E au Noeud B (message 130) et du Noeud A au
Noeud B. L'accusé de réception du Noeud A vers le Noeud B est perdu cependant à cause d'une panne du lien de transmission 121. Le Noeud D reçoit les accusés de réception de tous ses voisins proches (le Noeud A seul) et est ainsi satisfait et arrête son temporisateur de rejet, retournant
ainsi dans son état de repos. De la même manière, le Noeud A reçoit les accusés de réception de l'un de ses voisins proches (Noeud D) et traite la panne du lien 121 comme étant équivalente à un accusé de réception. Le Noeud A de ce fait arrête de la même manière sa temporisation et retourne à l'état de repos.
Le Noeud E maintient une copie du message multi-destinataire du fait qu'il ne reçoit pas d'accusé de réception du Noeud B. En recevant l'accusé de réception du Noeud E (message 130), le Noeud
B réalise que le message multi-destinataire n'a pas été reçu. A ce moment, soit le Noeud B laisse le Noeud E arrêter son temporisateur d'accusé de réception, soit envoie immédiatement un message "Accusé de réception Négatif" (NACK, message 131) en retour au Noeud E. Le message d'accusé de réception négatif est un message particulier qui indique l'arrivée d'un événement qui suggère qu'une panne s'est produite dans une partie quelconque de l'arbre recouvrant, et peut être utilisé pour raccourcir l'attente de l'arrivée d'une fin de temporisation avant de répondre à la panne. Ainsi, la réception d'un accusé de réception avant la réception du message multi-destinataire correspondant, comme décrit ci-dessus, indique qu'une panne quelconque s'est produite.
Plutôt que de garder tous les noeuds en attente d'une fin de temporisation, le message d'accusé de réception négatif est transmis au noeud qui envoie l'accusé de réception, ce qui autorise ce noeud à réémettre le message multi-destinataire sans attendre la fin de temporisation d'accusé de réception. Ce procédé permet une réponse plus rapide à la panne et de ce fait, une répartition fiable plus rapide du message multi-destinataire. A la réception du message d'accusé de réception négatif dans ce cas, le noeud envoie alors un Message~local point-à-point fiable vers l'expéditeur de l'accusé de réception négatif et supprime le noeud de sa Listeexplicite. L'expéditeur de l'accusé de réception négatif, à la réception du Message~local point-à-point fiable transmet alors le message à tout autre voisin duquel il n'a pas reçu d'accusé de réception.
Sur la figure 8, à la réception de l'accusé de réception négatif du Noeud B (ou de la fin de temporisation de son temporisateur d'accusé de réception), le Noeud E réémet le message multidestinataire vers le Noeud B (message 132), en utilisant la possibilité de transmission de remplacement point-à-point fiable entre le Noeud E et le Noeud B. Le Noeud E peut alors rejeter sa copie du message multi-destinataire. A la réception du message multi-destinataire émis de façon fiable et point-à-point du Noeud
E, le Noeud B réalise que le message multi-destinataire d'origine n'a jamais été reçu au Noeud B. Du fait qu'aucun accusé de réception n'a été reçu du Noeud C, le Noeud B transmet immédiatement une copie point-à-point fiable du message multidestinataire vers le Noeud C (message 133).
On peut voir que le message multi-destinataire est expédié de façon fiable à tous les noeuds de l'arbre recouvrant même si l'arbre recouvrant est segmenté à cause d'une panne de lien, et que chacun des segments continue la répartition des messages multi-destinataires après que la panne qui entraîne une segmentation se soit produite.

Claims (14)

REVENDICATIONS
1. Réseau de transmission par paquets comprenant une pluralité de noeuds, une pluralité de liens de transmission pour interconnecter lesdits noeuds l'un à l'autre, et un moyen de transmission multi-destinataire pour transmettre le même message multi-destinataire à une pluralité desdits noeuds, l'interconnexion entre lesdits noeuds étant représentée par un arbre recouvrant, ledit réseau de transmission par paquets étant caractérisé en ce qu'il comprend un moyen à chacun desdits noeuds pour transmettre un accusé de réception (50, 51) de la réception dudit message multidestinataire à chacun desdits noeuds interconnectés par ledit arbre recouvrant à tous les noeuds immédiatement contigus à chacun desdits noeuds dudit arbre recouvrant, et un moyen à chacun desdits noeuds pour réémettre ledit message multi-destinataire (42) lorsque les accusés de réception de la réception dudit message multi-destinataire ne sont pas reçus de chacun desdits noeuds immédiatement contigus sur ledit arbre recouvrant.
2. Réseau de transmission par paquets selon la revendication 1, comprenant de plus un moyen de transmission point-à-point fiable entre chaque paire adjacente desdits noeuds, ledit moyen de réémission utilisant ledit moyen de transmission point-à-point fiable.
3. Réseau de transmission par paquets selon la revendication 1, comportant de plus un moyen pour produire une liste de tous les voisins proches d'un noeud donné à chaque fois qu'un dit message multidestinataire est reçu ou emis à partir dudit noeud donné.
4. Réseau de transmission par paquets selon la revendication 3, comprenant de plus un moyen pour supprimer de ladite liste tous lesdits voisins proches qui ont déjà renvoyé les accusés de réception audit noeud donne à l'instant où ladite liste est produite.
5. Réseau de transmission par paquets selon la revendication 1, comprenant de plus un moyen de temporisation pour établir un intervalle de temps prédéterminé de temporisation après la transmission dudit message multi-destinataire pour la réception des accusés de réception de tous les voisins proches dudit noeud, et un moyen pour réémettre ledit message multi-destinataire, après l'écoulement de la temporisation dudit moyen de temporisation, vers tous lesdits voisins proches desquels les accusés de réception n'ont pas été reçus.
6. Réseau de transmission par paquets selon la revendication 2, comprenant de plus un moyen pour réémettre ledit message multi-destinataire immédiatement après la réception dudit message multidestinataire sur ledit moyen de transmission point-à-point fiable, vers tous lesdits voisins proches desquels les accusés de réception n'ont pas été reçus.
7. Réseau de transmission par paquets selon les revendications 1 ou 2, comprenant de plus un moyen répondant à la réception d'un message d'accusé de réception inattendu afin démettre un message d'accusé de réception négatif (131) vers celui desdits voisins proches de chacun desdits noeuds à partir desquels ledit accusé de réception inattendu a été reçu.
8. Procédé pour transmettre des messages multi-destinataires de façon fiable sur un réseau de transmission par paquets, ledit procédé comprenant l'interconnexion d'une pluralité de noeuds dudit réseau l'un à l'autre par une pluralité de liens de transmission, et l'émission du même message multi-destinataire sur l'arbre recouvrant dudit réseau, ledit procédé étant caractérisé en ce qu'il comporte les étapes suivantes transmettre à partir de chacun desdits noeuds sur ledit arbre recouvrant, un accusé de réception (50, 51) de la réception dudit message multi-destinataire à chacun desdits noeuds vers tous les noeuds immédiatement contigus à chacun desdits noeuds sur ledit arbre recouvrant, et retransmettre ledit message multi-destinataire à partir de chacun desdits noeuds lorsque les accusés de réception de la réception dudit message multi-destinataire (42) ne sont pas reçus de tous lesdits noeuds immédiatement contigus dudit arbre recouvrant.
9. Procédé selon la revendication 8, comprenant de plus les étapes consistant à interconnecter chaque paire contiguë desdits noeuds avec un moyen de transmission point-à-point fiable, et utiliser ledit moyen de transmission point-à-point fiable pour ladite étape de réémission dudit message multidestinataire.
10. Procédé selon la revendication 8, comprenant de plus l'étape consistant à produire une liste de tous les voisins proches d'un noeud donné à chaque fois que ledit message multi-destinataire est reçu ou émis à partir dudit noeud donné.
11. Procédé selon la revendication 10, comprenant de plus l'étape consistant à supprimer de ladite liste tous lesdits voisins proches qui ont déjà renvoyé les accusés de réception audit noeud donné à l'instant où ladite liste est produite.
12. Procédé selon la revendication 8, comprenant de plus les étapes consistant à établir un intervalle de temps prédéterminé de temporisation après l'émission dudit message multi-destinataire pour la réception des accusés de réception de tous les voisins proches dudit noeud, et réémettre ledit message multi-destinataire, après l'écoulement de l'intervalle de temps prédéterminé de temporisation, vers tous lesdits voisins proches desquels les accusés de réception n'ont pas été reçus.
13. Procédé selon la revendication 9, comprenant de plus l'étape consistant à réémettre ledit message multi-destinataire à partir de chaque noeud immédiatement après la réception de ladite transmission point-à-point fiable dudit message multidestinataire vers tous lesdits voisins proches desquels les accusés de réception n'ont pas été reçus.
14. Procédé selon la revendication 8 ou 9, comprenant de plus l'étape consistant à transmettre un message d'accusé de réception négatif (131) vers un voisin proche de chacun desdits noeuds en réponse à la réception d'un message d'accusé de réception inattendu de l'un desdits voisins proches.
FR9501602A 1995-02-07 1995-02-07 Acheminement multi-destinataire fiable sur les arbres recouvrants des réseaux de communication par paquets. Expired - Fee Related FR2717973B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9501602A FR2717973B1 (fr) 1995-02-07 1995-02-07 Acheminement multi-destinataire fiable sur les arbres recouvrants des réseaux de communication par paquets.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9501602A FR2717973B1 (fr) 1995-02-07 1995-02-07 Acheminement multi-destinataire fiable sur les arbres recouvrants des réseaux de communication par paquets.

Publications (2)

Publication Number Publication Date
FR2717973A1 true FR2717973A1 (fr) 1995-09-29
FR2717973B1 FR2717973B1 (fr) 1997-01-03

Family

ID=9476062

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9501602A Expired - Fee Related FR2717973B1 (fr) 1995-02-07 1995-02-07 Acheminement multi-destinataire fiable sur les arbres recouvrants des réseaux de communication par paquets.

Country Status (1)

Country Link
FR (1) FR2717973B1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0303830A2 (fr) * 1987-08-21 1989-02-22 International Business Machines Corporation Système de répartition de données à récepteurs multiples
US5297143A (en) * 1990-12-03 1994-03-22 Echelon Systems, Corp. Network communication protocol including a reliable multicasting technique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0303830A2 (fr) * 1987-08-21 1989-02-22 International Business Machines Corporation Système de répartition de données à récepteurs multiples
US5297143A (en) * 1990-12-03 1994-03-22 Echelon Systems, Corp. Network communication protocol including a reliable multicasting technique

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
D. DOLEV ET AL.: "Early Delivery Totally Ordered Multicast in Asynchronous Environments", THE TWENTY-THIRD INTERNATIONAL SYMPOSIUM ON FAULT-TOLERANT COMPUTING, 22 June 1993 (1993-06-22), TOULOUSE, FRANCE, pages 544 - 553, XP000437274 *
MELLIAR-SMITH P M ET AL: "TRANS: A RELIABLE BROADCAST PROTOCOL", IEE PROCEEDINGS I. SOLID- STATE & ELECTRON DEVICES, vol. 140, no. 6, PART I, 1 December 1993 (1993-12-01), pages 481 - 493, XP000422818 *

Also Published As

Publication number Publication date
FR2717973B1 (fr) 1997-01-03

Similar Documents

Publication Publication Date Title
EP0003493B2 (fr) Système de transmission de données entre des stations connectées en boucle
JP2825120B2 (ja) マルチキャスト伝送のための方法及び通信ネットワーク
Postel DoD standard transmission control protocol
EP0349371B1 (fr) Système informatique à interconnexion centrale
EP0046831B1 (fr) Système de retransmission de trames numérotées et reçues en erreur dans un système de transmission de données
EP0021917B1 (fr) Concentrateur téléinformatique pour réseau de transmission et de commutation de données par paquets
EP1701274A1 (fr) Architecture de noeud de communication dans un système de réseau sur puce globalement asynchrone
EP1641197B1 (fr) Architecture de communication NoC (réseau sur puce ) pour applications de type flots de données
EP0062960B1 (fr) Procédé de gestion de l&#39;émission-réception de données dans un réseau local de communication et système de transmission de données pour l&#39;application du procédé
EP1788760A1 (fr) Systéme et procédé de routage statique de flux de paquets de données dans un réseau d&#39;interconnexion
WO2007027679A2 (fr) Procede et systeme de distribution fiable de messages
CN102986174B (zh) 邮件传输系统以及邮件网关
Jones et al. Protocol design for large group multicasting: the message distribution protocol
FR2994623A1 (fr) Dispositif et procede de transfert unidirectionnel de donnees
CN103141050A (zh) 快速通道互联系统中数据包重传方法、节点
JPS63220631A (ja) 通信システムにおけるノード装置
FR2717973A1 (fr) Acheminement multi-destinataire fiable sur les arbres recouvrants des réseaux de communication par paquets.
JP3596736B2 (ja) マルチキャストデータ配信方法
EP1355453B1 (fr) Dispositif d&#39;aiguillage à commutation et routage centralisés
EP0895159B1 (fr) Procédé de purge des tampons de liaisons séries à haut débit et dispositif de mise en oeuvre du procédé
Postel RFC0761: DoD standard Transmission Control Protocol
Gumbold Software distribution by reliable multicast
EP1297666B1 (fr) Procede de gestion d&#39;une liste de paquets dans un port de sortie d&#39;un commutateur de paquets
CH645223A5 (fr) Dispositif de controle des communications dans un reseau de transmission en duplex.
EP0113272B1 (fr) Réseau maille modulaire de communications

Legal Events

Date Code Title Description
IC Decision of the director general to declare irreceivable or to reject an appeal
RN Application for restoration
ST Notification of lapse