JXTA - JXTA

JXTA
Desarrollador (es) Código abierto (desarrollado por la comunidad)
Lanzamiento estable
2.7 / marzo de 2011
Sistema operativo Multiplataforma
Plataforma Plataforma Java, Edición estándar , Plataforma Java, Edición Micro , C / C ++ / Microsoft .NET
Tipo De igual a igual
Licencia Basado en la licencia de Apache
Sitio web jxse .kenai .com (sin mantenimiento)

JXTA ( Juxtapose ) fue una especificación de protocolo peer-to-peer de código abierto iniciada por Sun Microsystems en 2001. Los protocolos JXTA se definieron como un conjunto de mensajes XML que permiten que cualquier dispositivo conectado a una red intercambie mensajes y colabore independientemente del topología de red subyacente .

Como JXTA se basó en un conjunto de protocolos XML abiertos, podría implementarse en cualquier lenguaje informático moderno. Se desarrollaron implementaciones para Java SE , C / C ++ , C # y Java ME . La versión C # usó los enlaces nativos de C ++ / C y no fue una reimplementación completa por derecho propio.

Los pares de JXTA crean una red de superposición virtual que permite que un par interactúe con otros pares, incluso cuando algunos de los pares y recursos están detrás de firewalls y NAT o utilizan diferentes transportes de red. Además, cada recurso se identifica mediante un ID único, un SHA-1 URN de 160 bits en el enlace de Java, de modo que un par puede cambiar su dirección de localización manteniendo un número de identificación constante.

Estado

"En noviembre de 2010, Oracle anunció oficialmente su retiro de los proyectos JXTA". En agosto de 2011, el proyecto JXTA aún no ha sido continuado o anunciado para mantener las operaciones, ni se tomó una decisión sobre el ensamblaje de su Junta ni una respuesta de Oracle con respecto a una solicitud pendiente para mover el código fuente a la versión de licencia de Apache. 2.

Protocolos en JXTA

  • Protocolo de resolución de pares
  • Protocolo de información de pares
  • Protocolo de encuentro
  • Protocolo de pertenencia a pares
  • Protocolo de unión de tuberías
  • Protocolo de enrutamiento de punto final

Categorías de pares

JXTA define dos categorías principales de pares: pares de borde y súper pares . Los super-pares se pueden dividir en pares de encuentro y de relevo . Cada peer tiene un rol bien definido en el modelo peer-to-peer de JXTA.

  • Los pares de borde generalmente se definen como pares que tienen conectividad de red transitoria y de bajo ancho de banda . Por lo general, residen en la frontera de Internet, escondidos detrás de firewalls corporativos o acceden a la red a través de conexiones no dedicadas.
  • Un par de Rendezvous es un par de propósito especial que se encarga de coordinar a los pares en la red JXTA y proporciona el alcance necesario para la propagación de mensajes. Si los pares están ubicados en subredes diferentes, la red debe tener al menos un par de Rendezvous.
  • Un par de retransmisión permite que los pares que están detrás de firewalls o sistemas NAT participen en la red JXTA. Esto se realiza mediante un protocolo que puede atravesar el cortafuegos, como HTTP , por ejemplo.

Cualquier par en una red JXTA puede ser un punto de encuentro o retransmisión tan pronto como tenga las credenciales necesarias o los requisitos de red / almacenamiento / memoria / CPU.

Anuncios

Un anuncio es un documento XML que describe cualquier recurso en una red P2P (pares, grupos, canalizaciones, servicios, etc.). La comunicación en JXTA puede pensarse como el intercambio de uno o más anuncios a través de la red.

Tubería

Las tuberías son un canal de comunicación virtual utilizado por JXTA para intercambiar mensajes y datos. Las tuberías son asincrónicas, poco fiables y unidireccionales. Básicamente, existen tres tipos de tuberías:

Grupos de pares

Un grupo de pares proporciona un alcance para la propagación de mensajes y un agrupamiento lógico de pares. En JXTA, cada par es miembro de un grupo predeterminado, NetPeerGroup, pero un par determinado puede ser miembro de muchos subgrupos al mismo tiempo. Un compañero puede desempeñar diferentes roles en diferentes grupos; puede actuar como un compañero de borde en un grupo, pero una cita en otro.

Cada grupo debe tener al menos un par de encuentro y no es posible enviar mensajes entre dos grupos.

Red de encuentro

Los pares de Rendezvous tienen un mecanismo de enrutamiento optimizado que permite una propagación eficiente de mensajes enviados por pares de borde conectados a ellos. Esto se logra mediante el uso de una red poco consistente.

Cada par de Rendezvous mantiene una vista de par de Rendezvous (RPV), una lista de pares de encuentro conocidos ordenados por el ID de par. No existe ningún mecanismo para hacer cumplir la coherencia de todos los RPV en la red JXTA, por lo que un RPV determinado puede tener una vista inconsistente temporal o permanente de los otros pares de encuentro. Tan pronto como haya una baja tasa de abandono , es decir, una red estable en la que los pares no se unan o se vayan con demasiada frecuencia, la lista de RPV de cada par convergerá a medida que cada par de encuentro intercambie un subconjunto aleatorio de su RPV con otros compañeros de encuentro. de vez en cuando.

Cuando un compañero de borde publica un anuncio, el índice de este anuncio se envía a la cita a través de un sistema llamado Índice distribuido de recursos compartidos (SRDI). Después de eso, el encuentro aplica una función de tabla hash distribuida (DHT) para que pueda reenviar el índice a otro par en la lista de RPV. Para fines de replicación, enviará este índice a los vecinos del par de encuentro elegido en la lista de RPV.

El proceso de búsqueda requiere el uso de la misma función DHT para descubrir el par de encuentro que está a cargo de almacenar ese índice. Una vez que se alcanza el par de encuentro, este reenviará la consulta al par de borde que publicó el anuncio y este par se pondrá en contacto con el par que emite la consulta.

Si la función DHT no puede encontrar un par que esté a cargo del anuncio, la consulta se reenviará hacia arriba y hacia abajo en la lista RPV hasta que se encuentre una coincidencia, la consulta se cancele o alcance los límites de la lista RPV. Este proceso se llama caminata aleatoria.

Ver también

Referencias

enlaces externos