无线传感器网络中虚拟骨干网的分布式构造方法

文档序号:7954336阅读:187来源:国知局
专利名称:无线传感器网络中虚拟骨干网的分布式构造方法
技术领域
本发明涉及一种无线传感器网络中虚拟骨干网的分布式构造方法,适用于无线传感器网络的自组织、分层路由管理以及网络拓扑的构建。
背景技术
随着通信技术、嵌入式计算技术和传感器技术的飞速发展和日益成熟,具有感知能力、计算能力和通信能力的微型传感器开始在世界范围内出现。由这些微型传感器构成的传感器网络引起了人们的极大关注。这种传感器网络综合了传感器技术、嵌入式计算技术、分布式信息处理技术和通信技术,能够协作地实时监测、感知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,获得详尽而准确的信息,传送到需要这些信息的用户。传感器网络可以使人们在任何时间、地点和任何环境条件下获取大量详实而可靠的信息。因此,这种网络系统可以被广泛地应用于国防军事、国家安全、环境监测、交通管理、医疗卫生、制造业、反恐抗灾等领域。传感器网络是信息感知和采集的一场革命。传感器网络作为一个全新的研究领域,在基础理论和工程技术两个层面向科技工作者提出了大量的挑战性研究课题。
无线传感器网络正因为其巨大的应用前景成为研究领域的一个热点。与传统的有线网络及蜂窝网络不同,这种网络不依赖于固定的物理基础设施或控制中心,网络中的每一个节点都是对等的关系。在这种情况下,应用传统的路由机制将会导致网络中的每一个节点都要参与路由选择与路由消息的维护,在一个大规模的网络中,这将会极大增加系统的操作复杂性、降低网络的能耗效率。
近来,一种虚拟骨干网的思想被提出来解决Ad hoc和无线传感器网络中的路由问题。虚拟骨干网由少数通过构造算法挑选出来的节点组成,不仅能够承担路由功能,而且能够实现流量控制,网络连接性管理等功能。仅有少量节点参与路由功能,这将会大大降低网络的开销,提高系统资源利用率。
无线传感器网络可以通过二维平面上的单位圆图来建模,即对于一个无向图G=(V,E),v∈V代表一个传感器节点,节点u,v∈V,当.二者距离duv≤1时,则u和v有边相连,即(u,v)∈E。连通支配集(Connected Dominating Sets)是指在图G=(V,E)存在一个连通的集合SV,对i∈V-S,∃j∈S,]]>使得(i,j)∈E,则称S为图G=(V,E)的连通支配集。连通支配集(CDS)的方法因为其简单高效成为了在Ad Hoc和无线传感器网络中构建虚拟骨干网的主要途径。在大多数的应用中,为了降低通信开销,节省能耗以及简化连接性管理,要求CDS由最小数目的节点组成,即寻找最小的连通支配集(MCDS)。这个问题只能通过近似算法在多项式时间之内求得次优解,解的质量是由近似率来衡量的,即近似算法所产生的CDS的节点数与MCDS节点数的比值。
目前MCDS的分布式算法大体分为两类基于分簇的方法和直接生成的方法。前者将网络划分为簇,每一个簇通过特定的算法选举出簇首,簇首形成最大独立集(MIS),簇首之间通过网关节点相连,簇首和网关节点组成骨干网。后者直接产生虚拟骨干而不需要分簇。
1)直接方法一个典型的直接算法是参考文献“Routing in ad hoc networks using minimumconnected dominating set”(Bharghavan V,Das B.Proceedings of InternationalConference on Communications’97,Montreal,Canada,June 1997.)所提出的。该算法分为两个阶段(1)查找一个近似的最小支配集(MDS),这实际上是一个集合覆盖问题的求解;(2)使用最小生成树(MST)算法将支配集集中的节点连接起来,生成树的内部节点构成骨干网。
另外一个直接算法是在文献“On calculating connected dominating set forefficient routing in ad hoc wireless network.”(Wu J,Li HL.Proceedings of 3rdACM International Workshop on Discrete Algorithms and Methods for MobileComputing and Communications,1999;7-14.)中阐述的。这个方法提出了一种相反的思路,也分为2个阶段(1)直接在UDG图中构建CDS;(2)根据给定规则将CDS中的冗余节点去除,从而得到近似最小的CDS集合。
以上两种算法都不能保证常数的近似率,即解的质量不高,同时时间复杂性和消息复杂性都很高。
2)基于分簇的方法文献“Distributed construction of connected dominating set in wireless ad hocnetwork.”(Wan PJ,Alzoubi KM,Frieder O.Proceedings of IEEE INFOCOM,2002;1597-1604.)提出了一种基于分簇的虚拟骨干网形成算法。通过相关的分簇算法选举出簇首,簇首形成最大独立集(MIS),再通过先深搜索的方法计算最小生成树,最后生成树中的非叶节点构成虚拟骨干网。这种方法具有常数的近似率以及O(n)的时间复杂性和O(nlogn)消息复杂性。这种方法因为需要计算生成树,即全网的拓扑信息以及消息同步,具有较高的实现复杂性和通信开销,这对于资源受限的无线传感器网络来说是不现实的。
文献“Message-optimal connected dominating set construction for routing inmobile ad hoc networks.”(Alzoubi KM,Li XY,Wang Y,Wan PJ,Frieder O.Proceedings of Third ACM International Symposium on Mobile Ad Hoc Networksand Computing(MobiHoc’02),2002)中,作者提出了一种线性消息复杂性的虚拟骨干网构造方法。这种方法不需要计算生成树,实现较为简单,并且具有常数的近似率。尽管如此,这种方法生成的虚拟骨干网因为有回路,还是导致产生的虚拟骨干网规模较大,增加了路由实现的复杂性。

