• 沒有找到結果。

一個在P2P有效率相關節點搜尋方法

N/A
N/A
Protected

Academic year: 2021

Share "一個在P2P有效率相關節點搜尋方法"

Copied!
76
0
0

加載中.... (立即查看全文)

全文

(1)一個在P2P有效率相關節點搜尋方法 有效率相關節點搜尋方法 一個在 研究生:吳柱遑. 指導教授:陳俊麟 博士. 國立屏東商業技術學院資訊管理系(所 國立屏東商業技術學院資訊管理系 所). 摘要 本研究目標則是以節點具有相對需求資料進行連結。提出透過節點 分析群組間具有潛在關聯性進行相似節點搜尋P2P Overlay改善,透過關 聯性分析演算後,經由使用有效地連結到相似的節點進行訊息交換,令 原先P2P Overlay達到擁有更佳良好的資料交換方式。. 關鍵字: P2P Overlay、非結構化、關聯性、搜尋. 1.

(2) An efficient method for search associate nodes in P2P network Student:Ju-Huang Wu. Advisor:Dr. Chin-Ling Chen. Dept. of Information Management, National Pingtung Institute of Commerce. ABSTRACT Existing P2P search methods in unstructured networks usually calculate its own node capacity before develop all possible design issues, thus making lookup more efficient. This study proposes a novel search scheme based on clustering analysis. The target Peer first chooses some neighbors and computes the similarity between itself and them. Searching is started based on similarity accordingly. Finally, we experiment and validate the performance of system parameters.. Keywords:P2P Overlay、Unstructured、Associate、Search. II.

(3) 誌 謝 感謝學校提供綠樹春風般如此優雅別緻的就學環境。本論文能順利 完成首要感謝指導教授陳俊麟博士,在教授鉅細靡遺的指導下,讓我瞭 解研究領域及研究方法要領使得本論文能夠更加充實,同時充實研究所 學程。其次要感謝蕭文鋒教授、戴逸民在專業領域知識上的授業與解惑。 此外,還要感謝論文口試委員童曉儒教授、龔旭陽教授、鄭進興教授及 陳俊麟教授在口試時給予指導,使本論文可以更趨完整。 感謝研究所學長陳朝龍、王瑞銜、林晉民在學術研究上的幫助,感 謝患難與共的好友-廖堃成、姚銘翔、張志宇…,多謝你們友情陪伴,一 起感受過困苦及喜悅是我所珍惜存在過的證明,讓我的研究所生涯充滿 色彩。學習歷程並不順利但親愛的家人背後的支持永遠是我最大的精神 支柱,有了他們的支持讓我無後顧之憂全力衝刺在學業上,進而讓我能 順利地完成學業,如今我學有所成,感謝師長、學長及同學對我的關愛 與照顧,經歷過諸多事件成就出自我的完成,願與此共享榮耀。. 吳柱遑(Ju-Haung Wu) 謹誌於 屏東商業技術學院 資訊管理所 中華民國99年1月. III.

(4) 目. 錄. 1. 前言 ............................................................................................. 10. 1.1. 研究背景 ..................................................................................... 10. 1.2. 研究動機 ..................................................................................... 11. 1.3. 研究目的 ..................................................................................... 11. 1.4. 研究步驟 ..................................................................................... 13. 1.5. 論文架構 ..................................................................................... 14. 2. 文獻探討 ...................................................................................... 16 2 . 1 P2P 加疊( )........................................... 16 加疊(Peer-to-Peer Overlay) 2 . 1 . 1 結構化網路(Structured Network) ..................................... 17 結構化網路 2 . 1 . 2 非結構化網路(Unstructured Network) ............................. 18 結構化網路 2 . 1 . 2. 1 泛洪搜尋( ) ....................................... 18 泛洪搜尋(Flooding Search) 2 . 1 . 2. 2 隨機遊動搜尋 ) ................. 19 隨機遊動搜尋( 遊動搜尋(Random Walk Search) 2 . 1 . 2. 3 超級節點搜尋( ) .................... 20 超級節點搜尋 ( Super Node Search). 2.2. P2P 節點問題與解決方法 ......................................................... 21. 2 . 2 . 1 P2P 弱度節點定義............................................................... 21 IV.

(5) 2 . 2 . 2 P2P 關聯式節點................................................................... 22. 3. 關聯性節點相似性演算法設計 ...................................................... 24 3 . 1 節點群組維護( ) ............................. 24 節點群組維護(Node Group Maintainance) 3 . 1 . 1 節點加入( ) .................................................... 25 節點加入(Node Joining) 3 . 1 . 2 節點遺棄( ) ............................................... 26 節點遺棄(Node Departure) 3 . 2 關聯性相似度演算法( ) .......... 26 關聯性相似度演算法(Associate Similarity Algorithm) 3 . 2 . 1 分群與相似度( ) ............................ 28 分群與相似度(Cluster and Similarity) 3.2.2. 集群分析的概念( ) ..... 29 集群分析的概念(The Concept of Cluster Analysis). 3.3. 相似度距離測量法( ) .... 30 相似度距離測量法(Distance Similarity Measurement). 3.4. 替補節點 ................................................................................... 34. 3.5. 搜尋路由 ................................................................................... 35. 3.5.1. 探測式封包設計( ) ...................... 37 探測式封包設計(Probing packet design). 3.5.2. 推薦封包設計(Recommend packet design) ) ................... 38 推薦封包設計. 3.5.3. 隨機遊走封包設計( ) 隨機遊走封包設計(Random walk-based packet design). ............................................................................................................... 40 4. 系統網路架構及開發環境 ............................................................. 45 4 . 1 開發環境 ....................................................................................... 45 V.

(6) 4 . 2 系統網路架構 ............................................................................... 46 4 . 3 JXTA 協定及網路協定結構 ....................................................... 50 4 . 4 JXTA 傳輸處理流程架構 ........................................................... 55. 5. 系統設計實作與效能分析 ............................................................. 58 5 . 1 實驗方法與步驟 實驗方法與步驟 ........................................................................... 58 5 . 2 實驗環境 實驗環境 ....................................................................................... 59 5 . 3 實驗 1 - P2P 網路負載與搜尋..................................................... 60 5 . 4 實驗 2 - P2P 網路關聯性相似度搜尋的效率及準確性 ............ 67. 6. 結論與未來研究方向 .................................................................... 73 參考文獻.........................................................................................................74 考文獻. VI.

(7) 圖 目 錄. 圖 1-1 研究步驟.......................................................................................... 14 圖 2-1 P2P OVERLAY 網路示意圖 .......................................................... 17 圖 2-2 泛洪搜尋.......................................................................................... 19 圖 2-3 隨機遊走.......................................................................................... 20 圖 2-4 超級節點傳輸.................................................................................. 21 圖 3-1 節點加入圖...................................................................................... 27 圖 3-2 EXTENSIBLE MARKUP LANGUAGE (XML)資源描述框架 ... 28 圖 3-3 曼哈頓距離說明 ............................................................................. 31 圖 3-4 歐幾里德距離與曼哈頓距離比較 ................................................. 32 圖 3-5 節點搜尋前置作業流程(候選清單取得)....................................... 33 圖 3-6 ARRAY 資料結構圖 ...................................................................... 36 圖 3-7 路由時序協定(ROUTING TIMING PROTOCOL) ....................... 37 圖 3-8 探測封包(PROBING PACKET) ..................................................... 37 圖 3-9 推薦封包(RECOMMEND PACKET) ............................................ 39 圖 3-10 終止推薦封包(THE LAST RECOMMEND PACKET)................. 40 圖 3-11 節點相似成員搜尋.......................................................................... 41 圖 3-12 節點搜尋流程圖 ............................................................................. 43 圖 4-1 開發環境圖...................................................................................... 46 VII.

(8) 圖 4-2 JXTA 網路結構圖 ........................................................................... 50 圖 4-3 P2P 傳輸協定關係圖[19] ............................................................... 54 圖 4-4 P2P 傳輸處理流程模組 .................................................................. 55 圖 5-1 網路實驗架構.................................................................................. 59 圖 5-2 不同物件類別數平均交換時間 ..................................................... 63 圖 5-3 PEERS 總類別物件平均交換時間 ................................................ 64 圖 5-4 前置時間平均交換時間比較 ......................................................... 65 圖 5-5 前置時間與全部搜尋比較 ............................................................. 66 圖 5-6 RANDOM WALK 與 MY WALK 搜尋平均時間比較 ................. 70 圖 5-7 RANDOM WALK 與 MY WALK D(XI , XJ)有效性比較 .......... 71 圖 5-8 AVG RANDOM WALK / AVG MY WALK D(XI , XJ)有效性比較 .................................................................................................................. 72. VIII.

(9) 表 目 錄. 表 4-1 JXTA 通訊協定簡介 ...................................................................... 53 表 5-1 網路實驗設備列表 ......................................................................... 60 表 5-2 系統參數效能的比較 ..................................................................... 61 表 5-3 實驗類別參數 ................................................................................. 68 表 5-4 實驗參數比較 ................................................................................. 69. IX.

(10) 1. 前言. P2P(Peer-to-Peer)網路傳輸為二十一世紀時代新發明,是現今各 種網路技術出現後所產生的契機,爲改變資料傳輸所遭遇到的瓶頸而出 現新的尖端科技。. 1.1. 研究背景. 傳統的主從式網路架構(Client-Server)大多配合單播傳輸(Unicast),但 隨著資訊媒體資料量日漸增加,單播傳輸技術已漸漸不符使用。龐大的 媒體資料量及有限的傳輸頻寬,令多數的Clients需等待Server閒置才能進 行傳輸,種種條件的限制促使近代P2P(Peer-to-Peer)架構的產生。P2P 是一種使用者與提供者以對等性互動方式,直接交換資訊及服務。一個 Peer可代表一台電腦主機,或者是一項存在於一台電腦中處理程序的任 務,或是節點(node) 。此種P2P架構將伺服端負載平均分散在每個節點, 因此提高了節點頻寬、硬碟的使用率(utilization)。通過節點與節點通訊, 連結感興趣(interesting)的節點,從而進行資源分享及交換訊息,並在 群組中相互監控Peer目前訊息。目前P2P系統功能已具備如下功能:資料 共享、目錄搜尋、軟體發佈及指定分配 [1] 等。使用者可以根據自己的. 10.

