LDC&LC节能MAC方法与流程

文档序号:11846184阅读:367来源:国知局
LDC&LC节能MAC方法与流程

本发明属于计算机应用与物联网结合的技术领域。



背景技术:

无线传感器网络(WSN)在不同的应用领域越来越具有吸引力,由于其监控范围广,无需人为值守的优点,被广泛应用于工业自动化,安全监测,天气分析和一些军事方案等。但传感器node电池能量的有限性,也直接影响了node和网络的生存Cycle,阻碍了WSN的进一步发展应用,因此,如何提高能源利用效率,研究设计相关的节能方法,成为这个领域的热点问题。

对于无线传感网络中的node,能量主要消耗在监测信息与数据收发上,而除了这些必要的能量消耗,对于媒质访问控制层(MAC,medium access control),像Collision重传,串音,空闲Snooping,控制信息过多,发送失效等这些情况也会浪费不必要的能量。MAC层方法是控制信息和数据报文在无线信道上进行收发的直接控制者,在确定网络的throughput、delay、带宽利用率和能量消耗上起着重要作用,也会间接的影响上层路由方法和传输方法的性能。所以,研究设计高效的MAC方法是确保WSN服务质量的关键问题,如图1所示。

根据数据收集方式的不同,WSN的应用模式大致可以分为三类:Cycle性感知、事件驱动型感知和查询驱动型感知。Cycle性感知即传感器node按照固定的Cycle监测和传送数据,其余的时间进入休眠状态以节省能量消耗;事件驱动型感知即当关注事件发生时,传感器node才会进行数据的采集和传送;查询驱动型感知即传感器node在收到外部查询指令后,才开始采集或传送数据。针对不同的数据收集方式和应用场景,适用有不同的MAC方法。

根据信道访问方式的不同,MAC方法又可分为基于Scheduling的方法,基于竞争的方法以及混合型方法。对于基于Scheduling的MAC层方法,每个node传输信息的时间由Scheduling方法决定,在无线信道上的相互干扰很小,具有延时保障,但Scheduling难以调整,扩展性比较差,时钟同步性要求高。而基于竞争的MAC方法,无需全局网络信息,可扩展,易实现,但增加了冲突的可能性。

根据node的运行时间是否同步,MAC方法又主要分为两种策略,node同步策略和node异步策略。同步的MAC方法比较典型的有S-MAC、T-MAC、SCP-MAC等,S-MAC方法采用虚拟簇和设置Snooping/休眠机制来提高网络效率,网络中node采用统一的休眠策略,固定的Duty-Cycle,虽然减少了传输延迟,但其自身机制也易造成网络中大量数据Collision,浪费node能量,而且其对网络动态的适应性也较差。T-MAC方法是在S-MAC基础上的改进,其对Duty-Cycle的自适应调整使该方法更能适应网络流量的动态变化,但其存在早睡问题,会增加网络传输delay,降低网络throughput。SCP-MAC在保持高度同步的机制上,极大的缩短Snooping时间,提高了节能性,但由于对同步的较高依赖,大大增加了系统负荷。因此为了减少node对同步机制的依赖,对基于Snooping/休眠机制的异步MAC方法也有较多的研究,比如由发送node发起的B-MAC、X-MAC、O-MAC、Wise MAC和PB-MAC等.发送node发起的异步MAC方法通过发送node发送前导序列的方式,等待接收node醒来时接收后,再向发送node回复通知传输数据。而接收node发起的异步MAC方法是通过接收node发送beacon frame,发送node醒来Snooping的机制,这是一种被动的机制,但很好的解决了发送node的长前导序列和过多占用信道的问题,同时也减少了Collision串音的情况,一般情况下,这种被动的异步机制要比发送node发起的有更低的Duty-Cycle。

然而,这种被动的异步MAC方法,虽然降低了Duty-Cycle,节省了能量消耗,但针对实时复杂的网络情况,如node加入,局域网络通信任务猝发等网络动态变化,缺少实时的自适应同步update,带来的延时问题相对于同步MAC方法更加不确定。



技术实现要素:

