CA2102537C - Outil de simulation d'un code de reseau - Google Patents

Outil de simulation d'un code de reseau

Info

Publication number
CA2102537C
CA2102537C CA002102537A CA2102537A CA2102537C CA 2102537 C CA2102537 C CA 2102537C CA 002102537 A CA002102537 A CA 002102537A CA 2102537 A CA2102537 A CA 2102537A CA 2102537 C CA2102537 C CA 2102537C
Authority
CA
Canada
Prior art keywords
code
communication
simulation
network
applications
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.)
Expired - Fee Related
Application number
CA002102537A
Other languages
English (en)
Other versions
CA2102537A1 (fr
Inventor
Pascal Bonnet
Francois Machet
Rene Martin
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.)
Bull SA
Original Assignee
Bull SA
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 Bull SA filed Critical Bull SA
Publication of CA2102537A1 publication Critical patent/CA2102537A1/fr
Application granted granted Critical
Publication of CA2102537C publication Critical patent/CA2102537C/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Abstract

Outil de simulation (ES) d'un code de réseau (RE) caractérisé en ce que le code est porté dans un ordinateur (ORD) extérieur au système, l'outil constituant une application pour le système d'exploitation de ce dernier (NY) en étant considéré comme un noyau virtuel (CC) et comprenant au moins :
- le code de couches de communication non modifié et compilé dans le langage interne de l'ordinateur (CC), - les services de base pour le noyau virtuel reliés au dit code (CONFIG, RA, SI, GH) - un nombre m de librairies (L1 à Lm) d'accès au code (CC) pour un nombre n d'applications de tests (A1 à An) de ce dernier.
Applicable à la mise au point de codes de réseau.

Description