(11) 喜好、配置、裝置性能,網路上異質性及差異性,在不同情況下來使用 P2P應用程式。. 1.2. 研究動機 研究動機. 隨著網際網路交換技術能力與電腦硬體設施與日精進,網際網路中 Peer-to-Peer(P2P)技術提供輔助資訊共享方式。節點與節點之間關係存在 更多可改善空間。 近來P2P環境以非結構化的網路為主,因此如何維護P2P虛擬網路層 級共享能力的穩定性以至更新P2P網路資料傳遞狀況成為未來研究一大 課題。以往研究大多數是以計算Peer本身所具備的效能為主,並設計出一 個交換機制,使得P2P Overlay實現更佳的資料交換環境。本研究目標則 是以具有相對需求資料節點進行連結。. 1.3. 研究目的 研究目的. 合理的 Overlay 優化策略可以有效支援目標搜尋協定。ㄧ般評估 P2P 鏈結演算法好壞,必須考慮出不同現實情境及不同的使用者處理,也因 此該演算法必須考慮真實網路狀況,評估機制必須達到:. 11.

(12) (1) 可擴充性(Scalability):P2P Overlay 因 Peer 與 Peer 之間具備共享 功能提升上傳及下載速度,Peers 共享成員越多,在共享方面越具 有顯著性效能。 (2) 關聯性(Correlation):節點與節點彼此之間共享是透過在跳躍點 (hop)與跳躍點之間相連,而達到資料傳輸功能。每一節點均存 在某些屬性,若能依屬性設定合理的路由協定進而可以選擇溝通的 路徑,以達到更快速共享鏈結。 (3) 負載性(Overhead):Peers 本身需具有協調頻繁節點加入或者斷線 及離開。良好的演算法機制中額外加入的資料,必須在不影響到整 體的平均傳輸時間情況下進行。換句話說演算法造成的資料必須使 其不會明顯阻礙到節點間傳輸及計算能力。 本研究目的針對非結構化的P2P網路,並假設節點是完全分佈(fully distributed)的情況,並且不考慮超級節點存在。本文期望能利用關聯性 搜尋相關節點演算法找出相關性節點,透過分析後篩選出相關性節點。 由基準節點比對到被搜尋的節點,找出與其具有高度相似度節點。令原 本非結構化P2P Overlay內各個節點儲存具有其本身相對應高度相似節 點。P2P有效率的分享主要是取決於節點多寡及能搜尋到具有相同興趣節 點。此設計考量在新節點登入時能快速取得該目標共享節點,以進行P2P 共享功能。. 12.

(13) 1.4. 研究步驟. 本研究之研究步驟如圖1-1所示,首先透過蒐集P2P研究論文及現階 段技術規格書,釐清P2P觀念及運作模式將資料彙整處理,以簡單程式碼 測試現階段的研究實驗環境,將產生的資料與先前整理資料進行重整, 分析問題,隨即取得可行性分析,繼續可對研究目標進行系統設計。本 研究中系統開發過程將系統與測試的結果與需要避免的問題加以註記, 之後進行程式設計,進階將所進行的實驗分析出結果與建議,透過此研 究步驟進行開發,建立點對點傳輸系統。. 13.

(14) 點對點網路技術資料蒐集與彙整. 實驗環境測試. 產生資料與彙整資料進行整理. 問題分析. 取得實驗可行性分析. 系統流程設計. 系統開發與測試. 進行實驗與分析. 結論與建議. 圖 1-1 研究步驟. 1.5. 論文架構 本論文架構說明中,首先由第2章描述說明現階段P2P網路技術型. 態,與著名傳輸搜尋優缺點等介紹,定義出研究的方向。第3章則描述研 究中所得知法則,與關聯性節點相似性演算法設計與結合。第4章則介紹 本研究網路架構與JXTA網路協定結構,第5章則研究開發P2P網路架構組 織模組介紹,針對本研究中的實驗與結果進行分析討論。第6章為本研究. 14.

(15) 論文結論與未來可行性研究的發展與建議。. 15.

(16) 2.. 文獻探討. 本研究將透過所蒐集文件進行P2P虛擬網域解析,透過文獻探討過程 同時了解P2P網路架構,蒐集分析文件後將現存技術優缺點指出後,歸納 出研究的可行性方向。. 2 . 1 P2P加疊 加疊( ) 加疊(Peer-to-Peer Overlay). 圖 2-1 為系統中各個 Peers 和其他 Peers 在網路體系中建立虛擬連 結,可清楚看出下層實體網路電腦與其他網路基層設施所形成的架構, 而上層則為 P2P 虛擬網路所構成的網路層級,整個系統中可看出所有 Peer 互連組成另一個應用層級。由於此一網路建構於底層實體網路上,有賴 於底層實體網路的支持,形成邏輯上虛擬網路,因而稱為加疊(Overlay [1-2])。通過 Peer 間合作轉送實現 Overlay 網路路由,根據 P2P Overlay 可劃分為結構化(Structured)[4]及非結構化(Unstructured)兩種不同的 網路型態。. 16.

(17) 圖 2-1 P2P Overlay 網路示意圖. 2 . 1 . 1 結構化網路(Structured Network) 結構化網路. 在結構化 P2P 系統中(如 Chord,CAN)[4],Overlay 拓樸結構及資 源佈署都受到嚴格的控制,並由分散式雜湊表(Distributed Hash Table, DHT [4])來决定系统中资源到位置的映射。由於使用者配置不同,基於 分散式雜湊表原理的網路往往形成不能信賴的伙伴關係 [4],節點也許需 要繞過一段很長的路徑才能找到資料。其主要問題在於要維護高度的結 構化上,很容易造成 Overhead。P2P 系統中 Peer 的特性是可以動態性加 入/離開,發生加入/離開可能因此變動網路結構,傳輸效率會受到明顯影 響,因此使網路上節點負載過大。另外,DHT 無法支持模糊查詢。. 17.

(18) 2 . 1 . 2 非結構化網路(Unstructured Network) 結構化網路. 非結構化 P2P 系統協定較為簡單,而且對 Overlay 拓樸(Topology)以 及整個系統中資源的放置位置並沒有明顯限制 [6-7]。當一個新節點加入 Overlay 網路時,首先需要與一個初始節點(Bootstrapping node)作連接, 取得網路上目前其他節點的訊息,然後新加入節點可以透過 Overlay 路由 協定與網路中其他節點進行通訊。非結構化 P2P 系統能夠支援關聯性關 鍵字搜尋,並且由於該類型系統具有高度容錯性,因此可以良好地反應 高度動態化 P2P 網路。非結構化 P2P overlay 為了提高品質的優化,在搜 尋階段經常引用 Flooding、隨機遊走(Random walk)、超級節點等機制。. 2 . 1 . 2. 1 泛洪搜尋( ) 泛洪搜尋(Flooding Search). Gnutella [2] 以限制存活時間(Time-To-Live,TTL)機制進行 Flooding 搜尋。當蒐集到相關節點時,會將該節點傳送回到原節點。當 TTL 值歸 零時,則結束搜尋。非結構化 P2P 系統的優點是全方位搜尋,但進行非 有效率性的相關性搜尋則是其缺點所在。一般非結構 P2P 系統需要 Flooding 使用者以進行相關查詢。由於網路共享資源的不確定性,每個節. 18.

