viernes, 16 de mayo de 2008

¿Qué es JxTA?

Navegando por internet hemos encontrado una plataforma de código abierto p2p llamada JxTA creada por Sun Microsystems en 2001. Investigando un poco más nos hemos dado cuenta que guarda relación con los sistemas multiagente.




JxTA consiste en una plataforma que define una serie de protocolos basados en XML que permiten que cualquier dispositivo conectado a una red intercambie mensajes con el resto de dispositivos. Es un marco de trabajo p2p actualmente disponible y que fue diseñado para soportar un alto rango de dispositivos como PCs, teléfonos móviles, PDAs ...

Estos dispositivos reciben también el nombre de peer o "iguales" y el canal de comunicación entre dos peers se llama pipe o tubería. JxTA define dos categorías principales de peers que son los Super-peers y Edge-peers. Los Super-peers pueden ser divididos en Rendezvous y Relay peers. Sus funciones son las siguientes:
  • Los edge peers son usualmente definidos como peers que tienen bajo ancho de banda. Normalmente están en los límites de Internet, escondidos detrás de firewalls corporativos o que acceden a la red a través de conexiones no dedicadas.
  • Un peer Rendezvous tiene la tarea especial de coordinar los peers en la red JXTA. Además provee las bases necesarias para la propagación de mensajes. Si los peers están ubicados en distintas subredes deberían tener, al menos, un peer Rendezvous.
  • Un peer Relay permite que peers que estén detrás de firewall o sistemas NAT tomen parte en la red JxTA. Esto es alcanzado usando protocolos que puedan atravesar firewalls, como por ejemplo, HTTP.
Los protocolos actuales que utiliza JxTA son los siguientes:
  • Protocolo de localización de peer
  • Protocolo de resolución de peer
  • Protocolo de publicación de peer
  • Protocolo de enlace de pipe
  • Protocolo de enrutado al punto final
  • Protocolo de coordinación
JxTA está organizada en tres nivles:
  • Nucleo que equivale al nucleo del sistema operativo y proporciona servicios básicos de seguridad, control de pipes entre peers, la gestión de grupos y la monitorización.
  • Servicio que realiza las funciones de las librerías del sistema operativo proporcionando servicios de indexación, busquedas y poder compartir ficheros.
  • Aplicación que equivale al nivel de usuario en un sistema operativo
Los nodos JxTA crean una red virtual que superpuesta que permite a un nodo interactuar con el resto de nodos directamente. Además cada recurso tiene un identificador único con lo que puede cambiar su localización manteniendo el mismo identificador.

Photo Agent es una aplicación que hace uso de esta plataforma, que sirve para gestionar y compartir fotografías digitales sin ningún tipo de manipulación de ficheros explícita ni comunicación de datos. Los agentes comparten fotografías de forma anónima y pro-activa, de manera que los usuarios pueden simplemente especificar que fotos quieren compartir, con quién.
Este programa utiliza JxTA para la comunicación p2p permitiendo compartir eficientemente en un entorno distribuído.

Goop es otro proyecto basado también en la plataforma JxTA. Es un buscador que trata de optimizar múltiples búsquedas sobre información similar. Según los autores de Goop, los actuales buscadores tienen el problema de que la información que se extrae de ellos es siempre la misma, si nuestras consultas son parecidas. La novedad consiste en mostrar distintos resultados para búsquedas similares en función de los documentos o enlaces que nos interesen. Goop se comporta como un agente en cada ordenador, que comparte información con otros agentes en otros PCs por medio de una red P2P. Estará constantemente analizando la información que se va recogiendo de las búsquedas, e interactuando con otros nodos de la red, intercambiando información acerca de las búsquedas que se realizan.

No hay comentarios: