Está en la página 1de 20

Estructura

Curso de doctorado:

Agentes Inteligentes

Conceptos y Ejemplos de aplicacin Requisitos de


Sistema de Agentes Mviles

Tecnologa: Java

Agentes Mviles
Juan Pavn Mestras Dep. de Sistemas Informticos y Programacin

Arquitectura de
Sistema de Agentes Mviles

http://grasia.fdi.ucm.es

Evaluacin de sistemas
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

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

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

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

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

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

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

Taxonoma del cdigo mvil


Cdigo

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

Cdigo bajo demanda

Sistema local

Sistema remoto

Cdigo
Sistema local Sistema remoto

Evaluacin remota
Cdigo + Datos Cdigo + Datos

Agentes mviles autnomos (migracin)


Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Sistema de Agentes A

Sistema de Agentes B

Sistema de Agentes C

Agentes Mviles

Agentes Mviles

AM vs. RPC Paradigmas de programacin distribuida


Arquitecturas cliente-servidor clsicas:
Sockets RPC, Java RMI Middleware: DCE, CORBA, DCOM

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

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 mviles
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Entorno del cliente peticin respuesta

Entorno del servidor

Cliente

...

peticin respuesta

Servidor

Agentes Mviles

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

10

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)

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
Entorno del servidor

Entorno del 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 peticin respuesta

Cliente

cdigo + estado

Servidor

Cliente
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06 Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

11

Agentes Mviles

12

Agentes mviles: ventajas


Ejecucin asncrona de tareas
El agente controla la ejecucin de la tarea El cliente puede terminar o continuar haciendo otras cosas

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)

Cliente
Peticin Resultado

Servidor

Cliente
Lanza

Agente
Peticin

Servidor

Termina Peticin Resultado

Resultado
Cliente

migra
Servidor Servidor Cliente Cliente

Peticin Resultado
Sistema A

Red

Sistema B

Sistema de Agentes A

Red

Sistema de Agentes B

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

13

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

14

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

Agentes mviles: ventajas


Automatizacin del proceso de tareas distribuidas
Los Agentes Mviles realizan tareas especficas en lugares diferentes

Haz esto
Agenda: Haz esto en B; Haz eso en C; Vuelve. Sistema de Agentes A Servidor Sistema de Agentes B

Cliente

Servidor Cliente Cliente

Servidor

Sistema A

Red

Sistema B

Sistema de Agentes A

Red

Sistema de Agentes B

Haz eso
Servidor Sistema de Agentes C

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

15

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

16

Agentes mviles: ventajas


Proceso de tareas local/descentralizado
mayor eficiencia, fiabilidad, seguridad, etc.

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
Controlador

Sistemas del cliente


Cliente Servidor

Controlador

Cliente Servidor Sistema B

Controlador

Sistema de Agentes Cliente


A Comp. B Comp.

STB

NC

PC en red

WS

Sistema de Agentes B Sistema de Agentes A Controlador Cliente Servidor Sistema de Agentes C A

Sistema A Cliente Servidor Sistema C

B Comp.

C Comp.

Comp.

Sistema de Agentes Proveedor del Servicio


17
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Sistema Proveedor del Servicio

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

Agentes Mviles

18

Agentes mviles: cuestiones


Seguridad
Autenticacin del usuario
Quin enva el agente mvil?

Agentes mviles: cuestiones


Control de ejecucin de las tareas
la localizacin y el estado de un agente pueden ser desconocidos

Autenticacin del servidor o entorno de ejecucin de agentes


No caer el agente en una trampa?

Gestin de fallos
Quin detecta los fallos?

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)

Eficiencia (el cdigo interpretado suele ser lento) Heterogeneidad de sistemas de AM Sobrecarga de la transferencia del cdigo
tiene que compararse con las interacciones

Deteccin de virus
Se puede confiar en el agente?

Acceso a servicios existentes (Internet, CORBA, etc.)

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

19

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

20

Aplicaciones
Servicios de informacin en Internet
Recuperacin y extraccin de informacin de mltiples lugares Bsqueda y filtrado de la informacin Control de cambios Personalizacin Difusin de informacin

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

Comercio electrnico
Mercado de servicios electrnico Negociacin

de servicios

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

Flexibilidad de la distribucin

agente de correo (revisin documento)

Procesamiento paralelo Gestin de procesos (workflow) Juegos (agentes que representan jugadores)
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06 Agentes Mviles

crea Delegacin de tareas


21

Sistema de AM Juan

Sistema de AM Jefe
Agentes Mviles

