Title: Improving Search in P2P Networks
1Improving Search inP2P Networks
- Presenters Mu, Ai
- Lu, Min
- Date Nov 25, 2004
2Outline
- Introduction to JXTA Search
- Architecture and Components
- Design Goals
- Query Routing Protocol (QRP)
- Query Resolution
- Summary
3Current P2P Search Models
- Two main models of p2p networks
- The centralized Client/Server model
- The decentralized model.
4Searching Centralized Networks
- The central index which locates files quickly and
efficiently - A single point of failure and a visible target
for attack on the network - Client receive outdated info because central
server index is only updated periodically.
5Searching Decentralized Network
- Remove the central structure of the network
- Searching a decentralized network is slower
- Not guarantee to find a file even if it is on the
network because the TTL (time to live) expires.
6Why JXTA Search?
- Most Web content is invisible to current search
engines - JXTA Search address this problem, providing a
unique query routing protocol that makes content
visible and facilitates its use.
7Introduction JXTA
- Originally developed by Sun
- JXTA is a set of open, generalized peer-to-peer
(P2P) protocols that allow any connected device
on the network from cell phone to PDA, from PC
to server to communicate and collaborate as
peers - The JXTA protocols are independent of any
programming language, and multiple
implementations exist.
8JXTA Search
- JXTA Search is a decentralized p2p search engine.
- Defines a XML-Protocol (QRP), which enables the
search in P2P Network. - Supports both Wide Search and Deep Search.
- Open source code (http//search.jxta.org)
9JXTA Search
Wide search of distributed devices, such as PCs,
PDAs, and cell phones. Deep search of rich
content sources such as Web servers.
10Outline
- Introduction to JXTA Search
- Architecture and Components
- Design Goals
- Query Routing Protocol (QRP)
- Query Resolution
- Summary
11Architecture and Components
The JXTA Search Network architecture consists of
the following components
- Registration Service
- Provider Service
- Consumer Service
- Hub Service
12JXTA Search Hub Service
JXTA Search Hub Service consists of the two sub
components Router , Resolver At the heart of
JXTA Search is the "router/resolver"
JXTA Search Resolver - maintains an index of
provider's registrations, - and when a query is
received, matches the query against a set of
providers that may be good at answering the
query.
- JXTA Search Router
- routes and manages query
- connections,
- collates results and returns
- results to consumers
13Architecture
- Distributed Search
- Central to the JXTA Search infrastructure are
"hubs". - Each hub has a series of providers that form its
local network. - These providers typically have something in
common. - Hubs are expected to become an efficient way to
group peers with similar content, or geography.
14Outline
- Introduction to JXTA Search
- Architecture and Components
- Design Goals
- Query Routing Protocol (QRP)
- Query Resolution
- Summary
15Design Goals
- Simplicity any client and server can be
incorporated - Structure all queries to the JXTA Search Network
are XML messages conforming to a queryspace in
which providers register templates describing the
structure of queries they can accept - Extensibility arbitrary queryspaces can be used
- Scalability peer can dynamically join the
network for sending the registration message.
16Outline
- Introduction to JXTA Search
- Architecture and Components
- Design Goals
- Query Routing Protocol (QRP)
- Query Resolution
- Summary
17Query Routing Protocol (QRP)
- QRP defines mechanisms for sending, responding
queries as well as meta-data for nodes in the
network.
18Queryspaces
- Providers may have widely different types of
content or resources in their datastores. - The notion of queryspaces is allowed to define
the structure of a query and its associated
registration. - Queryspaces are a fundamental component of the
JXTA Search framework. Like XML namespaces,
queryspaces do not necessarily reference to the
actual content, they are simply identifiers used
by providers and consumers to find each other.
19QRP - Query Messages
- Query messages are structured as follows
- The default namespace is http//search.jxta.org
- The query message is contained within the
envelope ltrequestgt...lt/requestgt. - The query unique ID is specified in the uuid
attribute of the ltrequestgt tag. - The query space is specified in the query-space
attribute of the request tag. - The query data can be arbitrary XML within a
namespace. It includes the tag ltquerygt to specify
the start of the actual query data and the tag
lttextgt to specify free text, or within any other
namespace specified by the query-space
definition.
20QRP - Response Messages
- The response message is structured as follows
- The default name space is http//search.jxta.org.
- The response message is enveloped within the
ltresponsesgt...lt/responsesgt tags, with each
specific response enveloped in ltresponsegt...lt/resp
onsegt tags. - The body of the response is contained within the
ltdatagt...lt/datagt tags. It can be arbitrary
well-formed - XML.
21QRP - Registration Messages
- Information providers must register with the JXTA
Search network. - To register, a provider contacts an access point
with a registration message. - An XML document with three components
- Queryspace URL identifies the URL at which, when
queries are posted to it, the providers
predicates are checked for matches. - A set of predicatesThe predicate defines the
structure and content of the queries which the
provider is interested in. - The providers query server endpoint is either a
JXTA pipe ID or a URL. Queries which match one of
the providers predicates are posted to this
endpoint.
22QRP - Registration Messages
The query server
The query space
The predicate body
23Outline
- Introduction to JXTA Search
- Architecture and Components
- Design Goals
- Query Routing Protocol (QRP)
- Query Resolution
- Summary
24Query Resolution
- Queries are resolved by a resolver by matching
query terms to registration terms. Providers
whose registration terms match the query terms
are returned by the resolver. - The minimal condition for matching a query to a
provider is that the query must have the same
query-space as the provider registration.
25Query Resolution
To determine to which set of providers a given
query should be routed. Sending all queries to
all providers is inefficient. JXTA Search
attempts great efficiency.
Method 1
Method 2
Provide an efficient query resolution and routing
service.
Define a framework for providers to register the
type of queries they are interested in.
26Outline
- Introduction to JXTA Search
- Architecture and Components
- Design Goals
- Query Routing Protocol (QRP)
- Query Resolution
- Summary
27JXTA Advantages
- Simplicity Robustness
- JXTA defines a simple lean framework for
P2P applications. Defers complex implementation
details to implementing applications. - Interoperability Ubiquity
- Allows a wide range of peers such as sensors,
PDAs appliances, network routers, desktop
computers, data-center servers and storage
systems to interact with one another. - Language Platform independence
- Clear-cut distinction between policies and
mechanisms - To keep the core small and elegant, there is an
architectural distinction between core mechanisms
and optional policies. - Flexibility Implementation Incremental
Improvement - Openness Open source is available at
http//search.jxta.org
28JXTA Disadvantages
- Heavy Applications
- JXTA implements minimal P2P infrastructure and
leaves several issues for applications to
address. - Example reliable end to end communication on
top of an unreliable transport - Security Trust models
- To date JXTA relies heavily on credentials
and digests for authentication protection.
Applications are required to implement their
security models. Trustability of peers.
29Summary
- A novel approach for query routing in distributed
networks. - Using a simple XML protocol combined with
powerful but simple indexing matching engines. - Provides developers with the capability to
connect multiple consumer and provider
applications together for the purposes of
information discovery and exchange.
30The End