(19) 點所共享資源會有所差異,所以需要依靠 Flooding 來發布探索訊息,再 經由每個節點回覆節點本身的內部訊息。關於 Flooding 路徑長短及搜尋 效率性已有很多研究探討過 [1-2,7,10]。一般而言,要獲得完整的搜尋需 要高度的計算資源(Computation)和更大的傳輸成本(Communication overhead),因而會導致較大的延遲。. 圖 2-2 泛洪搜尋. 2 . 1 . 2. 2 隨機遊 ) 隨機遊動搜尋( 動搜尋(Random Walk Search). P2P 系統中,隨機遊走所指是以節點基於路徑不重複的搜尋機制,且 已對外隨機選擇不重複跳點(hops)進行深入搜尋,直到搜尋到目的節點後 將此訊息傳回給發出搜尋的原節點。隨機遊動(Random walk)雖然能夠. 19.

(20) 減少無效性搜尋,但依舊欠缺搜尋效率[1]。由上述可以看出有關搜尋的 問題,目前尚無具體的解決方法。. 圖 2-3 隨機遊走. 2 . 1 . 2. 3 超級節點搜尋 ) 超級節點 搜尋( 搜尋 ( Super Node Search). 在 P2P 系統中,資料傳輸通過對等節點進行,不需要很多集中式 伺服器。但為了保證資料傳輸品質,P2P 會自動分析每個節點硬體資 源,令有較大頻寬和計算能力強、儲存量大、低延遲電腦擔任它的超 級節點(Super node)[3]。一般節點需要向超級節點(目錄伺服器)報 告共享資訊。超級節點本身具備高度計算能力及性能,並且能夠充當ㄧ 個區域的伺服器,從而解決擴展性問題。超級節點的概念被引用於 Kazaa [1,7] 以改善原先的搜尋機制。超級節點其子節點不需負擔太高的搜尋成. 20.

(21) 本,但主要缺點則是容易引發負載平衡問題及不易維護整個網路。. Node Node Node Node Super node. Target Node. Super node Query Node. Node. Node Node Node. Node. 圖 2-4 超級節點傳輸. 2.2. P2P 節點問題與解決方法 節點問題與解決方法. 下述將於研究中指出節點與節點存在的問題,並且定義問題存在條 件與發生情況,相對於所搜集到的文獻探討中提出可行性解決方案。. 2 . 2 . 1 P2P 弱度節點定義 弱度節點定義. 非結構 P2P 系統另外一項問題是可能會存在弱度節點(weak node)。 當某一個節點加入 P2P Overlay 網路後,會發現在此 Overlay 中對於共享 21.

(22) 的資源並不感興趣(interesting)。感興趣的節點通常可能是電腦內部具有 可供計算的一些代表性數據,這些數據通常可能是關鍵性影響到傳輸品 質,依據 Peer 與 Peer 之間感興趣程度,在本研究中則定義為共享物件類 別的相似度高低。 弱度節點會使得其他正在處理共享的 Peer 必須花費額外的資源去處 理其加入訊息,可能令正在傳輸中檔案發生阻礙,並可能進一步造成整 體傳輸品質受到影響。當節點離去,連結中斷,則必須重新進行搜尋相 關的節點建立連結。如何達到良好鏈結,以確保資料不遺失,是目前所 需改善明顯趨勢。. 2 . 2 . 2 P2P 關聯式節點 關聯式節點. 在[6]中提出 P2P 網路關聯式替補演算法以改善原先鏈結,也就是在 P2P Overlay 中鏈結直接相連的節點為鄰居,並監控鄰居的通訊。在[5]中 作法是去監控不可信任性節點,其中不可信任節點是透過群組內節點定 期搜集,所生成的監控訊息,判斷出是否為可信任節點。因此,透過鄰 近節點互相監控,以達到網路鏈結的安全性,藉此提升彼此鏈結強度。 在網際網路中,由於每個節點處理能力及連結頻寬不盡相同,因此對於 能夠負責相鄰節點的節點數有ㄧ定程度上的限制。由上述可知,透過加 強彼此節點鏈結關係,以進ㄧ步形成彼此具有關聯的節點,利用關聯性 22.

(23) 搜尋相關節點機制可達到提升有效性鏈結。與以前的方法不同,關聯式 搜尋相關節點機制側重檔案分享時相似度的搜尋[6]。在非結構化 P2P 系 統,如 Gnutella 和 Kazaa,節點是具有相互關聯性[1],整個網路以一個隨 機方式提供高度恢復力(high restoration),並可以容忍節點頻繁離開/ 加入/失敗。有學者將 Peer 之間的關係比喻成在社會上人與人之間具備一 些關聯性[8],以人比喻成物件,則演化(Evolution)為不同物件上屬性差 別。其主要構想是源自社會網路[8]一組行為者(node)與另一個行為者 可能具有關係(relationship),進而對演化進行分析後,取得彼此之間具 有相對性關聯,即可運用加權計算出節點間關係。[6]中並將演化推廣到 現實網路情境,定義出使用者之間許多共同感興趣的事物類別形成彼此 之間關聯性存在,在此本研究參考[6]進ㄧ步將節點與節點之間共享共同 感興趣的物件數為屬性,因此形成關聯性連結策略[6][9]。. 23.

(24) 3.. 關聯性節點相似性演算法設計. 關聯性是主要基於使用者不同的需求所設定,原因是近年來的網路 科技的進步,使網路上 P2P 產生多種應用服務,但同樣是 P2P 資料的傳 輸技術。搜尋節點是否同為共享目標,卻需要花費相當多的時間,此行 為將影響到傳輸效能。 在設定上根據使用者的使用行為定義成不同類別物件,也就是依據 使用者使用的目前情況,描述其類別物件具有關聯性,調整傳輸能力, 避免路由經過弱度節點搜尋到共享的目標節點,減少使用上的複雜度及 增進系統傳輸的有效性。 因此本文提出一個有效節點搜尋方法的機制,本研究結合 JXTA (Juxtapose)所提供的 API(Application Programming Interface)開發出分散式 資訊傳輸平台。. 3 . 1 節點群組維護 ) 節點群組維護( 群組維護(Node Group Maintainance). 本文中進行 P2P Overlay 節點鏈結是根據 Peer 內部關聯性為準則,將 節點可分為不同集群,找出與本身相似節點進行 P2P Overlay 網路鏈結。 首先,Peer 加入時,賦予 Peer 唯一辨識(identification),以此區別不同 24.

(25) Peer。Peer 得到辨識後進行加入集群的行為,依據所需的服務 Peer 使用 集群中提供的服務。本研究方法有別於其他路由方法,即是對目前搜集 到最為相似節點進行鑑定之後建立關聯性候選名單。主要是考量到太明 確界定 Peer 與 Peer 之間的關係,可能導致在共享功能上產生阻礙。另ㄧ 方面若是使用預先定義出節點集群,可能造成往後自身節點連結需經由 一段距離後才能連結到另ㄧ節點。因此依照節點內部 Peer 所產生的參數 取得概略性的具有關聯性相似度成員。相似度成員搜尋將於本章演算法 設計中提到。以下將節點於 P2P 集群中所可能發生的行為詳細解釋。. 3 . 1 . 1 節點加入( ) 節點加入(Node Joining). 在本研究中,節點加入前必須先自我分析內部資源以產生內部資源參 數。首先系統使用 P2P 資源描述框架(Resource Description Framework, RDF)。應用 RDF 是基於可描述每個 Peer 內部資訊且提供資源的元資料 (Metadata) , 元 資 料 可 儲 存 ㄧ 些 資 源 的 類 別 物 件 透 過 嵌 入 式 行 為 (Embedded Action),根據資源類別定義出一連串參數訊息,連結現存網 路上某一節點作為初始節點(Bootstrap Node)[11],再以此節點將訊息引導 發送至網際網路各個現存節點,目的是爲了找到目標進行共享,共享期 間每一個節點都建立其所屬集群。. 25.

(26) 3 . 1 . 2 節點遺棄 ) 節點遺棄( 遺棄(Node Departure). 群組內節點可能離線或者斷線造成節點間資料傳輸中斷,令整個 P2P Overlay 資料傳輸效能降低,基於此問題,本研究在 P2P Overlay 空間中 加入新節點時,必需儲存其他現存 P2P Overlay 其餘成員。雙方依據彼此 之間的類別物件計算,以彼此生成共同的參數。參數的功能爲界定出是 否為具有相關性,及之後可應用於解決離線與斷線問題。集群內部訊息 構成一系列相似成員名單彼此保存。當節點離線或者斷線發生時,或可 從此名單中找到最佳的候補節點,也可依相似性參數重新搜尋補充共享 成員的節點。. 3 . 2 關聯性相似度演算法( ) 關聯性相似度演算法(Associate Similarity Algorithm). 本文設計目的是將根據已存於 P2P Overlay 節點進行共享檔案屬性分 析,及如何將 Peers 所分析後分享資訊傳達到給其他 Peers。圖 3-1 中表 示新加入節點的情況。首先須考慮節點加入的問題,由 P2P ID space 中隨 機給予新節點一個特殊的辨識(identification,ID)。假設一個 Peer i 賦 予一個 ID,令新節點 i 辨識名稱為 IDi ,新節點 IDi 加入與 P2P 網際網路上 既存節點的 ID 必須不能重複。當新節點加入現存的 P2P 網際網路時,啟. 26.

(27) 動機制會隨機傳回一個已在系統上的初始節點,節點 i 加入此 P2P Overlay 成為正式成員,透過初始節點介紹而將其引入到其他節點集群中。爲達 到共享目標,新節點加入的集群,必須是具有高度相似性集群。 New node. IDi introduce. Bootstrap node. Net peer group private peer group. 圖 3-1 節點加入圖. 關聯性節點相似性演算法是一種基於將 Peer 內部資料分析方法。如 圖 3-2 所示 Peer 內部資料如同 XML 結構可透過資源描述框架(Resource Description Framework ,RDF)進行元資料(Metadata)的擷取,節點須 經分析資源及在內部儲存節點資訊等步驟,也就是進行 RDF 嵌入式處 理,例如:圖中所示為將 XML 中 description 的結構嵌入建立者資訊。將 本身的資料在未進入 P2P 網際網路之前,先行進一步分析內部資訊,成 為共通的統合性資訊。其次,進入 P2P 網際網路,透過啟動機制連結到. 27.

(28) 某節點進行引入程序。節點進入 P2P 網際網路透過初始節點進行搜尋, 搜尋其他節點所持資訊並進行資訊交換機制。此方式在往後可作為加入 節點候選者清單作參考性資料,節點彼此皆能取得共同的內部參數。. 圖 3-2 Extensible Markup Language (XML)資源描述框架. 研究中針對網路上 Peers 進行計算關聯性相似度。對新加入節點而 言,必須找出最佳相似度的節點群組,也因此需找出節點內部 Peers 資料 型態與之作相似度分析,並找出其他相似 Peers,以本身節點存在屬性定 義出參數為基準。. 3 . 2 . 1 分群與相似度 ) 分群與相似度( 相似度(Cluster and Similarity). 研究過程中發現關聯性節點行為具有資料多維度特性,且需要透過 28.

(29) 衡量資料點間距離的遠近來判斷彼此間相似程度。因此深入探討節點間 資料分析。. 3.2.2. 集群分析的概念 ) 集群分析的概念( 分析的概念(The Concept of Cluster Analysis). 資料探勘中表示將資料集內部所記錄資料,稱之為資料點。將資料 點加以分群成數個群集,使得每個群集中的資料點間相似程度,高於其 它群集中資料點的相似程度,這樣過程主要是爲使集群本身存在具有意 義性。換句話說,具有高度相同性的資料點會落於同ㄧ個集群內。衡量 資料點間的相似度將決定資料記錄所歸屬的群聚,並影響整個分群的結 果。 作為群集分析中相似度測量法是其根本上的程序。也因此要進行節 點集群分析首先必須進行相似度測量法。資料集群演算法可以分為階層 式(hierarchical)及分割式(partitional),在應用上則取決於資料存在型態及 資料本身特性。以下介紹:  階層式[13]:資料集群演算法可以為分層。連續式分層算法以先前建 立的集群進行分群。這些演算法可以為凝聚(agglomerative)(” bottom-up”)或分裂(divisive)(“top-down”)。凝聚演算法,是將 每個元素作為一個單獨的個體和之後它們相互合併成更大且具關係. 29.

(30) 集群。分裂演算法,是將一整組資料,進而分為先後較小的集群,以 此看出做法不同。  分割式[13]:分割式演算法通常一次性決定了所有集群,但也可以用 作階層式集群中的分裂演算法。. 3.3. 相似度距離 ) 相似度距離測量法 距離測量法( 測量法(Distance Similarity Measurement). 資料分群中一個重要步驟,是任何集群選擇距離的程序,將決定如 何計算相似的兩個元素的方法。一般距離相似度計算公式應用通常對資 料點中各資料維度給予相同重要性,然而這會造成值域 (domain) 較大 的資料維度也將左右分群的結果。以『距離』作為分類的依據,『相對 距離』愈近的其『相似程度』愈高,『距離』又可分為『點間距離』和 『群間距離』。依據本論文所採用研究開發工具及實驗理論,選擇點距 離演算法, 以下將介紹點距離演算法中的兩大演算法。  歐幾里德距離演算法(Euclidean Distance )[13]:在二維度空間中兩點 之間真實距離。在二維和三維空間中歐幾里德距離,就是邏輯上兩點 之間距離,以距離越近就越相似。  曼哈頓距離演算法(Manhattan Distance)[12]: 曼哈頓距離或方格線距. 30.

(31) 離是由十九世紀的赫爾曼·閔可夫斯基(Hermann Minkowski)所創。一 個圓是由從圓心向各個固定曼哈頓距離標示出來的點圍成的區域。因 此這種圓其實就是旋轉了 45 度的正方形。如果有一群圓,任兩圓皆 相交,則整個群的圓必在某點相交;因此曼哈頓距離會形成一個超凸 度量空間。圖中表示曼哈頓距離來用來計算棋盤格上的距離,圖 3-3 中假設單一單位距離為 1,黃色直線為歐幾里德距離大約 7.81025, 其他紫色、紅色、藍色等曲線距離皆為 11。. 圖 3-3 曼哈頓距離說明. 由上述說明可知,歐幾里德與曼哈頓距離相似度演算法具有不同的. 31.

(32) 特性,主要是基於資料面上不同。圖 3-4 中以兩種距離互相表示,曼哈頓 距離相似度是資料存在著往縱向或者橫向發展所得到的距離是等值,歐 幾里德距離的相似度則是依據直線特性,在節點關聯式資料方面並不存 在著曼哈頓距離特性,也因此在處理資料時我們應用歐幾里德距離計算 相似度。. 圖 3-4 歐幾里德距離與曼哈頓距離比較. 本文中我們假設第 i 節點最多存在 k 個類別物件,則該節點資料型態 以使用 X i 來表示,令 X i = {xi1 , xi 2 ,..., xik }多種型態,其中 xik 代表第 i 節點中資 料類別第 k 類別物件。 研究中以歐幾里德距離(Euclidean distance)進行測量,可觀察出兩 節點之間相似程度:. d( Xi , X j ) = [. 2. k. ∑x d=1. 32. id. − xjd ]1/ 2. (1).

(33) 關聯性節點相似性演算法採用公式(1)歐幾里德距離,主要是因為 Peers 本身可能具有多種不同共享資料屬性,每種資料屬性類別皆可能影 響到共享品質,根據資料探勘方式以空間距離型態表示,將其彼此做相 互比較能找出相似度,相似度越高等同距離數值越低。 i 節點與 j 節點將 透過上述公式鏈結到彼此節點進行相似度分析,以上述方式找出兩節點 是否相似。接下來我們將透過圖 3-5 流程圖說明。 node join. Random select IDi from ID Space for node i. Find Bootstaping node. Query m neighbors Compute Euclidean Distance for m neighbors Select n Similar members. Get candidates list. 圖 3-5 節點搜尋前置作業流程(候選清單取得). 33.

(34) 節點資訊取得主要目的是為未來能夠快速搜尋到有共享檔案的節 點,及被搜尋到節點能夠快速進入共享程序。假設新節點並非具有優質 計算性能,僅能持有相似成員 n 個, n < m ,因此排序出高度相似度節點 機制。在圖 3-5 中,可看出新加入節點透過集結點進入 P2POverlay 隨機 搜尋相鄰節點 m 個內部資訊,透過歐幾里德公式計算出相關性,公式(1) 計算出節點與新加入節點的相關性,將排序出一份高度相似度節點保存 清單,清單首 n 個成員則為候選者清單(candidate list),保存於節點內部, 其功能主要輔助本研究搜尋而存在。. 3.4. 替補節點. 研究中可替補性的應用,當所要搜尋目標節點並不存在時,與它極 為相似的節點可做第一時間替代,令共享程序可繼續,因此有必要設計 替補節點存在。由於目標節點與替補節點差異必須極小化,最佳替補節 點透過上述公式產生一份候選者清單,可從中取其最高相似度節點為優 先替補,當最優秀替補節點不存在時,再依序向下路由索引。引入相似 度關聯性分析與替補節點方式,不僅節點相似度關係具可替代性,甚至 可以使共享性質大為提升。. 34.

(35) 3.5. 搜尋路由. 節點相似度高低次序需有動態性更動。因此可得知每一節點內部會 分別保存一份候選者清單,此清單是與節點具有高相似可替補者成員。 以節點搜尋到目標節點觀點來看,為了加速節點間共享效率,被搜尋目 標節點的群組介紹群組成員給發出搜尋的原節點,符合 P2P 共享越多越 能達到快速分享的目的。探測式封包格式主要是依據本研究關聯性相似 度節點所設計而成,圖 3-6 每個 Peer 設置一個 Array 負責接收推薦者封 包中推薦者,不接收推薦者封包重複的 Peer,一旦發生重複則遺棄此推 薦封包,搜尋發佈之前 Array 將目前儲存的 Peers 依關聯性相似度高低排 序完成後將排除 Array 與 Hop list 重複到的 Peers 添加在 Hop list 末端, 發佈搜尋訪問後需清空 Array,清空 Array 以接收下一批推薦者。因此查 詢者每次路由搜尋,逐次訪問的 Peers 數量只會遞減。. 35.

(36) Recommend. bequery9. Array. 0. 1. 2. 3. bequery7 bequery6 bequery4 bequery9. 0. 1. 2. 3. After sort bequery4 bequery6 bequery9 bequery7. Hop list bequery03. 圖 3-6 Array 資料結構圖. 依圖 3-7 介紹路由協定流程,在起始查詢 Peer 查詢鄰近 Peers 取得資 訊,在此之前鄰近 Peers 預先保留一份候選者清單, Peer 訪問到鄰近 Peer 後,透過鄰近 Peer 轉送探測式封包及送回推薦者封包給起始查詢 Peer, 直到起始查詢 Peer 收到推薦者終止封包。收到推薦者終止封包起因是此 次探測式封包已訪問到最末端 Peer。在此之後將鄰近 Peer 的推薦者所儲 存 Array 排序其關聯性相似度後,納入探測式封包 Hop list 最尾端且路由. 36.

(37) 指標(point)則指向此次 Array 首個 Peer,之後清空 Array,依此循環搜尋 直到無推薦者後轉換為 random walk 搜尋。. 圖 3-7 路由時序協定(Routing timing protocol). 3.5.1. 探測式封包設計( ) 探測式封包設計(Probing packet design). 圖 3-8 本研究參考文獻[19]所設計出的 P2P 探測封包為本研究中查 詢者使用的初始化探測封包,以下將介紹封包內容格式:. 圖 3-8 探測封包(Probing packet). 37.

(38)  Pd:封包行為判斷代碼為 0101,透過此格式可供路由選擇模組判斷此 封包所要求行為,繼而進行相對處理程序。其中 0101 為首次訪問到 Peer 且要求必須回覆此查詢封包發起者一個推薦封包,若是被訪問者 依據 Hop list 路徑成員其推薦者重複到因而無推薦者,則推薦封包回 傳一個 null 的字串。  From:此查詢封包發起者。  To:封包查詢終止目標,也是 Hop list 最後者。  Point:活動性指標,從目前位置指向 Hop list 下一個路由目標。  Hop count: 計 算 目 前 查 詢 封 包 所 經 過 的 Hop 總 數 , 設 定 Max_value=10,主要功能爲求查詢訪問有其最多節點上限。  Hop list:儲存查詢封包所將路由的 Peers。 上述查詢者探測封包,主要設計是基于關聯性演算法,透過每個訪問到 Peer內部所儲存的替補節點,也就是最高相似度Peer,新增成為Hop list 下一個路由搜尋路徑,以此搜尋路徑進行搜尋。. 3.5.2. 推薦封包設計(Recommend packet design) ) 推薦封包設計. 探測式封包爲查詢者設計的路徑查詢封包,推薦封包則為被查詢者 要求答覆查詢者封包的格式,以下將介紹兩種封包內容格式: 38.