本发明方法的目的是克服现有技术存在的上述不足,设计一种由接收node发起建立connect的低Duty-Cycle,低Collision,能够自适应网络变化update的异步MAC方法,在借鉴典型异步MAC方法的基础上,对方法进行优化改进,在保证较低Duty-Cycle与Collision率的同时引入自适应update的机制,使方法更能适应网络动态变化。

本发明在异步MAC方法的基础上进行优化改进,设计了一种新的由接收node端发起的异步MAC方法,通过相应的方法,网络中的node根据自己的信息表,分布醒来,发送node可以预测接收node醒来的时间,从而只在接收node醒来时Snooping,建立可靠地传输链路,从而大大降低了Duty-Cycle与Collision情况,同时,针对网络的动态变化,加入自适应update的机制,使方法能更加适应复杂的网络变化,保证网络在低energy consumption的同时拥有更好的鲁棒性。

本发明提供的一种LDC&LC节能MAC方法主要包括如下关键步骤:

第1、原始Cycle Scheduling:

网络初始阶段,假设为一个TPrim原始Cycle内,确定随机发送beacon time,Rand位为node是下次醒来所产生的随机Cycle,计算Rand位,加入广播frame beacon发送,网络中的node需要通过Snooping其他node发送的beacon确定自己的邻居node信息表;为了解决广播beacon frame的Collision问题引入back-off机制,在back-off时,node会对时间间隔值做计数,若计数时间间隔值大于n,n为常态值且大于网络中实际node总个数,说明接近原始Cycle末期,大部分node已成功发送beacon frame,还未成功发送beacon frame的node恢复每隔一个间隔Snooping信道,若空闲,立即发送自己的beacon frame。

第2、Predictwake-up:

接收beacon的node,即需要发送数据的node来说,在接收到邻居node的beacon后,读取beacon frame的Rand位,接收到目标node即发送beacon的node唤醒后发来的广播beacon frame,读取beacon frame中的信息,计算出下一次唤醒时间,Snooping信道,在邻居node信息表中,并update自己邻居node信息表中相对此目标node的信息;发送数据的node即接收beacon的node向目标node发送RTS数据发送请求,通过RTS、CTS、DATA和ACK建立可靠的通信链接并完成数据传送,目标node在接收完数据并发送确认frameACK之后,依旧保持Snooping信道一个TKeep时间即node发送beacon后需要保持Snooping的时间,若有数据发送请求,则继续接收数据,若没有任何请求,则进入休眠状态。

第3、Collision重connect:

采用随机back-off时间的方法,规避node同时发送请求冲突,错过connect的node在预计的时间到达后再向目标node发送connect请求,并且update自己的邻居node信息表,在对应的目标node唤醒时间上,增加等待时间差;发送node在数据传输完毕,收到目标node的ACK确认frame后,进入休眠状态,并根据自己的信息表选择下一次唤醒的时间。

第4、自适应update:

假设给定一个时间,当网络需要做全局update时,接近于这个时间醒来的接收node即发送beacon的node作为此次全局update的发起点;确定为发起点的node保持Snooping状态,不再使用原有的用于接收数据的广播beacon,而是产生全局update beacon frame,将DST位设置为-1,即网络重启beacon frame,Rand位设置为一个原始Cycle;以一个frame隙为最小时间单位,发起点广播这个重启beacon frame,Snooping一个frame隙,update beacon frame中的Rand位的数值,即在原始Cycle基础上减去经历的frame隙个数,逐渐减去,确定最终的frame隙。

本发明的优点和积极效果

本发明是在异步MAC方法的基础上进行优化,主要设计了一种拥有自适应update机制,并基于时间预测性的低Duty-Cycle异步MAC方法。方法通过一个原始Cycle的Snooping,随机确定醒来时间,避退机制使所有node不在同一Cycle内醒来Snooping并发送数据,而是相互独立占用信道。Collision重connect机制加强了网络的通信质量,自适应update机制的加入使网络适应性更强。本方法有效的降低了网络node的总体Duty-Cycle,从而降低了网络energy consumption,同时提高了数据的可靠传输和网络的适应性。

【附图说明】

图1 MAC方法方案图。

图2是方法原理图。

图3是beacon结构图。

图4是原始Cycle Scheduling图。

图5是Collision重connect原理图。

