340 likes | 510 Views
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.
E N D
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-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.
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