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.