專利名稱:一種覆蓋網(wǎng)絡(luò)組播協(xié)議技術(shù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種覆蓋網(wǎng)絡(luò)組播協(xié)議技術(shù)。屬于計(jì)算機(jī)通信領(lǐng)域技術(shù)。
背景技術(shù):
IP組播作為IP網(wǎng)絡(luò)發(fā)展史中的一項(xiàng)革命性技術(shù),從最初提出到現(xiàn)在已經(jīng)過去了二十多年了,組播仍然沒有得到廣泛的應(yīng)用。這其中有許多原因,最主要的原因是①IP組播使用UDP協(xié)議,不能夠提供有效的擁塞控制和可靠性保證;②IP組播要求網(wǎng)絡(luò)上任一節(jié)點(diǎn)的路由器都提供組播功能的支持,因此存在部署上的困難;③組播成員的跟蹤、管理和計(jì)費(fèi)難以實(shí)現(xiàn),這導(dǎo)致了網(wǎng)絡(luò)運(yùn)營商不愿意提供IP組播服務(wù)。因此如何將組播技術(shù)應(yīng)用于現(xiàn)有網(wǎng)絡(luò),使其具有高度的可擴(kuò)展性和可布置性成為組播技術(shù)發(fā)展的關(guān)鍵。
鑒于IP組播的上述問題,覆蓋網(wǎng)絡(luò)組播技術(shù)(Overlay network multicast)作為一種新興的組播技術(shù)逐漸發(fā)展起來。覆蓋網(wǎng)絡(luò)組播技術(shù)具有良好的靈活性和可應(yīng)用性,它可以超越網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)于組播協(xié)議的限制,使組播技術(shù)在現(xiàn)有網(wǎng)絡(luò)上的應(yīng)用成為可能。
覆蓋網(wǎng)絡(luò)是一種建立在物理網(wǎng)絡(luò)上的邏輯網(wǎng)絡(luò),覆蓋網(wǎng)絡(luò)組播是通過維護(hù)一種主機(jī)間的邏輯關(guān)系來實(shí)現(xiàn)組播的。與IP組播中數(shù)據(jù)轉(zhuǎn)發(fā)和復(fù)制全部由路由器完成不同,覆蓋網(wǎng)絡(luò)組播是以加入組播組中的主機(jī)作為數(shù)據(jù)轉(zhuǎn)發(fā)和復(fù)制的節(jié)點(diǎn)。這種方式克服了IP組播中部署困難等缺點(diǎn),并且能夠利用單播和TCP協(xié)議提供良好的確認(rèn)機(jī)制。
隨著近年來覆蓋網(wǎng)絡(luò)組播技術(shù)的發(fā)展,已經(jīng)產(chǎn)生了多個(gè)協(xié)議。按照構(gòu)造和分布的不同,覆蓋網(wǎng)絡(luò)組播協(xié)議可以分為以下四類A中心控制協(xié)議在中心控制協(xié)議中,組播組是由一個(gè)會(huì)話控制器和多個(gè)組播成員組成的。組播成員之間形成一個(gè)組播樹,數(shù)據(jù)信息沿著組播樹分發(fā);而控制信息則通過會(huì)話控制器與各個(gè)成員之間的單播進(jìn)行通信。中心控制協(xié)議具有良好的發(fā)送源接納控制和認(rèn)證體制,但是容易造成控制節(jié)點(diǎn)擁塞和單點(diǎn)故障。中心控制協(xié)議的典型代表是ALMI和HBM協(xié)議。
B Mesh-First協(xié)議Mesh就是一個(gè)由所有參加組播的端主機(jī)組成的網(wǎng)絡(luò)。組播成員之間通過mesh相互學(xué)習(xí)網(wǎng)絡(luò)信息,并且隨著信息的變化對(duì)組播樹進(jìn)行優(yōu)化;而組播轉(zhuǎn)發(fā)樹是在mesh網(wǎng)絡(luò)中產(chǎn)生的,這就是Mesh-First協(xié)議。Mesh-First協(xié)議具有更多的拓?fù)浣Y(jié)構(gòu)信息,增強(qiáng)了魯棒性,提高了容錯(cuò)能力等優(yōu)點(diǎn),但同時(shí)要求mesh中任何一對(duì)節(jié)點(diǎn)之間的延遲都要盡量小。現(xiàn)有基于Mesh-First的覆蓋網(wǎng)絡(luò)組播協(xié)議主要有Narada和SCATTERCAST。
C Tree-First協(xié)議Tree-First協(xié)議與Mesh-First協(xié)議向?qū)?yīng),它是先產(chǎn)生數(shù)據(jù)轉(zhuǎn)發(fā)樹,然后基于數(shù)據(jù)轉(zhuǎn)發(fā)樹來增加冗余節(jié)點(diǎn)增強(qiáng)對(duì)網(wǎng)絡(luò)信息的控制,繼而構(gòu)成mesh控制網(wǎng)絡(luò)。這種策略和先創(chuàng)建mesh的策略不同,在先創(chuàng)建mesh的策略中,數(shù)據(jù)轉(zhuǎn)發(fā)樹的質(zhì)量依賴于所創(chuàng)建的mesh網(wǎng)絡(luò)的質(zhì)量;而Tree-First協(xié)議直接創(chuàng)建數(shù)據(jù)轉(zhuǎn)發(fā)樹,因此能夠直接控制樹結(jié)構(gòu)的各個(gè)方面,比如每個(gè)成員的進(jìn)度,樹鄰居的選擇等等。Tree-First協(xié)議的主要代表有Yoid、HMTP、NICE等。NICE與其它的Tree-First協(xié)議稍有不同,它是基于簇聚合的思想組織共享樹的,每個(gè)簇都有一個(gè)聚合點(diǎn)(RP)。
D坐標(biāo)系統(tǒng)這一類協(xié)議是利用坐標(biāo)概念在不同的虛擬幾何空間中組織覆蓋網(wǎng)絡(luò)的。以Delaunay Triangulation協(xié)議為例,每個(gè)節(jié)點(diǎn)都和一個(gè)位于歐幾里得平面內(nèi)的點(diǎn)A(x,y)相關(guān)聯(lián),然后將所有的這些節(jié)點(diǎn)建立德勞內(nèi)三角覆蓋網(wǎng)絡(luò)。在DelaunayTriangulation覆蓋網(wǎng)絡(luò)中,不需要通過路由協(xié)議來建立組播轉(zhuǎn)發(fā)樹,組播轉(zhuǎn)發(fā)樹已經(jīng)隱含在德勞內(nèi)三角的結(jié)構(gòu)中了?;谧鴺?biāo)系統(tǒng)的覆蓋網(wǎng)絡(luò)組播協(xié)議另一個(gè)典型代表是基于分布式哈希查找CAN協(xié)議。
雖然現(xiàn)有的覆蓋網(wǎng)絡(luò)組播協(xié)議已有很多,但是由于各個(gè)協(xié)議所考慮的側(cè)重點(diǎn)不同,因而在不同方面都有著各自的欠缺。例如ALMI協(xié)議采用集中式的控制策略來保證組播組的一致性和效率,這樣勢(shì)必會(huì)導(dǎo)致出現(xiàn)單一故障點(diǎn),使控制路徑本身的可靠性下降;而且ALMI協(xié)議缺乏容錯(cuò)的保護(hù)和自調(diào)解,不適用于大規(guī)模的網(wǎng)絡(luò)應(yīng)用。Yoid協(xié)議雖然容錯(cuò)能力較強(qiáng),但是它不適合對(duì)于延遲要求比較高的實(shí)時(shí)應(yīng)用。CAN協(xié)議雖然可以用于規(guī)模非常大的組播應(yīng)用,而且同時(shí)適應(yīng)延遲敏感和高帶寬的應(yīng)用,但是使用這種策略的前提是網(wǎng)絡(luò)中已經(jīng)部署了大規(guī)模的面向?qū)Φ染W(wǎng)絡(luò)的分布式路由查找機(jī)制,而這個(gè)前提條件是在當(dāng)前網(wǎng)絡(luò)狀態(tài)條件下很難達(dá)到的。
雖然現(xiàn)有的覆蓋網(wǎng)絡(luò)組播協(xié)議在組播節(jié)點(diǎn)的組織和維護(hù)方面都較為成熟,但是它們都缺乏對(duì)組播節(jié)點(diǎn)“度”的考慮。在覆蓋網(wǎng)絡(luò)組播中,很多轉(zhuǎn)發(fā)是由位于網(wǎng)絡(luò)邊界的、性能不高的主機(jī)完成的,這些節(jié)點(diǎn)的帶寬和處理能力都存在限制,而這些限制很可能會(huì)成為整個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)中的瓶頸。所以在覆蓋網(wǎng)絡(luò)組播協(xié)議設(shè)計(jì)中,必須要限制每個(gè)節(jié)點(diǎn)的“度”,將節(jié)點(diǎn)的“度”考慮到整個(gè)協(xié)議設(shè)計(jì)中才可以保證協(xié)議的性能。
而且現(xiàn)在還沒有某一個(gè)覆蓋網(wǎng)絡(luò)組播協(xié)議保證節(jié)點(diǎn)之間的平均RTT(round-trip time)值最小。RTT值即網(wǎng)絡(luò)中兩個(gè)節(jié)點(diǎn)之間數(shù)據(jù)往返時(shí)間,是網(wǎng)絡(luò)組播技術(shù)中一個(gè)很重要的性能參數(shù)。如果整個(gè)覆蓋網(wǎng)絡(luò)組的平均RTT值達(dá)到最小,可以保證數(shù)據(jù)傳輸時(shí)延最小,對(duì)于一些時(shí)延敏感性要求比較高的應(yīng)用具有重要的作用。
發(fā)明內(nèi)容
為了解決現(xiàn)有的網(wǎng)絡(luò)組播技術(shù)的數(shù)據(jù)傳輸技術(shù)問題,本發(fā)明提供一種覆蓋網(wǎng)絡(luò)組播協(xié)議技術(shù),該技術(shù)不僅能使各個(gè)節(jié)點(diǎn)之間的平均RTT值最小、數(shù)據(jù)傳輸延遲最小,而且能方便地減少數(shù)據(jù)轉(zhuǎn)發(fā)樹構(gòu)造時(shí)間,調(diào)整節(jié)點(diǎn)狀態(tài)易于節(jié)點(diǎn)的管理和監(jiān)控。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是通過ISP分域組織方式將參與組播組中的所有節(jié)點(diǎn)按照一定的規(guī)模和規(guī)律定位到不同的組中,然后利用各個(gè)節(jié)點(diǎn)之間的RTT值構(gòu)成一個(gè)矩陣,在這個(gè)矩陣上利用MatrixTree算法(本發(fā)明協(xié)議內(nèi)部數(shù)據(jù)轉(zhuǎn)發(fā)樹的構(gòu)造算法)構(gòu)造多核共享樹保證組內(nèi)平均RTT值最小。各個(gè)組中的共享樹構(gòu)造完畢后將各個(gè)樹的根節(jié)點(diǎn)重新組織、疊加再次利用MatrixTree算法構(gòu)造高一級(jí)別的共享樹,直到組構(gòu)造完畢后形成了一個(gè)完整的多核數(shù)據(jù)轉(zhuǎn)發(fā)樹用于發(fā)送和接收數(shù)據(jù)。
因?yàn)榻M播數(shù)據(jù)轉(zhuǎn)發(fā)的時(shí)候必須經(jīng)過ISP的網(wǎng)關(guān),所以這種分域組織方式可以方便網(wǎng)絡(luò)服務(wù)商對(duì)于組播數(shù)據(jù)的管理和計(jì)費(fèi),利于對(duì)組播組成員的跟蹤和管理,保證數(shù)據(jù)轉(zhuǎn)發(fā)速度。這就解決了IP組播中網(wǎng)絡(luò)服務(wù)商不愿意提供組播服務(wù)的問題。而域內(nèi)進(jìn)行分組的這種方式利于組內(nèi)構(gòu)造RTT矩陣,減少數(shù)據(jù)轉(zhuǎn)發(fā)樹構(gòu)造時(shí)間,減緩節(jié)點(diǎn)服務(wù)器的計(jì)算壓力。
本發(fā)明解決其技術(shù)問題所采用的具體技術(shù)步驟如下步驟1、首先,所有加入組播組的主機(jī)都要向服務(wù)器發(fā)送自己的位置信息,服務(wù)器將這些信息存儲(chǔ)在本地,位置信息包括主機(jī)的IP地址、所屬ISP名稱以及主機(jī)用戶的一些基本信息;步驟2、待加入節(jié)點(diǎn)穩(wěn)定后,服務(wù)器開始對(duì)所有節(jié)點(diǎn)按照ISP分域組織方式分組;步驟3、利用組內(nèi)所有節(jié)點(diǎn)之間的RTT值構(gòu)造一個(gè)RTT對(duì)稱矩陣,在矩陣上利用MatrixTree算法構(gòu)造多核共享數(shù)據(jù)轉(zhuǎn)發(fā)樹,MatrixTree算法將各個(gè)節(jié)點(diǎn)的RTT值之和∑n與度約束綜合考慮選取子樹的根節(jié)點(diǎn)然后構(gòu)造數(shù)據(jù)轉(zhuǎn)發(fā)樹;步驟4、各個(gè)組內(nèi)的根節(jié)點(diǎn)重新疊加構(gòu)造一個(gè)新的RTT對(duì)稱矩陣,在這個(gè)矩陣上再次利用MatrixTree算法構(gòu)造一個(gè)上級(jí)的數(shù)據(jù)轉(zhuǎn)發(fā)樹直到組播組內(nèi)的所有節(jié)點(diǎn)都成為樹中的一部分;步驟5、在已經(jīng)構(gòu)造好的數(shù)據(jù)轉(zhuǎn)發(fā)樹上傳輸組播數(shù)據(jù),同時(shí)發(fā)送檢測(cè)信號(hào)監(jiān)視組播組成員狀態(tài),定時(shí)更新組播組成員狀態(tài)。
本發(fā)明具有以下幾個(gè)有益效果①保證各個(gè)節(jié)點(diǎn)之間的平均RTT值最小,即數(shù)據(jù)傳輸延遲最小。
②按照ISP(Internet Service Provider)分域組織,便于網(wǎng)絡(luò)服務(wù)商對(duì)于組播數(shù)據(jù)的管理和計(jì)費(fèi),利于對(duì)組播組成員的跟蹤和管理。
③域內(nèi)進(jìn)行分組,利于組內(nèi)構(gòu)造RTT矩陣,減少數(shù)據(jù)轉(zhuǎn)發(fā)樹構(gòu)造時(shí)間,減緩節(jié)點(diǎn)服務(wù)器的計(jì)算壓力。
④RTT矩陣值定期更新,隨時(shí)根據(jù)組內(nèi)網(wǎng)絡(luò)情況調(diào)整節(jié)點(diǎn)狀態(tài)。
本發(fā)明適合應(yīng)用于一些對(duì)時(shí)延敏感性高、節(jié)點(diǎn)狀態(tài)相對(duì)穩(wěn)定的網(wǎng)絡(luò)應(yīng)用服務(wù)中,例如VOD、大型網(wǎng)絡(luò)游戲等。其市場(chǎng)化應(yīng)用的積極效果分別是●方便網(wǎng)絡(luò)服務(wù)商對(duì)于組播數(shù)據(jù)的管理和計(jì)費(fèi)。
●組播成員之間傳輸時(shí)延小●易于部署。只需要在端節(jié)點(diǎn)上安裝相應(yīng)軟件。
●多核共享樹能夠保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性,不會(huì)因?yàn)閱吸c(diǎn)故障致使組播樹癱瘓,保障了組播成員的穩(wěn)定性。
●組播組維護(hù)矩陣定時(shí)更新,可以隨時(shí)監(jiān)控組播組成員狀態(tài)。
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明。
圖1、是整個(gè)協(xié)議的流程圖。
圖2、是實(shí)施例的網(wǎng)絡(luò)拓?fù)涫疽鈭D,說明實(shí)施例的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量及分布狀況。
圖3、是RTT對(duì)稱矩陣的示意圖,說明如何利用任意兩個(gè)節(jié)點(diǎn)之間的RTT值來構(gòu)造整個(gè)一個(gè)RTT對(duì)稱矩陣。
圖4、是某一個(gè)ISP域內(nèi)的路由區(qū)域分組示意圖,說明假設(shè)在一個(gè)ISP內(nèi)部有多個(gè)節(jié)點(diǎn)情況下,如何按照其路由區(qū)域的不同將節(jié)點(diǎn)分組。
圖5、是組播數(shù)據(jù)轉(zhuǎn)發(fā)樹構(gòu)造示意圖,說明組播節(jié)點(diǎn)由組到域,由域到網(wǎng)絡(luò)的構(gòu)造結(jié)構(gòu)。aij表示從節(jié)點(diǎn)i到節(jié)點(diǎn)j的RTT值,H代表主機(jī)。
具體實(shí)施例方式
實(shí)施例1如圖1所示,本發(fā)明解決其技術(shù)問題所采用的具體技術(shù)步驟如下步驟1、加入組播組的主機(jī)用戶發(fā)送加入申請(qǐng),服務(wù)器判斷用戶合法性;否則返回;步驟2、發(fā)送確認(rèn)通知給用戶,用戶向服務(wù)器發(fā)送自己的位置信息,服務(wù)器將這些信息存儲(chǔ)在本地,位置信息包括主機(jī)的IP地址、所屬ISP名稱以及主機(jī)用戶的一些基本信息;步驟3、待加入節(jié)點(diǎn)穩(wěn)定后,服務(wù)器開始對(duì)所有節(jié)點(diǎn)按照ISP分域組織方式分組,服務(wù)器首先根據(jù)各個(gè)節(jié)點(diǎn)ISP的不同將其分入各個(gè)大的域中,每個(gè)域內(nèi)的所有節(jié)點(diǎn)都?xì)w同一個(gè)ISP管理,而各個(gè)域內(nèi)根據(jù)網(wǎng)絡(luò)拓?fù)淝闆r以及組播成員數(shù)量再次分組,如果數(shù)量較少則整個(gè)域內(nèi)所有組播成員統(tǒng)一分為一組;如果數(shù)量較多則根據(jù)相鄰路由區(qū)域原則將在同一路由區(qū)域內(nèi)的組播成員編為一組,組成員數(shù)量在20與50之間不等,分組時(shí)保證組內(nèi)成員之間絕對(duì)可達(dá),如果網(wǎng)絡(luò)業(yè)務(wù)提供商即該組播應(yīng)用的提供商在不同的域內(nèi)部署了專有的運(yùn)算服務(wù)器來保證多核共享樹構(gòu)造的運(yùn)算速度,可以將組成員數(shù)量適當(dāng)增加;通知用戶其所在的域;步驟4、判定各個(gè)域的用戶數(shù)量是否超過限制;如果是則對(duì)域再分組,直到各個(gè)組的用戶數(shù)量都小于限制;步驟5、根據(jù)得到得主機(jī)用戶基本信息,從各個(gè)組中選出一個(gè)性能參數(shù)最好的主機(jī)作為計(jì)算節(jié)點(diǎn);步驟6、利用組內(nèi)所有節(jié)點(diǎn)之間的RTT值構(gòu)造一個(gè)RTT對(duì)稱矩陣(如圖2),在矩陣上利用MatrixTree算法構(gòu)造多核共享數(shù)據(jù)轉(zhuǎn)發(fā)樹,RTT矩陣是個(gè)正對(duì)稱矩陣,矩陣的對(duì)角線上的值是節(jié)點(diǎn)的自反饋值,這里都假設(shè)其為0;如果兩個(gè)節(jié)點(diǎn)之間不可達(dá),就把二者之間的RTT值設(shè)為無窮,MatrixTree算法將各個(gè)節(jié)點(diǎn)的RTT值之和∑n與度約束綜合考慮選取子樹的根節(jié)點(diǎn)然后構(gòu)造數(shù)據(jù)轉(zhuǎn)發(fā)樹;
步驟7、各個(gè)組內(nèi)的根節(jié)點(diǎn)重新疊加構(gòu)造一個(gè)新的RTT對(duì)稱矩陣,在這個(gè)矩陣上再次利用MatrixTree算法構(gòu)造一個(gè)上級(jí)的數(shù)據(jù)轉(zhuǎn)發(fā)樹直到組播組內(nèi)的所有節(jié)點(diǎn)都成為樹中的一部分;這種分級(jí)構(gòu)造方法可以方便組播成員的管理以及數(shù)據(jù)轉(zhuǎn)發(fā)速度;步驟8、在已經(jīng)構(gòu)造好的數(shù)據(jù)轉(zhuǎn)發(fā)樹上傳輸組播數(shù)據(jù),同時(shí)發(fā)送檢測(cè)信號(hào)監(jiān)視組播組成員狀態(tài),定時(shí)更新組播組成員狀態(tài)。
實(shí)施例2首先,本發(fā)明根據(jù)目前Internet網(wǎng)絡(luò)服務(wù)的特點(diǎn),將組播成員按照ISP分域組織。在組播組成立之前,所有想加入組播組的節(jié)點(diǎn)都會(huì)向數(shù)據(jù)源服務(wù)器發(fā)送一個(gè)加入請(qǐng)求,而通過這個(gè)加入請(qǐng)求服務(wù)器可以要求各個(gè)節(jié)點(diǎn)附加上其ISP以及網(wǎng)絡(luò)的基本信息,這樣方便組播組成員分類再組織。在一段時(shí)間后,當(dāng)加入節(jié)點(diǎn)用戶相對(duì)穩(wěn)定,服務(wù)器開始對(duì)所有成員分組;服務(wù)器首先根據(jù)各個(gè)節(jié)點(diǎn)ISP的不同將其分入各個(gè)大的域中(如圖3),每個(gè)域內(nèi)的所有節(jié)點(diǎn)都?xì)w同一個(gè)ISP管理。而各個(gè)域內(nèi)根據(jù)網(wǎng)絡(luò)拓?fù)淝闆r以及組播成員數(shù)量再次分組,如果數(shù)量較少則整個(gè)域內(nèi)所有組播成員統(tǒng)一分為一組;如果數(shù)量較多則根據(jù)相鄰路由區(qū)域原則將在同一路由區(qū)域內(nèi)的組播成員編為一組(如圖4),組成員數(shù)量在20與50之間不等,分組時(shí)保證組內(nèi)成員之間絕對(duì)可達(dá)。如果網(wǎng)絡(luò)業(yè)務(wù)提供商即該組播應(yīng)用的提供商在不同的域內(nèi)部署了專有的運(yùn)算服務(wù)器來保證多核共享樹構(gòu)造的運(yùn)算速度,可以將組成員數(shù)量適當(dāng)增加。
然后,在域、組這種區(qū)域分級(jí)方式構(gòu)造完成以后,在最小分級(jí)單位內(nèi)利用MatrixTree算法構(gòu)造多核數(shù)據(jù)轉(zhuǎn)發(fā)樹。MatrixTree算法是一種在滿足各個(gè)數(shù)據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)度約束情況下使平均RTT值最小的均衡算法,MatrixTree算法構(gòu)造多核數(shù)據(jù)轉(zhuǎn)發(fā)樹過程如下
①獲得組內(nèi)所有N個(gè)節(jié)點(diǎn)中任意兩個(gè)節(jié)點(diǎn)之間的RTT值,然后這N×(N-1)/2個(gè)值構(gòu)成一個(gè)N×N的RTT對(duì)稱矩陣(如圖2),其中對(duì)角線為節(jié)點(diǎn)M自反饋的RTT值,這里統(tǒng)一假設(shè)其為0。
②取一個(gè)比較參數(shù)&,如果節(jié)點(diǎn)M的度約束大于組成員數(shù)量N,則&m=1;否則,&m=0。分別獲得N個(gè)節(jié)點(diǎn)的&值組成一個(gè)N*1的&矩陣。
③計(jì)算RTT對(duì)稱矩陣每一行的RTT值之和∑n。如果∑n值最小的兩個(gè)節(jié)點(diǎn)對(duì)應(yīng)的&矩陣值&=1則顯然將這兩個(gè)節(jié)點(diǎn)作為多核共享樹的根節(jié)點(diǎn),其余節(jié)點(diǎn)分別作為葉節(jié)點(diǎn)構(gòu)成了組內(nèi)的多核共享樹。
④而如果∑n值最小的兩個(gè)節(jié)點(diǎn)中只有一個(gè)對(duì)應(yīng)的&矩陣值&=1,則確定該節(jié)點(diǎn)為根節(jié)點(diǎn)。然后將該節(jié)點(diǎn)所在的行、列去掉重新生成一個(gè)(N-1)×(N-1)的RTT矩陣,在這個(gè)矩陣上面重新利用MatrixTree算法選定一個(gè)根節(jié)點(diǎn)。利用這兩個(gè)根節(jié)點(diǎn)構(gòu)造組內(nèi)的多核共享樹。
⑤而如果∑n值最小的兩個(gè)節(jié)點(diǎn)對(duì)應(yīng)的&矩陣值全部為0,則變?yōu)樵谝粋€(gè)全連通的賦權(quán)圖上構(gòu)造最小生成樹的問題,只不過既有的最小生成樹構(gòu)造算法都是針對(duì)單一根節(jié)點(diǎn)的,而這里是針對(duì)兩個(gè)根結(jié)點(diǎn),并且同時(shí)加入對(duì)度約束的考慮。首先從RTT對(duì)稱矩陣選取兩個(gè)最小RTT值(不包括節(jié)點(diǎn)的自反饋值),然后根據(jù)這兩個(gè)RTT值確定兩個(gè)∑n比較小的節(jié)點(diǎn)同時(shí)以二者度約束的最小值作為其根節(jié)點(diǎn)的度約束Kmax。然后在滿足最小度約束Kmax的條件下從矩陣中挑出P(P<Kmax)個(gè)到這兩個(gè)節(jié)點(diǎn)的平均RTT值最小的節(jié)點(diǎn)作為其子節(jié)點(diǎn),而剩余的節(jié)點(diǎn)根據(jù)其到子節(jié)點(diǎn)的RTT值分別選擇掛入不同的子節(jié)點(diǎn),這樣在保證滿足度約束的情況下構(gòu)成了一個(gè)多核共享樹。
而在最小分級(jí)單位多核數(shù)據(jù)轉(zhuǎn)發(fā)樹構(gòu)造完畢的基礎(chǔ)上,將各個(gè)子級(jí)的根節(jié)點(diǎn)重新利用MatrixTree算法構(gòu)造出一個(gè)上級(jí)的多核共享樹,即由組到域,由域到網(wǎng)絡(luò)的構(gòu)造次序,最后組成一個(gè)性能良好的組播數(shù)據(jù)轉(zhuǎn)發(fā)樹(如圖5)。而由于可以通過配置服務(wù)器集群等方式擴(kuò)充服務(wù)器的最大負(fù)載,可以假設(shè)組播數(shù)據(jù)源服務(wù)器的度約束為無窮,因而域級(jí)的根節(jié)點(diǎn)全部直接連入數(shù)據(jù)源服務(wù)器。這樣既可以減小傳輸延遲,又能夠保證域間數(shù)據(jù)單向流動(dòng),方便ISP的管理。
而多核共享樹的設(shè)計(jì)可以保證在組播組中某一根節(jié)點(diǎn)因?yàn)槟承┎豢芍脑蛲蝗划?dāng)機(jī)或者與網(wǎng)絡(luò)斷開的時(shí)候不會(huì)大范圍的影響其組內(nèi)的子節(jié)點(diǎn)。而如果有新節(jié)點(diǎn)想加入到組播組中的時(shí)候,它首先會(huì)選擇一個(gè)同一路由區(qū)域其度約束未滿足的根結(jié)點(diǎn)加入進(jìn)去,然后根據(jù)其與組內(nèi)其它節(jié)點(diǎn)的RTT值在一定時(shí)間后重新調(diào)整其父節(jié)點(diǎn)。
如果有某個(gè)組播組成員節(jié)點(diǎn)突然退出的時(shí)候,它首先會(huì)向它的根節(jié)點(diǎn)發(fā)送一個(gè)退出請(qǐng)求,根結(jié)點(diǎn)收到后就從RTT矩陣中刪掉所有該節(jié)點(diǎn)的值。而由于RTT矩陣是不斷更新的,所以當(dāng)某個(gè)節(jié)點(diǎn)的RTT值為無窮的時(shí)候,就表示這個(gè)節(jié)點(diǎn)已經(jīng)退出組播組,其相關(guān)的RTT值自動(dòng)刪除。當(dāng)組播服務(wù)結(jié)束后,服務(wù)器自動(dòng)會(huì)解散該組播組。
權(quán)利要求
1.一種覆蓋網(wǎng)絡(luò)組播協(xié)議技術(shù),其特征是通過ISP分域組織方式將參與組播組中的所有節(jié)點(diǎn)按照一定的規(guī)模和規(guī)律定位到不同的組中;組內(nèi)利用各個(gè)節(jié)點(diǎn)之間的RTT值構(gòu)成一個(gè)矩陣,在這個(gè)矩陣上利用MatrixTree算法,構(gòu)造多核共享樹保證組內(nèi)平均RTT值最??;各個(gè)組內(nèi)的共享樹構(gòu)造完畢后將各個(gè)樹的根節(jié)點(diǎn)重新組織、疊加再次利用MatrixTree算法構(gòu)造高一級(jí)別的共享樹,直到組構(gòu)造完畢后形成了一個(gè)完整的多核數(shù)據(jù)轉(zhuǎn)發(fā)樹用于發(fā)送和接收數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的一種覆蓋網(wǎng)絡(luò)組播協(xié)議技術(shù),其特征是含有如下步驟步驟1、首先,所有加入組播組的主機(jī)都要向服務(wù)器發(fā)送自己的位置信息,服務(wù)器將這些信息存儲(chǔ)在本地,位置信息包括主機(jī)的IP地址、所屬ISP名稱以及主機(jī)用戶的一些基本信息;步驟2、待加入節(jié)點(diǎn)穩(wěn)定后,服務(wù)器開始對(duì)所有節(jié)點(diǎn)按照ISP分域組織方式分組;步驟3、利用組內(nèi)所有節(jié)點(diǎn)之間的RTT值構(gòu)造一個(gè)RTT對(duì)稱矩陣,在矩陣上利用MatrixTree算法構(gòu)造多核共享數(shù)據(jù)轉(zhuǎn)發(fā)樹,MatrixTree算法將各個(gè)節(jié)點(diǎn)的RTT值之和∑n與度約束綜合考慮選取子樹的根節(jié)點(diǎn)然后構(gòu)造數(shù)據(jù)轉(zhuǎn)發(fā)樹;步驟4、各個(gè)組內(nèi)的根節(jié)點(diǎn)重新疊加構(gòu)造一個(gè)新的RTT對(duì)稱矩陣,在這個(gè)矩陣上再次利用MatrixTree算法構(gòu)造一個(gè)上級(jí)的數(shù)據(jù)轉(zhuǎn)發(fā)樹直到組播組內(nèi)的所有節(jié)點(diǎn)都成為樹中的一部分;步驟5、在已經(jīng)構(gòu)造好的數(shù)據(jù)轉(zhuǎn)發(fā)樹上傳輸組播數(shù)據(jù),同時(shí)發(fā)送檢測(cè)信號(hào)監(jiān)視組播組成員狀態(tài),定時(shí)更新組播組成員狀態(tài)。
3.根據(jù)權(quán)利要求1或2所述的一種覆蓋網(wǎng)絡(luò)組播協(xié)議,其特征是ISP分域組織方式,根據(jù)組播節(jié)點(diǎn)所屬ISP的不同將節(jié)點(diǎn)分域,同一ISP下的組播節(jié)點(diǎn)分為一個(gè)域;然后按照域內(nèi)節(jié)點(diǎn)數(shù)量的多少根據(jù)相鄰路由區(qū)域原則將同一域內(nèi)的節(jié)點(diǎn)再分為多個(gè)組,每個(gè)組的成員在20到50之間。
4.根據(jù)權(quán)利要求1或2所述的一種覆蓋網(wǎng)絡(luò)組播協(xié)議,其特征是RTT構(gòu)造矩陣以及MatrixTree算法,組播節(jié)點(diǎn)向組內(nèi)其它節(jié)點(diǎn)發(fā)送探測(cè)包然后得到其與其它節(jié)點(diǎn)的RTT值,所有的RTT值構(gòu)成了一個(gè)對(duì)稱矩陣,該矩陣反映了組內(nèi)節(jié)點(diǎn)之間的網(wǎng)絡(luò)狀態(tài),然后利用MatrixTree算法在RTT對(duì)稱矩陣上構(gòu)造多核共享樹轉(zhuǎn)發(fā)數(shù)據(jù),平均RTT值達(dá)到最小。
5.根據(jù)權(quán)利要求3所述的一種覆蓋網(wǎng)絡(luò)組播協(xié)議,其特征是RTT構(gòu)造矩陣以及MatrixTree算法,組播節(jié)點(diǎn)向組內(nèi)其它節(jié)點(diǎn)發(fā)送探測(cè)包然后得到其與其它節(jié)點(diǎn)的RTT值,所有的RTT值構(gòu)成了一個(gè)對(duì)稱矩陣,該矩陣反映了組內(nèi)節(jié)點(diǎn)之間的網(wǎng)絡(luò)狀態(tài),然后利用MatrixTree算法在RTT對(duì)稱矩陣上構(gòu)造多核共享樹轉(zhuǎn)發(fā)數(shù)據(jù),平均RTT值達(dá)到最小。
全文摘要
一種新的覆蓋網(wǎng)絡(luò)組播協(xié)議,屬于組播技術(shù)中的一類,適合應(yīng)用于一些對(duì)時(shí)延敏感性高、節(jié)點(diǎn)狀態(tài)相對(duì)穩(wěn)定的網(wǎng)絡(luò)應(yīng)用服務(wù)中,例如VOD、大型網(wǎng)絡(luò)游戲等。其特點(diǎn)是(1)MatrixCast協(xié)議可以保證各個(gè)節(jié)點(diǎn)之間的平均RTT值最小,即數(shù)據(jù)傳輸延遲最小。(2)按照ISP(Internet Service Provider)分域組織,便于網(wǎng)絡(luò)服務(wù)商對(duì)于組播數(shù)據(jù)的管理和計(jì)費(fèi),利于對(duì)組播組成員的跟蹤和管理。(3)域內(nèi)進(jìn)行分組,利于組內(nèi)構(gòu)造RTT矩陣,減少數(shù)據(jù)轉(zhuǎn)發(fā)樹構(gòu)造時(shí)間,減緩節(jié)點(diǎn)服務(wù)器的計(jì)算壓力。(4)RTT矩陣值定期更新,隨時(shí)根據(jù)組內(nèi)網(wǎng)絡(luò)情況調(diào)整節(jié)點(diǎn)狀態(tài)。
文檔編號(hào)H04L12/28GK1716955SQ20051001193
公開日2006年1月4日 申請(qǐng)日期2005年6月15日 優(yōu)先權(quán)日2005年6月15日
發(fā)明者劉云, 王錚, 李永昊, 卯玉成 申請(qǐng)人:北京交通大學(xué), 中興通訊股份有限公司