基于TinyOS的低功耗WSN广播协议设计与实现

2017-10-23 00:40史培中
无线互联科技 2017年19期
关键词:无线传感器网络低功耗广播

史培中

摘 要:文章针对低功耗WSN的多跳广播问题,摆脱异步睡眠调度下利用单播实现广播的转发模式,给出基于TinyOS的低功耗WSN廣播协议的设计,包括低功耗WSN广播主干构建、广播转发条件判定、广播的时延保障和基于睡眠调度可调的广播优化。该协议的各组件可通过连接的方式应用于现有协议的集成或开发,也可用于广播支持的研究,比如低功耗WSN的网络配置控制信息广播、低功耗WSN的事件通知和低功耗WSN的密钥管理与分发等。

关键词:无线传感器网络;低功耗;TinyOS;广播

无线传感器网络(Wireless Sensor Networks,WSN)作为新型无线网络,是当前国际上非常关注的、一种多学科交叉技术,具有相当广泛的应用前景[1]。在能量受限制的无线传感器网络中,为了尽量延长网络的生命周期,往往引入睡眠调节的节能机制[2],即低功耗WSN。该网络中节点周期性地进行监听和睡眠状态,发送节点需等待接收节点唤醒后进行数据包的转发,节点之间的连接呈现间歇性特征。因此,该节能机制对数据传输造成不可忽略的影响,如单次广播可能会由于某些节点处于睡眠状态而接收失败,无法保障广播的覆盖率。

1 低功耗WSN广播协议设计的必要性

广播是无线传感器网络中的一项重要服务,特别是对于代码更新、远程网络配置和路径发现等起到关键的作用。然而,无线信道的广播特性不能被很好地利用,导致已有的广播优化算法不能保证广播的覆盖性。根据节点间睡眠调度时间是否需要同步,可分为同步和异步两种调度方式。相比与同步方式,异步睡眠调度节能机制开销非常小,灵活性高而且操作非常方便,能够有效地减少能量的消耗,非常适合在动态变化的网络拓扑结构中使用,并且在低流量网络中能展现其能效性优势。

已有的相关广播协议普遍采用仿真工具进行测试,在真实环境中的性能有待于进一步验证。作为一个面向WSN应用的实用性协议,它必须能够很好地被集成于现有的网络协议框架中。因此,为了更好地满足实际应用的需求,利用了加州大学伯克利分校为嵌入式无线传感器网络设计开发的开源系统TinyOS[3-4],采用基于组件的MAC协议体系结构来完成协议的设计,方便开发者快速将其集成于所需要的MAC协议中,满足特定应用具体需求。

2 低功耗WSN广播协议设计

2.1 广播主干的构建

为了减少整个网络中多跳广播的广播次数、避免冗余传输和节约能耗,一种最行之有效的方法就是尽可能选择很少的转发节点来承担广播转发任务,避免由于通常所采用的盲目泛洪(Blind Flooding)引起的广播风暴问题(Broadcast Storm)。已有的方法是将该类问题归约为NP-Complete的最小连通支配集(Minimum Connecting Dominating Set,MCDS)问题。然而,静态的MCDS不适用于间歇性连接的低功耗WSN的广播主干构建。本文采用SHI等[5]提出的分布式广播主干构造算,其主要思想是:网络中每个节点从邻居节点中选择节点度最大的节点作为父节点,该父节点必须是已经完成其父节点选择的节点。为了构造网络的广播主干,网络初时化阶段中的所有节点保持唤醒状态,并仍然在唤醒计时器过期时发送一个唤醒信标报文,用于通知邻居节点。

2.2 广播转发条件的判定

针对低功耗WSN的多跳广播问题,相关研究采用单播的转发策略。该广播机制本质上是以若干次的重复单播转发为代价,来保证间隔性唤醒的节点广播接收。但对于大规模的低功耗WSN而言,这种单播的替代方案并不能很好地减少广播次数,将直接导致广播干扰和碰撞,甚至广播风暴问题。本文采用延迟广播转发策略[5],其广播转发判定条件的可表示为:

