FR2792144A1 - Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant - Google Patents

Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant Download PDF

Info

Publication number
FR2792144A1
FR2792144A1 FR9904417A FR9904417A FR2792144A1 FR 2792144 A1 FR2792144 A1 FR 2792144A1 FR 9904417 A FR9904417 A FR 9904417A FR 9904417 A FR9904417 A FR 9904417A FR 2792144 A1 FR2792144 A1 FR 2792144A1
Authority
FR
France
Prior art keywords
port
type
data
switching unit
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
FR9904417A
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 FR9904417A priority Critical patent/FR2792144A1/fr
Priority to EP00400950A priority patent/EP1043913A3/fr
Priority to US09/545,053 priority patent/US6847637B1/en
Publication of FR2792144A1 publication Critical patent/FR2792144A1/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/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • 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)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne une unité de commutation de paquets de données (26) associée à un noeud (20) d'un réseau (10) et comportant plusieurs ports d'entrée-sortie pour les paquets.L'unité est caractérisée en ce qu'elle comporte :- un nombre n de ports intermédiaires (70, 80, 90, 100) disposés entres des ports d'entrée-sortie d'un premier (40, 50, 60) et d'un second (C) types, un port de second type pouvant supporter une liaison interne au noeud (20),- au moins un moyen de stockage (72, 77) associé à chaque port intermédiaire,- des moyens de transfert (A) d'un paquet entre au moins un port dit d'entrée et au moins un port dit de sortie et qui font intervenir au moins un port intermédiaire et ledit au moins un moyen de stockage associé.

Description

