欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法

文檔序號:7776534閱讀:412來源:國知局
基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法
【專利摘要】本發(fā)明公開了一種基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,通過主動尋求異或網(wǎng)絡(luò)編碼機會、通過SV消息和Request消息來分別獲取和傳遞已達(dá)目的節(jié)點的數(shù)據(jù)消息信息、優(yōu)化數(shù)據(jù)消息的發(fā)送順序以及優(yōu)先傳送目的地址為自己當(dāng)前一跳鄰居節(jié)點的數(shù)據(jù)消息4種新機制,解決現(xiàn)有技術(shù)中僅考慮節(jié)點之間的兩兩數(shù)據(jù)交互,未考慮多鄰居節(jié)點情況下的數(shù)據(jù)通信,拓?fù)湫畔⒗貌蛔?;缺乏對自己?dāng)前一跳鄰居信息的維護(hù)、更新以及運用,拓?fù)湫畔⒗貌蛔?;?jié)點對SV消息的利用率低;節(jié)點對Request消息的利用率低;節(jié)點對待發(fā)送的數(shù)據(jù)消息缺乏發(fā)送優(yōu)先級的考慮,數(shù)據(jù)投遞效率低等問題。在不增加控制開銷的前提下,減少了數(shù)據(jù)消息的發(fā)送次數(shù),降低節(jié)點的網(wǎng)絡(luò)開銷和存儲開銷,縮短投遞時延,提高了投遞效率及路由算法的有效性和可擴展性。
【專利說明】基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)路由方法【技術(shù)領(lǐng)域】,涉及一種基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,特別涉及采用基于感染(epidemic)機制的路由技術(shù)和基于網(wǎng)絡(luò)編碼機制的路由技術(shù)。
【背景技術(shù)】
[0002]機會網(wǎng)絡(luò)是一種具有間斷或部分連接的網(wǎng)絡(luò)拓?fù)?、利用?jié)點移動帶來的相遇機會來實現(xiàn)通信的時延和斷裂可容忍的無線移動自組織網(wǎng)絡(luò);機會網(wǎng)絡(luò)是當(dāng)前無線網(wǎng)絡(luò)研究領(lǐng)域最新的熱點之一,它既是一種具體的網(wǎng)絡(luò)形式,也是一種極具挑戰(zhàn)性的通信網(wǎng)絡(luò)技術(shù),對于實現(xiàn)未來普適計算具有深遠(yuǎn)意義。
[0003]機會網(wǎng)絡(luò)體系架構(gòu)的一個核心組成部分就是路由技術(shù)。機會網(wǎng)絡(luò)采用“存儲-攜帶-轉(zhuǎn)發(fā)”的路由模式來實現(xiàn)不同網(wǎng)絡(luò)區(qū)域間的互相通信。當(dāng)前,根據(jù)數(shù)據(jù)轉(zhuǎn)發(fā)特性的不同,可以將現(xiàn)有路由算法劃分為多種類型,包括直接傳送、基于復(fù)制的、基于預(yù)測的、基于上下文的和基于編碼的方案等。其中,應(yīng)用和研究較為廣泛的是基于復(fù)制的路由算法,并且以Epidemic路由算法最為典型。該算法因其較高的投遞率和較低的時延特性而備受關(guān)注。Epidemic路由算法的主要思想是利用節(jié)點的隨機移動產(chǎn)生的相遇機會實現(xiàn)節(jié)點間的兩兩信息互換,進(jìn)而實現(xiàn)消息的最終投遞,其基本步驟如下:
[0004]I)網(wǎng)絡(luò)中各節(jié)點(如節(jié)點A)都周期性的廣播Hello消息進(jìn)行鄰居發(fā)現(xiàn)。鄰居節(jié)點(如節(jié)點B)收到該Hello消息后,將自己存儲的消息(message,指用于傳送業(yè)務(wù)數(shù)據(jù)的獨立完整的信息單元)的索引矢量SV (Summary Vector,一種二進(jìn)制矢量,矢量中每一位的位置通過哈希映射與一個消息的源節(jié)點和序列號相關(guān)聯(lián),其值代表當(dāng)前節(jié)點的緩存區(qū)中是否存儲該消息)裝入一個SV消息(SV message,指裝載索引矢量的控制信息單元)并向A發(fā)送。
[0005]2) A收到B發(fā)來的SV消息后用其中的索引矢量SVb與自己所存消息的索引矢量SVa進(jìn)行按位運算,確定出自己尚未存有的消息所對應(yīng)的矢量一請求矢量,記為RequestA,即:
[0006]RequestA=SVB& ?SVa
[0007]3)A將RequestA裝入I個Request消息(Request message,指裝載請求矢量的控制信息單元),并將其發(fā)送給B,請求B發(fā)送自己沒有的消息。
[0008]4) B收到A發(fā)來的Request消息后,根據(jù)其中的請求矢量RequestA找到自己存有而A沒有的消息,然后發(fā)送給A。
[0009]5)類似地,以節(jié)點A為SV消息的發(fā)起者,A、B重復(fù)步驟(I)?(4)的操作。
[0010]基于復(fù)制的機會網(wǎng)絡(luò)節(jié)點采用“存儲一攜帶一轉(zhuǎn)發(fā)”的路由模式,在未將消息傳送到目的節(jié)點時,不會刪除消息,而是攜帶著它們一起運動。基于復(fù)制的基本思想最初由Demers等人提出,用于網(wǎng)絡(luò)中不同節(jié)點的數(shù)據(jù)庫信息的管理和維護(hù)。其后,Vahdat和Becker改進(jìn)了原有的復(fù)制機制使之適合機會網(wǎng)絡(luò)拓?fù)溟g斷連接的特點,并以此為基礎(chǔ)提出了感染路由(Epidemic Routing)算法,在節(jié)點相遇時通過索引矢量消息和請求消息的交換實現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)中的逐跳傳遞,能夠在機會網(wǎng)絡(luò)中可靠地傳輸數(shù)據(jù)而不需要先驗拓?fù)湫畔⒌膸椭_保了網(wǎng)絡(luò)中有足夠數(shù)量的隨機數(shù)據(jù)交互以及網(wǎng)絡(luò)中所有節(jié)點都能夠最終接收到所有消息,消息的投遞率較高且端到端時延較小。Spyropoulos等人提出了 Spray andWait路由算法,該算法結(jié)合了 Epidemic路由算法的快速性和直接傳輸?shù)暮唵涡院秃啙嵭?,可在時延和資源開銷之間進(jìn)行有效折中。該路由算法由Spray和Wait兩個階段構(gòu)成。在Spray階段,將消息復(fù)制成L個副本,由多個節(jié)點攜帶并參與轉(zhuǎn)發(fā);在Wait階段,包含該數(shù)據(jù)分組副本的節(jié)點以直接傳輸?shù)姆绞綄?shù)據(jù)分組傳送到目的節(jié)點。該算法較ER(EpidemicRouting)算法能夠顯著降低網(wǎng)絡(luò)開銷,但合理副本數(shù)L值的選定比較困難。取值較大,則開銷增加;取值較小,則分組投遞率降低,時延增大。Binary Spray and Wait算法是對Sprayand Wait路由算法的改進(jìn),能夠獲取更佳的網(wǎng)絡(luò)性能。在該算法中,源節(jié)點發(fā)送一半的數(shù)據(jù)分組副本給新遇到的中繼節(jié)點,自己則緩存剩余的一半數(shù)據(jù)分組副本。源節(jié)點和中繼節(jié)點重復(fù)該Spray過程,直到節(jié)點僅剩余一份數(shù)據(jù)分組副本。此時,節(jié)點進(jìn)入Wait階段,轉(zhuǎn)為直接傳輸模式。Harras等人提出了 Controlled Flooding路由算法,該算法假定每個節(jié)點只知道自身以及自己攜帶的消息信息,并且能夠完全自主作出轉(zhuǎn)發(fā)決策。該算法通過意愿概率、生存時間(Time-To-Send,TTS)和死亡時間(Time-To-Live,TTL)三個參數(shù)來控制消息泛洪。此外,通過廣播免疫信息來及時刪除已達(dá)目的節(jié)點的數(shù)據(jù)分組。該算法在保證可靠投遞的同時顯著減少了網(wǎng)絡(luò)開銷。
[0011]Yu 等人提出了 MRRMR(Message Redundancy Removal of Mult1-copy Routing)算法,在Epidemic路由算法的基礎(chǔ)上為每一個網(wǎng)絡(luò)節(jié)點增加一個相遇計數(shù)器。該計數(shù)器記錄節(jié)點遇到的帶有相同消息拷貝的不同節(jié)點的數(shù)目。如果計數(shù)器的值達(dá)到了所設(shè)置的門限值,則節(jié)點將該消息拷貝從緩存中移除,并且之后不再接收該消息拷貝。通過設(shè)置合理的門限值,可以在保證消息投遞成功率和不增加控制分組開銷的同時,將冗余拷貝高效的控制在一個相對低的水平并且可以顯著減少節(jié)點緩存占用。但是,由于節(jié)點移動的隨機性,合理門限值的選定比較困難。并且,消息拷貝的過早移除,還會導(dǎo)致傳輸時延的增加。Lu等人提出n-epidemic路由算法,僅當(dāng)節(jié)點當(dāng)前擁有的鄰居節(jié)點個數(shù)達(dá)到一個特定的門限值時,才進(jìn)行數(shù)據(jù)傳輸,這就可以使用較少的傳輸次數(shù)獲取較多的接收,減少數(shù)據(jù)傳輸次數(shù)。但是,由于未能充分利用節(jié)點之間短暫的相遇機會,導(dǎo)致數(shù)據(jù)分組不能及時傳遞,投遞時延增力口。孫踐知等提出了 Wait and Epidemic路由算法,將數(shù)據(jù)分組的轉(zhuǎn)發(fā)過程分為Wait和Epidemic兩個階段。Wait階段,采用直接傳輸路由策略,由源節(jié)點將數(shù)據(jù)分組直接轉(zhuǎn)發(fā)給目的節(jié)點,而中繼節(jié)點不參與轉(zhuǎn)發(fā);Epidemic階段,源節(jié)點將Wait階段未能送達(dá)目的節(jié)點的數(shù)據(jù)分組按照有限度泛洪策略進(jìn)行轉(zhuǎn)發(fā)。該算法仍然未能充分利用節(jié)點之間短暫的相遇機會,導(dǎo)致數(shù)據(jù)分組不能通過中繼節(jié)點及時傳遞,投遞時延增加。
[0012]但是,Epidemic算法類似于泛洪機制,對網(wǎng)絡(luò)資源的要求比較高,在苛刻的機會網(wǎng)絡(luò)環(huán)境中,算法性能的提升受到限制。由于網(wǎng)絡(luò)編碼技術(shù)能夠有效解決多種使用單一路由所無法解決的問題,可以充分利用無線網(wǎng)絡(luò)的廣播特性來傳輸組合后的數(shù)據(jù)分組給網(wǎng)絡(luò)中所有的鄰居節(jié)點,在改善網(wǎng)絡(luò)容量、可靠性和網(wǎng)絡(luò)環(huán)境等方面表現(xiàn)出強大的優(yōu)越性,故將其應(yīng)用于Epidemic算法備受研究與關(guān)注。
[0013]網(wǎng)絡(luò)編碼的思想最初是由Ahlswede等人于2000年提出的,并且證明了:通過網(wǎng)絡(luò)編碼可獲取更大的網(wǎng)絡(luò)吞吐量。Widmer等人提出了基于網(wǎng)絡(luò)編碼的概率路由算法,中繼節(jié)點收到編碼分組后,并不是簡單地轉(zhuǎn)發(fā)該分組,而是將已接收到的多個編碼分組進(jìn)行線性組合,生成一個新的編碼分組并按照概率d轉(zhuǎn)發(fā)給鄰居節(jié)點。目的節(jié)點收到足夠多的編碼分組后,就可以解碼出多個原始數(shù)據(jù)分組。Lin等人將隨機線性網(wǎng)絡(luò)編碼應(yīng)用于Epidemic路由算法,在帶寬和節(jié)點緩存大小受限的移動傳感器網(wǎng)絡(luò)環(huán)境中建立了一種分析模型,分別計算基于復(fù)制和基于網(wǎng)絡(luò)編碼的Epidemic路由算法傳輸時延。研究結(jié)果表明,當(dāng)帶寬和節(jié)點緩存受限時,基于網(wǎng)絡(luò)編碼的Epidemic路由算法可以顯著縮短數(shù)據(jù)投遞時延。Small和Haads建立了 Epidemic路由算法的馬爾科夫模型,研究結(jié)果表明馬爾科夫模型可以精確評估Epidemic路由算法的性能。但是,即使是針對簡單的Epidemic路由算法,該模型也已經(jīng)相當(dāng)復(fù)雜。隨著節(jié)點數(shù)目的增多,復(fù)雜度不斷增大,因此該模型不適用于大型傳感器網(wǎng)絡(luò)。趙煒等建立了基于常微分方程的Epidemic路由算法分析模型,用于分析比較基于網(wǎng)絡(luò)編碼的Epidemic路由算法和基于復(fù)制的Epidemic路由算法的傳輸時延和冗余度等。結(jié)果顯示,基于網(wǎng)絡(luò)編碼的Epidemic路由算法的傳輸時延與緩存大小并沒有直接的關(guān)聯(lián)。并且,在受限網(wǎng)絡(luò)中使用網(wǎng)絡(luò)編碼可明顯縮短網(wǎng)絡(luò)傳輸時延,提高網(wǎng)絡(luò)的魯棒性等。
[0014]從上述文獻(xiàn)內(nèi)容和研究現(xiàn)狀來看,自從Epidemic路由算法提出以后,人們對其加以改進(jìn)和拓展的研究一直在進(jìn)行,在消息轉(zhuǎn)發(fā)、節(jié)點緩存管理、節(jié)點相遇感知以及與其它轉(zhuǎn)發(fā)方式的結(jié)合等方面已取得一定進(jìn)展,但在SV消息和Request消息的利用以及局部拓?fù)湫畔⒌睦玫确矫妫匀淮嬖诶寐实偷膯栴},導(dǎo)致冗余的通信和存儲開銷等。此問題到目前為止未得到有效解決,而它對采用感染機制的路由方法的效率和可擴展性等性能具有重要影響,因此存在進(jìn)一步研究和解決的需要,本發(fā)明針對該問題提出一種創(chuàng)新性的解決方法。
[0015]現(xiàn)有基于復(fù)制的機會網(wǎng)絡(luò)路由算法存在以下5個問題:
[0016]I)僅考慮節(jié)點之間的兩兩數(shù)據(jù)交互,未考慮多鄰居節(jié)點情況下的數(shù)據(jù)通信,拓?fù)湫畔⒗貌蛔悖?br> [0017]2)缺乏對自己當(dāng)前一跳鄰居信息的維護(hù)、更新以及運用,拓?fù)湫畔⒗貌蛔悖?br> [0018]3)節(jié)點對SV消息的利用率較低;
[0019]4)節(jié)點對Request消息的利用率較低;
[0020]5)節(jié)點對待發(fā)送的數(shù)據(jù)消息缺乏發(fā)送優(yōu)先級的考慮,數(shù)據(jù)投遞效率較低。

