閆力,王海濤,張煥青,張學(xué)平,王陳雨
(1.解放軍理工大學(xué) 通信工程學(xué)院,南京210007;2.解放軍理工大學(xué) 信息管理中心,南京210007)
Ad Hoc網(wǎng)絡(luò)是一種特殊的通信網(wǎng)絡(luò),因其無中心、自組織和多跳路由等特點(diǎn),具備良好的抗毀性和靈活性,在軍事領(lǐng)域得到廣泛應(yīng)用。但是,戰(zhàn)場環(huán)境復(fù)雜多變且較為惡劣,各種自然和人為因素都可能造成某些節(jié)點(diǎn)(特別是瓶頸節(jié)點(diǎn))的異?;蚴В瑢?dǎo)致網(wǎng)絡(luò)分割,進(jìn)而中斷正常的通信活動(dòng)。為了提高戰(zhàn)場環(huán)境下Ad Hoc網(wǎng)絡(luò)的可靠性和生存性,設(shè)計(jì)一種基于網(wǎng)絡(luò)態(tài)勢重構(gòu)拓?fù)浣Y(jié)構(gòu)的方法很有必要,使網(wǎng)絡(luò)在復(fù)雜環(huán)境下具備較強(qiáng)的自愈能力。
戰(zhàn)場網(wǎng)絡(luò)環(huán)境中,影響節(jié)點(diǎn)失效的因素很多,且隨時(shí)間動(dòng)態(tài)變化。在對節(jié)點(diǎn)狀態(tài)進(jìn)行判斷時(shí),若考慮的因素過少,會(huì)造成判斷結(jié)果不準(zhǔn)確;若考慮因素過多,又會(huì)增加計(jì)算量和復(fù)雜度。因此,應(yīng)選取一些典型性的、相關(guān)性較強(qiáng)的影響因素作為判斷依據(jù)。鑒于此,提出了一種基于情景感知的分布式功率控制算法(distributed power control algorithm based on contextawareness,簡稱DPCAC),可在由節(jié)點(diǎn)故障造成網(wǎng)絡(luò)分割時(shí)通過自適應(yīng)調(diào)節(jié)周圍鄰居節(jié)點(diǎn)的功率來快速恢復(fù)中斷的通信,提高Ad Hoc網(wǎng)絡(luò)的生存性和健壯性。
情景是可表征某一實(shí)體所處環(huán)境的信息,實(shí)體可以是人、地點(diǎn)或者任何與人和應(yīng)用交互的相關(guān)對象,包括用戶和應(yīng)用本身[1]。情景可分為計(jì)算情景、用戶情景、物理情景、時(shí)間情景和社會(huì)情景,各類情景又包含了若干子情景,從而形成一個(gè)情景譜[2]。情景感知一般包含3個(gè)過程:1)情景收集;2)情景建模和存儲(chǔ);3)情景推理和決策執(zhí)行。情景收集的原始數(shù)據(jù)作為情景建模的輸入,以一種機(jī)器可識(shí)別的形式儲(chǔ)存,為情景推理和決策執(zhí)行提供依據(jù),而決策執(zhí)行后又會(huì)改變對象所處情景,以達(dá)到自適應(yīng)的目的。
可將戰(zhàn)場環(huán)境下的情景按照圖1分類。圖1中的情景有些可利用傳感器直接測量獲得,如氣溫、風(fēng)力等;有些則是用戶的特定信息,如用戶ID、身份等;還有些是節(jié)點(diǎn)通過軟件代理實(shí)時(shí)測量的,如剩余電量、節(jié)點(diǎn)度和時(shí)間等。另外,一部分情景屬于直接情景,可直接采集得到,如位置信息;另一部分屬于間接情景,無法直接通過傳感器或軟件代理獲得,需經(jīng)過一定推理獲得,如節(jié)點(diǎn)戰(zhàn)斗狀態(tài)就需根據(jù)節(jié)點(diǎn)移動(dòng)性、武器使用情況、周邊環(huán)境噪聲等推理得到。應(yīng)充分考慮影響節(jié)點(diǎn)生存狀態(tài)的外在和內(nèi)在因素,文獻(xiàn)[3]在故障診斷時(shí)只考慮了一些與自身狀況相關(guān)的因素,并未考慮外在環(huán)境因素。
圖1 戰(zhàn)場環(huán)境下的情景分類Fig.1 Context classification in battlefield environment
情景感知應(yīng)用需要不斷收集有關(guān)用戶的信息,數(shù)量龐大,需要有效的情景信息建模方法,否則會(huì)使情景信息難以管理,并且查詢感興趣的信息也會(huì)變得困難。情景建模是指用一種機(jī)器能夠識(shí)別和處理的方式定義和儲(chǔ)存數(shù)據(jù)。目前,情景建模方法眾多,如關(guān)鍵值模型、模式標(biāo)記模型、圖形模型[4]、面向?qū)ο蟮哪P秃捅倔w模型[5-6]等。為降低建模難度,清晰表達(dá)情景和快速高效檢索信息,可采用XML標(biāo)記語言存儲(chǔ)數(shù)量龐大的情景信息,并利用XPath實(shí)現(xiàn)對數(shù)據(jù)的高效檢索??蓴U(kuò)展標(biāo)記語言(XML)是一種結(jié)構(gòu)化的數(shù)據(jù)描述方法,可根據(jù)用戶需求自定義,并方便地進(jìn)行數(shù)據(jù)的讀寫操作。XML的優(yōu)良特性使其適合于描述情景信息[7]。
考慮一個(gè)簡單的戰(zhàn)術(shù)Ad Hoc網(wǎng)絡(luò)(圖2),其中S和T分別代表一對正在通信中的源宿節(jié)點(diǎn)。假定某一時(shí)刻t通信中斷,且網(wǎng)絡(luò)層無法發(fā)現(xiàn)一條新的路由恢復(fù)被中斷的通信,在源節(jié)點(diǎn)和宿節(jié)點(diǎn)本身未出現(xiàn)故障的情況下,可初步判斷網(wǎng)絡(luò)發(fā)生了分割。網(wǎng)絡(luò)分割后進(jìn)行修復(fù),過程如圖2所示。其中,分割S和T的節(jié)點(diǎn)集合有3組,即C1、C2和C3,C1為一個(gè)包含2個(gè)節(jié)點(diǎn)的最小點(diǎn)割集,而C2和C3均為割點(diǎn)。這3組節(jié)點(diǎn)集合中的一組或多組一旦發(fā)生故障會(huì)中斷S與T之間的正常通信,稱其為“疑似故障集”。為此,可通過分析3組節(jié)點(diǎn)所處環(huán)境的情景信息,根據(jù)這些信息對節(jié)點(diǎn)狀態(tài)進(jìn)行推斷,確定出現(xiàn)故障的節(jié)點(diǎn)或節(jié)點(diǎn)集,然后將判斷得到的故障集告知正常工作的節(jié)點(diǎn)。收到通告的正常節(jié)點(diǎn)可根據(jù)自己與故障集中節(jié)點(diǎn)的關(guān)系作出行動(dòng)決策:若是鄰居節(jié)點(diǎn),則正常節(jié)點(diǎn)成為修復(fù)節(jié)點(diǎn),可通過提升發(fā)射功率擴(kuò)大覆蓋范圍,進(jìn)而有可能橋接分割的網(wǎng)絡(luò)。底層網(wǎng)絡(luò)連通后,網(wǎng)絡(luò)層可通過路由發(fā)現(xiàn)機(jī)制發(fā)現(xiàn)新的路由,進(jìn)而恢復(fù)源宿節(jié)點(diǎn)的通信。若兩者不是鄰居節(jié)點(diǎn),則正常節(jié)點(diǎn)不觸發(fā)任何動(dòng)作。圖2(a)中S與T之間的初始路由為S-C1-C2-C3-T;圖2(b)中某一時(shí)刻通信發(fā)生中斷,通過對疑似故障集的3組節(jié)點(diǎn)進(jìn)行分析,確定失效節(jié)點(diǎn)為C2,則其鄰居節(jié)點(diǎn)C1(2個(gè))、C3和N2均將發(fā)射功率提高,這樣構(gòu)成新的鏈路(C1,C3)和(N2,N3),網(wǎng)絡(luò)分割被消除。圖2(c)中S與T之間又產(chǎn)生了新的可用鏈路,通過路由協(xié)議產(chǎn)生新的路由S-C1-C3-T。
圖2 拓?fù)湫迯?fù)過程Fig.2 Process of topology repair
情景感知的一般過程為:情景收集、建?!榫巴评怼鷽Q策執(zhí)行?;诖耍珼PCAC流程如圖3所示,可以分為3個(gè)階段。
圖3 DPCAC流程圖Fig.3 The flow chart of DPCAC
1)情景收集存儲(chǔ)階段。該階段周期性收集各個(gè)節(jié)點(diǎn)的情景,利用XML對情景進(jìn)行建模,創(chuàng)建情景數(shù)據(jù)庫。收集的情景主要包括用戶情景、物理環(huán)境信息、通信參數(shù)和時(shí)間信息,每一時(shí)刻收集的情景作為一個(gè)信息單元保存在XML文件中。
2)故障定位階段。該階段在源宿節(jié)點(diǎn)通信發(fā)生中斷后被觸發(fā)。首先,利用前一階段周期性收集的情景信息構(gòu)造網(wǎng)絡(luò)鄰接矩陣,求解網(wǎng)絡(luò)中分割源宿節(jié)點(diǎn)的所有最小點(diǎn)割集[8],構(gòu)成疑似故障集。然后,基于DS(Dempster-Shafe)證據(jù)理論對每個(gè)點(diǎn)割集節(jié)點(diǎn)的生存狀態(tài)進(jìn)行情景推理,若該疑似故障集的所有節(jié)點(diǎn)均判定為失效,則作為一個(gè)故障集輸出。推理過程中,不同類的情景信息被看作構(gòu)成推理過程的“證據(jù)”,對證據(jù)進(jìn)行組合,以得到最終結(jié)論。DPCAC選取5種證據(jù)構(gòu)成情景空間[9],即當(dāng)前環(huán)境下的天氣狀況、戰(zhàn)斗情況、通信設(shè)備的磨損消耗、設(shè)備類型和電量剩余情況。各個(gè)取值空間的基本概率分配(BPA)可由專家經(jīng)驗(yàn)給定,也可根據(jù)大量統(tǒng)計(jì)實(shí)驗(yàn)得出,有關(guān)證據(jù)理論的基本知識(shí)可參考文獻(xiàn)[10]。式(1)為基本證據(jù)組合公式,
其中:K為沖突因子,表示被組合的2個(gè)證據(jù)之間的沖突程度;Θ為識(shí)別框架,是一個(gè)完備的、元素間互不相交的空間,此處為節(jié)點(diǎn)生存狀態(tài){normal,disabled}。由于經(jīng)典DS證據(jù)理論進(jìn)行證據(jù)融合時(shí)認(rèn)為各證據(jù)的重要性相同,為反映實(shí)際中不同證據(jù)對于結(jié)論的影響不同,可根據(jù)情景空間中證據(jù)的重要性為其分配相應(yīng)的權(quán)重。當(dāng)證據(jù)合成時(shí),若2個(gè)BPA之間的沖突因子超過某一閾值,依照式(2)根據(jù)權(quán)重分配值對BPA進(jìn)行修正[10-11]:
其中:mi(A)為第i個(gè)BPA對命題A的信任程度;wi為第i個(gè)證據(jù)的權(quán)重;wmax為權(quán)重分配值中的最大值,在表1中即為剩余電量的權(quán)重值wer=0.25。進(jìn)行組合時(shí),先計(jì)算兩者的沖突因子K,若大于指定閾值Kth,則修正BPA后進(jìn)行組合,否則直接進(jìn)行組合。這樣,可通過修正BPA提高融合結(jié)果的準(zhǔn)確性。最后合成BPA中支持度最高的結(jié)果即為推理結(jié)論。表1為情景空間的基本概率分配的一個(gè)示例。
表1 情景空間中的基本概率分配Tab.1 The BPA in context space
3)拓?fù)湫迯?fù)階段。根據(jù)前一階段輸出的故障集,由源節(jié)點(diǎn)在自己所在子網(wǎng)廣播診斷消息,將求解的故障集信息通告每個(gè)節(jié)點(diǎn),通告消息以源節(jié)點(diǎn)地址作為鍵值。收到診斷消息的節(jié)點(diǎn)判斷自己是否是故障集節(jié)點(diǎn)的鄰居,若是鄰居節(jié)點(diǎn),則將自己的功率調(diào)整至最大值,以迅速提升節(jié)點(diǎn)覆蓋范圍來橋接分割的網(wǎng)絡(luò),并記錄已響應(yīng)的源節(jié)點(diǎn)地址,同時(shí)也向該源節(jié)點(diǎn)以單播方式回復(fù)一條確認(rèn)消息。經(jīng)過指定時(shí)間(稱為修復(fù)間隔)后,源節(jié)點(diǎn)測試到目的節(jié)點(diǎn)的鏈路是否修復(fù)成功,且不論結(jié)果如何,都將結(jié)果告知修復(fù)節(jié)點(diǎn)。在拓?fù)湫迯?fù)完成后,節(jié)點(diǎn)將在維持網(wǎng)絡(luò)連通的條件下降低自身的發(fā)射功率,一方面節(jié)省有限的電量,另一方面減少由于提升功率帶來的無線信道之間的干擾。若不是鄰居節(jié)點(diǎn),則不觸發(fā)任何動(dòng)作。整個(gè)策略執(zhí)行過程如圖4所示。
圖4 策略執(zhí)行過程Fig.4 The process of strategy execution
需要指出的是,DPCAC在以下幾種情況不能有效恢復(fù)鏈路:1)宿節(jié)點(diǎn)本身發(fā)生失效;2)在鄰居節(jié)點(diǎn)均將發(fā)射功率調(diào)整為最大值時(shí),仍不能相互覆蓋;3)推理結(jié)果與真實(shí)情況不符,無法確定故障節(jié)點(diǎn)。
以O(shè)PNET 14.5為仿真平臺(tái),建立網(wǎng)絡(luò)模型。網(wǎng)絡(luò)中的分組流由源節(jié)點(diǎn)產(chǎn)生,宿節(jié)點(diǎn)收到后進(jìn)行回復(fù),以模擬雙向通信。網(wǎng)絡(luò)協(xié)議采用AODV協(xié)議,MAC協(xié)議采用CSMA/CA。網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖5所示。其中,源節(jié)點(diǎn)為soldier0,宿節(jié)點(diǎn)為soldier1。仿真參數(shù)配置如表2所示。
圖5 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)Fig.5 The topology of network
表2 仿真參數(shù)配置Tab.2 Parameters configuration in the simulation
某一時(shí)段只有soldier0和soldier1進(jìn)行通信,發(fā)送一個(gè)分組所消耗的能量為
其中:P為節(jié)點(diǎn)的發(fā)射功率;B為所發(fā)送分組的大小;r為節(jié)點(diǎn)數(shù)據(jù)傳輸速率。假設(shè)soldier3節(jié)點(diǎn)位于拓?fù)涓铧c(diǎn)位置,通信量較大,能量消耗過快,仿真初始能量為10 J,其他節(jié)點(diǎn)為150 J。
通過修改OPNET中的無線閉合管道階段即可實(shí)現(xiàn)對信號(hào)覆蓋范圍的控制[12]。這里不考慮節(jié)點(diǎn)休眠狀態(tài),使用線性能耗模型。以x=500 m,y=500 m為軸將仿真區(qū)域劃分為4個(gè)子區(qū)域,分別由隨機(jī)函數(shù)產(chǎn)生該區(qū)域的天氣狀況、設(shè)備類型、設(shè)備磨損消耗和戰(zhàn)斗狀況作為屬性在仿真初始設(shè)定,節(jié)點(diǎn)的故障函數(shù)服從指數(shù)分布。另外,仿真實(shí)驗(yàn)不考慮無線鏈路的不穩(wěn)定性引起的丟包。
仿真實(shí)驗(yàn)首先考慮節(jié)點(diǎn)采用DPCAC和未使用DPCAC的2種網(wǎng)絡(luò)場景,對比2種場景下節(jié)點(diǎn)累計(jì)發(fā)送的數(shù)據(jù)量。圖6為源節(jié)點(diǎn)soldier0在soldier3發(fā)生故障前后的輸出數(shù)據(jù)量。從圖6可看到,節(jié)點(diǎn)soldier3在約21 min時(shí)由于電量耗盡而失效,采用DPCAC的拓?fù)湫迯?fù)功能時(shí),源節(jié)點(diǎn)soldier0的數(shù)據(jù)吞吐量幾乎未受到影響,只在短暫的修復(fù)期(約6 s)數(shù)據(jù)吞吐量保持不變。未使用DPCAC時(shí),由于節(jié)點(diǎn)soldier3的失效造成了網(wǎng)絡(luò)分割為2部分,源宿節(jié)點(diǎn)失去可用鏈路,路由算法無法找到合適路由,導(dǎo)致在節(jié)點(diǎn)soldier3失效后一段時(shí)間內(nèi)數(shù)據(jù)吞吐量不再增加。在1254~1260 s的修復(fù)期間,節(jié)點(diǎn)soldier0使用DPCAC相比于未使用時(shí)多出的一部分?jǐn)?shù)據(jù)量是其發(fā)送的拓?fù)湫迯?fù)相關(guān)的控制分組所產(chǎn)生的。
圖6 soldier0在故障前后的輸出Fig.6 The output of soldier0
圖5 的網(wǎng)絡(luò)源節(jié)點(diǎn)soldier0在通信中斷后發(fā)起拓?fù)涔收显\斷,通過計(jì)算得到分割源宿節(jié)點(diǎn)的最小點(diǎn)割集有4個(gè),即{[soldier1],[soldier2],[soldier3],[soldier4,soldier5]},這里將宿節(jié)點(diǎn)soldier1包括在疑似故障集中,然后通過分析收集的情景信息,得出故障集為{[soldier3]},將此結(jié)果廣播后,所有故障節(jié)點(diǎn)的鄰居均將發(fā)射功率提升至最大值,待通信恢復(fù)后,再調(diào)整發(fā)射功率,減少不必要的能量消耗,鄰居節(jié)點(diǎn)soldier4的功率在調(diào)整后降為1.642 9 W。圖7為采用DPCAC網(wǎng)絡(luò)的輸入和輸出數(shù)據(jù)量對比。由于網(wǎng)絡(luò)分割丟失了一部分分組,輸出數(shù)據(jù)量略低于輸入數(shù)據(jù)量。圖8為soldier3的鄰居節(jié)點(diǎn)soldier4在3種情況下的電量變化情況。從圖8可看出,進(jìn)行拓?fù)湫迯?fù)后電量消耗速率都變大,但功率調(diào)整后,電量消耗速率明顯降低。未采用DPCAC的節(jié)點(diǎn)電量消耗率最小,這是因?yàn)楣?jié)點(diǎn)soldier3失效后,不再有流量經(jīng)過soldier4。
模擬實(shí)驗(yàn)結(jié)果表明,DPCAC能有效緩解由于網(wǎng)絡(luò)節(jié)點(diǎn)意外失效造成的網(wǎng)絡(luò)性能下降,且在恢復(fù)網(wǎng)絡(luò)連通后,在保障鏈路暢通的條件下可通過調(diào)節(jié)節(jié)點(diǎn)功率降低節(jié)點(diǎn)能耗。
圖7 網(wǎng)絡(luò)輸入輸出數(shù)據(jù)量Fig.7 The input and output data of network
圖8 soldier4在3種情況下的電量變化Fig.8 The energy change of soldier4 in different scenarios
針對戰(zhàn)場環(huán)境下Ad Hoc網(wǎng)絡(luò)中節(jié)點(diǎn)因各種內(nèi)在和外在因素發(fā)生失效,進(jìn)而造成網(wǎng)絡(luò)分割的問題,提出了一種基于情景感知的分布式功率控制算法。該算法不需要中心控制節(jié)點(diǎn),診斷過程由源節(jié)點(diǎn)發(fā)起,根據(jù)定期收集的節(jié)點(diǎn)情景,通過XML的XPath獲知感興趣的信息,推斷疑似故障集節(jié)點(diǎn)的狀態(tài),從而得到故障結(jié)論,并啟動(dòng)相關(guān)節(jié)點(diǎn)功率調(diào)整機(jī)制,以達(dá)到恢復(fù)通信的目的。該算法適合于Ad Hoc網(wǎng)絡(luò)的分布式特性,仿真實(shí)驗(yàn)表明,DPCAC可提高Ad Hoc網(wǎng)絡(luò)在戰(zhàn)場環(huán)境下的生存性和抗毀性。
今后的研究重點(diǎn)是:1)需進(jìn)一步改進(jìn)情景感知框架的推理方法,提高推理準(zhǔn)確性;2)DPCAC只考慮了5種情景作為推理依據(jù),實(shí)際情況中可能會(huì)有更多的影響因素,應(yīng)進(jìn)一步豐富情景種類;3)DPCAC除了調(diào)整相關(guān)節(jié)點(diǎn)功率外,也可結(jié)合控制節(jié)點(diǎn)移動(dòng)的方法,解決最大功率下仍無法覆蓋的問題,這也符合戰(zhàn)場Ad Hoc網(wǎng)絡(luò)的特點(diǎn),即行為可控性。
[1]Dey A K.Understanding and using context[J].Personal and Ubiquitous Computing,2001,5(1):4-7.
[2]顧君忠.情景感知計(jì)算[J].華東師范大學(xué)學(xué)報(bào):自然科學(xué)版,2009(5):3-4.
[3]董妍.Ad Hoc網(wǎng)絡(luò)拓?fù)渲貥?gòu)方案的設(shè)計(jì)與仿真[D].沈陽:東北大學(xué),2009:21-37.
[4]Almutairi S,Bella G,Abu-Samaha A.Specifying security requirements of context aware system using UML[C]//IEEE 2012 Seventh International Conference on Digital Information Management,2012:259-265.
[5]Lee K W,Cha S H.Ontology-based context-aware management for wireless sensor networks[M]//Advances in Computer Science,Environment,Ecoinformatics,and Education.Berlin:Springer Berlin Heidelberg,2011:353-358.
[6]Li Wenjia,Joshi A,F(xiàn)inin T.CAST:context-aware security and trust framework for mobile Ad-Hoc networks using policies[J].Distributed and Parallel Databases,2013,31(2):353-376.
[7]Xu Jianfeng,Wang Dong.Object-oriented and ontology context-aware modeling based on XML[C]//IEEE 2012 2nd International Conference on Computer Science and Network Technology,2012:1795-1800.
[8]Patvardhan C,Prasad V C,Pyara V P.Vertex cutsets of undirected graphs[J].IEEE Transactions on Reliability,1995,44(2):347-353.
[9]Wibisono W,Zaslavsky A,Ling S.CoMiHoC:a middleware framework for context management in MANET environment[C]//2010 24th IEEE International Conference on Advanced Information Networking and Applications,2010:620-627.
[10]Sun Rui,Huang Hongzhong,Miao Qiang.Improved information fusion approach based on DS evidence theory[J].Journal of Mechanical Science and Technology,2008,22(12):2417-2425.
[11]李艷娜,喬秀全,李曉峰.基于證據(jù)理論的上下文本體建模以及不確定性推理方法[J].電子與信息學(xué)報(bào),2010,32(8):1806-1811.
[12]Krishnamurthi N,Yang S J,Seidman M.Modular topology control and energy model for wireless ad hoc sensor networks[C]//Proceedings of OPNETWORK’04,2004:11-14.