La présente invention concerne 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.
On connaît, d'après le document EP 0 405 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 ledit réseau.
L'unité de commutation possède trente deux entrées-sorties constituées de ports physiques tous identiques qui sont adaptés à supporter chacun une liaison point à point et permettent ainsi de transférer des paquets de données d'un noeud de communication du réseau vers un autre noeud de
communication de ce même réseau.
L'unité de commutation comporte notamment une entrée pour recevoir des paquets de données en provenance d'un noeud de communication, appelé source, et une pluralité de sorties identifiant plusieurs
autres noeuds de communication, appelés destinataires.
Cette unité de commutation connecte, en interne, I'entrée
mentionnée ci-dessus à l'une des sorties de ladite unité de commutation.
Cette sortie est déterminée sélectivement en fonction de I'indication du noeud destinataire placée dans les données d'identification
constituant l'en-tête du paquet de données qui a été reçu sur ladite entrée.
La commutation du paquet de données dans l'unité de commutation du réseau d'ordinateurs s'effectue en lisant l'en-tête dudit paquet de données, avant même que la totalité dudit paquet ne soit reçue dans ladite unité de commutation, ce qui permet de ne pas avoir à stocker le paquet de données. Ainsi, le temps d'attente entre la réception d'un paquet de
données sur l'unité de commutation et sa sortie est réduit.
Cette unité de commutation est associée à un noeud de communication. Certains des ports physiques de l'unité de commutation sont connectés à un adaptateur série/parallèle externe à ladite unité de commutation et qui, lui-même, supporte une liaison interne au noeud de
communication auquel est associée l'unité de commutation.
Avant la mise en service d'une telle unité de commutation il peut être prévu d'associer certains des ports physiques entre eux et, par exemple, de connecter un ou plusieurs ports à un ou plusieurs adaptateurs série/parallèle supportant chacun une liaison interne au noeud de communication. Ainsi, lorsqu'un paquet de données est reçu par l'un des ports physiques de l'unité de commutation, par exemple le port portant le numéro 31, et que le port connecté à un adaptateur série/parallèle du noeud interne, auquel est destiné ce paquet de données, par exemple le port portant le numéro 20, est occupé par d'autres paquets de données issus d'autres ports externes, ledit paquet de données est aiguillé vers un autre port connecté à un adaptateur série/parallèle du noeud interne, par exemple le port portant le numéro 19, à condition toutefois que l'association entre les ports 19 et 20 ait été programmée
avant la mise en service de ladite unité de commutation.
Si cette association de ports n'a pas été préalablement
programmée, les données restent en attente et bloquent le port externe 31.
Ceci constitue un inconvénient si l'un des autres noeuds de communication du réseau veut transmettre pendant ce temps un paquet de
données sur le port 31 de cette unité de commutation.
De même, si l'un des autres noeuds de communication du réseau veut transmettre un paquet de données sur l'un des autres ports de cette unité de commutation, par exemple le port qui porte le numéro 15, et que ce paquet est également destiné au port 20, alors ledit paquet de données va bloquer le port 15 tant que l'accès au port 20 ne sera pas libéré., La présente invention vise à résoudre ce problème en proposant 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, caractérisée en ce que ladite unité de commutation comporte: - parmi lesdits ports d'entrée-sortie, un nombre k de 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, - un nombre n de ports dits intermédiaires disposés entre les ports de premier et de second types, au moins un moyen de stockage associé à chacun desdits n ports intermédiaires, - des moyens de transfert d'un paquet de données entre au moins l'un des ports de premier et de second types dit port d'entrée et au moins l'un des ports de premier et de second types auquel ledit paquet est destiné et dit port destinataire, lesdits moyens de transfert faisant intervenir au moins l'un
des n ports intermédiaires et ledit au moins un moyen de stockage associé.
Lorsqu'un paquet de données destiné au noeud de communication auquel est associée l'unité de commutation se présente sur un port de premier type de celle-ci, ledit paquet est transféré vers ledit au moins un port de second type en passant par l'un des ports intermédiaires de ladite unité
de commutation et ledit au moins un moyen de stockage associé.
Si, au moment o ce paquet de données est en cours de transfert entre le port de premier type et le port intermédiaire, un deuxième paquet de données, également destiné au noeud de communication, est réceptionné sur un autre port de premier type de l'unité de commutation, alors ladite unité de commutation transfère ce deuxième paquet vers un deuxième port
intermédiaire et ledit au moins un moyen de stockage qui lui est associé.
Ceci permet de recevoir simultanément plusieurs paquets de
données destinés au noeud de communication.
Pendant ce temps, le premier paquet peut finir d'être transféré vers ledit au moins un port de second type et le moyen de stockage associé au deuxième port intermédiaire stocke au moins partiellement le deuxième paquet
reçu par ledit deuxième port intermédiaire.
Les moyens de stockage associés aux ports intermédiaires sont dimensionnés pour pouvoir absorber tout ou partie d'un paquet de données
dans l'hypothèse o le transfert d'un paquet prend plus de temps que prévu.
Toutefois, le plus souvent, les paquets de données sont reçus de manière suffisamment décalée dans le temps pour que le transfert du premier paquet soit déjà bien avancé lorsque le deuxième paquet se présente sur un
port de premier type.
Ainsi, les moyens de stockage n'ont en général qu'une partie du
paquet de données à absorber et non la totalité.
La structure à plusieurs ports de types différents et à plusieurs ports intermédiaires et moyens de stockage associés permet donc de commuter plusieurs paquets de données destinés au noeud de communication auquel est associée l'unité de commutation et qui sont reçus de manière décalée dans le temps, voire en même temps, par ladite unité de commutation,
ceci sans bloquer les ports de premier type de celle-ci.
Cette structure permet donc de réduire la latence dans l'unité de
commutation et, par là même, dans le réseau.
Inversement, des paquets de données, issus du noeud de communication auquel est associée l'unité de commutation selon l'invention et à destination d'autres noeuds de communication du réseau, peuvent être transférés dudit au moins un port de second type vers des ports de premier type. Dans ce cas, la structure à plusieurs ports de types différents et à plusieurs ports intermédiaires et moyens de stockage associés permet de transférer un paquet vers un premier port de premier type, pendant qu'un deuxième paquet de données est stocké au moins partiellement dans un moyen de stockage avant d'être lui aussi transféré vers un deuxième port de premier type, évitant par là même de bloquer ledit au moins un port de second
type et de congestionner l'unité de commutation.
L'accès au réseau s'en trouve donc amélioré.
Il convient de noter que le deuxième port de premier type peut
être le même que le premier port de premier type.
Selon une caractéristique particulière, I'unité de commutation
comporte des moyens de sélection des ports intermédiaires.
Plus particulièrement, ces moyens de sélection prennent en compte l'occupation des moyens de stockage associés auxdits ports intermédiaires. Ainsi, dès qu'un moyen de stockage est libre il peut être sélectionné et utilisé pour y stocker au moins partiellement un paquet de données. Selon une autre caractéristique particulière, les moyens de sélection prennent également en compte un niveau de priorité attribué aux
ports intermédiaires.
Ainsi, les paquets de données prioritaires seront affectés à un port
intermédiaire réservé pour ce type de paquets de données.
Selon une caractéristique particulière, le nombre n est choisi de telle façon que ledit au moins un port de second type est associé à au moins
deux ports intermédiaires.
Selon une autre caractéristique particulière, chacun desdits au moins deux ports intermédiaires associés à un port de second type porte la
même adresse que ledit port de second type.
Ainsi, le nombre de bits nécessaire pour coder l'adresse dudit au moins un port interne est réduit. En outre, I'unité de commutation n'a pas besoin de comparer des
adresses de ports internes entre eux si celle-ci ne comporte qu'un port interne.
Dans le cas o l'unité de commutation comporte plusieurs ports de second type, le fait d'avoir au moins deux ports intermédiaires par port de second type permet malgré tout de simplifier la structure de ladite unité de
commutation puisque deux ports intermédiaires portent la même adresse.
Selon une caractéristique, le nombre n est supérieur ou égal au nombre k pour pouvoir au moins stocker un paquet venant de chaque port de
premier type et qui est destiné audit au moins un port de second type.
Selon une caractéristique, le nombre n est égal au nombre k.
Dans un tel cas de figure on associe un port de premier type à un port intermédiaire de façon à ce que les données arrivant sur le port de premier
type soient transférées vers le port intermédiaire et inversement.
De cette façon, il n'est plus nécessaire de sélectionner les ports
intermédiaires.
Selon une caractéristique, un paquet de données comportant notamment des données identifiant un port de ladite unité de commutation auquel ledit paquet est destiné, ladite unité de commutation comporte des moyens de lecture des données identifiant ledit port destinataire dans ledit
paquet de données.
Par ailleurs, I'unité de commutation comporte des moyens de traitement des données identifiant ledit port destinataire dans ledit paquet de
données et qui interviennent après les moyens de lecture desdites données.
Plus particulièrement, les moyens de traitement sont adaptés à modifier les données identifiant le port destinataire dans ledit paquet de
données en fonction de la nature dudit port destinataire.
Selon une caractéristique, chaque port de premier type comporte des moyens de réception d'un paquet de données qui a été transmis par la
liaison point à point associée audit port de premier type.
Selon une autre caractéristique, chaque port intermédiaire comporte des moyens de réception d'un paquet de données provenant dudit au
moins un port de second type.
Selon une caractéristique, les moyens de réception de chaque port de premier type et/ou de chaque port intermédiaire comportent les moyens de lecture des données identifiant ledit port destinataire dans ledit paquet de
données.
Selon une autre caractéristique, les moyens de réception de chaque port de premier type et/ou de chaque port intermédiaire comportent les moyens de traitement des données identifiant ledit port destinataire dans ledit
paquet de données.
Selon une autre caractéristique, chaque port intermédiaire comporte des moyens de réception d'un paquet de données provenant d'un
port de premier type.
Ces moyens de réception sont, par exemple, différents des moyens de réception d'un paquet de données provenant dudit au moins un port
de second type.
Selon une caractéristique, chaque port de premier type comporte des moyens d'émission d'un paquet de données sur la liaison point à point
associée audit port de premier type.
Selon une autre caractéristique, chaque port intermédiaire comporte des moyens d'émission d'un paquet de données à destination d'un
port de premier type.
Selon une caractéristique, les moyens d'émission de chaque port de premier type et/ou de chaque port intermédiaire comportent au moins un
marqueur d'occupation du port concerné.
Selon une caractéristique, chaque port intermédiaire comporte des moyens d'émission d'un paquet de données à destination dudit au moins
un port de second type.
Ces moyens d'émission sont, par exemple, différents des moyens d'émission d'un paquet de données à destination d'un port de premier type. Selon une autre caractéristique, les moyens de réception de
chaque port intermédiaire comportent au moins un moyen de stockage.
Selon encore une autre caractéristique, les moyens d'émission de
chaque port intermédiaire comportent au moins un moyen de stockage.
Selon une caractéristique, ledit au moins un port de second type comporte au moins un bus de communication de données parallèle et bidirectionnel ce qui permet avantageusement une connexion à un processeur
en évitant une conversion série/parallèle.
Selon une caractéristique, les moyens de transfert entre les k ports de premier type et les n ports intermédiaires et ledit au moins un moyen
de stockage associé à chacun d'eux présentent une architecture de type bus.
Une telle architecture présente l'avantage d'utiliser peu de portes logiques. Selon une caractéristique, les moyens de transfert entre les k ports de premier type et les n ports intermédiaires et ledit au moins un moyen
de stockage associé à chacun d'eux présentent une architecture de type multi-
bus. Une telle architecture présente une grande efficacité puisqu'elle
permet de transférer plusieurs paquets de données à un même instant t.
Selon une caractéristique, au moins un moyen de stockage est associé à chacun des ports de premier type ce qui permet d'y stocker un paquet de données pendant que l'unité de commutation lit les données
identifiant le port de celle-ci auquel est destiné ledit paquet de données.
Selon une caractéristique, les ports de premier type sont reliés à un adaptateur de réseau ce qui permet de se connecter facilement au réseau physique. Selon une caractéristique, les ports de premier et de second type fonctionnent en mode bidirectionnel duplex, c'est-à-dire qu'ils permettent
l'échange de paquets de données simultanément dans les deux sens.
Corrélativement, I'invention vise 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 et qui comporte 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 sur un port, - transfert dudit paquet de données vers au moins un port dit destinataire, caractérisé en ce que parmi les ports d'entrée-sortie, un nombre k de ports 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 des étapes de: - sélection d'un port dit intermédiaire parmi un nombre n de ports intermédiaires qui sont disposés entre les ports de premier et de second types et qui ont au moins un moyen de stockage associé à chacun d'eux, - transfert dudit paquet de données par ledit port intermédiaire sélectionné et son moyen de stockage associé vers ledit au moins un port
destinataire.
Il convient de noter que la commutation de paquets de données faisant intervenir un port intermédiaire a lieu entre un port de premier type et ledit au moins un port de second type ou dudit au moins un port de second type
vers lui-même.
Selon une caractéristique particulière, lorsque le port de second type reçoit un paquet de données, l'étape de transfert dudit paquet de données vers le port destinataire par le port intermédiaire sélectionné et son moyen de stockage associé comporte les étapes suivantes: - transfert dudit paquet de données vers ledit moyen de stockage associé audit port intermédiaire sélectionné, - stockage d'au moins une partie dudit paquet de données dans ledit moyen de stockage associé audit port intermédiaire sélectionné,
- transfert du paquet de données vers le port destinataire.
Selon une autre caractéristique particulière, lorsque le port de premier type reçoit un paquet de données, l'étape de transfert dudit paquet de données vers le port de second type par le port intermédiaire sélectionné et son moyen de stockage associé comporte les étapes suivantes: transfert dudit paquet de données du port de premier type vers ledit port intermédiaire sélectionné, - stockage d'au moins une partie dudit paquet de données dans ledit moyen de stockage associé audit port intermédiaire sélectionné, - transfert du paquet de données vers le port de second type
desdites données en fonction de la nature dudit port destinataire.
Selon une caractéristique, un paquet de données comportant notamment des données identifiant un port de ladite unité de commutation auquel ledit paquet est destiné, ledit procédé comporte, préalablement à l'étape de sélection, une étape de lecture des données identifiant ledit port destinataire
dans ledit paquet de données.
Selon une autre caractéristique, le procédé comporte une étape de traitement des données identifiant ledit port destinataire dans ledit paquet de
données, consécutivement à l'étape de lecture desdites données.
Plus particulièrement, l'étape de traitement des données dépend
du type du port destinataire.
Ainsi, lorsque le paquet de données réceptionné par un port de premier type est destiné à un port de second type, alors l'étape de traitement
des données comporte une étape de suppression desdites données.
Cette caractéristique est particulièrement avantageuse dans la mesure o ces données d'identification ne sont plus utiles pour le traitement ultérieur du paquet de données dans le noeud de communication auquel est associée l'unité de commutation, ce qui simplifie par là même ce traitement ultérieur. Par contre, lorsque le paquet de données réceptionné par un port de second type est destiné à un port de premier type, alors l'étape de traitement des données d'identification comporte une étape de modification desdites données d'identification. Ceci permet que les données ainsi modifiées soient ensuite comprises par une ou plusieurs autres unités de commutation
auxquelles le paquet est destiné.
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, 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 est réduite.
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. Il convient de noter que le cas exposé ci-dessus o chaque port intermédiaire est associé de manière prédéterminée à un port de premier type et o un paquet de données reçu par ledit au moins port de second type est
transféré vers un port de premier type est particulièrement avantageux.
En effet, dans ce cas, il n'est ni nécessaire d'effectuer une étape de lecture des données identifiant le port destinataire dans le paquet de données, ni nécessaire d'effectuer une étape de traitement de celles-ci, étant donné que ledit paquet de données réceptionné sur ledit au moins un port de second type est transféré vers le port intermédiaire sélectionné en fonction de son association
déterminée au préalable avec un port de premier type.
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. 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, I'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 1 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ée-sortie 122 pour différents cas de figure; - La figure 9e représente la table d'entrée-sortie lors de l'initialisation dans le cas o n = k; - 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 Clk, 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 variante de réalisation des moyens de réception d'un port intermédiaire; - La figure 22 représente un algorithme mis en oeuvre par les moyens 132 représentés à la figure 21; - La figure 23 représente un deuxième mode de réalisation de l'unité de commutation selon l'invention La figure 24 illustre le mécanisme utilisé pour programmer l'unité
de commutation 26.
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 oeuvre 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 C112.
Sur cette figure les liaisons 22 sont représentées par deux bus: I'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, I'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, l'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, I'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 de réception et 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 d'un paquet de données de données transmis par la liaison point à
point 22 sont respectivement référencés 41, 51, 61.
Les moyens de réception et 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
40 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 l'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, l'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,
, 60, 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 I'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 Br(3:1) indique les numéros des ports de premier type vers lesquels le paquet de données de diffusion provenant de l'intérieur du noeud est destiné. Ce signal, actif à l'état bas, indique à l'unité de commutation
26 vers quel port de premier type les paquets de diffusion doivent être envoyés.
Par exemple, lorsque le signal Br(3:1) est égal à "010" alors les paquets de
diffusion seront envoyés vers les ports 40 et 60 de l'unité de commutation.
- 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 I'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.
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 Sl 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, I'é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.
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, la pré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 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 est suivie d'une étape S6 au cours de laquelle le nouvel entê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 oeuvre dans le module de gestion des commutations 120 représenté sur les
figures 3 et8.
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 a 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 G10 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'1 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 IntFull 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 (figure 4).
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 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 à 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 l'é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, l'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, I'é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.
La figure 21 représente une variante de réalisation des moyens
de réception et d'émission 71 du port intermédiaire 70 représenté à la figure 6.
Cette variante s'applique au cas de figure suivant lequel l'unité de commutation comporte le même nombre de ports intermédiaires que de ports de premier type. Cette variante de l'unité de commutation 26 n'est pas représentée sur les figures mais correspond au cas o les ports intermédiaires sont uniquement les ports 70, 80 et 90, le port intermédiaire 100 étant supprimé. On s'intéresse dans un premier temps à la commutation d'un paquet de données du port de second type C vers un port de premier type 40,
ou 60.
Ainsi, lorsque le nombre n de ports intermédiaires est égal au nombre k de ports de premier type et qu'il est prévu que chaque port intermédiaire est associé à un port de premier type de façon prédéterminée, alors l'unité de contrôle logique 30, connaissant cette association, sélectionne le port intermédiaire correspondant au port de premier type auquel ledit paquet est destiné et transfère le paquet de données directement vers ledit port
intermédiaire sélectionné.
Bien entendu, comme cela a été précédemment décrit en référence à la figure 6, I'unité de contrôle logique vérifie que les moyens de stockage du port intermédiaire concerné sont vides en analysant d'éventuels
signaux AlmostFull(1) et Full(1).
En raison de cette association, l'en-tête du paquet de données qui va être transféré dans l'unité de commutation 26 ne prévoit pas de codage du
numéro du port de premier type auquel il est destiné.
Ceci représente un gain de temps de traitement dans l'unité de
commutation et une simplification de la logique de l'unité de commutation.
Il est également possible, au lieu de réduire la taille des données d'identification du paquet de données à commuter, d'ajouter dans lesdites données l'adresse d'un port destinataire d'une unité de commutation
additionnelle.
Sur la figure 21, les éléments qui n'ont pas été modifiés par
rapport à ceux de la figure 6 ont été repris et conservent les mêmes références.
La figure 22 représente l'algorithme mis en oeuvre dans les moyens de réception et d'émission de la figure 21 et illustre les cas de transfert du port de second type soit vers un port de premier type, soit le port de second type lui-même (test). Les étapes identiques à celles de l'algorithme de la figure
12 conservent les mêmes références.
Lorsque le moyen de stockage 72 des moyens de réception et d'émission 130 de la variante du port intermédiaire 70 est disponible, alors les données sont transférées par l'unité de contrôle logique 30 dans ledit moyen de stockage. Sur la figure 21, des moyens référencés 132 remplacent les moyens de lecture 73 et de traitement de l'en-tête d'un paquet de données de
la figure 6. L'algorithme de la figure 22 est mis en oeuvre par les moyens 132.
Ces moyens 132 déterminent après réception du paquet de données (étape SI) si le moyen de stockage 72 est vide ou si une fin de
paquet se présente (étape S2).
L'étape S2 est suivie de l'étape de lecture du premier mot de l'en-
tête (étape S3) qui se déroule de la manière indiquée plus haut en référence à la figure 6. Une étape S4 de détermination du type de port auquel le paquet est
destiné est ensuite effectuée.
La détermination du type de port est réalisée en examinant si l'en-
tête présente ou ne présente pas uniquement des zéros.
Si l'en-tête ne comporte pas uniquement des zéros, alors le port de destination est du premier type et les moyens 132 savent que le paquet est destiné au port intermédiaire 70 qui est associé, par exemple, au port de
premier type 40.
Conformément à l'étape S6, les moyens 132 écrivent l'en-tête du
paquet dans la file d'attente 74.
Si, par contre, l'en-tête ne comporte que des zéros, cela signifie
que le paquet de données est destiné au port de second type C (étape S9).
L'étape S9 est suivie de l'étape S10 au cours de laquelle l'en-tête
est supprimé.
Les moyens 132 émettent ensuite une demande de transfert de bus en activant le signal Busreq(1) et en donnant au signal Portno le numéro du port de premier type auquel est associé le port intermédiaire considéré
(étape S7).
Les procédures d'analyse de la demande de transfert sur le bus de communication A et du transfert du paquet de données sont traitées de la manière indiquée par l'algorithme de la figure 16 qui a déjà été décrit en
référence aux figures précédentes.
Cette variante est particulièrement avantageuse dans la mesure o elle ne nécessite pas d'effectuer le traitement de l'en-tête du paquet de données, puisque le port de premier type auquel le paquet est destiné n'est pas codé dans les données d'identification dudit paquet, ainsi que cela a été
mentionné précédemment.
Cette simplification permet en effet de transférer systématiquement les données présentes dans le moyen de stockage 72 du port intermédiaire considéré vers le port de premier type associé à ce dernier. Le transfert du paquet de données du port intermédiaire dont les moyens de réception 130 sont représentés sur la figure 21 ne sera pas décrit
ici puisqu'il reprend exactement la description qui a déjà été faite en référence
aux figures précédentes.
Lorsque, toujours dans cette même variante, un paquet de données réceptionné sur l'un des ports de premier type 50, 60, 70 est destiné au port de second type C, le transfert s'effectue de manière analogue à ce qui a été décrit dans le cas de figure o l'on a plus de ports intermédiaires que de
ports de premier type.
Toutefois, lorsque des ports intermédiaires sont considérés comme libres, par suite de l'absence de signaux Busy et IntFull activés, alors le bloc 127 sélectionne dans la table d'entrée-sortie 122 le port intermédiaire qui
est associé au port de premier type considéré.
Si ce port intermédiaire est l'un de ceux qui est libre, alors le bloc
127 avertit le bloc 124 du numéro dudit port intermédiaire.
La table d'entrée-sortie 122 de la figure 8 est représentée sur la
figure 9e et correspond à la variante illustrée sur les figures 21 et 22.
Cette table montre à l'initialisation que l'association entre ports est prévue. Toutefois, celle-ci peut être modifiée à tout moment par le moyen
de traitement 34 et par l'unité logique de contrôle 30.
Selon une autre 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 encore une autre variante, non représentée sur les figures, des moyens de stockage supplémentaires associés aux ports de premier type , 50 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 23 illustre un deuxième mode de réalisation de l'unité de commutation selon l'invention qui remplace l'unité de commutation 26 de la
figure 3a.
Selon ce deuxième mode de réalisation, I'unité de commutation 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 23 sont également en communication avec le bus de communication B de la figure 3a. Par ailleurs, les ports intermédiaires de la figure 23 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 "cross-bar").
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 23 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 23.
Comme représenté sur la figure 23 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 I'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.
La figure 24 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 24) 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'lnternet, 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 (55)

