• Aucun résultat trouvé

Administration proactive des systèmes distribués en utilisant les agents mobiles

PARTIE I SYSTEMES DISTRIBUES ET ADMINISTRATION: CONTEXTE, NOTIONS

4.4 Administration proactive

4.4.3 Administration proactive des systèmes distribués en utilisant les agents mobiles

4.4.3.1 Principe de système distribué et proactif de gestion

Pour modéliser un système informatique, [Mathieu,2004] propose de le décrire sous forme d’un ensemble de ressources. Ces ressources peuvent être composées d’autres ressources. Ceci implique qu’il existe une relation de hiérarchie entre les ressources, en particulier au niveau décisionnel.

Dans un système d’information ou un réseau informatique trois niveaux décisionnels peuvent être identifiés :

Le niveau opérationnel qui gère les décisions à court terme.

Le niveau tactique qui gère les décisions à moyen terme.

Le niveau stratégique qui gère les décisions à long terme.

Cette approche basée sur trois niveaux décisionnels permet de diminuer de manière considérable la complexité du système en le sectorisant. Dans les configurations de réseau il est aussi possible de diviser chacun de ces niveaux en différentes zones ayant chacune des

objectifs différents (voir figure 4.12). Pour chaque zone géographique, une entité responsable de la gestion appelée zone de gestion peut être définie.

Figure (4.12) : Interactions entre les serveurs de système de gestion.

([Mathieu,2004] P :146)

Il est clair que le système d’information et le système de gestion ont une organisation équivalente pour leur architecture. Toutes les caractéristiques du système d’information vont se trouver dans le système de gestion d’infrastructure : distributivité, hétérogénéité... Pour cette raison, l’auteur dans [Mathieu,2004] a choisi les agents mobiles pour construire sa plate-forme de management car ce type de plate-forme donne des résultats très intéressants dans un tel contexte, résultats qui seraient très difficiles à obtenir avec une architecture centralisée.

Nous avons détaillé dans un paragraphe précédent de ce chapitre que plusieurs types d’agents mobiles peuvent exister. Ils peuvent être regroupés en fonction des tâches génériques que ces agents sont en mesure d’exécuter. Ils ont des possibilités de communication, entre eux ainsi qu’avec les autres éléments de la plate-forme. Dans les paragraphes suivants, nous présentons les différentes propriétés que la plate-forme Aglets peut ajouter sur le fonctionnement des agents mobiles.

4.4.3.2 Système de gestion en utilisant la plate-forme « Aglets »

Le Kit de Développement d’Aglets (ASDK) a été développé par IBM-Research au Japon. L’ASDK est écrit en Java. Le mot « Aglet » et la contraction de ‘’Agent‘’ et ‘’Applet’’ et désigne un code mobile écrit en Java fonctionnant sous l’environnement Aglet [Lange,1998b]. Pour créer un agent mobile avec les Aglets, il suffit de définir dans la classe aglet des méthodes telles que : onCreation, onArrival, onDisposing, etc. Les Aglets sont programmés à base de Java, donc il suffit de réaliser des objets Java (sérialisables et clonables) qui ont en plus la faculté de se déplacer. Le transport et la communication des agents sont basés sur le protocole spécifique ATP (Agent Transfert Protocol) qui est similaire au protocole HTTP.

• L’environnement d’exécution des agents mobiles : L’ASDK fournit une structure claire et extensible pour programmer les aglets, avec une API pra-tique à utiliser. Un aglet est un objet mobile java qui peut migrer entre les nœuds d’exécution et qui est capable de répondre aux messages entrants.

Un aglet est protégé de l’accès direct à ses méthodes publiques grâce à l’utilisation d’objets proxy [Lange,1998b] qui permettent de contrôler les accès à l’aglet. Le contexte d’un aglet est son espace de travail. Le contexte est un objet stationnaire qui fournit un environnement d’exécution et qui protège le système hôte contre les aglets pirates. Pour exécuter les aglets on a besoin d’un serveur d’aglets sur tous les hôtes sensés accueillir des agents mobiles. Ce serveur exécute un démon ATP recevant les aglets.

• Le cycle de vie d’une aglet : L’aglet peut passer dans plusieurs états pen-dant son cycle de vie depuis la création jusqu’à la destruction [Lange,1998b] (Figure 4.13).

Figure (4.13) : Cycle de vie d’un Aglet. ([Lange,1998b] P : 39).

Création : un nouvel aglet a été créé, son état est initialisé, son thread principal est démarré. Le processus de création assigne à chaque aglet un identificateur et fournit la référence du nouvel aglet au proxy.

Clonage : Naissance d’un clone d’aglet. L’état est dupliqué dans le clone.

Envoie : L’aglet voyage d’un hôte à l’autre.

Rappel : L’aglet est rappelé par un hôte.

Désactivation : L’aglet est mis en sommeil.

Activation : L’aglet est réveillé.

Destruction : l’aglet est tué.

• La mobilité des aglets : Les aglets peuvent migrer vers un autre contexte en appelant la méthode de dispatching avec l’URL de l’hôte distant comme ar-gument. Les aglets et les objets de données seront sérialisés.

Les hôtes d’un aglet utilisent la sérialisation pour exporter l’état des objets dans un flux d’octets. C’est pourquoi un aglet ne peut contenir que des objets implémentant l’interface sérialisable ou déclaré transitant.

Un aglet peut migrer de sa propre volonté, il peut également être forcé par un autre aglet ou par l’utilisateur (l’ASDK permet d’élaborer des trajets complexes parce qu’il est capable de fournir une classe java codant les itinéraires).

• La communication des aglets : Il est essentiel que les agents mobiles puis-sent avoir un moyen de communiquer entre eux ou avec l’extérieur, sans avoir à se préoccuper de leur localisation. Les aglets communiquent entre eux en s’envoyant des messages en invoquant la méthode d’envoi de mes-sage du proxy. La plate-forme ASDK fournit des moyens de communica-tion aux agents mobiles et supporte toutes les sortes des messages.

• La sécurité des aglets : Les aglets nécessitent un soin tout particulier pour la sécurité. Ils sont une nouvelle porte d’entrée pour les agents malicieux.

Les hôtes doivent proposer une infrastructure qui empêche les agents non dignes de confiance d’accéder aux ressources sensibles du système.

D’autres attaques possibles sont les dénis de service. Les hôtes actuels tels que Tahiti proposent des politiques de sécurité intransigeantes reposant sur le concept d’aglet digne de confiance et non digne de confiance.