一种适用于多跳adhoc网络的DCF协议节点自适应休眠机制的制作方法

文档序号:7923869阅读:200来源:国知局
专利名称:一种适用于多跳ad hoc网络的DCF协议节点自适应休眠机制的制作方法
技术领域
本发明属于无线网络领域,特别涉及适用于多跳ad hoc网络的DCF协议节背景技术Ad hoc网络是一种新型的无线网络。它由一系列地位完全平等的移动节点 组成,无需任何固定或预设的网络设施。网络中的每个节点既是终端又是路由 器,它们在信道访问控制(Medium Access Control, MAC)协议的控制下,以 多跳共享的方式接入无线信道。由于ad hoc网络中的移动节点一般依赖寿命非 常有限的电池供电,能量是非常宝贵的资源,因而MAC协议中的节点休眠机制 一直是ad hoc网络研究领域的热点问题。该机制要求在保证网络连通性的前提 下,尽量使节点工作在低功耗的休眠状态,从而节省节点的能量,延长节点的 工作时间和网络的生存时间。IEEE 802. 11是无线局域网中的标准协议,它包括了无中心节点控制的分布 式协调功能(Distributed Coordination Function, DCF)和依靠中心节点控 制的点协调功能(Point Coordination Function, PCF )。其中的DCF已被广泛 应用于ad hoc网络的各种仿真和测试床,成为了事实上的ad hoc网络MAC协 议规范。同时,IEEE 802.11协议还分别为DCF和PCF提供了不同的节能机制, 其中适用于DCF的节能模式(Power Saving Mode, PSM )是一种采用周期唤醒/ 预约发送策略的节点同步休眠机制。802. 11协议规定,当节点工作在DCF同步 节能模式时,网络中所有节点的时间轴都被同步划分为若干个连续、长度相等 的信标周期。在每个信标周期开始的时候,所有节点都将同步唤醒一段固定的时间,该时间段即为ATIM (Ad Hoc Traffic Indication Message)窗口。在 ATIM窗口的初始时刻,节点竟争发送携带同步时间信息的信标帧(beacon frame ) 来保证节点之间的同步。同步过程结東后,如果节点的网络层队列中有数据包 要发送,则节点在AT頂窗口中按照DCF的发送规约向接收节点发送ATIM帧。 接收节点收到ATIM帧后,即向接收节点应答ACK帧。ATIM窗口时间段过后,通 过ATIM/ACK握手完成发送预约的收/发节点在当前信标周期剩余的时间内一直 保持唤醒状态,并按照DCF的发送规约传输数据;而其余节点则将切换到低功 耗的休眠状态,并在下一个信标周期开始时再次唤醒。由以上分析可知,网络中所有工作在DCF节能模式的节点必须依靠竟争发 送的beacon帧获得同步。因此,该节能模式仅适用于单跳的独立基本服务集 (Independent Basic Service Set, IBSS ),而在多跳ad hoc网络中却无法直 接应用。同时,DCF节能模式采用的是周期唤醒/预约发送的休眠策略,这种休 眠策略能在一定程度上节省节点的能耗,但同时却会对网络的其他性能产生不 利的影响1、 节点在ATIM窗口中仅仅完成同步和基于ATIM/ACK握手的发送预约,无 法传输数据。因此ATIM窗口本身即给协议造成了开销,从而导致网络平均吞吐 量的下降。2、 在一个信标周期中,ATIM窗口时间段的长度对网络性能有较大影响。在同时竟争信道的发送节点数目和节点数据传输速率一定的情况下,如果将一个 信标周期中的ATIM窗口设置得过短,则节点在一个信标周期中只能预约较少数 量的数据发送。当成功预约的节点完成数据传输后,信道则处在被闲置的状态, 从而导致信道带宽的损失。而如果将信标周期的ATIM窗口设置得较长,则必然 同时缩短ATIM窗口过后的信标周期剩余时间,节点则有可能无法在这段时间内完成在ATIM窗口中预约的数据发送。同时,AT頂窗口时间段越长,它给协议带 来的开销也越大,对网络平均吞吐量的影响也越严重。由于在adhoc网络中,同时竟争信道的发送节点数目、每个节点的数据传 输速率和每个数据包的长度都是动态随机变化的,因而在周期唤醒/预约发送的 休眠策略中,很难预先为每个信标周期确定理想的ATIM窗口长度。3、收/发节点只有在ATIM窗口中成功预约后,才能在信标周期的剩余时间 内完成数据传输。如果发送节点在某一个信标周期的ATIM窗口中无法与接收节 点成功预约,则它只有在下一个信标周期的ATIM窗口中才能再次尝试与该接收 节点预约发送。因此,周期唤醒/预约发送的休眠策略还会导致数据包平均延迟 的增加。综合上述分析可知,802. 11协议提供的DCF同步节能模式仅适用于单跳的 IBSS网络环境,而且该节能模式釆用的周期唤醒/预约发送的节点休眠策略存在 着一定的局限性。近年来,适用于多跳ad hoc网络的异步节点休眠机制受到了 人们广泛的关注。然而,现有的异步节点休眠机制却也大都釆用了与DCF同步 节能模式中类似的周期唤醒/预约发送的节点休眠策略。以下两种异步节点休眠 机制具有较强的代表性Y, C. Tseng和C. S. Hsu提出的节点休眠机制规定,节点在每个信标周期开始的一段固定时间内持续保持唤醒状态。在这个时间段内,无论该节点是否已经 成功收到了其他节点的beacon帧,它都要向其邻居节点广播含自身休眠信息的 beacon帧。同时,该机制提供了三种不同的方法来保证在每个信标周期中,节点持续保持唤醒状态的时间段都能与它所有邻居节点持续保持唤醒状态的时间 段在时间轴上重叠,从而尽可能的使每个节点都能通过接收beacon帧获知邻居 节点的休眠时间信息。根据这些信息,节点即可为网络层队列中的数据包选择下一跳的转发节点,并与该节点预约发送。节点持续保持唤醒状态的时间段过 后,已经成功完成预约的收/发节点在信标周期剩余的时间内继续保持唤醒状 态,并完成数据传输,而其余节点则可以切换到休眠状态。这种休眠机制不依 赖于节点之间的同步,但它仍然釆用了周期唤醒/预约发送的休眠策略。同时,节点大量广播的beacon帧必然会给协议带来更大的开销,从而进一步降低了网 络平均吞吐量。Y. S. Shi和G. T. Aaron提出的EE-MAC协议釆用了与节点分簇类似的思想, 它按照一定的算法轮流选取网络中的部分节点作为骨干节点。所有骨干节点在 每个信标周期内持续保持唤醒状态,并为普通节点转发数据包。骨干节点之间 的传输无需在AT頂窗口中预约即可进行。普通节点釆用周期唤醒/预约发送的 休眠策略节省能耗,它们只在信标周期的ATIM窗口内唤醒,并与其单跳传输范 围之内的骨干节点预约数据发送。ATIM窗口时间段过后,成功预约的骨干节点 和普通节点即可在信标周期剩余的时间内完成数据传输。该协议通过骨干节点 持续唤醒的方法保证多跳网络的连通性,但由于只有骨干节点才能为普通节点 转发数据包,因而骨干节点的数量对网络性能有较大影响。同时,骨干节点的 轮流选取也会给协议带来一定的开销。仿真表明,与802. 11 DCF相比,EE-MAC 协议能在一定程度上节省节点的能耗,但同时却会导致网络平均吞吐量的下降 和数据包平均延迟的增加,而且随着网络负载的增大,该协议对网络吞吐量和 延迟性能的影响更加严重。发明内容本发明的目的是根据ad hoc网络拓扑和节点通信状况动态变化的特点,在 DCF协议的框架内建立一种适用于多跳ad hoc网络的节点自适应休眠机制,允许DCF协议根据网络拓扑和节点通信状况的变化对节点休眠策略进行动态调整, 从而克服现有的周期唤醒/预约发送节点休眠策略存在的不足,保证在节省节点 能耗的同时并不会严重影响网络的其他性能指标。本发明提出的节点自适应休眠机制采用了以下步骤 步骤1:将每个节点的时间轴都划分为若干个连续的工作周期。 节点的每个工作周期由在时间轴上连续的 一个空闲定时窗口和一个休眠定 时窗口组成。节点在空闲定时窗口中开启空闲定时器,保持空闲状态并监听信 道。如果节点网络层队列中有数据包需要发送或接收到了其他节点发送的信号, 则暂停空闲定时器的计数,并切换到发送或接收状态。发送或接收过程结東后, 节点恢复空闲状态,空闲定时器从上次保存的剩余值幵始继续递减。空闲定时 器超时后,节点进入休眠定时窗口。在休眠定时窗口中,节点开启休眠定时器, 并保持低功耗的休眠状态,如果节点网络层队列中有数据包需要发送,则节点 切换到发送状态。发送过程结束后,节点恢复休眠状态,休眠定时器从上次保 存的剩余值开始继续递减。休眠定时器超时后,节点则进入下一个工作周期的 空闲定时窗口。节点在一个工作周期中保持空闲状态的定时时间长度与保持休眠状态的定 时时间长度之和为常数。步骤2:定义反映节点当前通信状况的性能指标。本发明允许节点在每个休眠定时窗口的休眠定时时间内保持低功耗的休眠 状态,从而节省节点的能量。但由于处在休眠状态的节点无法接收或监听网络 中其他节点发送的信号,因而节点休眠必然会降低节点之间数据传输成功的概 率。同时,由于在adhoc网络中,每个节点既是终端又是路由器,数据包经过多跳转发到达目的节点,因而在网络工作时间内,每个节点都有可能处于发送 方和接收方的地位。因此,为了能够全面反映节点当前的通信状况,本发明分 别从发送方和接收方的角度为节点定义了两个性能指标。步骤3:根据节点当前的通信状况,对节点工作周期内的空闲定时时间长度 和休眠定时时间长度进行自适应调整。本发明将节点每个工作周期中的空闲定时时间长度和休眠定时时间长度之 和设置为定值。在节点的一个工作周期中,空闲定时时间的长度越长,则节点 监听信道的时间越多,当其他节点向该节点发送数据帧时,通信成功的概率也 越大。而增大空闲定时时间的长度则必然会同时减小休眠定时时间的长度,从 而缩短了节点的休眠时间,导致节能效率的下降。反之,增大休眠定时时间的 长度则在提高节点节能效率的同时,却有可能降低节点通信成功的概率,导致 网络平均吞吐量的下降。由于在ad hoc网络中,网络拓扑和节点的通信状况都 是动态随机变化的,因而结合上述分析可知,节点无法预先确定在一个工作周 期内,空闲定时时间长度和休眠定时时间长度的最优取值,而必须根据步骤2 中定义的性能指标所反映的节点当前通信状况,对节点工作周期中的空闲定时 时间长度和休眠定时时间长度进行自适应调整。分两种情况1、 在节点通信成功概率较低的情况下,本发明通过自适应机制延长节点工 作周期中空闲定时窗口的定时时间长度,缩短休眠定时窗口的定时时间长度, 从而保证节点可靠的监听无线信道,提高通信成功的概率,避免网络吞吐量的 下降和数据包平均延迟的增大;2、 在节点通信成功概率较高的情况下,本发明通过自适应机制延长节点工 作周期中休眠定时窗口的定时时间长度,缩短空闲定时窗口的定时时间长度,从而使节点尽可能的保持低功耗的休眠状态,节省节点能量。本发明提出的节点自适应休眠机制充分考虑了 ad hoc网络拓扑和节点通信状况动态随机变化的特点,分别从发送和接收的角度为节点定义了衡量当前通 信状况的性能指标,并根据节点通信状况对空闲和休眠时间长度进行自适应调 整,从而在保证网络吞吐量和数据包延迟性能不受到明显影响的条件下,尽可 能的使节点处于休眠状态,达到节省节点能量的目的。这种自适应休眠机制克 服了周期唤醒/预约发送节点休眠策略存在的不足,并且不依赖于节点之间的同步,因而适用于多跳ad hoc网络。下面结合附图和实施例对本发明作进 一 步的说明。