REVENDICATIONS
1. Unité de commutation de paquets de données (26; 140) associée à un noeud (20) de communication d'un réseau (10), ladite unité de commutation comportant plusieurs ports d'entrée-sortie (40, 50, 60; 142, 144, 146), caractérisée en ce que ladite unité de commutation comporte: - parmi lesdits ports d'entrée-sortie, un nombre k de ports dits d'un premier type (40, 50, 60; 142, 144, 146) et au moins un port dit d'un second type (C) 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, - un nombre n de ports dits intermédiaires (70, 80, 90, 100; 148, , 152, 154) disposés entre les ports de premier et de second types, -au moins un moyen de stockage (72, 77) associé à chacun desdits n ports intermédiaires, - des moyens de transfert (A, C; D, E, F, G, H, J, K) d'un paquet de données entre au moins l'un des ports de premier et de second types dit port d'entrée et au moins l'un des ports de premier et de second types auquel ledit paquet est destiné et dit port destinataire, lesdits moyens de transfert faisant intervenir au moins l'un des n ports intermédiaires et ledit au moins un
moyen de stockage associé.
2. Unité de commutation selon la revendication 1, caractérisée en ce qu'elle comporte des moyens de sélection (120, 124; 30) des ports intermédiaires. 3. Unité de commutation selon la revendication 2, caractérisé en ce que les moyens de sélection (120, 124; 30) prennent en compte l'occupation des moyens de stockage (72, 77) associés auxdits ports intermédiaires. 4. Unité de commutation selon la revendication 2, caractérisée en ce que les moyens de sélection (120, 124; 30) prennent également en compte
un niveau de priorité attribué aux ports intermédiaires.
5. Unité de commutation selon l'une des revendications 1 à 4,
caractérisée en ce que ledit nombre n est choisi de telle façon que ledit au moins un port physique de second type (C) est associé à au moins deux ports
intermédiaires (70, 80, 90, 100; 148, 150, 152, 154).
6. Unité de commutation selon la revendication 5, caractérisée en ce que chacun desdits au moins deux ports intermédiaires associés à un port
de second type porte la même adresse que ledit port de second type.
7. Unité de commutation selon l'une des revendications 1 à 6,
caractérisée en ce que le nombre n est supérieur ou égal au nombre k.
8. Unité de commutation selon la revendication 7, caractérisée en
ce que le nombre n est égal au nombre k.
9. Unité de commutation selon l'une des revendications 1 à 8,
caractérisée en ce que, un paquet de données comportant notamment des données identifiant un port de ladite unité de commutation auquel ledit paquet est destiné, ladite unité de commutation comporte des moyens de lecture (42,
73) des données identifiant ledit port destinataire dans ledit paquet de données.
10. Unité de commutation selon la revendication 9, caractérisée en ce qu'elle comporte des moyens de traitement (42, 73) des données
identifiant ledit port destinataire dans ledit paquet de données.
11. Unité de commutation selon la revendication 10, caractérisée en ce que les moyens de traitement (42, 73) sont adaptés à modifier les données identifiant le port destinataire dans ledit paquet de données en
fonction de la nature dudit port destinataire.
12. Unité de commutation selon l'une des revendications 1 à 11,
caractérisée en ce que chaque port de premier type (40, 50, 60) comporte des moyens de réception (41, 51, 61) d'un paquet de données qui a été transmis
par la liaison point à point (22) associée audit port de premier type.
13. Unité de commutation selon les revendications 9 et 12,
caractérisée en ce que les moyens de réception (41) comportent les moyens de lecture (42) des données identifiant ledit port destinataire dans ledit paquet de données.
14. Unité de commutation selon les revendications 10 et 12,
caractérisée en ce que les moyens de réception (41) comportent les moyens de traitement (42) des données identifiant ledit port destinataire dans ledit paquet
de données.
15. Unité de commutation selon l'une des revendications 1 à 14,
caractérisée en ce que chaque port de premier type (40, 50, 60) comporte des moyens d'émission (45, 55, 65) d'un paquet de données sur la liaison point à
point (22) associée audit port de premier type.
16. Unité de commutation selon la revendication 15, caractérisée en ce que les moyens d'émission (45) comportent au moins un marqueur
d'occupation (46) du port de premier type concerné.
17. Unité de commutation selon l'une des revendications 1 à 16,
caractérisée en ce que chaque port intermédiaire (70, 80, 90, 100) comporte des moyens de réception (71, 81, 91, 101) d'un paquet de données provenant
dudit au moins un port de second type (C).
18. Unité de commutation selon l'une des revendications 1 à 17,
caractérisée en ce que chaque port intermédiaire (70, 80, 90, 100) comporte des moyens de réception (76, 86, 96, 106) d'un paquet de données provenant
d'un port de premier type.
19. Unité de commutation selon les revendications 9 et 17,
caractérisée en ce que les moyens de réception (71) comportent les moyens de lecture (73) des données identifiant ledit port destinataire dans ledit paquet de données.
20. Unité de commutation selon les revendications 10 et 17,
caractérisée en ce que les moyens de réception (71) comportent les moyens de traitement (73) des données identifiant ledit port destinataire dans ledit paquet
de données.
21. Unité de commutation selon l'une des revendications 17 à 20,
caractérisée en ce que les moyens de réception (71) comportent au moins un
moyen de stockage (72).
22. Unité de commutation selon l'une des revendications 1 à 21,
caractérisée en ce que chaque port intermédiaire (70, 80, 90, 100) comporte des moyens d'émission (76, 86, 96, 106) d'un paquet de données à destination
d'un port de premier type.
23. Unité de commutation selon l'une des revendications 1 à 22,
caractérisée en ce que chaque port intermédiaire (70, 80, 90, 100) comporte des moyens d'émission (76, 86, 96, 106) d'un paquet de données à destination d'un port de premier type 24. Unité de commutation selon la revendication 22, caractérisée en ce que les moyens d'émission (76) comportent au moins un moyen de
stockage (77).
25. Unité de commutation selon la revendication 22 ou 24, caractérisée en ce que les moyens d'émission (76) comportent au moins un
marqueur d'occupation (78) du port intermédiaire concerné.
26. Unité de commutation selon l'une des revendications 1 à 25,
caractérisée en ce que les moyens de transfert entre les k ports de premier type et les n ports intermédiaires et ledit au moins un moyen de stockage
associé à chacun d'eux présentent une architecture de type bus (A).
27. Unité de commutation l'une des revendications 1 à 26,
caractérisée en ce que les moyens de transfert entre les k ports de premier type et les n ports intermédiaires et ledit au moins un moyen de stockage associé à chacun d'eux présentent une architecture de type multi-bus (D, E, F,
G, H, J, K).
28. Unité de commutation selon l'une des revendications I à 27,
caractérisée en ce que chaque port de second type comporte au moins un bus
parallèle et bidirectionnel (C) de communication de données.
29. Unité de commutation l'une des revendications 1 à 28,
caractérisée en ce qu'au moins un moyen de stockage est associé à chacun
des ports de premier type.
30. Unité de commutation l'une des revendications 1 à 29,
caractérisée en ce que les ports de premier type (40, 50, 60) sont reliés à un
adaptateur de réseau (24).
31. Unité de commutation l'une des revendications 1 à 30,
caractérisée en ce que les ports de premier et de second types fonctionnent en
mode bidirectionnel duplex.
32. Unité de commutation selon l'une des revendications 1 à 31,
caractérisée en ce que les moyens de stockage (72, 77) sont du type "premier
entré, premier sorti".
33. Unité de commutation selon l'une des revendications 1 à 32,
caractérisée en ce que le réseau (10) est conforme à la norme IEEE 1355.
34. Procédé de commutation de paquets de données dans une unité de commutation (26; 140) associée à un noeud (20) de communication d'un réseau (10) et qui comporte plusieurs ports d'entrée-sortie pour les paquets de données, ledit procédé comportant des étapes de: - réception (SI) d'un paquet de données sur un port, -transfert dudit paquet de données vers au moins un port dit destinataire, caractérisé en ce que parmi les ports d'entrée-sortie, un nombre k de ports sont dits d'un premier type (40, 50, 60; 142, 144, 146) et au moins un port est dit d'un second type (C) 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: - sélection (G'1) d'un port dit intermédiaire parmi un nombre n de ports intermédiaires (70, 80, 90, 100; 148, 150, 152, 154) qui sont disposés entre les ports de premier (40, 50, 60; 142, 144, 146) et de second (C) types et qui ont au moins un moyen de stockage (72, 77) associé à chacun d'eux, -transfert dudit paquet de données par ledit port intermédiaire sélectionné et son moyen de stockage associé vers ledit au moins un port
destinataire.
35. Procédé selon la revendication 34, caractérisé en ce que ledit au moins un port de second type (C) comporte au moins un bus parallèle et
bidirectionnel de communication de données.
36. Procédé selon la revendication 34 ou 35, caractérisé en ce que ledit au moins un port de second type (C) est associé à au moins deux ports intermédiaires (70, 80, 90, 100; 148, 150, 152, 154) qui portent la même
adresse que celui-ci.
37. Procédé selon l'une des revendications 34 à 36, caractérisé
en ce que le nombre n de ports intermédiaires (70, 80, 90, 100; 148, 150, 152,
154) est égal au nombre k de ports de premier type.
38. Procédé selon l'une des revendications 34 à 37, caractérisé en
ce que, lorsque le port de second type (C) reçoit un paquet de données, l'étape de transfert dudit paquet de données vers le port destinataire (40) par le port intermédiaire sélectionné (70) et son moyen de stockage associé (72) comporte les étapes suivantes: -transfert dudit paquet de données vers ledit port intermédiaire sélectionné, -stockage d'au moins une partie dudit paquet de données dans ledit moyen de stockage associé audit port intermédiaire sélectionné,
- transfert du paquet de données vers le port destinataire.
39. Procédé selon l'une des revendications 34 à 37, caractérisé
en ce que, lorsque le port de premier type (40) reçoit un paquet de données, l'étape de transfert dudit paquet de données vers le port de second type (C) par le port intermédiaire sélectionné (70) et son moyen de stockage associé (72) comporte les étapes suivantes: - transfert dudit paquet de données du port de premier type vers ledit port intermédiaire sélectionné, - stockage d'au moins une partie dudit paquet de données dans ledit moyen de stockage associé audit port intermédiaire sélectionné,
- transfert du paquet de données vers le port de second type.
40. Procédé selon l'une des revendications 34 à 39, caractérisé en
ce que, un paquet de données comportant notamment des données identifiant un port de ladite unité de commutation auquel ledit paquet est destiné, ledit procédé comporte, préalablement à l'étape de sélection (G'1), une étape de lecture (S3) des données identifiant ledit port destinataire dans ledit paquet de données. 41. Procédé selon la revendication 40, caractérisé en ce qu'il comporte une étape de traitement (S5, S10) des données identifiant ledit port destinataire dans ledit paquet de données, consécutivement à l'étape de
lecture desdites données.
42. Procédé selon la revendication 41, caractérisée en ce que
l'étape de traitement des données dépend du type dudit port destinataire.
43. Procédé selon la revendication 42, caractérisé en ce que, lorsque le paquet de données réceptionné par un port de premier type est destiné à un port de second type, alors l'étape de traitement des données
comporte une étape de suppression (S10) desdites données.
44. Procédé selon la revendication 42, caractérisé en ce que, lorsque le paquet de données réceptionné par un port de second type est destiné à un port de premier type, alors l'étape de traitement des données
comporte une étape de modification (S5) desdites données.
45. Procédé selon l'une des revendications 34 à 44, caractérisé
en ce que l'étape de sélection (G'1) d'un port intermédiaire et de son moyen de stockage associé est effectuée en fonction de l'occupation des moyens de
stockage associés aux n ports intermédiaires.
46. Procédé selon l'une des revendications 34 à 45, caractérisé
en ce que l'étape de sélection (G'1) d'un port intermédiaire et de son moyen de stockage associé est effectuée en fonction de niveaux de priorités différentes
attribuées aux n ports intermédiaires.
47. Procédé selon les revendications 37 et 38, caractérisé en ce
que chaque port intermédiaire est associé de manière prédéterminée à un port
de premier type.
48. Appareil de traitement de données (20), caractérisé en ce qu'il
comporte une unité de commutation (26; 140) selon l'une des revendications 1 à
33. 49. Appareil de traitement de données selon la revendication 48, caractérisé en ce que ledit appareil (20) est une imprimante. 50. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est un serveur.
51. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est un ordinateur.
52. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est un télécopieur.
53. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est un scanner.
54. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est un magnétoscope.
55. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est un décodeur.
56. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est un téléviseur.
57. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est un caméscope.
58. Appareil de traitement de données selon la revendication 48,
caractérisé en ce que ledit appareil (20) est une caméra numérique.
59. Appareil de traitement de données selon la revendication 48, caractérisé en ce que ledit appareil (20) est un appareil photographique numérique. 60. Réseau de communication (10), caractérisé en ce qu'il comporte au moins une unité de commutation (26; 140) selon l'une des
revendications I à 33.
61. Réseau de communication (10), caractérisé en ce qu'il comporte au moins un appareil de traitement de données (20) selon l'une des
revendications 48 à 59.
FR9904417A 1999-04-08 1999-04-08 Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant Pending FR2792144A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR9904417A FR2792144A1 (fr) 1999-04-08 1999-04-08 Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant
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
FR9904417A FR2792144A1 (fr) 1999-04-08 1999-04-08 Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant

