跨层的无线传感器网络介质访问控制协议实现方法

文档序号:7697856阅读:196来源:国知局
专利名称:跨层的无线传感器网络介质访问控制协议实现方法
技术领域
本发明涉及一种跨层的无线传感器网络介质访问控制协议实现方法,属于 无线传感器网络领域。
背景技术
无线传感器网络是继因特网之后,将对人类生活方式产生重大影响的IT技 术之一。无线传感器网络将逻辑上的信息世界与客观上的物理世界融合在一 起,从而改变人与自然界的交互方式,扩展人类认知世界的能力。作为一种无 处不在的感知技术,无线传感器网络广泛应用于军事、环境、医疗、家庭和其 它商用、工业领域;在空间探索和反恐、救灾等特殊的领域,它也有着得天独 厚的技术优势。
无线传感器网络是一种无中心节点的全分布系统,与无线自组织网络有很 多相似之处,网络中的节点都自组织成网络,不需要任何基础设施;网络的拓 扑具有动态易变性;节点的通信覆盖范围有限,通过多跳路由实现非相邻节点 间的通信;网络的安全性没有保障等。但无线传感器网络与无线自组织网络具 有明显不同的技术要求和应用目标,无线自组织网络以传输数据为目的,致力 于在不依赖于人和基础设施的前提下为用户提供高质量的数据传输服务;而无 线传感器网络以数据为中心,将能源的高效使用作为首要设计目标,专注于从 外界获取有用信息。无线传感器网络还具有区别于无线自组织网络的以下独有 特征
① 规模大、密度高为获取尽可能精确、完整的信息,无线传感器网络通 常密集部署在大片的监测区域中,其节点的数量和密度较无线自组织网络成数 量级的提高。它通过大量冗余节点的协同工作来提高系统的工作质量。
② 动态性强、拓扑易变无线传感器网络工作在一定的物理环境中。不断 变化的外界环境会严重影响系统的功能和网络的拓扑,造成网络拓扑动态易变,因此要求传感器节点能够随着环境的变化而适时地调整自身的工作状态, 系统的工作能适应网络拓扑的动态变化。
③ 与应用相关无线传感器网络通过感知客观世界的物理量来获取外界的 信息。由于不同应用关心不同的物理量,因而对网络系统的要求也不同,其硬 件平台、软件和通信协议也必然会有很大差异。这就使得无线传感器网络不能 同因特网那样有统一的通信协议平台,只有针对每一个具体的应用来开展设 计,才能实现高效、可靠的系统目标;
④ 以数据为中心在无线传感器网络中,通常关心的是某个区域内某个观 测指标的数值,而不会去具体关心单个节点的具体数据以及提供观测数据的节 点本身,这就是无线传感器网络以数据为中心的特点,它不同于传统,网络的寻 址过程,能够快速有效地组织起各个节点的信息并融合提取出有用信息直接传 送给用户。这里用户所关心的是如何获取事件,而不是提供事件的某个或多个 节点。
⑤ 可靠性通过随机播撒的方式,传感器节点可以被密集部署于指定的恶 劣环境或无人区域,在无人值守的状态下工作,这就使得网络的维护变得十分 困难,甚至不太可能,因此要求传感器节点非常坚固、不易损坏。从安全性考 虑,要求无线传感器网络的设计必须具有很好的鲁棒性和容错性。
⑥ 节点资源有限传感器节点具有的能量、处理能力、存储能力和通信能 力等都十分有限,因而在实现各种网络协议和应用系统时,传感器节点的能力 要受到以下一些限制
电源能量有限。随着传感器节点的微型化,节点的电池容量有限,而且由 于物理限制难以更换节点电池或补充能量,所以传感器节点的电池能量限制是 整个无线传感器网络设计最关键的约束之一,它直接决定了网络的工作寿命。 传感器节点消耗能量的模块包括传感器模块、处理器模块和无线通信模块,其 中绝大部分的能量消耗在无线通信模块上,通常l比特信息传输100m距离所需传感器节点消耗能量的模块包括传感器模块、处理器模块和无线通信模块,其 中绝大部分的能量消耗在无线通信模块上,通常l比特信息传输100m距离所需 的能量大约相当于3000条计算指令所消耗的能量;
计算和存储能力有限。廉价、微型的传感器节点带来了节点处理能力弱、 存储器容量小的特点,使得其不能进行复杂的计算,而传统有线和无线网络上 研究成熟的通信协议和算法,对于无线传感器网络而言实现开销太大,难以使 用,因此必须重新设计简单、有效的协议和算法。如何利用有限的计算和存储 资源完成诸多协同任务成为对无线传感器网络设计的挑战。
通信能力有限。通常无线通信的能耗随着通信距离的增加成指数增长。为 节能起见,无线传感器网络应采用多跳路由的通信传输机制,尽量减少单跳通 信的距离。多跳通信是无线传感器网络的基本通信方式。
无线传感器网络的上述特点,特别是针对无线传感器网络的能量限制,为 了延长网络的寿命,能量有效性成为无线传感器网络应用中首要的一个设计指 标,能量高效的无线传感器网络通信协议,是目前的一个热点研究领域。
介质访问控制协议(medium access control,MAC)处于无线传感器网络通 信协议的底层部分,用于构建无线传感器网络的底层基础结构,以解决传感器 节点之间以怎样的规则共享介质才能取得满意的网络性能问题。在设计无线传 感器网络的介质访问控制协议时,需要着重考虑能量有效性、可扩展性以及网 络效率等几个方面。由于传感器节点采用电池供电,传感器节点本身不能自动 补充能量或能量补充不足,而且在传感器节点的能量消耗中,无线通信模块的 能量消耗占绝大部分,而介质访问控制协议又直接控制无线通信模块的行为, 使得介质访问控制协议的能量有效性直接影响网络节点的生存时间和网络寿 命。因此,与传统网络的介质访问控制协议重点考虑节点使用带宽的公平性、 提高带宽利用率以及增加网络的实时性等注重的因素正好相反,能量有效性成 为设计无线传感器网络介质访问控制协议首要考虑的性能指标,无线传感器网络的可扩展性和适应网络拓扑变化的能力等性能指标处于次要的位置;其它的
网络性能指标如延迟、信道利用率等,需要根据无线传感器网络的应用进行折 中考虑。这就意味着传统网络的介质访问控制协议,并不适用于无线传感器网 络,需要研究和提出新的适用于无线传感器网络的介质访问控制协议。 从介质访问控制协议的实现考虑,通常造成其能量浪费的主要因素有以
下几个方面空闲侦听(idle listening);消息碰撞(message collision);窃听 (overhearing);控帝服文开销(control國packet overhead);发送失效(overemitting)。
这些因素都直接与无线通信模块的状态有关。传感器节点无线通信模块的状态 包括发送、接收、侦听和睡眠等,单位时间内无线通信模块在发送状态消耗的 能量最多,在睡眠状态消耗能量最少,接收状态和侦听状态下的能量消耗小于 发送状态。因此,为了减少传感器节点的能量消耗,应尽可能多地使无线通信 模块处于睡眠状态。
目前,在无线传感器网络的介质访问控制协议设计中,针对低业务的传感 器网络应用,传感器节点一般采用周期性的侦听和睡眠调度机制。S-MAC协议 就是在IEEE 802. IIMAC协议的基础上,针对无线传感器网络的节省能量需求而 提出的无线传感器网络MAC协议,其节点采用了周期性侦听/睡眠机制,另外还 采用了流量自适应侦听、串音避免、信道预约和消息分割等机制以提高MAC协 议的性能。在S-MAC协议的基础上,又提出了T-MAC、 AS-MAC和P-MAC等协议, 以进一步提高S-MAC协议的性能。这类协议具有以下共同特点节点均按固定 的周期长度运行,且每个周期分为侦听和睡眠两部分,其侦听时间和整个周期 的比值称为占空比,占空比越大,节点处于侦听的时间越长,能效性越差;节 点在侦听期间唤醒进行数据通信,在睡眠期间进入睡眠状态以降低能耗;为保 证传感器节点之间正确通信,协议设计采用同步机制,通过周期性转发和侦听 节点的调度信息,并维护所有相邻节点的调度信息,使得节点之间形成一致的 周期侦听/睡眠调度机制;传感器节点采用RTS/CTS/DATA/ACK的通信过程,传递数据信息,采用随机退避和广播的方式通告节点的调度信息。
在上述S-MAC类协议中,传感器节点的侦听周期大小直接影响网络的性能。
为了节省能量,希望传感器节点的侦听周期越大越好,但在网络节点业务量一
定的情况下,传感器节点的侦听周期越大,S-MAC类协议数据通信的信道接入 等待时延越大,且与侦听周期成正比,不能适用于时延敏感的无线传感器网络 的应用;相反,传感器节点的侦听周期越小,节点周期侦听/睡眠的状态转换 频率越高,数据传递的信道接入等待时延就变得越小,但在网络节点业务量一 定的情况下,节点空闲侦听所消耗的能量越大,从而造成能量的浪费。在自适 应AS-區C协议中,当节点的侦听周期与S-MAC相同时,虽然节点的自适应侦听 可以使数据传递的多跳时延减少一半,但AS-MAC协议除了唤醒在通信路径上的 节点之外,所有在通信路径方向的其他邻居节点都被强迫唤醒,且随着节点密 度的增加,强迫唤醒的邻居节点数量线性增加,从而造成节点空闲侦听消耗的 能量增加。
针对上述S-MAC类协议,《传感器学报》2009年1月第一期公开了作者郑 国强一篇名称为"一种适用于无线传感器网络的跨层高效MAC协议"的论文, 该论文介绍了在AS-MAC协议基础上,通过利用路由层路由表信息,改变AS-MAC 协议中的RTS和CTS控制帧格式,将路由层的路径信息告知给相关节点,在周 期睡眠阶段自适应唤醒时刻到来时,仅唤醒数据通信的下一跳节点,避免同一 虚拟簇中其它节点在此时间内进行空闲侦听,减少了节点能量的消耗,延长了 网络的寿命,但是在实际的无线传感器网络应用,如森林火灾、突发自然灾害 的预防,国家边境线的自动岗哨等,传感器节点的业务量都是突发的,且对发 生的事件具有时间敏感性,并且还希望无线传感器网络的寿命越长越好。因此, 上述的一种适用于无线传感器网络的跨层高MAC协议就不能满足数据从源节点
到信息汇聚节点对时间延迟的要求,针对这类传感器节点业务量较少的无线传 感器网络应用环境,根据无线传感器网络的MAC设计要求,就需要设计一种尽可能增大节点的侦听/睡眠周期长度,即减小占空比,但同时又能减少信道接
入等待时延的MAC协议。

