FR2792145A1 - Procede de commutation de paquets de donnees et unite de commutation associee a un noeud de communication d'un reseau - Google Patents

Procede de commutation de paquets de donnees et unite de commutation associee a un noeud de communication d'un reseau Download PDF

Info

Publication number
FR2792145A1
FR2792145A1 FR9904418A FR9904418A FR2792145A1 FR 2792145 A1 FR2792145 A1 FR 2792145A1 FR 9904418 A FR9904418 A FR 9904418A FR 9904418 A FR9904418 A FR 9904418A FR 2792145 A1 FR2792145 A1 FR 2792145A1
Authority
FR
France
Prior art keywords
data
port
switching unit
type
ports
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.)
Pending
Application number
FR9904418A
Other languages
English (en)
Inventor
Anne Abiven
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 FR9904418A priority Critical patent/FR2792145A1/fr
Priority to EP00400950A priority patent/EP1043913A3/fr
Priority to US09/545,053 priority patent/US6847637B1/en
Publication of FR2792145A1 publication Critical patent/FR2792145A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/40Wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports

Landscapes

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

Abstract

L'invention concerne un procédé de commutation de paquets de données dans une unité de commutation (26) associée à un noeud (20) d'un réseau (10) et comportant plusieurs ports d'entrée-sortie pour les paquets, ledit procédé comportant les étapes de réception (S1) d'un paquet de données comportant des données identifiant un port de sortie de l'unité auquel ledit paquet est destiné, de traitement (S10) de ces données et de transfert du paquet vers le port de sortie.Le procédé est caractérisé en ce que les ports sont répartis en ports d'un premier (40, 50, 60) et d'un second types (C), où le port de second type peut supporter une liaison interne au noeud (20) et le procédé comporte les étapes de détermination (S4) du type de port de sortie de traitement (S5) des données d'identification différemment selon le type de ce port.

Description

