JXTA

JXTA

Infobox Software
name = JXTA



caption =
developer = open source (community developed)
latest release version = 2.5
latest release date = November 2007
latest preview version =
latest preview date =
operating system = Cross-platform
platform = Java Platform, Standard Edition, Java Platform, Micro Edition, C/C++/Microsoft .NET
genre = Peer-to-peer
license = Based on the Apache Software License
website = https://jxta.dev.java.net/

JXTA (Juxtapose) is an open source peer-to-peer protocol specification begun by Sun Microsystems in 2001. Sun remains actively involved in the development and promotion of JXTA. The JXTA protocols are 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. JXTA is the most matureFact|date=June 2008 general purpose P2P framework currently available and was designed to allow a wide range of devices - PCs, mainframes, cell phones, PDAs - to communicate in a decentralized manner.

As JXTA is based upon a set of open XML protocols, it can be implemented in any modern computer language. Implementations are currently available for Java Platform, Standard Edition, C/C++/C# and J2ME. The C# Version uses the C++/C native bindings and is 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.

Protocols in JXTA

*Peer Resolver Protocol
*Peer Information Protocol
*Rendezvous Protocol
*Peer Membership Protocol
*Pipe Binding Protocol
*Endpoint Routing Protocol

Categories of peers

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. If the peers are located in different subnets then the network should have at least one Rendezvous peer.

A Relay peer allows the peers which are behind firewalls or NAT systems to take part in the JXTA network. This is performed by using a protocol which can traverse the firewall, like HTTP, for example.

Any peer in a JXTA network can be a rendezvous or relay as soon as they have the necessary credentials or network/storage/memory/CPU requirements.

Advertisements

An Advertisement is an XML document which describes any resource in a P2P network (peers, groups, pipes, services, etc). The communication in JXTA can be thought as the exchange of one or more advertisements through the network.

Pipes

Pipes are a virtual communication channel used by JXTA to exchange messages and data. Pipes are asynchronous, unreliable, and unidirectional. There are basically three types of pipes:

*Unicast
*Unicast Secure
*Propagate

Peer groups

A peer group provides a scope for message propagation and a logical clustering of peers. In JXTA, every peer is a member of a default group, NetPeerGroup, but a given peer can be member of many sub-groups at the same time. A peer may play different roles in different groups; it may act as an edge peer in one group, but a rendezvous in another.

Each group should have at least one rendezvous peer and it is not possible to send messages between two groups.

Rendezvous network

The Rendezvous peers have an optimized routing mechanism which allows an efficient propagation of messages pushed by edge peers connected to them. This is achieved through the use of a loosely consistent network.

Each Rendezvous peer maintains a Rendezvous Peer View (RPV), a list of known rendezvous peers ordered by the Peer ID. There is not any mechanism to enforce the consistency of all RPVs across the JXTA network, so a given RPV can have a temporary or permanent inconsistent view of the other rendezvous peers. As soon as there is a low churn rate, that is, a stable network where peers don't join or leave too frequently, the RPV list of each peer will converge as each rendezvous peer exchange a random subset of its RPV with other rendezvous peers from time to time.

When an edge peer publishes an Advertisement, the index of this advertisement is pushed to the rendezvous through a system called Shared Resource Distributed Index (SRDI). After that, the rendezvous applies a Distributed Hash Table (DHT) function so that it can forward the index to another peer in the RPV list. For replication purposes, it will send this index to the neighbours of the chosen rendezvous peer in the RPV list.

The lookup process requires the use of the same DHT function to discover the rendezvous peer which is in charge of storing that index. Once the rendezvous peer is reached it will forward the query to the edge peer which published the advertisement and this peer will get in touch with the peer which issues the query.

If the DHT function cannot find a peer which is in charge of the advertisement then the query will be forwarded up and down the RPV list until a match is found, the query is aborted, or it reaches the limits of the RPV list. This process is called random walk.

Applications

* [http://www.wiredreach.com/ WiredReach] - a proprietary peer-to-peer Universal Content Sharing System
* Collanos Workplace - a proprietary peer-to-peer team collaboration based on JXTA
* [http://jxta.dev.java.net/ List of companies/products using JXTA technologies]
* Sixearch - a collaborative peer network application based on JXTA

See also

* Peer-to-peer

External links

* [http://jxta.dev.java.net Official web site]
* [http://jxta.online.fr french site]
* JXTA Developer IRC Channel
* [http://www.developer.com/java/other/article.php/10936_1450221_1 Overview of JXTA]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • JXTA — est un projet Open Source lancé par Sun Microsystems en avril 2001. JXTA vient du mot anglais « Juxtapose ». En effet le but de JXTA est de pouvoir interconnecter n importe quel système sur n importe quel réseau. Le peer to peer permet… …   Wikipédia en Français

  • JXTA — (Juxtapose) cпецификации протоколов по обслуживанию P2P сетей для обмена данными различного типа. Проект был запущен корпорацией Sun Microsystems в 2001 для решения проблем, стоящих на пути развития пиринговых сетей. JXTA использует открытые… …   Википедия

  • JXTA — Die JXTA P2P Softwarearchitektur JXTA ist ein Projekt zur Standardisierung von Peer to Peer Anwendungen durch frei zugängliche Protokolle und unter einer Open Source Lizenz veröffentlichte Referenzbibliotheken für die Programmiersprachen Java, C… …   Deutsch Wikipedia

  • JXTA — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar al …   Wikipedia Español

  • JXTA — ( Jaxta ) Java XML Transfer Architecture JINI Nachfolger (Sun) …   Acronyms

  • JXTA — ( Jaxta ) Java XML Transfer Architecture JINI Nachfolger (Sun) …   Acronyms von A bis Z

  • NaradaBrokering — est une technique qui utilise les avantages de deux systèmes d’applications réparties : le système pair à pair et le système de type grille de calcul. Ces deux systèmes ont des avantages complémentaires. Cette technique peut s interfacer… …   Wikipédia en Français

  • P2P-Netzwerk — Peer to Peer Modell Client Server Modell Peer to Peer (P2P) Connection (engl. peer für „Gleichgestellter“, „Ebenbürtiger“) und Rechner Rechner Verbindung sind …   Deutsch Wikipedia

  • Peer-2-Peer — Peer to Peer Modell Client Server Modell Peer to Peer (P2P) Connection (engl. peer für „Gleichgestellter“, „Ebenbürtiger“) und Rechner Rechner Verbindung sind …   Deutsch Wikipedia

  • Peer-2-peer — Peer to Peer Modell Client Server Modell Peer to Peer (P2P) Connection (engl. peer für „Gleichgestellter“, „Ebenbürtiger“) und Rechner Rechner Verbindung sind …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”