发明内容
本发明的目的是提供一种减少信道接入等待时延的跨层的无线传感器网 络介质访问控制协议实现方法,用来解决对时延敏感、业务量少的无线传感器 网络不能满足信道接入等待时延的问题。
为实现上述目的,本发明采用如下技术方案 一种跨层的无线传感器网络 介质访问控制协议实现方法,该方法包括以下步骤
(1) 网络初始化在网络的初始建立时刻,节点采用S-MAC协议的通告同步 报文的机制,形成虚拟的同步簇,实现同一个虚拟簇的同步唤醒和建立邻居节 点的同步调度表;
(2) 进入循环的侦听/睡眠周期时间,所述的侦听/睡眠周期时间包括周期侦 听时间和周期睡眠时间;周期侦听时间侦听时间分为同步、请求和响应三个 窗口;在同步窗口根据记录的邻居节点的局部消息,维护和更新节点的同步调 度表,在请求和响应窗口根据RTS/CTS/DATA/ACK机制建立数据链路,在一 数据发送节点有效通信范围外、及它对应的数据接收节点有效通信范围内确定 自适应唤醒节点,并设置该节点从周期睡眠开始到自适应唤醒所经历的睡眠时
间JV在数据接收节点有效通信范围之外、数据发送节点的通信干扰最大区域 内确定强迫唤醒节点,并设置这些点从周期睡眠开始到强迫唤醒所经历的睡眠
时间7V其中7;〉7v
(3) 周期睡眠时间周期睡眠开始时刻,数据发送节点和数据接收节点进行 数据传递,其它的节点进入睡眠状态;经过时间JV自适应唤醒节点进入自适
应侦听时间,在该时间段内采用与上述周期侦听时间的请求和响应窗口相同的
机制,进行下一跳的数据传输;经过时间JV强迫唤醒节点进入自适应侦听时 间,在该时间段内也采用与侦听阶段请求和响应窗口相同的机制,对强迫唤醒节点重新进行判断,确定下一个数据接收节点和下一组需要强迫唤醒的节点, 以实现数据的多跳传输。
所述的网络初始化包括以下步骤,①网络布置后,由数据收集节点激活网
络内所有的节点,根据网络的应用要求和布置的节点情况,洪泛网络的参数;
② 节点随机侦听信道一段时间,如果节点在这段侦听时间内没有收到其它 节点广播的同步调度分组信息,则该节点就产生自己的调度周期并广播同步调 度分组信息,如果节点在这段侦听时间内收到其它节点的同步调度分组信息, 则将它的调度周期设置为与邻居节点相同,并在等待一端随机时间按后广播它 的同步调度分组,节点随机侦听信道一段时间,如果节点在这段侦听时间内没 有收到其它节点广播的同步调度分组消息,则该节点就产生自己的调度周期信
息并广播同步调度分组消息;如果节点在这段侦听时间内收到其它节点的同步 调度分组消息,则将它的调度周期设置为与先收到的邻居节点同步,并在等待 一段随机时间后广播它的同步调度分组消息;
③ 节点在产生并利用同步调度分组通告自己的调度周期信息后,如果收到 的邻居节点同步调度分组消息中的调度周期信息,没有与自己的调度周期相同 步的邻居节点,则使用邻居节点的调度周期信息而丢弃自己生成的调度周期信 息;如果节点已经收到过与自己的调度周期同步的其它邻居节点通告的同步调 度分组消息,则在调度表中记录该邻居节点的调度周期信息,以便能够与非同 步的邻居节点通信;
④ 根据节点的调度表中记录的各邻居节点调度周期信息,计算与该节点调 度周期同步的邻居节点个数,产生一个介于1和上述所计算的邻居节点个数之 间的随机整数,并将该随机数设为节点下一次广播自己的同步调度分组消息所 需经历的最小侦听/睡眠周期数;计算节点调度表中记录的邻居节点调度周期信 息个数,并与节点所记录的平均节点密度参数相比较,选取二者中的最大者作 为节点下一次广播自己的同步调度分组信息所需经历的最大侦听/睡眠周期数。所述的步骤(2)中同步窗口,维护和更新节点同步调度表包括以下步骤
① 根据网络初始化或每次节点成功发送同步调度分组后所确定的节点发
送同步调度分组的所需经历的最小侦听膽眠周期数7;^和最大侦听/睡眠周期
数7_—k以及节点成功发送同步调度分组后所经历的侦听/睡眠周期数^来确定 节点在当前同步窗口要执行的操作当节点成功发送同步调度分组后所经历的
侦听/睡眠周期数小于所需经历的最小侦听/睡眠周期数时aP7;e<rmin_fc),在当
前同步窗口节点只能侦听和更新其它节点发送的同步调度分组,并根据侦听的
同步调度分组的信息更新节点的同步调度表;当节点成功发送同步调度分组后
所经历的侦听/睡眠周期数大于等于所需经历的最小侦听/睡眠周期数并且小于
所需经历的最大侦听/睡眠周期数(即rmin_fc《7;e<rmax_,e)时,在当前同步窗口
节点采用随机竞争的方式发送自己的同步调度分组,若侦听到信道空闲,节点 立即发送自己的同步调度分组,若侦听到信道忙,则节点继续执行侦听至同步 窗口时间结束,并根据侦听的结果更新节点的同步调度表;当节点成功发送同 步调度分组后所经历的侦听/睡眠周期数大于等于所需经历的最大侦听/睡眠周
期数GP7;,》rn_fc)时,在当前同步窗口节点立即发送自己的同步调度分组;
② 若在当前同步窗口节点成功发送自己的同步调度分组,则根据当前更新 的节点调度表,重新计算节点调度表中与节点调度周期同步的邻居节点数,并
将其设置为下次发送同步调度分组所需经历的最小侦听/睡眠周期数;重新计算
节点调度表中记录的所有调度周期信息数,并与网络节点的平均密度比较,将 两者中的最大者设置为下次发送同步调度分组所需经历的最大侦听/睡眠周期
数;
③ 当前同步窗口结束,更新自上次节点成功发送同歩调度分组后所经历的 侦听/睡眠周期数。
所述的步骤(2)中请求和响应窗口根据RTS/CTS/DATA/ACK机制建立数据链路的步骤为
① 在周期侦听的请求窗口开始时刻,存储队列中有数据需要发送的节点, 先随机侦听信道一段时间,然后根据侦听结果执行以下操作当节点在此期间 侦听到信道空闲并且首先成功发送请求报文,则该节点作为发送数据的节点; 当节点在此期间侦听到请求报文,则该节点在本侦听/睡眠周期内只能作为候选 的接收节点,并推迟该节点存储队列中数据的发送至下一个侦听周期;
② 对侦听到请求报文的所有节点,它们对所侦听到的请求报文中所包含的 数据接收节点的地址进行识别和判断,与请求报文中所包含的数据接收节点的 地址相一致的节点即为数据接收节点,其它的节点进入睡眠状态,直至下一个 侦听/睡眠周期开始;
③ 在周期侦听的响应窗口时刻,数据接收节点先随机侦听信道一段时间, 然后根据侦听的结果执行以下操作当侦听到信道空闲时,数据接收节点发送 应答报文,否则节点进入睡眠状态,直至下一个侦听/睡眠周期开始;
④ 发送数据的节点在响应窗口根据侦听信道的结果执行以下操作当侦听 到应答报文并且应答报文中所包含的接收地址与发送数据节点的地址相一致, 则发送数据的节点发送数据报文给数据接收节点,数据接收节点在接收完成后 立即发送确认报文给发送数据的节点,发送数据的节点在收到确认报文后立即 进入睡眠状态直至下一个侦听/睡眠周期开始,否则发送数据的节点不发送数据 报文。
所述的步骤(2)中确定自适应唤醒节点和强迫唤醒节点的步骤为
① 在周期侦听的请求窗口,存储队列中的没有数据发送的节点执行空闲侦 听,并根据侦听的结果执行以下操作当节点侦听到载波信号但不能识别其中 包含的信息,则继续侦听;
② 在响应窗口,执行继续侦听的节点根据侦听到的结果执行以下操作当 节点侦听到应答报文中包含的下一跳节点的地址和自己的地址相一致,则该节点作为数据下一步传送的自适应唤醒节点,并设置从周期睡眠开始到自适应唤 醒所经历的睡眠时间7V其它侦听到应答报文的节点立即进入睡眠状态直至下 一个侦听周期;当节点在此时刻仅侦听到载波信号但不能识别其中的信息,则
这些节点作为强迫唤醒节点,并设置从周期睡眠开始到强迫唤醒所经历的睡眠
时间7>
所述的步骤(3)中,在周期睡眠内,执行自适应唤醒节点进行数据的下一跳
传输和执行强迫唤醒的节点进行数据多跳传输的步骤为
① 周期睡眠开始时刻发送数据的节点向接收数据的节点发送数据报文,当 接收数据的节点完成数据接收后立即发送确认报文给发送数据的节点,该节点 接收到确认报文后进入睡眠状态;
② 从周期睡眠开始时刻经过时间j;后,自适应唤醒节点进入自适应侦听时
间,在该时间段内自适应唤醒节点重复周期侦听阶段中请求窗口和响应窗口操 作过程,如果在自适应侦听时间内该节点侦听到了需要发送数据的节点的请求 报文,并且请求报文包含的接收地址与该自适应唤醒节点的地址一致,则发送 数据报文到该自适应唤醒节点,该自适应唤醒节点接收完数据后发送确认报文
确认数据发送成功,实现了数据的进一步发送;
③ 从周期睡眠开始时刻经过时间7;后,强迫唤醒节点唤醒进入自适应侦听
时间,在该时间段内强迫唤醒节点重复周期侦听阶段中请求窗口和响应窗口操 作过程,在这段时间内,根据侦听到的应答报文中包含的下一跳地址,判断再 一步数据要传送到的节点,以及接下来需要强迫唤醒的节点,并分别对应设置
从现在到自适应唤醒所经历的时间^和从现在到强迫唤醒所经历的时间7V在
本周期睡眠时间内按上述的方式实现数据的多跳传输。
所述的自适应唤醒时间j;和强迫唤醒时间7;的计算公式如下<formula>formula see original document page 18</formula>
其中,?i^为传递数据报文所需的时间、r^为侦听确认报文所需的时间、
r为周期侦听时间。
本实用新型的有益效果是节点在周期侦听期间,在设置自适应唤醒节点
的同时,在数据发送节点的通信干扰最大区域内、数据接收节点有效通信范围 以外设置感知到载波信号的节点为强迫唤醒节点,当节点处于周期睡眠状态 时,数据从源发送节点传递到自适应唤醒节点,之后唤醒在周期侦听活动期间
因其它节点执行RTS/CTS操作而侦听到载波信号、但不能识别其信息的强迫唤
醒节点,就可以实现在一个侦听/睡眠周期数据的多跳传输,大大减少了信道
接入等待的时延;同时利用邻居节点的局部信息,将节点的同步调度分组报文 尽可能按周期执行通告,减少了节点每个侦听周期因在同步窗口竞争发送同步 调度分组时可能引起的碰撞,从而减少能量消耗。


图1是本发明网络节点生命期的工作过程示意图2是本发明的用于无线传感器网络的介质访问控制方法的实现流程图; 图3是本发明的网络节点拓扑实例图; 图4是本发明中使用的消息格式的组成示意图; 图5是本发明实现数据多跳传递过程中各节点的工作过程图。
具体实施例方式
结合图1来说明跨层的无线传感器网络介质访问控制协议实现方法的步骤 为网络初始化、周期侦听、周期睡眠;其中每个周期侦听的时间固定,每个 周期侦听包括同步、请求和响应三个时间窗口;每个周期睡眠的睡眠时间在节 点通信干扰最大区域内无业务发生时固定不变, 一旦存在业务,则节点能够执 行数据传递或自适应唤醒或强迫唤醒;下面说明各阶段工作时间的具体设置。网络初始化阶段的目的是使网络节点形成虚拟的同步簇。本发明为了扩大 虚拟同步簇的范围,增大了节点声明同步报文的随机等待窗口时间,减小了节
点去竞争发送同步报文的概率p,,该概率根据下式确定
=丄 m
上式中,^表示网络节点的通信干扰最大区域内的平均节点数。按照这种方法,
网络初始化阶段的时间r。同SMAC协议的网络初始化阶段的时间相比,由于虚
拟同步簇范围的扩大而延长了,并且增加的时间与节点的布置密度、随机退避 窗口的设置大小等都有关,但由于这个阶段只在网络布置时执行一次,其执行 时间的增加对网络的应用并不构成严重的影响,反而因虚拟同步簇的扩大,可
以显著减小节点空闲侦听的能量消耗。所以这个时间r。根据具体应用可以作出 估计。
节点周期侦听时间T:节点的周期侦听时间由同步、请求和响应三个窗口 时间组成,其中同步窗口时间&由节点竞争发送同步报文退避的最大窗口时
间和发送或侦听同步调度报文所需的时间组成;请求窗口时间^s由节点竞争 发送请求报文RTS的退避最大窗口时间和发送或侦听请求报文RTS所需要的 时间组成;响应窗口时间^^由节点竞争发送应答报文CTS的退避最大窗口时 间和发送和侦听应答报文CTS所需要的时间组成;它们的窗口时间的大小相等, 每个窗口时间的大小,。的设置由网络节点的布置密度和业务发生率以及传播时 延决定;因此节点的周期侦听时间r:
T = fewc + + fcrs =3/。 ( 2 )
为了尽可能节省能量,并且使数据在传递过程中不因为节点的周期睡眠而 中断,则节点的最大周期睡眠时间c节点从周期睡眠开始到自适应唤醒所经
历时间T],节点从周期睡眠开始至强迫唤醒所经历的时间5由以下公式确定
19w /7 2w、 3
711 = 7iw7M + Zkx ( 3 )
712 = 2T71 + r必=2(7i)扁+ T^cx + /。) = 2〔7b扁+ 7^cx + ^ — + - 2f。
^为网络节点的通信干扰最大区域内的平均节点数,"表示网络节点一跳通信
范围的平均节点数,7i,为传递数据报文所需的时间,r^为侦听确认报文所
需的时间,T^为节点自适应唤醒或强迫唤醒后自适应侦听时间,每个自适应侦
听时间包括请求窗口和响应窗口。
因此,每个侦听/睡眠周期的时间f:
71 = " 7" = ^1(711 + 2,o)+ 3,o = ,712 + ")+ 3,。 (4)
结合图2 图5说明本发明根据图1所示的节点工作时间的划分方法,
执行网络初始化、节点的周期侦听和节点的周期睡眠的具体步骤如下 (1)网络初始化
① 网络在布置后,首先根据网络的应用要求和布置的节点情况,确定其应 用的相关参数网络节点的载波感知最大范围内的平均节点数^;网络节点一 跳通信范围的平均节点数W最大的网络初始化时间r。;周期侦听每个时间窗 口的时间,。;最大周期睡眠时间"
② 由汇聚节点SINK通过直接的广播或多跳的洪泛把①中确定的参数以及 SINK的位置信息、节点的工作启动信息发送给网络节点;
③ 网络节点根据获取的参数和启动信息被激活并开始网络自组织;根据 A, =1确定节点竞争发送同步报文的概率,依此概率并结合随机退避机制,
按照类似SMAC协议的方式网络节点形成虚拟的同步簇,并建立邻居节点的 调度表;④ 节点调度表中,根据记录的邻居节点调度周期信息,调度周期同步的节 点同步唤醒和睡眠;节点可以利用不同步的邻居节点临时激活,以便与不同步
的邻居节点进行通信;
⑤ 根据节点建立的调度表中记录的具有相同周期同步的邻居节点数,在0 和该邻居节点数之间产生一个随机数,并设置该随机数作为节点下一次广播自 己的同步调度分组所需经历的最小侦听/睡眠周期数4",设置节点同步调度 表中记录的所有调度的邻居节点数和节点同步调度表中记录的平均节点密度 参数二者中的最大者作为节点下一次广播自己的同步调度分组所需经历的最 大侦听/睡眠周期数7__&。
⑥ 根据节点的调度周期以及同步睡眠时间,节点进入睡眠状态;在睡眠时 间t到时,具有调度周期同步的节点同步唤醒。
(2)节点侦听周期
节点周期侦听的时间由三个时间段组成同步、请求和响应。同步窗口用 于发送和更新同歩调度报文以维护和更新邻居节点的同步调度表;请求和响应 窗口利用RTS/CTS/DATA/ACK机制建立数据链路,以执行数据传输,并根据 侦听结果确定节点进入睡眠后是否执行自适应唤醒和强迫唤醒。
在节点执行完睡眠/,时间唤醒后,首先进入同步时间窗口,进行节点调度 的同步维护。具体执行过程如下
①根据网络的参数,设置周期侦听的时间为3 。,其中同步维护的窗口时间
为&,并开始计时;
根据节点所维护的参数7;,"和7__,£ ,以及在节点上次通告同步调度分
组后所经历的侦听/睡眠周期数7;£,若7;,rmm—,£,则节点在整个同步窗口期间 仅执行侦听;若r—,々7;^7;,",则节点采用随机退避的机制一旦侦听信道空
闲,就通告自己的同步调度分组,否则等待下一个侦听周期继续执行本操作;若t;^t^—fc,则节点在一个更小的时间内随机退避后若侦听信道空闲,就立即
通告自己的同步调度分组,否则等待下一个侦听周期继续执行本操作;
③ 若节点通告自己的同步调度分组,则根据当前节点的调度表,重新设置
L"和7__fc,并将7^复位为0;若节点仅侦听信道,或竞争失败不能通告自 己的同步调度分组SYNC,则在同步时间结束后,根据侦听到的其他节点的同 步调度分组,更新节点的调度表,并将7^增加1;
④ 同步时间,。计时到,同步维护结束,并同时启动请求窗口时间计时器。 节点在请求窗口时间的具体执行过程如下
① 请求窗口时间为r。,并开始计时,确认节点是否有数据需要发送;
② 若节点存储队列中有数据需要发送,则节点在请求窗口的开始时刻, 首先随机侦听信道一段时间,然后根据侦听结果分别执行以下操作若侦听信 道空闲或侦听到载波信号、但无法识别其中的信息,则节点立即发送请求报文 RTS,若侦听到请求报文RTS,则推迟节点的数据发送请求至下一个侦听周期, 而本侦听周期该节点只能作为候选接收节点;
若节点存储队列中没有数据需要发送,则节点在请求窗口始终处于侦听状 态,直至请求窗口结束。
上述执行过程②中所述的侦听到载波信号、但无法识别其中的信息,结合 图3给出的无线传感器网络布置图来进行说明,在发送请求报文RTS或应答报 文CTS时, 一跳通信范围内的节点是能识别请求报文RTS或应答报文CTS消 息的节点,这个范围称为节点的有效通信范围;而在有效通信范围以外的更大 的范围内的节点能够感知到请求报文RTS或应答报文CTS信号,但不能识别 其中的信息,我们把这个范围称为节点的载波干扰区域,而在这个区域内的节 点称为载波感知区域内的节点;在这个范围之外的节点称为载波感知区域外的 节点;上述不同范围的大小可以通过设置不同的接收信号强度门限来确定。这 里,利用对载波的感知确定一定覆盖范围内网络业务的发生与否,以实现数据的快速传递。
图4说明了本发明中使用的请求报文RTS、应答报文CTS、数据报文DATA 和确认报文ACK的组成格式。与S-MAC中报文组成格式相比,本发明的请求 报文RTS中增加了最终的目的接收节点地址SINK Addr;应答报文CTS中增 加了通信路径上的节点地址Next Hop-Addr,以实现自适应唤醒和多跳的数据 传递。
节点在响应窗口时间的具体执行过程如下
① 响应窗口时间为&,并开始计时;
② 根据节点在请求窗口的不同执行结果,结合图4分别确定节点在响应窗 口开始时的状态如下
若节点在请求窗口侦听到请求报文RTS,并且侦听到的请求报文RTS所包
含的接收地址为该节点的地址,则该节点为数据的接收节点,在响应窗口该节
点执行随机侦听,若侦听到信道空闲,则发送应答报文CTS,若侦听到信道忙, 则继续执行侦听直至响应窗口结束;
若节点在请求窗口成功发送请求报文RTS,则在响应窗口执行随机侦听操
作;
若节点侦听到应答报文CTS并且应答报文CTS中所包含的接收地址是该 节点的地址,则该节点开始执行发送数据报文DATA的操作;若侦听到的应答 报文CTS所包含的接收地址不是该节点的地址,则该节点进入睡眠状态;
若节点在请求窗口侦听信道空闲或仅侦听到载波信号、但无法识别其中的 信息,则在响应窗口继续执行侦听;若侦听到应答报文CTS,且应答报文CTS 所包含的下一跳通信节点的地址为该节点的地址,则该节点为自适应唤醒的节 点,在响应窗口结束后进入睡眠状态,并设置从周期睡眠开始至自适应唤醒所 经历的睡眠时间为T1,以执行自适应唤醒;若侦听到应答报文CTS中所包含的 下一跳通信节点的地址不是该节点的地址,则在响应窗口结束后进入睡眠状 态;若节点侦听到载波信号且无法识别,则这些节点被设为强迫唤醒节点,响 应窗口结束后进入睡眠状态,并设置从周期睡眠开始至强迫唤醒所经历的睡眠时间为T2,以执行强迫唤醒。 (3)节点周期睡眠
① 设置周期睡眠时间计时器"并启动开始计时;
② 根据节点在周期侦听期间的执行结果,执行以下不同的操作
在进入周期睡眠后,若节点在周期侦听期间发送请求报文RTS并成功侦听 到应答报文CTS,则节点开始执行发送数据报文DATA的操作,并在侦听到确认 报文ACK后进入睡眠状态;
若节点为自适应唤醒节点,则在进入睡眠状态后,根据从周期睡眠开始至
自适应唤醒所经历的睡眠时间T1,执行自适应唤醒;
若节点为强迫唤醒节点,则在进入睡眠状态后,根据设置从周期睡眠开始
至强迫唤醒所经历的睡眠时间T2,执行强迫唤醒; 其它的节点则一直睡眠直至下一个侦听周期开始;
② 执行自适应唤醒的节点,若睡眠时间T1至U,则节点被唤醒2f。的时间; 根据请求窗口和响应窗口阶段的侦听操作,执行侦听请求报文RTS和应答报文 CTS的过程,成功建立数据链路后执行DATA数据报文的传递,而该自适应唤醒 的节点在成功接收DATA报文后,成为数据报文进一步发送的源节点;
③ 执行强迫唤醒的节点,若睡眠时间T2时间到,则节点也被唤醒2/。的时 间;根据请求窗口和响应窗口阶段的侦听操作,执行侦听请求报文RTS、应答 报文CTS和载波信号的过程,确定这些节点中那个是自适应唤醒节点、那些是 强迫唤醒节点,那些节点进入睡眠状态直至下一侦听周期,以实现数据的多跳 传递、减少空闲侦听;
周期睡眠时间计时器^计时到,节点唤醒开始执行同步维护,即开始下 一个侦听/睡眠周期的执行过程。
本发明的效果利用图5进行了说明,它是根据图3网络布置图中数据传递 的过程给出的。在图3网络布置图中源节点S0在周期侦听期间竞争发送数据 并在一个周期期间实现多跳数据传递的过程,图5中给出了在一个周期期间源节点S0的数据DATA通过中继节点S1、 S2、 S3、 S4实现多跳传递时各节点的 执行过程,其它不在通信路径上的节点并没有画出。
从图5的执行过程看,节点的自适应唤醒实现了数据的一跳传递,避免了 节点有效通信范围内其它节点唤醒的空闲侦听,减少了节点能量消耗;节点的 强迫唤醒使自适应唤醒的过程得以继续,从而实现多跳的数据传递,减少了时 延,虽然增加了局部载波感知区域节点的空闲侦听,但其它节点能够始终处于 睡眠状态,从而大大减少整个网络的能量消耗。
权利要求
1.一种跨层的无线传感器网络介质访问控制协议实现方法,其特征在于,该方法包括以下步骤(1)网络初始化在网络的初始建立时刻,节点采用S-MAC协议的通告同步报文的机制,形成虚拟的同步簇,实现同一个虚拟簇的同步唤醒和建立邻居节点的同步调度表;进入循环的侦听/睡眠周期时间,所述的侦听/睡眠周期时间包括周期侦听时间和周期睡眠时间;(2)周期侦听时间侦听时间分为同步、请求和响应三个窗口;在同步窗口根据记录的邻居节点的局部消息,维护和更新节点的同步调度表,在请求和响应窗口根据RTS/CTS/DATA/ACK机制建立数据链路,在一数据发送节点有效通信范围外、及它对应的数据接收节点有效通信范围内确定自适应唤醒节点,并设置该节点从周期睡眠开始到自适应唤醒所经历的睡眠时间T1,在数据接收节点有效通信范围之外、数据发送节点的通信干扰最大区域内确定强迫唤醒节点,并设置这些点从周期睡眠开始到强迫唤醒所经历的睡眠时间T2,其中T2>T1;(3)周期睡眠时间周期睡眠开始时刻,数据发送节点和数据接收节点进行数据传递,其它的节点进入睡眠状态;经过时间T1,自适应唤醒节点进入自适应侦听时间,在该时间段内采用与上述周期侦听时间的请求和响应窗口相同的机制,进行下一跳的数据传输;经过时间T2,强迫唤醒节点进入自适应侦听时间,在该时间段内也采用与侦听阶段请求和响应窗口相同的机制,对强迫唤醒节点重新进行判断,确定下一个数据接收节点和下一组需要强迫唤醒的节点,以实现数据的多跳传输。
2、根据权利要求1所述的跨层的无线传感器网络介质访问控制协议实现 方法,其特征在于所述的网络初始化的歩骤如下,① 网络布置后,由数据收集节点激活网络内所有的节点,根据网络的应用 要求和布置的节点情况,洪泛网络的参数;② 节点随机侦听信道一段时间,如果节点在这段侦听时间内没有收到其它 节点广播的同步调度分组信息,则该节点就产生自己的调度周期并广播同步调 度分组信息,如果节点在这段侦听时间内收到其它节点的同步调度分组信息, 则将它的调度周期设置为与邻居节点相同,并在等待一段随机时间后广播它的 同步调度分组,节点随机侦听信道一段时间,如果节点在这段侦听时间内没有 收到其它节点广播的同步调度分组消息,则该节点就产生自己的调度周期信息并广播同步调度分组消息;如果节点在这段侦听时间内收到其它节点的同步调 度分组消息,则将它的调度周期设置为与先收到的邻居节点同步,并在等待一 段随机时间后广播它的同步调度分组消息;③ 节点在产生并利用同步调度分组通告自己的调度周期信息后,如果收到 的邻居节点同步调度分组消息中的调度周期信息,没有与自己的调度周期相同 步的邻居节点,则使用邻居节点的调度周期信息而丢弃自己生成的调度周期信 息;如果节点已经收到过与自己的调度周期同步的其它邻居节点通告的同步调 度分组消息,则在调度表中记录该邻居节点的调度周期信息,以便能够与非同 步的邻居节点通信;④ 根据节点的调度表中记录的各邻居节点调度周期信息,计算与该节点调 度周期同步的邻居节点个数,产生一个介于1和上述所计算的邻居节点个数之 间的随机整数,并将该随机数设为节点下一次广播自己的同步调度分组消息所 需经历的最小侦听/睡眠周期数;计算节点调度表中记录的邻居节点调度周期信 息个数,并与节点所记录的平均节点密度参数相比较,选取二者中的最大者作 为节点下一次广播自己的同步调度分组信息所需经历的最大侦听/睡眠周期数。
3、根据权利要求1所述的跨层的无线传感器网络介质访问控制协议实现 方法,其特征在于所述的步骤(2)中同步窗口,维护和更新节点同步调度表的步骤为①根据网络初始化或每次节点成功发送同步调度分组后所确定的节点发送同步调度分组所需经历的最小侦听/睡眠周期数7;,"和最大侦听/睡眠周期数r__fc,以及节点成功发送同步调度分组后所经历的侦听/睡眠周期数r^来确定节点在当前同步窗口要执行的操作当节点成功发送同步调度分组后所经历的侦听/睡眠周期数小于所需经历的最小侦听/睡眠周期数时ap ;e<rmil^),在当前同步窗口节点只能侦听和更新其它节点发送的同步调度分组,并根据侦听的同步调度分组的信息更新节点的同步调度表;当节点成功发送同步调度分组后所经历的侦听/睡眠周期数大于等于所需经历的最小侦听/睡眠周期数并且小于所需经历的最大侦听/睡眠周期数(即rmin_fc《;<7_—,。)时,在当前同步窗口节点采用随机竞争的方式发送自己的同步调度分组,若侦听到信道空闲,节点 立即发送自己的同步调度分组,若侦听到信道忙,则节点继续执行侦听至同步 窗口时间结束,并根据侦听的结果更新节点的同步调度表;当节点成功发送同 步调度分组后所经历的侦听/睡眠周期数大于等于所需经历的最大侦听/睡眠周期数(即7^》T^—fc)时,在当前同步窗口节点立即发送自己的同步调度分组;② 若在当前同步窗口节点成功发送自己的同步调度分组,则根据当前更新 的节点调度表,重新计算节点调度表中与节点调度周期同步的邻居节点数,并将其设置为下次发送同步调度分组所需经历的最小侦听/睡眠周期数;重新计算 节点调度表中记录的所有调度周期信息数,并与网络节点的平均密度比较,将 两者中的最大者设置为下次发送同步调度分组所需经历的最大侦听/睡眠周期 数;③ 当前同步窗口结束,更新自上次节点成功发送同步调度分组后所经历的 侦听/睡眠周期数。
4、根据权利要求1所述的跨层的无线传感器网络介质访问控制协议实现方法,其特征在于所述的步骤(2)中请求和响应窗口根据RTS/CTS/DATA/ACK 机制建立数据链路的步骤为.-① 在周期侦听的请求窗口开始时刻,存储队列中有数据需要发送的节点, 先随机侦听信道一段时间,然后根据侦听结果执行以下操作当节点在此期间 侦听到信道空闲并且首先成功发送请求报文,则该节点作为发送数据的节点; 当节点在此期间侦听到请求报文,则该节点在本侦听/睡眠周期内只能作为候选 的接收节点,并推迟该节点存储队列中数据的发送至下一个侦听周期;② 对侦听到请求报文的所有节点,它们对所侦听到的请求报文中所包含的 数据接收节点的地址进行识别和判断,与请求报文中所包含的数据接收节点的 地址相一致的节点即为数据接收节点,其它的节点进入睡眠状态,直至下一个 侦听/睡眠周期开始;③ 在周期侦听的响应窗口时刻,数据接收节点先随机侦听信道一段时间, 然后根据侦听的结果执行以下操作当侦听到信道空闲时,数据接收节点发送 应答报文,否则节点进入睡眠状态,直至下一个侦听/睡眠周期开始;④ 发送数据的节点在响应窗口根据侦听信道的结果执行以下操作当侦听到应答报文并且应答报文中所包含的接收地址与发送数据节点的地址相一致, 则发送数据的节点发送数据报文给数据接收节点,数据接收节点在接收完成后 立即发送确认报文给发送数据的节点,发送数据的节点在收到确认报文后立即 进入睡眠状态直至下一个侦听/睡眠周期开始,否则发送数据的节点不发送数据 报文。
5、根据权利要求1所述的跨层的无线传感器网络介质访问控制协议实现 方法,其特征在于所述的步骤(2)中确定自适应唤醒节点和强迫唤醒节点的步 骤为①在周期侦听的请求窗口,存储队列中的没有数据发送的节点执行空闲侦 听,并根据侦听的结果执行以下操作当节点侦听到载波信号但不能识别其中包含的信息,则继续侦听;②在响应窗口,执行继续侦听的节点根据侦听到的结果执行以下操作当 节点侦听到应答报文中包含的下一跳节点的地址和自己的地址相一致,则该节 点作为数据下一步传送的自适应唤醒节点,并设置从周期睡眠开始到自适应唤 醒所经历的睡眠时间7V其它侦听到应答报文的节点立即进入睡眠状态直至下一个侦听周期;当节点在此时刻仅侦听到载波信号但不能识别其中的信息,则 这些节点作为强迫唤醒节点,并设置从周期睡眠开始到强迫唤醒所经历的睡眠时间7>
6、根据权利要求1所述的跨层的无线传感器网络介质访问控制协议实现 方法,其特征在于所述的步骤(3)中,在周期睡眠内,执行自适应唤醒节点进 行数据的下一跳传输和执行强迫唤醒的节点进行数据多跳传输的步骤为① 周期睡眠开始时刻发送数据的节点向接收数据的节点发送数据报文,当 接收数据的节点完成数据接收后立即发送确认报文给发送数据的节点,该节点 接收到确认报文后进入睡眠状态;② 从周期睡眠开始时刻经过时间7;后,自适应唤醒节点进入自适应侦听时间,在该时间段内自适应唤醒节点重复周期侦听阶段中请求窗口和响应窗口操 作过程,如果在自适应侦听时间内该节点侦听到了需要发送数据的节点的请求 报文,并且请求报文包含的接收地址与该自适应唤醒节点的地址一致,则发送 数据报文到该自适应唤醒节点,该自适应唤醒节点接收完数据后发送确认报文确认数据发送成功,实现了数据的进一步发送;③ 从周期睡眠开始时刻经过时间j;后,强迫唤醒节点唤醒进入自适应侦听时间,在该时间段内强迫唤醒节点重复周期侦听阶段中请求窗口和响应窗口操 作过程,在这段时间内,根据侦听到的应答报文中包含的下一跳地址,判断再 一步数据要传送到的节点,以及接下来需要强迫唤醒的节点,并分别对应设置从现在到自适应唤醒所经历的时间j,和从现在到强迫唤醒所经历的时间7V在本周期睡眠时间内按上述的方式实现数据的多跳传输。
7、根据权利要求6所述的跨层的无线传感器网络介质访问控制协议实现方法,其特征在于所述的自适应唤醒时间L和强迫唤醒时间J^的计算公式如 下 <formula>formula see original document page 7</formula>其中,r。^为传递数据报文所需的时间、L^为侦听确认报文所需的时间、r为 周期侦听时间。
全文摘要
本发明涉及一种跨层的无线传感器网络介质访问控制协议实现方法,该方法主要在无线传感器网络节点进入周期睡眠时间后设置一些节点为强迫唤醒节点,以便在这些节点中找到未来通信路径上的节点,实现在一个侦听/睡眠周期数据的多跳传递,本发明主要用来解决对时延敏感、业务量少的无线传感器网络不能满足信道接入等待时延的问题。
文档编号H04W80/00GK101557637SQ20091006496
公开日2009年10月14日 申请日期2009年5月20日 优先权日2009年5月20日
发明者周志立, 周立鹏, 孙若玉, 勃 彭, 李济顺, 甘从辉, 郑国强, 马华红 申请人:河南科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1