La présente invention concerne un procédé de commutation de paquets de
données dans une unité de commutation associée à un noeud de communication d'un réseau, ladite unité de commutation comportant plusieurs ports d'entrée-sortie pour les paquets de données, ledit procédé comportant les étapes suivantes: - réception d'un paquet de données comportant des données dites d'identification qui identifient au moins un port de sortie de ladite unité de commutation et auquel ledit paquet de données est destiné, - traitement desdites données d'identification,
- transfert dudit paquet vers ledit au moins un port de sortie.
On connait des réseaux du type ATM o ATM signifie "Mode de Transfert Asynchrone" (connu en terminologie anglo-saxonne sous le terme de "Asynchronous Transfert Mode") qui comportent plusieurs noeuds de communication constitués chacun par une unité de commutation effectuant la
commutation de paquets de données à travers ledit réseau.
Chaque unité de commutation possède plusieurs entrées-sorties constituées de ports tous identiques qui sont adaptés à supporter chacun une
liaison point à point.
Les noeuds d'un tel réseau sont reliés entre eux par ces liaisons
point à point.
Il convient de noter que les paquets de données transmis sur le réseau rencontrent sur leur chemin différents noeuds de communication
comportant chacun une unité de commutation.
Les paquets de données contiennent des données dites d'identification qui, notamment, identifient les différentes unités de commutation placées sur le chemin desdits paquets ainsi que les numéros des ports, appelés ports destinataires, de ces unités de commutation par lesquels les paquets
doivent sortir pour rejoindre une autre unité de commutation distante.
Les données d'identification constituent généralement ce que l'on
appelle l'en-tête du paquet de données.
D'autres données dites données utilisateur sont placées après l'en-tête et sont suivies d'une marque de fin de paquet placée en dernier dans
ledit paquet.
Une unité de commutation peut ainsi commuter des paquets de données en provenance d'une unité de commutation associée à un noeud du
réseau, appelé noeud source, et réceptionnés sur l'un de ses ports d'entrée-
sortie, vers un autre de ses ports d'entrée-sortie qui supporte une liaison point à point avec une autre unité de commutation d'un noeud de ce même réseau,
appelé noeud destinataire.
La commutation du paquet de données dans une unité de commutation du réseau s'effectue en lisant l'en-tête dudit paquet de données réceptionné sur l'un des ses ports d'entrée-sortie et en modifiant cet en-tête
avant de le transférer, en interne, vers le port destinataire.
Une table contenue dans l'unité de commutation change une partie de l'en-tête en comparant la valeur ou les valeurs initiales de certains champs de cet en-tête à des valeurs inscrites dans la table et remplace ces valeurs initiales par d'autres valeurs qui seront lues et comprises par les unités
de commutation du réseau.
Par ailleurs, on connaît d'après le document EP 0405 990 un réseau d'ordinateurs qui comporte plusieurs noeuds de communication constitués par des ordinateurs et au moins une unité de commutation qui effectue la
commutation de paquets de données à travers le dit réseau.
Dans cette unité de commutation, les ports sont tous adaptés à supporter chacun une liaison point à point et permettent ainsi de transférer des paquets de données d'un noeud (ordinateur) de communication du réseau vers
un autre noeud (ordinateur) de ce même réseau.
Toutefois, certains de ces ports sont connectés à un adaptateur série/parallèle externe à l'unité de commutation qui, lui-même, supporte une liaison interne au noeud de communication auquel est associée l'unité de commutation. Dans cette unité de commutation, lorsqu'un paquet de données
arrive, son en-tête permet de déterminer le port destinataire du paquet.
L'en-tête du paquet comporte plusieurs octets de données, un octet étant nécessaire pour coder le port destinataire de chaque unité de
commutation rencontrée par le paquet.
Lorsque le port destinataire a été identifié, I'octet qui codait ce port destinataire est supprimé et n'est donc pas transmis à l'unité de commutation suivante. Cependant, le procédé de commutation de l'art antérieur précité ne permet pas de s'adapter efficacement à certains cas de figure et notamment au cas o les unités de commutation possèdent un nombre de ports suffisamment petit pour que chaque port puisse être codé sur un nombre de bits inférieur à la
granularité du réseau.
En effet, la granularité du réseau étant définie comme le nombre minimal de bits reconnu par le réseau, il ne sert à rien de coder chaque port destinataire sur un nombre de bits inférieur à la granularité étant donné que l'étape de suppression des données d'identification du port destinataire ne peut
s'opérer que sur un nombre de bits au moins égal à la granularité du réseau.
La granularité du réseau est par exemple égale à un octet.
Ainsi, la bande passante correspondante pour un paquet de données
est peu élevée.
Il existe par conséquent un besoin de trouver un nouveau procédé de commutation qui permette, notamment, de s'adapter facilement au cas de
figure précité.
La présente invention vise ainsi un procédé de commutation de paquets de données dans une unité de commutation associée à un noeud de communication d'un réseau, ladite unité de commutation comportant plusieurs ports d'entrée-sortie pour les paquets de données, ledit procédé comportant les étapes suivantes: - réception d'un paquet de données comportant des données dites d'identification qui identifient au moins un port de sortie de ladite unité de commutation et auquel ledit paquet de données est destiné, - traitement desdites données d'identification, - transfert dudit paquet vers ledit au moins un port de sortie, caractérisé en ce que, parmi les ports d'entrée- sortie, certains sont dits d'un premier type et au moins un port est dit d'un second type et diffère d'un port de premier type en ce sens qu'il est adapté à supporter une liaison interne audit noeud de communication auquel est associée l'unité de commutation, ledit procédé comportant les étapes suivantes: - détermination du type de port auquel le paquet de données est destiné, - traitement des données d'identification de manière différente
selon le type de port déterminé.
L'invention prévoit, au lieu de supprimer systématiquement les données d'identification identifiant le ou les ports destinataires du paquet de données, d'effectuer un traitement de ces données qui diffère selon que le ou
les ports destinataires sont des ports de premier ou de second type.
Il convient de noter que le traitement ne correspond pas
nécessairement à une suppression des données comme dans l'art antérieur.
Ce procédé permet d'appliquer aux données d'identification d'un paquet de données qui est transféré vers un port destinataire le traitement le
plus avantageux en fonction du type du port destinataire.
A partir de ce procédé, on peut donc facilement l'adapter à différents cas de figure en choisissant le traitement des données d'identification
d'un paquet de données qui soit approprié au port de destination dudit paquet.
Ainsi, dans le cas précité o les unités de commutation possèdent un nombre de ports suffisamment petit pour que chaque port puisse être codé sur un nombre de bits inférieur à la granularité du réseau, on code chaque port de destination dans les données d'identification d'un paquet uniquement sur le nombre nécessaire de bits. Le procédé selon l'invention permet alors de s'adapter à ce cas de figure en effectuant une modification desdites données d'identification du paquet lorsque celui-ci est destiné à un port de premier type et, au contraire, lorsque le port destinataire est un port de second type, alors les données
d'identification du paquet de données sont supprimées.
La modification de ces données étant indépendante du nombre de
bits concernés, la granularité du réseau importe peu.
La modification des données est avantageuse dans ce cas puisqu'il n'est plus nécessaire de coder chaque port sur un nombre de bits plus
grand que nécessaire.
La bande passante correspondante des paquets de données dans lesquels chaque port de destination est codé uniquement sur le nombre
nécessaire de bits est ainsi considérablement améliorée.
D'une manière générale, I'étape de modification des données permet que les données modifiées soient ensuite lues et comprises par une ou
plusieurs autres unités de commutation auxquelles le paquet est destiné.
La suppression des données d'identification uniquement dans le cas o le port destinataire est un port de second type permet avantageusement de simplifier le traitement dans le noeud de communication puisque ces données ne sont plus utiles pour le noeud et qu'il n'est donc pas nécessaire d'effectuer un traitement de celles-ci dans un processeur ou une unité de
traitement dudit noeud.
Il est également possible d'effectuer ces traitements de données adaptés de manière plus générale, indépendamment du nombre de bits
nécessaire pour coder chaque port destinataire et de la granularité du réseau.
On peut en outre envisager, d'une part, une suppression des données d'identification d'un paquet de données en cas de transfert dudit paquet vers un port de premier type et, d'autre part, une modification des
données d'identification en cas de transfert vers un port de second type.
Selon une caractéristique, le procédé selon l'invention comporte en outre une étape de détermination dudit au moins un port de sortie auquel le paquet de données est destiné. Selon une caractéristique, les données d'identification se présentent sous la forme d'une succession de bits et chacun des 2m ports de l'unité de commutation est codé sur au moins m bits dans lesdites données d'identification, l'étape de détermination dudit au moins un port de sortie auquel le paquet de données est destiné consistant à rechercher les m premiers bits
consécutifs non nuls parmi les dites données d'identification.
L'étape de modification de telles données d'identification consiste plus particulièrement à remplacer lesdits au moins m premiers bits consécutifs
non nuls desdites données d'identification par des zéros.
Par exemple, le nombre 2' est égal à 4 et chaque port de l'unité
de commutation est codé sur deux bits.
Il convient de noter que ce codage est indépendant de la
répartition des ports entre les ports de premier type et ceux de second type.
Selon une autre caractéristique, le procédé selon l'invention comporte une étape de détermination du type de commutation dit à diffusion (connu en terminologie anglo-saxonne sous le terme de "broadcast") ou à envoi (connu en terminologie anglo-saxonne sous le terme de "unicast") simple
appliquée au paquet de données considéré.
Cette étape de détermination du type de commutation consiste plus particulièrement à rechercher dans les données d'identification du paquet de données considéré le présence d'une succession de bits égaux à zéro ou à
un à un endroit prédéterminé desdites données.
Selon encore une autre caractéristique, le procédé selon l'invention comporte une étape de détermination de la taille des données
d'identification correspondant au paquet de données considéré.
Plus particulièrement, cette étape de détermination consiste à rechercher la présence de bits particuliers à un endroit prédéterminé des
données d'identification du paquet de données considéré.
La présence de ces bits particuliers permet donc de déterminer par exemple si les données d'identification correspondent à un ou à deux octets. Le procédé de commutation selon l'invention trouve une application particulièrement intéressante dans un réseau qui est conforme à la
norme IEEE 1355.
Corrélativement, I'invention vise une unité de commutation de paquets de données associée à un noeud de communication d'un réseau, ladite unité de commutation comportant: - plusieurs ports d'entrée-sortie pour les paquets de données, - des moyens de réception d'un paquet de données comportant des données dites d'identification qui identifient au moins un port de sortie de ladite unité de commutation et auquel ledit paquet de données est destiné, - des moyens de traitement desdites données d'identification, - des moyens de transfert dudit paquet de données vers ledit au moins un port de sortie, caractérisé en ce que ladite unité de commutation comporte: - parmi lesdits ports d'entrée- sortie, des ports dits d'un premier type et au moins un port dit d'un second type qui diffère d'un port de premier type en ce sens qu'il est adapté à supporter une liaison interne audit noeud de communication auquel est associée l'unité de commutation, - des moyens de détermination du type de port auquel le paquet de données est destiné, - des moyens de traitement des données d'identification qui sont adaptés à traiter lesdites données de manière différente selon le type de port déterminé. Selon une caractéristique, les données d'identification se présentent sous la forme d'une succession de bits et l'unité de commutation selon l'invention comporte un nombre total 2m de ports, chacun desdits 2m de
ports étant codé sur au moins m bits dans lesdites données d'identification.
Selon une caractéristique, la taille des données d'identification est choisie de manière à être la plus petite possible, compte tenu du nombre de ports de l'unité de commutation. Par exemple, les données d'identification comprennent deux octets. Par exemple, les données d'identification comprennent un octet et, à titre d'exemple, le nombre 2m de ports est égal à quatre et ceux-ci sont
répartis en trois ports de premier type et un port de second type.
Selon une caractéristique, chaque port d'entrée-sortie de l'unité de
commutation selon l'invention est codé sur deux bits.
Selon une caractéristique particulière, ledit au moins un port de second type comporte au moins un bus parallèle et bidirectionnel de communication de données. Ceci permet avantageusement de faciliter le dialogue avec l'unité de traitement ou le processeur du noeud de
communication auquel est associée l'unité de communication.
Selon un troisième aspect, I'invention vise un appareil de traitement de données, caractérisé en ce qu'il comporte une unité de commutation telle que
brièvement exposée ci-dessus.
L'appareil de traitement de données est, par exemple, une imprimante.
L'appareil de traitement de données est, par exemple, un serveur.
L'appareil de traitement de données est, par exemple, un ordinateur.
L'appareil de traitement de données est, par exemple, un télécopieur.
L'appareil de traitement de données est, par exemple, un scanner.
L'appareil de traitement de données est, par exemple, un magnétoscope. L'appareil de traitement de données est, par exemple, un décodeur
(appelé "set top box" en terminologie anglo-saxonne).
L'appareil de traitement de données est, par exemple, un téléviseur.
L'appareil de traitement de données est, par exemple, un caméscope. L'appareil de traitement de données est, par exemple, une caméra numérique. L'appareil de traitement de données est, par exemple, un appareil
photographique numérique.
Selon un quatrième aspect, I'invention vise un réseau de communication, caractérisé en ce qu'il comporte au moins une unité de
commutation telle que brièvement exposée ci-dessus.
Selon un cinquième aspect, I'invention vise un réseau de communication, caractérisé en ce qu'il comporte au moins un appareil de
traitement de données tel que succinctement exposé ci-dessus.
Selon un sixième aspect, I'invention vise par ailleurs, un moyen de stockage d'informations lisible par un ordinateur ou un processeur contenant des instructions de programmation d'un dispositif de traitement programmable, caractérisé en ce qu'il permet la configuration du dispositif de traitement
programmable en une unité de commutation telle qu'exposée ci-dessus.
Selon un septième aspect, l'invention vise par ailleurs, un moyen de stockage d'informations lisible par un ordinateur ou un processeur contenant des instructions de programmation adaptées à faire fonctionner un dispositif de traitement programmable, caractérisé en ce qu'il permet la mise en oeuvre d'un
procédé de commutation tel qu'exposé ci-dessus.
Selon un huitième aspect, I'invention vise un signal comportant des instructions utilisables par un ordinateur et adaptées à configurer un dispositif de traitement programmable en une unité de commutation telle
qu'exposée ci-dessus.
Selon un neuvième aspect, I'invention vise un signal comportant des instructions utilisables par un ordinateur et adaptées à faire fonctionner un dispositif de traitement programmable pour mettre en oeuvre un procédé de
commutation tel qu'exposé ci-dessus.
Les avantages et caractéristiques propres au procédé de commutation, à l'appareil de traitement de données comportant une unité de commutation, au réseau de communication comportant une unité de commutation ainsi qu'au réseau de communication comportant un appareil de traitement de données étant les mêmes que ceux exposés ci-dessus
concernant l'unité de commutation selon l'invention, ils ne sont pas rappelés ici.
D'autres caractéristiques et avantages de l'invention apparaîtront
au cours de la description qui va suivre donnée uniquement à titre d'exemple
illustratif et non limitatif, et faite en référence aux dessins annexés sur lesquels: - La figure 1 est une vue générale d'un réseau selon l'invention comportant plusieurs noeuds de communication; - La figure 2 est un vue schématique de la structure d'un paquet de données; - La figure 3a est une vue schématique d'un noeud de communication constitué par l'appareil de traitement de données 20 de la figure I selon un premier mode de réalisation de l'invention; - La figure 3b est une vue schématique de l'unité logique de contrôle 30 de la figure 3a; - La figure 4 représente les moyens de réception 41 du port de premier type 40 représenté à la figure 3a; - La figure 5a représente les moyens d'émission 45 du port de premier type 40; - La figure 5b illustre le phénomène de multiplexage de données provenant de différents ports de l'unité de commutation 26; - La figure 6 représente les moyens de réception 71 du port intermédiaire 70 représenté à la figure 3a; - La figure 7 représente les moyens d'émission 76 du port intermédiaire 70 de la figure 3a; - La figure 8 représente le module de gestion 120 représenté sur la figure 3a; - La figure 9a représente la table d'entrée-sortie 122 du module de gestion représenté à la figure 8 lors de l'initialisation; - Les figures 9b, 9c et 9d représentent l'évolution d'une ligne de la table d'entréesortie 122 pour différents cas de figure; - La figure 10 représente l'unité de commutation 26 de la figure 3a selon un premier mode de réalisation de l'invention avec différents signaux d'interface; - La figure 11 représente la structure d'un signal Datar(17:0) ou Datat(17:0); - La figure 12 représente un algorithme mis en oeuvre par les moyens de lecture et de traitement 42 de la figure 4 et par les moyens de lecture et de traitement 73 de la figure 6; - La figure 13 représente les chronogrammes des différents signaux CIk, RdLink et Datar(17:0); - Les figures 14a et 14b représentent respectivement l'en- tête d'un paquet de données avant et après modification de celui-ci; - La figure 15 représente les différents chronogrammes des signaux Clk, Busreq, Portno, Start, Busy et D(17) ou D(8); - La figure 16 représente un algorithme mis en oeuvre par le module de gestion 120 représenté à la figure 8; - La figure 17 représente un algorithme mis en oeuvre par le module de gestion 120 de la figure 8 lorsqu'un paquet de données est transféré d'un port de premier type vers un port intermédiaire et inversement; - La figure 18 représente les chronogrammes des différents signaux Clk, Rd, Data(31:0) et EOP(1:0); - La figure 19 représente les chronogrammes des différents signaux Clk, Wr, Data(31:0) et EOP(1:0); - La figure 20 représente les chronogrammes des différents signaux Clk, WrLink, Datat(17:0); - La figure 21 représente une deuxième variante de réalisation de l'unité de commutation selon l'invention; - La figure 22 est une vue schématique d'un noeud de communication constitué par l'appareil de traitement de données de la figure 1 selon un deuxième mode de réalisation de l'invention; - La figure 23 représente l'unité de commutation de la figure 22 avec différents signaux d'interface; - La figure 24 représente le module de gestion 300 représenté sur la figure 22; - La figure 25 représente un algorithme mis en oeuvre par les moyens de lecture et de traitement 42 des ports de premier et second types de la figure 22 suivant ce deuxième mode de réalisation de l'invention; - Les figures 26 a, b et c représentent différentes formes d'en-tête d'un paquet de données; - La figure 27 illustre le mécanisme utilisé pour programmer l'unité
de commutation 26 selon l'invention.
Comme représenté à la figure 1 et repéré par la référence générale notée 10, un réseau de commutation de paquets selon l'invention comporte plusieurs noeuds de commutation 12,14,16,18,20 reliés entre eux par
les liaisons point à point repérés par la référence notée 22.
Ces noeuds de commutation sont par exemple des appareils de traitement de données qui peuvent chacun prendre la forme d'une imprimante, d'un serveur, d'un ordinateur, d'un télécopieur, d'un scanner, d'un magnétoscope, d'un décodeur connu en terminologie anglo-saxonne sous le nom de "set top box", d'un téléviseur, d'un caméscope, d'une caméra
numérique ou d'un appareil photographique numérique.
Les noeuds sont capables de recevoir, d'émettre et de transmettre
des données aux autres noeuds du réseau.
Dans un tel réseau les données sont véhiculées sur les liaisons 22 sous la forme de paquets représentés schématiquement à la figure 2 et constitués de données utiles, de données d'identification formant l'en- tête du paquet et indiquant notamment la destination dudit paquet et le chemin emprunté par celui-ci à travers le réseau, ainsi que d'une marque de fin de paquet. Il convient de noter que les données d'identification du paquet indiquant notamment la destination dudit paquet et le chemin emprunté par celui-ci à travers le réseau ne sont pas nécessairement placées dans l'en-tête, mais peuvent, au contraire, être placées à un autre endroit tel que, par
exemple, en fin de paquet.
Plusieurs paquets de données forment un message et le dernier paquet du message porte une marque de fin de message et non une marque
de fin de paquet.
Le réseau commuté met par exemple en oeuvre la norme IEEE 1355, et les données précitées respectent le protocole de communication défini par cette norme. Cette norme permet au réseau de bénéficier d'un protocole fiable mettant en ceuvre un routage à la source, le contrôle de flux au niveau
des liens et des paquets de taille variable.
Comme représenté à la figure 3a, I'appareil de traitement de données 20 de la figure 1 qui est par exemple un appareil photo numérique comporte un élément référencé 24 qui réalise l'interface entre une unité de
commutation 26 et le réseau et que l'on appelle un adaptateur de réseau.
Un tel élément est par exemple commercialisé par la société Four
Links for Technical Help sous la référence C1 12.
Sur cette figure les liaisons 22 sont représentées par deux bus: l'un noté "data" et référencé 22a et l'autre noté "strobe" et référencé 22b. Ce
codage appelé "data-strobe" est décrit dans le document EPO 458 648.
Comme représenté sur la figure 3a, l'unité de commutation 26 selon un premier mode de réalisation de l'invention, est reliée à l'adaptateur de réseau 24 au moyen d'un bus B. L'appareil de traitement de données constituant le noeud 20 et qui est représenté sur la figure 3a comporte une unité de contrôle logique notée 30 qui est reliée à l'unité de commutation 26 au moyen d'un bus C sur lequel on
reviendra ultérieurement.
Comme représenté plus en détail sur la figure 3b, I'unité de contrôle logique 30 comporte un bloc 30a de registres d'en-têtes, un bloc 30b de sélection, un moyen 30c de lecture et d'écriture de données dans l'unité de
commutation 26 et un bloc 30d de demande de bus PCI.
L'appareil de traitement de données 20 comporte en outre une unité de traitement de données 34, par exemple un processeur, et une mémoire
36 reliées entre elles au moyen d'un bus 37.
L'unité de contrôle logique 30 est connectée à l'unité de traitement de données 34 au moyen d'un bus par exemple de type PCI, noté 38, ainsi que
d'un bus 39.
Ainsi que représenté sur la figure 3a, l'unité de commutation 26 comporte un nombre k de ports d'un premier type avec k = 3 dans cet exemple. Un port d'un premier type est défini par le fait qu'il est adapté à échanger des paquets de données avec le réseau, soit directement au moyen d'une liaison point à point 22, soit indirectement au moyen d'une liaison point à point et de l'adaptateur de réseau 24. Ces ports sont également appelés ports externes et
sont représentés sur la figure 3a par les blocs référencés 40, 50 et 60.
Il convient de noter que l'adaptateur de réseau 24 convertit les paquets de données venant du réseau sous un format série en format parallèle et que les ports de premier type véhiculent des paquets de données sous forme parallèle. Toutefois, I'invention s'applique également aux unités de commutation dont les ports de premier type véhiculent des données en série,
comme décrit dans le document EP 0 405 990.
L'unité de commutation 26 comporte également un nombre n de ports appelés ports intermédiaires. Ces ports intermédiaires sont au nombre de quatre dans l'exemple représenté à la figure 3a et sont indiqués par les blocs
référencés 70, 80, 90 et 100.
Chaque port de premier type comporte, d'une part, des moyens de réception et d'émission d'un paquet de données qui a été transmis par la liaison point à point 22 associée auxdits ports de premier type et qui est destiné soit à un port de premier type soit à un port de second type et, d'autre part, des moyens d'émission d'un paquet de données destiné à la liaison point à point 22 associée à ce même port. Il convient de noter que les paquets de données reçus ou émis sur une liaison point à point 22 sont respectivement transmis par l'intermédiaire de l'adaptateur de réseau 24 et du bus B. Comme représenté à la figure 3a, les moyens de réception et d'émission des ports de premier type notés 40, 50, 60 sont respectivement
référencés 41, 51,61.
Les moyens d'émission de ces ports de premier type notés 40, 50
et 60 sont quant à eux référencés respectivement 45, 55, 65.
Les moyens de réception et d'émission 41 du port de premier type sont représentés plus en détail à la figure 4.
Ainsi, ces moyens de réception et d'émission 41 comportent des moyens 42 de lecture et de traitement de données d'identification correspondant à l'en-tête d'un paquet de données tel que représenté à la figure 2. Ces données d'identification servent à identifier le port de l'unité de commutation auquel est destiné ce paquet de données. Il convient de noter que ces données d'identification ne sont pas nécessairement placées en tête du paquet mais peuvent être placées à un autre endroit de celui-ci, comme par exemple en fin de paquet. Dans un tel cas, il est bien entendu nécessaire de prévoir des moyens de stockage associés aux ports de premier type afin d'y
recevoir la totalité du paquet de données.
Les moyens de traitement des données d'identification sont adaptés, selon le cas de figure, soit à supprimer lesdites données, soit à modifier ces données en fonction de la nature du port destinataire. On reviendra
plus en détail sur ce point ultérieurement.
Les moyens de réception et d'émission 41 comportent également une file d'attente notée 43 qui correspond en fait à un moyen de stockage de petite dimension et pouvant par exemple prendre la forme d'une mémoire de
type "FIFO" ou "premier entré, premier sorti" (connue en terminologie anglo-
saxonne sous le nom de "first in, first out"). Cette file d'attente notée 43 possède la capacité de stockage d'un mot ou d'un double mot et a pour fonction
de stocker l'en-tête modifié avant de le transférer vers le port destinataire.
La file d'attente 43 est, d'une part, reliée au moyen de lecture et de traitement 42 et, d'autre part, à une mémoire tampon 44 à trois états (connue en terminologie anglo-saxonne sous le nom de "buffer"). Cette mémoire tampon à trois états permet de mettre en état haute impédance la sortie de la file d'attente 43 de façon à ce que les données issues de ladite mémoire tampon ne perturbent pas les données présentes sur le bus auxquels sont reliés les moyens de réception et d'émission 41. Ce bus est représenté par
la lettre A sur les figures 3 et 4.
Les moyens 42 de lecture et de traitement des données d'identification sur la figure 4 sont reliés au bus de communication noté B que I'on voit également sur la figure 3a. Ce bus de communication B dessert les
trois ports de premier type 40, 50 et 60.
La figure 5a représente de façon plus détaillée les moyens d'émission 45 du port de premier type 40 de la figure 3a. Sur cette figure sont représentés un marqueur d'occupation noté 46 qui communique avec le bus de communication interne noté A, ainsi qu'une unité de contrôle du flux de données notée 47 qui est mise en communication avec le bus de communication noté B. Le marqueur d'occupation 46 a pour fonction d'indiquer à d'autres éléments de l'unité de commutation 26 que les moyens d'émission 45 sont en train d'émettre un paquet de données, et qu'ils ne sont donc pas disponibles pour d'autres tâches. L'unité de contrôle du flux de données 47 a pour fonction de contrôler l'envoi des données sur le bus B, c'est-à-dire ne permettre leur envoi que si l'adaptateur de réseau est disponible pour les recevoir. Par exemple, si cet adaptateur a des moyens de stockage et que ces moyens de stockage ne sont pas pleins, alors l'envoi des données peut être autorisé par
l'unité 47.
L'unité de commutation 26 comporte des moyens de transfert des
paquets de données entre les ports de premier type et les ports intermédiaires.
Ces moyens de transfert présentent une architecture de type bus, représentée sur les figures par le bus de communication noté A. On notera ici que, dans une architecture de type bus, tous les ports de premier type et intermédiaires sont reliés entre eux par un seul bus, le
bus A, et donc qu'une seule communication peut avoir lieu à un instant donné t.
Il convient de noter que la vitesse du bus de communication A peut être optimisée de façon à permettre un transfert rapide des données, évitant par là même des temps d'attente intempestifs entre l'instant o des paquets sont reçus par des ports de premier type et ceux o ces paquets sont
transférés vers les ports intermédiaires à destination du noeud interne.
Plus précisément, lorsque des paquets de données sont reçus simultanément par des ports de premier type à une certaine fréquence, la fréquence de fonctionnement du bus interne A peut être telle qu'elle permette le transfert des données de tous les ports de premier type vers des ports intermédiaires en entrelaçant lesdites données dans le temps, afin de ne pas
traiter un seul paquet à la fois.
Il faut pour cela que la fréquence de fonctionnement du bus soit
nettement supérieure à celle des liens 22.
Le flux de données entrant sur l'unité de commutation 26 est donc
facilement absorbé.
La figure 5b représente les chronogrammes de différents signaux
Clk, Hre et Hwr.
Les signaux Hre et Hwr sont représentés sur les figures 4, 6, 7 et 8. Les chiffres entre parenthèses indiquent le numéro du port concerné, les numéros ayant été attribués de 1 à 7 respectivement pour les
ports 70, 80, 90, 100, 40, 50 et 60.
De retour à la figure 5b, le signal Clk est un signal d'horloge, les signaux Hre (5) et Hwr (1) représentent les signaux de lecture de données dans le port 5, c'est-à-dire le port de premier type 40, et d'écriture dans le port
intermédiaire 1, c'est-à-dire le port de premier type 70.
Les signaux Hre (2) et Hwr (7) s'appliquent quant à eux au
transfert de données du port intermédiaire 80 vers le port externe 60.
Les signaux Hre (6) et Hwr (4) concernent le transfert de données
du port de premier type 50 vers le port intermédiaire 100.
Ces chronogrammes illustrent le fait que l'architecture de type bus de l'unité de commutation permet de multiplexer les données à l'intérieur de celle-ci en les entrelaçant plutôt que de transférer un seul paquet de données à
la fois.
De retour à la figure 3a, chaque port intermédiaire 70, 80, 90, 100 comporte, d'une part, des moyens de réception et d'émission d'un paquet de données provenant du noeud lui-même et destiné soit à un port de premier type soit à un port de second type noté C qui sera décrit plus loin et, d'autre part, des moyens de réception et d'émission d'un paquet de données provenant d'un
port de premier type et à destination du port de second type.
Les moyens de réception et d'émission d'un paquet de données provenant du port de second type sont respectivement référencés 71, 81, 91 et 101 sur la figure 3a. Les moyens de réception et d'émission d'un paquet de données provenant d'un port de premier type sont respectivement référencés
76, 86, 96 et 106.
La figure 6 représente de façon plus détaillée les moyens de
réception et d'émission 71 du port intermédiaire 70 de la figure 3a.
Ces moyens 71 comportent des moyens de lecture 73 et de traitement des données d'identification identifiant le port destinataire du paquet
de données considéré.
De façon analogue à ce qui a été décrit en référence à la figure 4 pour un port de premier type, les moyens de réception et d'émission 71 comportent une file d'attente 74 et une mémoire tampon à trois états 75. La file d'attente 74 est en communication avec, d'une part, les moyens de lecture et de traitement 73 et, d'autre part, la mémoire tampon 75 qui communique des données sur le bus de communication A. Les fonctions des éléments 74 et 75 sont les mêmes que ceux des
éléments 43 et 44 de la figure 4.
Par ailleurs, les moyens de réception 71 comportent également un moyen de stockage 72 qui est par exemple du type "FIFO", c'est-à-dire du type "premier entré, premier sorti" (connu en terminologie anglo-saxonne sous le terme "first in, first out"). Le moyen de stockage 72 a une taille qui lui permet de stocker la totalité d'un paquet de données si besoin est. Par exemple, la taille
de ce moyen de stockage est de 32 octets.
Le moyen de stockage 72 de la figure 6 est en communication
avec les moyens de lecture et de traitement 73, ainsi qu'avec la file d'attente 74.
Ce moyen de stockage communique également avec un bus de communication noté C et représenté sur la droite de la figure 6 ainsi que sur la
figure 3a.
La figure 7 représente de façon plus détaillée les moyens de réception et d'émission du port intermédiaire 70 de la figure 3a. Les moyens de réception et d'émission 76 comportent un moyen de stockage 77 qui est par exemple du type "FIFO" et analogue à celui représenté sur la figure 6 par la référence 72. La taille de ce moyen de stockage permet également à celui-ci de stocker, si besoin est, la totalité d'un
paquet de données.
Ce moyen de stockage 77 est en communication avec le bus de communication noté C et avec le bus de communication interne A. Ces moyens de réception et d'émission 76 comportent également un marqueur d'occupation 78 qui est en communication avec le bus de communication noté A. Le marqueur d'occupation 78 a pour fonction d'indiquer aux différents éléments de l'unité de commutation 26 que les moyens de réception et d'émission 76 sont en train d'émettre un paquet de données et donc sont
momentanément indisponibles pour émettre un autre paquet de données.
Comme représenté à la figure 3a et mentionné plus haut, I'unité de commutation 26 comporte également au moins un port d'un second type également appelé port interne. Un tel port est défini par le fait qu'il est adapté à supporter une liaison interne au noeud de communication 20 auquel est
associée l'unité de commutation 26.
Ainsi que représenté sur cette figure, I'unité de commutation comporte un seul port d'un second type qui est noté C sur cette figure. Dans l'exemple de réalisation représenté sur la figure 3a, les quatre ports intermédiaires 70, 80, 90 et 100 sont associés à un seul port de second type et
portent la même adresse que ce port.
Ceci permet avantageusement de ne pas avoir à coder dans l'en-
tête des paquets de données le numéro de ces ports intermédiaires.
Il en résulte ainsi un gain de bande passante au niveau de l'unité
de commutation.
Vue de l'extérieur, I'unité de commutation 26 ne comporte pas de ports intermédiaires et seuls les numéros des ports de premier type et du port de second type sont à coder dans l'en-tête d'un paquet de données. Le port de second type noté C est un bus de communication formé d'un ensemble de signaux incluant notamment un bus parallèle bidirectionnel
de communication de données.
Le port de second type C connecte les ports intermédiaires 70, 80,
90, 100 à l'unité de contrôle logique 30.
Ainsi, le port de second type C véhicule des données sous forme parallèle, ce qui présente l'avantage de pouvoir dialoguer facilement avec l'unité
de traitement de données 34.
Il convient de noter qu'il aurait également été possible de prévoir deux ports de second type qui auraient été chacun reliés à deux ports intermédiaires. Ce cas de figure présenterait l'avantage de pouvoir connecter par exemple deux bus disjoints au commutateur et donc d'atteindre par
exemple deux processeurs ou deux moyens de traitement.
D'une manière générale, il est également possible d'augmenter le nombre de ports de premier type et de second type, mais, dans ce cas, il faut également augmenter en conséquence le nombre n de ports intermédiaires dans une proportion d'au moins deux ports intermédiaires pour un port de second type, ceci notamment afin d'éviter les problèmes de congestion à
l'intérieur de l'unité de commutation 26.
Il convient de noter que les ports intermédiaires sont agencés
entre les ports de premier type et le port de second type.
* Dans l'exemple de réalisation représenté à la figure 3a, le nombre n de ports intermédiaires est strictement supérieur au nombre k de port de premier type. Ceci présente l'avantage de pouvoir transférer un paquet de données reçu sur l'un des ports de premier type vers un port intermédiaire alors que les trois autres ports intermédiaires sont occupés par trois paquets reçus précédemment. Ainsi, les ports de premier type sont rapidement disponibles pour
recevoir d'autres paquets de données.
Il faut souligner que les ports de premier type 40, 50 et 60 ainsi
que le port de second type C fonctionnent en mode bidirectionnel duplex, c'est-
à-dire qu'ils peuvent simultanément et dans les deux sens transmettre des
paquets de données.
Comme représenté à la figure 3a, I'unité de commutation 26 comporte également un module 120 de gestion des commutations des paquets de données qui est relié au bus de communication noté A. Le module de gestion 120 est représenté de façon plus détaillée à
la figure 8.
Ainsi, sur cette figure, le module de gestion comporte une table d'entrée-sortie 122, un bloc de partage du bus de communication A, un moyen d'écriture et de lecture noté 126 et un bloc de sélection des ports intermédiaires
127.
La figure 9a représente la table d'entrée-sortie 122 de la figure 8 à l'initialisation. Cette table établit une correspondance entre le numéro du port sur lequel un paquet de données arrive dans l'unité de commutation 26 et le numéro du port auquel ledit paquet est destiné. A l'initialisation, aucun port de sortie n'est affecté aux différents ports d'entrée représentés par les ports 40, 50,
, 70, 80, 90 et 100.
Toutefois, dans le cas o un paquet de données est transféré d'un port de premier type vers le port de second type, le port destinataire indiqué dans cette table correspond au port intermédiaire par lequel le paquet va
transiter avant de rejoindre le port de second type.
Cette table donne, à un instant donné, les commutations qui ont été réalisées dans l'unité de commutation 26. Ainsi, comme représenté à la figure 9b, le port de premier type 40 est commuté vers le port de premier type
, les autres ports d'entrée n'ayant pas de port de sortie affecté.
On reviendra plus en détail dans la suite de l'exposé sur l'utilisation sur cette table ainsi que sur les fonctions des différents autres blocs
du module de gestion 120.
La figure 10 représente une vue de l'unité de commutation 26 de la figure 3a sans les éléments qui l'entourent. Cette figure indique les différents signaux d'interface, d'une part, entre l'unité de commutation 26 et l'adaptateur de réseau 24 et qui sont véhiculés par le bus B et, d'autre part, entre l'unité de commutation 26 et l'intérieur de l'appareil de traitement de données ou noeud et qui sont véhiculés par le port de second type ou bus C. Ainsi, les signaux d'interface véhiculés par le bus de communication noté B sont définis de la façon suivante: - Le signal Datar(17:0) est un signal représentatif des données reçues par le bus en provenance du bus noté B sur la figure 3a. Ces données
sont codées sur 18 bits.
- Le signal Datat(17:0) est un signal représentatif des données émises par l'un des ports de premier type 40, 50 et 60. On notera que la figure 11 représente la structure des données Datar(17:0) ou Datat(17:0). Sur cette figure. Les 18 bits sont décomposés en deux octets distincts formés chacun de 9 bits, les bits 0 a 8 puis les bits 9 à 17. Ceci est dû au fait que les données sont codées sous forme d'octets sur les liens 22.Le bit 0 ou le bit 9 représentent le premier bit transmis dans l'octet et le bit 8 ou le bit 17 codent la marque de fin
de paquet ou de message en association avec le bit 0 ou le bit 1.
- Le signal WrLink(3:1) est un signal d'écriture des données émises par l'un des ports de premier type sur la liaison point à point 22. Ce
signal comme on le verra plus tard est actif à l'état bas.
- Le signal RdLink(3:1) est un signal de lecture des données venant de la liaison point à point 22 et qui sont reçues par l'un des ports de
premier type. Comme on le verra plus tard, ce signal est actif à l'état bas.
La figure 10 représente également les signaux d'interface entre l'unité de commutation 26 et l'intérieur de l'appareil de traitement des données ou noeud auquel est associée ladite unité de commutation. Ces signaux d'interface sont véhiculés par le port de second type ou bus C qui est connecté
aux différents ports intermédiaires 70, 80, 90, 100.
Les signaux d'interface sont définis de la façon suivante: - Le signal AlmostFull(4:1) provient, comme représenté sur la figure 6, du moyen de stockage 72 et indique que ledit moyen de stockage est presque plein. Ce signal, actif à l'état bas, vaut 0 lorsque la capacité du moyen de stockage est égale à la capacité maximale de celui-ci moins deux doubles mots. - Le signal Full(4:1), comme représenté sur la figure 6, provient du moyen de stockage 72 et indique que ledit moyen est plein. Ce signal, actif à l'état bas, vaut 0 lorsque le moyen de stockage 72 des moyens de réception 71
représentés à la figure 6 est plein.
- Le signal AlmostEmpty(4:1), ainsi que représenté sur la figure 7, provient du moyen de stockage 77 des moyens de réception et d'émission 76 du port intermédiaire 70. Ce signal indique le moment o le moyen de stockage 77 est presque plein. Ce signal, actif à l'état bas, vaut 0 lorsque le moyen de
stockage 77 ne contient plus que deux doubles mots.
- Le signal Empty(4:1), ainsi que représenté sur la figure 7, provient du moyen de stockage 77. Ce signal, actif à l'état bas, vaut 0 lorsque le
moyen de stockage 77 est vide.
- Le signal Rd(4:1) est un signal de lecture du moyen de stockage
77, tel que représenté sur la figure 7. Ce signal est actif à l'état bas.
- Le signal Wr(4:1) est un signal d'écriture dans le moyen de
stockage 72 représenté à la figure 6. Ce signal est lui aussi actif à l'état bas.
- Le signal EOP(1:0) est, comme représenté sur les figures 6 et 7, un signal respectivement aboutissant au moyen de stockage 72 et provenant du moyen de stockage 77. Ce signal permet la détection d'une marque de fin de paquet ou de fin de message soit, lors d'une réception d'un paquet de données par un port intermédiaire, soit lors de l'émission de ce paquet par ledit port intermédiaire. Ainsi, par exemple, lorsque le signal EOP(1:0) est égal à "00", cela signifie que ledit signal n'est pas utilisé, lorsque le signal EOP(1:0) est égal à "01", cela signifie que l'on a affaire à une fin de message. Lorsque le signal EOP(1:0) est égal à "10", il s'agit d'une fin de paquet et lorsque le signal
EOP(1:0) est égal à "11", cela signifie que le signal n'est pas valide.
- Le signal Reset ou signal de remise à zéro est actif à l'état bas.
- Le signal Clk est un signal provenant de l'horloge du noeud considéré, mais qui n'est pas représentée sur les figures. Ce signal sert à séquencer les opérations réalisées dans l'unité de commutation 26. On notera
que la fréquence de l'horloge est par exemple égale à 33 Mhz.
- Le signal Data(31:0), comme représenté aux figures 6 et 7, est un signal qui respectivement aboutit au moyen de stockage 72 et provient du moyen de stockage 77, selon que les données entrent dans l'unité de
commutation ou en sortent. Ce signal comporte 32 bits.
Les différents signaux véhiculés par le bus interne noté A de l'unité de commutation 26 sont les suivants: - Le signal D(17:0), comme représenté sur les figures 6 et 7, représente soit les données qui sont transmises sur le bus de communication A par les moyens de réception et d'émission 71 du port intermédiaire 70, soit qui sont reçues dudit bus de communication A par les moyens de réception et d'émission 76 du port intermédiaire 70. Comme mentionné ci-dessus, les données transmises par les moyens de réception et d'émission 71 du port intermédiaire 70 sur le bus de communication interne A, sont transmises par l'intermédiaire de la mémoire tampon 75 représentée sur la figure 6. Les données qui sont quant à elles reçues du bus de communication interne A par les moyens de réception et d'émission 76 du port intermédiaire 70, sont plus particulièrement reçues dans le moyen de stockage noté 77 sur la figure 7. Les
données du signal D(17:0) sont codées sur 18 bits.
- Le signal Busy(7:1) est un signal représentatif de l'occupation des ports de premier type et des ports intermédiaires. Comme représenté sur les figures 5 et 7, ce signal Busy(7:1) est respectivement généré par les marqueurs d'occupation 46 et 78 des ports 40 et 70 de ces figures. Comme représenté sur la figure 8, le signal Busy(7:1) généré par les marqueurs d'occupation des ports intermédiaires et des ports de premier type est transmis par l'intermédiaire du bus de communication interne A au module de gestion de l'unité de commutation 120. Plus particulièrement ce signal Busy(7:1) est injecté dans la table d'entrée- sortie 122 de la figure 8, ainsi que dans les blocs 124 et 127. - Le signal Start(7:1), représenté sur la figure 8, est généré par le bloc de partage du bus A noté 124 et est destiné soit au marqueur d'occupation 46 du port de premier type 40 de la figure 5, soit au marqueur d'occupation 78 du port intermédiaire 70 de la figure 7. Ce signal Start(7:1) indique au port destinataire du paquet de données que celui-ci va recevoir des données. Le port destinataire des données répond alors en activant le signal Busy(7:1)
précédemment mentionné.
- Le signal Busreq(7:1) est un signal correspondant à une demande de transfert de données sur le bus de communication interne A. Comme représenté sur les figures 4 et 6, le signal Busreq(7:1) est généré par les moyens de lecture et de traitement du port de premier type 40 ou du port intermédiaire 70 selon le cas de figure envisagé. Ce signal Busreq(7:1) est alors envoyé sur le bus de communication interne A à destination du bloc de partage du bus 124 du module de gestion 120 représenté sur la figure 8, ainsi
que du bloc de sélection 127.
- Le signal Portno(7:1) est valide lorsque le signal Busreq(7:1) est activé. Ce signal Portno(7:1) indique le port destinataire du paquet de données dans lequel lesdites données doivent être écrites. Comme représenté sur les figures 4 et 6, le signal Portno(7:1) est soit généré par les moyens de lecture et de traitement du port de premier type 40 de la figure 4, soit par les moyens de lecture et de traitement 73 du port intermédiaire 70 de la figure 6. Ce signal est transmis sur le bus de communication interne A et est destiné à la table d'entrée-sortie 122 du module de gestion 120 représenté à la figure 8, ainsi
qu'au bloc de sélection 127.
- Le signal HRE(7:1) est un signal de lecture de la mémoire tampon et de la file d'attente des moyens de réception du port de premier type et du port intermédiaire 70, comme représenté sur les figures 4 et 6. Ce signal, représenté sur la figure 8, est généré par le moyen d'écriture et de lecture 126 du module de gestion 120 et est transmis sur le bus de communication interne A vers les moyens de réception 41 et 71 respectivement
du port de premier type 40 et du port intermédiaire 70.
- Le signal HWE(7:1) est un signal d'écriture généré par le moyen d'écriture et de lecture 126 du module de gestion 120, transmis sur le bus de communication interne A et destiné, comme représenté sur la figure 7, au
moyen de stockage 77 des moyens d'émission 76 du port intermédiaire 70.
- Le signal d'horloge Clk est lui aussi véhiculé sur le bus de communication interne A. - Le signal IntEmpty(1), ainsi que représenté à la figure 6, provient du moyen de stockage 72 et fournit une indication sur le taux d'occupation de ce dernier. Ce signal, actif à l'état bas, vaut 0 lorsque le moyen de stockage 72 est vide. Ce signal est envoyé sur le moyen d'écriture et de lecture 126 du
module de gestion 120 de la figure 8.
- Le signal IntFull(1), comme représenté sur la figure 7, provient du moyen de stockage 77 et fournit une indication sur le taux d'occupation de ce dernier. Ce signal, actif à l'état bas, vaut 0 lorsque le moyen de stockage 77 est plein. Ce signal est envoyé sur le bloc de sélection 127 du module de
gestion 120, ainsi que sur le moyen d'écriture et de lecture 126 (figure 8).
On va maintenant décrire le procédé de commutation de paquets
de données selon l'invention.
La figure 12 représente un algorithme qui est mis en oeuvre par les moyens 42 de lecture et de traitement des moyens de réception et
d'émission 41 du port de premier type 40 de la figure 3a.
L'algorithme sera davantage détaillé sur la figure 25 qui
correspond à un deuxième mode de réalisation de l'invention.
Lorsqu'un paquet de données est reçu par le port de premier type 40 de l'unité de commutation 26, conformément à l'étape S1 de l'algorithme représenté à la figure 12, lors d'une étape S2 de ce même algorithme, il est
vérifié s'il s'agit d'un nouveau paquet de données.
Dans la négative, on attend une nouvelle réception d'un nouveau
paquet de données.
Dans l'affirmative, l'étape S2 est suivie d'une étape S3 au cours de laquelle on effectue une lecture du premier mot de l'en-tête du paquet de
données en question.
Le signal RdLink(3:1) de lecture des données venant de la liaison point à point 22 est généré par les moyens de lecture et de traitement 42 des
moyens de réception et d'émission 41 de la figure 4.
De manière simultanée, le signal Datar(17:0) représentatif des données est véhiculé par le bus de communication B jusqu'aux moyens de
lecture et de traitement 42.
La simultanéité des signaux est d'ailleurs illustrée sur les
chronogrammes de la figure 13.
Les étapes qui suivent vont dépendre de la nature du port auquel
est destiné le paquet de données.
L'étape S4 permet de déterminer le type de port ainsi que le numéro du port auquel est destiné un paquet de données arrivant sur le port de
premier type 40.
Plus précisément, selon l'étape S4, l'algorithme examine si le port de destination est un port de premier type. Dans l'affirmative, l'étape S4 est suivie de l'étape S5 au cours de laquelle les données d'identification du paquet
de données qui représentent l'en-tête de celui-ci vont être modifiées.
Afin d'illustrer la modification qui va être effectuée, il convient de
se reporter aux figures 14a et 14b qui représentent un exemple d'en-tête.
Dans le mode de réalisation représenté à la figure 3a, le nombre de ports de premier type et de ports de second type est égal à quatre. Ce qui permet de coder le numéro de chaque port dans l'en-tête de la figure 14a sur
deux bits.
Sur cette figure, seuls les quatre premiers bits de l'octet d'en-tête
sont représentés.
Ainsi, par exemple, un paquet de données réceptionné par le port de premier type 40, qui correspond au premier port de l'unité de commutation 26 vu de l'extérieur, comporte, comme représenté à la figure 14a, un en-tête
dont les deux premiers bits sont "11".
Au cours de l'étape S5 on recherche les deux premiers bits non nuls de l'en-tête qui correspondent au numéro du port de destination codé du
paquet de données.
Les ports de premier type 50 et 60 étant respectivement les deuxième et troisième ports de l'unité de commutation 26 vus de l'extérieur, laprésence des deux premiers bits non nuls à "11" signifie que le paquet de données, dont l'en-tête est représenté à la figure 14a, est destiné au port de premier type 50. La modification de l'en-tête effectuée lors de l'étape S5 de l'algorithme représenté à la figure 12 consiste à remplacer les deux premiers bits de l'en-tête ayant servi à coder le port de destination par deux zéros, tel
que représenté à la figure 14b.
Le paquet de données qui sera émis par le port de premier type
50 comportera l'en-tête représenté à la figure 14b. Les deux bits suivant de l'en-
tête notés "01" correspondent, quant à eux, au codage du numéro de port de destination de la prochaine unité de commutation que le paquet de données
considéré rencontrera.
L'étape S5 correspond à une étape de traitement de l'en-tête d'un paquet de données et, plus particulièrement, à une étape de modification de cet en-tête adaptée au fait que l'étape précédente S4 a déterminé que le port
destinataire est un port de premier type (40, 50 ou 60).
Lorsque l'unité de commutation comporte un nombre réduit de ports de premier et de second types, par exemple de l'ordre de la dizaine, et que l'on traite l'en-tête du paquet de données en modifiant celui-ci lorsque ledit paquet est destiné à un port de premier type, alors la taille des données servant à identifier les ports des unités de commutation que le paquet de données considéré va traverser peut être optimisée. Si le nombre nécessaire de bits pour coder chaque port destinataire est inférieur à la granularité du réseau, alors la taille de l'unité de l'en-tête va pouvoir être réduite par rapport au cas de figure o l'on supprime systématiquement les données identifiant un port destinataire d'une unité de commutation quel que soit le type du port destinataire. Ceci permet avantageusement d'augmenter la bande passante
pour le paquet de données considéré.
Ainsi, par exemple, un paquet de données devant traverser cinq unités de commutation dans lesquelles chacune possède trois ports de premier type et un port de second type a besoin d'un octet pour coder tous les ports destinataires par lesquels il doit passer. Chaque port nécessite seulement deux
bits pour son identification dans l'en-tête.
Si le nombre d'unités de commutation rencontrés sur le chemin du paquet est supérieur à cinq, il est bien entendu possible d'ajouter un second octet pour coder les ports destinataires des unités de commutation additionnelles. Par ailleurs, la taille des données servant à identifier les ports destinataires des différentes unités de commutation que le paquet de données va
rencontrer sur son chemin va être de ce fait réduite.
Toutefois, cet avantage peut être utilisé pour permettre, à taille de données égale, d'identifier une unité de commutation supplémentaire dans le paquet. L'étape S5 est suivie d'une étape S6 au cours de laquelle le nouvel en-tête modifié du paquet de données est écrit dans la file d'attente 43
représentée sur la figure 4.
L'étape S6 est ensuite suivie d'une étape S7 au cours de laquelle les moyens de lecture et de traitement 42 représentés sur la figure 4 activent le signal Busreq indiquant une demande de transfert de données sur le bus A et donnent au signal Portno le numéro du port de premier type 50 auquel les
données sont destinées.
Comme représenté sur la figure 15, les chronogrammes des signaux Busreq et Portno montrent que ceux-ci sont activés de manière
simultanée dans le temps.
Après l'étape S7 de la figure 12, on passe à l'algorithme de la figure 16 qui représente les différentes étapes effectuées lors de la gestion des commutations dans l'unité de commutation 26. Cet algorithme est mis en ceuvre dans le module de gestion des commutations 120 représenté sur les figures 3 et 8. Comme représenté sur la figure 8, le signal Busreq est envoyé sur le bloc 124 de partage du bus et sur le bloc de sélection 127 et le signal Portno
est envoyé quant à lui sur la table d'entrée-sortie 122, ainsi que sur ce bloc 127.
Conformément à l'étape G1 de l'algorithme de la figure 16, le module de gestion 120 procède à une analyse des demandes de bus en
examinant le signal Busreq qu'il vient de recevoir.
Conformément à l'étape G2 de l'algorithme de la figure 16, le module de gestion vérifie si le port de destination de premier type 50 n'est pas déjà occupé par un autre transfert. Pour vérifier ce dernier point, le module de gestion examine si le marqueur d'occupation des moyens d'émission 55 du port
de premier type 50 a généré un signal Busy à destination de la table d'entrée-
sortie 122 et du bloc de partage du bus 124. Si ce n'est pas le cas, la mise à jour de la table 122 peut alors être autorisée. Cette mise à jour est plus particulièrement représentée sur la figure 9a. La mise à jour consiste à renseigner dans la table la valeur du port de destination décodée dans l'en-tête, cette valeur étant écrite en regard du port de réception de mandant l'accès vers
ce port de destination.
Ainsi, après la mise à jour, il apparaît, sur la figure 9b, que le port de premier type 40 est un port d'entrée pour le paquet de données considéré et que le numéro du port de destination de ce paquet est le port de premier type
noté 50.
Lors d'une étape G3, le module de gestion attribue le bus pour le
transfert de données demandé au port de premier type 40.
Suivant l'étape G4, le module de gestion 120 procède alors à une activation du signal Start du port de destination de premier type 50. Ce signal est plus particulièrement destiné au marqueur d'occupation des moyens
d'émission 55 de ce port.
Conformément à l'étape G5, le port de destination 50, plus particulièrement son marqueur d'occupation, active le signal Busy de ce port et le signal Start est d'ailleurs désactivé. La succession des signaux Start et Busy
est représentée sur les chronogrammes de la figure 15.
Conformément à l'étape G6 de l'algorithme de la figure 16, le module de gestion 120 active alors le moyen d'écriture et de lecture 126, représenté sur la figure 8, qui génère le signal HRE(7:1) permettant de lire les mémoires 43 et 44 des moyens de réception 41 du port de premier type 40
(figure 4).
Comme représenté sur la figure 4, les données représentées par le signal Datar(17:0) sont d'abord transmises aux moyens de lecture et de traitement 42 puis successivement envoyées vers la file d'attente 43 et vers la mémoire tampon 44 avant d'être transférées sur le bus de communication interne A. Lors de l'étape G7 (figure 16) le module de gestion procède à une écriture dans le port de destination de premier type 50 des données qui
viennent d'être lues dans le port de premier type 40.
Ces données sont communiquées au bus de communication noté B sur la figure 3a et sont ensuite transmises par l'intermédiaire de ce même bus
et de l'adaptateur de réseau 24 sur une liaison point à point 22.
L'étape G7 est alors suivie de l'étape G8 au cours de laquelle on
procède à un test pour savoir si une marque de fin de paquet est détectée.
Dans la négative, le module de gestion 120 se replace en attente
de réception d'une nouvelle étape G1.
Dans l'affirmative, l'étape G8 est suivie de l'étape G9 au cours de laquelle le marqueur d'occupation du port de destination de premier type 50 désactive son signal Busy. Ceci est d'ailleurs illustré sur les chronogrammes de
la figure 15 en ce qui concerne les signaux Busy et D17 ou D8.
Comme représenté sur la figure 8, la désactivation du signal Busy qui est transmise au bus de communication interne A est reçue dans la table d'entrée-sortie 122 du module de gestion 120 et dans le bloc 124 de partage du bus et l'étape G9 est suivie de l'étape G0O au cours de laquelle ladite table d'entrée-sortie est mise à jour. Cette mise à jour consiste à remplacer la valeur du port de destination (port 50) qui était occupé par une valeur "-" dont la
signification indique que ledit port de destination n'est plus occupé.
De retour à la figure 12, après avoir examiné au cours de l'étape S4 si le port de destination est un port de premier type, s'il s'avère que ledit port de destination n'est pas en fait un port de premier type, alors l'étape S4 est
suivie de l'étape S9.
Dans un tel cas de figure, l'étape S9 est suivie de l'étape S10 au cours de laquelle les données d'identification indiquant le port de destination de second type C de l'unité de commutation et qui sont représentées par l'en-tête du paquet de données sont supprimées. Cette suppression des données est avantageuse dans la mesure o le paquet de données qui va être transmis comportera des données en moins, évitant par là même un traitement de
données inutiles par l'unité de traitement 34.
L'étape S10 est ensuite suivie de l'étape S7, représentée sur l'algorithme de la figure 12, au cours de laquelle les moyens de lecture et de traitement 42 des paquets de données procèdent à une demande de transfert de données sur le bus de communication interne A en activant le signal Busreq et en donnant au signal Portno le numéro du port de destination demandé
(figure 4), c'est-à-dire le port de second type noté C sur la figure 3a.
Ces signaux Busreq et Portno sont émis sur le bus de communication interne A (figure 4) et sont ensuite transmis respectivement au bloc de partage du bus 124 et au bloc de sélection 127 du module de gestion , pour le signal Busreq, à la table d'entrée-sortie 122 et au bloc de sélection 127 de ce même module pour le signal Portno, de la manière indiquée sur la
figure 8.
L'étape S7 de la figure 12 est ensuite suivie par l'étape G1 de l'algorithme représenté à la figure 17 et mis en oeuvre par le module de gestion de la figure 8. Cet algorithme qui va être décrit dans la suite de l'exposé diffère de celui représenté à la figure 16 par une étape supplémentaire notée G'1. Ainsi, conformément à l'étape G1, une analyse de la demande de
bus est faite par le bloc de partage du bus 124 dès réception du signal Busreq.
L'étape G1 est alors suivie d'une étape G'I au cours de laquelle le bloc de sélection 127 du bus réalise une sélection des ports intermédiaires 70,
, 90 et 100 et de leurs moyens de stockage associés.
Cette sélection est par exemple réalisée en fonction de l'occupation des moyens de stockage qui sont associés à chacun de ces ports intermédiaires. L'indication de l'occupation de ces moyens de stockage est fournie par le signal lntFull provenant, par exemple, du moyen de stockage 77
du port intermédiaire.
Supposons que l'un des marqueurs d'occupation d'un des moyens d'émission des différents ports intermédiaires précités active son signal Busy, ce qui signifie que le moyen d'émission est en train de recevoir un paquet. Celui-ci sera ensuite envoyé sur le bus de communication interne A vers la table d'entrée-sortie 122 du module de gestion 120, ainsi que vers le bloc de partage du bus 124, comme représenté sur la figure 8. Le module de gestion en déduira alors que ce port intermédiaire est déjà occupé par l'émission d'un paquet de données à destination du port de second type C. Lorsque le signal Busy est activé, le signal IntFull peut être activé, auquel cas le moyen de stockage est plein, ou désactivé, auquel cas le moyen
de stockage est partiellement rempli.
Il existe un autre cas de figure o le signal Busy vient juste d'être désactivé par suite de la détection d'une fin de paquet et o le moyen de stockage vient de se remplir. Dans ce cas, le signal IntFull sera utile au bloc de sélection 127 du module 120 pour sélectionner un port intermédiaire non occupé. Si parmi les quatre ports intermédiaires un seul seulement d'entre eux a activé son signal Busy, alors le module de gestion aura le choix entre les trois autres ports intermédiaires qui n'ont pas activé leur signal Busy ni leur signal IntFull. La sélection peut alors par exemple être réalisée en fonction de niveaux de priorité différents qui auront été préalablement attribués aux ports intermédiaires. Ainsi, le paquet de données pourra plus particulièrement être
destiné à un des ports intermédiaires qui sera prioritaire.
En supposant que le port intermédiaire 70 n'a pas activé son signal Busy, ni son signal IntFull, ledit port intermédiaire est sélectionné par le
bloc 127.
Le bloc de sélection 127 (figure 8) procède ensuite à une mise à jour de la table d'entrée-sortie 122 (étape G2) au moyen du bus "update", en sélectionnant le port intermédiaire 70 en regard du port de premier type 40
(figure 9c).
Le bloc 127 avertit, au moyen du bus "requete", le bloc de partage
du bus 124 du numéro du port intermédiaire sélectionné.
Le bloc de partage du bus 124 procède alors l'attribution du bus de communication interne A pour le transfert de données du port de premier type 40 vers le port intermédiaire 70 (étape G3). Il convient de noter que dans le cas de figure o il y a autant de ports de premier type que de ports intermédiaires et que chaque port de premier type est associé de manière prédéterminée à un port intermédiaire, alors l'étape de sélection G'1 de l'algorithme consiste à aller chercher dans la table d'entrée-sortie 122 le port intermédiaire correspondant au port de premier
type sur lequel le paquet de données a été réceptionné.
Toutefois, cette sélection n'a lieu que dans le cas o les signaux
Busy et IntFull du port intermédiaire considéré ne sont pas activés.
Conformément à l'étape G4 et comme représenté sur la figure 8, le bloc de partage du bus 124 active le signal Start du marqueur d'occupation
78 des moyens de réception et d'émission 76 représentés à la figure 7.
Conformément à l'étape G5, le port intermédiaire 70 active son signal Busy (figure 7) et le signal Start est alors désactivé. Ce signal Busy est alors transmis sur le bus de communication interne A et envoyé vers la table d'entrée-sortie 122 et vers le bloc de partage du bus 124 du module de gestion
, comme représenté à la figure 8.
Les signaux Start et Busy se succèdent dans le temps de la
manière représentée sur les chronogrammes de la figure 15.
Le module de gestion 120 active le moyen d'écriture et de lecture 126 représenté sur la figure 8 et génère un signal HRE(7:1) destiné à lire les mémoires 43 et 44 des moyens de réception et d'émission 41 du port de
premier type 40 (étape G6).
Le moyen d'écriture et de lecture 126, génère également le signal HWE(7:1) destiné à écrire dans le moyen de stockage 77 des moyens de réception et d'émission 76 du port intermédiaire 70 les données qui vont être
lues à partir du port de premier type 40.
Conformément à l'étape G6, les données représentées par le signal Datar(17:0) sur la figure 4 sont successivement transmises dans les moyens de lecture et de traitement 42, dans la file d'attente 43 et dans la mémoire tampon 44 avant d'être envoyées sur le bus de communication interne A(figure4). Les données qui sont transmises sur le bus de communication interne A sont représentées par le signal D(17:0), sont envoyées (figure 7) dans le moyen de stockage 77 du port intermédiaire 70 et y sont écrites selon l'étape
G7 de l'algorithme de la figure 17.
L'étape G7 est alors suivie de l'étape G8 au cours de laquelle on
détecte si une marque de fin de paquet s'est présentée.
Dans la négative, le module de gestion 120 se place alors en
attente d'une nouvelle étape de lecture du port d'entrée G6.
Au contraire, lorsqu'une marque de fin de paquet est détectée, alors l'étape G8 est suivie de l'étape G9 au cours de laquelle le marqueur d'occupation 78 du port intermédiaire 70 désactive son signal Busy. Cette information est transmise sur le bus de communication interne A et est envoyée à la table d'entrée-sortie 122 du module de gestion 120, au bloc de partage de bus 124 et au bloc de sélection 127. La désactivation du signal Busy et la détection de la marque de fin de paquet sont illustrées sur les chronogrammes
de la figure 15.
L'étape G9 est suivie de l'étape G10 au cours de laquelle la table d'entrée-sortie 122 du module de gestion 120 représenté à la figure 8 est mise
à jour, le port de premier type 40 n'ayant plus de port de sortie affecté.
En règle générale, le moyen de stockage 77 sert à stocker une partie du paquet de données transmis par le bus de communication interne A en provenance du port de premier type 40. Les données ne font généralement que transiter dans ce moyen de stockage pour être transmises immédiatement
au bus de communication C (port de second type).
Si l'unité logique de contrôle 30, représentée sur la figure 3a souhaite recevoir un paquet de données, alors elle vérifie le signal Empty et ne lit que si le signal Empty n'est pas activé. L'unité de contrôle logique peut également utiliser le signal AlmostEmpty si elle ne souhaite pas lire quand le
moyen de stockage contient moins de données que le seuil fixé par ledit signal.
Ce seuil correspond par exemple à 4 mots de 32 bits. L'unité 30 vérifie aussi si un signal EOP a été émis par un port intermédiaire. L'unité logique de contrôle 30 analyse les signaux précédemment mentionnés au moyen du bloc de sélection 30b (figure 3b). Si une fin de paquet est détectée, I'unité 30 émet ensuite, grâce au moyen de lecture et d'écriture 30c, un signal Rd(1) qui est transmis par le port de second type C (bus de communication), jusqu'au moyen de stockage 77 (figure 7) afin de permettre la lecture des données contenues
dans ledit moyen de stockage.
Les données représentées par le signal Data(31:0) sur la figure 7 sont alors transmises sur le bus de communication C pour parvenir à l'unité logique de contrôle 30, o l'en-tête du paquet est écrit dans le registre 30a de la
figure 3b.
Le bloc 30d de l'unité logique de contrôle 30 adresse alors à l'unité de traitement de données 34 une requête pour transférer les données sur le
bus PCI.
Ces données sont transmises à l'unité de traitement de données
34 par l'intermédiaire des bus 38 et 39 de la figure 3a.
Lorsque les données ont été transférées à l'unité de traitement de données 34, elles sont ensuite stockées dans la mémoire 36 représentée sur la
figure 3a.
Comme représenté sur la figure 7, le signal EOP(1:0), indiquant la fin du paquet des données qui viennent d'être transmises, est également envoyé sur le bus de communication C (port de second type) et vers l'unité de
contrôle logique 30, avant d'être transmis à l'unité de traitement de données 34.
La figure 18 illustre l'évolution dans le temps des différents
signaux précités, à savoir Rd, Data(31:0) et EOP(1:0).
Ainsi, il apparaît que le signal Rd est activé à l'état bas et permet
ainsi la lecture des données représentées par le signal Data(31:0).
Il convient toutefois de noter que, lorsque l'unité de contrôle logique 30 est en train de recevoir un premier paquet de données de l'un des ports intermédiaires de l'unité de commutation 26, alors le deuxième paquet de données qui a été, comme on l'a vu précédemment, envoyé du port de premier type 40 vers le port intermédiaire 70, ne peut être immédiatement transféré sur le bus de communication C. En effet, ce bus de communication est déjà utilisé pour le transfert
du premier paquet de données en provenance d'un autre port intermédiaire.
Dans ce cas, le deuxième paquet de données transféré vers le port intermédiaire 70 est stocké dans sa totalité dans le moyen de stockage 77 de la figure 7. Au lieu de transférer un paquet de données à la fois (ceci peut s'avérer utile lorsqu'un paquet est prioritaire) il est également possible de multiplexer les données sur le bus C, c'est-à-dire de transférer par exemple 32 bits d'un premier moyen de stockage, puis 32 bits d'un autre, ou alors un bloc
de l'un puis un bloc de l'autre, ceci étant géré par le contrôleur logique 30.
Un tel multiplexage a déjà été représenté à la figure 5b.
En règle générale, le temps nécessaire aux données transférées du port de premier type 40 vers le port intermédiaire 70 pour traverser ledit moyen de stockage 77 est suffisant pour permettre la libération du bus de communication C, qui peut être, par ailleurs, utilisé pour le transfert d'autres
paquets de données.
On va maintenant s'intéresser au cas de figure o un paquet de
données est envoyé du port de second type C vers un port de premier type.
Lorsque l'unité de traitement de données 34 de la figure 3a veut envoyer un paquet de données contenu dans la mémoire 36, ce moyen vient écrire l'octet d'en-tête dudit paquet de données dans l'unité de contrôle logique 30 à une adresse particulière du bloc de registres d'en-têtes 30a (figure 3b), cet octet comportant le numéro codé du port de destination de l'unité de
commutation 26, c'est-à-dire l'un des ports de premier type noté 40, 50 ou 60.
L'unité de contrôle logique 30 effectue ensuite une étape de sélection d'un port intermédiaire au moyen du bloc de sélection 30b de la figure 3b, par exemple en fonction de l'occupation des moyens de stockage associés
aux moyens de réception et d'émission dudit port intermédiaire.
Pour ce faire, le bloc 30b de l'unité de contrôle logique analyse les signaux générés par les moyens de stockage des moyens de réception et d'émission des différents ports intermédiaires. Les signaux analysés sont les signaux AlmostFull(1) et Full(1) (figure 6) qui sont émis par ces moyens de stockage, transmis sur le bus de communication C (port de second type). Ces signaux indiquent à l'unité de contrôle logique 30 I'état de remplissage des
différents moyens de stockage.
Lorsque l'un des moyens de stockage, par exemple le moyen de stockage 72 du port intermédiaire 70 (figure 6), n'a émis aucun signal AlmostFull(1) ou Full(1), alors l'unité de contrôle logique 30 le sélectionne au moyen du bloc 30b de la figure 3b. Lorsque l'unité de traitement 34 est prête a envoyer les données, I'unité de contrôle 30 génère le signal Wr(1) grâce au moyen de lecture et d'écriture 30c de la figure 3b et le transmet au moyen de
stockage 72 du port intermédiaire 70 (figure 6).
Ce signal va permettre d'écrire dans le moyen de stockage les
données émises par l'unité de contrôle logique 30.
Ces données sont représentées par le signal Data(31:0).
Lorsque la fin du paquet se présente, le signal EOP(1:0) est lui
aussi envoyé au moyen de stockage 72 (figure 6).
L'évolution des signaux Wr, Data(31:0) et EOP(1:0) est illustrée
sur les chronogrammes de la figure 19.
Il convient de noter que les moyens de stockage utilisés dans les moyens de réception et d'émission des différents ports intermédiaires, par exemple les moyens de stockage 72 représentés à la figure 6, ont pour fonction d'éviter l'interruption du flux de données circulant dans l'unité de commutation
ainsi que le traitement desdites données par le module de gestion 120.
L'algorithme de la figure 12 est également mis en oeuvre dans les moyens de lecture et de traitement 73 des moyens de réception et d'émission
71 du port intermédiaire 70.
Conformément à l'algorithme de la figure 12, les moyens de lecture et de traitement 73 mettent en oeuvre une étape de réception (S1) et examinent ensuite, au cours de l'étape S2, si les données reçues
correspondent à un nouveau paquet.
Il s'agit d'un nouveau paquet si une marque de fin de paquet a été
* reçue précédemment dans le même moyen de stockage.
S'il ne s'agit pas d'un nouveau paquet, alors les moyens de lecture et de traitement 73 se placent en attente d'une nouvelle étape de réception (Si). Dans le cas qui nous intéresse, un nouveau paquet a été reçu dans le moyen de stockage 72 et l'étape S2 de l'algorithme de la figure 12 est alors suivie de l'étape S3, au cours de laquelle les moyens de lecture et de traitement 73 procèdent à la lecture du premier mot de l'en-tête du paquet de
données considéré.
L'étape de lecture est symbolisée sur la figure 6 par une flèche "lecture" partant des moyens de lecture et de traitement 73 et aboutissant au
moyen de stockage 72.
Comme représenté sur la figure 6, les deux premiers octets du signal Data(31:0) indiqués par le signal D(17:0) sont transmis des moyens de stockage 72 aux moyens de lecture et de traitement 73 par l'intermédiaire de la connexion référencée I. L'étape S3 est suivie de l'étape S4 au cours de laquelle on examine si le port de destination du paquet de données considéré est un port
de premier type.
Dans l'affirmative, l'étape S4 est suivie de l'étape S5 au cours de laquelle, les deux bits d'en-tête du paquet de données considéré qui ont servi à coder le port de premier type auquel ledit paquet est destiné sont remplacés par
des zéros, de manière analogue à la représentation de la figure 14b.
L'octet d'en-tête ainsi modifié par les moyens de lecture et de traitement 73 est alors transmis à la file d'attente 74 au moyen de la connexion référencée O sur la figure 6. L'opération d'écriture de cet octet d'en-tête dans la file d'attente 74 est symbolisée sur la figure 6 par la flèche partant des moyens
de lecture et de traitement 73 et aboutissant à ladite file d'attente 74 (étape S6).
L'étape S6 est suivie de l'étape S7 représentée sur l'algorithme de la figure 12, au cours de laquelle, les moyens de lecture et de traitement 73 du port intermédiaire 70 effectuent une demande de transfert de données sur le bus de communication interne A en activant le signal Busreq(1) et en donnant au signal Portno le numéro du port de premier type auquel le paquet de
données est destiné (figure 6).
Ces signaux Busreq et Portno représentés à la figure 16 sont transmis sur le bus de communication interne A et envoyés respectivement au bloc de partage du bus 124 du module de gestion 120 de la figure 8 et à la table
d'entrée-sortie 122 de cette même figure.
L'étape S7 de l'algorithme de la figure 12 est suivie de l'étape G1 de l'algorithme de la figure 16 mis en oeuvre par le module de gestion 120 et au cours de laquelle ledit module procède à une analyse de la demande de bus
sur réception du signal Busreq.
Dans le cas qui nous intéresse, à savoir le transfert d'un paquet de données du port intermédiaire 70 vers le port de premier type 40, le module de gestion 120 examine au cours d'une étape G2 si le marqueur d'occupation 46 du port de premier type (figure 5a) a émis un signal Busy (5) indiquant que
ledit port est occupé à émettre ou recevoir.
Si aucun signal Busy n'est envoyé par le marqueur d'occupation
46 par l'intermédiaire du bus de communication interne A vers la table d'entrée-
sortie 122 de la figure 8, alors conformément à l'étape G2 précédemment mentionnée, le module de gestion 120 procède à une mise à jour de la table d'entrée-sortie 122 en établissant la correspondance entre le numéro du port
intermédiaire 70 et celui du port destinataire 40 (figure 9d).
Au cours de l'étape suivante G3, le module de gestion 120 procède àl'attribution du bus de communication interne A pour le transfert du
paquet de données du port intermédiaire 70 au port de premier type 40.
Conformément à l'étape G4 de l'algorithme de la figure 16, le module de gestion 120 active le signal Start du port de premier type 40 qui a été sélectionné. Comme représenté sur la figure 8 le signal Start est émis par le bloc de partage du bus 124, transmis par l'intermédiaire du bus de communication interne A au marqueur d'occupation 46 du port de premier type
représenté sur la figure 5a.
Le marqueur d'occupation 46 active alors, au signal d'horloge suivant (figure 15) le signal Busy qui est transmis par le bus de communication interne A à la table d'entrée-sortie 122 du module de gestion 120,
conformément à l'étape G5.
Au signal d'horloge suivant (figure 15) le signal Start est désactivé.
Le module de gestion 120 procède ensuite, conformément à l'étape G6, à la lecture des données sur le port intermédiaire 70 après avoir vérifié que le signal IntEmpty n'est pas activé. Cette lecture est effectuée par l'émission d'un signal HRE(7:1) émis, comme représenté par la figure 8, par le moyen d'écriture et de lecture 126 dudit module de gestion, et destiné à la mémoire tampon à trois états 75 et à la file d'attente 74 des moyens de
réception et d'émission 71 représentés à la figure 6.
Les données représentées par le signal D(17:0) sur la figure 6 sont alors transmises de la file d'attente 74 à la mémoire tampon 75 et au bus de communication interne A. Comme représenté sur la figure 5a, l'unité de contrôle de flux de données 47 envoie un signal WrLink(1) sur le bus de communication B pour
indiquer à celui-ci que des données vont être transférées sur ledit bus.
L'unité contrôle de flux 47consiste à n' envoyer des données vers l'adaptateur de réseau que lorsque celui-ci peut en recevoir, c'est-àdire, par exemple, lorsque les moyens de stockage internes à cet adaptateur ne sont pas pleins. Le module de gestion 120 exécute alors l'étape G7 de l'algorithme de la figure 16 permettant l'écriture des données représentées par le signal Datat(17:0) de la figure 5a du bus de communication interne A sur le bus de communication B. Comme représenté à la figure 20, le signal Datat(17:0) est
transmis lorsque le signal WrLink est activé à l'état bas.
Lorsque le transfert du paquet de données depuis le port intermédiaire 70 jusqu'au port de premier type 40 a été effectué, et que la marque de fin de paquet a été détectée conformément à l'étape G8 de l'algorithme de la figure 17, alors le marqueur d'occupation 46 du port de premier type 40 désactive son signal Busy (étape G9) et celui-ci est transmis par le bus de communication interne A, d'une part, à la table d'entrée- sortie 122 et, d'autre part, au bloc de partage du bus 124 du module de gestion 120 (figure 8). La table d'entrée-sortie 122 est alors mise à jour conformément à l'étape G10 de l'algorithme de la figure 17, et le module de gestion 120 se place
alors en attente d'une nouvelle étape G1 d'analyse de demande de bus.
De retour à la figure 16, si une marque de fin de paquet n'a pas été détectée au cours de l'étape G8, alors le module de gestion 120 se place en
attente d'une nouvelle étape de lecture G6 du port d'entrée.
Lorsque le paquet de données a été transféré sur le bus de communication B (figure 5a), il est alors transmis à l'adaptateur de réseau 24 et
à une liaison point à point 22.
Selon une variante, non représentée sur les figures, des moyens de stockage supplémentaires sont associés de façon permanente aux ports de
premier type 40, 50 et 60 des figures 3a et 10.
Ceci permet avantageusement de commencer à stocker les paquets de données arrivant du réseau dans ces moyens de stockage en attendant que l'en-tête de ces paquets soit analysé dans l'unité de commutation 26, et plus particulièrement, dans les moyens de lecture et de traitement des
ports de premier type concernés.
Selon une autre variante, non représentée sur les figures, des moyens de stockage supplémentaires associés aux ports de premier type 40, et 60 sont également prévus pour l'émission de paquets de données sur le réseau. Ceci présente l'avantage de pouvoir stocker quelques données
avant de les envoyer sur le réseau si celui-ci est encombré.
La figure 21 illustre une variante de réalisation de l'unité de commutation selon l'invention qui remplace l'unité de commutation 26 de la
figure 3a.
Selon cette variante de réalisation, I'unité de commutation 140 comporte trois ports de premier type 142, 144, 146 et quatre ports intermédiaires 148, 150, 152 et 154. Chacun de ces ports a la même structure
que celle représentée sur les figures 4 à 7 précédemment mentionnées.
De manière analogue à ce qui a été précédemment décrit, les ports de premier type de la figure 21 sont également en communication avec le bus de communication B de la figure 3a. Par ailleurs, les ports intermédiaires de la figure 21 sont en communication avec le port de second type noté C sur la
figure 3a.
L'unité de commutation 140 comporte également un module 170 qui est disposé entre les ports de premier type et les ports intermédiaires. Ce module assure notamment les fonctions du module de gestion 120 représenté
sur les figures 3 et 8 décrites précédemment.
Par ailleurs, l'unité de commutation 140 comporte des moyens de transfert des paquets de données entre les ports de premier type 142, 144 et 146 et les ports intermédiaires 148, 150, 152 et 154 qui présentent une
architecture de type multi-bus.
L'architecture de type multi-bus est formée, d'une part, par différents bus qui sont représentés par les lettres D, E, F, G, H, J et K entre les différents ports considérés et le module 170 et, d'autre part, par le module 170 qui permet de connecter entre eux, simultanément, les ports D, E, F à trois des quatre bus G, H, J, K. Ces moyens de transfert présentent une architecture de type
multi-bus (connue en terminologie anglo-saxonne sous le terme "crossbar").
Dans le cas d'un coeur d'une unité de commutation de type multi-
bus, on peut transférer des données simultanément de plusieurs ports, par exemple de premier type, vers plusieurs autres ports, par exemple intermédiaires. Bien entendu, dans un tel cas de figure un port de destination qui est, par exemple, un port intermédiaire, ne peut recevoir un paquet de
données que d'un seul port à la fois.
Par comparaison, avec l'architecture de type bus présentée à la figure 3a, il faut souligner que pour atteindre les performances réalisées par l'unité de commutation de la figure 21 la vitesse du bus de communication interne A représentée sur la figure 3a doit être augmentée par rapport à la
vitesse des bus mis en oeuvre dans l'unité de commutation de la figure 21.
Comme représenté sur la figure 21 les signaux Busreq, Portno, Start, Busy, Hre et Hwe sont transmis entre chaque port et le module 170. Par ailleurs les différentes données transmises entre les différents
ports et le module 170 sont représentées par les signaux D1(17:0) à D7(17:0).
Il convient de noter que l'avantage mentionné précédemment en référence au cas de figure o le nombre de ports intermédiaires est égal au nombre de ports de premier type et o une association est prévue entre chaque port de premier type et un port intermédiaire est conservé lorsque l'unité de commutation considérée présente, comme représenté sur la figure 23, une
architecture de type multi-bus.
Toutes les autres caractéristiques et avantages énoncés précédemment en référence à une unité de commutation comportant une architecture de type bus restent les mêmes, dans la mesure o ils ne
concernent pas l'architecture de type bus bien évidemment.
Comme représenté à la figure 22, selon un deuxième mode de réalisation de l'invention, un appareil de traitement de données 220 qui est par exemple un appareil photographique numérique comporte un élément référencé 224 qui réalise l'interface entre une unité de commutation 226 et le réseau 10
(figure 1) et que l'on appelle un adaptateur de réseau.
L'appareil 220 peut se substituer à l'appareil 20 de la figure 1.
Pour ce deuxième mode de réalisation de l'invention, seules les
figures les plus significatives ont été représentées.
Un tel élément 224 est par exemple commercialisé par la société
Four Links for Technical Help sous la référence C112.
Sur cette figure de manière analogue aux liaisons 22 de la figure 3a, les liaisons sont représentées par deux bus: I'un noté "Data" et référencé
222a et l'autre noté "Strobe" et référencé 222b. Ce codage appelé "Data-
Strobe" est décrit dans le document EP 0458 648.
Comme représenté sur la figure 22, l'unité de commutation 226 selon un deuxième mode de réalisation de l'invention, est reliée à l'adaptateur
de réseau 224 au moyen d'un bus noté 228.
L'appareil de traitement de données noté 220 comporte également une unité de contrôle logique 230 qui est conforme à la représentation plus détaillée de la figure 3b du premier mode de réalisation, à l'exception toutefois du bloc de sélection apparaissant sur cette figure et qui n'est pas nécessaire
dans le mode de réalisation considéré.
L'unité de contrôle logique 230 est reliée à l'unité de commutation 226 au moyen d'un bus parallèle bidirectionnel 232 de communication de données. L'appareil de traitement de données 220 comporte en outre une unité de traitement de données 234, par exemple un processeur, et une
mémoire 236, reliées entre elles au moyen d'un bus 237.
L'unité de contrôle logique 230 est connectée à l'unité de traitement de données 234 au moyen d'un bus, par exemple de type PCI, noté
238 ainsi que d'un bus 239.
Ainsi que représenté sur la figure 22, l'unité de commutation 226
comporte trois ports d'un premier type dans cet exemple de réalisation.
Un port d'un premier type est défini par le fait qu'il est adapté à échanger des paquets de données avec le réseau, soit directement au moyen d'une liaison point à point 222, soit indirectement au moyen d'un liaison point à
point et de l'adaptateur de réseau 224.
Ces ports sont également appelés ports externes et sont
représentés sur cette figure par les blocs référencés 240, 250 et 260.
Ainsi que représenté sur la figure 22, l'unité de commutation 226 comporte également un port de second type formé d'un bloc noté 270 et du bus 232. Un tel port est défini par le fait qu'il est adapté à supporter une liaison interne au noeud de communication 220 auquel est associée l'unité de
commutation 226.
Le port de second type, également appelé port interne,
communique au moyen du bus 232 avec l'unité de contrôle logique 230.
Ce port véhicule des données sous forme parallèle, ce qui présente l'avantage de pouvoir dialoguer facilement avec l'unité de traitement de données 234. L'unité de commutation 226 comporte des moyens de transfert de paquets de données entre les ports de premier type notés 240, 250, 260 et le
port de second type 270, 232.
Ces moyens de transfert présentent une architecture de type bus et sont constitués par le bus de communication interne noté 290 sur la figure 22. On pourrait également envisager de réaliser ces moyens de transfert par une architecture de type multi-bus analogue à celle représentée
sur la figure 21 du premier mode de réalisation.
Il faut souligner que les ports de premier type précités ainsi que le
port de second type 270, 232 fonctionnent en mode bidirectionnel duplex, c'est-
à-dire qu'ils peuvent simultanément et dans les deux sens transmettre des
paquets de données.
Comme représenté à la figure 22, l'unité de commutation 226 comporte également un module 300 de gestion de commutation des paquets de
données qui est relié au bus de communication interne 290.
L'unité de commutation 226 est représentée à la figure 23 sans les
éléments de la figure 22 mais avec différents signaux d'interface.
Plus précisément, la figure 23 indique les différents signaux d'interface, d'une part, entre l'unité de commutation 226 et l'adaptateur de réseau 224 et qui sont véhiculés par le bus 228 et, d'autre part, entre l'unité de commutation 226 et l'intérieur de l'appareil de traitement de données ou noeud
220 et qui sont véhiculés par le bus 232.
Ces signaux d'interface sont identiques à ceux décrits en
référence au premier mode de réalisation de l'invention.
Le module de gestion 300 de la figure 23 est représenté plus en
détail sur la figure 24.
Ainsi, sur cette figure, le module de gestion comporte de manière identique à la représentation de la figure 8 une table d'entrée-sortie 302, un bloc 304 de partage du bus de communication interne 290 et un moyen
d'écriture et de lecture noté 306.
De retour à la figure 22, chaque port de premier type 240, 250, 260 comporte, d'une part, des moyens de réception et d'émission d'un paquet de données qui a été transmis par la liaison point à point 222 associée auxdits ports de premier type et qui est destiné à un port de premier ou de second type, et d'autre part, des moyens de réception et d'émission d'un paquet de données
destiné à la liaison point à point 222 associée à ce même port.
Il convient de noter que les paquets de données provenant ou à destination d'une liaison point à point 222 sont respectivement transmis par
l'intermédiaire de l'adaptateur de réseau 224 et du bus 228.
Comme représenté sur la figure 22, les moyens de réception et d'émission d'un paquet de données transmis par une liaison 222 sont
respectivement référencés 241, 251, 261.
Les moyens de réception et d'émission d'un paquet de données destiné à une liaison 222 sont quant à eux référencés respectivement 245, 255, 265. Les moyens de réception et d'émission 241 du port de premier type 240 sont identiques aux moyens de réception et d'émission 251 et 261 des ports de premier type respectifs 250 et 260 et sont identiques à la
représentation détaillée de la figure 4 du premier mode de réalisation.
Les moyens de réception et d'émission 245 du port de premier type 240 sont identiques aux moyens de réception et d'émission 255 et 265 des ports de premier type respectifs 250 et 260 et sont identiques à la représentation détaillée de la figure 5a correspondant au premier mode de réalisation. Comme représenté sur les figures 22 et 23, le port de second type 270, 232 comporte également, d'une part, des moyens de réception et d'émission d'un paquet de données provenant du noeud lui- même et destinés à un port de premier type et, d'autre part, des moyens de réception et d'émission d'un paquet de données provenant d'un port de premier type et à destination
dudit port de second type.
Les moyens de réception et d'émission d'un paquet de données
provenant du port de second type sont référencés 271.
Les moyens de réception et d'émission d'un paquet de données
provenant d'un port de premier type sont référencés 276.
La représentation détaillée sur la figure 6 des moyens de réception et d'émission 71 du port intermédiaire 70 de la figure 3a (premier
mode de réalisation) est la même pour les moyens notés 271 sur la figure 22.
La représentation détaillée sur la figure 7 des moyens de réception et d'émission 76 du port intermédiaire 70 de la figure 3a (premier mode de réalisation) est la même pour les moyens de réception et d'émission
notés 276 sur la figure 22.
Tout ce qui a été décrit pour le premier mode de réalisation de I'invention concernant le transfert des paquets de données et l'intervention du module de gestion dans ce transfert entre l'un des ports de premier type et un port intermédiaire ainsi qu'entre le port de second type et un port intermédiaire reste valable pour ce second mode de réalisation dans la mesure o un transfert entre un port de premier ou de second type et un port intermédiaire
peut être assimilé à un transfert port de premier type - port de second type.
Les signaux d'interface représentés sur les figures 23 et 24 du second mode de réalisation sont les mêmes que pour le premier mode de
réalisation et sont utilisés de la même manière.
Cependant, toutes les particularités du premier mode de réalisation qui sont liées à la présence de ports intermédiaires dans l'unité de commutation et à la sélection de ces ports intermédiaires lors du transfert de paquets de données ne sont bien entendu pas reprises dans ce second mode de réalisation, dans lequel l'unité de commutation ne comporte pas de ports intermédiaires. La figure 25 représente un algorithme détaillé des différentes étapes mises en oeuvre dans les moyens de réception et d'émission 241, 251, 261 des ports de premier type et dans les moyens de réception et d'émission 271 du port de second type et, plus particulièrement, dans leurs moyens de
lecture et de traitement de l'en-tête.
Ces moyens de lecture et de traitement n'ont pas été représentés car ils sont identiques à ceux représentés sur les figures 4 et 6 du premier mode de réalisation, à savoir respectivement, les moyens de lecture et de traitement de l'en-tête 42 (figure 4) et les moyens de lecture et de traitement de
l'en-tête 73 (figure 6).
On va maintenant décrire cet algorithme en supposant qu'un paquet de données est réceptionné (étape T1) par un port de premier ou de
second type de l'unité de commutation 226.
Après réception de ce paquet de données, lors d'une étape T2, il
est examiné s'il s'agit d'un nouveau paquet de données.
S'il ne s'agit pas d'un nouveau paquet de données, on attend une
nouvelle réception d'un nouveau paquet de données.
S'il s'agit d'un nouveau paquet de données, I'étape T2 est suivie d'une étape T3 au cours de laquelle on effectue une lecture du premier mot de
l'en-tête du paquet de données considéré.
Il convient de noter que, dans cet exemple, on considère qu'un en-
tête est codé sur un ou deux mots (étape T24), un mot pouvant être représenté
par un octet.
Ainsi, chaque port de destination d'une unité de commutation que
le paquet de données doit rencontrer sur son chemin est codé sur deux bits.
Il faut toutefois noter qu'un tel codage des données d'identification (en-tête) permet au paquet de données de traverser cinq unités de commutation en comptant l'unité de commutation source et l'unité de
commutation destinataire.
Comme représenté sur la figure 25, l'étape T3 est suivie d'une
étape T4 qui précise les modalités de lecture du premier mot ou octet de l'en-
tête. L'étape T4 prévoit de lire les bits notés 6 et 7 de l'octet d'en-tête et est suivie d'une étape T5 au cours de laquelle on procède à un test sur la
valeur de ces bits.
Dans le cas o les bits 6 et 7 prennent respectivement les valeurs
1 et 1, alors l'étape T5 est suivie d'une étape T6.
Le codage d'un tel en-tête est représenté sur la figure 26a et signifie que le paquet de données considéré doit être commuté selon un type de commutation dit à diffusion, ledit paquet de données étant alors envoyé à
tous les ports de l'unité de commutation considérée.
La commutation par diffusion de paquet de données est connue
en terminologie anglo-saxonne sous le terme de "broadcast".
Il convient de noter que les bits 1 à 5 de l'en-tête représenté sur la figure 26a sont bien entendu tous à 0 puisque le paquet de données est
systématiquement envoyé vers tous les ports de l'unité de commutation.
Un codage des ports destinataires n'est donc pas nécessaire.
S'il ne s'agit pas d'une commutation par diffusion de paquet de données, alors il s'agit d'une commutation dite à envoi simple (connue en
terminologie anglo-saxonne sous le terme de "unicast").
L'étape T5 est alors suivie de l'étape T7 au cours de laquelle on
procède à une lecture des bits 0 et 1 de l'en-tête considéré.
L'étape suivante T8 procède à une vérification sur la valeur de ces bits. S'il s'avère que les bits 0 et 1 ne sont pas tous les deux égaux à 0, alors l'étape T8 est suivie de l'étape T9 au cours de laquelle les données d'identification qui ont servi au codage du port de destination de ce paquet de données sont traitées et le paquet de données considéré est alors transféré au
port destinataire de premier type codé par les bits 0 et 1.
Plus particulièrement, ce traitement des données consiste à les
modifier en remplaçant la valeur des bits 0 et 1 par des zéros.
Au contraire, si les bits 0 et 1 sont tous les deux égaux à 0, alors l'étape T8 est suivie d'une étape T10 au cours de laquelle on procède à une
lecture des bits 2 et 3 de l'octet d'en-tête considéré.
S'il s'avère que les bits 2 et 3 ne sont pas tous les deux égaux au
couple 00, alors l'étape T11 est suivie d'une étape T12.
Au cours de cette étape T12, on modifie les données d'identification du port de destination de ce paquet de données avant d'envoyer
celui-ci vers ledit port de destination de premier type de l'unité de commutation.
Plus particulièrement, ce traitement consiste à remplacer la valeur des bits 2 et 3 par des zéros. Si l'étape de test T11 fait au contraire apparaître que les bits 2 et 3 sont tous les deux égaux à 0, alors ladite étape est suivie d'une étape T13 au cours de laquelle on procède à une lecture des bits 4 et 5 de l'octet d'en-tête considéré. Les moyens de lecture et de traitement de l'en-tête des moyens de réception et d'émission du port considéré procèdent ensuite à un test sur la
valeur des bits 4 et 5 de l'octet d'en-tête considéré.
S'il s'avère que ces bits sont différents du couple 00, alors l'étape T14 est suivie d'une étape T15 au cours de laquelle les données d'identification identifiant le port de destination du paquet de données considéré (représentées par les bits 4 et 5) sont alors modifiées avant que ledit paquet de données ne
soit envoyé audit port de destination de premier type de l'unité de commutation.
Plus particulièrement, ces bits 4 et 5 sont remplacés par des zéros. Il convient de noter que les étapes de traitement des données d'identification des étapes précédentes T9, T12 et T15 correspondent en fait à
une modification desdites données et non à une suppression de celles-ci.
S'il s'avère que les bits 4 et 5 sont égaux au couple 00, alors l'étape T14 est suivie d'une étape T16 au cours de laquelle on procède à une lecture des bits 6 et 7 de l'octet d'en-tête considéré. Cette étape a pour but de déterminer la taille des données d'identification (en-tête) du paquet de données considéré. En fonction de la valeur des bits 6 et 7, le procédé selon l'invention permet de déterminer si l'en-tête est constitué, par exemple, d'un ou
de deux mots ou octets (étape Tl 7).
Si les bits 6 et 7 ont une valeur déterminant une taille des données d'identification correspondant à un mot ou octet, alors l'étape T17 est suivie d'une étape T18 au cours de laquelle on vérifie si les bits 6 et 7 sont égaux à 0
ou non.
S'il s'avère que les bits 6 et 7 sont tous les deux égaux à 0, cela
signifie que le paquet de données est destiné au port de second type 270.
L'étape T1 8 est alors suivie de l'étape T19 au cours de laquelle un traitement desdites données d'identification du paquet de données considéré
est effectué.
Plus particulièrement, ce traitement consiste à supprimer les
données d'identification (en-tête) du paquet de données considéré.
Les moyens de lecture et de traitement du port considéré
effectuent alors une étape T20.
Au cours de cette étape les moyens précités procèdent à une demande de transfert du paquet de données reçu sur le bus interne 290 en activant le signal Busreq et en donnant au signal Portno le numéro du port de destination demandé, à savoir, dans le cas qui vient d'être décrit, le port 270, 232. Cette demande est alors transférée sur le bus de communication 290 au module de gestion 300 qui procède alors à l'exécution de l'algorithme
représenté à la figure 16 et plus particulièrement à l'étape G1 de cet algorithme.
La description de cet algorithme ne sera pas reprise dans la suite
de l'exposé étant donné qu'elle est la même que pour le premier mode de
réalisation de l'invention.
Si les bits 6 et 7 sont différents du couple 00 alors l'étape T18 est suivie d'une étape T21 au cours de laquelle on vérifie si les bits 6 et 7 sont
égaux au couple 01.
Dans l'affirmative, l'étape T21 est suivie d'une étape T22 au cours
de laquelle les données d'identification correspondant au premier mot de l'en-
tête sont supprimées.
L'étape T22 est suivie d'une étape T23 au cours de laquelle les moyens de lecture et de traitement du port de premier type considéré procèdent à une lecture du mot suivant (second mot de l'en-tête) et l'étape T23 est suivie
de l'étape T7.
Si les bits 6 et 7 ne sont pas égaux au couple 01 alors il s'agit d'un
en-tête incorrect.
De retour à l'étape T17, si les données d'identification ne correspondent pas à un mot mais à deux mots, alors l'étape T17 est suivie d'une étape T24.
Chaque mot est par exemple représenté sur un octet.
La figure 26c représente le codage d'un en-tête de paquet de
données sur 2 octets.
Les moyens de lecture et de traitement du port considéré effectuent alors une étape T25 au cours de laquelle il est examiné si les bits 6
et 7 du second octet sont différents du couple 00.
Dans l'affirmative, l'étape T25 est suivie d'une étape T26 au cours
de laquelle les données d'identification correspondant au second mot de l'en-
tête sont traitées en remplaçant la valeur des bits 6 et 7 par des zéros.
On notera que le traitement adapté consiste ici à modifier l'en-tête.
L'étape T26 est ensuite suivie d'une étape T27 au cours de laquelle les moyens de lecture et de traitement du port considéré procèdent à une écriture du second mot de l'en-tête dans la file d'attente des moyens de
réception et d'émission dudit port considéré.
Le paquet de données est destiné à un port de premier type.
Plus précisément, la file d'attente est par exemple la file d'attente 43 des moyens de réception et d'émission 41 représentés sur la figure 4 du premier mode de réalisation et qui correspondent au port de premier type 40
(figure 3a).
L'étape T27 est ensuite suivie de l'étape T20 décrite précédemment pour la demande de transfert des données sur le bus de communication interne 290. Le signal Busreq est activé et le signal Portno se
voit attribuer le numéro du port de sortie demandé.
Si l'étape T25 fait apparaître, au contraire, que les bits 6 et 7 sont tous deux égaux à 0, alors celle-ci est suivie de l'étape T29 et cela signifie que
le paquet de données est destiné au port de second type.
Conformément à l'étape suivante T29, les données d'identification sontalors traitées en fonction du résultat des étapes T25 et T28, et plus précisément, les données d'identification du second mot d'en-tête sont alors supprimées. Ainsi que le montre la figure 25, l'étape T29 est alors suivie de
l'étape T20 qui a déjà été décrite ci-dessus.
La figure 27 illustre le mécanisme qui est utilisé pour programmer l'unité de commutation 26 ou 140 lorsque celle-ci est, par exemple, réalisée à
l'aide d'un circuit programmable de la famille Altera ou Xilinx.
Comme représenté sur cette figure, la programmation de l'unité de commutation 26 ou 140 est par exemple réalisée au moyen d'un câble de téléchargement noté 180 relié à un ordinateur 182 par l'intermédiaire de son port série ou parallèle, suivant le type de technologie utilisé pour réaliser ladite
unité de commutation.
On utilisera par exemple la technologie JTAG signifiant en terminologie anglo-saxonne "Joint Test Action Group" pour le téléchargement
des instructions de programmation sous la forme de données.
* La programmation de l'unité de commutation 26 ou 140 peut également être réalisée en chargeant les instructions de programmation sous la forme de données dans une mémoire de configuration 184 (figure 27) dédiée à
ce type de composant et de type RAM ou ROM ou encore PROM.
Dans un tel cas de figure, à la mise sous tension, les données représentant les instructions de programmation de l'unité de commutation sont téléchargées dans celle-ci suivant un protocole propre au fabricant du circuit
programmable en question.
La programmation de l'unité de commutation peut aussi être effectuée au moyen d'un signal d'entrée noté 186 comportant les instructions de programmation, et qui est envoyé à travers un réseau de communication (non
représenté) tel que l'lntemet, et qui est relié à un adaptateur de réseau lui-
même connecté à l'unité de commutation programmable.
Ainsi, quelque soit le mode de programmation utilisé, I'unité de commutation 26 ou 140 selon l'invention est programmée de manière à
fonctionner selon les instructions de programmation d'entrée.

