Está en la página 1de 20

Curso de doctorado:

Agentes Inteligentes
Agentes Mviles
Juan Pavn Mestras
Dep. de Sistemas Informticos y Programacin
http://grasia.fdi.ucm.es
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 2
Estructura
Conceptos y
Ejemplos de
aplicacin
Tecnologa:
Java
Requisitos de
Sistema de
Agentes Mviles
Evaluacin de
sistemas
Arquitectura de
Sistema de
Agentes Mviles
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 3
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 4
Conceptos
Agente Mvil
Entidad
autnoma
proactiva
y reactiva
Capacidad de
migrar por nodos
de una red de
computadores
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 5
Conceptos
Agentes mviles y Agentes inteligentes
Los agentes inteligentes son capaces de ofrecer un
comportamiento inteligente: razonamiento, planificacin,
aprendizaje, etc.
Los agentes mviles (AM) tienen la capacidad de moverse
por distintos nodos de una red (una o ms veces)
Para la comunidad de IA la movilidad no es un atributo de los
agentes
Para la comunidad de AM la movilidad es el atributo principal
Hoy hablaremos de agentes mviles:
perspectiva de sistema distribuido
tratamos los aspectos tactiles: movilidad, persistencia
y (en parte) de sociabilidad: comunicacin y colaboracin
NO vemos los aspectos cognitivos (adaptacin, aprendizaje y
planificacin)
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 6
Conceptos
Agente mvil
Agente que realiza sus tareas no slo en la computadora de
su propietario, sino tambin en otras en la red
buscando informacin en beneficio de su propietario
o negociando y cerrando tratos en su nombre
o utilizando servicios remotos
Un agente mvil tiene capacidad para decidir a qu
servidores moverse
Hay instrucciones explcitas para que el agente pueda parar su
ejecucin, migrar a otro nodo (preservando su estado), y
continuar su ejecucin
Puede moverse a uno o ms servidores
Es una extensin del modelo cliente-servidor
Los clientes envan parte de ellos al servidor (o a varios
servidores) para ejecutarse
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 7
Taxonoma del cdigo mvil
Sistema de
Agentes A
Cdigo
+
Datos
Sistema de
Agentes B
Sistema de
Agentes C
Cdigo
+
Datos
Agentes mviles autnomos
(migracin)
Sistema
local
Cdigo
Sistema
remoto
Evaluacin remota
Sistema
local
Cdigo
Sistema
remoto
Cdigo bajo demanda
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 8
Taxonoma del cdigo mvil
Dependiente de la aplicacin
applet
aplicacin cargada por la red para ejecutar localmente
servlet
agente que es cargado en un lugar remoto donde ser
activado como un servidor
extlet
agente que es cargado en un lugar remoto para extender las
capacidades del receptor
deglet
agente en el que se delega la autoridad para realizar una
tarea determinada (acabada la tarea, desaparece)
netlet
agente en el que se delega la autoridad para realizar una
tarea permanente (esto es, nunca termina)
piglet
agente malicioso que supone riesgo de seguridad
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 9
AM vs. RPC
Paradigmas de programacin distribuida
Arquitecturas cliente-servidor clsicas:
Sockets
RPC, Java RMI
Middleware: DCE, CORBA, DCOM
Programacin remota
Ejecucin remota de trabajos (IBM Remote Job Entry, aos
70)
Telecarga de funciones a bases de datos (funciones a los
datos)
Comparticin de recursos, balance de carga, etc.
Java applets
Agentes m Agentes m viles viles
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 10
AM vs. RPC
Llamada a procedimiento remoto (RPC)
La red pasa cada peticin por separado,
... y devuelve una respuesta por separado
Hay acuerdo en los procedimientos, sus parmetros y tipo de
resultados
Puede ocasionar mucho trfico de red
Entorno del
cliente
Cliente
Entorno del
servidor
Servidor
peticin
respuesta
...
peticin
respuesta
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 11
AM vs. RPC
Programacin remota
La red pasa todo el procedimiento como un Agente
El cliente define el procedimiento (no tiene que acordarse por
adelantado)
La respuesta regresa como un Agente (o como mensaje)
Entorno del
cliente
Cliente
Entorno del
servidor
Servidor
peticin
respuesta
Cliente
cdigo
+
estado
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 12
Agentes mviles: ventajas
Eficiencia
La red lleva menos mensajes
Mejor cuanto ms trabajo se haga en el servidor
Mejor cuanto mayor latencia/inestabilidad de red
Adaptacin al cliente
El cliente puede extender la funcionalidad del servidor
Fcil instalacin
No se requiere instalacin de servidor
No se acuerdan los procedimientos
Instalacin dinmica del procedimiento del cliente en el servidor
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 13
Agentes mviles: ventajas
Ejecucin asncrona de tareas
El agente controla la ejecucin de la tarea
El cliente puede terminar o continuar haciendo otras cosas
Cliente
Servidor
Peticin
Resultado
Peticin
Resultado
Agente
Servidor
Peticin
Resultado
Peticin
Resultado
Cliente
Lanza
Termina
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 14
Agentes mviles: ventajas
Reduccin del trfico en la red
y de la capacidad de cmputo del cliente
Interesante para entornos de bajo ancho de banda y clientes
sencillos
Realiza las interacciones localmente en el sistema objetivo
(servidores potentes)
Recuperacin y filtrado de la informacin en su origen
Slo se devuelven los resultados definitivos
(mediante migracin del agente o usando mensajes/RPC)
Sistema A Sistema B
Cliente
Servidor
Red
Sistema de
Agentes A
Sistema de
Agentes B
Servidor
Red
migra
Cliente Cliente
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 15
Agentes mviles: ventajas
Robusto: reduccin de la dependencia de la
disponibilidad de la red y del cliente/servidor
los Agentes Mviles migrados al sistema servidor no se ven
afectados por los fallos del cliente o de la red
Sistema de
Agentes A
Sistema de
Agentes B
Servidor
Red
Sistema A Sistema B
Cliente
Servidor
Red
Cliente Cliente
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 16
Agentes mviles: ventajas
Automatizacin del proceso de tareas distribuidas
Los Agentes Mviles realizan tareas especficas en lugares
diferentes
Agenda:
Haz esto en B;
Haz eso en C;
Vuelve.
Sistema de
Agentes A
Sistema de
Agentes B
Servidor
Sistema de
Agentes C
Servidor
Haz esto
Haz eso
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 17
Agentes mviles: ventajas
Proceso de tareas local/descentralizado
mayor eficiencia, fiabilidad, seguridad, etc.
Sistema de
Agentes A
Sistema de
Agentes B
Sistema B
Sistema A
Controlador
Sistema C
Cliente
Servidor
Sistema de
Agentes C
Controlador
Controlador
Controlador
Cliente
Servidor
Cliente
Servidor
Cliente
Servidor
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 18
Agentes mviles: ventajas
Sistemas de usuario final flexibles
Dependiendo del sistema del usuario final (PDA, NC, PC,
WS), se pueden cargar los componentes de servicio
apropiados para su uso
Sistemas del cliente
NC PC en red STB WS
Sistema Proveedor del Servicio
Sistema de Agentes
Cliente
Comp.
A
Comp.
B
C
Comp.
A
Comp.
B
Comp.
Sistema de Agentes
Proveedor del Servicio
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 19
Agentes mviles: cuestiones
Seguridad
Autenticacin del usuario
Quin enva el agente mvil?
Autenticacin del servidor o entorno de ejecucin de agentes
No caer el agente en una trampa?
Derechos de ejecucin de agentes de un usuario en un
servidor
Pueden ejecutarse los agentes? Qu funciones pueden realizar?
Capacidad del agente para pagar por los servicios utilizados
Teleclicks (General Magic)
Deteccin de virus
Se puede confiar en el agente?
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 20
Agentes mviles: cuestiones
Control de ejecucin de las tareas
la localizacin y el estado de un agente pueden ser
desconocidos
Gestin de fallos
Quin detecta los fallos?
Eficiencia (el cdigo interpretado suele ser lento)
Heterogeneidad de sistemas de AM
Sobrecarga de la transferencia del cdigo
tiene que compararse con las interacciones
Acceso a servicios existentes (Internet, CORBA, etc.)
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 21
Aplicaciones
Servicios de informacin en Internet
Recuperacin y extraccin de informacin de mltiples lugares
Bsqueda y filtrado de la informacin
Control de cambios
Difusin de informacin
Comercio electrnico
Mercado de servicios electrnico
Negociacin
Equipos mviles y PCs en el hogar
Conexiones intermitentes y bajo ancho de banda
Redes pblicas de telecomunicaciones
Provisin de servicios bajo demanda
Descentralizacin del control y gestin de redes
Procesamiento paralelo
Gestin de procesos (workflow)
Juegos (agentes que representan jugadores)
Personalizacin
de servicios
Flexibilidad de
la distribucin
Delegacin
de tareas
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 22
Aplicaciones: Internet
Ejemplo: Documentos activos
Todos los usuarios tienen un sistema de agentes
A un agente de correo electrnico inteligente se le puede dar un
mensaje(puede ser un documento) y un itinerario
El agente sigue el itinerario, y puede ser modificado en su camino
El autor del mensaje puede recibir comentarios de los otros tres
Algunos usuarios pueden ver comentarios de los anteriores en el itinerario
agente de
correo
(revisin
documento)
Sistema de AM
Juan
Sistema de AM
Director
crea
Sistema de AM
Jefe

