Brevet FR2771572A1 — publié le 19990528

La présente invention se rapporte aux procédés de dispersion et de remise en ordre de cellules. Elle s'applique en particulier à un commutateur ATM, abréviation anglo-saxonne de Asynchronous Transfer Mode, pour véhiculer des informations numériques de nature et de débit aussi variés qu'irréguliers (voix, vidéos, fichiers). Ces informations numériques forment des flux de trafic qui peuvent être classés en deux grandes catégories : -une première catégorie de flux regroupe les trafics de type temps réel. De tels trafics sont caractérisés par des paramètres de trafic et des paramètres de contrainte de temps, - une deuxième catégorie de flux regroupe les trafics de type non temps réel pour lesquels les paramètres de trafic sont peu ou pas définis. Le transfert d'informations numériques par un commutateur est réalisé par l'établissement d'une connexion entre un point d'entrée et un point de sortie du commutateur. Lorsqu'il s'agit d'un trafic de type temps réel, les ressources nécessaires sont réservées en fonction des paramètres du trafic. Ce type de trafic ne pose pas de problème. Lorsqu'il s'agit d'un trafic de type non temps réel, il est difficile de réserver des ressources en fonction de paramètres incertains. Ce type de trafic conduit à des connexions ayant des périodes d'activité par rafales. Dans ces conditions, le commutateur doit pouvoir supporter des pointes de trafic sans perte de cellules. Les techniques de routage internes traditionnelles qui consistent à réserver un chemin de transmission au sein du commutateur en fonction de paramètres du trafic, et des paramètres de contrainte de temps sont inefficaces pour ce type de trafic. En particulier les techniques traditionnelles sont inefficaces pour l'ensemble des services suivants, définis par l'ATM Forum dans la spécification V.4 intitulé Traffic management : le service ABR, initiales anglo-saxonne pour Available Bit Rate, .le service VBRNRT, initiales anglo-saxonne pour Variable Bit Rate Non Real Time, le service UBR, initiales anglo-saxonne pour Unspecified Bit Rate. Soit par exemple une configuration donnée dans laquelle deux chemins de transmission, notés al et a2, dont une portion est commune permettent de relier chacun une source à une destination séparées par un réseau d'entités de commutation intermédiaires. Deux connexions dont le trafic est sporadique empruntent chacune un de ces deux chemins de transmission. Les connexions étant sporadiques et le nombre de connexion étant parfois grand (plusieurs milliers), cette configuration est très probable. Lorsque les deux connexions émettent en même temps à pleine bande, une congestion se produit sur la portion commune à a1 et a2 quel que soit le trafic écoulé sur tous les autres chemins. Dans cette situation, des capacités de commutation du réseau peuvent être perdues; les techniques de routage internes traditionnelles sont dans ce cas inefficaces. La sous-utilisation des capacités de commutation du réseau est accrue lorsqu'une partie du trafic correspond à des connexions établies chacune entre une source et plusieurs destinations, le trafic est dans ce cas qualifié de multicast , suivant la terminologie anglo-saxonne. L'invention propose une solution pour résoudre le problème précédent d'une manière efficace, que le trafic corresponde à des connexions établies chacune entre une source et une destination (le trafic est dans ce cas qualifié de unicast , suivant la terminologie anglo-saxonne) ou que le trafic corresponde à des connexions établies chacune entre une source et plusieurs destinations. A cet effet, I'invention a pour objet un procédé de dispersion et de remise en ordre de cellules transmises au moyen de connexions établies entre une source et une ou plusieurs destination(s) reliées par un réseau d'entités de commutation intermédiaires définissant des chemins de transmission caractérisé en ce qu'il considère l'ensemble des chemins de transmission comme une seule ressource de transmission accessible à toutes les connexions dans laquelle il disperse les cellules suivant un premier processus déterminé et en ce qu'il remet en ordre les cellules arrivées à destination suivant un deuxième processus déterminé. Afin d'éviter un blocage sur un des chemins de transmission du réseau, I'ensemble des chemins de transmission est géré comme étant une ressource globale pour véhiculer le trafic de connexions données. Pour cela, les cellules en provenance d'un point d'entrée, la source, sont dispersées dans le réseau à destination d'un point de sortie, la destination dans le cas de connexions unicast ou à destination des points de sortie, les destinations, dans le cas de connexions multicast. La capacité de commutation globale du réseau est partagée par toutes les connexions. Selon un mode préférentiel de réalisation du procédé, le processus de dispersion est effectué sur la base de la connexion ' les cellules des différentes connexions sont dispersées sur les différents chemins de transmission suivant une loi régulière (ou round robin suivant la terminologie anglo-saxonne). Le processus de remise en ordre exploite des données contenues dans un contexte de connexion attaché à la destination. L'invention a pour avantage de gérer efficacement toutes les capacités de commutation du réseau et de ne pas perdre de capacités de commutation quel que soit le type de connexion : unicast (une source vers une destination) ou multicast (une source vers plusieurs destinations). L'invention sera bien comprise et d'autres caractéristiques et avantages apparaîtront clairement lors de la description suivante d'exemples particuliers de réalisation, s'appliquant aussi bien pour des connexions unicast que pour des connexions multicast, illustrées par les figures annexées qui représentent: -la figure 1, une architecture d'un commutateur 1, ATM par exemple, - la figure 2, un premier contexte de connexion, - la figure 3, une représentation détaillée des champs du premier contexte de connexion de la figure 2, - la figure 4, un deuxième contexte de connexion - les figure 5 et 6, des représentations détaillées des champs du deuxième contexte de connexion de la figure 4, - la figure 7, des cas particuliers gérés par le processus de remise en ordre, - la figure 8, différentes étapes d'un exemple particulier de remise en ordre de cellules. Sur les différentes figures, les éléments homologues sont représentés avec une meme référence. La figure 1 représente une architecture d'un commutateur 1, ATM par exemple. Généralement de grande capacité, il est basé sur l'utilisation de modules de commutation internes 2 organisés en réseau entre des modules d'entrée 3 et des modules de sortie 4i. Entre un module d'entrée 3 donné et un module de sortie 4 donné, différents chemins de transmission existent. Pour l'exemple de commutateur illustré par la figure 1, il y a autant de chemins de transmission différents qu'il y a de modules de commutation intermédiaires dans la colonne centrale, soient les chemins de transmission ai, a2, a3, a4 entre les modules sélectionnés. Entre le module d'entrée 3, et le module de sortie 4, N1 connexions sont à établir, C1, CN1 avec Ni=100 par exemple. Ces connexions ont pour caractéristique un trafic sporadique de cellules. Pour gérer efficacement les capacités de commutation du réseau de modules de commutation internes 2 entre le module d'entrée 3, et le module de sortie 4,, le procédé considère les différents chemins de transmission al, a2, a3, a4 comme une seule ressource de transmission. Les cellules des différentes connexions C1,..., CNî sont ainsi dispersées sur les différents chemins de transmission al, a2, a3, a4. Pour disperser les cellules , le procédé suit un premier processus déterminé. Lorsqu'elles arrivent à destination, les cellules des différentes connexions C1,..., CNI sont remises en ordre suivant un deuxième processus déterminé. Le deuxième processus consiste essentiellement, pour une connexion donnée, à mémoriser les cellules dans des files d'attente dédiées chacune à un chemin de transmission, à extraire les cellules des files d'attente suivant des critères déterminés pour les ranger dans une file de séquencement et à purger les files d'attente lorsqu'une cellule y reste trop longtemps en attente. Suivant un mode privilégié de réalisation, le premier processus et le deuxième processus du procédé sont décrits ci-après. Pour disperser et remettre en ordre les cellules, le procédé met en oeuvre différents contextes de connexion. Un premier contexte de connexion, illustré à titre indicatif par la figure 2, est géré par le premier processus pour chaque connexion. Le premier contexte de connexion 5 comprend plusieurs champs 6, 7, 8. Les différents champs 6, 7, 8 sont détaillés sur la figure 3. Un premier champ 6 contient une information permettant de gérer simultanément des connexions utilisant le procédé de dispersion et des connexions n'utilisant pas le procédé de dispersion. Ainsi, cette disposition autorise par exemple la gestion simultanée de connexions destinées à gérer dans la bande des entités de commutation intermédiaire qui ne font pas appel au procédé de dispersion avec des connexions supportant le trafic utilisateur normal qui font appel au procédé de dispersion. Suivant l'illustration le premier champ 6 comprend un bit, par exemple positionné à i lorsqu'il s'agit d'une connexion utilisant le procédé de dispersion. Un deuxième champ 7 contient un numéro ND(T PATH E indiquant le numéro du chemin de transmission an devant être suivi par la cellule à disperser. Suivant l'illustration le deuxième champ 7 comprend trois bits permettant de distinguer un nombre, NB~PATH, de chemins de transmission an égal au maximum à huit de a, à a8, pour une connexion donnée. Après dispersion d'une cellule dans le réseau, le premier processus incrémente le numéro NEXT PATH E pour la cellule suivante. Au moment de l'établissement d'une connexion, entre le module d'entrée 31 et le module de sortie 4,, le numéro NEXT~PATH~E est initialisé à une valeur déterminée aléatoirement de manière à équilibrer la charge de trafic sur le réseau d'entités de commutation. Un troisième champ 8 contient un numéro NEXT~SN~E indiquant le numéro de séquence de la cellule à disperser. Au moment de l'établissement d'une connexion, le numéro de séquence NEXT SN E est initialisé à 0. Avant d'être dispersée chaque cellule est renseignée de son numéro de séquence SN = NEXT~SN~E et de son numéro de chemin de transmission PATH = NEXT~PATH~E appelés informations de dispersion. Ces deux informations de dispersion SN et PATH sont mémorisées dans un entête de la cellule indépendant du premier contexte de connexion. Un deuxième contexte de connexion, illustré à titre indicatif par la figure 4, est géré par le deuxième processus pour chaque connexion. Le deuxième contexte de connexion 9 comprend plusieurs champs 10,11. Les différents champs 10,11 sont détaillés sur la figure 5 et la figure 6. Un premier champ 10 détaillé sur la figure 5 contient plusieurs informations. Une première information 12 est de même nature que l'information contenue dans le premier champ 6 du premier contexte de connexion 5. Une deuxième information 13 est de même nature que l'information contenue dans le deuxième champ 7 du premier contexte de connexion 5. La deuxième information 13 donne le numéro du chemin de transmission de la cellule attendue par le module de sortie pour la connexion donnée. Une troisième information 14 est de même nature que l'information contenue dans le troisième champ 8 du premier contexte de connexion 5. La troisième information 14 donne le numéro de séquence de la cellule attendue par le module de sortie pour la connexion donnée. Une quatrième information 15 indique si le deuxième processus doit prendre en compte ou pas une cinquième information 16 décrite ci-après. Suivant l'illustration, la quatrième information 15 comprend un bit, par exemple positionné à 1 lorsque le processus doit prendre en compte la cinquième information 16 décrite ci-après. La cinquième information 16 donne une indication du temps restant donné par un temporisateur, alloué au deuxième processus pour remettre en ordre les cellules. Suivant l'illustration la cinquième information 16 est codée sur 9 bits. Une sixième information 17 notée NB~DELAYED indique pour une connexion donnée le nombre de cellules en attente, toutes files d'attente confondues. Suivant l'illustration à chacun des chemins de transmission possibles (huit au maximum car NEXT PATH R est codé sur trois bits) correspond une file d'attente, soit huit files d'attente par connexion. La sixième information 17 comprend dix bits. Un deuxième champ il contient des descripteurs des files d'attente attachées à la connexion donnée. Le deuxième champ il comprend un descripteur Q~DESCRIPT [ ] par file d'attente. Le contenu d'un descripteur Q~DESCRIPT[ ] est détaillé à la figure 6. Un descripteur Q DESCRIPT [] comprend plusieurs informations. Une première information 18 donne la valeur d'un pointeur FRONT positionné sur la première cellule de la file d'attente. Suivant l'illustration le pointeur est codé sur 12 bits. Une deuxième information 19 donne la valeur d'un pointeur BACK positionné sur la dernière cellule de la file d'attente. Suivant l'illustration le pointeur est codé sur 12 bits. Une troisième information 20 nommée FRONT~SN donne les sept bits de poids faibles du numéro de séquence de la cellule qui est en tête de file. Une quatrième information 21 indique si la file d'attente est vide ou pas. Suivant l'illustration, la quatrième information 21 comprend un bit, par exemple positionné à 0 lorsque la file d'attente est vide, à i lorsqu'elle est non vide. Compte tenu des données précédemment décrites, le déroulement du procédé est le suivant: Lors de l'établissement d'une connexion le procédé démarre par une phase d'initialisation. Lors de cette phase, le premier processus choisit aléatoirement la valeur du chemin de transmission NEXT~PATH~E et il initialise le numéro de séquence NEXT~SN~E à zéro. Simultanément le deuxième processus initialise la valeur du chemin de transmission NEXT~PATH~R correspondant à la première cellule attendue à la valeur choisie aléatoirement par le premier processus pour NEXT~PATHE et il initialise le numéro de séquence NEXT~SN~R à la même valeur que le numéro de séquence NEXT~SN~E choisi par le premier processus, soit zéro. Enfin, il initialise les descripteurs de chaque file à zéro. Soit Q DESCRIPT [0-7] = 0. Les files d'attente sont considérées comme vides, et donc NB~DELAYED = 0. Hors phase d'initialisation, le premier processus et le deuxième processus réalisent différentes tâches qui sont décrites ci-après. Soit une cellule à disperser. L'entête de la cellule est renseigné des informations de dispersion, soit le numéro de séquence NEXT SN~E et le numéro du chemin de transmission NEXT~PATH~E contenues dans le premier contexte de connexion. Ce qui se traduit par les relations: SN = NEXT~ SN~E (1) PATH = NEXT~PATH~E (2) Le premier processus disperse la cellule dans le réseau. La cellule est émise sur le chemin de transmission NEXT~PATH~E. Le premier processus incrémente ensuite la valeur du chemin de transmission modulo le nombre de chemins de transmission possibles, NB~PATH, et il mémorise la nouvelle valeur dans le premier contexte de connexion. Si la nouvelle valeur du chemin de transmission NEXT~PATH~E est égale à zéro, alors le premier processus incrémente le numéro de séquence NEXT~SN~E modulo la taille de numérotation du numéro de séquence et le mémorise dans le premier contexte de connexion, sinon il garde le numéro de séquence NEXT SN inchangé. Lorsque la cellule arrive à destination, le deuxième processus est activé. Il extrait de l'entête de la cellule les informations de dispersion : SN et PATH. Dans une première étape, le deuxième processus vérifie si la cellule reçue s'insère dans la fenêtre de réception. Une première extrémité de la fenêtre de réception est déterminée par la cellule en attente identifiée par les valeurs du deuxième contexte de connexion NEXT~SN~R et NEXT~PATH~R. Une deuxième extrémité est située à une distance de la première extrémité égale à la taille d'une file d'attente, 128 cellules pour l'exemple considéré. La vérification peut être réalisée en testant l'expression suivante: X = Valeur non signée de [SN-NEXT~SN~R] SI (X = O et la file d'attente de numéro NEXT~PATH~R n'est pas vide) ALORS la cellule reçue n'est pas dans le fenêtre de réception SlNONSlX ALORS la cellule reçue est dans la fenêtre de réception SINON la cellule reçue n'est pas dans la fenêtre de réception. En fonction du résultat du test, plusieurs cas sont à considérer pour le déroulement du deuxième processus: 1er cas: la cellule reçue est dans la fenêtre de réception. Deux sous cas sont à distinguer: 1er sous-cas : la cellule reçue correspond à la cellule attendue. C'est-à-dire que d'une part PATH = NEXT PATH R (3) et d'autre part SN = NEXT~SN~R (4) Dans ces conditions la cellule reçue est rangée dans la file de séquencement. Les informations NEXT~PATH~R et NEXT~SN~R sont mises à jour en fonction des valeurs PATH et SN de la cellule. Ce qui se traduit par les relations: NEXT~PATH~R = PATH + 1 (modulo NB~PATH) (5) SI NEXT~PATH~R # 0 ALORS NEXT~SN~R = SN (6) SINON NEXT~SN~R = SN +1 (modulo la taille de numérotation deSN). (7) La temporisation TIMEOUT~DATE est inhibée, en fixant le bit TV à 0. 2ème sous-cas : la cellule reçue ne correspond pas à la cellule attendue. Si la temporisation n'est pas activée (TV=0), alors la date de fin de temporisation TIMEOUT DATE est calculée et l'indication est donnée que la temporisation est active en fixant W à 1. La cellule reçue est mémorisée dans la file d'attente correspondant au chemin de transmission qu'elle a suivi, soit dans la file d'attente de numéro PATH. Le nombre de cellules en attente pour la connexion NB~DELAYED est incrémenté de 1. Si la file d'attente de numéro PATH était vide, alors elle est déclarée non vide, la quatrième information 21 du descripteur Q~DESCRlPT!] de la file d'attente est positionné à non vide, S = 1. Les 7 bits de poids faibles du champ SN extrait de la cellule sont reportés dans le champ FRONT~SN du descripteur de la file d'attente. 2ème cas : la cellule reçue est en dehors de la fenêtre de réception. Un incident de transmission a eu lieu et beaucoup de cellules ont été perdues. Dans ces conditions, les files d'attente correspondant à la connexion sont vidées, le nombre de cellules en attente pour la connexion est mis à zéro NB~DELAYED = 0, la temporisation est inhibée, ceci est obtenu en initialisant TV à 0 et la cellule reçue est rangée dans la file de séquencement. Les informations NEXT~PATH~R et NEXT~SN~R du deuxième contexte de connexion sont mises à jour en fonction des valeurs PATH et SN de la cellule. Ce qui se traduit par les relations: NEXT PATH R=PATH+1 (moduloNB PATH) (5) SI NEXT~PATH~R # 0 ALORS NEXT SN~R= SN (6) SINON NEXT SN R= SN +1 (modulo la taille de numérotation de SN). (7) Parallèlement à la réception de cellules, le deuxième processus réalise l'extraction des cellules des files d'attente pour les ranger dans la file de séquencement. Pour une connexion donnée, à la suite de la réception d'une cellule, ou lorsqu'une cellule de cette connexion a été extraite de la file de séquencement, périodiquement, le deuxième processus parcourt les files d'attente. Si elles sont vides, le deuxième processus ne fait rien. Si elles ne sont pas vides, plusieurs cas peuvent se présenter. La figure 7 présente quatre cas particuliers A, B, C, D. Dans les différents cas, le deuxième processus est en attente de la cellule de numéro de séquence égal à 2 (NEXT SN R = 2) sur le chemin de transmission égal à 1 (NEXT PATH R = 1). Pour chaque cas, seulement quatre files d'attente F0, F1, F2, F3 ont été représentées. Cas A : la cellule attendue n'est pas arrivée ; la temporisation TIMEOUT~DATE est initialisée si elle ne l'était pas déjà. Cas B : la cellule attendue SN =2 est présente dans la file d'attente espérée PATH = 1. La cellule est extraite de la file d'attente F1 et rangée dans la file de séquencement. Les informations NEXT PATH~R et NEXT SN R du deuxième contexte de connexion sont mises à jour et le nombre de cellules en attente pour la connexion NB~DELAYED est décrémenté de i. Cas C : la cellule attendue n'est pas arrivée mais la file d'attente F1 n'est pas vide, ce qui veut dire qu'une cellule au moins a été perdue sur le chemin de transmission correspondant. Le deuxième processus doit alors trouver la prochaine cellule à ranger dans la file de séquencement. Dans l'exemple deux cellules ont été perdues, la cellule SN = 2 sur le chemin de transmission égal à 1 et la cellule SN = 2 sur le chemin de transmission égal à 2. En effet, la dispersion des cellules sur les différents chemins de transmission suit une loi régulière les cellules sont distribuées régulièrement du chemin de transmission égal à 0, qui correspond à la file d'attente F0, au chemin de transmission égal à n, qui correspond à la file d'attente Fn. La prochaine cellule attendue est ainsi la cellule de numéro de séquence égal à 2 sur le chemin de transmission égal à 3. Cette cellule est extraite de la file d'attente F3 et rangée dans la file de séquencement. Les informations NEXT~PATH~R et NEXT~SN~R sont mises à jour et le nombre de cellules en attente pour la connexion NB~DELAYED est décrémenté de i. Cas D : les conditions sont les mêmes que celles du cas C sauf que la file d'attente F3 est vide. La date de la fin de temporisation TIMEOUT~DATE est calculée, la temporisation est activée en fixant TV à i, si elle ne l'était pas déjà et les valeurs NEXT PATH R et NEXT SN R du deuxième contexte de connexion sont mises à jour. C'est-à-dire que NEXT~PATH~R = 3 et NEXT~SN~R = 2. Quel que soit le cas rencontré, I'extraction d'une cellule suit l'algorithme suivant: -pour chaque file d'attente un numéro de séquence SNF est déterminé: 1er cas: la file d'attente n'est pas vide; dans ce cas le numéro de séquence SNF est déterminé à partir de la troisième information 20 du descripteur QDESCRIPT [] de la file d'attente. Ainsi SNF = FRONT SN 2ème cas : la file d'attente est vide ; dans ce cas une valeur virtuelle est calculée de la façon suivante: soit NFILE le numéro de la file d'attente SI NFILE ALORS SNF = NEXT~SN~R + i SINON SNF = NEXT~SN~R -pour chaque file d'attente une distance entre la cellule de numéro de séquence SNF et la cellule attendue est calculée. Cette distance est donnée par l'expression suivante: distance(NFlLE) = (NB~PATH* [SNF-NEXT~SN~R] + [NFILE-NEXT~PATH~R]) (modulo NB~PATH*128) -la file d'attente sélectionnée est celle dont la distance, distance (NFILE), est minimale. -si la file d'attente sélectionnée est vide, la temporisation TIMEOUT~DATE est activée si elle ne l'était pas déjà. Si la file d'attente sélectionnée n'est pas vide, alors la première cellule de la file d'attente est extraite et rangée dans la file de séquencement. Les informations NEXT~PATH~R et NEXT~SN~R du deuxième contexte de connexion sont mises à jour et le nombre de cellules en attente pour la connexion NB~DELAYED est décrémenté de 1. Ainsi en reprenant le cas A de la figure 7, il est possible de calculer la distance, distance (NFILE), pour chaque file d'attente F0 à F3: pour F0 distance (0) = 4 x (3-2) + (0-1) = 3 pour F1 distance (1) = 4 x (2-2) + (1-1) = 0 pour F2 distance (2) 4 x (2-2) + (2-1) = i pour F3 distance (3) 4 x (2-2) + (3-1) = 2 La file d'attente sélectionnée est la file d'attente F1 car elle correspond à la distance minimale. La file d'attente Fi est vide par conséquent la temporisation TIMEOUT~DATE est activée si elle ne l'était pas déjà. Pour le cas C, I'algorithme conduit aux valeurs de distance suivantes: pour F0 distance (0) = 4 x (S2) + (0-1) = 3 pour F1 distance (?)= 4 x (3-2)+ (?-1)= 4 pour F2 distance (2) = 4 x (3-2) + (2-1) = 5 pour F3 distance (3) = 4 x (2-2) + (3-1) = 2 La file d'attente sélectionnée est la file d'attente F3 car elle correspond à la distance minimale. La file d'attente F3 n'est pas vide, la cellule SN = 2 est rangée dans la file de séquencement. Les informations NEXT~PATH~R et NEXT SN R du deuxième contexte de connexion sont mises à jour : NEXT~PATH~R = 0 et NEXT~SN~R = 3, en considérant que le nombre de chemins de transmission NB~PATH est égal à 4. Le nombre de cellules en attente pour la connexion NB~DELAYED est décrémenté de i. La temporisation TIMEOUT~DATE commune à tous les différents chemins de transmission d'une connexion permet de limiter les temps d'attente d'une cellule attendue. A l'expiration de la temporisation, les files d'attente sont vidées, le nombre de cellules en attente pour la connexion est mis à zéro NB~DELAYED = 0. la temporisation est inhibée en fixant TV à 0 et le premier processus et le deuxième processus sont réinitialisés. La figure 8 donne des exemples de remise en ordre de cellules dans un commutateur dans lequel les cellules ont été dispersées sur quatre chemins de transmission auxquels correspondent quatre files d'attente F0, F1, F2, F3. Sept étapes successives sont illustrées. Etape i : aucune cellule n'est présente dans les différentes files d'attente, F0 à F3. La cellule attendue est la cellule portant le numéro de séquence SN = 1 sur le chemin de transmission 1 correspondant à la file d'attente F1. Etape 2 : une cellule venant du chemin de transmission 2 est reçue avec le numéro de séquence SN = 1. Ce n'est pas la cellule attendue, elle est donc mémorisée dans la file d'attente F2. La date de fin de temporisation TIMEOUT~DATE est calculée, la temporisation est activée en fixant TV à 1. Etape 3 : de nouvelles cellules sont reçues, mais comme la cellule attendue (SN = 1 dans F1) n'a toujours pas été reçue, les cellules restent mémorisées dans la file d'attente correspondant au chemin de transmission suivi par la cellule. Etape 4 : la cellule attendue a été reçue, elle a été rangée dans la file de séquencement FS. Les informations NEXT~SN~R et NEXT~PATH~R du deuxième contexte de connexion sont mises à jour: NEXT~PATH~R est incrémenté soit NEXT~PATH~R = 2 et NEXT~SN~R est inchangé, soit NEXT SN = 1. . Le nombre de cellules en attente pour la connexion NB~DELAYED est décrémenté de 1. Etape 5 : la cellule attendue (SN = 1 dans F2) est présente, elle est extraite et rangée dans la file de séquencement FS. Aucune cellule n'a été reçue. Les informations NEXT~SN~R et NEXT~PATH~R du deuxième contexte de connexion sont mises à jour : NET PATER est incrémenté soit NEXT PATH =3 et NEXT~SN~R est inchangé, soit NEXT SN = 1. Le nombre de cellules en attente pour la connexion NB~DELAYED est décrémenté de i. Etape 6 : la cellule attendue (SN = 1 dans F3) est présente, elle est extraite (NB~DELAYED = NB~DELAYED-1) et rangée dans la file de séquencement FS. La cellule SN = 2 est reçue sur le chemin de transmission égal à 3. Elle est mémorisée dans la file d'attente F3 (NBDELAYED = NB~DELAYED+1). Les informations NEXT~SN~R et NEXT~PATH~R du deuxième contexte de connexion sont mises à jour NEXT~PATH~R est incrémenté soit NEXT~PATH~R = O (car le modulo est de 4) et NEXT~SN~R est incrémenté car NEXT~PATH~R = 0, soit NEXT~SN~R = 2. Etape 7 : la cellule attendue (SN = 2 dans F0) est présente, elle est extraite (NB~DELAYED = NB~DELAYED-1) et rangée dans la file de séquencement F NEXT PATH R est incrémenté soit NEXT~PATH~R = 1 et NEXT~SN~R est inchangé, soit NEXT~SN~R = 2. REVENDICATIONS 1. Procédé de dispersion et de remise en ordre de cellules transmises au moyen de connexions établies entre une source (3 ;) et une ou plusieurs destination(s) (4i) reliées par un réseau d'entités de commutation intermédiaires (2,) définissant des chemins de transmission (a,) caractérisé en ce qu'il considère l'ensemble des chemins de transmission (a,) comme une seule ressource de transmission accessible à toutes les connexions (C1, ..., CN1) dans laquelle il disperse les cellules suivant un premier processus déterminé et en ce qu'il remet en ordre les cellules arrivées à destination (4,) suivant un deuxième processus déterminé. 2. Procédé de dispersion et de remise en ordre de cellules selon la revendication i, caractérisé en ce que pour une connexion donnée le premier processus consiste: - a gérer un premier contexte de connexion (5) attaché à la source (31) et comprenant une première (NEXT SN E) et une deuxième (NEXT~PATH~E) informations de dispersion mises à jour après chaque émission d'une cellule pour réaliser une distribution des cellules sur les différents chemins de transmission (a1,a2,a3,a4) suivant une loi régulière, - a renseigner chaque cellule avec les informations de dispersion (SN, PATH) courantes avant de la transmettre sur le chemin de transmission correspondant à la deuxième valeur de dispersion (PATH) contenue dans la cellule, et le deuxième processus consiste pour une destination (4,) donnée: - a extraire de l'entête de chaque cellule reçue les informations de dispersion (SN, PATH) et à gérer un deuxième contexte de connexion (9) attaché à la destination (4,) pour décider de mémoriser la cellule reçue dans une file d'attente déterminée (F0, F1, F2, F3) ou de la ranger dans une file de séquencement (FS), pour décider de purger les files d'attente (F0, Fi, F2, F3) ou pour décider d'extraire une cellule d'une file d'attente (F0, F1, F2, F3) déterminée pour la ranger dans la file de séquencement (FS). 3. Procédé de dispersion et de remise en ordre de cellules selon la revendication 2, caractérisé en ce que la gestion du premier contexte de connexion (5) attaché à la source (3,) consiste à initialiser, lors de l'établissement de la connexion ou lors d'une réinitialisation, la première information de dispersion (NEXT~SN~E) à une valeur donnée et la deuxième information de dispersion (NEXT~PATH~E) à une valeur déterminée aléatoirement puis à incrémenter, après chaque émission de cellule, la première information de dispersion (NEXT~SN~E) modulo une première valeur déterminée et la deuxième information de dispersion (NEXT~PATH~E) suivant une loi régulière et modulo une deuxième valeur déterminée et en ce que le renseignement de la cellule consiste à copier dans un en-tête de la cellule les valeurs courantes des informations de dispersion (NEXT~SN~E, NEXT~PATH E) contenues dans le premier contexte de connexion (5). 4. Procédé de dispersion et de remise en ordre de cellules selon la revendication 3, caractérisé en ce que la gestion du deuxième contexte de connexion (9) consiste: - a identifier une cellule attendue par un numéro de séquence (NEXT~SN~R) et un numéro de chemin de transmission (NEXT~PATH~R), - à initialiser, lors de l'établissement de la connexion ou lors d'une réinitialisation, le numéro de séquence (NEXT~SN~R) à la valeur d'initialisation de la première information de dispersion (NEXT~SN~E) et le numéro de chemin de transmission (NEXT~PATH~R) à la valeur d'initialisation de la deuxième information de dispersion (NEXT~PATH~E), - à mettre à jour la numéro de séquence (NEXT~SN et et le numéro de chemin de transmission (NEXT~PATH~R) de la cellule attendue après chaque réception de cellule, - à définir une fenêtre de réception en fonction de la cellule attendue, - à détecter un problème de transmission lorsque la cellule reçue arrive en dehors de la fenêtre de réception, - a purger les files d'attente (F0,F1,F2,F3) si un problème de transmission a été détecté, - a comparer, si aucun problème de transmission n'a été détecté la cellule reçue avec la cellule attendue pour décider du rangement de la cellule reçue dans une file d'attente (F0,F1,F2,F3) ou dans la file de séquencement (FS), - a allouer un temps maximum d'attente pour l'attente d'une cellule attendue au-delà duquel les files d'attente (F0,Fl,F2,F3) sont vidées et le premier et le deuxième processus sont réinitialisés.