发明内容
本发明的目的在于针对现有技术的不足,提出一种无线传感器网络中虚拟骨干网的分布式构造方法,能有效减小骨干网的规模,从而简化路由协议的复杂性,提高系统的工作效率。
为了实现这一目的,本发明提出了一种分布式的基于最小连通支配集的虚拟骨干网形成方法。本方法实现过程分为两个阶段在第一个阶段,通过分簇算法构建最大独立集,将整个节点集合划分为簇首以及普通节点两个集合;在第二个阶段,寻找网关节点将簇首连接起来,形成一个连通支配集,通过去除骨干网中所有的三角形回路,有效减少骨干网中节点的数目。
本发明的方法包括如下具体步骤1)网络中每个节点的初始状态都是候选节点,当一个候选节点发现与所有邻居节点相比,自己的标识最小,则将状态改为簇首,并广播簇首状态消息通知其相邻节点;2)当一个候选节点收到簇首状态消息,表示已经有邻居成为簇首,根据在网络中应该保证簇首均匀分布的原则,该节点将丧失成为“簇首”的可能性,则改变自己的状态为普通节点,并广播普通节点状态消息通知相邻节点;3)当网络内所有候选节点确定自己的状态以后,整个节点集合就被划分为簇首和普通节点两个集合;每一个簇首和普通节点生成存储相邻簇首信息的链表结构,链表记录包括所有相邻簇首的标识,以及到达这些相邻簇首所经过的中间普通节点;4)当一个簇首通过查找链表,获知自己与所有相邻簇首相比拥有最小标识时,将所有相邻簇首设为目标簇首,并发起连接请求,该请求消息中包含这个节点链表结构的所有记录项;5)当一个普通节点接收到连接请求消息,首先检查自己是否出现在请求消息的记录项里,如果不在则丢弃该消息,如果在,将自己的状态变为网关节点,并按照自己链表结构中的信息,更新该请求消息记录项中目标簇首所对应的中间普通节点;更新过程完成之后转发该消息;6)当一个普通节点接收到转发消息,检查自己是否作为中间普通节点出现在该消息的记录项中,如果不在则丢弃该消息;如果在,将节点状态改为网关节点,并继续转发这个消息;7)当一个簇首接收到转发的消息,首先检查自己是否作为目标簇首,如果不是则丢弃该消息,如果是,则将接收到的消息与自身链表中的信息相对照,移除所有相同的记录,即对被移除的相应的簇首不再发起连接请求;当所有比自己标识小的相邻簇首都完成连接请求之后,该簇首检查自己的链表结构,当链表内容中依然存在与相邻簇首有关的记录项,则将这些相邻簇首设为目标簇首,并发起连接请求;当链表内容中不存在与相邻簇首有关的记录项,则不再发起连接请求;8)当所有簇首节点不再发起连接请求时,所有簇首节点和网关节点形成虚拟骨干网,完成路由及管理功能。
本发明的方法具有线性的时间复杂性、消息复杂性和简单易实现的特点,所生成的虚拟骨干网由少数经过构造算法挑选出来的节点组成,不仅能够承担路由功能,而且能够实现网络的流量控制和连接性管理。这些良好的性能大大增加了该方法的应用范围。理论分析和仿真结果都显示本发明的方法优于经典算法。