(39) 圖 3-9 推薦封包格式說明:  Pd:封包行為判斷代碼為 0304,功能主要將此封包傳回查詢者端給 與推薦者名稱。  From:查詢者名稱。  To:發出推薦封包節點名稱  Recommend:推薦成員為最佳替補成員,若最佳替補成員與先前探測 式封包內 Hop list 中成員比對發生重複,而無替補成員,則回傳一個 null 的字串。. 圖 3-9 推薦封包(Recommend packet). 圖 3-10 終止推薦封包格式說明,當探測式封包格式中 To 與被查詢者 節點名稱相同,換句話說,本次查詢已到終點須終止路徑查詢及回覆查 詢者訊息,將修改原先發送出探索封包為終止推薦封包傳回給查詢者, 以下為封包格式所需修改內容:  Pd:將原先封包代碼由 0101 改為 0314,使探測式封包轉為終止推薦 封包。  Point:活動性指標歸零,轉為指向 Hop list 第零個位址,也就是查詢 者。. 39.

(40)  Recommend: 推薦成員為最佳替補成員,若最佳替補成員與探測式封 包內 Hop list 中成員比對發生重複,而無替補成員,以致候選者清單 在無替補成員,則回傳一個 null 的字串。. 圖 3-10 終止推薦封包(The last recommend packet). 3.5.3. 隨機遊走封包設計( ) 隨機遊走封包設計(Random walk packet design). 設計隨機遊走封包觸發事件於當查詢者儲存推薦者 Array 為空值,且 查詢者路由的節點數不足時使用,透過隨機遊走搜尋模式路由足夠節 點,以此模式路由則被查詢者無推薦封包傳回。隨機遊走封包與圖 3-8 探測式封包式同款格式設計,主要不同為:  Pd:查詢者將封包代碼改為 0201,以此鑑別隨機遊走路由行為。  Hop count:新增隨機遊走搜尋到新節點名稱後,計數器累加,設定 Max_value=10,主要功能爲求查詢訪問有其最多節點上限。  Hop list:新增隨機遊走搜尋到節點名稱於最後位置。  Point:活動性指標,此節點搜尋到新節點在送出封包之前,指標指向 目標節點位置。  To:當隨機遊走搜尋到新的目標節點,則替換原先此格式中節點名稱。 40.

