P2P 1,a) 1 1 1 P2P P2P P2P P2P A Method for Creating Shortcut Links by Considering Popularity of Contents in Structured P2P Networks NARISHIGE Yuki 1,a) ABE Kota 1 ISHIBASHI Hayato 1 MATSUURA Toshio 1 Abstract: Considering lookup queries on a structured P2P network, target contents are not uniformly distributed on the network. On the contrary, some specific nodes have very popular hot contents and receive a large number of queries. Several works propose methods to reduce average search time by creating shortcut links to those hot contents. This paper proposes a method for creating shortcut links that is applicable to variety of structured P2P networks. This method requires no global knowledge of the P2P network and is more efficient than existing works. Effectiveness of the method is experimentally confirmed by simulation. Keywords: Structured P2P Networks, Popularity, Shortcut Links 1. Chord [1] Skip graph [2] P2P P2P [3] 1 Graduate School for Creative Cities, Osaka City University a) narishige@sousei.gscc.osaka-cu.ac.jp 2 1 Beehive[4] 1 Hot-Chord[5] Skip graph[6] 1
P2P ID/Locator Chord Skip graph P2P P2P P2P P2P 2 3 4 5 2. Hot- Chord Skip graph 2.1 Hot-Chord Hot-Chord Chord P2P 1 Hot-Chord [5] Hot-Chord 2.2 Skip graph Skip graph Skip graph Skip graph Skip graph w 1 Skip graph level level i(i = 0, 1, 2,...) i level i w i Skip graph level Skip graph 1 G Skip graph Skip graph CutOff Scaling 2 Scaling Scaling 1 Skip graph (w = 2) G 2 1 G 3. P2P P2P P2P 3.1 P2P P2P u u x Q x 2
2 sc requestors[] 3.2.3 u Algorithm 1 P2P base link P2P next node T x u x u x u Q x u Q x Q x x u x 2 P2P A B C D ➀A D B B D T ➁B b C ➂C D d b B d B D ➃C D 3.2 3.2.1 C H 3.2.2 QUERY, destkey, sc requestors[] NOTIFY, destkey, shortcut 2 QUERY P2P destkey sc requestors[] NOTIFY Algorithm 1 u 1: upon receiving QUERY, destkey, sc requestors : 2: u.c[destkey] u.c[destkey] + 1 3: if destkey u.h or u has a base link to destkey then 4: x u.h[destkey] or the base link to destkey 5: send QUERY, destkey, sc requestors to x directly 6: for all y sc requestors do 7: send NOTIFY, destkey, x to y directly 8: end for 9: else 10: if u.c[destkey] T then 11: sc requestors sc requestors u 12: end if 13: send QUERY, destkey, sc requestors to the next node 14: end if 15: upon receiving NOTIFY, destkey, shortcut : 16: u.h[destkey] shortcut 3.2.4 P2P P2P Least Recently Used(LRU) 3.2.5 Counting Bloom Filter[7] 4. P2P Skip graph 3
Skip graph Skip graph 4.1 3 4.1.1 4.1.2 Skip graph NOTIFY Skip graph Skip graph DDLL [8] DDLL 4.1.3 Skip graph NOTIFY Skip graph 4.2 N a = 1,024, Q max = 4,096 1 1 Zipf [9] 1 Zipf k k α α Zipf f(k; α, N) = k α N n=1 n α N Zipf α k Total number of hops ( 1000) 15 Skip graph Zipf α=0.5 Proposal + Skip graph Zipf α=0.5 Proposal + Skip graph Zipf α=1.0 Proposal + Skip graph Zipf α=1.5 1 2 3 4 5 6 7 8 T 3 T f(k; α, N a ) α P2P Skip graph Skip graph 1 4.4 4.3 3.1 T T 4.3.1 T 3 T α T 1 T 4.3.2 T 4 T (α = 1.5) T = 1 NOTIFY 4.3.3 T 5 T T = 1 4.3.2 NOTIFY 4.3.4 T 1 T = 1 4
Total number of messages ( 1000) 45 Skip graph Zipf α=0.5 Proposal + Skip graph Zipf α=0.5 Proposal + Skip graph Zipf α=1.0 Proposal + Skip graph Zipf α=1.5 15 1 2 3 4 5 6 7 8 Total number of hops ( 1000) Skip graph Weighted Skip graph(i=6) Weighted Skip graph(i=512) Weighted Skip graph(i=1,024) Proposal(T=2) + Skip graph 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 T Zipf α 4 T 6 Max number of messages sent 1 110 100 90 80 70 Proposal + Skip graph Zipf α=0.5 Proposal + Skip graph Zipf α=1.0 Proposal + Skip graph Zipf α=1.5 60 1 2 3 4 5 6 7 8 Total number of messages ( 1000) 60 55 50 45 Skip Graph Weighted Skip Graph(I=6) Weighted Skip Graph(I=512) Weighted Skip Graph(I=1,024) Proposal(T=2) + Skip graph 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 T Zipf α 5 T 7 T = 1 T = 2 4.4 Skip graph Skip graph MAX [6] MAX = 6 2.2 Scaling Scaling u s(u) s(1) s(u) I u I s(u) s(1) 0 s(1) u I s(u) s(1) I 6, 512, 1024 3 4.5 6 Skip graph α Skip graph Skip graph 4.6 7 Skip graph QUERY NOTIFY Skip graph Skip graph 5
Max number of messages sent ( 10) 180 160 1 1 100 80 60 8 Skip graph Weighted Skip graph(i=6) Weighted Skip graph(i=512) Weighted Skip graph(i=1,024) Proposal(T=2) + Skip graph 0 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5 Zipf α 4.7 8 Skip graph Skip graph Skip graph Skip graph ( 1 ) Skip graph ( 2 ) Skip graph level 4.8 Skip graph Skip graph Skip graph Skip graph Skip graph Skip graph Skip graph Skip graph 5. P2P P2P Skip graph Skip graph Skip graph P2P JSPS 24500089 [1] Stoica, I. et al.: Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications, IEEE/ACM Transactions on Networking, Vol. 11, No. 1, pp. 17 32 (03). [2] Aspnes, J. et al.: Skip graphs, ACM Trans. on Algorithms, Vol. 3, No. 4, pp. 1 (07). [3] Huang, Y. et al.: Challenges, Design and Analysis of a Large-scale P2P-VOD System, Proc of ACM SIGCOMM, pp. 375 388 (08). [4] Ramasubramanian, V. et al.: Beehive: O(1) Lookup Performance for Power-Law Query Distributions in Peer-to- Peer Overlays, Proc. of Networked System Design and Implementation (NSDI), pp. 99 112 (04). [5] Yuting, M. and et al.: Hot-Chord: A Query Algorithm for Accelerating the Locating of Hot Resources, 10 6th International Conference on WiCOM, pp. 1 4 (10). [6]. Vol. 06-AL-105, No., pp. 33 (06). [7] Fan, L. et al.: Summary cache: A scalable wide-area Web cache sharing protocol, IEEE/ACM Transactions on Networking (TON), Vol. 8, pp. 281 293 (00). [8] DDLL Vol. 10-DPS-144, No. 1, pp. 1 8 (10). [9] Zipf, G.: Human behavior and the principle of least effort, Cambridge, Mass., Addison-Wesley Press (1949). 6