Sistema de AM Director
22

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Aplicaciones: Telecomunicaciones
Gestin de red
Ejemplo: Descubrir la configuracin de la red

Aplicaciones: Telecomunicaciones
Gestin de red
Ejemplos de gestin de red basada en netlets
Deteccin y correccin de fallos Control del rendimiento

migrar

Sistema de Operaciones

ERROR

clonar

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

23

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

24

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

25

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

26

Requisitos plataforma AM
Requisitos del modelo de agentes:
Todo agente software est definido por:
Modelo Modelo Modelo Modelo de ciclo de vida computacional de seguridad de comunicacin

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

y los agentes mviles aaden:


Modelo de navegacin

Requisitos genricos
Rendimiento y eficiencia Portabilidad Abierto Integracin y soporte de sistemas propietarios Escalabilidad Mantenibilidad

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

27

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

28

Modelo de Agentes Mviles Modelo de ciclo de vida


iniciar Inicializacin arrancar Arrancando Parando concluir arrancar Acabando parar

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

29

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

30

Modelo de Agentes Mviles Elementos bsicos Agentes Agentes

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:

Lugar

Lugar

Agente = Virus? seguras?

Plataforma segura?

Comunicaciones

Sistema de Agentes
Infraestructura de comunicaciones

Sistema Operativo
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06 Agentes Mviles

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

31

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

32

Modelo de Agentes Mviles Modelo de seguridad


Autenticacin entre sistemas de agentes
Autenticacin mutua de los sistemas origen y destino

Modelo de Agentes Mviles Modelo de comunicacin y colaboracin


Entre agentes
lenguajes de comunicacin entre agentes:
Especficos de agentes
- Knowledge Query Manipulation Language (KQML)

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

- FIPA ACL

RPC, CORBA

distintos tipos de comunicacin:


Punto a punto Difusin Punto a multipunto Pizarra compartida

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

33

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

34

Modelo de Agentes Mviles Modelo de comunicacin y colaboracin


Entre agentes y otras entidades
Con los usuarios
usuarios finales gestor del sistema de agentes

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

Con recursos locales al sistema visitado


a travs de agentes/servicios del sistema de agentes local

Itinerario de un agente mvil


Cmo se especifica el itinerario Puede modificarse el itinerario Seguimiento del agente
Servicio de localizacin Rastro del agente

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

35

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

36

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

Sistema de Agentes Mviles Capacidades del sistema de agentes bsico

Sistema de Agentes A

Sistema de Agentes B

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
Seguridad Importacin Directorio Execution Execution Ejecucin Gestin Exportacin

Creacin de agentes
Proporcionar nombres de agentes nicos

Localizar los agentes mviles


Juan Pavn Mestras Facultad de Informtica UCM, 2005-06 Agentes Mviles

Almacenamiento

Comunicacin

37

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

38

Sistema de Agentes Mviles Caracterizacin de un agente mvil


Nombre
Autoridad + Identidad + Tipo de sistema de agente Globalmente nico e inmutable

Sistema de Agentes Mviles Lenguajes para programar agentes mviles


Java
La mayora de los sistemas

TCL
DAgents, SMIA

Estado
Valores que determinan qu hacer cuando la ejecucin del agente contine en el sistema de agentes destino

C/C++
Omniware

Otros Localizacin
Direccin del lugar (y sistema de agentes) donde reside el agente Telescript Lisp, Scheme, propietarios, etc.

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

39

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

40

Java
Java facilita la realizacin de Agentes Mviles
Movilidad de cdigo
Applets, Servlets, Jini Mquina virtual Java disponible en casi todo HW/S.O.

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.)

Facilidades de comunicacin de Java


sockets, datagramas , Java RMI serializacin de objetos Internet: ftp, http, URL

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

Seguridad
Verificador de bytecode, Java Security, Java Card

Java chips
permitir la utilizacin de agentes mviles en sistemas empotrados

El cargador de clases obliga a la separacin del espacio de nombres

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

41

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

42

Java Seguridad
Clases Clasesjava java (.java) (.java)
bytecode externo

Java Seguridad
RED Clases .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

javac

Security Sandbox
Verificador Cargador de clases Gestor de Seguridad

bytecodes (.class)

Clases firmadas
archivos .jar

Las clases firmadas pueden tener algunas restricciones eliminadas

bytecode empotrado + JDK


Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Cargador de sistema de ficheros


Agentes Mviles

Clases locales
archivos .jar .zip .class
43
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Las clases cargadas localmente (biblioteca estndar) no tienen restricciones

Agentes Mviles

44

Java Serializacin

Implementacin de AM con Java Arquitectura bsica


Interfaz del agente

