Vous êtes sur la page 1sur 65

La technologie

Agents mobiles
Nadia Boukhatem
Dpartement INFRES, ENST - Paris
boukhatem@enst.fr

PLAN

)Dfinition et principes
)Avantages
)Domaines d application
)Les systmes d agents mobiles (platesformes)
z Caractristiques
z La

plate-forme Grasshopper

)Applications

Scnario : Organisation
d une sortie
Pas le temps!!!!
Mais, pas de
problme!
Mon agent
organisateur
est l!

Une requte et le tour est jou!

Rseau

08:00

Scnario : Organisation d une


sortie
Rservation de deux
places de cin

Rservation
restaurant

Commande d un
bouquet de fleurs!

Scnario : Organisation d une


sortie
C est bon, c est fait,
tout est rserv!
Toutes les infos
ont t imprimes ...,
bonne soire!

Merci!
Quelle chance
d avoir mon
agent
organisateur

Rseau
19:00

Les agents mobiles


Dfinition
z Un

agent mobile est un programme qui peut se


dplacer dans le rseau et agir la demande
d'un utilisateur
Rseau

Utilisateur
z Le

concept d'agent mobile est propos comme


une alternative au client/serveur

Les agents mobiles


L'approche
z
z
z
z

RPC (Remote Procedure Call)

La communication se traduit par des appels de procdure


Chaque message que le rseau transporte est soit une requte
d'excution d'une procdure soit la rponse la requte
La machine client orchestre le travail accomplir sur le serveur
par une srie de RPC
Une interaction continue entre le client et le serveur ncessite
une communication continue

Les agents mobiles


L'approche
z
z
z
z

agent mobile

La communication se traduit par l'excution d'un code


Chaque message que le rseau transporte comprend un code
(et des donnes) qui doit tre excut par le serveur
Le travail est orchestr par un agent envoy par la machine

client

Une interaction continue entre le client et le serveur ne


ncessite pas une communication continue

Les agents mobiles :


Avantages
Avantages

quantitatifs

)Performance
z rduction

du trafic sur le rseau

)Rduction du temps de rponse


z Dplacement

de l excution vers les donnes

)La rpartition de charge (distribution)


z Pour

rduire la charge au niveau local, les


agents sont dplacs

Les agents mobiles :


Avantages
Avantages

qualitatifs

)Asynchronisme
z L'utilisateur

peut dlguer une tche un


agent sans rester en attente du rsultat

)Personnalisation de services
(customization)
z Ajouts

de nouvelles fonctionnalits (Upgrade)

)Dploiement et maintenance de services


z Automatiser

mises jour

les processus d installation et de

Domaines d application
Toutes

les applications base de C/S

SI Taille(agent + donnes + rsultats) < Taille


(messages)
time

C/S

Mobile agents
number of interactions

Domaines d application
La

gestion de rseaux
z Distribuer

le systme de gestion
z viter la surcharge de la NMS
z Impliquer les lments du rseau dans la
gestion
NMS
Entit gre

Domaines d application
Le

commerce lectronique
z Visite

La

de sites marchands

recherche d information
z Autonomie

Domaines d application
Informatique

mobiles
z
z
z

nomade et rseaux

quipements nomades (accs intermittent)


Cot lev des communications
Liens non fiables

)Accs distant un serveur


z Connecter

le portable
z Activer l agent et l envoyer
z Se dconnecter
z L agent

excute la tche, se dplace vers d autres


serveurs
revient une home location

z Se

reconnecter et rcuprer le rsultat

Domaines d application
Informatique

mobiles

nomade et rseaux

)Fourniture de services
)Travaux
z CLIMATE
z Projet
z Projet
z Projet
z Projet

[8]
MONTAGE [9]
AMASE [10]
CAMELEON [11]
MOBIVAS [12]

Domaines d application
Les

rseaux actifs

z Approche

oriente programme
z Acclrer l innovation dans le domaine des
rseaux
z

Une nouvelle technologie demande une dcennie


pour passer de l tat de prototype une phase de
dploiement grande chelle

z Dploiement

rapide et dynamique de protocoles


et de services

)Approche par capsules

Les AM parmi les autres modles


d excution distribue
Les

modles

)RPC - Remote Procedure Call


)REV - Remote Evaluation
)COD - Code On Demand
)MA - Mobiles agents

Les AM parmi les autres modles


d excution distribue
RPC
Activating site
activity

