130 likes | 280 Views
Optimal Resource Discovery Paths of Gnutella2 The IEEE 22nd International Conference on Advanced Information Networking and Applications (AINA 2008) 27.3.2008. Mikko Vapa, research student P2P Computing Group Department of Mathematical Information Technology www.mit.jyu.fi/ cheesefactory.
E N D
Optimal Resource Discovery Paths of Gnutella2The IEEE 22nd International Conference on Advanced Information Networking and Applications (AINA 2008)27.3.2008 Mikko Vapa, research studentP2P Computing Group Department of Mathematical Information Technology www.mit.jyu.fi/cheesefactory
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 Query Query Node 1 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 Query Node 1 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: whereE = number ofedges in a graph G Worst-CaseApproximation Ratio: whereR = availableresources
Query Packets for Gnutella2with ~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
Highest Degree Search K-Steiner Minimum Tree K-Steiner Tree Algorithm locates9 resource instances with 11 query packets. For this query the approximated solutionis also the optimal solution. HDS uses almost twice as muchquery 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