Traducción: Andrea Botero.
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.
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:
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).
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.
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.
¿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.
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.
|
|
|
|
| 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 |
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.