一種預測式低延時地理路由方法
【專利摘要】本發(fā)明提出一種預測式低延時地理路由方法。該方法主要用來解決現(xiàn)有地理路由延時和網絡能耗不平衡問題,并提高繞行路由空洞效率?;静襟E為:1)設定協(xié)議包和鄰居表,每個節(jié)點以為周期廣播一跳協(xié)議包;2)每個節(jié)點以為周期對鄰居表進行局部更新;3)判斷節(jié)點需處理接收過程還是轉發(fā)過程,對應執(zhí)行步驟4)或步驟5);4)首先判斷包的類型,若該包是協(xié)議包,則對鄰居表中進行全面更新,否則往節(jié)點的上層傳包;5)節(jié)點對數(shù)據(jù)包進行貪婪轉發(fā),若轉發(fā)遭遇空洞出現(xiàn)局部極值,則利用切線角度擴展搜索法選取錨節(jié)點繼續(xù)貪婪轉發(fā)。
【專利說明】一種預測式低延時地理路由方法
【技術領域】
[0001] 本發(fā)明是一種預測式低延時地理路由協(xié)議方法,屬于無線傳感器網絡中地理路由 領域。
【背景技術】
[0002] 無線Ad Hoc網絡是一類無固定基礎設施的無線局域網,是一類由一些處于平等狀 態(tài)的移動節(jié)點相互通信組成的臨時網絡。Ad Hoc網絡組成簡單快捷,廣泛應用于搶險救災、 高危工業(yè)、醫(yī)療急救、軍事領域、環(huán)境監(jiān)測等一些臨時的重大活動中。雖然Ad Hoc網絡相對 方便,但網絡中的每個節(jié)點(網絡中移動站簡化為節(jié)點)都要參與到其他節(jié)點的路由發(fā)現(xiàn)與 維護,并且由于網絡拓撲頻繁迅速變化,導致一些固定的網絡路由協(xié)議并不適用于Ad Hoc 網絡。隨著定位技術的發(fā)展,處于網絡中的節(jié)點可以獲取自身、鄰居節(jié)點與目的節(jié)點的地理 位置信息,從而出現(xiàn)了基于地理位置的路由算法。自從美國哈佛大學的Karp等人在2000年 ACM MobiCom 會議提出了地理路由 GPSR (Greedy Perimeter Stateless Routing)以來, 地理路由研究受到國內外的高度重視。地理路由具有擴展性強、自適應性高和收斂速度快 等優(yōu)點,與基于網絡拓撲的路由協(xié)議相比,地理路由不需要建立和維護整個網絡的路由表。 每個節(jié)點周期的向鄰居節(jié)點發(fā)送Hello包(或Beacon包),并且接收鄰居節(jié)點發(fā)送的Hello 包,同時節(jié)點用一張鄰居表來記錄鄰居節(jié)點的位置信息。從源節(jié)點到目的節(jié)點的整個數(shù)據(jù) 傳輸在總體上可概括為兩個主要步驟:首先獲取目的節(jié)點地理位置,然后選擇下一跳轉發(fā) 數(shù)據(jù)包。其中,前者由"位置服務"來獲取目的節(jié)點位置,后者通過中間節(jié)點接力轉發(fā)來實 現(xiàn)。
[0003] Greedy路由是最常用的路由協(xié)議之一,貪婪轉發(fā)模式選擇的標準有距離、跳數(shù)、能 耗等單一因素,以及多種因素的綜合,貪婪轉發(fā)原理簡單,計算復雜度低。節(jié)點在選擇下一 跳時,根據(jù)既定標準選擇最優(yōu)鄰居節(jié)點進行轉發(fā)(例如以距離為標準時,轉發(fā)節(jié)點可選擇距 離目的節(jié)點最近的一跳鄰居節(jié)點作為下一跳),常見的貪婪轉發(fā)機制有MFR、NFP、GRS、CR和 RPF等。目前有研究提出結合擁塞和距離進行貪婪決策的方法,但該方法中節(jié)點在通告擁塞 層次時需要時刻發(fā)送Hello包,導致大量的信息滯后和更多的能量消耗,這個問題在重載 網絡中更為突出。局部極值(路由空洞)是貪婪轉發(fā)中不可避免的一個問題,解決路由空洞 問題的主要方法是:借助某種非貪婪機制跳出局部最優(yōu),例如平面圖避洞中的周邊路由模 式、洪泛避洞、啟發(fā)式避洞等。其中周邊轉發(fā)利用右手準則繞洞會延長整個路徑長度,產生 額外的能耗。洪泛避洞雖然能確保繞行空洞成功,但是能耗較大,浪費網絡資源。啟發(fā)式避 洞算法通過利用網絡拓撲信息和空洞位置繞行空洞,但是并不能夠確保成功轉發(fā)數(shù)據(jù)包。
[0004] 本發(fā)明提出一種預測式低延時地理路由協(xié)議方法,解決了延時能耗和通信路徑拉 長的問題。第一,針對節(jié)點頻繁地發(fā)送Hello包通告信息而造成端到端延時和能耗增大的 問題,本方法通過節(jié)點的隊列長度、發(fā)送速率和接收速率來計算最大發(fā)送時延,綜合考慮節(jié) 點距離和延時參數(shù),在轉發(fā)數(shù)據(jù)時選取預測時延和距離最優(yōu)的下一跳節(jié)點。第二,針對貪婪 轉發(fā)中出現(xiàn)局部極值而導致轉發(fā)路徑拉長的問題,本發(fā)明提出切線角度擴展搜索法確定包 的錨節(jié)點,繼續(xù)利用貪婪轉發(fā)引導后續(xù)數(shù)據(jù)包的發(fā)送。通過建立錨節(jié)點提前避開空洞,可避 免由于遭遇空洞而引起距離延長和跳數(shù)增加問題,降低網絡能耗。
【發(fā)明內容】
[0005] 針對無線傳感器網絡地理路由協(xié)議中高延時和能耗不均勻以及遭遇空洞繞行等 問題,當無線傳感器網絡中節(jié)點較多時,節(jié)點廣播傳遞信息的耗能和耗時更為嚴重。本發(fā)明 將預測時延和距離結合,提出一種預測式地理路由協(xié)議方法。節(jié)點可以通過計算來預測鄰 居節(jié)點延時信息,同時參考延時和距離兩個因素,在鄰居節(jié)點中動態(tài)選擇下一跳。當轉發(fā)遭 遇路由空洞時,利用切線角度擴展搜索法確定包的錨節(jié)點,以引導后續(xù)包的發(fā)送,主要有以 下步驟: 1) 定義Zfe/to協(xié)議包和節(jié)點鄰居表,每個節(jié)點以為周期廣播一跳協(xié)議包; 2) 每個節(jié)點設置預測延時定時器,以心:為周期更新鄰居表中所有鄰居節(jié)點的延時,其 Cf3 Ar1 = n ^t:(n > I); 3) 根據(jù)當前網絡狀態(tài),每個節(jié)點主要處理兩種情況:若節(jié)點需處理接收過程,執(zhí)行步驟 4),若節(jié)點需轉發(fā)過程,執(zhí)行步驟5); 4) 判斷包的類型,若該包為協(xié)議包,對節(jié)點鄰居表進行全面更新,否則往節(jié)點上層發(fā)送 包; 5) 首先在當前節(jié)點的鄰居節(jié)點中選取預測時延和距離最優(yōu)下一跳,然后轉發(fā)包至該下 一跳;若轉發(fā)遭遇空洞出現(xiàn)局部極值,利用切線角度擴展搜索法確定包的錨節(jié)點,并且通告 源節(jié)點在數(shù)據(jù)包的頭部添加此錨節(jié)點信息,引導后續(xù)包的傳輸。
[0006] 本發(fā)明優(yōu)勢: 1) 節(jié)點可以預測鄰居節(jié)點未來時刻的轉發(fā)時延,而不需要通過頻繁的2--包通告,大 量減少了 /--包的廣播,降低能耗; 2) 節(jié)點在選取轉發(fā)節(jié)點時不僅考慮距離因素,而且增加延時計算。數(shù)據(jù)包能按低延時 路徑轉發(fā),從而減小了端到端延時,增大了吞吐量; 3) 數(shù)據(jù)包發(fā)送速率遠大于節(jié)點的處理速率時,節(jié)點比較容易發(fā)生擁塞。而本發(fā)明在轉 發(fā)時考慮了鄰居節(jié)點的負載狀態(tài),能夠平衡網絡負載,延長整個網絡的壽命; 4) 數(shù)據(jù)轉發(fā)遇到空洞時,構造一個橢圓區(qū)域,利用切線角度擴展搜索法確定錨節(jié)點,再 將數(shù)據(jù)重定向到錨節(jié)點繼續(xù)貪婪轉發(fā),不讓數(shù)據(jù)包沿洞邊界轉發(fā),減少了洞邊界節(jié)點的能 耗。
[0007]
【專利附圖】
【附圖說明】
[0008] 圖1是本發(fā)明路由建立流程圖; 圖2是本發(fā)明節(jié)點定時器工作時序圖; 圖3是本發(fā)明貪婪轉發(fā)場景圖; 圖4是本發(fā)明路由遭遇空洞處理圖; 圖5是本發(fā)明擴展角度搜索錨節(jié)點圖。
[0009]
【具體實施方式】
[0010] 1)定義/--?協(xié)議包:在包頭中新增三個字段,分別攜帶節(jié)點數(shù)據(jù)包平均接收速率 A:、數(shù)據(jù)包平均發(fā)送速率;^:和節(jié)點當前的隊列大小三個信息;節(jié)點計算數(shù)據(jù)包的 平均接收速率和平均發(fā)送速率,方法如下:
【權利要求】
1. 一種預測式低延時地理路由方法,其特征在于轉發(fā)節(jié)點的選擇,所述方法至少包括 以下步驟: 1) 定義1--?協(xié)議包和節(jié)點鄰居表,每個節(jié)點以為周期廣播一跳1?/,?協(xié)議包; 2) 每個節(jié)點設置預測延時定時器,以心:為周期更新鄰居表中所有鄰居節(jié)點的延時,其 中 Jii1 = > 1); 3) 根據(jù)當前網絡狀態(tài),每個節(jié)點主要處理兩種情況:若節(jié)點需處理接收過程,執(zhí)行步驟 4),若節(jié)點需處理轉發(fā)過程,執(zhí)行步驟5); 4) 判斷包的類型,若該包為協(xié)議包,對節(jié)點鄰居表進行全面更新,否則往節(jié)點上層發(fā)送 包; 5) 首先在當前節(jié)點的鄰居節(jié)點中選取預測時延和距離最優(yōu)下一跳,然后轉發(fā)包至該下 一跳;若轉發(fā)遭遇空洞出現(xiàn)局部極值,利用切線角度擴展搜索法確定包的錨節(jié)點,并且通告 源節(jié)點在數(shù)據(jù)包的頭部添加此錨節(jié)點信息,引導后續(xù)包的傳輸。
2. 根據(jù)權利要求1所述的一種預測式低延時地理路由方法,其特征在于定義1--協(xié) 議包和節(jié)點鄰居表,提出速率計算方法,所述方法至少還包括: 1) 在協(xié)議包中增加三個字段,分別攜帶節(jié)點數(shù)據(jù)包的平均接收速率A:、平均發(fā) 送速率11%和節(jié)點當前的隊列大小三個信息; 2) 每個節(jié)點維護一張鄰居表,存儲其鄰居節(jié)點的信息,主要包括鄰居節(jié)點號、坐標位 置、數(shù)據(jù)包平均接收速率、數(shù)據(jù)包平均發(fā)送速率、任一鄰居節(jié)點當前的隊列大小、延時信息 和生命周期,其鄰居表如下:
若節(jié)點鄰居表中添加新鄰居節(jié)點條目,該鄰居節(jié)點的初始β?得; 3) 平均接收速率具。和平均發(fā)送速率計算方法如下:
其中為相鄰兩個包到達節(jié)點的時間間隔,為相鄰兩個包離開節(jié)點的時間間隔, Ai,> U-e X )表示計算次數(shù),β為取值范圍為0 4的比例因子。
3. 根據(jù)權利要求1所述的一種預測式低延時地理路由方法,其特征在于預測延時定時 器的設置和鄰居表的局部更新,所述方法至少還包括: 1) 每個節(jié)點設置定時器,對鄰居表進行局部更新,更新周期設為心:; 2) 局部更新過程:在鄰居表中利用各個鄰居節(jié)點的Ε ,計算經過Ai:時間后的各 個鄰居節(jié)點的預測時延;若鄰居表中某個鄰居節(jié)點,則設= 否則計算方法 如下:
其中:fik/辱表示鄰居節(jié)點發(fā)送M4C層隊列中所有包所需時間(非傳播時延),當 爲。=0時,表明該節(jié)點在某段時間內未接收到數(shù)據(jù)包,但由于該節(jié)點并未死亡;若計算 ddm1 < 0 , -^----ν = 0 0
4. 根據(jù)權利要求1所述的一種預測式低延時地理路由方法,其特征在于鄰居表的全面 更新,所述方法至少還包括: 1) 全面更新過程:節(jié)點收到HeWo協(xié)議包后,更新鄰居表中的/D、(.\?j)、 CijX= Ρ;ιχ) > > EyqsireTirm ; 2) 若局部更新和全面更新沖突,則只執(zhí)行全面更新。
5. 根據(jù)權利要求1所述的一種預測式低延時地理路由方法,其特征在于貪婪轉發(fā)中選 取預測時延和距離最優(yōu)下一跳轉發(fā)節(jié)點,所述方法至少還包括: 1) 在整個數(shù)據(jù)包傳輸過程中,當前節(jié)點在其鄰居節(jié)點中依據(jù)預測時延和距離最優(yōu)函數(shù) 選取下一跳轉發(fā)節(jié)點: / (delay, Ad) = β ~ \d -ι- (I - β) - dmax , 其中:
,?/為當前節(jié)點到目的節(jié)點的距離,為鄰居節(jié)點到目的節(jié)點的 距離,cfc%為鄰居節(jié)點的預測延時,/5為取值范圍為〇?1的比例因子; 2) 在鄰居節(jié)點中選擇最小/(Aky1U)的節(jié)點作為下一跳,轉發(fā)包至該下一跳。
6. 根據(jù)權利要求1所述的一種預測式低延時地理路由方法,其特征在于切線角度擴展 搜索法選取包的錨節(jié)點,所述方法至少還包括: 1) 建立空洞模型:當數(shù)據(jù)包轉發(fā)至:V5, Λν洽好位于空洞邊界上時,丟棄該包,利用洞邊 界檢測包(//JD )檢測出閉合的空洞節(jié)點集,構造一個橢圓區(qū)域C,覆蓋空洞區(qū)域; 2) 當數(shù)據(jù)包轉發(fā)至橢圓邊界某節(jié)點J時,過節(jié)點J作橢圓C*的切線纟,過目的節(jié)點£> 作橢圓C的切線〖:和4 4分別和L &相交于O、P兩點;假設包的源節(jié)點為S ,連接.SO、 SF、UO、dp,不妨設(I50I?⑩I) ·::; 3) 錨節(jié)點區(qū)域確定:分別延長線段SO和£)0,記為射線S3/、DiV ;分別以點S、D為 圓心,將射線SJ/、HV分別以遠離橢圓C的方向旋轉至SM'、IB",旋轉角度為5,射線 W'和D.V'相交于點0',射線SJ/和DiT交于點// ,射線SJ/'和!》1目交于點£ ;因此,射 線》/、SJ/1、IlV、HY'圍成的四邊形為錨節(jié)點區(qū)域,記為0£0方; 4) 錨節(jié)點的選擇:在錨節(jié)點區(qū)域內選取任意節(jié)點作為錨節(jié)點,若該區(qū)域內不存在節(jié)點, 則以ΔΟ為步長增大旋轉角度,擴大四邊形區(qū)域,直到選取出合適的錨節(jié)點為止。
【文檔編號】H04W28/08GK104394554SQ201410789663
【公開日】2015年3月4日 申請日期:2014年12月19日 優(yōu)先權日:2014年12月19日
【發(fā)明者】李哲濤, 歐陽經綸, 裴廷睿, 田淑娟, 朱更明 申請人:湘潭大學