【發(fā)明內(nèi)容】

[0021]有鑒于此,本發(fā)明的目的在于提供一種基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,該方法采用了基于感染(epidemic)機制的路由技術(shù)和基于網(wǎng)絡(luò)編碼機制的路由技術(shù),并且為網(wǎng)絡(luò)中的每個節(jié)點及其產(chǎn)生的消息分配了唯一標(biāo)識的機會網(wǎng)絡(luò)。
[0022]本發(fā)明提出了主動尋求異或網(wǎng)絡(luò)編碼機會、通過SV消息和Request消息來分別獲取和傳遞已達(dá)目的節(jié)點的數(shù)據(jù)消息信息、優(yōu)化數(shù)據(jù)消息的發(fā)送順序以及優(yōu)先傳送目的地址為自己當(dāng)前一跳鄰居節(jié)點的數(shù)據(jù)消息等4種新機制,減少冗余數(shù)據(jù)消息在網(wǎng)絡(luò)中的繼續(xù)擴散和節(jié)點緩存占用,降低機會網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)開銷和存儲開銷,縮短平均端到端時延,提高投遞率,增強路由算法的有效性和可擴展性。
[0023]為達(dá)到上述目的,本發(fā)明提供如下技術(shù)方案:
[0024]一種基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,包括在邏輯上具有先后關(guān)系的節(jié)點相遇感知、SV消息的接收及處理、Request消息的接收及處理和數(shù)據(jù)消息的接收及處理4個階段內(nèi)的14個操作步驟;其中,節(jié)點相遇感知階段包含4個步驟:11)節(jié)點周期性地廣播Hello消息;12)記錄相遇節(jié)點信息;13)發(fā)送自己的SV消息;14)確定兩節(jié)點間鏈路斷開的最短時間間隔;SV消息的接收及處理階段包含3個步驟:21)確定待發(fā)送給對方節(jié)點的Request消息;22)添加部分?jǐn)?shù)據(jù)消息到達(dá)信息至Request消息并發(fā)送給對方節(jié)點;23)刪除緩存中部分已達(dá)目的節(jié)點的數(shù)據(jù)消息并更新Reach列表;ReqUest消息的接收及處理階段包含4個步驟:31)更新自己的SV列表和Reach列表;32)確定待發(fā)送的數(shù)據(jù)消息并按照設(shè)定的發(fā)送優(yōu)先級排序;33)未發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,立即發(fā)送待發(fā)送的數(shù)據(jù)消息;34)發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,執(zhí)行網(wǎng)絡(luò)編碼操作;數(shù)據(jù)消息的接收及處理階段包含3個步驟:41)獲取原始數(shù)據(jù)消息;42)判斷目的地址是否為自身節(jié)點;43)判斷目的地址是否為自己當(dāng)前一跳鄰居節(jié)點。
[0025]進(jìn)一步,所述步驟14)確定兩節(jié)點間鏈路斷開的最短時間間隔的具體操作為:節(jié)點根據(jù)接收的鄰居節(jié)點廣播的Hello消息,通過RSSI (Received Signal StrengthIndicator)測距機制測出當(dāng)前兩節(jié)點之間的距離d ;再結(jié)合節(jié)點的通信半徑R和最大
移動速度Vmax,通過運算:7 ,=,確定兩節(jié)點間鏈路斷開的最短時間間隔



