專利名稱:用于在對等網絡之間進行數據傳輸的方法和系統的制作方法
技術領域:
本發明涉及用于在不同的對等網絡之間傳輸數據的 一種方法、 一種
合適的對等裝置以及一種相應的網絡系統(Netzwerkanordnung)。
利用對等系統能夠把大量的、在下文中也稱作對等裝置
(Peer-Einrichtungen )的設備在沒有中心裝置諸如服務器的情況下相互 聯網。在此特定的業務必須由該對等裝置本身來提供,其中所述的業務 在通常的客戶機-服務器構架中由相應的中央單元、服務器來承擔。在此 一個尤其重要的功能是地址解析,也即對于聯系某 一對等體而必要的、 用戶的公開數據到其設備的或其對等裝置的網絡地址的轉換。公開數椐 在此比如可以是用戶名、電話號碼或表征對等裝置的其他標識。通常因 特網作為上級通信網絡利用已公開的因特網協議TCP/IP而被使用,使 得該網絡地址通常包括IP地址以及該對等體的端口 。下文中使用了名稱
"對等體(Peer)"和"對等裝置",然而它也可以是以下的名稱,比 如熟悉的網絡單元、部件、通信終端設備、用戶、實體(Instanz)或站。 在對等體之間的通信在此通過上級通信網絡的協議來進行,其中該 上級通信網絡通常是因特網。真正的對等網絡則通過一個對等體群組來 構成,其中所述的對等體在該對等(P2P)網絡中分別具有一個節點ID 或節點地址。在一個P2P網絡的兩個對等體之間的數椐連接首先需要由 節點地址來查明被詢問的對等體的網絡地址,其中該節, < 地址對于發出 詢問的對等體是已知的。在所謂的混合P2P網絡中, 一個服務器準備好 參與該P2P網絡的對等體的一個中央目錄,其中該中央目錄是以其節點 地址以及相應網絡地址的形式。文件交換平臺諸如Napster或iMesh、 Audio Galaxy或SongSpy基于的是具有相應中央目錄服務的P2P網絡。 在此其缺點是,在該中央目錄服務失效的情況下,就不再能夠構建新的 通信連接。
為了避免對具有中央地址目錄的服務器的依賴,可以利用搜索詢問 來遍歷該P2P網絡,也即從一個發出詢問的對等體開始把請求消息級聯 地發送到其他許多對等體,直到被搜索的對等體進行應答。但是這種措 施導致非常高的網絡負荷;此外,隨著網絡容量的增大,實際也越來越 少地找到所搜索的對等體。作為這種搜索策略的例子應該提及的是Gnutella網絡。
在其他分散P2P網絡中,不設置用于目錄服務的中央服務器或者特 殊的對等體。 一個發出詢問的對等體在此動態地找到該P2P網絡的其他 對等體并與之通信,以交換數據和信息。該地址解析,也即找出通過該 P2P網絡中的節點地址來表征的被詢問對等體的網絡地址,動態地通過 一種路由協議來進行。
一種可能比如是使用一種分布式哈希表格(DHT=Distributed Hash Table)。在此該表格給每個對等體或每個節點地址分配了在上級通信網 絡中的一個相應網絡地址,該表格分布于該P2P網絡中的所有參與的對 等體上。在對等體或節點地址的環狀組織的邏輯系統中,該對等體比如
址以及其網絡地址。i^點地址空間在此具有一種度量(Lletr;k),該 度量定義了在對等體或節點地址之間的間距。用于在環狀組織的分散 P2P網絡中進行地址解析的一種合適的算法比如是Chord算法,其在Ion Stoica、 Robert Morris、 David Karger、 MFrans Kaashoek、 Hari Balakrishnan 的 "CHORD:A Scalable Peer-to-Peer Lookup Service for Internet Applications" MIT-LCS-TR-819中有描述。
一個節點地址或節點ID (node-ID)的分配比如可以通過對有關對 等體的用戶名使用一種哈希函數來確定。類似地,還可以對搜索項比如 文件名來實施哈希函數,這提供一個哈希值。給每個對等體都分配了一 個哈希值范圍,其中哈希值比如又以升序排列。分配給相應對等體的范 圍的第一哈希值則例如對應于有關對等體的節點地址。由此比如確定了 在^f皮混雜的(gehashten)文件名中哪些數據在一個對等體中是可用的。
對數據或用戶或對等體的搜索被實施,其方式是發出詢問的或進行 搜索的對等體計算預定關鍵字、諸如文件名、用戶名或比如電話號碼的 哈希值。為了找到通過混雜而產生的、要搜索的節點ID的網絡地址, 發出詢問的對等體發送一個搜索詢問至一個對等體,該對等體將它的節 點地址以及所屬的網絡地址記錄在發出詢問的對等體的已知對等體列 表比如鄰居列表和/或指針列表中了 。如果被詢問的對等體負責被搜索的 哈希值,那么它就把被詢問的數據通過上級網絡發送到發出詢問的對等 體。
如果首先被詢問的對等體不負責該哈希值,那么它就利用來自其對
6等列表的對等體的地址來應答,該對等體的節點ID比它自己的節點地 址更類似于被搜索的哈希值。自己的節點ID是否與被搜索的節點ID或 被搜索的哈希值相似,通過該節點地址空間的所使用的度量來得知。首 先被詢問的對等體從而向發出詢問的對等體發送更接近被搜索哈希值 的節點ID和IP地址。發出詢問的對等體現在可以發送 一 個第二搜索詢 問至具有更接近節點地址的對等體。該方法被繼續實施,直到找到一個 對等體,該對等體負責該哈希值,并且可以提供所搜索的數椐。
在P2P網絡的這種分散構造中,所有參與的對等體必須以環狀構造 來組織,其中這種環狀構造由有序的、循環延伸的節點地址列表而形成。 P2P網絡比如用于在交換場所中交換文件。然而在上級網絡中針對網絡 地址的地址解析在所謂的VOIP傳輸、即因特網語音傳輸(VOIP=voice over IP)中也是尤其重要的。比如用于語音傳輸的一種P2P網絡以名稱 "Skype"而已知。該網絡的用戶可以相互交換語音數據,并從而通過 因特網打電話。
本發明所致力于的問題是在通常不同的運營商的不同P2P網絡之間
進行數據傳輸。對于不同P2P網絡的對等體,陌生的其他各對等體的網
絡地址分配基本是未知的。為了能夠使不同P2P網絡的對等體相互通信,
比如可以把該P2P網絡聯合為一個網絡。那么就得到了一個較大的P2P
網絡。陌生對等體的組合或加入需要交換很多穩定消息,以相互平衡或 新構建單個的對等體的鄰居列表。這些則必須在兩個運營商的ip網絡之
間進行交換。在組合比如兩個P2P環時,在一個運營商的網絡中的技術 問題也影響另一運營商的用戶的服務質量。那么對兩個運營商的終端客 戶的單獨的許可支付也造成困難。
代替地,已經推薦把多個P2P網絡通過所謂的網關來連接。在此所 選擇的服務器接受來自陌生網絡的搜索詢問,并在自己的P2P環中為該 搜索詢問實施搜索。所述搜索的結果、即例如在自己網絡中的對等體的 網絡地址或IP地址,然后被發送返回到發出詢問的網絡或者陌生運營商 的對等體。這種網關必須是功率非常強大的,以完成大量搜索詢問。在 對詢問進行驗證時所期望的加密運行還產生其他的問題。此外,在網關 失效的情況下,在不同的P2P網絡之間絕對不再能夠進行搜索詢問。
從而本發明任務是,提供一種簡單的方法,該方法實現了在不同對 等網絡的對等體之間安全而可靠的數據交換。該任務通過根據權利要求1所述的用于數據傳輸的一種方法、根據
權利要求6所述的一種對等裝置以及根據權利要求11所述的一種網絡 系統而得到解決。
因此規定了用于在第一對等網絡的第一對等裝置與第二對等網絡 的目標對等裝置之間進行數據傳輸的一種方法,其中每個對等裝置都具 有在其相應對等網絡中的節點地址以及在上級通信網絡中的網絡地址, 其中,針對該目標對等裝置的搜索詢問,在說明該第一對等裝置的網絡 地址的情況下,從該第一對等網絡被發送至該第二對等網絡中的至少一 個第二對等裝置。
根據本發明,尤其在一個對等網絡中進行被搜索對等裝置的地址解 析,該對等網絡與發出詢問的對等裝置的對等網絡是不相同的,其方式 是把發出詢問的對等裝置的網絡地址轉發到該陌生網絡中的 一個對等 裝置。然后在此在該陌生網絡中就可以進行被搜索對等裝置的地址解 析,直到找到目標對等裝置,該目標對等裝置然后就可以通過上級網絡 建立與發出詢問的對等裝置或其網絡地址的數據連接。所述上級通信網 絡比如是因特網或類似的網絡結構。
另外還優選地實施以下的方法步驟
-在說明該第二對等網絡中該目標對等裝置的目標節點地址的情況 下,發送該搜索詢問;
-根據一種搜索算法利用分布式哈希表格在該第二對等網絡中實施 搜索,以找出該目標對等裝置的網絡地址;
-通過該上級通信網絡把該目標對等裝置的網絡地址發送到該第一 對等裝置。
一旦發出詢問的對等裝置收到了該目標對等裝置的網絡地址,那么 就可以通過該上級通信網絡借助該網絡地址在該第一對等裝置與該目 標對等裝置之間另外構建一個數椐連接。對于發出詢問的對等裝置,陌 生P2P網絡的構造是無關的。對該目標對等裝置的網絡地址的搜索按照 該第二對等網絡的協議來進行。對于該數據連接,最終僅僅該網絡地址
是起決定作用的。
在該方法的一個變化中,該第一對等裝置的搜索詢問被轉送到該第 二對等網絡中的、另外的第二對等裝置上,其中在該第二對等網絡中所 述另外的對等裝置的網絡地址被存儲在一個列表中。通過在該第二網絡中該對等裝置列表的存儲,已經可以在該第二網絡中進行有利的對等裝 置預選,使得與該第二對等網絡中地址空間度量有關的目標節點地址在
位于如下的對等裝置的附近從該對等裝置開始在該第二對等網絡中進 行地址解析或者進行搜索。
在該搜索詢問之前,另外還可以把該第二對等網絡中的第二對等裝 置的網絡地址的列表傳輸到一個被動的(passive)對等裝置,其中該被 動對等裝置被分配給該第一對等裝置。由此可以保證,為來自自己的對 等網絡的搜索詢問總是提供一個主動的(aktive)實體,或者在該陌生 目標網絡中提供可通過網絡地址來尋址的對等裝置,該搜索可以在該目 標對等網絡中由該對等裝置開始。
本發明另外還提供了用于第一對等網絡的對等裝置,其具有在該笫 一對等網絡中的節點地址,并具有在上級通信網絡中的網絡地址,其中 該對等裝置具有被分配的被動對等裝置,該被動對等裝置與該對等網絡 無關,并保存有該第二對等網絡中對等裝置的至少一個網絡地址,并且 其中該被動對等裝置如此來設置,使得它把針對該第二對等網絡中一個 目標對等裝置的搜索詢問在說明該對等裝置的網絡地址的情況下發送 到該第二對等網絡中的所述至少一個對等裝置(pr)。
根據本發明的對等裝置尤其適于實施根據本發明的、用于在對等網 絡之間進行數據傳輸的方法。該被動對等裝置不是該對等網絡的組成部 分,其中該被動對等裝置也被稱作該對等網絡中的被動實體,而其他的 對等裝置是該網絡中的主動實體。它僅僅提供在該陌生對等網絡中對于 搜索詢問必要的一個或多個網絡地址。如果比如發出詢問的對等裝置對 一個用戶名實施了一種混雜,由此生成了一個陌生的、也即不屬于自己 的對等網絡的節點地址,那么該被動對等裝置就把該目標節點地址轉發 到該陌生對等網絡的一個對等裝置,其中該對等裝置對應于由該被動對 等裝置所存儲的網絡地址。在該陌生網絡中的所述搜索按照一種合適的 搜索算法來進行,并把所搜索的目標對等裝置的網絡地址發送回到發出 詢問的對等裝置,因為該被動對等裝置已經轉發了發出詢問的對等裝置 的網絡i也址。
因此優選地還沒有給該被動對等裝置分配在該對等網絡之一 中的 節點地址,并且也不能由其他的對等裝置來尋址。
該對等裝置優選地具有該對等網絡的一個分布式哈希表格的、被存
9儲的部分哈希表格,其中該表格包括有節點地址與網絡地址之間的分配。
在一個優選的實施方案中,所述至少一個對等裝置作為可執行的計 算機程序而在計算機上來執行,其中該計算機程序具有用于按照對等協 議來穩定對等網絡的穩定程序模塊、用于存儲數據的存儲器程序模塊、 以及用于產生搜索詢問的搜索程序模塊,其中該被動對等裝置使用該第 二對等網絡中對等裝置的至少一個網絡地址來訪問該搜索程序模塊。
運行所謂文件共享的對等網絡、諸如交換場所可以由連接到因特網 的計算機來構建。根據本發明的對等裝置的實現從而僅僅需要實現一個 附加的被動對等裝置,其中該被動對等裝置把該第二對等網絡中對等裝 置的網絡地址傳輸給該搜索程序模塊。在最簡單的情況下,該被動對等 裝置從而僅僅包括具有陌生對等裝置的可能網絡地址的表格,從而然后 在該陌生對等網絡中進行進一步的地址解析。與常規的對等裝置相比從 而產生了極小的額外耗費。由根據本發明的、在不同對等網絡之間的數 據傳輸而造成的計算機載荷也是微小的,因為僅僅訪問為在自己的對等 網絡中的搜索而保存的程序模塊。
另外還規定了具有第一對等網絡和至少一個第二對等網絡的一種 網絡系統,其中該第一對等網絡具有該第一對等裝置,該第二對等網絡 具有該第二對等裝置,其中至少一個對等裝置根據本發明來實施。
有利地,在根椐本發明的網絡系統中給每個對等裝置分配了一個被 動對等裝置。尤其在本發明的通過所設置的被動對等裝置的計算機實施 中,由于這種極小的額外耗費而實現了所有對等網絡的聯網,其中所述 被動對等裝置可以分別又作為計算機程序來構造。
在該網絡系統的一個優選實施方案中,至少一個對等裝置作為負載 平衡器來設置,其中該負載平衡器把一個被動對等裝置的搜索詢問轉發 到相應對等網絡中的一個對等裝置。負載平衡器優選地保存有列表,所 述列表具有在相應的目標對等網絡中主動的對等裝置以及其網絡地址, 該負載平衡器從而保證了在該目標對等網絡中的所述搜索總是能夠從 它的一個對等裝置開始來執行。
在一個特別的實施方案中,至少一個對等裝置作為匯聚對等裝置
(Rendezvous-Peer)來設置,該匯聚對等裝置按照一個被動對等裝置的 詢問提供在相應目標對等網絡中對等裝置的至少一個網絡地址。從而可以在搜索詢問之前首先利用該目標對等網絡中對等裝置的可能的網絡 地址來更新該被動對等裝置的列表。
至少一個對等網絡優選地利用一種分布式哈希表格來運行,并尤其
利用Chord算法或Kademlia算法來運行,以在相應的網絡中進行地址解 析。
本發明的其他有利的擴展和改進是從屬權利要求的主題、以及在下 文中參照附圖而詳細解釋的實施例的主題。 其中
圖1示出了一種環狀組織的對等網絡;
圖2示出了兩個根據本發明而連接的P2P網絡;
圖3示出了一種對等裝置的功能圖4示出了具有匯聚對等體的兩個根據本發明而連接的P2P網絡;
以及
圖5示出了多個根據本發明而連接的P2P網絡。 除非另外說明,在附圖中相同的或功能相同的單元將用同 一參考符 號來設置。
為了解釋在對等網絡中在地址解析時的一般問題,在圖1中比如示 出了一種環狀組織的P2P網絡。其設置有對等裝置P1-P8,這些對等裝 置比如作為連接到因特網的、安裝有P2P軟件的計算機來實施。每個對 等體從而具有在因特網中對其進行識別的IP地址IP1-IP8以及在該P2P 網絡P2P1中將其識別為對等體的節點地址NID1-NID8。下面比如對用 于地址解析的該Chord算法的原理進行解釋。當然其他的P2P協議也可 以用于分散的P2P網絡。
一個對等體的節點地址比如通過對該對等體的名稱應用一種合適 的哈希函數來獲得。該名稱比如可以是一個用戶名或一個電話號碼。相 應的搜索字、比如電話號碼的哈希值被分配給一個節點ID或一個節點 地址。也可以把多個哈希值分配給一個節點地址。比如可以給該對等體 Pl分配一個節點地址NID1=003,其中該值NID1=003表明哈希值范圍 的開頭,對等體P1對所述哈希值負責。在使用IO比特寬度哈希值的一 個P2P網絡中,比如可以把如在表格中所示的哈希值范圍分配給各對等 體。對等體客戶地址哈希值
PI腦1=003H=003...123
P2薩2=124H=124..,203
P3勵3=204H=204...311
P4NID4-312H=312...433
P5膨5=434H=434...522
P6腦6=523H=523...689
P7NID7=690H-6卯…814
P8腦8=815H=815...002
從而給每個對等體分配了具有確定的值的節點地址以及由搜索項
所生成的哈希值H-Hash (搜索項)的范圍。
該表格從而示出了該P2P網絡的完整表格。該表格不是集中由一個 服務器來提供的,而是分布地存儲在單個的對等體P1-P8上。每個對等 體都認識其鄰居比如最近鄰居的被分配的哈希值。該對等體P3已經存 儲了以下的信息即具有節點地址NID2=124的對等體P2負責哈希值 124-203。該對等體P3另外還知道它自己負責哈希值204-311以及具有 節點地址NID4-312的相鄰對等體P4負責哈希值312-434。通常每個對 等體都支配有一個部分哈希表格,該部分哈希表格具有其在節點地址空 間中相鄰的對等體的哈希值分配,并在必要時還具有一個或多個指針對 等體的哈希值分配,比如在對等體P3的情況中,有具有節點地址 NID7-690的對等體P7對于哈希值6卯-814的分配。在圖1中示出了一 個相應的部分哈希表格PHT。
現在如果從該對等體P2開始了針對搜索項的搜索詢問或文件詢問, 其中該搜索項提供哈希值Hash (搜索項)=530,那么該對等體P2在說 明它自己的網絡地址IP2以及所搜索的哈希值530的情況下把一個搜索 詢問Fl發送到對等體P3。該對等體P3被選擇,是因為與在部分哈希表 格中所記錄的、具有在H二003與123之間的負責范圍的另一對等體Pl 相比,在該對等體P2的部分哈希表格PHT2中,哈希值530更接近于具 有在204與311之間哈希值的對等體P3的負責范圍。 一個搜索詢問從 而總是被發送到自己的部分哈希表格中的以下那個對等體即該對等體 的節點地址在節點地址空間中最接近于該所迷搜索項的哈希值或該目 標節點地址。
12該對等體P3隨后就檢查它的部分哈希表格PHT3,并查明該對等體 P7就是以下那個對等體即該對等體的負責范圍或所分配的哈希值最接 近于所搜索的哈希值530,并發送一個相應的第二搜索詢問F2。該對等 體P7在它的所分配的部分哈希表格PHT7中查明具有節點地址532的對 等體P6為負責該哈希值530的對等體,并將該信息發送到最初發出詢 問的對等體P2,其中給該對等體P2的網絡地址IP2分配了該搜索詢問 Fl、 F2。代替地,如果該對等體P2已經發送了搜索項為哈希值530的 數據詢問,那么該對等體P7就可以在一個消息F3,中給該對等體P6發 送該對等體P2的或者其網絡地址IP2的數據詢問請求。隨后,該目標 對等體P6就在該通信網絡或因特網中通過數據連接F4把用哈希值530 來標識的數據直接傳輸到發出詢問的對等體P2或其IP地址IP2。從而 一種相應的P2P協議就實現了對例如來自對等體P2的所搜索數據的地 址解析,其中該對等體P2沒有關于所述數據在P2P網絡中的存儲地址 的信息,因為分配給該對等體P2的部分哈希表格PHT2不包括該節點地 址范圍。
在圖2中示出了分別具有對等裝置Pl-P4、 Pl,-P5,的兩個對等網絡 P2P1、 P2P2。在其相應的P2P網絡中給該對等裝置P1-P4、 Pl,-P5,分別 分配了網絡地址IP1-IP4和IP1,-IP5,以及節點地址NID1-NID4、 NID1,-NID5,。在此簡化地假定,相應的節點地址NID相應于該對等體 名或用戶名的哈希值。在圖2中所示的兩個P2P網絡P2P1、 P2P2由不 同的運營商或提供商來運行。比如可以考慮所迷P2P網絡用于在其用戶 之間的VOIP傳輸,其中所迷用戶分別使用一個對等裝置。
如果在一個運營商P2P網絡中的用戶想相互通電話,或者如果在 P2P網絡中的對等裝置相互通信,那么就進行地址解析,如例如參照圖 1所迷。然而,如果運行該對等體P1的用戶A想與該第二P2P網絡P2P2 中運行對等體P2,的用戶B相通信,那么就必須采用根椐本發明的方法 的一個實施方案。為了實現在不同P2P網絡的對等體之間的數據交換或 數據傳輸,比如給對等體Pl分配了一個被動的對等裝置pPl。該被動對 等裝置pPl作為相應網絡P2P1的一個被動實體來構造,使得它可以完 全不存儲來自其他對等體的數據,而是僅僅能夠把搜索詢問發送到主動 的實體、也即對等體。該被動對等裝置pPl在此保存了在一個陌生對等 網絡中一個對等裝置的至少一個IP地址或網絡地址。
13下面比如解釋在該第一對等網絡P2P1中的對等體P1與該第二對等 網絡P2P2中的對等體P2,之間的一個數據連接。這兩個P2P網絡P2P1、 P2P2已經在一個上級通信網絡如因特網IN中實現。該用戶A具有比如 作為節點地址NID1的其用戶名的哈希值,比如hash (用戶八@運營商 1 )。連接到該第二P2P網絡P2P2的用戶B比如具有節點地址NID2』hash (用戶B⑨運營商2)。如果對等裝置Pl應該通過該因特網IN向對等 體P2,建立一個連接,那么該對等裝置P1就確定節點地址NID2,位于該 陌生對等網絡P2P2中。由此該被動對等裝置pPl被激活,其中該被動 對等裝置pPl保存有對等體表格pPT,其中該表格具有陌生P2P網絡 P2P2的主動實體或對等體以及其網絡地址或IP地址IP,。該被動對等裝 置pPl本身不具有所述P2P網絡之一的節點地址,而是僅僅如此來實施, 使得它在說明目標節點地址以及優選地其對等體Pl的網絡地址IP1的 情況下可以把搜索詢問發送到該陌生網絡P2P2的一個對等體P1,。
該被動對等裝置PP1從而通過因特網IN把搜索詢問Sl在說明該目 標節點地址NID2,以及發出詢問的對等體pPl自己的IP地址IP1的情況 下傳輸到陌生對等網絡P2P2中對等體P1,的IP地址或網絡地址IP1,。 從而現在可以按照該對等網絡P2P2的合適的搜索算法來找到所搜索的 目標對等體P2'。
在圖2所示的例子中,該節點地址NID2,記錄在該對等體Pl,的部 分哈希表格或鄰居列表中。也即,該對等體P1,把該目標對等體P2,的網 絡地址IP2,發送到該P2P網絡P2P1中發出詢問的對等體pPl的IP地址 IP1。從而可以從對等體pPl實施開始到一個目標地址P2,的地址解析。
在另一步驟S3中,現在被動對等體pPl可以詢問具有IP地址或網 絡地址IP2,的目標對等體P2,。通過上級通信網絡(在此為因特網IN) 現在在該IP地址IP1、 IP2,之間實現了一個數據連接,這在圖2中通過 箭頭S4來表示。通過采用分配給該對等體P1的^:動對等體pPl,從而 能夠將搜索詢問輸出(exportieren)到該目標P2P網絡中,在那里按照 那里有效的搜索算法來實施搜索詢問。
在圖3中示出了根據本發明一個實施方案的一種對等裝置Pl的示 意性構造。對等裝置Pl尤其可以作為可在計算機上執行的軟件以計算 機實現的方式被實施。為此, 一個相應的計算機程序或對等體Pl具有 穩定程序模塊SM、存儲器程序模塊RM、搜索程序模塊LM以及用于該
14被動對等體的程序模塊pPM。另外還可以設置其他的模塊,比如用于實 現所述部分哈希表格PHT1的模塊或者搜索模塊LM,其中該部分哈希 表格具有相應的鄰居對等體和用于搜索算法的對等體地址。
該對等體Pl或該對等體軟件通常與一種上級應用軟件AP相互作 用,應用軟件AP用于實現計算機的相應功能。這比如可以是一種VOIP 軟件、用于文件共享的軟件或期望進行對等通信的其他應用軟件。如果 附加的對等體加入該P2P網絡中或者對等體失效,那么其中該穩定程序 模塊主要用于更新鄰居表格PHT1或該對等體P1所屬的部分哈希表格。 該穩定程序模塊支配有合適的穩定算法,其中所迷穩定算法保證了與對 等體P1相適應的部分哈希表格。
該存儲器程序模塊RM比如用于存儲應當被提供給該P2P網絡的數 據或文件。其比如可以是地址、電話號碼、用戶名或文件名。該搜索程 序模塊LM例如實現了關于圖1和2而解釋的、在對等網絡中的搜索算 法。該搜索程序模塊在此訪問對等體1的部分哈希表格,并生成相應的 搜索詢問,其中該搜索詢問比如包含有目標節點地址和自己的網絡地 址。該被動對等模塊pPM訪問了該搜索程序模塊LM,并向其提供在陌 生網絡中的對等體的網絡地址,來作為能夠進一步處理該搜索詢問的對 等體的IP地址。如果該對等體P1應當與具有目標節點地址的對等體相 通信,其中該目標節點地址不屬于自己的P2P網絡,那么就如上所迷來 進行。該搜索程序模塊從而生成一個標準搜索詢問,其中,由于該被動 對等模塊pPM的干涉,該搜索消息被傳輸到自己的P2P網絡之外的IP 地址。
接著例如如同參照圖2所解釋的來進行地址解析。因為用于穩定自 己的P2P網絡的所述程序模塊SM、用于存儲的程序模塊RM以及用于 生成搜索詢問的程序模塊LM通常保存在對等裝置或相應的軟件中,所 以利用被動的對等模塊pPM來進行擴展僅僅意味著微小的額外耗費。 因為完全不給該被動對等模塊分配節點地址,所以各P2P網絡的網絡構 造總體也沒有變得更復雜。
在圖4中示出了本發明的另一可能的擴展。設置有具有對等裝置 Pl-P5的一個第一對等網絡P2P1,其中給每個對等裝置P1-P5都分配了 一個被動對等裝置pPl-pP5。類似地利用對等裝置Pl,-P5,構建了一個第 二對等網絡P2P2,其中也給每個對等裝置P1,-P5,都分配了一個^L動對等裝置pPl,-pP5'。因為給每個對等裝置P1-P5、 Pl,-P5,都分配了被動對 等裝置形式的被動實體,所以,在陌生的對等網絡中出現針對文件或信 息的搜索詢問時,每個對等裝置可以采用相應目標對等網絡的搜索算 法,如同前面所詳細解釋的。
在該第二對等網絡P2P2中, 一個對等裝置作為匯聚對等裝置RV 來實施。該匯聚對等裝置RV提供了該第二對等網絡P2P2的主動對等 體的網絡地址的列表,其中如果必須從P2P網絡P2P1到第二P2P網絡 P2P2進行搜索詢問,那么在列表APL中所記錄的、對等體的IP地址之 一就被提供給該第一網絡P2P1的被動對等裝置pPl。該匯聚對等裝置 RV給相應的被動對等體pPl這樣總是提供網絡P2P2的對等體的選擇, 其中這些對等體是主動的,并能夠啟動該P2P2的搜索算法。
這樣如果詢問比如從該第一對等網絡P2P1的對等體P1出發,其中 相應的對等體或用戶位于該第二P2P網絡中,那么該被動對等裝置pPl 首先在一個詢問MO,中在該匯聚對等裝置RV中詢問在第二網絡中的對 等體的可能IP地址,其中能夠向所述對等體傳遞隨后的搜索詢問。該匯 聚對等裝置檢查它的列表APL,并在一個相應的消息MO中把比如對等 裝置P3,的一個或多個相應的IP地址傳輸至該被動對等裝置pPl。在說 明節點地址(比如NID5,)、其對等裝置P1的作為搜索詢問的開始地址 的IP地址以及纟皮詢問的對等體的IP地址IP3,之下,該被動對等裝置pPl 隨后生成一個搜索詢問。該搜索詢問Sl到達對等體P3',該對等體3, 然后在第二對等網絡P2P2中啟動搜索算法。匯聚對等裝置RV保證了 總是給被動對等體提供適于該目標對等網絡中的對等體的IP地址,其中 在該對等裝置上可以確定搜索詢問。
在圖5中示出了本發明的另一實施方案。其比如示出了三個對等網 絡P2P1、 P2P2、 P2P3,其具有對等裝置Pl-P5、 Pl,-P5,、 PN",其中給 每個對等裝置都分配了一個被動對等裝置pP卜pP5、 pPl'-pP5,、 pPN,'。 另外還給每個P2P網絡分配了至少一個負栽平衡器LB1、 LB2、 LB3, 其中該負栽平衡器負責陌生被動對等裝置的搜索詢問。
在根據圖5的本發明的實施方案中, 一個被動對等裝置至目標P2P 網絡中的搜索詢問的第一消息總是進行到負栽平衡器LB1、 LB2、 LB3。 負栽平衡器把搜索詢問或者傳輸到該目標網絡的主動對等體列表中的 一個任意對等體,或者優選地已經傳輸到其節點地址最接近該目標節點
16地址的對等體。該被動對等體pPl比如把它的搜索詢問Tl發送到該第 二對等網絡P2P2的負載平衡器LB2。該負載平衡器判斷出對等裝置P3, 最接近被搜索的目標節點地址比如NID4,,并把該搜索詢問續傳到該對 等體P3,。該對等體P3,利用一個消息T3來應答該被動對等裝置pPl的 搜索詢問,該消息比如包含有該目標對等體4,的網絡地址IP4,。接著該 對等體P1和P4,就可以在其IP地址IP1和IP4,之間構建一個數據連接。 該負載平衡器LB1、 LB2、 LB3在此不必作為該P2P網絡中的有效 實體來實施。該負載平衡器LB1、 LB2、 LB3分別具有一個主動對等體 列表APL,以適當地續傳搜索詢問,這就足夠了。負栽平衡器的列表越 大,它就越好地把來自外部的搜索詢問的負栽在它的目標對等網絡中進 行分配。如在圖4中所解釋的,該負載平衡器也可以與匯聚對等裝置相 同地被實施。那么一個相應組合的對等裝置首先把主動對等體列表轉交 給發出詢問的被動對等裝置。也可以設置多個負載平衡器,其IP地址則 在搜索詢問之前就被傳輸到相應的被動對等裝置。通過匯聚對等裝置或 負栽平衡器對等體的相應冗余,進一步改善了在不同對等網絡之間數據 詢問的可靠性。
盡管本發明已借助優選的實施方案來詳細解釋,但是它并不局限于 此,而是可以有4艮多變化。本發明比如可以被應用于VOIP應用或文件 共享應用。盡管本發明主要借助用于在P2P網絡中進行地址或數據搜索 的Chord算法來進行描述,但是也可以使用P2P網絡的其他組織形式。 另外唯獨還應提及的是Kademlia搜索算法。
還可以考慮除了因特網之外的其他上級通信網絡。類似的網絡比如 在ISDN、 GSM或UNTS通信網絡中給出。比如在不同移動無線電網絡 的用戶之間打電話時也產生在對等網絡之間的切換。通過本發明實現了 網絡的較高的可靠性和穩定性,因為存在進一步分隔的P2P網絡。使用 尤其高效的網關計算機是不必要的。
1權利要求
1. 用于在第一對等網絡(P2P1)中的第一對等裝置(P1)與第二對等網絡(P2P2)中的目標對等裝置(P2’)之間進行數據傳輸的方法,其中每個對等裝置(P1、P1’、P2’)都具有在其各自的對等網絡(P2P1、P2P2)中的節點地址(NID1、NID1’、NID2’)以及在上級通信網絡(IN)中的網絡地址(IP1、IP1’、IP2’),其中,針對該目標對等裝置(P2’)的搜索詢問(S1)在說明該第一對等裝置(P1)的網絡地址(IP1)的情況下從該第一對等網絡(P2P1)被發送到該第二對等網絡(P2P2)中的至少一個第二對等裝置(P1’)。
2. 根據權利要求1所述的方法, 其特征在于, 實施以下的方法步驟a) 在說明該第二對等網絡(P2P2)中的該目標對等裝置(P2,)的 目標節點地址(NID2,)的情況下,發送該搜索詢問(Sl);b) 根據搜索算法利用分布式哈希表格在該第二對等網絡(P2P2) 中實施搜索,以找出該目標對等裝置(P2,)的網絡地址(IP2,);c) 通過該上級通信網絡(IN)把該目標對等裝置(P2,)的網絡地 址(IP2,)發送(S2)到該第一對等裝置(Pl)。
3. 根據權利要求1或2所述的方法, 其特征在于,此外,通過該上級通信網絡(IN)借助所述網絡地址(IP1、 IP2,) 構建在該第一對等裝置(Pl)與該目標對等裝置(P2,)之間的數據連 接(S3、 S4)。
4. 根據前述權利要求至少之一所述的方法, 其特征在于,該搜索詢問(Tl)被轉送(T2)到該第二對等網絡(P2P2)中的另 外的第二對等裝置(P3,),其中所述另外的第二對等裝置(P3,)的網 絡地址(IP3,)被存儲在列表中。
5. 根椐前述權利要求至少之一所述的方法, 其特征在于,在該搜索詢問之前,該第二對等裝置(P1, 、 P 3 ,)的網絡地址(IP 3 ,、 IP3,)的列表被傳輸(M0、 M0,)到被動對等裝置(pPl ),該被動對等裝置被分配給該第一對等裝置(PI)。
6. 第一對等網絡(P2P1)的對等裝置(Pl),具有第一對等網絡 (P2P1 )中的節點地址(NID1 )并具有上級通信網絡(IN)中的網絡地址(IP1 ),其中該對等裝置(Pl )具有被分配的被動對等裝置(pPl ), 該被動對等裝置獨立于該對等網絡,并保存有在第二對等網絡(P2P2) 中的對等裝置(Pl,)的至少一個網絡地址(IP1,),并且其中該被動對 等裝置(pPl)以如下方式來設置,即它把針對該第二對等網絡(P2P2) 中目標對等裝置(P2,)的搜索詢問(Sl)在說.明該對等裝置(Pl)的 網絡地址(IP1)的情況下發送到該第二對等網絡(P2P2)中的至少一 個對等裝置(Pl,)
7. 根據權利要求6所述的對等裝置(Pl ), 其特征在于,該被動對等裝置(pPl)具有列表,該列表具有該第二對等網絡 (P2P2)的對等裝置(Pl,)的網絡地址(IP1,)的選擇。
8. 根據權利要求6或7所述的對等裝置(Pl), 其特征在于,沒有給該被動對等裝置(pPl)分配對等網絡中的節點地址,并且 不能由其他的對等裝置來尋址。
9. 根據權利要求6-8至少之一所述的對等裝置(Pl), 其特征在于,對等裝置(Pl)具有對等網絡(P2P1)的分布式哈希表格(DHT) 的、被存儲的部分哈希表格(PHT),該部分哈希表格具有節點地址 (NIDN)與網絡地址(IPN)的分配。
10. 根據權利要求6-9至少之一所述的對等裝置(Pl), 其特征在于,對等裝置(Pl )作為可執行的計算機程序在計算機上來實現,所述 計算機程序具有用于根據對等協議來穩定該對等網絡(P2P1 )的穩定程 序模塊(SM)、用于存儲數據的存儲器程序模塊(RM),并具有用于 生成搜索詢問的搜索程序模塊(LM),其中該被動對等裝置(pPl)在 使用該第二對等網絡(P2P2)中的對等裝置(Pl,)的至少一個網絡地 址(IP1,)的情況下訪問該搜索程序模塊。
11. 具有第一對等網絡(P2P1)和至少一個第二對等網絡(P2P2)的網絡系統,其中該第一對等網絡(P2P1 )具有第一對等裝置(Pl、 P2、 P3),第二對等網絡(P2P2)具有第二對等裝置(Pr、 P2'、 P3,),其 中至少一個對等裝置(Pl)按照權利要求6-10至少之一來實施。
12. 根據權利要求11所述的網絡系統, 其特征在于,給每個對等裝置(P1、P2、P1,、P2,)分配了一個被動對等裝置(pPl、 pP2、 pP1,、 pP2,)。
13. 根據權利要求11或12所述的網絡系統, 其特征在于,該搜索詢問(Sl、 Tl)包含有所述第二對等網絡(P2P2)中該目標 對等裝置(P2,)的目標節點地址(NID2,)的說明。
14. 根據權利要求11-13至少之一所述的網絡系統, 其特征在于,至少一個對等裝置(LB1、 LB2、 LB3)被設置為負載平衡器,所述 負載平衡器把被動對等裝置(pPl)的搜索詢問(Tl)轉發到相應對等 網絡(P2P2)中的對等裝置(P3')。
15. 根據權利要求11-14至少之一所述的網絡系統, 其特征在于,至少一個對等裝置(RV)被設置為匯聚對等裝置,所述匯聚對等 裝置根據被動對等裝置(pPl)的詢問而提供(MO')在相應目標對等網 絡(P2P2)中的對等裝置(Pl,)的至少一個網絡地址(IP1,)。
16. 根據權利要求11-14至少之一所述的網絡系統, 其特征在于,至少一個對等網絡(P2P2)利用分布式哈希表格并尤其利用Chord 算法或Kademlia算法來設置,以用于進行地址解析。
全文摘要
用于在第一對等網絡(P2P1)中的第一對等裝置(P1)與第二對等網絡(P2P2)中的目標對等裝置(P2’)之間進行數據傳輸的方法,其中每個對等裝置(P1、P1’、P2’)都具有在其相應對等網絡(P2P1、P2P2)中的節點地址(NID1’、NID1’、NID2’)以及在上級通信網絡(IN)中的網絡地址(IP1、IP1’、IP2’),其中在說明該第一對等裝置(P1)的網絡地址(IP1)的情況下,針對該目標對等裝置(P2’)的一個搜索詢問(S1)由該第一對等網絡(P2P1)被發送到該第二對等網絡(P2P2)中的至少一個第二對等裝置(P1’)。
文檔編號H04L29/12GK101491063SQ200780025970
公開日2009年7月22日 申請日期2007年5月2日 優先權日2006年5月9日
發明者J·-U·巴瑟, M·博姆, S·魯西施卡, U·勒特里茨 申請人:諾基亞西門子通信有限責任兩合公司