• Aucun résultat trouvé

Évaluation des performances

CHAPITRE 3 AGENTS MOBILES ET LEURS SPÉCIFICITÉS

3.6 Apports et limites du paradigme d’agents mobiles

3.6.6 Évaluation des performances

Dans cette section, nous allons présenter les évaluations de performances entre le paradigme d’agents mobiles et le modèle traditionnel client-serveur dans deux différents domaines d’application: la recherche d'information et la gestion de réseau.

Recherche d’information

Une des applications d’agents mobiles la plus importante est la recherche d'information. Dans ces applications, des agents se déplacent sur différents sites pour chercher des informations pour leurs clients. Dans [Ismail et Hagimont, 1999], les auteurs ont réalisé une application répartie sur Internet dont le but était de chercher une liste d'hôtels dans une ville. Cette application consiste à consulter deux bases de données. La première recense des hôtels et permet d'obtenir la liste des hôtels de la ville où le client désire se rendre. La deuxième base de données est un serveur annuaire permettant d'obtenir les numéros de téléphone de ces hôtels. Ces deux bases de données sont gérées sur des sites différents par des administrations ou des entreprises différentes.

D’abord, en utilisant le modèle client-serveur classique, le client va devoir faire un appel à distance (en utilisant par exemple le mecanisme d’appel de procédure à distance, en anglais Remote Procedure Call, RPC) pour interroger le premier serveur (serveur A) et récupérer la table des hôtels qui l'intéressent. À partir de cette table, le client va ensuite, pour chaque hôtel dans la table, réaliser un appel à distance au deuxième serveur (serveur B) afin de récupérer le numéro de téléphone de l’hôtel.

Dans le mode client-serveur (voir la figure 3.13 (a)), le client doit appeler le second (serveur B) autant de fois qu'il y a d'éléments dans le tableau d'hôtels retourné par le premier (serveur A). Le temps d'obtention de la réponse finale est égal au coût de communication avec le serveur A (rpc(A)), plus le coût des communications avec le serveur B qui est égal au coût de l'appel au serveur B multiplié par la taille du tableau obtenu comme réponse du serveur A (n*rpc(B)). Le coût total du modèle client et les serveurs A et B peut être calculé [Ismail et Hagimont, 1999]:

Figure 3.13 Paradigme d’agents mobiles versus le modèle client-serveur

Une autre méthode consiste à transmettre directement la table des hôtels du serveur A au serveur B afin que celui-ci réalise une jointure avec sa table des numéros de téléphone. Pour ce faire, il faut spécialiser les serveurs pour qu'ils offrent ce service de redirection de requêtes. Une extension statique des serveurs (par les administrateurs des deux serveurs) ne constitue pas une solution réaliste dans la mesure où ces bases de données sont administrées séparément. De plus, il n'est pas réaliste d'étendre un serveur pour chaque besoin spécifiqu e d'un client.

Une approche par des agents mobiles est donc proposée comme illustré à la figure 3.13 (b) [Ismail et Hagimont, 1999]. Le client crée un agent mobile appelé Ag contenant la requête globale à réaliser. L’agent Ag se déplace (1) tout d'abord vers le serveur A et réalise localement l'appel pour obtenir la table des hôtels. La table des hôtels est stockée dans le contexte de l'agent, puis l'agent se déplace (2) vers le serveur B. Sur ce dernier, l'agent peut réitérer sur la table des hôtels et demander le numéro de téléphone de chaque hôtel. Ces numéros de téléphone sont stockés dans le contexte de l'agent qui se déplace (3) finalement vers son site d'origine où il délivre le résultat au client.

Dans cette approche, un agent doit être envoyé sur le serveur A (coût A), puis il se déplace avec la table des hôtels vers le serveur B (coût A(TableHotel)) et retourne à son site d'origine

avec la table contenant les numéros de téléphone (coût A(TableTelephone)). Le coût total du modèle d’agent mobile peut être calculé [Ismail et Hagimont, 1999]:

coût total = A + A(TableHotel) + A(TableTelephone)

Ainsi, l’approche à base d'agents mobiles sera plus efficace si [Ismail et Hagimont, 1999]: A + A(TableHotel) + A(TableTelephone) < rpc(A) + n * rpc(B)

Des mesures ont été effectuées en variant le nombre d'enregistrements retournés par le premier serveur. Dans cette application, la taille d'un enregistrement est de 80 octets. La figure 3.14 [Ismail et Hagimont, 1999] illustre les résultats de l’expérience.

Figure 3.14 Comparaison entre RMI et les agents mobiles pour l'application [Ismail et Hagimont, 1999]

On observe que pour un nombre d'enregistrements petit (moins de 20 enregistrements dans le cas présent), la mise en œuvre basée sur RMI (pour Remote Method Invocation) est plus efficace que celle basée sur des agents mobiles. Ceci s'explique par le fait que pour un nombre d'enregistrements petit, le nombre d'appel à distance économisé n'est pas suffisant pour amortir le coût de la migration de l'agent sur le réseau. Cependant, pour un nombre d'enregistrements suffisant, l’approche à base d'agent est bien plus efficace.

La différence entre Aglets et Agent [Ismail et Hagimont, 1999] s’explique par le fait que Agent est un prototype minimal n'implantant que les fonctions strictement nécessaires. Dans ce travail [Ismail et Hagimont, 1999], les auteurs précisent qu’il s’agit d’une mobilité forte.

Gestionnaire de réseau mobile