Claims (45)

REVENDICATIONS
1. Procédé de commutation de paquets de données dans une unité de commutation (26; 140; 226) associée à un noeud (20; 220) de communication d'un réseau (10), ladite unité de commutation comportant plusieurs ports d'entrée-sortie pour les paquets de données (40, 50, 60; 142, 144,146; 240, 250,260), ledit procédé comportant les étapes suivantes: -réception (S1; T1) d'un paquet de données comportant des données dites d'identification qui identifient au moins un port de sortie de ladite unité de commutation et auquel ledit paquet de données est destiné, -traitement (S10; T19, T22, T27) desdites données d'identification, -transfert dudit paquet vers ledit au moins un port de sortie, caractérisé en ce que, parmi les ports d'entrée-sortie, certains sont dits d'un premier type (40, 50, 60; 142, 144, 146; 240, 250, 260) et au moins un port est dit d'un second type (270, 232; C) et diffère d'un port de premier type en ce sens qu'il est adapté à supporter une liaison interne au noeud de communication auquel est associée l'unité de commutation, ledit procédé comportant les étapes suivantes: -détermination (S4; T4-T19, T20-T27) du type de port auquel le paquet de données est destiné, -traitement (S5, S10; T9, T12, T15, T19, T22, T26, T27) des
données d'identification de manière différente selon le type de port déterminé.
2. Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination du type de port auquel le paquet de données est destiné a
pour résultat le premier type.
3. Procédé selon la revendication 1, caractérisé en ce que l'étape de détermination du type de port auquel le paquet de données est destiné a
pour résultat le second type.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce
que l'étape de traitement des données d'identification consiste à supprimer
(S10;T19, T22, T26, T27) lesdites données d'identification.
5. Procédé selon l'une des revendications 1 à 3, caractérisé en ce
que l'étape de traitement des données d'identification consiste à modifier (S5
T9, T12, T15, T26) lesdites données d'identification.
6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce
qu'il comporte une étape de détermination (S4; T4, T5, T7, T8, T10, Tl1, T13, T14, T16, T17, T18, T21, T25, T26) dudit au moins un port de sortie auquel le
paquet de données est destiné.
7. Procédé selon la revendication 6, caractérisé en ce que les données d'identification se présentant sous la forme d'une succession de bits et chacun des 2m ports de l'unité de commutation (26; 140; 226) étant codé sur au moins m bits dans lesdites données d'identification, l'étape de détermination dudit au moins un port de sortie auquel le paquet de données est destiné consiste à rechercher les m premiers bits consécutifs non nuls parmi lesdites
données d'identification.
8. Procédé selon les revendications 5 à 7, caractérisé en ce que
l'étape de modification (S5; T9, T12, T15, T26) des données d'identification consiste à remplacer lesdits au moins m premiers bits non nuls desdites
données d'identification par des zéros.
9. Procédé selon la revendication 7 ou 8, caractérisé en ce que 2m est égal à quatre et chaque port de l'unité de commutation est codé sur deux bits.
10. Procédé selon l'une des revendications 1 à 9, caractérisé en
ce qu'il comporte une étape de détermination (T5) du type de commutation dit à
diffusion ou à envoi simple appliquée au paquet de données considéré.
11. Procédé selon la revendication 10, caractérisé en ce ladite étape de détermination du type de commutation consiste à rechercher la présence d'une succession de bits égaux à 0 ou à 1 à un endroit prédéterminé
des données d'identification du paquet de données considéré.
12. Procédé selon l'une des revendications 1 à 11, caractérisé en
ce qu'il comporte une étape de détermination (T16) de la taille des données
d'identification correspondant au paquet de données considéré.
13. Procédé selon la revendication 12, caractérisé en ce ladite étape de détermination de la taille des données d'identification consiste à rechercher la présence de bits particuliers à un endroit prédéterminé des
données d'identification du paquet de données considéré.
14. Procédé de commutation selon l'une des revendications 1 à
13, caractérisé en ce que le réseau est conforme à la norme IEEE 1355.
15. Unité de commutation (26; 140; 226) de paquets de données associée à un noeud (20; 220) de communication d'un réseau (10), ladite unité de commutation comportant: - plusieurs ports d'entrée-sortie pour les paquets de données, - des moyens de réception (40, 41, 70, 71) d'un paquet de données comportant des données dites d'identification qui identifient au moins un port de sortie de ladite unité de commutation et auquel ledit paquet de données est destiné, - des moyens de traitement (40, 41, 42, 70, 71, 73, S10) desdites données d'identification, - des moyens de transfert (A, C) dudit paquet de données vers ledit au moins un port de sortie, caractérisé en ce que ladite unité de commutation comporte: -parmi lesdits ports d'entrée-sortie, des ports dits d'un premier type (40, 50, 60; 142, 144, 146; 240, 250, 260) et au moins un port dit d'un second type (C; 270, 232) qui diffère d'un port de premier type en ce sens qu'il est adapté à supporter une liaison interne audit noeud de communication auquel est associée l'unité de commutation, - des moyens de détermination (40, 41,42, 70, 71, 73, S4) du type de port auquel le paquet de données est destiné, -des moyens de traitement (40, 41, 42, 70, 71, 73, S5, S10) des données d'identification qui sont adaptés à traiter lesdites données de manière
différente selon le type de port déterminé.
16. Unité de commutation selon la revendication 15, caractérisée en ce que le type de port auquel le paquet de données est destiné est le
premier type.
17. Unité de commutation selon la revendication 15, caractérisée en ce que le type de port auquel le paquet de données est destiné est le
second type.
18. Unité de commutation selon l'une des revendications 15 à 17,
caractérisée en ce que les moyens de traitement (40, 41, 42, 70, 71, 73, S10) des données d'identification sont adaptés à supprimer lesdites données d'identification.
19. Unité de commutation selon l'une des revendications 15 à 17,
caractérisée en ce que les moyens de traitement (40, 41, 42, 70, 71, 73, S5) des données d'identification sont adaptés à modifier lesdites données d'identification.
20. Unité de commutation selon l'une des revendications 15 à 19,
caractérisée en ce qu'elle comporte des moyens de détermination (40, 41, 42, , 71, 73, S4) dudit au moins un port de sortie auquel le paquet de données
est destiné.
21. Unité de commutation selon l'une des revendications 15 à 20,
caractérisée en ce que les données d'identification se présentant sous la forme d'une succession de bits et ladite unité de commutation comportant un nombre total 2m de ports, chacun desdits 2m ports est codé sur au moins m bits dans
lesdites données d'identification.
22. Unité de commutation selon l'une des revendications 15 à 21,
caractérisée en ce que la taille des données d'identification est choisie de manière à être la plus petite possible, compte tenu du nombre de ports de
l'unité de commutation.
23. Unité de commutation selon la revendication 21 ou 22,
caractérisée en ce que les données d'identification comprennent deux octets.
24. Unité de commutation selon la revendication 21 ou 22,
caractérisée en ce que les données d'identification comprennent un octet.
25. Unité de commutation selon l'une des revendications 21 à 23,
caractérisée en ce que le nombre 2m de ports est égal à quatre.
26. Unité de commutation selon la revendication 25, caractérisée en ce que le nombre 2m de ports est égal à quatre et ceux-ci sont répartis en
trois ports de premier type et un port de second type.
27. Unité de commutation selon l'une des revendications 21 à 26,
caractérisée en ce que chaque port d'entrée-sortie de ladite unité de
commutation est codé sur deux bits.
28. Unité de commutation selon l'une des revendications 15 à 27,
caractérisée en ce qu'elle comporte des moyens de détermination (40, 41, 42, , 71, 73) du type de commutation dit à diffusion ou à envoi simple appliquée
au paquet de données considéré.
29. Unité de commutation selon l'une des revendications 15 à 28,
caractérisée en ce qu'elle comporte des moyens de détermination (40, 41, 42, , 71, 73) de la taille des données d'identification correspondant au paquet de
données considéré.
30. Unité de commutation selon l'une des revendications 15 à 29,
caractérisée en ce que ledit au moins un port de second type comporte au
moins un bus (232) parallèle et bidirectionnel de communication de données.
31. Unité de commutation selon l'une des revendications 15 à 30,
caractérisée en ce que le réseau (10) est conforme à la norme IEEE 1355.
32. Appareil de traitement de données (20; 220), caractérisé en ce qu'il comporte une unité de commutation (26; 140; 226) selon l'une des
revendications 15 à 31.
33. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est une imprimante.
34. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est un serveur.
35. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est un ordinateur.
36. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est un télécopieur.
37. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est un scanner.
38. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est un magnétoscope.
39. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est un décodeur.
40. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est un téléviseur.
41. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est un caméscope.
42. Appareil de traitement de données selon la revendication 32,
caractérisé en ce que ledit appareil (20; 220) est une caméra numérique.
43. Appareil de traitement de données selon la revendication 32, caractérisé en ce que ledit appareil (20; 220) est un appareil photographique numérique.
44. Réseau de communication (10), caractérisé en ce qu'il comporte au moins une unité de commutation (26; 140; 226) selon l'une des
revendications 15 à 31.
45. Réseau de communication (10), caractérisé en ce qu'il comporte au moins un appareil de traitement de données (20; 220) selon l'une
des revendications 32 à 43.
FR9904418A 1999-04-08 1999-04-08 Procede de commutation de paquets de donnees et unite de commutation associee a un noeud de communication d'un reseau Pending FR2792145A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR9904418A FR2792145A1 (fr) 1999-04-08 1999-04-08 Procede de commutation de paquets de donnees et unite de commutation associee a un noeud de communication d'un reseau
EP00400950A EP1043913A3 (fr) 1999-04-08 2000-04-06 Dispositif et procédé pour la commutation de paquets de données
US09/545,053 US6847637B1 (en) 1999-04-08 2000-04-07 Unit and method for switching data packets, a data processing apparatus comprising such a unit and a network comprising them

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9904418A FR2792145A1 (fr) 1999-04-08 1999-04-08 Procede de commutation de paquets de donnees et unite de commutation associee a un noeud de communication d'un reseau