(41) bequery06 bequery04 bequery05 Array (Recommend). 1 bequery01 2 bequery02 3 bequery03. 1 bequery05 Candidate list. Candidate list 1 bequery06 First router query. First router / bequery05. Candidate list bequery06. bequery03. bequery04 First router. bequery01. First router. bequery05 1 bequery04. bequery02. bequery06 Candidate list. bequery04. 圖 3-11 節點相似成員搜尋. 在圖 3-11 首次路由搜尋訪問節點透過鄰近節點資訊各別保存一份清 單(Candidate list),當查詢者(query)首次路徑搜尋清單中選出 n 個與其相 似的成員為訪問路徑次序如圖中 bequery01, bequery02, bequery03。圖中 bequery01 節點必定比 bequery02 節點相似度高。當依次訪問後送回原查 詢節點一個成員,如圖中 bequery01 推薦封包中的 bequery06。此成員同 樣是與被查詢節點清單中高度相似的存在,傳回推薦者則儲存在 Array。 當此次查詢結束後,第二次節點路由搜尋則將首次送回節點排序關. 41.

(42) 聯性相似度後成為新的訪問路徑,納入首次探測式封包 Hop list 末端, Point 指向此次首個新的 Peer,再次封裝成探測式封包送出後將 Array 清 空,循序完成直到 Array 無任何成員,若是查詢者所取得成員未達所需求 成員數上限可進行隨機遊走搜尋直到路由到足夠成員數。因此可深入取 得更佳共享成員,再將高相似候選成員暫存於 Array,可進一步索引路由 其他節點找出最佳相似度成員成為其可替補成員。. 42.

(43) Search start. Random walk Set pd=0201. Chose packet true. Point++. Candidate list. Set pd=0101. Pd==0304 Send packet. false. end. Send packet. Sending module. Receiving module Receive packet. Candidate list. Chose packet. Set pd=0314. Read pd. false. true to== this peer. Set pd=0304 false. true. clear Array. Pd=0101 false. false. Recommend==null. Copy Array to Hop list. true. Pd=0304 false. true. true. accsess data. false. end. false. Pd=0314. Pd=0201 sort Array. accsess data false. Array. Hopcount== Max_value. Recommend==null true. candidate router. false. Array==null. true. Get peer id from Hop list. true Hopcount== Max_value. true. Search end. Search end. 圖 3-12 節點搜尋流程圖. 圖 3-12 節點搜尋開始是依據前述,首先送出高度相似度成員訪問封 包,取得回傳的封包後,判斷收到封包類型,為推薦者封包,推薦者查 詢終止封包,隨機路由封包及探測式封包。當取得推薦者封包後,判斷. 43.

(44) 是否存在推薦者,為是時取出訪問節點替補者,存入 Array 清單中,相對 地得到推薦者查詢終止封包後,判斷 Array 清單是否為空,若為空值則代 表無替補者存在,在此之後查詢者判斷未收足成員,若為否則再次發出 相似度搜尋將目前收到的推薦者為路由路徑。另ㄧ方面接收到推薦者查 詢終止封包後,判斷出 Array 為空值且所需成員數不足轉為隨機路由機 制,重新發出路徑搜尋。隨機路由機制終止為發佈搜尋者取得足夠 hops 才為完成路由搜尋,當未達到查詢者要求足夠節點上限時會持續進行路 徑搜尋,直到滿足條件整體搜尋結束。接收到探測式封包則會先後送出 兩種封包,一種是推薦者封包,令一種是轉送探測式封包。. 44.

(45) 4.. 系統網路架構及開發環境. JXTA[11]原本是由Bill Joy及Mike Clary所發起的研究計畫,本身定義 一系列開放式標準傳輸協定,不需透過集中式伺服器便可進行點對點傳 輸,及機器之間的共享資源。以下將首先介紹開發環境,之後是JXTA成 員架構所形成的網路與JXTA功能協定。. 4 . 1 開發環境. 圖 4-1 開發環境中指出本研究使用 JXSE2.5[11]及 Java j2sdk_ 1.67(Core Java J2SE)版本進行實驗,此為 SUN 所提供第二代 JXTA 程式 語言可設計出 P2P 實驗環境,JXTA 包含著許多 P2P 協定及 API 可提供 實現相對功能需求。P2P 以 XML 格式進行傳輸,程式則透過 J2SE 所處 理。換句話說,其內部資料傳輸及訊息封包則都是由 XML 格式進行封裝 與嵌入後產生。. 45.

(46) 圖 4-1 開發環境圖. 4 . 2 系統網路架構 系統網路架構. 網路上存在許多 P2P 軟體 Bitorrent[14]、Gnutella[15] 、eDonkey[16], 可以透過網址了解其網路傳輸的運行情況及傳輸特徵,產品在傳輸方面 略有差異,基本程序依舊是維持 P2P 原則。針對以上軟體在本研究中表 示,市面上提供的軟體非開放式標準傳輸協定,因此不利於研究設計開 發 P2P 軟體,另ㄧ方面 NS2 雖提供許多簡略的傳輸協定,卻未必俱備標 46.

(47) 準化,且只能模擬出傳輸數據,與本研究所提出關聯性節點相似性演算 法設計,在實現上具有一定瓶頸存在,無法完善顯現出 P2P 特性,因此 本研究採用 JXTA 主要是具備多樣的傳輸功能與可依據不同情況下進行 傳輸,以下介紹 JXTA P2P 網路架構內部成員可分為:  Peer:一個 Peer 只代表一個傳輸點,並非完全代表一個使用者,由 於使用者可能在一部機器上使用多個 Peers 進行傳輸,在參考實現 中 Peer 除了基本的共享服務外,也可以行使其他網路功能,例如: Rendezvous[11]、router、gateway 或者是一個混合的身份在虛擬 P2P 網路層上。需注意的是單一個 Peer 只可選定一個身份進入平台,此 身份在 Peer 離開平台之前是不可任意變更。  Peer Group:一個 Peer Group 代表著許多 Peers 存在的一個集群, 主要是爲了將明確的服務及功能公佈予登入在 Group 內部成員,文 獻[11]中詳述 Group 存在的意義,以下則是各類型 Group:  World Peer Group:全球集群,此 Group 永久性存在運行,當封 包傳輸需要傳輸到跨地域型態的網路時,以承接 Parent Group 身份的方式,發佈訊息到目標區域集群(Net Peer Group)的網 路,才能進行資訊交換機制。  Net Peer Group:區域集群,主要使地理上電腦使用者 IP 位址 直接進入到所屬鄰近的區域網路,方便接通 Bootstrap Node,快. 47.

(48) 速進入 P2P 虛擬網域,此區域需要將發佈模組化設計後才能進 行指定性功能,相對地 Peers 也要持有共同模組化的發佈才能 進行此指定性功能。  Private Peer Group:由單一個 Peer 建立一個隸屬的 Group,主 要意義是此 Peer 可以設定出特殊的服務功能在此 Group 之中, 其他 Peers 若是想要索取此特殊功能,首先需透過認證加入此 Group 取得 Group 模組化功能發佈,才能執行服務功能。  Module:模組化[17]存在著三種不同的發佈,依階層而定模組類別 發佈,模組功能發佈及模組執行發佈:  Module Class Advertisement:模組類別發佈,存在的意義為對 地域型態的網路宣告此 Peer 存在著發佈,方便其他 Peers 目標 式搜尋。  Module Spec Advertisement:模組規格發佈,此為中階發佈,涉 及到通道綁定的功能及其他服務。例如:當一個 Peer 發佈功能, 既使沒有加入任何 Group,也可進行參考實作。運行模組規格 發佈可代替加入 Group 所得的認證功能,之後確實與其他 Peers 進行發佈中所指定的功能。  Module Impel Advertisement:模組執行發佈,最為基層的發佈, 主要功能在於鑑別所發佈的功能與網域中現存的其他服務有所. 48.

