Brevet FR2596606A1 — publié le 19871002

COMMUTATEUR A ARCHITECTURE MODULAIRE La présente invention se rapporte à un commutateur à architecture modulaire. Les commutateurs actuellement fabriqués ont une plage de puissance étroitement définie et sont architecturés en conséquence. Ainsi, par exemple, il existe des commutateurs présentant soit une faible plage de capacité et de trafic (moins de 30 Erlang), soit une plage moyenne (200 à 1000 Erlang), soit une grande plage (plus de 2000 Erlang), mais aucun modèle ne recouvre ces trois plages ou même deux d'entre elles. En outre, ces commutateurs ont une plage de service réduite: soit il permettent l'accès de signaux de phonie et de données, sans possibilité de permettre le transit, soit le contraire. La présente invention a pour objet un commutateur permettant de couvrir facilement une très large plage de puissances, par exemple 30 à 1000 Erlang, et ce, en offrant un service étendu: accès et transit, traitement de la phonie et de données, ce commutateur devant être composé d'un nombre restreint d'éléments différents pour en faciliter l'industrialisation. Le commutateur conforme à l'invention a une structure monomultiprocesseur, à logiciel au moins partiellement réparti à plusieurs alvéoles similaires, chaque alvéole comportant un bus interprocesseur local, ainsi qu'un bus local complètement découplé des bus des autres alvéoles, le circuit d'informations de l'abonné étant découplé du circuit d'informations du processeur. Selon d'autres caractéristiques respectives de l'invention, le chemin de données d'un commutateur a un temps de transit constant; tous les alvéoles sont synchrones; les cartes, constituant des entités fonctionnelles au sein de leur alvéole, sont supervisées par des unités de commande décentralisées situées dans leur alvéole; les unités de commande communiquent entre elles par un réseau de paquets interne au commutateur; à à l'intérieur d'un même alvéole, le réseau de paquets emprunte le support d'un réseau de file d'attente en mémoire, selon la technique de l'hypertreillis; et à l'extérieur d'un meme alvéole, le réseau de paquets est maillé en hypercube et emprunte des voies à fort débit des artères internes. La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de réalisation, pris comme exemple non limitatif et illustré par le dessin annexé, sur lequel: - la figure 1 est un bloc diagramme fonctionnel d'un commutateur conforme à l'invention; - la figure 2 est un bloc diagramme simplifié du système multiprocesseur du commutateur de la figure I - la figure 3 est un bloc diagramme d'un sous-système du commutateur de la figure 1, et - la figure 4 est un bloc diagramme d'un sous-système du commutateur de la figure 1 à réseau de service à transmission par paquets. Le système commutateur à architecture modulaire décrit cidessous est constitué d'un ensemble de commutateurs multiservices permettant l'établissement de communications entre des abonnés interopérables, par exemple entre un abonné communiquant en phonie numérique et un abonné communiquant en phonie analogique, ou entre des abonnés transmettant des données et opérant à des débits différents. L'architecture de ce système commutateur est réalisée à partir de quatre sous-systèmes fonctionnels interdépendants qui sont, comme représenté sur la figure 1, un sous-système "packaging" 1, un sous-système informatique 2, un sous-système de commutation de paquets 3, et un sous-système de circuit physique 4. Le sous-système 1 constitue le "ciment" du système commutateur modulaire. I1 impose des normes d'environnement et d'inter façage aux composants physiques et logiciels des autres soussystèmes. 1l permet, de plus, I'adaptation du commutateur à toutes sortes de conditions d'environnement, en particulier lorsque celles-ci sont très- sévères, sans impliquer pour autant la remise en question fonctionnelle des autres sous-systèmes. Le sous-système informatique 2 accueille la totalité des applications logicielles du commutateur (c'est-à-dire situées au-dessus du niveau 5 de l'architecture OSI de la norme ISO). Les composants matériels n'ont pour objectif que de faciliter cet accueil et d'en minimiser le coût. Le sous-système 3 remplit deux objectifs principaux: premièrement un service interne assure la mise en inter-relation des objets du sous-système informatique en toute indépendance de leur localisation physique dans le réseau des commutateurs individuels du système. Il est transparent vis-à-vis des usagers. Deuxièmement, un service externe, dissocié du produit, et dimensionné à la demande selon le trafic des usagers, permettant de rendre à ces derniers les services d'un réseau de transmission de données par paquets selon, par exemple, les recommandations du CCITT (circuits virtuels permanents et/ou commutés et/ou datagramme). Le sous-système 4 assure toutes les fonctions de commutation rencontrées dans les commutateurs de circuits traditionnels (accès ou transit). Il est, lui aussi, dimensionné en fonction du trafic utilisateur, dans toute la plage de puissance couverte par le système commutateur de l'invention. La gestion en est assurée par des applications hébergées dans le sous-système informatique 2. On va décrire maintenant plus en détail le sous-système 1. Le système commutateur de l'invention est une architecture à intelligence répartie qui n'existe que par la mise en inter-relation de plusieurs machines (ou processeurs). I1 est nécessaire que le rendement multiprocesseur du système ne se dégrade que faiblement avec l'augmentation du nombre de processeurs (on sait que le travail utile effectué par un processeur donné d'un ensemble de processeurs coopérant ensemble diminue quand le nombre de processeurs de cet ensemble augmente). A cet effet, on munit chaque processeur de ressources privées nécessaires (principalement bus et mémoire privée) pour minimiser cette chute de rendement. Ainsi, comme représenté sur la figure 2, le système multiprocesseur du commutateur comporte n machines 5.1 à 5.n se composant chacune d'un processeur physique 6 et de ses ressources privées comportant par exemple une mémoire, une interface entréesortie particulière, etc. La seule ressource commune nécessaire reste l'organe 8 d'échange de messages entre les tâches des divers processeurs, un tel organe 8 étant, bien entendu inexistant dans les structures monoprocesseur. Le débit binaire nécessaire pour un tel échange de messages, de l'ordre de 5 à 20 Mbits/s, permet l'utilisation d'un bus parallèle à faibles performances, par exemple de type "Multibus" ou V.M.E., comme décrit ciaessous en référence à la figure 3. Les machines physiques 5.1 à 5.n sont reliées chacune à un bus parallèle commun, auquel sont reliés des coupleurs de commutation 10.1 à 10.m, un organe 11 d'échange des messages internes à l'alvéole local, et un organe 12 d'échange des messages vers les alvéoles distants. Chaque processeur 6 est relié à ses ressources privées 7 par un bus privé 13. Les machines physiques 5.1 à 5.n n'ont que deux types d'interaction logique avec leur environnement: les messages inter-processeurs, et les entrées-sorties physiques vers leurs coupleurs 10.1 à 10.n. La majorité numérique des coupleurs d'un commutateur sont des coupleurs spécialisés de matériel de commutation, tels que des joncteurs et des signaleurs. Il est avantageux de rendre leur localisation peu dépendante de celle des processeurs avec lesquels ils coopèrent. C'est pourquoi, comme précisé ci-dessus, ces coupleurs sont reliés, dans le cas présent, au bus 9. Ce bus 9 a un trafic plus diversifié que les bus privés 13, bien que l'affectation d'un coupleur déterminé à un processeur déterminé soit bien souvent statique pour une configuration donnée. On remarquera toutefois que cette indépendance de localisation des coupleurs n'est possible que parce que le débit d'entrées-sorties physiques des coupleurs est très faible visà-vis du nombre de cycles dû à la messagerie (messages locaux inter-processeurs et vers les alvéoles distants). Les informations commutées ont un débit croissant linéai rement avec la capacité du commutateur. Elles sont échangées sur des supports spécifiques de faible encombrement physique, munis d'une norme électrique et d'une norme de protocole, à technologie rustique (faibles vitesse et coût). Dans un exemple de réalisation préféré, pour transmettre des informations tramées, on utilise une technique multipoints permettant l'acheminement des informations relatives à l'utilisateur pratiquement sans déphasage entre les alvéoles. Un tel réseau est facilement extensible en fonction de la capacité, sans remise en cause de l'architecture. Toutes les jonctions internes d'un commutateur sont synchronisées entre elles de façon connue en soi. Le commutateur de l'invention étant multiservices, doit pouvoir supporter un réseau de service à transmission de paquets. Ces paquets circulent sur un réseau spécifique réservé sur les supports offerts par le réseau de circuits physiques internes du commutateur. Ainsi, comme représenté sur la figure 4, un coupleur 14 de service à transmission par paquets est relié au bus 9. On relie également à ce bus 9 un serveur de messages de service 15 et un serveur de messages relatifs aux utilisateurs 16. Ces deux serveurs 15, 16 sont reliés d'autre part à un commutateur de circuits physiques 17, lui-même relié au réseau de transmission de paquets. Ce réseau multipoint sert également de support aux échanges de messages entre les alvéoles. A cet effet, on a prévu le serveur 15 pour acheminer les messages de service inter-alvéoles. Du point de vue de l'implantation physique, le commutateur comporte plusieurs unités physiques élémentaires appelées alvéoles. L'alvéole constitue l'unité de défense du commutateur puisque la mise hors service d'un alvéole ne remet pas forcément en cause la survie du commutateur auquel il appartient. Si aucun alvéole n'est vital pour la survie du commutateur, ce commutateur est dit dupliqué, et dans ce cas chaque alvéole dispose d'une certaine autonomie: il a sa propre alimentation, sa propre base de temps, etc., et il est relativement indépendant des alvéoles voisins. La synchronisation générale du commutation est assurée par un dispositif d'horloge interne, implanté dans un alvéole dit alvéole maître, et distribuant l'heure à des dispositifs d'horloge esclaves implantés dans les autres alvéoles (alvéoles esclaves), chaque dispositif d'horloge esclave distribuant l'heure dans son alvéole. Le dispositif d'horloge maître peut s'asservir sur une horloge mère (pilote) sélectionnable, et on peut prévoir une horloge maître de secours. Le sous-système informatique 2 est principalement caractérisé par sa conception multiprocesseur dans laquelle les dialogues entre les concepts logiques (fonctions, tâches,...) sont assurés par le soussystème de commutation de données, de façon transparente, et par l'allocation de moyens privés aux processeurs individuels ne pénalisant pas leurs performances intrinsèques dans l'environnement multiprocesseurs. En outre, ce sous-système 2 est avantageusement caractérisé par une optimisation pour des logiciels de moyen volume (par exemple de volume compris entre 100 K octets et 4 M octet), par l'utilisation de langages de haut niveau, ainsi que par un moniteur et un "debugger" orientés vers les applications de commutation. Du point de vue de l'implémentation physique, de façon avantageuse, le cadre naturel d'exécution des procédures du logiciel est la tâche, qui correspond à la notion de tâche différée des systèmes d'exploitation classiques. Chaque tâche possède son propre cadre temps réel et peut être définie par des attributs tels que les paramètres de déclaration et de lancement, le segment de code exécutable à la déclaration, le segment de code exécutable au lancement, le contexte complet de registres, les piles d'exécution, la priorité symbolique au lancement, l'espace d'adressage logique, etc. Par exemple dans le cas du traitement d'un appel, une tâche est le cadre naturel de gestion d'un demiappel (ou de l/nème d'appel pour une télé-conférence à n interlocuteurs). Une tâche est créée dans un espace d'adressage logique auquel elle a accès. Cet espace peut entre, ou non, fractionné en segments possédant des droits d'accès différents (par exemple : lecture/écriture, ou lecture seulement ...). Du point de vue logiciel, l'appartenance d'une tâche à un ensemble de tâches partageant le même espace d'adressage logique constitue alors la seule garantie de partage du même espace mémoire avec une autre tâche de cet ensemble. Dans tous les autres cas, deux tâches données, n'appartenant donc pas au même ensemble, doivent être considérées comme ne partageant pas la même mémoire physique, c'est-à-dire comme s'exécutant dans un autre espace d'adressage sous la commande d'une autre machine et faisant partie d'un autre commutateur élémentaire. Ces tâches doivent alors communiquer en échangeant des messages grâce à un dispositif tant matériel que logiciel spécialisé. A la configuration du système, les tâches sont attribuées à une machine physique déterminée qui les exécutera pendant toute la durée de vie du système. Le nombre de ces machines est fonction uniquement de la puissance de traitement recherchée, et n'est pas lié au rôle fonctionnel des tâches logicielles à exécuter. Les tâches logicielles communiquent entre elles d'une façon unique et transparente vis-à-vis de leur implantation physique sur un processeur déterminé. Ainsi, les logiciels d'un petit et d'un gros commutateur ne diffèrent que par leurs directives de configuration. Lorsqu'une tâche doit dialoguer avec une autre tâche, elle emprunte un dispositif de transport. Ce dispositif de transport est fractionné en couches physiques liées à la distance physique de deux tâches. On peut alors définir par exemple une couche locale au processeur (transport entre tâches locales relatives à un même processeur), une couche locale à l'alvéole (transport entre tâches relatives à des processeurs différents d'un même alvéole), une couche locale à un noeud (transport entre tâches relatives à des alvéoles différents d'une même localisation physique), une couche locale au réseau (transport entre tâches relatives à des noeuds différents d'une même localisation physique), et une couche de transport vers l'extérieur (utilisant d'autres protocoles de transmission). Dans ce cas, le réseau est considéré comme un seul ensemble de tâches. Le dispositif de transport de messages de service entre les différentes tâches est vu des utilisateurs comme un réseau ayant sa propre autonomie. La réalisation de ce réseau est faite selon la découpe en couches de la norme ISO:les utilisateurs en constituent la couche application et la seule interface qui leur est visible est l'interface classique d'application et de présentation. Le logiciel de ce réseau de transport interne constitue un sous-système spécifique éclaté en constituants physiques liés à la gestion des niveaux de transit entre les couches physiques mentionnées ci-dessus. Le sous-système 3 de commutation de paquets achemine des informations. entre les différents abonnés du commutateur. Les différents services relatifs aux abonnés internes et aux abonnés externes sont physiquement distincts mais leur architecture fonctionnelle et physique est identique. Ceci permet de dimensionner le service relatif aux abonnés internes en fonction de l'architecture des commutateurs élémentaires et du réseau, et de dimensionner le service relatif aux abonnés externes en fonction du trafic des usagers. Toutefois, le fonctionnement de ces deux services étant identique dans le cas présent, le service abonné interne peut être lui-même un abonné du service abonné externe. L'architecture du réseau de paquets interne respecte la structure en couches OSI de l'lSO. Le service externe, ne possédant pas d'abonnés dans le réseau du commutateur de l'invention, est connecté au service interne sur la couche réseau pour permettre l'accessibilité des abonnés internes. Les deux services interne et externe ont des fonctionnements identiques, et diffèrent au niveau des protocoles de raccordement utilisés pour les abonnés externes, selon les normes en vigueur (c'est-à-dire dans les niveaux OSI 1, 2 et 3). Le réseau de service des abonnés internes d'un noeud est construit autour de boucles virtuelles établies par le brasseur d'un commutateur élémentaire. Ces boucles relient plusieurs signaleurs, par exemple de type HDLC, situés normalement sur des bus communs différents. Une boucle est constituée par la liaison de plusieurs intervalles de temps issus du brasseur et se dirigeant vers lui. Ces intervalles de temps constituent des chemins logiques élémentaires et peuvent, bien entendu, être localisés sur des chemins physiques (jonctions) identiques ou différents. Le débit binaire d'une boucle étant généralement réduit (16, 32 ou 64 kbits/s), il est nécessaire d'utiliser plusieurs boucles dans un commutateur. Le nombre de signaleurs d'une boucle est limité par le débit total de messagerie de la boucle. L'acheminement d'un message dans le commutateur pouvant utiliser plusieurs boucles, le logiciel réseau est chargé d'en réguler la route. Les boucles d'un noeud de commutation sont gérées par la tâche de défense interne du noeud. Cette tâche, localisée physiquement dans une des intelligences décentralisées du noeud, a sa propre route et est apte, entre autres fonctions, à échanger des messages de défense vis-à-vis de chaque signaleur. Elle utilise la signalisation pour détecter les lots de ressources inaccessibles ou inutilisables, et elle reconfigure la boucle en actionnant le brasseur pour en supprimer les "branches mortes" (inutilisables en messagerie), qui peuvent alors servir de support à des boucles de test et de maintenance. Ainsi, le réseau de service des abonnés internes permet au sous-système informatique 2 de se répartir dans plusieurs processeurs et de déléguer des tâches à des intelligences décentralisées plus légères et plus nombreuses. On assure ainsi l'unicité de développement matériel et logiciel et l'indépendance entre sa constitution et son interface externe (ce qui permet d'assurer facilement son évolution future), et par conséquent on garantit son extension ultérieure en puissance de transmission de façon simple et peu onéreuse. Le sous-système de circuit physique 4 est réalisé comme un coeur de commutateur de circuits traditionnel. I1 comprend essentiellement quatre sous-ensembles principaux: des coeurs de chaîne (commutateurs élémentaires capables de commuter des jonctions internes entre elles), des joncteurs de transit (interfaçant les jonctions internes aux équipements de transmission pour constituer, par maillage, un réseau de commutateurs), les jonctions d'abonnés (analogiques ou numériques, multiservices en particulier), et les serveurs satellites (par exemple des signaleurs téléphoniques voie par voie, des transcodeurs de modulation, des serveurs d'horloge, des serveurs de synchronisation radio, etc.). Tous ces sousnsembles coopèrent facilement entre eux grâce à une norme de jonction interne appropriée avec laquelle ils sont tous compatibles et qui permet leur interconnexion. Ils sont supervisés par le sous-système informatique 2 vis-à-vis duquel ils se comportent comme des coupleurs esclaves, accessibles par la fonction entrée/sortie supportée par leur bus commun. Ainsi, le commutateur de l'invention se présente comme un ensemble d'alvéoles maillés par des chemins de paroles et de données, le chemin de données possédant un temps de transit pratiquement constant. Chaque alvéole est indépendant des autres et peut etre isolé ou subir une défaillance sans entraîner l'arret du système. Le logiciel du réseau est réparti, de préférence totalement ou presque totalement réparti; les processeurs sont autonomes, et leurs logiciels dialoguent en échangeant des messages. REVENDICATIONS 1. Commutateur à architecture, caractérisé par le fait qu'il a une structure mono-multiprocesseur (5.1 à 5.n), à logiciel au moins partiellement réparti, à plusieurs alvéoles similaires, chaque alvéole comportant un bus interprocesseur local (9), ainsi qu'un bus local (13) complètement découplé du bus interprocesseur, le circuit d'informations de l'abonné étant découplé (16) du circuit d'informations (9) du processeur. 2. Commutateur selon la revendication 1, caractérisé par le fait que tous les alvéoles sont synchrones. 3. Commutateur selon l'une des revendicantions 1 ou 2, caractérisé par le fait que les alvéoles comportent des entités fonctionnelles qui sont supervisées par des unités de commande décentralisées situées dans leur alvéole. 4. Commutateur selon l'une des revendications 1 à 3, caracté- risé par le fait que les unités de commande (6) communiquent entre elles par un réseau de paquets interne au commutateur. 5. Commutateur selon la revendication 4, caractérisé par le fait qu'à l'intérieur d'un même alvéole le réseau de paquets emprunte le support d'un réseau de file d'attente en mémoire selon la technique de l'hypertreillis. 6. Commutateur selon l'une des revendicatins 4 ou 5, caractérisé par le fait qu'à l'extérieur d'un même alvéole le réseau de paquets est maillé en hypercube et emprunte des voies à fort débit des artères internes.