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