Target site
Call proc()

proxy
code
resource

application est divise en deux parties


Mode synchrone
)Invocation, excution de la procdure,
rsultat

Les AM parmi les autres


modles d excution distribue
REV
Activating site
activity

Target site
Eval code

proxy
resource

)L activit envoie une procdure pour


qu elle soit excute au niveau du site cible
)Mode asynchrone
)Example : fichier Postcript

Les AM parmi les autres modles


d excution distribue
COD
Activating site
activity

resource

Target site
Get

proxy

code

)L activit tlcharge une procdure


)Excution locale
)Exemple : Chargement d une applet

Les AM parmi les autres


modles d excution distribue
Mobile

Agent

Activating site
activity

Target sites
code
resource

resource

resource

Les systmes d agents


mobiles
Trois

grandes approches
SAM

Langage
Langage

Extension
d un OS

Plate-forme
Plate-forme

Les plates-formes d agents


mobiles
Quelques
Aglet

plates-formes

- IBM
Concordia - Mitsubishi
ARA - Universit de Kaiserlautern
Odyssey - General Magic
D'Agents (AgentTcl) - Darmouth College
Voyager - Obejct Space
Mole - Universit de Stuttgart
Grasshopper - IKV++ (GmbH)

Les plates-formes d agents


mobiles
security

agent
place

agent
data

network

security

agent

data

services

place

services

Caractristiques d un systme
d agents mobiles
Mobilit-

Migration

)Concerne les mcanismes utiliss pour


transporter le code des agents, leurs donnes
et l tat d'excution
Types

de mobilit

)Faible (programmation distance)


z seuls

le code et l'tat des donnes (data state)


font l'objet d'une migration

)Forte
z le

code, les donnes et l'tat d'excution doivent


tre dplacs vers le site destination

La mobilit
Comment?
Code
+
donnes
(+ tat)

Format
intermdiaire

Mcanisme de transport
sur le rseau

Format
intermdiaire

Code
+
donnes
(+ tat)

)Srialisation d'objets Java


)Protocoles de niveau application au-dessus
de TCP ou Sockets TCP pour le transport
)Primitives de migration, "go", "agentjump , move , ...

La mobilit
Comment

zL

agent est une instance d une classe Java


)Initiation de la migration de l agent (move())
)L agent est interrompu (arrt du thread de
l agent)
)Le data state est srialis
z

Variable non dclare comme Transient

)Le data state + le nom de la classe + code base


sont transfrs au site destination
)Le site destination informe le site source de la
migration de l agent

La mobilit
)Le site source efface l ancienne instance
)Le site destination prpare la reprise de la
tche (allocation de ressources et des
rfrences )
)Le site destination dmarre le thread de
l agent

La mobilit
Start
Start live()
live()
yes
yes
State
State == 00
No
No
State
State =1
=1
No
No
State=n
State=n

yes
yes

Perform
Perform bloc
bloc 00
State
State == State
State +1
+1
move(place1)
move(place1)

Place
Place 00

Perform
Perform bloc
bloc 11
State
State == State
State +1
+1
move(place2)
move(place2)

Place
Place 11

Perform
Perform bloc
bloc nn

Place
Place nn

Caractristiques d un systme
d agents mobiles
Communication

)Types de communication
z Agent

mobile/ Application client


z Agent mobile/Agent mobile
z Agent mobile/Serveur (Agent stationnaire)

Application Client

Serveur

Caractristiques d un systme
d agents mobiles
Communication

Agent mobile/Agent mobile

)Communication locale
z Communication

sur un mme site


z Types de communication
z
z
z

Par vnements distribus


Message passing
Appel de mthodes

)Communication distance
z Communication
z

entre agents sur sites distants

Envoi de messages distance, RMI (Remote Method


Invocation)

Caractristiques d un systme
d agents mobiles
Gestion

des ressources

z Contrle

des ressources alloues


z Contrle des ressources consommes

)Ressources
z

de bas niveau
z Cycles CPU, mmoire, disque, rseau
de haut niveau
z Accs base de donnes, services

)Gestionnaire de ressources
z

Limitation daccs aux ressources

Attribution ou ngociation de cot des ressources

Calcul de consommation (facture)

Caractristiques d un systme
d agents mobiles
Tolrance

aux fautes

)Tolrance aux fautes des agents


)Tolrance aux fautes des sites
z Disparition