(49) 不同。  Advertisement : 發 佈 是 JXTA 主 要 核 心 之 ㄧ , 透 過 結 構 化 XML(Extensible Markup Language)語法構築成發佈,適合跨不同平 台執行運作,主要功能在於 JXTA 網路中進行訊息的交換。  Message:訊息可分為兩種類型,主要預設類型為 XML 資料格式, 換句話說訊息是資料依循 XML 標準格式容納內文的封包,其次是 以二進位資料格式存在。  Idenifier:辨識主要功能是為了鑑別出不同的存在,節點的一項發 佈可能存在許多不同功能辨識,JXTA 中的辨識皆具有 128bits 辨識 的長度可供實作。 因此將其上述成員描述整理之後,透過圖 4-2 JXTA 基礎網路架構 過程舉例說明, Peer A、Peer B…Peer E 為新進入區域集群的節點,之 後 Peer B 建立一個私有的集群,在透過區域集群經由搜尋發現後,得 到 Peer C 與 Peer D 存在且有共同服務需求,Peer B 將兩 Peers 引入成 為私有集群成員,之後可行使此 Group 建立所指定的功能服務。. 49.

(50) A. E Net Peer Group. D. B C. Private Peer Group. D B C. 圖 4-2 JXTA 網路結構圖. 4 . 3 JXTA 協定及網路 協定及網路協定 及網路協定結構 協定結構. 文獻[11][18-19]使用說明中提到,一旦節點進入虛擬平台中,便映射 出一個 Peer 身份,不論是否具有完備的功能。換句話說,傳輸功能的強 大與否,取決於架構設計上的需求。JXTA 提供七項協定輔助 P2P 傳輸程 序功能:. 50.

(51)  節點探索通訊協定(Peer Discovery Protocol,PDP):用於發現發佈的 節點資源。資源以發佈模式表示。一項資源可以是節點、節點組 (Group)、管道(Pipe)、模組(Module)、或任何其他擁有資源的發佈。  節點解析通訊協定(Peer Resolver Protocol,PRP):提供基礎通用查詢 和回應介面的應用服務。PRP提供在集群中發佈查詢的能力,並在隨 後標記出與此匹配的回覆。每項查詢或回應都由特別的命名空間處理 器處理。每組集群所實作的解析器服務與XML命名空間可協調合作 提供查詢路由策略和規則。命名空間是為了如何實現集群中查詢和發 佈以及如何回應所擷取到的查詢而提供專門的語法。在大多數情況 下,每項服務或應用都應擁有足夠的集群節點訊息,並知道如何路由 查詢。一個查詢可能被集群中若干數量節點接收且處理,此觸發事件 必須是預先設立處理器當資料通過節點才能進行擷取。  節點資訊通訊協定(Peer Information Protocol,PIP):一旦節點被定位 後,其功能和狀態就可被查詢。PIP 提供了一個集群中用於獲取節點 的狀態資訊的訊息。PIP 是一個可選擇使用的 JXTA 協定。被查詢到 的節點沒有被要求回應 PIP 請求必要,也就是說其所表示資訊可以在 所在的集群中找到。  節點成員關係通訊協定(Peer Membership Protocol,PMP):是一個機 制,使 Peer 可以加入 Peer 集群中。該協定不可混淆不同集群的創建. 51.

(52) 和管理服務。當 Peer 創建一個集群,則指定執行此一協定取得創建 者之後加入到集群中。Peer 加入集群時必須驗證成員關係協定規定和 具體要求。而此協定處理過程是透過設計者設計出的 API (Application programming interface),在處理程序開始後,一旦要求達到滿足則允 許 Peer 加入集群。  管道綁定通訊協定(Pipe Binding Protocol,PBP):應用程式和服務使 用著 PBP 進行節點間的通訊。管道是一個虛擬的管道發佈描述的端 點 間 的 通 道 。 管 道 有 兩 端 : 輸 入 管 道 ( Inputpipe ) 和 輸 出 端 (Outputpipe) 。 PBP 位於節點協定之上層,使用各種訊息傳輸方式, 如 JXTA HTTP 傳輸,JXTA TCP/IP 傳輸等進行訊息發送。  集節點通訊協定(Rendezvous Protocol,RVP):用於一個集群中傳播 消息。集結點協定提供一種機制,主要使訊息傳播可以在受控制下進 行。對於大多數有效的傳播訊息,一些節點可以做到傳輸的轉換。每 個集結點與其他集結點或節點合作,在集群中節點間傳播消息。  節點端點通訊協定(Peer Endpoint Protocol,ERP):定義了一組請求/ 查詢消息集合,交與路由服務處理,幫助節點路由訊息到目的地。 當 一個節點被要求發送一條消息到指定的節點端點地址時,它在本地端 快取中查找出是否有到達這個節點的路由。如果沒有找到任何一條路 由訊息,它就發送出路由解析查詢訊息到現存的節點路由器,詢問路. 52.

(53) 由資訊。一個節點可以擁有其能力所及多個發現路由器,或者可以提 前配置可選的路由器。而 ERP 用於尋找發送訊息到目的節點是基於 可用的路由。這是經由在節點路由器間訊息交換中實現。節點路由針 對網路通訊節點位置的處理程序是必需的。例如:兩個節點可能擁有 不同的傳輸,節點可能被防火牆分割開,也可能使用不相容的私有位 址空間。當需要的時候,路由器可以用於將訊息從來源節點發送到目 的地節點。 表 4-1 為 JXTA 各項基本協定的協定簡介的功能說明。. 表 4-1 JXTA 通訊協定簡介 通訊協定. 功能. 節點探索通訊協定(Peer Discovery. 資源發現. Protocol) 節點解析通訊協定(Peer Resolver. 自定性基本查詢服務. Protocol) 節點資訊通訊協定(Peer information. 資訊通訊服務. Protocol) 節點成員關係通訊協定(Peer. 成員關係管理. Membership Protocol) 管道綁定通訊協定(Pipe Binding. 傳輸管道綁定. Protocol) 集節點通訊協定(Rendezvous Protocol). 集結初步登錄節點. 節點端點通訊協定(Peer Endpoint. 通道路由. Protocol). 53.

(54) 圖 4-3 P2P 傳輸協定關係圖[19]. 通過上述介紹構成圖 4-3 傳輸協定關係圖,可看出基層網路傳輸由一 般網路協定所溝通,例如:TCP/IP、HTTP 等傳輸協定。集結點協定是建 立於集結點與集結點之間的橋樑,而集結點又位於 P2P 虛擬網路層中, 實際傳輸則有賴於一般傳輸協定支援,另外節點端點通訊協定是依據集 結點內部的特殊 ID 索引,進一步找出完整的 ID 後進行方向性路由,且 對節點解析通訊協定負責。節點探索通訊協定、節點資訊通訊協定及管 54.

(55) 道綁定通訊協定三者透過節點解析協定完成訊息封包的溝通交換。. 4 . 4 JXTA 傳輸處理流程架構. 以下將透過圖 4-4 則介紹本研究 P2P 傳輸處理流程模組,一一分析 各模組所代表的功能。. 圖 4-4 P2P 傳輸處理流程模組. 圖 4-4 為系統完整程式處理流程模組,虛線以右的部份表示為一個完 整的關聯性演算設計的 Peer,以下將介紹各模組功能:  Rendezvous:單純集結點功能,將新登錄的節點引入到虛擬 P2P 網路 層,並且收集 Peers 發佈於網路上的發佈索引,供應其他 Peers 搜尋 其目標 Peer 的發佈。. 55.

(56)  P2P 網路平台與服務模組:新節點進入虛擬網路所需的配置。可配置 初始節點的位置,透過 IP Multicast 路由到初始節點後方便新節點引 入到 P2P 虛擬網路層,或者可經由 Sun 公司內部所使用預設配置集結 點伺服器位置,但通常並不適合於實驗,原因是無法看出後端數據資 料內容進一步作出分析與調整。主要平台架設配置也需要配置 Peer 進出傳輸的代理協定。此外亦須配置發佈快取資料夾位置,其中具有 此 Peer 於網路中收集到的發佈與代表 Peer 在 P2P 虛擬網路層中的身 份證明。 . Peer 發佈處理模組:主要功能為在預設 Peer Advertisement 中嵌入代 表本端的類別物件數及各類別數,建立自己所屬對外統合性內部資 訊,並將其資訊發佈於 P2P 虛擬網路層。.  資訊控制處理模組:整合關聯性演算法設計模組處理後暫存擷取到相 關資料,此模組功能在於儲存及避免接收到 Peer 訊息具有重複,一 旦不能避免性的出現重複,則要求搜尋到此重複 Peer 再次重新搜尋 新的 Peer,並重新匯入路由表。同時會合路由選擇模組的決策與本 端暫存的 Peer 訊息,在通道處理模組成為具有導向性的通道。  路由訊息接收模組:透過持續性的訊息監聽函式,隨時監聽資料傳輸 管道是否有遠端使用者的路由訊息。一旦接收到訊息抵達時,則將訊 息由資料輸送管道(Pipe)接收到路由選擇模組中。. 56.

(57)  通道建立模組:搜尋出目標通道發佈,與其 Peer 建立起輸出管道, 將路由選擇模組判斷及處理後的封包送出,並且結束輸出管道。  關聯性演算法設計模組:主要功能為計算出現存的 Peers 與本端關聯 性相似度及排序出最佳替補成員,取得最佳替補成員則暫存於資訊控 制處理模組,透過路由選擇模組呼叫此函式計算訪問的查詢者與本端 的關聯性相似度,詳細設計內容已於第三章提到。  路由選擇模組:從路由訊息接收模組接收到封包,解析後判斷事件。 首先判斷本端是否單純只是中途轉送的 Peer,確定之後將封包解析再 從新改變封包內部代號,基於封包內部路由表決定為上傳或者為下 傳。其次判斷封包是否為首次訪問本端的封包且為目標 Peer,透過關 聯性演算法設計模組與本端計算後產生事件結果,增加封包路徑位置 與搜尋新的替補 Peer,重新封裝封包繼續路由與傳回給查詢者本端資 訊。第三則判斷是否為此次查詢之最後 Peer,則傳回本端訊息,不繼 續搜尋新的替補封包。. 57.

