專利名稱:一種Ad Hoc網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的多路徑路由方法
技術(shù)領(lǐng)域:
本發(fā)明屬于無線移動(dòng)Ad Hoc網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體為一種Ad Hoc網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的多路徑路由方法,主要適用于Ad Hoc網(wǎng)絡(luò)中多路徑路由的發(fā)現(xiàn)和數(shù)據(jù)傳輸路徑的選擇,有利于提高Ad Hoc網(wǎng)絡(luò)的系統(tǒng)性能。
背景技術(shù):
2000年,香港中文大學(xué)的幾位教授(R. Ahlswede,蔡寧,李碩彥和楊偉豪)在其著 ^i^i; "Network Information Flow" (R. Ahlswede, N. Cai, S. -Y. R. Li, and R. W. Yeung. Network information flow. IEEETransactions on Information Theory,2000,46 (4) 1204-1216)中創(chuàng)造性地提出了“網(wǎng)絡(luò)編碼(Network Coding,NC) ”新概念,首次將網(wǎng)絡(luò)編碼與路由技術(shù)有機(jī)地融合為一體,建立了一種全新的網(wǎng)絡(luò)體系結(jié)構(gòu),不僅解決了廣播路由這一信息論中的經(jīng)典難題,而且從理論上證明了網(wǎng)絡(luò)編碼可以達(dá)到最大傳輸容量和效率,其精髓來自于圖論中著名的Max-flow Min-cut理論。2003年,李碩彥,楊偉豪和蔡寧又發(fā)表了著名論文“Linear Network Coding,,(S. -Y. R. Li, R. W. Yeung, N. Cai. Linear network coding. IEEE Transactions on Information Theory, 2003,49 (2) :371-381),指出線性網(wǎng)絡(luò)編碼可以達(dá)到多播傳輸?shù)淖畲笕萘?。隨后的研究成果構(gòu)建了網(wǎng)絡(luò)編碼的最基本框架,從此,網(wǎng)絡(luò)編碼成為了世界各位知名大學(xué)和實(shí)驗(yàn)室最熱門的研究領(lǐng)域之一。網(wǎng)絡(luò)編碼改變了傳統(tǒng)網(wǎng)絡(luò)中中間節(jié)點(diǎn)僅充當(dāng)轉(zhuǎn)發(fā)節(jié)點(diǎn)的特點(diǎn),中間節(jié)點(diǎn)能夠?qū)π枰D(zhuǎn)發(fā)的信息進(jìn)行相關(guān)的編碼,在接收節(jié)點(diǎn)處可以完成相關(guān)的解碼功能,從而還原信息本身。2005年,Katti等學(xué)者提出的COPE協(xié)議是第一個(gè)將網(wǎng)絡(luò)編碼應(yīng)用到實(shí)際網(wǎng)絡(luò)中的編碼協(xié)議,實(shí)驗(yàn)結(jié)果證明,此編碼協(xié)議顯著地提高了網(wǎng)絡(luò)吞吐量。2010年Yuan等學(xué)者 (Yuan Yuan,Kui Wu,Weijia Jia,and Yuming Jiang. Performance of Acyclic Stochastic Networks with Network Coding. IEEE Transactions on Parallel and Distributed Systems,08 Nov. 2010,DOI :10. 1109/TPDS. 2010. 192)基于非周期性隨機(jī)網(wǎng)絡(luò)與網(wǎng)絡(luò)編碼也進(jìn)行了性能比較,并指出與ARQ協(xié)議相比,網(wǎng)絡(luò)編碼明顯減少數(shù)據(jù)包重傳次數(shù);這些性能分析比較說明網(wǎng)絡(luò)編碼技術(shù)對(duì)于無線網(wǎng)絡(luò)具有較好的特性。網(wǎng)絡(luò)編碼的思想是指網(wǎng)絡(luò)中的節(jié)點(diǎn)不再局限于只能對(duì)收到的信息進(jìn)行存儲(chǔ)和轉(zhuǎn)發(fā),突破了傳統(tǒng)數(shù)據(jù)傳輸?shù)墓潭J剑?可以實(shí)現(xiàn)網(wǎng)絡(luò)流量的最大化。有了網(wǎng)絡(luò)編碼,傳統(tǒng)的路由方案就可以被看作是一種特殊形式的網(wǎng)絡(luò)編碼,只不過在這種方式下,節(jié)點(diǎn)的輸出是接收到的信息的排列?,F(xiàn)有的Ad Hoc網(wǎng)絡(luò)多路徑路由機(jī)制都在路由發(fā)現(xiàn)階段預(yù)先確定了傳輸路徑,沒有考慮到數(shù)據(jù)包傳輸過程中存在的網(wǎng)絡(luò)編碼機(jī)制。這些多路徑路由機(jī)制沒有很好地發(fā)揮利用網(wǎng)絡(luò)編碼機(jī)制的優(yōu)勢(shì),因此網(wǎng)絡(luò)的吞吐量沒有被充分地發(fā)揮出來。
發(fā)明內(nèi)容
本發(fā)明的目的是在現(xiàn)有的Ad Hoc網(wǎng)絡(luò)多路由方法的基礎(chǔ)上,提供一種在關(guān)健節(jié)點(diǎn)上利用網(wǎng)絡(luò)編碼機(jī)制建立從源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間的Ad Hoc網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的多路徑路由方法,以平衡各路徑的網(wǎng)絡(luò)流量,從而實(shí)現(xiàn)最大化地提高網(wǎng)絡(luò)的數(shù)據(jù)吞吐量以及延長(zhǎng)網(wǎng)絡(luò)生存期。為了實(shí)現(xiàn)上述目的,本發(fā)明所采用的技術(shù)方案是一種Ad Hoc網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的多路徑路由方法,其具體步驟為1)確定Ad Hoc網(wǎng)絡(luò)的多路徑路由方法的網(wǎng)絡(luò)模型一個(gè)Ad Hoc網(wǎng)絡(luò)可表示成一個(gè)加權(quán)圖G (V,E,C),其中V表示節(jié)點(diǎn)集,E表示連接節(jié)點(diǎn)的通信鏈路集,c表示連接節(jié)點(diǎn)通信鏈路的代價(jià)。|v|和|E|分別表示該網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)和鏈路數(shù)。在G中,元素P e E具有一組有序數(shù)列(Vl,V2, ... , Vffl)作為P的屬性,或稱為弧P的權(quán),用C來計(jì)算。假定從源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間的路徑可以用(Vl,V2,...,Vm),Vl =S, Vm = D 表示。2)建立交換代數(shù)的網(wǎng)絡(luò)編碼構(gòu)造方法以交換代數(shù)理論為基礎(chǔ),在有限域F(q)上構(gòu)造網(wǎng)絡(luò)編碼和網(wǎng)絡(luò)解碼操作,以此對(duì)數(shù)據(jù)分組進(jìn)行編碼/解碼處理。3)確定Ad Hoc網(wǎng)絡(luò)路由的網(wǎng)絡(luò)編碼方案;當(dāng)Ad Hoc網(wǎng)絡(luò)的編碼節(jié)點(diǎn)接收到上游節(jié)點(diǎn)發(fā)過來的數(shù)據(jù)分組時(shí),對(duì)其數(shù)據(jù)分組進(jìn)行網(wǎng)絡(luò)編碼操作,形成新的數(shù)據(jù)分組,然后再向下游節(jié)點(diǎn)轉(zhuǎn)發(fā)出去,而非編碼節(jié)點(diǎn)只對(duì)數(shù)據(jù)分組進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā)操作。4)確定從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的多路徑路由發(fā)現(xiàn)機(jī)制在該方法中,源節(jié)點(diǎn)首先確定一個(gè)新的路由請(qǐng)求Hello信息,具有網(wǎng)絡(luò)編碼機(jī)制的中間節(jié)點(diǎn)i接收到路由請(qǐng)求Hello信息后,將網(wǎng)絡(luò)編碼信息加入到Hello信息中,再更新路由表中的路由信息,然后向下一跳節(jié)點(diǎn)發(fā)送路由請(qǐng)求Hello信息,當(dāng)目的節(jié)點(diǎn)D收到路由請(qǐng)求時(shí),向源節(jié)點(diǎn)發(fā)送一個(gè)包括所發(fā)現(xiàn)的路由以及路由上每條鏈路上的網(wǎng)絡(luò)編碼節(jié)點(diǎn)信息的路由應(yīng)答。一個(gè)路由請(qǐng)求通常會(huì)經(jīng)過多條路徑傳送到目標(biāo)節(jié)點(diǎn),所以路由發(fā)現(xiàn)過程結(jié)束時(shí)源節(jié)點(diǎn)可以得到多條通往目標(biāo)節(jié)點(diǎn)的路由。5)確定從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的多路徑的數(shù)據(jù)傳輸,實(shí)現(xiàn)網(wǎng)絡(luò)流量均衡傳輸在網(wǎng)絡(luò)的多路徑路由上對(duì)部分主要路徑進(jìn)行網(wǎng)絡(luò)編碼操作,而對(duì)次要路徑保持原來數(shù)據(jù)分組存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制,當(dāng)目的節(jié)點(diǎn)D收到源節(jié)點(diǎn)從多路徑路由上轉(zhuǎn)發(fā)過來的數(shù)據(jù)分組時(shí),對(duì)數(shù)據(jù)分組進(jìn)行網(wǎng)絡(luò)解碼操作,恢復(fù)出原來的數(shù)據(jù)。本發(fā)明根據(jù)路徑的可靠性和網(wǎng)絡(luò)編碼機(jī)制動(dòng)態(tài)地在多條路徑上進(jìn)行數(shù)據(jù)分組的傳輸,讓多條路徑均衡網(wǎng)絡(luò)流量負(fù)載,并且最大化的提高網(wǎng)絡(luò)的吞吐量。
圖1為節(jié)點(diǎn)的網(wǎng)絡(luò)編碼機(jī)制示意圖。圖2為本發(fā)明多路徑網(wǎng)絡(luò)編碼方案示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。本發(fā)明首先明確Ad Hoc網(wǎng)絡(luò)多路徑路由的網(wǎng)絡(luò)編碼方案,再通過多路徑路由發(fā)現(xiàn)機(jī)制選擇從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的所有路由,最后確定多路徑路由傳輸數(shù)據(jù)分組。本發(fā)明的具體步驟如下1)確定Ad Hoc網(wǎng)絡(luò)的節(jié)點(diǎn)網(wǎng)絡(luò)編碼機(jī)制例如,圖1是Ad Hoc網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)編碼機(jī)制,在這個(gè)機(jī)制中,兩個(gè)節(jié)點(diǎn)通過中間節(jié)點(diǎn)交換數(shù)據(jù)分組X1和X2,網(wǎng)絡(luò)編碼使用一個(gè)“存儲(chǔ)-編碼-轉(zhuǎn)發(fā)”機(jī)制實(shí)現(xiàn)數(shù)據(jù)分組的傳輸過程。2)建立交換代數(shù)理論的節(jié)點(diǎn)網(wǎng)絡(luò)編碼方案交換代數(shù)是以(含么)交換環(huán)、域?yàn)橹饕芯繉?duì)象的一門代數(shù)學(xué)科。交換代數(shù)作為代數(shù)幾何的代數(shù)工具,還需要比交換環(huán)更進(jìn)一步的代數(shù)結(jié)構(gòu),這就是“環(huán)上的代數(shù)”。A 稱為環(huán)R上的代數(shù)(或簡(jiǎn)稱為R代數(shù)),是指①(A,+,·)為環(huán),②(A,+)為R模,③對(duì)于每個(gè)r e R, α、b e A, r(ab) = (ra)b = a (rb)。若A又是交換環(huán),則稱A為R上
的交換代數(shù)。R上的交換代數(shù)A稱為有限生成的,是指存在有限個(gè)元素I = ^1/^j ,使得 k = Y4P^ο3)制定Ad Hoc網(wǎng)絡(luò)的節(jié)點(diǎn)網(wǎng)絡(luò)編碼模型對(duì)于源節(jié)點(diǎn)s,構(gòu)造源節(jié)點(diǎn)S和目的節(jié)點(diǎn)D之間的ρ條不相交的路徑集P,P上每一條邊e的ω維列向量fe有fe = Yj kd,efd ,V 為非源節(jié)點(diǎn),e e Out (ν)(1)
i/eln(v)或相似的描述形式[fe]eeE· (I1e1-Kc) = J ,|E|(2)det (I1e1-Kc) [fj e e e = Jm , |e| · Adj (I |e|-Kc) (3)在求解fe時(shí),必須保證對(duì)任意接收節(jié)點(diǎn)ReT存在一個(gè)包含ρ條鏈路的集合CK, 且這P條鏈路的全局編碼內(nèi)核Gt = {fe) I e e C1J是Kc的一個(gè)基。4)制定Ad Hoc網(wǎng)絡(luò)多路徑路由的節(jié)點(diǎn)網(wǎng)絡(luò)編碼機(jī)制多節(jié)點(diǎn)不相交路徑結(jié)構(gòu)如圖2所示,主路徑S-V1-V2-V3-D和次路徑S-v4-v5-D。在主路徑上,源節(jié)點(diǎn)S分別向節(jié)點(diǎn)V1和節(jié)點(diǎn)V2發(fā)送數(shù)據(jù)分組1和數(shù)據(jù)分組2,節(jié)點(diǎn)V1對(duì)收到的兩個(gè)分組進(jìn)行網(wǎng)絡(luò)編碼,然后再轉(zhuǎn)發(fā)出去,節(jié)點(diǎn)V2只對(duì)收到的數(shù)據(jù)分組進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā),一直到目的節(jié)點(diǎn)D ;在次路徑上,節(jié)點(diǎn)V5收到數(shù)據(jù)分組1,而數(shù)據(jù)分組2沒有正確接收和轉(zhuǎn)發(fā), 則只對(duì)數(shù)據(jù)分組1進(jìn)行存儲(chǔ)轉(zhuǎn)發(fā);在目的節(jié)點(diǎn)D上,目的節(jié)點(diǎn)D從次路徑S-V4-V5-D中只接收到數(shù)據(jù)分組1,而從主路徑S-V1-V2-V3-D中接收到網(wǎng)絡(luò)編碼的數(shù)據(jù)分組,進(jìn)行網(wǎng)絡(luò)編碼解碼運(yùn)算,從而解碼出數(shù)據(jù)分組1和數(shù)據(jù)分組2。5)Ad Hoc網(wǎng)絡(luò)的多路徑路由的發(fā)現(xiàn)機(jī)制一個(gè)網(wǎng)絡(luò)可表示成一個(gè)加權(quán)圖G (V,E,C),其中V表示節(jié)點(diǎn)集,E表示連接節(jié)點(diǎn)的通信鏈路集,c表示連接節(jié)點(diǎn)通信鏈路的代價(jià)。|v|和|E|分別表示該網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)和鏈路數(shù)。假定從源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間的路徑可以用(Vl,v2,..., vffl),Vl = s,vm = D表示;在該方法中,源節(jié)點(diǎn)首先確定一個(gè)新的路由請(qǐng)求Hello信息,具有網(wǎng)絡(luò)編碼機(jī)制的中間節(jié)點(diǎn)i 接收到路由請(qǐng)求Hello信息后,將網(wǎng)絡(luò)編碼信息加入到Hello信息中,再更新路由表中的路由信息,然后向下一跳節(jié)點(diǎn)發(fā)送路由請(qǐng)求Hello信息,當(dāng)目的節(jié)點(diǎn)D收到路由請(qǐng)求時(shí),向源節(jié)點(diǎn)發(fā)送一個(gè)包括所發(fā)現(xiàn)的路由以及路由上每條鏈路上的網(wǎng)絡(luò)編碼節(jié)點(diǎn)信息的路由應(yīng)答。
5ー個(gè)路由請(qǐng)求通常會(huì)經(jīng)過多條路徑傳送到目標(biāo)節(jié)點(diǎn),所以路由發(fā)現(xiàn)過程結(jié)束時(shí)源節(jié)點(diǎn)可以 得到多條通往目標(biāo)節(jié)點(diǎn)的路由。從源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間N條路徑的Dijkstra算法如下
MultiPath Dijkstra Algorithm MultiPath(^, D, G, N)
Ci^C Gi^G
for /'<—1 to TV do
^ourcerLreei <— DijKstra(G,,力 Pi <— GetPath^owrce Treeh D) for all arcs e mE
if e is in Pi OR Reverse(e) is in Pi then
Cm(e トfP(C,(e)) else if the vertex Head(^) is in Pi then
C^ie^UQie)) else
end if end for
GI+1^(V, E, C1+l) end for
return (Ph P2, ..., PN)例如在圖2中,利用MultiPath Dijkstra Algorithm,使用鏈路代價(jià)測(cè)度可以計(jì)算 出從源節(jié)點(diǎn)S到目的節(jié)點(diǎn)D的主路徑S-V1-V2-V3-D和次路徑S-V4-V5-D。本說明書中未作詳細(xì)描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技木。
權(quán)利要求
1.一種Ad Hoc網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的多路徑路由方法,該方法的具體步驟如下第一步驟確定Ad Hoc網(wǎng)絡(luò)的多路徑路由方法的網(wǎng)絡(luò)模型一個(gè)Ad Hoc網(wǎng)絡(luò)表示成一個(gè)加權(quán)圖G (V,E,C),其中V表示節(jié)點(diǎn)集,E表示連接節(jié)點(diǎn)的通信鏈路集,C表示連接節(jié)點(diǎn)通信鏈路的代價(jià),Ivl和IeI分別表示該網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)和鏈路數(shù),在加權(quán)圖G中,元素P e E具有一組有序數(shù)列V1, V2, . . . , Vffl作為P的屬性,或稱為弧 P的權(quán),用C來計(jì)算,設(shè)定從源節(jié)點(diǎn)到目的節(jié)點(diǎn)之間的路徑為Vl,v2,. . .,Vm,其中Vl為源節(jié)點(diǎn)S,Vm為目的節(jié)點(diǎn)D ;第二步驟建立交換代數(shù)理論的節(jié)點(diǎn)網(wǎng)絡(luò)編碼方案該網(wǎng)絡(luò)編碼方案將以交換代數(shù)作為主要的編碼工具,建立一種基于交換代數(shù)的線性網(wǎng)絡(luò)編碼方案;第三步驟確定Ad Hoc網(wǎng)絡(luò)多路徑路由節(jié)點(diǎn)的網(wǎng)絡(luò)編碼機(jī)制Ad Hoc網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)編碼機(jī)制是指在多路徑路由的關(guān)鍵節(jié)點(diǎn)上利用基于交換代數(shù)的線性網(wǎng)絡(luò)編碼技術(shù)對(duì)數(shù)據(jù)分組進(jìn)行編碼操作,然后將數(shù)據(jù)轉(zhuǎn)發(fā)給下一節(jié)點(diǎn);第四步驟確定Ad Hoc網(wǎng)絡(luò)多路徑路由的選擇算法Ad Hoc網(wǎng)絡(luò)多路徑路由的選擇用多路徑Dijkstra算法選擇N條從源節(jié)點(diǎn)S到目的節(jié)點(diǎn)D的路徑,從而完成N路徑路由。
2.如權(quán)利要求1所述的AdHoc網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的多路徑路由方法,其特征在于 還包括第五步驟確定從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的多路徑的數(shù)據(jù)傳輸,實(shí)現(xiàn)網(wǎng)絡(luò)流量均衡傳輸在網(wǎng)絡(luò)的多路徑路由上對(duì)部分主要路徑進(jìn)行網(wǎng)絡(luò)編碼操作,而對(duì)次要路徑保持原來數(shù)據(jù)分組存儲(chǔ)轉(zhuǎn)發(fā)機(jī)制,當(dāng)目的節(jié)點(diǎn)D收到源節(jié)點(diǎn)從多路徑路由上轉(zhuǎn)發(fā)過來的數(shù)據(jù)分組時(shí), 對(duì)數(shù)據(jù)分組進(jìn)行網(wǎng)絡(luò)解碼操作,恢復(fù)出原來的數(shù)據(jù)。
全文摘要
本發(fā)明涉及一種Ad Hoc網(wǎng)絡(luò)中基于網(wǎng)絡(luò)編碼的多路徑路由方法,該方法的具體步驟如下1)確定Ad Hoc網(wǎng)絡(luò)的多路徑路由方法的網(wǎng)絡(luò)模型;2)建立交換代數(shù)理論的節(jié)點(diǎn)網(wǎng)絡(luò)編碼方案;3)確定Ad Hoc網(wǎng)絡(luò)多路徑路由節(jié)點(diǎn)的網(wǎng)絡(luò)編碼機(jī)制;4)確定Ad Hoc網(wǎng)絡(luò)多路徑路由的選擇算法,根據(jù)路由代價(jià)選取其中最優(yōu)的N條用于數(shù)據(jù)傳輸。本發(fā)明根據(jù)路徑的可靠性和節(jié)點(diǎn)的網(wǎng)絡(luò)編碼方案動(dòng)態(tài)地在多條路徑上傳輸數(shù)據(jù)分組,實(shí)現(xiàn)多條路徑的網(wǎng)絡(luò)流量均衡,從而實(shí)現(xiàn)最大化地提高網(wǎng)絡(luò)的數(shù)據(jù)吞吐量以及延長(zhǎng)網(wǎng)絡(luò)生存期。
文檔編號(hào)H04W28/08GK102547856SQ20111039473
公開日2012年7月4日 申請(qǐng)日期2011年12月2日 優(yōu)先權(quán)日2011年12月2日
發(fā)明者余慶春, 孫寶林, 宋鶯, 桂超, 黃曉武 申請(qǐng)人:湖北經(jīng)濟(jì)學(xué)院