d un ou plusieurs agents
z Dconnexion imprvue du site qui excute
l'agent
z Dfaillance du site

)Sauvegarde de l'tat des agents et des


serveurs pour restauration

Caractristiques d un systme
d agents mobiles
Les

aspects de base

z Authentification
z Contrle

d'accs
z Intgrit des agents et des htes
z Confidentialit (secret)
Scurit

)Scurit de l hte vis--vis des agents


)Scurit des agents vis--vis des htes
)Scurit des agents entre eux

Caractristiques d un systme
d agents mobiles
Scurit

)Scurit des agents vis--vis des htes ??


z Approche
z

organisationnelle

Confier la gestion des systmes d agents mobiles


des institutions dignes de confiance

Pourquoi Java?
Portabilit

)Bytecode interprt et machine virtuelle


Grande

varit d APIs

)AWT, JDBC, RMI,


)Support rseau, support de scurit
z Java.net.Socket,Java.net.DatagramSocket,

Java.net.URL

Srialisation

d objets
Migration de l industrie software vers Java

La plate-forme Grasshopper
)Dveloppe par IKV++, GmbH
)Dveloppe en Java et les agents doivent l tre
)Compatible MASIF (Mobile Agent System Interoperability
Facility)
z

Interoprabilit entre des plates-formes de constructeurs diffrents


Region
Region
Registry
Registry

Region
Agency
Core Agency

Place

- Communication

Transport
Security
Persistence
Registration
Management

S
M

La plate-forme Grasshopper
Rgion
)Facilite la gestion des diffrents composants
)Permet l enregistrement des agences, des places
et des agents
z

Region Registry

)Une agence et une place sont associes une


seule rgion durant toute leur dure de vie
)Un agent mobile peut passer d une rgion une
autre

Agence
)Reprsente l environnement d excution de
l agent

La plate-forme Grasshopper
Agence

)Place
z Fournit

un regroupement logique de
fonctionnalits dans une agence
z
z

Place de vente de services,


Place par dfaut InformationDesk

)Core Agency

La plate-forme Grasshopper
Agence

)Core Agency
z Reprsente

les fonctionnalits (services)


minimales requises par une agence

)Service de communication
z Responsable

de toutes les interactions


distantes entre les composants Grasshopper
z
z

Communication Inter-agent
Transfert de l agent

z Socket,

SSL

RMI, IIOP, CORBA, Socket-SSL, RMI-

La plate-forme Grasshopper
Core

Agency

)Service d enregistrement
z Enregistrement

des agents et places se trouvant


dans les agences

)Service de gestion
z Le

contrle et le monitoring des agents et des


places par des utilisateurs externes
(administrateurs de la plate-forme)
z

Create, remove, suspend, resume (des agents et des


places)
Avoir des informations sur des agents et des places
spcifiques
Avoir la liste des agents se trouvant sur une place

La plate-forme Grasshopper
Core

Agency

)Service de transport
z Ce

service supporte la migration de l agent


d une agence une autre
(internalisation/externalisation)
z Il prend en charge la coordination avec le
service de communication afin de transfrer
l agent

)Service de scurit
z Scurit
z

externe

Assurer la scurit des interactions distantes entre


les composants de Grasshopper (X.509, SSL)

La plate-forme Grasshopper
Core

Agency

)Service de scurit
z Scurit
z

interne

Assurer la protection des ressources des agences


contre des accs non autoriss
Principalement base sur les mcanismes fournis par
la JDK

)Service de Persistance
z Permet

la sauvegarde des agents et des places


sur un support externe

La plate-forme Grasshopper
)Service de Persistance
z Persistance
z

Elle se fait par configuration par les administrateurs


(l activation aussi)
Si le service de persistance est activ, une place est
persistante ds qu elle est cre

z Persistance
z

implicite

explicite

Sauvegarde priodique de lagent

La plate-forme Grasshopper
Agents

)Agent stationnaire
z Pas

de migration, associ une localisation


spcifique
z Instance de classe drivant de :
z

de.ikv.grasshopper.agent.StationnaryAgent

)Agent Mobile
z Instance
z

de classe drivant de :

de.ikv.grasshopper.agent.MobileAgent

La plate-forme Grasshopper
Quelques

mthodes

z Mthode
z
z

Mthode obligatoire (quivalent run())


Son implmentation fait activer l agent

z Mthode
z

URL

Live()

Move()

Permet de faire migrer un agent