(58) 5.. 系統設計實作與效能分析. 爲了能夠在本研究所發展的搜尋方式成為可能性有效搜尋,當使用 者準備進行在 P2P Overlay 上搜尋 Peer 時,假設共享資訊可經由分析成為 各個類別物件,透過類別物件的嵌入,供查詢者進行搜尋找出合適路徑。 以此實驗,將針對本研究設計所提供的關聯性節點相似性演算法設 計,進行搜尋分析。並且從客觀的方向評估此透過此搜尋調適後所顯現 出的功效。. 5 . 1 實驗方法與步驟 實驗方法與步驟 研究實驗主要分成二個部份進行:實驗 1 為測量資訊框架描述嵌入 式資訊發佈影響到的網路情況,可分為四組小實驗如:  類別物件平均交換時間。  總物件數平均交換時間。  本研究與 Original 平均交換時間。  前置時間與全部搜尋比較平均交換時間。 以上為資訊框架描述嵌入式資訊發佈以平均交換時間為測量標準所進行 的實驗,並依據實驗結果加以分析,實驗 1 著重於前置時間的比較實驗 2. 58.

(59) 則是全部搜尋時間比較,前置時間定義為 Peer 進入到 P2P 平台到蒐集完 成鄰近 Peer 的資訊。全部搜尋時間定義為 Peer 進入 P2P 平台直到路由完 查詢者所需節點數,因此全部搜尋時間也包含前置時間在內。實驗 2 則 比較隨機遊走(Random Walk)搜尋方式與本研究實驗關聯性相似度搜尋 的效率及準確性。 5 . 2 實驗環境 實驗環境. 圖 5-1 網路實驗架構,爲了控制本實驗與網路上同時使用 Net peer group 的使用 者所干擾, 接收到額外的發 佈。因此架設一 台集結點 (Rendezvous)對外連接到 Net peer group,可避免接收到額外的發佈,另一 台電腦充當查詢端與被查詢端,查詢端發佈多個被查詢 Peers 經由集結點 連到 Net peer group,查詢者通過發佈一個查詢的 Peers 進行查詢。實驗 1 以此架構上進行實驗。. Net peer group HostB. router. Host A. 圖 5-1 網路實驗架構 59.

(60) 表 5-1 網路實驗設備列表 設備名稱. 功能描述. HostA. Rendezvous. 說明 電腦規格:Pentium(R)D cpu 2.80GHz RAM 512MB 網路卡:Boradcom NetXtreme Gigabit Ethernet 使用平台:Window Xp Sp3 IP 位置:203.64.130.67. HostB. 查詢端/. 電腦規格:Pentium(R)D cpu 2.80GHz RAM. 被查詢端. 2.49GB 網路卡:Intel(R) PRO/1000 PL Network Connection 使用平台:Window Xp Sp2 IP 位置:203.64.130.66. Router Net peer group. IP 位置:203.64.133.254 Sun 公司規劃區域性 P2P 虛擬網路層 [11][17][19]. 以此種實驗環境下,HostA 為集結點,HostB 為查詢端與被查詢端,連接 路由器連到 Sun 所規劃的 Net peer group 虛擬網路層。. 5 . 3 實驗 1 - P2P 網路負載 網路負載與搜尋 負載與搜尋. 本實驗主要著重在類別物件嵌入發佈,物件類別數及類別物件數對 60.

(61) 網路傳輸的影響,評估過程是否影響到整體傳輸的效率。由於研究設備 所限,在網路負載中採用軟體測試的方式進行實驗,表 5-2 為將進行實驗 之參數列表。. 表 5-2 系統參數效能的比較 實驗名稱 Peer 數目. 物件類別數 類別中物件數. 1-1. 2~10. 5/10/15/20. 1~99 隨機產生. 1-2. 10. 5/10/15/20. 6~10. 1-3. 2~10. 10. 0/10. 1-4. 2~10. 10. 0/10. 備註. 與全部搜尋比較. 本研究實驗 1-1 中設定的參數值,設定 Peers 數目為 2~10 依序遞增, 及設定四組物件類別數量分別為 5、10、15、20 等四組,使用一部電腦 設定為集結點(Rendezvous node),每一類別物件數為隨機性產生,隨機生 成範圍從 1~99 個,依此進行 P2P 實驗訊息交換。實驗中我們定義交換時 間(exchange time)以新節點找到初始目標節點加上搜尋其他節點的內部 資訊,直到完成所需搜尋目標數目 n 所需耗費時間,合計為 Peers 前置交 換時間,若除上實驗中使用到的 Peers 數目,即取得前置平均交換時間。 於圖 5-2 中直軸標示,我們可看出平均交換時間為計算實體傳輸通道上每 個 Peer 的平均交換時間(average exchange time),同時包含 Peer 新加入到 P2P Overlay 找到初始節點等前置資訊交換時間,計算交換時間主要是目 61.

(62) 的是 P2P 共享大部分需要花費時間在前置時間搜尋共享的節點,因此如 何縮短前置時間在找出共享的目標節點便具有其意義。 圖 5-2 實驗為互相找出當地 Peers 及其內部資訊進行相似度計算後所 得到的結果。可觀察出圖中對外鏈結每組 Peers 訊息交換完成的平均所需 傳輸時間。隨著實驗 Peers 數量逐步遞增的趨勢,透過搜尋具有共同興趣 的 Peers 所耗費的交換時間也將相對的增加。我們發現 Peer 類別數之間 並無明顯差距出現,唯一可看出差別的是在 Peers 個數為 9 而物件類別為 10,此時平均交換時間約為 12.8 秒。為實體網路遇到路由器路由阻塞所 導致,從圖中曲線之間雖然有明顯差異,但由於當橫軸中 Peers 個數為 10 時,曲線之間卻又無明顯的差異存在,甚至四組曲線在本次實驗結果 誤差大部分在 1 秒之內。我們可判斷物件類別數量的增加而並非導致影 響 Peers 之間資訊交換的差異產生。. 62.

(63) average exchange time(sec). 15. Numbers of class 5 10 15 20. 10. 5. 0 2. 3. 4. 5. 6. 7. 8. 9. 10. numbers of peers. 圖 5-2 不同物件類別數平均交換時間. 圖 5-3 實驗 1-2 中將設定 Peer 內部每一類別的物件數範圍為 6~10 個,每次實驗固定使用 Peer 數為 10,類別數設定與實驗 1 相同,不同的 是圖中曲線是計算不同的類別數乘上每一類別物件數所取得類別物件總 數,以此設定進行網路傳輸資訊交換。由圖 5 中可看出所有 Peers 類別物 件數經由不同的設定後,其交換所需的時間大約在 9~12 秒之間。進行資 訊交換後, Peer 所得到的平均時間在四條曲線上並無明顯差異,這說明 類別數及物件數並不會影響交換時間的差異。. 63.

(64) average exchange time(sec). t=5*obj class number t=10*obj class number t=15*obj class number t=20*obj class number. 25. 15. 5 6. 7. 8. 9. 10. numbers of object class 圖 5-3 Peers 總類別物件平均交換時間. 本實驗 1-3 主要可看出 my walk 與原資料前置平均交換時間,過程中 實驗的 Peers 數量是以 2~10 個依序遞增,過程平均時間是透過 Peers 找尋 完彼此之間資訊及計算完成 Peers 之間類別物件參數。2~8 個 Peers 互相 搜尋的結果 my walk 物件類別與原資料物件類別之間完成平均時間差距 在 2 秒內,在實驗中 9~10 個 Peers 數則平均處理時間分別差 3.53 與 3.41 秒。此圖主要分析研究出的演算法及 RDF 嵌入式元資料數值是否會造成 網路實驗過度負擔,在此過程可看出搜尋資訊及計算過程所需額外負擔 的時間,有其緩慢遞增的傾向。因此應用在搜尋分享較少的共享服務則 不需過多的額外負擔,又可有導向性的搜尋目摽 Peer,若是搜尋分享較 64.

(65) 熱門的則由關聯性優先權高者,優先被搜尋到,我們將在以下的實驗中 將提到。. average exchange time(sec). 14 12 10 8. my walk original. 6 4 2 0 2. 3. 4. 5. 6. 7. 8. 9. 10. numbers of peers. 圖 5-4 前置時間平均交換時間比較. 圖 5-5 前置時間與 random walk 搜尋完成比較,實驗 1-4 中 random walk 曲線為查詢者透過 random walk 搜尋方式,並且其發佈為無預先嵌 入資料內容與其他 Peers 建立通訊管道過程所耗費時間。另ㄧ曲線 my walk 為本研究所提出的搜尋方式,結合嵌入式資料後類別物件建立通訊 管道所耗費時間。實驗過程中設定取出 m 個鄰近的 Peers,每個 Peer 維 持 n 個替補者,本次實驗 m 個數與 n 個數相等,m 的數值是隨 X 軸的實 驗 Peers 遞增。依照圖 5-4 實驗程序所擷取出的相對資料。在圖 5-4 的情. 65.

(66) 況中本研究嵌入式資料在前置時間所需嵌入資料及搜尋資訊的前置時間 比原資料要多,從圖中觀察出前置時間在整體搜尋通道建立過程中只是 其中一小部份程序。透過圖 5-5 當搜尋完成 9~10 個 peers 時所需耗費前 置時間,本研究與無嵌入式資料差異為 3.53 與 3.41 秒,而使用 random walk 搜尋方式其發佈為原資料建立通訊管道過程所耗費時間分別為 245.218 及 271.5935 秒,所占比率約略為 1.439%與 1.256%。以此方法可看出本 研究前置時間所需額外負擔比起完整搜尋過程的影響是極其微小。. average exchange time(sec). 1000 mywalk(lead time) original(lead time) my walk. 100. random walk 10. 1 2. 3. 4. 5. 6. 7. 8. 9 10. numbers of peers. 圖 5-5 前置時間與全部搜尋比較. 另ㄧ方面比較本研究中所提出的搜尋與 random walk 搜尋方式相比 較,可看出在前面 2~4 個 Peers 幾乎需要比 random walk 耗費更多時間, 主要是每一個 Peer 須擷取鄰近 Peers 的資料所需額外耗費前置時間, 66.