图6是全局update发起原理图。

图7是网络仿真拓扑图。

图8是仿真参数图。

【具体实施方式】

本发明设计方法中,整个原始Cycle Scheduling如图4所示,Collision重connect如图5所示。

发明设计方法的目标是设计一种由接收node发起建立connect的低Duty-Cycle,低Collision,能够自适应网络变化update的异步MAC方法,在借鉴典型异步MAC方法的基础上,对方法进行优化改进,在保证较低Duty-Cycle与Collision率的同时引入自适应update的机制,使方法更能适应网络动态变化。

本发明方法主要包括如下关键步骤:

第1、原始Cycle Scheduling:

第1.1、通过一个原始Cycle的Scheduling,确定随机发送beacon time,计算Rand位,加入广播frame beacon发送,所有nodeupdate目标node信息表。

第1.2、原始Cycle后,node进入睡眠状态,接收node随机间隔醒来,而需要发送给目标node数据的node,计算预测醒来时间TS_Wake

第2、predict wake-up:

第2.1、发送node在接收node醒来前TS_Wake时刻醒来,Snooping beacon frame并建立connect传输数据。数据传输完成,接收node会根据式继续Snooping一个TKeep时间,以免错过其他发送node的connect请求。

第2.2、若接收node未再Snooping到请求,则进入休眠状态,在下一次唤醒时间TR_Wake醒来继续发送beacon,等待connect请求。

第3、Collision重connect:

第3.1、采用随机back-off时间的方法,规避node同时发送请求冲突,错过connect的node在预计的时间到达后再向目标node发送connect请求,并且update自己的邻居node信息表,在对应的目标node唤醒时间上,增加等待时间差;

第3.2、发送node在数据传输完毕,收到目标node的ACK确认frame后,进入休眠状态,并根据自己的信息表选择下一次唤醒的时间;

第4、自适应update:

第4.1、假设给定一个时间,当网络需要做全局update时,接近于这个时间醒来的接收node即发送beacon的node作为此次全局update的发起点;

第4.2、确定为发起点的node保持Snooping状态,不再使用原有的用于接收数据的广播beacon,而是产生全局update beacon frame,将DST位设置为-1,即网络重启beacon frame,Rand位设置为一个原始Cycle;

第4.3、以一个frame隙为最小时间单位,发起点广播这个重启beacon frame,Snooping一个frame隙,update beacon frame中的Rand位的数值,即在原始Cycle基础上减去经历的frame隙个数,逐渐减去,确定最终的frame隙。

第5、网络仿真

第5.1、所有node的原始Cycle持续时间Tprim设定为10s进行测试,数据流生成间隔为10s,网络初始阶段,AP-MAC方法的energy consumption要高于X-MAC、RI-MAC、PB-MAC三者,网络运行阶段,AP-MAC方法的能量消耗速度低于其他三种方法;

第5.2、将原始CycleTprim=10s固定不变,将数据流产生时间间隔依次递增,每次增加1s直到增为10s,比较不同方法下数据流量的变化对网络的影响,RI-MAC和X-MAC通过付出高Duty-Cycle的代价,来减少延迟,PB-MAC和AP-MAC高效的预测重connect机制,保障了网络的低延迟;

第5.3、将数据流产生间隔时间设置为固定值,即10s,将node原始Cycle Tprim设置为从1s递增到10s,从energy consumption增长速度水平上,AP-MAC相对于其他三种方法更平稳,消耗能量较少,有效的预测使node提前Snooping等待时间很小,自适应的update使网络表现出更好的稳定性。

本发明的具体实施过程详述如下:

第1、原始Cycle Scheduling:

在网络初始阶段,设为一个TPrim原始Cycle内,网络中的node通过Snooping其他node发送的beacon确定自己的邻居node信息表。所有node保持Snooping状态,在TPrimCycle内选择一个随机的时间发送beacon frame,此beacon frame为广播frame,在收到广播beacon frame后,记录邻居node信息表。

原始CycleTPrim需要满足:

TPrim≥n×(TBroad+RTT)+TUncer (1)