Publications (1)

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

Family

ID=9544189

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9904417A Pending FR2792144A1 (fr) 1999-04-08 1999-04-08 Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant

Country Status (1)

Country Link
FR (1) FR2792144A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998019421A1 (fr) * 1996-10-28 1998-05-07 Coreel Microsystems Architectures de commutation a mode de transfert asynchrone possedant des tampons de connexion
EP0884876A1 (fr) * 1997-05-31 1998-12-16 Texas Instruments Incorporated Commutation améliorée de paquets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998019421A1 (fr) * 1996-10-28 1998-05-07 Coreel Microsystems Architectures de commutation a mode de transfert asynchrone possedant des tampons de connexion
EP0884876A1 (fr) * 1997-05-31 1998-12-16 Texas Instruments Incorporated Commutation améliorée de paquets

Non-Patent Citations (4)

* 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, 1 October 1997 (1997-10-01), pages 355 - 361, XP000724566, ISSN: 1077-2014 *
CHOWDHURY S ET AL: "THRESHOLD-BASED LOAD BALANCING IN AN ATM SWITCH CONSISTING OF PARALLEL OUTPUT BUFFERED SWITCH ELEMENTS", PROCEEDINGS OF THE GLOBAL TELECOMMUNICATIONS CONFERENCE (GLOBECOM),US,NEW YORK, IEEE, 1994, pages 463 - 469, XP000488593, ISBN: 0-7803-1821-8 *
HIROSHI SUZUKI ET AL: "OUTPUT-BUFFER SWITCH ARCHITECTURE FOR ASYNCHRONOUS TRANSFER MODE", INTERNATIONAL CONFERENCE ON COMMUNICATIONS,US,NEW YORK, IEEE, vol. -, 1989, pages 99 - 103, XP000075446 *
WAADELAND T ET AL: "Avoiding head-of-line blocking in wormhole routed networks by central buffering", MICROPROCESSORS AND MICROSYSTEMS,GB,IPC BUSINESS PRESS LTD. LONDON, vol. 21, no. 7-8, 30 March 1998 (1998-03-30), pages 455 - 462, XP004123978, ISSN: 0141-9331 *