Avant de présenter le gestionnaire de réseau mobile, nous allons d’abord faire un rappel du protocole SNMP qui est traditionnellement utilisé pour l’administration distante de réseau. Le protocole SNMP est basé sur le modèle client-serveur. L'architecture de gestion du réseau proposée par le protocole SNMP est fondée sur les trois principaux éléments [RFC 3411, 2002] [FrameIP TcpIP]:

1. Les équipements gérés (managed devices) sont des éléments du réseau contenant des objets de gestion (managed objects) pouvant être des informations sur le matériel, des éléments de configuration ou des informations statiques.

2. Les agents SNMP, c’est-à-dire les applications de gestion de réseau résidant dans un périphériques, sont chargés de transmettre les données locales de gestion du périphérique au format SNMP.

3. Les systèmes de gestion de réseau (network management systems) sont les stations à travers lesquelles les administrateurs peuvent réaliser des tâches d'administration.

Les stations d’administration sont les machines qui centralisent toutes les données. En effet, la station est le cœur du système et c’est elle qui va dialoguer avec les différents matériels à administrer. Les agents SNMP, qui sont des entités logicielles, se trouvent au niveau de chaque interface connectant au réseau l'équipement géré (nœud) et permettent de récupérer des informations sur différents objets.

Les commutateurs, les concentrateurs, les routeurs, les postes de travail et les serveurs sont des exemples d'équipement contenant des objets gérables. Ces derniers peuvent être des informations matérielles, des paramètres de configuration, des statistiques de performances et autres objets qui sont directement liés au comportement en cours de l'équipement en question. Ces objets sont classés dans une sorte de base de données arborescente appelée MIB (Management Information Base MIB). L’arbre MIB a comme feuille des variables SNMP. Ces dernières sont identifiées par des OID (Object Identifier). Le protocole SNMP est utilisé pour connaître à un instant donné l’état d’un matériel. Ainsi, ce sont ces variables SNMP qui permettront de connaître par exemple le nombre de paquets entrants et sortants sur une

interface donnée ou encore la température du processeur d’un serveur, etc. La version 3 du protocole SNMP est le standard actuel et il est défini dans [RFC 3411, 2002].

Une fois décrite le protocole SNMP, revenons à la présentation de la gestionnaire de réseau mobile. Cette dernière comprend essentiellement la surveillance et le contrôle des éléments de réseau. Un gestionnaire de réseau mobile (en anglais Mobile Network Manager, MNM) est un administrateur de réseau via un ordinateur portable [Sahai et Morin, 1998a] [Sahai et Morin, 1998]. Le réseau comprend des éléments fixes exécutant des agents SNMP (pour Simple Network Management Protocol). Le MNM interroge les agents SNMP sur les variables de gestion de réseau et obtient leurs valeurs. Les agents sont utilisés pour étudier la performance des composants de réseau, installer le logiciel, vérifier les composants de réseau (par la collecte de l'information sur le disque, les utilisateurs de la machine, la configuration de l'application, etc.) et la découverte de réseau.

Le MNM opère en mode filaire ou sans fil. Le MNM envoie typiquement un grand nombre d'agents mobiles pour mettre en œuvre une série d'actions désirées. Après avoir terminé son parcours, l'agent mobile peut se déconnecter du réseau et rester dans sa dernière place (machine) de son itinéraire. Le MNM et les agents SNMP sont intégrés à des places pour qu'ils puissent transférer et accueillir les agents mobiles. Dans le cas où le MNM disparait brusquement, l'agent essaie d'atteindre la place MNM pour se connecter. Lorsque le MNM se connecte de nouveau, toutes les places sont informées de l'apparition de la place MNM. Ainsi, l'agent en attendant la place MNM revient avec les résultats.

Pour évaluer les performances, deux MNMs ont été donc mis en place, l'une utilisant des agents mobiles et l'autre le mécanisme client-serveur. La figure 3.15 (a) présente la comparaison de l'utilisation de bande passante lorsque le client-serveur et l’agent mobile sont utilisés pour obtenir un nombre donné d'échantillons d'une seule variable d'un agent SNMP. Comme nous le montre la courbe de la figure 3.15 (a), lorsqu’on désire un grand nombre d'échantillons, en termes de consommation de bande passante, il est préférable d'utiliser le paradigme d’agents mobiles. La figure 3.15 (b) montre une comparaison similaire à la précédente mais celle-ci est obtenue avec des échantillons de 5 variables SNMP.

Figure 3.15 Courbes de l'utilisation de bandes passantes du paradigme d’agents mobiles versus le mécanisme client-serveur [Sahai et Morin, 1998a]

La figure 3.16 illustre une comparaison des temps de réponse entre le client-serveur et l’agent mobile. Les courbes de la figure 3.16 illustrent qu’il est plus efficace d’utiliser le paradigme d’agents mobiles lorsqu’on a un plus grand nombre d'échantillons de l'agent SNMP à interroger. Dans ce travail [Sahai et Morin, 1998a], les auteurs précisent qu’il s’agit d’une mobilité forte.

Le MNM a été exécuté sur [Sahai et Morin, 1998a]:  Un ordinateur portable IBM ThinkPad 760 EL

 Un ordinateur de bureau Pentium 133 MHz ayant une mémoire de 16 Mo  Un système d’exploitation Windows 95

Figure 3.16 Comparaison des temps de réponse entre le client-serveur et l’agent mobile [Sahai et Morin, 1998a]