max
Tinterval。
[0026]進(jìn)一步,所述步驟22)添加部分?jǐn)?shù)據(jù)消息到達(dá)信息至Request消息并發(fā)送給對方節(jié)點的具體思路和方法為:當(dāng)節(jié)點A收到節(jié)點B發(fā)送的SVb,進(jìn)行運算:RequestA=SVB&~SVa,比特矢量Request顯示的是節(jié)點B中存有而節(jié)點A中沒有的數(shù)據(jù)消息信息。節(jié)點A之后做如下位運算:Request’ A=RequestA (ReachA&~SVB),并發(fā)送Request/消息給對方節(jié)點,其中包含了待請求的數(shù)據(jù)消息信息以及部分?jǐn)?shù)據(jù)消息到達(dá)信息。
[0027]進(jìn)一步,所述步驟23)刪除緩存中部分已達(dá)目的節(jié)點的數(shù)據(jù)消息并更新Reach列表的具體思路和方法為:當(dāng)節(jié)點A 收到節(jié)點B發(fā)送的SVb,進(jìn)行如下位運算:SVe=SVB&SVA,矢量SVc顯示的是當(dāng)前節(jié)點A、B的緩存中都存有的數(shù)據(jù)消息;之后節(jié)點A遍歷SVc中顯示的數(shù)據(jù)消息,查詢各數(shù)據(jù)消息所對應(yīng)的目的節(jié)點是否為B,如果是,則刪除該數(shù)據(jù)消息(節(jié)點B中已存有該消息副本,即該消息已達(dá)目的節(jié)點B,無需在網(wǎng)絡(luò)中繼續(xù)擴散)并且更新其消息已達(dá)信息列表ReachA (該列表與SV類似,用于標(biāo)示數(shù)據(jù)消息到達(dá)信息)。
[0028]進(jìn)一步,所述步驟31)更新自己的SV列表和Reach列表的具體操作為:節(jié)點A收到任意鄰居節(jié)點B發(fā)送的控制分組Request13后,啟動等待時間T,并進(jìn)行如下位運算:Reach’ A=ReachA| (RequestB& ~SVA), (I)和 SVa,=SVa | RequestB, (2);式(I)通過將節(jié)點 B 請求的而節(jié)點A緩存中沒有的數(shù)據(jù)分組信息(該部分?jǐn)?shù)據(jù)分組已達(dá)目的節(jié)點)并入自己的分組已達(dá)信息列表ReachA ;式(2)對SVa比特矢量做了相應(yīng)的更新,從而避免部分冗余數(shù)據(jù)分組在網(wǎng)絡(luò)中的擴散;上述兩式分別實現(xiàn)了節(jié)點A維護(hù)的分組已達(dá)信息列表ReachA和分組索引信息SVa的更新。
[0029]進(jìn)一步,所述步驟32)確定待發(fā)送的數(shù)據(jù)消息并按照設(shè)定的發(fā)送優(yōu)先級排序的具體思路和方法為:節(jié)點根據(jù)收到的Request消息確定緩存中待發(fā)送的數(shù)據(jù)消息并按照設(shè)定的發(fā)送優(yōu)先級排序,生成相應(yīng)的初始編碼矩陣;該發(fā)送優(yōu)先級根據(jù)數(shù)據(jù)分組的目的地址和效用值以及生成時間,對其發(fā)送次序作出調(diào)整:目的地址為對方節(jié)點的,效用值高的優(yōu)先發(fā)送;目的地址為對方節(jié)點且效用值相同的,生成時間短的優(yōu)先發(fā)送;目的地址非對方節(jié)點的,效用值高的優(yōu)先發(fā)送;目的地址非對方節(jié)點且效用值相同的,生成時間短的優(yōu)先發(fā)送。
[0030]進(jìn)一步,所述步驟33)未發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,立即發(fā)送待發(fā)送的數(shù)據(jù)消息的具體操作為:如果在等待時間T內(nèi),節(jié)點A沒有收到另一個鄰居節(jié)點C發(fā)送的Request。,則根據(jù)編碼矩陣中各數(shù)據(jù)消息的排列順序依次發(fā)送各數(shù)據(jù)消息。
[0031]進(jìn)一步,所述步驟34)發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,執(zhí)行網(wǎng)絡(luò)編碼操作的具體思路和方法為:如果在等待時間T內(nèi),節(jié)點A收到另一個鄰居節(jié)點C發(fā)送的Request。,則執(zhí)行類似操作,再次更新自己的ReachA和SVa ;同時,確定待發(fā)送給節(jié)點C的數(shù)據(jù)消息集合,記為Mc,并結(jié)合發(fā)送優(yōu)先級更新編碼矩陣;之后,節(jié)點A根據(jù)調(diào)整后的編碼矩陣,對待發(fā)送的數(shù)據(jù)消息執(zhí)行網(wǎng)絡(luò)編碼操作。
[0032]進(jìn)一步,所述步驟41)獲取原始數(shù)據(jù)消息的具體思路和方法為:如果節(jié)點收到的是編碼消息,則通過自己緩存中的原始數(shù)據(jù)消息解碼出自己需要的原始數(shù)據(jù)消息并更新SV ;如果編碼消息不可解碼,則刪除該消息;如果接收到的是原始數(shù)據(jù)消息,則更新SV ;所述步驟42)判斷目的地址是否為自身節(jié)點的具體思路和方法為:節(jié)點查找所接收的或者解碼出的原始數(shù)據(jù)消息所對應(yīng)的目的地址,如果是自己,則更新Reach并將其上傳到應(yīng)用層,提取相關(guān)信息后將其銷毀;否則,將其放入緩存區(qū)。
[0033]進(jìn)一步,所述步驟43)判斷目的地址是否為自己當(dāng)前一跳鄰居節(jié)點的具體思路和方法為:節(jié)點查找所接收的或者解碼出的原始數(shù)據(jù)消息所對應(yīng)的目的地址以及自己當(dāng)前的一跳鄰居信息表,如果目的地址為自己當(dāng)前一跳鄰居節(jié)點并且根據(jù)步驟14)判斷出當(dāng)前兩節(jié)點仍然處于連通狀態(tài),節(jié)點與該節(jié)點的相遇時間間隔小于Tinterval,則將該數(shù)據(jù)消息的副本直接發(fā)送給該一跳鄰居節(jié)點。
[0034]本發(fā)明中提出的4種新機制的原理和優(yōu)越性具體如下:
[0035]主動尋求異或網(wǎng)絡(luò)編碼機會:
[0036]傳統(tǒng)的基于復(fù)制的路由算法中,僅考慮節(jié)點之間的兩兩數(shù)據(jù)交互,未考慮多鄰居節(jié)點情況下的數(shù)據(jù)通信,拓?fù)湫畔⒗貌蛔?。而在本發(fā)明中,當(dāng)節(jié)點A收到RequestB后,不是立即發(fā)送節(jié)點B所需數(shù)據(jù)消息給節(jié)點B,而是通過等待一段時間(時間長度閾值T根據(jù)網(wǎng)絡(luò)條件確定),主動地尋求網(wǎng)絡(luò)編碼機會。如果在T內(nèi),節(jié)點A收到了節(jié)點C發(fā)來的Request。,則將需要分別傳送給B和C的數(shù)據(jù)消息進(jìn)行異或網(wǎng)絡(luò)編碼后將編碼消息同時發(fā)送給B和C,從而有效減少數(shù)據(jù)消息發(fā)送次數(shù),提高消息投遞效率等。
[0037]通過SV消息和Request消息來分別獲取和傳遞已達(dá)目的節(jié)點的數(shù)據(jù)消息信息:
[0038]傳統(tǒng)的基于復(fù)制的機會網(wǎng)絡(luò)路由算法中,節(jié)點對SV消息和Request消息的利用率均較低。使用本發(fā)明提出的通過SV消息和Request消息來分別獲取和傳遞已達(dá)目的節(jié)點的數(shù)據(jù)消息信息的機制,能夠在不增加控制開銷的前提下,有效減少節(jié)點緩存占用以及部分已達(dá)目的節(jié)點的數(shù)據(jù)消息在網(wǎng)絡(luò)中的繼續(xù)擴散,降低節(jié)點的網(wǎng)絡(luò)開銷和存儲開銷,提高投遞率,縮短投遞時延等,同時提高了路由算法的有效性和可擴展性。
[0039]優(yōu)化數(shù)據(jù)消息的發(fā)送順序:
[0040]傳統(tǒng)的基于復(fù)制的機會網(wǎng)絡(luò)路由算法中,節(jié)點收到Request消息后,采取隨機發(fā)送的方式投遞這些數(shù)據(jù)消息給對應(yīng)的節(jié)點,投遞效率較低;本發(fā)明根據(jù)數(shù)據(jù)消息的目的地址和效用值以及生成時間,對其發(fā)送次序作出調(diào)整:目的地址為對方節(jié)點的,效用值高的優(yōu)先發(fā)送;目的地址為對方節(jié)點且效用值相同的,生成時間短的優(yōu)先發(fā)送;目的地址非對方節(jié)點的,效用值高的優(yōu)先發(fā)送;目的地址非對方節(jié)點且效用值相同的,生成時間短的優(yōu)先發(fā)送。因此,本發(fā)明能夠有效提高數(shù)據(jù)投遞效率,縮短投遞時延等。
[0041]優(yōu)先傳送目的地址為自己當(dāng)前一跳鄰居節(jié)點的數(shù)據(jù)消息:
[0042]本發(fā)明中,當(dāng)節(jié)點A接收到(或者解碼出)某一原始數(shù)據(jù)消息后,更新自己的SV索引信息。若該數(shù)據(jù)消息的目的地址(記為D)為自己,則將其上傳并銷毀,同時更新自己的數(shù)據(jù)消息已達(dá)信息列表ReachA。否則,查找自己的一跳鄰居信息表,若存在D,并且滿足如下條件:
[0043]Tc_TL〈Tinterval
[0044]即當(dāng)前時刻Tc與該節(jié)點和節(jié)點D上次相遇的時刻IY的時間間隔小于最短時間間隔閾值Tinteval (此時認(rèn)為兩節(jié)點仍然處于接觸狀態(tài)并且能夠成功投遞該數(shù)據(jù)消息),則將該數(shù)據(jù)消息副本直接轉(zhuǎn)發(fā)給節(jié)點D ;否則,放入自己的緩存區(qū),進(jìn)行攜帶、轉(zhuǎn)發(fā)。因此,本發(fā)明能夠有效提聞投遞率,縮短投遞時延以及減少網(wǎng)絡(luò)開銷等。
[0045]本發(fā)明的有益效果在于:本發(fā)明所述方法能夠減少網(wǎng)絡(luò)開銷和存儲開銷,提高投遞率,縮短投遞時延以及降低和均衡節(jié)點能耗等,從而增強路由算法的有效性和可擴展性。
【專利附圖】

