專利名稱:基于地理位置的大規模無線分布式網絡自適應協作路由方法
技術領域:
本發明涉及無線通信技術領域,具體的說是一種基于地理位置的自適應協作路由方法,可用于大規模無線分布式網絡。
背景技術:
在無線分布式網絡中,要解決路由的問題,通常有主動式,被動式和地理位置信息輔助式等幾種路由策略。然而當網絡的規模顯著增長時,路由信息的交互或者廣播尋址的方法將會很快耗盡網絡資源。隨著無線網絡規模的不斷增大,設計路由協議的限制因素越來越多,網絡的各項路由指標越來越難以達到,而隨著衛星定位技術的發展,節點要想獲得自己或網內其它節點的地理位置信息已經越來越容易。在這樣一種背景下,適當的利用網絡中節點的地理位置信息來尋找路由,可以在很大程度上避免尋路的盲目性及由此帶來的網絡風暴等不利影響,從而極大地提高路由尋找的效率。要解決大規模網絡尋路難和路由跳數多的問題,文獻“Contact-based architecture for resource discovery in large scale MANets,,中提出了一禾中基于小世界現象的尋路策略。據研究大規模網絡中存在著六度分隔現象,即任何兩個人平均都可以通過不超過六個朋友相互認識。這樣只需對網絡中每個節點選擇一個或多個遠端的朋友節點,即可大大縮小全網中路由的平均跳數,使整個大規模網絡成為一個具有小世界特性的網絡。但由于小世界現象畢竟只是理想抽象,它適用于關系網絡,而在空間無線網絡中由于缺乏對于長程連接的有效支持,到朋友節點的長程連接在一跳內是無法直接實現的。 因此本路由算法引入了協作通信技術來解決這一問題,并以接續協作的方式使小世界網絡的長程連接變得實際可行。同時協作通信技術的引入也有助于改善在網絡規模增大時容易造成的路徑環繞和冗長、路徑上節點過多、路由失效概率增加導致魯棒性差等問題。
發明內容
本發明的目的是針對傳統大規模無線分布式網絡路由方法的不足,提出一種基于地理位置的大規模無線分布式網絡自適應協作路由方法,在該路由方法中通過引入協作通信技術實現了小世界網絡中的長程連接,有效減小了大規模網絡中路由的平均跳數和端到端時延,降低了路由失敗概率,在網絡性能和路由開銷之間更好地進行了折衷,同時在協作過程中加入了對節點的剩余能量和協作距離D的自適應技術,避免負載過重的節點過快耗盡自身能量,并使節點能根據周圍鄰居節點的數目多少和忙閑狀態選擇合適的協作距離D, 從而更好地適應大規模無線分布式網絡的需求。實現本發明目的的技術方案包括如下步驟(1)初始化步驟,即網絡中的每個節點分別建立自己的鄰居節點表、朋友節點表和
5朋友路徑表;(2)當前節點u有數據包需要發送,當前節點u直接根據地理位置信息,從自己的鄰居節點表和朋友節點表中找出距離目的節點最近的節點作為下一跳節點,若找出的下一跳節點是當前節點u的鄰居節點,將轉發深度減1,執行步驟(3),若找出的節點為當前節點的朋友節點t,將轉發深度減1,執行步驟G),其中轉發深度為該數據包還允許被轉發的次數;(3)當前節點u將數據包直接發送給該鄰居節點,該鄰居節點收到數據包后判斷自己是不是本次路由的目的節點,若是,整個路由過程結束,否則,該鄰居節點成為當前節點U,返回步驟O);(4)當前節點u進行第一次協作傳輸(4a)當前節點u從自己的朋友路徑表里找到以節點t為朋友節點的朋友路徑,從該路徑中找出當前節點u的協作距離D內的所有節點,并將這些節點中離當前節點u最遠的節點作為第一次協作的目的節點dl,執行步驟Gb),其中D的值是當前節點u經過協作后能傳輸的最遠距離的估計值;(4b)當前節點u通過協作傳輸將數據包傳到協作目的節點dl,該過程分為兩個階段第一階段,當前節點U向協作目的節點dl發送數據包,當前節點u的鄰居節點根據自身剩余能量與初始時總能量的比值決定是否向協作目的節點dl發送請求參與協作包,若該比值小于1/5,不發送,若該比值大于等于1/5且小于1/3,則發送帶有能量標簽的請求參與協作包,表明該鄰居節點能量不充裕,若該比值大于等于1/3,則發送不帶能量標簽的請求參與協作包,表明該鄰居節點能量充裕;第二階段,協作目的節點dl優先允許能量充裕的當前節點u的鄰居節點參與協作,回發請求協作應答包,請求協作應答包中指明的允許參與協作的節點將協作傳輸u的數據包,之后執行Ge);(4c)協作目的節點dl判斷第一次協作是否成功,并將判斷結果回傳給當前節點 u,由當前節點u對判斷結果進行處理,之后執行(5);(5)當前節點u收到協作目的節點dl傳來的判斷結果后,執行如下操作若第一次協作失敗,則當前節點u將自己的協作失敗次數加1,協作總次數加1, 算出自己的協作失敗概率ρ =協作失敗次數/協作總次數,然后對自己的協作距離D按
權利要求
1. 一種基于地理位置的大規模無線分布式網絡自適應協作路由方法,包括(1)初始化步驟,即網絡中的每個節點分別建立自己的鄰居節點表、朋友節點表和朋友路徑表;(2)當前節點u有數據包需要發送,當前節點u直接根據地理位置信息,從自己的鄰居節點表和朋友節點表中找出距離目的節點最近的節點作為下一跳節點,若找出的下一跳節點是當前節點u的鄰居節點,將轉發深度減1,執行步驟(3),若找出的節點為當前節點的朋友節點t,將轉發深度減1,執行步驟,其中轉發深度為該數據包還允許被轉發的次數;(3)當前節點u將數據包直接發送給該鄰居節點,該鄰居節點收到數據包后判斷自己是不是本次路由的目的節點,若是,整個路由過程結束,否則,該鄰居節點成為當前節點U, 返回步驟O);(4)當前節點u進行第一次協作傳輸(4a)當前節點u從自己的朋友路徑表里找到以節點t為朋友節點的朋友路徑,從該路徑中找出當前節點u的協作距離D內的所有節點,并將這些節點中離當前節點u最遠的節點作為第一次協作的目的節點dl,執行步驟(4b),其中D的值是當前節點u經過協作后能傳輸的最遠距離的估計值;(4b)當前節點u通過協作傳輸將數據包傳到協作目的節點dl,該過程分為兩個階段 第一階段,當前節點u向協作目的節點dl發送數據包,當前節點u的鄰居節點根據自身剩余能量與初始時總能量的比值決定是否向協作目的節點dl發送請求參與協作包,若該比值小于1/5,不發送,若該比值大于等于1/5且小于1/3,則發送帶有能量標簽的請求參與協作包,表明該鄰居節點能量不充裕,若該比值大于等于1/3,則發送不帶能量標簽的請求參與協作包,表明該鄰居節點能量充裕;第二階段,協作目的節點dl優先允許能量充裕的當前節點u的鄰居節點參與協作, 回發請求協作應答包,請求協作應答包中指明的允許參與協作的節點將協作傳輸u的數據包,之后執行Ge);(4c)協作目的節點dl判斷第一次協作是否成功,并將判斷結果回傳給當前節點u,由當前節點u對判斷結果進行處理,之后執行(5);(5)當前節點u收到協作目的節點dl傳來的判斷結果后,執行如下操作若第一次協作失敗,則當前節點u將自己的協作失敗次數加1,協作總次數加1,算出自己的協作失敗概率P =協作失敗次數/協作總次數,然后對自己的協作距離D按
2.根據權利要求1所述的路由方法,其中步驟(1)所述的網絡中的每個節點分別建立自己的鄰居節點表、朋友節點表和朋友路徑表,按如下步驟進行(Ia)在網絡中,每個節點首先根據地理位置信息,將所有到自己的距離小于一跳可以傳輸的距離R的節點選為自己的鄰居節點,并根據找出的鄰居節點建立自己的鄰居節點表;(Ib)每個節點根據地理位置信息和小世界理論選出自己的朋友節點,根據選出的朋友節點建立朋友節點表,在選出朋友節點的過程中將得到一條朋友路徑,該朋友路徑上的每個節點都是該路徑中前一個節點的鄰居節點,該路徑中的每個節點都將這條朋友路徑存到自己的朋友路徑表中。
3.根據權利要求2所述的路由方法,其中步驟(Ib)所述的每個節點根據地理位置信息和小世界理論選出自己的朋友節點,按如下步驟進行(Ibl)以當前節點u選出朋友節點t為例,當前節點u從其東、西、南、北四個方向中隨機選擇一個方向,以選擇方向東為例,計算出當前節點u向東到達網絡邊界的距離k,則L = 一0,其中L為要選的朋友節點t到當前節點u的距離的估計值,0 =「81nq,q為在區間
上隨機選擇的一個整數,參照選擇的方向和到當前節點u的距離L,確定出要選的朋友節點t的暫定位置W,這樣選出的朋友節點t能使大規模網絡具有小世界網絡的特性,然后當前節點u將朋友請求包發給距離暫定位置W最近的鄰居節點v,執行步驟(lb2);(lb2)最近的鄰居節點ν收到朋友請求包后,先判定自己到暫定位置W的距離是否小于一跳可以傳輸的距離R,若是,則當前節點u選擇節點ν作為自己的朋友節點,選擇朋友節點過程結束,否則,執行步驟(lb3);(lb3)最近的鄰居節點ν判斷自己的鄰居節點中有沒有比自己離暫定位置W更近的節點,若有,將朋友請求包發給該節點,該節點成為新的最近的鄰居節點v,并重復步驟 (讓2),否則,當前節點u本次選擇朋友節點失敗,重新執行步驟(Ibl)。
4.根據權利要求1所述的路由方法,其中步驟Gb)所述的協作目的節點dl優先允許能量充裕的當前節點u的鄰居節點參與協作,按如下步驟進行(4bl)協作目的節點dl收到當前節點u的鄰居節點發來的請求參與協作包后,從中挑選出不帶能量標簽的包,若不帶能量標簽的包的數目大于等于m個,執行步驟(4b2),否則, 執行步驟,其中m的值根據網絡條件設定,取2-3 ;(4b2)協作目的節點dl從不帶能量標簽的包中選出m個信噪比最高的包,新建一個格式為請求協作應答包的空包,然后將選出的m個包所對應的鄰居節點的名字加入新建的請求協作應答包的空包中,表示允許這些鄰居節點參與協作;(4b3)協作目的節點dl從帶有能量標簽的請求參與協作包中挑選出幾個信噪比最高的包,與不帶能量標簽的請求參與協作包一起湊足m個,新建一個格式為請求協作應答包的空包,然后將這m個包所對應的鄰居節點的名字加入新建的請求協作應答包的空包中, 表示允許這些鄰居節點參與協作。
5.根據權利要求1所述的路由方法,其中步驟Ge)所述的協作目的節點dl判斷第一次協作是否成功,按如下步驟進行(4cl)協作目的節點dl將當前節點u的鄰居節點發來的數據包,與協作過程第一階段中當前節點u發來的數據包一起進行最大比合并,執行步驟;(4c2)若合并后的信噪比達到正確接收的門限,則判定本次協作成功,否則,判定本次協作失敗。
全文摘要
本發明公開了一種基于地理位置的大規模無線分布式網絡自適應協作路由方法,主要解決大規模無線分布式網絡路由方法中端到端時延大、路由跳數多、路由成功概率低和小世界長程連接難以實際應用的問題,其實現過程為節點根據地理位置信息和小世界理論建立鄰居節點表、朋友節點表、朋友路徑表;業務到達時,節點根據地理位置信息,從鄰居節點和朋友節點中找出離目的節點最近的節點作為下一跳節點,若找出的下一跳節點是鄰居節點,則將數據包直接發送,若找出的下一跳節點是朋友節點,則將數據包協作傳輸給該朋友節點,重復這一過程,直到到達目的節點。本發明改善了大規模無線分布式網絡的性能,可用于大規模無線分布式網絡的路由過程。
文檔編號H04W40/08GK102413539SQ201110318710
公開日2012年4月11日 申請日期2011年10月19日 優先權日2011年10月19日
發明者任生凱, 侯蓉暉, 劉潤滋, 史琰, 張琰, 李建東, 李紅艷, 盛敏 申請人:西安電子科技大學