OUTIL DE SlMULATlON D'UN CODE DE RÉSEAU.
La présente invention concerne un outil de simulation d'un code de couches de communication d'un réseau qu'on appellera, pour simplifier, s code de réseau (Networking code, en anglais) dans la suite du texte. Elle est notamment applicable à la simulation d'un code exécutable dans un processeur de système informatique gérant des échanges d'informations avec les différentes stations d'un réseau, ce réseau pouvant être par exemple un réseau de type FDDI (normalisé à l'ANSI, sous la référence io X3T9-5 et à l' I.S.O., Organisation internationale de normalisation).
On sait que les réseaux de communication sont constitués par une pluralité de terminaux ou stations reliés entre eux par une liaison de transmission comprenant un support de transmission qui peut étre is constitué par exemple par des fibres optiques, dans le cas d'un réseau de type FDDI. Un ordinateur relié à un tel réseau est considéré comme un terminal.
On sait que de nombreux réseaux téléinformatiques et télématiques 2o modernes fonctionnent suivant un même modèle de référence connu sous le nom de modèle de référence OSI. D'autres réseaux peuvent également fonctionner sur d'autres modèles qui restent cependant voisins du modèle de référence OSI, en ce qui concerne la définition de l'architecture de ces réseaux sous forme de couches normalisées (il en est ainsi des réseaux 2s TCP-IP, par exemple). Ainsi, dans le modèle OSI, l'architecture est constituée par l'empilement de sept couches d'activités, la couche la plus basse (couche 1 ) correspondant à la transmission physique des signaux entre les différents systèmes, au travers du support physique d'interconnexion (fibres optiques) alors que la couche supérieure (couche 30 7) correspond aux fonctions réalisées par les programmes d'application et les utilisateurs du réseau téléinformatique considéré.
Le modèle OSI définit également les concepts permettant de décrire le fonctionnement de chaque couche. On connaît, par ailleurs des 3s mécanismes définissant les relations entre couches adjacentes, par exemple celui appelé "STREAMS" par la Société ATT et défini plus précisément dans des documents mentionnés dans la suite du texte.
2 La tendance du développement technologique des réseaux, l'utilisation de terminaux de plus en plus nombreux, conduisent à développer au sein même des ordinateurs, des processeurs de communication programmés, ce qui permet ainsi de réduire la charge de l'unité centrale de l'ordinateur s en effectuant une partie de la gestion des communication de ce dernier avec les autres stations du réseau.
Par ailleurs, étant donné le développement extrêmement rapide des réseaux de communication ainsi que des systèmes informatiques, on est 1o conduit à connecter à un même réseau des ordinateurs de type différents utilisant des systèmes d'exploitation (Operating System) différents.
Le but d'un processeur de communication, qu'on peut également appeler système de transmission de données ou dispositif passerelle de connexion is est d'adapter les conditions de transmission des informations sur le bus d'un ordinateur, aux conditions de transmission sur le réseau, ces conditions de transmission étant totalement différentes. Par ailleurs. ce processeur de communication permet de faire dialoguer des systèmes d'exploitation d'ordinateurs différents entre eux. En particulier, il permet 2o de faire dialoguer les différentes couches de communication du système d'exploitation d'un premier ordinateur avec les différentes couches de communication des systèmes d'exploitation d'autres ordinateurs connectés au même réseau.
25 Le processeur de communication doit donc comporter, au sein méme de son système d'exploitation un code de couches de communication lui permettant de dialoguer tant avec le système d'exploitation de l'ordinateur auquel il est relié, qu'avec les autres ordinateurs connectés au réseau, par exemple de type FDDI.
On connait par exemple un tel processeur de communication, encore appelé système de transmission de données.
Un tel processeur de communication, appelé NCC, permet d'assurer la 3s gestion du transfert des données entre un ordinateur HOST muni d'un bus interne PSB dont le système d'exploitation est désigné par OS, et un réseau RE, par exemple de type FDDI. Le bus PSB est par exemple un bus
3 dit MULTIBUSII (marque déposée par la société INTEL) normalisé suivant la norme IEEE 1296 (Institute of Electrical and electronic engineers).
Le processeur de communication NCC comprend trois parties essentielles qui sont les suivantes:
- la première partie, appelée GPU (sigle anglais de General Purpose Unit) est par exemple du modèle décrit dans le brevet européen EP 524070 du 20 janvier 1993 au nom de BULL S.A., sous le titre "Dispositif universel de couplage d'un bus d'ordinateur à un contrôleur d'un groupe de périphériques".
Cette partie est munie d'un système d'exploitation par exemple du type décrit dans le brevet européen EP 524071 du 20 janvier 1993 par la même demanderesse, sous le titre "Système d'exploitation pour dispositif universel de couplage d'un bus d'ordinateur à une liaison spécifique d'un réseau". Le but de cette partie GPU est d'assurer d'une part l'initialisation de l'ensemble du coupleur NCC et d'autre part d'assurer le dialogue avec l'ordinateur HOST par l'intermédiaire du bus PSB, en respectant les normes d'utilisation de ce bus et en se conformant à la nature du système d'exploitation OS de l'ordinateur HOST. Par ailleurs, la partie GPU assure le transfert physique des données entre le bus PSB et la seconde partie DEA, dite dispositif adapteur qui est directement connectée au réseau RE. La fonction de cette partie DEA est décrite ci-dessous.
- la partie DEA est par exemple du type décrit, soit dans le brevet français 2 650 412 dont le titre est "dispositif passerelle de connexion d'un bus d'ordinateur à un réseau fibre optique en forme d'anneau" pour la partie matérielle, soit dans le brevet européen EP 588 703 du 23 mars 1994 pour ce qui concerne la partie logicielle. Cette partie DEA assure la transmission physique des données entre la partie GPU et le réseau RE, ainsi que la connexion physique au réseau.
- la troisième partie, appelée PPA est en fait un coprocesseur de communication destiné plus particulièrement à la gestion des différentes couches de télécommunication du modèle OSI, ou encore du modèle TCP-IP.
Aussi bien en ce qui concerne le modèle OSI, que TCP-IP, la partie PPA assure la gestion des couches de communication C4, C3, C2, c'est à
4 dire, respectivement des couches de transport, de réseau, et de liaison de données.
Les couches de communication C2 à C4 communiquent entre elles par s l'intermédiaire de fonctions primitives permettant à deux couches voisines de dialoguer entre elles. Ainsi les deux couches C2 et C3 communiquent entre elles par l'intermédiaire de l'ensemble de fonctions ST2, alors que les couches C3 et C4 communiquent par l'intermédiaire de l'ensemble de fonctions ST3. Par ailleurs C4 communique avec le monde extérieur c'est io à dire par exemple avec des applications externes par l'intermédiaire d'une interface SH.
Dans une forme de réalisation préférée dans l'invention, les ensembles de fonctions ST2, ST3, SH sont des fonctions connues dans la pratique is courante sous le nom de STREAMS. Ces fonctions standard sont par exemple définies dans les documents suivants - Unix Système V Release 4 - STREAMS Programmer's Guide, ATT issue - Unix~ System V Release 3.2 - STREAMS Programmer's guide, ATT
(ISBN : 0-13-944810-1 ) : 1989.
Dans l'exemple de réalisation montré à la figure 1, lorsque l'ordinateur 2s HOST envoie un message vers le réseau RE, ou bien lorsqu'un message provient du réseau RE, celui-ci transite vers les couches C2 à C4, par l'intermédiaire d'une mémoire FiFo, à savoir FF1, alors que ce message est transmis vers le dispositif adaptateur DEA, dans le premier cas ou vers GPU dans le second cas, depuis la partie PPA par l'intermédiaire de la 3o mémoire FiFo, FF2. Lorsqu'il s'agit d'établir une demande de connexion, provenant de l'ordinateur HOST, cette demande passe par l'intermédiaire de l'interface SH, alors que une fois la connexion établie, lorsqu'il s'agit d'envoyer des messages vers tout ou partie des stations connectées au réseau, ceux ci passent directement dans les couches C4 à C2.
3s L'ensemble constitué par les couches de communication C2 à C4 et par les différentes fonctions ST2, ST3 et SH, ainsi que par le système d'exploitation associé (celui de la partie PPA), constitue ce que l'on s désigne par code de couches de communication CC, ou code de réseau ou encore noyau de communication.
Dans la pratique courante, lorsque l'on met au point des processeurs de s communication tel que NCC, il est nécessaire d'attendre que le support matériel soit réalisé pour mettre au point le code de réseau, ce qui entraîne une perte de temps. La mise au point en est d'autant retardée.
La présente invention permet de remédier à ces inconvénients en portant ~o le noyau de communication CC sur un ordinateur extérieur et en considérant ce noyau comme une application pour le système d'exploitation de cette machine.
Selon l'invention, l'outil de simulation d'un code de couches de 1s communication d'accès à un réseau, code exécutable dans tout processeur de communication de système informatique, gérant les échanges d'informations sur le réseau, est caractérisé en ce que le code est porté dans un ordinateur extérieur au système, l'outil constituant une application pour le système d'exploitation de l'ordinateur en étant 2o considéré comme un noyau virtuel, et comprenant au moins - le code de couches de communication non modifié et compilé dans le langage interne de l'ordinateur, 2s - les services de base pour le noyau virtuel relié au dit code, - des librairies d'accès au code pour toutes les applications de test de ce dernier.
3o D'autres caractéristiques et avantages de la présente invention apparaitront dans la description suivante donnée à titre d'exemple non limitatif et en se référant aux dessins annexés.
Sur ces dessins 3s - La figure 1 rappelle ce que sont les différents éléments constitutifs essentiels d'un processeur de communication, - La figure 2 montre les éléments constitutifs essentiels de l'outil de simulation selon l'invention, - La figure 3 montre plus en détail un mode de réalisation de l'invention s dont les éléments constitutifs essentiels montrés à la figure 2 sont relatifs à la mise au point d'un processeur de communication pouvant utiliser n'importe quel type de système d'exploitation, - La figure 4 montre un mode de réalisation particulier de l'outil de lo simulation selon l'invention, applicable plus particulièrement à la mise au point du code CC de la partie PPA montrée à la figure 1.
On se reporte à la figure 2 qui montre les éléments constitutifs essentiels de l'outil de simulation selon l'invention.
L'outil de simulation, que l'on désigne plus volontiers sous le nom de "environnement de simulation", à savoir ES est porté sur une machine destinée par exemple à la mise au point de logiciels de divers types, machine appelée ORD dont le système d'exploitation est désigné par NY.
2o Dans un exemple de réalisation préféré de l'invention, aussi bien NY que ES fonctionnent sous système UNIX, défini par ATT, et désormais largement répandu.
L'environnement de simulation ES est considéré par NY comme une 2s application et se situe par conséquent en dehors du système d'exploitation lui-même. Ainsi, si, lors de la mise au point de l'environnement de simulation ES, survient une erreur, celle-ci n'affecte que cette méme application et par conséquent, la machine ORD peut continuer à tourner avec son système d'exploitation NY et rester 3o disponible pour la mise au point d'autres applications.
L'environnement de simulation ES comprend un noyau central CC qui reproduit les couches de communication, par exemple C2 à C4 qui sont montrées à la figure 1. Ces couches de communication CC comportent 3s exactement les mémes lignes de code que celles qui figurent dans la partie PPA de la figure 1. La seule différence est que ces couches de communication sont compilées dans le langage interne propre à la machine ORD.