Serializar
0111010101110

Agente residente Visitante

Clases

Objetos

Archivo o Stream

Lugar

Lugar encuentro

Lugar

Sistema de Agentes Mquina Virtual Java

Java RMI

Sistema de Agentes

MVJ

0111010101110

Deserializar

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

45

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

46

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

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 ...; }

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

47

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

48

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 Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

49

Agentes Mviles

50

Sistemas de AM comerciales
General Magic: Telescript y Odyssey
http://www.genmagic.com/agents

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

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

51

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

52

Telescript y Odyssey
General Magic
Telescript: primer sistema comercial de AM
Propuesta de patente por General Magic en 1993 (aprobada en 1997)

Telescript y Odyssey Modelo de agentes mviles

Tabriz MagicCap

Odyssey:
implementacin basada en Java soporta Java RMI, CORBA IIOP, y DCOM

Viaje RED
Lugar directorio Aplicacin de compra

Reunin

Agentes

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)

Lugar billetes

Lugar Floristera

Centro comercial electrnico

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

53

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

54

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

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

Agentes
mviles o estacionarios independientes, se ejecutan concurrentemente

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

Viajes
instruccin go para moverse de un lugar a otro en medio de su ejecucin

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

55

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

56

Telescript
Lenguaje de programacin de agentes
Para escribir agentes y las superficies de los lugares que visitan
Completo Orientado a objetos
clase base Agent

Telescript Engine
Ejecuta o interpreta los agentes Ofrece un API para acceder a:
Transporte Almacenamiento Aplicaciones externas

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

Agentes Engine
Transporte Aplicaciones externas
Agentes Mviles

Almacenamiento
58

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

57

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

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

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)

Agentes
Codificacin de agentes Transporte
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Engine
Aplicaciones externas
Agentes Mviles

Almacenamiento
59
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06 Agentes Mviles

60

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

Aglets Arquitectura

Aglet

Aglet

Aglet Aglet Proxy Aglet Context

Aglet Proxy Aglet Proxy Aglet Context

Demonio Aglet + ATP Mquina Virtual Java Transporte


Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Java Runtime

Almacenamiento

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

61

Agentes Mviles

62

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

Aglets
Ciclo de vida
Creacin
onCreation() onDisposal()

Start

Movilidad
onArrival() onDispatching() onReverting()

Created

Clone

Demonio Aglet + ATP Mquina Virtual Java Transporte


Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

onClone()

Persistencia

Dispatched

Arrived

Java Runtime

Almacenamiento
63
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06 Agentes Mviles

Disposed

End
64

Agentes Mviles

Aglets

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

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()); // ... } }
65
Juan Pavn Mestras Facultad de Informtica UCM, 2005-06 Agentes Mviles

66

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); } }

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

67

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

68

Agents TCL
Sistema de AM desarrollado en el Darmouth College http://agent.cs.dartmouth.edu/
Ahora denominado :

Agents TCL Arquitectura

DAgents Servidor de Nombres Tcl Sistema de atraque Monitor de red Java Servidor TCP/IP e-mail Agentes Scheme

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

69

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

70

Agents TCL Sistema de atraque (Docking system)

Agents TCL Sistema de atraque (Docking system)

Mquina 3

4. detecta reconexin

1. agent_jump~P1 2. transfiere agente

Porttil 1

Red de conectividad permanente


Mquina 1 muelle_porttil1 muelle_porttil2 P1 Mquina 2 muelle_porttil3 Porttil 3

5. notifica conexin 6. transferencia de agentes en espera

M1 muelle_P1

M3 3. atraca el agente

Porttil 2

Cola de agentes esperando a saltar a M1

Cola de agentes esperando a saltar a P1

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

71

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

72

Estandarizacin

Grasshopper Grasshopper-2, IKV++

OMG MASIF (Mobile Agent System Interoperability Facilities)


Interoperabilidad de sistemas de agentes Define interfaces IDL para mover agentes entre plataformas

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

FIPA (Foundation for Intelligent Physical Agents)


Especificaciones de mecanismos y aplicaciones

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

73

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

74

Grasshopper
Region
Region Registry MAF Agent System Management Communication

Conclusiones
Los AM ofrecen
un marco abierto para la implantacin y personalizacin de servicios en red
siguiendo un modelo antropomrfico (fcil de modelar)

Agency Core Agency Communication Place Management Persistence


MA MA

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
MA

Registration MAF Agent System Security


SA

Transport

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

75

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

76

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

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

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

77

Juan Pavn Mestras Facultad de Informtica UCM, 2005-06

Agentes Mviles

78

También podría gustarte