Agentes Móviles

Post on 02-Jan-2016

31 views 0 download

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

Agentes Móviles

Oscar Huertas Lara A52807Mario 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 redy de la capacidad de cómputo del cliente.

Ventajas (cont.)

Robusto: reducción de la dependencia de ladisponibilidad 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-agent-

profile”

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

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