FR 2802673 A1 20010622 FR 9915894 A 19991216 Procédé et dispositif de supervision évolutive La présente invention concerne un procédé de supervision évolutive d'un système informatique courant appelé en anglais scalable monitoring . Le système informatique est constitué d'un ensemble d'équipements informatiques, appelés ressources distribuées, chacune étant interconnectée aux autres par un réseau de communication. Les grandes entreprises ont un nombre croissant d'équipements informatiques à gérer. Ces équipements, reliés entre eux par un réseau de communication appelé "Réseau Local d'Entreprise" (RLE, LAN), sont administrés par un administrateur. Pour administrer (contrôler, agir, surveiller, piloter) à distance ces équipements à partir d'un point, le modèle d'architecture comportant un administrateur et un agent, par exemple, type SNMP, est le plus couramment adopté. Dans ce modèle d'architecture, les agents (SNMP), implémentés sur les équipements du réseau renseignent l'administrateur sur l'état de chacun des équipements administrés. Dans la grande majorité des cas, cet administrateur gère plusieurs milliers d'équipements répartis sur un ou plusieurs pays. Afin de caractériser le comportement d'un ensemble de ressources interconnectées par un réseau, tout procédé de supervision synthétise, et donc calcule des valeurs, appelées indicateurs, permettant de caractériser le fonctionnement et l'état de ces ressources. Le calcul d'un indicateur est réalisé par un agent dit "agent-indicateur" qui calcule périodiquement une valeur résultant d'une fonction combinant, d'une part des valeurs mesurées, à l'aide d'une couche protocolaire de type SNMP ou CMIP, et d'autre part des valeurs calculées par d'autres agents indicateurs. Traditionnellement, cette supervision est réalisée par l'administrateur, qui centralise l'acquisition des mesures et des calculs d'indicateurs. Les informations échangées entre l'administrateur et les ressources circulent à travers un réseau grande distance aussi appelé "WAN" (Wide Area Network). Cependant, le coût de la bande passante du réseau WAN n'est pas adapté à la supervision. De même, les échanges d'informations liés à la supervision centralisée génèrent une utilisation importante du réseau WAN. Ce problème s'explique par le fait que la bande passante du réseau (WAN) est trop réduite par rapport au nombre toujours croissant d'informations devant transiter entre les administrateurs et leurs équipements. La présente invention a donc pour objet de pallier les inconvénients de l'art antérieur en proposant un procédé de supervision évolutive permettant de réorganiser de façon simple l'architecture du système informatique lorsque celui-ci évolue. Ce but est atteint par le fait que le procédé de supervision évolutive d'un système informatique comportant une pluralité de ressources à superviser formant un domaine de supervision, caractérisé en ce qu'il comprend : - une étape de décomposition du domaine de supervision en sousdomaines de supervision comprenant un nombre maximum déterminé de ressources, - une étape de configuration, pour chaque sous-domaine, d'un n#ud de synthèse d'informations comprenant au moins un agent de synthèse destiné à synthétiser des valeurs d'indicateurs, ces indicateurs étant représentatifs d'un état de fonctionnement des ressources du sous-domaine et étant évalués par des agents indicateurs installés sur ces ressources, chaque agent indicateur étant identifié, de manière unique, par le nom de l'indicateur qu'il calcule et par le sous-domaine sur lequel il est installé, - une étape de réorganisation des liens entre les agents de synthèse et les agents indicateurs lorsque le nombre maximum déterminé de ressources dans un sous-domaine est atteint, de sorte que la nouvelle architecture du domaine de supervision comprenne dans chaque sous-domaine un nombre de ressources inférieur au nombre maximum déterminé de ressources. Un deuxième but de l'invention consiste à proposer un dispositif de supervision évolutive permettant de réorganiser de façon simple l'architecture du système de supervision lorsque la taille du domaine de supervision, c'est-àdire le nombre d'éléments à superviser, évolue. Ce but est atteint par le fait que le dispositif de supervision évolutive d'un système informatique comporte une pluralité de ressources à superviser formant un domaine de supervision, et est caractérisé en ce qu'il comprend des moyens de décomposer le domaine de supervision en sous-domaines de supervision comprenant un nombre maximum déterminé de ressources, des moyens de configuration de n#ud de synthèse d'informations comprenant au moins un agent de synthèse destiné à synthétiser des valeurs d'indicateurs, ces indicateurs étant représentatifs d'un état de fonctionnement des ressources du sous-domaine et étant évalués par des agents indicateurs installés sur ces ressources, chaque agent indicateur étant identifié, de manière unique, par le nom de l'indicateur qu'il calcule et par le sous-domaine sur lequel il est installé, des moyens de réorganiser les liens entre les agents de synthèse et les agents indicateurs lorsque le nombre maximum déterminé de ressources dans un sous-domaine est atteint, de sorte que la nouvelle architecture du domaine de supervision comprenne dans chaque sous-domaine un nombre de ressources inférieur au nombre maximum déterminé de ressources. D'autres particularités et avantages de la présente invention apparaîtront plus clairement à la lecture de la description ci-après faite en référence aux dessins annexés dans lesquels : - la figure 1 représente un schéma simplifié d'un système informatique dans lequel le procédé selon l'invention peut être appliqué. - la figure 2 représente un exemple de l'architecture des liens entre agents de supervision selon le procédé selon l'invention - la figure 3 représente le processus de déploiement d'un procédé de supervision. Comme expliqué précédemment, un système (1) informatique comprend au moins un réseau local d'entreprise (10,20) communiquant avec un système central (2) ou administrateur au travers d'un réseau grande distance (3). Chaque réseau local d'entreprise (10,20) comprend au moins un équipement informatique (101, 102, 201,202), appelé ressource. Selon l'art antérieur, la supervision de l'ensemble des ressources (101, 102, 201, 202) est réalisée par l'intermédiaire d'agents (SNMP ou CMIP suivant le protocole d'administration considéré) distants implantés sur chaque ressource (101,102, 201,202). Ces agents permettent à un administrateur de réaliser la collecte des informations sur les ressources (101,102, 201,202) en mesurant des paramètres déterminés, par exemple par l'émission d'une requête SNMP GetRequest vers l'agent SNMP considéré, puis transmettent les informations collectées vers l'administrateur (2) par l'intermédiaire de requêtes, par exemple, GetResponse dans le monde SNMP. L'administrateur (2) effectue ensuite l'évaluation des indicateurs à partir de ces informations reçues. On comprend donc que toutes les requêtes envoyées par l'administrateur (2) pour recueillir les informations de supervision et les réponses à ces requêtes des agents encombrent considérablement le réseau grande distance (3) diminuant par conséquent ses performances. Selon l'invention, tout ou partie de l'évaluation des indicateurs est distribué au niveau du réseau local d'entreprise (10,20) dans des agents indicateurs. Pour ce faire, pour chaque indicateur (In) caractérisant un fonctionnement ou un état particulier d'une ressource (101,102, 201,202), un agent indicateur (A1, A2, B1, B2) spécifique est installé sur la ressource (101, 102, 201, 202). Dans l'exemple de réalisation représenté figure 1, chaque agent (A1, A2, B1, B2) est responsable de l'évaluation d'un indicateur (In) différent. En d'autres termes, chaque indicateur (In) permet de déterminer un fonctionnement ou un état différent sur chaque ressource (101,102, 201,202). Cependant, chaque agent (A1, A2, B1, B2) décrit en référence à la figure 1, peut être présent, par exemple, sur toutes les ressources (101,102, 201,202) ou toutes les ressources d'un même type du système informatique (1). A titre d'exemple, un premier agent (A1) peut évaluer un indicateur (IA1) dont la formule permet, par exemple, de connaître le nombre d'alarmes par minute émis par une première ressource (101). On comprend donc que cet agent (A1 ) peut être implanté sur toutes les ressources (101,102, 201,202) d'un système informatique (1). Les agents indicateurs (A1, A2, B1, B2) sont des entités de programmation élémentaire et d'exécution. Les agents indicateurs (A1, A2, B1, B2) sont autonomes pour obtenir la propriété d'extensibilité de la structure en permettant l'ajout ou l'enlèvement facile d'un ou plusieurs agents indicateurs dans l'architecture. Ils sont rendus autonomes en définissant parfaitement l'interface de ces agents. Ils sont autonomes aussi en termes de communication. Ils communiquent en utilisant des notifications et non par appel de procédure, ce qui permet d'ouvrir l'architecture. Cette communication est asynchrone, ceci permettant d'obtenir une meilleur parallélisation des agents indicateurs et donc un meilleur potentiel d'évolution (en anglais : scalability) de l'architecture. Les agents indicateurs (A1, A2, B1, B2) peuvent être des objets persistants, leur état est fait de données qui peuvent dans ce cas exister en dehors de toute structure d'exécution et mémorisées dans des mémoires persistantes de type E2PROM ou disque dur. Un agent indicateur (A1, A2, B1, B2) est une machine indépendante qui réagit aux notifications. Chaque agent (A1, A2, B1, B2) est un objet d'une classe et est identifié par un identifiant id(Ai) respectivement id(A2) ; id(Bi) ; id(B2) unique dans le système (1) informatique, de sorte que les communications entre agents indicateurs soient possibles et permettre de le localiser. Un agent peut être créé sur un serveur à distance. L'entité de création est responsable de la création de l'identificateur. La structure de l'identifiant doit prendre en compte la localisation statique des agents pour permettre au système de faire suivre les notifications et une "production" locale des identifiants pour les agents à distance. L'identifiant d'un agent comprend trois parties qui sont : - l'identification (idsac) du serveur d'agents accueillant l'agent de création, - l'identification (idsal) du serveur d'agents accueillant l'agent créé et - une estampille (el), locale au serveur d'agents accueillant l'agent de création. Un agent "usine" (factory) est présent sur tous les serveurs d'agents et a la charge de créer des objets sur le serveur. Il permet de gérer la création des agents à distance. Comme selon l'invention, chaque agent indicateur (A1, A2, B1, B2) est responsable de l'évaluation d'un indicateur (In). Il doit comprendre pour ce faire, d'une part des propriétés lui permettant d'aller collecter une mesure (Mn) sur la ressource (101,102, 201,202) à laquelle il est associé et, d'autre part des propriétés de communication pour demander ou recevoir, le cas échéant, au moins un autre indicateur évalué par un autre agent indicateur (A1, A2, B1, B2) selon l'invention, par exemple, par l'intermédiaire de notifications. Ces propriétés sont obtenues par l'intermédiaire de modules spécifiques de programme constituant chaque agent indicateur (A1, A2, B1, B2). Ainsi, un agent indicateur (A1, A2, B1, B2) comprend un module de collecte et/ou un module de communication. De même, un agent indicateur (A1, A2, B1, B2) comprend également un module d'évaluation permettant de calculer l'indicateur proprement dit, à partir de la formule utilisant les informations collectées par les deux autres modules. Dans ce module d'évaluation, l'équation définissant la valeur d'un indicateur (IA1 par exemple) peut faire référence à un ensemble éventuellement vide d'autres indicateurs (Ia2, IB1, par exemple). Les agents indicateurs, selon l'invention, utilisent un protocole de communication de préférence asynchrone, ce qui signifie que lorsqu'un agent indicateur émet une requête pour collecter une mesure sur une ressource du système ou une notification vers un autre agent indicateur, il n'attend pas la réponse à cette requête ou cette notification pour éventuellement émettre une nouvelle requête ou notification. En d'autres termes, l'envoi des requêtes et des notifications est réalisé en parallèle. De même, le protocole d'administration peut être asynchrone. A titre d'exemple, le protocole d'administration asynchrone utilisé est le protocole SNMP ou le protocole CMIP et permet de paralléliser l'acquisition des données et le calcul des indicateurs pour lesquels les données sont disponibles. Toutefois, il est possible d'utiliser un protocole synchrone, mais les performances sont alors inférieures, notamment en termes de vitesse d'évaluation des indicateurs. De plus, il convient de mettre en place un dispositif asynchrone de collecte et de mémorisation des mesures, de sorte que l'agent indicateur qui a émis la requête n'ait qu'à consulter la mémoire de ce dispositif de collecte de mesures. Ce dispositif est, par exemple, une base d'informations de gestion (MIB :Management Information Base) particulière appelée par l'homme de métier MIB Rmon. Chaque agent indicateur gère une liste dite d'abonnés sur laquelle peuvent s'inscrire d'autres agents indicateurs selon l'invention. Cette liste est mémorisée sur les moyens de mémorisation de l'équipement d'informations associé à l'agent indicateur, par exemple sous forme de table (1010,2010). Un agent indicateur A1 s'inscrit sur cette liste par l'intermédiaire de l'envoi d'une notification spécifique dite d'abonnement "Subscribe (id(Ai) Information Gestion (A1))" à un autre agent indicateur B1 qui calcule l'indicateur (IB1). Cette notification comprend comme paramètres, d'une part une information dite de gestion, permettant à l'agent émetteur de réaliser l'association entre une propagation de modification de valeur et l'autre agent indicateur (Bi) et d'autre part l'identifiant id(Ai). Dès réception d'une notification d'abonnement, l'agent destinataire (B1) traite la notification en inscrivant dans la table d'abonnés (2010) l'identifiant (IdA1) de l'agent émetteur ainsi que l'information de gestion (Information Gestion (A1)) dans la liste. Cette liste est consultée par l'agent indicateur (B1) qui la gère, après évaluation de l'indicateur (IB1) de l'agent (Bi). Si la nouvelle valeur de l'indicateur est différente de la valeur précédemment évaluée et mémorisée par l'agent, alors l'agent envoie à chaque agent inscrit sur sa liste d'abonnés (2010) et identifié par le paramètre (id(Ai)), une notification de changement de valeur (ValueChanged) comprenant la nouvelle valeur (Val(IB1)) de l'indicateur (IB1). Pour ce faire, après l'évaluation de l'indicateur (IB1), un module de comparaison de l'agent indicateur (Bi), compare la nouvelle valeur de l'indicateur (Val(IB1)) avec la valeur précédemment calculée (Valp(IB1)) et mémorisée. Si les deux valeurs sont différentes, le module de comparaison déclenche une procédure d'envoi de la notification (ValueChanged) de changement de valeur à tous les agents, par exemple A, inscrits sur sa liste d'abonnés (2010), puis enregistre la nouvelle valeur de l'indicateur sur les moyens de mémorisation de son équipement informatique. La notification de changement de valeur comprend comme paramètre la nouvelle valeur de l'indicateur (Val(IB1)) ainsi que l'information de gestion (Information Gestion (Ai)) de l'agent cible, de sorte que l'agent cible puisse attribuer la valeur reçue à l'indicateur attendu. Selon l'invention, le domaine de supervision constitué par l'ensemble de ressources (101,102, 201,202) est organisé en une pluralité de sousdomaines (di={Ai, A2} ; d2={Bi, B2}). Chacun des sous-domaines regroupe soit un ensemble de ressources à superviser et/ou un ensemble de sous-domaines. Un sous-domaine est également caractérisé par les agents indicateurs fonctionnant sur les ressources constituant le sous-domaine. Pour chaque sous-domaine, un ensemble d'agents dit agents de synthèse est installé sur une ressource particulière pour construire un n#ud de synthèse. Cette ressource peut être une ressource dédiée à la supervision ou bien une ressource banalisée choisie en fonction de ses caractéristiques techniques pour supporter le n#ud de synthèse. De plus, cette ressource peut être indifféremment une ressource déterminée du sous-domaine ou d'un autre sousdomaine. En effet, une ressource peut supporter la supervision de plusieurs sous-domaines allant par exemple de 0 à n , si cette ressource est capable de supporter la charge induite par le calcul réalisé par une pluralité d'ensembles d'agents de synthèse. Fondamentalement, la structure d'un agent de synthèse est identique à celle d'un agent indicateur, la différence de comportement et d'utilisation réside principalement dans la formule représentative de l'indicateur à évaluer. Lors de la configuration de la supervision du domaine de supervision selon le procédé de l'invention, un service de nommage est utilisé afin de définir et maintenir les associations entre le nom du sous-domaine et l'identification de l'agent indicateur responsable de l'évaluation d'un indicateur du sous-domaine. En d'autres termes, le service de nommage (SN) fournit pour chaque sous-domaine, l'ensemble des agents indicateurs présents sur ce sousdomaine et associe, chaque agent indicateur (A1) à l'indicateur (la,) qu'il calcule et au sous-domaine d1 auquel il appartient par exemple, dans une table (4) ou dans un fichier d'associations. Ce service de nommage SN est ensuite utilisé lors de la configuration de chaque agent de synthèse. Ce service de nommage peut être soit centralisé, soit distribué. Lorsque le service de nommage est centralisé, comme représenté figure 1, l'information relative à l'association entre un sous-domaine et un agent indicateur est centralisée dans un lieu unique du domaine de supervision représenté, par exemple, par une ressource du domaine de supervision. Lorsque le service de nommage est distribué, le service de nommage associé à chaque machine à agent possède les noms des agents qu'elle gère, ainsi que le sous-domaine auquel appartient chaque agent. La machine à agents gère un certain nombre de propriétés qui sont d'une part l'aspect atomique de la réaction d'un agent à une notification et d'autre part la délivrance des notifications suivant un ordre causal d'émission. La machine à agents assure la diffusion des notifications, la transmission des notifications et la gestion de l'atomicité de l'ensemble. La machine à agents comprend différentes entités tel qu'un moteur d'exécution, un canal de communication, ce canal possédant deux queues, une queue locale et une queue externe. La machine à agents a été distribuée. Les machines à agents communiquent entre elles, les agents ne voient pas cette distribution puisqu'ils communiquent par notifications et s'adressent à leur machine à agents locale. La réaction d'un agent reste locale. Le service de nommage SN centralisé ou distribué est nécessaire pour la configuration des agents de synthèse (As). En effet, en règle générale, un agent de synthèse est destiné à évaluer un indicateur dont la formule comporte au moins un opérateur ensembliste, tels qu'une somme, une moyenne, la détermination d'un minimum ou d'un maximum sur un ou plusieurs indicateurs du sous-domaine auquel l'agent de synthèse est associé. Cependant, un agent de synthèse peut également évaluer un indicateur représentatif du fonctionnement général du sous-domaine auquel il est associé. Ainsi, la configuration d'un agent de synthèse nécessite que ce dernier s'abonne à tous les agents indicateurs du sous-domaine supervisé par l'agent de synthèse et évaluant le ou les indicateurs contenus dans la formule de l'indicateur de l'agent de synthèse. Pour ce faire l'agent de synthèse (As) émet vers le service de nommage (SN), et pour chaque indicateur nécessaire à l'évaluation de son propre indicateur, une notification de demande de visualisation d'indicateurs (indicatorLookupReq) spécifiant le nom du sous domaine (d1) que l'agent de synthèse (As) supervise ainsi que le nom des indicateurs nécessaires à l'évaluation de son propre indicateur. En réponse à cette notification, le service de nommage effectue une recherche pour retrouver le nom de tous les agents réalisant l'évaluation de l'indicateur demandé dans le sous-domaine spécifié dans la notification. Le service de nommage construit et envoie ensuite une notification de réponse (indicatorLookupResp) vers l'agent de synthèse demandeur contenant le nom du domaine (d1) et le nom du ou des agents indicateurs (A1, A2), s'ils existent. Cette notification de réponse est traitée par l'agent de synthèse qui extrait le nom des agents indicateurs et déclenche, pour chaque agent indicateur extrait, la procédure d'abonnement décrite précédemment. Dans une variante de réalisation, lorsqu'il n'existe pas d'agent indicateur correspondant à l'association nom de sous-domaine, nom d'indicateur, le service de nommage peut comporter des moyens pour mémoriser le nom de l'agent de synthèse qui a émis la notification et le nom de l'indicateur demandé. Ainsi, dès qu'un nouvel agent indicateur est installé sur le sous-domaine il est détecté par les moyens de détection du service de nommage (SN) ou est déclaré à celui-ci par l'installateur. Le service de nommage comporte des moyens de réaliser une mise à jour des associations nom de sous-domaine, nom d'indicateur, et vérifier si le nom de l'indicateur correspond à un nom d'indicateur mémorisé. Dans l'affirmative, des moyens du service de nommage construisent puis envoient la notification de réponse (indicatorLookupResp) vers les agents dont le nom a été mémorisé préalablement et qui ont demandé le nom de l'agent responsable du nouvel indicateur détecté. Dans une autre variante, le service de nommage fait appel à un outil de création d'agent, tel qu'une machine à agents pour construire l'agent demandé. En d'autres termes, le service de nommage construit un agent indicateur évaluant l'indicateur demandé dans le sous-domaine spécifié. Selon l'invention, le nombre de ressources par sous-domaine est inférieur à un nombre maximum déterminé. Ce nombre est déterminé en fonction de la politique de supervision choisie. Par exemple, le nombre maximum de ressources par machine est déterminé pour que le coût du calcul des indicateurs des agents de synthèse soit le plus faible possible de façon à diminuer la charge de calcul sur la ou les ressources supportant les agents de synthèse. Une autre possibilité consiste à déterminer le nombre maximum de ressources par domaine pour que le nombre de n#uds de synthèse soit le plus faible possible de façon à diminuer le nombre de ressources responsables de supervision et à concentrer l'information représentative de la supervision. Avant de décrire plus avant les mécanismes permettant de réorganiser l'architecture de la supervision selon l'invention, nous allons décrire, en référence à la figure 3, le procédé permettant de déployer une configuration de supervision. Le déploiement d'une configuration de supervision consiste à prendre en charge l'instanciation, c'est-à-dire la création des agents indicateurs pour les indicateurs définis par la liste {(d1.I1), ..., (di.lj), (dn.ln)}, où l'indicateur Ij doit être évalué sur le sous-domaine di. Pour ce faire, le procédé de déploiement utilise un agent dit agent déployeur de configuration (ADC). Cet agent déployeur de configuration prend en charge la création d'agents dit agents configurateur (AC). Ainsi, pour chaque ressource d'un sous-domaine de supervision l'agent déployeur de configuration (ADC) crée un agent configurateurs (ACa, ACb) qui prend en charge le processus de création des agents indicateurs (A,, B,, CI) spécifiés par la configuration pour la ressource qui lui a été affectée. Ainsi, le déploiement des différentes configurations est parallélisé sur chacun des sous-domaines à superviser. En effet, les agents déployeur de configuration sont créés pour chaque sous-domaine à superviser de façon parallèle. Les agents déployeurs de configuration (ADC) et les agents configurateurs (AC) possèdent les mêmes caractéristiques que les agents indicateurs, c'est-à-dire qu'ils sont également gérés par au moins une machine à agents d'au moins une ressource du domaine à superviser. La localisation des configurateurs est de peu d'importance, les différents agents configurateurs peuvent résider sur une même ressource ou peuvent être déployés sur des ressources différentes, incluant par là -même les ressources supervisées. Comme expliqué précédemment, un agent configurateur (AC) prend en charge la création des agents indicateurs spécifiés par la configuration pour une ressource donnée M, appartenant à l'un au moins des sous-domaines (di) pour lequel cet indicateur In doit être créé. A cette fin, pour tout indicateur In de la configuration succeptible d'être instanciée sur la ressource M, l'agent configurateur crée un agent, dit agent déployeur d'indicateurs (ADIa, ADIB) chargé du déploiement du ou des indicateurs I sur la ressource M. L'agent déployeur d'indicateurs (ADI) peut être crée sur la même ressource que l'agent configurateur (AC) ou sur une ressource distincte. Dans une variante de réalisation où le langage de programmation utilisé est le langage Java , les agents configurateurs (AC) vont provoquer le chargement dynamiquement des classes I Deployer et 1~lndicator en utilisant les mécanismes définis par le runtime Java. Lorsque ces classes ne sont pas présentes sur la ressource sur laquelle s'effectue le processus de configuration, l'agent configurateur reçoit une exception de type classe non trouvée ClassNotFou nd Exception , ce qui déclenche au niveau du configurateur des moyens de procéder au rapatriement des éléments logiciels qui lui sont nécessaires sur la ressource, réalisant par là même le déploiement incrémental des éléments logiciels nécessaires à la supervision et ce à partir d'un noyau minimal. Ainsi, le procédé de supervision selon l'invention apporte une solution au double problème de la configuration d'une supervision distribuée, c'est-à-dire au déploiement de la configuration logicielle et de la configuration de la supervision. Un agent déployeur d'indicateurs (ADI) est un agent qui détermine pour un type d'indicateurs donné les différentes combinaisons des valeurs des variables pour lesquelles l'indicateur sera instancié. Il prend donc en charge, d'une part le processus de résolution de noms (décrit ci-dessous) et d'autre part la création des agents indicateurs ainsi que leur déclaration auprès du service de nommage (SN). Les noms des objets référencés par l'agent indicateur calculant l'indicateur ainsi que l'identification des agents calculant les indicateurs référencés dans le cours du calcul font partie des paramètres de création de tout agent indicateur lors de son instanciation par l'agent déployeur d'indicateurs. Pour tout indicateur ln, un compilateur d'indicateurs génère, après analyse de l'équation définissant l'indicateur, deux classes d'objets I Deployer et Llndicator qui correspondent respectivement aux agents déployeurs d'indicateurs qui déploient les instances de la classe IJndicator chargée de l'évaluation de l'indicateur et aux agents indicateurs qui évaluent l'indicateur. La classe I~Deployer permet de connaître quels sont les agents indicateurs identifiés par la classe I~Indicator qu'il faut créer et permet de déclarer au service de nommage (SN) les agents indicateurs effectivement créés. Un agent déployeur d'indicateurs possède la connaissance explicite des indicateurs et des identifiants des objets référencés par l'équation. Chacun de ces identifiants d'objets {Id1, ..., Idm} définit une structure dont certains éléments peuvent être des variables. Lorsque le protocole d'administration choisi est le protocole SNMP, l'agent déployeur d'indicateurs exécute un processus (décrit ultérieurement) de résolution des noms des objets référencés dans l'équation ou la formule de l'indicateur et crée les agents indicateurs correspondants en déterminant les combinaisons valides des valeurs des variables. En effet, l'équation qui définit le calcul de la valeur d'un indicateur fait référence à des objets identifiés par {Id1, Idm} utilisant un ensemble éventuellement vide de variables {V1, ..., Vn}. A chaque identificateur d'objets Id, est associé un ensemble de variables {W1, ..., Wk} appartenant à l'ensemble {V1, ..., Vn}. La détermination de la première combinaison valide des valeurs des variables V,, consiste à appliquer un processus (décrit ultérieurement) de découverte sur les Id,, par exemple, dans l'ordre 1 à m, afin d'instancier progressivement toutes les variables {V1, ..., Vn} et donc de calculer les {Id1, ..., Idm}. Lorsque tous les objets identifiés par {Id1, Idm} dans lesquels on a substitué aux variables leurs valeurs correspondantes appartenant à la combinaison de valeurs {V1, Vn} existent, le processus de découverte de l'agent déployeur d'indicateurs (ADI) vérifie si la contrainte exprimée sur les valeurs de variables est satisfaite ou non. L'agent déployeur d'indicateurs (ADI) instancie l'agent indicateur uniquement lorsque cette dernière contrainte est respectée. Les objets effectivement référencés par l'équation de l'indicateur sont ceux identifiés par {Id1, ..., Idm} dans lesquels ont a substitué aux variables leurs valeurs correspondantes appartenant à la combinaison de valeurs {V1, Vn}. Ces objets sont passés à l'agent indicateur en tant que paramètre lors de la création de l'agent indicateur. Pour découvrir les combinaisons valides suivantes des valeurs des variables V,, le processus de découverte de l'agent déployeur d'indicateur (ADI) recherche l'indice k pour lequel il existe un élément suivant pour Idk, pour k variant entre m et 1. Si une telle valeur de k n'existe pas alors le processus de découverte est terminé. Si une telle valeur de k existe, alors nous appliquons le processus de découverte sur les Id, dans l'ordre k+1 à m par exemple afin d'instancier progressivement toutes les variables {V1, Vn} et donc de calculer les {Id1, ..., Idm}. Le processus de découverte permet donc de calculer tous les objets {Id1, Idn} de l'équation représentative d'un indicateur. Le processus de découverte comprend un processus de liaison de liaison des variables, défini comme suit, et qui permet déterminer les différentes variables des Idi. Soit un identificateur d'objet Id dans lequel les variables {W1, Wk}, appartenant à l'ensemble {V1, ..., Vn} précédemment cité. L'identifiant Id est de la forme ai.Wi.a2.W2.....ak.Wk.ak+i où les coefficients ai possèdent la structure d'un nom d'objet au sens ASN. 1 du terme, c'est-à-dire que les coefficients a, sont constitués d'une séquence d'entiers positifs. Soit j l'indice pour lequel les variables d'indices successifs {W1, ..., W1} sont déjà liées. La découverte de l'ensemble des objets désignables par cet identifiant consiste à parcourir la MIB instanciée en recherchant des objets, par exemple, en lançant une requête du type SNMP GetNextRequest en prenant comme paramètre un identifiant d'objet, dont les identifiants commencent par la racine R = a1.W1.a2.W2. ... .aJ.WJ et en appliquant un critère d'unifiabilité d'identifiant d'objets défini ultérieurement. Soit Id' la réponse à la requête SNMP GetNextRequest appliquée à la racine R, si un tel objet existe. L'objet n'existe pas, si la réponse à la requête GetNextRequest indique que l'objet désigné n'existe pas, auquel cas la découverte est terminée. Si Id et Id' sont unifiables selon le critère défini ci-après alors les variables {W1, ..., Wk} sont toutes liées, c'est-à-dire qu'elles possèdent toutes une valeur, et nous venons de découvrir l'identifiant d'un objet désignable par Id: Id'. Pour découvrir la combinaison valide suivante des variables {W1, Wk} connaissant Id' il faut réitérer le processus précédent en utilisant comme point de départ de la recherche Id' après avoir délié, c'est-à-dire retrouvé la valeur précédente, les variables W, qui n'étaient pas liées au tout début du processus de découverte. Si Id et Id' ne sont pas unifiables et que l'identificateur Id' débute par R, alors la découverte se poursuit comme précédement en prenant Id' comme point de départ et en déliant toute variable W, qui n'était pas liée au tout début du processus de découverte. Si Id' ne débute pas par R alors il n'existe plus d'objet dont l'identifiant puisse être unifié à Id. Le processus de découverte est alors terminé. Le critère d'unifiabilité est défini comme suit. Soit Id' un identifiant de référence (sans partie variable) dont tous les éléments sont des valeurs entières, deux identificants Id et Id' sont unifiables si les deux identifiants sont de même taille et si les Id.a, = Id'.a, pour tout i appartenant à [ 1, k+1 ]. Soient {w1, wk} les valeurs entières de l'identifiant Id' qui sont en correspondance avec les variables {W1, ..., Wk} d'Id, c'est-à-dire qui se trouvent à la même position dans l'indentificateur correspondant. La liaison des variables W, s'effectue séquentiellement pour des indices variant entre 1 et k par la méthode suivante : si W, est liée, c'est-à-dire si W, possède déjà une valeur, alors cette valeur doit être égale à w, ; si cette dernière condition n'est pas vérifiée, alors Id et Id' ne sont pas unifiables et la liaison des {W1, ..., Wk} n'est pas réalisable; si W, est libre, c'est-à-dire si W, ne possède pas encore de valeur, alors la variable W, sera liée a la valeur w,. A titre d'exemple, soit Id = 1.2.3.Wi.4.5.W2.6.7 et Id' = 1. 2.3.10.4.5.20.6.7. Ces deux identifiants d'objets sont unifiables pour des variables de W1 et W2 dont les valeurs sont 10 et 20. Par contre, si Id = 1.2.3.Wi.4.5.Wi.6.7 et Id' = 1.2.3.10.4.5.20.6.7, alors Id et Id' ne sont pas unifiables parce que la variable W1 ne peut prendre pour valeurs à la fois 10 et 20. Le processus d'unification d'identifiant permet à la fois de vérifier que deux identifiants sont unifiables et de déterminer pour quelles valeurs des variables encore libres avant le début du processus d'unification, cette unification est réalisable Lorsque le processus de résolution des noms a épuisé toutes les combinaisons valides, l'agent déployeur d'indicateurs (ADI) devient inutile si l'on considère que la configuration supervisée n'est jamais modifiée. Lorsque la configuration logicielle et/ou matérielle de la machine supervisée peut évoluer, par exemple, selon l'invention, lorsque le nombre maximum déterminé de machines par sous-domaine est atteint, les agents déployeurs d'indicateurs sont réactivés afin de réévaluer la configuration matérielle et logicielle en procédant à une découverte des éléments instanciables, en n' instanciant que ceux des agents indicateurs qui n'existent pas déjà et en supprimant ceux qui n'ont plus de raison d'être. Dans une variante de réalisation, lorsque le langage de programmation est Java, la création d'un agent configurateur, d'un agent déployeur d'indicateurs ou d'un agent indicateur consiste à envoyer une requête de création d'agents agentCreateRequest vers l'agent 'usine' (factory) de la machine à agents gérant le sous-domaine sur lequel l'agent doit être déployé. Cette requête comprend comme paramètres l'identification de l'agent et l'état de l'agent. L'état de l'agent correspond à l'objet Java sérialisé de cet agent. Lorsque l'agent usine (factory) reçoit cette requête, il désérialise l'objet Java sérialisé et obtient donc l'agent demandé. L'annexe 1 fournit des exemples d'implémentation de différentes équations permettant d'évaluer des indicateurs. La figure 2 représente un exemple d'architecture des liens entre agents de supervision selon le procédé selon l'invention. Par lien, il faut comprendre en fait, abonnement d'un agent à la liste d'abonnés d'un autre agent. Dans cette figure il a été fait abstraction des ressources. En effet, le choix de l'implantation des agents indicateurs et des agents de synthèse dépend de la politique de distribution, c'est-à-dire des critères de choix pour déterminer quelles ressources seront utilisées comme lieu de calcul de tels ou tels indicateurs. En effet, la supervision d'une ressource peut, par exemple, être réalisée sur la ressource elle-même en installant le ou les agents indicateurs sur cette machine. Cependant, il est possible de réaliser la supervision de cette même ressource à partir d'une autre ressource distante sur laquelle sont installés le ou les agents indicateurs de cette ressource. Dans ce cas, ces agents indicateurs distants réalisent les mesures nécessaires à l'évaluation des indicateurs par l'intermédiaire d'interrogations d'agents de type SNMP installés sur la ressource à superviser. De même, une ressource peut être le lieu d'implantation d'une pluralité de n#uds de synthèse. En effet, les agents de synthèse de ces n#uds de synthèse peuvent être gérés par une seule machine à agents. De plus, cette même machine à agents peut éventuellement gérer une pluralité d'agents indicateurs. Selon la figure 2 le domaine de supervision comprend deux sousdomaines (d1, d2). Chaque sous-domaine (d1, d2) comprend un nombre déterminé de ressources (non représentées) supervisées par une pluralité d'agents (A1.1, A1.2, A1.3, B1.1, B1.2, B1.3). Dans l'exemple de réalisation représentée à la figure 2, chaque agent (A1.1, A1.2, A1.3, B1.1, B1.2, B1.3) calcule le même premier indicateur (11) mais sur des ressources différentes. L'indicateur (11) respectif à l'agent (A1.1) est, par exemple une fonction nécessitant la collecte d'une mesure (MAl 1) sur sa ressource associée à l'agent respectif (A1.1). A titre d'exemple, l'indicateur (11) est déterminé par la formule donnant le nombre d'alarmes émises par minute pour une ressource. De même, chaque indicateur (11) respectif aux autres agents (A1.2, A1.3, B1.1, B1.2, B1.3) est une fonction nécessitant la collecte des mesures respectives (mAi 2, mA1.3, rnBi.i, mBi 2, mB1.3) sur chaque ressource associée à chaque agent indicateur (A1.2, A1.3, B1.1, B1.2, B1.3). Chaque sous-domaine (d1, d2) comprend un premier agent de synthèse (AS 1, As 2) responsable de l'évaluation d'un deuxième indicateur (12). La formule de cet indicateur (12) correspond, par exemple, à la somme des premiers indicateurs (11) sur l'ensemble du sous-domaine associé au premier agent de synthèse (As.i, As.2). Ainsi, ces deux agents permettent de connaître le nombre d'alarmes par minute émis par l'ensemble de ressources de chaque sous-domaine (d1, d2). Un deuxième agent de synthèse supplémentaire (AS D) peut également être mis en place et est destiné à synthétiser les informations de l'ensemble des domaines de supervision. Par conséquent, ce deuxième agent de synthèse (As.D) est responsable de l'évaluation d'un troisième indicateur (13). La formule de ce troisième indicateur (13) correspond alors à la somme des deuxièmes indicateurs (12). Ce troisième indicateur (13) permet de connaître le nombre d'alarmes par minute par l'ensemble des ressources du domaine de supervision. Lors de la configuration du domaine de supervision représenté figure 2, Chaque agent indicateur (A1.1, A1.2, A1.3, B1.1, B1.2, B1.3) est dans un premier temps déployé sur une ou plusieurs ressources, de façon à pouvoir collecter les mesures respectives (mA1 1, mA1 2, mati3, man, ma12, mais) nécessaires à l'évaluation du premier indicateur (11) par chaque agent indicateur (A1.1, A1.2, A1.3, B1.1, B1.2, B1.3). Dans une deuxième étape, le domaine de supervision est décomposé en sous-domaine (d1, d2) et chaque agent (A1.1, A1.2, A1.3, B1.1, B1.2, B1.3) est affecté à un sous-domaine. Dans cette étape le service de nommage (SN) met à jours la liste (4) des associations, parce que les nouveaux agents indicateurs créés sont déclarés par les agents déployeurs en utilisant une procédure spécifique au service de nommage en créant une association (nomlndicateur - nomDomaine). Ensuite, les premiers agents de synthèse sont mis en place sur chaque n#ud de synthèse associé à chaque sous-domaine (d1, d2). Lors de sa configuration, chaque premier agent de synthèse va s'abonner à chaque agent indicateur révélé par la notification (IndicatorLookupResp) et grâce à la procédure décrite précédemment. De la même façon, le deuxième agent de synthèse (AS D) va s'abonner aux premiers agents de synthèse (As 1, As 2). En fonctionnement, les agents indicateurs respectifs vont évaluer, par exemple périodiquement, le premier indicateur (11) sur chaque ressource associée et transmettre vers le premier agent de synthèse (As 1, AS 2), s'il y a lieus la nouvelle valeur du premier l'indicateur (11). De la même, façon les premiers agents (AS 1, As 2) de synthèse vont évaluer le deuxième indicateur (12) avec les dernières valeurs du premier indicateur (11) reçues et transmettre vers le deuxième agent de synthèse (AS 1, As 2), s'il y a lieu, la nouvelle valeur du deuxième l'indicateur (11). Ce deuxième agent de synthèse (AS D) évalue également le troisième indicateur (13) avec les dernières valeurs du deuxième indicateur (12) reçues. Selon l'invention le procédé de supervision comprend une étape de réorganisation des liens entre les différents agents lorsque le nombre de ressource par sous-domaine atteint le nombre maximum déterminé. Compte tenu de l'architecture des liens entre agents indicateurs et agents de synthèse, une modification du domaine de supervision se traduit essentiellement par l'ajout et/ou la suppression d'au moins une ressource à au moins un sous-domaine. En d'autres termes, une réorganisation consiste à modifier les abonnements des agents de synthèse dans les tables d'abonnés (1010, 1020, 2010) en fonction de l'affectation à tel ou tel sous-domaine de la ou des ressources supplémentaires. L'ajout d'une ressource à un sous-domaine suit la procédure suivante. Tout d'abord, de nouveaux agents indicateurs sont installés et configurés sur la nouvelle ressource dans le cas où des agents ne seraient pas préalablement installés. En effet, lorsqu'il s'agit de déplacer une ressource d'un sous-domaine (d1) à un autre sous-domaine (d2) il n'y a pas de nouvelle installation d'agents indicateurs, puisque ceux-ci existent déjà. Ensuite, l'agent de configuration envoie au service de nommage (SNi) de la machine à un agent chargé de la supervision du sous-domaine (di) auquel la ressource doit être rajoutée, une notification d'ajout d'agent (addToDomain) spécifiant le nom du sous-domaine et le nom de l'agent ajouté. En réponse à cette notification, le service de nommage recherche et détermine tous les agents réalisant des évaluations sur le sous-domaine utilisant l'indicateur évalué par le nouvel agent indicateur. Le service de nommage envoie ensuite à chaque agent trouvé, une notification d'ajout d'objet (addltem) qui spécifie le nom de l'agent ajouté. Chacun des agents ainsi notifiés modifie son état interne et s'abonne au nouvel agent indicateur par une notification d'abonnement (Subscribe) puis recalcule sa valeur, dès que possible. La suppression d'une ressource à un sous-domaine suit la procédure suivante. Le service de nommage (SNi) du sous-domaine (di) reçoit de l'entité qui initie la suppression de la ressource, une notification de suppression (removeFromDomain) qui spécifie le nom du domaine considéré ainsi que le nom de la ressource à supprimer. En réponse à cette notification, le service de nommage (Sni) recherche et retrouve tous les agents réalisant des évaluations sur sous-domaine utilisant l'indicateur évalué par l'agent indicateur supprimé. Le service de nommage (Sni) envoie une notification de suppression d'objet (removeltem) qui spécifie le nom de la ressource supprimée permettant ainsi aux agents de modifier leur état, de se désabonner des indicateurs dont la référence va disparaître et de re-évaluer leur valeur. Dès que cette phase est achevée, l'agent indicateur ainsi déconnecté peut, par exemple, être inclus dans un autre domaine par l'intermédiaire de la procédure d'ajout d'une ressource. Selon l'invention, un dispositif pouvant mettre en oeuvre le procédé de supervision évolutive décrit précédemment comprend des moyens de décomposer le domaine de supervision en sous-domaines de supervision comprenant un nombre maximum déterminé de ressources, des moyens de configuration de n#uds de synthèse d'informations comprenant au moins un agent de synthèse destiné à synthétiser des valeurs d'indicateurs, ces indicateurs étant représentatifs d'un état de fonctionnement des ressources du sous-domaine et étant évalués par des agents indicateurs installés sur ces ressources, chaque agent indicateur étant identifié de manière unique, par le nom de l'indicateur qu'il calcule et par le sous-domaine sur lequel il est installé, des moyens de réorganiser les liens entre les agents de synthèse et les agents indicateurs lorsque le nombre maximum déterminé de ressources dans un sous-domaine est atteint, de sorte que la nouvelle architecture du domaine de supervision comprenne dans chaque sous-domaine un nombre de ressources inférieur au nombre maximum déterminé de ressources. Selon une autre particularité, les moyens de configurer un n#ud de synthèse comprennent, d'une part des moyens de recherche du nom du ou des agents indicateurs nécessaires au calcul de l'indicateur de l'agent de synthèse, d'autre part des moyens d'abonnement de l'agent de synthèse aux agents indicateurs trouvés lors de l'étape de recherche, ces moyens d'abonnement permettant à chaque agent de synthèse de recevoir automatiquement dans sa table d'abonnement mémorisée sur des moyens de mémorisation, les nouvelles valeurs des indicateurs trouvés. Selon une autre particularité, les moyens de recherche comprennent, d'une part des moyens d'émission par l'agent de synthèse, d'une notification vers un service de nommage, destiné à mémoriser les associations entre un nom de sous-domaine, un agent indicateur et un indicateur, cette notification comprenant le nom d'un sous-domaine déterminé et un indicateur déterminé, et d'autre part des moyens d'émission, par le service de nommage, d'une notification vers l'agent de synthèse demandeur, comprenant le nom du ou des agents indicateurs répondant à l'association sous-domaine déterminé et indicateur déterminé. Selon une autre particularité, les moyens de réorganisation comprennent des moyens d'installation d'au moins un agent indicateur sur chaque nouvelle ressource ajoutée à un sous-domaine, des moyens d'émission vers les agents de synthèse nécessitant la valeur de l'indicateur du ou des nouveaux agents indicateurs, d'une notification comportant l'identification du ou des nouveaux agents indicateurs, des moyens d'abonnement de chaque agent de synthèse aux nouveaux agents indicateurs nécessaires au calcul de l'indicateur de l'agent de synthèse. Selon une autre particularité, les moyens de réorganisation comprennent des moyens de sélection, pour chaque sous-domaine des ressources à supprimer, des moyens d'émission vers les agents de synthèse utilisant la valeur de l'indicateur du ou des agents indicateurs installés sur la ou les ressources sélectionnées, d'une notification comportant l'identification du ou des agents indicateurs supprimés, des moyens de désabonnement des agents de synthèse aux agents indicateurs dont les identifications sont contenues dans la notification. Selon une autre particularité, le nombre maximum de ressources par sous-domaine est déterminé soit de sorte que le coût de calcul des indicateurs soit le plus faible possible, soit de sorte que le nombre de n#uds de synthèse soit le plus faible possible. Selon une autre particularité, les moyens de configuration comprennent un agent appelé agent déployeur de configuration qui crée pour chaque ressource à superviser un agent appelé agent configurateur, cet agent configurateur prenant en charge la création des agents indicateurs pour la ressource qui lui a été affectée par l'agent déployeur de configuration. Selon une autre particularité, chaque agent configurateur comprend des moyens de création d'un agent appelé déployeur d'indicateurs, pour chaque indicateur de la ressource à laquelle il est affecté, cet agent déployeur d'indicateurs déterminant pour l'indicateur auquel il est associé les différentes combinaison des valeurs des variables pour lesquels l'indicateur est calculé. Selon une autre particularité, le dispositif comprend un compilateur d'indicateurs qui génère, pour chaque indicateur et après analyse de la formule définissant l'indicateur, deux classes d'objets I~Deployer et I~Indicator qui correspondent respectivement aux agents déployeurs d'indicateurs qui déploient les instances de la classe I~Indicator et aux agents indicateurs qui évaluent l'indicateur. Selon une autre particularité, l'agent déployeur d'indicateurs comprend des moyens de résolution des noms des objets référencés dans la formule de l'indicateur et des moyens de créer les agents indicateurs correspondants en déterminant les combinaisons valides des valeurs des variables de ces objets déterminées par les moyens de résolution des noms. Selon une autre particularité, les moyens de résolution des noms comprennent des moyens de découverte pour tous les objets identifiés dans la formule de l'indicateur, les moyens de découverte comprenant des moyens de vérification pour un objet référencé si la contrainte exprimée sur les valeurs de variables est satisfaite, et des moyens de créer l'agent indicateur associé à l'agent déployeur d'indicateurs, si la contrainte est vérifiée, en utilisant comme paramètres les objets correspondant aux combinaisons valides des valeurs de variables trouvées. Selon une autre particularité, les agents déployeurs de configuration et les agents configurateurs sont gérés par au moins une machine à agents installée sur au moins une ressource du domaine de supervision. Selon une autre particularité, chaque agent déployeur d'indicateurs est géré soit par la machine à agents gérant l'agent configurateur associé à l'agent déployeur d'indicateurs, soit par une machine à agents distincts. On conçoit que le dispositif et le procédé de supervision selon l'invention permet de restructurer l'architecture de la supervision, même si le nombre de ressources augmente brusquement dans de fortes proportions. Il est clair que d'autres modifications à la portée de l'homme du métier entrent dans le cadre de l'invention. ANNEXE 1 Exemple d'implémentation d'un indicateur nommé ifUtilizationBandWidth ne faisant pas référence à un autre indicateur. L'équation de cet indicateur est la suivante : class IfUtilizationBandWidthlndicator extends Primitivelndicator { int delta~1=0 ; public IfUtilizationBandWidth Indicator( short serverId, String machineName, int period, Oid [] attributes, Agentld[] indicators ) throws UnknownHostException, IOException super( serverId, machineName, period, attributes, indicators); } public AsnObject evaluate( long deltaT ) { int ifInOctets~l = ((AsnUnsInteger)pairs[O].value).value; int ifiutOctets~1= ((AsnUnsInteger)pairs[1 ].value).value; int ifSpeed~l= ((AsnUnsInteger)pairs[2].value).value; int new~delta~1= iflnOctets~1 + ifOutOctets~l; int old~delta~l=delta~l; delta~1=new~delta~1 ; int newValue= ( ( ( ( 8 *(new - delta-1-old-delta-1) / (int) deltaT ) ifSpeed~l)** 100); return( new Asnlnteger( newValue ) ); public class IfUtilizationBandWidth Deployer extends IndicatorDeployer { private static String ind~pattems[]={ Mib2.ifinOctetst + ".1 ", Mib2.ifOutOctets + ".1", Mib2. ifSpeed + ".1" }; private static IndicatorReference[] ind~indicators=null; private static int ind~period=l ; public IfUtilizationBandWidth~Deployer( short serverId, String machineName, String[] machines ) throws Exception { super(serverld, machineName, ind~patterns, machines); this.serverId = serverId; this.machineName=machineName; this.period=ind~period; indicatorNames=ind~indicators; } protected Primitivelndicator createlnstance( short serverId, String machineName, int period, Oid [] attributes, AgentId[] indicators ) throws UnknownHostException, IOException { return( new IfUtilizationBandWidth~Indicator( serverId, machineName, period, attributes, indicators)); Cette équation utilise des indicateurs instanciés ifInOctets.1, ifOutOctets.1 and ifSpeed.1. dont les noms sont mémorisés dans une table utilisé par le constructeur. L'évaluation de cette équation est réalisé par une méthode générique nommée evaluate . Exemple de implémentation de l'indicateur nommé ifErrorsRatio lorsqu'il fait référence à trois autres indicateurs, Le. IfErrors1, IfinPackets1 et IfOutpackets1. L'équation de cet indicateur est la suivante : class IfErrorsRatio Indicator extends PrimitiveIndicator { public IfErrorsRatio~Indicator( short serverId, String machineName, int period, Oid [] attributes, AgentId[] indicators ) throws UnknownHostException, IOException { super( serverId, machineName, period, attributes, indicators); } public AsnObject evaluate( long deltaT ) { int IfErrors=((AsnInteger) indicatorValues[O]).value; int IfInpackets=((AsnInteger) indicatorVa!ues[l]). value; int IfOutpackets=((AsnInteger) indicatorValues[2]).value; int newValue= ( IfErrors / ( Iflnpackets + IfOutpackets ) ); return( new Asnlnteger( newValue ) ); } } public class IfErrorsRatio~Deployer extends IndicatorDeployer { private static String ind~patterns[]=null; private static IndicatorReference [] ind~indicators= { new IndicatorReference( "IfErrors Indicator") , new IndicatorReference( "IfInpackets~Indicator"), new IndicatorReference( "IfOutpackets~Indicator") private static int ind~period = 100 ; public IfErrorsRatio~Deployer( short serverId, String machineName, String[] machines ) throws Exception { super(serverId, machineName, ind~patterns, machines); this.serverId = serverId; this.machineName=machineName; period=ind-period; indicatorNames=ind~indicators; } protected Primitivelndicator createlnstance( short serverId, String machineName, int period, Oid [] attributes, AgentId[] indicators) throws UnknownHostException, IOException { return( new IfErrorsRatio~Indicator( serverld, machineName, period, attributes, indicators)) ; } Exemple d'implémentation d'un nouvel itérateur, par exemple SUM correspondant à une somme. L'équation de cet itérateur est la suivante : public class Sum extends CompoundIndicator { public Sum( int period, String[] machines, Class klass ) { super( period, machines, klass); public AsnObject evaluate( long deltaT ) { int length = indicatorValues.length; int current = 0; for( int i = 0 ; REVENDICATIONS 1. Procédé de supervision évolutive d'un système informatique comportant une pluralité d'équipements informatiques constituant des ressources matérielles à superviser formant un domaine de supervision, caractérisé, le procédé étant mis en #uvre par l'intermédiaire d'un système informatique central appelé administrateur relié à un réseau de communication permettant le transfert d'informations entre au moins une ressource et l'administrateur, le procédé étant caractérisé, en ce qu'il comprend : - une étape de décomposition du domaine de supervision en sousdomaines de supervision comprenant un nombre maximum déterminé de ressources, - une étape de création et de configuration automatique, pour chaque sous-domaine, d'un n#ud de synthèse d'informations comprenant au moins un agent de synthèse mémorisé sur des moyens de mémorisation d'une ressource, chaque agent de synthèse est destiné à synthétiser des valeurs d'indicateurs calculées et mémorisées sur des moyens de mémorisation d'au moins une ressource, ces indicateurs étant représentatifs d'un état de fonctionnement des ressources du sous-domaine et étant évalués par des agents indicateurs installés sur ces ressources, chaque agent indicateur étant identifié de manière unique, par le nom de l'indicateur qu'il calcule et par le sous-domaine sur lequel il est installé et étant associé à chaque agent de synthèse utilisant la valeur d'indicateur correspondante, - une étape de modification des associations entre les agents de synthèse et les agents indicateurs lorsque le nombre maximum déterminé de ressources dans un sous-domaine est atteint, pour prendre en compte l'apparition ou la disparition d'indicateurs, de sorte que la nouvelle architecture du domaine de supervision comprenne dans chaque sousdomaine un hombre de ressources inférieur au nombre maximum déterminé de ressource. 2. Procédé de supervision évolutive selon la revendication 1, caractérisé en ce que l'étape de configuration d'un n#ud de synthèse comprend pour chaque agent de synthèse : - une étape de recherche dans une table mémorisée sur des moyens de mémorisation d'une ressource du nom du ou des agents indicateurs nécessaires au calcul de l'indicateur de l'agent de synthèse - une étape d'abonnement de l'agent de synthèse aux agents indicateurs trouvés lors de l'étape de recherche, cette étape d'abonnement permettant à chaque agent de synthèse de recevoir automatiquement dans sa table d'abonnement mémorisée sur des moye, s de mémorisation d'une ressource les nouvelles valeurs des indicateurs trouvés. 3. Procédé de supervision évolutive selon la revendication 2, caractérisé en ce que l'étape de recherche comprend : - une étape d'émission, par l'agent de synthèse, d'une notification vers un service de nommage, destiné à mémoriser les associations entre un nom de sous-domaine, un agent indicateur et un indicateur, cette notification comprenant le nom d'un sous-domaine déterminé et un indicateur déterminé, - une étape d'émission, par le service de nommage, d'une notification vers l'agent de synthèse demandeur, comprenant le nom du ou des agents indicateurs répondant à l'association sous-domaine déterminé et indicateur déterminé. 4. Procédé de supervision évolutive selon l'une des revendications 1 à 3, caractérisé en ce que l'étape de modification comprend : - une étape d'installation d'un moins un agent indicateur sur chaque nouvelle ressource ajoutée à un sous-domaine, - une étape d'émission vers les agents de synthèse nécessitant la valeur de l'indicateur du ou des nouveaux agents indicateurs, d'une notification comportant l'identification du ou des nouveaux agents indicateurs, - une étape d'abonnement de chaque agent de synthèse aux nouveaux agents indicateurs nécessaires au calcul de l'indicateur de l'agent de synthèse. 5. Procédé de supervision évolutive selon l'une des revendications 1 à 4, caractérisé en ce que l'étape de modification comprend : - une étape de sélection, pour chaque sous-domaine des ressources à supprimer -une étape d'émission vers les agents de synthèse utilisant la valeur de l'indicateur du ou des agents indicateurs installés sur la ou les ressources sélectionnées, d'une notification comportant l'identification du ou des agents indicateurs supprimés - une étape de désabonnement des agents de synthèse aux agents indicateurs dont les identifications sont contenues dans la notification. 6. Procédé de supervision évolutive selon l'une des revendications 1 à 5, caractérisé en ce que le nombre maximum de ressources par sousdomaine est déterminé soit de sorte que le coût de calcul des indicateurs soit le plus faible possible, soit de sorte que le nombre de n#uds de synthèse soit le plus faible possible. 7. Dispositif de supervision évolutive d'un système informatique comportant une pluralité d'équipements informatiques constituant des ressources matérielles à superviser formant un domaine de supervision, caractérisé en ce qu'il comprend des moyens de décomposer le domaine de supervision en sous-domaines de supervision comprenant un nombre maximum déterminé de ressources, des moyens de création et configuration sur des moyens de mémorisation d'une ressource, de noeuds de synthèse d'informations comprenant au moins un agent de synthèse mémorisé sur des moyens de mémorisation d'au moins une ressource et destiné à synthétiser des valeurs d'indicateurs calculés et mémorisés sur des moyens de mémorisation d'une ressource, ces indicateurs étant représentatifs d'un état de fonctionnement des ressources du sous-domaine et étant évalués par des agents indicateurs installés sur ces ressources, chaque agent indicateur étant identifié de manière unique, par le nom de l'indicateur qu'il calcule et par le sous-domaine sur lequel il est installé, la configuration d'un agent de synthèse comprenant la mémorisation sur des moyens de mémorisation d'une ressource des associations entre l'agent de synthèse et des agents indicateurs, des moyens de modification des associations entre les agents de synthèse et les agents indicateurs lorsque le nombre maximum déterminé de ressources dans un sous-domaine est atteint, de sorte que la nouvelle architecture du domaine de supervision comprenne dans chaque sousdomaine un nombre de ressources inférieures au nombre maximum déterminé de ressources. 8. Dispositif de supervision évolutive selon la revendication 7, caractérisé en ce que les moyens de configurer un n#ud de synthèse comprennent, d'une part des moyens de recherche dans une table mémorisée sur des moyens de mémorisation d'une ressource du nom du ou des agents indicateurs nécessaires au calcul de l'indicateur de l'agent de synthèse, d'autre part des moyens d'abonnement de l'agent de synthèse aux agents indicateurs trouvés lors de l'étape de recherche, ces moyens d'abonnement permettant à chaque agent de synthèse de recevoir automatiquement dans sa table d'abonnement mémorisée sur des moyens de mémorisation, les nouvelles valeurs des indicateurs trouvés. 9. Dispositif de supervision évolutive selon la revendication 8, caractérisé en ce que les moyens de recherche comprennent, d'une part des moyens d'émission par l'agent de synthèse, d'une notification vers un service de nommage, destiné à mémoriser dans une table mémorisée sur des moyens de mémorisation d'une ressource, les associations entre un nom de sous-domaine, un agent indicateur et un indicateur, cette notification comprenant le nom d'un sous-domaine déterminé et un indicateur déterminé, et d'autre part des moyens d'émission, par le service de nommage, d'une notification vers l'agent de synthèse demandeur, comprenant le nom du ou des agents indicateurs répondant à l'association sous-domaine déterminé et indicateur déterminé. 10. Dispositif de supervision évolutive selon l'une des revendications 7 à 9, caractérisé en ce que les moyens de modification comprennent des moyens de création et de mémorisation d'au moins un agent indicateur sur chaque nouvelle ressource ajoutée à un sous-domaine, des moyens d'émission vers les agents de synthèse nécessitant la valeur de l'indicateur du ou des nouveaux agents indicateurs, d'une notification comportant l'identification du ou des nouveaux agents indicateurs, des moyens d'abonnement de chaque agent de synthèse aux nouveaux agents indicateurs nécessaires au calcul de l'indicateur de l'agent de synthèse. 11. Dispositif de supervision évolutive selon l'une des revendications 7 à 10, caractérisé en ce que les moyens de modification comprennent, des moyens de sélection, pour chaque sous-domaine des ressources à supprimer, des moyens d'émission vers les agents de synthèse utilisant la valeur de l'indicateur du ou des agents indicateurs installés sur la ou les ressources sélectionnées, d'une notification comportant l'identification du ou des agents indicateurs supprimés, des moyens de désabonnement des agents de synthèse aux agents indicateurs dont les identifications sont contenues dans la notification. 12. Dispositif de supervision évolutive selon l'une des revendications 7 à 11, caractérisé en ce que le nombre maximum de ressources par sousdomaine est déterminé soit de sorte que le coût de calcul des indicateurs soit le plus faible possible, soit de sorte que le nombre de noeuds de synthèse soit le plus faible possible.