AgentOS: El sistema operativo Distribuído basado en Agentes para Redes Móviles

por Larry T. Chen

Traducción: Andrea Botero.

La Visión: Informática amplia y ubicua

Muchos investigadores actuales en el area de la informática móvil comparten la misma visión: el acceso ubicuo a información, datos, y aplicaciones. El AccesoUbicuo (Ubiquitous access) se refiere a la posibilidad de los usuarios para acceder a estos recursos desde casi cualquier terminal.

Recientes desarrollos relacionados con Internet están estableciendo fundamentos sólidos para sistemas informaticos de amplia cobertura, independientes de tiempo y lugar. El reciente desarrollo de lenguajes inter-plataforma, entre los cuales se encuentra Java, permiten el desarrollo de sistemas mas alla de plataformas multiples y redes de comunicacion. Java proporciona los medios para construir aplicaciones que sean accesibles desde cualquier terminal conectada a Internet. Esto es posible ya que el único requisito para correr programas escritos en Java (o applets) es un navegador de red Java-enabled, que es ahora practicamente un estandar en cualquier computadora personal.

Posteriores desarrollos en tecnologías para Internet abriran paso al desarrollo de aplicaciones mas dinámicas basadas en programación orientada por objetos. Esto permitira a gran número de usuarios nomadas y moviles compartir recursos de una manera mas eficiente y amplia. A medida que los usuarios ganen confianza en el uso Internet como una heramienta indispensable de trabajo, se convertiran cada vez mas en usuarios móviles, nómadas o ambos. Mientras los usuarios móviles acceden a Internet desde una computadora portátil, los usuarios nómadas se mueven de terminal en terminal . En cualquiera de los dos casos, el usuario podra, idealmente, realizar las mismas tareas con igual facilidad desde cualquier lugar, bien sea desde su computadora portátil o a cualquier terminal con coneccion a la red.

Requisitos Para Esta Visión

Para lograr un sistema de la informática ubicuo de gran potencia (un sistema para manejar recursos compartidos distribuídos de gran cobertura) se requiere de una red con tolerancia a las fallas. Para el usuario final de este sistema es importante contar con conectividad en red, distribución y transparencia de la situación. Para él, la red entera y cualquier términal conectada a ella hacen parte del mismo servidor, y no es relevante ni le interesa como o donde esta almacenada la informacion o las aplicaciones.

Varias caracteristicas técnicas acompañan este requisito del usuario final:

Que se encuentra mal en los acercamientos actuales:

Aunque los sistemas existentes para informática móvil, como el de Bayou [1] y Rover [2], incluyen consistencia y copia, sus modelos de comunicación y programación son poco satisfactorios. Los paradigmas de comunicación usados en estos sistemas han evolucionado de objetos basados en el sistema tradicional cliente/servidor, como los RPCs. Estos mecanismos se basan en servidores y clientes fijos, bien definidos que no tienen la flexibilidad necesaria para tratar con fluidez las redes de amplia cobertura.

Comunicación basada en agentes

Los paradigmas de la comunicación basada en agentes han mostrado un potencial enorme para operar en ambientes imprevisibles y metamórficos, como las redes de la informática móviles.

Un ejemplo de tareas distribuídas de alto nivel que puede lograrse a travez del uso de agentes, se encuentra en el proceso de una transacción electrónica. En este caso es necesarior avisar a varias autoridades antes de completar la transacción. Un ejemplo claro puede ser de la compra electrónica de un producto de software, en donde es indispensable obtener una comprobación del número de tarjeta de crédito del usuario, cargar la cuenta a la tarjeta de crédito de este, hacer la transaccion a la cuenta del comerciante, y finalmente entregar el producto al usuario. Estas tareas requieren de una serie de operaciones de lectura/escritura en varios nodos, dónde deben reforzarse las dependencias causales estrictas (por ejemplo, los fondos deben ser recibidos por el comerciante antes de la entrega del producto).

¿Por qué construir un OS (Sistema Operativo) -basado en agentes?

Los Agentes exhiben las siguientes características que son convenientes para redes de amplia cobertura y ambientes moviles de red:
  1. Movilidad: La informática móvil es inherentemente de naturaleza inestable, es decir, las locaciones del servidor cambian constantemente, las transacciones se extienden a muchos nodos y son efímeras. La habilidad de Los Agentes para transportar códigos y datos a traves de nodos, determinan su conveniencia en ambientes inestables.
  2. Flexibilidad: Los algoritmos del agente pueden modificarse dinámicamente según las condiciones del ambiente como: congestión de la red, fracasos del nodo, y movimiento del usuario.
  3. Resolucion concurrente de problemas: Los Agentes proporcionan un paradigma claro y natural para realizar tareas que pueden tener varios aspectos coexistentes.
  4. Modelo de seguridad autónomo: A cada agente se le asigna un nivel unico de privilegio y se corre en un ``sandbox'' (cubo de arena), gobernado por el principio de Menor Privilegio, es decir, se le concéde al agente sólo tanto privilegio como él necesita. Los Agentes también pueden delegar o transferir privilegios del usuario o sistema.
  5. Manejo por apoderado: Los agentes pueden comportarse simultáneamente como apoderados del servidor o apoderados del cliente en cualquier nodo.Actuando de manera que emulan su presencia o funcionalidad (en el caso del cliente, este es típicamente móvil o nómada).

