葉 暉,潘 怡,何文德,彭紹亮
(1.長沙學院計算機科學與技術系,湖南 長沙 410083;2.國防科學技術大學計算機學院,湖南 長沙 410073)
藍牙[1]是一種市場與技術成熟度較高的短距離通信(一般10 m內)的無線電技術,能在包括手機、筆記本電腦、PDA、無線耳機、相關外設等眾多設備之間進行數據分享交換。在這種背景下,進行文件的共享傳輸成為藍牙設備的一個重要功能。然而,電池能量受限是目前移動設備的一個很顯著的瓶頸問題。各大移動設備廠商都致力于盡可能延長電池待機使用壽命,另一方面,由于機會網絡的連通性較差。這導致節點數據傳輸機會成為最重要的網絡資源之一。因此,設計有效的藍牙節點喚醒調度機制來降低能耗,同時還能保證數據得到有效的傳輸機會,這是一個值得深入研究的問題。目前絕大多數的藍牙無線節點可以在高頻長距和低頻短距這兩種不同的無線射頻頻率模式下運行。低頻短距離掃描半徑長度約為10 m左右,而高頻長距離范圍長度可達100 m左右。一般而言,首先設備會啟動低頻短距模式來掃描發現其他鄰居節點設備,當掃描發現對方設備后可以切換到高頻長距模式來進行數據傳輸。
目前已有的研究[2~5]表明,相比高頻長距模式,低頻短距模式狀態下藍牙設備的電源消耗可以得到顯著降低。如文獻[2]中指出在適當的場景中通過關閉高頻長距離模式,啟用低頻短距離模式運行設備可使節點生命周期延長并降低能耗。而文獻[3~5]在文獻[2]的基礎上進行了相應改進與拓展,根據不同應用場景進行檢測,采用動態優先級調度模式來盡可能延長低頻短距離使用周期等等。我們在文獻[6]中以IEEE 802.11為通訊協議對機會網絡節點喚醒調度機制進行了探討。Ekstrom M C等人在文獻[7]中利用小功率輕型模式設計思路提出了一種低能耗的藍牙射頻思路模型,而文獻[8]則提出一種有效節能的節點喚醒調度機制EEWS,該機制從數據收集與匯聚角度進行了節能設計。在經典移動自組網絡場景中,由于網絡具有較強的連通性,使得網絡連通狀態并不會被單個或少數節點的休眠所破壞。然而在機會網絡中,設計節點喚醒調度機制時必須要考慮機會弱連通性的特點,確保節點休眠不會損害節點數據有效傳輸帶寬這一重要因素。因此,本文基于我們之前的研究成果[6]提出了一種機會網絡藍牙設備喚醒調度機制BWM(Bluetooth-Wakeup-Mechanism),該設備喚醒調度機制基于藍牙協議規范中通訊模型對設備所處狀態進行判定,以節點有效傳輸帶寬為性能下界,在保證正常通訊的前提下分析研究休眠調度機制中的關鍵參數以及參數關系,以此來對移動設備運行過程中動態調整藍牙喚醒周期與休眠周期長度,從而較好平衡并優化了數據有效發送率和設備能耗。
本文的組織結構如下:第2節詳細說明BWM的設計思路,并對喚醒調度機制設計所涉及的相關問題進行了討論;第3節給出了BWM的性能評估與實驗結果并進行了相應的分析;第4節總結全文并提出了下一步工作的方向。
本節首先對BWM所涉及的藍牙設備能耗問題進行分析。藍牙系統采用一種無基站的靈活組網方式,藍牙系統的網絡結構的拓撲結構有兩種形式:散射網絡(Scatternet)和微微網(Piconet)。藍牙協議規范為保證兼容性,約定在數據傳輸過程中,除了點對點數據傳輸場景外,一個主設備還可以與七個從設備相連,以主設備為中心形成一個星型微微網絡進行數據傳輸。
然而,在現實數據傳輸場景中,使用一個藍牙主設備和七個從設備同時相連來進行文件數據傳輸的情況非常罕見,因此過多不必要查詢從設備的次數導致過多電能消耗的增加。另外,在實際應用中,節點待機狀態時消耗的能量較少,而在數據傳輸與收發狀態時會消耗節點大部分電池能量。如傳輸收發狀態下的GEC DE6003芯片約消耗2.4 W電能,而在待機狀態下僅僅消耗0.05W電能[9]。
除此之外,在新版藍牙協議規范中對文件安全傳輸的要求有所提高,導致在文件傳輸階段的藍牙主設備電能消耗上升,而在實際應用中,主從設備在連接建立后均可以進行數據收發,因此可通過角色切換功能將主設備切換為從設備以降低電能消耗。
基于上節討論, BWM基本數據通信模型可由圖1表示。其中,藍牙數據通訊中的重要節能狀態已列在該模型狀態流程圖中,虛線以上部分屬于藍牙主設備通訊過程,包括三個藍牙主要通訊狀態,按照順序依次為IQ (Inquiry,主設備查詢狀態)→AM (Active Master,主設備活動狀態)→PM(Park Master, 主設備Park狀態)。其中,是否進入PM狀態取決于主設備電量,若電量充足則可進入此狀態,若電量在較低水平則進入SB(Stand By)狀態。虛線以下部分屬于藍牙從設備通訊過程,包括三個藍牙從設備主要通訊狀態,按照順序依次為IPS(slave Inquiry Page Scan,從設備查詢掃描狀態)→AS(Active Slave, 從設備活動狀態)→PS(Park Slave, 從設備Park狀態)。其中,是否進入PS狀態取決于從設備電量,若電量充足則可進入此狀態,若電量在較低水平則進入SB狀態。