Publications (1)

Publication Number Publication Date
FR2792145A1 true FR2792145A1 (fr) 2000-10-13

Family

ID=9544190

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9904418A Pending FR2792145A1 (fr) 1999-04-08 1999-04-08 Procede de commutation de paquets de donnees et unite de commutation associee a un noeud de communication d'un reseau

Country Status (1)

Country Link
FR (1) FR2792145A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774665A (en) * 1995-12-07 1998-06-30 Electronics And Telecommunications Research Institute Asynchronous transfer mode LAN switching hub device using IEEE P1355 standard and its control method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774665A (en) * 1995-12-07 1998-06-30 Electronics And Telecommunications Research Institute Asynchronous transfer mode LAN switching hub device using IEEE P1355 standard and its control method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BROWN C R ET AL: "EXPLOITING IEEE 1355 ROUTABLE SERIAL LINKDS IN A REAL-TIME VISION ARCHITECTURE", REAL-TIME IMAGING,GB,ACADEMIC PRESS LIMITED, vol. 3, no. 5, pages 355-361, XP000724566, ISSN: 1077-2014 *
MAY D ET AL: "MESSAGE-ROUTING ALS SCHLUESSELTECHNIK", ELEKTRONIK,DE,FRANZIS VERLAG GMBH. MUNCHEN, vol. 41, no. 24, pages 58-59,62-66, XP000322383, ISSN: 0013-5658 *

