本發(fā)明涉及一種基于時間表的DTN機(jī)會預(yù)測路由方法,針對復(fù)雜多變的戰(zhàn)場或應(yīng)急通信環(huán)境設(shè)計高效的DTN路由算法以提高數(shù)據(jù)轉(zhuǎn)發(fā)效率和可靠性,本發(fā)明涉及DTN網(wǎng)絡(luò)技術(shù)、DTN節(jié)點(diǎn)移動模型和機(jī)會預(yù)測路由。
背景技術(shù):
:延遲容忍網(wǎng)絡(luò)(DelayTolerantNetwork,DTN)也稱為容遲容斷網(wǎng)絡(luò)或容遲網(wǎng)絡(luò),是一種能容忍網(wǎng)絡(luò)中斷和較大傳輸延遲的新型網(wǎng)絡(luò)體系。容遲容斷網(wǎng)絡(luò)(DTN)作為一種新型存儲轉(zhuǎn)發(fā)網(wǎng)絡(luò)體系,能在復(fù)雜惡劣的網(wǎng)絡(luò)環(huán)境下提供基本的通信服務(wù),近年來得到廣泛關(guān)注和研究。DTN的信息傳輸依賴于節(jié)點(diǎn)間的接觸機(jī)會,采用異步傳輸方式將數(shù)據(jù)逐跳發(fā)送給目的節(jié)點(diǎn)。DTN將傳統(tǒng)的存儲轉(zhuǎn)發(fā)模式變?yōu)榇鎯Φ却D(zhuǎn)發(fā)或存儲中繼轉(zhuǎn)發(fā)模式,提高了信息傳輸?shù)目煽啃?。DTN具有廣泛的應(yīng)用領(lǐng)域,包括軍事通信、應(yīng)急通信、車輛通信、無線傳感網(wǎng)、社交網(wǎng)絡(luò)和深空通信等。DTN網(wǎng)絡(luò)中路由算法是一個關(guān)鍵組成部分,選擇合適的路由策略以保證高效的端到端數(shù)據(jù)傳輸是DTN研究的一個熱點(diǎn)問題。由于DTN網(wǎng)絡(luò)中很可能不存在到目的節(jié)點(diǎn)的端到端路徑,加之受限的節(jié)點(diǎn)能量、存儲空間及有限的網(wǎng)絡(luò)帶寬,使得設(shè)計高效健壯的DTN路由算法變得非常困難。迄今,研究人員針對不同應(yīng)用場景提出了多種DTN路由算法。在城市交通領(lǐng)域,赫爾辛基市將交通工具作為通信終端,建立了基于DTN的通信模型,并對DTN移動模型和路由算法進(jìn)行了驗(yàn)證。在傳感網(wǎng)絡(luò)領(lǐng)域,ZebraNet項目采用DTN技術(shù)建立了野生動物監(jiān)測網(wǎng)絡(luò),采用基于歷史信息的概率路由方法,大大提高了斑馬信息的收集效率。根據(jù)路由策略的不同,馬華東等人將DTN路由算法分為五大類:洪泛路由、轉(zhuǎn)發(fā)策略路由、歷史預(yù)測路由、概率式路由和編碼策略路由[1]。洪泛路由的典型代表是流行性(Epidemic)路由,在轉(zhuǎn)發(fā)過程中各中繼節(jié)點(diǎn)依次復(fù)制消息并以泛洪方式進(jìn)行轉(zhuǎn)發(fā)。洪泛路由的消息傳輸可靠性較高,但開銷過大。轉(zhuǎn)發(fā)策略路由根據(jù)網(wǎng)絡(luò)拓?fù)湫畔⑦x擇最佳路徑,消息以逐跳方式轉(zhuǎn)發(fā)至目的地,在保證消息投遞率的同時減少開銷。歷史預(yù)測路由學(xué)習(xí)消息傳播的歷史經(jīng)驗(yàn),中繼節(jié)點(diǎn)根據(jù)經(jīng)驗(yàn)來決定消息的轉(zhuǎn)發(fā)和傳播路徑。概率式路由根據(jù)節(jié)點(diǎn)移動或網(wǎng)絡(luò)拓?fù)涞膶?shí)際情況,以某種概率分布來進(jìn)行消息的轉(zhuǎn)發(fā)。編碼策略路由將網(wǎng)絡(luò)編碼引入消息轉(zhuǎn)發(fā),可以提高網(wǎng)絡(luò)吞吐量和均衡網(wǎng)絡(luò)負(fù)載。雖然近期針對DTN網(wǎng)絡(luò)的路由問題提出了各式各樣的路由算法,但由于DTN網(wǎng)絡(luò)拓?fù)渥兓膭討B(tài)特性,鏈路中斷的隨機(jī)性以及網(wǎng)絡(luò)中存在的大延時和長中斷,算法設(shè)計依然存在諸多問題和挑戰(zhàn),例如算法應(yīng)用場景的差異比較大,現(xiàn)有路由算法數(shù)據(jù)轉(zhuǎn)發(fā)效率低,節(jié)點(diǎn)不能很好的結(jié)合自身特性和網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),洪泛式的轉(zhuǎn)發(fā)會造成資源浪費(fèi),固定式的轉(zhuǎn)發(fā)又可能造成轉(zhuǎn)發(fā)的失敗,算法可靠性和有效性是必須考慮的問題。另一方面,研究學(xué)者對DTN網(wǎng)絡(luò)中的移動模型進(jìn)行了系統(tǒng)研究,主要包括個體移動模型和群體移動模型兩大類。個體移動模型是指在判斷移動性規(guī)律時僅考慮節(jié)點(diǎn)的絕對位置變化,移動模型刻畫的是節(jié)點(diǎn)作為單獨(dú)的個體所表現(xiàn)出的移動性特征。典型的個體移動模型包括隨機(jī)游走模型和隨機(jī)路點(diǎn)模型等。隨機(jī)游走模型(RandomWalkMobilityModel)是一種提出較早的移動模型。在無線網(wǎng)絡(luò)中,節(jié)點(diǎn)的隨機(jī)游走模型描述如下:節(jié)點(diǎn)隨機(jī)選擇一個方向和速度,并以這個方向和速度從當(dāng)前位置開始運(yùn)動,一次運(yùn)動結(jié)束后,重新隨機(jī)選擇方向和速度繼續(xù)運(yùn)動。在隨機(jī)游走模型中,運(yùn)動方向和速度的改變有兩種方式,一種方式為每隔一段時間改變一次,另一種方式為每隔一定距離改變一次。在改變運(yùn)動參數(shù)時,節(jié)點(diǎn)的運(yùn)動方向可以在[0,2π)范圍內(nèi)隨機(jī)選擇,而運(yùn)動速度有一個給定的范圍,無論如何改變,都不能超出這一范圍。隨機(jī)游走模型實(shí)現(xiàn)非常簡單,因此,隨機(jī)游走模型在無線網(wǎng)絡(luò)的性能仿真和分析中被廣泛采用。但在實(shí)際網(wǎng)絡(luò)中,隨機(jī)移動更為常見的場景是:節(jié)點(diǎn)的目標(biāo)位置是隨機(jī)選擇的,而移動性參數(shù)將根據(jù)目標(biāo)位置而定。隨機(jī)路點(diǎn)模型(RandomWaypointMobilityModel)就是為了模擬這樣的運(yùn)動而提出的。隨機(jī)路點(diǎn)模型簡單描述如下:移動節(jié)點(diǎn)首先選擇一個目標(biāo)位置,并以一定的速度向目標(biāo)位置運(yùn)動,當(dāng)節(jié)點(diǎn)到達(dá)目標(biāo)位置之后,將隨機(jī)停留一段時間,然后隨機(jī)選擇下一個目標(biāo)位置繼續(xù)運(yùn)動。節(jié)點(diǎn)在目標(biāo)位置停留的時間不能超過預(yù)先設(shè)定的閾值。同時,隨機(jī)路點(diǎn)模型為節(jié)點(diǎn)設(shè)定一個最大允許的速度,節(jié)點(diǎn)在移動過程中不能超過這一速度。在隨機(jī)路點(diǎn)模型中,由于停留時間的存在和運(yùn)動速度的變化,可能導(dǎo)致節(jié)點(diǎn)的運(yùn)動變化較為劇烈,為此,可以對此移動模型加以改進(jìn),采用步進(jìn)式的速度變化來模擬實(shí)際節(jié)點(diǎn)運(yùn)動,從而使得節(jié)點(diǎn)的運(yùn)動變得更為平滑。另外,隨機(jī)路點(diǎn)移動模型實(shí)際產(chǎn)生的節(jié)點(diǎn)分布并不均勻,網(wǎng)絡(luò)仿真區(qū)域的中心部分會出現(xiàn)節(jié)點(diǎn)的聚集,這一現(xiàn)象稱之為密度波(DensityWave)。整體移動模型就是為描述節(jié)點(diǎn)相對位置的變化規(guī)律而提出的,該模型描述的是某些節(jié)點(diǎn)作為一個整體表現(xiàn)出的移動性特征。典型的整體移動模型包括群組移動模型和社區(qū)模型等。在無線網(wǎng)絡(luò)中,經(jīng)常出現(xiàn)某些節(jié)點(diǎn)作為一個整體一起運(yùn)動的情況,登山探險隊和部隊行軍就是其中的典型例子。在這種情況下,雖然每個節(jié)點(diǎn)的運(yùn)動可能并沒有什么規(guī)律性,但是,這些節(jié)點(diǎn)作為一個整體一起運(yùn)動,它們的相對位置變化不大,這種移動模型就是群組移動模型(GroupMobilityModel)。群組移動模型是一種研究較多的整體移動模型,在此基礎(chǔ)上研究者相繼提出了參考點(diǎn)群組移動模型(ReferencePointGroupMobilityModel,RPGM)、基于Gibbs分布模擬退火的群組移動模型(GibbsSamplerbasedSimulatedAnnealingGroupMobilityModel,GGM)和多組協(xié)調(diào)移動模型(Multi-GroupCoordinationMobilityModel,MGCM)等構(gòu)建群組移動模型的算法。在實(shí)際網(wǎng)絡(luò)中,節(jié)點(diǎn)的運(yùn)動可能具有一定的傾向性,需要采用符合實(shí)際應(yīng)用場景的移動模型。例如,在大學(xué)校園內(nèi),學(xué)生上課和吃飯時分別在教室和食堂聚集,而晚上則回到各自的寢室。這樣的聚集具有一定的社會規(guī)律性,這種移動模型就是社區(qū)模型(或社會模型)。參考文獻(xiàn):[1]馬華東,袁培燕,趙東.移動機(jī)會網(wǎng)絡(luò)路由問題研究進(jìn)展[J],軟件學(xué)報,2015,26(3):600-616.[2]王朕,王新華,隋敬麒.機(jī)會網(wǎng)絡(luò)模擬器ONE及其擴(kuò)展研究[J].計算機(jī)應(yīng)用研究,2012,29(1):272-277.技術(shù)實(shí)現(xiàn)要素:發(fā)明目的:本發(fā)明針對戰(zhàn)場或應(yīng)急通信的特殊應(yīng)用場景,充分考慮DTN網(wǎng)絡(luò)的異步存儲轉(zhuǎn)發(fā)特性,設(shè)計一種高效、可靠的基于時間表的DTN路由算法,首先設(shè)計了符合戰(zhàn)場機(jī)動車隊通信業(yè)務(wù)特征的DTN節(jié)點(diǎn)移動模型,能夠完成從實(shí)際場景到具體節(jié)點(diǎn)運(yùn)動模型的抽象;然后,基于此移動模型特點(diǎn)針對現(xiàn)有DTN路由算法中存在的副本轉(zhuǎn)發(fā)數(shù)量多和投遞延遲大等問題,提出了機(jī)會預(yù)測DTN路由算法。該路由算法以DTN時變網(wǎng)絡(luò)模型為依據(jù),通過利用車輛行動計劃時間表來準(zhǔn)確預(yù)測節(jié)點(diǎn)之間的相遇機(jī)會來優(yōu)化消息轉(zhuǎn)發(fā)決策,并適當(dāng)限制了消息副本的轉(zhuǎn)發(fā)數(shù)量,從而能夠有效提高數(shù)據(jù)傳輸效率和網(wǎng)絡(luò)性能。相比于典型的DTN路由算法,基于時間表的機(jī)會預(yù)測多副本DTN路由算法可以在戰(zhàn)場特殊網(wǎng)絡(luò)環(huán)境下提高消息投遞率,降低投遞時延和控制開銷。技術(shù)方案:一種基于時間表的DTN機(jī)會預(yù)測路由方法,包括如下內(nèi)容:1.基于時間表的集結(jié)-展開移動模型設(shè)計車隊的移動行為可以采用一種所謂的“集結(jié)-展開”移動模型來描述:車輛從四面八方向集結(jié)地域集結(jié),在集結(jié)地域做小范圍運(yùn)動,等待所有車輛聚集完畢后,車輛再向目的區(qū)域出發(fā),到達(dá)新的目的區(qū)域后各車輛自行展開開始行動。在上述集結(jié)-展開模型的基礎(chǔ)上引入行動計劃表(時間表),節(jié)點(diǎn)按照計劃安排的時間、路線依次完成集結(jié)和展開等活動,并將此移動模型稱為基于時間表的集結(jié)-展開移動模型(AggregationandSpreadMobilityModel,ASMM)。時間表規(guī)定了節(jié)點(diǎn)進(jìn)行集結(jié)或展開活動的地理坐標(biāo)、活動半徑及時間信息。每個節(jié)點(diǎn)組遵循一個時間表,組內(nèi)節(jié)點(diǎn)在規(guī)定的時間段到達(dá)指定地點(diǎn),然后按照集結(jié)或展開模式在指定半徑內(nèi)獨(dú)立隨機(jī)移動,經(jīng)過一段時間(也由時間表指定)后,集體前往下一個活動地點(diǎn)。在指定的地域內(nèi)活動時,節(jié)點(diǎn)的移動是獨(dú)立隨機(jī)的,呈現(xiàn)個體性,而在指定地域之間的轉(zhuǎn)場以及活動時間的控制上,節(jié)點(diǎn)的移動呈現(xiàn)出整體性。在活動地域之間轉(zhuǎn)場時,節(jié)點(diǎn)按照地圖上的最短路徑移動;在展開地域,節(jié)點(diǎn)的移動遵循隨機(jī)路點(diǎn)模型;在集結(jié)地域,每個節(jié)點(diǎn)有一個屬于自己的位置,它通常會停留在這個位置,但也會偶爾在附近走動??偟膩碚f,基于時間表的模型是一種混合式移動模型,以時間表為線索將最短路徑、隨機(jī)路點(diǎn)和集結(jié)地域的半靜止模型有機(jī)相結(jié)合。2.DTN時變網(wǎng)絡(luò)模型在傳統(tǒng)的圖論中引入一個時間參量,可以將DTN網(wǎng)絡(luò)抽象為一張隨時間不斷演化的時空圖??紤]時間參量的DTN網(wǎng)絡(luò)拓?fù)潢P(guān)系可以表示為:G(t)=(V(t),E(t));其中,V表示網(wǎng)絡(luò)節(jié)點(diǎn),E表示節(jié)點(diǎn)關(guān)聯(lián)關(guān)系,t是時間參量。如果對于G(t1)=G(t2),則此網(wǎng)絡(luò)稱為靜態(tài)網(wǎng)絡(luò);如果對于G(t1)≠G(t2),則此網(wǎng)絡(luò)是動態(tài)網(wǎng)絡(luò)。對于給定的時變網(wǎng)絡(luò)G(t)以及時間序列T=t0,t1,…,tk,其中ti=[ti′,ti″]表示離散化的時間段。隨著時間的推進(jìn),整個網(wǎng)絡(luò)會不斷發(fā)生演化,節(jié)點(diǎn)之間的聯(lián)系也會發(fā)生變化,并產(chǎn)生一系列動態(tài)子圖:Gsub=G1,G2,…,Gk。如果這些動態(tài)子圖滿足:則稱該時變網(wǎng)絡(luò)G(t)為動態(tài)演進(jìn)網(wǎng)絡(luò),即整個網(wǎng)絡(luò)是完備且可分的。這意味著整個DTN網(wǎng)絡(luò)中節(jié)點(diǎn)之間在某些時間內(nèi)可能并不存在端到端的連接,但是隨著時間的演化推進(jìn),通過借助中間節(jié)點(diǎn)可以實(shí)現(xiàn)部分的互聯(lián)互通,最終構(gòu)造異步的端到端路徑。在動態(tài)演進(jìn)網(wǎng)絡(luò)G(t)中,隨著時間推移整個網(wǎng)絡(luò)不斷向前演變,網(wǎng)絡(luò)中節(jié)點(diǎn)之間的聯(lián)系呈現(xiàn)階段性特征。如果能夠恰當(dāng)?shù)睦霉?jié)點(diǎn)的階段性連接,通過采取存儲-攜帶-轉(zhuǎn)發(fā)或存儲-等待-轉(zhuǎn)發(fā)的方式,可以基于數(shù)據(jù)分段傳輸來實(shí)現(xiàn)數(shù)據(jù)的端到端傳輸。任意節(jié)點(diǎn)a,b之間的路徑p(a,b)可以表示為時間演進(jìn)序列:p(a,b)=((a,x1,t1),(x1,x2,t2),…,(xi,b,tk))(1)其中,xi∈V是網(wǎng)絡(luò)中的各個中間轉(zhuǎn)發(fā)節(jié)點(diǎn);ti≤ti+1表示節(jié)點(diǎn)轉(zhuǎn)發(fā)時間不斷向前演進(jìn);(xi,xi+1,ti+1)表示在時間段ti+1之內(nèi)節(jié)點(diǎn)xi與xi+1可以維持連接并能夠收發(fā)數(shù)據(jù)。3.基于時間表的相遇機(jī)會預(yù)測DTN路由算法在基于時間表的“集結(jié)-展開”移動模型場景中,節(jié)點(diǎn)之間的相遇機(jī)會可以通過時間表進(jìn)行預(yù)測。在基于時間表的移動模型場景下,基于節(jié)點(diǎn)各自與消息目的節(jié)點(diǎn)的相遇機(jī)會預(yù)測信息作為決策依據(jù),將消息發(fā)給或保留在與其目的節(jié)點(diǎn)有更大相遇機(jī)會的節(jié)點(diǎn)上,更有可能利用潛在的優(yōu)質(zhì)異步轉(zhuǎn)發(fā)路徑,提高消息的投遞率,降低投遞時延,這就是基于相遇機(jī)會預(yù)測的路由算法的基本設(shè)計思想。為了減少節(jié)點(diǎn)緩存占用,提高網(wǎng)絡(luò)性能,基于機(jī)會預(yù)測的路由算法借鑒經(jīng)典的噴射等待(SprayAndWait)路由采用的有限副本機(jī)制,進(jìn)一步減少副本消息轉(zhuǎn)發(fā)的數(shù)量,從而對路由轉(zhuǎn)發(fā)過程進(jìn)行優(yōu)化。作為對比,將這種基于機(jī)會預(yù)測的DTN路由視為一種泛型噴射路由算法(GenericSpray)。具體來說,基于機(jī)會預(yù)測的DTN路由算法的消息投遞過程主要包括以下三個階段。(1)消息生成階段當(dāng)節(jié)點(diǎn)的上層應(yīng)用產(chǎn)生一個消息交給路由層投遞時,路由層先將消息存儲在緩存中,并為它產(chǎn)生N個副本。N為系統(tǒng)配置參數(shù),如取網(wǎng)絡(luò)中節(jié)點(diǎn)總數(shù)的10%。實(shí)際上,路由層并非真實(shí)產(chǎn)生N個消息副本,而是為消息設(shè)置一個屬性來記錄其當(dāng)前副本數(shù),因此并未增加節(jié)點(diǎn)存儲要求。(2)消息副本噴射階段設(shè)節(jié)點(diǎn)A持有消息m的n個副本,且n>1。當(dāng)節(jié)點(diǎn)A與某節(jié)點(diǎn)B相遇時,如果B無消息m的副本,則A向B傳遞(噴射)x個副本,A保留剩余的(n–x)個副本。x的值由以下方法決定:設(shè)A所在節(jié)點(diǎn)組與目的節(jié)點(diǎn)D所在節(jié)點(diǎn)組最早可能相遇的時間為t_e1;相遇后交疊活動時間為t_d1;相遇時A所在節(jié)點(diǎn)組的活動面積為area_A,D所在節(jié)點(diǎn)組的活動面積為area_D,area_A和area_D的交疊面積為area1。設(shè)B所在節(jié)點(diǎn)組與目的節(jié)點(diǎn)D所在節(jié)點(diǎn)組最早可能相遇時間為t_e2,相遇后交疊活動時間為t_d2;相遇時B所在節(jié)點(diǎn)組的活動面積為area_B,D所在節(jié)點(diǎn)組的活動面積為area_D,兩者的交疊面積為area2。當(dāng)前時間設(shè)為tnow。先分別計算節(jié)點(diǎn)A、B與目的節(jié)點(diǎn)D的相遇機(jī)會權(quán)重:接下來,根據(jù)tA、tB可計算節(jié)點(diǎn)A將一個消息副本轉(zhuǎn)發(fā)節(jié)點(diǎn)B的概率p=tB/(tA+tB);最后得到服從以n,p為參數(shù)的二項式分布的隨機(jī)變量即為所求轉(zhuǎn)發(fā)副本數(shù)x。相遇機(jī)會權(quán)重是對節(jié)點(diǎn)A、B與消息目的節(jié)點(diǎn)下一次相遇機(jī)會的相對優(yōu)劣衡量,最終由兩者比值決定轉(zhuǎn)發(fā)復(fù)本數(shù)。從時間角度看,相遇時間越早、交疊活動時間越長,相遇機(jī)會越占優(yōu),越應(yīng)該持有更多消息副本。但交疊活動面積對相遇機(jī)會優(yōu)劣的影響并非如此直接,需要綜合考慮交疊面積和各組活動地域的總面積。直觀來看,以A為例,交疊面積area1與組活動地域面積area_A的比值反映了節(jié)點(diǎn)A在交疊區(qū)域內(nèi)活動的概率,值越大與目的節(jié)點(diǎn)相遇機(jī)會越大;但另一方面,由于通信半徑的限制,與目的節(jié)點(diǎn)同在交疊區(qū)域內(nèi)活動時,相遇機(jī)會又會隨交疊面積增大而降低。根據(jù)以上分析,決定將相遇機(jī)會權(quán)重計算為一個乘積,分別反映時間和交疊面積給相遇機(jī)會造成的影響。以tA為例,t_e1為絕對時間表示的最早可能相遇時間,減去tnow后表示從當(dāng)前時間算起還要過多久才有可能相遇,t_d2為交疊活動時間,因此乘積前一部分反映了相遇時間的影響;乘積后一部分等于節(jié)點(diǎn)A和目的節(jié)點(diǎn)同時在交疊地域活動的概率,除以交疊面積,反映了交疊面積對相遇機(jī)會的影響。(3)單副本趨近階段設(shè)節(jié)點(diǎn)A持有消息m的n個副本,且n=1。當(dāng)節(jié)點(diǎn)A與某節(jié)點(diǎn)B相遇時,如果B無消息m的副本且滿足以下條件,則A將自己的消息副本交給B,并從緩存中刪除該消息:節(jié)點(diǎn)A與目的節(jié)點(diǎn)D不在同一組,而節(jié)點(diǎn)B與消息目的節(jié)點(diǎn)D在同一組,或節(jié)點(diǎn)B與D的預(yù)期相遇時間早于A與D的預(yù)期相遇時間。為了優(yōu)化整體性能,進(jìn)一步采取了以下緩存管理策略:1、任何節(jié)點(diǎn),在向目的節(jié)點(diǎn)D直接遞交了消息m后,不論其持有多少個消息副本,都應(yīng)該將m從自己的緩存中清除。2、兩個節(jié)點(diǎn)進(jìn)入通信范圍時,優(yōu)先交換以對方為目的節(jié)點(diǎn)的消息,其次是噴射階段的消息,最后是單副本趨近階段的消息。3、對于同為噴射階段的兩個消息,噴射副本數(shù)目多的消息優(yōu)先傳遞。4、對于同為單副本趨近階段的兩個消息,以后與目的節(jié)點(diǎn)預(yù)期相遇時間早的消息優(yōu)先傳遞。有益效果:本發(fā)明在研究現(xiàn)有容遲容斷網(wǎng)絡(luò)路由機(jī)制的基礎(chǔ)上,針對戰(zhàn)場特殊環(huán)境設(shè)計了集結(jié)-展開節(jié)點(diǎn)移動模型和基于時間表的機(jī)會預(yù)測DTN路由算法及緩存管理策略,能夠根據(jù)節(jié)點(diǎn)活動時間表預(yù)測節(jié)點(diǎn)的物理位置和相遇機(jī)率,進(jìn)而做出優(yōu)化的信息轉(zhuǎn)發(fā)決策,使得在戰(zhàn)場環(huán)境高延時、鏈路頻繁中斷的條件下能夠保持通信暢通,提高信息傳輸?shù)目煽啃?、吞吐量并減少投遞時延,從而提高戰(zhàn)場環(huán)境下DTN通信網(wǎng)絡(luò)的生存能力。附圖說明圖1是DTN時變網(wǎng)絡(luò)模型示意圖;圖2是基于時間表的節(jié)點(diǎn)移動模型流程圖;圖3是基于時間表的集結(jié)-展開移動模型示例;圖4是基于相遇機(jī)會預(yù)測的DTN路由算法流程圖;圖5是DTN路由仿真實(shí)驗(yàn)場景;圖6是不同路由算法的消息投遞率變化情況;圖7是不同路由算法的消息投遞時延變化情況;圖8是不同路由算法的傳輸開銷變化情況。具體實(shí)施方式下面結(jié)合具體實(shí)施例,進(jìn)一步闡明本發(fā)明,應(yīng)理解這些實(shí)施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本發(fā)明的各種等價形式的修改均落于本申請所附權(quán)利要求所限定的范圍?;跁r間表的DTN機(jī)會預(yù)測路由方法,包括如下內(nèi)容:1.基于時間表的集結(jié)-展開移動模型設(shè)計考察戰(zhàn)場環(huán)境下典型的車隊行進(jìn)和展開模式,發(fā)現(xiàn)車隊的移動行為可以采用一種所謂的“集結(jié)-展開”移動模型來描述:車輛從四面八方向集結(jié)地域集結(jié),在集結(jié)地域做小范圍運(yùn)動,等待所有車輛聚集完畢后,車輛再向目的區(qū)域出發(fā),到達(dá)新的目的區(qū)域后各車輛自行展開開始行動。在上面描述的場景中,不難看出車隊中車輛節(jié)點(diǎn)的移動兼具個體性和整體性,無法用現(xiàn)有的個體或整體移動模型來描述,如隨機(jī)游走模型或群組移動模型。此外,車載節(jié)點(diǎn)在執(zhí)行任務(wù)時,通常會遵循預(yù)先制定的行動計劃:全體節(jié)點(diǎn)或各節(jié)點(diǎn)組整體上按照預(yù)先制定的計劃(包括行車路線和時間)行動,但在特定的展開或集合地點(diǎn),各節(jié)點(diǎn)的行為又是隨機(jī)、相互獨(dú)立的。為反映車隊的這種移動特點(diǎn),在上述集結(jié)-展開模型的基礎(chǔ)上引入行動計劃表(時間表),節(jié)點(diǎn)按照計劃安排的時間、路線依次完成集結(jié)和展開等活動,并將此移動模型稱為基于時間表的集結(jié)-展開移動模型(AggregationandSpreadMobilityModel,ASMM),其工作流程如圖2所示。ASMM模型中的一個重要概念是時間表。時間表規(guī)定了節(jié)點(diǎn)進(jìn)行集結(jié)或展開活動的地理坐標(biāo)、活動半徑、以及時間信息。每個節(jié)點(diǎn)組遵循一個時間表,組內(nèi)節(jié)點(diǎn)在規(guī)定的時間段到達(dá)指定地點(diǎn),然后按照集結(jié)或展開模式在指定半徑內(nèi)獨(dú)立隨機(jī)移動,經(jīng)過一段時間(也由時間表指定)后,集體前往下一個活動地點(diǎn)。在指定的地域內(nèi)活動時,節(jié)點(diǎn)的移動是獨(dú)立隨機(jī)的,呈現(xiàn)個體性,而在指定地域之間的轉(zhuǎn)場以及活動時間的控制上,節(jié)點(diǎn)的移動呈現(xiàn)出整體性。在活動地域之間轉(zhuǎn)場時,節(jié)點(diǎn)按照地圖上的最短路徑移動;在展開地域,節(jié)點(diǎn)的移動遵循隨機(jī)路點(diǎn)模型;在集結(jié)地域,每個節(jié)點(diǎn)有一個屬于自己的位置,它通常會停留在這個位置,但也會偶爾在附近走動??偟膩碚f,基于時間表的模型是一種混合式移動模型,以時間表為線索將最短路徑、隨機(jī)路點(diǎn)和集結(jié)地域的半靜止模型串聯(lián)起來。2.DTN時變網(wǎng)絡(luò)模型在傳統(tǒng)的圖論中引入一個時間參量,可以將DTN網(wǎng)絡(luò)抽象為一張隨時間不斷演化的時空圖??紤]時間參量的DTN網(wǎng)絡(luò)拓?fù)潢P(guān)系可以表示為:G(t)=(V(t),E(t));其中,V表示網(wǎng)絡(luò)節(jié)點(diǎn),E表示節(jié)點(diǎn)關(guān)聯(lián)關(guān)系,t是時間參量。如果對于G(t1)=G(t2),則此網(wǎng)絡(luò)稱為靜態(tài)網(wǎng)絡(luò);如果對于G(t1)≠G(t2),則此網(wǎng)絡(luò)是動態(tài)網(wǎng)絡(luò)。對于給定的時變網(wǎng)絡(luò)G(t)以及時間序列T=t0,t1,…,tk,其中ti=[ti′,ti″]表示離散化的時間段。隨著時間的推進(jìn),整個網(wǎng)絡(luò)會不斷發(fā)生演化,節(jié)點(diǎn)之間的聯(lián)系也會發(fā)生變化,并產(chǎn)生一系列動態(tài)子圖:Gsub=G1,G2,…,Gk。如果這些動態(tài)子圖滿足:則稱該時變網(wǎng)絡(luò)G(t)為動態(tài)演進(jìn)網(wǎng)絡(luò),即整個網(wǎng)絡(luò)是完備且可分的。這意味著整個DTN網(wǎng)絡(luò)中節(jié)點(diǎn)之間在某些時間內(nèi)可能并不存在端到端的連接,但是隨著時間的演化推進(jìn),通過借助中間節(jié)點(diǎn)可以實(shí)現(xiàn)部分的互聯(lián)互通,最終實(shí)現(xiàn)異步的端到端路徑。在動態(tài)演進(jìn)網(wǎng)絡(luò)G(t)中,隨著時間推移整個網(wǎng)絡(luò)不斷向前演變,網(wǎng)絡(luò)中節(jié)點(diǎn)之間的聯(lián)系呈現(xiàn)階段性特征。如果能夠恰當(dāng)?shù)睦霉?jié)點(diǎn)的階段性連接,通過采取存儲-攜帶-轉(zhuǎn)發(fā)或存儲-等待-轉(zhuǎn)發(fā)的方式,可以基于數(shù)據(jù)分段傳輸來實(shí)現(xiàn)數(shù)據(jù)的端到端傳輸。任意節(jié)點(diǎn)a,b之間的路徑p(a,b)可以表示為時間演進(jìn)序列:p(a,b)=((a,x1,t1),(x1,x2,t2),…,(xi,b,tk))(1)其中,xi∈V是網(wǎng)絡(luò)中的各個中間轉(zhuǎn)發(fā)節(jié)點(diǎn);ti≤ti+1表示節(jié)點(diǎn)轉(zhuǎn)發(fā)時間不斷向前演進(jìn);(xi,xi+1,ti+1)表示在時間段ti+1之內(nèi)節(jié)點(diǎn)xi與xi+1可以維持連接并能夠收發(fā)數(shù)據(jù)。以圖1為例,網(wǎng)絡(luò)中包含2個移動節(jié)點(diǎn)和6個靜止節(jié)點(diǎn),隨著時間的推進(jìn),網(wǎng)絡(luò)拓?fù)洳粩嘌葸M(jìn),該網(wǎng)絡(luò)是一個時間演進(jìn)的動態(tài)網(wǎng)絡(luò)。假定通信任務(wù)是:數(shù)據(jù)源節(jié)點(diǎn)S發(fā)送信息給目標(biāo)節(jié)點(diǎn)D,其數(shù)據(jù)傳輸過程簡單描述如下:S將數(shù)據(jù)發(fā)送給中間節(jié)點(diǎn)N0,N0在轉(zhuǎn)發(fā)給節(jié)點(diǎn)N2的同時自己保留了一份副本,然后向既定方向運(yùn)動,采取存儲-攜帶-轉(zhuǎn)發(fā)的路由方式;節(jié)點(diǎn)N0在運(yùn)動過程中遇到了節(jié)點(diǎn)N4,轉(zhuǎn)發(fā)其攜帶的數(shù)據(jù)后繼續(xù)運(yùn)動,直至運(yùn)動到目的節(jié)點(diǎn)D范圍內(nèi)。同時數(shù)據(jù)經(jīng)N4轉(zhuǎn)發(fā)后到達(dá)N5,由于N5不移動,采取存儲-等待-轉(zhuǎn)發(fā)的方式,等待與目的節(jié)點(diǎn)的相遇;目的節(jié)點(diǎn)D在移動過程中,可以同時收到N0和N5發(fā)來的信息,經(jīng)過取舍確認(rèn)后完成整個數(shù)據(jù)的收發(fā)過程。3.基于時間表的相遇機(jī)會預(yù)測DTN路由算法異步轉(zhuǎn)發(fā)路徑是DTN網(wǎng)絡(luò)中數(shù)據(jù)傳輸?shù)闹饕绞剑绻軠?zhǔn)確預(yù)測節(jié)點(diǎn)之間的相遇,就能找到并利用異步轉(zhuǎn)發(fā)路徑,提高數(shù)據(jù)的傳輸效率和網(wǎng)絡(luò)性能。在基于時間表的“集結(jié)-展開”移動模型場景中,節(jié)點(diǎn)之間的相遇機(jī)會可以通過時間表進(jìn)行預(yù)測。例如,在與圖3對應(yīng)的1給出的行動時間表中,A組節(jié)點(diǎn)和B組節(jié)點(diǎn)在10:40—12:30時間段內(nèi)有可能于各自的展開地域A2、B2相遇,因?yàn)锳2和B2在地理位置上有交疊,而10:40—12:30正是這兩組節(jié)點(diǎn)在這兩個地域各自活動時間的交集。給定兩個節(jié)點(diǎn)的行動時間表,就可以通過機(jī)會預(yù)測算法來推測未來任意時刻節(jié)點(diǎn)的最早相遇機(jī)會。DTN網(wǎng)絡(luò)體系結(jié)構(gòu)中,路由算法是一個關(guān)鍵組成部分,對網(wǎng)絡(luò)性能的影響非常大。路由算法決定了兩個節(jié)點(diǎn)相互進(jìn)入通信范圍時,交換哪些消息,按照什么次序交換。在基于時間表的移動模型場景下,兩個節(jié)點(diǎn)各自與消息目的節(jié)點(diǎn)的相遇機(jī)會預(yù)測信息可以用來作為決策依據(jù),將消息發(fā)給或保留在與其目的節(jié)點(diǎn)有較早相遇機(jī)會的節(jié)點(diǎn)上,更有可能利用潛在的優(yōu)質(zhì)異步轉(zhuǎn)發(fā)路徑,提高消息的投遞率,降低投遞時延,這就是基于相遇機(jī)會預(yù)測的路由算法的基本設(shè)計思想。為了減少節(jié)點(diǎn)緩存占用,提高網(wǎng)絡(luò)性能,基于機(jī)會預(yù)測的路由算法借鑒經(jīng)典的噴射等待(SprayAndWait)路由[2]采用的有限副本機(jī)制,進(jìn)一步減少副本消息轉(zhuǎn)發(fā)的數(shù)量,從而對路由轉(zhuǎn)發(fā)過程進(jìn)行優(yōu)化。作為對比,將這種基于機(jī)會預(yù)測的路由視為一種泛型噴射路由算法(GenericSpray)。具體來說,基于機(jī)會預(yù)測的DTN路由算法的消息投遞過程主要包括以下三個階段。(1)消息生成階段當(dāng)節(jié)點(diǎn)的上層應(yīng)用產(chǎn)生一個消息交給路由層投遞時,路由層先將消息存儲在緩存中,并為它產(chǎn)生N個副本。N為系統(tǒng)配置參數(shù),通常取網(wǎng)絡(luò)中節(jié)點(diǎn)總數(shù)的10%。實(shí)際上,路由層并非真實(shí)產(chǎn)生N個消息副本,而是為消息設(shè)置一個屬性來記錄其當(dāng)前副本數(shù),因此算法并未提高節(jié)點(diǎn)的存儲要求。(2)消息副本噴射階段設(shè)節(jié)點(diǎn)A持有消息m的n個副本,且n>1。當(dāng)節(jié)點(diǎn)A與某節(jié)點(diǎn)B相遇時,如果B無消息m的副本,則A向B傳遞(噴射)x個副本,A保留剩余的(n–x)個副本。x的值由以下方法決定:設(shè)A所在節(jié)點(diǎn)組與目的節(jié)點(diǎn)D所在節(jié)點(diǎn)組最早可能相遇的時間為t_e1;相遇后交疊活動時間為t_d1;相遇時A所在節(jié)點(diǎn)組的活動面積為area_A,D所在節(jié)點(diǎn)組的活動面積為area_D,area_A和area_D的交疊面積為area1。設(shè)B所在節(jié)點(diǎn)組與目的節(jié)點(diǎn)D所在節(jié)點(diǎn)組最早可能相遇時間為t_e2,相遇后交疊活動時間為t_d2;相遇時B所在節(jié)點(diǎn)組的活動面積為area_B,D所在節(jié)點(diǎn)組的活動面積為area_D,兩者的交疊面積為area2。當(dāng)前時間設(shè)為tnow。先分別計算節(jié)點(diǎn)A、B與目的節(jié)點(diǎn)D的相遇機(jī)會權(quán)重:接下來,根據(jù)tA、tB可計算節(jié)點(diǎn)A將一個消息副本轉(zhuǎn)發(fā)節(jié)點(diǎn)B的概率p=tB/(tA+tB);最后得到服從以n,p為參數(shù)的二項式分布的隨機(jī)變量即為所求轉(zhuǎn)發(fā)副本數(shù)x。相遇機(jī)會權(quán)重是對節(jié)點(diǎn)A、B與消息目的節(jié)點(diǎn)下一次相遇機(jī)會的相對優(yōu)劣衡量,最終由兩者比值決定轉(zhuǎn)發(fā)復(fù)本數(shù)。從時間角度看,相遇時間越早、交疊活動時間越長,相遇機(jī)會越占優(yōu),越應(yīng)該持有更多消息副本。但交疊活動面積對相遇機(jī)會優(yōu)劣的影響并非如此直接,需要綜合考慮交疊面積和各組活動地域的總面積。直觀來看,以A為例,交疊面積area1與組活動地域面積area_A的比值反映了節(jié)點(diǎn)A在交疊區(qū)域內(nèi)活動的概率,值越大與目的節(jié)點(diǎn)相遇機(jī)會越大;但另一方面,由于通信半徑的限制,與目的節(jié)點(diǎn)同在交疊區(qū)域內(nèi)活動時,相遇機(jī)會又會隨交疊面積增大而降低。根據(jù)以上分析,我們決定將相遇機(jī)會權(quán)重計算為一個乘積,分別反映時間和交疊面積給相遇機(jī)會造成的影響。以tA為例,t_e1為以絕對時間表示的最早可能相遇時間,減去tnow后表示從當(dāng)前時間算起還要過多久才有可能相遇,t_d2為交疊活動時間,因此乘積前一部分反映了相遇時間的影響;乘積后一部分等于節(jié)點(diǎn)A和目的節(jié)點(diǎn)同時在交疊地域活動的概率,除以交疊面積,反映了交疊面積對相遇機(jī)會的影響。(3)單副本趨近階段設(shè)節(jié)點(diǎn)A持有消息m的n個副本,且n=1。當(dāng)節(jié)點(diǎn)A與某節(jié)點(diǎn)B相遇時,如果B無消息m的副本且滿足以下條件,則A將自己的消息副本交給B,并從緩存中刪除該消息:節(jié)點(diǎn)A與目的節(jié)點(diǎn)D不在同一組,而節(jié)點(diǎn)B與消息目的節(jié)點(diǎn)D在同一組,或節(jié)點(diǎn)B與D的預(yù)期相遇時間早于A與D的預(yù)期相遇時間。為了優(yōu)化整體性能,進(jìn)一步采取了以下緩存管理策略:1、任何節(jié)點(diǎn),在向目的節(jié)點(diǎn)D直接遞交了消息m后,不論其持有多少個消息副本,都應(yīng)該將m從自己的緩存中清除。2、兩個節(jié)點(diǎn)進(jìn)入通信范圍時,優(yōu)先交換以對方為目的節(jié)點(diǎn)的消息,其次是噴射階段的消息,最后是單副本趨近階段的消息。3、對于同為噴射階段的兩個消息,噴射副本數(shù)目多的消息優(yōu)先傳遞。4、對于同為單副本趨近階段的兩個消息,以后與目的節(jié)點(diǎn)預(yù)期相遇時間早的消息優(yōu)先傳遞。為了描述移動模型和路由算法的具體實(shí)施方案,下面以附圖來說明:1、集結(jié)-展開移動模型圖2給出了基于時間表的集結(jié)-展開移動模型的運(yùn)轉(zhuǎn)流程圖,圖3給出了一個基于時間表的集結(jié)-展開移動模型的具體示例,其中A和B是兩個節(jié)點(diǎn)組,A1、A2和A3以及B1、B2和B3分別是節(jié)點(diǎn)組A和節(jié)點(diǎn)組B在三個時間段內(nèi)的活動區(qū)域,與之對應(yīng)的時間表如表1所示。表1與圖3中移動場景對應(yīng)的時間表組別坐標(biāo)半徑到達(dá)時間離開時間活動類別AA1rA19:0010:00集結(jié)AA2rA210:4015:00展開AA3rA315:2016:00集結(jié)BB1rB18:008:30集結(jié)BB2rB210:0012:30展開BB3rB313:0014:00集結(jié)2、相遇機(jī)會預(yù)測DTN路由算法在上述集結(jié)-展開移動模型中,節(jié)點(diǎn)間的相遇機(jī)會可以通過時間表進(jìn)行預(yù)測。給定兩個節(jié)點(diǎn)組的行動時間表,可以通過下面的機(jī)會預(yù)測算法推測兩個節(jié)點(diǎn)組的最早相遇機(jī)會。算法輸入:時間表s1和s2,當(dāng)前時間tnow,最大搜索時間長度tmax;算法輸出:最早可能相遇時間te,交疊活動地域面積a,交疊活動時間td。(或搜索時間超限,報錯)。步驟1:初始化,定位當(dāng)前或即將到達(dá)的活動地域?;跁r間表s1和s2找出當(dāng)前時刻tnow兩個節(jié)點(diǎn)組A和B正在活動的地域D1和D2,如果某組節(jié)點(diǎn)在轉(zhuǎn)場途中,則找出其即將到達(dá)的下一活動地域。根據(jù)時間表計算出兩組節(jié)點(diǎn)到達(dá)和離開此活動地域的時間,分別記作ts_A(A組節(jié)點(diǎn)到達(dá)地域D1時間)、tl_A(A組節(jié)點(diǎn)離開地域D1時間)、ts_B(B組節(jié)點(diǎn)到達(dá)地域D2時間)、tl_B(B組節(jié)點(diǎn)離開地域D2時間)。如果ts_A<tnow,則ts_A=tnow,同理若ts_B<tnow,則ts_B=tnow;步驟2:根據(jù)D1、D2中心坐標(biāo)和半徑計算兩者的交疊面積a。如果a>0,轉(zhuǎn)步驟3;否則判斷:如果tl_A≤tl_B,轉(zhuǎn)步驟4;否則,轉(zhuǎn)步驟5;步驟3:判斷有無交疊活動時間。如果tl_A≤ts_B,轉(zhuǎn)步驟4;否則如果tl_B≤ts_A,轉(zhuǎn)步驟5;否則,令te=Max(ts_A,ts_B),td=Min(tl_A,tl_B)-te。算法結(jié)束,返回交疊面積a,最早可能相遇時間te,交疊活動時間td;步驟4:根據(jù)時間表s1找出A組節(jié)點(diǎn)下一個到達(dá)的活動地域D1’,計算到達(dá)D1’時間ts_A’和離開D1’時間tl_A’。如果tnow+tmax≤ts_A’,返回搜索失敗消息。否則,返回步驟2;步驟5:根據(jù)時間表s2找出B組節(jié)點(diǎn)下一個到達(dá)的活動地域D2’,計算到達(dá)D2’時間ts_B’和離開D2’時間tl_B’。如果tnow+tmax≤ts_B’,返回搜索失敗消息。否則,返回步驟2。依照設(shè)計方案的描述,圖4給出了相遇機(jī)會預(yù)測的路由算法的運(yùn)轉(zhuǎn)流程圖。為了評價設(shè)計的路由算法的性能,在ONE仿真平臺上實(shí)現(xiàn)了基于相遇機(jī)會預(yù)測的路由算法,并與其它典型的DTN路由算法進(jìn)行性能比較,從而為算法的改進(jìn)和優(yōu)化提供參考。ONE是公認(rèn)的一種基于離散事件的DTN模擬平臺,由芬蘭的諾基亞研究中心開發(fā)。為了比較不同DTN路由算法的性能,采用了一些常用的評價指標(biāo),包括遞交成功率、消息遞交時延和傳輸開銷等。如圖5所示,仿真實(shí)驗(yàn)場景設(shè)置了A、B兩個行動小組,每組50個節(jié)點(diǎn)。初始時,各組節(jié)點(diǎn)在各自的集合地點(diǎn)集結(jié),集結(jié)地域半徑100米,兩組節(jié)點(diǎn)的集結(jié)地域不相交;接下來,各組節(jié)點(diǎn)進(jìn)入展開地域作業(yè),展開地域半徑200米,有部分交疊;集結(jié)時間是10分鐘,展開作業(yè)時間90分鐘,兩種活動交替執(zhí)行,仿真時長3小時。整個過程中,A組節(jié)點(diǎn)以固定速率向B組節(jié)點(diǎn)發(fā)送消息,消息大小為500KB-1MB,期限為1小時。消息產(chǎn)生速率為12個/分鐘,消息的源節(jié)點(diǎn)和目的節(jié)點(diǎn)均隨機(jī)設(shè)置,節(jié)點(diǎn)緩存容量20MB?;谏鲜龇抡鎴鼍埃{(diào)節(jié)兩組節(jié)點(diǎn)展開地域中心點(diǎn)的距離,使兩組節(jié)點(diǎn)共同活動地域的面積由小到大變化,其他參數(shù)保持不變,觀察這一過程中路由算法的性能變化情況。選擇Epidemic、Prophet和SprayAndWait三種經(jīng)典的DTN路由算法作為參照,與本發(fā)明設(shè)計的機(jī)會預(yù)測路由算法(稱之為GenericSpray)進(jìn)行性能比較,仿真結(jié)果如圖6-圖8所示。從仿真結(jié)果看出,相比Epidemic和Prophet,SprayAndWait和GenericSpray的性能要好很多,后者的投遞率都超過前者的兩倍,時延也要低于前者,而傳輸開銷相比則可忽略不計。Epidemic和Prophet算法的低效源于它們的副本洪泛策略,網(wǎng)絡(luò)中充斥了太多消息副本,既占用緩存,又消耗帶寬。雖然Prophet通過估算節(jié)點(diǎn)相遇機(jī)會對副本的復(fù)制進(jìn)行限制,但效果有限。究其原因,Prophet把節(jié)點(diǎn)的運(yùn)動看作是獨(dú)立的個體運(yùn)動,并沒有利用群組移動規(guī)律的信息。再看GenericSpray和SprayAndWait,多數(shù)情況下兩者性能接近,GenericSpray在中心距離較大時性能略好些。由于后兩種路由算法均控制了副本數(shù)量,取得了較好的性能。此外,在其它場景下對四種路由協(xié)議的性能進(jìn)行了仿真比較,包括不同的集結(jié)時間、不同的緩存大小和不同的初始副本數(shù)量,仿真結(jié)果均表明GenericSpray算法在投遞率、投遞時延和傳輸開銷這三個指標(biāo)上均具有較好的性能。當(dāng)前第1頁1 2 3