Figure 1 BWM state model圖1 BWM狀態模型
圖1中主從設備均包含如下主要步驟,從SB狀態開始:
(1)101步驟:A進入IQ狀態,在該狀態A通過廣播查詢包來掃描確認對方設備的存在。 在此過程中藍牙協議獲取藍牙設置中的前置固定數據包頭長度,有效數據載荷的包長度以及單個數據包所能容納最大數據載荷,通過對應參數計算允許發送的數據包最大長度,計算成功之后表明主設備A可以向從設備B發送文件。
(2)201步驟:從設備B在此過程預備建立連接。在接收到查詢包后,分析并建立藍牙協議進行打包并校驗一個數據包所需時間,之后進入IPS狀態并響應A的查詢數據包。
(3)102步驟:主設備A收到從設備B的響應數據包后,主設備A確定藍牙建立的連接類型以及對應的數據包類型,查詢獲取藍牙設備在數據傳輸周期中的傳輸模式Tmode﹑連接類型Contype﹑包類型Packtype﹑傳輸速率Vspeed這四個通訊配置參數的信息。建立通訊連接后并進入AM狀態。
(4)202步驟:此階段從設備B預備接收文件數據。在收到發送數據請求后,確定藍牙建立的連接類型以及對應的數據包類型,之后響應請求并進入AS狀態。
(5)103步驟:在此階段主設備A會處于AM狀態。在此過程開始前,主設備A獲取藍牙設置中的前置固定數據包頭長度,有效數據載荷的包長度以及單個數據包所能容納最大數據載荷,通過對應參數計算允許發送的數據包最大長度,計算出結果后,主從設備開始文件數據傳送至數據傳輸結束。
(6)203步驟:在此過程開始前,從設備B獲取藍牙設置中的前置固定數據包頭長度,有效數據載荷的包長度以及單個數據包所能容納最大數據載荷,同樣通過對應參數計算允許發送的數據包最大長度,計算出結果后,從設備依據自身接收能力與主設備進行協商,協商結果一致后開始進行文件傳送至數據傳輸結束。
(7)104步驟:在此階段主設備A會結合16位長度的數據CRC校驗碼以及向前糾錯的速率來計算藍牙物理層發送一個數據比特位所需時間。之后進一步獲取發送整個文件預計所耗費的總時長,并將結果通知從設備B。數據文件發送結束后,主設備A根據當時電量水平進行判定,若電量水平處于較低狀態,則進入SB狀態,如果電量充足或處于正常水平,則進入PM狀態。
(8)204步驟:在此階段從設備B會結合16位長度的數據CRC校驗碼以及向前糾錯的速率來計算藍牙物理層接收一個數據比特位所需時間。之后進一步獲取接收整個文件預計所耗費的總時長,并將結果通知主設備A。文件數據傳輸完畢后,從設備B電量若處于正常水平,可以轉入PS狀態,否則進入SB狀態。
(9)105步驟:在PM狀態中,主設備A通過待機與等待響應空閑周期時長值來計算數據不在打包校驗處理周期內所花費的平均能耗,并根據藍牙待機與等待響應空閑周期內所花費平均能耗來選擇是否通過周期性發數據包來與B保持同步。
(10)205步驟:在PS狀態中,從設備B通過待機與等待響應空閑周期時長值來計算數據不在打包校驗處理周期內所花費的平均能耗,并根據藍牙待機與等待響應空閑周期內所花費平均能耗來選擇是否通過周期性發數據包來與A保持同步。
在上節模型的關鍵藍牙狀態里,有IQ與IPS、AM與AS這四個與能耗緊密相關的狀態。以此為基礎,在確保數據有效傳輸量為前提的條件下BWM對喚醒調度機制中的關鍵參數關系進行了研究,并基于我們之前的工作[6]對喚醒周期間隔長度進行控制。在BWM的掃描查詢(IQ, IPS)與數據通訊階段中,本文定義兩個關鍵參數如圖2所示。
(1)喚醒周期窗口w:節點wakeup的時間周期長度,其時長必須保證節點至少可發送一個查詢控制包。
(2)喚醒間隔周期Pw:連續兩個喚醒窗口之間的時間周期長度。