Similar Documents

Publication Publication Date Title
EP0003493B2 (fr) Système de transmission de données entre des stations connectées en boucle
EP0524070B1 (fr) Dispositif universel de couplage d'un bus d'ordinateur à un contrôleur d'un groupe de périphériques
EP0349371A1 (fr) Système informatique à interconnexion centrale
FR2883117A1 (fr) Architecture de noeud de communication dans un systeme de reseau sur puce globalement asynchrone.
FR2773935A1 (fr) Procedes de communication entre systemes informatiques et dispositifs les mettant en oeuvre
EP0493215B1 (fr) Architecture informatique distribuée utilisant un réseau local de type CSMA/CD
FR2820921A1 (fr) Dispositif et procede de transmission dans un commutateur
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
FR2865334A1 (fr) Procede et systeme de transmission de messages dans un reseau 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
FR2848756A1 (fr) Reseau ethernet
EP0410860B1 (fr) Dispositif passerelle de connexion d'un bus d'ordinateur à un réseau fibre optique en forme d'anneau
FR2792144A1 (fr) Unite et procede de commutation de paquets de donnees, appareil de traitement de donnees comprenant une telle unite et reseau les comprenant
FR2790892A1 (fr) Procede et dispositif de controle de la synchronisation entre deux bus de communication serie d'un reseau
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.
WO2001022684A1 (fr) Procede et systeme de transmission d'une chaine de messages pour base de donnees
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
FR2838898A1 (fr) Dispositif d'aiguillage a commutation et routage centralises
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é
EP1044541B1 (fr) Routeur pour acheminer des paquets de donnees
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