其中,n为网络中假设node个数,TBroad为一个node发送beacon frame完成所需要的时间,RTT为node之间的最大往返传输delay,TUncer为不确定补充时间即为0到1之间的随机数,原始时间TPrim必须保证足够所有的node发送完成beacon frame,以确定邻居node信息表,如果同时有两个或多个node同时发送beacon frame,就会产生Collision重传,而且Collision的node间需要随机回避一定时隙后再重传,所以加入不确定补充时间,因为只是初始阶段的全局Snooping,所以实际取值时,完全可以取足够大的时间保证所有node beacon frame的成功发送并接收。

在本方法中,所有网络链接的构建、数据的发送都是由接收node醒来后发送beacon frame发起控制的,关于目的地址,beacon类型,及预测下次醒来的信息都应该设置在beacon frame。本方法的beacon frame在接收node发起的异步MAC方法beacon frame基础上进行改进设计,如图3所示。

其中,FL为frame长度,FCF、FCS为原有的字段,SRC位为发送node即源node的地址信息,DST位为信息目标node的地址信息。当没有确定目标时,如发送beacon frame为广播frame时,DST位可以置为0,若发送网络update的信息,则可以置为-1,作为beacon frame类型标志,Snooping的node检测到DST位为广播frame,会接收此信息来update邻居node信息表。Rand位为node为下次醒来所产生的随机Cycle,用于计算预测此接收node的下次醒来时间。

由此beacon结构可以看出,本方法相对其他异步MAC方法,对beacon的结构调整只是增加了一个Rand位,用来完成计算下次唤醒的时间,通过设置DST位不同的数值来控制beacon的类型,完成广播update操作,本方法beacon具有低开销的特征。

原始Cycle Scheduling如图4所示。

在本方法中,假设n可以不为具体的node个数,无论网络后期有新加入node或死亡node,都把n作为一个用来计算的常态值,但n的取值必须满足大于等于初始的node总个数。网络中的node开始工作后,需要通过初期的广播beacon frame确定自己大致的Scheduling Cycle,当一个node成功广播beacon frame之后,Cycle才开始运行。为了避免初始阶段网络中node广播frame的Collision,在第一个原始CycleTPrim内,node随机选择一个时刻TRand,作为自己发送广播beacon frame的时间,其中,

TRand=TBroad×Random(1,n) (2)

即node在1~n之间根据标准正态分布随机生成一个整数值,将整数倍的beacon frame发送完成时间作为自己发送beacon的时刻,这样就可以整体错开网络中node的Scheduling Cycle。但由于是随机的情况,而且当部分区域node密集时,依旧有可能发生beacon发送的Collision,干扰node Scheduling Cycle的形成,并占用信道,影响其他node beacon的发送。所以为了防止这种情况,还必须引入一定的back-off机制。当node到达自己的随机时刻需要发送beacon时,先Snooping信道是否空闲,如果信道空闲,则发送beacon,如果信道繁忙,则再间隔一个TBroad时间后再Snooping,若再次空闲,则立即发送beacon,若再次Snooping信道繁忙,则back-off随机倍数的TBroad时间后返回重新检测。

在back-off机制的过程中,假设网络中的信道长期被占用,需要发送beacon的node可能会一直处于Snooping,back-off状态,不仅浪费能量,还无法发送出自己的beacon,针对这个问题,在back-off时,node会对时间间隔值作计数,从初始的随机数开始计数。若计数时间间隔值大于n(n为常态值且大于网络中实际node总个数),说明接近原始Cycle末期,此时大部分node已成功发送beacon frame,还未成功发送beacon frame的node恢复每隔一个间隔Snooping信道,若空闲,立即发送自己的beacon frame。直到原始Cycle结束,所有node均能成功发送beacon frame,然后进入休眠状态,根据自己的邻居node信息表和随机定时,选择下次要醒来的时间。

第2、predict wake-up机制:

为了减少node间的Collision,尽可能的使需要收发信息的node独立的占用通道,node在原始Cycle成功发送beacon后,即可大致确定自己的Scheduling Cycle,且每次唤醒间隔都以这个Cycle为基础随机摆动,这种机制可以很大程度上避免邻居node醒来时间的频繁接近,减少了Collision几率,就节省了因串音和竞争信道造成的能量浪费。