Figure 2 BWM node communication process圖2 BWM節點通訊過程
在IQ與IPS階段,每個w時長內節點會發送查詢數據包用于掃描通訊范圍內的鄰居節點;在通訊(AM與AS)階段,節點將緩沖數據隊列發送給IQ與IPS階段中建立連接的附近節點。其中Pw參數值設置是影響到節點數據發送性能與能量消耗的關鍵。當間隔周期較短時,節點與相鄰節點的交互(Contact)機會增加,從而提高了節點發送數據性能。基于此,Pw值的基本設置策略是在IQ與IPS階段確保有盡可能多的節點交互機會,而在AM與AS階段,BWM設置策略是保持發送數據性能處于可以接受的性能波動幅度內,在此基礎上同時再盡量降低節點能量消耗。對此性能波動幅度,我們實驗設置的范圍是±5%,限于篇幅,這里不做深入探討,性能波動幅度值設置對整體發送策略的影響是我們下一步研究的方向。
在BWM策略中,為方便描述,節點在交互過程中有如下定義:
(1)t:節點之間在一次Pw間隔內發生交互的時間點;
(2)Cij:一次交互的周期時間長度;
(3)速率Vα:發送節點在單位時間間隔內與鄰節點的交互次數。
本文假定t在Pw間隔期間內的值服從泊松分布[5],即t~P(0,Pw)。若節點喚醒時間間隔小于兩個節點交互周期長度,則說明該交互周期與喚醒時間周期有交叉重疊,可以被發現,這種情況下的交互為有效交互,否則視為無效交互。則BWM策略中Pw取值應滿足如下的關系表達式:
Eij(Pw)*Vα*Be>Sdata
(1)
其中,Eij(Pw)為喚醒時間間隔內有效交互時長的數學期望值,Be為節點用于發送數據的有效帶寬,Sdata為節點緩沖區內待發送隊列數據量,Vα值可從節點相遇時交換自身的歷史相遇記錄中獲得。最后,有效交互時長Eij(Pw)值可按如下方式獲取:當交互周期與喚醒時間周期有交叉重疊時,該交互可以被發現,即Cij-(Pw-t)> 0,為有效交互,節點在有效交互周期內可以發送數據。因此,當Cij>Pw時,可通過式(2)來計算關于Pw值的有效交互周期長度的數學期望。
(2)
基于上述分析,為了保證節點發送性能,確保有效帶寬大于數據發送總量。在此前提下,為了盡可能降低能耗,Pw取滿足該關系式集合的最大值。

(3)
其中,αsize為發送隊列數據的尺寸大小,αdata表示藍牙單個數據包所能容納最大有效數據載荷。tque為藍牙物理層傳輸一個數據包所需時間(單位為μs),其值可以計算如下:

(4)
其中,Tx表示一個藍牙基本時間槽(Time Slot)的時間長度,其值為1 μs,tjitter表示抖動偏移量,tdrift為每個時間槽開始的基本偏移量,toffset表示藍牙硬件層實現所需的一個時間位移量,這三個偏移量總和值范圍一般在30 μs至50 μs,本文采取保守策略,取其最大偏移值50 μs;sizedata為物理層單個數據包的長度;v表示藍牙物理層數據傳輸速率(單位為bps),其參數值設置在后續實驗章節說明。
仿真實驗平臺為NS2[10],在NS2上我們安裝了UCBT開源藍牙模擬器[11]。考慮到目前主流選擇,實驗設置藍牙數據包類型為DH3,這種包類型的最大有效載荷長度αdata為1 464位。對于數據傳輸速率,考慮到大數據量傳輸,選擇為EDR增強傳輸速率模式,這種情況下v為3 Mbit/s。實驗場景設置四個AP節點和100個普通節點,當普通節點經過AP節點時可以從AP節點下載或上傳數據,普通節點的移動規律遵循隨機行走模型。節點之間可以互相通訊。參與比較算法為BWM、EWSS[8]和Bluetooth[1]。
本節給出了BWM性能評估的結果。圖3顯示的為不同數據發送負載下節點能量消耗比較。首先, EWSS與未采用喚醒調度策略的Bluetooth節點從整體來看數據發送量與能量消耗成正比關系,而BWM性能處于兩者區間之內。在數據發送量小于40情況下,由于負載影響還不是很大,BWM與EWSS性能區別并不明顯,而未采用喚醒調度策略的Bluetooth節點能耗上升明顯。當數據發送量逐漸增加大于40之后,可以看出EWSS性能最優,始終處于下方,這是由于BWM對喚醒間隔與有效交互時長做了約束與判別,從而對能耗達到一個有效控制的目的。最后,由于數據發送負載逐漸增加使得滿足發送性能的Pw值在滿足性能波動幅度內隨著數據傳輸量增加而減小,形成一個反比關系,在圖中體現為節點能耗總體呈現為向上的趨勢。

