陳宇婷,劉廣鐘
(上海海事大學 信息工程學院,上海 201306)
無線傳感器網(wǎng)絡的分布性、獨立性、移動性等特點,使得網(wǎng)絡中的大部分功能要依靠節(jié)點間的相互協(xié)作來進行。
目前通常假設所有網(wǎng)絡節(jié)點都具有良好的協(xié)作性,即每個節(jié)點都愿意為其他節(jié)點提供服務。但是這種假設在實際的無線傳感器網(wǎng)絡環(huán)境中并不一定成立,無線傳感器網(wǎng)絡節(jié)點由于受到自身處理能力、存儲空間、電池容量等各種資源的限制[1],自私節(jié)點會不愿意幫助其他節(jié)點轉發(fā)信息,這會影響無線網(wǎng)絡正常的路由和數(shù)據(jù)轉發(fā)功能。如何激勵自私節(jié)點進行合作,并且誠實地進行合作以提高網(wǎng)絡性能,是當前無線傳感器網(wǎng)絡研究領域面臨的重大挑戰(zhàn)之一,對于無線傳感器網(wǎng)絡的發(fā)展有著重要意義。
對于該問題,目前主要有基于信譽機制和基于支付機制?;谛抛u機制,文獻[2]中提出了算法:檢測不良行為節(jié)點,同時,由Pathrater根據(jù)路徑中節(jié)點的平均信譽值選擇可靠的路由,避開不良節(jié)點。但該算法只是在路由選擇時避開不良節(jié)點,沒有對不良節(jié)點進行限制或懲罰,不能做到激勵良好節(jié)點合作,未能充分利用節(jié)點,網(wǎng)絡的整體性能并沒有得到改善[2]。
基于支付機制的算法,通過支付虛擬貨幣補償節(jié)點轉發(fā)的能耗,激勵節(jié)點合作,例如文獻[3]。文獻[4]中的PFAG算法利用支付機制建立多階段博弈拍賣模型轉發(fā)路徑,與LEACH相比在降低和平衡網(wǎng)絡能耗方面效果較好,但在文中假設所有節(jié)點是完全信息博弈,在實際無線傳感器網(wǎng)絡中更多是不完全信息博弈。文中只討論部分文獻,其他有關節(jié)點合作參考文獻[5-10]。
文中的網(wǎng)絡結構模型如圖1所示?;具h離傳感器節(jié)點,簇頭節(jié)點負責控制簇內(nèi)節(jié)點的協(xié)同,簇內(nèi)的普通傳感器節(jié)點向相應的簇頭發(fā)送數(shù)據(jù),簇頭節(jié)點將收集到的數(shù)據(jù)信息進行壓縮融合處理,之后發(fā)送到基站。
圖1 簇頭節(jié)點向基站發(fā)送數(shù)據(jù)
對于基于支付機制算法,都會有第三方收取稅收,文中由簇頭節(jié)點收取簇內(nèi)稅務,再由基站從簇頭收取稅務。
在無線傳感器網(wǎng)絡中,數(shù)據(jù)轉發(fā)需注意能耗均衡問題,易出現(xiàn)部分節(jié)點過分活躍,過早死亡,網(wǎng)絡分割。基于支付機制,文中引用付酬的多階段拍賣模型激勵節(jié)點轉發(fā);同時考慮由于在拍賣過程中是不完全信息博弈,節(jié)點會出現(xiàn)過度虛假報價引起的整條路徑支付過高的情況。文中對競價中的節(jié)點報價和節(jié)點自私進行討論,結合VCG思想做出合理標價,使整條路徑支付和節(jié)點收益最優(yōu);在報酬支付時,結合信譽激勵使用支付部分定金,轉發(fā)成功后支付報酬,激勵節(jié)點提高轉發(fā)成功率和誠信支付以保證路徑的可靠性,以此來找到一條最優(yōu)路徑。
能耗模型為無線通信能量消耗模型,發(fā)送比特數(shù)據(jù)到距離為d的節(jié)點或基站的能量消耗[11],即信號發(fā)射電路與信號放大電路的能耗之和:
(1)
其中,Eelec表示信號發(fā)射電路的能量損耗;εfs和εmp表示功率放大損耗;d0=87 m為距離閾值。發(fā)送節(jié)點與接收節(jié)點距離小于閾值則采用自由空間模型;否則采用多路衰減模型[12]。
無線傳感器網(wǎng)絡中,自私節(jié)點不進行自主的積極合作,拒絕作為中間節(jié)點為其他源節(jié)點轉發(fā)數(shù)據(jù),假定節(jié)點間不存在共謀。
圖2中,當節(jié)點A要將采集到的數(shù)據(jù)發(fā)送給目的節(jié)點時,A看作拍賣博弈的目的節(jié)點的代理買家,向周圍節(jié)點購買轉發(fā)服務,A廣播購買轉發(fā)服務的消息給周圍的鄰居節(jié)點,鄰居節(jié)點會為了獲得收益參與競拍,將其看作拍賣博弈賣方。按照此方法向下廣播,到達最接近簇首S的節(jié)點,簇頭回一個確認消息給最接近自己的節(jié)點,確定連接可建立。
從最后端v8、v7和v6、v5、v4開始考慮競價,節(jié)點計算出各自的競拍真實價格,分布式計算,源節(jié)點不需要一直維護整個路徑,每層代理買家節(jié)點自行處理。
v6、v7、v8出價競爭,假設v7獲得轉發(fā)機會,v2記錄v7的價格,v2計算自己報價,然后將記錄的v7報價與自己報價發(fā)送給v0,v0只需處理v2和v3給出的報價,進行競爭,直到A節(jié)點將競爭出整條路徑path,A節(jié)點將整條路徑價格記錄,同數(shù)據(jù)一起從路徑發(fā)送出去。
圖2 節(jié)點路由發(fā)現(xiàn)結構
定義鄰居節(jié)點i的真實報價為:
(2)
其中,w為節(jié)點信譽值,每一個節(jié)點都有一個初始信譽值w,對于式2信譽值高的節(jié)點更容易競拍成功,增大信譽好的節(jié)點參與轉發(fā)的機會;γ=ak為源節(jié)點支付給下一節(jié)點的定金,a為固定常量值且是公共信息,k為數(shù)據(jù)比特值,由源節(jié)點廣播;d為到下個轉發(fā)節(jié)點的距離,每個競拍節(jié)點可根據(jù)賣方廣播時的時間戳與收到廣播的時間差計算得到,e'為剩余能量,eij為轉發(fā)數(shù)據(jù)所需能量,d、e'、eij都是節(jié)點的私人信息即根據(jù)其計算出的真實報價也為私人信息。當e'-eij<0時即剩余能量不足以轉發(fā)時,報價會低于能耗和定金的和,自私節(jié)點不會參與到競價中,e'-eij=0時不成立則不參與報價。其他條件相同時,d越小則成功傳輸機率越高,能耗越低其報價越低,使易成功傳輸節(jié)點獲得轉發(fā)機會更高。
當轉發(fā)能耗相同,剩余能量越高時,報價越低,使剩余能量較多的節(jié)點可以有更多的機會參加到轉發(fā),更均衡地利用節(jié)點,以期降低和平衡網(wǎng)絡能耗。
(3)
(4)
一般在機制設計時,文獻[13-14]將效用函數(shù)ui考慮為擬線性:
ui=pi+ηi
(5)
在文中,pi為支付函數(shù),ηi為真實報價轉發(fā)收益。
對于誠實機制,滿足:
(1)節(jié)點的策略為報告自己的私有類型θi=si;
定義一個整體最優(yōu)輸出結果o*(s),為節(jié)點策略選擇后所得到的輸出結果o(s)中總體最優(yōu)。
根據(jù)上述定義,設計輸出函數(shù)及支付函數(shù)滿足:
(6)
此處定義支付函數(shù)為:
(7)
(8)
將公式進行處理,可得ui:
對于虛假報價,做一個簡化結構圖(見圖3)進行討論。
圖3 節(jié)點路由選擇結構簡化圖
(10)
下面進行討論:
在貨幣機制中一般都默認或明確提出第三方定期收取稅務,簇內(nèi)則由簇頭定期收取稅務,簇間基站為可信第三方。
源節(jié)點得到簇頭的確認消息后開始發(fā)送數(shù)據(jù),同時支付下一節(jié)點定金γ,收到定金則進行轉發(fā),否則不轉發(fā),轉發(fā)成功才會拿到全部報酬,想獲得最大收益的理性自私節(jié)點不會為了定金而丟棄數(shù)據(jù)包不轉發(fā)。
這里的簇頭節(jié)點是簇內(nèi)其他條件相同時信譽值最高即付酬自私性最低的節(jié)點。
經(jīng)整理每個轉發(fā)節(jié)點收益為:
(11)
收到報酬的節(jié)點向下一節(jié)點發(fā)送ack傳遞報酬之后一次轉發(fā)完成,節(jié)點自行退出路徑,且考慮到節(jié)點的移動性和能耗,本次得到的路徑下次可能因為中間某個節(jié)點的能量耗盡或者離開而斷開,每個節(jié)點有數(shù)據(jù)轉發(fā)時就開始上述過程在現(xiàn)有環(huán)境中再開始一次競拍,這也使得能量多的節(jié)點有更多機會參與,能量少的節(jié)點避免過早死亡,整體范圍上增加了網(wǎng)絡節(jié)點存活量、延長了生命周期。
考慮到節(jié)點的自私性,在獲得目的節(jié)點或上一節(jié)點的報酬后發(fā)送ack卻少付或不付給下一節(jié)點,此時下一節(jié)點對其計數(shù)減1,并廣播計數(shù)情況,正常付給報酬則不廣播改變計數(shù)。
設置閾值W=1,當對其計數(shù)w小于1時,節(jié)點將其定義為騙子節(jié)點,在一個較大時間內(nèi)將其排出網(wǎng)絡,拒絕為其轉發(fā)數(shù)據(jù),使其無法收益,一定時間后將計數(shù)恢復到1。
為了對算法進行測試和分析,使用MATLAB進行仿真實驗。實驗是由100個傳感器節(jié)點隨機分布在100 m×100 m的范圍內(nèi)。其中Eelec=50 nJ/bit,多徑衰減模型εmp=0.001 3 pJ/(bit×m4),εfs=10 pJ/(bit×m4),每個節(jié)點的初始能量為2 J/node,w=5,節(jié)點接收單位數(shù)據(jù)的能耗和數(shù)據(jù)融合能耗為γ=5 nJ/bit。
圖4為一段時間內(nèi)是否使用VCG對總支付的影響,直接根據(jù)最低競拍節(jié)點報價標價支付,則總支付高出使用VCG機制后的支付值,自私節(jié)點的虛高報價使路徑支付過高,容易導致預算超支問題。這表示基于VCG思想的標價機制,能有效均衡網(wǎng)絡總支付,降低預算超支概率。
圖4 VCG機制下時間與總支付關系曲線
圖5是存活節(jié)點數(shù)量時間圖。部分算法中檢測不良節(jié)點并避開,只同合作節(jié)點進行合作,使得部分節(jié)點過度消耗死亡,部分節(jié)點不能充分利用,剩余存活節(jié)點較少。文中算法激勵合作,同時考慮節(jié)點能量、距離等因素,在競拍時有效利用高剩余能量短發(fā)送距離節(jié)點,均衡網(wǎng)絡節(jié)點能耗,使得節(jié)點存活數(shù)量較多。
圖5 剩余節(jié)點數(shù)量時間
圖6為一段時間后節(jié)點收益圖,信譽都有變化,且信譽高的節(jié)點總收益明顯高于信譽低的節(jié)點。這是由于節(jié)點信譽變低后,稅收變高競拍成功幾率變低,參與轉發(fā)獲取報酬的機會減少,故此總收益會低于信譽高的節(jié)點,對于理性節(jié)點不支付下一節(jié)點報酬的行為會減少,促進節(jié)點間良好協(xié)作,少部分信譽低節(jié)點收益高,是由于上一輪不傳遞報酬,但大部分節(jié)點信譽等級同收益成正比。
圖6 節(jié)點收益
提出了一種基于VCG的無線傳感器網(wǎng)絡路由算法,考慮能耗條件使用拍賣博弈激勵,有效促進自私節(jié)點合作,結合支付機制與信譽機制提高了節(jié)點數(shù)據(jù)轉發(fā)量。在考慮節(jié)點自私情況下,結合VCG機制思想,控制節(jié)點過高虛假報價,有效均衡路徑總支付。但是文中考慮節(jié)點理性,無惡意攻擊篡改等,在以后的研究中會將非理性節(jié)點惡意攻擊這些情況進行完善,并設計到算法中。