routing indices for peer-to-peer systems
DESCRIPTION
Routing Indices For Peer-to-Peer Systems. Svetlana Strunjas University of Cincinnati May,2002. Outline. Motivation and background P2P systems Routing Indices Experimental results Conclusions. Motivation. Create efficient and feasible - PowerPoint PPT PresentationTRANSCRIPT
Routing Indices For Peer-to-Peer Systems
Svetlana Strunjas
University of Cincinnati
May,2002
Outline
Motivation and background
P2P systems
Routing Indices
Experimental results
Conclusions
Motivation
Create efficient and feasible
distributed – index search mechanism for P2P systems
Background
Napster – centralized indices (vulnerable to attack and difficult to scale)
Gnutella – queries flood significant part of the network(simple but very costly approach)
Background(cont’d 1)
Freenet – each node builds an index with the location of recently requested documents (queries are restricted to the specific documents and it takes time for node to build an effective index)
Background(cont’d 2)
Oceanstore – distributed – index approach similar to Routing Indices(special case of Compound RIs)
Key difference is in static network and queries on document identifier (Oceanstore) versus dynamic network and queries on content of document(Routing Indices)
Background(cont’d 3)
Selecting a neighbor for forwarding query using Routing Indices is generalization of the Bellman-Ford algorithm
Bellman – Ford algorithm -transmits packet between two nodes through the shortest route -destination of packet is pre-defined(IP routing) Routing Indices -transmit packet from node to node in order to find best answer to the query -destination of packet is not pre-defined , but instead depends on query contained in packet
P2P Systems(Introduction)
Formed by a large number of nodes that can join or leave the system at any time and have equal capabilities
Each node has local documents database which can be accesed through local index
The local index receives content queries and returns pointer to the document with requested content
Query Processing in Distributed P2P Systems
Users submit queries to any node along with the stop condition
Node receives query , evaluates the query against it’s own database ,returns pointer to any results , and , if the stop condition is not reached , forwards the query to neighbor(s)(parallel or sequentially)
Routing IndicesIntroduction
RI allows a node to select “best“ neighbors to send a query to
It is data structure(and associated algorithm) which ,for given query , returns a list of neighbors , rank according to their goodness for query
Goodness reflects the number of documents in “nearby” nodes
Routing Indices Types
Compound Routing Indices(CRI)
Hop-count Routing Indices(HRI)
Exponential Routing Indices(ERI)
Compound Routing Indices(example)
CRI(cont’d1)
Documents are on zero or more topics,and queries request documents on particular topic
Each node has a local index for quickly finding local documents
CRI contain the number of documents along each path and the number of documents of each topic of interest
CRI(“goodness” estimators)
Measure of “goodness” of the neighbor , for given query , is number of documents that can be found in that path
Estimated number of results along each path is given by formula:
CRI(drawbacks)
CRI do not take into account the difference in cost due to the number of hops necessary to reach the document
Are not applicable if we have cycles in network
Using RI
RIs with four topics of interests : database,network,theory and languages
Storage space required
It can be adjusted by increasing or decreasing the level of summarization of index
For centralized systems it is C*(T+1)*N bytes For distributed systems it is C*(T+1)*B*N C – number of categories T – counter size in bytes B – branching factor N – number of nodes
Creating (maintaining)RIs
Disconnection from Network
150 75 0 75 125 1500 110 80 70 165
Algorithm for Creating/Updating RIs
There are two phases :
1.Newly connected node sends a summary of its local index to its new neighbors (creation phase)
2.The node waits for update messages or for changes on its local index ; after updating its RI , the node sends a new aggregate RIs to all its neighbors
Algorithm for Answering Queries
It runs every time query is receivedQuery is given together with stop conditionThere are three phases: 1.Node attempts to answer the query using its local db
2.If not enough results are obtained to reach stop condition , the
algorithm ranks all the neighbors using estimating function
3.Node sends the query to each neighbors sequentially,checking if
the stop condition was reached whenever each query returns
Hop-count RI
Store aggregated RI for each “hop” up to a maximum number of hops(horizon of the RI)
Hop-count RI(cont’d1)
Goodness of neighbor is defined as ratio between the number of documents available through that neighbor and the number of messages required to get those documents
Simple model that allows us to compute this ratio is regular-tree model
Hop-count RI(cont’d2)
Model assumes that all nodes are connected to exactly F+1 nodes , except ones at the leaves which are connected to only one
Goodness of the neighbor is given by formula:
goodness() – estimating function for CRINi[j] –RI entry for j hops through i-th neighborF-fanoutH-horizon
Hop-count RI(drawbacks)
HRI performances can be negatively affected by the lack of information beyond the horizon
Higher storage and transmission cost than CRI
Exponentially Aggregated RI
Stores the result of applying the regular-tree cost formula to hop-count RI
Exponentially Aggregated RI(cont’d)
Each entry of the ERI for node N contains a value computed as:
th – height of the assumed regular treegoodness() – estimating function for CRIsN[j] – summary of the local index of neighbor j of NT – topic of inerest for entry
With ERIs we can keep information for all nodes
accessible from each neighbor in the RI,while HRI’s do not have
any information beyond horizon
Cycles in P2P Network
There are three approaches for dealing with cycles: No-op solution
Cycle avoidance solution
Cycle detection and recovery
No-op solution
Works only with the HRI and ERI
If there are cycles CRI algorithm can be trapped in an infinite loop
NO-op solution (cont’d1)
10 15
20
G1=21.67G2=23.58
NO-op solution (cont’d2)
In HRI cycles longer than horizon will not affect the RI
If we use regular-tree cost model we can limited effect of short cycles
In HRI and ERI difference between two values of goodness introduced by cycle is very small(algorithm will not propagate updates which are not much different than old value)
Cycle avoidance solution
Do not allow nodes to create an update connection to other node if such connection creates the cycle
Drawback : Absence of global information causes suboptimal update network
Cycle detection and recovery
Detects cycles sometime after they are formed and takes recovery actions to eliminate the effect of the cycles
Cycles are detected using unique message identifier
Recovery procedure can decrease accuracy of the RI
Experimental Results(Introduction)
Results are obtained using different models for
elements of search mechanismSteps of experiment:
1.Setting P2P system as network of nodes T, where each node
contains set of documents
2.Users send requests consisting of query Q and stopCondition
to a node of P2P system
3. search mechanism answers requests by obtaining a set of documents of size
stopCondition that matches Q
4.search mechanism allows for update such as addition of nodes and new
documents
Experimental Results(Techniques and measure of cost)
Search techniques : CRI , HRI , ERI,
No-RI(for comparison purposes)
Measure of cost:numbers of messages generated
Experimental Results(Network topologies)
Topology of network defines number of nodes and how they are connected
In this model , three kinds of topologies are considered:
1.Tree 2.Tree with added cycles 3.Power-law graph
Experimental Results(Distribution of documents)
Distributions for modeling the location of document results :
1.Uniform distribution( all nodes have the same probability of having each document result)
2.80/20 biased distribution ( assigns uniformly 80% of the document results to the 20% of nodes , and the remaining 20% of the documents to the remaining 80% of nodes)
Experimental Results(Simulation parameters)
Experimental Results(Comparison of CRI,HRI and ERI)
Experimental Results(Number of results)
Experimental Results(Effects of overcounts)
Experimental Results(Effects of cycles)
Experimental Results(Network topology)
Experimental Results(Updates and network topology)
Experimental Results(Updates and cycle policy)
Experimental Results(Updates per minute)
Conclusions
ERI and HRI offer significant improvements versus not using an RI,while keeping update costs low
Routing indices (in particular ERI and HRI can help improve the search performance of current and future P2P systems
References:
[1] A.Crespo , H. Garcia-Molina.Routing Indices For Peer-to-Peer Systems(2001).The 22nd International Conference on Distributed Computing Systems ,Vienna , Austria.
[2] J.F.Kurose , K.W.Ross.(1999).”Routing Principles”.Computer Networking – A Top Down Approach Featuring Internet, 2nd ed. , Addison Wesley,4.