Information Technology Reference
In-Depth Information
came into being as a response to the complexity
and overhead associated with JXTA. As its name
suggests, it is a simple yet generic API for devel-
oping peer-to-peer systems. P2PS encompasses
intelligent discovery mechanisms, pipe based
communication and makes it possible to easily
create desirable network topologies for searching,
such as decentralized ad-hoc networks with super
peers or rendezvous nodes. P2PS is designed to
cope with rapidly changing environments, where
peers may come and go at frequent intervals.
At the core of P2PS is the notion of a pipe:
a virtual communication channel that is only
bound to specific endpoints at connection time.
When a peer publishes a pipe advertisement it
only identifies the pipe by its name, ID, and the
ID of its host peer. A remote peer wishing to
connect to a pipe must query an endpoint resolver
for the host peer in order to determine an actual
endpoint address that it can contact. In P2PS a
peer can have multiple endpoint resolvers (e.g.,
TCP, UDP etc), with each resolving endpoints in
different transport protocols or returning relay
endpoints that bridge between protocols (e.g., to
traverse a firewall). Also, the P2PS infrastructure
employs XML in its discovery and communica-
tion protocols, which allows it to be independent
of any implementation language and computing
hardware. Assuming that suitable P2PS imple-
mentations exist, it should be possible to form
a P2PS network that includes everything from
super-computer peers to PDA peers.
audio unit to distributed Triana service, you can
playback the audio on another person's computer.
You can also use this mechanism to perform dis-
tributed calculations across a number of services
by dynamically sending the analysis you wish to
perform across the various distributed services
and then passing them data to process.
However, in the DART framework the distri-
bution policy for Triana is more loosely coupled.
Although Triana acts as a manager and processor
in the system, the distributed functionality is
provided by the DART framework, which imple-
ments a decentralized discovery and communica-
tion system based on P2PS. This allows Triana
workflows to be uploaded to peers for execution
and enables users to query the network to locate
results and to perform custom searches. The
DART system therefore manages the specifics of
the network and Triana acts as a client (i.e., the
DART manager or user) that both accesses DART
via the GAP and also acts as an end processor
to execute data-flows that have been previously
uploaded for the analysis of the audio. Therefore,
Triana does not tie the network together, rather
it accesses a loosely coupled framework that
allows wide-range distributed Triana entities to
communicate via the Internet. The next section
of this chapter discusses the DART framework
in more detail and details the mechanisms to fa-
cilitate so-called work package assignment and
the retrieval of the results.
distributing triana units or groups
Triana units (or groups of units) can be distributed
to a number of Triana launcher services, accord-
ing to a distribution policy. A Triana launcher
service is a GAP-based service that, when sent a
workflow subsection (serialized in XML) via its
control pipe, uses the GAP Interface to launch that
subsection as a new Triana service. This capability
has led to a number of interesting demonstrations.
For example, by dynamically sending the Play
dart: a frameWork for
dIstrIButed InformatIon
retrIeval
Work package assignment and
results retrieval
A process-intensive DART application can require
the distributed analysis of a large number of audio
files, in order to provide some useful, nontrivial
feedback to the user. One sample application for
Search WWH ::




Custom Search