(67) random walk 的搜尋方式則無須在前置時間取得鄰近 Peers 的內部資訊可 提早發出路由搜尋,所以平均完成路由搜尋時間比本研究所提出的路由 搜尋方式更加快速,但當比較路由搜尋 5~10 個 Peers,則本研究所提出 方法則比 random walk 路由搜尋方式要更佳。分析主要原因是本研究所提 之路由搜尋方式比 random walk 更具有導向性。分析過程 Peer 與 Peer 之 間的路徑溝通是依據關聯性相似度計算完後彼此取得相對資料,彼此為 其替補成員,則可共同建立搜尋路徑,減少無目標性的隨機路由路徑。 從圖 5-5 中可看出當本研究所提的搜尋方式,搜尋完成 10 個 Peers 比 random walk 搜尋到完成 9 個 Peers 更為快速,從此數據可清楚看出本研 究搜尋方式可更快速達到搜尋的性能。. 5 . 4 實驗 2 - P2P 網路關聯性相似度搜尋的效率及準確性 網路關聯性相似度搜尋的效率及準確性. 本實驗 2 主要著重在搜尋方式的準確性,實驗研究 1 注重在物件類 別數及類別物件數對網路傳輸影響,過程影響是否會佔據整體傳輸效 率。由於研究設備所限使用與實驗 1 相同的設備,針對關聯性相似度搜 尋效率及準確性實驗中採用軟體測試的方式進行實驗,表 5-3 為將進行實 驗查詢者與被查詢者參數列表。參數方面每一類別物件數是 1~99 隨機產 生數值。 實驗方式是查詢者代號(query)搜尋被查詢者代號(bequery 1~10),實. 67.

(68) 驗過程為查詢者搜尋被查詢者的先後順序比較與 m(Peer 搜尋到鄰近成員 數)與 n(與 Peer 相關的成員數)。. 表 5-3 實驗類別參數 class1 Class2 class3 class4 class5 Class6 class7 class8 class9 class10 Query. 79. 95. 32. 4. 6. 50. 27. 43. 49. 89. bequery01. 30. 30. 8. 87. 59. 80. 55. 30. 94. 62. bequery02. 90. 78. 49. 64. 43. 60. 30. 35. 97. 69. bequery03. 36. 87. 3. 94. 17. 69. 80. 29. 77. 28. bequery04. 60. 90. 49. 3. 64. 22. 15. 57. 47. 35. bequery05. 69. 53. 53. 47. 32. 12. 98. 27. 27. 91. bequery06. 71. 5. 99. 35. 55. 88. 73. 44. 52. 10. bequery07. 82. 96. 67. 75. 41. 78. 33. 84. 27. 80. bequery08. 75. 41. 86. 50. 16. 52. 13. 41. 68. 35. bequery09. 87. 78. 47. 23. 93. 1. 39. 60. 90. 65. bequery10. 79. 57. 30. 68. 32. 91. 37. 84. 39. 66. 由表 5-4 所做實驗 2-1~2-3 透過 n 設定數值的不同取得實驗結果,在 分析實驗後結果。本研究採用 random walk 與 my walk 在表 5-1 相同環境 下實驗測試,不採納 flooding 搜尋為比較樣本,原因之ㄧ是 flooding 本身 是一種極耗費負載的搜尋方式,實驗環境上無法提供更高效能的平台進 行 flooding。另ㄧ原因是 random walk 與 my walk 同是單一路徑路由, flooding 則是擴散式路徑路由,難以進行比較。. 68.

(69) 表 5-4 實驗參數比較 實驗. query 數 bequery 數 實驗方式比較. m 數目 n 數目. 名稱. 目. 目. 2-1. 1. 10. 平均交換時間. 10. 2~9. 2-2. 1. 10. my walk /random. 10. 2~9. 10. 2~9. walk d(xi , xj)有效 性比較 2-3. 1. 10. Avg my walk /avg random walk /d(xi , xj)有效性比較. 圖 5-6 經過 10 次實驗結果 random walk 平均交換時間為 272.125 秒, 顯示圖中的水平直線,my walk 實驗設定被查詢數為 10 個,查詢數 1 個, 實驗過程查詢者必需查詢路由完 10Peers,並根據 Peer 相關的成員數 n 進 行不同實驗,n 的數值為 2~9。換句話說,也就是候選者清單中保留成員 數,依據不同成員數進行各 10 次實驗,圖 5-6 中水平直線為 random walk 平均交換時間,n 的數值為任何不同的成員數,實驗中所展示任何搜尋時 間比 random walk 要快速完成路由查詢。. 69.

(70) average exchange time (sec). 300 250 200 150 100 50 0 2. 3. 4. 5. 6. 7. 8. 9. length of array. 圖 5-6 random walk 與 my walk 搜尋平均時間比較. 圖 5-7 進行路由目標有效性分析,分析主要是依據查詢者路由查詢的 先後順序,在此先後順序是爲求比較出優先找到關聯性相似度高的成 員,在此過程中也是與 random walk 搜尋方式作比較,依據候選者清單所 保留成員數不同,所推薦給查詢者,使查詢者可根據關聯性的高低再次 送出查詢,直到查詢完畢。 在本文中提到關聯性數值越低則相關程度越高,為此本研究透過每 訪問一個 Peer 與其查詢者共同所產生的相關係數進行累加比較,透過圖 中可看出在 N=2 時,也就是 Peer 候選者清單保留名額皆為 2 時,在訪問 第 5 個 Peer 則高於 random walk,而其他保留名額 3~9 明顯在任何時候都 比 random walk 優先找到與查詢者高關聯性相似度的 Peers,證明出關聯 70.

(71) 性相似度的有效。. random walk n=2 my walk n=3 my walk n=4 my walk n=5 my walk n=6 my walk n=7 my walk n=8 my walk n=9 my walk. d(Xi,Xj). 1050 850 650 450 250 50. 1. 2. 3. 4. 5. 6. 7. 8. 9 10. Array[i]. 圖 5-7 random walk 與 my walk d(xi , xj)有效性比較. 圖 5-7 實驗採納樣本 random walk 可能欠缺代表性,所以將 random walk 進行多次實驗後,則呈現出可作為代表的曲線,也就是圖 5-8 中的 avg random walk 曲線,avg random walk 為累計查詢的關聯性數值 1165.627,從圖 5-8 可觀察出 random walk 極接近理想中 avg random walk 曲線。同時我們實驗也以圖 5-7 中 n=2~9 不同的曲線,取出最能代表本 研究的曲線,將其 n=2~9 數值加以平均取得代表本研究的曲線在圖 5-8 中的 avg my walk。可看出既使平均找出代表性曲線在搜尋路由的任何時 期都可以達到有效性。. 71.

(72) d(Xi,Xj). 1050. avg my walk. 850. avg random walk. 650 450 250 50 1. 2. 3. 4. 5. 6. 7. 8. 9 10. Array[i]. 圖 5-8 avg random walk / avg my walk d(xi , xj)有效性比較. 本研究過程中圖 5-1,及圖 5-2 解釋出嵌入的類別數及物件類別數多 寡非主要影響傳輸效能,實驗 1-3 及 1-4 則解釋 my walk 與 original 前置 時間所需的負載,圖 5-5 則證明 my walk 與 random walk 路由速率及前置 時間影響整體路由比率,說明本研究所使用方法佔整體搜尋的負載極其 微小,同時也顯示出搜尋多個 Peers 之後會比 random walk 更加快速。在 實驗 2 的部份則證明兩種路由有效性的比較,種種過程顯示出本研究所 提出路由搜尋具有優於 random walk 的效能,適合 P2P 網路路由搜尋。. 72.

(73) 6.. 結論與未來研究方向. 在以往研究中, ,由於 Peer 與 Peer 之間在進行資訊交換會因內部資料 格式的差異,造成資料比對交換出現問題,而且會因多個嵌入式內容而 導致運算上的問題,進而找不到合適的 Peer 資訊。本文提出一個有效率 的節點搜尋方法來計算 Peer 內部資訊相似度,以找到相似的 Peer。此方 法採用 RDF 嵌入法,進行關聯性的計算並找出網路上具有關聯性的 Peer,我們並經過實驗來驗證本研究方法。 在未來的研究上,我們將比較本方法與其他已知的搜尋方法,並降 低無效的關聯性搜尋次數,或加上其他演算機制,讓本方法更具效率。. 73.

數據

圖 2-1 P2P Overlay 網路示意圖
圖  2-3  隨機遊走
圖  3-1 節點加入圖
圖  3-2  Extensible Markup Language (XML) 資源描述框架
+7

參考文獻

相關文件

並藉由適當工具與資訊,去描述、模擬、解釋與 預測各種現象,發揮數學思維方式的特長,做出

[r]

[r]

[r]

 想要設計一個具有兩個輸入G(gate閘控)和 D(data資料)以及一個輸出Q的閘控閂電 路。當G等於1時,在輸入D出現的二進位資料

傳世的宋元文物中,有一批為數不少的繪畫作品,在題材或風格上具

1.在系統內:有分為在 TOP N 裡跟在 Change Table 裡,在 TOP N 裡就將票數加上去 後利用 Jump Table 作排序,在 Change Table 裡的話就將票數加上去並拉回到 TOP N

由於資料探勘 Apriori 演算法具有探勘資訊關聯性之特性,因此文具申請資 訊分析系統將所有文具申請之歷史資訊載入系統,利用