Figure 3 Comparison of energy consumption under different data loads圖3 不同數據負載下能耗比較
之后我們對系統運行一段時間穩定之后的網絡流量進行了測試,得到了不同數據發送速率下各算法能耗比較結果,如圖4所示。

Figure 4 Comparison of energy consumption under different data rates圖4 不同數據速率下能耗比較
由圖4可以看出,在發送同等數據量的前提下,當數據發送速率提高時所有算法能耗均表現出一個下降趨勢。這是由于數據發送時間槽得到充分利用,避免了潛在數據發送延遲以及降低了數據發送要經歷兩個有效交互周期的幾率。其中,BWM性能從總體而言要優于未采用調度策略的Bluetooth節點,其節點能耗曲線基本位于未采用喚醒調度策略節點能耗的下方,而EWSS由于利用了數據匯聚和基于簇的設計,性能總體表現最佳。
而圖5顯示是三種算法數據發送性能結果比較。從圖中可以看出,當網絡負載流量處于0~60時,EWSS、BWM和未采用喚醒調度策略的Bluetooth節點相比,數據流量對三種策略性能差異影響并不明顯,當網絡負載流量處于較大值時(80~120),Bluetooth節點發送性能略優于BWM策略,這是由于BWM為降低能耗對喚醒調度時間間隔進行了約束,因而相比較性能略有下降。而EWSS由于額外考慮了數據匯聚的開銷,因此性能下降也較為明顯。總體而言,三種策略隨數據負載增加數據發送性能下降幅度處于10%~15%,但三者之間差異并不大。

Figure 5 Performance comparison of data delivery圖5 數據發送性能比較
目前機會網絡中手持藍牙設備電池不足問題普遍存在,本文首先分析藍牙設備電池能耗問題,建立了關于藍牙涉及能耗的數據傳輸模型,通過對喚醒調度策略中關鍵參數進行設置并以此為基礎對BWM進行了設計。仿真實驗數據分析表明,BWM能夠在保證數據發送性能的前提下有效降低節點能耗。
[1] Bluetooth sig, core specifications of Bluetoot h v. 2.1+EDR[EB/OL].[2012-12-26]. available for download on http://www.bluetooth.com.
[2] Feeney L M, Nilsson M. Investigating the energy consumption of a wireless network interface in an ad hoc network [C]∥Proc of the 20th IEEE INFOCOM, 2001:1548-1557.
[3] Sorber J, Banerjee N, Corner M D, et al. Hierarchical power management for mobile devices [C]∥Proc of the 3rd International Conference on Mobile Systems, Applications, and Services (MobiSys), 2005:261-274.
[4] Jun H,Ammar M,Corner M,et al.Hierarchical power management in disruption tolerant networks with traffic-aware optimization[C]∥Proc of ACM Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (Sigcomm), 2006:245-252.
[5] Jun H, Ammar M H, Zegura E W. Power management in delay tolerant networks:A framework and knowledge-based mechanisms[C]∥Proc of Annual IEEE Communications Society Conference on Sensor and Ad Hoc Communications and Networks (SECON), 2005:418-429.
[6] Tang Fei-yue, Ye Hui, Zhao Ming. Node wake-up scheduling mechanism for opportunistic networks[J]. Computer Engineering and Applications, 2011,47(26):1825-1829.(in Chinese)
[7] Ekstrom M C, Bergblomma M, Linden M, et al. A bluetooth radio energy consumption model for low-duty-cycle applications [J]. IEEE Transactions on Instrumentation and Measurement, 2012, 61(3):609-617.
[8] Wu Y,Li X-Y,Liu Y,et al.Energy-efficient wake-up scheduling for data collection and aggregation[J]. IEEE Transactions on Parallel and Distributed Systems, 2010, 21(2):275-287.
[9] Negri L, Sami M, Macii D, et al. Fsm-based power modeling of wireless protocols:The case of bluetooth[C]∥Proc of the 2004 International Symposium on Lower Power Electronics and Design, 2004:369-374.
[10] NS-2[EB/OL].[2012-12-26].http://www.isi.edu/nsnam /ns/.
[11] UCBT[EB/OL].[2012-12-26]. https://www.ececs.uc.edu/cdmc /ucbt.
附中文參考文獻:
[6] 唐飛岳,葉暉,趙明.機會網絡節點喚醒調度機制研究[J].計算機工程與應用,2011,47(26):1825-1829.