当node在确定发送beacon frame后,会立即生成一个随机间隔,写在beacon的Rand位发送出去,这个时间间隔值由下式确定:

Rand=δTPrim+TBroad×Random(-1,0,1) (3)

其中,TPrim为一个原始Cycle,TBroad为一个基本的时间frame隙,乘以-1到1之间的一个随机数作为震动幅度,对间隔时间进行微调,可以更有效的避免信号重叠。式中δ为Cycle调节系数,设定取值范围为[0.8,1.5]。

对于发送beacon的node,即接收node来说,在确定随机间隔的同时,就设定了下次醒来的时刻TR_Wake如下式,其中TR_now即为接收node当前时间。

TR_Wake=TR_now+Rand (4)

而对于接收beacon的node,即需要发送数据的node来说,在接收到邻居node的beacon后,读取beacon frame的Rand位,综合考虑误差delay等因素,计算预测出目标node下一Cycle的醒来时间,从而在目标node唤醒前醒来,Snooping信道,在邻居node信息表中,若有对目标node的传输数据任务,则计算出本node的唤醒时间TS_Wake存储在相应的目标node信息中。

TS_Wake=TS_now-TBroad-RTT+(1-2θ)Rand (5)

其中,TS_now表示发送node收到beacon frame后的本地时刻,接收node发送的时间间隔从TR_now时刻开始计数,而beacon传送到发送node需要一个TBroad时间,RTT为传输的delay,θ为node的振荡器频率偏差,由于频率的偏差会带来node间时钟的漂移,所以要将这个时间误差计算在内,而且由于时间偏差在数值上要比传输延迟大得多,所以可以将传输延迟忽略不计,将上式简化为:

TS_Wake=TS_now+(1-2θ)Rand-TBroad (6)

在式中,频率偏差θ采用为最大频率偏差值,则时间2θRand相对于发送node来说,为估计的最大提前时间量,所以发送node与接收node预计的唤醒时间满足:

TS_Wake<TR_Wake (7)

这样就保证了发送node在接收node之前醒来,Snooping信道,以便及时建立链接,发送数据。

node经过自己一定的随机时间间隔,在设定的时刻TR_Wake醒来后,继续以广播的方式发送自己的beacon frame,这个beacon frame中依旧包含关于源node的地址信息,下一次随机唤醒时间间隔等主要信息。对于广播beacon的Collision问题,已经讨论过,设计了一种back-off机制来减少Collision。因为时间间隔是随机设置的,且在原始Cycle,各node已经采取了避让措施,假设依旧存在node在相同的时间醒来,就会发生beacon的Collision,这种情况下,仍然可以采用上文的避退机制,若node醒来后Snooping信道空闲,则发送广播beacon frame,若信道繁忙,则避退随机个时间frame隙后再发送,此时,beacon frame中的随机时间间隔需要重置update。

成功发送beacon的node会在发送出beacon后保持Snooping信道一段时间TKeep,若在这段时间内,有其他node的RTS请求发来,则做出CTS回应建立通信链接并传输数据,若在这段时间内,没有收到任何请求,则进入休眠状态,直到下一次设定的唤醒时间。node发送beacon后需要保持Snooping的时间TKeep可以表示为:

TKeep=TBroad+TRTS+RTT+TP_off (8)

其中,由于从beacon发送开始计时,所以计入一个beacon发送完成时间TBroad,往返最大延迟时间RTT,TRTS为node发送一个RTS请求完成需要的时间,TP_off为最大延退时间,会在Collision重建connect机制中介绍。

将此node作为目标节,即需要发送数据给此node的发送node,会在设定的时刻TS_Wake醒来,开始Snooping信道,因为发送node与接收node预计的唤醒时间满足TS_Wake<TR_Wake,所以发送node会在接收node醒来之前唤醒Snooping信道,因此可以接收到目标node唤醒后发来的广播beacon frame,读取beacon frame中的信息,计算出下一次唤醒时间,并update自己邻居node信息表中相对于此目标node的信息。同时,发送node向目标node发送RTS数据发送请求,通过RTS/CTS/DATA/ACK机制,建立可靠的通信链接并完成数据传送。目标node在接收完数据并发送确认frameACK之后,依旧保持Snooping信道一个TKeep时间,若有数据发送请求,则继续接收数据,若没有任何请求,则进入休眠状态。