图1为无线传感器网络中虚拟骨干网形成的一个实施例。
图2为采用本发明方法产生的一个虚拟骨干网与其它算法仿真结果的对比。
图3为采用本发明方法产生的另一个虚拟骨干网与其它算法仿真结果的对比。
具体实施例方式
以下结合附图和实施例对本发明的技术方案作进一步描述。
本发明的方法具体实施过程●构建最大独立集每个节点的初始状态都是候选节点。当一个候选节点v发现与所有的邻居相比,自己的标识ID最小,则将状态改为簇首并广播IamDominator(v)消息通知其相邻节点。当一个候选节点u收到IamDominator消息,表示已经有邻居成为簇首,根据在网络中应该保证簇首均匀分布的原则,该节点将丧失成为簇首的可能性,改变自己的状态为普通节点并广播IamDominatee(u)消息。当网络内所有节点确定自己的状态以后,簇首节点就组成了最大独立集。
普通节点u在获知所有邻居的状态以后,生成一个链表结构OneHopDominatorList,记录下所有相邻簇首的信息,然后广播消息MyOneHopDominatorList(u),包含此链表的内容。
相邻簇首接收到MyOneHopDominatorList(u)之后,通过搜索记录项,获知与自己有两跳距离的簇首信息,将其信息保存,加入到自己的链表TwoHopDominatorList中,并将其对应的中间普通节点设为节点u。
普通节点w接收到MyOneHopDominatorList(u)之后,生成第二个链表结构TwoHopDominatorList,记录下所有距离自己两跳的簇首,并将其对应的中间普通节点设为节点u。在接收到所有相邻普通节点的MyOneHopDominatorList消息之后,节点w广播消息MyTwoHopDominatorList(w),包含所有和自己相距两跳的簇首的信息。TwoHopDominatorList表的内容。
簇首v接收到MyTwoHopDominatorList(w)之后,搜索记录项,通过生成链表ThreeHopDominatorList,存储距离自己三跳的的簇首的信息,并记录相应的中间普通节点为w。为了描述方便,我们这里定义同时使用计数变量Number_CH记录簇首数目。
●寻找网关节点,构建虚拟骨干网由簇首发起寻找网关节点过程。簇首u,首先查找存储相邻簇首信息的的链表结构,当发现自己与所有相邻的簇首相比,拥有最小的ID时,发起连接请求,广播TryConnect(u)消息,包含所有“相邻簇首”的信息。
当接收到TryConnect(u)消息,一个普通节点v首先检查自己的ID是否出现在记录项里。如果有,将自己的状态变为网关节点。对于包含v的记录项,分情况处理如果目标簇首与自己相邻(出现在链表OneHopDominatorList),保持记录项不变;否则继续查找TwoHopDominatorList,改变连接目标簇首的中间普通节点为这个链表中的中间普通节点。广播ForwardingConnection(v,u)消息,包含修改后的记录项。
当一个普通节点接收到ForwardingConnection(v,u)消息,首先检查自己是否作为中间节点出现在该消息中。如果是,则将节点状态改为网关节点并且转发这个消息。
当一个簇首接收到一个ForwardingConnection(v,u)消息,首先检查自己是否作为目标簇首。如果是,则递减变量Number_CH,并且在TwoHopDominatorList和ThreeHopDominatorList这两个链表中移除所有的与此目标簇首相关的记录(不再对此目标簇首发起连接,即消除了三角形回路)。如果变量Number_CH为零,该簇首发起连接请求。如果变量Number_CH为零,则不再发起连接请求。
最终,当所有簇首都不再发起连接请求,所选举出来的簇首和网关节点组成虚拟骨干网,完成路由以及其他管理功能。
在图1所示的一个实施例中,白色圆圈代表候选节点,黑色圆圈代表簇首,灰色圆圈代表普通节点,环型圆圈代表网关节点。本方法的执行过程如下(1)初始情况下所有节点都是候选节点,如图1(a)所示。
(2)在图1(b),节点1和8被选为簇首,这是因为与其邻居相比,它们的标识最小。节点3虽然不是标识最小的节点(节点2是它的邻居),但因为节点2加入了节点1的簇而失去了成为簇首的权利,所以节点3也成为簇首。其他节点成为普通节点。
(3)在图1(c)中,因为获知在相邻簇首中拥有最小的标识,节点1首先发起连接请求。
(4)在图1(d)中,在接收到节点1的连接请求后,节点2通过查询信息链表,发现自己是通向目标簇首3的连接点,所以改变自己的状态为网关节点并且广播转发信息。相似地,节点6发现自己是路径(1,8)上的连接点,所以改变自己的状态为网关节点,选择节点10作为该路径上的第二个中间节点并转发该消息。
(5)在图1(e)中,当从节点6接收到转发消息,节点10获知自己是路径(1,8)上的连接点,改变自己的状态为网关节点并且继续转发这个消息。当从节点2接收到转发消息,簇首3得知簇首1已经建立了一条通向簇首8的路径,因此它将放弃对节点8的连接请求,从而消除了三角形的回路。
(6)最终,在图1(f)所示,簇首节点1,3,8和网关节点2,6,10组成了虚拟骨干网。
性能分析本发明有以下特性特性1本发明构建的虚拟骨干网的规模是最小连通独立集的常数倍。通过本发明的描述可知,簇首和网关节点的数目都是最小连通独立集的常数倍,所以二者相加所组成的虚拟骨干网的规模也是最小连通独立集的常数倍。
特性2本发明具有O(n)的时间复杂性,n表示网络中节点的数目。本发明的第一个阶段,每一个普通节点等待其它低标识的邻居做出决定。最坏情况下算法的时间复杂性升序或者降序排列成一条直线,算法复杂性为O(n)。与之相似,在第二个阶段,每一个簇首等待其他低标识的簇首发出连接请求。簇首数量最多为n,所以最坏情况下的时间复杂性也为O(n),该特性得证。
特性3本发明具有O(n)的消息复杂性。本发明的第一个阶段,一个节点最多广播一个消息。在第二个阶段,每个簇首最多广播一个连接请求消息。一个网关节点最多接收和转发25条消息,所以最坏情况下本发明的消息复杂性是O(n)。
仿真结果下面通过仿真实验来比较本发明的方法与其他两种经典方法的性能。实验模型由100、200、400、600和800个节点组成,它们随机均匀分布在(x=0,y=0)至(x=200,y=200)的这个正方形区域内,无线覆盖半径R分别是30和50个长度单位。
通过多次仿真实验,我们比较了三种算法所产生的虚拟骨干网的规模。图2表示在固定无线覆盖半径为50单位长度时,虚拟骨干网的规模与网络节点数的关系。很明显,与其他两种经典方法相比,我们的方法明显减小了无线传感器网络虚拟骨干网的规模。当固定R无线覆盖半径为30单位长度时,仿真实验显示了相似的结果,如图3所示。
权利要求
1.一种无线传感器网络中虚拟骨干网的分布式构造方法,其特征在于包括如下具体步骤1)网络中每个节点的初始状态都是候选节点,当一个候选节点发现与所有邻居节点相比,自己的标识最小,则将状态改为簇首,并广播簇首状态消息通知其相邻节点;2)当一个候选节点收到簇首状态消息,表示已经有邻居成为簇首,则改变自己的状态为普通节点,并广播普通节点状态消息通知相邻节点;3)当网络内所有候选节点确定自己的状态以后,整个节点集合就被划分为簇首和普通节点两个集合;每一个簇首和普通节点生成存储相邻簇首信息的链表结构,链表记录包括所有相邻簇首的标识,以及到达这些相邻簇首所经过的中间普通节点;4)当一个簇首通过查找链表,获知自己与所有相邻簇首相比拥有最小标识时,将所有相邻簇首设为目标簇首,并发起连接请求,该请求消息中包含这个节点链表结构的所有记录项;5)当一个普通节点接收到连接请求消息,首先检查自己是否出现在请求消息的记录项里,如果不在则丢弃该消息,如果在,将自己的状态变为网关节点,并按照自己链表结构中的信息,更新该请求消息记录项中目标簇首所对应的中间普通节点;更新过程完成之后转发该消息;6)当一个普通节点接收到转发消息,检查自己是否作为中间普通节点出现在该消息的记录项中,如果不在则丢弃该消息;如果在,将节点状态改为网关节点,并继续转发这个消息;7)当一个簇首接收到转发的消息,首先检查自己是否作为目标簇首,如果不是则丢弃该消息,如果是,则将接收到的消息与自身链表中的信息相对照,移除所有相同的记录,即对被移除的相应的簇首不再发起连接请求;当所有比自己标识小的相邻簇首都完成连接请求之后,该簇首检查自己的链表结构,当链表内容中依然存在与相邻簇首有关的记录项,则将这些相邻簇首设为目标簇首,并发起连接请求;当链表内容中不存在与相邻簇首有关的记录项,则不再发起连接请求;8)当所有簇首节点不再发起连接请求时,所有簇首节点和网关节点形成虚拟骨干网,完成路由及管理功能。
全文摘要
本发明涉及一种无线传感器网络中虚拟骨干网的分布式构造方法,为有效减小骨干网的规模,简化路由协议的复杂性,提高系统的工作效率,分两个阶段实现分布式的基于最小连通支配集的虚拟骨干网。在第一个阶段,通过分簇算法构建最大独立集,将整个节点集合划分为簇首以及普通节点两个集合;在第二个阶段,寻找网关节点将簇首连接起来,形成一个连通支配集,通过去除骨干网中所有的三角形回路,有效减少骨干网中节点的数目。本发明的方法具有线性的时间复杂性、消息复杂性和简单易实现的特点,所生成的虚拟骨干网由少数经过构造算法挑选出来的节点组成,不仅能够承担路由功能,而且能够实现网络的流量控制和连接性管理。
文档编号H04L12/46GK1917460SQ20061003090
公开日2007年2月21日 申请日期2006年9月7日 优先权日2006年9月7日
发明者何晨, 曹涌涛, 蒋铃鸽 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1