两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

基于自治域的P2P-VoIP網(wǎng)絡(luò)中繼節(jié)點(diǎn)選擇方法

文檔序號(hào):7781405閱讀:117來(lái)源:國(guó)知局
專利名稱:基于自治域的P2P-VoIP 網(wǎng)絡(luò)中繼節(jié)點(diǎn)選擇方法
技術(shù)領(lǐng)域
本發(fā)明涉及互聯(lián)網(wǎng)點(diǎn)對(duì)點(diǎn)(P2P)語(yǔ)音業(yè)務(wù)(VoIP)網(wǎng)絡(luò)中繼節(jié)點(diǎn)選擇方法,特別適用于當(dāng)P2P-VoIP網(wǎng)絡(luò)需要選擇中繼節(jié)點(diǎn)來(lái)提高話音質(zhì)量的情況。
背景技術(shù)
對(duì)等網(wǎng)絡(luò)(Peer to Peer,P2P)作為現(xiàn)有互聯(lián)網(wǎng)(Internet)的覆蓋網(wǎng)絡(luò)(Overlay Network),通過網(wǎng)絡(luò)中的節(jié)點(diǎn)之間共享資源來(lái)實(shí)現(xiàn)分布式、可靠、可擴(kuò)展、健壯的網(wǎng)絡(luò)應(yīng)用模式。它與傳統(tǒng)大的客戶機(jī)/服務(wù)器(Client/Server,簡(jiǎn)稱C/S)的網(wǎng)絡(luò)模式有著顯著區(qū)別,C/S網(wǎng)絡(luò)模式需要一種中央服務(wù)器來(lái)處理絕大部分的運(yùn)算工作,為客戶端提供相應(yīng)的服務(wù)。而在對(duì)等網(wǎng)絡(luò)中,每個(gè)計(jì)算機(jī)都會(huì)貢獻(xiàn)一部分資源,以對(duì)等的方式形成網(wǎng)絡(luò)連接,節(jié)點(diǎn)既充當(dāng)服務(wù)器又充當(dāng)客戶端的角色。目前P2P網(wǎng)絡(luò)已經(jīng)被廣泛的應(yīng)用于實(shí)時(shí)多媒體通信, 如 skype。VoIP (Voice over Internet Protocol)是指將模擬的聲音訊號(hào)經(jīng)過壓縮與封包之后,以數(shù)據(jù)封包的形式在IP網(wǎng)絡(luò)的環(huán)境進(jìn)行語(yǔ)音訊號(hào)的傳輸,通俗來(lái)說(shuō)也就是互聯(lián)網(wǎng)電話、網(wǎng)絡(luò)電話或者簡(jiǎn)稱IP電話的意思。VoIP的基本原理是通過語(yǔ)音的壓縮算法對(duì)語(yǔ)音數(shù)據(jù)編碼進(jìn)行壓縮處理,然后把這些語(yǔ)音數(shù)據(jù)按TCP/IP標(biāo)準(zhǔn)進(jìn)行打包,經(jīng)過IP網(wǎng)絡(luò)把數(shù)據(jù)包送至接收地,再把這些語(yǔ)音數(shù)據(jù)包串起來(lái),經(jīng)過解壓處理后,恢復(fù)成原來(lái)的語(yǔ)音信號(hào),從而達(dá)到由互聯(lián)網(wǎng)傳送語(yǔ)音的目的。盡管P2P網(wǎng)絡(luò)可以提供一定質(zhì)量的VoIP業(yè)務(wù),但是P2P_VoIP在性能上也存在一個(gè)問題。這個(gè)問題主要是由目前互聯(lián)網(wǎng)的現(xiàn)狀引起的。由于最初互聯(lián)網(wǎng)的設(shè)計(jì)并不是要替代傳統(tǒng)的電話網(wǎng),互聯(lián)網(wǎng)中的任意兩個(gè)節(jié)點(diǎn)之間并不一定能夠建立符合ITU G. 114標(biāo)準(zhǔn)的話音通信。在互聯(lián)網(wǎng)中進(jìn)行話音通信的主要障礙是通信的時(shí)延較大、丟包率較大。要解決P2P_VoIP網(wǎng)絡(luò)中這個(gè)問題,通常有三個(gè)方法第一個(gè)方法是用戶節(jié)點(diǎn)需要連接到多個(gè)互聯(lián)網(wǎng)服務(wù)提供商(Internet Service Provider, ISP),這樣語(yǔ)音會(huì)話的源和目的節(jié)點(diǎn)之間就存在多跳不同的路徑,而這些路徑同時(shí)不滿足語(yǔ)音通信的質(zhì)量要求的概率是較低的。但是這個(gè)方法的代價(jià)較大,同時(shí)目前大多數(shù)用戶通常只連接到一個(gè)ISP,如中國(guó)電信等,所以這個(gè)方法對(duì)大多數(shù)互聯(lián)網(wǎng)用戶來(lái)說(shuō)并不可行。第二個(gè)方法是P2P-VoIP業(yè)務(wù)提供商部署專用的服務(wù)器來(lái)轉(zhuǎn)接某些不滿足語(yǔ)音通信的鏈路語(yǔ)音通信,但是這個(gè)方法對(duì)P2P-VoIP業(yè)務(wù)提供商來(lái)說(shuō),開銷較大。第三個(gè)方法是通過在P2P網(wǎng)絡(luò)中選擇一些中繼節(jié)點(diǎn),來(lái)轉(zhuǎn)接某些不滿足語(yǔ)音通信鏈路的語(yǔ)音通信,但是目前并沒有提出非常有效的方法,主要困難在于對(duì)一個(gè)具有N個(gè)節(jié)點(diǎn)的P2P-VoIP網(wǎng)絡(luò)來(lái)說(shuō),一個(gè)語(yǔ)音通信可以選擇的潛在中繼節(jié)點(diǎn)為N-2個(gè),當(dāng)網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)量非常大時(shí),選擇中繼節(jié)點(diǎn)的開銷就會(huì)非常大
發(fā)明內(nèi)容
鑒于以上,本發(fā)明提出了基于自治域的P2P-VoIP網(wǎng)絡(luò)中繼節(jié)點(diǎn)選擇方法。本發(fā)明提出基于自治域的P2P-VoIP網(wǎng)絡(luò)中繼節(jié)點(diǎn)選擇方法,包括以下步驟為會(huì)話源端或目的端提供服務(wù)的基于自治域的P2P-VoIP網(wǎng)絡(luò)的第一超級(jí)節(jié)點(diǎn)接收到源端或目的端發(fā)送的查找中繼節(jié)點(diǎn)的請(qǐng)求消息;第一超級(jí)節(jié)點(diǎn)從存儲(chǔ)的時(shí)延矩陣中,找到最小的和/或次小時(shí)延值的中繼AS,向中繼AS中的第二超級(jí)節(jié)點(diǎn)發(fā)送中繼節(jié)點(diǎn)的請(qǐng)求消息,所述時(shí)延矩陣的行與列均為AS的時(shí)延值;中繼AS中的第二超級(jí)節(jié)點(diǎn)從其服務(wù)的普通節(jié)點(diǎn)中選擇至少一個(gè)性能高且負(fù)載低的普通節(jié)點(diǎn)作為中繼節(jié)點(diǎn),返回給第一超級(jí)節(jié)點(diǎn);第一超級(jí)節(jié)點(diǎn)將所述至少一個(gè)中繼節(jié)點(diǎn)返回給源端或目的端。針對(duì)現(xiàn)有技術(shù)存在的缺陷和不足,本發(fā)明提出一種有效、可行的基于自治域的 P2P-VoIP網(wǎng)絡(luò)中繼節(jié)點(diǎn)選擇方法,能夠通過構(gòu)建自治域之間的時(shí)延矩陣、周期性的測(cè)量生成最新的時(shí)延矩陣,為目前P2P-VoIP網(wǎng)絡(luò)中會(huì)話延時(shí)較大的鏈路,選擇低時(shí)延的中繼節(jié)點(diǎn),來(lái)提高P2P-VoIP網(wǎng)絡(luò)的通話質(zhì)量。本發(fā)明實(shí)時(shí)測(cè)量生成時(shí)延矩陣,相比現(xiàn)有技術(shù)估算節(jié)點(diǎn)間時(shí)延的方法,具有更高的準(zhǔn)確性。


