# Optimal Resource Discovery Paths of Gnutella2 The IEEE 22nd International Conference on Advanced Information Networking and Applications (AINA 2008) 27.3.2008.

## Presentation on theme: "Optimal Resource Discovery Paths of Gnutella2 The IEEE 22nd International Conference on Advanced Information Networking and Applications (AINA 2008) 27.3.2008."— Presentation transcript:

Optimal Resource Discovery Paths of Gnutella2 The IEEE 22nd International Conference on Advanced Information Networking and Applications (AINA 2008) Mikko Vapa, research student P2P Computing Group Department of Mathematical Information Technology

Resource Discovery Problem
In peer-to-peer (P2P) resource discovery problem any node in the network can possess resources and also query these resources from other nodes Node1: Where is ? Node 2 Node 1 Node 4 Node 3

A Simple Solution for the Problem
The most studied P2P network, Gnutella, for example used Breadth-First Search (BFS) flooding algorithm which sends query to all neighbors Problems: all resources in the network can be found, but network gets congested and there are lots of useless packets Node 2: I have it! Node 4: Node 4 has it too! Reply Node 1: Where is ? Query Node 2 Node 1 Query Query Query Query Reply Node 4: I have it! Query Node 4 Node 3

Steiner Minimum Tree Problem
Optimal paths for resource discovery can be found by using non-distributed algorithm which requires global knowledge of topology and resources Precisely, this problem can be formulated as a task of finding a Steiner Minimum Tree (SMT) from a graph:

Steiner Minimum Tree Problem
V = {Node 1, Node 2, Node 3, Node 4} R = {Node 1, Node 2, Node 4} min T = ({Node 1, Node 2, Node 4}, {1-2, 2-4}) min w(T) = 2 Node 2: I have it! Node 4: Node 4 has it too! Reply Node 1: Where is ? Query Node 2 Node 1 Query Reply Node 4: I have it! Node 4 Node 3

Rooted k-Steiner Minimum Tree Problem
SMT locates all resources in the network, but if only k instances of the matching resources need to be found the problem becomes k-Steiner Minimum Tree problem Also the problem is rooted to define which node starts the query

MST k-Steiner Minimum Tree Algorithm
MST k-Steiner Minimum Tree Algorithm was developed to find an approximation solution:

MST k-Steiner Minimum Tree Algorithm
Time Complexity: where E = number of edges in a graph G Worst-Case Approximation Ratio: where R = available resources

Simulation Scenarios Scenario PL10000 N10000 Gnutella2 Distribution
Power-Law Normal - Nodes 10000 74297 Edges 19997 609036 Largest hub 161 11 360 Resources 1000 10 Res. instances 39994 43216 Queries 100 Diameter 8 12

Query Packets for Gnutella2 with ~75000 nodes
MST k-Steiner Minimum Tree algorithm shows that current local search algorithms for peer-to-peer networks are far from optimal paths

Hops for Gnutella2 with ~75000 nodes
MST k-Steiner does not use the shortest paths to locate resources

the approximated solution is also the optimal solution.
Highest Degree Search K-Steiner Minimum Tree K-Steiner Tree Algorithm locates 9 resource instances with 11 query packets. For this query the approximated solution is also the optimal solution. HDS uses almost twice as much query packets for this query.

Future Work Conducting an extensive survey of related work in graph theory for k-Steiner Minimum Trees and modifying the problem to support multiple resource instances on a same node (Prize Collecting Steiner Tree problem with Quota) What makes the resource discovery problem hard in P2P networks is that only local information is available It would be interesting to know how close to the optimum can algorithms get using local knowledge A record of the global network topology is used in Open Shortest Path First IP routing protocol and Dijkstra’s algorithm for computing the shortest paths It might be possible that MST k-Steiner tree algorithm can be adapted to P2P networks In this case, information about the resources needs to be at least partially cached in the nodes

Similar presentations