Grasshopper

)<protocol>://<host>:<port>/<agency>/<place>
)Example
socket://137.194.161.35:7000/monAgence/maPlace

Description de quelques
plates-formes
)Aglet - IBM
)Concordia - Mitsubishi
)ARA - Universit de Kaiserlautern
)Odyssey - General Magic
)D'Agents (AgentTcl) - Darmouth College
)Voyager - Obejct Space
)Mole - Universit de Stuttgart
)Grasshopper

Etude comparative- fonctionnalits


Aglet
Mobilit
Support de
mobilit

Faible

Concordia
Faible

Voyager
Faible

Odyssey
Faible

D'Agents
Forte

Sockets TCP
ATP +
Sockets TCP
Rflexion
TCP, X.25 Capture de
Srialisation Srialisation Srialisation Srialisation
l'tat

Message
Message
passing,
passing et vnements
RMI,
distribus
Communication distance
vn.
ATP, RMI
distribus

Tolrance
aux fautes

Agent

Agent

Langage

Java

Java

mcanisme
d'activation
Java

Appel de
mthodes,

meet
RMI, IIOP,
DCOM
Inconnu
Java

Message
passing,
RPC

Inconnu
Tcl, Java,
Scheme

Applications
Service

d'interrogation de fonds de
bibliothques distribus
z Montrer

les avantages d'une approche par


agents mobiles

Provision

de services valeur ajoute


dans un environnement de rseau
mobile
z Projet

Etudes

IST (Europen) MOBIVAS

quantitatives

Applications
Description

du service d interrogation
Serveur

Serveur

Serveur

Service d interrogation
Architecture

)Dfinitions d agents statiques


AM
Client

AM

AS

Serveur

BD

Service d interrogation
)Requtes simples (performance)
)Rponse par E-mail ou sur tlphone portable
(asynchronisme)
)Requtes exhaustives (changement dynamique
d'itinraire)
)Attente de disponibilit (clonage)
Serveur

Serveur

Serveur

Serveur

Serveur

Client

Serveur
Serveur

Serveur

Client

Projet MOBIVAS - Provision de VAS


(Value Added Services)
Architecture

de rseau
V A SP

A ccess
N etwork

V ASP

O perators C ore
N etwork
V A SP
V ASP

A ccess N etw ork


A dded Intelligence

But

VAS
M anager

du projet MOBIVAS

)Dvelopper une plate-forme software distribue


qui supporte la fourniture de VAS

Projet MOBIVAS - Provision de VAS


(Value Added Services)
Utilisation

de la technologie agent mobile

z Pour

l adaptation du service au profil de


l utilisateur - recherche transparente du
profil
z Pour la recherche de la meilleure offre
de service (prix, qualit, etc.)
z Pour un tlchargement flexible et
efficace des services
z

tude de performance

Projet MOBIVAS - Provision de VAS


(Value Added Services)
VASP
Visited
VASM

VASP
VASP

VASP
VASM

SPA
TSA

VASP
VASP

VASP
Visited
VASM

VASP
VASP

Projet MOBIVAS - Provision de VAS


(Value Added Services)

VASM

SPA

VASP
VASP

TSA

)SPA (Service Provider Agent)


)TSA (Terminal Service downloading Agent)
z

L agent transporte toutes les informations concernant le


service recherch

Utilit du TSA si la connexion tombe

Etude quantitative
Comparaison

RMI/AM - 1 Serveur

Etude quantitative
Comparaison

RMI/AM - 6 serveurs

Etude quantitative
Comparaison

des performances des


modles client/serveur et agent mobile
Recherche de document
et compression

AM
Client

AM
Fichier compress

Serveur

Etude quantitative
Rsultats
10000
9000
8000
7000
6000

Client/Serveur

5000

Agent Mobile

4000
3000
2000
1000
0
0

100

200

300

Temps d utilisation de la bande passante

Etude quantitative

Temps (ms)

Rsultats
18000
16000
14000
12000
10000
8000
6000
4000
2000
0

Client/Serveur

Agent Mobile

50

150

250

350

Taille du document (Ko)

Temps total de transfert du document

Conclusion
Les

agents mobiles

)Un nouveau concept trs attractif, mais


certaines rticences
Ce

qui a t fait

)Identification des domaines d application


)Grande activit autour du dveloppement
de plates-formes

Conclusion
Problmes

)Une plate-forme gnrique,


Interoprabilit
)Scurit!
)Performance
)Killer Application!