圖1是示出本發(fā)明基于自治域的P2P_VoIP網(wǎng)絡(luò)結(jié)構(gòu);圖2是示出本發(fā)明節(jié)點(diǎn)的ID生成方法;圖3是示出本發(fā)明節(jié)點(diǎn)通過方式1加入網(wǎng)絡(luò)的過程;圖4是示出本發(fā)明節(jié)點(diǎn)通過方式2加入網(wǎng)絡(luò)的過程;圖5是示出本發(fā)明節(jié)點(diǎn)通過方式3加入網(wǎng)絡(luò)的過程;圖6是示出本發(fā)明時(shí)延矩陣的測(cè)量算法;圖7是示出本發(fā)明時(shí)延矩陣的廣播方法;圖8是示出本發(fā)明中繼節(jié)點(diǎn)選擇方法。
具體實(shí)施例方式在P2P_VoIP網(wǎng)絡(luò)中,構(gòu)建基于自治域的P2P_VoIP網(wǎng)絡(luò)結(jié)構(gòu),對(duì)P2P_VoIP網(wǎng)絡(luò)中的節(jié)點(diǎn)ID按照自治域進(jìn)行命名,節(jié)點(diǎn)加入到基于自治域的P2P-VoIP網(wǎng)絡(luò)過程,在P2P-VoIP 網(wǎng)絡(luò)中測(cè)量自治域之間的時(shí)延矩陣,網(wǎng)絡(luò)中的超級(jí)節(jié)點(diǎn)存儲(chǔ)該時(shí)延矩陣,用戶可以通過中繼節(jié)點(diǎn)選擇算法找到合適的中繼節(jié)點(diǎn)。下面結(jié)合附圖,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步的詳細(xì)說(shuō)明。對(duì)于所屬技術(shù)領(lǐng)域的技術(shù)人員而言,從對(duì)本發(fā)明的詳細(xì)說(shuō)明中,本發(fā)明的上述的特征和優(yōu)點(diǎn)將顯而易見。如圖1所示,本發(fā)明提出的根據(jù)AS號(hào)(Autonomous System,自治域)構(gòu)建基于自治域的分級(jí)P2P-VoIP網(wǎng)絡(luò)結(jié)構(gòu),節(jié)點(diǎn)分為bootstrap服務(wù)器節(jié)點(diǎn)、超級(jí)節(jié)點(diǎn)和普通節(jié)點(diǎn)?;谧灾斡虻腜2P-VoIP網(wǎng)絡(luò)結(jié)構(gòu)為2級(jí)等級(jí)結(jié)構(gòu)。節(jié)點(diǎn)通過AS號(hào)來(lái)聚類,所有的超級(jí)節(jié)點(diǎn)組成超級(jí)節(jié)點(diǎn)DHT網(wǎng)絡(luò)(SN-DHT),超級(jí)節(jié)點(diǎn)DHT采用one-hop-DHT,作為分級(jí)網(wǎng)絡(luò)的第一級(jí)網(wǎng)絡(luò),負(fù)責(zé)互通每個(gè)獨(dú)立的AS自治域中的DHT網(wǎng)絡(luò)。同一個(gè)AS中的普通節(jié)點(diǎn)組成普通節(jié)點(diǎn)DHT(ON-DHT),作為第二級(jí)網(wǎng)絡(luò),通過第一級(jí)網(wǎng)絡(luò)互通。每個(gè)自治域中的普通節(jié)點(diǎn)和超級(jí)節(jié)點(diǎn)間的比例基本維持在一個(gè)恒定的常數(shù),普通節(jié)點(diǎn)的數(shù)量要遠(yuǎn)多于超級(jí)節(jié)點(diǎn)的數(shù)量。P2P-VoIP網(wǎng)絡(luò)中的3種節(jié)點(diǎn)定義如下DBootstrap 服務(wù)器節(jié)點(diǎn)Bootstrap節(jié)點(diǎn)是P2P_VoIP網(wǎng)絡(luò)中專有的服務(wù)器,通常是由P2P_VoIP服務(wù)提供商部署的高性能、M小時(shí)在線的服務(wù)器集群。這些服務(wù)器通常用于處理用戶的登錄和節(jié)點(diǎn)的加入請(qǐng)求。還負(fù)責(zé)構(gòu)建IP地址前綴到AS號(hào)映射表,構(gòu)建部分超級(jí)節(jié)點(diǎn)表,管理時(shí)延矩陣寸。在一個(gè)新的節(jié)點(diǎn)(計(jì)算機(jī))要加P2P-VoIP網(wǎng)絡(luò)時(shí),新節(jié)點(diǎn)會(huì)向bootstrap節(jié)點(diǎn)發(fā)送加入請(qǐng)求消息,bootstrap節(jié)點(diǎn)通過分析該節(jié)點(diǎn)的IP地址的AS號(hào),將AS號(hào)信息發(fā)送給這個(gè)新節(jié)點(diǎn)。新節(jié)點(diǎn)在得到AS號(hào)時(shí),就會(huì)加入到相應(yīng)的0N-DHT。如果網(wǎng)絡(luò)中的節(jié)點(diǎn)是NAT 節(jié)點(diǎn)或是位于防火墻后不能加DHT網(wǎng)絡(luò)時(shí),這些節(jié)點(diǎn)直接連接到普通節(jié)點(diǎn)或是超級(jí)節(jié)點(diǎn)。在P2P網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都會(huì)存儲(chǔ)IP地址前綴到AS號(hào)映射表。AS號(hào)和IP地址數(shù)據(jù)可以從APNIC、CNNIC等權(quán)威機(jī)構(gòu)獲得,IP地址前綴到AS號(hào)的映射表可以由專門部署的 bootstrap服務(wù)器來(lái)完成。當(dāng)節(jié)點(diǎn)已經(jīng)存儲(chǔ)了該映射表時(shí),在以后加入P2P網(wǎng)絡(luò)時(shí)就可以不必向bootstrap節(jié)點(diǎn)詢問。Bootstrap節(jié)點(diǎn)會(huì)在每個(gè)AS中選擇十幾個(gè)超級(jí)節(jié)點(diǎn)構(gòu)建部分超級(jí)節(jié)點(diǎn)表。部分超級(jí)節(jié)點(diǎn)表的作用是用于時(shí)延矩陣的測(cè)量。Bootstrap節(jié)點(diǎn)會(huì)周期性的運(yùn)行時(shí)延矩陣構(gòu)建算法,來(lái)生成最新的時(shí)延矩陣。2)超級(jí)節(jié)點(diǎn)超級(jí)節(jié)點(diǎn)是從P2P網(wǎng)絡(luò)中的普通節(jié)點(diǎn)選取出來(lái)的高性能節(jié)點(diǎn),如計(jì)算性能高、存儲(chǔ)空間大、在線時(shí)間長(zhǎng)、帶寬大等。在P2P-VoIP網(wǎng)絡(luò)中,每個(gè)自治域單獨(dú)的選擇該自治域中的超級(jí)節(jié)點(diǎn)。超級(jí)節(jié)點(diǎn)為普通節(jié)點(diǎn)服務(wù)每個(gè)超級(jí)節(jié)點(diǎn)存儲(chǔ)其他超級(jí)節(jié)點(diǎn)的地址信息,周期性的聯(lián)系bootstrap節(jié)點(diǎn)來(lái)獲取最新的時(shí)延矩陣和IP地址前綴到AS號(hào)映射表;將IP地址前綴到AS號(hào)映射表廣播到AS中普通節(jié)點(diǎn);處理來(lái)自bootstrap節(jié)點(diǎn)關(guān)于時(shí)延的測(cè)量請(qǐng)求;接收他們所服務(wù)的普通節(jié)點(diǎn)的信息,并存儲(chǔ)性能較好的節(jié)點(diǎn)作為候選的中繼節(jié)點(diǎn);當(dāng)普通節(jié)點(diǎn)查詢中繼節(jié)點(diǎn)時(shí),運(yùn)行中繼節(jié)點(diǎn)選擇算法。3)普通節(jié)點(diǎn)每個(gè)AS中普通節(jié)點(diǎn)組成各自的DHT,如果AS中只有一個(gè)節(jié)點(diǎn),那么該節(jié)點(diǎn)自動(dòng)成為超級(jí)節(jié)點(diǎn),周期性的將節(jié)點(diǎn)的信息發(fā)送給與它相關(guān)聯(lián)的超級(jí)節(jié)點(diǎn)。當(dāng)有多個(gè)節(jié)點(diǎn)時(shí),按照節(jié)點(diǎn)的能力權(quán)值選擇一定比例的節(jié)點(diǎn)為超級(jí)節(jié)點(diǎn)。每個(gè)普通節(jié)點(diǎn)連接至少 2個(gè)本自治域內(nèi)的超級(jí)節(jié)點(diǎn),以提高系統(tǒng)的可靠性。P2P-VoIP網(wǎng)絡(luò)中的3種節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)如下1)Bootstrap服務(wù)器節(jié)點(diǎn)存儲(chǔ)IP地址前綴到AS號(hào)的映射表、部分超級(jí)節(jié)點(diǎn)表和時(shí)延矩陣的管理模塊、AS號(hào)到節(jié)點(diǎn)ID前綴映射表(可選)。時(shí)延矩陣的管理模塊負(fù)責(zé)時(shí)延矩陣的測(cè)量和廣播工作。2)超級(jí)節(jié)點(diǎn)存儲(chǔ)IP地址前綴到AS號(hào)的映射表、性能較高的普通節(jié)點(diǎn)表、時(shí)延矩陣、AS號(hào)到節(jié)點(diǎn)ID前綴映射表(可選)。性能較高的普通節(jié)點(diǎn)表由超級(jí)節(jié)點(diǎn)從他所服務(wù)的所有普通節(jié)點(diǎn)中選出一些性能較高負(fù)載較低的節(jié)點(diǎn)。時(shí)延矩陣包括最新的時(shí)延矩陣,以及歷史的時(shí)延矩陣。3)普通節(jié)點(diǎn)存儲(chǔ)IP地址前綴到AS號(hào)的映射表、AS號(hào)到節(jié)點(diǎn)ID前綴映射表(可選)。
其中AS號(hào)到節(jié)點(diǎn)ID前綴映射表為可選項(xiàng),是否有該映射表要看網(wǎng)絡(luò)的節(jié)點(diǎn)ID的產(chǎn)生方式。P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)采用AS號(hào)進(jìn)行聚類,即屬于同一個(gè)AS的節(jié)點(diǎn)聚類到同一個(gè) ON-DHT中。每個(gè)AS內(nèi)的超級(jí)節(jié)點(diǎn)為該AS內(nèi)的普通節(jié)點(diǎn)服務(wù)。節(jié)點(diǎn)通過AS號(hào)聚類可以保證,每個(gè)ON-DHT只包含一個(gè)AS的節(jié)點(diǎn),通常每個(gè)AS內(nèi)的節(jié)點(diǎn)時(shí)延是比較小的,并且這些節(jié)點(diǎn)與其他AS中任一節(jié)點(diǎn)之間的時(shí)延比較類似,例如ASl中的a,b節(jié)點(diǎn),AS2中的c,d節(jié)點(diǎn), a-c的時(shí)延與a-d時(shí)延,以及b-c,b-d的時(shí)延大小沒有大的差距。通過構(gòu)建AS之間的時(shí)延矩陣,即每個(gè)AS中選擇1個(gè)或多個(gè)代表節(jié)點(diǎn),他們之間相互測(cè)量得到時(shí)延矩陣,可以獲得整個(gè)P2P-VoIP網(wǎng)絡(luò)中各ON-DHT間的時(shí)延關(guān)系,為中繼節(jié)點(diǎn)的選擇提供依據(jù)。節(jié)點(diǎn)的ID生成方法如圖2所示。在傳統(tǒng)的DHT覆蓋網(wǎng)中,每個(gè)節(jié)點(diǎn)都有一個(gè)節(jié)點(diǎn) ID,該節(jié)點(diǎn)的ID通過哈希算法生成。在基于自治域的P2P-VoIP網(wǎng)絡(luò)中節(jié)點(diǎn)的ID采用前綴和后綴的方式生成。每個(gè)節(jié)點(diǎn)ID包括域名部分和IP地址部分,這兩部分分別生成節(jié)點(diǎn)的ID前綴和后綴,其中域名部分生成節(jié)點(diǎn)ID的前綴,IP地址部分生成節(jié)點(diǎn)ID的后綴。每個(gè)節(jié)點(diǎn)域名與該節(jié)點(diǎn)所在的AS號(hào)相關(guān)聯(lián),bootstrap服務(wù)器負(fù)責(zé)建立網(wǎng)絡(luò)中的AS號(hào)到域名的映射表。因此,節(jié)點(diǎn)ID的前綴可以由AS號(hào)映射得到,映射的方式可以采用固定映射或是哈希的方式。采用固定映射方式,每個(gè)節(jié)點(diǎn)需要存儲(chǔ)AS號(hào)到節(jié)點(diǎn)ID前綴映射表,該表由 bootstrap服務(wù)器制定,并將該表廣播到網(wǎng)絡(luò)中的所有節(jié)點(diǎn)。如果采用哈希的方式,那么每個(gè)節(jié)點(diǎn)不用存儲(chǔ)AS號(hào)到節(jié)點(diǎn)ID前綴映射表,每個(gè)節(jié)點(diǎn)根據(jù)AS號(hào)直接哈希即可得到節(jié)點(diǎn)ID 前綴。節(jié)點(diǎn)ID的后綴采用直接哈希節(jié)點(diǎn)的IP地址的方式生成。本發(fā)明提出的節(jié)點(diǎn)加P2P-VoIP網(wǎng)絡(luò)的方法,包括如果節(jié)點(diǎn)已經(jīng)存儲(chǔ)了 IP地址前綴到AS的映射表,節(jié)點(diǎn)通過查詢?cè)摫恚袛嘧约簩儆谀膫€(gè)自治域的DHT,然后通過標(biāo)準(zhǔn)的DHT算法加入到網(wǎng)絡(luò)中。如果節(jié)點(diǎn)沒有存儲(chǔ)IP地址前綴到AS的映射表,節(jié)點(diǎn)通過 bootstrap服務(wù)器查詢所屬的自治域,然后通過bootstrap服務(wù)器算法加入到網(wǎng)絡(luò)中。下面將結(jié)合圖3 圖5進(jìn)行詳細(xì)說(shuō)明。圖3是示出本發(fā)明節(jié)點(diǎn)通過方式1加入網(wǎng)絡(luò)的過程。節(jié)點(diǎn)為新節(jié)點(diǎn),P2P-VoIP網(wǎng)絡(luò)節(jié)點(diǎn)ID前綴采用固定映射方式。節(jié)點(diǎn)的加入步驟如下新節(jié)點(diǎn)向bootstrap服務(wù)器發(fā)送加入請(qǐng)求,通知bootstrap服務(wù)器該節(jié)點(diǎn)為新節(jié)點(diǎn),bootstrap服務(wù)器返回該節(jié)點(diǎn)的ID前綴和所屬的ON-DHT的超級(jí)節(jié)點(diǎn)。新節(jié)點(diǎn)得到上述信息后采用標(biāo)準(zhǔn)DHT算法加入到ON-DHT中。ON-DHT中的超級(jí)節(jié)點(diǎn)會(huì)將IP地址前綴到AS 號(hào)的映射表、AS號(hào)到節(jié)點(diǎn)ID前綴映射表發(fā)送給該節(jié)點(diǎn)。圖4是示出本發(fā)明節(jié)點(diǎn)通過方式2加入網(wǎng)絡(luò)的過程。節(jié)點(diǎn)為新節(jié)點(diǎn),P2P-VoIP網(wǎng)絡(luò)節(jié)點(diǎn)ID前綴采用哈希方式。節(jié)點(diǎn)的加入步驟如下新節(jié)點(diǎn)向bootstrap服務(wù)器發(fā)送加入請(qǐng)求,通知bootstrap服務(wù)器該節(jié)點(diǎn)為新節(jié)點(diǎn),bootstrap服務(wù)器返回該節(jié)點(diǎn)的AS號(hào)和所屬的ON-DHT的超級(jí)節(jié)點(diǎn)。新節(jié)點(diǎn)得到上述信息后采用標(biāo)準(zhǔn)DHT算法加入到ON-DHT中。ON-DHT中的超級(jí)節(jié)點(diǎn)會(huì)將IP地址前綴到AS 號(hào)的映射表發(fā)送給該節(jié)點(diǎn),節(jié)點(diǎn)自己哈希得到ID。圖5是示出本發(fā)明節(jié)點(diǎn)通過方式3加入網(wǎng)絡(luò)的過程。節(jié)點(diǎn)以前加入過P2P-VoIP 網(wǎng)絡(luò),節(jié)點(diǎn)的加入步驟如下節(jié)點(diǎn)判斷節(jié)點(diǎn)的IP與上一次加入網(wǎng)絡(luò)中的IP是否屬于同一個(gè)AS內(nèi),如果屬于同一個(gè)AS,則節(jié)點(diǎn)通過上一次加入P2P-VoIP網(wǎng)絡(luò)時(shí)認(rèn)知的同一個(gè)AS內(nèi)的IP地址聯(lián)系,如果有其他節(jié)點(diǎn)響應(yīng),則按照標(biāo)準(zhǔn)的DHT算法加入網(wǎng)絡(luò)。如果節(jié)點(diǎn)的IP與上一次加入網(wǎng)絡(luò)中的 IP不屬于同一個(gè)AS,節(jié)點(diǎn)通過上一次加入P2P-VoIP網(wǎng)絡(luò)時(shí)認(rèn)知的同一個(gè)AS內(nèi)的IP地址聯(lián)系,如果有其他節(jié)點(diǎn)響應(yīng),則通過響應(yīng)的節(jié)點(diǎn)查找該節(jié)點(diǎn)IP所屬的AS內(nèi)的節(jié)點(diǎn),通過查找得到的節(jié)點(diǎn)加入到P2P-VoIP網(wǎng)絡(luò)。如圖6所示,在節(jié)點(diǎn)加入到網(wǎng)絡(luò)之后,時(shí)延矩陣的構(gòu)建方法包括測(cè)量、廣播,時(shí)延矩陣的測(cè)量算法是在bootstrap服務(wù)器節(jié)點(diǎn)上運(yùn)行的,測(cè)量算法步驟如下a. Bootstrap服務(wù)器節(jié)點(diǎn)發(fā)送測(cè)量請(qǐng)求消息給選中的超級(jí)節(jié)點(diǎn);b、超級(jí)節(jié)點(diǎn)接收到來(lái)自bootstrap服務(wù)器節(jié)點(diǎn)的測(cè)量請(qǐng)求消息,測(cè)量它與其他AS 號(hào)內(nèi)的超級(jí)節(jié)點(diǎn)之間的時(shí)延值。時(shí)延矩陣中的值為AS之間的相互時(shí)延值,采用測(cè)量的方法得到,可以使用Ping工具等;C、將測(cè)量結(jié)果返回給bootstrap服務(wù)器節(jié)點(diǎn);d、當(dāng)bootstrap服務(wù)器節(jié)點(diǎn)接收到所有選中的超級(jí)節(jié)點(diǎn)的測(cè)量結(jié)果消息,生成時(shí)延矩陣,時(shí)延矩陣構(gòu)建算法結(jié)束。其中負(fù)責(zé)測(cè)量的超級(jí)節(jié)點(diǎn)也可以將它負(fù)責(zé)的測(cè)量任務(wù)分配給它所服務(wù)的普通節(jié)點(diǎn),以減輕該節(jié)點(diǎn)測(cè)量的開銷。Bootstrap服務(wù)器根據(jù)網(wǎng)絡(luò)中AS數(shù)量,構(gòu)建AS之間的時(shí)延矩陣,每個(gè)AS中取至少一個(gè)節(jié)點(diǎn)。每個(gè)AS中選擇1個(gè)或多個(gè)代表節(jié)點(diǎn),相互測(cè)量得到時(shí)延矩陣。時(shí)延矩陣的大小與P2P-VoIP網(wǎng)絡(luò)中的AS數(shù)量相關(guān),時(shí)延矩陣可以存儲(chǔ)在超級(jí)節(jié)點(diǎn)中或是普通節(jié)點(diǎn)中。時(shí)延矩陣的行與列均為AS的時(shí)延值,每個(gè)AS中可以選取幾個(gè)節(jié)點(diǎn)。如果該AS暫時(shí)沒有節(jié)點(diǎn), 則時(shí)延矩陣中該AS的時(shí)延值是使用以前同一時(shí)間段測(cè)量的值。Bootstrap服務(wù)器周期性的運(yùn)行時(shí)延矩陣構(gòu)建算法。算法運(yùn)行時(shí)bootstrap服務(wù)器從存儲(chǔ)的部分超級(jí)節(jié)點(diǎn)表中選取一些超級(jí)節(jié)點(diǎn)承擔(dān)時(shí)延矩陣的測(cè)量任務(wù)。Bootstrap服務(wù)器從每個(gè)AS中選取幾個(gè)超級(jí)節(jié)點(diǎn)構(gòu)建部分超級(jí)節(jié)點(diǎn)表,其中每個(gè) AS中必須包括在ID空間中的頭或尾超級(jí)節(jié)點(diǎn),該節(jié)點(diǎn)承擔(dān)時(shí)延矩陣的廣播任務(wù)。圖7為本發(fā)明時(shí)延矩陣的廣播方法。時(shí)延矩陣的廣播由bootstrap服務(wù)器節(jié)點(diǎn)完成,時(shí)延矩陣的廣播算法是在bootstrap服務(wù)器上按一定的周期運(yùn)行的,是在得到最新的時(shí)延矩陣后運(yùn)行該算法。時(shí)延矩陣的廣播采用分等級(jí)的廣播方式,第一級(jí)為AS層面,在每個(gè)AS中選擇一個(gè)節(jié)點(diǎn)作為AS的頭節(jié)點(diǎn),在每個(gè)AS中劃分成多個(gè)塊,每個(gè)塊中選擇一個(gè)超級(jí)節(jié)點(diǎn)作為該塊的頭節(jié)點(diǎn)。AS的頭節(jié)點(diǎn)和塊頭節(jié)點(diǎn)選擇可以按照一定的規(guī)律,比如選擇ID空間上的頭節(jié)點(diǎn)或是尾節(jié)點(diǎn),以及其它的選擇方法等。每個(gè)AS中超級(jí)節(jié)點(diǎn)所占的ID空間平均劃分成N塊,N的大小取決于該AS中超級(jí)節(jié)點(diǎn)的數(shù)量,保證每塊中包含數(shù)量較少的超級(jí)節(jié)點(diǎn)。并且在每塊中選擇一個(gè)節(jié)點(diǎn)做為該塊的塊頭節(jié)點(diǎn)。時(shí)延矩陣由bootstrap服務(wù)器負(fù)責(zé)轉(zhuǎn)發(fā)給P2P-VoIP網(wǎng)絡(luò)中的所有超級(jí)節(jié)點(diǎn),廣播的步驟如下
步驟1、Bootstrap服務(wù)器將時(shí)延矩陣發(fā)送給每個(gè)AS的頭節(jié)點(diǎn);步驟2、每個(gè)AS的頭節(jié)點(diǎn)繼續(xù)將時(shí)延矩陣廣播到該AS中所有塊頭節(jié)點(diǎn);步驟3、塊頭節(jié)點(diǎn)將時(shí)延矩陣廣播到該塊中所有其他超級(jí)節(jié)點(diǎn)。這種廣播方法能保證快速的將時(shí)延矩陣廣播到P2P-VoIP網(wǎng)絡(luò)中的所有節(jié)點(diǎn),并且保證bootstrap服務(wù)器、AS頭節(jié)點(diǎn)、塊頭節(jié)點(diǎn)在廣播中承擔(dān)的負(fù)載較低。圖8為本發(fā)明中繼節(jié)點(diǎn)選擇方法,在P2P_VoIP網(wǎng)絡(luò)中,如果某一個(gè)會(huì)話由于時(shí)延太高,不能滿足通話質(zhì)量要求時(shí),可以通過選擇一條低時(shí)延的中繼鏈路,由中繼節(jié)點(diǎn)來(lái)轉(zhuǎn)接話音,以提升話音的質(zhì)量。本發(fā)明的中繼節(jié)點(diǎn)選擇方法步驟如下1)中繼節(jié)點(diǎn)的選擇由會(huì)話的源和目的端發(fā)起。為會(huì)話的源或目的端提供服務(wù)的超級(jí)節(jié)點(diǎn)接收到源端或目的端發(fā)送的查找中繼節(jié)點(diǎn)的請(qǐng)求消息。2)超級(jí)節(jié)點(diǎn)收到中繼節(jié)點(diǎn)請(qǐng)求消息后,從他們存儲(chǔ)的最新的時(shí)延矩陣中,找到最小的和/或次小時(shí)延的中繼AS。3)超級(jí)節(jié)點(diǎn)向中繼AS中的超級(jí)節(jié)點(diǎn)發(fā)送中繼節(jié)點(diǎn)的請(qǐng)求消息。4)中繼AS中的超級(jí)節(jié)點(diǎn)收到中繼節(jié)點(diǎn)請(qǐng)求消息后,從其服務(wù)的普通節(jié)點(diǎn)中選擇至少一個(gè)性能高且負(fù)載低的普通節(jié)點(diǎn),將至少一個(gè)普通節(jié)點(diǎn)返回給向它請(qǐng)求中繼節(jié)點(diǎn)的超級(jí)節(jié)點(diǎn)。優(yōu)選性能最高且可以提供中繼服務(wù)的節(jié)點(diǎn),性能可以考慮計(jì)算、存儲(chǔ)、帶寬等因素
綜合考慮ο5)接收到中繼節(jié)點(diǎn)消息的超級(jí)節(jié)點(diǎn)將所述至少一個(gè)中繼節(jié)點(diǎn)返回給向它查詢的源或目的節(jié)點(diǎn)。6)會(huì)話的源或目的節(jié)點(diǎn)與中繼節(jié)點(diǎn)進(jìn)行語(yǔ)音通信。作為對(duì)詳細(xì)描述的結(jié)論,應(yīng)該注意本領(lǐng)域的技術(shù)人員將會(huì)很清楚可對(duì)優(yōu)選實(shí)施例做出許多變化和修改,而實(shí)質(zhì)上不脫離本發(fā)明的原理。這種變化和修改包含在所附權(quán)利要求書所述的本發(fā)明的范圍之內(nèi)。
權(quán)利要求
1.基于自治域的P2P-VoIP網(wǎng)絡(luò)中繼節(jié)點(diǎn)選擇方法,包括以下步驟為會(huì)話源端或目的端提供服務(wù)的基于自治域的P2P-VoIP網(wǎng)絡(luò)的第一超級(jí)節(jié)點(diǎn)接收到源端或目的端發(fā)送的查找中繼節(jié)點(diǎn)的請(qǐng)求消息;第一超級(jí)節(jié)點(diǎn)從存儲(chǔ)的時(shí)延矩陣中,找到最小的和/或次小時(shí)延值的中繼AS,向中繼 AS中的第二超級(jí)節(jié)點(diǎn)發(fā)送中繼節(jié)點(diǎn)的請(qǐng)求消息,所述時(shí)延矩陣的行與列均為AS的時(shí)延值; 中繼AS中的第二超級(jí)節(jié)點(diǎn)從其服務(wù)的普通節(jié)點(diǎn)中選擇至少一個(gè)性能高且負(fù)載低的普通節(jié)點(diǎn)作為中繼節(jié)點(diǎn),返回給第一超級(jí)節(jié)點(diǎn);第一超級(jí)節(jié)點(diǎn)將所述至少一個(gè)中繼節(jié)點(diǎn)返回給源端或目的端。
2.根據(jù)權(quán)利要求1所述中繼節(jié)點(diǎn)選擇方法,還包括生成時(shí)延矩陣的步驟 Bootstrap服務(wù)器節(jié)點(diǎn)發(fā)送測(cè)量請(qǐng)求消息給選中的超級(jí)節(jié)點(diǎn);超級(jí)節(jié)點(diǎn)接收到來(lái)自bootstrap服務(wù)器節(jié)點(diǎn)的測(cè)量請(qǐng)求消息,測(cè)量它與其他AS號(hào)內(nèi)的超級(jí)節(jié)點(diǎn)之間的時(shí)延值,并將測(cè)量結(jié)果返回給bootstrap服務(wù)器節(jié)點(diǎn);當(dāng)bootstrap服務(wù)器節(jié)點(diǎn)接收到所有選中的超級(jí)節(jié)點(diǎn)的測(cè)量結(jié)果消息,生成時(shí)延矩陣;其中,Bootstrap服務(wù)器從每個(gè)AS中選取至少一個(gè)超級(jí)節(jié)點(diǎn)構(gòu)建部分超級(jí)節(jié)點(diǎn)表,從部分超級(jí)節(jié)點(diǎn)表中選取至少一個(gè)超級(jí)節(jié)點(diǎn)承擔(dān)時(shí)延測(cè)量任務(wù)。
3.根據(jù)權(quán)利要求2所述中繼節(jié)點(diǎn)選擇方法,在生成時(shí)延矩陣之后,還包括廣播時(shí)延矩陣的步驟Bootstrap服務(wù)器將時(shí)延矩陣發(fā)送給每個(gè)AS的頭節(jié)點(diǎn),每個(gè)AS的頭節(jié)點(diǎn)繼續(xù)將時(shí)延矩陣廣播到該AS中所有塊頭節(jié)點(diǎn),塊頭節(jié)點(diǎn)繼續(xù)將時(shí)延矩陣廣播到該塊中所有其他超級(jí)節(jié)占.其中,每個(gè)AS中包括在ID空間中的頭或尾超級(jí)節(jié)點(diǎn),該節(jié)點(diǎn)承擔(dān)時(shí)延矩陣的廣播任務(wù),時(shí)延矩陣的廣播采用分等級(jí)的廣播方式,第一級(jí)為AS層面,在每個(gè)AS中選擇一個(gè)節(jié)點(diǎn)作為AS的頭節(jié)點(diǎn),在每個(gè)AS中劃分成多個(gè)塊,每個(gè)塊中選擇一個(gè)超級(jí)節(jié)點(diǎn)作為該塊的頭節(jié)點(diǎn),每個(gè)AS中超級(jí)節(jié)點(diǎn)所占的ID空間平均劃分成N塊,在每塊中選擇一個(gè)節(jié)點(diǎn)做為該塊的塊頭節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求2或3所述中繼節(jié)點(diǎn)選擇方法,超級(jí)節(jié)點(diǎn)接收到來(lái)自bootstrap的測(cè)量請(qǐng)求消息,還將其負(fù)責(zé)的測(cè)量任務(wù)分配給它所服務(wù)的普通節(jié)點(diǎn)。
5.根據(jù)權(quán)利2或3所述中繼節(jié)點(diǎn)選擇方法,當(dāng)所述中繼AS沒有節(jié)點(diǎn)時(shí),將所述AS之前同一時(shí)間段測(cè)量的時(shí)延值作為該AS的時(shí)延矩陣的時(shí)延值。
6.根據(jù)權(quán)利要求1至5中任一所述中繼節(jié)點(diǎn)選擇方法,其中,節(jié)點(diǎn)為新節(jié)點(diǎn),基于自治域的P2P-VoIP網(wǎng)絡(luò)節(jié)點(diǎn)ID前綴采用固定映射方式,節(jié)點(diǎn)加入到基于自治域的P2P-VoIP網(wǎng)絡(luò)的步驟如下新節(jié)點(diǎn)向bootstrap服務(wù)器發(fā)送加入請(qǐng)求,通知bootstrap服務(wù)器該節(jié)點(diǎn)為新節(jié)點(diǎn); bootstrap服務(wù)器返回該節(jié)點(diǎn)的ID前綴和所屬的ON-DHT的超級(jí)節(jié)點(diǎn),新節(jié)點(diǎn)得到上述信息后采用標(biāo)準(zhǔn)DHT算法加入到ON-DHT中。
7.根據(jù)權(quán)利要求1至5中任一所述中繼節(jié)點(diǎn)選擇方法,其中,節(jié)點(diǎn)為新節(jié)點(diǎn),基于自治域的P2P-VoIP網(wǎng)絡(luò)節(jié)點(diǎn)ID前綴采用哈希方式,節(jié)點(diǎn)加入到基于自治域的P2P-VoIP網(wǎng)絡(luò)的步驟如下新節(jié)點(diǎn)向bootstrap服務(wù)器發(fā)送加入請(qǐng)求,通知bootstrap服務(wù)器該節(jié)點(diǎn)為新節(jié)點(diǎn);bootstrap服務(wù)器返回該節(jié)點(diǎn)的AS號(hào)和所屬的ON-DHT的超級(jí)節(jié)點(diǎn),新節(jié)點(diǎn)得到上述信息后采用標(biāo)準(zhǔn)DHT算法加入到ON-DHT中。
8.根據(jù)權(quán)利要求1至5中任一所述中繼節(jié)點(diǎn)選擇方法,其中,節(jié)點(diǎn)以前加入過基于自治域的P2P-VoIP網(wǎng)絡(luò),節(jié)點(diǎn)加入到基于自治域的P2P-VoIP網(wǎng)絡(luò)步驟如下節(jié)點(diǎn)判斷節(jié)點(diǎn)的IP與上一次加入網(wǎng)絡(luò)中的IP是否屬于同一個(gè)AS內(nèi),如果屬于同一個(gè) AS,則節(jié)點(diǎn)通過上一次加入P2P-VoIP網(wǎng)絡(luò)時(shí)認(rèn)知的同一個(gè)AS內(nèi)的IP地址聯(lián)系,如果有其他節(jié)點(diǎn)響應(yīng),則按照標(biāo)準(zhǔn)的DHT算法加入網(wǎng)絡(luò);如果節(jié)點(diǎn)的IP與上一次加入網(wǎng)絡(luò)中的IP不屬于同一個(gè)AS,節(jié)點(diǎn)通過上一次加入 P2P-VoIP網(wǎng)絡(luò)時(shí)認(rèn)知的同一個(gè)AS內(nèi)的IP地址聯(lián)系,如果有其他節(jié)點(diǎn)響應(yīng),則通過響應(yīng)的節(jié)點(diǎn)查找該節(jié)點(diǎn)IP所屬的AS內(nèi)的節(jié)點(diǎn),通過查找得到的節(jié)點(diǎn)加入到P2P-VoIP網(wǎng)絡(luò)。
9.根據(jù)權(quán)利要求1至8中任一所述中繼節(jié)點(diǎn)選擇方法,其中在基于自治域的P2P-VoIP網(wǎng)絡(luò)中節(jié)點(diǎn)的ID采用前綴和后綴的方式生成,每個(gè)節(jié)點(diǎn)ID 包括域名部分和IP地址部分,這兩部分分別生成節(jié)點(diǎn)的ID前綴和后綴,其中域名部分生成節(jié)點(diǎn)ID的前綴,IP地址部分生成節(jié)點(diǎn)ID的后綴,每個(gè)節(jié)點(diǎn)域名與該節(jié)點(diǎn)所在的AS號(hào)相關(guān)聯(lián),bootstrap服務(wù)器負(fù)責(zé)建立網(wǎng)絡(luò)中的AS號(hào)到域名的映射表。
10.根據(jù)權(quán)利要求9所述中繼節(jié)點(diǎn)選擇方法,其中節(jié)點(diǎn)ID的前綴由AS號(hào)映射得到,映射的方式采用固定映射或哈希映射,采用固定映射方式,每個(gè)節(jié)點(diǎn)需要存儲(chǔ)AS號(hào)到節(jié)點(diǎn)ID前綴映射表,該表由bootstrap服務(wù)器制定,并將該表廣播到網(wǎng)絡(luò)中的所有節(jié)點(diǎn);采用哈希映射的方式,每個(gè)節(jié)點(diǎn)根據(jù)AS號(hào)直接哈希即可得到節(jié)點(diǎn)ID前綴,節(jié)點(diǎn)ID的后綴采用直接哈希節(jié)點(diǎn)的IP地址的方式生成。
11.根據(jù)權(quán)利要求1至10中任一所述中繼節(jié)點(diǎn)選擇方法,其中P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)采用AS號(hào)進(jìn)行聚類,即屬于同一個(gè)AS的節(jié)點(diǎn)聚類到同一個(gè)ON-DHT中。
全文摘要
本發(fā)明公開了一種基于自治域的P2P-VoIP網(wǎng)絡(luò)中繼節(jié)點(diǎn)選擇方法。為會(huì)話源端或目的端提供服務(wù)的基于自治域的P2P-VoIP網(wǎng)絡(luò)的第一超級(jí)節(jié)點(diǎn)接收到源端或目的端發(fā)送的查找中繼節(jié)點(diǎn)的請(qǐng)求消息;第一超級(jí)節(jié)點(diǎn)從存儲(chǔ)的時(shí)延矩陣中,找到最小的和/或次小時(shí)延值的中繼AS,向中繼AS中的第二超級(jí)節(jié)點(diǎn)發(fā)送中繼節(jié)點(diǎn)的請(qǐng)求消息,所述時(shí)延矩陣的行與列均為AS的時(shí)延值;中繼AS中的第二超級(jí)節(jié)點(diǎn)從其服務(wù)的普通節(jié)點(diǎn)中選擇至少一個(gè)性能高且負(fù)載低的普通節(jié)點(diǎn)作為中繼節(jié)點(diǎn),返回給第一超級(jí)節(jié)點(diǎn);第一超級(jí)節(jié)點(diǎn)將所述至少一個(gè)中繼節(jié)點(diǎn)返回給源端或目的端。本發(fā)明選擇低時(shí)延的中繼節(jié)點(diǎn),提高了P2P-VoIP網(wǎng)絡(luò)的通話質(zhì)量。
文檔編號(hào)H04L29/12GK102438018SQ20111042181
公開日2012年5月2日 申請(qǐng)日期2011年12月16日 優(yōu)先權(quán)日2011年12月16日
發(fā)明者張春紅, 朱新寧, 王剛, 紀(jì)陽(yáng), 胡清源, 裘曉峰, 馬濤, 魏芳 申請(qǐng)人:北京郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
淮北市| 皮山县| 汤阴县| 通渭县| 青神县| 偃师市| 通许县| 永川市| 昆明市| 凌海市| 洪泽县| 邹城市| 西盟| 镇沅| 丽水市| 大竹县| 肇东市| 普兰县| 阿克| 南陵县| 华坪县| 兴安县| 五家渠市| 武定县| 广安市| 荃湾区| 保康县| 左权县| 棋牌| 乐业县| 新化县| 湘潭县| 宜城市| 顺昌县| 海城市| 闽清县| 交口县| 河南省| 瓮安县| 长宁县| 徐汇区|