Contribuciones potenciales a la Investigación de la Informática Móvil

Los siguientes han sido identificados como los problemas mas ampliamente estudiados del area de la investigación en informática móvil. El uso del paradigma del agente móvil para referirse a este tipo de problemas no sólo contribuye a nuevas soluciones , sino que también presenta una metodología y una plataforma uniformes para construir sistemas móviles.
  1. Consistencia de datos compartida y distribuída: Manteneniendo consistencia en los datos interdependientes y reproducidos, a lo largo de sitios distribuídos. Las soluciones convencionales usan mensajes de sincronización de datos explícitos para la consistencia y manejo de las copias. Una solución basada en agentes permite asignar la responsabilidad de manejo de consistencia a los agentes móviles.

  2. Servidor apoderado y dinámico; y manejo del cliente apoderado: Emulación de servidores y clientes para tolerar errores del servidor y desconecciones del cliente, disminuir la latencia y mejorar la actuación. Los agentes pueden comportarse como apoderados del clientes, apoderados de los servidores, o ambos.

  3. Funcionamiento sin coneccion: Habilitando el funcionamiento de aplicaciones en los servidores moviles mientras esten desconectados de la red neural.los agentes permiten el traslado de lotes de datos y codificación en preparación para funcionamiento sin coneccion o tan pronto esta se reestablezca.

  4. Proceso de questionamiento inteligente: Realizar una tarea compleja de questionamiento inteligente desde un servidor móvil, siendo posiblemente ejecutada atraves de múltiples nodos y con múltiples estrategias. La lógica compleja de la tarea puede embeberse en los agentes, que naturalmente estan diseñados para moverse entre diversos nodos.

  5. Transacciones distribuídas con seguridad: Se garantiza la seguridad e integridad de las transacciones de base de datos en un ambiente móvil.

Desempeño y consideraciones generales

La Interpretación de Bytecode

La Primera generación Java ha sido reconocida por correr lentamente, debido a la compilación general asociada con intérpretes de Java. Sinembargo, recientes investigaciónes y desarrollo de Compiladores de Justo a Tiempo (JITs) [3]; prometen entregar compilacion de código, mientras se mantiene la portabilidad atravez de plataformas. Los Compiladores Justo a Tiempo compilan dinámicamente los codigos de bites en lenguaje de maquina durante la ejecución. Los códigos que sean de ejecución repetida (como el caso del codigo Kernel ) se acercarán a las velocidades del código compilado.

Latencia Asociada con el Transporte del Código

Transmitir el código del agente a travez de la red elimina la comunicación convencional de cliente/servidor. En ambientes móviles y de amplia cobertura, agregar mensajes múltiples en una transmisión es más eficaz que desencajar transmisiones múltiples, debido al alto costo de configuracion de la conexión y su despiece. En algunos casos Los Agentes podrian llevar sólo el código esencial para su funcionamiento y dejar caer pedazos de este durante el viaje en caso de no necesitarlos mas.

AgentOS: `` De Agentes, Para Agentes y Por Agents''

¿Cómo llenan el vacío los AgentOS? Muchas tareas del sistema, como el manejo de recursos, son llevadas a cabo por agentes, es decir es un sistema operativo de agentes. Con un sistema lleno de agentes, incluyendo el sistema mismo, las aplicaciones y los agentes de los usuarios; se necesita un ambiente operativo que maneje estos agentes, por esto es para agentes. Cuando un usuario, la aplicación, o un agente del sistema, necesita realizar una tarea, genera y envia agentes móviles que avisan a otros agentes. De esta manera los protocolos subyacentes son generados parcialmente por agentes.

Metas de la investigación del proyecto de AgentOS:

Trabajos relacionados

Los proyectos relacionados con este tema pueden dividirse en tres categorías: Sistemas operativos para Internet, sistemas de apoyo para informática móvil, y sistemas para agentes móviles. El projecto de AgentOS presenta un acercamiento único al usar uniformemente, el paradigma del agente móvil para implementar un sistema operativo para Internet.

