專利名稱:Dtn或icn網(wǎng)絡(luò)上利用網(wǎng)絡(luò)編碼技術(shù)減少冗余消息的方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,更具體地涉及一種DTN或ICN網(wǎng)絡(luò)上利用 網(wǎng)絡(luò)編碼技術(shù)減少冗余消息的方法。
背景技術(shù):
DTN或ICN網(wǎng)絡(luò)是一種完全由移動節(jié)點構(gòu)成、節(jié)點分布稀疏、通常沒有持續(xù)的端到端 連接的無線網(wǎng)絡(luò)。其中的移動節(jié)點既是主機又具備路由功能,負責發(fā)現(xiàn)和維護通往其他節(jié)點 的路徑。與典型的Ad Hoc網(wǎng)絡(luò)不同,DTN或ICN中的數(shù)據(jù)傳輸采用轉(zhuǎn)發(fā)一緩存—轉(zhuǎn)發(fā) (Forward-Buffer-Forward)的異步傳輸模式,即當路由路徑出現(xiàn)中斷時,中間節(jié)點會將待轉(zhuǎn) 發(fā)消息暫存在緩存器中,直到遇到其他合適的中間節(jié)點或者目的節(jié)點再將其轉(zhuǎn)發(fā)出去。近年 來,DTN和ICN被廣泛應(yīng)用于星際網(wǎng)絡(luò)、戰(zhàn)場通信、游牧通信、偏遠地區(qū)數(shù)據(jù)接入等通信 服務(wù)中。
但是,DTN和ICN網(wǎng)絡(luò)中的移動節(jié)點大多都是移動便攜設(shè)備,這些設(shè)備通常都只由電 池供電,當節(jié)點電池能量耗盡時,就不能與其他節(jié)點進行有效通信。同時,隨著耗盡電量節(jié)點 的增加,網(wǎng)絡(luò)中的節(jié)點就變得越來越稀疏,數(shù)據(jù)傳輸也越來越困難。并且,DTN或ICN中 最常使用的路由協(xié)議是傳染病協(xié)議,它是將數(shù)據(jù)包廣播給所有鄰居節(jié)點,通過發(fā)掘所有可能 的路徑來實現(xiàn)數(shù)據(jù)傳輸?shù)淖疃萄訒r。這種大規(guī)模的洪泛會造成大量的冗余消息,大量消耗節(jié) 點能量。此外,由于DTN或ICN環(huán)境節(jié)點的稀疏和移動性等原因,路徑的選擇和建立都比 較困難,丟失的消息會多次被重發(fā),也造成了大量的冗余傳輸。因此,減少冗余消息的傳輸 以節(jié)省節(jié)點能量的消耗對DTN和ICN網(wǎng)絡(luò)性能起著決定性的作用,研究如何減少冗余消息 對DTN和ICN網(wǎng)絡(luò)具有非常重要的意義。
Ahlswede、李碩彥等人于2000年輯出的網(wǎng)絡(luò)編碼概念,其核心思想就是網(wǎng)絡(luò)中的節(jié)點 可以采用不增加冗余的編碼。Tracey Ho等人又將網(wǎng)絡(luò)編碼發(fā)展到隨機網(wǎng)絡(luò)編碼,這種方案 是不需要知道網(wǎng)絡(luò)拓撲信息的,被編碼信息的系數(shù)是可以在一個有限域內(nèi)隨機選擇的。研究 表明只要有限域取得足夠大,該方法的失敗率可以很低。利用網(wǎng)絡(luò)編碼技術(shù),節(jié)點就可以把 多個數(shù)據(jù)包通過一定的編碼手段重新組包再發(fā)送到下一節(jié)點,接收端收到一定數(shù)量的包后通 過解碼獲得原始數(shù)據(jù)。將網(wǎng)絡(luò)編碼技術(shù)同傳染病路由協(xié)議結(jié)合起來,可以增加單次消息的信 息量,減少消息的冗余傳輸,減小節(jié)點能量消耗,減弱節(jié)點緩存負擔,提高DTN或ICN網(wǎng) 絡(luò)的性能。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的是提供一種DTN和ICN網(wǎng)絡(luò)上利用網(wǎng)絡(luò)編碼技術(shù)減少冗余消 息的方法。該方法通過采用隨機線性編碼方案,對DTN和ICN網(wǎng)絡(luò)中的源節(jié)點的數(shù)據(jù)信息,在網(wǎng)絡(luò)層進行分段編碼和發(fā)送,在中間節(jié)點進行已有消息的再次編碼和轉(zhuǎn)發(fā),在目的節(jié)點解 碼收到的消息來恢復(fù)部分原始數(shù)據(jù)。這樣可以減少DTN和ICN網(wǎng)絡(luò)中冗余消息的傳輸,從 而有效地降低節(jié)點能量消耗、延長節(jié)點工作時間、改善網(wǎng)絡(luò)性能和生存期的作用。該方法作 為一種比較理想、節(jié)能效果好、實用性強的技術(shù)方案,能夠有效減少冗余消息,降低投遞消 息的開銷,延長移動節(jié)點工作時間,實現(xiàn)整個DTN和ICN網(wǎng)絡(luò)性能的改善和生命期延長。
為了達到上述目的,本發(fā)明提供一種DTN或ICN網(wǎng)絡(luò)上利用網(wǎng)絡(luò)編碼技術(shù)減少冗余消 息的方法,應(yīng)用于使用傳染病路由協(xié)議建立路由的網(wǎng)絡(luò)中,包括下列幾個組成部分
(1) 在源節(jié)點采用隨機線性編碼方案,將要發(fā)送的數(shù)據(jù)信息分段收集,分段進行 網(wǎng)絡(luò)編碼,并發(fā)送編碼后的新消息。
(2) 中間節(jié)點收到響應(yīng)信息后,對被請求的同段消息再次進行編碼,產(chǎn)生新的編 碼消息,發(fā)送被請求的消息和新消息。
(3) 目的節(jié)點對接收的編碼消息進行線性獨立性的篩選,當收到足夠的段內(nèi)編碼 消息后,進行段內(nèi)解碼來恢復(fù)該段的原始數(shù)據(jù)信息。
作為優(yōu)選實施方式
所述部分(1)包含以下內(nèi)容
(11) 在源節(jié)點設(shè)立編碼緩沖區(qū)用于收集分段大小Batch Size數(shù)巨的待編碼消息;
(12) 網(wǎng)絡(luò)層從運輸層順序接收消息放入編碼緩沖區(qū)中,當收集的消息數(shù)目達到 Batch Size時,從有限域內(nèi)隨機產(chǎn)生每個消息的系數(shù),系數(shù)的總和稱作一個編碼向量。 將消息和各自的系數(shù)在有限域內(nèi)做乘法運算,再將各結(jié)果做和運算,得到編碼后的新消 息的數(shù)據(jù)區(qū);
(13) 在新消息的包頭信息中添加新消息序列號、源節(jié)點地址、目的節(jié)點地址、段 序列號和編碼向量;
(14) 將新消息加入源節(jié)點的緩存器,并更新本節(jié)點保存的消息列表,發(fā)送新消息 到鏈路層;
(15) 清空收集消息的編碼緩沖區(qū),段序列號加一,從運輸層接收下一段原始數(shù)據(jù), 進行網(wǎng)絡(luò)編碼和發(fā)送。
所述部分(2)包含以下內(nèi)容
(21) 收到響應(yīng)信息的中間節(jié)點按照響應(yīng)信息中包括的消息列表,在本節(jié)點緩存器 中檢索出源節(jié)點地址相同、目的節(jié)點地址相同、段序列號相同的同段消息;
(22) 從有限域內(nèi)為每個同段消息隨機產(chǎn)生系數(shù),將消息和各自的系數(shù)在有限域內(nèi) 做乘法運算,再將各結(jié)果做和運算,得到新編碼消息的數(shù)據(jù)區(qū);
(23) 取出各同段消息包頭信息中的原編碼向量,將新隨機產(chǎn)生的系數(shù)與該編碼向 量做乘法運算,得到再次編碼的新編碼向量;
(24) 在新編碼消息的包頭信息中添加新消息序列號、原消息的源節(jié)點地址、原消 息的目的節(jié)點地址、原消息的段序列號和新編碼向量;
(25) 將新編碼消息加入源節(jié)點緩存器,并更新本節(jié)點保存的消息列表;
(26) 按照響應(yīng)信息中包括的消息列表順序發(fā)送本節(jié)點緩存器中相應(yīng)的消息,如果有新編碼消息產(chǎn)生,則將新消息隨被請求消息一起發(fā)送。 所述部分(3)包含以下內(nèi)容
(31) 目的節(jié)點保存有不同段的段維護矩陣和解碼緩沖區(qū),每收到一個新到達的消 息,檢査該消息頭部信息中的目的地址是否與本節(jié)點地址相同;
(32) 若相同,則取出該消息包頭信息中的編碼向量,并過高斯消元判斷該編碼向 量的線性獨立性,若線性獨立,則將該編碼消息加入目的節(jié)點的解碼緩沖區(qū)中,并按照 包頭信息中的段序列號加入對應(yīng)的段維護矩陣中,若線性不獨立,則丟棄該消息,段維 護矩陣保持不變;
(33) 每次添加新的編碼向量后,檢查該段維護矩陣是否滿秩。滿秩,則在相應(yīng)的 解碼緩沖區(qū)中進行轉(zhuǎn)置矩陣的運算,恢復(fù)該段原始數(shù)據(jù),并發(fā)送至運輸層。
本發(fā)明是一種在無線延遲容忍網(wǎng)絡(luò)或間歇連接網(wǎng)絡(luò)中,使用分段網(wǎng)絡(luò)編碼技減少消息冗 余傳輸?shù)姆椒?,具有下列?yōu)點
當前,DTN或ICN網(wǎng)絡(luò)中最常用的是傳染病路由協(xié)議,特點是"存儲-攜帶-轉(zhuǎn)發(fā)",受網(wǎng) 絡(luò)帶寬和節(jié)點緩存的限制,在進行數(shù)據(jù)傳輸時往往造成大延時和很低的吞吐量。在帶寬和節(jié) 點緩存有限的情況下,將網(wǎng)絡(luò)編碼技術(shù)與傳染病路由協(xié)議進行結(jié)合,充分利用了無線天生廣 播的特性和傳染病算法的特點,在更短的時間內(nèi)發(fā)送更多的信息,有效地減少DTN或ICN 網(wǎng)絡(luò)中消息的冗余傳輸,減少了節(jié)點耗能,提高了DTN或ICN網(wǎng)絡(luò)的性能。 本發(fā)明由當前DTN或ICN網(wǎng)絡(luò)的傳染病路由協(xié)議的特點和網(wǎng)絡(luò)編碼的優(yōu)勢發(fā)展而來, 對DTN環(huán)境下數(shù)據(jù)傳輸?shù)姆绞竭M行了優(yōu)化,進而實現(xiàn)了網(wǎng)絡(luò)性能的提高。這種利用網(wǎng)絡(luò)編 碼技術(shù)減少消息冗余傳輸?shù)姆椒ǎ槍TN或ICN傳統(tǒng)路由的特點,在其基礎(chǔ)上使用新技 術(shù)來改善整體網(wǎng)絡(luò)性能,不僅保留了原有成熟路由協(xié)議的優(yōu)點,還對不足之處進行了彌補和 優(yōu)化,可以被簡易的應(yīng)用在現(xiàn)有DTN或ICN網(wǎng)絡(luò)中,效果理想,應(yīng)用前景看好。
圖1是本發(fā)明基本構(gòu)架原理的示意圖。
圖2是本發(fā)明源節(jié)點編碼及發(fā)送數(shù)據(jù)的流程圖。
圖3是本發(fā)明使用網(wǎng)絡(luò)編碼的傳染病路由中數(shù)據(jù)包(DATA)的包格式圖。 圖4是本發(fā)明路由尋找過程中使用的探測信息(HELLO)的包格式圖。 圖5是本發(fā)明路由尋找過程中使用的響應(yīng)信息(REPLY)的包格式圖。 圖6是本發(fā)明中間節(jié)點再次編碼及轉(zhuǎn)發(fā)數(shù)據(jù)的流程圖。 圖7是本發(fā)明目的節(jié)點解碼恢復(fù)數(shù)據(jù)的流程圖。
具體實施例方式
為使本發(fā)明的目的、實現(xiàn)方案和優(yōu)點更為清晰,下面結(jié)合附圖對本發(fā)明作進一歩地詳細 描述。
參見圖1,介紹本發(fā)明方法的基本構(gòu)架原理一利用網(wǎng)絡(luò)編碼技術(shù)減少冗余消息的方法。
源節(jié)點從運輸層收到數(shù)據(jù)包,在網(wǎng)絡(luò)層緩沖區(qū)對一部分數(shù)據(jù)包進行緩存,^r收集的數(shù)據(jù)包進行隨機線性編碼得到編碼包,發(fā)送編碼包到鏈路層,清空緩沖區(qū)再接收并編碼下一段數(shù)據(jù)。 對于中間節(jié)點,每次收到響應(yīng)信息,則根據(jù)響應(yīng)信息中的請求消息列表對本地緩存器中的同 段編碼包再次編碼產(chǎn)生新編碼包,按照請求消息列表的內(nèi)容將被請求消息轉(zhuǎn)發(fā)給鄰居節(jié)點, 同時也轉(zhuǎn)發(fā)新產(chǎn)生的編碼包。目的節(jié)點在收集到足夠數(shù)量的某段的編碼包后,就可以解碼出 該段原始數(shù)據(jù)交給運輸層。通過對原始數(shù)據(jù)包進行線性組合,增加了單次傳輸?shù)男畔⒘?,?效減少了冗余消息的傳輸,節(jié)省了節(jié)點的能量,同時提高了節(jié)點緩存器的利用率。
參見圖2至圖7,詳細介紹本發(fā)明一種DTN和ICN網(wǎng)絡(luò)上利用網(wǎng)絡(luò)編碼技術(shù)減少冗余 消息的方法,該方法包括以下幾個階段
(1) 源節(jié)點編碼和發(fā)送在源節(jié)點的網(wǎng)絡(luò)層,將要發(fā)送的總數(shù)據(jù)信息進行分段處 理。使用編碼緩沖區(qū)收集Batch Size數(shù)量的數(shù)據(jù)包,采用隨機線性網(wǎng)絡(luò)編碼方案,為同 段的所有數(shù)據(jù)包隨機產(chǎn)生系數(shù)并進行線性組合,得到編碼包,系數(shù)的總和稱作一個編碼 向量。將編碼計算結(jié)果放入編碼包的數(shù)據(jù)區(qū),將段序列號、消息序列號、源節(jié)點地址, 冃的節(jié)點地址和編碼向量填充到編碼包的頭部信息中,基于網(wǎng)絡(luò)編碼的傳染病路由協(xié)議 的數(shù)據(jù)吧格式參見圖3。在發(fā)送了一定數(shù)量的該段的編碼包后,清空編碼緩沖區(qū),對下 一段數(shù)據(jù)信息進行收集、編碼和發(fā)送。每產(chǎn)生一個編碼包,則將其加入本地緩存器中, 并更新本節(jié)點保存的消息列表。該過程的基本流程參見圖2。
(2) 路由尋找凡緩存器非空的節(jié)點周期性地發(fā)送探測信息以探測進入通訊范圍 的節(jié)點,同時利用該探測信息交換消息列表以確定緩存器中哪些消息需要進行交換。該 過程主要包含以下幾個步驟發(fā)送探測信息HELLO,接收探測信息HELLO,發(fā)送響應(yīng) 信息REPLY 。其中HELLO消息和RELPY消息的格式圖參見圖4和圖5 。
(3) 中間節(jié)點再次編碼和轉(zhuǎn)發(fā)當中間節(jié)點收到一個響應(yīng)信息時,按照響應(yīng)信息 中包括的消息列表順序轉(zhuǎn)發(fā)本地緩存器中相應(yīng)的消息。此外,對被請求的同段消息再次 進行隨機線性網(wǎng)絡(luò)編碼。為本地緩存器中被請求的同段消息產(chǎn)生隨機系數(shù),再次進行線 性組合得到新消息,為新消息分配一個消息序列號。將計算結(jié)果放入新消息的數(shù)據(jù)區(qū), 將原段序列號、新消息序列號、源節(jié)點地址,目的節(jié)點地址和新計算出的編碼向量填充 到新消息的頭部信息中。將新消息隨被請求消息一起發(fā)送。將新消息加入本地緩存器中, 并更新本節(jié)點保存的消息列表。該過程的基本流程參見圖6。
(4) 目的節(jié)點解碼目的節(jié)點每接收到一個目的地址與本節(jié)點地址相同的消息, 判斷其是否與目的節(jié)點已收到的同段消息的集合是線性獨立的,丟棄非線性獨立的消 息。收到Batch Size數(shù)目個同段的消息即可解碼出該段原始數(shù)據(jù)信息,通過轉(zhuǎn)置矩陣的 運算恢復(fù)該部分的原始數(shù)據(jù)。將恢復(fù)出的數(shù)據(jù)發(fā)送到目的節(jié)點的運輸層。該過程的基本 流程參見圖7。
所述部分(1)源節(jié)點編碼和發(fā)送過程主要包含以下內(nèi)容
(11) 在源節(jié)點設(shè)立編碼緩沖區(qū)用于收集Batch Size數(shù)目的數(shù)據(jù)包;
(12) 隨機網(wǎng)絡(luò)編碼需要限定有限域的大小,研究表明只要有限域取得足夠大,該 方法的失敗率就可以很低。本發(fā)明的隨機線性網(wǎng)絡(luò)編碼中,采用Galois Field(伽羅華域), 選取28的有限域,以Byte為單位進行編碼計算。所以,產(chǎn)生隨機系數(shù)以及編碼和解碼
7的運算都是在這一有限域內(nèi)進行的。
(13) 解碼緩沖區(qū)收集滿n (設(shè)Batch Size-n)個數(shù)據(jù)包Pl, p2,…,pn后,進行數(shù)據(jù)
包的線性組合,得到編碼包0= j] ^a,這里ek是從有限域中隨機產(chǎn)生的系數(shù);
"A: = 1
(14) 將編碼計算的結(jié)果放入編碼包的數(shù)據(jù)區(qū),為該編碼包分配消息序列號。將段 序列號、消息序列號、源節(jié)點地址,目的節(jié)點地址和編碼向量e二[e卜..en]填充到編碼 包的頭部信息中,編碼包格式可參見圖3;
(15) 將新產(chǎn)生的編碼包加入源節(jié)點緩存器中,并更新本節(jié)點保存的消息列表,發(fā) 送新消息到鏈路層;
(16) 清空編碼緩沖區(qū),將段序列號加一,再對下一段數(shù)據(jù)信息進行收集、編碼和發(fā)送。
所述部分(2)路由尋找的過程主要包含以下幾個步驟
(21) 發(fā)送探測信息HELLO。當節(jié)點緩存器非空時,周期性地廣播路由探測信息 HELLO。 HELLO信息頭部包含msgList字段,用于記錄發(fā)送探測信息節(jié)點緩存器中所有消 息信息的列表,HELLO包格式見圖4。
(22) 接收探測信息HELLO。中間節(jié)點收到HELLO后提取包頭信息中的msgList字段 得到msgList_S列表。根據(jù)本節(jié)點保存的消息列表msgList—A對msgList—S進行更新,去掉 其中與msgList—A中記錄重復(fù)的部分。
(23) 發(fā)送響應(yīng)信息REPLY。本方法中只有收到HELLO包的節(jié)點可以回復(fù)REPLY信 息。REPLY中包含iwant—msgList字段用于記錄上述更新后的msgList一S中的記錄。REPLY 包格式參見圖4。這樣,REPLY包中的iwant一msgList就是記錄著發(fā)送HELLO包的節(jié)點可 以給轉(zhuǎn)發(fā)給其探測到的鄰居節(jié)點的消息。
所述部分(3)中間節(jié)點再次編碼和轉(zhuǎn)發(fā)的過程主要包含以下內(nèi)容
(31) 當中間節(jié)點收到一個響應(yīng)信息時,按照響應(yīng)信息中包括的消息列表順序轉(zhuǎn)發(fā) 本地緩存器中相應(yīng)的消息;
(32) 按照響應(yīng)信息中的請求消息列表,檢索出相同源地址、相同目的地址及相同
段序列號的m個消息p'j二 q^,這里pk是原始消息。從有限域中隨機產(chǎn)生系數(shù)
q,再次進行線性組合得到新消息c'^X^ r,j/,;
(33) 將計算結(jié)果放入新消息的數(shù)據(jù)區(qū),為新消息分配一個消息序列號,將原來的 段序列號、新的消息序列號、源節(jié)點地址,目的節(jié)點地址和新的編碼向量e
充到新消息的頭部信息中,數(shù)據(jù)包格式可參見圖3。
(34) 將新消息加入本節(jié)點的緩存器,并更新本節(jié)點保存的消息列表 被請求消息一起發(fā)送;
所述部分(4)目的節(jié)點解碼的過程主要包含以下內(nèi)容
8
,將新消息隨(41) 目的節(jié)點每收到一個新到達的消息,先檢査該消息包頭信息中的目的地址是 否與本節(jié)點地址相同,相同,則代表該消息需要進行解碼并向上層傳輸。不相同,則按 中間節(jié)點緩存該消息;
(42) 對于每個目的節(jié)點地址是本節(jié)點的消息,判斷該消息是否和已有的同段消息 的集合是線性獨立的。檢査所有數(shù)據(jù)字節(jié)的線性獨立是昂貴且不必要的,目的節(jié)點只需 要檢査同段消息的編碼向量的線性獨立就可以了。因此,在目的節(jié)點保存不同段的段維 護矩陣,用于線性獨立和解碼的判斷。
(43) 對于每個目的地址是本節(jié)點的消息Ck,取出該消息包頭信息中的編碼向量ek =[ei...en],按照包頭信息中的段序列號加入對應(yīng)的段維護矩陣的空行中,通過高斯消元 來判斷ek的線性獨立性。若消元后ek全為0,則代表Ck與已有同段消息的集合是線性不 獨立的,在段維護矩陣中刪除ek,并在緩存器中丟棄消息Ck;若消元后ek有非零元素,
則代表Ck與巳有同段消息的集合是線性獨立的,整理段維護矩陣,并將Ck放入解碼緩
沖區(qū)中。
(44) 每次在段維護矩陣中添加了新的編碼向量后,檢査該段維護矩陣是否滿秩。 滿秩,則代表可以解碼該段數(shù)據(jù)信息,在相應(yīng)解碼緩存區(qū)中進行轉(zhuǎn)置矩陣的運算。設(shè)ET =[eiT...enT],CT=[ClT...CnT〗,PT = [PlT...pnT],其中,ck是編碼包,ek是Ck的編碼向量, Pk是原始數(shù)據(jù)包,T表示轉(zhuǎn)置操作,則轉(zhuǎn)
權(quán)利要求
1.一種DTN或ICN網(wǎng)絡(luò)上利用網(wǎng)絡(luò)編碼技術(shù)減少冗余消息的方法,應(yīng)用于使用傳染病路由協(xié)議建立路由的網(wǎng)絡(luò)中,包括下列幾個組成部分(1)在源節(jié)點采用隨機線性編碼方案,將要發(fā)送的數(shù)據(jù)信息分段收集,分段進行網(wǎng)絡(luò)編碼,并發(fā)送編碼后的新消息;(2)中間節(jié)點收到響應(yīng)信息后,對被請求的同段消息再次進行編碼,產(chǎn)生新的編碼消息,發(fā)送被請求的消息和新消息;(3)目的節(jié)點對接收的編碼消息進行線性獨立性的篩選,當收到足夠的段內(nèi)編碼消息后,進行段內(nèi)解碼來恢復(fù)該段的原始數(shù)據(jù)信息。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述部分(1)包含以下內(nèi)容(11) 在源節(jié)點設(shè)立編碼緩沖區(qū)用于收集分段大小Batch Size數(shù)目的待編碼消息;(12) 網(wǎng)絡(luò)層從運輸層順序接收消息放入編碼緩沖區(qū)中,當收集的消息數(shù)目達到 Batch Size時,從有限域內(nèi)隨機產(chǎn)生每個消息的系數(shù),系數(shù)的總和稱作一個編碼向量, 將消息和各自的系數(shù)在有限域內(nèi)做乘法運算,再將各結(jié)果做和運算,得到編碼后的新消 息的數(shù)據(jù)區(qū);(13) 在新消息的包頭信息中添加新消息序列號、源節(jié)點地址、目的節(jié)點地址、段. 序列號和編碼向量;(14) 將新消息加入源節(jié)點的緩存器,并更新本節(jié)點保存的消息列表,發(fā)送新消息 到鏈路層;(15) 清空收集消息的編碼緩沖區(qū),段序列號加一,從運輸層接收下一段原始數(shù)據(jù), 進行網(wǎng)絡(luò)編碼和發(fā)送。
3. 根據(jù)權(quán)利要求l或2所述的方法,其特征在于,所述部分(2)包含以下內(nèi)容(21) 收到響應(yīng)信息的中間節(jié)點按照響應(yīng)信息中包括的消息列表,在本節(jié)點緩存器 中檢索出源節(jié)點地址相同、目的節(jié)點地址相同、段序列號相同的同段消息;(22) 從有限域內(nèi)為每個同段消息隨機產(chǎn)生系數(shù),將消息和各自的系數(shù)在有限域內(nèi) 做乘法運算,再將各結(jié)果做和運算,得到新編碼消息的數(shù)據(jù)區(qū);(23) 取出各同段消息包頭信息中的原編碼向量,將新隨機產(chǎn)生的系數(shù)與該編碼向 量做乘法運算,得到再次編碼的新編碼向量;(24) 在新編碼消息的包頭信息中添加新消息序列號、原消息的源節(jié)點地址、原消 息的目的節(jié)點地址、原消息的段序列號和新編碼向量;(25) 將新編碼消息加入源節(jié)點緩存器,并更新本節(jié)點保存的消息列表;(26) 按照響應(yīng)信息中包括的消息列表順序發(fā)送本節(jié)點緩存器中相應(yīng)的消息,如果 有新編碼消息產(chǎn)生,則將新消息隨被請求消息一起發(fā)送。
4. 根據(jù)權(quán)利要求1至3任意一項所述的方法,其特征在于,所述部分(3)包含以下內(nèi)容(31)目的節(jié)點保存有不同段的段維護矩陣和解碼緩沖區(qū),每收到一個新到達的消 息,檢査該消息頭部信息中的目的地址是否與本節(jié)點地址相同;(32) 若相同,則取出該消息包頭信息中的編碼向量,并過高斯消元判斷該編碼向量的線性獨立性,若線性獨立,則將該編碼消息加入目的節(jié)點的解碼緩沖區(qū)中,并按照包頭信息中的段序列號加入對應(yīng)的段維護矩陣中,若線性不獨立,則丟棄該消息,段維護矩陣保持不變;(33) 每次添加新的編碼向量后,檢查該段維護矩陣是否滿秩。滿秩,則在相應(yīng)的解碼緩沖區(qū)中進行轉(zhuǎn)置矩陣的運算,恢復(fù)該段原始數(shù)據(jù),并發(fā)送至運輸層。
全文摘要
本發(fā)明屬于網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,涉及一種DTN或ICN網(wǎng)絡(luò)上利用網(wǎng)絡(luò)編碼技術(shù)減少冗余消息的方法,包括下列幾個組成部分(1)在源節(jié)點采用隨機線性編碼方案,將要發(fā)送的數(shù)據(jù)信息分段收集,分段進行網(wǎng)絡(luò)編碼,并發(fā)送編碼后的新消息。(2)中間節(jié)點收到響應(yīng)信息后,對被請求的同段消息再次進行編碼,產(chǎn)生新的編碼消息,發(fā)被請求的消息和新消息。(3)目的節(jié)點對接收的編碼消息進行線性獨立性的篩選,當收到足夠的段內(nèi)編碼消息后,進行段內(nèi)解碼來恢復(fù)該段的原始數(shù)據(jù)信息。本發(fā)明適用于主要由傳感器(Sensor)、PDA、便攜計算機、掌上電腦等移動設(shè)備構(gòu)成、節(jié)點能量和緩存器有限的DTN和ICN網(wǎng)絡(luò)中。該方法作為一種有效、實用的技術(shù)方案,應(yīng)用前景看好。
文檔編號H04L1/00GK101667885SQ20091007071
公開日2010年3月10日 申請日期2009年9月29日 優(yōu)先權(quán)日2009年9月29日
發(fā)明者茜 張, 羅詠梅, 趙西滿, 金志剛 申請人:天津大學