(1)

(2)

其中,T(k)表示此次广播转发过程中,自第k-1个邻居节点唤醒后,估计第k个邻居节点唤醒的平均时间;Tw(k)表示等待第k个邻居节点唤醒的实际等待时间;Ptx和Pidle分别表示节点处于传输状态和空闲监听状态的单位时间能耗;Ts表示节点的睡眠调度时间间隔;k表示此次延迟广播转发中已经唤醒的节点数量;Tb和Tp分别表示唤醒信标报文和短前导报文的传输时间;α(α≥1)表示等待时间ΔT(k+1)的收益比,使得广播转发节点判定此次延迟广播转发是值得的。当α值设置足够大时,该延迟广播转发策略将退化为单播转发模式。从式(1)和(2)给出的延迟广播转发策略的判定条件主要与5个因素相关:从广播转发节点接收到广播报文后的总活跃时间Ta(a);广播转发节点的孩子节点数量|CN(ni)|;已经处于唤醒状态的孩子节点数量Nw;已经处于唤醒状态等待该广播报文p的节点数量;广播报文的传输时间T0。

2.3 广播时延的保障

面向QoS需求的低功耗WSN,时延作为网络性能的性能指标之一,要求广播报文在设定的时间内广播到整个网络。对于广播主干任意两点节点ni和节点nj之间可容忍的时延Tdelay(ni,nj)可以利用广播报文的剩余的TTL值来估计:

(3)

其中,TTL(p)表示广播报文p的剩余TTL值;hb(nj)表示通过广播转发节点nj离最远的叶子结点的广播转发跳数。因此,广播报文在QoS时延约束的可容忍时延Tdelay(ni,nj)下,式(1)转化为广播时延保障的延迟广播转发判定条件:

(4)

其中,Test表示估计的传输时间,且Test=Ta(k)+ΔT(k+1)+T0。第一种情况表示广播转发等待时间ΔT(k+1)能够被节点ni和节点nj之间的时延约束Tdelay(ni,nj)所容忍。第二种情况则表示节点ni无法容忍等待时间ΔT(k+1),将立刻执行广播转发。

2.4 基于睡眠调度可调的广播优化

上述广播转发策略基于节点睡眠调度固定且不可调的情况下,根据2.2节中式(1)和(2)广播转发判定条件或2.3节中式(4)广播时延保障的广播转发判定条件实现广播转发。然而,如果当节点的睡眠调可调(这里的可调指的是节点的睡眠调度时间间隔Ts不变,通过调整节点之间的唤醒间隔和唤醒顺序,使节点之间的唤醒保持某种同步的状态),可使式(1)、(2)和式(4)的判定条件尽可能被满足,则广播代价随之减少,实现广播转发策略进一步得到优化。本文采用先前提出的基于睡眠调度可调的分布式准同步广播算法[6],实现广播转发节点和其接收节点之间的自适应睡眠调度调整,包括早睡节点处理、晚醒节点处理和孤立节点处理。endprint

3 低功耗WSN广播协议实现

TinyOS是专为嵌入式无线传感网络设计的基于构件(Component-based)的操作系统,可以将开发的组件连接到相应的组件中,实现协议的集成和整合完成所需要的功能,同时使协议快速更新成为可能。基于TinyOS的低功耗WSN广播协议设计如图1所示,其中包括各组件之间的连接关系。

(1)低功耗监听的睡眠调度:MacControlC组件提供了LowPowerListening接口的实现,为应用层提供接口,实现应用层的睡眠调度周期Ts(睡眠间隔)的设置。MacControlC组件使用SenderC组件使用的LowPowerListening接口,该接口的具体实现则是由组件LplPacketC组件来提供,通过调用ChannelPoller接口的命令来实现。ChannelPoller接口的具体实现由ChannelPollerC组件来提供。另外,当唤醒时刻到来时,ChannelPollerC組件通过调用LplBeaconC组件的BeaconControl接口启动唤醒信标报文的发送。

