JXTA (Juxtapose) was an open-source peer-to-peer protocol specification begun by Sun Microsystems in 2001. The JXTA protocols were defined as a set of XML messages which allow any device connected to a network to exchange messages and collaborate independently of the underlying network topology. As JXTA was based upon a set of open XML protocols, it could be implemented in any modern computer language. Implementations were developed for Java SE, C/C++, C# and Java ME. The C# Version used the C++/C native bindings and was not a complete re-implementation in its own right. JXTA peers create a virtual overlay network which allows a peer to interact with other peers even when some of the peers and resources are behind firewalls and NATs or use different network transports. In addition, each resource is identified by a unique ID, a 160 bit SHA-1 URN in the Java binding, so that a peer can change its localization address while keeping a constant identification number. "In November 2010, Oracle officially announced its withdrawal from the JXTA projects". As of August 2011, the JXTA project has not yet been continued or otherwise announced to retain operations, neither a decision was made on the assembly of its Board nor an answer by Oracle regarding a pending request to move the source-code to Apache license version 2. Peer Resolver Protocol Peer Information Protocol Rendezvous Protocol Peer Membership Protocol Pipe Binding Protocol Endpoint Routing Protocol JXTA defines two main categories of peers: edge peers and super-peers. The super-peers can be further divided into rendezvous and relay peers. Each peer has a well defined role in the JXTA peer-to-peer model. The edge peers are usually defined as peers which have transient, low bandwidth network connectivity. They usually reside on the border of the Internet, hidden behind corporate firewalls or accessing the network through non-dedicated connections. A Rendezvous peer is a special purpose peer which is in charge of coordinating the peers in the JXTA network and provides the necessary scope to message propagation.
Viktor Kuncak, Dejan Kostic, Pierre-Evariste Dagand
Viktor Kuncak, Dejan Kostic, Pierre-Evariste Dagand