FR2724277A1 - Dispositif de mise en forme de trafic et appareil de communication par paquets. - Google Patents

Dispositif de mise en forme de trafic et appareil de communication par paquets. Download PDF

Info

Publication number
FR2724277A1
FR2724277A1 FR9510258A FR9510258A FR2724277A1 FR 2724277 A1 FR2724277 A1 FR 2724277A1 FR 9510258 A FR9510258 A FR 9510258A FR 9510258 A FR9510258 A FR 9510258A FR 2724277 A1 FR2724277 A1 FR 2724277A1
Authority
FR
France
Prior art keywords
packets
memory
output
elements
pointer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9510258A
Other languages
English (en)
Other versions
FR2724277B1 (fr
Inventor
Fumitoshi Masaki
Kiyoshi Shimokoshi
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Publication of FR2724277A1 publication Critical patent/FR2724277A1/fr
Application granted granted Critical
Publication of FR2724277B1 publication Critical patent/FR2724277B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/21Flow control; Congestion control using leaky-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations

Landscapes

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

Abstract

Un dispositif (100) de mise en forme de trafic faisant partie d'un appareil de communication par paquets reçoit des paquets et calcule immédiatement un temps de départ pour chaque paquet reçu en utilisant des paramètres d'allocation de largeur de bande désignés. Les paquets sont stockés dans une mémoire (105) de paquets en fonction de leurs temps de départ calculés. Lorsque chaque temps de départ est atteint, les paquets qui ont été stockés pour ce temps de départ sont transférés vers une file d'attente de sortie. Les paquets sont extraits en ordre séquentiel de la file d'attente de sortie.

Description

La présente invention concerne un dispositif de mise en forme de trafic
qui commande le taux d'utilisation de la largeur de bande dans un système de communication par paquets, et un appareil de communication par paquets utilisant ce dispositif de mise en forme de trafic, notamment dans le cas de réseaux de transmission par paquets utilisant comme protocole le mode de transfert asynchrone
(ATM).
Un réseau ATM transporte des informations dans des
paquets de longueur fixe désignés sous le nom de cellules.
Le transport s'effectue par multiplexage temporel, la cellule étant l'unité de base du multiplexage. Comme le montre la figure 1, une cellule est constituée d'un en-tête 2 et d'un champ 4 de charge utile. Le transfert de chaque cellule est commandé par son en-tête qui indique le type de cellule et la destination vers laquelle la cellule doit être acheminée. Le champ 4 de charge utile contient l'information
de charge utile de la cellule.
Le multiplexage est asynchrone en ce sens qu'on n'effectue pas d'affectations de tranches de temps fixes sur les lignes de transmission du réseau. Une cellule quelconque peut être placée dans une tranche de temps disponible quelconque. Si nécessaire, des cellules libres (vides) sont transmises pour remplir les tranches de temps inutilisées, de façon que chaque ligne de transmission transmette un flux de cellules constant. Les cellules libres sont identifiées en tant que telles dans leurs en-têtes. Les en-têtes de cellules non libres contiennent une information d'acheminement constituée d'un identificateur de trajet virtuel (ITV) et d'un identificateur de canal virtuel (ICV),
ou d'un identificateur de ligne (Nc).
Le flux de cellules sur chaque ligne de transmission d'un réseau peut comporter divers types de trafics de cellules, ayant des débits de données différents dont certains peuvent fluctuer. Le trafic est commandé selon des contrats qui sont négociés lorsque les connexions sont établies. Ces contrats de trafic allouent une certaine largeur de bande du réseau en spécifiant les débits auxquels les cellules peuvent être envoyées, et peuvent spécifier d'autres informations telles que la priorité. Chaque noeud du réseau doit mettre en forme son trafic de cellules sortantes de façon à respecter ces allocations de largeur de bande. La partie de l'appareil de noeud qui remplit cette fonction est désignée sous le nom de dispositif de mise en forme de trafic. Le but de la mise en forme du trafic est d'empêcher la dégradation de la qualité des communications du fait d'une congestion se produisant dans les noeuds
récepteurs.
Deux autres fonctions d'un noeud du réseau ATM, qui sont remplies notamment dans des noeuds dans lesquels un trafic de cellules sort du réseau, sont de répartir le flux de cellules multiplexées sur une ligne de transmission d'un réseau vers plusieurs lignes sortantes, et de convertir les cellules réparties sur chacune de ces lignes au format exigé pour une transmission sur cette ligne. Cette dernière
fonction est désignée sous le nom de verrouillage de trame.
La partie de l'appareil de communication qui remplit les fonctions de répartition et de verrouillage de trame dans un noeud de réseau est désignée sous le nom de répartiteur de ligne. La figure 2 illustre les rôles du dispositif de mise en forme de trafic et du répartiteur de ligne dans un réseau 25 de communication ATM, dans lequel des données sont envoyées d'un terminal 30 émetteur vers un terminal 31 récepteur. Le réseau 25 comporte un premier appareil 32 de communication ATM (tel qu'un commutateur ATM) auquel est connecté le terminal 30 d'émission, un second appareil 33 de communication ATM (tel qu'un autre commutateur ATM) auquel est connecté le terminal 31 de réception, et un troisième appareil 34 de communication ATM (tel qu'un autre commutateur ATM, ou qu'un appareil d'interconnexion) relié entre les premier et second appareils 32 et 33. Les premier et second appareils 32 et 33 sont également connectés à d'autres terminaux 35 et 36. Les dispositifs (S) de mise en forme de trafic présents dans les trois appareils 32, 33 et 34 commandent le débit et le cadencement avec lequel des cellules émanant du terminal 31 d'émission peuvent partir de ces appareils 32, 33 et 34. Le répartiteur (D) de ligne du second appareil 33 répartit et verrouille les trames des
cellules sortantes.
Une connexion virtuelle existe entre le terminal 30 d'émission et le terminal 31 de réception de la figure 2, en ce sens qu'un trajet et un canal virtuels particuliers sont affectés à cette connexion dans chaque appareil 32, 33 et 34 de communication ATM. Le multiplexage permet à chaque appareil de desservir simultanément un grand nombre de
connexions.
La figure 3 est un schéma fonctionnel d'un dispositif 400 classique de mise en forme de trafic, comprenant une unité 401 de sélection de cellule, une unité 402 d'extraction d'en-tête, un contrôleur 403 d'écriture, une table 404 de programmation, un contrôleur 405 de lecture, et un banc 410 de tampons de cellules. Le banc 410 de tampons de cellules comporte un ensemble de tampons de cellules 411, 412,... 41n, dont chacun fonctionne en tant que mémoire tampon du type premier entré - premier sorti (FIFO). Un tampon différent est utilisé pour chaque connexion. Ces
composants sont reliés par des lignes de signaux 450,....
47n, comme indiqué dans le dessin.
Des cellules 490 d'entrée arrivant sur la ligne 450 de signal sont envoyées vers l'unité 401 de sélection de cellule, qui décide d'après l'en-tête de chaque cellule si la cellule est vide ou non. Les cellules non vides sont transmises vers l'unité 402 d'extraction d'en-tête sur la ligne 451 de signal. L'unité 402 d'extraction d'en-tête extrait l'en- tête de cellule, lit les identificateurs de trajet et de canal virtuels (ITV/ICV), et transmet ces identificateurs au contrôleur 403 d'écriture sur la ligne 452 de signal. D'après l'information ITV/ICV, le contrôleur 403 d'écriture identifie la connexion à laquelle appartient la cellule, sélectionne le tampon de cellule FIFO affecté à cette connexion, et envoie un ordre d'écriture par l'intermédiaire de celle qui lui correspond des lignes de signaux 461,... , 46 n, ce qui provoque le stockage de la
cellule dans le tampon de cellule FIFO correspondant.
La table 404 de programmation contient des informations indiquant le débit auquel les cellules peuvent
être lues dans chacun des tampons de cellules FIFO 411,....
41n. Ce débit est choisi de façon à satisfaire aux conditions du contrat de trafic pour la connexion correspondante, et correspond à la largeur de bande allouée à cette connexion. Le contrôleur 405 de lecture programme la sortie des cellules en fonction de ces informations, qu'il reçoit par l'intermédiaire de la ligne 453, et envoie des ordres de lecture aux tampons de cellules FIFO 411,..., 41n par l'intermédiaire des lignes de signaux 471,... 47n aux débits appropriés, en sélectionnant un tampon de cellule à la fois. Le tampon sélectionné place une cellule 491 de sortie sur la ligne 454 de signal. Si le tampon sélectionné
est vide, une cellule vide est produite en sortie.
La longueur binaire des identificateurs de trajet et de canal virtuels (vingt-quatre ou vingt-huit bits) permet l'existence simultanée de millions de connexions différentes sur un noeud donné. Cependant, lorsque le nombre de connexions atteint une valeur aussi élevée, le procédé de mise en forme de trafic utilisé dans ce dispositif 400 classique de mise en forme de trafic se heurte à certains problèmes. L'un de ces problèmes est qu'un volume de mémoire tampon très important est nécessaire pour réaliser un tampon de cellule distinct pour chaque connexion. Dans la pratique, le nombre de connexions pouvant être gérées par un dispositif de mise en forme de trafic de ce type tend à être
très inférieur au maximum théorique.
On peut tenter de résoudre ce problème en faisant en sorte que différentes connexions se partagent un même tampon, mais cette solution n'est pas tout à fait satisfaisante car elle ne permet pas d'assurer une gestion du trafic pour des connexions individuelles. Un tampon partagé peut également être saturé par des salves simultanées d'activité sur plusieurs connexions. Si le tampon est réalisé de façon à être suffisamment grand pour éviter ce problème, cela peut conduire à une mauvaise utilisation de la mémoire tampon en raison du fait qu'une grande partie de l'espace mémoire restera généralement inutilisée. Un autre problème posé par le dispositif 400 classique de mise en forme de trafic est qu'il tend à ne pas utiliser au mieux les ressources en largeur de bande du réseau en transmettant des cellules vides inutiles. Cela se produit chaque fois que le tampon programmé pour une lecture de cellule est vide, ce qui contraint l'émission en sortie d'une cellule vide, malgré le fait que des cellules sont en attente de sortie dans d'autres tampons. Ce problème est d'autant plus grave que le nombre de connexions est grand, car les tampons qui contiennent les cellules devant être réellement émises en sortie sont programmés pour la sortie
pendant une proportion décroissante du temps.
Quel que soit le nombre de connexions, le problème de sous-utilisation des ressources de largeur de bande est d'autant plus gênant que certaines connexions se voient affecter une priorité plus élevée que d'autres pour faire en sorte que leurs cellules soient émises en sortie avec un retard minimum. Pour tenir compte des irrégularités des temps d'arrivée des cellules, on doit affecter à ces connexions une largeur de bande supplémentaire pour programmer la sortie de leurs tampons avec un débit plus
élevé que le débit réel indiqué dans le contrat de trafic.
Cela permet cependant de faire en sorte que les tampons soient souvent vides lorsqu'ils sont lus, ce qui contraint la sortie de cellules vides. Le fait d'affecter une largeur de bande supplémentaire à des connexions à haute priorité réduit également le nombre de connexions pouvant être gérées, ce qui contraint à réduire le nombre de services
pouvant être fournis.
Un problème supplémentaire posé par le dispositif 400 de mise en forme de trafic classique est qu'il conduit à des retards irréguliers des cellules en raison du fait que l'ordre de sortie des cellules est déterminé par l'ordre dans lequel les tampons sont programmés, et non pas par l'ordre dans lequel les cellules arrivent. Toutes autres conditions égales par ailleurs, une éventuelle cellule arrivant immédiatement après l'instant programmé pour la sortie de son tampon devra attendre plus longtemps qu'une cellule arrivée immédiatement avant le temps de sortie programme. Un autre problème est lié aux répartiteurs de lignes appartenant à des noeuds situés sur le bord du réseau. Le flux de cellules reçu du dispositif de mise en forme de trafic en l'un de ces noeuds n'est pas adapté aux besoins du répartiteur de ligne, de sorte que pour répartir et verrouiller les trames du flux de cellules, le répartiteur de ligne exige un tampon de grande dimension dans lequel il peut stocker momentanément des cellules. Il est peu efficace d'utiliser de grands tampons tant dans le dispositif de mise en forme de trafic que dans le répartiteur de ligne. Il serait en effet souhaitable de réduire l'espace total exigé
pour le tampon.
Ces problèmes ont été décrits à propos d'un réseau ATM, mais des problèmes de mise en forme de trafic du même type se posent dans d'autres systèmes de transmission par paquets. En effet, un espace mémoire trop important est nécessaire pour la mise en mémoire tampon des paquets; il est en outre difficile de gérer un très grand nombre de connexions simultanément; et, quel que soit le nombre de connexions, les ressources de largeur de bande du réseau ne
sont pas utilisées efficacement.
La présente invention a donc pour but de réduire la quantité de mémoire nécessaire pour la mise en forme du
trafic dans un réseau à paquets.
Un autre but de l'invention est de permettre à un noeud du réseau de gérer simultanément un grand nombre de
connexions.
Un autre but de l'invention est d'utiliser efficacement la mémoire dans le dispositif de mise en forme
du trafic.
Un autre but de l'invention est d'utiliser efficacement les ressources de largeur de bande du réseau,
en évitant la transmission inutile de cellules vides.
Un autre but de l'invention est d'accorder une priorité de retard sans sous-utiliser la largeur de bande disponible. Un autre but de l'invention est de réduire la quantité de mémoire tampon et d'autres matériels nécessaires pour la
répartition des lignes.
Le dispositif de mise en forme de trafic de l'invention reçoit des paquets et calcule immédiatement un temps de départ pour chaque paquet reçu, en utilisant des paramètres d'allocation de largeur de bande désignés. Les paquets sont ensuite stockés dans une mémoire de paquets en fonction de leurs temps de départ calculés. A chaque instant de départ, les paquets qui ont été stockés pour cet instant
de départ sont transférés vers une file d'attente de sortie.
Les paquets sortent en ordre séquentiel de la file d'attente
de sortie.
L'appareil de communication par paquets de l'invention envoie et reçoit des paquets dans un noeud d'un réseau de transmission par paquets, en utilisant le dispositif de mise en forme de trafic de l'invention pour commander la sortie
des paquets du noeud.
Des objets, caractéristiques et avantages de
l'invention ressortent de la description qui suit, donnée à
titre d'exemple non limitatif, en regard des dessins annexés sur lesquels: La figure 1, déjà décrite, illustre la structure d'une
cellule ATM.
La figure 2, déjà décrite, illustre le transport de
données s'effectuant dans un réseau.
La figure 3, déjà décrite, est un schéma fonctionnel
d'un dispositif classique de mise en forme de trafic.
La figure 4 illustre la structure d'un élément.
La figure 5 illustre la structure d'une chaîne.
La figure 6 illustre la concaténation de chaînes.
La figure 7 est un schéma fonctionnel d'un premier
dispositif de mise en forme de trafic de l'invention.
La figure 8 illustre la structure physique de la
mémoire d'éléments de la figure 7.
La figure 9 illustre la structure logique de la
mémoire d'éléments de la figure 7.
La figure 10 illustre le modèle du seau percé.
La figure 11 illustre la structure de la mémoire de
paramètres de la figure 7.
La figure 12 est un schéma fonctionnel d'un deuxième
dispositif de mise en forme de trafic de l'invention.
La figure 13 illustre la structure logique de la
mémoire d'éléments de la figure 12.
La figure 14 est un schéma fonctionnel d'un troisième
dispositif de mise en forme de trafic de l'invention.
La figure 15 est un schéma fonctionnel d'un nouvel
appareil de transmission par paquets.
Certains modes de réalisation de l'invention seront décrits en référence aux dessins annexés fournis à titre d'illustration. Les deux premiers modes de réalisation utilisent une mémoire de cellule organisée en deux éléments chaînés par des pointeurs, de sorte qu'il sera utile, avant de décrire les modes de réalisation eux-mêmes, de rappeler
les concepts d'élément, de pointeur, et de chaînage.
Dans la figure 4, un élément, au sens o ce terme est utilisé dans le présent fascicule, est une unité d'information stockée dans une zone mémoire identifiée par une adresse Pa. L'élément est constitué d'un champ d'information de cellule (CELLULE) 50 et d'un champ de pointeur de chaîne (Pc) 52. Le champ 50 d'information de cellule a la capacité de contenir toute l'information d'une cellule, y compris l'en-tête et l'information de charge utile. Le champ 52 de pointeur de chaîne contient normalement l'adresse d'un autre élément auquel cet élément
est chaîné.
Une chaîne d'éléments est formée par stockage de pointeurs d'un élément au suivant dans les champs de pointeurs de chaînes des éléments. A titre d'exemple, la figure 5 représente une chaîne constituée de quatre éléments ayant pour adresses 5, 30, 13, et 32. Le champ de pointeur de chaîne de chaque élément de la chaîne contient l'adresse de l'élément suivant dans la chaîne. A titre d'exemple, le champ de pointeur de chaîne du premier élément (à l'adresse ) contient l'adresse (30) du second élément. Le champ de pointeur de chaîne du dernier élément (à l'adresse 32) contient une information sans signification désignée par les
lettres s.o. (ayant pour signification "sans objet").
Une façon d'identifier cette chaîne est d'écrire
l'adresse de tous ses éléments dans l'ordre (5, 30, 13, 32).
Une façon plus simple de le faire est de n'indiquer que les adresses des premier et dernier éléments (5, 32). Ces deux adresses sont désignées sous le nom de pointeur sur le premier élément et de pointeur sur le dernier élément de la chaîne. Le reste de la chaîne est défini par les pointeurs se trouvant dans les champs de pointeurs de chaînes des éléments eux-mêmes. Ce procédé plus simple d'identification des chaînes sera utilisé dans les modes de réalisation
décrits ci-dessous.
Les adresses se trouvant dans les champs de pointeurs de chaînes des chaînes utilisées dans ces modes de réalisation pointent vers l'avant, du premier élément vers le dernier, comme dans la figure 5. L'invention peut cependant également être mise en oeuvre en utilisant des pointeurs de chaînes rétrogrades qui pointent du dernier
élément vers le premier.
Une chaîne dégénérée n'est constituée que d'un seul élément, auquel cas les pointeurs sur le premier élément et sur le dernier élément sont identiques. Des chaînes à un seul élément peuvent être identifiées par comparaison des
pointeurs sur le premier élément et sur le dernier élément.
Deux chaînes peuvent être concaténées pour former une nouvelle chaîne par manipulation de leurs pointeurs, sans déplacement d'aucun des éléments vers les nouvelles adresses. Un exemple permettra d'expliquer plus clairement cette procédure. Dans la figure 6, une chaîne A (10, 3, 9, 8) et une chaîne B (6, 1, 7) sont concaténées pour former une nouvelle chaîne A + B par les trois étapes suivantes: Première étape: la valeur du pointeur sur le premier élément (6) de la chaîne B est copiée dans le champ de pointeur de chaîne du dernier élément de la chaîne A. Deuxième étape: le pointeur sur le premier élément (10) de la chaîne A est transformé en le pointeur sur le premier élément de la chaîne A + B. Troisième étape: le pointeur sur le dernier élément (7) de la chaîne B est transformé en le pointeur sur le dernier élément de la chaîne A + B. Des étapes du même type peuvent être utilisées pour prolonger une chaîne en lui concaténant une autre chaîne ou un autre élément à l'une de ses extrémités, comme cela sera
fait dans les modes de réalisation ci-après.
On décrit ci-après un premier dispositif de mise en
forme de trafic de l'invention en se référant aux dessins.
Ce dispositif de mise en forme de trafic est principalement destiné à mettre en forme un trafic entre un noeud et un autre noeud d'un réseau de communication, bien qu'il puisse également être utilisé pour mettre en forme un trafic allant d'un noeud vers plusieurs terminaux récepteurs si un
répartiteur de ligne séparé est présent.
On supposera que les paquets traités par le dispositif de mise en forme de trafic sont des cellules ATM, et que le trafic des cellules est géré en termes de connexions, chacune désignée par un identificateur de trajet virtuel et un identificateur de canal virtuel. La combinaison (ITV/ICV) de ces identificateurs sera désignée sous le nom d'adresse
de la connexion.
La figure 7 illustre la structure de ce nouveau dispositif 100 de mise en forme de trafic, qui comprend une unité 101 de sélection de cellule, une unité 102 d'extraction d'en-tête, une unité 103 de calcul de temps de départ, une mémoire 104 de paramètres de trafic, une mémoire d'éléments, un contrôleur 106 de lecture/écriture, un contrôleur 107 de pointeur d'élément libre, une unité 108 à horloge interne, un contrôleur 109 de pointeur de file d'attente, une mémoire 110 de pointeur de classe A, un contrôleur 111 de mémoire de pointeur de classe A, une mémoire 112 de pointeur de classe B, et un contrôleur 113 de mémoire de pointeur de classe B, interconnectés par des lignes de signaux 150.... 164. Le terme de ligne de signal" doit être compris comme désignant non pas nécessairement une ligne d'interconnexion électrique unique, mais un trajet de données interne ayant une certaine largeur de bits. Le contrôleur 106 de lecture/écriture, le contrôleur 107 de pointeur d'élément libre, le contrôleur 109 de pointeur de file d'attente de sortie, la mémoire 110 de pointeur de classe A, le contrôleur 111 de mémoire de pointeur de classe A, la mémoire 112 de pointeur de classe B, et le contrôleur 113 de mémoire de pointeur de classe B
constituent une unité 116 de commande de mémoire d'élément.
L'unité 101 de sélection de cellule vérifie l'en-tête d'une cellule 120 d'entrée et informe l'unité 102 d'extraction d'en-tête et le contrôleur 106 de
lecture/écriture du fait que la cellule est vide ou non.
Si la cellule 120 d'entrée n'est pas vide, l'unité 102 d'extraction d'entête extrait l'en-tête de la cellule, lit les identificateurs de trajet et de canal virtuels (ITV/ICV) dans l'en-tête, et envoie l'adresse ITV/ICV à l'unité 103 de
calcul de temps de départ.
L'unité 103 de calcul de temps de départ utilise cette adresse, en association avec des paramètres stockés dans la mémoire 104 de paramètres de trafic et le temps présent fourni par l'unité 108 d'horloge interne, afin de calculer le temps de départ pour cette cellule 120. Des détails
concernant cette technique seront fournis plus loin.
La mémoire 104 de paramètres de trafic stocke des paramètres d'allocation de largeur de bande et de priorité de retard pour chaque connexion, c'est-à-dire pour chaque adresse ITV/ICV. L'unité 103 de calcul de temps de départ
utilise les paramètres d'allocation de largeur de bande.
La mémoire 105 d'éléments est constituée d'éléments dans lesquels sont stockées les cellules d'entrée. Comme le montre la figure 8, la mémoire 105 d'éléments est organisée physiquement en zones d'éléments ayant chacune un champ de pointeur de chaîne (Pc) et son champ d'information de cellule associé. Chaque zone d'élément est identifiée par une adresse distincte (Pa). Chaque élément peut devenir un élément libre, un élément affecté, ou un élément mis en file
d'attente. Ces types d'éléments seront décrits plus loin.
L'adresse d'un élément ne détermine pas le type d'élément.
La figure 9 représente l'organisation logique de la mémoire 105 d'éléments. La mémoire 105 d'éléments est divisée logiquement en un groupe 910 d'éléments libres, un groupe 920 d'éléments affectés, et un groupe 930 d'éléments de sortie. Chaque élément appartient à une chaîne dans l'un de ces groupes. Le groupe 920 d'éléments affectés est en outre divisé en deux sous-groupes ou plans 921 et 922, ayant des priorités de retard différentes. Dans ce mode de réalisation, on utilise deux classes de retard de priorité, les classes A et B. Le plan 921 est destiné à la classe A et le plan 922, à la classe B. La classe A a une priorité supérieure à la classe B. Tous les éléments du groupe 910 d'éléments libres sont reliés de façon à former une même chaîne. Un élément libre est un élément qui ne contient pas d'information de cellule
valide stockée dans son champ d'information de cellule.
D'après la figure 4 et la figure 8, on peut noter qu'un élément ne contient pas d'indication intrinsèque du fait qu'il est libre ou non. Cela dépend uniquement du fait que l'élément appartient ou non à la chaîne d'éléments libres du groupe 910 d'éléments libres. Le groupe 910 d'éléments libres est géré par le contrôleur 107 de pointeur d'éléments
libres, comme décrit plus loin.
De même, tous les éléments se trouvant dans le groupe 930 d'éléments de sortie sont liés de façon à former une chaîne unique, désignée sous le nom de file d'attente de sortie. Les éléments de cette file (désignés sous le nom d'éléments mis en file d'attente de sortie) ont des informations de cellules valides stockées dans leurs champs d'informations de cellules, et attendent leur tour pour la sortie des informations de cellules. Comme les éléments libres, les éléments mis en file d'attente de sortie sont uniquement identifiés par leur présence dans la file d'attente de sortie, et non pas par une éventuelle indication interne. Le groupe 930 d'éléments de sortie est géré par le contrôleur 109 de pointeur de file d'attente de
sortie, comme décrit plus loin.
Le groupe 920 d'éléments affectés stocke des éléments, désignés sous le nom d'éléments affectés, qui contiennent des informations de cellules valides dans leurs champs d'informations de cellules, et sont en attente d'un transfert vers le groupe 930 d'éléments de sortie. Comme le montre la figure 9,--.dans chaque plan 921 et 922, une chaîne séparée d'éléments affectés est maintenue pour chaque instant de départ. Ces chaînes sont gérées par les contrôleurs 111 et 113 de mémoires de pointeurs de classe A et de classe B, en utilisant les informations stockées dans les mémoires 110 et 112 de pointeurs de classes A et B. Comme les éléments libres et les éléments mis en file d'attente de sortie, les éléments affectés sont uniquement identifiés par leur présence dans le groupe 920 d'éléments affectés, et non pas par une éventuelle indication se
trouvant dans les éléments eux-mêmes.
Le contrôleur 106 de lecture/écriture commande la lecture et l'écriture d'informations dans la mémoire 105 d'éléments. Le contrôleur 107 de pointeur d'éléments libres dispose d'une mémoire de pointeur interne dans laquelle il maintient un pointeur Pff sur un premier élément indiquant le premier élément dans la chaîne d'éléments libres (se trouvant dans le groupe 910 d'éléments libres), un pointeur Ptf sur le dernier élément indiquant le dernier élément de la chaîne d'éléments libres, et un indicateur Ff d'élément
libre indiquant s'il existe ou non des éléments libres.
L'indicateur Ff d'élément libre passe par exemple à zéro pour indiquer qu'il n'existe pas d'éléments libres, et à la valeur Junu pour indiquer qu'il existe au moins un élément libre. Cette information est essentiellement utilisée dans le cas du stockage de cellules d'entrée 120 dans la mémoire
d'éléments.
L'unité 108 à horloge interne est un compteur qui génère une valeur du temps courant qu'il fournit à l'unité 103 de calcul de temps de départ, au contrôleur 111 de mémoire de pointeur de classe A et au contrôleur 113 de mémoire de pointeur de classe B. La valeur du temps minimum est égale à zéro. La valeur du temps maximum sera désignée Tmax. La valeur du temps varie cycliquement de façon répétitive de zéro à Tmax. Les opérations de sortie des cellules sont synchronisées avec cette valeur de temps, et
sont effectuées chaque fois que la valeur du temps varie. Le contrôleur 109 de pointeur de file d'attente de sortie dispose d'une
mémoire de pointeur interne dans laquelle il maintient un premier pointeur Pfw sur le premier élément indiquant le premier élément de la file d'attente (dans le groupe 930 d'éléments de sortie), un pointeur Ptw sur le dernier élément indiquant le dernier élément de la file d'attente, et un indicateur Fw de file d'attente de sortie indiquant si des éléments existent ou non dans la file d'attente de sortie. L'indicateur Ff de file d'attente de sortie est par exemple égal à "zéro" pour indiquer l'absence d'éléments mis en file d'attente de sortie, et à "un" pour indiquer qu'il existe au moins un élément mis en file d'attente de sortie. Cette information est principalement utilisée dans le cas de la sortie de cellules
de la mémoire 105 d'éléments.
Pour chaque chaîne d'éléments affectés dans la classe de priorité A (c'est-à-dire pour chaque chaîne d'éléments se trouvant dans le plan 921 du groupe 920 d'éléments affectés), la mémoire 110 de pointeur de classe A stocke un pointeur Pfa pointant sur le premier élément de la chaîne, un pointeur Pta pointant sur le dernier élément de la chaîne, et un indicateur Fa indiquant si ces pointeurs Pfa et Pta sont valides ou non. La mémoire 110 de pointeur de classe A fait l'objet d'un accès par spécification
d'adresses correspondant aux instants de départs.
L'information se trouvant dans la mémoire 110 de pointeur de classe A est utilisée dans des opérations agissant sur les groupes 920 et 930 d'éléments affectés et d'éléments de
sortie, comme décrit plus loin.
Le contrôleur 111 de mémoire de pointeur de classe A commande la lecture et l'écriture des pointeurs Pfa et Pta et des indicateurs Fa dans la mémoire 110 de pointeur de classe A. De même, pour chaque chaîne d'éléments affectés appartenant à la classe de priorité B (pour chaque chaîne d'éléments se trouvant dans le plan 922), la mémoire 112 de pointeur de classe B stocke un pointeur Pfb pointant sur le premier élément de la chaîne, un pointeur Ptb pointant sur le dernier élément de la chaîne, et un indicateur Fb
indiquant si ces pointeurs Pfb et Ptb sont valides ou non.
La mémoire 112 de pointeur de classe B fait également l'objet d'un accès par spécification d'adresses correspondant aux temps de départs. L'information se trouvant dans la mémoire 112 de pointeur de classe B est utilisée dans des opérations agissant sur les groupes 920 et 930 d'éléments affectés et d'éléments de sortie, comme
décrit plus loin.
Le contrôleur 113 de mémoire de pointeur de classe B commande la lecture et l'écriture des pointeurs Pfb et Ptb et des indicateurs Fb dans la mémoire 112 de pointeur de classe B. On décrira ci-après des opérations effectuées par le dispositif 100 de mise en forme de trafic. Ces opérations comprennent des opérations d'entrée de cellules et des opérations de sortie de cellules qui sont effectuées simultanément. Les opérations d'entrée de cellules seront
tout d'abord décrites.
Si l'on se réfère de nouveau à la figure 7, une cellule 120 d'entrée est reçue sur une ligne 150 de signal et transmise tout d'abord à l'unité 101 de sélection de cellule. L'unité 101 de sélection de cellule délivre immédiatement une demande d'écriture au contrôleur 106 de lecture/écriture par l'intermédiaire de la ligne 152 de
signal.
Lors de la réception de cette demande d'écriture, le contrôleur 106 de lecture/écriture vérifie tout d'abord l'indicateur Ff d'élément libre maintenu dans le contrôleur 107 de pointeur d'élément libre, par l'intermédiaire d'une ligne de signal 153. Si l'indicateur Ff d'élément libre indique qu'il n'existe pas d'éléments libres (Ff = 0), le contrôleur 106 de lecture/écriture en informe l'unité 101 de sélection de cellule par l'intermédiaire de la ligne de signal 153, et cette cellule 120 d'entrée cesse d'être traitée. Plus précisément, le dispositif 100 de mise en forme de trafic abandonne la cellule 120 d'entrée et attend la cellule d'entrée suivante. Si la mémoire 105 d'éléments a une taille appropriée, les cellules 120 d'entrée ne seront
pratiquement jamais abandonnées de cette manière.
Si l'indicateur Ff d'éléments libres indique qu'il existe un élément libre (Ff = 1), le contrôleur 106 de lecture/écriture lit la valeur du pointeur Pff pointant sur le premier élément maintenu par le contrôleur 107 de pointeur de premier élément par l'intermédiaire de la ligne de signal 153, et envoie cette valeur en association avec un ordre d'écriture par l'intermédiaire de la ligne de signal 154 à la mémoire 105 d'éléments, ce qui provoque le stockage de la cellule 120 d'entrée dans le champ d'information de cellule de l'élément à l'adresse indiquée par le pointeur Pff. Lors de la délivrance de la demande d'écriture au contrôleur 106 de lecture/écriture, l'unité 101 de sélection de cellule se charge de déterminer si la cellule 120 d'entrée est vide ou non. Si la cellule 120 d'entrée est vide, l'unité 101 de sélection de cellule n'effectue aucune autre action. Si la cellule 120 d'entrée n'est pas vide, l'unité 101 de sélection de cellule transmet la cellule 120 d'entrée vers l'unité 102 d'extraction d'en-tête par l'intermédiaire de la ligne de signal 155, et envoie au contrôleur 106 de lecture/écriture une demande de mise à jour de pointeur sur élément libre par l'intermédiaire de la
ligne de signal 152.
Selon le cadencement des opérations indiquées ci-
dessus, lorsque l'indicateur d'élément libre est à zéro (Ff = 0), le contrôleur 106 de lecture/écriture peut recevoir une demande de mise à jour de pointeur d'élément libre avant qu'il ait eu le temps d'informer l'unité 101 de sélection de cellule qu'il n'existe plus d'éléments libres. Dans ce cas, le contrôleur 106 de lecture/écriture ignore la demande de mise à jour du pointeur d'élément libre, et lorsque l'unité 101 de sélection de cellule reçoit l'information du fait qu'il n'existe plus d'éléments libres, elle ordonne à l'unité 103 d'extraction d'en- tête d'ignorer l'élément 120
d'entrée.
Si l'indicateur Ff d'élément libre indique qu'il existe un élément libre (Ff = 1), le contrôleur 106 de lecture/écriture traite la demande de mise à jour du
pointeur de la manière suivante.
En premier lieu, le contrôleur 106 de lecture/écriture vérifie les pointeurs Pff et Ptf pointant sur le premier élément et le dernier élément et maintenus par le contrôleur 107 de pointeur d'élément libre, par l'intermédiaire de la ligne de signal 153. Si ces deux pointeurs sont égaux (Pff = Ptf), le contrôleur 106 de lecture/écriture ordonne au contrôleur 107 de pointeur d'élément libre, par l'intermédiaire de la ligne 153 de signal, de mettre à zéro l'indicateur Ff d'élément libre, pour indiquer qu'il n'y a plus d'éléments libres. La raison pour laquelle cette opération est effectuée est que le fait que Pff = Ptf implique qu'il n'y a qu'un seul élément libre, dans lequel la cellule 120 d'entrée est maintenant (ou a déjà été) stockée, en ne laissant aucun élément libre disponible. Si Pff et Ptf ne sont pas égaux, l'indicateur Ff d'élément
libre est laissé à un.
En second lieu, le contrôleur 106 de lecture/écriture lit le champ Pc de pointeur de chaîne du premier élément de la chaîne d'éléments libres (l'élément actuellement indiqué par Pff, dans lequel la cellule 120 d'entrée est stockée), par l'intermédiaire de la ligne 154 de signal. Le contrôleur 106 de lecture/écriture transmet le contenu de ce champ Pc au contrôleur 107 de pointeur d'élément libre, par l'intermédiaire de la ligne 153 de signal. Le contrôleur 107 de pointeur d'élément libre met à jour le pointeur Pff pointant sur le premier élément de façon qu'il indique la valeur reçue Pc (cette mise à jour peut être omise si l'indicateur Ff d'élément libre a été mis à zéro). Le contrôleur 106 de lecture/écriture retient l'ancienne valeur
de Pff en vue d'une utilisation ultérieure.
Il résulte des opérations décrites ci-dessus que lorsqu'une cellule est fournie en entrée, si un élément libre est disponible, la cellule est stockée dans le champ d'information de cellule de cet élément. Si la cellule n'est pas vide, le pointeur Pff pointant sur le premier élément de la chaîne d'éléments libres est mis à jour et la cellule est
transmise à l'unité 102 d'extraction d'en-tête.
Si la cellule est vide, bien que la cellule puisse être stockée dans un élément libre de la mémoire 105 d'éléments, le pointeur Pff d'élément libre et l'indicateur Ff ne sont pas mis à jour, de sorte que l'élément dans lequel est stockée la cellule vide reste libre. Les données de cellules vides stockées dans le champ d'information de cellule de cet élément sont invalides, et seront effacées
lorsque la cellule suivante sera fournie en entrée.
Si la cellule n'est pas vide, l'unité 102 d'extraction d'en-tête extrait les identificateurs de trajet et de canal virtuels (ITV/ICV) de l'en- tête de la cellule, les transfère à l'unité 103 de calcul de temps de départ par l'intermédiaire de la ligne 156 de signal, et demande à l'unité 103 de calcul de temps de départ de calculer un temps de départ Td de cellule. L'unité 103 de calcul de temps de départ calcule Td en fonction d'informations se trouvant dans la mémoire 104 de paramètres de trafic, qui
est lue par l'intermédiaire de la ligne 157 de signal.
Le temps de départ de cellule Td peut être calculé par un procédé approprié quelconque satisfaisant aux conditions de largeur de bande stipulées pour la combinaison ITV/ICV particulière. L'un des procédés envisageables utilise un modèle dit du seau percé qui sera décrit plus loin à titre
d'exemple.
Si l'on se réfère à la figure 10, ce modèle est celui d'un seau percé ayant une certaine capacité LBc, contenant une certaine quantité Clb de fluide. Du fluide s'échappe par des trous percés au fond du seau avec un débit de fuite LR constant. Chaque fois qu'une cellule valide arrive, la quantité de fluide contenue dans le seau est incrémentée d'une valeur Ci. Le temps de départ de cellule Td est calculé comme étant le temps o la quantité restante de
fluide (Clb + Ci) se sera écoulée du seau.
Un seau percé de ce type est maintenu pour chaque connexion. Dans le contexte indiqué ci-dessus, une cellule valide est une cellule non vide qui arrive lorsqu'un élément libre est disponible, de sorte qu'elle peut être stockée dans la mémoire 105 d'éléments, et est destinée à la
connexion de ce seau particulier.
La figure 11 illustre une façon d'organiser la mémoire 104 de paramètres de trafic lorsque ce modèle de seau percé est utilisé. Une zone distincte est allouée pour chaque connexion, les valeurs ITV/ICV étant utilisées comme adresses de ces zones. Chaque zone comporte des champs pour stocker les informations indiquant une capacité de seau LBc, un débit de fuite LR, une valeur d'accroissement de cellule Ci, une valeur de compteur Clb, et une classe de priorité (A ou B). Le débit de fuite LR et la valeur d'accroissement de cellule Ci sont fixés en fonction de l'allocation de largeur de bande de la connexion. La valeur du compteur Clb est
initialement fixée à zéro.
Des cellules arrivent au dispositif 100 de mise en forme de trafic à un débit constant. Chaque fois qu'une cellule arrive, la valeur du compteur Clb de chaque seau est décrémentée de la valeur LR. Si la cellule est valide, la valeur du compteur Clb du seau considéré (c'est-à-dire la valeur de compteur Clb à l'adresse ITV/ICV de la cellule) est également incrémentée de la valeur Ci. La valeur du compteur Clb ne peut être réduite à moins de zéro ou incrémentée à une valeur supérieure à la capacité LBc du seau, de sorte que si les opérations d'incrémentation et de décrémentation indiquées ci-dessus portent la valeur du compteur à l'extérieur de ces limites, la valeur du compteur
est fixée à zéro ou à LBc.
Après que les totaux comptés ont ainsi été incrémentés ou décrémentés, le temps de départ de la cellule est calculé de la manière suivante. Le nouveau total ClB correspondant au seau dans lequel la cellule a été placée est divisé par le débit de fuite LR de ce seau, et le résultat est converti en un entier (par exemple par arrondissement à la valeur supérieure) pour donner un temps de vidage D du seau dans son état courant. D est ensuite ajouté au temps courant Tc pour donner le temps de départ de cellule Td. Si le résultat est supérieur à Tmax, Td est alors fixé à Tc + D - Tmax - 1,
de sorte que Td soit compris entre zéro et Tmax.
Si l'on utilise la fonction INT pour indiquer la conversion en un entier, ces opérations doivent être écrites de la manière suivante: D = INT (Cfb/LR) Td = Tc + D (si Tc + D < Tmax) Td = Tc + D - Tmax - 1 (Si Tc + D > Tmax) Lorsqu'il existe de nombreuses connexions, la décrémentation d'un compteur C1B pour chaque connexion lors de chaque arrivée de cellule est peu pratique, mais un résultat du même type peut être obtenu en faisant en sorte que la mémoire 104 de paramètres de trafic stocke également, pour chaque adresse ITV/ICV, le temps d'arrivée TR de la cellule la plus récente ayant cette adresse. Lorsqu'une nouvelle cellule arrive avec cette adresse, le temps TR stocké est soustrait au temps courant Tc pour donner un temps écoulé, ce dernier est multiplié par le débit de fuite LR, et la fuite totale au cours du temps écoulé est
soustraite en une seule étape.
Si l'on se réfère de nouveau à la figure 7, lorsque l'unité 103 de calcul de temps de départ a calculé le temps de départ Td de la cellule, il fournit ce temps Td par l'intermédiaire d'une ligne 158 de signal au contrôleur 111 de mémoire de pointeur de classe A si la cellule appartient à la classe de priorité de retard A, ou au contrôleur 113 de mémoire de pointeur de classe B si la cellule appartient à la classe de priorité de retard B. La classe de priorité est indiquée dans la mémoire 104 de paramètres de trafic. On supposera ici que la classe de priorité est la classe A, et on décrira le fonctionnement du contrôleur 111 de mémoire de pointeur de classe A. Le fonctionnement du contrôleur 113 de
mémoire de pointeur de classe B est identique.
Le contrôleur 111 de mémoire de pointeur de classe A accède à la mémoire 110 de pointeur de classe A par l'intermédiaire d'une ligne 159 de signal à l'adresse donnée par le temps de départ de cellule Td et lit l'indicateur Fa et le pointeur Pta sur le dernier élément de la chaîne d'éléments affectés pour ce temps Td. Si l'indicateur Fa indique que les pointeurs Pfa et Pta sont valides, le contrôleur 111 de mémoire de pointeur de classe A envoie le pointeur Pta sur le dernier élément au contrôleur 106 de lecture/écriture par l'intermédiaire d'une ligne 160 de signal. Si l'indicateur Fa indique que les pointeurs ne sont pas valides (ce qui signifie qu'aucun élément n'a encore été affecté au temps de départ Td), le contrôleur 111 de mémoire de pointeur de classe A en informe le contrôleur 106 de lecture/écriture par l'intermédiaire de la ligne 160 de signal. Si le contrôleur 106 de lecture/écriture reçoit le pointeur Pta sur le dernier élément, il met à jour le champ de pointeur de chaîne de l'élément indiqué par ce pointeur Pta en écrivant l'adresse de l'élément dans lequel est stockée la cellule 120 d'entrée. Il s'agit de l'ancienne valeur Pff que le contrôleur 106 de lecture/écriture a obtenu du contrôleur 107 de pointeur d'élément libre et qu'il a conservée. Le contrôleur 106 de lecture/écriture envoie ensuite l'adresse de cet élément (l'ancienne valeur de Pff) au contrôleur 111 de mémoire de pointeur de classe A par l'intermédiaire de la ligne 160 de signal, et le contrôleur 111 de mémoire de pointeur de classe A met à jour le pointeur Pta sur le dernier élément de la chaîne d'éléments affectés pour le temps Td de façon qu'il indique cette nouvelle adresse. Le contrôleur 106 de lecture/écriture concatène ainsi l'élément stockant la nouvelle cellule 120 d'entrée à la chaîne d'éléments affectés de temps Td dans le plan 921, en tant que nouveau
dernier élément de cette chaîne.
Si, au lieu de recevoir un pointeur Pta sur un dernier élément, le contrôleur 106 de lecture/écriture reçoit une indication de pointeurs invalides, il n'accède pas à la mémoire 105 d'éléments, mais envoie simplement au contrôleur 111 de mémoire de pointeur de classe A l'adresse (l'ancienne valeur de Pff) de l'élément stockant la cellule 120 d'entrée. Le contrôleur 111 de mémoire de pointeur de classe A écrit cette adresse à la fois dans le pointeur Pta sur le premier élément et dans le pointeur Pta sur le dernier élément pour le temps Td, et met à jour l'indicateur Fa afin
qu'il indique que ces pointeurs sont maintenant valides.
Cela établit une nouvelle chaîne d'éléments affectés pour le temps Td dans le plan 921 du groupe 920 d'éléments affectés, l'élément stockant la cellule 120 d'entrée en tant que seul
élément de cette chaîne.
Ceci achève la description des opérations d'entrée de
cellules. On décrira ci-après les opérations de sortie de cellules qui sont effectuées en même temps que les opérations d'entrée de cellules. Les opérations de sortie de cellules comprennent les deux opérations suivantes, qui sont toutes deux effectuées chaque fois que l'unité 108 à horloge interne modifie la valeur du temps courant Tc: le transfert des chaînes d'éléments affectés vers la file d'attente de sortie; et la sortie d'une cellule de la file d'attente de sortie. Le transfert des chaînes d'éléments affectés est
effectué en premier lieu.
Lorsque le temps courant est mis à jour par l'unité 108 à horloge interne de façon qu'il ait une nouvelle valeur Tc (comprise entre zéro et Tmax), cette nouvelle valeur est tout d'abord transmise par l'intermédiaire de la ligne 161 de signal au contrôleur 111 de mémoire de pointeur de classe A, étant donné que la classe A a une priorité plus élevée que la classe B. Le contrôleur 111 de mémoire de pointeur de classe A accède à la mémoire 110 de pointeur de classe A à l'adresse Tc et recherche le pointeur Pfa pointant sur le premier élément, le pointeur Pta pointant sur le dernier élément, et l'indicateur Fa concernant la chaîne d'éléments
affectés ayant un temps de départ de cellule (Td) égal à Tc.
Si l'indicateur Fa indique que les pointeurs Pfa et Pta sont invalides, ce qui signifie qu'aucun élément de la classe A n'a été affecté au temps de départ Tc, le contrôleur 111 de mémoire de pointeur de classe A active le contrôleur 113 de mémoire de pointeur de classe B. Si l'indicateur Fa indique que les pointeurs Pfa et Pta sont valides, le contrôleur 111 de mémoire de pointeur de la classe A procède à la concaténation de la chaîne d'éléments affectés au temps de départ Tc, qui sont définis par les pointeurs Pfa et Pta, à la file d'attente de sortie de la
manière suivante.
En premier lieu, par l'intermédiaire de la ligne 162 de signal, le contrôleur 111 de mémoire de pointeur de classe A vérifie l'indicateur de file d'attente de sortie Fw maintenu dans le contrôleur 109 de pointeur de file d'attente de sortie. Si l'indicateur Fw est fixé à un, ce qui indique qu'au moins un élément est actuellement mis en file d'attente pour être fourni en sortie, le contrôleur 111 de mémoire de pointeur de classe A recherche ensuite le pointeur Ptw sur le dernier élément de la file d'attente de sortie dans le contrôleur 109 de pointeur de file d'attente de sortie, toujours par l'intermédiaire de la ligne 162 de signal. Le contrôleur 111 de mémoire de pointeur de classe A transmet ensuite les pointeurs Pfa et Ptw au contrôleur 106 de lecture/écriture par l'intermédiaire de la ligne de signal 160, et ordonne au contrôleur 106 de lecture/écriture
de relier entre elles les chaînes correspondantes.
Le contrôleur 106 de lecture/écriture effectue cette opération en accédant à la mémoire 105 d'éléments par l'intermédiaire d'une ligne 154 de signal et en écrivant la valeur du pointeur Pfa dans le champ de pointeur de chaîne Pc de l'élément indiqué par le pointeur Ptw (le dernier élément de la file d'attente de sortie). Cette action a pour effet de relier la chaîne d'éléments affectés au temps Tc à la file d'attente de sortie, ce qui augmente la longueur de
la file d'attente de sortie.
Après avoir ordonné au contrôleur 106 de lecture/écriture de relier les chaînes d'éléments, le contrôleur 111 de mémoire de pointeur de classe A transmet le pointeur Pta pointant sur le dernier élément de la chaîne d'éléments affectés au temps Tc, au contrôleur 109 de pointeur de file d'attente de sortie, par l'intermédiaire de la ligne 162 de signal. Le contrôleur 109 de pointeur de file d'attente de sortie écrit la valeur du pointeur Pta dans le pointeur Ptw pointant sur le dernier élément de la file d'attente de sortie, en mettant ainsi à jour le pointeur Ptw de façon qu'il indique le dernier élément de la file d'attente de sortie prolongée créé par le contrôleur
106 de lecture/écriture.
Le contrôleur 111 de mémoire de pointeur de classe A accède également à la mémoire 110 de pointeur de classe A par l'intermédiaire de la ligne 159 de signal et met à zéro l'indicateur Fa concernant le temps courant Tc de façon à indiquer que les pointeurs Pfa et Pta sont maintenant invalides, car les éléments contenus dans la chaîne d'éléments affectés pour le temps courant Tc viennent d'être transférés dans la file d'attente de sortie, de sorte que
cette chaîne d'éléments affectés n'existe plus.
Si l'indicateur Fw de file d'attente de sortie demandé par le contrôleur 111 de mémoire de pointeur de classe A au contrôleur 109 de pointeur de file d'attente de sortie est à zéro, ce qui indique qu'il n'existe pas actuellement d'éléments mis en file d'attente de sortie, le contrôleur 109 de pointeur de file d'attente de sortie transfère les pointeurs Pfa et Pta au contrôleur 109 de pointeur de file d'attente de sortie. Le contrôleur 109 de pointeur de file d'attente de sortie met à jour le pointeur Pfw pointant sur le premier élément et le pointeur Ptw pointant sur le dernier élément de la file d'attente de sortie en écrivant la valeur Pfa dans Pfw, et la valeur Pta dans Ptw. Cela a pour effet que la chaîne d'éléments affectés pour le temps Tc est introduite dans la file d'attente de sortie. Le contrôleur 109 de pointeur de file d'attente de sortie positionne également l'indicateur Fw de file d'attente de sortie à un, en le modifiant ainsi pour qu'il indique qu'il
existe au moins un élément mis en file d'attente de sortie.
Le contrôleur 111 de mémoire de pointeur de classe A met également à zéro l'indicateur Fa concernant le temps courant Tc dans cette mémoire 110 de pointeur de classe A pour indiquer que les pointeurs Pfa et Pta sont maintenant invalides. Cela achève la modification de l'identité de la chaîne qui était anciennement la chaîne d'éléments affectés pour le temps Tc et est maintenant devenue la file d'attente
de sortie.
Après que le contrôleur 111 de mémoire de pointeur de classe A a fini de transférer la chaîne d'éléments affectés à la classe A pour le temps courant Tc du plan 921 du groupe 920 d'éléments affectés vers le groupe 930 d'éléments de sortie, comme décrit ci-dessus, il ordonne au contrôleur 113 de mémoire de pointeur de classe B de transférer la chaîne d'éléments affectés de classe B pour le temps courant Tc du plan 922 à la file d'attente de sortie. Cette opération est effectuée de la même manière, de sorte qu'on n'en fournira
pas de description particulière. Comme les éléments
appartenant à la chaîne d'éléments affectés de la classe A sont reliés à la file d'attente de sortie avant les éléments appartenant à la chaîne d'éléments affectés de la classe B, le temps de latence de sortie sera plus petit pour la classe A que pour la classe B, ce qui conférera aux cellules de la
classe A la priorité souhaitée.
L'opération de sortie des cellules de la file
d'attente de sortie sera décrite ci-après.
Lorsque le contrôleur 113 de mémoire de pointeur de classe B finit son transfert d'éléments affectés, il ordonne au contrôleur 109 de pointeur de file d'attente de sortie de commencer la sortie des cellules. Le contrôleur 109 de pointeur de file d'attente de sortie commence par vérifier l'indicateur Fw de file d'attente de sortie. Si Fw est à zéro, ce qui indique que la file d'attente de sortie est vide, le contrôleur 109 de pointeur de file d'attente de sortie n'effectue aucune action, et aucune cellule n'est
fournie en sortie à l'instant courant Tc.
Si Fw est à un, ce qui indique qu'au moins un élément mis en file d'attente de sortie est présent, le contrôleur 109 de pointeur de file d'attente de sortie compare ensuite les pointeurs Pfw et Ptw pointant sur le premier élément et sur le dernier élément de la file d'attente de sortie. Si les deux valeurs des pointeurs sont égales, le contrôleur 109 de pointeur de file d'attente de sortie met à zéro l'indicateur Fw de file d'attente de sortie. Si les deux valeurs des pointeurs ne sont pas égales, Fw est laissé à un. La raison pour laquelle on met Fw à zéro lorsque Pfw et Ptw sont égaux est que cela indique qu'un seul élément mis en file d'attente de sortie est présent, de sorte qu'après que la cellule de cet élément a été fournie en sortie, il ne
restera plus d'éléments en file d'attente.
Tout en comparant les pointeurs Pfw et Ptw, le contrôleur 109 de pointeur de file d'attente de sortie transfère également le pointeur Pfw sur le premier élément au contrôleur 106 de lecture/écriture par l'intermédiaire de la ligne de signal 163. Le contrôleur 106 de lecture/écriture accède à la mémoire 105 d'éléments à l'adresse indiquée par Pfw, lit le champ de pointeur de chaîne Pc à cette adresse, stocke momentanément la valeur de Pc, et place les données de cellule se trouvant dans le champ d'informations de cellule à cette adresse sur la ligne 151 de signal. Le dispositif 100 de mise en forme du trafic envoie ainsi une cellule 121 de sortie sur la ligne 151 de signal. Le contrôleur 106 de lecture/écriture renvoie la valeur Pc au contrôleur 109 de pointeur de file d'attente de sortie par l'intermédiaire de la ligne 163 de signal pour mettre à jour le pointeur Pfw sur le premier élément de la file d'attente de sortie. Le contrôleur 106 de pointeur de file d'attente de sortie écrit la valeur Pc dans ce pointeur Pfw, afin que l'ancien second élément de la file d'attente
de sortie devienne le nouveau premier élément.
Le contrôleur 106 de lecture/écriture transmet l'ancienne valeur de Pfw, indiquant l'élément qui contenait la cellule 121 de sortie courante, au contrôleur 107 de pointeur d'élément libre par l'intermédiaire de la ligne 153 de signal, avec une demande de mise à jour du pointeur Ptf pointant sur le dernier élément de la chaîne d'éléments libres. Le contrôleur 107 de pointeur d'élément libre répond en transmettant la valeur courante de Ptf au contrôleur 106 de lecture/écriture par l'intermédiaire de la ligne 153 de signal. Le contrôleur 106 de lecture/écriture accède au dernier élément de la chaîne d'éléments libres à l'adresse indiquée par cette valeur Ptf, et écrit l'ancienne valeur de
Pfw dans le champ de pointeur de chaîne Pc de cet élément. Pendant ce temps, après avoir transmis la valeur de Ptf au contrôleur 106
de lecture/écriture, le contrôleur 107 de pointeur d'élément libre met à jour Ptf en écrivant l'ancienne valeur de Pfw reçue du contrôleur 106 de lecture/écriture. Si l'indicateur Ff d'élément libre est à zéro, le contrôleur 107 de pointeur d'élément libre écrit également l'ancienne valeur de Pfw dans le pointeur Pff pointant sur le premier élément et positionne l'indicateur Ff à un pour indiquer qu'un élément libre est présent. Ces opérations concatènent l'élément qui stockait la cellule 121 de sortie à la chaîne d'éléments libres en tant que nouveau
dernier élément de cette chaîne.
Cela achève les opérations de sortie de cellules. Si la file d'attente de sortie n'était pas vide, la cellule stockée dans le premier élément de la file d'attente de sortie a été fournie en sortie, et cet élément a été retiré de la file d'attente de sortie et inséré en tant que dernier
élément de la chaîne d'éléments libres.
L'un des avantages du premier mode de réalisation est que le dispositif 100 de mise en forme de trafic peut gérer un nombre sensiblement illimité de connexions, car la mémoire 105 d'éléments ne conserve pas un tampon distinct pour chaque connexion. Elle conserve au contraire un tampon
distinct pour chaque temps de départ entre zéro et Tmax.
Quel que soit le nombre de connexions, Tmax peut être choisi de façon que la mémoire 105 d'éléments et que les mémoires
110 et 112 de pointeurs aient une taille réaliste.
L'espace de la mémoire 105 d'éléments est utilisé de façon efficace car un élément quelconque peut stocker une cellule pour une connexion quelconque. Le nombre total d'éléments nécessaires dépend donc des débits totaux d'entrée et de sortie de cellules, et non pas des débits de trafic des connexions individuelles. Lorsqu'une cellule d'entrée arrive, il n'est pas nécessaire d'avoir un élément libre pour chaque connexion, ou pour chaque catégorie de connexions, à laquelle la cellule pourrait appartenir. Il suffit qu'il y ait un élément libre quelque part dans la
mémoire 105 d'éléments.
Il n'est pas non plus nécessaire de prévoir quoi que ce soit de particulier pour des chaînes d'éléments affectés très longues. En effet, les chaînes d'éléments affectés ne tendent pas à devenir très longues, car même si certaines connexions produisent une salve rapide de cellules entrantes, celles-ci seront affectées à des temps de départ différents, et la probabilité qu'un grand nombre de cellules provenant de connexions différentes s'accumule sur un même temps de départ de cellule est faible. De plus, même si des cellules s'accumulent effectivement sur un même temps de départ, ce problème peut être traité de façon efficace, car tous les éléments libres disponibles peuvent être commandés de façon à stocker les cellules affectées à ce temps de départ. Le dispositif 100 de mise en forme de trafic de l'invention ne conduit pas à une sous-utilisation de l'espace de la mémoire 105 d'éléments. Le dispositif de mise en forme de trafic de l'invention exige donc moins d'espace mémoire pour la mise en mémoire tampon des cellules que les
techniques classiques de mise en forme du trafic.
Bien que chaque élément dispose d'un champ de pointeur de chaîne contenant un pointeur sur l'élément suivant, et qu'un espace de mémoire supplémentaire soit nécessaire pour stocker des pointeurs pointant sur un premier élément et un dernier élément et des indicateurs, l'espace occupé par ces pointeurs et ces indicateurs est insignifiant par comparaison à la taille de la cellule (cinquante- trois octets pour une cellule ATM). L'espace économisé par le fait qu'un élément quelconque stocke une cellule quelconque, comme décrit ci-dessus, est beaucoup plus important que
* celui utilisé par ces pointeurs et ces indicateurs.
Un autre avantage est que lorsque des cellules doivent être émises en sortie, elles sont émises en sortie quel que soit le type de connexion. Comme le dispositif 100 de mise en forme de trafic ne vérifie pas chaque connexion à des intervalles cycliques fixes, il n'est pas contraint d'émettre en sortie une cellule vide si la connexion en cours de vérification n'a pas de cellule à fournir. Ce que le dispositif 100 de mise en forme de trafic vérifie à des intervalles cycliques fixes sont les chaînes d'éléments affectés, et s'il trouve une chaîne vide, il n'est toujours pas contraint de fournir une cellule vide, car la file d'attente de sortie contiendra généralement d'autres cellules qui peuvent être fournies en sortie. Les ressources du réseau et des lignes ne sont donc pas sous-utilisées par un transfert inutile de cellules vides. Cet avantage est en
outre obtenu quel que soit le nombre de connexions.
Un autre avantage de ce mode de réalisation est qu'il fournit un moyen simple et efficace pour accorder une certaine priorité de retard. La technique de priorité n'est limitée en aucune manière par le nombre de connexions, car la priorité est appliquée au sein des chaînes des éléments affectés pour chaque temps de départ de cellule, et non connexion par connexion. L'introduction d'une priorité de retard ne conduit pas non plus à une sous-utilisation des ressources du réseau lorsqu'une connexion à haute priorité n'a pas de cellule à fournir en sortie, car les cellules à haute priorité et à basse priorité sont toutes fournies à
partir de la même file d'attente de sortie.
Un autre avantage de ce système est que pour une connexion quelconque, les cellules seront automatiquement fournies en sortie dans leur ordre d'arrivée. Il en est de même pour des cellules affectées à un temps de départ de cellule quelconque d'une classe de priorité quelconque, car chaque chaîne d'éléments du groupe 921 d'éléments affectés joue le rôle de file d'attente distincte dans laquelle des cellules sont placées selon leur ordre d'arrivée. Cette organisation en série aide à éviter des retards excessifs et est obtenue sans utilisation de zones de mémoire distinctes ou de tampons distincts, mais simplement par utilisation de pointeurs. On décrira ci-après un second dispositif de mise en forme de trafic de l'invention. Ce dispositif de mise en forme de trafic peut être utilisé pour mettre en forme un trafic de sortie dans un noeud de bord d'un réseau de transmission, lorsque le trafic est démultiplexé par l'intermédiaire de lignes séparées vers un ensemble de
terminaux récepteurs. La description supposera qu'il existe
deux lignes de ce type, désignées ligne A et ligne B. La
description soulignera les différences entre les dispositifs
de mise en forme de trafic des premier et second modes de réalisation. On décrira tout d'abord la structure du deuxième dispositif de mise en forme de trafic de l'invention en se référant à la figure 12. Les parties correspondantes de la figure 12 et de la figure 7 sont désignées par des références numériques correspondantes, la figure 12 utilisant des milliers dans ses nombres de référence. A titre d'exemple, la référence numérique 1101 de la figure 12
correspond à la référence numérique 101 de la figure 7.
Dans le dispositif 1100 de mise en forme de trafic du second mode de réalisation, la mémoire 1105 d'éléments est logiquement organisée en des plans différents pour des lignes différentes, et non pas en des plans différents pour des classes de priorité différentes. Au lieu du contrôleur 109 de pointeur de file d'attente de sortie unique du premier mode de réalisation, le second mode de réalisation utilise des contrôleurs 1109a et 1109b de pointeurs de file d'attente de sortie distincts pour les lignes A et B. Il dispose également d'une mémoire 1110 de pointeur de ligne A et d'une mémoire 1112 de pointeur de ligne B au lieu de la mémoire 110 de pointeur de classe A et de la mémoire 112 de pointeur de classe B du premier mode de réalisation, et un contrôleur 1111 de mémoire de pointeur de ligne A et un contrôleur 1113 de mémoire de pointeur de ligne B au lieu du contrôleur 111 de mémoire de pointeur de classe A et du contrôleur 113 de mémoire de pointeur de classe B. Un injecteur 1114 de cellules vides supplémentaire, qui n'était pas présent dans le premier mode de réalisation, est en outre prévu. Il s'agit là des différences de structure principales entre les premier et second modes de
réalisation.
Les autres parties du dispositif 1100 de mise en forme de trafic sont identiques aux parties correspondantes du premier mode de réalisation, de sorte qu'on en omettra les
descriptions. L'unité 1116 de commande de mémoire d'éléments
comprend le contrôleur 1106 de lecture/écriture, le contrôleur 1107 de pointeur d'élément libre, les contrôleurs 1109a et 1109b de pointeurs de file d'attente de sortie, des mémoires 1110 et 1112 de pointeurs, et des contrôleurs 1111
et 1113 de mémoires de pointeurs.
La mémoire 1105 d'éléments du second mode de réalisation présente la même structure physique, illustrée figure 8, que le premier mode de réalisation, mais a une
structure logique différente.
La figure 13 illustre également la structure logique
de la mémoire 1105 d'éléments du second mode de réalisation.
Comme dans le premier mode de réalisation, les éléments sont tous reliés en des chaînes. La mémoire 1105 d'éléments est organisée logiquement en un groupe 1210 d'éléments libres, un groupe 1220 d'éléments affectés, et un groupe 1230
d'éléments de sortie.
Le groupe 1210 d'éléments libres est semblable au groupe 910 d'éléments libres du premier mode de réalisation, de sorte qu'on ne le décrira pas. Le groupe 1230 d'éléments de sortie est divisé en des plans 1231 et 1232 pour les lignes A et B. Bien qu'il soit ainsi divisé en plans pour chaque ligne, la fonction du groupe 1230 d'éléments de
sortie est identique à celle du premier mode de réalisation.
En effet, il conserve des éléments mis dans la file d'attente de sortie. Le groupe 1220 d'éléments affectés est de même divisé en des plans 1221 et 1222 correspondant aux lignes A et B, chaque plan ayant une chaîne d'éléments affectés pour chaque temps de départ de cellule. Alors que le groupe 920 d'éléments affectés du premier mode de réalisation était organisé en plans correspondant à des priorités de retard, le groupe 1220 d'éléments affectés du second mode de réalisation est lui organisé en plans
correspondant à des lignes.
Le contrôleur 1109a de pointeur de file d'attente de sortie de la ligne A conserve un pointeur Pfwa pointant sur le premier élément et un pointeur Ptwa pointant sur le dernier élément pour la file d'attente de sortie de la ligne A (qui est constituée des éléments du plan 1231 d'éléments de sortie correspondant à la ligne A), et un indicateur Fwa indiquant s'il existe des éléments mis en file d'attente de sortie pour la ligne A. De même, Le contrôleur 1109b de pointeur de file d'attente de sortie de la ligne B maintient un pointeur Pfwb pointant sur un premier élément et un pointeur Ptwb pointant sur un dernier élément pour la file d'attente de sortie de la ligne B (qui est constituée des éléments du plan 1231 d'éléments de sortie pour la ligne B), et un indicateur Fwb indiquant s'il existe des éléments mis en file d'attente de sortie pour la ligne B. Pour chaque temps de départ de cellule, la mémoire 1110 de pointeur de ligne A stocke un pointeur Pfa pointant sur un premier élément et un pointeur Pta pointant sur un dernier élément d'une chaîne d'éléments affectés correspondants (dans le plan 1221 d'éléments affectés pour la ligne A), et un indicateur Fa indiquant si ces pointeurs Pfa et Pta sont ou non valides. La mémoire 1110 de pointeur de ligne A fait l'objet d'un accès en fonction d'adresses correspondant aux temps de départ de cellules. Le contrôleur 1111 de mémoire de pointeur de ligne A commande la lecture et l'écriture des pointeurs Pfa et Pta et des indicateurs Fa dans la mémoire 1110 de pointeur de ligne A. De même, pour chaque temps de départ de cellule, la mémoire 1112 de pointeur de ligne B stocke un pointeur Pfb pointant sur un premier élément et un pointeur Ptb pointant sur un dernier élément d'une chaîne d'éléments affectés correspondante (dans le plan 1221 d'éléments affectés pour la ligne B), et un indicateur Fb indiquant si ces pointeurs Pfb et Ptb sont valides ou non. La mémoire 1112 de pointeur de ligne B fait également l'objet d'un accès en fonction
d'adresses correspondant aux temps de départ de cellules.
Le contrôleur 1113 de mémoire de pointeur de ligne B commande la lecture et l'écriture des pointeurs Pfb et Ptb et des indicateurs Fb dans la mémoire 1112 de pointeur de ligne B. L'injecteur 1114 de cellules vides insère des cellules vides dans des tranches de sortie en réponse à des demandes
d'insertion de cellules vides.
On décrira ensuite le fonctionnement de ce dispositif 1100 de mise en forme de trafic en commençant par une
description des opérations d'entrée de cellules. Ces
opérations sont tout à fait identiques aux opérations d'entrée de cellules du premier mode de réalisation, mais on supposera que les en- têtes des cellules 1120 d'entrée contiennent une information Nc d'identification de ligne identifiant la ligne A ou B, au lieu des identificateurs de trajet et de canal virtuels utilisés dans le premier mode de
réalisation.
Lorsqu'il n'existe pas d'éléments libres, ou lorsque la cellule 1120 d'entrée est une cellule vide, le second mode de réalisation se comporte exactement de la même manière que le premier mode de réalisation, de sorte qu'on
omettra les descriptions de ces situations. Lorsque la
cellule 1120 d'entrée n'est pas vide et lorsqu'un élément libre est disponible, les opérations s'effectuant jusqu'au calcul du temps de départ de cellule par l'unité 1103 de calcul du temps de départ de cellule, en utilisant la table 1104 de paramètres, sont pratiquement identiques à celles du premier mode de réalisation, de sorte qu'on ne fournira pas
non plus ces descriptions. Ces opérations mettent en jeu le
stockage de la cellule 1120 d'entrée dans l'élément libre indiqué par le pointeur Pff pointant sur le premier élément de la chaîne d'éléments libres, la mise à jour de ce pointeur Pff, et la conservation de l'ancienne valeur de Pff
dans le contrôleur 1106 de lecture/écriture.
La table 1104 de paramètres du second mode de réalisation ne contient pas d'informations concernant la classe de priorité de retard. L'unité 1103 de calcul de temps de départ envoie le temps de départ de cellule Td calculé au contrôleur 1111 de mémoire de pointeur de ligne A ou au contrôleur 1113 de mémoire de pointeur de ligne B par l'intermédiaire d'une ligne 1158 de signal, selon l'information d'identification de ligne Nc contenue dans l'en-tête de la cellule 1120 d'entrée. Le temps de départ Td est envoyé au contrôleur 1111 de mémoire de pointeur de ligne A si l'information d'identification de ligne Nc indique la ligne A, et au contrôleur 1113 de mémoire de pointeur de ligne B si l'information d'identification de ligne Nc indique la ligne B. Les opérations effectuées par le contrôleur 1111 de mémoire de pointeur de ligne A et le contrôleur 1113 de mémoire de pointeur de ligne B sont similaires, de sorte qu'on ne décrira ci-après que le fonctionnement du contrôleur 1111 de mémoire de pointeur de ligne A. Lors de la réception du temps de départ de cellule Td de l'unité 1103 de calcul de temps de départ, le contrôleur 1111 de mémoire de pointeur de ligne A accède à la mémoire 1110 de pointeur de ligne A par l'intermédiaire de la ligne de signal 1159 et lit l'indicateur Fa et le pointeur Pta pointant sur le dernier élément de la chaîne d'éléments affectés pour le temps Td. Si l'indicateur Fa est positionné à un (ce qui indique que les pointeurs sont valides), le contrôleur 1111 de mémoire de pointeur de classe A envoie le pointeur Pta pointant sur le dernier élément au contrôleur 1106 de lecture/écriture par l'intermédiaire de la ligne 1160 de signal. Si l'indicateur Fa est mis à zéro (pointeurs non valides, ce qui indique qu'il n'y a pas d'éléments affectés pour le temps Td), le contrôleur 1106 de lecture/écriture en est informé par l'intermédiaire de la
ligne 1160 de signal.
Si le contrôleur 1106 de lecture/écriture reçoit le pointeur Pta pointant sur le dernier élément, il écrit l'adresse de l'élément dans lequel est stockée la cellule 1120 d'entrée (l'ancienne valeur de Pff) dans le champ de pointeur de chaîne de l'élément indiqué par ce pointeur Pta, et ajoute ainsi l'élément qui stocke la cellule 1120 d'entrée à la fin de la chaîne d'éléments affectés pour le temps Td dans le plan 1221 d'éléments affectés pour la ligne A. Le contrôleur 1106 de lecture/écriture envoie ensuite l'adresse de cet élément (l'ancienne valeur de Pff) au contrôleur 1111 de mémoire de pointeur de ligne A par l'intermédiaire de la ligne 1160 de signal, et le contrôleur 1111 de mémoire de pointeur de ligne A met à jour le pointeur Pta pointant sur le dernier élément de la chaîne d'éléments affectés pour le temps Td dans le plan 1221, de
façon qu'il indique cette nouvelle adresse.
S'il est informé du fait que le pointeur Pta sur le dernier élément est invalide, le contrôleur 1106 de lecture/écriture envoie au contrôleur 1111 de mémoire de pointeur de ligne A l'adresse (l'ancienne valeur de Pff) de l'élément stockant la cellule 1120 d'entrée. Le contrôleur 1111 de mémoire de pointeur de ligne A écrit cette adresse dans ses pointeurs Pfa et Pta pointant sur le premier élément et sur le dernier élément pour le temps Td, et modifie l'indicateur Fa pour qu'il indique que ces pointeurs sont maintenant valides. Cela établit une nouvelle chaîne d'éléments affectés pour le temps Td dans le plan 1221 d'éléments affectés pour la ligne A, la chaîne étant
constituée de l'élément stockant la cellule 1120 d'entrée.
Les opérations d'entrée de cellules décrites ci-dessus sont effectuées indépendamment des opérations de sortie de cellules qui seront décrites ci-après, et en même temps que celles-ci. Comme dans le premier mode de réalisation, les opérations de sortie de cellules consistent en un transfert de chaînes d'éléments affectés, suivi de la sortie des cellules des files d'attente de sortie. Ces opérations de sortie sont effectuées chaque fois que l'unité 1108 à horloge interne génère un nouveau temps courant Tc. Le transfert des chaînes d'éléments affectés sera décrit en
premier lieu.
Dans le premier mode de réalisation, dans lequel les connexions étaient affectées à des classes de priorité de retard, la classe A de plus haute priorité était traitée avant la classe B de plus faible priorité. Dans le second mode de réalisation, on n'utilise pas de classes de priorité de retard, ni de relations de priorité entre les lignes A et B, de sorte que si le contrôleur 1106 de lecture/écriture présente la capacité requise, les transferts de chaînes d'éléments affectés pour les lignes A et B peuvent être
effectués simultanément.
Lorsqu'une nouvelle valeur de temps courant Tc (comprise entre zéro et Tmax) est générée, cette valeur est tout d'abord fournie par l'intermédiaire d'une ligne 1161 de signal au contrôleur 1111 de mémoire de pointeur de ligne A et au contrôleur 1113 de mémoire de pointeur de ligne B. Le contrôleur 1111 de mémoire de pointeur de ligne A accède à la mémoire 1110 de pointeur de ligne A à l'adresse Tc et recherche le pointeur Pfa pointant sur le premier élément, le pointeur Pta pointant sur le dernier élément, et l'indicateur Fa concernant la chaîne d'éléments affectés
ayant un temps de départ de cellule (Td) égal à Tc.
Si l'indicateur Fa indique que les pointeurs Pfa et Pta sont invalides, il n'y a pas d'éléments affectés ayant un temps de départ de cellule égal à Tc pour la ligne A, de sorte qu'aucune chaîne d'éléments affectés n'est transférée pour la ligne A. Si l'indicateur Fa indique que les pointeurs Pfa et Pta sont valides, le contrôleur 1111 de mémoire de pointeur de ligne A procède à la concaténation de la chaîne d'éléments affectés pour le temps Tc, qui est définie par les pointeurs Pfa et Pta, à la file d'attente de sortie pour la ligne A, par une procédure pratiquement identique à celle du premier mode de réalisation. Plus précisément, le contrôleur 1111 de mémoire de pointeur de ligne A vérifie l'indicateur Fwa de la file d'attente de sortie, maintenu dans le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A, par l'intermédiaire d'une ligne 1162a de signal. Si l'indicateur Fwa est positionné à un, ce qui indique qu'au moins un élément est mis dans la file d'attente de sortie de la ligne A, le contrôleur 1111 de mémoire de pointeur de ligne A recherche ensuite le pointeur Ptwa pointant sur le dernier élément de la file d'attente de sortie dans le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A par l'intermédiaire de la ligne 1162a de signal, et transmet les pointeurs Pfa et Ptw au contrôleur 1106 de lecture/écriture par l'intermédiaire de la ligne 1160 de signal, en ordonnant
au contrôleur 1106 de lecture/écriture de lier les chaînes.
Le contrôleur 1106 de lecture/écriture accède à la mémoire 1105 d'éléments par l'intermédiaire de la ligne 1154 de signal et écrit la valeur du pointeur Pfa dans le champ de pointeur de chaîne Pc de l'élément indiqué par le pointeur Ptwa (le dernier élément de la file d'attente de sortie pour la ligne A). Cette action a pour effet de lier la chaîne d'éléments affectés de la ligne A pour le temps Tc, à la fin de la file d'attente de sortie pour la ligne A, ce qui a pour effet d'allonger cette file d'attente de
sortie.
Après avoir ordonné au contrôleur 1106 de lecture/écriture de lier ces chaînes, le contrôleur 1111 de mémoire de pointeur de classe A transfère le pointeur Pta pointant sur le dernier élément de la chaîne d'éléments affectés pour le temps Tc, au contrôleur 1109a de pointeur de file d'attente de sortie de ligne A, par l'intermédiaire de la ligne 1162a de signal. Le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A écrit la valeur du pointeur Pta dans le pointeur Ptwa pointant sur le dernier élément de la file d'attente de sortie pour la ligne A, en mettant ainsi à jour le pointeur Ptwa de façon qu'il indique le dernier élément de la file d'attente de sortie allongée
créée par le contrôleur 1106 de lecture/écriture.
Le contrôleur 1111 de mémoire de pointeur de ligne A accède également à la mémoire 1110 de pointeur de ligne A par l'intermédiaire de la ligne 1159 de signal et met à zéro l'indicateur Fa concernant le temps courant Tc afin d'indiquer que les pointeurs Pfa et Pta sont maintenant invalides, car la chaîne d'éléments affectés pour le temps Tc vient d'être transférée du plan 1221 du groupe 1220 d'éléments affectés, au plan 1231 du groupe 1230 d'éléments
de sortie.
Si l'indicateur Fwa de file d'attente de sortie demandé par le contrôleur 1111 de mémoire de pointeur de ligne A au contrôleur 1109a de pointeur de file d'attente de sortie de ligne A est à zéro, ce qui indique qu'aucun élément n'est actuellement mis dans la file d'attente de sortie de la ligne A, le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A transmet les deux pointeurs Pfa et Pta obtenus de la mémoire 1110 de pointeur de ligne A au contrôleur 1109a de pointeur de file d'attente de sortie de ligne A, qui procède à l'écriture de la valeur Pfa dans Pfwa, et de la valeur Pta dans Ptwa. La chaîne d'éléments affectés de la ligne A pour le temps Tc devient ainsi la file d'attente de sortie pour la ligne A. Le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A positionne également l'indicateur Fwa de file d'attente de sortie à un, pour indiquer qu'il existe au moins un élément mis dans la file d'attente de sortie. Comme précédemment, le contrôleur 1111 de mémoire de pointeur de ligne A met à zéro l'indicateur Fa concernant le temps courant Tc dans la mémoire 1110 de pointeur de ligne A pour indiquer que les pointeurs Pfa et Pta sont maintenant invalides, car la chaîne d'éléments affectés pour la ligne A
à l'instant Tc n'existe plus.
Les opérations de transfert de chaînes d'éléments affectés pour la ligne B du plan 1221 d'éléments affectés au plan 1231 d'éléments en file d'attente de sortie sont effectuées de la même manière. On ne les décrira pas de
façon distincte.
Lorsque le transfert de chaînes d'éléments affectés des deux plans d'éléments affectés 1221 et 1222 vers les plans 1231 et 1232 d'éléments de sortie des lignes A et B a été mené à terme par la procédure indiquée ci-dessus, l'opération de sortie de cellules des files d'attente de
sortie commence. Cette opération sera décrite ci-après.
La sortie de cellules est effectuée en fonction de tranches de sortie préaffectées sur une ligne 1151 de signal. Une tranche de sortie est une tranche de temps de taille suffisante pour la sortie d'une cellule, comportant l'en-tête de la cellule et l'information Nc d'identification
de ligne de la cellule.
Des tranches de temps de sortie sont affectées aux lignes A et B suivant une séquence fixe, par exemple constituée de tranches pour la ligne A alternant avec des tranches pour la ligne B, ou de deux tranches pour la ligne A suivies d'une tranche pour la ligne B. Les contenus de ces tranches seront répartis entre les lignes A et B par un répartiteur de ligne non représenté dans le dessin. La séquence de tranches peut également comporter des tranches de sortie qui ne sont affectées à aucune des lignes A et B,
mais on supposera dans la description qui suit qu'il
n'existe pas de tranche de sortie non affectée de ce type.
La séquence de tranches est spécifiée par des informations conservées en interne dans le contrôleur 1106 de lecture/écriture. A la fin du transfert d'éléments affectés pour les lignes A et B, le contrôleur 1106 de lecture/écriture détermine d'après ses informations internes si la tranche de sortie courante est affectée à la ligne A ou B, et en informe le contrôleur 1109a ou 1109b de pointeur de file d'attente de sortie correspondant. On suppose ici que la tranche de sortie courante est affectée à la ligne A, de sorte que le contrôleur 1106 de lecture/écriture fournit l'information considérée au contrôleur 1109a de pointeur de file d'attente de sortie de ligne A. Lorsqu'il est informé par le contrôleur 1106 de lecture/écriture, le contrôleur 1109a de pointeur de file d'attente de sortie de la ligne A vérifie l'indicateur Fwa de file d'attente de sortie. Si Fwa est à zéro, ce qui indique que la file d'attente de sortie pour la ligne A est vide, le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A envoie à l'injecteur 1114 de cellule vide une demande par l'intermédiaire d'une ligne 1164 de signal, pour qu'il insère une cellule vide. L'injecteur 1114 de cellule vide y répond en plaçant une cellule vide sur la ligne 1151 de signal de sortie au cours de la tranche de temps affectée à la ligne A. Si Fwa est à un, ce qui indique qu'il existe au moins un élément en file d'attente de sortie pour la ligne A, le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A compare ensuite les pointeurs Pfwa et Ptwa pointant sur le premier élément et sur le dernier élément de la file d'attente desortie pour la ligne A. Si ces deux valeurs de pointeur sont égales, le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A met à zéro l'indicateur Fwa de file d'attente de sortie, car il n'existe qu'un seul élément dans cette chaîne. Si les deux valeurs de pointeur
ne sont pas égales, Fwa est laissé à un.
Outre la comparaison des pointeurs Pfwa et Ptwa, le contrôleur 1109a de pointeur de file d'attente de sortie de la ligne A transmet le pointeur Pfwa pointant sur le premier élément au contrôleur 1106 de lecture/écriture par l'intermédiaire de la ligne 1163 de signal. Le contrôleur 1106 de lecture/écriture accède ensuite à la mémoire 1105 d'éléments à l'adresse indiquée par Pfwa, lit le champ de pointeur de chaîne Pc à cette adresse, stocke momentanément la valeur de Pc, et place les données de cellule se trouvant dans le champ d'information de cellule à cette adresse, dans la tranche de sortie courante sur la ligne 1151 de signal, à partir de laquelle la cellule 1121 pourra être dirigée vers la ligne A. Le contrôleur 1106 de lecture/écriture renvoie la valeur de Pc au contrôleur 1109a de pointeur de file d'attente de sortie de ligne A par l'intermédiaire de la ligne 1163 de signal pour mettre à jour le pointeur Pfwa pointant sur le premier élément de la file d'attente de sortie pour la ligne A. Le contrôleur 1109a de pointeur de file d'attente de sortie de ligne A écrit la valeur de Pc dans ce pointeur Pfwa, de façon à transformer l'ancien second élément de la file d'attente de sortie de la ligne A
en son nouveau premier élément.
L'élément dans lequel a été stockée la cellule 1121 de sortie est ensuite renvoyé au groupe 1210 d'éléments libres par une procédure identique à celle du premier mode de réalisation. Si l'indicateur Ff d'élément libre est positionné à un, le contrôleur 1106 de lecture/écriture transfère alors par exemple l'ancienne valeur de Pfwa reçue du contrôleur 1109a de pointeur de file d'attente de sortie de ligne A, au contrôleur 1107 de pointeur d'élément libre par l'intermédiaire d'une ligne 1153 de signal, et le contrôleur 1107 de pointeur d'élément libre renvoie la valeur courante de Ptf. Le contrôleur 1106 de lecture/écriture accède à la mémoire 1105 d'éléments à l'adresse indiquée par cette valeur de Ptf, et écrit l'ancienne valeur Pfwa dans le champ de pointeur de chaîne Pc à cette adresse, pendant que le contrôleur 1107 de pointeur d'élément libre met à jour le pointeur Ptf en écrivant l'ancienne valeur Pfwa. L'élément dans lequel était stockée la cellule 1121 de sortie devient le nouveau dernier
élément de la chaîne d'éléments libres.
Cela achève la sortie d'une cellule pour la ligne A, qu'il s'agisse d'une cellule provenant de la mémoire 1105 d'éléments, ou d'une cellule vide insérée par l'injecteur
1114 de cellule vide.
Si la tranche de sortie courante a été affectée à la ligne B et non pas à la ligne A, le contrôleur 1109b de pointeur de file d'attente de sortie de la ligne B effectue des opérations identiques pour fournir en sortie la cellule stockée dans le premier élément de la file d'attente de sortie de la ligne B, ou une cellule vide si cette file
d'attente est vide. On n'en fournira pas de description
distincte. Le second mode de réalisation offre la plupart des avantages du premier mode de réalisation, y compris la possibilité de traiter un grand nombre de connexions, l'avantage de ne pas sous-utiliser les ressources du réseau quel que soit le nombre de connexions, une diminution de la quantité de mémoire nécessaire pour le stockage en mémoire tampon des cellules, et la conservation de l'ordre des cellules lorsque deux cellules se voient affecter un même
temps de départ de cellule.
Un autre avantage offert par le second mode de réalisation est que lors de la mise en forme du trafic de cellules pour chaque ligne, il évite automatiquement des conflits entre les largeurs de bande des deux lignes. Cela est dû au fait que des cellules qui seront fournies en sortie sur des lignes différentes seront stockées dans des plans d'éléments affectés différents, seront reliées à des files d'attente de sortie différentes, et seront fournies en sortie au cours de tranches de temps affectées ligne par ligne. Un avantage supplémentaire est que le second mode de réalisation réduit l'importance du matériel exigé par la fonction de répartition de lignes dans les noeuds de bord du réseau. Le répartiteur de ligne peut par exemple répartir des cellules vers les lignes appropriées au moyen d'un sélecteur qui opère en synchronisme avec le débit de tranches de temps sur la ligne 1151 de signal. Le répartiteur de ligne ne doit donc pas vérifier les en- têtes
des cellules et ne nécessite donc pas de tampon de cellule.
Le sélecteur peut également être intégré au dispositif 1100 de mise en forme de trafic, de façon que le dispositif 1100 de mise en forme de trafic remplisse la plupart des fonctions de répartition et que le répartiteur de ligne n'ait qu'à établir une interface entre les flux de cellules
séparés vers les lignes sortantes.
Les réseaux de communication ATM actuels doivent être interfacés avec des lignes qui fonctionnent avec une structure de trame de données différente de la structure des cellules ATM, de sorte que lorsqu'un flux de cellules sort du réseau ATM, il doit être soumis à une modification de format en vue de sa transmission. C'est pourquoi un répartiteur de ligne est nécessaire en tous points de sortie du réseau ATM. En transférant la plupart des fonctions de répartition de ligne dans le dispositif de mise en forme de trafic et en rendant ainsi minimales les exigences matérielles du répartiteur de ligne, le second mode de réalisation peut réduire notablement le coût des systèmes de
transmission ATM.
On décrira ci-après un troisième dispositif de mise en forme de trafic de l'invention. Ce dispositif de mise en forme de trafic, qui est représenté figure 14, a une structure qui met en oeuvre le concept principal de l'invention, d'une manière particulièrement simple et directe. On décrira cette structure en expliquant le
fonctionnement du troisième mode de réalisation.
Dans la figure 14, le dispositif 1300 de mise en forme de trafic reçoit des cellules 1390 entrantes sur une ligne 1350 de signal, les stocke dans une mémoire 1310 de cellules, comme décrit ci-après, puis les fournit en sortie en tant que cellules 1391 de sortie à partir de la mémoire 1310 de cellules sur une ligne 1356 de signal. Le temps passé par une cellule dans la mémoire 1310 de cellule est ajusté en fonction de paramètres stockés dans la mémoire 1304 de paramètres, de façon à satisfaire aux conditions
d'allocation de largeur de bande.
La mémoire 1310 de cellules comprend plusieurs mémoires de type FIFO 13- 0 à 13-Tmax, correspondant à des temps de départ de cellules allant de 0 à Tmax, et une
mémoire FIFO 1311 de sortie.
En premier lieu, on décrira l'opération de stockage d'une cellule 1390 d'entrée dans la mémoire 1310 de cellules. Lors d'une première étape, la cellule 1390 est reçue par l'unité 1301 de sélection de cellule, qui détermine d'après l'en-tête de la cellule si la cellule est vide ou non. Si la cellule 1390 n'est pas vide, elle est transférée par l'intermédiaire de la ligne 1351 de signal à l'unité 1302 d'extraction d'en-tête, qui extrait l'en-tête de la cellule, lit les identificateurs de trajet et de canal virtuels (ITV/ICV), et envoie l'information ITV/ICV par l'intermédiaire de la ligne 1352 de signal à l'unité 1303 de
calcul de temps de départ.
L'unité 1303 de calcul de temps de départ se réfère (par l'intermédiaire de la ligne 1353 de signal) à la mémoire 1304 de paramètres de trafic, qui contient des paramètres d'allocation de largeur de bande pour chaque connexion, accède aux paramètres correspondant à l'adresse ITV/ICV, et utilise ces paramètres pour calculer un temps de départ de cellule Td pour la cellule 1390. Si nécessaire, lors de ce calcul, l'unité 1303 de calcul de temps de départ se réfère également au temps courant Tc, qui est fourni par l'unité 1306 à horloge interne. Le temps de départ de cellule peut être calculé par la méthode du seau percé
décrite plus haut, ou par une autre méthode appropriée.
Ayant calculé le temps de départ de cellule Td, l'unité 1303 de calcul du temps de départ le fournit au contrôleur 1305 d'écriture, qui envoie un ordre à la mémoire 13-Td de type FIFO de la mémoire 1310 de cellules (Td est un entier allant de zéro à Tmax) par l'intermédiaire de la ligne 136Td de signal, ce qui a pour effet que la mémoire
13-Td de type FIFO stocke la cellule 1390 d'entrée.
On décrit ensuite les opérations de sortie des cellules. L'unité 1306 à horloge interne met à jour le temps courant Tc à la cadence de sortie des cellules, en indiquant chaque nouvelle valeur du temps au contrôleur 1307 de
lecture par l'intermédiaire de la ligne 1355 de signal.
Lorsqu'il reçoit le nouveau temps courant Tc, le contrôleur 1307 de lecture envoie un ordre de lecture à la mémoire 13-Tc de type FIFO correspondante par l'intermédiaire de la ligne 137 Tc de signal (Tc est un entier allant de zéro à Tmax). Cet ordre a pour effet que toutes les cellules actuellement stockées dans la mémoire 13-Tc de type FIFO sont transférées vers la mémoire 1311 de
type FIFO de sortie.
Le contrôleur 1307 de lecture envoie ensuite un ordre de lecture à la mémoire 1311 de type FIFO de sortie par l'intermédiaire de la ligne 1380 de signal, ce qui a pour effet qu'une cellule 1391 (la plus ancienne cellule actuellement stockée dans la mémoire 1311 de type FIFO) est
fournie en sortie sur la ligne 1356 de signal.
Bien qu'il ne soit pas aussi efficace que les deux premiers modes de réalisation, le dispositif 1300 de mise en forme de trafic du troisième mode de réalisation conserve toujours les avantages suivants: (i) il permet de gérer simultanément un très grand nombre de connexions; (ii) il exploite efficacement les ressources du réseau et des lignes, quel que soit le nombre de connexions; (iii) il réduit la quantité de mémoire nécessaire pour le stockage tampon des cellules afin de satisfaire aux conditions d'allocation de largeur de bande; et (iv) il fait en sorte que si deux ou plusieurs cellules ont le même temps de départ de cellule, elles soient fournies en sortie dans leur
ordre d'arrivée.
Si l'on se réfère de nouveau à la figure 2, l'invention peut également être mise en oeuvre sous la forme de l'appareil 32 ou 34 de communication ATM dans le réseau 25, utilisant le dispositif 100 de mise en forme de trafic de la figure 7 en tant que son dispositif de mise en forme de trafic S. Plus précisément, le mode de réalisation peut être un commutateur ATM ou un appareil d'interconnexion ATM utilisant ce dispositif 100 de mise en forme de trafic. En variante, le dispositif 1300 de mise en forme de trafic de la figure 14 peut être utilisé comme dispositif de mise en forme de trafic S. Le résultat est dans tous les cas un appareil de communication ATM présentant les avantages cités précédemment. Si l'on se réfère toujours à la figure 2, le cinquième mode de réalisation de l'invention est un appareil 33 de communication ATM utilisant le dispositif 1100 de mise en forme de trafic de la figure 12 en tant que son dispositif de mise en forme de trafic S, et un répartiteur de ligne du type simple décrit à propos de la figure 12 en tant que répartiteur de ligne D. La figure 15 représente cet appareil 33 de communication ATM de façon un peu plus détaillée. Outre le dispositif 100 de mise en forme de trafic, l'appareil comprend une unité 1510 terminale et un répartiteur 1520 de ligne. L'unité 1510 terminale effectue des fonctions telles que le détramage, c'est-à-dire l'élimination des bits du motif de trame du flux de données passant sur la ligne 1530 de réseau d'entrée, afin qu'un flux de cellules ATM normales puisse être fourni au dispositif 1100 de mise en forme de
trafic sur sa ligne 1150 de signal d'entrée.
Le répartiteur 1520 de ligne comprend un sélecteur 1540 comme décrit plus haut, qui sélectionne tour à tour des lignes de sortie A et B, conformément à un motif identique à celui des affectations de tranches de sortie sur la ligne 1151 de signal. Ce sélecteur 1540 fournit en sortie des cellules aux dispositifs 1541 et 1542 de verrouillage de trame qui verrouillent la trame des informations de cellules en vue de leurs transmissions respectives sur les lignes A et B. La ligne A est connectée à un terminal 31 de réception
et la ligne B, à un terminal 36 de réception.
Le répartiteur 1520 de ligne a une structure simple et ne nécessite qu'une petite quantité de mémoire tampon dans les dispositifs 1541 et 1542 de verrouillage de trame. La quantité totale de mémoire nécessitée par le dispositif 1100 de mise en forme de trafic et le répartiteur 1520 de ligne
est fortement réduite par comparaison à l'art antérieur.
L'appareil de communication ATM de l'invention peut bien sûr comprendre des systèmes en plus de ceux représentés dans la figure 15, tels qu'un réseau de commutation et des
systèmes d'exploitation, d'administration et de maintenance.
Plusieurs variantes des modes de réalisation
précédents ont été mentionnées au cours des descriptions qui
précèdent. Plusieurs autres variantes seront indiquées ci-
après. Bien que le premier mode de réalisation ne comporte que deux classes de priorité de retard, le nombre de classes peut être de trois ou davantage. Il suffit de prévoir des plans de priorité supplémentaires dans le groupe 920 d'éléments affectés de la figure 9. Les priorités peuvent être fixées de façon à conférer la priorité la plus haute à des connexions dans lesquelles des cellules contenant des informations de commande de réseau sont insérées, étant donné que c'est le retard de ces cellules qui a l'effet le
plus défavorable sur les performances du réseau.
Le second mode de réalisation ne desservait que deux lignes de sortie A et B, mais il peut être adapté à desservir davantage de lignes par addition d'un plus grand nombre de plans aux groupes 1220 et 1230 d'éléments affectés et d'éléments de sortie. Le dispositif de mise en forme de trafic de l'invention peut facilement traiter un trafic correspondant à un nombre quelconque de lignes de sortie, en prélevant des cellules dans les files d'attente de sortie correspondantes selon la séquence désignée par les tranches
de sortie.
Les second et troisième modes de réalisation ne prévoyaient pas de moyens pour affecter des connexions à des classes de priorité de retard différentes, mais cela pourrait être effectué de la même manière que dans le premier mode de réalisation. A titre d'exemple, dans le second mode de réalisation, il suffit de prévoir un plan séparé dans le groupe 1220 d'éléments affectés, pour chaque combinaison d'une ligne de sortie et d'une classe de priorité. Le groupe 1230 d'éléments de sortie n'exige encore qu'un seul plan par ligne de sortie. Dans le troisième mode de réalisation, on pourrait prévoir un plan distinct de mémoires de type FIFO pour chaque classe de priorité de la
mémoire 1310 de cellules.
Le troisième mode de réalisation peut également être adapté pour faciliter la répartition des lignes. A titre d'exemple, la mémoire 1310 peut être divisée en des plans différents pour des lignes différentes, comme c'était le cas du groupe 1220 d'éléments affectés, et du groupe 1230
d'éléments de sortie du second mode de réalisation.
Dans les premier et second modes de réalisation, il serait possible de prévoir une mémoire d'éléments indépendante pour chaque classe de priorité ou chaque ligne de sortie, au lieu de diviser une seule mémoire d'éléments
en des plans différents.
Le procédé de réception de cellules d'entrée des premier et second modes de réalisation consistait tout d'abord à stocker la cellule dans le champ d'information de cellules d'un élément libre, puis, si la cellule n'était pas vide, à mettre à jour des pointeurs de façon à relier l'élément à une chaîne d'éléments affectés. En variante, il est possible de placer momentanément chaque cellule d'entrée dans un petit tampon d'entrée séparé puis, si la cellule n'est pas vide, d'écrire les données de cellule dans le champ d'information de cellule d'un élément libre et de mettre simultanément à jour le champ de pointeur de chaîne
Pc de cet élément.
L'invention n'est pas limitée aux configurations de la mémoire et aux méthodes de gestion de la mémoire des trois premiers modes de réalisation. La mémoire d'éléments du premier mode de réalisation était gérée au moyen d'une mémoire de pointeur et d'un contrôleur de mémoire de pointeur distincts pour chaque classe de priorité de retard, la mémoire d'éléments du second mode de réalisation était gérée au moyen d'une mémoire de pointeur et d'un contrôleur de mémoire de pointeur distincts pour chaque ligne de sortie, et la mémoire de cellules du troisième mode de réalisation était une mémoire FIFO distincte pour chaque temps de départ de cellule, en plus d'une mémoire FIFO de sortie, mais l'invention peut être mise en oeuvre avec une configuration quelconque de la mémoire et un procédé quelconque pour stocker des cellules d'entrée, afin de permettre une identification des temps de départ des cellules, et de cellules ayant des temps de départ de cellule identiques. L'une des possibilités est de stocker les cellules elles-mêmes dans une mémoire, alors qu'une autre mémoire stocke les adresses de toutes les cellules
affectées à chaque temps de départ.
La mise en forme du trafic était réalisée, dans les modes de réalisation décrits ci-dessus dans le cas de connexions correspondant à des adresses ITV/ICV individuelles, mais cela ne constitue pas non plus une restriction. L'invention peut être mise en oeuvre en utilisant d'autres unités logiques de contrôle du trafic. A titre d'exemple, une allocation de largeur de bande unique
pourrait être établie pour chaque trajet virtuel (ITV).
L'invention n'est pas limitée à une utilisation dans des systèmes de communication ATM. Elle peut être appliquée à un type quelconque d'appareil de transmission par paquets qui se heurte aux mêmes problèmes de gestion de largeur de bande. Aucune des variantes indiquées ci- dessus ne modifie les avantages fondamentaux de l'invention. Étant donné qu'il stocke des cellules d'entrée en fonction de leurs temps de départ calculés et non pas en fonction de leurs destinations, le dispositif de mise en forme de trafic de l'invention peut faire face à un très grand nombre de connexions. En évitant une sortie inutile de cellules vides, le dispositif de mise en forme de trafic de l'invention permet également d'exploiter efficacement les ressources de largeur de bande du réseau, quel que soit le nombre de connexions. De plus, en stockant des cellules d'entrée de manière efficace, l'invention peut réduire le volume
nécessaire de la mémoire tampon de cellule.
Les spécialistes de la technique noteront que de
nombreuses autres variantes peuvent être envisagées.

Claims (27)

REVENDICATIONS
1. Procédé pour commander la sortie de paquets d'un noeud dans un réseau de communication de transmission par paquets afin qu'ils soient adaptés à des allocations de largeur de bande désignées, caractérisé en ce qu'il comporte les étapes qui consistent: à recevoir des paquets dans ledit noeud; à calculer un temps de départ pour chaque paquet ainsi reçu en fonction desdites allocations de largeur de bande; à stocker les paquets ainsi reçus dans une mémoire (105, 1105, 1310) de paquets, chaque paquet étant stocké en fonction du temps de départ calculé pour ledit paquet; à transférer des paquets stockés dans ladite mémoire (105) de paquets vers une file d'attente de sortie dans ladite mémoire de paquets auxdits instants de départ, chaque paquet étant transféré lors du temps de départ calculé pour ledit paquet, et des paquets ayant des temps de départ identiques étant transférés simultanément; et à sortir lesdits paquets en séquence de ladite
file d'attente de sortie.
2. Procédé selon la revendication 1,caractérisé en ce que, dans ladite mémoire de paquets, lesdits paquets sont stockés dans des files d'attente distinctes pour des
temps de départ distincts.
3. Procédé selon la revendication 2, caractérisé en ce que ladite mémoire (105, 1105) de paquets est organisée en éléments, chaque élément stockant un paquet, et lesdits éléments stockent également des pointeurs respectifs utilisés pour définir ladite file d'attente de sortie et
lesdites files d'attente distinctes.
4. Procédé selon la revendication 3, caractérisé en ce que ladite étape de transfert est effectuée par
modification desdits pointeurs.
5. Procédé selon la revendication 4, caractérisé en ce que ladite mémoire de paquets comprend également un groupe d'éléments libres à partir duquel des éléments sont fournis auxdites files d'attente distinctes pour stocker lesdits paquets dans lesdites files d'attente distinctes et auquel des éléments sont renvoyés en provenance de ladite
file d'attente de sortie après la sortie desdits paquets.
6. Procédé selon la revendication 5, caractérisé en ce que ladite étape de stockage comprend: le stockage d'un paquet dans un élément dudit groupe d'éléments libres; et la modification d'au moins l'un desdits pointeurs de façon à transférer ledit élément dudit groupe d'éléments libres vers l'une desdites files d'attente distinctes.
7. Procédé selon la revendication 1, caractérisé en ce que lesdits paquets ont des priorités, et des paquets ayant des temps de départ identiques sont transférés vers ladite file d'attente de sortie dans l'ordre desdites priorités.
8. Procédé selon la revendication 7, caractérisé en ce que lesdits paquets sont stockés dans des files d'attente distinctes dans ladite mémoire (105) de paquets, chaque file d'attente parmi lesdites files d'attente distinctes correspondant à un temps de départ et à une
priorité parmi lesdites priorités.
9. Procédé selon la revendication 1, caractérisé en ce que: lesdits paquets sont désignés pour la sortie dudit noeud sur au moins deux lignes différentes; ladite mémoire de paquets a une file d'attente de sortie séparée pour chacune desdites lignes; et lors de ladite étape de transfert, lesdits paquets sont transférés vers des files d'attente de sortie
correspondant à leurs lignes désignées.
10. Procédé selon la revendication 9, caractérisé en ce que lesdits paquets sont stockés dans des files d'attente distinctes dans ladite mémoire (105) de paquets, chaque file d'attente parmi lesdites files d'attente distinctes correspondant à un temps de départ et à
une ligne parmi lesdites lignes.
11. Procédé selon la revendication 1, caractérisé en ce que lesdits paquets sont des cellules à
mode de transfert asynchrone (ATM).
12. Procédé selon la revendication 1, caractérisé en ce que lesdits temps de départ sont calculés
par un algorithme du seau percé.
13. Dispositif de mise en forme de trafic (100) pour recevoir des paquets sur une première ligne (150) de signal et fournir en sortie lesdits paquets sur une seconde ligne (151) de signal en fonction d'allocations de largeur de bande désignées, caractérisé en ce qu'il comporte: une unité (108) à horloge interne pour compter les temps de départ selon un cycle répétitif; une mémoire (104) de paramètres pour stocker des informations concernant lesdites allocations de largeur de bande; une unité (103) de calcul de temps de départ reliée à ladite mémoire (104) de paramètres, pour affecter les paquets reçus sur ladite première ligne (150) de signal à des temps de départ au cours dudit cycle répétitif, ces temps de départ étant calculés en fonction des informations stockées dans ladite mémoire (104) de paramètres; une mémoire (105) de paquets pour stocker les paquets reçus sur ladite première ligne (150) de signal en attente d'une sortie desdits paquets sur ladite seconde ligne de signal; et une unité (116) de commande de mémoire de paquets reliée à ladite unité (108) à horloge interne, à ladite unité (103) de calcul de temps de départ et à ladite mémoire (105) de paquets, pour que ladite mémoire (105) de paquets stocke lesdits paquets en fonction des temps de départ auxquels lesdits paquets sont affectés, et pour fournir en sortie lesdits paquets sur ladite seconde ligne (151) de signal en fonction des temps de départ auxquels
lesdits paquets sont affectés.
14. Dispositif de mise en forme de trafic selon la revendication 13, caractérisé en ce que lesdits paquets ont des priorités, et ladite unité (116) de commande de mémoire de paquets provoque également la sortie desdits paquets de ladite mémoire (105) de paquets en fonction
desdites priorités.
15. Dispositif de mise en forme de trafic selon la revendication 13, caractérisé en ce que lesdits paquets ont des affectations à des lignes de transmission, et ladite unité (116) de commande de mémoire de paquets provoque également la sortie desdits paquets de ladite mémoire (105) de paquets en fonction desdites affectations à des lignes de transmission.
16. Dispositif de mise en forme de trafic selon la revendication 13, caractérisé en ce que ladite mémoire (105) de paquets comprend des éléments ayant des pointeurs respectifs pour organiser lesdits éléments en des chaînes, chacun desdits éléments ayant également un espace pour
stocker l'un desdits paquets.
17. Dispositif de mise en forme de trafic selon la revendication 16, caractérisé en ce que les éléments de ladite mémoire (105) de paquets sont organisés en: une chaîne d'éléments libres dans ladite mémoire (105) de paquets, comprenant des éléments dans lesquels aucun paquet n'est stocké; un ensemble de chaînes d'éléments affectés dans ladite mémoire (105) de paquets, lesdites chaînes d'éléments affectés étant affectées à des temps de départ respectifs et comprenant des éléments stockant des paquets affectés à des temps de départ correspondants; et une chaîne d'éléments de sortie dans ladite mémoire (105) de paquets, vers laquelle des éléments sont transférés en provenant desdites chaînes d'éléments affectés aux temps de départ auxquels lesdites chaînes d'éléments affectés sont affectées, et à partir de laquelle des paquets sont fournis en sortie sur ladite seconde ligne (151) de signal.
18. Dispositif de mise en forme de trafic selon la revendication 17, caractérisé en ce que ladite unité (116) de commande de mémoire a des mémoires de pointeurs pour stocker des pointeurs identifiant ladite chaîne d'éléments libres, lesdites chaînes d'éléments affectés, et
ladite chaîne d'éléments de sortie.
19. Dispositif de mise en forme de trafic selon la revendication 17, caractérisé en ce que: lesdits paquets ont des priorités; et chaque chaîne d'éléments affectés dudit ensemble de chaînes d'éléments affectés est affectée à un temps de départ parmi lesdits temps de départ et à une priorité parmi lesdites priorités, et comprend des éléments stockant des paquets affectés audit temps de départ et ayant ladite priorité.
20. Dispositif de mise en forme de trafic selon la revendication 19, caractérisé en ce que ladite unité (116) de commande de mémoire transfère des éléments desdites chaînes d'éléments affectés, affectées à des temps de départ identiques, vers ladite chaîne d'éléments de sortie dans
l'ordre des priorités desdits éléments.
21. Dispositif de mise en forme de trafic selon la revendication 17, caractérisé en ce que: des paquets sont fournis en sortie sur ladite seconde ligne (1151) de signal dans des tranches de temps affectées à un ensemble de lignes de transmission, pour démultiplexer lesdites lignes de transmission; chaque paquet reçu par ledit dispositif de mise en forme de trafic est affecté à l'une desdites lignes de transmission; et chaque chaîne d'éléments affectés dudit ensemble de chaînes d'éléments affectés est affectée à un temps de départ parmi lesdits temps de départ et à une ligne de transmission parmi ledit ensemble de lignes de transmission, et comprend des éléments stockant des paquets affectés audit
temps de départ et à ladite ligne de transmission.
22. Dispositif de mise en forme de trafic selon la revendication 13, caractérisé en ce que ladite mémoire (1310) de paquets comprend:
un ensemble de mémoires du type premier entré-
premier sorti (13-0 à 13-Tmax), chacune dudit ensemble de mémoires du type premier entré-premier sorti stockant des paquets affectés à un temps de départ correspondant; et une mémoire (1311) du type premier entré-premier sorti de sortie pour recevoir, en provenance de chaque mémoire du type premier entré-premier sorti dudit ensemble
de mémoires du type premier entré-premier sorti (13-0 à 13-
Tmax), tous les paquets stockés dans ladite mémoire du type premier entré-premier sorti, à un instant de départ auquel correspond ladite mémoire du type premier entré-premier sorti.
23. Dispositif de mise en forme de trafic selon la revendication 13, caractérisé en ce que lesdits paquets
sont des cellules à mode de transfert asynchrone (ATM).
24. Appareil de communication par paquets pour envoyer et recevoir des paquets dans un noeud d'un réseau de communication par paquets, ayant un dispositif (100, 1100, 1300) de mise en forme de trafic pour commander la sortie desdits paquets dudit noeud en fonction d'allocations de largeur de bande désignées, caractérisé en ce que ledit dispositif de mise en forme de trafic comporte: une unité (108) à horloge interne pour compter cycliquement le temps; une mémoire (104) de paramètres pour stocker des informations concernant lesdites allocations de largeur de bande; une unité (103) de calcul de temps de départ reliée à ladite mémoire (104) de paramètres pour calculer des temps de départ des paquets reçus dans ledit noeud en fonction des informations stockées dans ladite mémoire (104) de paramètres; une mémoire (105) de paquets pour stocker lesdits paquets dans l'attente de la sortie desdits paquets dudit noeud; et une unité (116) de commande de mémoire de paquets reliée à ladite unité (108) à horloge interne, à ladite unité (103) de calcul de temps de départ, et à ladite mémoire (105) de paquets, pour commander le stockage desdits paquets dans ladite mémoire (105) de paquets en fonction desdits temps de départ, et commander la sortie desdits paquets de ladite mémoire (105) de paquets en fonction
desdits temps de départ.
25. Dispositif de mise en forme de trafic selon la revendication 24, caractérisé en ce que lesdits paquets ont des priorités, et ladite unité (116) de commande de mémoire de paquets provoque également la sortie desdits
paquets en fonction desdites priorités.
26. Dispositif de mise en forme de trafic selon la revendication 24, caractérisé en ce que: ledit noeud est connecté à des lignes de sortie différentes; et ladite unité (116) de commande de mémoire de paquets provoque la sortie desdits paquets de ladite mémoire (105) de paquets sur une ligne (1151) de signal interne dans des tranches de temps de sortie affectées à des lignes de
sortie respectives.
27. Dispositif de mise en forme de trafic selon la revendication 26, caractérisé en ce qu'il comporte également un répartiteur (1520) de ligne pour répartir les paquets sortant de ladite mémoire (105) de paquets dans ledit dispositif (1100) de mise en forme de trafic vers des
lignes de sortie respectives.
FR9510258A 1994-09-01 1995-08-31 Dispositif de mise en forme de trafic et appareil de communication par paquets. Expired - Fee Related FR2724277B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20848894A JP2922119B2 (ja) 1994-09-01 1994-09-01 帯域規制装置及びパケット通信装置

Publications (2)

Publication Number Publication Date
FR2724277A1 true FR2724277A1 (fr) 1996-03-08
FR2724277B1 FR2724277B1 (fr) 1997-08-01

Family

ID=16556999

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9510258A Expired - Fee Related FR2724277B1 (fr) 1994-09-01 1995-08-31 Dispositif de mise en forme de trafic et appareil de communication par paquets.

Country Status (5)

Country Link
US (1) US5640389A (fr)
JP (1) JP2922119B2 (fr)
CA (1) CA2156096A1 (fr)
DE (1) DE19531749A1 (fr)
FR (1) FR2724277B1 (fr)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0936912A (ja) * 1995-07-14 1997-02-07 Fujitsu Ltd バッファ制御方式
US5872769A (en) 1995-07-19 1999-02-16 Fujitsu Network Communications, Inc. Linked list structures for multiple levels of control in an ATM switch
JP2833555B2 (ja) * 1995-10-31 1998-12-09 日本電気株式会社 優先制御方式
US5796719A (en) * 1995-11-01 1998-08-18 International Business Corporation Traffic flow regulation to guarantee end-to-end delay in packet switched networks
KR0175486B1 (ko) * 1995-12-22 1999-04-01 양승택 비동기전달모드 간격제어기의 재방출간격 제어방법
US6091725A (en) * 1995-12-29 2000-07-18 Cisco Systems, Inc. Method for traffic management, traffic prioritization, access control, and packet forwarding in a datagram computer network
JP2795257B2 (ja) * 1996-04-15 1998-09-10 日本電気株式会社 トラフィックシェーパのセル出力競合制御方式
US6134217A (en) * 1996-04-15 2000-10-17 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks with fairness and low latency
US6064677A (en) * 1996-06-27 2000-05-16 Xerox Corporation Multiple rate sensitive priority queues for reducing relative data transport unit delay variations in time multiplexed outputs from output queued routing mechanisms
JPH1023037A (ja) * 1996-07-05 1998-01-23 Nec Corp トラヒックシェーピング方式
US6018527A (en) * 1996-08-13 2000-01-25 Nortel Networks Corporation Queue service interval based cell scheduler with hierarchical queuing configurations
US5822612A (en) * 1996-09-12 1998-10-13 Thomas; Robert E. Apparatus and method for managing schedule table pointers
JP2882384B2 (ja) * 1996-09-27 1999-04-12 日本電気株式会社 トラヒックシェーピング装置
US6075770A (en) * 1996-11-20 2000-06-13 Industrial Technology Research Institute Power spectrum-based connection admission control for ATM networks
JP2964968B2 (ja) * 1996-12-06 1999-10-18 日本電気株式会社 シェーピング処理装置およびシェーピング処理方法
US5961605A (en) * 1997-02-06 1999-10-05 Gte Laboratories Incorporated Method and apparatus for acknowledging TCP data packets
FR2763448B1 (fr) * 1997-05-13 1999-07-16 Fihem Espaceur de cellules atm
US5818839A (en) * 1997-06-27 1998-10-06 Newbridge Networks Corporation Timing reference for scheduling data traffic on multiple ports
GB2327317B (en) 1997-07-11 2002-02-13 Ericsson Telefon Ab L M Access control and resourse reservation in a communications network
US6421350B1 (en) * 1997-09-30 2002-07-16 Lucent Technologies Inc. Device and method for controlling the quality-of service in data networks
US6052375A (en) * 1997-11-26 2000-04-18 International Business Machines Corporation High speed internetworking traffic scaler and shaper
JP3063726B2 (ja) 1998-03-06 2000-07-12 日本電気株式会社 トラヒックシェーパ
CA2272221C (fr) 1998-05-25 2004-01-06 Samsung Electronics Co., Ltd. Methode de monitorage et de gestion du trafic en temps reel dans un noeud de commutation mta
SE521609C2 (sv) * 1998-10-28 2003-11-18 Switchcore Ab Buffertminne, buffertkontrollenhet och en metod för att hantera köer i en ATM-växel
US6466580B1 (en) * 1999-02-23 2002-10-15 Advanced Micro Devices, Inc. Method and apparatus for processing high and low priority frame data transmitted in a data communication system
US6996098B2 (en) * 1999-03-31 2006-02-07 Sedna Patent Services, Llc Method and apparatus for injecting information assets into a content stream
US6728265B1 (en) * 1999-07-30 2004-04-27 Intel Corporation Controlling frame transmission
US6647419B1 (en) * 1999-09-22 2003-11-11 Hewlett-Packard Development Company, L.P. System and method for allocating server output bandwidth
US6728253B1 (en) 1999-09-24 2004-04-27 International Business Machines Corporation Mixed queue scheduler
JP2001230810A (ja) * 2000-02-16 2001-08-24 Fujitsu Ltd パケット流量制御装置および方法
US6954429B2 (en) * 2000-04-05 2005-10-11 Dyband Corporation Bandwidth control system
US6473435B1 (en) 2000-06-30 2002-10-29 Marconi Communications, Inc. Method and apparatus for transferring packets to a memory
CA2327001A1 (fr) * 2000-11-27 2002-05-27 Redback Networks Systems Canada Inc. Methode et appareil de verification de conditions particulieres de police
US6801959B1 (en) 2001-05-16 2004-10-05 Lexmark International, Inc. Relaxed-timing universal serial bus with a start of frame packet generator
US7505458B2 (en) * 2001-11-27 2009-03-17 Tellabs San Jose, Inc. Apparatus and method for a fault-tolerant scalable switch fabric with quality-of-service (QOS) support
US7161904B2 (en) * 2002-06-04 2007-01-09 Fortinet, Inc. System and method for hierarchical metering in a virtual router based network switch
US20050010676A1 (en) * 2003-06-30 2005-01-13 Muthaiah Venkatachalam Time-based transmission queue for traffic management of asynchronous transfer mode virtual circuits on a multi-threaded, multi-processor system
CN100399779C (zh) * 2003-12-19 2008-07-02 联想(北京)有限公司 一种预测带宽的数据发送方法
US20050254423A1 (en) 2004-05-12 2005-11-17 Nokia Corporation Rate shaper algorithm
US7802148B2 (en) * 2005-02-23 2010-09-21 Broadcom Corporation Self-correcting memory system
US7660312B2 (en) * 2005-06-20 2010-02-09 At&T Intellectual Property, I, L.P. Method and apparatus for reshaping cell-based traffic
US8223642B2 (en) * 2006-04-28 2012-07-17 Tellabs San Jose, Inc. Differentiated services using weighted quality of service (QoS)
DE102007034754A1 (de) * 2007-07-25 2009-01-29 Rohde & Schwarz Gmbh & Co. Kg Vorrichtung und Verfahren zur Erhöhung des Datendurchsatzes in Funknetzen
US8385205B2 (en) * 2007-09-20 2013-02-26 Tellabs Operations, Inc. Modeling packet traffic using an inverse leaky bucket

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0297629A2 (fr) * 1984-07-13 1989-01-04 BRITISH TELECOMMUNICATIONS public limited company Système de communication
EP0420492A2 (fr) * 1989-09-26 1991-04-03 AT&T Corp. Réseau de commutation par paquets pour des types différents de paquets
EP0438009A1 (fr) * 1990-01-19 1991-07-24 Pierre Boyer Méthode et système de lissage et de contrôle de débits de communications temporelles asynchrones

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE122191T1 (de) * 1991-02-01 1995-05-15 Siemens Ag Verfahren zur überwachung und glättung von datenströmen, die nach einem asynchronen übertragungsverfahren übertragen werden.
JP3278865B2 (ja) * 1991-06-28 2002-04-30 日本電気株式会社 トラヒック制御方法
DE4128411A1 (de) * 1991-08-27 1993-03-04 Siemens Ag Anordnung zur bitratenueberwachung in atm-netzen
DE4132518C2 (de) * 1991-09-30 1994-07-14 Siemens Ag Schaltungsanordnung für die Übertragung von digitalen Nachrichtensignalen über ein nach einem asynchronen Transfermodus arbeitendes Breitband-Kommunikationssystem
FR2686205B1 (fr) * 1992-01-14 1994-03-25 Pierre Boyer Methode de controle de debit de cellules.
CA2104753C (fr) * 1992-10-29 1999-02-16 Kotikalapudi Sriram Determination de la largeur de bande, ordonnancement des transmissions et evitement des encombrements dans les reseaux mta a large bande
US5519701A (en) * 1995-03-29 1996-05-21 International Business Machines Corporation Architecture for high performance management of multiple circular FIFO storage means

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0297629A2 (fr) * 1984-07-13 1989-01-04 BRITISH TELECOMMUNICATIONS public limited company Système de communication
EP0420492A2 (fr) * 1989-09-26 1991-04-03 AT&T Corp. Réseau de commutation par paquets pour des types différents de paquets
EP0438009A1 (fr) * 1990-01-19 1991-07-24 Pierre Boyer Méthode et système de lissage et de contrôle de débits de communications temporelles asynchrones

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
H.J. CHAO: "Design of a leaky bucket access control schemes in ATM networks", INTERNATIONAL CONFERENCE ON COMMUNICATIONS, vol. 1, US, pages 180 - 187 *
P. LANDSBERG ET AL.: "Generic queue scheduling: concepts and VLSI", IEEE INFOCOM, vol. 3, US, pages 1438 - 1445 *

Also Published As

Publication number Publication date
JPH0879264A (ja) 1996-03-22
FR2724277B1 (fr) 1997-08-01
CA2156096A1 (fr) 1996-03-02
JP2922119B2 (ja) 1999-07-19
DE19531749A1 (de) 1996-03-07
US5640389A (en) 1997-06-17

Similar Documents

Publication Publication Date Title
FR2724277A1 (fr) Dispositif de mise en forme de trafic et appareil de communication par paquets.
JP5863076B2 (ja) パケットを再構築し再順序付けするための方法、装置、およびシステム
JP2682561B2 (ja) プログラマブル回線アダプタ
EP0403911B1 (fr) Procédé et dispositif de gestion d&#39;acces au support de transmission d&#39;un réseau de commutation reparti multiservices
EP0126196B1 (fr) Réseau de commutation temporelle asynchrone permettant les communications point à point, de fusion et de diffusion
FR2948840A1 (fr) Reseau de communication sur puce avec garantie de service
FR2883116A1 (fr) Architecture de communication globalement asynchrone pour systeme sur puce.
FR2701180A1 (fr) Dispositif de cellulisation et dispositif de décellulisation de voies numériques synchromes, centre de commutation de voies numériques synchrones, et centre de commutation de voies numériques asynchrones.
CN102171580A (zh) 在被管理网络上的layer-2处的包汇聚和分割
EP1835411A1 (fr) Systeme sur puce a controle semi-distribue
FR2820921A1 (fr) Dispositif et procede de transmission dans un commutateur
FR2804812A1 (fr) Procede et dispositif de communication entre un premier et un deuxieme reseau
FR2758034A1 (fr) Procede d&#39;organisation de la transmission de cellules dans un reseau a transfert asynchrone
US9241049B2 (en) System and method for efficient networking for large file transactions
WO1985001849A1 (fr) Systeme de multiplexage numerique temporel asynchrone a bus distribue
JP4516395B2 (ja) リンク・リスト・プロセッサを持つメモリ管理システム
EP0878758B1 (fr) Dispositif de tri d&#39;éléments de données à arbre binaire et espaceur ATM comportant un tel dispositif
FR2824434A1 (fr) Procede de diffusion d&#39;un paquet de donnees au sein d&#39;un reseau commute, base sur un calcul optimise de l&#39;arbre de recouvrement
FR2549673A1 (fr) Commutateur elementaire pour autocommutateur utilisant une technique de multiplexage asynchrone
FR2618279A1 (fr) Systeme de commutation de paquets de donnees a priorites.
FR2649269A1 (fr) Systemes complementaires de communication en mode sans-connexion pour reseau temporel asynchrone
CN101542985B (zh) 分组交换装置及方法
EP1374465B1 (fr) Commutateur de trames d&#39;informations de taille variable pour reseaux securitaires embarques
WO1999038293A2 (fr) Systeme et procede de commutation asynchrone de cellules composites, et modules de port d&#39;entree et de port de sortie correspondants
Ofek Integration of voice communication on a synchronous optical hypergraph

Legal Events

Date Code Title Description
ST Notification of lapse