(2)处理和发送来自应用层的报文:SenderC组件使用AsyncSend接口监听来自应用层的报文,并负责缓存单播和广播报文。对于缓存队列中的广播转发报文,SenderC组件将调用BroadcastForwarderC组件的BroadcastSend接口中的Send命令,则BroadcastForwarderC组件将启动广播转发处理过程,LplBeaconC组件开始等待即将到来的信标通知报文。LplBeaconC组件主要用于负责唤醒报文(Wakeup Beacon)的发送,其中发送时刻是当ChannelPollerC组件中唤醒计时器WakeupTimer到期。唤醒计时器WakeupTimer则是通过调用BeaconControl接口的start命令来启动和运行。

(3)接收和处理来自底层无线信道的报文:对于收到的信标报文,LplBeaconC组件主要负责两部分任务:邻居表的更新及维护和父节点的选择及更新。当路由更新计时器UpdateTimer过期时(即当节点发送完信标报文后的Ts时刻,其中Ts为睡眠间隔),将运行分布式广播主干构造算法。广播主干中的广播转发节点对于收到的广播报文,利用ListenerC组件中的Receive事件通知上层,并且调用BroadcastForwarderC组件中BroadcastSend接口的Send命令转发接收到的广播报文。

(4)本文将2.4节中基于分布式的准同步机制实现在该协议框架内的LplBeaconC组件中,基于收到广播接收节点的信标报文,通知其调整睡眠调度,使得广播接收节点唤醒时间晚于广播转发节点,时间差可控制在一定随机退避时间内,达到伪同步的状态。该随机退避时间可根据式(1)和(2)中的判定因素来设置,比如唤醒时间间隔和广播转发节点的孩子节点数量。

4 结语

节能是无线传感器网络的首要设计目标,低功耗WSN通过引入睡眠调度机制延长网络寿命具有的应用前景。本文摆脱了异步睡眠调度下利用单播实现广播的转发模式,给出基于TinyOS的低功耗WSN广播协议的设计与实现,可通过组件连接的方式应用于现有协议的集成或开发,具有一定的实用性价值。下一步将从事低功耗WSN下以广播为支撑的相关研究,比如低功耗WSN的网络配置控制信息广播、低功耗WSN的事件通知和低功耗WSN的密钥管理与分发等。

[参考文献]

[1]向凤红,孔庆平,毛剑琳,等.基于ZigBee的低功耗无线传感器网络改进协议[J].传感器与微系统,2017(3):33-36.

[2]柴韬.低功耗技术在无线传感器网络中的研究与设计[J].无线互联科技,2017(8):16-17.

[3]LEVIS P,MADDEN S,POLASTRE J,et al. TinyOS:an operating system for sensor networks[J].Ambient Intelligence,2004(5):383-396.

[4]潘浩,董启芬,张贵军,等.无线传感器网络操作系统TinyOS[M].北京:清华大学出版社,2011.

[5]SHI PZ,WANG Y,LI K,et al. Delay-constrained and energy-balanced broadcasts for low duty-cycled wireless sensor networks[J].Local Computer Networks,2014(2):284-287.

[6]WANG Y,SHI PZ,LI K,et al. DQSB:A reliable broadcast protocol based on distributed quasi-synchronized mechanism for low duty-cycled wireless sensor networks[J].International Journal of Wireless & Mobile Networks,2012(3):65-85.endprint

猜你喜欢
无线传感器网络低功耗广播
一种高速低功耗比较器设计
STK及IGS广播星历在BDS仿真中的应用
广播发射设备中平衡输入与不平衡输入的转换
无线传感器网络技术综述
网络在现代广播中的应用
最早的无线电广播
ADI推出三款超低功耗多通道ADC
IDT针对下一代无线通信推出低功耗IQ调制器
低功耗加权cache替换策略