本發(fā)明涉及一種容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法,屬于移動對等網(wǎng)中路由技術(shù)領域。
背景技術(shù):
移動延遲容忍網(wǎng)絡(MDTN)由一組移動設備組成,例如手機或傳感器單元,它們可以可以通過無線協(xié)議在小范圍內(nèi)進行通信(例如藍牙)。隨著各種便攜式設備的迅速普及,市場上的平板電腦、智能手機、車載感知設備等終端集成了多種類型的傳感器,感知、計算和通信的能力越來越強。利用這些便攜式設備組成的移動感知網(wǎng)絡,可以隨時隨地對人類經(jīng)?;顒拥臒狳c區(qū)域進行機會感知。這種以人為中心的感知方式,對有意識主動部署傳感網(wǎng)進行數(shù)據(jù)收集方式構(gòu)成了重要的互補。與此同時,網(wǎng)絡拓撲時變性節(jié)點資源受限性等特點,也使得傳統(tǒng)的無線傳感網(wǎng)絡或移動自組織網(wǎng)絡通信模式難以有效運行。在移動機會網(wǎng)絡中,網(wǎng)絡拓撲有可能被分割成幾個不連通的子區(qū)域,發(fā)送端和接收端有可能位于不同的子區(qū)域而導致常規(guī)的CTP等路由算法無法正常工作。實際上,節(jié)點對之間不存在端到端連通的路徑并不意味著不能實現(xiàn)通信,由于節(jié)點的移動,兩個節(jié)點可以在進入相互的通信范圍后完成數(shù)據(jù)交換。因此機會路由的模式由傳統(tǒng)路由的存儲-轉(zhuǎn)發(fā)(store and forward)模式擴展為存儲-攜帶-轉(zhuǎn)發(fā)(store-carry-forward)。
噴射等待協(xié)議(Spray and Wait,S&W),是由T.Spyropoulos,K.Psounis和C.S.Raghavendra等人在2005年提出,是一種基于泛洪路由(Epidemic)的改進路由。其內(nèi)容為:源節(jié)點預先拷貝成M份數(shù)據(jù),當與其他未攜帶消息副本的節(jié)點相遇時按一定消息副本分配比例來分配這M份數(shù)據(jù)。直到節(jié)點只有1份消息時執(zhí)行直接交付(即攜帶報文的節(jié)點只有遇到目的節(jié)點時才進行轉(zhuǎn)發(fā))。例如,二分噴射等待協(xié)議(Binary S&W)是一個節(jié)點將自己所攜帶副本數(shù)的一半分配給相遇到的節(jié)點。但是其實這樣的協(xié)議協(xié)議從消息復制的角度來看是不靈活的。研究者Thompson等人提出針對DTN網(wǎng)絡中擁塞控制的一種機制,該機制可以通過網(wǎng)絡中消息副本的數(shù)量和每個節(jié)點的緩存能力來調(diào)整每個節(jié)點的消息拷貝速率。
多階段噴射等待協(xié)議(Multiperiod spraying)是研究者Zijian Wang和Boleslaw Karol Szymanski在2010年提出的,這是一種在Spray and Wait協(xié)議基礎上基于消息剩余生命周期大小做出副本拷貝決策的的路由算法。該算法的思想是:整體還是使用Spray And Wait算法,但是一開始投放比達到額定投遞率所需的副本數(shù)少的副本數(shù),經(jīng)過一段時間觀察后,給仍未進行投遞的消息增加副本數(shù)以此來增加投遞率。所以這個算法會將消息的整個生命周期分割成幾段可變的時間段。經(jīng)過實驗仿真表明整個算法在能夠和Spray And Wait算法達到相同的投遞率情況下,整體開銷能夠減少。所以多階段噴射等待協(xié)議不僅能夠達到較高的投遞率,還能減少消息在網(wǎng)絡內(nèi)的傳遞開銷。但是該協(xié)議里消息副本數(shù)的確定方法的算法復雜度較高,影響實驗的運行效率。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法,能夠解決二階段容遲網(wǎng)噴射等待路由協(xié)議里副本分配算法復雜度較高的問題,并且可以大幅度減少計算步驟,從而降低算法的復雜度,提高實驗的效率,同時能夠減少消息副本的傳遞開銷。
本發(fā)明為了解決上述技術(shù)問題采用以下技術(shù)方案:本發(fā)明設計了一種容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法,用于實現(xiàn)容遲網(wǎng)中路由協(xié)議消息的轉(zhuǎn)發(fā),包括如下步驟:
步驟001.源節(jié)點根據(jù)目標消息的生存周期T,獲得目標消息對應第一發(fā)送階段的最大副本數(shù)L1,并進一步獲得目標消息對應的第一發(fā)送階段時長Td,然后開始計時,并進入步驟002;
步驟002.源節(jié)點生成并轉(zhuǎn)發(fā)目標消息副本,同時,判斷源節(jié)點是否接收到來自目的節(jié)點所轉(zhuǎn)發(fā)確認接收到目標消息副本的反饋消息,是則目標消息轉(zhuǎn)發(fā)成功結(jié)束;否則進入步驟003;
步驟003.判斷計時是否達到第一發(fā)送階段時長Td,是則進入步驟005;否則進入步驟004;
步驟004.判斷源節(jié)點已經(jīng)生成并轉(zhuǎn)發(fā)的目標消息副本數(shù)是否等于L1,是則待計時達到第一發(fā)送階段時長Td時,進入步驟005;否則返回步驟002;
步驟005.源節(jié)點根據(jù)目標消息對應第一發(fā)送階段的最大副本數(shù)L1,獲得目標消息對應其剩余時長(T-Td)的增量副本數(shù)ΔL,并進入步驟006;
步驟006.源節(jié)點生成并轉(zhuǎn)發(fā)目標消息副本,同時,判斷源節(jié)點是否接收到來自目的節(jié)點所轉(zhuǎn)發(fā)確認接收到目標消息副本的反饋消息,是則目標消息轉(zhuǎn)發(fā)成功結(jié)束;否則進入步驟007;
步驟007.判斷計時是否達到目標消息的生存周期T,是則目標消息轉(zhuǎn)發(fā)失敗結(jié)束;否則進入步驟008;
步驟008.判斷源節(jié)點已經(jīng)生成并轉(zhuǎn)發(fā)的目標消息副本數(shù)是否等于(L1+ΔL),是則返回步驟007;否則返回步驟006。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟001中,源節(jié)點根據(jù)目標消息的生存周期T,按如下公式:
獲得目標消息對應第一發(fā)送階段的最大副本數(shù)L1,其中,P表示用戶期望的目標消息轉(zhuǎn)發(fā)投遞率,λ表示容遲網(wǎng)中節(jié)點與節(jié)點之間的平均接觸率。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟001中,源節(jié)點根據(jù)目標消息的生存周期T和目標消息對應第一發(fā)送階段的最大副本數(shù)L1,按如下公式:
獲得目標消息對應的第一發(fā)送階段時長Td,其中,P表示用戶期望的目標消息轉(zhuǎn)發(fā)投遞率,λ表示容遲網(wǎng)中節(jié)點與節(jié)點之間的平均接觸率。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟005中,源節(jié)點根據(jù)目標消息對應第一發(fā)送階段的最大副本數(shù)L1,按如下公式:
ΔL=L2-L1
獲得目標消息對應其剩余時長(T-Td)的增量副本數(shù)ΔL。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述用戶期望的目標消息轉(zhuǎn)發(fā)投遞率P大于90%。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟002中和所述步驟006中,源節(jié)點分別按照按噴射等待協(xié)議,生成并轉(zhuǎn)發(fā)目標消息副本,以及完成后續(xù)操作。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟002中和所述步驟006中,源節(jié)點分別按二分噴射等待協(xié)議,生成并轉(zhuǎn)發(fā)目標消息副本,以及完成后續(xù)操作。
作為本發(fā)明的一種優(yōu)選技術(shù)方案,所述步驟002和所述步驟006中,所述目的節(jié)點采用泛洪路由協(xié)議轉(zhuǎn)發(fā)確認接收到目標消息副本的反饋消息。
本發(fā)明所述一種容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,具有以下技術(shù)效果:本發(fā)明設計的容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法,克服了現(xiàn)有技術(shù)的不足,依據(jù)經(jīng)驗擬合方法,能夠解決二階段容遲網(wǎng)噴射等待路由協(xié)議里副本分配算法復雜度較高的問題,并且可以大幅度減少計算步驟,從而降低算法的復雜度,提高實驗的效率,并且基于該經(jīng)驗公式的兩階段噴射等待路由協(xié)議接近理論最優(yōu),能使消息的傳遞開銷顯著減少,同時能保持較高的投遞率。
附圖說明
圖1是本發(fā)明所設計容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法的流程示意圖。
具體實施方式
下面結(jié)合說明書附圖對本發(fā)明的具體實施方式作進一步詳細的說明。
如圖1所示,本發(fā)明設計了一種容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法,用于實現(xiàn)容遲網(wǎng)中路由協(xié)議消息的轉(zhuǎn)發(fā),在實際應用過程當中,具體包括如下步驟:
步驟001.源節(jié)點根據(jù)目標消息的生存周期T,按如下公式:
獲得目標消息對應第一發(fā)送階段的最大副本數(shù)L1,其中,P表示用戶期望的目標消息轉(zhuǎn)發(fā)投遞率,實際應用中,用戶期望的目標消息轉(zhuǎn)發(fā)投遞率P大于90%,λ表示容遲網(wǎng)中節(jié)點與節(jié)點之間的平均接觸率,并且源節(jié)點根據(jù)目標消息的生存周期T和目標消息對應第一發(fā)送階段的最大副本數(shù)L1,按如下公式:
獲得目標消息對應的第一發(fā)送階段時長Td,其中,然后開始計時,并進入步驟002。
步驟002.源節(jié)點生成并轉(zhuǎn)發(fā)目標消息副本,同時,判斷源節(jié)點是否接收到來自目的節(jié)點所轉(zhuǎn)發(fā)確認接收到目標消息副本的反饋消息,是則目標消息轉(zhuǎn)發(fā)成功結(jié)束;否則進入步驟003。
步驟003.判斷計時是否達到第一發(fā)送階段時長Td,是則進入步驟005;否則進入步驟004。
步驟004.判斷源節(jié)點已經(jīng)生成并轉(zhuǎn)發(fā)的目標消息副本數(shù)是否等于L1,是則待計時達到第一發(fā)送階段時長Td時,進入步驟005;否則返回步驟002。
步驟005.源節(jié)點根據(jù)目標消息對應第一發(fā)送階段的最大副本數(shù)L1,按如下公式:
ΔL=L2-L1
獲得目標消息對應其剩余時長(T-Td)的增量副本數(shù)ΔL,并進入步驟006。
步驟006.源節(jié)點生成并轉(zhuǎn)發(fā)目標消息副本,同時,判斷源節(jié)點是否接收到來自目的節(jié)點所轉(zhuǎn)發(fā)確認接收到目標消息副本的反饋消息,是則目標消息轉(zhuǎn)發(fā)成功結(jié)束;否則進入步驟007。
步驟007.判斷計時是否達到目標消息的生存周期T,是則目標消息轉(zhuǎn)發(fā)失敗結(jié)束;否則進入步驟008。
步驟008.判斷源節(jié)點已經(jīng)生成并轉(zhuǎn)發(fā)的目標消息副本數(shù)是否等于(L1+ΔL),是則返回步驟007;否則返回步驟006。
對于上述所設計容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法技術(shù)方案中,我們進一步設計步驟002中和步驟006中,源節(jié)點分別按照按噴射等待協(xié)議或二分噴射等待協(xié)議,生成并轉(zhuǎn)發(fā)目標消息副本,以及完成后續(xù)操作;并且所述目的節(jié)點采用泛洪路由協(xié)議轉(zhuǎn)發(fā)確認接收到目標消息副本的反饋消息。
如此,本發(fā)明所設計容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法,在實際應用過程當中,當攜帶消息副本節(jié)點會按照二分噴射等待協(xié)議進行消息轉(zhuǎn)發(fā),當任何攜帶該消息的節(jié)點達到目的節(jié)點,目的節(jié)點都會產(chǎn)生一個該消息的反饋消息,并且這個反饋消息會按照泛洪路由協(xié)議進行消息轉(zhuǎn)發(fā)。只有當源節(jié)點收到該消息的反饋消息,消息轉(zhuǎn)發(fā)才結(jié)束。源節(jié)點如果在Td時間沒有收到這個反饋確認消息,則會在現(xiàn)有副本數(shù)的基礎上增加ΔL個,然后繼續(xù)進行消息轉(zhuǎn)發(fā),直到源節(jié)點收到該消息的反饋確認消息才結(jié)束消息的轉(zhuǎn)發(fā)。這種根據(jù)經(jīng)驗公式快速計算關(guān)鍵變量值L1、ΔL的方法,不僅能夠減少副本的傳遞開銷,而且算法的復雜度也降低,效率提高。
進一步地,在被分配了消息副本的節(jié)點按已有的噴射等待協(xié)議進行消息轉(zhuǎn)發(fā)時,優(yōu)選按照二分噴射等待協(xié)議進行消息轉(zhuǎn)發(fā),即被分配了消息副本的節(jié)點與其他未攜帶消息副本的節(jié)點相遇時,將其所攜帶消息副本數(shù)的一半分配給未攜帶消息副本的節(jié)點,也可以按照源節(jié)點噴射等待協(xié)議進行消息轉(zhuǎn)發(fā),除此之外,本發(fā)明設計方案中對于消息的轉(zhuǎn)發(fā),不限于該兩種轉(zhuǎn)發(fā)方式。
為了驗證本發(fā)明所設計容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法能夠有效實現(xiàn)減少副本開銷,特列舉一實施例進行說明。
本實施例中,假設網(wǎng)絡中有10個節(jié)點,節(jié)點編號為n1到n10。容遲網(wǎng)中節(jié)點與節(jié)點之間的平均接觸率λ=1×10-4,設節(jié)點n1為源節(jié)點、節(jié)點n10為目的節(jié)點,用戶期望的目標消息轉(zhuǎn)發(fā)投遞率P=95%,目標消息的生存周期T=6000s。則投遞率達到95%時,第一階段分配給該消息的副本數(shù)L1:
第一階段的時長Td:
其中,
然后,節(jié)點n1按已有的二分噴射等待協(xié)議將所攜帶消息4個副本進行消息轉(zhuǎn)發(fā),當時間為1000s時,節(jié)點n1與任意未攜帶消息副本的節(jié)點n2相遇時,由于n2節(jié)點不是目的節(jié)點,則節(jié)點n1可以按照所攜帶消息副本數(shù)的一半分配給未n2,此時n1節(jié)點剩余消息副本數(shù)為2,節(jié)點n2將攜帶2個消息副本。節(jié)點n1和n2都按已有的二分噴射等待協(xié)議繼續(xù)消息轉(zhuǎn)發(fā)。
當時間為2000s時,節(jié)點n2與節(jié)點n10相遇,由于n10是目的節(jié)點,則節(jié)點直接將消息副本傳遞到n10。n10接收該消息同時產(chǎn)生一個該消息的反饋確認消息,并且該反饋確認消息按照泛洪路由協(xié)議進行消息轉(zhuǎn)發(fā)。
當時間為3000s時,由于反饋確認消息還未投遞到源節(jié)點n1,節(jié)點n1計算第二階段增加的副本數(shù)ΔL:
ΔL=L2-L1=6-4=2
同時源節(jié)點n1消息副本數(shù)增加2個,此時節(jié)點n1含有的副本數(shù)為3。節(jié)點n1會繼續(xù)按已有的二分噴射等待協(xié)議將所攜帶消息3個副本進行消息轉(zhuǎn)發(fā)。
當時間為4000s時,,攜帶反饋確認消息的節(jié)點與節(jié)點n1相遇,消息轉(zhuǎn)發(fā)結(jié)束。
如上述,可以證明本發(fā)明所設計容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法,基于經(jīng)驗擬合的兩階段噴射等待路由協(xié)議消息轉(zhuǎn)發(fā)的改進方法,通過加入經(jīng)驗公式快速的計算出算法里每個階段所要分配的副本數(shù),使得算法的復雜度降低一個數(shù)量級,提高了實驗的運行效率。該方法算出的副本數(shù)值運用在兩階段噴射等待路由協(xié)議里,與理論最優(yōu)非常接近,不僅減少了副本的傳遞開銷,還可以獲得較高的投遞率。
綜上所述,本發(fā)明所設計容遲網(wǎng)中基于經(jīng)驗擬合的路由協(xié)議消息轉(zhuǎn)發(fā)方法,克服了現(xiàn)有技術(shù)的不足,依據(jù)經(jīng)驗擬合方法,能夠解決二階段容遲網(wǎng)噴射等待路由協(xié)議里副本分配算法復雜度較高的問題,并且可以大幅度減少計算步驟,從而降低算法的復雜度,提高實驗的效率,并且基于該經(jīng)驗公式的兩階段噴射等待路由協(xié)議接近理論最優(yōu),能使消息的傳遞開銷顯著減少,同時能保持較高的投遞率。
上面結(jié)合附圖對本發(fā)明的實施方式作了詳細說明,但是本發(fā)明并不限于上述實施方式,在本領域普通技術(shù)人員所具備的知識范圍內(nèi),還可以在不脫離本發(fā)明宗旨的前提下做出各種變化。