Similar Documents

Publication Publication Date Title
EP0349371B1 (fr) Système informatique à interconnexion centrale
EP0003493B2 (fr) Système de transmission de données entre des stations connectées en boucle
FR2773935A1 (fr) Procedes de communication entre systemes informatiques et dispositifs les mettant en oeuvre
EP0524070B1 (fr) Dispositif universel de couplage d'un bus d'ordinateur à un contrôleur d'un groupe de périphériques
FR2820921A1 (fr) Dispositif et procede de transmission dans un commutateur
FR2824215A1 (fr) Procede et dispositif de traitement d'un message dans un reseau de communication
EP0650280B1 (fr) Procédé de diffusion de données à train de données
CA2006831C (fr) Systeme d'emission de trames hdlc sur canal de type mic, a circuit hdlc unique et memoire tampon de transposition
FR2642245A1 (fr) Systeme de reception et de traitement de trames hdlc transmises sur liaison mic multivoies a multiplexage temporel, notamment pour commutateur de donnees
EP0692891A1 (fr) Système d'interconnexion de réseaux locaux utilisant un protocole de routage de type "routage depuis la source" et équipement d'interconnexion destiné à être utilisé dans un tel système
EP1557767A1 (fr) Procédé et système de transmission de messages dans un réseau d'interconnexions.
FR2824434A1 (fr) Procede de diffusion d'un paquet de donnees au sein d'un reseau commute, base sur un calcul optimise de l'arbre de recouvrement
EP0603056B1 (fr) Procédé de simulation de transmission sur un réseau de transmission par transfert asynchrone et simulateur de transmission sur un tel réseau
FR2792145A1 (fr) Procede de commutation de paquets de donnees et unite de commutation associee a un noeud de communication d'un reseau
EP1871058B1 (fr) Système et procédé de gestion de messages transmis dans un réseau d'interconnexions.
FR2792144A1 (fr) Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant
EP0792071B1 (fr) Dispositif de décodage de signaux de type MPEG2
FR2736737A1 (fr) Dispositif de gestion de relations entre des objets
WO2020109733A2 (fr) Gestion des données pour le stockage de trames de données dans la mémoire d'un système de transmission de données
EP0974902B1 (fr) Procédé de détection d'erreurs sur une liaison série d'un circuit intégré et dispositif de mise en oeuvre du procédé
FR2838898A1 (fr) Dispositif d'aiguillage a commutation et routage centralises
EP1044541B1 (fr) Routeur pour acheminer des paquets de donnees
EP1355454B1 (fr) Dispositif de routage à traitement parallèle
FR2791502A1 (fr) Procede et dispositif de determination d'un chemin d'un paquet de donnees dans un reseau de communication
FR2804814A1 (fr) Dispositif de commutation d'un reseau commute et procede de traitement de paquets de donnees dans un tel dispositif