Agentes Móviles
Oscar Huertas Lara A52807
Mario Solís Parajeles A55540
Agenda
•
•
•
•
•
•
•
•
•
•
•
•
Introducción
Definición
Características
¿Cómo se mueve un agente?
¿Qué se debe mover?
Ventajas
Desventajas
Seguridad
Aplicaciones
Soporte de movilidad en JADE
Conclusiones
Referencias
Introducción
• Evolución:
– Tendencia Computación Estática, estacionaria- >
Computación Dinámica, móvil.
– Software (Cliente - Servidor).
– Hardware (Dispositivos móviles).
Introducción(cont)
• Meta:
– Cooperación y movilidad total.
– Ambientes Diferentes.
• Nuevo paradigma: Agentes Móviles.
Definición
• Agente estático:
– Sólo puede ejecutarse en la máquina donde fue
iniciado.
• Agente móvil:
– No está limitado al sistema donde se inició su
ejecución.
– Capaz de transportarse de una máquina a otra a
través de una red heterogénea.
Características
• Software + Datos.
• Capacidad de moverse por diferentes nodos de la red
una o más veces.
• Deciden cuando y donde.
• Son autónomos en ejecución de tareas.
• Se envían como objetos a través de plataformas
conservando su código, datos y estado de ejecución.
Características (cont.)
• Código móvil.
• Scripts – Lenguajes interpretados.
• Operan sin conexión.
• Tienen la capacidad para su suspender su
ejecución y reanudarla en otro nodo.
¿Cómo se mueve un agente?
• Iniciación de la transferencia.
– El agente identifica el destino deseado.
– El sistema suspende la ejecución del agente.
– Se realiza la Serialización.
– El sistema hace la autenticación del agente.
– Se realiza la transferencia.
¿Cómo se mueve un agente? (cont.)
• Recepción del agente.
– El sistema destinatario acredita al cliente.
– Se realiza la De-serialización.
– Asigna Recursos, etc.
– El sistema crea la instancia del agente, restaura su
estado y continúa la ejecución.
– El Agente parte hacia un nuevo host.
¿Cómo se mueve un agente? (cont.)
• Transferencia de otras clases.
– La transferencia de las clases puede realizarse
completamente junto con el viaje del agente o
hacer peticiones de carga cuando sea preciso.
¿ Qué se debe mover?
• Movilidad fuerte VS Movilidad Debil.
– Dificultad para desarrolladores vs movilidad total.
• Thread State (Fuerte):
– Congelar totalmente la ejecución.
– Call stack, variables locales.
– Débil: Reiniciar desde un punto de entrada (Main).
¿ Qué se debe mover?(Cont.)
• Data (Ambos):
– Variables Globales, Heap.
– Fuerte: Todo el data alcanzable desde el objeto.
– Débil: Se transmiten ciertos Objetos.
• Código(Ambos):
– Lógica del agente.
– Se puede enviar junto con la Data.
• El agente tiene todo lo que necesita al llegar
¿ Qué se debe mover?(Cont.)
– Se puede enviar a petición.
• Evita transferencia código innecesario.
• Cacheo de código.
Ventajas
Ejecución asíncrona de tareas
Ventajas (cont.)
Reducción del tráfico en la red
y de la capacidad de cómputo del cliente.
Ventajas (cont.)
Robusto: reducción de la dependencia de la
disponibilidad de la red y del cliente/servidor
Ventajas (cont.)
Automatización del proceso de tareas
distribuidas.
Desventajas
• Restricciones.
• Lenguajes de programación.
• Virus.
Seguridad
Se deben controlar los siguientes aspectos:
• Protección de la máquina contra otros agentes
• Protección de los agentes contra la máquina
• Protección de la red
Seguridad (cont.)
Ataques comunes que pueden realizarse a un agente móvil.
• Congestión.
• Escuchas.
• Alteración.
• Retransmisión.
Seguridad (cont.)
Ataques comunes que pueden realizarse a un agente
móvil (cont.)
• Falsificación de identidad.
• Bloqueo.
• Propagación de virus.
Seguridad (cont.)
Estrategias para lograr la seguridad:
• Comprobar credenciales.
• Restringir operaciones.
• Restringir recursos.
Aplicaciones
• Servicios de información en Internet
–
–
–
–
Múltiples lugares
Filtrado
Control de cambios
Difusión
• Comercio electrónico
– Negociación
• Equipos móviles (telecomunicaciones)
– Conexiones intermitentes y bajo ancho de banda
Aplicaciones (cont.)
• Procesamiento paralelo
• Gestión de procesos (workflow)
• Juegos (agentes que representan jugadores)
Aplicaciones (cont.)
Ejemplo: Gestión de red
• Detección y corrección de fallos
• Control del rendimiento
Soporte de la movilidad en JADE
• Consiste en un conjunto de clases, métodos y
una ontología específica de movilidad
(MobilityOntology).
• Se utilizan mensajes FIPA-ACL como medio de
transporte
– “Move” y “power-up”
– “Mobile-agent-description” y “mobile-agentprofile”
Proceso
• Se envía un Request a la plataforma destino
esperando respuesta.
• Si obtenemos un Inform, el agente puede
serializarse y enviarse dentro de un mensaje a la
plataforma destino.
• Si ocurren algún problema durante este traspaso
de información se desharán todos los cambios.
Ejemplo
Clase “Agent”
• doMove(Location destino)
• doClone(Location destino,string nombre)
• beforeClone()
• afterClone()
• beforeMove
• afterMove
MobilityOntolgy
Conceptos
•
mobile-agent-description: agente.
•
mobile-agent-profile: entorno de programación.
•
mobile-agent-system: tiempo de ejecución.
•
mobile-agent-language: lenguaje de programación.
•
mobile-agent-os: operaciones.
•
location: lugar.
MobilityOntolgy
Acciones
• move-agent
• clone-agent
• where-is-agent
• query-platform-locations
Conclusiones
• Los agentes móviles son una gran alternativa
para los procesos distribuidos.
• Es un campo actualmente en desarrollo
(problemas de incompatibilidad y seguridad).
Referencias
• Jansen, Wayne y Karygiannis, Tom. “Mobile Agent
Security”. National Institute of Standards and
Technology. URL:
http://csrc.nist.gov/publications/nistpubs/80019/sp800-19.pdf
• Cybenko, George y otros. “Mobile Agents: Motivation
and state-of-the-art systems”. Department of
Computer Science Dartmouth College. Hannover, New
Hampshire. URL:
http://actcomm.dartmouth.edu/papers/gray:motivatio
n-tr.pdf
Referencias (Cont.)
•
Cybenko, George y otros. “D’Agents: Applications and
Performance of a Mobile-Agent System”. Department of
Computer Science Dartmouth College. Hannover, New
Hampshire. URL:
http://actcomm.dartmouth.edu/papers/gray:spe.pdf.
• Kotz, David y Gray, Robert. “Mobile Agents and the future of
the Internet”. Department of Computer Science Dartmouth
College. Hannover, New Hampshire. URL:
http://actcomm.dartmouth.edu/papers/kotz:future2.pdf
Descargar

Diapositiva 1