Les couches de communication incluses dans CC sont celles que veut simuler et tester l'utilisateur. Elles sont de type quelconque, par exemple de type OSI, ou TCP-IP, LAP-D, etc... Elles peuvent varier au cours du s temps, puisque l'utilisateur peut avoir la nécessité de mettre au point des codes de réseau de divers types, suivant les besoins qu'il a à un moment déterminé. Bien entendu, à un même moment, le noyau CC peut contenir des couches de communication de types différents, ou n'en contenir aucune.
io L'environnement ES comprend également un configurateur CONFIG
destiné à mettre en route le noyau CC. Ce dernier peut communiquer avec les applications de test A1, ..., Ai,...An extérieures à ES par l'intermédiaire respectivement des librairies d'application L1, Lj,...Lm, is appartenant elles aussi à ES, et des librairies 11, Ik,...lp appartenant à
A1, Ai,...An.
L'ensemble de ces librairies (L1 à Lm, 11 à Ip) contient des systèmes d'appel 01, ...,Ok,....Op, conformes au standard UNIX.
Le nombre m de librairies de ES (L1 à Lm) est généralement différent du nombre p de librairies 11 à Ip lui même différent du nombre n d'applications A1 à An.
2s En effet, plusieurs applications différentes telles que A1 et A2 à la figure 2 peuvent posséder des librairies identiques, ici 11, communiquant avec la même librairie L1, ce qui définit le système d'appel 01.
A la figure 2, on a supposé que Ai avait une librairie Lk communiquant so avec Lj, ce qui définit le système d'appel Ok, alors que An possède la librairie Ip communiquant avec la librairie Lm, ce qui définit le système d'appel Op.
Au cas où une application Ai cherche à communiquer avec 3s l'environnement de simulation ES par l'intermédiaire du système d'appel Ok, et qu'elle ne reçoit aucune réponse de la part de ES, alors l'appel est renvoyé sur le système d'exploitation central NY de la machine ORD, ainsi qu'en témoignent par exemple les flèches F1, ..., Fi,..., Fn, à la figure 2.