第3、Collision重connect机制:

假设目标node在唤醒发送广播beacon frame后,邻居node中有不止一个node需要同时向目标node发送connect请求,就会造成发送node与接收node的connect失败,针对这种情况,本方法中依旧采用随机避退一定时间的方法,规避node同时发送请求冲突。对于初次错过connect的node,根据错过的时间不同的情况,采用不同的预测重connect时间方法,减少多余Snooping时间的浪费,提高重connect的效率。原理过程如图5所示。

这里的back-off时间与原始Cycle不同,当多个发送node收到目标node的广播beacon frame后,在[0,TP_off]内各自随机back-off一定的时间TP,再向目标node发送connect请求。由于在目标node醒来后,有一定的保持Snooping时间,发送node必须保证在back-off后,依然不会错过目标node的Snooping时间。back-off时间TP应满足:

TP+Td+TRTS≤TKeep-TBroad-TP_off (9)

其中Td为node之间的单向传输delay,即RTT/2。结合式(8),可以将式(9)简化为TP≤RTT/2,因此这里最大back-off时间TP_off可以取值为RTT/2。

假设有两个发送node为S1与S2同时接收到目标nodeR的广播beacon frame,需要向其发送请求建立connect,二者不是立即同时向R发送请求,而是在范围[0,RTT/2]内随机选择一定的时间避退,然后再发送connect请求。

针对初次错过connect的node,再要准备发送请求时,初次建立connect的node已占用信道,在数据未传输完毕前,信道将一直处于繁忙状态。而在这个过程中,错过connect的node是处于Snooping状态的,有可能会Snooping到目标node发给connect node的CTS frame,也有可能Snooping到发送node向目标node发送的数据分组,根据错过的时间不同的情况,采用不同的预测重connect时间方法计算。

(1)如果Snooping到目标node发出的CTS frame,则预计已connect node发送完数据并释放connect的时间Tpre为:

Tpre=Tnow+In(RTT+2TUnit)+TCTS+TACK (10)

其中,TUnit为node处理单位数据的时间,In为发送node要发送数据分组的个数,TCTS和TACK分别为发送一个CTS响应frame和一个ACK确认frame所需要的时间。

(2)如果Snooping到发送node向目标node发送的数据分组,则预计已connect node发送完数据并释放connect的时间Tpre为:

Tpre=T'now+I'n(RTT+2TUnit)+TACK (11)

其中,I'n为发送node还要发送的数据分组个数,式(10)和式(11)中的现在时间并不是相同的时间,而是两种情况下本node时钟的即时时间。

根据这两种情况,错过connect的node在预计的时间达到后再向目标node发送connect请求,并且update自己的邻居node信息表,在对应的目标node唤醒时间上,增加等待的时间差。发送node在数据传输完毕,收到目标node的ACK确认frame后,即进入休眠状态,根据自己的信息表选择下一次唤醒的时间。

第4、自适应update机制:

由于网络的动态变化,网络node时钟的漂移,新node的加入,以及网络繁忙时个别node不能及时广播自己的beacon或node没有收到目标node的beacon信息等情况,都会造成邻居node信息表信息的不对等或失效,进而影响node的Snooping/睡眠Scheduling和数据的链路建立及传送,所以维护网络node的一致性,对邻居node信息表Cycle的做自适应update是很有必要的。

针对几种不同的需要自适应update的情况,分别予以讨论并提出解决办法:

(1)在网络中,存在个别node,如位于边界距离目标较远的node,新加入node或由于网络node的Collision而未能及时接收到beacon的node,在这些个别node中,其邻居node表中找不到相对应目标node的信息。针对这类个别node,在找不到目标node的情况下,可以保持唤醒状态Snooping信道,直到收到目标node的广播beacon,再向目标node发起connect,并回归按随机Cycle休眠的机制。这是一种局部update的方式,只针对个别node,尤其对于新加入的node,在Snooping小于一个原始Cycle的时间后,便可进入随机Cycle循环工作状态。

