Peer Discovery Protocol

 

JXTA- http://spec.jxta.org/nonav/v1.0/docbook/JXTAProtocols.html#proto-pdp

 

Important Definitions-

 

Resolver Query- An XML message that contains source Peer ID, Handler Name ( which is the destination of the query),  a QueryID (for matching replies), HopCount (number of hops), and the Query itself.

 

 

 

JXTA Discovery method-

 

JXTA implements peer discovery through something they call the Peer Resolver Protocol.  The website defines it as a protocol that “permits the dissemination of generic queries to one or multiple handlers within a peer group and identify matching responses”.   Such a query maybe received by any number of peers ranging from none to all.   The PRP uses the Endpoint Protocol to transmit the messages.  The endpoint protocol uses something called the endpoint router.  The router is the brain behind the propagation of messages along the network and each peer has one.  When it is asked for a route that it has cached (it caches all the routes it learns), it simply appends the routing information to the message.  If it does not know of a way to get to the peer it will issue a Route Query to other peers that it knows of. If those peers know of a route to the destination peer, they return a Route Response with a message describing the path. If the first level peers do not know the route, the message propagates as the those first level peers will then query their first level peers. This cycle will continue until one peer knows the way to another, or if the endpoint peer is contacted.  If a peer detects that a route used by another peer is invalid (peer timeout or gone) then it will return a NACK response. 

 

Unfortunately this document provides no information about specifically how the initial peer finding stage occurs.