【附圖說明】
[0046]為了使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚,本發(fā)明提供如下附圖進(jìn)行說明:
[0047]圖1為本發(fā)明提出的路由方法的組成框圖;
[0048]圖2為傳統(tǒng)的基于復(fù)制的路由算法與本發(fā)明中路由方法的主要操作的對比示意圖。
【具體實施方式】
[0049]下面將結(jié)合附圖,對本發(fā)明的優(yōu)選實施例進(jìn)行詳細(xì)的描述。
[0050]圖2為傳統(tǒng)的基于復(fù)制的路由算法與本發(fā)明中路由方法的主要操作的對比示意圖,如圖所示:
[0051](a)為傳統(tǒng)的基于復(fù)制的路由算法。節(jié)點A和節(jié)點B通過節(jié)點相遇感知,確定彼此相遇(即處于連通狀態(tài))后,節(jié)點A發(fā)送自己維護(hù)的SVa消息給節(jié)點B。節(jié)點B收到該消息后,通過與自己維護(hù)的SVb作比較,獲取當(dāng)前節(jié)點A緩存中存有而自己沒有的數(shù)據(jù)消息信息,并向節(jié)點A發(fā)送Request消息,請求發(fā)送這些數(shù)據(jù)消息。節(jié)點A收到該消息后,逐條發(fā)送所請求的數(shù)據(jù)消息給節(jié)點B,發(fā)送順序為隨機發(fā)送。節(jié)點B收到數(shù)據(jù)消息后,更新自己的SV列表;同時,查找所接收的原始數(shù)據(jù)消息所對應(yīng)的目的地址,如果是自己,則更新Reach列表并將其上傳到應(yīng)用層,提取相關(guān)信息后將其銷毀;否則,將其放入緩存區(qū),進(jìn)行攜帶、轉(zhuǎn)發(fā)。
[0052](b)為本發(fā)明的路由方法。節(jié)點B收到節(jié)點A發(fā)送的SV消息后,首先通過與自己的SV列表作對比,確定需要向節(jié)點A請求的數(shù)據(jù)消息信息;之后,再結(jié)合自己的Reach列表,確定需要添加的部分?jǐn)?shù)據(jù)消息到達(dá)信息;最后,將這兩部分信息裝載到Request消息中并發(fā)送給節(jié)點A。此外,通過與節(jié)點A發(fā)送的SV消息作對比,節(jié)點B獲取當(dāng)前A、B兩節(jié)點的緩存中共同存有的數(shù)據(jù)消息,并逐一查詢自己緩存中這些數(shù)據(jù)消息所對應(yīng)的目的節(jié)點是否為A,如果是,則刪除該數(shù)據(jù)消息(節(jié)點A中已存有該數(shù)據(jù)消息副本,即該消息已被送達(dá)目的節(jié)點A,無需在網(wǎng)絡(luò)中繼續(xù)擴散)并且更新其消息已達(dá)信息列表Reach,從而達(dá)到清理節(jié)點緩存、減少存儲開銷和資源消耗的效果。
[0053](c)為本發(fā)明的路由方法。節(jié)點A收到節(jié)點B發(fā)送的Request消息后,首先啟動等待時間T,通過與自己的SV列表作對比,提取出其中裝載的數(shù)據(jù)消息到達(dá)信息,并更新自己的SV列表和Request列表;此外,確定待發(fā)送的數(shù)據(jù)消息,并將這些數(shù)據(jù)消息按照設(shè)定的發(fā)送優(yōu)先級進(jìn)行排序;最后,等待另一鄰居節(jié)點C發(fā)送的Request。消息,尋求網(wǎng)絡(luò)編碼機會,直至等待時間閾值T到達(dá)。如果在等待時間T內(nèi),節(jié)點B沒有收到另一個鄰居節(jié)點C發(fā)送的Request。,則根據(jù)編碼矩陣中各數(shù)據(jù)消息的排列順序依次發(fā)送各數(shù)據(jù)消息。如果在等待時間T內(nèi),節(jié)點B收到另一個鄰居節(jié)點C發(fā)送的Request。,則執(zhí)行類似操作,再次更新自己的ReachB和SVb ;同時,確定待發(fā)送給節(jié)點C的數(shù)據(jù)消息集合(記為Mc),并結(jié)合發(fā)送優(yōu)先級更新編碼矩陣;之后,節(jié)點B根據(jù)調(diào)整后的編碼矩陣,對待發(fā)送的數(shù)據(jù)消息執(zhí)行網(wǎng)絡(luò)編碼操作。
[0054](d)為本發(fā)明的路由方法。節(jié)點B收到節(jié)點A發(fā)送的數(shù)據(jù)消息后,如果節(jié)點收到的是編碼消息,則通過自己緩存中的原始數(shù)據(jù)消息解碼出自己需要的原始數(shù)據(jù)消息并更新SV ;如果編碼消息不可解碼,則刪除該消息;如果接收到的是原始數(shù)據(jù)消息,則更新SV。之后,節(jié)點查找所接收的(或者解碼出的)原始數(shù)據(jù)消息所對應(yīng)的目的地址,如果是自己,則更新Reach并將其上傳到應(yīng)用層,提取相關(guān)信息后將其銷毀;否則,將其放入緩存區(qū)并執(zhí)行下一步操作。最后,節(jié)點查找所接收的(或者解碼出的)原始數(shù)據(jù)消息所對應(yīng)的目的地址(記為C)以及自己當(dāng)前的一跳鄰居信息表,如果目的地址為自己當(dāng)前一跳鄰居節(jié)點且處于連通狀態(tài)(節(jié)點與該節(jié)點的相遇時間間隔小于Tinterval),則將該數(shù)據(jù)消息的副本直接發(fā)送給該一跳鄰居節(jié)點(節(jié)點C),從而有效提高投遞率,縮短投遞時延等。
[0055]圖1為本發(fā)明提出的路由方法的組成框圖,如圖所示,本發(fā)明所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法由節(jié)點相遇感知、SV消息的接收及處理、Request消息的接收及處理和數(shù)據(jù)消息的接收及處理4個階段內(nèi)的14個操作步驟組成,這14個步驟是:(I)節(jié)點周期性地廣播Hello消息;(2)記錄相遇節(jié)點信息;(3)發(fā)送自己的SV消息;(4)確定兩節(jié)點間鏈路斷開的最短時間間隔;(5)確定待發(fā)送給對方節(jié)點的Request消息;(6)添加部分?jǐn)?shù)據(jù)消息到達(dá)信息至Request消息并發(fā)送給對方節(jié)點;(7)刪除緩存中部分已達(dá)目的節(jié)點的數(shù)據(jù)消息并更新Reach列表;(8)更新自己的SV列表和Reach列表;(9)確定待發(fā)送的數(shù)據(jù)消息并按照設(shè)定的發(fā)送優(yōu)先級排序;(10)未發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,立即按序發(fā)送待發(fā)送的數(shù)據(jù)消息;(11)發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,執(zhí)行網(wǎng)絡(luò)編碼操作;(12)獲取原始數(shù)據(jù)消息;(13)判斷其目的地址是否為自身節(jié)點;(14)判斷其目的地址是否為自己當(dāng)前一跳鄰居節(jié)點。
[0056]基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法的具體操作如下:
[0057]階段1.節(jié)點相遇感知
[0058]包含如下4個步驟:
[0059]步驟1.節(jié)點周期性地廣播Hello消息。
[0060]每個節(jié)點都以一定的周期重復(fù)廣播Hello消息,Hello消息包含節(jié)點的標(biāo)識(唯一標(biāo)示節(jié)點的符號集合,如節(jié)點地址等)。[0061]步驟2.記錄相遇節(jié)點信息。
[0062]收到對方節(jié)點廣播的Hello消息后,將相遇節(jié)點的標(biāo)識存入鄰居表。
[0063]步驟3.發(fā)送自己的SV消息。
[0064]節(jié)點根據(jù)收到的Hello消息,發(fā)送自己的SV消息給對方節(jié)點。
[0065]步驟4.確定兩節(jié)點間鏈路斷開的最短時間間隔。
[0066]節(jié)點根據(jù)收到的Hello 消息,使用 RSSI (Received Signal Strength Indicator)機制測出當(dāng)前兩節(jié)點之間的距離d;再結(jié)合節(jié)點的通信半徑R和最大移動速度Vmax,確定兩節(jié)點間鏈路斷開的最短時間間隔Tinterval,即
【權(quán)利要求】
1.基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:包括在邏輯上具有先后關(guān)系的節(jié)點相遇感知、SV消息的接收及處理、Request消息的接收及處理和數(shù)據(jù)消息的接收及處理4個階段內(nèi)的14個操作步驟;其中,節(jié)點相遇感知階段包含4個步驟:11)節(jié)點周期性地廣播Hello消息;12)記錄相遇節(jié)點信息;13)發(fā)送自己的SV消息;14)確定兩節(jié)點間鏈路斷開的最短時間間隔;SV消息的接收及處理階段包含3個步驟:21)確定待發(fā)送給對方節(jié)點的Request消息;22)添加部分?jǐn)?shù)據(jù)消息到達(dá)信息至Request消息并發(fā)送給對方節(jié)點;23)刪除緩存中部分已達(dá)目的節(jié)點的數(shù)據(jù)消息并更新Reach列表;Request消息的接收及處理階段包含4個步驟:31)更新自己的SV列表和Reach列表;32)確定待發(fā)送的數(shù)據(jù)消息并按照設(shè)定的發(fā)送優(yōu)先級排序;33)未發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,立即發(fā)送待發(fā)送的數(shù)據(jù)消息;34)發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,執(zhí)行網(wǎng)絡(luò)編碼操作;數(shù)據(jù)消息的接收及處理階段包含3個步驟:41)獲取原始數(shù)據(jù)消息;42)判斷目的地址是否為自身節(jié)點;43)判斷目的地址是否為自己當(dāng)前一跳鄰居節(jié)點。
2.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟14)確定兩節(jié)點間鏈路斷開的最短時間間隔的具體操作為:節(jié)點根據(jù)接收的鄰居節(jié)點廣播的Hello消息,通過RSSI測距機制測出當(dāng)前兩節(jié)點之間的距離d ;再結(jié)合節(jié)點的通信半徑R和最大移動速度Vmax,通過運算:Λ ?= '^7一,確定兩節(jié)點間鏈路斷開
3.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟22)添加部分?jǐn)?shù)據(jù)消息到達(dá)信息至Request消息并發(fā)送給對方節(jié)點的具體思路和方法為:當(dāng)節(jié)點A收到節(jié)點B發(fā)送的SVB,進(jìn)行運算:RequestA=SVB&~SVA,比特矢量Request顯示的是節(jié)點B中 存有而 節(jié)點A中沒有的數(shù)據(jù)消息信息。節(jié)點A之后做如下位運算:Request’ A=RequestA (ReachA&~SVB),并發(fā)送Request/消息給對方節(jié)點,其中包含了待請求的數(shù)據(jù)消息信息以及部分?jǐn)?shù)據(jù)消息到達(dá)信息。
4.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟23)刪除緩存中部分已達(dá)目的節(jié)點的數(shù)據(jù)消息并更新Reach列表的具體思路和方法為:當(dāng)節(jié)點A收到節(jié)點B發(fā)送的SVb,進(jìn)行如下位運算:SVe=SVB&SVA,矢量SVe顯示的是當(dāng)前節(jié)點A、B的緩存中都存有的數(shù)據(jù)消息;之后節(jié)點A遍歷SVc中顯示的數(shù)據(jù)消息,查詢各數(shù)據(jù)消息所對應(yīng)的目的節(jié)點是否為B,如果是,則刪除該數(shù)據(jù)消息并且更新其消息已達(dá)信息列表ReachA。
5.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟31)更新自己的SV列表和Reach列表的具體操作為:節(jié)點A收到任意鄰居節(jié)點B發(fā)送的控制分組Request13后,啟動等待時間T,并進(jìn)行如下位運算:Reach’ A=ReachA | (RequestB& ~SVA), (I)和 SVa,=SVa| RequestB, (2);式(I)通過將節(jié)點 B 請求的而節(jié)點A緩存中沒有的數(shù)據(jù)分組信息并入自己的分組已達(dá)信息列表ReachA ;式(2)對SVa比特矢量做了相應(yīng)的更新,從而避免部分冗余數(shù)據(jù)分組在網(wǎng)絡(luò)中的擴散;上述兩式分別實現(xiàn)了節(jié)點A維護(hù)的分組已達(dá)信息列表ReachA和分組索引信息SVa的更新。
6.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟32)確定待發(fā)送的數(shù)據(jù)消息并按照設(shè)定的發(fā)送優(yōu)先級排序的具體思路和方法為:節(jié)點根據(jù)收到的Request消息確定緩存中待發(fā)送的數(shù)據(jù)消息并按照設(shè)定的發(fā)送優(yōu)先級排序,生成相應(yīng)的初始編碼矩陣;該發(fā)送優(yōu)先級根據(jù)數(shù)據(jù)分組的目的地址和效用值以及生成時間,對其發(fā)送次序作出調(diào)整:目的地址為對方節(jié)點的,效用值高的優(yōu)先發(fā)送;目的地址為對方節(jié)點且效用值相同的,生成時間短的優(yōu)先發(fā)送;目的地址非對方節(jié)點的,效用值高的優(yōu)先發(fā)送;目的地址非對方節(jié)點且效用值相同的,生成時間短的優(yōu)先發(fā)送。
7.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟33)未發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,立即發(fā)送待發(fā)送的數(shù)據(jù)消息的具體操作為:如果在等待時間T內(nèi),節(jié)點A沒有收到另一個鄰居節(jié)點C發(fā)送的Request。,則根據(jù)編碼矩陣中各數(shù)據(jù)消息的排列順序依次發(fā)送各數(shù)據(jù)消息。
8.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟34)發(fā)現(xiàn)網(wǎng)絡(luò)編碼機會,執(zhí)行網(wǎng)絡(luò)編碼操作的具體思路和方法為:如果在等待時間T內(nèi),節(jié)點A收到另一個鄰居節(jié)點C發(fā)送的Request。,則執(zhí)行類似操作,再次更新自己的ReachA和SVa ;同時,確定待發(fā)送給節(jié)點C的數(shù)據(jù)消息集合,記為Mc,并結(jié)合發(fā)送優(yōu)先級更新編碼矩陣;之后,節(jié)點A根據(jù)調(diào)整后的編碼矩陣,對待發(fā)送的數(shù)據(jù)消息執(zhí)行網(wǎng)絡(luò)編碼操作。
9.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟41)獲取原始數(shù)據(jù)消息的具體思路和方法為:如果節(jié)點收到的是編碼消息,則通過自己緩存中的原始數(shù) 據(jù)消息解碼出自己需要的原始數(shù)據(jù)消息并更新SV ;如果編碼消息不可解碼,則刪除該消息;如果接收到的是原始數(shù)據(jù)消息,則更新SV ;所述步驟42)判斷目的地址是否為自身節(jié)點的具體思路和方法為:節(jié)點查找所接收的或者解碼出的原始數(shù)據(jù)消息所對應(yīng)的目的地址,如果是自己,則更新Reach并將其上傳到應(yīng)用層,提取相關(guān)信息后將其銷毀;否則,將其放入緩存區(qū)。
10.根據(jù)權(quán)利要求1所述的基于網(wǎng)絡(luò)編碼和復(fù)制的機會網(wǎng)絡(luò)混合路由方法,其特征在于:所述步驟43)判斷目的地址是否為自己當(dāng)前一跳鄰居節(jié)點的具體思路和方法為:節(jié)點查找所接收的或者解碼出的原始數(shù)據(jù)消息所對應(yīng)的目的地址以及自己當(dāng)前的一跳鄰居信息表,如果目的地址為自己當(dāng)前一跳鄰居節(jié)點并且根據(jù)步驟14)判斷出當(dāng)前兩節(jié)點仍然處于連通狀態(tài),節(jié)點與該節(jié)點的相遇時間間隔小于Tinterval,則將該數(shù)據(jù)消息的副本直接發(fā)送給該一跳鄰居節(jié)點。
【文檔編號】H04L12/751GK103560966SQ201310571189
【公開日】2014年2月5日 申請日期:2013年11月13日 優(yōu)先權(quán)日:2013年11月13日
【發(fā)明者】姚玉坤, 陳曦, 劉智虎, 任智, 易建瓊 申請人:重慶郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
新郑市| 松潘县| 原阳县| 噶尔县| 平泉县| 师宗县| 金门县| 沙田区| 咸宁市| 临湘市| 张家界市| 扶风县| 宁安市| 香港| 余干县| 长丰县| 江源县| 山东省| 浮梁县| 屏东县| 马关县| 大安市| 吴川市| 临泽县| 肃北| 元氏县| 城口县| 绥阳县| 高台县| 当阳市| 东阿县| 丽水市| 高青县| 班戈县| 特克斯县| 邛崃市| 金沙县| 广水市| 新郑市| 亳州市| 彭泽县|