Philippe Dax
Pièce C218
dax@inf.enst.fr

VRNM: Virtual Reality Network Management

Description

Il s'agit de développer une application interactive permettant de monitorer un parc de machines à l'aide d'une interface graphique simple et de construire, pour chaque machine, une représentation 3D des variables dynamiques de cette machine. Cette application est divisée en 2 parties, un visualisateur et un collecteur qui partageront les mêmes données par des fichiers communs.

Le visualisateur

Soit un espace 2D représenté par une fenêtre rectangulaire partionnée à l'aide d'une grille de cases. Cet espace 2D représente un sous-réseau avec ses machines placées à des intervalles réguliers non adjacents, pour éviter trop de compacité. L'emplacement des cases 2D en x et y de l'espace fenêtre sera reproduit dans les coordonnées du monde 3D du sous-réseau correspondant (soit: x3d = y2d, y3d = X2d/2 - x2d, ou X2d est le milieu en x du cadre de l'interface utilisateur). Chaque case 2D machine sera nommée en interne par le nom court de la machine, mais le déplacement du curseur de la souris sur ces cases devra faire apparaître en "popup" le nom de la machine. Un clic sur une case machine devra ouvrir une petite fenêtre d'information où seront inscrites les données significatives de la machine sélectionnée, sous la forme d'un texte ligne par ligne, par exemple (nom de la machine, numéro IP, marque (Sun), modèle (Ultra5), système (Solaris2.8), charge (cf w), nombre d'utilisateurs différents (cf who), pourcentage du disque /home occupé, pourcentage de l'espace swap occupé, nombre de processus).

Le collecteur

Ces informations synthétiques auront été préparées à l'avance par un autre programme (le collecteur) qui les aura placées dans un fichier directement exploitable par le visualateur 2D. Ces fichiers porteront le nom des machines placées dans la grille. De plus, ce collecteur, considéré comme un "daemon" devra construire d'autres fichiers, toujours portant le nom des machines en "machine.vre" dans un répertoire adéquat. Ces fichiers seront constitués de lignes Ascii au format "VREng" . Chaque ligne représentera une donnée dynamique de la machine, par exemple un pourcentage d'occupation disque par 2 cylindres, l'un plein coloré, l'autre au dessus du 1er cylindre en blanc (espace libre). Les utilisateurs pourraient être représentés par des petits parallélépipèdes.

Le collecteur ira récupérer la mine à ciel ouvert des données actualisées toutes les heures des machines à l'endroit "/infres/tmp/stats/" où se trouvent les répertoires "ps", "w", "who", "df", "uname",...

Afin que l'interface de l'application (qui doit être graphique) soit facile à mettre en oeuvre, c'est le langage Java qui devrait être choisi pour ce développement.