FR2824434A1 - Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement - Google Patents

Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement Download PDF

Info

Publication number
FR2824434A1
FR2824434A1 FR0105888A FR0105888A FR2824434A1 FR 2824434 A1 FR2824434 A1 FR 2824434A1 FR 0105888 A FR0105888 A FR 0105888A FR 0105888 A FR0105888 A FR 0105888A FR 2824434 A1 FR2824434 A1 FR 2824434A1
Authority
FR
France
Prior art keywords
links
tree
data
packet
bus
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
FR0105888A
Other languages
English (en)
Other versions
FR2824434B1 (fr
Inventor
Falk Tannhauser
Laurent Frouin
Stephane Bizet
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR0105888A priority Critical patent/FR2824434B1/fr
Priority to US10/133,677 priority patent/US7151752B2/en
Publication of FR2824434A1 publication Critical patent/FR2824434A1/fr
Application granted granted Critical
Publication of FR2824434B1 publication Critical patent/FR2824434B1/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
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation
    • H04L45/484Routing tree calculation using multiple routing trees

Abstract

L'invention concerne un procédé de diffusion d'un paquet de données, dit paquet de diffusion, au sein d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit paquet de diffusion étant diffusé le long d'un arbre de recouvrement du réseau. Selon l'invention, chaque noeud est du type permettant d'envoyer ledit paquet de diffusion simultanément sur plusieurs liens. Le procédé selon l'invention comprend une étape de calcul dudit arbre de recouvrement, consistant à minimiser le nombre de liens par noeud que comprend ledit arbre de recouvrement.

Description

<Desc/Clms Page number 1>
Procédé de diffusion d'un paquet de données au sein d'un réseau commuté, basé sur un calcul optimisé de l'arbre de recouvrement.
Le domaine de l'invention est celui des réseaux commutés, comprenant une pluralité de n#uds connectés par une pluralité de liens physiques de communication. Ces liens permettent généralement des transferts de données bidirectionnels, par exemple selon la norme IEEE 1355.
Plus précisément, la présente invention concerne la diffusion de paquets de données numériques, dits paquets de diffusion,'au sein d'un tel réseau commuté.
L'invention s'applique notamment, mais non exclusivement, à un réseau commuté à haut débit comprenant un faible nombre de n#uds, permettant notamment l'échange en temps réel d'images animées, par exemple pour une distribution dans le cadre d'une habitation.
Classiquement, chaque n#ud d'un réseau commuté comprend un appareil de commutation (parfois aussi appelé dispositif de commutation dans la suite de la description) et un appareil de traitement de données.
L'appareil de commutation comprend lui même un dispositif de routage des paquets de données et un dispositif d'interface entre les moyens de routage et les liens.
On distingue généralement deux types de paquets de données, à savoir les paquets "point-à-point" (ou "unicast packets" en anglais) et les paquets "de diffusion" (encore appelés paquets "point-multipoint", ou "broadcast packets" en anglais).
Quel que soit leur type, les paquets de données possèdent un format prédéterminé, comprenant par exemple un en-tête de routage, une charge utile (contenant des données utiles) et un indicateur de fin de paquet ou de message. Un message est composé soit d'au moins deux paquets, soit d'un seul paquet (dans le second cas on utilise l'indicateur fin de message).
<Desc/Clms Page number 2>
Le chemin qu'un paquet doit emprunter pour atteindre sa destination est déterminé par l'émetteur (routage à la source). Ce chemin est indiqué dans l'en-tête du paquet, et est utilisé par les n#uds intermédiaires pour déterminer le lien suivant sur lequel doit être envoyé le paquet. On rappelle que chaque paquet, qui est véhiculé par un lien connecté à un n#ud, arrive sur un port d'entrée de ce n#ud et est commuté vers un port de sortie de ce n#ud, d'où il repart en étant véhiculé par le lien précité ou par un autre lien.
Un paquet de diffusion se distingue d'un paquet point-à-point en ce que son en-tête comporte un indicateur de paquet de diffusion, indiquant qu'il doit être envoyé à chacun des n#uds du réseau.
De façon classique, les paquets de diffusion sont diffusés le long d'un arbre de recouvrement du réseau (ou "spanning tree" en anglais). Cet arbre est calculé en fonction de la topologie du réseau. Il définit, parmi l'ensemble des liens formant le maillage du réseau, ceux devant être utilisés pour permettre la diffusion d'un paquet de diffusion depuis un n#ud source vers l'ensemble des autres n#uds du réseau. En effet, chaque n#ud qui reçoit le paquet de diffusion doit le renvoyer vers un ou plusieurs autres n#uds, via respectivement un ou plusieurs liens appartenant à l'arbre de recouvrement.
On connaît principalement deux techniques permettant à un n#ud d'envoyer un paquet de diffusion sur plusieurs liens de l'arbre de recouvrement, à destination de plusieurs autres n#uds.
La première technique connue consiste à dupliquer le paquet de diffusion au sein du n#ud, en autant d'exemplaires qu'il y a de liens concernés par la diffusion en sortie de ce n#ud. De cette façon, le paquet de diffusion est envoyé indépendamment (et donc non simultanément) sur chacun des liens concernés.
Malheureusement, du fait du mécanisme de duplication de paquet qu'elle nécessite, cette première solution est très coûteuse, au niveau de chaque n#ud, en moyens de traitement et en mémoire.
<Desc/Clms Page number 3>
Une seconde technique connue a donc été proposée, selon laquelle le n#ud envoie le paquet de diffusion simultanément sur tous les liens concernés de l'arbre de recouvrement. Ainsi, on évite la coûteuse mise en #uvre du mécanisme de duplication de paquet au sein du n#ud.
Dans la suite de la description, on suppose que chaque n#ud du réseau commuté est du type mettant en #uvre cette seconde technique connue, (envoi d'un même paquet de diffusion simultanément sur plusieurs liens).
Traditionnellement, les techniques de calcul de l'arbre de recouvrement reposent sur une approche visant à minimiser le "coût" total des liens appartenant à cet arbre. Par coût d'un lien, on entend notamment le taux d'occupation relatif (ou taux de charge) de ce lien avec un trafic point- à-point. Les algorithmes mis en #uvre dans ces techniques classiques de calcul de l'arbre de recouvrement sont bien connus de l'homme du métier et sont par exemple décrits dans le document suivant : Dimitri Bertsekas, Robert Gallager, "Data Networks", 2nd Edition, Prentice-Hall International, 1992, ISBN 0-13-201674-5 (pages 390-393).
Il s'avère que ces techniques classiques de calcul de l'arbre de recouvrement présentent plusieurs inconvénients, dans le cas où chaque n#ud du réseau commuté est du type mettant en #uvre la seconde technique connue précitée.
En effet, lorsqu'un n#ud doit envoyer simultanément un paquet de diffusion sur plusieurs liens appartenant à l'arbre de recouvrement, il se peut que tous ces liens ne soient pas libres simultanément. En d'autres termes, dans le n#ud, les ports de sorties connectés à certain(s) lien(s) ne sont pas disponibles. Par exemple, un ou plusieurs liens peuvent déjà être en cours d'utilisation pour l'envoi de paquets point-à-point. Dans cette situation, le paquet de diffusion est bloqué jusqu'à ce que tous les liens concernés par la diffusion deviennent libres simultanément. L'inconvénient majeur de ce blocage est qu'il conduit à une augmentation de la latence moyenne de diffusion d'un paquet de diffusion au sein du réseau.
<Desc/Clms Page number 4>
Du fait qu'elles sont optimisées uniquement en terme de charge totale des liens, les techniques classiques de calcul de l'arbre de recouvrement ne prennent pas en compte ce problème de la congestion, en diffusion, du réseau.
L'invention a notamment pour objectif de pallier cet inconvénient majeur de l'état de la technique.
Plus précisément, l'un des objectifs de la présente invention est de fournir un procédé de diffusion de paquets de données, permettant de limiter la latence moyenne de diffusion d'un paquet de diffusion au sein du réseau commuté.
L'invention a également pour objectif de fournir un tel procédé qui soit simple à mettre en oeuvre et peu coûteux.
Ces différents objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un procédé de diffusion d'un paquet de données, dit paquet de diffusion, au sein d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit paquet de diffusion étant diffusé le long d'un arbre de recouvrement du réseau. Selon l'invention, chaque noeud est du type permettant d'envoyer ledit paquet de diffusion simultanément sur plusieurs liens, et le procédé comprend une étape de calcul dudit arbre de recouvrement, consistant à minimiser le nombre de liens par noeud que comprend ledit arbre de recouvrement.
Le principe général de l'invention consiste donc à diffuser les paquets de diffusion le long d'un arbre de recouvrement ayant, pour chaque noeud, un nombre aussi faible que possible de liens.
De cette façon, on augmente la probabilité que, dans chaque noeud, tous les liens concernés par la diffusion (et donc tous les ports de sortie correspondants du noeud) soient libres simultanément. En conséquence, on réduit le temps de latence moyen de diffusion d'un paquet de diffusion au sein du réseau. En d'autres termes, l'invention permet de limiter les problèmes de congestion, en diffusion, du réseau.
<Desc/Clms Page number 5>
On notera que, dans la plupart des cas, l'arbre de recouvrement calculé selon la présente invention (en fonction du critère de minimisation du nombre de lien par n#ud) présente un "coût" total de liens (par exemple le taux de charge total de l'arbre) plus élevé qu'un arbre de recouvrement calculé selon la technique classique de calcul visant précisément à minimiser ce "coût" total des liens appartenant à l'arbre. Toutefois, ceci est largement compensé par l'avantage que procure l'invention en termes de réduction du temps moyen de diffusion d'un paquet de diffusion.
On notera également que la présente invention s'applique avantageusement à un réseau commuté transportant des paquets point-àpoint et des paquets de diffusion, et dans lequel chaque n#ud met en #uvre un algorithme de commutation non bloquante, de type "cut-through switch" (voir description détaillée ci-après, en relation avec les figures). On rappelle qu'avec ce type d'algorithme de commutation, le temps de traitement d'un paquet est réduit du fait que son routage commence dès que l'en-tête du paquet est reçu. En d'autres termes, la combinaison de ce type d'algorithme de commutation ("cut-through switch" ) avec l'algorithme de calcul de l'arbre de recouvrement selon l'invention permet de réduire encore le temps de latence moyen de diffusion d'un paquet.
Préférentiellement, si la topologie du réseau le permet, ladite étape de calcul de l'arbre de recouvrement consiste à calculer un arbre de recouvrement linéaire, dans lequel il y a au plus deux liens connectés à chaque n#ud.
Ainsi, dans le cas idéal d'un arbre linéaire, un n#ud intermédiaire qui reçoit un paquet de diffusion n'a à le renvoyer que sur un seul lien (c'est-à-dire vers un seul autre n#ud), puisqu'il ne le renvoie pas au n#ud qui lui l'a envoyé).
De façon avantageuse, ledit réseau commuté étant du type comprenant N n#uds et L liens, caractérisé en ce que ladite étape de calcul de l'arbre de recouvrement comprend elle-même les étapes suivantes :
<Desc/Clms Page number 6>
génération d'une pluralité d'arbres de recouvrement possibles pour ledit réseau commuté ; comparaison deux à deux desdits arbres de recouvrement possibles, en fonction d'au moins un critère de comparaison prédéterminé lié à la minimisation du nombre de liens par n#ud appartenant à l'arbre de recouvrement, de façon à déterminer le meilleur arbre de recouvrement parmi ladite pluralité d'arbres de recouvrement possibles.
Avantageusement, lesdites étapes de génération et de comparaison portent sur tous les arbres de recouvrement possibles.
Cette façon de procéder est particulièrement bien adaptée à un réseau local comprenant un faible nombre de n#uds, puisque dans ce cas la quantité de calculs à effectuer est tout à fait acceptable. Ceci est notamment le cas d'un petit réseau local dans le cadre d'une maison (ou "small home area network" en anglais).
Dans un mode de réalisation particulier de l'invention, la comparaison de deux arbres de recouvrement comprend les étapes suivantes : (a) on compare le nombre de n#uds connectés à p liens pour l'un des deux arbres avec le nombre de n#uds connectés à p liens pour l'autre des deux arbres, avec p le nombre maximal prédéterminé de liens par n#ud pour ledit réseau commuté ; (b) si l'un des deux arbres de recouvrement possède moins de n#uds connectés à p liens, il est défini comme le meilleur des deux arbres de recouvrements ; (c) si les deux arbres de recouvrement possèdent le même nombre de n#uds connectés à p liens, on applique un traitement complémentaire.
Préférentiellement, ledit traitement complémentaire consiste à décrémenter p d'une unité puis :
<Desc/Clms Page number 7>
si p > 2, on réitère les étapes (a), (b) et (c) avec la valeur décrémentée de p ; sinon, on compare les deux arbres selon au moins un autre critère de comparaison prédéterminé, non lié à la minimisation du nombre de liens par n#ud appartenant à l'arbre de recouvrement.
Avantageusement, ledit au moins un autre critère de comparaison prédéterminé, non lié à la minimisation du nombre de liens par n#ud, est la charge totale des liens appartenant à l'arbre.
Préférentiellement, ledit réseau est un réseau local. Ainsi, on réduit la complexité du calcul optimisé de l'arbre de recouvrement.
De façon avantageuse, ladite étape de calcul de l'arbre de recouvrement est effectuée de façon dynamique après chaque modification de la topologie du réseau.
La topologie du réseau est par exemple modifiée lorsque l'utilisateur ajoute ou supprime un n#ud ou un lien, ou en cas de panne sur un n#ud ou un lien. Ainsi, l'utilisateur peut modifier la topologie comme il le souhaite, sans avoir aucune action à effectuer pour que l'arbre de recouvrement soit mis à jour et reste optimal.
L'invention concerne également un appareil de commutation de paquets de données, du type compris dans un n#ud et pouvant participer à la mise en #uvre d'un procédé de diffusion d'un paquet de données, dit paquet de diffusion, au sein d'un réseau commuté comprenant une pluralité de n#uds reliés entre eux par une pluralité de liens, ledit paquet de diffusion étant diffusé le long d'un arbre de recouvrement du réseau. Selon l'invention, ledit appareil de commutation comprend : des moyens d'envoi dudit paquet de diffusion simultanément sur plusieurs liens ; des moyens de calcul dudit arbre de recouvrement, par minimisation du nombre de liens par n#ud que comprend ledit arbre de recouvrement ;
<Desc/Clms Page number 8>
des moyens de paramétrage dudit appareil de commutation en fonction dudit arbre de recouvrement, de façon à mémoriser quels liens, parmi ceux connectés à l'appareil de commutation, doivent être utilisés lors de la diffusion d'un paquet.
L'invention concerne aussi un programme d'ordinateur comprenant des séquences d'instructions adaptées à la mise en #uvre d'un procédé tel que précité, lorsque ledit programme est exécuté sur un ordinateur.
L'invention concerne également un produit programme d'ordinateur, adapté à la diffusion d'un paquet de données, dit paquet de diffusion, au sein d'un réseau commuté comprenant une pluralité de n#uds reliés entre eux par une pluralité de liens, ledit paquet de diffusion étant diffusé le long d'un arbre de recouvrement du réseau, chaque n#ud étant du type permettant d'envoyer ledit paquet de diffusion simultanément sur plusieurs liens, ledit produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur, comprenant : des moyens de programmation lisibles par ordinateur pour effectuer une étape de calcul dudit arbre de recouvrement, consistant à minimiser le nombre de liens par n#ud que comprend ledit arbre de recouvrement.
D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : la figure 1 présente un synoptique d'un commutateur (ou appareil de commutation) conforme à l'invention, selon un mode particulier de réalisation de celle-ci ; la figure 2 présente un synoptique détaillé d'un moyen de contrôle de flux de données et d'une interface avec un lien série, appartenant tous les deux au commutateur illustré en figure 1, ainsi que leurs interconnexions ;
<Desc/Clms Page number 9>
la figure 3 représente un schéma électronique du module de commutation compris dans le moyen de contrôle de flux de données de la figure 2 ; la figure 4 présente un schéma électronique du moyen d'arbitrage (ou matrice de commutation) compris dans le module de commutation de la figure 3 ; les figures 5 et 6 présentent chacune un exemple d'arbre de recouvrement d'un même réseau, calculé avec respectivement la technique de l'art antérieur et la technique de l'invention ; la figure 7 présente un- organigramme décrivant un exemple d'algorithme de calcul d'un arbre de recouvrement selon l'invention.
L'invention trouve des applications dans de nombreux domaines, et s'applique notamment dans le cadre de : - la commutation à haut débit ; - les applications distribuées ; - la transmission et/ou la réception de données numériques ; - les applications audio ; - les réseaux d'entreprises ; et - la transmission d'images en temps réel.
Un domaine d'application préférentiel de l'invention est celui des applications domestiques pour les transferts à haut débit. On décrit par la suite un exemple de système mettant en #uvre l'invention, utilisé pour interconnecter une pluralité de dispositifs audio et vidéo dans la maison.
Les normes IEEE 1394 et IEEE 1355 sont adaptées respectivement aux communications série et aux communications point à point.
Le système présenté dans la suite du document est un réseau fédérateur à débit commuté permettant d'atteindre des capacités de transmission élevées (typiquement de l'ordre du Gbit), et répondant au besoin important d'interfaçage des deux types de norme ci-dessus.
Le principe général de l'invention repose sur la mise en #uvre : d'un protocole d'échange ; et
<Desc/Clms Page number 10>
d'une matrice d'arbitrage dans un module de commutation pouvant recevoir et émettre des données de plusieurs sources, notamment via des interfaces de type IEEE1394 et/ou IEEE1355.
L'interface de type IEEE1355 comprend plusieurs paires de ports entrées/sorties, une paire de FIFO étant associée à chaque paire de ports.
L'interface de type IEEE1394 comprend une mémoire DPRAM permettant le stockage des données en provenance et/ou à destination d'un bus IEEE1394.
Cette DPRAM peut aussi être utilisée pour le transfert de données vers et/ou à destination d'autres interfaces de communication.
Le module de commutation architecturé autour de deux bus de données (l'un en réception et l'autre en émission) de type MRT comprend notamment : - la matrice d'arbitrage ; - des registres trois états pilotés par des signaux générés par la matrice d'arbitrage et permettant la lecture et/ou l'écriture de données sur les deux bus de données ; - des FIFOs d'entrée utilisées pour la réception des données en provenance d'une FIFO associée à un port de réception
IEEE1355 ; - des FIFOs de sorties utilisées pour les données à destination de la DPRAM d'interfaçage avec le bus IEEE1394 ; - des FIFOs internes utilisées pour les données en provenance de la DPRAM d'interfaçage avec le bus IEEE1394.
Les FIFOs sont préférentiellement de type mémoire double ports et peuvent ainsi être accédées simultanément en lecture et en écriture sur deux ports distincts.
Les données à destination d'un port d'émission IEEE1355 sont émises directement vers la FIFO associée à ce port via le bus de transmission de données.
<Desc/Clms Page number 11>
Selon le protocole d'échange des données, les opérations de transfert des données entre une FIFO d'entrée ou interne et une ou plusieurs FIFO de sortie et/ou ports 1355, ne peuvent être effectuées que dans le cadre d'une connexion établie au niveau des paquets. Ainsi, pour qu'une connexion soit ouverte, à la suite d'une requête en provenance d'une FIFO d'entrée ou d'une FIFO interne, il est nécessaire que chacune de la ou des FIFOs destinataires permette l'ouverture d'une connexion. De cette manière, les FIFOs destinataires ne sont jamais saturées.
La matrice d'arbitrage est constituée de lignes et de colonnes.
Chacune des colonnes est associée à un port d'entrée et est en charge de la gestion de la réception des données en provenance de ce port d'entrée.
Chacune des lignes est associée à un port de sortie et est en charge de la gestion des données destinées à ce port de sortie.
Bien entendu, les rôles des lignes et des colonnes peuvent être échangés.
La matrice est construite de telle sorte que, à un instant donné, un seul point de couplage de chaque ligne permette une connexion.
D'une manière générale, l'accès en écriture sur les bus se fait par l'intermédiaire de registres à trois états commandés par des signaux issus de la matrice d'arbitrage.
Par ailleurs, la matrice d'arbitrage génère des signaux de commande des FIFOS en écriture.
Ainsi, en résumé, la matrice d'arbitrage gère des connexions entre ports d'entrées et des ports de sortie en évitant les conflits et en gérant les aspects liés à la synchronisation. Ceci permet à la matrice d'arbitrage de générer des signaux de commande permettant l'accès (en écriture et en lecture) aux bus de transmission et de réception.
La figure 1 présente un synoptique d'un n#ud de commutation 90 connecté à deux bus de communication série conformes aux normes IEEE 1394 et IEEE1355.
<Desc/Clms Page number 12>
Le n#ud représenté à la figure 1 est également connecté à un ou plusieurs autres n#uds de commutation du réseau commuté auquel il appartient.
Dans le mode de réalisation représenté sur la figure 1, on a choisi de représenter un appareil de traitement de données 92, également appelé périphérique, qui est associé au dispositif de commutation 90.
Un n#ud de commutation comprend: un dispositif de commutation 90 ; un appareil de traitement de données 92 associé audit dispositif.
A titre de variante, l'appareil de traitement de données peut luimême constituer ou comprendre le dispositif de commutation 90.
Le dispositif 90 comprend : une unité centrale de traitement CPU 93 ; un moyen de stockage permanent 94 de type ROM ; et un moyen de stockage temporaire 95 de type RAM, associé à l'unité centrale 93, et dans lequel est chargée une architecture logicielle à l'initialisation.
Le moyen de stockage 95 est apte à stocker des paquets de données de différents types, notamment : - des paquets asynchrones du type conforme à la norme IEEE
1394 ; - des paquets constituant des messages en mode non connecté (asynchrones), du type conforme à la norme IEEE 1355 ; - des paquets de contrôle du type conforme à la norme
IEEE 1355 ; - des paquets stream (isochrones) du type conforme à la norme IEEE 1355.
Les paquets de type conforme à la norme IEEE 1355 ont réellement une existence au niveau du composant 104 qui sera mentionné ultérieurement mais ils ne sont pas stockés sous cette forme dans le moyen
<Desc/Clms Page number 13>
de stockage RAM 95. On notera que le moyen de stockage 95 contient les informations nécessaires pour générer les paquets IEEE 1355.
Le cheminement de tels paquets jusqu'au moyen de stockage 95, provenant soit du bus 1394 soit du réseau commuté constitué de liens IEEE 1355 sera détaillé ultérieurement.
Le cheminement de tels paquets, depuis le moyen de stockage 95 jusqu'à leur transmission par le n#ud de commutation, soit en direction du bus IEEE1394, soit en direction du réseau commuté constitué de liens IEEE 1355 sera détaillé ultérieurement.
Ces trois éléments 93,94 et 95 communiquent au moyen de bus d'adresses et de données respectifs notés 96,97 et 98, avec un bloc noté 99 et connu de l'homme du métier sous le nom de contrôleur de bus.
Ce bloc 99 permet notamment d'échanger des données au moyen d'un bus principal 100 avec au moins un composant d'interface de bus 101.
Dans le cas où le bus 100 est un bus standard PCI (PCI signifiant en terminologie anglo-saxonne "Peripheral Component Interconnect"), le composant 101 peut être un composant dénommé AMCC 5933QC commercialisé par la société APPLIED MICRO CIRCUITS CORPORATION (Marque déposée).
Le bus 100 peut également connecter entre eux d'autres éléments, non représentés sur la figure 1, eux-mêmes pourvus d'une interface de bus et pouvant mettre en #uvre, par exemple, des fonctions de traitement de données.
Par exemple, dans un cas où le bus 100 est un bus standard PCI, le bloc 99 est en fait un ensemble de composants PCI tel que l'ensemble Intel 440LX AGP ("Intel 440LX AGPset" dans la terminologie anglo-saxonne) commercialisé par la société INTEL (Marque déposée).
Ainsi, le bloc 99 comprend, par exemple, un composant 82443LX qui assure l'interface avec la mémoire 95 via le bus mémoire 98 et avec l'unité centrale de traitement CPU 93 via le bus local 96. Le composant 82443LX est lui-même relié à un composant 82371AB qui fournit une
<Desc/Clms Page number 14>
interface avec le bus ISA 97 relié à la mémoire 94. Un contrôleur d'interruption IOAPIC Intel 82093AA connecté à l'unité centrale de traitement CPU 93 gère les interruptions pouvant survenir dans le système.
Comme représenté sur la figure 1, le dispositif 90 comporte également une interface de bus 102 qui peut être similaire à l'interface de bus 101 permettant ainsi à l'appareil de traitement de données ou périphérique 92 d'accéder au dispositif de communication.
Une telle interface est par exemple réalisée sous la forme d'une carte SEDNET PCI commercialisée par la société SEDERTA(Marque déposée) sous la référence SD-PCI-200 et permet d'y connecter n'importe quel appareil de traitement de données existant, conçu pour fonctionner en conformité avec la norme 1394.
Il est bien entendu possible d'utiliser un adaptateur 102 spécifique à l'appareil de traitement de données que l'on souhaite y connecter.
L'adaptateur 102 comprend essentiellement un composant d'interface similaire au composant d'interface de bus 101.
Selon le type d'appareil de traitement de données, le bus principal 100, ainsi que les composants d'interface de bus 101 et contrôleur de bus 99 peuvent être adaptés en fonction de l'architecture du type de l'appareil.
Il en est de même pour l'ensemble des éléments CPU 93, RAM 95 et ROM 94.
Comme représenté sur la figure 1, le n#ud selon l'invention comporte également deux moyens d'interfaçage 103 et 104.
Le moyen 103 est destiné à assurer l'interface entre le n#ud 90 et le bus de communication série prévu pour fonctionner selon la norme IEEE 1394 auquel est rattaché ledit n#ud.
Le moyen d'interfaçage 103 est un ensemble de composants PHY/LINK 1394 qui est par exemple constitué d'un composant PHY TSB21LV03A et d'un composant LINKTSB12LV01A commercialisés par la société TEXAS INSTRUMENT (Marque déposée)et de connecteurs
<Desc/Clms Page number 15>
1394, par exemple commercialisés par la société MOLEX (Marque déposée), par exemple sous la référence 53462.
Le moyen d'interfaçage 103 comporte au moins un port externe destiné à être connecté à un appareil de traitement de données ou périphérique qui est rattaché au bus de communication série 1394.
Le moyen 103 comporte des moyens de comptage du nombre d'impulsions en fonction d'un signal d'horloge généré par un module de contrôle 107, qui sera défini ultérieurement. Ce signal d'horloge est synchronisé avec le "Maître de cycle" du bus de communication série avec lequel il est en relation, par l'intermédiaire des paquets de début de cycle, appelés "Cycle Start packet" en terminologie anglo-saxonne. La fréquence du signal d'horloge généré par le module de contrôle 107 est égale à 24,576 MHz +/- 100 ppm. Ce signal est représenté comme étant l'un des signaux notés ctrl3 sur la figure 1.
Sur chaque bus de communication série du réseau, l'un des n#uds est appelé "Maître de cycle" ("Cycle Master" en terminologie anglosaxonne) et le n#ud "Maître de cycle" du bus "racine" est appelé "Maître de cycle du réseau" ("Net Cycle Master" en terminologie anglo-saxonne).
En outre, tous les n#uds "Maîtres de cycle" du réseau présentent une caractéristique qui leur est propre, puisqu'elle dépend de la fréquence de leur horloge interne, à partir de laquelle est définie la durée d'une "période de référence" ou "cycle".
La durée du cycle notée T est égale à un nombre entier n@@t d'impulsions d'horloge, commun ou non à tous les bus, et qui est multiplié par l'inverse de la fréquence de l'horloge interne propre au n#ud "Maître de cycle".
La durée du cycle T est ainsi, par exemple, égale à 125 microsecondes.
Lorsque deux bus de communication série sont reliés par un pont, le "Maître de cycle" de l'un des bus doit synchroniser ses cycles par rapport aux cycles générés par le "Maître de cycle" du bus adjacent.
<Desc/Clms Page number 16>
D'une manière générale, les réseaux de communication formés de bus de communication série permettent la transmission de paquets synchronisée à partir des cycles de bus considérés. Les bus sont par exemple utilisés pour transmettre des paquets de données en temps réel du type audio/vidéo.
Les moyens de comptage comme ceux du moyen d'interfaçage 103 cité plus haut se présentent par exemple sous la forme d'un registre.
Le moyen d'interfaçage 104 mentionné ci-dessus est un composant d'interface IEEE 1355 qui comporte trois ports. Il comprend notamment un composant Cl 13 (référencé 120 sur la figure 2) commercialisé par la société 4LINKS ainsi que trois composants d'interface LUC1141MK commercialisés par la société LUCENT (Marque déposée), eux-mêmes reliés à des connecteurs IEEE 1355, par exemple commercialisés par la société HARTING (Marque déposée). Le composant CI 13 est lui-même réalisé sur la base d'un composant programmable de type FPGA ("Field Programmable Gate Array" en terminologie anglo-saxonne) Spartan XCS30XL, commercialisé par la société XILINX (Marque déposée).
Les initiales FPGA correspondent approximativement en français à "Matrice de Portes Programmables".
Les trois ports externes du moyen d'interfaçage 104 sont destinés à être connectés à des ports de même type sur un autre n#ud de commutation du réseau commuté, permettant ainsi au dispositif 90 de communiquer avec un autre n#ud de ce réseau.
Le dispositif 90 comporte également un moyen de contrôle de flux de données 105 qui permet le transfert des données entre les différents composants d'interface 101,103 et 104. Ce moyen 105 est réalisé en logique programmable, exécuté par un composant de type FPGA, par exemple de référence VIRTEX, commercialisé par la société XILINX.
Ce moyen 105 met en #uvre notamment une unité de mémorisation à double port 106 qui permet de stocker des données à destination de, ou provenant du réseau commuté 1355.
<Desc/Clms Page number 17>
L'unité de mémorisation à double port possède une capacité de stockage inférieure à 2 Mbits et est, par exemple, réalisée sous la forme d'une mémoire de type DPRAM à accès 32 bits.
Les initiales DPRAM signifient en terminologie anglo-saxonne "Dual Port Random Access Memory" ce qui peut être approximativement traduit en langue française par "Mémoire volatile à double port".
L'unité de mémorisation 106 comporte une pluralité de zones mémoires qui sont gérées comme des mémoires individuelles de type FIFO, initiales des termes anglais "First-in First-out" signifiant en français "Premier entré Premier sorti".
Une telle zone mémoire correspond à une mémoire dans laquelle les données sont lues dans l'ordre dans lequel elles ont été préalablement écrites.
Ces zones mémoires comportent chacune un pointeur de lecture et un pointeur d'écriture associés.
Chaque zone mémoire étant gérée comme une mémoire de type FIFO, son remplissage et son vidage peuvent s'effectuer en même temps, et de manière indépendante. Ceci permet de désynchroniser les opérations de lecture et d'écriture des données, effectuées par une unité de commutation 108 qui sera définie ultérieurement, des opérations de lecture et d'écriture des données, effectuées par le module de contrôle 107.
En effet, le taux d'occupation de la zone mémoire considérée est géré de manière circulaire et l'on sait à tout moment si les données contenues dans une zone mémoire ont été lues ou non. Lorsque ces données ont été lues, il est alors possible de venir écrire de nouvelles données à la place de celles-ci.
L'unité de mémorisation à double port constitue en quelque sorte une file d'attente pour les paquets, et la fonction de stockage est réalisée de manière indépendante, selon le port par lequel les paquets parviennent à l'unité de mémorisation.
<Desc/Clms Page number 18>
D'une manière générale, toutes les données isochrones ou asynchrones provenant du réseau commuté sont stockées dans l'unité de mémorisation 106.
Ce stockage est temporaire pour les paquets de données asynchrones (paquets constituant un message transmis en mode non connecté) et pour les paquets de contrôle, qui sont amenés à être transférés ensuite dans le moyen de stockage RAM 95 pour un stockage d'une durée plus importante.
En revanche, les paquets de données isochrones (paquets de type "stream", c'est-à-dire transmis en mode connecté), sont stockés uniquement dans cette unité de mémorisation 106 avant leur transmission sur le bus de communication auquel est raccordé le n#ud de commutation 90 ou sur le réseau commuté.
Ceci s'explique par le fait que ce type de données doit être transféré aussi rapidement que possible du réseau commuté vers le bus et donc doit être stocké dans un moyen de stockage facilement et rapidement accessible.
De même, les paquets de données isochrones, issus du bus de communication auquel est raccordé le n#ud de commutation 90, et qui sont destinés au réseau commuté, sont stockés uniquement dans l'unité de mémorisation 106, et non dans le moyen de stockage 95, pour les mêmes raisons que celles invoquées précédemment.
Ainsi que représenté sur la figure 1, le moyen de contrôle de flux de données 105 comporte plusieurs autres éléments dont un module de contrôle 107 (déjà mentionné plus haut), qui assure une fonction de contrôle de l'unité de mémorisation 106, une unité de commutation 108 (déjà mentionnée plus haut) en communication avec le moyen d'interfaçage 104, avec l'unité de mémorisation 106 et avec le module de contrôle 107, ainsi qu'une unité d'ordonnancement des paquets de données 109, qui est relation avec le module de contrôle 107.
<Desc/Clms Page number 19>
On notera également que le module de contrôle 107 communique avec les moyens d'interfaçage 103 et 104 ainsi qu'avec le composant d'interface de bus noté 101.
Le module de contrôle 107 a pour fonction de multiplexer les accès en lecture ou en écriture à des registres d'autres modules à partir du bus principal noté 100.
Le module 107 possède également la maîtrise du composant d'interface de bus 101 pour les opérations de lecture et d'écriture sur le bus principal 100, incluant notamment le transfert en "mode rafale" (connu en terminologie anglo-saxonne sous le terme de "burst mode").
Le module de contrôle 107 est également chargé du déclenchement des interruptions sur le bus principal 100, en fonction d'événements de communication particuliers.
Ce module échange des données avec le composant 101, sur un bus additionnel 110 (connu en terminologie anglo-saxonne sous le terme de "add-on bus"), suivant les signaux de contrôle notés ctrll.
Comme annoncé ci-dessus, le module 107 est chargé du contrôle de l'unité de mémorisation 106, en ce qui concerne les opérations de lecture et d'écriture en mode FIFO, dans le cas particulier où le composant d'interface de bus 101 est un AMCC, par l'intermédiaire d'un bus de données 111 et de signaux de contrôle ctrl2.
Le moyen d'interfaçage 103 contient des mémoires de type FIFO, qui sont utilisées lors du transfert de paquets de données de type conforme à la norme IEEE 1394. Il comprend deux mémoires FIFO de transmission dites ATF ("Asynchronous Transfer FIFO" en terminologie anglo-saxonne) et ITF ("Isochronous Transfer FIFO" en terminologie anglosaxonne) et une mémoire FIFO de réception dite GRF ("General Receive FIFO" en terminologie anglo-saxonne). Ces mémoires FIFO sont plus largement décrites dans la documentation associée au composant LINK TSB12LV01A.
<Desc/Clms Page number 20>
Le module de contrôle 107 et le moyen d'interfaçage 103 gèrent le transfert de données sur un bus 112 suivant des signaux de contrôle ctrl3.
Par ailleurs, le module de contrôle 107 contrôle l'unité de commutation 108, au moyen de signaux de contrôle ctrl 4, afin de transférer des données de l'unité de commutation vers l'unité de mémorisation 106 par l'intermédiaire d'un bus de données 113, et inversement.
L'unité de commutation 108 est connectée au moyen d'interface 104 par l'intermédiaire d'un bus de données 114 et de signaux de contrôle ctrl5.
L'unité d'ordonnancement des paquets de données 109, notée également SAR (connue en terminologie anglo-saxonne sous le terme de "Segmentation And Reassembling"), informe le module de contrôle 107 du ou des prochains paquets de données à transmettre, par l'intermédiaire de signaux de contrôle ctrl6.
En outre, l'unité d'ordonnancement 109 vérifie la réception des paquets de données, et gère l'allocation et la libération de zones mémoires (connues en terminologie anglo-saxonne sous le terme de "buffers") de l'unité de mémorisation 106.
Les signaux de contrôle ctrl7 échangés entre le moyen d'interfaçage 104 et le module de contrôle 107 comprennent notamment les signaux d'horloges régénérés à partir de la réception des paquets 1355 sur chacun des trois ports du moyen d'interfaçage 104.
Un quartz à 49,152Mhz (non représenté) est connecté à la fois au moyen 104 pour l'émission des paquets 1355 et au module de contrôle 107 qui génère un signal d'horloge à 24,576 MHz +/- 100 ppm, d'une part, pour l'unité d'ordonnancement des paquets de données 109, afin de cadencer l'émission des paquets 1355 et, d'autre part pour le moyen d'interfaçage 103, afin de cadencer l'émission des paquets 1394.
La figure 2 présente un synoptique détaillé du moyen de contrôle de flux de données 105, de l'interface 104 illustrés en regard de la figure 1, ainsi que leurs interconnexions.
<Desc/Clms Page number 21>
Quelques détails sur l'interface série 104 permettent de comprendre comment des paquets sont multiplexés sur le bus de données 114.
L'interface série 104 comprend notamment : - un moyen de contrôle de FIFO 120 décrit précédemment en regard de la figure 1 ; - trois FIFOs d'entrée 121 (InPortO~FIFO), 122 (InPortl~FIFO) et 123 (InPort2~FIFO) ; - un multiplexeur 127 ; - des FIFO de sorties 124 (OutPort0~FIFO), 125 (OutPort1~FIFO) et 126 (OutPort2~FIFO).
Les FIFO 121,122 etl23 sont utilisées pour la mémorisation de paquets entrants, alors que les FIFO 124 à 126 sont utilisées pour la mémorisation des paquets sortants.
Une paire de FIFO est reliée à chaque port de l'interface 104 IEEE 1355. Ainsi, par exemple : - les FIFO 121 et 124 sont utilisées pour le port 0 ; les FIFO 122 et 125 pour le port 1 ; et les FIFO 123 et 126 pour le port 2.
Le bus de données 114, illustré en regard de la figure 1 se décompose en deux bus sur la figure 2 : un bus 44 RxDI[17 :0] de réception des données destinées à l'unité de commutation 108 et transmises par l'interface 104 ; et un bus 41 TxDO[17 :0] d'émission des données à partir de l'unité de commutation 108, vers l'interface 104.
Après leur écriture dans l'une des FIFO d'entrée 121,122 et 123, les paquets entrants sont multiplexés à travers le multiplexeur 127 avant d'être renvoyés vers l'unité de commutation 108 à travers le bus 44.
Les données sortantes de l'unité de commutation 108 sont émises à travers le bus de données 41 pour être stockées dans l'une des FIFO de sortie 124, 125 ou 126.
<Desc/Clms Page number 22>
On rappelle que le moyen de contrôle de flux de données 105 comprend notamment : le module de contrôle 107 ; l'unité de commutation 108 ; l'unité de mémorisation à double port ou DPRAM 106.
Le signal de contrôle Ctrl5, illustré en regard de la figure 1 se décompose en trois signaux sur la figure 2 : un signal de contrôle 51 ; un signal de contrôle 43 TxFIFOfull[O :2] ; et un signal de contrôle 42 WriteTXFIFO[O :2].
Les signaux de contrôle 51, TxFIFOfull[0:2] 42 et WriteTXFIFO[0 :2J 43 permettent au moyen de contrôle 120 de la FIFO de gérer le transfert des paquets de données entre l'unité de commutation 108 et l'interface 104 de liaison série, à travers les bus de données 44 et 41.
Le traitement des signaux de contrôle dans l'unité de commutation 108 sera décrit ultérieurement en regard de la figure 3.
Le signal Ctrl4, illustré en regard de la figure 1, entre l'unité de commutation 108 et le module de contrôle 107, se décompose en au moins quatre signaux sur la figure 2 : deux signaux de contrôle 53 et 54 ; un signal de contrôle IntRxTxEOP[1 :0] 45a ; un signal de données IntRx~TX[31 :0] 45b.
Le signal 45b est un bus de données reliant les éléments 106,107 et
108. Le module de contrôle lit les en-têtes paquets à partir de ce bus 45b.
Les signaux de contrôle 53,54 et 45a permettent la gestion de transfert de données IntRx~TX[31 :0] 45b entre la mémoire double port 106 et l'unité de commutation 108.
Dans certains cas, notamment lors du traitement d'en-tête de paquet, les données du paquet sont envoyées au module de contrôle 107 plutôt qu'à l'unité de mémorisation 106 pour une analyse ultérieure.
<Desc/Clms Page number 23>
Le bus de données 45b est représenté sur la figure 1 par le bus de données 113.
La figure 3 représente un schéma électronique du module de commutation 108 de la figure 1.
Le module de commutation 108 comprend notamment : un moyen 60 d'arbitrage ; un moyen 20 de génération de cycle ; des moyens chargés de la réception et de l'émission des données en provenance ou à destination de l'interface
104 (soient les données en provenance ou à destination d'un réseau commuté IEEE1355) ; des moyens chargés de la réception des données en provenance de la mémoire DPRAM 106 (soient les données en provenance d'un bus IEEE1394) ; et des moyens chargés de l'émission des données vers la mémoire DPRAM 106 (soient les données à destination d'un bus IEEE1394).
Les moyens chargés de la réception et de l'émission des données en provenance de ou vers l'interface 104 comprennent notamment : - un moyen 18 de modification d'en-tête ; - un moyen 19 d'analyse d'en-tête en réception ; - deux mémoires volatiles 15 et 16 de réception agencées en
FIFO ; et - un moyen 17 de contrôle des FIFOs de réception 15 et 16.
Les moyens chargés de la réception des données en provenance de la mémoire DPRAM 106 comprennent notamment : - quatre FIFOs d'entrée 9, 10, 11et 12 ; - un moyen 130 de contrôle des FIFOs d'entrée ; - un multiplexeur 50 ; - un moyen 13 d'analyse d'en-tête de transmission.
<Desc/Clms Page number 24>
Les moyens chargés de l'émission des données vers la mémoire
DPRAM 106 comprennent notamment : - trois mémoires d'assemblage 22, 23 ou 24 ; - trois FIFOs de sortie 25, 26 et 27 ; - un moyen de contrôle 84 des FIFOs de sortie ; et - un multiplexeur 28.
Ces éléments faisant partie du module de commutation 108 sont reliés par des éléments de liaisons décrits ci-après. On note néanmoins que la plupart des échanges se font autour du moyen 60 d'arbitrage avec utilisation de deux bus de données principaux, TxBus 70 et RxBux 80 dont les accès sont gérés par le moyen d'arbitrage 60.
L'utilisation des deux bus internes, les bus de transmission TxBus
70 et de réception RxBus 80, qui permettent de traiter les transferts de données entre les ports va maintenant être détaillée.
Les paquets sortants vers le bus 41 sont transmis à travers le bus de transmission TxBus 70.
Les paquets sortants vers le bus 45 sont transmis à travers le bus interne de réception RxBus 80.
Le moyen 60 d'arbitrage est en charge de la gestion des accès en écriture sur le bus TxBus 70 contrôlant l'ouverture : de registres à trois états 1,2, 3 et 4 grâce à des signaux OpenTxTS[O :3]~on Rx 40 pour les données issues des FIFO d'entrée 9,10, 11 et 12 ; et de registres à trois états 14 grâce à des signaux de contrôle
OpenRxTS~onTx 33 pour les données issues de la mémoire
16.
Les opérations de lecture du bus TxBus 70 vers un port de sortie de l'interface 104 sont gérées par le moyen d'arbitrage 60 en fonction du signal de contrôle vers les FIFO associées à chaque port TxFIFOfull[O :2J
43 et WriteTxFIFO[O :2] 42.
<Desc/Clms Page number 25>
Le moyen d'arbitrage 60 gère aussi les accès en écriture vers le bus RxBus 80 en contrôlant l'ouverture : - de registres à trois états 5,6, 7 et 8 à travers des signaux OpenTxTs[O :3]~onRx 39 pour les données issues des FIFO d'entrée 9,10, 11 et 12 ; et d'un registre à trois états 21 à travers des signaux de contrôle OpenRxTs~onRx 34 pour les données issues de la mémoire 15.
Le moyen d'arbitrage 60 effectue aussi les opérations de lecture de données sur le bus RxBus 80 pour une écriture vers l'une des mémoires d'assemblage 22,23 ou 24 (en anglais "assembly buffers"). L"'assembly buffer" sert de tampon pour la conversion des données entre le bus 80, sur lequel les données sont exprimées sur 18 bits (16 bits de données et 2 bits de contrôle), et les O~FIFOs 25,26 et 27, dans lesquelles les données sont exprimées sur 34 bits) (32 bits de données et 2 bits de contrôle).
Ces tailles de bus sont liées à des contraintes physiques. Le module 84 transmet au moyen d'arbitrage 60 un signal de contrôle R x FIFOfull[O :2J 83, indiquant le degré de remplissage des FIFO 25,26 et 27.
Le moyen d'arbitrage 60 génère un signal de contrôle WriteO~FIFO[2 :0] 35 à destination d'un module 84 de contrôle des FIFO de sortie, en fonction du degré de remplissage des FIFOS 25,26 et 27.
Le moyen d'arbitrage 60 pour le multiplexage des données sur les bus 70 de transmission TxBus et 80 de réception RxBus utilise des signaux 46 de cycle EN~cycle[0:2]. C'est le moyen 20 de génération de cycle, par exemple un compteur de Johnson, qui génère ces signaux 46.
Le traitement des données entrantes va maintenant être détaillé en fonction de l'origine de ces données : le bus 44 ; le bus 45.
Les données entrantes en provenance du bus 44 RxDI[17 :0] ou du bus 45 seront routées vers le commutateur pour aller :
<Desc/Clms Page number 26>
vers le bus 41 TxD0[17 :0] soit en direction de l'interface
104;ou vers le bus 45 soit en direction de la DPRAM 106.
Le traitement des données entrantes en provenance du bus 44 va maintenant être exposé.
Les échanges de données sur le bus 44 sont gérés à travers le moyen 18 de modification d'en-tête et le moyen de contrôle de FIFO 120 de l'interface série, grâce aux signaux de contrôle 51. Les signaux de contrôle 51 comprennent un signal d'écriture vers le moyen 18 de modification d'en-tête et des signaux de contrôle de flux du module 18, correspondant chacun à des ports d'entrées du moyen d'interfaçage 104.
Les morceaux de paquets entrant en provenance du bus 44 parviennent d'abord à un moyen de modification d'en-tête 18 pour un traitement relatif aux en-têtes de paquet.
Les morceaux de paquets sont ensuite stockés : dans la mémoire 15 lorsqu'ils sont adressés au bus de réception 80 RxBus ; et dans la mémoirel6 lorsqu'ils sont adressés au bus de transmission 70 TxBus.
Lorsqu'ils sont adressés vers les deux bus, les morceaux de paquets sont adressés aux deux bus simultanément pour être stockés dans deux moyens de stockage simultanément.
De même, le moyen 17 de contrôle de FIFO de réception contrôle les opérations de stockage dans les deux mémoires 15 et 16.
Les mémoires 15 et 16 sont des mémoires à double port, découpées en trois zones indépendantes, chacune étant gérée comme une FIFO.
Les signaux synchrones sont gérés suivant un certain rythme correspondant à une succession de phases constituées de quatre cycles d'horloge.
Dans une phase à quatre cycles, au cours de chacun des trois premiers cycles d'horloge de la phase, on effectue à la fois une opération
<Desc/Clms Page number 27>
d'écriture et une opération en lecture vers deux adresses de chacune des RAM (mémoires volatiles) 15 ou 16. Ces adresses pointent respectivement : vers le dernier élément (queue) de l'une des FIFO dans chacune des RAM 15 et 16 ;et vers le premier élément (head) de l'une des FIFO dans chacune des RAM 15 et 16.
Aucune opération de lecture ou d'écriture vers les RAM 15 et 16 n'est effectuée au cours du quatrième cycle d'horloge dans une phase à quatre cycles.
Chaque opération de lecture effective de FIFO (définies lorsque le signal 32 de sortie Rx[i]~read est activé durant un cycle et est suivi par un signal d'entrée AllData used[i] activé durant un cycle, i correspondant à un numéro de la FIFO d'entrée) modifie l'adresse pointant sur l'en-tête de FIFO.
Des opérations effectives d'écriture de FIFO (basées sur le même mécanisme que les opérations de lecture, utilisant ici le signal 52 illustré en regard de la figure 3) modifient l'adresse pointant sur la queue de la FIFO.
Ainsi, durant trois cycles, chaque partie de FIFO correspondant à chacun des ports d'entrée est traitée : les opérations d'écriture de données par les moyens 18 de modification d'en-tête sont séquentiellement adressées vers les parties correspondantes 15 et 16, chacun des morceaux de paquets entrant de chacun des ports d'entrée 121,122 et 123 de l'interface 104.
D'une manière similaire, les données lues à partir des mémoires 15 et 16 sont traitées respectivement par les bus RxBus 80 et TxBus 70.
Le moyen 17 de contrôle de FIFO de réception est en charge de la lecture et de l'écriture effective des FIFO contenues dans les mémoires 15 et 16.
Le signal 52 de contrôle informe le moyen de modification d'entête 18 qu'une FIFO est pleine dans l'une des mémoires 15 ou 16 et qu'il y
<Desc/Clms Page number 28>
a aussi une requête d'écriture pour une FIFO dans l'une des mémoires 15 ou 16.
Le moyen de contrôle de FIFO de réception informe le module 60 d'arbitrage qu'une nouvelle donnée a été lue à partir de l'une des mémoires 15 ou 16 grâce au signal Rx[0 :2]read 32.
Les mêmes données sont lues à chaque phase de quatre cycles lorsqu'elles ne sont pas lues de manière effective en les plaçant simplement, soit sur le bus RxBus, soit sur le bus TxBus, soit sur les deux, en fonction du routage du paquet.
Ainsi, les mêmes données sont présentées tous les quatre cycles, jusqu'à ce qu'elles aient été réellement lues par la ou les destinations.
Le moyen 60 d'arbitrage gère l'ouverture du registre à trois états 14 grâce aux signaux de contrôle OpenRxTs~onTx 33, pour placer les données en lecture de la mémoire 16 sur le bus de transmission TxBus 70.
Le moyen 60 gère également l'ouverture du registre à trois états 21, grâce aux signaux de contrôle OpenRxTs~onRx 34 pour mettre les données lues de la mémoire 15 vers le bus de réception RxBus 80.
Le moyen d'arbitrage 60 gère aussi le contrôle des signaux allRxData~used[0:2] pour indiquer au moyen 17 de contrôle des FIFO de réception que la prochaine donnée sera lue par une partie correspondante dans l'une des mémoires 15 ou 16.
Le moyen 19 d'analyse d'en-tête de paquets reçus commande la forme du signal 47 vers le moyen 60 d'arbitrage.
Lorsqu'un nouveau paquet en provenance de l'un des ports d'entrée 121,122 ou 123 est traité dans le moyen 18 de modification d'en-tête, le signal 47 Rx[0:2]Want[0:3] permet la requête d'une connexion : - vers l'un des ports de sortie de l'interface 104 à travers le bus multiplexé 41 ; ou vers l'une des FIFO internes 25,26 ou 27 à travers le bus multiplexé 45.
<Desc/Clms Page number 29>
Lorsque la fin du paquet est traitée dans le moyen 18 de modification d'en-tête, le signal 47 RxEOP[0:2] informe le moyen d'arbitrage 60 de la fin d'une connexion.
On note que le moyen 18 de modification d'en-tête émet un signal représentatif d'une information de routage à destination du moyen 19 d'analyse d'en-tête en réception.
En ce qui concerne la connexion et la déconnexion vers l'interface série IEEE 1355, le moyen 60 d'arbitrage gère les signaux 81 Rx[0:2]~connected émis vers le moyen 17 de contrôle de FIFO de réception pour indiquer le statut de la connexion associée à chaque port.
De même, le moyen 60 d'arbitrage gère les signaux Tx[0:2]~connected 82 vers le moyen 130 de contrôle des FIFO d'entrée 9, 10, 11 et 12 pour les données en provenance de la DPRAM 106.
Les données échangées sur le bus 45 sont gérées : par le moyen 84 de contrôle des FIFO de sortie 0~FIFO et le module de contrôle 107 par l'intermédiaire du signal 53 ; par le moyen 13 de contrôle des FIFO d'entrée I-FIFO et le module de contrôle 107 par l'intermédiaire du signal 54.
Le multiplexeur 28 autorise la sélection d'une FIFO de sortie 0~FIFO parmi les trois FIFO 25,26 ou 27 pour des opérations de lecture de FIFO de données destinées à la mémoire de stockage double port 106. Cette opération de sélection est gérée par le moyen 84 de contrôle de FIFO de sortie 0~FIFO grâce à un signal 85.
Par ailleurs, les moyens 130 de contrôle de FIFO d'entrées I~FIFO contrôlent des opérations d'écriture de la mémoire de stockage 106 vers l'une des quatre FIFO I FIFO d'entrée 9,10, 11 ou 12 grâce aux signaux 90.
C'est uniquement le cas pour le bus 42 où les signaux de contrôle 43 et 42 attachés au moyen de mémorisation des ports de sorties sont directement connectés vers les moyens 60 d'arbitrage.
<Desc/Clms Page number 30>
En d'autres termes, le bus 41 est le seul bus dont les signaux de contrôle (42 et 43) sont directement reliés à l'arbitre 60.
Le traitement des données entrantes en provenance du bus 45 va maintenant être détaillé.
Les morceaux de paquets provenant du bus 45 sont démultiplexés vers chaque FIFO d'entrée 9,10, 11 et 12. Ainsi, quatre paquets (un par FIFO d'entrée) peuvent être traités simultanément.
Chaque FIFO d'entrée est connectée à deux bus internes 70 et 80 à travers les registres à trois états 1 à 8.
Le moyen 60 d'arbitrage est en charge de gérer : les accès en écriture sur le bus TxBus 70 contrôlant alternativement l'ouverture des registres trois états, 1 à 4 grâce aux signaux OpenTxTs[O :3]~onTx 40, chacun des registres 1 à 4 étant affecté à une FIFO d'entrée 9 à 12 ; etles accès en écriture sur le bus RxBus 80 contrôlant alternativement l'ouverture des registres trois états 5 à 8 grâce aux signaux OpenTxTs[0:3]~onRx 39, chacun des registres 5 à 8 étant affecté à une FIFO d'entrée 9 à 12 .
Les opérations d'écriture sur le bus RxBus 70 sont indépendantes des opérations d'écriture sur le bus TxBus 80.
Le moyen d'arbitrage 60 génère aussi des signaux de contrôle allTxData used[0:3] 37, qui autorisent la lecture sur l'une des FIFO d'entrées 9 à 12, grâce aux moyens de contrôle des FIFO d'entrée 130.
Le moyen 130 de contrôle des FIFO d'entrée informe le moyen 60 d'arbitrage de la réussite d'une opération de lecture, effectuée par l'une des FIFO d'entrée, grâce au signal de contrôle 38 Tx[0 :3]~Read.
Les données d'en-tête de paquet sont multiplexées par un multiplexeur 50 de l'une des FIFO de sorties 9 à 12 pour être émises vers le moyen 13 d'analyse d'en-tête.
<Desc/Clms Page number 31>
Le moyen 13 d'analyse d'en-tête de paquet transmis analyse les données issues des FIFO d'entrée 9,10, 11 et 12 pour générer le signal 36 Tx[0 :3]Want[0 :3] à destination du moyen d'arbitrage 60.
Lorsqu'un nouveau paquet est traité dans l'une des FIFO d'entrée 9 à 12, le signal 36 Tx[0 :3]Want[0 :3] permet la requête d'une connexion : vers l'un des ports de sortie du moyen d'interfaçage 104 par un bus 41 multiplexé ; ou vers l'une des FIFO de sortie 25,26 ou 27 par un bus 45 multiplexé.
Lorsque la fin du paquet est traitée dans l'une des FIFO d'entrée 9 à
12, le signal 36 TxEOP[0:3] permet d'informer le moyen d'arbitrage 60 d'une fin de connexion.
La figure 4 illustre une implémentation détaillée du moyen 60 d'arbitrage. Le moyen d'arbitrage est en charge de la génération du multiplexage par répartition dans le temps (MRT) en combinaison avec la gestion des connexions. Ici, une connexion se réfère à un intervalle alloué à un paquet pour réaliser un routage d'un port entrant vers un port sortant.
Un cycle de connexion est associé à chaque port sortant.
L'établissement d'une connexion permet d'associer un port entrant à au moins un cycle de connexion et de valider le mécanisme d'écriture des unités de données de protocole vers le port sortant associé au(x) cycle(s) de connexion considéré(s).
L'élément clé du moyen 60 d'arbitrage est un point de couplage élémentaire.
Dans le mode préféré de réalisation, le moyen 60 d'arbitrage comprend notamment :
30 points de couplage élémentaires référencés 150 à 179 ; 7 moyens 180 à 186 de traitement central de points de couplage effectuant des opérations de type OU sur des signaux élémentaires ; et
<Desc/Clms Page number 32>
un moyen de traitement 187 effectuant des opérations de type OU sur des signaux élémentaires.
Les 30 points de couplage élémentaires sont organisés en lignes et colonnes. Les colonnes traitent des signaux attachés aux ports entrants alors que les lignes traitent des signaux attachés aux ports sortants.
Une colonne est allouée à chaque FIFO d'entrée ou d'une manière équivalente à chaque paquet entrant.
Ainsi, les première, seconde et troisième colonnes correspondent aux trois FIFO réalisées à partir de mémoires double port 15 et 16 telles qu'illustrées en regard de la figure 3), respectivement attachées aux FIFO InPort0~FIFO 121, InPortl~FIFO 122 et InPort2~FIFO 123 de l'interface série 104.
De même, les 4ème, sème, 7ème et sème colonnes sont respectivement attachées aux FIFO d'entrées I~FIFO~0 9, I~FIFO~1 10, I~FIFO~2 11 et I~FIFO~3 12.
Une ligne est allouée à chaque FIFO de sortie ou d'une manière équivalente attachée à chaque paquet sortant :
Ainsi, les première, seconde, et troisième lignes correspondent aux trois FIFO de sortie OutPortO FIFO 124, OutPortl FIFO 125 et OutPort2 FIFO 126 avec l'interface série et attachés aux intervalles de temps du bus TxBus 70.
De même, les 4ème, sème, 6ème lignes correspondent aux FIFO internes de sortie du commutateur, respectivement les FIFO O~FIFO~0 25, 0~FIFO~1 26 et 0~FIFO~2 27 et attachés aux intervalles de temps du bus RxBus 80.
Les intervalles disponibles pour la connexion sont relatifs à des lignes (donc à des ports de sortie), ce qui signifie qu'il est possible de traiter six connexions simultanément. Tant qu'un point de couplage a été sélectionné avec une ligne, l'intervalle de temps correspondant ou la FIFO de sortie correspondante sont alloués à un paquet entrant. Ainsi, aucun autre paquet ne peut être transmis au cours de cet intervalle de temps alors
<Desc/Clms Page number 33>
que la connexion existante reste active, et ce jusque la fin du transfert du paquet courant.
Pour obtenir un tel comportement, les points de couplage élémentaires sur une ligne sont chaînés en cascade afin de permettre une seule connexion à la fois. Par exemple, les points de couplage élémentaires 150 à 154 sont chaînés en cascade pour permettre le transfert d'un seul paquet entrant au cours de l'intervalle 0 du bus TxBus 70. De la même manière, les points de couplage élémentaires 165 à 169 sont chaînés en cascade pour permettre le transfert d'un seul paquet entrant au cours de l'intervalle 0 du bus RxBus 80.
Selon le mode préféré de réalisation, un paquet entrant peut être transféré simultanément sur quatre intervalles lorsque la matrice d'arbitrage comprend quatre points de couplage élémentaire par colonne distincte de la dernière colonne.
La dernière colonne permet le transfert des paquets vers tous les intervalles simultanément et la matrice d'arbitrage comprend six points de couplage élémentaires associés à cette dernière colonne. Cette dernière colonne correspond à la mise en #uvre particulière de la FIFO de diffusion I~FIFO~3 12.
Selon un mode particulier de réalisation du commutateur, une matrice d'arbitrage simplifiée permet la suppression des couples élémentaires de couplage et par exemple lorsque le bus 45 est attaché à un point interne, les points de couplage 166 à 169,171 à 174 et 176 à 179 ne sont plus utiles, car ils ne seraient utilisés que pour du trafic généré par le point interne pour lui-même.
Selon le mode préféré de réalisation, pour chaque signalisation de colonne, les signaux d'entrée 471a à 471c et 47a à 47c (Rx[O :2]EOP et Rx[0:2]Want[0:3]) et 361a à 361d et 36a à 36d (Tx[O :2]EOP et Tx[0 :2]Want[O :3]) informent chaque point de couplage élémentaire de la même colonne, respectivement de la fin du transfert d'un paquet (libération
<Desc/Clms Page number 34>
de la connexion) ou d'un nouveau paquet à transférer (demande de connexion).
On note que les signaux d'entrée 361a à 361d et 36a à 36d (tels qu'illustrés en regard de la figure 3 sous la référence 36) sont générés par le moyen 13 d'analyse d'en-tête de transmission.
Les signaux d'entrée 32a à 32c (Rx[O :2]~read) et 38a à 38d (Tx[0:2]~read) informent chaque point de couplage élémentaire de la même colonne, de la disponibilité d'un nouvelle unité de donnée de protocole à traiter pendant le cycle de connexion préalablement déterminé au cours de l'établissement de cette connexion.
Les signaux 471a à 471c et 47a à 47c sont générés par le moyen 19 d'analyse d'en-tête de réception, tel qu'illustré en regard de la figure 3 sous la référence 47.
Les signaux 32a à 32c et 38a à 38d sont générés respectivement par les moyens 17 de contrôle de FIFO de réception et moyens 130 de contrôle de FIFO d'entrée tels qu'illustrés en regard de la figure 3 sous les références respectives 32 et 38.
Chaque colonne est associée à l'un des points de couplage central 180 à 186. Ainsi, par exemple, la colonne comprenant les points de couplage élémentaires 150,155, 160 et 165 est associée au point de couplage central 180.
Chacun des moyens 180 à 186 de traitement effectue une opération de type OU sur les signaux de contrôle générés pour chaque intervalle correspondant à la colonne qui lui est associée et pour chaque bus (respectivement sur les bus TxBus 70 et RxBus 80), correspondant à chaque cycle de connexion.
Un signal de sortie, 203 à 209, issus de chaque point de couplage central respectivement180 à 186 est connecté à chaque point de couplage de la colonne correspondante au point de couplage considéré et permet de valider l'écriture effective de l'unité de protocole vers le port sortant associé au cycle de connexion considéré.
<Desc/Clms Page number 35>
Les signaux de sorties 203 à 209 représentent respectivement les signaux :
Figure img00350001

OpenRxTs0~onTx[0 :21 et Rx0 EOP sent (203) ; OpenRxTsl onTxjO :2J et 7~EOP~. (204) ; OpenRxTs2 onTxjO :2] et e2~EOP~ (205) ; OpenTxTsO onTxjO :2] et Tx0 EOP sent (206) ; OpenTxTsl onTxjO :2] et Txl EOP sent (207) ; OpenTxTs2 onTxjO :21 et Tx2 EOP sent (208) ; et OpenTxTs3 onTxjO :2J et Tx3 EOP sent (209).
Le moyen 187 effectue une opération de type OU (représenté par le signe #) sur les signaux de sortie 216 à 218 (en respectant l'implémentation spécifique des FIFO présentes dans les mémoires double port 15 et 16) des points 180 à 182 de couplage central qui correspondent aux trois premières colonnes de la matrice d'arbitrage.
Ainsi, par exemple, une unité de protocole présente dans l'une des FIFOs de la mémoire RAM 15 est présentée sur le bus RxBus 80 lorsque l'un des signaux OpenRxTs0~onRx[0 :2] active l'ouverture du registre 21 à trois états associé à la FIFO de la mémoire 15. Comme l'ensemble des trois FIFO de la mémoire 15 associées aux FIFO InPortO~FIFO 121, InPortl~FIFO 122 et InPort2~FIFO 123 sont réalisées à partir de la mémoire double port 15 associée au bus RxBus 80, un seul registre 21 à trois états est nécessaire entre respectivement la mémoire 15 et le bus RxBus 80. Il suffit donc qu'un des signaux OpenRxTS[O :2]~onRx[O :2] soit validé pour rendre passant le registre 21 à trois états. Le registre 21 est donc commandé par le signal OpenRxTS~onRx 34 généré par le moyen 187 selon la relation suivante :
Figure img00350002

OpenRxTS~onRx = OpenRxTSO~onRx[O :2] O OpenRxTSl~onRx[0 :2] O OpenRxTS2~onRx [0:2]
De même, un seul registre 14 à trois états entre la mémoire 16 et le bus TxBus 70 est commandé par le signal OpenRxTS~onTx 33 généré par le moyen 187 selon la relation suivante :
<Desc/Clms Page number 36>
Figure img00360001

OpenRxTS~onTx = OpenRxTSO~onTx[O :2J O <9;e:nS'7~6TO :2J O OpenRxTS2~onTx [0:2]
Le moyen 187 génère aussi des signaux de sortie 31 a, 31b, 31 c, 81a, 81b et 81c sont connectés au moyen 17 de contrôle de réception RxFIFO.
Les signaux de sortie 37a à 37d et 82a à 82b correspondant respectivement aux 4ème,5ème, 6ème et 7ème colonnes sont connectés au moyen 130 de contrôle de la FIFO d'entrée. Les signaux de sortie 40a, 40d commandent respectivement les registres trois états 1 à 4 et les signaux de sortie 39a et 39d commandent respectivement les registres à trois état 5 à 8 illustrés en regard de la figure 3.
Pour la signalisation par ligne, des signaux d'entrée incluent principalement des cycles autorisant des intervalles de temps 46a, 46b et 46c, qui valident les cycles de connexion : pour toute écriture sur les FIFO de sortie respectivement
124,125 ou 126 à travers le bus TxBus 70 ; ou pour l'écriture sur les FIFO internes 25,26 et 27 à travers le bus RxBus 80.
On note que durant un même intervalle de temps, une opération d'écriture peut se produire simultanément sur une FIFO de sortie et sur une FIFO interne.
Une FIFO interne doit être constamment disponible pour l'écriture afin de respecter une grande vitesse du bus 45 alors que des FIFO de sorties peuvent parfois faire face à des congestions du réseau. C'est la raison pour laquelle les 1ère, 2ème et 3ème lignes comprennent aussi une signalisation de FIFO complète 43a, 43b et 43c pour les FIFO de sortie respectivement 124, 125 et 126. Tous les signaux d'entrée liés à une ligne sont connectés à chaque point de couplage élémentaire avec cette ligne. Les signaux de sortie résultant pour chaque ligne 42a à 42c et 35a à 35c sont générés par un simple point de couplage élémentaire avec leur ligne correspondante, celle-ci ayant précédemment gagné une connexion avec la ligne.
<Desc/Clms Page number 37>
Comme décrit ci-dessus, le moyen 18 de modifications d'en-tête est en charge du traitement des paquets reçus, ce qui inclut : l'analyse de l'en-tête de paquet (retrouver des informations de routage qui permettent de générer les signaux 52 utilisés pour réaliser le routage) ; le transfert des données contenues dans le paquet : les opérations d'écriture adressent séquentiellement les zones correspondantes dans les mémoires 15 et 16, pour chaque partie de paquet venant de chaque port d'entrée ; la détection de fin de paquet (informer à travers les signaux
52 de la fin de la connexion).
On présente maintenant de façon détaillée la mise en #uvre d'un mode de réalisation préférentiel du procédé selon la présente invention, par le commutateur (ou appareil de commutation) 90 décrit ci-dessus (en relation avec les figures 1 à 4).
* La mémoire ROM 94 (cf. fig.l) stocke un programme logiciel implémentant un algorithme de calcul de l'arbre de recouvrement du réseau pour la diffusion d'un paquet de diffusion. Cet algorithme, spécifique à la présente invention, est décrit en détail par la suite, en relation avec la figure 7.
L'unité centrale de traitement CPU 93 (cf. fig.l) du commutateur 90 exécute cet algorithme afin de calculer l'arbre de recouvrement et donc connaître, pour chaque commutateur du réseau et notamment pour le commutateur 90, le(s) port (s) de sortie (chacun connecté à un lien) concerné(s) par la diffusion.
Selon une variante de l'invention, l'algorithme de calcul de l'arbre de recouvrement pour la diffusion est exécuté de façon centralisée (et non pas par chacun des n#uds) et le résultat est communiqué à chacun des n#uds.
Le résultat concernant le commutateur 90 est un signal comprenant une pluralité de bits de diffusion, chacun de ces bits de diffusion indiquant si l'un des ports de sortie du commutateur 90 est concerné ou non par la
<Desc/Clms Page number 38>
diffusion de paquets. Ce signal de résultat (bits de diffusion) est véhiculé depuis l'unité centrale de traitement CPU 93 jusqu'au module de contrôle 107, via le contrôleur de bus 99, le bus principal 100 et l'interface de bus lOl(cf.fig.l).
Entre le module de contrôle 107 et l'unité de commutation 108, le signal de résultat précité (bits de diffusion) est transmis en tant que composante supplémentaire 54b du signal Ctrl4 (cf. fig.l). On rappelle que les quatre autres composantes du signal Ctrl4 sont (cf. fig.2) : deux signaux de contrôle 53 et 54, un signal de contrôle IntRxTxEOP[l :0] 45a et un signal de données IntRx~TX[31 :0] 45b.
Comme illustré sur la figure 3, au sein de l'unité de commutation 108, le signal de résultat précité (bits de diffusion) 54b est transmis : - au moyen 17 de contrôle des FIFOs de réception. Ce moyen 17 fait partie des moyens chargés de la réception et de l'émission des données en provenance de ou vers l'interface 104. On rappelle que l'interface 104 traite des données en provenance ou à destination d'un réseau commuté IEEE1355 ; au moyen 130 de contrôle des FIFOs d'entrée. Ce moyen 130 fait partie des moyens chargés de la réception des données en provenance de la mémoire DPRAM 106. On rappelle que la mémoire DPRAM 106 traite des données en provenance et/ou à destination d'un bus IEEE1394, ainsi que des données en provenance et/ou à destination de l'unité centrale de traitement CPU 93. C'est précisément dans ce second type de données que rentre le signal de résultat précité (bits de diffusion) 54b.
On décrit maintenant successivement, en relation avec la figure 3, deux modes de fonctionnement du commutateur 90, selon qu'il agit en tant que noeud générateur (source) ou noeud récepteur (intermédiaire ou final) d'un paquet de diffusion à diffuser dans un réseau commuté IEEE1355.
Dans le premier mode de fonctionnement (noeud générateur), le paquet de diffusion à émettre est stocké dans une des quatre FIFOs d'entrée 9,10, 11 et 12. Une fois que les données contenues dans le paquet de
<Desc/Clms Page number 39>
diffusion sont émises sur le bus de transmission TxBus 70, puis sur le bus 41 TxDO[17 :0] (bus d'émission des données, de l'unité de commutation 108 vers l'interface 104), le moyen 130 de contrôle des FIFOs d'entrée indique au moyen 60 d'arbitrage tous les ports de sortie concernés par la diffusion. Ensuite, le signal de contrôle 42 WriteTXFIFO[O :2J indique des opérations d'écriture simultanées sur la ou les FIFO(s) de sortie concernée(s) (c'est-à-dire sur une ou plusieurs des trois FIFOs suivantes (cf. fig.2) : OutPort0~FIFO 124, OutPortl~FIFO 125 et OutPort2~FIFO 126).
A titre de comparaison, on notera que les données d'un paquet point-à-point émis par le commutateur 90 sont toujours écrites seulement sur l'une de ces trois FIFOs 124 à 126.
Dans le second mode de fonctionnement (n#ud récepteur), après réception d'un paquet de diffusion, les données contenues dans ce dernier sont fournies : d'une part à la mémoire volatile de réception 15 agencée en FIFO, d'où elles passent ensuite successivement sur le bus interne de réception RxBus 80, puis l'une des trois FIFOs internes de sortie (O~FIFOs) 25,26 et 27 et enfin le bus interne 45. A partir de ce bus interne 45, les données contenues dans le paquet de diffusion reçu sont ensuite envoyées vers des moyens de traitement appropriés compris dans le commutateur 90 (par exemple l'unité centrale de traitement CPU 93) ; d'autre part à la mémoire volatile de réception 16 agencée en FIFO, d'où elles passent sur le bus de transmission TxBus 70. Ensuite, de même que dans le premier mode de fonctionnement décrit ci-dessus, les données contenues dans le paquet de diffusion sont émises sur le bus 41 TxDO[17 :0]. Par ailleurs, le moyen 130 de contrôle des FIFOs d'entrée indique au moyen 60 d'arbitrage tous les ports de sortie concernés par la diffusion, à l'exception de la FIFO de sortie correspondant au port d'entrée sur lequel le paquet de diffusion a été reçu. Enfin, le signal de contrôle 42 WriteTXFIFO[0 :2] indique des opérations d'écriture simultanées sur la ou les FIFO(s) de sortie concernée (s), celle sur laquelle porte
<Desc/Clms Page number 40>
l'exception précitée (pour cette dernière, le signal de contrôle 42 est masqué).
A titre de comparaison, on notera que les données d'un paquet point-à-point reçu par le commutateur 90 apparaissent uniquement sur le bus interne de réception RxBus 80, et jamais sur le bus de transmission TxBus 70.
A titre illustratif, pour un même exemple de réseau, on présente maintenant deux arbres de recouvrement : l'un (cf. fig. 5) calculé selon la technique de l'art antérieur, et appelé par la suite "arbre de l'art antérieur" ; l'autre (cf. fig. 6) selon la technique de l'invention, et appelé par la suite "arbre de l'invention".
Le petit réseau comporte six n#uds NI à N6, et neuf liens L1 à L9.
Les liens apparaissant en gras sont ceux appartenant à l'arbre de recouvrement pour la diffusion.
L'arbre de l'art antérieur (cf. fig. 5) prend en compte un "coût" par lien, tel que par exemple le taux d'occupation relatif avec un trafic point-àpoint. On considère que les taux d'occupation des liens sont ceux indiqués dans le tableau ci-dessous.
Figure img00400001
<tb>
<tb>
Lien <SEP> L1 <SEP> L2 <SEP> L3 <SEP> L4 <SEP> L5 <SEP> L6 <SEP> L7 <SEP> L8 <SEP> L9
<tb> Taux <SEP> d'occupation <SEP> en <SEP> % <SEP> 15 <SEP> 10 <SEP> 12 <SEP> 20 <SEP> 21 <SEP> 40 <SEP> 25 <SEP> 24 <SEP> 22
<tb>
On rappelle que la technique selon l'art antérieur vise à choisir l'arbre de recouvrement qui minimise le "coût" total des liens formant l'arbre de recouvrement.
Cependant, l'arbre de l'art antérieur n'est pas optimal selon un autre critère. En effet, les n#uds NI et N2 possèdent chacun trois ports faisant partie de l'arbre de recouvrement. En d'autres termes, chacun des n#uds NI et N2 est connecté à trois liens de l'arbre de recouvrement.
Ceci signifie que si le n#ud NI est le n#ud source et veut diffuser un paquet, il doit attendre la disponibilité simultanée des liens Ll, L4 et L2.
Si l'on suppose que ces liens sont libres avec une probabilité de 85%, 80%
<Desc/Clms Page number 41>
et 90% respectivement, et que le trafic de lien est indépendant, cela signifie que la probabilité d'une disponibilité simultanée des liens L1, L4 et L2 est de seulement 61,2%. Par conséquent, la latence moyenne de diffusion d'un paquet de diffusion au sein du réseau commuté est très élevée.
De façon similaire, le noeud N2, s'il souhaite renvoyer un paquet de diffusion provenant du noeud NI à travers le lien L2, doit attendre la disponibilité simultanée des liens L3 et L5.
Au contraire, l'arbre de l'invention (cf. fig. 6) prend en compte le nombre de lien par noeud que comprend l'arbre de recouvrement. Dans l'exemple illustré, l'arbre de l'invention est linéaire. Cela signifie qu'un noeud source, à l'origine de la diffusion d'un paquet de diffusion, doit attendre la disponibilité simultanée de deux de ses ports de sortie au plus.
Cela signifie également qu'un noeud intermédiaire, renvoyant vers d'autre(s) noeud(s) un paquet de diffusion qu'il a reçu, doit renvoyer le paquet de diffusion sur un seul de ses ports de sortie. Ainsi, on augmente les chances de disponibilité simultanée des ports de sortie concernés par la diffusion et on réduit la latence moyenne de diffusion d'un paquet de diffusion au sein du réseau commuté.
On présente maintenant, en relation avec la figure 7, un organigramme décrivant un exemple d'algorithme de calcul d'un arbre de recouvrement selon l'invention.
Dans cet exemple d'algorithme, on génère systématiquement tous les arbres de recouvrement possibles, afin de vérifier quel est celui qui répond le mieux au critère selon l'invention (minimisation du nombre de lien par n#ud, dans l'arbre de recouvrement).
Si l'on suppose que le réseau comporte N n#uds et L liens, chaque arbre de recouvrement comporte L-l liens et il existe au plus M arbres de recouvrement différents, avec :
Figure img00410001
<Desc/Clms Page number 42>
Tous ces arbres peuvent être générés simplement en générant tous les sous-ensembles de N-1 éléments de l'ensemble de tous les liens, et en éliminant les sous-ensembles qui ne sont pas des arbres.
Par conséquent, il est possible de générer tous les arbres et de les traiter successivement, comme cela est fait lors des étapes référencées 602 (génération du premier arbre), 605 (passage à l'arbre suivant) et 604 (vérification que tous les arbres ont été traités).
Comme expliqué en détail ci-après, on utilise notamment les deux variables suivantes : la variable "meilleur~arbre", pour stocker le jeu de liens représentatif de l'arbre répondant le mieux au critère selon l'invention ; la variable "arbre~courant", pour stocker le jeu de liens représentatif d'un arbre que l'on souhaite comparer au "meilleur arbre".
On décrit maintenant le déroulement de l'exemple d'algorithme illustré sur la figure 7.
Après le lancement de l'exécution de l'algorithme (étape 601), on génère un premier arbre de recouvrement (étape 602) que l'on stocke dans la variable "meilleur~arbre" (étape 603).
Si tous les arbres de recouvrement possibles ont été traités (réponse "oui" à la question de l'étape 604), le résultat final de l'algorithme est le contenu de la variable "meilleur~arbre" (étape 608).
Dans le cas contraire (réponse "non" à la question de l'étape 604), on génère l'arbre suivant et on le stocke dans la variable "arbre~courant" (étape 605), afin de le comparer avec l'arbre stocké dans la variable "meilleur~arbre" (étape 606) : si l'arbre contenu dans la variable "arbre~courant" est "meilleur" que celui contenu dans la variable "meilleur~arbre" (réponse "oui" à la question de l'étape 606), on remplace le contenu de la variable "meilleur~arbre" par celui de la variable "arbre~courant" (étape 607) avant
<Desc/Clms Page number 43>
de reboucler sur l'étape 604 (tous les arbres de recouvrement possibles ontils été traités ? ) ; dans le cas contraire (réponse "non" à la question de l'étape 606), on ne modifie pas le contenu de la variable "meilleur~arbre" et on reboucle directement sur l'étape 604.
On présente maintenant un mode de réalisation préférentiel de l'étape référencée 606, visant à déterminer si l'arbre contenu dans la variable "arbre~courant" est "meilleur" que celui contenu dans la variable "meilleur~arbre" : - on affecte à une variable "p" le nombre maximal prédéterminé de ports par n#ud (étape 606(a)). Dans l'exemple illustré sur la figure
6,p=3; - on affecte à une variable "n~c" le nombre de n#uds ayant p ports dans l'arbre contenu dans la variable "arbre~courant" (étape 606(b)); - on affecte à une variable "n~b" le nombre de n#uds ayant p ports dans l'arbre contenu dans la variable "meilleur~arbre" (étape
606(c)); - on compare le contenu des variables "n~c" et "n~b" (étapes 606(d) et 606(e)) ; - si "n~c" < "n~b" (réponse "oui" à la question de l'étape 606(d)), alors la réponse à la question de l'étape référencée 606 est "oui" (l'arbre contenu dans la variable "arbre~courant" est "meilleur" que celui contenu dans la variable "meilleur~arbre") et on reboucle sur l'étape référencée 607 ; si "n~c" > "n~b" (réponses "non" à la question de l'étape 606 (d) et"non" à la question de l'étape 606(e)), alors la réponse à la question de l'étape 606 est "non" (l'arbre contenu dans la variable "arbre~courant" n'est pas "meilleur" que celui contenu dans la variable "meilleur~arbre") et on reboucle sur l'étape référencée 604 ; si "n~c" = "n~b" (réponses "non" à la question de l'étape 606 (d) et"oui" à la question de l'étape 606(e)), alors la réponse à la question
<Desc/Clms Page number 44>
de l'étape référencée 606 n'est pas immédiate et il faut effectuer les étapes suivantes : * on décrémente la variable "p" d'une unité (étape 606(f) ; * si p > 2 (réponse "oui" à la question de l'étape 606(g)), on réitère les étapes référencées 606 (b), et 606 (d), la valeur décrémentée de "p" ; * sinon (réponse "non" à la question de l'étape 606(g)), on compare les deux arbres, contenus dans les variables "arbre~courant" et "meilleur~arbre" respectivement, avec au moins un autre critère (voir ci-dessous, étapes référencées
606 (h), 606 (i) et 606(j)).
Dans l'exemple illustré sur la figure 7, cet autre critère est le critère classique de minimisation de la charge totale des liens appartenant à l'arbre.
Son application se déroule comme suit : - on affecte à une variable "coût~c" le coût total des liens de l'arbre contenu dans la variable "arbre~courant" (étape 606(h)) ; - on affecte à une variable "coût~b" le coût total des liens de l'arbre contenu dans la variable "meilleur~arbre " (étape 606(i)) ; - on compare le contenu des variables " coût~c" et " coût~b" (étape
606(j)) ; - si " coût~c" < " coût~b", alors la réponse à la question de l'étape référencée 606(j) (et par voie de conséquence celle à la question de l'étape référencée 606) est "oui" (l'arbre contenu dans la variable "arbre~courant" est "meilleur" que celui contenu dans la variable "meilleur~arbre") et on reboucle sur l'étape référencée 607 ; si " coût~c" # " coût~b", alors la réponse à la question de l'étape référencée 606(j) (et par voie de conséquence celle à la question de l'étape référencée 606) est "non" (l'arbre contenu dans la variable "arbre~courant" n'est pas "meilleur" que celui contenu dans la variable "meilleur~arbre") et on reboucle sur l'étape référencée 604.

Claims (12)

  1. REVENDICATIONS 1. Procédé de diffusion d'un paquet de données, dit paquet de diffusion, au sein d'un réseau commuté comprenant une pluralité de n#uds (NI à N6) reliés entre eux par une pluralité de liens (L1 à L9), ledit paquet de diffusion étant diffusé le long d'un arbre de recouvrement du réseau, caractérisé en ce que chaque n#ud est du type permettant d'envoyer ledit paquet de diffusion simultanément sur plusieurs liens, et en ce que ledit procédé comprend une étape de calcul dudit arbre de recouvrement, consistant à minimiser le nombre de liens par n#ud que comprend ledit -arbre de recouvrement.
  2. 2. Procédé selon la revendication 1, caractérisé en ce que, si la topologie du réseau le permet, ladite étape de calcul de l'arbre de recouvrement consiste à calculer un arbre de recouvrement linéaire, dans lequel il y a au plus deux liens connectés à chaque n#ud.
  3. 3. Procédé selon l'une quelconque des revendications 1 et 2, ledit réseau commuté étant du type comprenant N n#uds et L liens, caractérisé en ce que ladite étape de calcul de l'arbre de recouvrement comprend ellemême les étapes suivantes : génération d'une pluralité d'arbres de recouvrement possibles pour ledit réseau commuté ; comparaison deux à deux desdits arbres de recouvrement possibles, en fonction d'au moins un critère de comparaison prédéterminé lié à la minimisation du nombre de liens par n#ud appartenant à l'arbre de recouvrement, de façon à déterminer le meilleur arbre de recouvrement parmi ladite pluralité d'arbres de recouvrement possibles.
  4. 4. Procédé selon la revendication 3, caractérisé en ce que lesdites étapes de génération et de comparaison portent sur tous les arbres de recouvrement possibles.
    <Desc/Clms Page number 46>
  5. 5. Procédé selon l'une quelconque des revendications 3 et 4, caractérisé en ce que la comparaison de deux arbres de recouvrement comprend les étapes suivantes : (a) on compare le nombre de n#uds connectés à p liens pour l'un des deux arbres avec le nombre de n#uds connectés à p liens pour l'autre des deux arbres, avec p le nombre maximal prédéterminé de liens par n#ud pour ledit réseau commuté ; (b) si l'un des deux arbres de recouvrement possède moins de n#uds connectés à p liens, il est défini comme le meilleur des deux arbres de recouvrements ; (c) si les deux arbres de recouvrement possèdent le même nombre de n#uds connectés à p liens, on applique un traitement complémentaire.
  6. 6. Procédé selon la revendication 5, caractérisé en ce que ledit traitement complémentaire consiste à décrémenter p d'une unité puis : si p > 2, on réitère les étapes (a), (b) et (c) avec la valeur décrémentée de p ; - sinon, on compare les deux arbres selon au moins un autre critère de comparaison prédéterminé, non lié à la minimisation du nombre de liens par n#ud appartenant à l'arbre de recouvrement.
  7. 7. Procédé selon la revendication 6, caractérisé en ce que ledit au moins un autre critère de comparaison prédéterminé, non lié à la minimisation du nombre de liens par n#ud, est la charge totale des liens appartenant à l'arbre.
  8. 8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que ledit réseau est un réseau local.
  9. 9. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que ladite étape de calcul de l'arbre de recouvrement est effectuée de façon dynamique après chaque modification de la topologie du réseau.
  10. 10. Appareil de commutation de paquets de données, du type compris dans un n#ud et pouvant participer à la mise en #uvre d'un procédé de
    <Desc/Clms Page number 47>
    diffusion d'un paquet de données, dit paquet de diffusion, au sein d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit paquet de diffusion étant diffusé le long d'un arbre de recouvrement du réseau, caractérisé en ce que ledit appareil de commutation comprend : des moyens d'envoi dudit paquet de diffusion simultanément sur plusieurs liens ; des moyens de calcul dudit arbre de recouvrement, par minimisation du nombre de liens par noeud que comprend ledit arbre de recouvrement ; des moyens de paramétrage dudit appareil de commutation en fonction dudit arbre de recouvrement, de façon à mémoriser quels liens, parmi ceux connectés à l'appareil de commutation, doivent être utilisés lors de la diffusion d'un paquet.
  11. 11. Programme d'ordinateur, caractérisé en ce que ledit programme comprend des séquences d'instructions adaptées à la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 9 lorsque ledit programme est exécuté sur un ordinateur.
  12. 12. Produit programme d'ordinateur, adapté à la diffusion d'un paquet de données, dit paquet de diffusion, au sein d'un réseau commuté comprenant une pluralité de noeuds reliés entre eux par une pluralité de liens, ledit paquet de diffusion étant diffusé le long d'un arbre de recouvrement du réseau, chaque noeud étant du type permettant d'envoyer ledit paquet de diffusion simultanément sur plusieurs liens, ledit produit programme d'ordinateur comprenant des instructions de code de programme enregistré sur un support utilisable dans un ordinateur, comprenant : des moyens de programmation lisibles par ordinateur pour effectuer une étape de calcul dudit arbre de recouvrement, consistant à minimiser le nombre de liens par noeud que comprend ledit arbre de recouvrement.
FR0105888A 2001-05-02 2001-05-02 Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement Expired - Fee Related FR2824434B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0105888A FR2824434B1 (fr) 2001-05-02 2001-05-02 Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement
US10/133,677 US7151752B2 (en) 2001-05-02 2002-04-29 Method for the broadcasting of a data packet within a switched network based on an optimized calculation of the spanning tree

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0105888A FR2824434B1 (fr) 2001-05-02 2001-05-02 Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement

Publications (2)

Publication Number Publication Date
FR2824434A1 true FR2824434A1 (fr) 2002-11-08
FR2824434B1 FR2824434B1 (fr) 2004-12-10

Family

ID=8862916

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0105888A Expired - Fee Related FR2824434B1 (fr) 2001-05-02 2001-05-02 Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement

Country Status (2)

Country Link
US (1) US7151752B2 (fr)
FR (1) FR2824434B1 (fr)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060259607A1 (en) * 2001-09-13 2006-11-16 Network Foundation Technologies, Llc System and method for distributing data over a computer network
CN1310473C (zh) * 2003-01-07 2007-04-11 华为技术有限公司 基于同步数字传送网的数据传送方法
US20050007964A1 (en) * 2003-07-01 2005-01-13 Vincent Falco Peer-to-peer network heartbeat server and associated methods
JP4543871B2 (ja) * 2004-10-15 2010-09-15 富士ゼロックス株式会社 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
US20070091828A1 (en) * 2005-10-26 2007-04-26 Nortel Networks Limited Registration, look-up, and routing with flat addresses at enormous scales
US20090265485A1 (en) * 2005-11-30 2009-10-22 Broadcom Corporation Ring-based cache coherent bus
US7760668B1 (en) * 2006-06-20 2010-07-20 Force 10 Networks, Inc. Self-reconfiguring spanning tree
US7734889B1 (en) * 2006-12-22 2010-06-08 Emc Corporation Methods and apparatus for distributing information to multiple nodes
KR100872348B1 (ko) * 2007-01-11 2008-12-05 삼성전자주식회사 스패닝 트리를 이용하는 센서 네트워크 환경에서의 에너지관리 방법 및 시스템
WO2012014100A1 (fr) * 2010-07-26 2012-02-02 Telefonaktiebolaget L M Ericsson (Publ) Noeud et procédé pour le calcul d'arbres de renvoi automatique d'appels pour la distribution de trafic dans un réseau
US9817918B2 (en) 2011-01-14 2017-11-14 Hewlett Packard Enterprise Development Lp Sub-tree similarity for component substitution
US8832012B2 (en) 2011-01-14 2014-09-09 Hewlett-Packard Development Company, L. P. System and method for tree discovery
US8730843B2 (en) * 2011-01-14 2014-05-20 Hewlett-Packard Development Company, L.P. System and method for tree assessment
US9124524B2 (en) * 2011-06-29 2015-09-01 Broadcom Corporation System and method for priority based flow control between nodes
US9589021B2 (en) 2011-10-26 2017-03-07 Hewlett Packard Enterprise Development Lp System deconstruction for component substitution

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5088091A (en) * 1989-06-22 1992-02-11 Digital Equipment Corporation High-speed mesh connected local area network
US6154463A (en) * 1997-08-26 2000-11-28 Lucent Technologies, Inc. System and method for multicast conferencing and online discussion groups
US6865160B1 (en) * 1998-05-04 2005-03-08 Hewlett-Packard Development Company, L.P. Broadcast tree determination in load balancing switch protocols
US6480502B1 (en) * 1998-05-15 2002-11-12 Compaq Information Technologies Group, L.P. Method for avoiding broadcast deadlocks in a mesh-connected network
US6947434B2 (en) * 2000-11-16 2005-09-20 Telefonaktiebolaget Lm Ericsson (Publ) Subgroup multicasting in a communications network
US7054276B2 (en) * 2001-02-07 2006-05-30 International Business Machines Corporation System and method for a multicast network messaging service

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
FUJII A ET AL: "Design of a multicast routing algorithm", PERFORMANCE, COMPUTING AND COMMUNICATIONS, 1998. IPCCC '98., IEEE INTERNATIONAL TEMPE/PHOENIX, AZ, USA 16-18 FEB. 1998, NEW YORK, NY, USA,IEEE, US, 16 February 1998 (1998-02-16), pages 442 - 447, XP010270628, ISBN: 0-7803-4468-5 *

Also Published As

Publication number Publication date
US7151752B2 (en) 2006-12-19
FR2824434B1 (fr) 2004-12-10
US20020196745A1 (en) 2002-12-26

Similar Documents

Publication Publication Date Title
FR2820921A1 (fr) Dispositif et procede de transmission dans un commutateur
EP0113639B1 (fr) Système de commutation de paquets synchrones de longueur fixe
EP0300876B1 (fr) Système de commutation de multiplex temporels hybrides à mémoire tampon optimisée
EP1701274B1 (fr) Architecture de noeud de communication dans un système de réseau sur puce globalement asynchrone
FR2824434A1 (fr) Procede de diffusion d&#39;un paquet de donnees au sein d&#39;un reseau commute, base sur un calcul optimise de l&#39;arbre de recouvrement
EP0300941B1 (fr) Système de commutation d&#39;informations à priorités
EP0126196B1 (fr) Réseau de commutation temporelle asynchrone permettant les communications point à point, de fusion et de diffusion
FR2883116A1 (fr) Architecture de communication globalement asynchrone pour systeme sur puce.
EP0284534B1 (fr) Système de commutation de multiplex temporels hybrides
EP0293315A1 (fr) Système et méthode de contrôle de flux de paquets
EP0296928A1 (fr) Equipement de reconstitution et multiplexage de trames d&#39;origines diverses constituées de paquets de longueur fixe en nombre variable
EP1536311A1 (fr) Système cryptographique haut débit à architecture modulaire
EP0618749A1 (fr) Dispositif et système de multiplexage d&#39;informations pour réseau ATM
FR2804812A1 (fr) Procede et dispositif de communication entre un premier et un deuxieme reseau
EP0300942B1 (fr) Système de commutation de paquets de données à priorités
FR2939992A1 (fr) Procede d&#39;equilibrage de la latence dans un arbre de communication, dispositif, produit programme d&#39;ordinateur et moyen de stockage correspondants
FR2649269A1 (fr) Systemes complementaires de communication en mode sans-connexion pour reseau temporel asynchrone
EP0587468A2 (fr) Réseau de connexion photonique permettant une diffusion
EP1845456B1 (fr) Système d&#39;interconnexions de blocs fonctionnels externes sur puce muni d&#39;un unique protocole parametrable de communication
FR2774242A1 (fr) Systeme et procede de commutation asynchrone de cellules composites, et modules de port d&#39;entree et de port de sortie correspondants
EP0689319B1 (fr) Dispositif d&#39;acheminement de cellules de données ATM
FR2827995A1 (fr) Procede et dispositif de gestion de memoire
WO2020109733A2 (fr) Gestion des données pour le stockage de trames de données dans la mémoire d&#39;un système de transmission de données
FR2826535A1 (fr) Procede de diffusion de donnees utiles au sein d&#39;un reseau commute, base sur l&#39;utilisation de paquets de diffusion dynamique
FR2820917A1 (fr) Procede et appareil de commutation permettant un routage de paquets non-bloquant &#34;au niveau chemin&#34;, suite a des evenements de connexion/deconnexion de liens

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140131