專利名稱:基于分布式哈希表的覆蓋網(wǎng)絡(luò)的路由機(jī)制的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于分布式哈希表的覆蓋網(wǎng)絡(luò)的路由機(jī)制。本發(fā)明特別適用于確定對(duì)等網(wǎng)絡(luò)中資源請(qǐng)求的路由的優(yōu)化過程。
背景技術(shù):
對(duì)等或P2P網(wǎng)絡(luò)利用包括處理能力和通信帶寬等參與節(jié)點(diǎn)的合并資源,以有利于包括文件共享和因特網(wǎng)話音協(xié)議(VoIP)電話的各種各樣的服務(wù)。在缺少中央服務(wù)器時(shí),特定P2P服務(wù)可利用“覆蓋網(wǎng)絡(luò)”優(yōu)化資源位置。覆蓋網(wǎng)絡(luò)包括由虛擬鏈路連接的節(jié)點(diǎn),虛擬鏈路表示在基礎(chǔ)網(wǎng)絡(luò)(例如,因特網(wǎng))中的可能許多物理鏈路上延伸的路徑。覆蓋網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)保持包含到覆蓋網(wǎng)絡(luò)內(nèi)某些其它節(jié)點(diǎn)的鏈路的集合的路由表。資源請(qǐng)求在節(jié)點(diǎn)之間傳遞,直至它們到達(dá)負(fù)責(zé)該資源的節(jié)點(diǎn)。哈希表是將密鑰與值相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)。密鑰例如能夠是人員的名字和該人員的聯(lián)系地址(例如,電子郵件地址或會(huì)話啟動(dòng)協(xié)議(SIP)統(tǒng)一資源標(biāo)識(shí)符(URI))的相關(guān)聯(lián)值。哈希表支持的主要操作是查找-即給定一個(gè)密鑰,哈希表找到對(duì)應(yīng)的值。分布式哈希表(DHT)提供類似于哈希表的查找服務(wù)。然而,不同于常規(guī)哈希表,DHT是在分布式系統(tǒng)或網(wǎng)絡(luò)中使用的非集中哈希表。在DHT中,保持從名稱到值的映射的責(zé)任分布在參與系統(tǒng)的節(jié)點(diǎn)之間。這通過在參與節(jié)點(diǎn)之間劃分密鑰空間來實(shí)現(xiàn)。DHT提供了用于將資源名稱(“密鑰”)映射到覆蓋網(wǎng)絡(luò)內(nèi)位置的有效方式。DHT 利用哈希算法將例如歌曲標(biāo)題、SIP URI等密鑰映射到例如128比特等有限值空間。哈希算法經(jīng)選擇以確保哈希值在值空間上的相對(duì)均勻分布。因此,例如,100個(gè)歌曲標(biāo)題的哈希將可能產(chǎn)生100個(gè)哈希值,這些值在值空間上相對(duì)均勻地間隔開。通過用戶名標(biāo)識(shí)覆蓋網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn),用戶名本身哈希為相應(yīng)哈希值。每個(gè)節(jié)點(diǎn)隨后變?yōu)閷?duì)值空間內(nèi)與其自己值相鄰的哈希值的集合負(fù)責(zé)。實(shí)際上,節(jié)點(diǎn)將存儲(chǔ)資源位置(例如,IP地址),從資源位置能夠獲得匹配它“擁有”的資源名稱的資源。在覆蓋網(wǎng)絡(luò)中的節(jié)點(diǎn)接收對(duì)資源的請(qǐng)求時(shí),節(jié)點(diǎn)確定它是否擁有對(duì)應(yīng)的哈希值。如果是,它將資源的位置返回到請(qǐng)求者(經(jīng)由覆蓋網(wǎng)絡(luò))。如果它不擁有該哈希值,則它檢查其路由表以識(shí)別表內(nèi)具有與該請(qǐng)求的哈希值最接近的哈希值的節(jié)點(diǎn),并且將該請(qǐng)求轉(zhuǎn)發(fā)到該節(jié)點(diǎn)。接收節(jié)點(diǎn)重復(fù)該過程并繼續(xù),直至該請(qǐng)求到達(dá)確實(shí)擁有對(duì)應(yīng)于該請(qǐng)求的哈希值并因此知道資源位置的節(jié)點(diǎn)。在諸如 Chord [I. Stoica、R. Morris、D. Karger > Μ. F. Kaashoek 及 H. Balakrishnan 所著“Chord 因特網(wǎng)應(yīng)用的可擴(kuò)展對(duì)等查找服務(wù)” (Chord =A Scalable Peer-to-peer Lookup Service for Internet Applications)-Proceedings of the ACM SIGCOMM' 01 Conference, August 2001,San Diego, California, USA.]等一些 DHT 中,路由表中的條目稱為指部指示符(pointer)。除路由表外,每個(gè)節(jié)點(diǎn)也保持稱為鄰居列表的另一數(shù)據(jù)結(jié)構(gòu)。 鄰居列表包含到覆蓋網(wǎng)絡(luò)中節(jié)點(diǎn)的緊鄰的后繼(successor)和前趨(predecessor)(即鄰居)的指示符。節(jié)點(diǎn)根據(jù)網(wǎng)絡(luò)的拓?fù)涮暨x其鄰居。鄰居(其能夠是前趨或后繼)與指部之間的不同在
圖1中示出,圖1示出了具有環(huán)狀拓?fù)涞母采w網(wǎng)絡(luò)(僅示出在該環(huán)內(nèi)的少量節(jié)點(diǎn))。每個(gè)節(jié)點(diǎn)保持一個(gè)路由表,路由表包含在環(huán)中少量后繼和前趨節(jié)點(diǎn)及少量更遠(yuǎn)節(jié)點(diǎn)的位置和哈希值。在所示網(wǎng)絡(luò)中,節(jié)點(diǎn)X在其路由表中保持兩個(gè)后繼節(jié)點(diǎn)、兩個(gè)前趨節(jié)點(diǎn)及三個(gè)遠(yuǎn)程節(jié)點(diǎn)的位置。例如,在上述Chord DHT算法中,每個(gè)節(jié)點(diǎn)η保持帶有最多m個(gè)指部的路由表(m經(jīng)選擇以便它等于節(jié)點(diǎn)標(biāo)識(shí)符中的比特?cái)?shù)量)。在節(jié)點(diǎn)η處的表中第i個(gè)條目包含標(biāo)識(shí)符環(huán)上在η后至少2Η的第一節(jié)點(diǎn)s的身份。圖2示出Chord環(huán)的一個(gè)示例,其中,m = 5,表示每個(gè)節(jié)點(diǎn)保持5個(gè)指部。節(jié)點(diǎn)N 將標(biāo)識(shí)符環(huán)劃分成五個(gè)不同指部間隔,其范圍在表1中列出。例如,間隔3的指部F3是在標(biāo)識(shí)符環(huán)上在N后至少23—1 = 4的第一節(jié)點(diǎn)。
權(quán)利要求
1.一種節(jié)點(diǎn),所述節(jié)點(diǎn)在覆蓋網(wǎng)絡(luò)內(nèi)使用并且包括用于基于所述覆蓋網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的集合的功耗水平和/或功率可用性的知識(shí)做出路由判定的判定單元。
2.如權(quán)利要求1所述的節(jié)點(diǎn),所述節(jié)點(diǎn)是移動(dòng)用戶終端。
3.如權(quán)利要求1或權(quán)利要求2所述的節(jié)點(diǎn),其中所述對(duì)等節(jié)點(diǎn)的集合是路由鄰居節(jié)點(diǎn), 所述節(jié)點(diǎn)包括存儲(chǔ)器,用于存儲(chǔ)路由表以及用于每個(gè)路由鄰居的所述路由表中的參數(shù)或與所述路由表相關(guān)聯(lián)的參數(shù),對(duì)于每個(gè)路由鄰居節(jié)點(diǎn)所述路由表包含所述節(jié)點(diǎn)的覆蓋網(wǎng)絡(luò)地址與所述節(jié)點(diǎn)的物理定位器之間的映射,所述參數(shù)包括功率使用參數(shù),指示多個(gè)操作狀態(tài)中每個(gè)操作狀態(tài)的功耗水平,以及功率管理狀態(tài)PMS參數(shù),指示當(dāng)前或最近通知的所述路由鄰居的操作狀態(tài);以及處理單元,配置為基于所述路由鄰居的所述功率使用參數(shù)和所述PMS參數(shù)確定消息要轉(zhuǎn)發(fā)到的路由鄰居。
4.如權(quán)利要求3所述的節(jié)點(diǎn),并且配置為從路由鄰居接收指示所述路由鄰居將要更改其操作狀態(tài)的狀態(tài)更新消息,所述狀態(tài)更新消息包括對(duì)于所述路由鄰居將要進(jìn)入的所述操作狀態(tài)所述路由鄰居的新PMS參數(shù),所述節(jié)點(diǎn)在用于所述路由鄰居的所述路由表?xiàng)l目中存儲(chǔ)所述新PMS參數(shù)。
5.如權(quán)利要求4所述的節(jié)點(diǎn),并且配置為根據(jù)所述路由表中所述路由鄰居的所述參數(shù)確定是否任何所述路由鄰居處于休眠模式,以及存儲(chǔ)所述覆蓋網(wǎng)絡(luò)中的所述狀態(tài)更新消息以便以后在所述休眠路由鄰居將狀態(tài)從所述休眠模式更改為活動(dòng)或受限模式時(shí)輸送給它所述休眠路由鄰居。
6.一種節(jié)點(diǎn),所述節(jié)點(diǎn)在覆蓋網(wǎng)絡(luò)內(nèi)使用并且配置為將所述節(jié)點(diǎn)的多個(gè)操作狀態(tài)中每個(gè)操作狀態(tài)的功耗水平提供到所述覆蓋網(wǎng)絡(luò)中的其它節(jié)點(diǎn),以及通知所述網(wǎng)絡(luò)中一個(gè)或多個(gè)對(duì)等節(jié)點(diǎn)所述節(jié)點(diǎn)的操作狀態(tài)的即將更改。
7.如權(quán)利要求6所述的節(jié)點(diǎn),所述節(jié)點(diǎn)是移動(dòng)用戶終端。
8.如權(quán)利要求6或權(quán)利要求7所述的節(jié)點(diǎn),并且包括存儲(chǔ)指示所述功耗水平的功率使用參數(shù)的存儲(chǔ)器,以及處理單元,配置為在發(fā)送到所述覆蓋網(wǎng)絡(luò)中其它節(jié)點(diǎn)的對(duì)等協(xié)議消息中提供所述功率使用參數(shù),以及在發(fā)送到所述網(wǎng)絡(luò)的其它節(jié)點(diǎn)的通知中提供指示所述節(jié)點(diǎn)將要進(jìn)入的操作狀態(tài)的PMS參數(shù)。
9.如權(quán)利要求8所述的節(jié)點(diǎn),并且配置為將指示它將要更改其操作狀態(tài)的狀態(tài)更新消息發(fā)送到所述覆蓋網(wǎng)絡(luò)內(nèi)的一個(gè)或多個(gè)路由鄰居,所述狀態(tài)更新消息包括對(duì)于所述節(jié)點(diǎn)將要進(jìn)入的所述操作狀態(tài)所述節(jié)點(diǎn)的PMS參數(shù)。
10.如權(quán)利要求6到9任一項(xiàng)所述的節(jié)點(diǎn),還配置為將有關(guān)其剩余電池容量的信息提供到所述網(wǎng)絡(luò)的其它節(jié)點(diǎn)。
11.如權(quán)利要求10所述的節(jié)點(diǎn),其中所述剩余電池容量包括如果所述節(jié)點(diǎn)仍處于活動(dòng)狀態(tài),它將在某個(gè)時(shí)間量?jī)?nèi)用盡電池容量的指示。
12.如前面權(quán)利要求任一項(xiàng)所述的節(jié)點(diǎn),并且配置為訪問無線電資源控制RRC狀態(tài)機(jī)以確定操作狀態(tài)信息。
13.如權(quán)利要求12所述的節(jié)點(diǎn),并且配置用于在寬帶碼分多址WCDMA覆蓋網(wǎng)絡(luò)中操作。
14.如權(quán)利要求12或權(quán)利要求13所述的節(jié)點(diǎn),并且包括在所述節(jié)點(diǎn)的本地平臺(tái)上運(yùn)行以便訪問所述RRC狀態(tài)機(jī)的應(yīng)用。
15.如權(quán)利要求14所述的節(jié)點(diǎn),其中所述應(yīng)用包括配置為訪問所述RRC狀態(tài)機(jī)的供應(yīng)商特定應(yīng)用編程接口(API)或借助于Java規(guī)范請(qǐng)求(JSR)獲得的Java應(yīng)用,所述Java應(yīng)用允許訪問所述RRC狀態(tài)機(jī)。
16.如權(quán)利要求1到11任一項(xiàng)所述的節(jié)點(diǎn),配置為通過參考所述節(jié)點(diǎn)的終端型號(hào),以及從web服務(wù)器或者從通過在所述節(jié)點(diǎn)駐留的P2P應(yīng)用提供的數(shù)據(jù)獲得節(jié)點(diǎn)的功率使用參數(shù)。
17.如權(quán)利要求16所述的節(jié)點(diǎn),并且配置為通過參考系統(tǒng)屬性確定所述終端的所述型號(hào)。
18.如前面權(quán)利要求任一項(xiàng)所述的節(jié)點(diǎn),其中所述節(jié)點(diǎn)無法確定另一對(duì)等體的所述操作狀態(tài),所述節(jié)點(diǎn)配置為在它發(fā)起的對(duì)等協(xié)議消息中將PMS參數(shù)設(shè)置為“未知”。
19.如前面權(quán)利要求任一項(xiàng)所述的節(jié)點(diǎn),其中在包括以下一項(xiàng)或多項(xiàng)的功率使用參數(shù)方面指定所述功耗水平休眠模式功率使用SMPU參數(shù),指定所述節(jié)點(diǎn)處于節(jié)能或休眠模式時(shí)的功耗;活動(dòng)模式功率使用AMPU參數(shù),指定所述節(jié)點(diǎn)在活動(dòng)模式中操作時(shí)的功耗;以及受限模式功率使用RMPU參數(shù),指定所述節(jié)點(diǎn)在受限模式中操作時(shí)的功耗。
20.如前面權(quán)利要求任一項(xiàng)所述的節(jié)點(diǎn),其中所述PMS參數(shù)指示從以下項(xiàng)中選擇的操作狀態(tài)節(jié)能或休眠狀態(tài);活動(dòng)狀態(tài);受限狀態(tài);及未知狀態(tài)。
21.一種在覆蓋網(wǎng)絡(luò)的路由節(jié)點(diǎn)做出路由判定的方法,所述方法包括基于所述對(duì)等節(jié)點(diǎn)的功耗水平和/或功率可用性的知識(shí),選擇在所述覆蓋網(wǎng)絡(luò)中消息要轉(zhuǎn)發(fā)到的對(duì)等節(jié)點(diǎn)的集合中的一個(gè)或多個(gè)對(duì)等節(jié)點(diǎn)。
22.如權(quán)利要求21所述的方法,其中所述覆蓋網(wǎng)絡(luò)采用分布式哈希表DHT,以及其中所述覆蓋網(wǎng)絡(luò)包括保持路由表的節(jié)點(diǎn),對(duì)于所述覆蓋網(wǎng)絡(luò)中路由鄰居節(jié)點(diǎn)的集合的每個(gè)路由鄰居節(jié)點(diǎn)路由表包含所述節(jié)點(diǎn)的覆蓋網(wǎng)絡(luò)地址與所述節(jié)點(diǎn)的物理定位器之間的映射,所述方法還包括在每個(gè)所述覆蓋網(wǎng)絡(luò)節(jié)點(diǎn)保持用于每個(gè)路由鄰居的所述路由表中的參數(shù)或與所述路由表相關(guān)聯(lián)的參數(shù),所述參數(shù)包括功率使用參數(shù),指示多個(gè)操作狀態(tài)中每個(gè)操作狀態(tài)的功耗水平,以及功率管理狀態(tài)PMS參數(shù),指示當(dāng)前或最近通知的所述路由鄰居的操作狀態(tài)。
23.如權(quán)利要求22所述的方法,其中保持參數(shù)包括從路由鄰居接收狀態(tài)更新消息,所述狀態(tài)更新消息包括指定所述路由鄰居將要進(jìn)入的下一操作狀態(tài)的PMS參數(shù);以及更新其路由表中的或與其路由表相關(guān)聯(lián)的所述路由鄰居的PMS參數(shù)。
24.如權(quán)利要求22或權(quán)利要求23所述的方法,還包括檢查所述路由鄰居的所述PMS狀態(tài),以及在路由鄰居不在休眠時(shí)發(fā)送所述狀態(tài)更新消息到所述路由鄰居,或者在路由鄰居正在休眠時(shí),存儲(chǔ)所述覆蓋網(wǎng)絡(luò)中的所述消息以便以后輸送到所述路由鄰居。
25.如權(quán)利要求M所述的方法,其中存儲(chǔ)所述覆蓋網(wǎng)絡(luò)中的所述狀態(tài)更新消息包括 檢查所述休眠路由鄰居的直接路由鄰居的所述PMS狀態(tài),以識(shí)別非休眠直接路由鄰居;以及將目的地為所述休眠路由鄰居的所述狀態(tài)更新消息發(fā)送到所述非休眠直接鄰居以便存儲(chǔ)。
26.如權(quán)利要求25所述的方法,其中所述非休眠直接路由鄰居將要進(jìn)入所述休眠模式,所述方法還包括將所述狀態(tài)更新消息轉(zhuǎn)發(fā)到所述休眠路由鄰居的另一非休眠直接路由鄰居。
27.如權(quán)利要求21到沈任一項(xiàng)所述的方法,其中所述覆蓋網(wǎng)絡(luò)在對(duì)等P2P網(wǎng)絡(luò)中操作,與所述功耗水平和/或功率可用性有關(guān)的信息在使用諸如P2P SIP等對(duì)等協(xié)議在節(jié)點(diǎn)之間發(fā)送的消息中提供。
28.如權(quán)利要求21到27任一項(xiàng)所述的方法,其中選擇消息要轉(zhuǎn)發(fā)到的路由鄰居包括將備選路由鄰居的集合確定為要路由到目的地對(duì)等體的消息的下一跳對(duì)等節(jié)點(diǎn);檢查所述下一跳對(duì)等節(jié)點(diǎn)的操作狀態(tài);以及如果在所述消息發(fā)送到下一跳對(duì)等節(jié)點(diǎn)時(shí)將不需要狀態(tài)更改,則將所述消息轉(zhuǎn)發(fā)到該節(jié)點(diǎn);或者如果所有節(jié)點(diǎn)都需要狀態(tài)更改,則檢查所述下一跳對(duì)等節(jié)點(diǎn)的功耗水平,計(jì)算在更改每個(gè)所述下一跳對(duì)等體的狀態(tài)中涉及的功耗的增大,以及將所述消息轉(zhuǎn)發(fā)到需要功耗最小增大的下一跳對(duì)等體。
29.如權(quán)利要求21到觀任一項(xiàng)所述的方法,其中所述DHT使用Chord算法或Kademlia 算法操作。
30.如權(quán)利要求21到四任一項(xiàng)所述的方法,其中基于所述DHT的覆蓋網(wǎng)絡(luò)以遞歸方式或以迭代方式路由消息。
31.如權(quán)利要求21到30任一項(xiàng)所述的方法,其中所述路由鄰居是分層覆蓋網(wǎng)絡(luò)中的超級(jí)對(duì)等體。
32.如權(quán)利要求觀到31任一項(xiàng)所述的方法,其中在包括一個(gè)或多個(gè)“未知”狀態(tài)參數(shù)的PMS參數(shù)方面指定路由鄰居的所述操作狀態(tài),所述方法包括A)如果所述備選下一跳節(jié)點(diǎn)的集合包含處于活動(dòng)模式的至少一個(gè)對(duì)等體,則將所述消息轉(zhuǎn)發(fā)到處于活動(dòng)模式的所述對(duì)等體之一;以及B)如果所述備選下一跳節(jié)點(diǎn)的集合不包含處于所述活動(dòng)模式的對(duì)等體,則從具有未知狀態(tài)的所述對(duì)等體中選擇在所述活動(dòng)模式中具有最小功耗的對(duì)等體。
全文摘要
一種在諸如基于分布式哈希表的覆蓋網(wǎng)絡(luò)等覆蓋網(wǎng)絡(luò)內(nèi)使用并配置為跨覆蓋網(wǎng)絡(luò)路由分組的節(jié)點(diǎn)。節(jié)點(diǎn)包括用于基于覆蓋網(wǎng)絡(luò)中對(duì)等節(jié)點(diǎn)的集合的功耗水平和/或功率可用性的知識(shí)做出路由判定的部件。
文檔編號(hào)H04W84/18GK102204346SQ200880131844
公開日2011年9月28日 申請(qǐng)日期2008年8月27日 優(yōu)先權(quán)日2008年8月27日
發(fā)明者J·梅恩帕, T·???申請(qǐng)人:愛立信電話股份有限公司