Juan Pavn Mestras


Facultad de Informtica UCM, 2005-06
Agentes Mviles 23
Aplicaciones: Telecomunicaciones
Gestin de red
Ejemplo: Descubrir la configuracin de la red
clonar
migrar
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 24
Aplicaciones: Telecomunicaciones
Gestin de red
Ejemplos de gestin de red basada en netlets
Deteccin y correccin de fallos
Control del rendimiento
ERROR
Sistema
de
Operaciones
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 25
Aplicaciones: Tiempo Real
Interaccin tiempo real con servidor
Si la latencia de la red es alta comparada con las
restricciones de tiempo real de un equipo externo
Caso extremo: aplicaciones espaciales
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 26
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 27
Requisitos plataforma AM
Requisitos del modelo de agentes:
Todo agente software est definido por:
Modelo de ciclo de vida
Modelo computacional
Modelo de seguridad
Modelo de comunicacin
y los agentes mviles aaden:
Modelo de navegacin
Requisitos genricos
Rendimiento y eficiencia
Portabilidad
Abierto
Integracin y soporte de sistemas propietarios
Escalabilidad
Mantenibilidad
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 28
Modelo de Agentes Mviles
Modelo de ciclo de vida
Describe los servicios de gestin de agentes:
Servicios de factora:
Creacin, iniciacin, suspensin, arranque, parada,
eliminacin de agentes
Define 2 tipos de agentes:
Agentes persistentes
Pueden salvar su contexto de ejecucin, de forma que
pueden re-iniciarse ms tarde (posiblemente en otro
lugar)
Agentes basados en tareas
Se reinician desde el mismo punto en cada ocasin y
lugar
No guardan el contexto
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 29
Modelo de Agentes Mviles
Modelo de ciclo de vida
Inicializacin
Arrancando Parando
Acabando
concluir
arrancar
arrancar
parar
iniciar
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 30
Modelo de Agentes Mviles
Modelo computacional
Describe las capacidades de computacin de los agentes:
Cmo se ejecutan los agentes?
Como procesos separados, como hilos de ejecucin, etc.
Primitivas que pueden afectar la ejecucin del agente
Creacin, control de ejecucin, eliminacin de agentes
Parar, migrar y continuar el agente
Manipulacin de datos
Plataforma de sistema de agentes
Dominios
Nombrado, direccionamiento, localizacin
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 31
Modelo de Agentes Mviles
Sistema Operativo
Infraestructura
de comunicaciones
Sistema de Agentes
Lugar Lugar
Agentes Agentes
Elementos bsicos
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 32
Modelo de Agentes Mviles
Modelo de seguridad
En dos sentidos:
Cmo pueden acceder los agentes a los recursos de la red
Cmo se puede acceder a los agentes
Problemas de seguridad:
Agente = Virus? Plataforma segura? Comunicaciones
seguras?
Adquisicin o alteracin no autorizada de datos
Uso no autorizado de recursos
Ataque malicioso a datos o recursos (o a otros agentes)
Duplicacin de agentes
Confidencialidad
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 33
Modelo de Agentes Mviles
Modelo de seguridad
Autenticacin entre sistemas de agentes
Autenticacin mutua de los sistemas origen y destino
Autenticacin de agentes
Mediante autenticadores
Un autenticador es un algoritmo que determina la autenticidad
de un agente
Los autenticadores tienen tipos que estn registrados con una
autoridad de nombres
Pueden ser vlidos para un salto o para mltiples saltos
Soporte de la infraestructura de comunicaciones
Autenticar la autoridad del agente
Criptografiado en la transmisin de los agentes
Proteccin contra inundacin
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 34
Modelo de Agentes Mviles
Modelo de comunicacin y colaboracin
Entre agentes
lenguajes de comunicacin entre agentes:
Especficos de agentes
- Knowledge Query Manipulation Language (KQML)
- FIPA ACL
RPC, CORBA
distintos tipos de comunicacin:
Punto a punto
Difusin
Punto a multipunto
Pizarra compartida
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 35
Modelo de Agentes Mviles
Modelo de comunicacin y colaboracin
Entre agentes y otras entidades
Con los usuarios
usuarios finales
gestor del sistema de agentes
Con recursos locales al sistema visitado
a travs de agentes/servicios del sistema de agentes local
Con la plataforma de ejecucin de agentes
a travs de agentes/servicios del sistema de agentes local
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 36
Modelo de Agentes Mviles
Modelo de navegacin
Transporte de un agente (con o sin estado) entre dos
entidades computacionales residentes en distintos
lugares:
Servicios y protocolos de transferencia de agentes
Itinerario de un agente mvil
Cmo se especifica el itinerario
Puede modificarse el itinerario
Seguimiento del agente
Servicio de localizacin
Rastro del agente
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 37
Sistema de Agentes Mviles
Funciones
Entorno seguro para operaciones de agente
Permitir que varios agentes puedan coexistir y ejecutarse
simultneamente
Prevenir que los agentes interfieran unos con otros
Transferencia de agentes
negociar el intercambio de agentes
detener un agente y transferirlo a otro sistema de agentes
recibir un agente transferido por otro sistema de agentes y
continuar su ejecucin
Creacin de agentes
Proporcionar nombres de agentes nicos
Localizar los agentes mviles
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 38
Sistema de Agentes Mviles
Capacidades del sistema de agentes bsico
Exportacin
Importacin
Almacenamiento
Seguridad
Execution
Comunicacin
Directorio Gestin
Execution
Ejecucin
Sistema
de Agentes A
Sistema de
Agentes B
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 39
Sistema de Agentes Mviles
Caracterizacin de un agente mvil
Nombre
Autoridad + Identidad + Tipo de sistema de agente
Globalmente nico e inmutable
Estado
Valores que determinan qu hacer cuando la ejecucin del
agente contine en el sistema de agentes destino
Localizacin
Direccin del lugar (y sistema de agentes) donde reside el
agente
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 40
Sistema de Agentes Mviles
Lenguajes para programar agentes mviles
Java
La mayora de los sistemas
TCL
DAgents, SMIA
C/C++
Omniware
Otros
Telescript
Lisp, Scheme, propietarios, etc.
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 41
Java
Java facilita la realizacin de Agentes Mviles
Movilidad de cdigo
Applets, Servlets, Jini
Mquina virtual Java disponible en casi todo HW/S.O.
Facilidades de comunicacin de Java
sockets, datagramas , Java RMI
serializacin de objetos
Internet: ftp, http, URL
Seguridad
Verificador de bytecode, Java Security, Java Card
Java chips
permitir la utilizacin de agentes mviles en sistemas
empotrados
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 42
Java
Seguridad en distintos niveles:
Seguridad de bajo nivel
Diseo del lenguaje (eliminacin de punteros)
Comprobaciones en tiempo de compilacin (uso de tipos,
violacin de acceso, desbordamientos de pila,etc.)
Verificacin de bytecode al cargar y durante ejecucin (lmites de
arrays, etc.)
Seguridad de alto nivel configurable
La aplicacin instancia un gestor de seguridad de los archivos de
clase locales
Cuidado: un posible atacante podra intentar cambiar las clases del
sistema
El cargador de clases obliga a la separacin del espacio de
nombres
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 43
Java
Seguridad
Clases java
(.java)
Clases java
(.java)
bytecodes
(.class)
javac
bytecode
externo
Verificador
bytecode
empotrado
+ JDK
Cargador
de clases
Cargador
de sistema
de ficheros
Gestor de
Seguridad
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 44
Java
RED
Security Sandbox
Clases .class
Clases firmadas
archivos .jar
Clases locales
archivos .jar .zip
.class
Las clases cargadas desde la red tienen
restricciones:
* No pueden acceder al sistema local de archivos
* Acceso de red slo al nodo de origen
* No pueden acceder a las propiedades del sistema
* No pueden acceder a cdigo nativo
Las clases firmadas pueden tener algunas
restricciones eliminadas
Las clases cargadas localmente (biblioteca
estndar) no tienen restricciones
Seguridad
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 45
Java
Serializacin
Clases Objetos
0111010101110
Serializar
Archivo
o Stream
0111010101110
Deserializar
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 46
Implementacin de AM con Java
Arquitectura bsica
Mquina Virtual Java
Sistema de Agentes
Agente
residente
Visitante
Lugar Lugar encuentro
MVJ
Sistema de Agentes
Lugar
Java RMI
Interfaz
del agente
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 47
Implementacin de AM con Java
Clase Agente Mvil
Toda clase que implemente un agente mvil debe heredar de
una clase genrica MobileAgent, que ofrece los siguientes
mtodos (ciclo de vida) que pueden redefinirse:
inicializar()
se llama una sola vez, al crear el agente
arrancar()
se llama cada vez que se arranca el agente (por ejemplo, al llegar a un
lugar)
parar()
se lama cada vez que se va a transferir, almacenar, o antes de eliminarlo
concluir()
se llama slo una vez, cuando el agente se destruye
Asimismo, un Agente Mvil tiene una identidad, que puede
implementarse como una clase AgentIdentity
y ofrece un objeto AgentInterface para comunicarse con otros
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 48
Implementacin de AM con Java
Sistema de agentes
Ofrecer una interfaz remota con mtodos para transferir
agentes:
import java.rmi.Remote;
import java.rmi.RemoteException;
interface SistemaAgentes extends Remote {
public boolean permisoTransferencia (AgentIdentity agentid,
SistemaAgentes servidor) throws ...;
public void empiezaTransferencia (AgentIdentity agentid) throws ...;
public void finTransferencia (AgentIdentity agentid) throws ...;
public void transferenciaArchivoRecursos (AgentIdentity agentid)
throws ...;
public void transferenciaArchivoDatos (AgentIdentity agentid) throws ...;
}
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 49
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 50
Evolucin de Agentes Mviles
La idea bsica de AM (cdigo mvil/programacin remota)
no es nueva:
Remote Job Entry (aos 70)
Enviar funciones a los datos (bases de datos)
Comparticin de recursos, reparto de carga
Las tecnologas actuales son de finales de los 90
Telescript de General Magic
Agent Tcl (ahora DAgents) del Darmouth College
Java de SUN (como tecnologa de soporte)
Aglets, Voyager, Concordia, Mole, CyberAgents, ...
Los distintos sistemas de AM difieren en capacidades,
arquitectura e implementacin: Hace falta una normativa
de interoperacin:
La estandarizacin comenz a finales de 1996
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 51
Sistemas de AM comerciales
General Magic: Telescript y Odyssey
http://www.genmagic.com/agents
IBM: Aglets
http://www.trl.ibm.co.jp/aglets
Mitsubishi Electric: Concordia
http://www.meitca.com/HSL/Projects/Concordia
ObjectSpace: Voyager
http://www.objectspace.com/Voyager
IKV++: Grasshopper
http://www.ikv.de
Oracle: Mobile Agents
http://www.oracle.com/products/networking/mobile_agents.html
Ad Astra Engineering: Jumping Beans
http://www.jumpingbeans.com
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 52
Sistemas de AM acadmicos
DAgents
NOMADS
KAoS
Agents for Remote Action (ARA)
Mole
Sumatra
...
Una lista ms extensa en
www.informatik.uni-stuttgart.de/ipvr/vs/projekte/mole/mal/mal.html
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 53
Telescript y Odyssey
General Magic
Telescript: primer sistema comercial de AM
Propuesta de patente por General Magic en 1993 (aprobada en 1997)
Tabriz
MagicCap
Odyssey:
implementacin basada en Java
soporta Java RMI, CORBA IIOP, y DCOM
Principal aplicacin: mercado electrnico
Primera aplicacin Telescript: sistema de comunicaciones (e-mail,
fax, telfono, etc.) personal de AT&T y America Online (usando el
PDA Magic Link de Sony)
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 54
Telescript y Odyssey
Modelo de agentes mviles
Aplicacin
de compra
Centro comercial electrnico
RED
Lugar
directorio
Lugar
billetes
Lugar
Floristera
Agentes
Reunin Viaje
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 55
Telescript
Componentes
Lugares
donde los agentes pueden estar, trabajar y proporcionar
servicios a otros agentes
Tanto clientes como servidores pueden ofrecer lugares
Desaparece la distincin entre cliente y servidor
Agentes
mviles o estacionarios
independientes, se ejecutan concurrentemente
Viajes
instruccin go para moverse de un lugar a otro en medio de su
ejecucin
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 56
Telescript
Componentes (cont.)
Reuniones
si estn en el mismo lugar, dos agentes pueden comunicarse
invocando procedimientos uno del otro
instruccin meet
Conexiones
los agentes se pueden conectar si estn en distintos lugares
Autoridades
permiten identificar de quin es y de dnde viene un agente
un lugar puede denegar la entrada a un agente que no est
autorizado
Permisos
las autoridades limitan lo que pueden hacer agentes y lugares
dndoles permisos
Execute: un agente puede tener permiso para crear otro agente
Use: un agente puede tener permiso para usar algn recurso
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 57
Telescript
Lenguaje de programacin de agentes
Para escribir agentes y las superficies de los lugares que
visitan
Completo
Orientado a objetos
clase base Agent
Dinmico: al moverse un agente, puede que tenga que moverse
con l su definicin de clase
Persistencia
Portable: mquina virtual (Engine)
Seguro: control de acceso a recursos
Centrado en las comunicaciones: go, meet, communicate
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 58
Telescript
Engine
Ejecuta o interpreta los agentes
Ofrece un API para acceder a:
Transporte
Almacenamiento
Aplicaciones externas
Transporte
Aplicaciones
externas
Almacenamiento
Engine
Agentes
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 59
Telescript
Protocolos
Gestionan la comunicacin entre Engines
Permiten transportar agentes
Pueden ejecutarse sobre varios protocolos (p.ej. TCP/IP)
Ofrecen servicios de autenticacin y seguridad
Transporte
Aplicaciones
externas
Almacenamiento
Agentes
Engine
Codificacin
de agentes
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 60
Odyssey
Disponible en Windows y Unix, sobre JDK 1.1 (100% pure
Java)
Soporta varios protocolos para transportar agentes:
Java RMI, CORBA IIOP, DCOM
Acceso a objetos remotos con CORBA y bases de datos
relacionales con JDBC
Mecanismo de depuracin de agentes distribuidos (audit
trail)
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 61
Aglets
Aglets Workbench
http://sourceforge.net/projects/aglets/
Desarrollado por IBM Tokyo Research Labs (1996-2002)
aglet = agent + applet
Armazn (framework) basado en Java para construir
aplicaciones distribuidas usando el paradigma de AM
+
Herramientas:
Servidor de aglets: Tahiti
Constructor visual de aglets: Tazza
Lanzador de aglets para la WWW: Fiji
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 62
Aglets
Arquitectura
Transporte Java Runtime Almacenamiento
Mquina Virtual Java
Demonio Aglet + ATP
Aglet Context
Aglet Proxy
Aglet
Aglet Proxy
Aglet
Aglet Context
Aglet Proxy
Aglet
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 63
Aglets
agletsd
El demonio de aglets (agletsd) se puede ejecutar como
Applet o como aplicacin
Arranca el servidor de aglets Tahiti
Proporciona una interfaz grfica de gestin del servidor
Transporte Java Runtime Almacenamiento
Mquina Virtual Java
Demonio Aglet + ATP
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 64
Aglets
Ciclo de vida
Creacin
onCreation()
onDisposal()
Movilidad
onArrival()
onDispatching()
onReverting()
Clone
onClone()
Persistencia
Created
Dispatched Arrived
Disposed
Start
End
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 65
Aglets
Ejemplo(modificado del JAAPI WhitePaper)
import aglet.*;
import java.net.URL;
public class EjemploAglet extends Aglet {
private boolean remoto_ = false;
private String donde() {
return EjemploAglet+(remoto_ ? (remoto) : (origen));
}
public boolean onDispatching(URL url) {
System.out.println(en Dispatching+donde());
}
public boolean onArrival() {
remoto_ = true; // el lugar donde llega el aglet es remoto
System.out.println(en Arrival+donde());
}
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 66
Aglets
Ejemplo (continuacin)
public void run() {
if (!remoto_) {
System.out.println(Arrancando+donde());
System.out.println(Dispatching EjemploAglet...);
try {
String servidor=getAgletContext().getHostingURL().toString();
URL destino=
new URL((String)getAgletContext().getProperty(destino);
dispatch(destino);
System.out.println(Esto no debera verse);
}
catch (Exception e) { /* tratamiento */ }
}
else {
System.out.println(Arrancando +donde());
// ...
}
}
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 67
Aglets: movilidad dbil
Los aglets proporcionan movilidad dbil
Movilidad fuerte sera lo siguiente:
public class Example extends MobileAgent
{
public static void main (String[] args)
{
System.out.println (En origen);
go (destino);
System.out.println (En destino);
}
}
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 68
NOMADS
Implementacin de movilidad fuerte
Reimplementa la MV de Java: AROMA VM
Compatible JDK 1.2.2 (sin AWT/Swing)
Permite capturar el estado del sistema, para recuperarlo
posteriormente en otra MV
De toda la MV (todos los threads, clases y objetos): 1,5 MB
aprox.
De un thread (su pila y los objetos alcanzables): 4 KB aprox.
Tambin controla el uso de recursos
Uso de CPU, acceso a disco y red
Control de agentes maliciosos (que gastan demasiado)
Priorizacin de agentes (ms prioridad, ms recursos)
Contabilidad: facturacin
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 69
Agents TCL
Sistema de AM desarrollado en el Darmouth College
http://agent.cs.dartmouth.edu/
Ahora denominado : DAgents
Caractersticas:
Arquitectura en capas que soporta:
Varios lenguajes: Tcl, Java, Scheme
Varios mecanismos de transporte (el principal es TCP/IP)
Migracin de agentes incluyendo un sistema de atraque
(docking)
Comunicacin de agentes
Paso de mensajes y flujos (streams)
RPC
Seguridad
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 70
Agents TCL
Arquitectura
TCP/IP e-mail
Servidor
Tcl Java Scheme
Servidor de
Nombres
Agentes
Sistema de
atraque
Monitor de
red
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 71
Agents TCL
Sistema de atraque (Docking system)
Red de conectividad
permanente
Mquina 3
Mquina 2
Mquina 1
Porttil 1
Porttil 3
Porttil 2
muelle_porttil1
muelle_porttil2
muelle_porttil3
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 72
Agents TCL
Sistema de atraque (Docking system)
M3
M1 P1
muelle_P1
Cola de agentes
esperando a saltar a M1
Cola de agentes
esperando a saltar a P1
1. agent_jump~P1
2. transfiere agente
4. detecta reconexin
3. atraca el agente
5. notifica conexin
6. transferencia de
agentes en espera
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 73
Estandarizacin
OMG MASIF (Mobile Agent System Interoperability
Facilities)
Interoperabilidad de sistemas de agentes
Define interfaces IDL para mover agentes entre plataformas
FIPA (Foundation for Intelligent Physical Agents)
Especificaciones de mecanismos y aplicaciones
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 74
Grasshopper
Grasshopper-2, IKV++
Plataforma de agentes mviles compatible con OMG
MASIF
Servicios de comunicacin
Mltiples protocolos: Java RMI, sockets, SSL, CORBA
Varios modos de comunicacin: sncrono, asncrono,
multicast
Gestin de la plataforma
A travs de una interfaz grfica: consola de Agencia y
consola de Registro
Actualmente est descatalogado y no est disponible al
pblico
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 75
Grasshopper
Region
Agency
Place
MA
MA
MA
SA
Core Agency Communication
Management
MAF
Agent System
Persistence
Registration
Security
Transport
Region Registry
MAF
Agent System
Management
Communication
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 76
Conclusiones
Los AM ofrecen
un marco abierto para la implantacin y personalizacin de
servicios en red
siguiendo un modelo antropomrfico (fcil de modelar)
capacidad de desarrollar nuevos servicios (luego nuevas
posibilidades de negocios en la red)
comercio electrnico integral
Potencian al usuario individual
especialmente en entornos como Internet
el usuario gana en capacidad de cmputo, automatizacin de
tareas distribuidas (por ejemplo, bsqueda y filtrado de
informacin), menor dependencia del acceso a la red
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 77
Conclusiones
La tecnologa de AM es viable
Java es lo ms estndar para realizar plataformas de AM
Los aspectos de seguridad pueden apoyarse en las facilidades de
Java (verificacin de bytecode, Java Security, Java Card)
Grupos de normalizacin (OMG, FIPA) han abordado el problema de
la heterogeneidad de plataformas
El gran problema es la implantacin de platformas de soporte de
agentes mviles en internet
Adems, la mayor parte de las aplicaciones que se pueden
realizar con agentes mviles tambin se pueden realizar con
middleware cliente-servidor, que es una solucin ms probada,
sencilla, y extendida
Su aplicacin hoy da parece concretarse en dominios concretos
Redes ad-hoc
Redes activas
Documentos activos
Juan Pavn Mestras
Facultad de Informtica UCM, 2005-06
Agentes Mviles 78
Enlaces
Cetus Links
http://www.cetus-links.org/oo_mobile_agents.html
Lista de plataformas de agentes mviles
http://mole.informatik.uni-stuttgart.de/mal/preview/preview.html
Conferencia MATA (Mobile Aware Technologies and Applications)
http://www.informatik.uni-trier.de/~ley/db/conf/mata/index.html

También podría gustarte