(2)对于网络中所有node都需要update邻居node信息的情况,这里称为全局update,则相当于网络的一次重新启动,即所有node再进行一次原始Cycle的Snooping。但由于需要全局update时,网络中node是处于运行状态的,即只有相对应的node在工作状态,独立的占用着信道。而本就因为node时钟的漂移,无法保持绝对的一致性,同一时间时钟响应的机制不适用于这种网络情况,所以网络的全局update必须有一个node作为发起点。

在本方法中,假设给定一个时间,当网络需要做全局update时,接近于这个时间醒来的接收node作为此次全局update的发起点。确定为发起点的node保持Snooping状态,不再使用原有的用于接收数据的广播beacon,而是产生全局update beacon frame,将DST位设置为-1,即网络重启beacon frame,其中Rand位设置为一个原始Cycle,且在此过程中,都以一个frame隙为最小时间单位。首先,发起node广播这个重启beacon frame,然后Snooping一个frame隙,若在这个frame隙内没有收到其他node的重启frame,则在这个frame隙后继续发送一个重启frame,但beacon frame中的Rand位需update为新的数值,即在原始Cycle基础上减去经历的frame隙个数,发送一次beacon也为一个frame隙时间。若在发送beacon后的frame隙收到其他node发来的重启frame,则对beacon frame不予处理,清空邻居node信息表信息,转入休眠状态,并按起初设定或收到的beacon Rand位时间,到达一定的时间间隔后唤醒,重新开始一次原始Cycle的监听。对于未发送过重启beacon frame,且收到重启beacon后,立即将Rand位减去一个frame隙再发送,和上述原理相同,若在下一个frame隙收到其他node的重启frame,则清空表进入休眠,若没有收到,则间隔一个frame隙继续发送。在这个过程中,每次发送重启beacon frame时,其中的Rand位都是递减时间frame隙的,直到Rand位的值小于一个时间frame隙时,此过程终止,如图6所示。在设定的间隔到来后,像初始Cycle一样根据自己的随机时间发送beacon,相当于网络的一次重新启动,这样,网络中的node都会update自己的邻居node信息表,若有新的node加入,也会很快的融入网络。

(3)对于网络流量的动态变化,或某一区域内事件频发以及转发热点较高的node,都需要根据网络流量的变化,动态调整运行Cycle,这是一种即时性的自适应调整,只是为了在确保数据传输的前提下,增加网络Cycle的弹性,而不像局部update和全局update那样为了网络的有效性而定期执行。

在本发明中,我们在随机间隔Cycle中加入Cycle调节系数δ,是为了对node的Scheduling Cycle可以进行适当调节,在网络稳定状态下δ为固定值,但当网络局部发生流量变化或有驱动事件发生时,接收node可以通过调节beacon Rand位中的调节系数δ,例如将δ值减小,就可以使此node的运行Cycle更短,在网络流量高发区域加快数据传输。由于关于流量的自适应update Cycle会相应增加node的计算负担,对于δ的取值也会影响着随机Cycle的Collision问题,为了简化方法,可以只对其设置两个值,即流量较低的稳定态和流量较高的事件态,实验设定取值区间为[0.8,1.5],对于不同的网络情况可以设置不同的取值来取得比较好的效果。

第5、应用试验

所有node的原始Cycle持续时间Tprim设定为10s进行测试,数据流生成间隔为10s,网络初始阶段,AP-MAC方法的energy consumption要高于X-MAC、RI-MAC、PB-MAC三者,网络运行阶段,AP-MAC方法的能量消耗速度低于其他三种方法;将原始CycleTprim=10s固定不变,将数据流产生时间间隔依次递增,每次增加1s直到增为10s,比较不同方法下数据流量的变化对网络的影响,RI-MAC和X-MAC通过付出高Duty-Cycle的代价,来减少延迟,PB-MAC和AP-MAC高效的预测重connect机制,保障了网络的低延迟;将数据流产生间隔时间设置为固定值,即10s,将node原始CycleTprim设置为从1s递增到10s,从energy consumption增长速度水平上,AP-MAC相对于其他三种方法更平稳,消耗能量较少,有效的预测使node提前Snooping等待时间很小,自适应的update使网络表现出更好的稳定性。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1