g ceci est le cas, par exemple, lorsque Ai cherche à obtenir l'ouverture d'un fichier, ce que ne fait pas CC.
L'environnement de simulation ES offre un environnement pour les s applications de test suivantes - les applications de test unitaire des interfaces de type STREAMS, le terme unitaire signifiant ici qu'on cherche à tester une interface STREAMS
déterminée, - les applications de test unitaire de couches de protocole de communication,le terme unitaire signifiant ici qu'on cherche à tester une couche déterminée, is - les applications de test d'un empilement de couches, autrement dit, les applications de simulation du fonctionnement d'un réseau.
L'environnement ES est configurable. Son noyau CC est lancé par le configurateur CONFIG. II peut l'être sous le contrôle d'un débogueur (debugger), situé dans NY.
L'environnement ES fournit un accès dynamique à toutes les applications de test et rend la simulation transparente pour les différentes couches du noyau CC, puisqu'on ne touche ni à une seule ligne de code de ce dernier, ni à une ligne de chacune de ses applications.
Les applications de test peuvent être démarrées soit directement à partir d'un langage de commande UNIX, ce qui est représenté à la figure 2 par les différents systèmes d'appel 01 à Op, soit encore par un metteur au 3o point d'application standard de type UNIX ~débogueur quelconque, fourni par NY, sous UNIX, différent de celui mentionné ci-dessus).
L'exécution d'une simulation du code CC est appelée une session de simulation et chacune des applications de test peut se connecter ss dynamiquement à une session de simulation. Par ailleurs, plusieurs sessions de simulation peuvent coexister simultanément sur le même environnement ES.

