Brevet FR2809558A1 — publié le 20011130

La présente invention concerne un système clients-serveur équipé de moyens de diagnostic du serveur. Elle s'applique notamment pour un routeur informatique, utilisé par exemple dans une application de gestion du trafic aérien. La densité de trafic aérien a atteint un niveau très important. Par ailleurs, les exigences de sécurité aériennes sont toujours de plus en plus accrues. Une consequence de cette situation est que la gestion du trafic aérien doit traiter grand nombre d'informations, destinées notamment aux contrôleurs aériens et aux pilotes d'avions. Ces informations sont en particulier relatives a une large catégorie de données radar, à des situations météorologiques, à plans de vol ou encore à des données de type ILS concernant les systèmes d'atterrissage. Le traitement de ces informations ne peut se faire que par des moyens informatiques puissants. Parmi ces moyens, un rôle essentiel est joué par les moyens d'interfaçage des différents centres d'informations ou de décisions. Ces moyens d'interfaçage ont notamment une fonction de routage des informations, ont donc notamment une fonction d'aiguillage des données vers les bons centres de destination. Etant donné les flots très importants de donnees en jeu, ces moyens ont un rôle essentiel pour le bon fonctionnement global d'un système de gestion du trafic aérien. Les données traitées sont notamment les données radar et autres données relatives à la situation de vol avions, telles que par exemple des plans de vol ou informations météorologiques. II existe des matériels connus et notamment disponibles dans le commerce, équipés de leurs systèmes d'exploitation, qui permettent de répondre à ces besoins de routage. A titre d'exemple, on peut citer une gamme de produits connus par la marque déposée LINES issue de l'expression anglo-saxonne Link Interface Node for External Systems . Ces produits, de type modulaire, sont conçus pour permettre le routage et le traitement de messages d'entrées/sorties parmi des lignes séries entrantes ou sortantes et Ethernet. Les lignes série standards telles que par exemple X25, HDLC ou BSC sont traitées aussi bien que des lignes dédiées, telles que par exemple des protocoles de transmissions d'informations radar particuliers. Ces routeurs peuvent fonctionner avec une architecture logicielle de type à processeur frontal. Ils sont équipés d'un logiciel de type FPBSS, ce dernier terme étant issu de l'expression anglo-saxonne Front Processor Basic System Software . Dans ce mode de réalisation, le routeur est relié à un seul programme d'application. Il n'a qu'une fonction amont, par exemple l'aiguillage des données vers la bonne destination. Tout le coeur de l'applicatif est dans un ou plusieurs calculateurs centraux. En d'autres termes, il faut autant de routeurs que d'applicatifs. Une utilisation plus performante de ces routeurs peut se faire selon un mode de communication ouvert, dit encore OCP selon l'expression Open Communication Processor . Dans ce mode, un routeur est relié à plusieurs applications et fonctionne sensiblement comme un serveur de données. Il permet notamment d'aiguiller et de traiter les données depuis n'importe quel point d'entrée vers n'importe quel point de sortie. Ce mode de fonctionnement est particulièrement bien adapté à la gestion du trafic aérien. Dans une application de gestion du contrôle aerien, ce mode permet en effet notamment les fonctionnalités suivantes, c'est-à-dire - une distribution du type boite noire des données radar vers les centres, les données radar étant reçues par des interfaces séries et transmises via un réseau local, par exemple Ethernet, vers un groupe de machines identifiées, diffusion encore appelée UDP multicast dans la littérature anglo-saxonne, les données peuvent encore être diffusées par ce réseau mais vers un ensemble de machines non nécessairement identifiées, il s'agit en fait d'une diffusion tout azimut, ce mode de diffusion étant connu sous l'expression UDP broadcast dans la littérature anglo-saxonne ; - une conversion autonome messages ou protocoles, permettant notamment la conversion de format de message ou protocoles spécifiques, ainsi par exemple ISR2 en ASTERIX, X25 en HDLC-Ul... ; - une fonction de contrôle de ligne dans les systèmes radar, c'est-à-dire la transmission de données radar par des lignes séries vers les circuits de traitement. Un grand nombre de routeurs, notamment en mode OCP, sont vendus dans de nombreux contextes et configurations différents. Tous les scénarios de fonctionnements possibles, mais aussi pannes, ne peuvent être simulés en usine. Par ailleurs, la plupart des interfaces externes ne sont disponibles que sur sites. Cela signifie que quelques problèmes de fonctionnement, notamment des destructions matériels ou de composants, ne peuvent être vus que lorsque le routeur est opérationnel. Cependant, étant donné la quantité importante de routeurs en fonctionnement et le nombre important de sites, n'est pas question d'installer une personne en face de chaque routeur, pour être en mesure de résoudre un problème lorsque celui-ci intervient. Un but de l'invention est de permettre le diagnostic des pannes de fonctionnement sans la présence d'opérateurs auprès des matériels. A cet effet, l'invention a pour objet un système clients-serveur, comportant un serveur de données et au moins un poste client relié au serveur par un réseau. Le serveur comporte un mécanisme de vidage du contenu de sa mémoire dynamique activé lorsqu'une anomalie de fonctionnement du serveur intervient, et le poste client comporte un programme de stockage du contenu de la mémoire. Le mécanisme de vidage diffuse une requête sur le réseau dès qu'il est activé et diffuse sur le réseau le contenu de la mémoire dynamique quand reçoit un accusé de réception du poste client à sa requête, le poste client stockant alors le contenu de la mémoire dans des moyens de stockage. Le serveur de données est par exemple un routeur informatique. L'invention a pour principaux avantages elle améliore la fiabilité d'un serveur de données, et qu'elle en facilite et ameliore la maintenance tout en réduisant les coûts de cette maintenance. D'autres caractéristiques et avantages l'invention apparaîtront à l'aide de la description qui suit faite en regard des figures annexées qui représentent - la figure 1, un exemple de réalisation d'un système clients serveur équipé de moyens de diagnostic selon l'invention - la figure 2, une illustration des étapes de fonctionnement possibles d'un système selon l'invention. figure 1 illustre un exemple de réalisation d'un système clients serveur selon l'invention, par exemple un système de routage. Un serveur de données 1 communique avec au moins un poste client 2. A titre d'exemple, on considere que le serveur est en fait un routeur informatique. II par exemple en communication avec plusieurs interfaces, vers lesquels il envoie ou desquels il reçoit des données. Ces interfaces peuvent appartenir à des systèmes radar, par exemple embarqués dans des avions en vol, ' des centres de surveillance ou de contrôle du trafic aérien et des aéroports, ou encore à des périphériques du type écrans ou imprimantes. Les données radar émises depuis un système radar embarqué vers le routeur concernent notamment la position de l'avion en vol. Ces données sont ensuite ré-émises vers un ou plusieurs postes de surveillance et de contrôle. Les données échangées entre le routeur et les centres de surveillance et de contrôle sont par exemple des plans de vol et des données météorologiques. En particulier, lorsqu'un avion passe d'une zone de contrôle à une autre zone de contrôle, le centre de contrôle affecté à l'ancienne zone transmet, ' le routeur, les données de plan de vol de l'avion au centre affecté à la nouvelle zone. A l'état opérationnel, un routeur peut donc traiter un grand nombre de données et de types de données. Un routeur peut généralement comporter une dizaine de ports d'entrées/sorties. Parmi ces liaisons, il existe des liaisons série et des liaisons par réseau, du type Ethernet ou Internet par exemple. routeur est au moins relié à un poste par un réseau. On considère titre d'exemple, le cas illustré par la figure où le routeur 1 est relié à au moins un poste client 2 par un réseau 3, par exemple un réseau local du type Ethernet. Les autres postes éventuels, reliés par réseau ou liaison série ne sont pas sur la figure pour des raisons de clarté de représentation. Le routeur fonctionne par exemple en mode OCP. II comporte notamment un système d'exploitation, par exemple du type VRTX SA, interagissant avec différentes couches logicielles. couche logicielle intermédiaire, appelée dans la littérature anglo-saxonne middleware , est par exemple ajoutée au système d'exploitation pour fournir notamment des services tels que des communications inter-tâches, des gestions de temps ou des gestions de ressources. A cet effet, une bibliothèque de programmes de services est par exemple implantée à l'intérieur de la couche intermédiaire. Cette couche fait le lien entre les couches logicielles d'entrées/sorties, le système d'exploitation et l'applicatif, en l'occurrence dans cet exemple un programme de routage. Une couche logicielle assure le lien entre les liaisons série d'entrée et la couche intermédiaire. Cette couche d'entrée met par exemple en oeuvre les protocoles de communication de type FPBSS. Un empilement de couches logicielles assure le lien entre la liaison Ethernet 3 et la couche logicielle intermédiaire. couche externe commande les périphériques de sortie. En dessous de cette couche, les autres couches logicielles assurent différents protocoles de communications à destination du ou des périphériques de sortie. En particulier, une couche exécute exemple le protocole de communication UDP. Cette couche est en communication avec la couche intermédiaire. routeur 1 comporte un mécanisme 4 qui sauvegarde le contenu de la mémoire dynamique 5 du routeur 1 lorsqu'un problème de fonctionnement de ce dernier survient. Ce mécanisme est programmé dans une couche logicielle implantée dans le routeur 1. Cette couche est par exemple implantée dans la couche intermédiaire précitée. Plus particulièrement, ce mécanisme 4 copie ou vide le contenu de la mémoire 5, puis transmet ce contenu à un poste distant relié au routeur par le réseau 3, par exemple le poste client 2, ce poste client stocke ensuite le contenu de la mémoire dans des moyens de stockage. Ce mécanisme 4 sera appelé mécanisme vidage de la mémoire par la suite, et pourrait encore être appelé mécanisme core dump selon la littérature anglo-saxonne. Le programme du routeur, notamment l'applicatif de routage, est réalisé de telle sorte que l'apparition d'une anomalie conduise à l'activation du mécanisme 4 de vidage de la mémoire. Plus particulièrement, en cas d'anomalie, l'unité centrale 6 génère une exception 7 qui active le mécanisme 4 de vidage de la mémoire. Ce mécanisme 4 lance alors sur le réseau 3 une requête demandant à un processus disponible, par exemple un poste client 2, de stocker le contenu de la mémoire dans un fichier 8. La diffusion de la requête se fait par exemple par une diffusion du type UDP broadcast . Un poste client est équipé d'un programme ou processus 9 de vidage de la mémoire du routeur. Lorsque le poste client 2 répond à la requête, ce processus de vidage 9 charge le contenu de la mémoire du routeur dans le fichier 8. A cet effet, lorsque le processus 9 est lancé, le poste client 2 lit toutes les trames UDP envoyées par le routeur 1 puis les stocke dans le fichier 8. Le fichier est par exemple un moyen de stockage extérieur au poste client 2. Le fichier 8 est par exemple très éloigné du poste client et/ou du routeur, les donnees lui étant transmises via une liaison I nternet. La figure 2 illustre une suite d'étapes possibles du fonctionnement d'un système selon l'invention cas d'apparition d'une anomalie. Ces étapes sont par exemple appliquées au système de routage tel qu'illustré par la figure 1. La présence d'une anomalie 21 conduit à une première étape 7 qui est la génération d'une exception par l'unité centrale du routeur 1. Cette exception active le mécanisme de vidage de la mémoire du routeur. L'exception générée par l'unité centrale peut être par exemple une erreur de bus. Une exception peut aussi être générée par le programme, en particulier lorsque les anomalies sont des erreurs internes, ces erreurs internes étant par exemple des renvois de codes fonction faux. Dans une deuxième etape 22, ce mécanisme provoque l'envoi d'une requête sur le réseau 3. De préférence, la diffusion de la requête sur le réseau est du type UDP broadcast . Si un poste client 2 est disponible pour traiter la sauvegarde de la mémoire, ce dernier lance, dans une troisième étape 23, le processus 9 de vidage de la mémoire. A cet effet, il envoi un accusé de réception au routeur, plus particulièrement au mécanisme 4 de vidage de la mémoire qui diffuse alors sur le réseau le contenu de la mémoire. Dans une quatrième étape 24, le poste client 2 lit toutes les trames envoyées par le routeur, ces trames étant par exemple du type UDP. Puis il stocke les données dans un fichier 8. Dans toutes les opérations précédentes, il est question de vidage de la mémoire, en fait il s'agit par exemple d'une recopie de son contenu. Si aucun poste distant n'est disponible pour décharger la mémoire du routeur et donc ne répond pas à la requête, le routeur n'obtient aucun accusé réception et tente immédiatement une ré-initialisation de son fonctionnement. données transmises par le routeur 1 vers le fichier de stockage via un poste distant, peuvent être en format ASCII. En conséquence, les données stockées dans le fichier 8 peuvent être lues ou traitées sans outil particulier ou spécifique. Comme cela a eté décrit précédemment, le fichier 8 peut être situé à une grande distance du poste client 2. Dans ce cas les données sauvegardées sont par exemple envoyées vers un centre d'analyse par une liaison Internet. Une équipe de maintenance peut donc en usine facilement analyser le problème survenu et le corriger sans se déplacer sur le site. II en résulte notamment, outre une amélioration de la maintenance par la sauvegarde du contexte, une réduction du coût cette maintenance. Ces informations sauvegardées correspondent au contenu de la mémoire du routeur lors de l'apparition de l'anomalie. Ces données indiquent notamment l'état du programme en cours, l'état de la configuration des entrées et sorties, et l'état des fichiers de configuration. En particulier, l'exception générée par l'unité centrale active par exemple systématiquement le vidage des piles des différentes tâches en cours, ce qui peut permettre de remonter à l'origine du problème. Toutes ces informations peuvent donc aider à comprendre l'origine du dysfonctionnement survenu dans routeur. La fiabilité ce dernier s'en trouve, par là même accrue, notamment par le diagnostic systématique réalisé par l'invention. L'exemple de réalisation de système présenté par figure 1 montre un serveur de données ou routeur relié à un ou plusieurs postes clients par réseau, par exemple du type Ethernet. Ce système peut bien sûr comporter en plus d'autres terminaux reliés au serveur ou routeur par des liaisons séries. REVENDICATIONS . Système clients-serveur, caractérisé en ce que comportant un serveur de données (1) et au moins un poste client (2) relié au serveur par un réseau (3), le serveur (1) comporte un mécanisme (4) vidage du contenu sa mémoire dynamique (5) activé lorsqu'une anomalie de fonctionnement du serveur intervient, et le poste client (2) comporte un programme (9) de stockage du contenu de la mémoire, le mecanisme de vidage diffusant une requête sur le réseau (3) dès qu'il est activé et diffusant le réseau le contenu de la mémoire dynamique (5) quand il reçoit un accusé de réception du poste client (2) à sa requête, le poste client stockant alors le contenu de la mémoire dans des moyens de stockage (8). Système selon la revendication 1, caractérisé en ce que le serveur diffuse la requête par une diffusion du type UDP broadcast . Système selon l'une quelconque des revendications précédentes, caractérisé en ce que le serveur diffuse le contenu de la mémoire (5) par une diffusion du type UDP broadcast . 4. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que les moyens de stockage (8) sont extérieurs au poste client (2). 5. Système selon la revendication 4, caractérisé en ce que le poste client transmet le contenu de la mémoire aux moyens de stockage (8) par une liaison Internet. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que le programme du serveur est tel qu'une anomalie conduise à la génération d'une exception par son unité centrale qui active le mecanisme de vidage. 7. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que si le serveur ne reçoit pas d'accusé de réception en réponse à sa requête, il tente une ré-initialisation de son fonctionnement. 8. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que serveur (1) est par ailleurs relié à un ou plusieurs terminaux par des liaisons série. 9. Système selon l'une quelconque des revendications précédentes, caractérisé en ce que le serveur (1) est un routeur informatique. 10. Système selon la revendication 9, caractérisé en ce que le routeur (1) fonctionne en mode ouvert dit OCP .