El uso de sistemas operativos para Internet es un concepto relativamente nuevo. Inspirado por la proliferación de Máquinas Virtuales de Java en navegadores para la red, el ``Internet OS'' intenta definir un set de servicios básicos y esenciales para una aplicación de Internet migratoria y util en diferentes plataformas. El sistema operativo JavaOS, por SunMicrosystems, esta desarrollado para ser usado en computadoras en red, basandose en el concepto de la red como un OS. Sin embargo, las computadoras en red adoptan al modelo de cliente/servervidor . Los AgentOS, por otro lado, se basan en el modelo del agente movil. Recientemente, Apple ha descrito el concepto de un sistema operativo para la Red, que en general no es mas que la asimilacion de navegadores con capacidad JavaVM incluida, visto como un sistema operativo virtual (OS). Los AgentOS extienden el concepto de VM más allá de los navegadores hasta los nodos intermedios en la red, como computadoras portátiles y dispositivos inalámbricos.

Los problemas de Sistemas de apoyo en la informática móvil, Manejo de datos reproducidos especiales y el Funcionamiento sin coneccion , han sido tratados en varios projectos. Entre ellos algunos de los mas notables; Bayou por Xerox PARC y Rover por el MIT, han atacado el problema de la misma manera general: extendiendo el modelo cliente/servidor hasta acomodar las peculiaridades de informática móvil. Algunos de los cambios consisten en extender RPCs para apoyar queueing y callbacks, usando dinámicamente objetos migratorios para facilitar copar con el funcionamiento sin coneccion. Los AgentOS toman en cambio, un acercamiento innovador al abandonar el paradigma cliente/servidor y adoptar uniformemente el paradigma del agente móvil, implementando soluciones para datos móviles y manejo de recurso.

El paradigma del agente móvil fue introducido hace varios años. Los proyectos pioneros incluyen a Telescript y Messengers. Desde la introducción de este paradigma han aparecido otros proyectos, entre los que se incluyen: CyberAgent (por FTP Software) y Aglets (por IBM). CyberAgent esta escrito en Java, pero su enfoque primario se encuentra en el manejo intranet (redes internas). Su modelo de ejecución, asume la presencia de un agente en lugar de un grupo de agentes cooperando. Aglets de IBM define un marco de trabajo para un agente móvil de uso general, pero carece de funciones esenciales como la de union y separación, generación dinámica de agentes , y comunicación inter-agente.

Projectos Relacionados
Enfoque
Avances hechos por AgenteOS
JavaOS/HotJava Sistema operativo de huellas pequeñas.
Navegador dinámico.
Extensibilidad
Nomádico/Móvil
Rasgos de computo.
Java Beans Arquitectura de componentes flexible. Orientado por Agentes.
"Sistema operativo para la Web"
(Apple computers)
Ambinte seguro para aplicaciones de internet orientadas por componentes Caracteristicas de computación móvil.
Marco de trabajo orientado por agentes.
Telescript Lenguaje, plataforma, comunicacion
y manejo para agentes
Enfoque basado en manejo
de sistema de agente.
Servicio de Agentes Moviles Apoderado del clientes para servidores
moviles, para interactuar con servidores existentes.
Ligero, de agentes multifaceticos.
Bayou/Rover Datos compartidos y replicados
de una manera optimista.
Nivel de implementación de agentes
con consistencia y ajustabilidad.
CyberAgent Agentes para manejo
en red
Manejo multi-agente
Aglets/Mobile
Agent Framework
Marco de trabajo basado
en Agentes
Fusion, division, generacion de agentes,
comunicacion inter-agentes.
Messengers Marco de trabajo basado en agentes para simulación distribuida. Uso de Java como plataforma
base para una mayor compatibilidad

Referencias

1
Demers, Alan, Karin Petersen, Mike Spreitzer, Douglas Terry, Marvin Theimer, and Brent Welch. ``The Bayou Architecture: Support Data Sharing among Mobile Users.'' En Proceedings of the Workshop on Mobile Computing Systems and Applications, Santa Cruz, CA, Diciembre 1994.

2
Joseph, Anthony D., Alan F. DeLespinasse, Joshua A. Tauber, David K. Gifford, and M. Frans Kaashoek. ``Rover: A Toolkit for Mobile Information Access.'' En Proceedings of the Fifteenth Symposium on Operating System Principles, Diciembre 1995.

3
Reynolds, Franklin D. ``Evolving an Operating System for the Web''. IEEE Computer, Vol. 29, No. 9 (Septiembre 1996) pp. 90-92.

Larry Chen puede ser localizado en http://www.ics.uci.edu/~larryc o larryc@ics.uci.edu. Para más información sobre el proyecto de AgentOS dirigase a http://bolero.ics.uci.edu/agentos/. Larry T. Chen es actualmente estudiantede la Universidad de California, Irvine. Sus intereses en investigación incluyen: Sistemas de objeto distribuídos, sistemas de agente móviles, e informática ubicua usando redes móviles y ad-hoc. Es ademas co-fundador de Avanteer, Inc., una compañía dedicada a construir software de colaboración en Java.

Copyright 1998 Larry T. Chen

Número del visitante desde Diciembre 23, 1999: