水声网络中的节能的媒质访问控制方法

文档序号:7684464阅读:175来源:国知局
专利名称:水声网络中的节能的媒质访问控制方法
技术领域
本发明涉及一种媒质接入控制方法,特别涉及一种水声网络中的媒质访问控制方法。
背景技术
水声网络主要用于海洋中的数据搜集、采样、环境监测、近岸探测、灾害阻止、海啸报警、导航援助、 分布式战术监测和矿产勘测。由于无线电波在水下只能在极其低的频率上(30-300Hz)传播,并且容易受 到散射影响。因此,水声网络的节点间通常使用声波进行无线通信。与无线电信道相比,水声信道具有数 据传播速率较低、频带资源有限、误码率高等特点。同时分布在水下的传感器节点通常携带的是能量十分 有限的电池。如何高效使用能量来最大化网络生命周期是水声网络面临的首要挑战。水声网络的绝大部分 能量消耗在传感器节点的通信模块上。所以设计一种节能的媒质访问控制方法,让网络通信更有效率,减 少不必要的数据转发和接收以及碰撞,不需要通信时能尽快进入睡眠状态,是水声传感器网络协议设计需 要重点考虑的问题。
媒质访问控制方法是水声网络研究的一个重要内容。近年来关于水声网络媒质访问控制的研究成果主 要是在陆地传感器网络相关技术的基础上的改进,包括了 TDMA方案、时隙化FAMA协议和带有碰撞监 测的Aloha协议等。但是由于水声网络中数据包的传播时延很大,网络容量有限,导致了采用这些方法的 水声网络中数据包的碰撞率很高,大量的数据包需要重传,从而大大消耗了传感器节点电池的能量。所以 必须针对水下传输的特殊情况设计一种适用于水声网络的全新的媒质访问控制方法。

发明内容
本发明的目的就在于解决现有技术的缺陷,设计、研究了一种水声网络中的节能的媒质访问控制方法。 本发明的技术方案是
(1) 每个节点建立并维护一个唤醒时刻表,该表包含如下的表项数据包的发送时刻、邻居节点ID号、 邻居节点数据包的到达时刻;
(2) 初始化
将整个网络收发数据包的时间分成长度相等的循环周期,每个循环周期的长度为r。在初始化阶段,
网络中每个节点都处于唤醒状态,并且在(O,r)中随机选择一个时刻,广播一个用于同步的SYNC包,同
时将该SYNC包的发送时刻保存在节点的唤醒时刻表中的"数据包的发送时刻"表项中;在其发送范围内 的邻居节点一旦接收到SYNC包,则将该SYNC包的到达时刻和其发送节点分别保存在唤醒时刻表的"邻 居节点数据包的到达时刻"和"邻居节点ID号"的表项中。
(3) 数据包的收发
在完成初始化以后,每个节点按照建立起来的唤醒时刻表,在一个循环周期中需要发送和接受数据包 的时刻及时唤醒,而在大部分时刻处于休眠状态。数据包由SYNC头和实际发送的数据信息Data两部分 组成,在SYNC头中存储该数据包的发送节点ID号以及发送时刻;数据包的发送持续时间为r;数据包 发送完毕以后,该节点并不是立刻进入睡眠状态而是进入监听模式;在监听模式下,节点仍然处于工作状 态但是功率很小。如果它监听到信号,则重新进入唤醒状态接收数据包。当监听持续时间结束以后,该节 点进入休眠状态。(4) 碰撞避免措施
由于数据在水声信道中的传播时延是变化的,原来不会发生碰撞的数据包有可能因为信道条件的变化 而发生碰撞;设S代表当前循环周期中节点A数据包的发送时刻,i^,。是节点J接收到邻居节点B的数
据包的时刻;如果发生碰撞,即满足i ^ ^ & S & s +f或者L《^ ^ + r ,那么节点A在原有发
送时刻^的周围的一小段时间内重新选择一个发送时刻K ,使得i Afl-(T^+r)2^或者
《—(及Afl+0^「,、为数据包之间不发生碰撞的保护间隔'A通过当前发送的数据包中的SYNC头将
新的发送时刻《通知其邻居节点,在下一个循环周期中节点A在《时刻发送数据包。
(5) 新节点的加入
当一个新节点加入到网络中以后,它在当前的循环周期中一直处于唤醒状态当它收到邻居节点的数 据包时,记录并保存邻居节点数据包的到达时刻和邻居节点ID号到唤醒时刻表的对应的表项中,并立刻 发送一个HELLO包,该包中含有该新节点的ID、发送该HELLO包的时刻以及在下一个循环周期中数据 包的发送时刻,该邻居节点收到HELLO包后获知新节点的信息,计算出下一个循环周期中需要唤醒接收 新节点的时刻,在唤醒时刻表的"邻居节点数据包的到达时刻"和"邻居节点ID号"中分别写入对应的 值;在下一个循环周期,该邻居节点在发送数据包之前先给新节点回送一个ACK,从而完全建立起和新节 点的逻辑连接关系;
(6) 节点失效的处理
由于信道条件很差,或是由于节点发送失败,以及节点电池能量耗尽, 一个节点可能在计划好的唤醒 时刻接收不到数据。如果一个节点在连续的两个循环周期中的规定的时刻都接收不到某个邻居节点的数据 包时,它在唤醒时刻表中删除该节点的"邻居节点数据包的到达时刻"和"邻居节点ID号"表项信息, 并通过数据包的SYNC头将该节点失效的消息传递给所有的邻居节点,使与失效节点相关的邻居节点及时 获知该消息,从而在以后的循环周期中不必再为该失效节点唤醒。
在所述的水声网络中的节能的媒质访问控制方法中,所述的、可设定为邻居节点间的最大传播时延。
在所述的水声网络中的节能的媒质访问控制方法中,所述的初始化阶段的SYNC发送持续时间为
0. 1. :所述的数据包中的SYNC头和DATA的数据长度之比为1:9。
本发明的优点和效果在于
1. 通过SYNC包、数据包中的SYNC头以及循环周期的划分,在无需知道节点间传播时延的情况下实现 了网络中节点的同步。通过新节点的加入和对失效节点的处理,可以使得该方法可以有效地适应由水下环 境的改变或节点移动、损害、更新带来的网络拓扑结构的动态变化。
2. 通过合理安排各个节点的发送时刻,以及采用碰揸避免措施,在最大程度上降低了网络中包的碰撞率, 从而减少了包的重传次数,有效的降低了由碰撞和重传带来的能量消耗。
3. 通过唤醒时刻表记录以及合理地安排节点的唤醒、监听以及休眠时间,在不需要收发时进入休眠状态, 大大节省了节点的能量消耗,从而有效地延长了整个网络的寿命。
本发明的其他优点和效果将在下面继续描述。


图1——网络拓扑结构图。
图2——初始化和数据包收发过程示意图。
图3——数据包的结构图。图4——碰撞避免原理图。
图5——一个新节点加入到网络中的过程示意图。
具体实施例方式
下面结合附图和实施例,对本发明所述的技术方案作进一步的阐述。
图1为一个网络拓扑结构实例。在图l中,每个节点的发送范围内的节点成为其邻居节点。设定初始 时网络中有五个节点A、 B、 C、 D、 E,实线圆代表每个节点的发送范围。从图中可以看出A的邻居节 点为B、 C、 D; B的邻居节点A、 C、 D、 E; C的邻居节点为A、 B; D的邻居节点为A、 B; E的邻居节 点为B。 F为一段时间以后新加入的节点,为了和初始网络中就存在的节点区别,其发送范围用虚线圆表 示,加入网络后其邻居节点为B和E。每个节点建立并维护一个唤醒时刻表,该表包含如下的表项数据 包的发送时刻、邻居节点ID号、邻居节点数据包的到达时刻。
(1) 初始化
图2为初始化和数据包收发过程示意图。将整个网络收发的收发时间分成长度相等的循环周期,每个
循环周期的长度为r。在初始化阶段,网络中每个节点都处于唤醒状态,并且在(o,:o中随机选择一个时
刻,广播一个用于同步的SYNC包。例如节点A选择在时刻乙发送SYNC包(图中的灰色方块),那么A
在发送前将;保存在A的唤醒时刻表中的"数据包的发送时刻"表项中。节点A的邻居节点(B, C, D)
将在一段时间以后收到A的SYNC包(白色方块,上面的符号表示发送该包的节点),这段时间的长短主 要由数据包在水声信道中的传播时延决定。当节点B收到A的数据包时,它记录下该数据包的到达时刻 保存在唤醒时刻表中的"邻居节点数据包的到达时刻"表项中,并将A记录在"邻居节点ID号"
表项中。只要各节点之间数据包的传播时延相对固定的并且在一个循环周期内的时钟漂移不明显,这个被 节点B记录下来i^,^使得节点B可以在下一个循环周期内的特定时刻i sj +7及时唤醒以接收A发送的
数据包,而无需知道A与B之间的传播时延,从而实现了节点间的同步。而在其它不需要接收和发送数据 包的时间段,节点B进入休眠状态,大大节省了能量。网络中的其它各节点和A、 B节点执行相同的操作。
(2) 数据包的收发
在完成初始化以后,每个节点按照它们建立起来的唤醒时刻表,在在一个循环周期中需要发送和接受
数据包的时刻及时唤醒,而在大部分时刻处于休眠状态。如节点a根据时间表,在l十r发送,在及^'s+r
、及m+T、 A,d+r时刻唤醒,分别用来接收来自B、 C、 D的数据包。数据包的结构如图3所示,它
由SYNC头和实际发送的数据信息Data两部分组成,它们的数据长度之比为1:9,在SYNC头中存储该数 据包的发送节点ID号以及发送时刻,每个数据包的发送持续时间为r。数据包发送完毕以后,节点并不 是立刻进入睡眠状态而是进入空闲监听模式,图2中A和B节点数据包后的虛线方块和其中的L符号表 示了节点处于监听模式。在监听模式下,节点仍然处于工作状态但是功率很小。如果它监听到信号,则重 新进入唤醒状态接收数据包。当短暂的监听持续时间结束以后,节点将进入休眠状态。
(3) 碰撞避免措施
由于数据在水声信道中的传播时延是变化的,原来不会发生碰撞的数据包有可能因为信道条件的变化 而发生碰撞。由于各节点在每个循环周期内发送和接收数据包的时刻变化不大。假设在当前的循环周期中 节点A发送的数据包和接收到的邻居节点B的数据包在A节点处发生碰撞,那么在下一个循环周期中,A 发送的数据包和接收到的节点B的数据包在A节点处仍然会发生碰撞,从而导致接收和发送的双方交互再 次失败。为了避免这样的情况的再次发生。节点A可以在当前循环周期中已经发生碰撞的情况下重新选择 下一个循环周期的发送时间.如图4所示,具体过程如下
设^代表当前循环周期中节点A发送数据包的开始时刻,及j B是节点A收到邻居节点B的数据包的
6开始时刻,r为数据包的发送持续时间,如果发生碰撞,即满足A,s^rxS/^,fl+r或者 乙2 《S + r ,那么节点A在原有发送时刻&的周围的一小段时间内重新选择一个发送时刻《,使 得i^力-(《+r)2r,或者《—(i^,B+r)2r, , 为数据包之间不发生碰撞的保护间隔,可以设定为邻 居节点间的最大传播时延。A通过当前发送的数据包中的SYNC头将新的发送时刻《通知其邻居节点, 在下一个循环周期中节点A在《时刻发送数据包。
(4) 新节点的加入
仍以如图l所示的拓扑为例。在图1中,节点F加入到网络中,它在当前的循环周期中一直处于唤醒 状态,节点B和节点E将成为其邻居节点。图5说明了在这种情况下的包发送情况。在图5中,节点F 首先收到节点B的数据包,记录并保存该数据包的到达时刻和节点B到唤醒时刻表的对应的表项中,当接 收结束以后它立即发送一个HELLO包给节点B,该HELLO包中含有该新节点的ID、该包的发送时刻 ^kiw和F在下一个循环周期中数据包的发送时刻7>。因为每个节点在其每次发送以后设置一段额外的 监听持续时间,所以节点B能够收到F的HELLO包。此时该HELLO包具有与邻居节点建立连接和建立 同步关系的双重功能,相当于初始化阶段SYNC包。设B在i^皿w时刻收到HELLO包,获得F在下一
个循环周期中发送的时刻,计算出在下一循环周期接收到F数据包的时刻7>+7^£110-7^iiQ,并将该
值写入唤醒时刻表的"邻居节点数据包的到达时刻"表项中,将F写入"邻居节点ID号"表项中,在在 下一个循环周期中,B在发送数据包之前先给节点F回送一个ACK,然后再发送数据包,ACK的作用是 作为建立与F的连接的确认。F的另一个邻居节点E也重复着同样的过程。通过这样的方式完全建立起和 新节点F的逻辑连接关系。
(5) 节点失效
由于信道条件很差,或是由于节点发送失败,以及节点电池能量耗尽, 一个节点可能在计划好的唤醒 时刻接收不到数据。假设节点A在连续的两个循环周期中的规定的时刻都接收不到节点B的数据包时,那 么节点A在唤醒时刻表中删除节点B的"邻居节点数据包的到达时刻"和"邻居节点ID号"表项信息,。 并通过数据包的SYNC头将该节点失效的消息传递给所有的邻居节点,使与失效节点相关的邻居节点及时 获知该消息,从而在以后的循环周期中不必再为该失效节点唤醒,从而节省了能量。
本发明请求保护的范围并不仅仅局限于本具体实施方式
的描述。
权利要求
1.水声网络中的节能的媒质访问控制方法,其特征如下(1)每个节点建立并维护一个唤醒时刻表,该表包含如下的表项数据包的发送时刻、邻居节点ID号、邻居节点数据包的到达时刻;(2)初始化将整个网络收发数据包的时间分成长度相等的循环周期,每个循环周期的长度为T;在初始化阶段,网络中每个节点都处于唤醒状态,并且在(0,T)中随机选择一个时刻,广播一个用于同步的SYNC包,同时将该SYNC包的发送时刻保存在节点的唤醒时刻表中的“数据包的发送时刻”表项中;在其发送范围内的邻居节点一旦接收到SYNC包,则将该SYNC包的到达时刻和其发送节点分别保存在唤醒时刻表的“邻居节点数据包的到达时刻”和“邻居节点ID号”的表项中;(3)数据包的收发在完成初始化以后,每个节点按照建立起来的唤醒时刻表,在一个循环周期中需要发送和接受数据包的时刻及时唤醒,而在大部分时刻处于休眠状态;数据包由SYNC头和实际发送的数据信息Data两部分组成,在SYNC头中存储该数据包的发送节点ID号以及发送时刻;数据包的发送持续时间为τ;数据包发送完毕以后,该节点并不是立刻进入睡眠状态而是进入监听模式;在监听模式下,节点仍然处于工作状态但是功率很小,如果它监听到信号,则重新进入唤醒状态接收数据包,当监听持续时间结束以后,该节点进入休眠状态;(4)碰撞避免措施由于数据在水声信道中的传播时延是变化的,原来不会发生碰撞的数据包有可能因为信道条件的变化而发生碰撞;设TA代表当前循环周期中节点A数据包的发送时刻,RA,B是节点A接收到邻居节点B的数据包的时刻;如果发生碰撞,即满足RA,B≤TA≤RA,B+τ或者TA≤RA,B≤TA+τ,那么节点A在原有发送时刻TA的周围的一小段时间内重新选择一个发送时刻T′A,使得RA,B-(T′A+τ)≥τs或者T′A-(RA,B+τ)≥τs,τs为数据包之间不发生碰撞的保护间隔,A通过当前发送的数据包中的SYNC头将新的发送时刻TA′通知其邻居节点,在下一个循环周期中节点A在TA′时刻发送数据包;(5)新节点的加入当一个新节点加入到网络中以后,它在当前的循环周期中一直处于唤醒状态;当它收到邻居节点的数据包时,记录并保存邻居节点数据包的到达时刻和邻居节点ID号到唤醒时刻表的对应的表项中,并立刻发送一个HELLO包,该包中含有该新节点的ID、发送该HELLO包的时刻以及在下一个循环周期中数据包的发送时刻,该邻居节点收到HELLO包后获知新节点的信息,计算出下一个循环周期中需要唤醒接收新节点的时刻,在唤醒时刻表的“邻居节点数据包的到达时刻”和“邻居节点ID号”中分别写入对应的值;在下一个循环周期,该邻居节点在发送数据包之前先给新节点回送一个ACK,从而完全建立起和新节点的逻辑连接关系;(6)节点失效的处理由于信道条件很差,或是由于节点发送失败,以及节点电池能量耗尽,一个节点可能在计划好的唤醒时刻接收不到数据;如果一个节点在连续的两个循环周期中的规定的时刻都接收不到某个邻居节点的数据包时,它在唤醒时刻表中删除该节点的“邻居节点数据包的到达时刻”和“邻居节点ID号”表项信息,并通过数据包的SYNC头将该节点失效的消息传递给所有的邻居节点,使与失效节点相关的邻居节点及时获知该消息,从而在以后的循环周期中不必再为该失效节点唤醒。
2. 根据权利要求1所述的水声网络中的节能的媒质访问控制方法,其特征在于,所述的r,可以设定为邻 居节点间的最大传播时延。
3. 根据权利要求1所述的水声网络中的节能的媒质访问控制方法,其特征在于,所述的初始化阶段的SYNC 发送持续时间为0.h";所述的数据包中的SYNC头和DATA的数据长度之比为1:9。
全文摘要
本发明公开了水声网络中的节能的媒质访问控制方法,利用本方法解决了水声网络中数据包传送碰撞率过高和能量消耗过高的问题。本发明将时间轴划分为等长度的循环周期,通过初始化建立起网络拓扑,在无需知道节点间传播时延的情况下实现了节点间的同步,在数据收发阶段各节点只需在特定的时刻处于唤醒状态,发送或接收数据包,而在大部分时间段内处于休眠状态。同时设计了碰撞避免措施以及对新节点加入和节点失效的处理措施。采用本方法可以大大节省网络的能量消耗,延长网络的寿命,同时可以降低碰撞率,并可以有效地由水下环境的改变或节点移动、损害、更新带来的网络拓扑结构的动态变化。
文档编号H04L12/28GK101567820SQ20081002402
公开日2009年10月28日 申请日期2008年4月24日 优先权日2008年4月24日
发明者华 余, 王青云, 力 赵, 邹采荣, 昕 魏 申请人:昕 魏
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1