Comunicadores
5º curso: Ingeniería Informática
Pedro Cuesta Morales
Área de Linguaxes e Sistemas Informáticos
Departamento de Informática
Escola Superior de Enxeñería Informática
Universidade de Vigo
Tema 5: Agentes móviles
1.
2.
3.
4.
5.
6.
Introducción
Ventajas
Aplicaciones
Sistemas de Agentes móviles
Implementación en Java
Herramientas
1
1. Introducción9 Son aplicaciones software capaces de moverse por los distintos
nodos de una red, como Internet, (una o más veces)
interactuando con servidores extraños, recopilando información
en nombre de su propietario y retornando una vez ejecutadas el
conjunto de obligaciones.
9 La movilidad no es una condición necesaria ni suficiente para
definir un agente
9 Perspectiva IA Æ movilidad es unacaracterística adicional que
pueden tener los agentes (no es un atributo propio)
9 Perspectiva AM Æ movilidad es el atributo principal
Agente
Entidad autónoma, reactiva, proactiva y social
Agente Móvil
Capacidad de migrar por nodos de una red
1. Introducción
9 Agente móvil realiza sus tareas no sólo en la
computadora de su propietario, sino también en otras
en la red, para:
• Buscarinformación en beneficio de su propietario
• Negociar y cerrar tratos en su nombre
• Utilizar servicios remotos
9 Un agente móvil tiene capacidad para decidir a qué
servidores moverse
• Hay instrucciones explícitas para que el agente
pueda parar su ejecución, migrar a otro nodo y
continuar su ejecución
9 Puede moverse a uno o más servidores
9 Es una extensión del modelo cliente-servidor• Los clientes envían parte de ellos al servidor (o a
varios servidores) para ejecutarse
2
Taxonomía del código móvil
Código
Código bajo demanda
Sistema
remoto
Sistema
local
Código
Sistema
local
Sistema
remoto
Evaluación remota
Código
+
Estado
Agentes móviles autónomos
(migración)
Sistema de
Agentes A
Código
+
Estado
Sistema de
Agentes B
Sistemade
Agentes C
Paradigmas de programación distribuida
9Arquitecturas cliente-servidor
clásicas:
• Sockets
• RPC, Java RMI
• Middleware: DCE, CORBA, DCOM
9Programación remota
• Agentes móviles
3
Llamada a procedimiento remoto (RPC)
9 La red pasa cada petición por separado,
... y devuelve una respuesta por separado
9 Hay acuerdo en los procedimientos, sus parámetros y
tipo deresultados
9 Puede ocasionar mucho tráfico de red
Entorno del
servidor
Entorno del
cliente
petición
respuesta
Cliente
...
petición
respuesta
Servidor
Programación remota
9 La red pasa todo el procedimiento como un Agente
9 El cliente define el procedimiento (no tiene que
acordarse por adelantado)
9 La respuesta regresa como un Agente (o como
mensaje)
Entorno delcliente
Cliente
código
+
estado
Entorno del
servidor
Servidor
petición
respuesta
Cliente
4
Cuestiones de Seguridad
9 Detección de virus
• ¿Se puede confiar en el agente?
9 Autenticación del usuario
• ¿Quién envía el agente móvil?
9 Autenticación del servidor o entorno de
ejecución de agentes
• ¿No caerá el agente en una trampa?
9 Derechos de ejecuciónde agentes de un
usuario en un servidor
• ¿Pueden ejecutarse los agentes? ¿Qué funciones
pueden realizar?
9 Capacidad del agente para pagar por los
servicios utilizados
• Teleclicks (General Magic)
2. Ventajas
Ventajas de la programación remota sobre RPC:
9 Eficiencia
• La red lleva menos mensajes
• Mejor cuanto más trabajo se haga en el servidor
• Mejor cuanto mayorlatencia/inestabilidad de red
9 Adaptación al cliente
• El cliente puede extender la funcionalidad del
servidor
• Fácil instalación
No se requiere instalación de servidor
No se acuerdan los procedimientos
Instalación dinámica del procedimiento del cliente en el
servidor
5
2. Ventajas
9 Ejecución asíncrona de tareas
• El agente controla la ejecución de la tarea
• El cliente puede...
Regístrate para leer el documento completo.