Agentes Móviles

34
Agentes Móviles Oscar Huertas Lara A52807 Mario Solís Parajeles A55540

description

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. - PowerPoint PPT Presentation

Transcript of Agentes Móviles

Page 1: Agentes Móviles

Agentes Móviles

Oscar Huertas Lara A52807Mario Solís Parajeles A55540

Page 2: Agentes Móviles

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

Page 3: Agentes Móviles

Introducción

• Evolución: – Tendencia Computación Estática, estacionaria- >

Computación Dinámica, móvil.– Software (Cliente - Servidor).– Hardware (Dispositivos móviles).

Page 4: Agentes Móviles

Introducción(cont)

• Meta: – Cooperación y movilidad total.– Ambientes Diferentes.

• Nuevo paradigma: Agentes Móviles.

Page 5: 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.

Page 6: Agentes Móviles

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.

Page 7: Agentes Móviles

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.

Page 8: Agentes Móviles

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

Page 9: Agentes Móviles

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

Page 10: Agentes Móviles

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

Page 11: Agentes Móviles

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

Page 12: Agentes Móviles

¿ 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

Page 13: Agentes Móviles

¿ Qué se debe mover?(Cont.)

– Se puede enviar a petición.• Evita transferencia código innecesario.• Cacheo de código.

Page 14: Agentes Móviles

Ventajas

Ejecución asíncrona de tareas

Page 15: Agentes Móviles

Ventajas (cont.)

Reducción del tráfico en la redy de la capacidad de cómputo del cliente.

Page 16: Agentes Móviles

Ventajas (cont.)

Robusto: reducción de la dependencia de ladisponibilidad de la red y del cliente/servidor

Page 17: Agentes Móviles

Ventajas (cont.)

Automatización del proceso de tareas distribuidas.

Page 18: Agentes Móviles

Desventajas

• Restricciones.

• Lenguajes de programación.

• Virus.

Page 19: Agentes Móviles

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

Page 20: Agentes Móviles

Seguridad (cont.)Ataques comunes que pueden realizarse a un agente móvil.

• Congestión.

• Escuchas.

• Alteración.

• Retransmisión.

Page 21: Agentes Móviles

Seguridad (cont.)Ataques comunes que pueden realizarse a un agente

móvil (cont.)

• Falsificación de identidad.

• Bloqueo.

• Propagación de virus.

Page 22: Agentes Móviles

Seguridad (cont.)

Estrategias para lograr la seguridad:• Comprobar credenciales.

• Restringir operaciones.

• Restringir recursos.

Page 23: Agentes Móviles

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

Page 24: Agentes Móviles

Aplicaciones (cont.)

• Procesamiento paralelo

• Gestión de procesos (workflow)

• Juegos (agentes que representan jugadores)

Page 25: Agentes Móviles

Aplicaciones (cont.)

Ejemplo: Gestión de red• Detección y corrección de fallos• Control del rendimiento

Page 26: Agentes Móviles

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-agent-

profile”

Page 27: Agentes Móviles

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.

Page 28: Agentes Móviles

Ejemplo

Page 29: Agentes Móviles

Clase “Agent”• doMove(Location destino)

• doClone(Location destino,string nombre)

• beforeClone()

• afterClone()

• beforeMove

• afterMove

Page 30: Agentes Móviles

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.

Page 31: Agentes Móviles

MobilityOntolgy Acciones

• move-agent

• clone-agent

• where-is-agent

• query-platform-locations

Page 32: Agentes Móviles

Conclusiones

• Los agentes móviles son una gran alternativa para los procesos distribuidos.

• Es un campo actualmente en desarrollo (problemas de incompatibilidad y seguridad).

Page 33: Agentes Móviles

Referencias • Jansen, Wayne y Karygiannis, Tom. “Mobile Agent

Security”. National Institute of Standards and Technology. URL: http://csrc.nist.gov/publications/nistpubs/800-19/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:motivation-tr.pdf

Page 34: Agentes Móviles

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