传感器网络定向扩散机制中梯度生成算法的研究重点.docx
- 文档编号:11855767
- 上传时间:2023-04-06
- 格式:DOCX
- 页数:12
- 大小:410.17KB
传感器网络定向扩散机制中梯度生成算法的研究重点.docx
《传感器网络定向扩散机制中梯度生成算法的研究重点.docx》由会员分享,可在线阅读,更多相关《传感器网络定向扩散机制中梯度生成算法的研究重点.docx(12页珍藏版)》请在冰豆网上搜索。
传感器网络定向扩散机制中梯度生成算法的研究重点
收稿日期:
2006-07-03 基金项目:
卫星综合信息网网络管理技术(2003AA712032资助. 作者简介:
廖先林,男,1963年生,博士研究生,高级工程师,研究方向为计算机网络;赵林亮,男,1956年生,博士,教授,研究方向为计算机网络、智能系统;王光兴,男,1937年生,教授,博士生传感器网络定向扩散机制中梯度生成算法的研究
廖先林,张志伟,门云会,赵林亮,王光兴
(东北大学信息科学与工程学院,辽宁沈阳110004E-mail:
zhaolinliang@ise.neu.edu.cn
摘 要:
如何生成优化的梯度是传感器网络定向扩散中的一个关键问题,本文在分析一种基本梯度生成算法的问题基础之上,利用兴趣包的转发次数对其进行改进,设计了一种分布式的最短路径梯度生成算法.该算法极大的降低了邻居节点间建立“平行梯度”和“逆向梯度”的概率,可构建从源节点到sink节点的多条最短路径.仿真表明,改进的算法可建立更为有效的梯度,从而使得定向扩散中数据报文沿着更短的路径传输,无线传感器网络的能量利用率更高.
关键词:
传感器网络;定向扩散;梯度生成;最短路径
中图分类号:
TP393 文献标识码:
A 文章编号:
1000-1220(200710-1735-05
ResearchonGradientsSetupAlgorithmforDirectedDiffusioninWSN
LIAOXian-lin,ZHANGZhi-wei,MENYun-hui,ZHAOLin-liang,WANGGuang-xing
(SchoolofInformationScience&Engineering,NortheasternUniversity,Shenyang110004,China
Abstract:
Howtosetupgoodgradientsiscrucialfordirecteddiffusioninwirelesssensornetworks.Basedontheresearchofonebasicgradientssetupalgorithm′sproblem,utilizinginterestpacket′sforwardedtimes,thispaperpresentsadistributedshortest-pathgradientssetupalgorithmfordirecteddiffusion.Theimprovedalgorithmgreatlydecreasestheprobabilityto
build"parallelgradients"and"reversegradients",andconstructmultipleshortestpathsfromsourcenodetosinknode.Thesimulationresultsshow,thisshortest-pathgradientssetupalgorithmcansetupmoreefficientgradients,thendatapacketswillbedeliveredalongshorterpaths,anddirecteddiffusionforwirelesssensornetworksismoreenergyefficient.Keywords:
sensornetworks;directeddiffusion;gradientssetup;shortest-path
1 引 言
以数据为中心的定向扩散协议(DirectedDiffusion是无线传感器网络中平面路由协议中的一项重要内容,它既完成了路由的功能,又提供了对应用层的支持,较之其它一些路由协议
[3,4,8]
它具有良好的体系结构.有关仿真证明定向扩散
在传输时延、能量消耗等方面都有不错的性能[1].
定向扩散主要包括兴趣发布、梯度建立、数据传输、路径加强和修复等内容.兴趣描述了需要采集的数据的特征,一个梯度至少描述了邻居节点之间数据传输的方向.因为多个梯度可以构建从源节点(source到网关节点(sink的数据传输路径,所以梯度表示了网络的路径[1].对于一种特定类型的兴趣,一个节点之上可以存在多个梯度与其对应,这就保证了从这个节点到sink节点有多条路径来传输与这个兴趣对应的数据,这样当一个邻居节点损坏的时候,仍然会有其它的邻居节点来传输数据,所以一个节点上的多个梯度保证了网络的健壮性.同时梯度在网络的能量利用率方面也起到了重要的作用,因为好的梯度可以构建较短的路径,这样在数据报文从源节点传输到网关节点时就会消耗较少的能量.可见,梯度与网络的健壮性和能量利用率都有着密切的关系.
在定向扩散中,梯度是在兴趣发布的过程中建立起来的.其大体过程是,网关节点首先向自己的邻居节点广播兴趣.当一个中间节点从邻居节点收到兴趣之后,它会建立指向兴趣转发者的梯度,然后这个节点再对兴趣执行广播.这样重复进行,兴趣报文被广播到整个网络.当广播周期结束之后,整个网络中也就建立了相应的梯度.
在本论文中,将会研究梯度生成的具体细节.首先介绍一种基本的梯度生成算法,分析它的关键之处和效果之后,将对其构造的路径过长问题来改进这种基本算法,设计一种最短路径梯度生成算法来建立更为有效的梯度.最后,利用ns2[2]分别对两种算法进行仿真,并就网络的性能进行比较.
2 基本梯度生成算法
2.1 算法描述
这个基本的梯度生成算法在ns2.29的定向扩散协议中已经实现,仿真结果表明,这个算法能在较短的时间内以较少的能量建立比较有效的梯度.算法的有限状态机描述如图1(见下页所示.注意图中只标注了算法中节点主要状态间的转换.
首先,sink节点会生成一个兴趣报文,这个兴趣描述了所
小型微型计算机系统JournalofChineseComputerSystems2007年10月第10期Vol.28No.102007
要查询的数据的属性,然后把兴趣“注入”到网络当中去.对于sink节点而言,在兴趣广播出去之后,它将会等待接收数据.如果sink节点收到邻居的兴趣,而自己正好是这个兴趣的源节点,sink节点将会丢弃这个兴趣报文
.
图1 基本梯度生成算法的有限状态机描述Fig.1 Basicgradientssetupalgorithmdescription
withfinitestatemachine
中间节点对于兴趣报文的处理是这个算法的关键之处.当中间节点第一次收到这个兴趣报文的时候,它把这个兴趣报文放置到兴趣缓冲区当中,建立指向兴趣转发者的梯度,进行一个服从某个均匀分布的很小的随机延时,延时结束后再把兴趣报文广播到自己的邻居.在这段随机延时的过程中,如果节点又一次从其它的邻居收到了这个兴趣,那么节点还会建立梯指向转发者的梯度.而当延时完毕兴趣已经转发之后,又一次收到这个兴趣报文的时候,这个兴趣报文会被丢弃,节点不会进行梯度的建立.这样可以保证对于同一种兴趣,邻居节点之间不会有直接的环路存在,因为邻居节点只有一个梯度,而且这个梯度的方向是从兴趣转发时间晚的节点指向兴趣转发时间早的节点.
这样兴趣报文就会在整个网络当中进行广播,到达广播域中的每一个节点.需要强调一点,在一次兴趣传播过程当中,对于同一个兴趣报文,每个传感器节点只是转发一次.源节点在产生数据之后,如果发现兴趣缓冲区中有相应的兴趣,它会沿着与这个兴趣相对应的梯度所建立的路径来传输数据.如果有多个梯度与这个兴趣相对应,节点可以随机选择一个梯度进行数据传输,也可以向所有的梯度都发送数据.关于数据如何沿梯度进行传输不属于本论文研究的范围.2.2 算法分析
节点上兴趣转发的随机延时和中间节点对一个兴趣包只转发一次决定了该基本梯度生成算法不会产生环路,代价小,不容易在链路层产生冲突.由于邻居节点之间总是会建立后转发兴趣节点指向先转发兴趣节点的梯度,而且离sink节点越远,转发时间越晚的概率就越大,所以从整体的梯度拓扑来看,这个算法会满足基本的梯度生成要求,整个网络会利用梯度建立从source指向sink的多条路径.
2.2.1 环路问题分析
前面已经解释过在一对邻居节点之间只能存在一个梯度.对于两个邻居,节点C和节点D,如果存在从C指向D的C→D,
那么,两个节点对兴趣的转发时间(节点C要晚:
T(C>T(D.假设在节点A和节点B之间存在环路,那么就有:
A→X→…→B→Y→…→A
对于兴趣的转发时间,也就有:
T(A>T(X>…>T(B>T(Y>…>T(A所以:
T(A>T(A
显然,这是矛盾的.所以我们的假设是错误的,所以使用这种基本的梯度生成算法,在一次兴趣传播的过程当中,任意的两个传感器节点之间不会形成环路.
2.2.2 能量消耗分析
对无线传感器网络而言,特别是对于大规模的网络,将兴趣报文广播到整个网络当中去是一个很大的能量消耗.但在不知道网络中哪个节点会采集到与兴趣对应的数据的情况下,这又是唯一的一种选择.有关研究是利用地理位置对兴趣的广播进行控制,但现在还没有廉价而又准确的方法来获取无线传感器网络节点的地理位置.在这个算法当中,每个节点对于同一个兴趣报文只是转发一次,所以兴趣报文被转发的次数等于网络中广播域的节点个数.这种情况下,能量消耗相对较小.
2.2.3 媒体接入层的冲突避免
传感器网络使用的是无线通信方式,无线通信过程中进行冲突检测是一件困难的事情,所以在进行无线mac设计的时候经常采用的策略是冲突避免和一些调度机制[5].传感器网络上三层在进行分布式协议设计的时候,应该考虑避免数据报文在mac层发生冲突,也就是邻居节点尽量避免在同一时刻发送数据.这个算法利用兴趣报文的随机延时转发来避免广播过程中兴趣报文在mac层发生冲突.如图2所示,当节点0把兴趣报文广播之后,节点1和节点2几乎会同时收到这个兴趣报文,如果节点1和节点不进行随机的延时,而是直接将兴趣转发出去,那么兴趣报文将会有很大的可能性在两者的共同邻居节点3上面发生冲突,导致节点3接收不到兴趣报文.
图2 节点无延时兴趣转发冲突示意图Fig.2 Illustrationofcollisiononnodewith
notimedelaytopropagateinterest
在这个算法当中,随机延时服从一个从0到0.05秒的均匀分布.假设兴趣报文的大小是50字节,无线信道数据传输速率是1M/S.经过计算,如果使用了随机延时,图2中在节点3上面发生兴趣报文冲突的概率是1.6%.如果mac层使,,1736 小 型 微 型 计 算 机 系 统 2007年
个更小的CTS报文,这样发生冲突的概率更是会小于1.6%.所以如果我们使用了随机延时,在真实网络中发生广播冲突的概率很小.
2.2.4 梯度拓扑结果
由于随机延时的存在,生成的梯度拓扑的结果也就带有随机性.利用上述算法形成的梯度拓扑的主要特征是邻居节点之间必然存在单向的梯度,而且整体的梯度走向是从source节点指向sink节点,这已经符合定向扩散梯度建立的要求.
基本的梯度生成算法存在的问题之一是这个算法没有解决过长路径的问题.在接下来的部分中,我们会对这个基本算法进行改进,来生成一个更为优化的梯度拓扑.
3 最短路径梯度生成算法
为了使得数据报文在传输过程中消耗的能量最少,我们改进基本的梯度生成算法,设计了这种最短路径梯度生成算法,来生成可构建最短路径的梯度.
3.1 问题分析:
平行梯度和逆向梯度
为了保证传输数据报文消耗的能量最少,那就要保证从源节点到sink节点的路径最短,那么就应该保证节点上的每个梯度都是最优的,每个梯度构建的路径都是通往sink节点的最短路径.也可以说,经过一个梯度,数据报文就越接近sink,反之,梯度的存在就会过多消耗网络的能量.
在利用基本的梯度生成算法得到的梯度拓扑图3(a中,因为节点1可以直接把数据报文转发给sink节点,而无须再用节点3进行转发,所以从节点1指向节点3的梯度是多余的.因为这两个节点距离sink节点的跳数值是一样的,所以这两个节点间的梯度会浪费网络的能量,称具有相同跳数值的节点间的梯度为平行梯度.这种平行梯度是应该去掉的
.
(a 平行梯度和逆向梯度,兴趣转发时间:
节点3<节点1<节点4<节点2(b 最优梯度拓扑
图3 一般梯度拓扑与最优梯度拓扑Fig.3 Generalgradientstopologywith
bestgradientstopology
更为严重的情况是梯度从具有跳数值小的节点指向了跳数值大的节点,例如图3(a中的从节点2指向节点4的梯度就是这种情况,如果节点2使用这个梯度来发送数据报文,那么至少要经过多余的两跳才能把数据报文发送到sink节点.在图3(a拓扑中,如果使用基本的梯度建立算法,节点2将会有16.67%的概率拥有指向节点4的梯度.我们称这种完
全背离sink节点方向、从跳数值小的节点指向跳数值大的节.
在新的算法当中,我们认为可以构建从源节点到sink节点的最短路径的梯度是最优的梯度,并以此为标准来生成梯度.在一次兴趣广播的过程中,如果一个中间节点对兴趣报文进行了转发,那么这个节点就是正常的节点,包括能量和链路状况,我们可以使用这个节点来发送数据.尽管在兴趣失效之前节点可能坏掉,然而通过兴趣的周期性广播可以使得这个损坏节点在下一次兴趣传播过程中被忽视.所以,我们认为可以构建从源节点到sink节点的最短路径的梯度可以使得网络使用最少的能量来进行数据传送,并且认为这种梯度是最好的梯度.图3(b是最佳梯度的一个拓扑示意.
接下来,我们将会改进基本算法来降低在梯度生成过程中建立平行梯度和逆向梯度的概率,从而得到一个更为接近于最优化结果的梯度拓扑,使得网络的能量利用率更高.我们称这个改进的算法为最短路径梯度生成算法,因为这个算法可以确立从源节点到sink节点的多条最短路径.3.2 使用兴趣报文的转发次数改进基本算法
平行梯度和逆向梯度存在的根本原因是基本算法只是利用兴趣报文转发时间的早晚来确定梯度方向,而这个算法却不能完全保证离sink节点远的节点总是会先于离sink节点近的节点晚一些转发兴趣报文,如图3(a.
解决的方法是使用兴趣报文的转发次数来修改基本算法.对每一种兴趣,节点设置一个称为节点跳数的变量与其对应,并利用节点收到的兴趣报文的转发次数对其进行更新.Sink节点的节点跳数是0.
当一个中间节点第一次收到某种类型的兴趣报文的时候,它会将兴趣报文放置到兴趣缓冲区当中,建立指向兴趣转发者的梯度,并利用兴趣报文的转发次数来初始化本节点与
FT:
兴趣报文转发次数NH:
节点跳数值RS:
兴趣报文是否转发
图4 新算法兴趣报文处理流程
Fig.4 Optionsonthenewreceivedinterestpacket这种兴趣对应的节点跳数,然后准备进行延时转发.如果节点,1737
10期 廖先林等:
传感器网络定向扩散机制中梯度生成算法的研究
己的节点跳数值与兴趣报文里面的转发次数进行比较.如果转发次数小于节点跳数,那么这个节点将会删除以前建立的关于这种兴趣的所有梯度,建立新的指向这个转发者的梯度,使用这个更小的兴趣报文的转发次数更新它的节点跳数.如果此时节点还没有把兴趣报文转发出去,那么还要用这个兴
趣报文的转发次数加一来更新待转发的兴趣报文的转发次数值.如果转发次数跟节点跳数值相等,那么节点只是添加一个新的梯度.如果转发次数大,那么这个兴趣报文将会被丢弃.注意的是不论节点将兴趣报文转发与否,节点都会进行上面的比较和操作.图4(见上页说明了新算法对于兴趣报文的处理流程.
3.3 算法分析
改进的算法利用了兴趣报文的转发次数来去掉平行梯度、修改逆向梯度.举例来说,在图3(a中,尽管节点4比节点2要早一些转发兴趣报文,但是节点2不会建立指向节点4的梯度,因为节点2会发现它的节点跳数(本图中是1要小于节点4发送来的兴趣报文的转发次数(本图中是3.相反,节点4会建立指向节点2的梯度,尽管节点4在收到节点2转发来的兴趣报文的时候节点4已经进行过了兴趣报文的转发,因为兴趣报文里面的转发次数等于节点的跳数值,本图中都是2.这样的比较和操作会极大的去除平行梯度,修改逆向梯度,使得局部的梯度更为合理,最终会得到一个接近于最佳梯度的梯度拓扑.
注意的是我们还是不能完全得到最优化的梯度,因为中间节点只能转发一次兴趣报文,所以关于自己的跳数值,它可能对自己的邻居“说谎”.我们的算法还是一种尽最大努力的情况(best-effortcase,我们所能保证的就是每个节点只是保留指向“看起来”具有最小跳数值节点的梯度.在下面的仿真部分中,我们将会看到新算法对于梯度的建立结果有了很大的改进.
4 仿 真
我们用ns-2进行新协议设计[6,7],实现了最短路径梯度生成算法,并进行了仿真.我们的仿真工作主要包括两个方面,一个是关于梯度生成结果的分析,一个是关于整个网络节能效果的分析.
4.1 梯度生成结果分析
首先,我们设计了一个集中式的算法(一个用java来实现的宽度优先搜索算法来计算理想的最佳梯度拓扑,这个最佳的梯度拓扑包括从源节点到sink节点的所有最短路径.然后分别使用基本的梯度生成算法和最短路径梯度生成算法进行仿真,在仿真过程中提取各个中间节点上面的梯度.最后,用仿真结果与最佳结果进行比较.
为了便于比较,特进行如下的定义.如果一个梯度出现在仿真结果集中,同时也出现在理想最佳梯度集中,我们称之为一个命中(HIT,如果一个梯度出现在仿真结果集中而没有在最佳结果集中,我们称之为一个错误(ERROR,另外一种
情况是一个梯度在最佳梯度集中而没有出现在仿真结果集中,(路径,而错误会使得网络使用过多的能量来传输数据报文.所以命中数量越多越好,而错误和丢失越少越好.
我们用不同规模大小的传感器网络来进行仿真,从50个节点到250个节点.50个节点的场地是随机的把50个节点放置在长和宽都是800米的场地中.每个传感器节点的通信
图5 一个改进算法的梯度拓扑结果
Fig.5 Onegradientstopologyresultswith
improvedalgorithm
半径是250米(我们采用了802.11协议的默认通信半径,对于WSN可能大了一点,但这不影响仿真比较.其它大小的场地,包括100个节点、150个节点、200个节点、250个节点,分别通过调整场地的大小来保持节点的密度不变.在每种大小的场地上仿真都进行两次,分别采用不同的梯度生成算法,基本的梯度生成算法和最短路径梯度生成算法.图5是一个使用了最短路径梯度生成算法的梯度拓扑结果(使用jav
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 传感器 网络 定向 扩散 机制 梯度 生成 算法 研究 重点
![提示](https://static.bdocx.com/images/bang_tan.gif)