MASIF Andrés Marín López Gestión de la Información Multimedia en Internet
Introducción l Diferencias en arquitectura e implementación de agentes móviles l Dificultad en interoperabilidad de plataformas l Dificultad en proliferación de tecnología de agentes e introducción en el mercado l Necesidad de estándares: MASIF
MASIF l Mobile Agent System Interoperability Framework. l Definido por: –Cristaliz Inc. –General Magic Inc. –IBM Coorporation –Open Group
Interoperabilidad l La interoperabilidad necesita de la estandarización de: l Transferencia de agentes l Nombres de agentes y de plataformas l Gestión de agentes l Sintaxis de localización
Gestión de agentes A partir del nombre de clase de un agente, debe de ser posible: –crear una instancia del agente –suspender su ejecución –continuar su ejecución –terminar su ejecución en distintos sistemas
Transferencia de agentes l La movilidad de agentes es adecuada en distintas situaciones (comunicación entre agentes, monitorización de datos, etc.) l Es importante estandarizar la transferencia para permitir la movilidad de agentes entre distintos sistemas
Nombres de agentes y plataformas l Necesidad para la gestión y transferencia de agentes l Permite decidir al sistema si puede soportar un agente que quiere entrar l Facilita la identificación entre agentes por el nombre.
Tipos de plataformas y Sintaxis de localización l Identificación entre agentes situados en distintos sistemas l Facilitar movilidad entre sistemas l Necesidad de una autoridad de asignación de nombres para cada sistema
Aspectos pospuestos l Aspectos de seguridad en múltiples saltos de agentes l Diversidad de lenguajes de agentes (Java, Tcl,...) que compartan formas similares de serialización del código y estado de ejecución
MAF l Mobile Agent Facility l Objetivo: interoperabilidad entre plataformas escritas en el mismo lenguaje, pertenecientes a distintas compañías (vendors) y cambiantes a lo largo del tiempo l Gestión, seguimiento y transporte
Aspectos de MAF l Gestión (management): creación, suspensión, rearranque y terminación de agentes l Seguimiento (tracking): trazar agentes registrados en los MAFFinders l Transporte: métodos de recepción de agentes y recuperación de sus clases l NO se contempla la comunicación entre agentes (FIPA)
Definiciones: agentes l Programa que actúa de forma autónoma en representación de una persona u organización. l Cada agente tiene su propio hilo de ejecución para ejecutar tareas por iniciativa propia. l Los agentes móviles no están ligados al sistema en que inician su ejecución. l Agent Authority: identifica la persona u organización para la que trabaja el agente (debe estar autenticada)
Definiciones: Places l Contexto dentro de un sistema en el que un agente puede ejecutarse. l Los agentes pueden moverse entre distintos sitios dentro del mismo sistema l Entre distintos sistemas que soporten el perfil del agente l Location: nombre del sitio y dirección del sistema en que reside el sitio l Si un sistema no implementa sitios, el contexto de ejecución se denomina sitio por defecto
Agente Sistema operativo Sistema de agentes Infraestructura de comunicaciones Place Agente
Ag Sistema operativo Sist. agentes Inf. Com. Place Ag Sistema operativo Sist. agentes Inf. Com. Place Ag Movilidad, Comunicación
Region l Conjunto de sistemas de agentes con la misma autoridad l Pueden ser de distintos tipos (plataformas distintas) l Nivel de abstracción para la comunicación con otras regiones l Pueden alojar agentes de otras autoridades pero con menores privilegios
SA CI SA CI SA CI SA CI SA CI SA CI Region
MAF: interfaces l MAF define dos interfaces para conseguir la interoperabilidad: –MAFAgentSystem: operaciones de creación, recepción, suspensión y terminación de agentes –MAFFinder: operaciones de registro, borrado del registro y localización de agentes, sitios y sistemas de agentes l Los interfaces se definen a nivel de sistemas de agentes
Object Request Broker Cliente de MAF MAFAgentSystem MAFFinder Implementación de MAF
MAFFinder l Servicio de nombres l Puede compartirse entre regiones l Los clientes obtienen una referencia a un objeto para pedir su localización: –Sistema de nombres de CORBA –AgentSystem.get_MAFFinder() l También define (estandariza) los nombres de clases
Nombres l Constan de: –Autoridad (OctetString) –Identidad (OctetString) –Tipo de sistema de agentes (short) struct Name{ Authority authority; Identity identity; AgentSystemTypeagent_system_type; }
Localización l Es una cadena que identifica una ubicación: l Pueden ser: –URI (nombre de CORBA): CosNaming:/user!domain/user_name!u3 –URL (IIOP) mafiiop://host:port/Aglets/place&tag=value
MAFFinder Registro: register_agent_system() register_agent() register_place() Borrado del registro: unregister_agent() unregister_agent_system() unregister_place() Localización lookup_agent() lookup_agent_system() lookup_place
MAFAgentSystem l Interfaz que define el conjunto de definiciones de métodos y objetos para: –gestión de agentes –seguridad –gestión de sistema –interacción con agentes, informativas –interacción con MAFFinder
Gestión de agentes l create_agent() l resume_agent() l suspend_agent() l terminate_agent()
Seguridad l get_authinfo() l list_all_agents_of_authority()
Información y Gestión del Sistema l get_agent_system_info() l list_all_agents() l list_all_places() l terminate_agent_system()
Interación con agentes y movilidad l find_nearby_agent_system_of_profile() l get_agent_status() l fetch_class() l receive_agent()
Interacción con MAFFinder l getMAFFinder()
Name create_agent( in Name agent_name, in AgentProfile ag_prof, in OctetString agent, in string place_name, in Arguments args, in ClassNameList class_names, in string codebase, in MAFAgentSystem class_provider) raises (ClassUnknown, ArgumentInvalid, DeserializationFailed, MAFExtendedException);
Ejemplo Cliente estacionario MAFFinder Sistema de Agentes B Sistema de Agentes A Agente