Responsive image
博碩士論文 etd-0619106-174321 詳細資訊
Title page for etd-0619106-174321
論文名稱
Title
一個以動態雜湊來支援P2P系統之負載平衡的方法
A dynamic hashing approach to supporting load balance in P2P systems
系所名稱
Department
畢業學年期
Year, semester
語文別
Language
學位類別
Degree
頁數
Number of pages
71
研究生
Author
指導教授
Advisor
召集委員
Convenor
口試委員
Advisory Committee
口試日期
Date of Exam
2006-06-02
繳交日期
Date of Submission
2006-06-19
關鍵字
Keywords
Chord 系統、動態雜湊、負載平衡、P2P 系統、搜尋
Chord system, dynamic hashing, load balance, P2P system, searching
統計
Statistics
本論文已被瀏覽 5680 次,被下載 0
The thesis/dissertation has been browsed 5680 times, has been downloaded 0 times.
中文摘要
在P2P系統中,每個節點 (user node) 都可以自由的進出P2P系統中。一般而言,節點間可以互相交換資訊,每個節點都會提供他們一部分的資源給P2P系統且每個節點都有相同的功用。所以,如何快速有效率的搜尋資源所在的位置及使得每個節點的負載都趨於平衡的狀態就顯的格外重要。Chord是一種基於環狀結構的結構化P2P系統,在結構化P2P系統下每個節點都維持著鄰居擁有什麼資源的資訊。在Chord系統中能有效率的找到存著某個資源的節點。Chord系統提供了一個簡單的運作,亦即經由雜湊法將資料分配到所對應的節點,如此就能夠有效率的搜尋資源所在的位置。然而,當大多數的資料新增進Chord系統中,經過了靜態的雜湊函數運算後,有可能被放入相同的節點中,這會造成系統負載不平衡的狀態。所以,在這篇論文中,我們提出了一個以Chord系統為基本架構,利用動態雜湊來達成資料的配置,使得節點和節點間的負載維持平衡狀態。動態雜湊可允許檔案空間能夠被動態地擴展或壓縮而不需要重新組構整個檔案。動態雜湊的目的就是當有儲存區塊內的資料發生滿溢時,利用下一層的雜湊函數來將儲存區塊中的資料分散給兩個新的儲存區塊,我們的方法主要就是利用這個觀念。在我們的方法中,我們把每個節點分成兩個不同的資料結構,一個用來存放經由雜湊函數雜湊到自己的資料,另一個用來存放前者的資料。當新增一筆資料進入儲存區塊中,若發生滿溢的現象,我們就利用此動態雜湊函數將儲存區塊中的資料做分割的動作。如果此節點的負載過重,我們就將依些資料傳送給其後者。相同地,我們也考慮從儲存區塊中刪除一筆資料後,發生資料量不足的情況。如此,藉由我們所提出的方法,我們就能改進系統負載平衡的狀態。在我們的模擬結果中,我們發現尤其當P2P系統環境中存在較少的節點但資料量卻很龐大時,我們所提出的方法下系統平均負載會比Chord系統下之原方法平衡得多。此外,即使資料分布的情況差距非常大,在我們所提出的方法下,系統平均負載仍然會比Chord系統下之原方法平衡得多。
Abstract
In a P2P (Peer-to-Peer) system, every user node, i.e., the peer, may dynamically join and leave the system. In general, peers can exchange information and contribute portions of their resources to the community in a P2P system. They are treated functionally identical. Therefore, it is very important to efficiently locate the peer that stores a particular data item and make the system load balance in P2P systems. Chord is a structured P2P system which has a ring architecture, where a structured P2P system means that peers maintain information about what resources neighbor peers offer.
It provides support for just one operation: to assign the data key to the peer by hashing. Therefore, we can efficiently locate the peer that stores a particular data key. However, in the Chord system, most of data keys may be assigned to the same peer by using the static hashing scheme, which results in the case that the load of the system not be balanced. Therefore, in this thesis, we propose a strategy which uses the dynamic hashing scheme to locate the data key based on the Chord architecture, and to maintain the load balance. A dynamic hashing allows the address space allocated to the file to be increased and reduced without reorganizing the whole file. The basic idea of a dynamic hashing approach is to split the current overflow bucket into two new buckets by using the next level hashing function without reorganizing the other buckets, and our proposed strategy uses such an approach.
In our strategy, we use two data structures for a peer, one stores the data hashed to the current peer and the other one stores the data from its predecessor. When an overflow occurs in the bucket after insertion of a data key, we use the one hashing function to split data keys stored in the data bucket. If the capacity of the current peer is larger than that of its successor, we forward some data keys to the successor. Similarly, we also consider the case of an underflow occurs in the bucket after deletion of a data key. Therefore, the unbalanced condition of the load (even distribution of items to nodes) of the system can be improved based on our strategy.
From our simulation results, we show that the load of the P2P system based on our strategy is much more balanced than that used in the Chord system, when there are few peers and a lot of data keys in the P2P system. We also show that the load based on our strategy is still more balanced than that used in the Chord system, when the data distribution becomes skew.
目次 Table of Contents
ABSTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . i
LIST OF FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iv
LIST OF TABLES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1 Peer-to-Peer Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Design Issues in P2P Systems . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Searching Strategies in P2P Systems . . . . . . . . . . . . . . . . . . 5
1.4 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Organization of Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2. A Survey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1 Unstructured P2P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.1 Napster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.2 Gnutella . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.3 Freenet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Structured P2P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3. A Dynamic Hashing Approach . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Data Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3 The Insertion Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 The Deletion Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.5 The Searching Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.6 An Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4. Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.1 Simulation Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.2 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.1 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
5.2 Future Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
BIBLIOGRAPHY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
參考文獻 References
[1] K. Aberer and M. Hauswirth, "An Overview on Peer-to-Peer Information Sys-
tem," Proc. of Int. Workshop on Distributed Data and Structures (WDAS),
pp. 171-188, 2002.
[2] F. S. Annexstein, K. A. Berman, and M. A. Jovanovic, "Broadcasting in Unstruc-
tured Peer-to-Peer Overlay Networks," Theoretical Computer Science, Vol. 355,
No. 1, pp. 25-36, April 2006.
[3] M. Balazinska, H. Balakrishnan, and D. Karger, "Ins/twine: A Scalable Peer-
to-Peer Architecture for Intentional Resource Discovery," Proc. of Int. Conf. on
Pervasive Computing, pp. 195-210, 2005.
[4] Y. I. Chang and C. I. Lee, "An Incremental Approach to Dynamic Hashing for
Expansible Files," Information Science and Engineering, Vol. 9, No. 4, pp. 495-
522, 1993.
[5] A. H. Cheng and Y. J. Joung, "Probabilistic File Indexing and Searching in Un-
structured Peer-to-Peer Networks," Computer Networks, Vol. 50, No. 1, pp. 106-
127, Jan. 2006.
[6] I. Clarke, S. G. Miller, T. W. Hong, O. Sandberg, and B. Wiley, "Protecting
Free Expression Online with Freenet," IEEE Internet Computing, Vol. 6, No. 1,
pp. 40-49, Jan./Feb. 2002.
[7] A. Crespo and H. Garcia-Molina, "Routing Indices for Peer-to-Peer Systems,"
Proc. of the 22nd IEEE Int. Conf. on Distributed Computing, pp. 23-35, 2002.
[8] F. Dabek, M. F. Kaashoek, D. Karger, R. Morris, and I. Stoica, "Wide-Area
Cooperative Storage with CFS," Proc. of Symp. on Operating Systems Principles,
pp. 202-215, 2001.
[9] N. Daswani, H. Garcia-Molina, and B. Yang, "Open Problems in Datasharing
Peer-to-Peer Systems," Proc. of Int. Conf. on Database Theory, pp. 1-16, 2003.
[10] C. H. Ding, S. Nutanong, and R. Buyya, "Peer-to-Peer Networks for Content
Sharing," Peer-to-Peer Computing: Evolution of a Disruptive Technology, Idea
Group Publishing, pp. 28-65, 2005.
[11] R. Fagin, J. Nievergelt, N. Pippenger, and H. R. Strong, "Extendible Hashing -
A Fast Access Method for Dynamic Files," ACM Trans. on Database Systems,
Vol. 4, No. 3, pp. 315-344, 1979.
[12] S. Fanning, "Napster," http://www.napster.com/, 1999.
[13] R. A. Ferreira, S. Jagannathan, and A. Grama, "Locality in Structured Peer-to-
Peer Networks," Parallel and Distributed Computing, Vol. 66, No. 2, pp. 257-273,
Feb. 2006.
[14] G. Fox, "Peer-to-Peer Networks," Computing in Science and Engineering, Vol. 3,
No. 3, pp. 75-77, May/June 2001.
[15] K. Gummadi, R. Gummadi, S. Gribble, S. Ratnasamy, S. Shenker, and I. Stoica,
"The Impact of DHT Routing Geometry on Resilience and Proximity," Proc. of
Int. Conf. on Applications, Technologies, Architectures, and Protocols for Com-
puter Communications, pp. 381-394, 2003.
[16] H. C. Hsiao and C. T. King, "Neuron: A Wide-Area Service Discovery Infras-
tructure," Proc. of Int. Conf. on Parallel Processing, pp. 455-462, 2002.
[17] H. C. Hsiao and C. T. King, "Similarity Discovery in Structured Peer-to-Peer
Overlays," Proc. of Int. Conf. on Parallel Processing, pp. 636-644, 2003.
[18] H. C. Hsiao and C. T. King, "Tornado: A Capability-Aware Peer-to-Peer Stor-
age Overlay," Parallel and Distributed Computing, Special Issue on Middleware,
Vol. 64, No. 6, pp. 747-758, June 2004.
[19] H. C. Hsiao and C. T. King, "Resource Discovery in Peer-to-Peer Infrastructure,"
High Performance Computing: Paradigm and Infrastructure, John Wiley and
Sons Limited, pp. 1-28, 2005.
[20] T. Klingberg and R. Manfredi, "The Gnutella 0.6 Protocol Draft," http://rfc-
gnutella.sourceforge.net/, 2002.
[21] Knuth and E.Donald, "Sorting and Searching," The Art of Computer Program-
ming, Addison Wesley, pp. 506-544, 1973.
[22] J. Kubiatowicz, D. Bindel, Y. Chen, P. Eaton, D. Geels, R. Gummadi, S. Rhea,
H. Weatherspoon, W. Weimer, C. Wells, and B. Zhao, "Oceanstore: An Archi-
tecture for Global-Scale Persistent Storage," Proc. of Int. Conf. on Architectural
Support for Programming Languages and Operating Systems, pp. 190-201, 2000.
[23] P. Larson, "Linear Hashing with Seperators - A Dynamic Hashing Scheme
Achieving One-Acess Retrieval," ACM Ttrans. on Database Systems, Vol. 13,
No. 3, pp. 366-388, 1988.
[24] M. Mansuripur, "Entropy, Discrete Memoryless Source, and Block Encoding,"
Introduction to Information Theory, Prentice-Hall, pp. 11-24, 1987.
[25] P. Maymounkov and D. Mazieres, "Kademlia: A Peer-to-Peer Information Sys-
tem Based on the Xor Metric," Proc. of the First Int. Workshop on Peer-to-Peer
Systems, pp. 53-65, 2005.
[26] W. H. Press, B. P. Flannery, S. A. Teukolsky, and W. T. Vetterling, "Moments of
a Distribution: Mean, Variance, Skewness, and So Forth," The Art of Scientific
Computing, Cambridge University, pp. 604-609, 1992.
[27] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker, "A Scalable
Content-Addressable Network," Proc. of Int. Conf. on Applications, Technolo-
gies, Architectures, and Protocols for Computer Communications, pp. 161-172,
2001.
[28] J. Risson and T. Moors, "Survey of Research Towards Robust Peer-to-Peer Net-
works: Search Methods," Technical Report, University of New South Wales,
pp. UNSW-EE-P2P-1-1, 2004.
[29] A. Rowstron and P. Druschel, "Pastry: Scalable, Distributed Object Location
and Routing for Large-Scale Peer-to-Peer Systems," Proc. of IFIP/ACM Int.
Conf. on Distributed Systems Platforms, pp. 329-350, 2001.
[30] A. Rowstron and P. Druschel, "Storage Management and Caching in Past, a
Largescale, Persistent Peer-to-Peer Storage Utility," Proc. of Int. Symp. on Op-
erating Systems Principles, pp. 188-201, 2001.
[31] I. Stoica, R. Morris, D. Karger, M. F. Kaashoek, F. Dabek, and H. Balakrishnan,
"Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications,"
Proc. of the 9th Int. Conf. on Applications, Technologies, Architectures, and
Protocols for Computer Communications, pp. 149-160, 2001.
[32] C. Tang, Z. Xu, and S. Dwarkadas, "Peer-to-Peer Information Retrieval Us-
ing Selforganizing Semantic Overlay Networks," Proc. of Int. Conf. on Applica-
tions, Technologies, Architectures, and Protocols for Computer Communications,
pp. 175-186, 2003.
[33] B. Yang and H. Garcia-Molina, "Improving Search in Peer-to-Peer Networks,"
Proc. of the 22nd IEEE Int. Conf. on Distributed Computing Systems, pp. 5-15,
2002.
[34] B. Y. Zhao, L. Huang, J. Stribling, S. C. Rhea, A. D. Joseph, and J. Kubiatow-
icz, "Tapestry: A Global-Scale Overlay for Rapid Service Deployment," IEEE
Journal on Selected Areas in Communications, Vol. 22, No. 1, pp. 41-53, Jan.
2004.
電子全文 Fulltext
本電子全文僅授權使用者為學術研究之目的,進行個人非營利性質之檢索、閱讀、列印。請遵守中華民國著作權法之相關規定,切勿任意重製、散佈、改作、轉貼、播送,以免觸法。
論文使用權限 Thesis access permission:校內校外均不公開 not available
開放時間 Available:
校內 Campus:永不公開 not available
校外 Off-campus:永不公開 not available

您的 IP(校外) 位址是 3.133.141.6
論文開放下載的時間是 校外不公開

Your IP address is 3.133.141.6
This thesis will be available to you on Indicate off-campus access is not available.

紙本論文 Printed copies
紙本論文的公開資訊在102學年度以後相對較為完整。如果需要查詢101學年度以前的紙本論文公開資訊,請聯繫圖資處紙本論文服務櫃台。如有不便之處敬請見諒。
開放時間 available 已公開 available

QR Code