MASIF Andrés Marín López Gestión de la Información Multimedia en Internet
MASIF
Andrés Marín López
Gestión de la Información Multimedia en Internet
Introducción
Diferencias en arquitectura e implementación de agentes móviles
Dificultad en interoperabilidad de plataformas
Dificultad en proliferación de tecnología de agentes e introducción en el mercado
Necesidad de estándares: MASIF
MASIF
Mobile Agent System Interoperability Framework.
Definido por:– Cristaliz Inc.– General Magic Inc.– IBM Coorporation– Open Group
Interoperabilidad
La interoperabilidad necesita de la estandarización de: Transferencia de agentes Nombres de agentes y de plataformas Gestión de agentes 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
La movilidad de agentes es adecuada en distintas situaciones (comunicación entre agentes, monitorización de datos, etc.)
Es importante estandarizar la transferencia para permitir la movilidad de agentes entre distintos sistemas
Nombres de agentes y plataformas
Necesidad para la gestión y transferencia de agentes
Permite decidir al sistema si puede soportar un agente que quiere entrar
Facilita la identificación entre agentes por el nombre.
Tipos de plataformas y Sintaxis de localización
Identificación entre agentes situados en distintos sistemas
Facilitar movilidad entre sistemas Necesidad de una autoridad de asignación
de nombres para cada sistema
Aspectos pospuestos
Aspectos de seguridad en múltiples saltos de agentes
Diversidad de lenguajes de agentes (Java, Tcl, ...) que compartan formas similares de serialización del código y estado de ejecución
MAF
Mobile Agent Facility Objetivo: interoperabilidad entre
plataformas escritas en el mismo lenguaje, pertenecientes a distintas compañías (vendors) y cambiantes a lo largo del tiempo
Gestión, seguimiento y transporte
Aspectos de MAF
Gestión (management): creación, suspensión, rearranque y terminación de agentes
Seguimiento (tracking): trazar agentes registrados en los MAFFinders
Transporte: métodos de recepción de agentes y recuperación de sus clases
NO se contempla la comunicación entre agentes (FIPA)
Definiciones: agentes
Programa que actúa de forma autónoma en representación de una persona u organización.
Cada agente tiene su propio hilo de ejecución para ejecutar tareas por iniciativa propia.
Los agentes móviles no están ligados al sistema en que inician su ejecución.
Agent Authority: identifica la persona u organización para la que trabaja el agente (debe estar autenticada)
Definiciones: Places
Contexto dentro de un sistema en el que un agente puede ejecutarse.
Los agentes pueden moverse entre distintos sitios dentro del mismo sistema
Entre distintos sistemas que soporten el perfil del agente
Location: nombre del sitio y dirección del sistema en que reside el sitio
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
Place
Agente
AgenteAgente
Ag
Sistema operativo
Sist.
agentes
Inf. Com.
Place
Place
Ag
AgAg
Ag
Sistema operativo
Sist.
agentes
Inf. Com.
Place
Place
Ag
AgAg
Movilidad, Comunicación
Region
Conjunto de sistemas de agentes con la misma autoridad
Pueden ser de distintos tipos (plataformas distintas)
Nivel de abstracción para la comunicación con otras regiones
Pueden alojar agentes de otras autoridades pero con menores privilegios
SA
CI
SA
CISA
CI
SA
CISA
CI
SA
CI
Region
MAF: interfaces
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
Los interfaces se definen a nivel de sistemas de agentes
Object Request Broker
Cliente
de MAF
MAFAgentSystem
MAFFinder
Implementación
de MAF
MAFFinder
Servicio de nombres Puede compartirse entre regiones Los clientes obtienen una referencia a un
objeto para pedir su localización:– Sistema de nombres de CORBA– AgentSystem.get_MAFFinder()
También define (estandariza) los nombres de clases
Nombres
Constan de:– Autoridad (OctetString)
– Identidad (OctetString)
– Tipo de sistema de agentes (short)
struct Name{
Authority authority;
Identity identity;
AgentSystemType agent_system_type;
}
Localización
Es una cadena que identifica una ubicación: 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
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
create_agent() resume_agent() suspend_agent() terminate_agent()
Seguridad
get_authinfo() list_all_agents_of_authority()
Información y Gestión del Sistema
get_agent_system_info() list_all_agents() list_all_places() terminate_agent_system()
Interación con agentesy movilidad
find_nearby_agent_system_of_profile() get_agent_status() fetch_class() receive_agent()
Interacción con MAFFinder
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