Chacun des appels système 01,.....Ok,....Op, est conforme à la sémantique d'un appel système STREAMS sous UNIX. En d'autres termes, on peut dire que l'on réalise une émulation des appels système UNIX sur l'environnement de simulation ES, ou encore que les applications A1 à An communiquent avec l'environnement de simulation ES comme s'il s'agissait d'un véritable système UNIX.
On se reporte à la figure 3 qui montre un premier exemple de réalisation de l'environnement de simulation ES montré à la figure 2. A cet égard, on io suppose que l'on a affaire à trois applications A1, A2, A3.
L'application A1 est une application de simulation d'un réseau. Elle simule donc des messages provenant d'un réseau, messages conformes au protocole en application sur ce réseau.
is L'application A2 est une application de test pour le standard XTI défini par ATT. XTI est un standard d'interface entre une couche de niveau 4 (transport? et une application utilisateur quelconque (Process User).
2o L'application A3 est une application de test utilisant les appels système standard STREAMS. On voit donc que ces applications sont, soit des applications écrites spécifiquement par l'utilisateur, par exemple l'application A1, soit des applications standard UNIX, telles que les applications A2 et A3.
zs Les applications A1 à A3 peuvent accéder à une session de simulation par l'intermédiaire des librairies spécifiques, L1, L2 et L3 appartenant à ES.
On a supposé ici que A1, A2, A3 possédaient respectivement les librairies 11, 12, 13 associées respectivement aux système d'appels 01, 02, 03 et 3o aux librairies L1, L2, L3 et ce, pour simplifier. Chacune de ces librairies fournit à l'application correspondante un ensemble de fonctions lui permettant de communiquer avec le noyau virtuel CC. Le dialogue des applications avec celui-ci est basé sur un mécanisme UNIX, à savoir un mécanisme IPC. A cet effet, chacune des librairies L1 à L3 comprend une 35 sous-librairie, respectivement LC1, LC2 et LC3, dites librairie client IPC.
Ce mécanisme, transparent pour l'application permet à l'utilisateur de celle-ci d'identifier la session de simulation à laquelle il veut accéder. (On rappelle que plusieurs sessions peuvent avoir lieu simultanément pour un io méme noyau virtuel CC). La couche immédiatement supérieure au mécanisme IPC est une couche intermédiaire qui rend la couche basse de type IPC invisible pour l'application. A cet effet, les deux librairies L2 et L3 sont munies chacune respectivement d'une sous-librairie, à savoir LS2 et LS3 fournissant par exemple des tests spécifiques pour les interfaces STREAMS.
La librairie L2 comprend de plus une sous-librairie LX2 qui est spécifique des applications de test XTI. Par ailleurs, la librairie L1 comprend une 1o sous-librairie LT1, dite librairie transparente qui contient les moyens d'accès vers l'environnement de simulation ES permettant de simuler des messages provenant d'uri type de réseau particulier déterminé, que l'on cherche à simuler.
is Le configurateur CONFIG déclenche l'exécution du noyau virtuel CC, que l'on cherche à simuler. Ce dernier est déclenché comme n'importe quelle application de type UNIX. Ce configurateur CONFIG déclenche par ailleurs des applications de service, à savoir le gestionnaire d'horloge GH, le gestionnaire d'interruption SI.
Le configurateur CONFIG lit ses directives à partir d'un fichier de configuration où sont indiquées toutes les opérations possibles que l'on désire lancer lors d'une session de simulation.
Le noyau virtuel CC comprend de plus un certain nombre de services, à
savoir - les services de connexion d'application formés par le serveur IPCS (ou serveur de type IPC, défini dans UNIX) et un répartiteur R (dispatcher R), 3o permettant à chaque application de trouver le point d'entrée vers la couche de communication de CC à laquelle elle désire accéder : en effet, suivant le type de couches de communication qu'on cherche à mettre au point, les points d'entrée sont différents.
3s - L'ensemble des services SCC qui fournissent le système d'exploitation de base du noyau CC.

- Des services simulant les services matériels qui sont ceux utilisés par le processeur de communication utilisant le code communication CC que l'on cherche à simuler. Ces services matériels peuvent être constitués par exemple par un gestionnaire d'interruption qui simule des interruptions s matérielles, un gestionnaire d'horloge qui simule des fonctions de gestion de temps (timing functionsl, des services d'allocations de mémoire, ainsi que des services d'inhibition (inhibition services).
- des services SMS de mécanisme de type STREAMS définis dans les io normes relatives à ces mêmes STREAMS.
Le noyau virtuel CC comporte en outre tout un ensemble d'éléments composant ce que l'on peut définir comme une architecture de type STREAMS, ces éléments étant ls - l'interface STREAMS SH qui est strictement analogue à l'interface SH de l'ensemble de couches de communication de la partie PPA de la figure 1.
- l'élément timod qui est un module STREAMS lié à XTI, - l'ensemble LPC de modules de protocoles de communication que l'on cherche à tester, à un moment donné. A un autre moment, cet ensemble peut être de nature différentes (TCP-IP, ISO, LAP-D, etc.). Ces modules sont reliés ensemble suivant des ordres fournis dans un fichier de code en langage C2+ fournis par l'utilisateur. Ces différents modules ignorent de fait qu'ils sont exécutés dans un environnement de simulation. Ils se comportent donc exactement comme s'ils étaient dans un environnement réel.
- Un ensemble LT de modules spécifiques de chacun des tests que l'on cherche à mettre en oeuvre. Ils sont liés entre eux de la même façon que les modules de protocole LPC.
Les éléments énoncés ci-dessus communiquent entre eux (flèches en 3s traits épais à la figure 3) par des services streams SMS (définis dans la norme). Ainsi SH communique avec timod, timod avec LPC et LT avec LPC, par ces services SMS.

Ainsi que l'on peut le voir à la figure 3, les échanges d'informations et les dialogues entre les différents éléments constituant l'environnement de simulation se font dans les deux sens, ce qui est illustré par l'ensemble des flèches à double sens qui relient respectivement L3, L2, L1 à CC
s d'une part, et entre le répartiteur R et l'interface STREAMS SH d'autre part. On voit également que la communication entre chacune des applications A1 à A3, par l'intermédiaire des librairies 11 à 13, L1 à L3 et par le serveur IPCS et le répartiteur R passe par l'intermédiaire de l'interface STREAMS SH. Le dialogue entre SH et R se fait également dans lo les deux sens ainsi qu'il est illustré par les deux flèches à double sens qui sont à l'intérieur du noyau virtuel CC, flèches symbolisant les tests STREAMS et XTI d'une part et les tests de simulation de réseaux d'autre part.
ls La figure 4 montre un exemple particulier de réalisation de la figure 3, plus particulièrement destinée à simuler le fonctionnement du code de communication de l'élément PPA de la figure 1.
La plupart des éléments constitutifs essentiels de la figure 3 se retrouvent 2o dans la figure 4, à savoir les applications A1 à A3 avec leurs librairies correspondantes L1 à L3, ainsi que les éléments constitutifs essentiels du code de communication CC, à savoir le serveur IPCS, le répartiteur R, le service du noyau virtuel SCC, l'interface STREAMS SH, l'élément timod, l'ensemble LPC. L'environnement de simulation montré à la figure 4 25 comporte en plus une application A4 , appelée application hôte, accompagnée des librairies qui lui sont associées à savoir sa propre librairie 14, d'une part et de L4 pour ES composée d'une sous-librairie LC4 analogue aux sous-librairies LC1 à LC3, et d'une librairie transparente LT4 simulant les messages que l'ordinateur HOST peut envoyer au réseau RE, 3o par l'intermédiaire des parties GPU, PPA et DEA montrées à la figure 1.
Par ailleurs, le noyau virtuel CC comprend un gestionnaire de FiFo et les deux FiFo FF1 et FF2 qui simulent très exactement les FiFo FF1 et FF2 ayant la même dénomination à la figure 1. A la figure 4, le noyau virtuel CC comprend de plus une interface OH1 disposée entre l'interface 3s STREAMS SH et l'élément timod.
Par ailleurs le noyau virtuel CC de la figure 4 comprend un logiciel d'écriture de FiFo, FD.

Les éléments SH, HI, tmod, LPC, FD communiquent respectivement entre eux par l'intermédiaire de services STREAMS, SMS analogues à ceux de la figure 3. Par ailleurs le logiciel d'écriture FiFo FD communique directement avec l'élément FiFo FF2 alors que l'élément FF1 communique directement avec l'interface hôte HI.
Les applications A1 et A4, communiquent avec le noyau virtuel CC par l'intermédiaire des librairies 11 et 14. L1 et L4, des éléments IPC et R (de la lo même manière que la figure 3) puis elles communiquent directement avec le gestionnaire de FiFo GF. Par contre, en ce qui concerne les applications A2 et A3, la façon dont elles communiquent avec le noyau virtuel CC est totalement identique à celle indiquée à la figure 3. Par conséquent, dans ce cas,. le répartiteur R communique directement avec l'interface STREAMS SH.
Par ailleurs les services SCC du noyau virtuel comprennent en outre un gestionnaire de tâches GT qui comprend des fonctionnalités propres au système d'exploitation qui est réellement mis en oeuvre dans l'élément 2o PPA. Dans l'exemple de réalisation qui est décrit ici, ces fonctionnalités appartiennent au logiciel de communication CNS mis au point par la demanderesse.
Les autres éléments CONFIG, GH, SI, RA sont strictement identiques à
2s ceux de la figure 3.
L'interface hôte HI est un multiplexeur dont le rôle est d'extraire des messages depuis la FiFo de lecture FF1. Ces messages transportent des primitives d'un format spécifique à ce processeur NCC. Certains de ces 3o messages sont dirigés soit à travers l'interface SH vers une tâche de type CNS en attente de connexion, soit dirigés vers les LPC.
Ainsi qu'il a été dit plus haut le logiciel d'écriture FD écrit des messages dans la FiFo d'écriture FF2.
Les logiciels de protocole de communication LPC fonctionnent de la même manière qu'à la figure 3, ou sont chaînés par une tâche de configuration définie par des messages de configuration reçus de l'application A4 lorsque celle-ci est simulée.

Claims (7)

Revendications
1. Outil de simulation (ES) d'un code de couches de communication (CC) d'accès à au moins un réseau (RE), code exécutable dans tout processeur de communication (NCC) de système informatique, gérant les échanges d'informations sur le réseau, caractérisé en ce que le code est porté dans un ordinateur (ORD) extérieur au système,l'outil constituant une application pour le système d'exploitation de ce dernier (NY) en étant considéré comme un noyau virtuel (CC) et comprenant au moins:
- le code de couches de communication non modifié et compilé dans le langage interne de l'ordinateur (CC), - les services de base pour le noyau virtuel reliés au dit code (CONFIG, RA, SI, GH), - un nombre m de librairies (L1 à L m) d'accès au code (CC) pour un nombre n d'applications de tests (A1 à A n) de ce dernier.
2. Outil de simulation selon la revendication 1 caractérisé en ce que chaque application comprend une librairie d'accès vers l'extérieur pouvant communiquer avec l'une des m librairies de l'outil en définissant avec celle-ci un système d'appels, le nombre p de librairies d'application différentes étant égal ou inférieur au nombre m de librairies d'accès au code, plusieurs applications étant susceptibles d'avoir des librairies d'application identiques, le nombre de systèmes d'appel différents étant lui aussi égal à p.
3. Outil de simulation selon la revendication 1 caractérisé en ce que les applications de test comprennent:
- des applications de test d'interfaces déterminées entre différentes couches de communication du réseau (A2, A3) - des applications de test de chacune des couches de communication, des applications (A1) de test de l'empilement des couches de communication.
4. outil de simulation selon la revendication 3, caractérisé en ce que chaque libraire d'accès au code (L1 à L3) comprend une première sous-librairie (LC1, LC2, LC3) comprenant un mécanisme permettant à
l'utilisateur de l'outil d'identifier la session de simulation à laquelle il veut accéder, plusieurs sessions de simulation pouvant coexister sur l'outil de simulation, et une seconde sous-librairie contenant des tests spécifiques d'interfaces entre les dites couches de communication.
5. Outil selon la revendication 4 caractérisé en ce que toute librairie d'accès au code (L1) communiquant avec des applications de test d'empilement de couches (A1) contient des moyens d'accès au code permettant de simuler des messages provenant du réseau, contenus dans une sous-librairie.
6. Outil de simulation (ES) selon la revendication 1 caractérisé en ce que les services de base comprennent un configurateur déclenchant son exécution.
7. Outil de simulation selon les revendications 2 et 3, caractérisé en ce que les appels systèmes sont conformes au système UNIX, les interfaces entre différentes couches de communication étant de type STREAMS.
CA002102537A 1992-11-13 1993-11-05 Outil de simulation d'un code de reseau Expired - Fee Related CA2102537C (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9213653A FR2698189B1 (fr) 1992-11-13 1992-11-13 Outil de stimulation d'un code de réseau.
FR9213653 1992-11-13

Publications (2)

Publication Number Publication Date
CA2102537A1 CA2102537A1 (fr) 1994-05-14
CA2102537C true CA2102537C (fr) 1999-12-28

Family

ID=9435502

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002102537A Expired - Fee Related CA2102537C (fr) 1992-11-13 1993-11-05 Outil de simulation d'un code de reseau

Country Status (8)

Country Link
US (1) US5995741A (fr)
EP (1) EP0599681B1 (fr)
JP (1) JP2568374B2 (fr)
KR (1) KR970004094B1 (fr)
CA (1) CA2102537C (fr)
DE (1) DE69329178T2 (fr)
FR (1) FR2698189B1 (fr)
TW (1) TW247981B (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370606B1 (en) * 1998-11-05 2002-04-09 Compaq Computer Corporation System and method for simulating hardware interrupts in a multiprocessor computer system
US6512988B1 (en) * 2000-05-25 2003-01-28 Agilent Technologies, Inc. Fast test application switching method and system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2476349A1 (fr) * 1980-02-15 1981-08-21 Philips Ind Commerciale Systeme de traitement de donnees reparti
US4617663A (en) * 1983-04-13 1986-10-14 At&T Information Systems Inc. Interface testing of software systems
US4845665A (en) * 1985-08-26 1989-07-04 International Business Machines Corp. Simulation of computer program external interfaces
JPH0668724B2 (ja) * 1988-02-01 1994-08-31 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン シミユレーシヨン方法
WO1991020032A1 (fr) * 1990-06-11 1991-12-26 Supercomputer Systems Limited Partnership Systeme de logiciels a maintenance et developpement integres
US5339422A (en) * 1991-03-07 1994-08-16 Digital Equipment Corporation System and method for jacketing cross-domain calls in a multi-code execution and debugging system within a multi-architecture environment

Also Published As

Publication number Publication date
DE69329178T2 (de) 2001-04-05
EP0599681B1 (fr) 2000-08-09
KR970004094B1 (ko) 1997-03-25
JPH06214909A (ja) 1994-08-05
DE69329178D1 (de) 2000-09-14
CA2102537A1 (fr) 1994-05-14
TW247981B (fr) 1995-05-21
EP0599681A1 (fr) 1994-06-01
US5995741A (en) 1999-11-30
FR2698189B1 (fr) 1994-12-30
KR940012161A (ko) 1994-06-22
JP2568374B2 (ja) 1997-01-08
FR2698189A1 (fr) 1994-05-20

Similar Documents

Publication Publication Date Title
FR2699706A1 (fr) Système de transmission de données entre un bus d'ordinateur et un réseau.
EP0599706B1 (fr) Dispositif de traitement de l'information permettant la gestion d'une ressource informatique par un système d'administration
FR2713422A1 (fr) Procédé de conversion automatique pour le portage d'applications de télécommunication du réseau TCP/IP sur le réseau OSI-CO et module utilisé dans ledit procédé.
EP0524070B1 (fr) Dispositif universel de couplage d'un bus d'ordinateur à un contrôleur d'un groupe de périphériques
FR2760307A1 (fr) Configurateur de commutateur telephonique, et procedes pour sa mise en oeuvre
EP0445034B1 (fr) Dispositif et utilisation de ce dispositif dans un procédé de remplacement de cartes
Mahler VoIP Telephony with Asterisk
EP0524071A1 (fr) Système d'exploitation pour dispositif universel de couplage d'un bus d'ordinateur à une liaison spécifique d'un réseau
EP0182678B1 (fr) Terminal de télé-informatique à extensions externes
CA2102537C (fr) Outil de simulation d'un code de reseau
EP0969625A1 (fr) Agent de communication entre un administrateur et au moins une ressource d'un système informatique
FR2923042A1 (fr) Systeme pour le deploiement de composants logiciels sur des unites de calcul limitees en capacite de traitement.
FR2737028A1 (fr) Architecture d'habillage d'applications pour une plate-forme informatique
EP1356656A2 (fr) Protocole de transmission d'une pluralite de flux logiques d'echange multiple de couples de commande/reponse sur un canal physique unique
Utas Robust Communications Software: Extreme Availability, Reliability and Scalability for Carrier-Grade Systems
EP0615370B1 (fr) Système de communication avec un réseau
CN100388206C (zh) 结合不透明用户标识符的管理来检查服务完整递送的方法
EP0470875B1 (fr) Contrôleur de communication entre un ordinateur et une pluralité de terminaux de type RNIS
EP0637801A1 (fr) Système de communication avec un réseau et protocole d'accès aux fournisseurs de transports appartenant à ce système
CN113626132A (zh) Wiseman开发引擎平台
EP0790553B1 (fr) Outil de génération et d'exécution de commandes à interface graphique
FR2683108A1 (fr) Procede de communication reliant un nombre limite ou non limite de sites en une liaison interactive reelle ou virtuelle.
Dinerstein Enhancements and extensions of the Telnet protocol
Goyer et al. Genepx400—A test system for X. 400 based message handling systems
Lo Open systems interconnection passive monitor OSI-PM

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed