APP下载

机会网络蓝牙设备唤醒调度机制研究

2014-08-03何文德彭绍亮

计算机工程与科学 2014年7期
关键词:蓝牙数据包能耗

叶 晖,潘 怡,何文德,彭绍亮

(1.长沙学院计算机科学与技术系,湖南 长沙 410083;2.国防科学技术大学计算机学院,湖南 长沙 410073)

1 引言

蓝牙[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节总结全文并提出了下一步工作的方向。

2 BWM策略设计

2.1 能耗问题分析

本节首先对BWM所涉及的蓝牙设备能耗问题进行分析。蓝牙系统采用一种无基站的灵活组网方式,蓝牙系统的网络结构的拓扑结构有两种形式:散射网络(Scatternet)和微微网(Piconet)。蓝牙协议规范为保证兼容性,约定在数据传输过程中,除了点对点数据传输场景外,一个主设备还可以与七个从设备相连,以主设备为中心形成一个星型微微网络进行数据传输。

然而,在现实数据传输场景中,使用一个蓝牙主设备和七个从设备同时相连来进行文件数据传输的情况非常罕见,因此过多不必要查询从设备的次数导致过多电能消耗的增加。另外,在实际应用中,节点待机状态时消耗的能量较少,而在数据传输与收发状态时会消耗节点大部分电池能量。如传输收发状态下的GEC DE6003芯片约消耗2.4 W电能,而在待机状态下仅仅消耗0.05W电能[9]。

除此之外,在新版蓝牙协议规范中对文件安全传输的要求有所提高,导致在文件传输阶段的蓝牙主设备电能消耗上升,而在实际应用中,主从设备在连接建立后均可以进行数据收发,因此可通过角色切换功能将主设备切换为从设备以降低电能消耗。

2.2 BWM状态模型

基于上节讨论, 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保持同步。

2.3 BWM唤醒调度策略

在上节模型的关键蓝牙状态里,有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),其参数值设置在后续实验章节说明。

3 实验及结果

3.1 仿真环境与参数设置

仿真实验平台为NS2[10],在NS2上我们安装了UCBT开源蓝牙模拟器[11]。考虑到目前主流选择,实验设置蓝牙数据包类型为DH3,这种包类型的最大有效载荷长度αdata为1 464位。对于数据传输速率,考虑到大数据量传输,选择为EDR增强传输速率模式,这种情况下v为3 Mbit/s。实验场景设置四个AP节点和100个普通节点,当普通节点经过AP节点时可以从AP节点下载或上传数据,普通节点的移动规律遵循随机行走模型。节点之间可以互相通讯。参与比较算法为BWM、EWSS[8]和Bluetooth[1]。

3.2 仿真结果分析

本节给出了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 数据发送性能比较

4 结束语

目前机会网络中手持蓝牙设备电池不足问题普遍存在,本文首先分析蓝牙设备电池能耗问题,建立了关于蓝牙涉及能耗的数据传输模型,通过对唤醒调度策略中关键参数进行设置并以此为基础对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.

猜你喜欢

蓝牙数据包能耗
蓝牙音箱的直线之美
120t转炉降低工序能耗生产实践
能耗双控下,涨价潮再度来袭!
探讨如何设计零能耗住宅
日本先进的“零能耗住宅”
SmartSniff
简单、易用,可玩性强Q AcousticsBT3蓝牙音箱
适合自己的才是最好的 德生(TECSUN) BT-50蓝牙耳机放大器
紧急:蓝牙指尖陀螺自燃!安全隐患频出
视觉注意的数据包优先级排序策略研究