Brevet FR2745454A1 — publié le 19970829

La présente invention concerne un procédé de traduction pour un en-tête de cellule ATM et un commutateur ATM comportant un dispositif de traduction pour la mise en oeuvre du procédé selon l'invention. Les études de systèmes de télécommunication font de plus en plus appel à un mode de transfert appelé ATM, abréviation anglo-saxonne pour Asynchronous Transfer Mode. Cette technique permet de véhiculer des informations numériques de natures et de débit aussi variés qu'irréguliers (par exemple voix, vidéo, fichiers). L'information est transportée à travers un réseau pouvant être de diverses topologies (par exemple maillage, anneau, étoile, etc.). Chaque noeud du réseau, appelé commutateur ATM, est relié au noeud adjacent par une artère de transmission acceptant tous types de technologies (câble, faisceau hertzien, fibre optique, etc.). Le principe de la technique ATM est de segmenter les données issues des divers services en blocs de longueur fixe, et d'ajouter à ce bloc un en-tête pour former une cellule ATM. La tâche de segmentation est activée uniquement si les données contiennent des informations utiles. Par conséquent, les cellules ATM provenant des diverses sources sont multiplexées et transmises de façon asynchrone sur l'artère de transmission. L'acheminement des cellules s'appuie sur un mode par voie logique dont la valeur est inscrite dans l'en-tête de la cellule ATM. Ainsi, chaque artère physique est logiquement équivalente à plusieurs conduits. Les commutateurs ATM établissent des liens entre ces voies logiques pour former des chemins virtuels entre les extrémités du réseau. Une fonction essentielle d'un commutateur ATM est de pouvoir traduire la voie logique entrante de façon à commuter la cellule ATM sur le conduit sortant approprié. Cette fonction correspond à une opération de marquage du chemin virtuel dans chaque commutateur ATM. Les procédés actuels de traduction pour un en-tête de cellules ATM ne prennent pas en compte les nouvelles contraintes qui apparaissent aujourd'hui. Les carences concernent les points suivants: - la possibilité de traduire les en-têtes en provenance d'une interface physique désignée par l'appellation "Multi-phy", et regroupant (N+1) interfaces physiques de débit Do à Dn en une interface physique de débit D avec D = Do +... + D, - la possibilité de réduire les accès à la mémoire de traduction pour modifier dynamiquement les traductions. L'invention a pour but de combler les carences citées précédemment. A cet effet, I'invention a pour objet un procédé de traduction d'un en-tête de cellule ATM pour son acheminement sur une artère de transmission d'un réseau de communication via un commutateur ATM, consistant à traduire par le commutateur le couple (VPI, VCI) contenu dans l'en-tête de la cellule, le premier champ VPI, abréviation anglo-saxonne pour Virtual Path Identifier, identifiant un numéro de conduit virtuel et le deuxième champ VCI, abréviation anglo-saxonne pour Virtual Channel Identifier, sélectionnant une voie virtuelle déterminée au sein du conduit virtuel, caractérisé en ce qu'il consiste:: - dans un premier niveau d'indexation, à indexer une première table de contexte PMD, abréviation anglo-saxonne pour Physical Medium Device, comportant un nombre déterminé de contextes, - dans un deuxième niveau d'indexation, à indexer, à partir de la première table, une deuxième table de sélection d'un premier mode de traduction ou d'un deuxième mode de traduction, comportant un nombre déterminé de contextes mode de traduction, - dans un troisième niveau d'indexation, à indexer, à partir de la deuxième table, dans le premier mode de traduction, une troisième table de contextes VPI comportant un nombre déterminé de contextes de traduction, - à indexer, à partir de la deuxième table, dans le deuxième mode de traduction, une quatrième table de pointeurs de pages organisée en un nombre déterminé de plages de pointeurs, et - dans un quatrième niveau d'indexation, à indexer, à partir de la quatrième table, une page déterminée d'une table de contextes VCI. La présente invention a également pour objet un commutateur ATM comportant un dispositif de traduction pour la mise en oeuvre du procédé selon l'invention. Outre le fait de combler les carences mentionnées ci-dessus, I'avantage de la présente invention est de permettre une souplesse d'utilisation en termes de manipulation des structures de données (c'est-à-dire pointeurs et contextes) ainsi que la faculté d'adéquation entre la performance de traduction et la taille des mémoires utiles. Par contexte, on entend l'ensemble des données caractérisant une liaison ou un sous-ensemble de liaisons ATM. Le procédé selon l'invention doit pouvoir se satisfaire d'une taille de mémoire imposée par une intégration "On-chip" c'est-à-dire une mémoire suffisamment "petite" (en taille mémoire) pour être intégrée sur la même puce que le composant ATM, ce qui revient donc à un système à faible coût, avec bien sûr des possibilités de traduction réduites, tout en autorisant l'extension des possibilités de traduction par l'ajout de mémoires "Off-chip", c'est-à-dire des mémoires extérieures à la puce. D'autres avantages et caractéristiques de la présente invention apparaîtront plus clairement à la lecture de la description qui suit et des figures annexées qui représentent: - la figure 1, un schéma de principe d'une interface physique "Multi-phy", - la figure 2, la structure d'une cellule ATM, - la figure 3, un schéma bloc des principales étapes du procédé selon l'invention, - la figure 4, un schéma de principe du premier niveau d'indexation du procédé de traduction selon l'invention, - la figure 5, un schéma de principe du deuxième niveau d'indexation du procédé de traduction selon l'invention, - la figure 6, un schéma de principe du troisième niveau d'indexation du procédé de traduction selon l'invention, -la figure 7, un schéma de principe du quatrième niveau d'indexation du procédé de traduction selon l'invention, - la figure 8, le format général d'un VCI, - la figure 9, le format d'un VCI, pour NCX=6 et NBU=9, et - la figure 10, un schéma bloc d'un dispositif de traduction pour la mise en oeuvre du procédé selon l'invention. Globalement, le procédé de traduction selon l'invention est basé sur un principe de tables dont l'une sert à indexer la suivante. Ainsi, pour résoudre les problèmes concernant le "Multi-phy", et la modification dynamique des marquages, deux niveaux d'indexation supplémentaires sont ajoutés aux processus de traduction connus, soient deux tables appelées respectivement dans la suite du document "Table de contexte PMD", correspondant au port d'accès à l'interface "Multi-phy" de la cellule ATM incidente et "Table des pointeurs de pages". Un bus d'extension de la mémoire peut permettre d'ouvrir les possibilités vers une solution "Off-chip". La figure 1 illustre schématiquement le principe d'interface physique "Multi-phy". Une cellule ATM traversant cette interface se compose d'un entête de cinq octets et d'un bloc de données utiles de quarante-huit octets. La structure d'une telle cellule est illustrée à la figure 2. Le couple (VPI, VCI) transporte le numéro de voie logique. Le champ VPI identifie le numéro de conduit virtuel. Le champ VCI sélectionne une voie virtuelle au sein du conduit. Lors de la traversée d'un commutateur ATM le couple (VPI, VCI) entrant subit une traduction. Deux cas sont à distinguer: -seule la valeur de VPI est modifiée. Ce mode s'appelle "VP switch". II permet de changer de conduit sans en modifier le contenu. Les marquages des voies virtuelles sont inchangés; - les valeurs de VPI et VCI sont modifiées. Ce mode s'appelle "VC switch". II permet à une communication de changer de voie virtuelle. Le procédé de traduction selon l'invention concerne uniquement les vingt-huit premiers bits de l'en-tête. Par conséquent, les champs PTI, abréviation anglo-saxonne pour Payload Type Identifier, donnant des informations sur la nature du bloc de données, CLP, abréviation anglo-saxonne pour Cell Loss Priority, facilitant le contrôle de la décongestion, HEC, abréviation anglo-saxonne pour Header Error Control utilisé pour la correction des erreurs sur l'en-tête, et le bloc de données utiles ne sont pas détaillés dans ce qui suit. Pour décrire l'invention, il sera procédé à un parcours progressif des tables de traduction et des différentes indexations, tel que celui suivi par une cellule ATM incidente dans un dispositif de traduction d'un commutateur ATM. La figure 3 illustre par un schéma bloc, les principales étapes du procédé selon l'invention. Chaque étape du procédé correspond à un niveau d'indexation d'une table déterminée, chaque table pointant sur la suivante. Dans le premier niveau d'indexation 1, une première table de contexte PMD comportant un nombre déterminé de contextes est indexée. Dans le deuxième niveau d'indexation 2, à partir de la première table, une deuxième table de sélection d'un premier mode de traduction (VP switch) ou d'un deuxième mode de traduction (VC switch), comportant un nombre déterminé de contextes mode de traduction est indexée. Dans le troisième niveau d'indexation 3, à partir de la deuxième table, dans le premier mode de traduction (VP switch), une troisième table de contextes VPI comportant un nombre déterminé (0 à k) de contextes de traduction est indexée, et, à partir de la deuxième table, dans le deuxième mode de traduction (VC switch), une quatrième table de pointeurs de pages organisée en un nombre déterminé de plages de pointeurs. Dans le quatrième niveau d'indexation 5, à partir de la quatrième table, une page déterminée d'une table de contextes VCI est indexée. Le premier niveau d'indexation du procédé de traduction selon l'invention est illustré à la figure 4. Une cellule ATM incidente est accompagnée de son numéro de port i, avec 0 Chaque contexte de la table de contextes PMD a la structure suivante: Validation contexte Nombre de bits utiles dans le VPI pointeur sur la table de [1] [4] sélection du mode [32] Dans cette structure ainsi que pour les structures suivantes, le nombre de bits alloués à chaque champ du contexte apparaît entre crochets. Le bit de "Validation contexte" permet d'accepter ou pas les traductions sur l'interface physique associé. Cette possibilité permet le rejet des traductions pendant l'initialisation des contextes. Les quatre bits suivants indiquent le nombre de bits utiles (de O à 12) dans le VPI. Si le nombre de bits utiles est égal à zéro, alors la valeur du VPI est forcée à zéro. Cela permet d'accepter toutes les valeurs de VPI sur une connexion donnée et d'opérer une traduction à partir du contexte associé au VPI O. Le dernier champ du contexte est un pointeur sur la table suivante appelée "table de sélection du mode". Le deuxième niveau d'indexation de la traduction, pointe sur la table de sélection du mode. Cette table sélectionne le mode de traduction "VP switch" ou "VC switch". Ce deuxième niveau d'indexation est illustré à la figure 5. Chaque contexte de la table de sélection du mode a la structure suivante: Validation 1 contexte Nombre de bits utiles dans le VCl pointeur sur la table [1] [51 suivante 116] Le bit de validation contexte permet d'accepter ou pas les traductions. Les cinq bits suivants indiquent le nombre de bits utiles (de O à 16) dans le VCI. Un nombre de bits utiles égal à zéro sélectionne le mode "VP switch". Un nombre de bits utiles différent de zéro sélectionne le mode "VC switch".Le dernier champ du contexte permet un troisième niveau d'indexation à deux directions: - en mode "VP switch" le dernier champ est un pointeur sur la table "Table de contextes VPI", - en mode "VC switch" le dernier champ est un pointeur sur la "Table des pointeurs de pages". La figure 6 illustre le troisième niveau d'indexation. En mode "VP switch" la table de contextes VPI clos le procédé de traduction. Tous les éléments nécessaires à la traduction sont inclus dans le contexte de traduction. Le contexte de traduction a la structure suivante: Validation contexte valeur traduite En-tête interne Direction interne Contrôle interne [1] duVPl [12] [a] [bl [c] Le bit de validation contexte permet d'accepter ou pas les traductions. Les douze bits suivants donnent la valeur traduite du VPI (en "VP switch" le reste de l'en-tête ATM est inchangée).Le reste du contexte est "propriétaire" c'est-à-dire qu'il se rapporte à la gestion interne d'un équipement déterminé. II permet par exemple: - d'ajouter [a] un en-tête propriétaire à la cellule pour faciliter sa circulation au sein du commutateur ATM, - d'indiquer [b] une direction interne : par exemple le numéro du joncteur d'artère de sortie, - de réaliser [c] un contrôle sur les cellules : par exemple, Usage Parameter Control (UPC), Operation And Maintenance (OAM) tel que le demandent les normes ATM. La table des contextes VPI a le même nombre de contextes que la table de sélection du mode. En mode "VC switch" il y a un quatrième niveau d'indexation comme illustré à la figure 7. La "Table de contexte VCI" est organisée en pages. Chaque page de cette table contient 2NCX contextes de traductions (NCX est défini dans un registre de commande non décrit). Le contexte de la table de sélection de mode contient un pointeur sur une plage contenant tous les pointeurs sur les pages utilisées pour les traductions associées à un VPI déterminé, les pages n'étant pas forcément contigües. Un contexte est sélectionné à partir: du pointeur sur la plage, d'un déplacement dans la plage qui donne le pointeur sur la page de contextes de traductions, et du déplacement dans la page qui indique le contexte de traduction. Les deux déplacements sont fonction du nombre de bits utiles dans le VCI. Cette méthode a les avantages suivants: - les "tranches" de VCI peuvent varier d'un VPI à un autre, - une simple manipulation de pointeurs permet d'ajouter ou de retrancher des "tranches" de VCI pour un VPI déterminé. Une tranche désigne une ou plusieurs pages de contextes. Le format du VCI est illustré à la figure 8. Dans la cellule incidente, le VCI doit avoir les bits compris entre NBU (Nombre de Bits Utiles) et 15, forcés à zéro (imposé par la norme ATM). Dans le cas contraire, la cellule est rejetée. A titre d'exemple non limitatif, pour 2NCX=64l une page contient soixante-quatre contextes de traduction, NCX=6, NBU=9, la plage concernée contient 2(NBU-NCX)=8 pointeurs de pages sur un total de huit pages de soixante-quatre contextes soit cinq cent douze contextes. VCI=34 h (en code hexadécimal) sélectionne le 52ème contexte de la page 0 comme illustré à la figure 9. Un contexte de traduction de table de contextes VCI a la structure suivante: Validation contexte I valeur traduite du | En-tête interne / Direction interne I Contrôle interne [1] VPl et du VCI [12] | [aJ l [b] I [ci Le bit de validation contexte permet d'accepter ou pas les traductions. Les vingt-huit bits suivants donnent la valeur traduite du VPI et du VCI. Le reste du contexte est identique au contexte du mode "VP switch". La figure 10 illustre le schéma bloc d'un dispositif de traduction pour la mise en oeuvre du procédé selon l'invention. Le dispositif de traduction selon l'invention est intégré dans un commutateur ATM comportant un dispositif de traduction pour la mise en oeuvre du procédé, caractérisé en ce que le dispositif de traduction comporte:: - des moyens pour indexer, dans un premier niveau d'indexation, une première table de contextes PMD comportant un nombre déterminé de contextes, - des moyens pour indexer, dans un deuxième niveau d'indexation, à partir de la première table, une deuxième table de sélection d'un premier mode de traduction (VP switch) ou d'un deuxième mode de traduction (VC switch), comportant un nombre déterminé de contextes mode, - des moyens pour indexer, dans un troisième niveau d'indexation, à partir de la deuxième table, dans le premier mode de traduction (VP switch), une troisième table de contextes VPI comportant un nombre déterminé de contextes de traduction, - des moyens pour indexer à partir de la deuxième table, dans le deuxième mode de traduction (VC switch), une quatrième table de pointeurs de pages organisée en un nombre déterminé de plages de pointeurs, et - des moyens pour indexer, dans un quatrième niveau d'indexation, à partir de la quatrième table, une page déterminée d'une table de contextes VCl. Les moyens d'indexation relatifs respectivement aux quatre niveaux d'indexation du procédé selon l'invention peuvent être réalisés à l'aide de moyens de connexion Hardware. REVENDICATIONS 1. Procédé de traduction d'un en-tête de cellule ATM pour son acheminement sur une artère de transmission d'un réseau de communication via un commutateur ATM, consistant à traduire par le commutateur le couple (VPI, VCI) contenu dans l'en-tête de la cellule, le premier champ VPI identifiant un numéro de conduit virtuel et le deuxième champ VCI sélectionnant une voie virtuelle déterminée au sein du conduit virtuel, caractérisé en ce qu'il consiste:: - dans un premier niveau d'indexation, à indexer (1) une première table de contexte PMD comportant un nombre déterminé (0 à n) de contextes, - dans un deuxième niveau d'indexation, à indexer (2), à partir de la première table, une deuxième table de sélection d'un premier mode de traduction (VP switch) ou d'un deuxième mode de traduction (VC switch), comportant un nombre déterminé (0 à k) de contextes mode de traduction, - dans un troisième niveau d'indexation, à indexer (3), à partir de la deuxième table, dans le premier mode de traduction (VP switch), une troisième table de contextes VPI comportant un nombre déterminé (0 à k) de contextes de traduction, - à indexer (4), à partir de la deuxième table, dans le deuxième mode de traduction (VC switch), une quatrième table de pointeurs de pages organisée en un nombre déterminé (0 à m) de plages de pointeurs, et - dans un quatrième niveau d'indexation, à indexer (5), à partir de la quatrième table, une page déterminée d'une table de contextes VCI. 2. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à indexer (1), par le numéro de port (i) contenu dans l'en-tête de la cellule, la table de contextes PMD comportant un nombre déterminé de contextes (0 à n), chaque contexte (0 à n) de la table de contextes PMD comportant un premier champ de validation de contexte, un deuxième champ indiquant le nombre de bits utiles dans le VPI, et un troisième champ contenant un pointeur de table. 3. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à indexer (2), par le pointeur de la table de contextes PMD, la table de sélection du premier mode de traduction (VP switch) ou du deuxième mode de traduction (VC switch), comportant un nombre déterminé de contextes mode (0 à k), chaque contexte mode comportant un premier champ de validation du contexte, un deuxième champ indiquant le nombre de bits utiles dans le VCI permettant de sélectionner le premier ou le deuxième mode de traduction, et un troisième champ contenant un pointeur de table. 4. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à indexer (3), par le pointeur de la table de sélection du mode, dans le premier mode de traduction (VP switch) la table de contextes VPI comportant un nombre déterminé de contextes de traduction (0 à k), chaque contexte de traduction comportant un premier champ de validation du contexte, un deuxième champ indiquant la valeur traduite du VPI, le reste du contexte permettant une gestion interne de la cellule. 5. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à indexer (4), par le pointeur de la table de sélection du mode, dans le premier mode de traduction (VC switch), la table des pointeurs de pages organisée en un nombre déterminé (0 à m) de plages variables, une plage déterminée contenant tous les pointeurs pointant sur une page déterminée de la table de contexte VCI, organisée en un nombre déterminé de pages, pour une traduction associée à un VPI déterminé. 6. Procédé selon la revendication 1, caractérisé en ce qu'il consiste à indexer (5), par le pointeur déterminé de la plage des pointeurs, la page déterminée de la table de contextes VCI, chaque contexte VCI comportant un premier champ d'un nombre déterminé de bits forcés à zéro, un deuxième champ indiquant le déplacement dans la plage, et un troisième champ indiquant le déplacement dans la page. 7. Commutateur ATM comportant un dispositif de traduction (6) pour la mise en oeuvre du procédé selon la revendication 1, caractérisé en ce que le dispositif de traduction (6) comporte: - des moyens (7) pour indexer, dans un premier niveau d'indexation, une première table de contextes PMD comportant un nombre déterminé (0 à n) de contextes, - des moyens (8) pour indexer, dans un deuxième niveau d'indexation, à partir de la première table, une deuxième table de sélection d'un premier mode de traduction (VP switch) ou d'un deuxième mode de traduction (VC switch), comportant un nombre déterminé (0 à k) de contextes mode, - des moyens (9) pour indexer, dans un troisième niveau d'indexation, à partir de la deuxième table, dans le premier mode de traduction (VP switch), une troisième table de contextes VPI comportant un nombre déterminé (0 à k) de contextes de traduction, - des moyens (10) pour indexer à partir de la deuxième table, dans le deuxième mode de traduction (VC switch), une quatrième table de pointeurs de pages organisée en un nombre déterminé (0 à m) de plages de pointeurs, et - des moyens (11) pour indexer, dans un quatrième niveau d'indexation, à partir de la quatrième table, une page déterminée d'une table de contextes VCI.