图1为节点在工作周期内的工作流程图; 图2为本发明的仿真结果图。
具体实施方式
本发明提出的DCF协议节点自适应休眠机制已经在无线网络仿真环境 GloMoSim中实现,并通过GloMoSim环境中的仿真结果验证了该机制的有效性。 在后面的叙述中,将本发明提出的节点自适应休眠机制简记为NASM(Node Adaptive Sleeping Mechanism)。下面给出NASM的具体实现步骤:步骤l:节点工作周期的划分;NASM规定,在每个工作周期中,节点在空闲定时窗口中保持空闲状态的时 间长度T^与在休眠定时窗口中保持休眠状态的时间长度T^一之和为常数T,即有<formula>formula see original document page 10</formula>1、空闲定时窗口在每个工作周期空闲定时窗口开始的时候,节点开启空闲定时器,并将空闲定时器的初始值设置为Tidle。 NASM规定(1) 如果在空闲定时窗口中,节点没有接收到其他节点发送的信号,且网 络层队列中 一直没有数据包需要发送,则该节点在空闲定时窗口中始终保持空 闲状态并监听信道。(2) 如果在空闲定时窗口中,节点接收到了其他节点发送的信号,或网络 层队列中有数据包需要发送,则该节点保存空闲定时器当前的剩余值后暂停空 闲定时器的计数,并开始接收或尝试发送数据包;如果节点连续接收到了多个 信号或网络层队列中有多个数据包需要发送,则该节点在当前空闲定时窗口中 持续保持唤醒,并按照DCF协议的规约完成数据传输。当所有数据包发送完毕 且没有再接收到其他节点发送的信号时,节点恢复空闲状态后即可重新开启空 闲定时器,并从上次保存的剩余值开始继续递减。(3) 如果在空闲定时窗口中,节点监听到了网络中其他收/发节点之间传 输的信号,则该节点按照虛拟载波检测机制的规定更新NAV (Network Allocation Vector)的值,NAV中包含了信道将持续变忙的时间信息。在NAV 指示信道变忙的时间内,节点无法接收其他节点发送的信号,而如果在这段时 间内,节点网络层队列中有数据包需要发送,则该节点保存空闲定时器当前的 剩余值后暂停空闲定时器的计数,并同时切换到等待NAV指示信道空闲的状态。 当NAV指示信道空闲后,节点即可按照DCF协议的规约完成数据传输。数据包 发送完毕后,节点即可恢复空闲状态,重新开启空闲定时器并从上次保存的剩 佘值开始继续递减。当空闲定时器超时后,节点即可切换到低功耗的休眠状态,并在时间轴上 进入休眠定时窗口。2、休眠定时窗口在休眠定时窗口开始的时候,节点开启休眠定时器,并将休眠定时器的初 始值设置为T sleeping oNASM规定(1) 当节点在休眠定时窗口中保持休眠状态时,它无法接收或监听其他节 点发送的信号。如果在休眠定时窗口中,节点网络层队列中一直没有数据包需 要发送,则该节点在休眠定时窗口中始终保持休眠状态。(2) 如果在休眠定时窗口中,节点网络层队列中有数据包需要发送,则该节点保存休眠定时器当前的剩余值后暂停休眠定时器的计数,并同时切换到发 送状态;如果节点网络层队列中有多个数据包需要发送,则该节点在当前空闲 定时窗口中持续保持唤醒,并按照DCF协议的规约完成数据传输。当所有数据 包发送完毕后,节点恢复休眠状态,重新开启休眠定时器并从上次保存的剩余 值开始继续递减。当休眠定时器超时后,节点即可唤醒,并在时间轴上进入下一个工作周期 的空闲定时窗口。节点在工作周期内的工作流程如附图1所示。 步骤2:定义描述节点通信状况的性能指标;为了描述网络中每个节点当前的通信状况,NASM分别从发送方和接收方的 角度定义了两个性能指标,即节点的发送失败指数(TFI)和接收失败指数(RFI)。 1、发送失败指数发送失败指数(TFI)允许NASM从发送方的角度去衡量节点的通信状况。为了定义TFI, NASM要求节点在内存中维护两个计数器,即数据帧发送失败次 数计数器(TFC)和数据帧发送成功次数计数器(TSC)。 TFC和TSC的初值均设 置为0,每当发送节点成功向接收节点发送了一个数据帧,发送节点即将TSC的 值加1;而如果数据帧发送失败,则发送节点将TFC的值加1。 NASM将TFC和 TSC的比值定义为TFI,并将TFI的初值设置为0。在TFC^0, TSC = 0的情况下, 则将TFI的值设置为TFImax。由上述分析可知,发送节点的TFI取值随TFC和TSC的值变化而变化,TFI 从发送方的角度衡量了节点当前的通信状况。在某一时刻,发送节点的TFI值 越大,则说明该发送节点与其他发送节点之间的冲突越严重,通信状况越差。2、接收失败指数接收失败指数UFI)允许NASM从接收方的角度去衡量节点的通信状况。 为了定义RFI , NASM要求节点在内存中分别维护 一个线性链表和 一个循环队列。 每当发送节点向它的一个新邻居接收节点发送数据帧时,发送节点即在线性链 表的尾部插入一个新结点。线性链表中的每个结点由存储后继结点位置信息的 指针域和存放数据元素信息的数据域组成。其中,头结点指针域中的指针给出 了头结点的存放地址,尾节点指针域中的指针为"空"(NULL),而其余结点指 针域中的指针则指向线性链表中下 一个结点的存放地址。每个结点的数据域包 含以下信息(1) 接收节点的地址;(2) 该发送节点向该接收节点发送数据帧失败次数计数器(STFC);(3) 该发送节点向该接收节点发送数据帧成功次数计数器(STSC)。 STFC和STSC的初值均设置为0,每当该发送节点向该接收节点成功发送了一个数据帧,该发送节点即把线性链表中与该接收节点对应的结点数据域中STSC的值加1;而如果数据帧发送失败,则把相应STFC的值加1。 NASM将STSC 和STFC的比值定义为该发送节点向该接收节点发送数据帧的发送失败指数 (STFI),在STFC-0, STSOQ的情况下,将STFI的值设置为STFImi ,而在 STFC^O, STSC:O的情况下,则将STFI的值设置为STFI,。NASM规定,当发送节点向接收节点发送RTS帧时,发送节点在它的线性链 表中查找与该接收节点地址对应的结点,并根据结点数据域中的STFC和STSC 计算出STFI的值。同时,NASM在RTS帧中增加了一个STFI字段,用于存放通 过上述计算得到的STFI值。接收节点收到RTS帧后,即可通过STFI字段获知该发送节点向其发送数据帧时的发送失败指数。NASM同时要求节点在内存中维护一个循环队列,队列的最大长度为QSIZEMX。接收节点收到了发送节点的RTS帧后,即把帧中STFI字段作为队尾元素插入队列。如果循环队列已满,则节点删除队首元素后再将当前RTS帧中的STIF字段插入队尾。NASM将节点的接收失败指数(RFI)定义为该循环队列中所有元素的平均值。因此,RFI从接收方的角度衡量了节点当前的通信状况。在某一时刻,接收节点的RFI值越大,则说明该接收节点成功接收数据帧的概率越低,通信状况越差。步骤3: Ti^和Ts—一的自适应调整;1、 节点将T^和T^,的初值均设置为0. 5T;2、 当休眠定时器超时后,如果TFI和RFI的取值满足TFI>TFIthr。sh。id,或 RFI〉RFIw的条件(TFI^,。w和RFI一h。w分别为TFI和RFI的调整门限值), 则说明从发送方或接收方的角度看,节点当前的通信状况较差。在这种情况下,NASM要求节点按照以下法则对T^和Ts,一ng的值进行调整<formula>formula see original document page 15</formula> (3)通过上述调整,NASM延长了节点工作周期中空闲定时器的定时时间。在当 前通信状况极差的情况下,甚至可以将工作周期中节点休眠的时间设置为0,从 而使节点持续保持唤醒状态,提高节点通信成功的概率。3、当休眠定时器超时后,如果TFI和RFI的取值满足TFI《TFIth^,。Id,且 RFI《RFI,^的条件,则说明无论从发送方还是从接收方的角度看,节点当前 的通信成功概率均较高或者节点当前没有参与网络通信活动。在这种情况下, 为了提高节能效率,NASM要求节点按照以下法则对乙16和T^,g的值进行调整<formula>formula see original document page 15</formula>
(5)通过上述调整,NASM延长了节点工作周期中休眠定时器的定时时间。在最 理想的情况下,可以使休眠定时时间是空闲定时时间的4倍,从而尽可能的使 节点保持低功耗的休眠状态,节省节点的能量。附图2给出了本发明的仿真结果。考虑在边长为1000m的正方形仿真区域 中,随机分布100个节点,并在这100个节点中建立IO个发端和收端均不相同 的CBR流,节点的数据发送速率为Q.3Mbps。在仿真中,通过改变seed值得到 了 50种不同的随机仿真场景,附图2给出了这50次随机仿真的结果。由仿真 结果可以看出,NASM在有效节省节点能量的同时不会明显影响网络的平均吞吐量和数据包延迟性能。本发明申请书中未作详细描述的内容属于本领域专业技术人员公知的现有 技术。
权利要求
1、一种适用于多跳ad hoc网络的DCF协议节点自适应休眠机制,所采用的步骤是步骤1将节点的时间轴划分为若干个连续的工作周期,节点的每个工作周期由在时间轴上连续的一个空闲定时窗口和一个休眠定时窗口组成,节点在空闲定时窗口中开启空闲定时器,保持空闲状态并监听信道,在休眠定时窗口中开启休眠定时器,并保持低功耗的休眠状态,节点在一个工作周期中保持空闲状态的定时时间长度与保持休眠状态的定时时间长度之和为常数;步骤2分别从发送方和接收方的角度为节点定义反映节点当前通信状况的性能指标;步骤3根据步骤2中定义的性能指标所反映的节点当前通信状况,对节点工作周期内的空闲定时时间长度和休眠定时时间长度进行自适应调整。
2、 根据权利要求1所述的一种适用于多跳ad hoc网络的DCF协议节点自 适应休眠机制,其特征是(1) 当节点在一个工作周期的空闲定时窗口中保持空闲状态并监听信道 时,如果节点网络层队列中有数据包需要发送或接收到了其他节点发送的信号, 则暂停空闲定时器的计数,并切换到发送或接收状态,发送或接收过程结束后, 节点恢复空闲状态,空闲定时器从上次保存的剩余值开始继续递减;(2) 当节点在休眠定时窗口中保持低功耗的休眠状态时,如果节点网络层 队列中有数据包需要发送,则节点切换到发送状态,发送过程结東后,节点恢 复休眠状态,休眠定时器从上次保存的剩余值开始继续递减;(3) 根据ad hoc网络中每个节点既是终端又是路由器,在网络工作时间 内,每个节点都有可能处于发送方和接收方地位的特点,分别从发送方和接收方的角度定义了两个性能指标,全面衡量节点当前的通信状况;(4)根据ad hoc网络的网络拓扑和节点通信状况动态随机变化的特点,引入了节点空闲定时时间长度和休眠定时时间长度的自适应调整机制,在节点 通信状况较好的情况下,延长节点在每个工作周期中的休眠定时时间长度,节 省节点能量,在节点通信状况较差的情况下,延长节点在每个工作周期中的空 闲定时时间长度,从而避免网络吞吐量的降低和数据包延迟的增大。
全文摘要
本发明涉及一种适用于ad hoc网络的节点休眠机制。本发明首先详细分析了现有的周期唤醒/预约发送休眠策略存在的不足,然后在IEEE 802.11 DCF协议的框架内提出了一种同时适用于单跳和多跳ad hoc网络的节点自适应休眠机制。该休眠机制不依赖于周期唤醒/预约发送的休眠策略,它将网络中每个节点的时间轴都划分为若干个连续的工作周期,分别从发送方和接收方的角度定义了反映节点当前通信状况的性能指标,并允许节点根据当前的通信状况,自适应的调整在当前工作周期内保持休眠状态的时间长度。无线网络仿真环境GloMoSim中的仿真实验证明,该机制在有效节省节点能耗的同时并不会严重影响网络的其他性能指标。
文档编号H04L29/06GK101404602SQ20081019504
公开日2009年4月8日 申请日期2008年11月4日 优先权日2008年11月4日
发明者周建江, 许宗泽, 磊 雷 申请人:南京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1