1 / 34

Agentes Móviles

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.

dawn-kemp
Download Presentation

Agentes Móviles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. Introducción • Evolución: • Tendencia Computación Estática, estacionaria- > Computación Dinámica, móvil. • Software (Cliente - Servidor). • Hardware (Dispositivos móviles).

  4. Introducción(cont) • Meta: • Cooperación y movilidad total. • Ambientes Diferentes. • Nuevo paradigma: Agentes Móviles.

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

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

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

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

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

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

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

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

  13. ¿ Qué se debe mover?(Cont.) • Se puede enviar a petición. • Evita transferencia código innecesario. • Cacheo de código.

  14. Ventajas Ejecución asíncrona de tareas

  15. Ventajas (cont.) Reducción del tráfico en la red y de la capacidad de cómputo del cliente.

  16. Ventajas (cont.) Robusto: reducción de la dependencia de la disponibilidad de la red y del cliente/servidor

  17. Ventajas (cont.) Automatización del proceso de tareas distribuidas.

  18. Desventajas • Restricciones. • Lenguajes de programación. • Virus.

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

  20. Seguridad (cont.) Ataques comunes que pueden realizarse a un agente móvil. • Congestión. • Escuchas. • Alteración. • Retransmisión.

  21. Seguridad (cont.) Ataques comunes que pueden realizarse a un agente móvil (cont.) • Falsificación de identidad. • Bloqueo. • Propagación de virus.

  22. Seguridad (cont.) Estrategias para lograr la seguridad: • Comprobar credenciales. • Restringir operaciones. • Restringir recursos.

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

  24. Aplicaciones (cont.) • Procesamiento paralelo • Gestión de procesos (workflow) • Juegos (agentes que representan jugadores)

  25. Aplicaciones (cont.) Ejemplo: Gestión de red • Detección y corrección de fallos • Control del rendimiento

  26. 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”

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

  28. Ejemplo

  29. Clase “Agent” • doMove(Location destino) • doClone(Location destino,string nombre) • beforeClone() • afterClone() • beforeMove • afterMove

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

  31. MobilityOntolgy Acciones • move-agent • clone-agent • where-is-agent • query-platform-locations

  32. Conclusiones • Los agentes móviles son una gran alternativa para los procesos distribuidos. • Es un campo actualmente en desarrollo (problemas de incompatibilidad y seguridad).

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

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

More Related