CN102076049B - 基于势能场的能量平衡的路由方法 - Google Patents
基于势能场的能量平衡的路由方法 Download PDFInfo
- Publication number
- CN102076049B CN102076049B CN201010596431.0A CN201010596431A CN102076049B CN 102076049 B CN102076049 B CN 102076049B CN 201010596431 A CN201010596431 A CN 201010596431A CN 102076049 B CN102076049 B CN 102076049B
- Authority
- CN
- China
- Prior art keywords
- node
- energy
- potential energy
- depth
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于势能场的能量平衡的路由方法,该方法包括步骤:S1.初始化节点;S2.若接收到的信息包为非CLP更新信息包且非数据包,则执行步骤S3,否则,执行步骤S5;S3.更新节点自身的深度表、能量密度表及能量表,若节点自身的深度以及能量密度没有改变,则返回步骤S2,否则,执行步骤S4;S4.广播节点自身的更新信息包,返回步骤S2;S5.计算邻居节点势能差,选择势能差最大的节点作为下一跳节点;S6.确认最终下一跳节点,并发送信息包包至最终下一跳节点,返回步骤S2。本发明的方法根据可用的区域信息来动态地转换不同的路径,以实现以均匀地消耗能量来尽可能长时间地维持网络连接性和网络功能,且避免网络划分和能量洞。
Description
技术领域
本发明涉及无线传感器网络(WSN)技术领域,尤其涉及一种基于势能场的能量平衡的路由方法。
背景技术
对于WSN路由协议设计而言,能量平衡和能量效率是两个重要的技术指标,它们也将采用不同的方法来设计路由算法。能量效率路由协议通过最小化能量消耗来延长网络生命期,但是能量平衡路由协议是通过平衡能量消耗来延长网络生命期的。前者很容易导致很早的网络分区,以至于虽然有很多的剩余能量但网络不可用。虽然后者可能不能达到各自最优化的能量效率,但是它可以均匀地消耗能量来尽可能长时间地维持网络连接性和网络功能。到目前为止,针对无线传感器网络协议大量的研究都关注在能量高效的路由协议,其目标是在本地节点或者整个网络中寻找一种优化的路径去最小化能量消耗。不过,有一些协议也注意到了能量不平衡的问题。低功耗自适应集簇分层型协议(Low Energy Adaptive Clustering Hierarchy,LEACH)、高效成簇算法(Efficient Clustering Algorithm,EAD)和能量效率混合聚类算法(A hybrid,Energy-efficient Distributed Clustering Approach,HEED)三个路由协议都提供了在簇中通过随机选择簇头的方式来达到能量平衡的解决方案,但是它们仅仅是本地化的解决方案。除此之外:在Singh和Prasanna的研究中,定义了能量平衡的性质和建议,分析和评估了能量平衡的算法在单跳的无线传感器网络中的情况,但是这是基于每个节点可以直接同终端通信的假设,和实际的多跳无线传感器网络不相符合。在Olariu和Stojmenovic的研究中,关注于在终端附近的能量洞现象,而不是整个网络的能量平衡问题。非均匀节点分配策略的提出实现了近平衡的能源消耗,但是由于除了最外面的部分之外,节点数量从外到内成几何倍增加,这样带来的消耗是巨大的。能量感知的路由协议维护了多条路径,同时为每一个数据包的发送选择其中合适的一条路径,通过这种方式可以改善网络的生存能力。但是它是十分耗能的,因为它需要十分频繁地交换路由信息(每次在路径上的节点能量值改变的时候)来获得精确的路由量度。主动多路径路由算法实现了空间能量平衡,但是实际上它是一个负载平衡机制,这是因为它是基于“能量负担”和“传输负载”被认为是相同的前提下。在实际的无线传感器网络中,除了传输负载外还有很多的因素导致了能量的负担,例如通道感知和通道竞争。无疑,通过多路径散播传输,能量在一定程度上得到了平衡。但是它不是一个优化的解决方案,因为对于散播传输而言,对于剩余能量分布的不了解是一个很大的弊端。
在其它研究中,关于平衡能量消耗的综合设计已经有所研究,同时其路由算法已经作为了一种辅助的机制。在Efthymiou、Nikoletseas和Rolim的研究中,能量消耗通过选择一跳接一跳传输模式还是直接传输模式来达到平衡。一跳接一跳传输可以节省距离终端较远的节点的能量,而直接传输可以节省距离终端较近的节点的能量,由于转发的负担在这种传输模式中得到了缓解。数据聚集的能量平衡算法(Balancing Energy Consumption to Maximize Network Lifetime inData-gathering Sensor Networks,EBDG)路由协议充分利用了基于边缘的网络划分、混合路由和数据聚合来平衡能量消耗。
下面是一些在无线传感器网路中基于梯度的路由协议。它们主要分为两大类:信息问询路由和数据收集路由。前者是将问询信息由终端发送到节点,而后者是将收集的数据从节点发向终端。大部分基于梯度的信息问询路由协议都采用物理现象的自然梯度,物理量的空间分布(例如温度测量)符合自然界的扩散法则。然而,在一些存在的局部极值或者大型高原地区,通过自然法则实施的梯度就不能起到很好的作用了。为了去克服这些缺点,H.J Lin等提出了一种在合适的网络中,通过解决一个离散逼近的偏微分方程来计算信息势能的方法。这种解决方案是一种典型的调和函数,它具有很好的代数结构和很多有用的性质,包括缺少局部极值的情况下。
一些数据收集的路由协议也使用梯度的概念。基于梯度的路由协议(Gradient Based Routing,GBR)将传输均匀地分配到了每一个节点上,并防止不均匀的传输过载。终端广播一条感兴趣的信息到整个网络。每一个节点收到这条感兴趣的信息并且在信息中带有跳数的记录,记载着到终端所需要的跳数。每个节点的梯度就是由跳数所决定的。跳数梯度从节点到终端被建立起来,同时所有的消息也将顺着终端的方向传输。事实上,GBR协议等同于最短路径路由,其计算梯度时仅仅将跳数考虑在内。
基于梯度的广播协议(Gradient Broadcast,GRAB)是为了可靠性而设计的,其主要是从每个源到接收者都要传输消息的多个冗余副本经过一个交错网络。GRAB根据数据消息中携带的信用值来控制带宽,从而允许发送者调整数据发送的可靠性。耗能场是通过网络中的广播包来实现的。一个节点的耗能指的是从该节点到终端发送一个包所需消耗的最少能量。换句话来说,GRAB采用了多路径和耗能场来达到增强数据发送的可靠性以及实现最小能量消耗的目的,但是这仍然很容易导致能量不平衡,甚至产生能量洞。除此之外,GRAB十分依赖于周期性的梯度信息的维护,这样导致了高带宽和能量消耗。状态无关的基于势能场的传输协议(A State-Free Gradient-BasedForwarding Protocol,SGF)将GRAB进行了扩展,它为了能够适应短暂的通道和拓扑变化,采用了在多个候选节点中投机地选择转发节点的方式。它对于梯度的维护完全是由数据传输来实现的,因此减少了能量的消耗。但是,投机的选择几乎不能保证耗能场的单调性,因此路由环路很可能无法控制。
势能和梯度的概念不仅仅应用于无线网络领域,同时应用于有线领域。举个例子,传输感知的路由算法(称为PBTA)为采用路由数据包绕开网络中拥挤的热点的方法,改善了端到端的延时和振动。但是,由于需要有大量的管理消耗,它没有得到广泛的关注。在传统网络中为每一个发送目的地建立一个独占的虚拟场是很昂贵的,而且在传统网络中每一个随机部署的节点都能成为一些包的发送目的地。相反,在无线传感器网络中当基于势能的路由协议被应用的时候,由于整个网络只有一个终端,所以这种多对一的向心型传输模式仅仅需要一个混合场去维护。在另外一项工作中,受到物理学中磁学的影响,H.J.Huang等提出了一个数据传播机制,这种机制就是将数据包作为金属针而终端节点作为一块磁石,这个过程就是金属针被磁石吸引的过程。这个简单的数据传播机制仅仅能提供一个基本的路由功能,例如通过建立一个简单的磁场,让指令包向终端传播。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:提供一种基于势能场的能量平衡的路由方法,以实现以均匀地消耗能量来尽可能长时间地维持网络连接性和网络功能。
(二)技术方案
为解决上述问题,本发明提供了一种基于势能场的能量平衡的路由方法,该方法包括步骤:
S1.初始化节点,设置路由状态为正常,终端深度为0,其余节点深度为+∞,检测节点自身能量并存储在能量表中,接收来自终端或邻居节点的信息包;
S2.解析接收到的信息包,若接收到的信息包为非确认路由环路的更新信息包且非数据包,则执行步骤S3,若接收到的信息包为确认路由环路的更新信息包或数据包,则执行步骤S5;
S3.根据接收到的所述更新信息包,更新节点自身的深度表、能量密度表及能量表,若节点自身的深度以及能量密度没有改变,则返回步骤S2,否则,执行步骤S4;
S4.广播节点自身的更新信息包,并返回步骤S2;
S5.根据节点自身的深度表、能量密度表及能量表,计算邻居节点势能差,选择势能差最大的节点作为下一跳节点;
S6.根据选择的下一跳节点的深度,确认最终下一跳节点,并发送所述确认路由环路的更新信息包或数据包至所述最终下一跳节点,并返回步骤S2。
其中,所述深度表、能量密度表及能量表分别存有每个节点自身及其邻居节点的深度、能量密度及剩余能量信息。
其中,在步骤S1后、步骤S2之前还包括步骤:
若在两个设定的最大更新间隔内没有收到来自邻居节点的更新信息包,则判定对应的邻居节点失效,去除节点自身的深度表、能量密度表及能量表中所述对应的邻居节点的信息,并更新节点自身的能量密度。
其中,在步骤S1后,步骤S2之前还包括步骤:
若节点自身的能量消耗超过其剩余能量的1%时,检测节点自身的剩余能量,更新节点自身的能量信息,并执行步骤S4。
其中,在步骤S2中还包括步骤:
若在设定的最小更新间隔内,接收到的信息包在缓冲区内的队列长度增加了缓冲区大小的20%时,将路由状态变为警告环路,启动警告计时器,并执行步骤S6。
其中,若所述警告计时器计时超过3倍深度个设定的最大更新间隔时,关闭所述警告计时器,将路由状态变为正常,并重新执行步骤S2。
其中,步骤S5后、步骤S6前还包括步骤:
S5.1若所述确认路由环路的更新信息包或数据包的原始地址为节点自身的ID或者其源地址为选择的下一跳节点ID,则关闭警告计时器,开启发现环路计时器,将路由状态变为发现环路,并重新执行步骤S5,否则执行步骤S6。
其中,若发现环路计时器超过6倍深度个设定的最大更新间隔时,关闭所述发现环路计时器,将路由状态变为正常,并重新执行步骤S2。
其中,步骤S6进一步包括:
S6.1若选择的下一跳节点的深度小于节点本身深度或其他邻居节点深度,则执行步骤S6.2,否则,选择势能差次最大的节点作为选择的下一跳节点,关闭发现环路计时器,将路由状态变为正常,并返回步骤S5.1;
S6.2以选择的下一跳节点作为最终下一跳节点,发送所述确认路由环路的更新信息包或数据包至所述最终下一跳节点,并返回步骤S2。
其中,步骤S3进一步包括:
S3.1若节点自身的深度大于对应的邻居节点的深度加1,则更新节点自身的深度信息;
S3.2若所述对应节点的剩余能量改变,则更新节点自身的能量密度信息;
S3.3若节点自身的深度、能量密度均没有改变,则返回步骤S2,否则执行步骤S4。
其中,若节点在设定的最大更新间隔内没有广播自身的更新信息包,则执行步骤S4。
其中,所述势能差的计算公式为:
其中,Um(i,j,t)为势能差,0≤α≤1,0≤β≤1且0≤α+β≤1,α和β分别表明能量密度势能场和剩余能量势能场对于路由决定的权重,分别表示每单位深度势能的势能差、每单位剩余能量势能的势能差、以及每单位能量密度势能的势能差,
Ve(i,t)=E(i,t),Ve(i,t)是节点i在时间t时的能量势能,而E(i,t)是节点i在时间t时的剩余能量,Ve(j,t)=E(j,t),Ve(j,t)是节点j在时间t时的能量势能,而E(j,t)是节点j在时间t时的剩余能量;
Ved(i,t)=ED(i,t),Ved(j,t)=ED(j,t),Ved(i,t)是节点i在时间t时的能量密度势能,Ved(j,t)是节点j在时间t时的能量密度势能,ED(i,t)是节点i在时间t时的能量密度,ED(j,t)是节点j在时间t时的能量密度。
(三)有益效果
本发明的方法根据可用的区域信息来动态地转换不同的路径,以实现以均匀地消耗能量来尽可能长时间地维持网络连接性和网络功能,且避免网络划分和能量洞。
附图说明
图1(a)部分WSN结构示意图;
图1(b)为剩余能量直方图;
图2为依照本发明一种实施方式的基于势能场的能量平衡的路由方法流程图;
图3为依照本发明一种实施方式的基于势能场的能量平衡的路由方法中统一化势能差的趋势图;
图4为仿真结果中有效节点份额示意图;
图5为仿真结果中收包比示意图;
图6为仿真结果中平均能量消耗示意图。
具体实施方式
本发明提出的基于势能场的能量平衡的路由方法,结合附图及实施例详细说明如下。
在基于势能的路由中,势能仅仅是一种状态,其代表了到邻居节点的方向并最终满足终端可以到达。基于势能的路由可以根据不同的变量进行建立,例如跳数、能量消耗、物理距离和指纹的监控现象,本发明着重于如何根据可用的区域信息来动态地转换不同的路径,采用能量平衡的方式设计了基于势能场的能量平衡的路由协议(EBRP),采用了最陡梯度搜索方法来设计路由,借用在普通物理学中势能的概念,并使用不同的网络状态变量来建立了多势能场,例如深度、剩余能量和能量密度,然后通过归一化势能场强的方法将其叠加成一个虚拟的混合势能场,使得数据包通过一个能量密集的区域到达终端。这个动态的势能场随着节点剩余能量分布的改变而改变,其将使得在任何的网络环境中基于势能的路由尽可能均匀的消耗能量。
为了进一步理解发明,以下通过简单的例子来说明不平衡的能量消耗将会造成的后果,以及EBRP是如何平衡能量消耗的。图1(a)中表示了WSN的一小部分(终端右侧可能有很多节点,同时为了描述的方便,将可见区域人为地分成了四个部分)。一个事件发生在距离终端很远的区域1中。大部分存在的能量效率路由协议易于去选择一条最短的路径由于仅有两跳就可以到达终端而能量消耗也是最小的。不幸的是,由于它不得不在区域1和区域4之间传输很多数据包,在区域2中的节点1将会很快地耗尽自己的能量。图1(b)中的剩余能量直方图说明了仿真的结果,其证明了这种现象。每当这种现象发生,即节点1已经能量耗尽,在区域2中将会有很少的运行节点,因此网络连接受到了损害,同时区域4将从剩下的网络中分离出来。
在初期,由于区域2的能量密度和其它区域是相同的,因此EBRP将选择和大部分能量效率路由算法同样的路由。过了一段时间之后,当区域2中节点的剩余能量小于其它区域节点的剩余能量的时候,EBRP将从区域1通过区域3来路由数据包,在区域2的节点能量耗尽之前区域3拥有更多的节点和能量。因此,区域2得到了合理地保护。用这种方式可以将能量效率和能量平衡都考虑在内,达到了一种折中的方式。综上所述,采用均匀地消耗能量的方式虽然不是最小的耗能方式,但是它将更好地延长网络生命期,避免网络划分和能量洞。
如图2所示,依照本发明一种实施方式的基于势能场的能量平衡的路由(EBRP)方法,包括步骤:
S1.初始化节点,设置路由状态为正常,终端深度为0,其余节点深度为+∞,检测节点自身能量并存储在能量表中,接收来自终端或邻居节点的信息包;
每个节点维护其自身的深度表、能量密度表和能量表。其中,深度表、能量密度表和能量表分别存有自身及邻居节点的深度、能量密度和剩余能量信息。整个路由的状态有Alarm、Loop和Normal,其中,Normal为正常,Alarm为警告环路,Loop为发现环路。更新信息包定义了两类控制信息,一个是普通的更新信息,其类型被定义为00,携带了节点信息及其深度、能量密度和剩余能量;另外一种特殊的信息除了其类型区域外没有其他的有效负荷,其类型定义为01,其被用于确认路由环路,被称为CLP。
S2.解析接收到的信息包,若接收到的信息包为非CLP更新信息包且非数据包,则执行步骤S3,若接收到的信息包为CLP更新信息包或数据包,则执行步骤S5;
S3.根据接收到的所述更新信息包,更新节点自身的深度表、能量密度表及能量表,若节点自身的深度以及能量密度没有改变,则返回步骤S2,否则,执行步骤S4;
S4.广播节点自身的更新信息包,并返回步骤S2;
S5.根据节点自身的深度表、能量密度表及能量表,计算邻居节点势能差,选择势能差最大的节点作为下一跳节点;
S6.根据选择的下一跳节点的深度,确认最终下一跳节点,并发送所述确认路由环路的更新信息包或数据包至所述最终下一跳节点,并返回步骤S2。
其中,在步骤S1后、步骤S2之前还包括步骤:
若在两个设定的最大更新间隔(MUI)内没有收到来自邻居节点的更新信息包,则判定对应的邻居节点失效,去除节点自身的深度表、能量密度表及能量表中所述对应的邻居节点的信息,并更新节点自身的能量密度。
其中,在步骤S1后,步骤S2之前还包括步骤:
若节点自身的能量消耗超过其剩余能量的1%时,检测节点自身的剩余能量,更新节点自身的能量信息,并执行步骤S4。
其中,在步骤S2中还包括步骤:
若在设定的最小更新间隔(LUI)内,接收到的信息包在缓冲区内的队列长度增加了缓冲区大小的20%时,将路由状态变为警告环路,启动警告计时器,并执行步骤S6。
其中,若所述警告计时器计时超过3倍深度个设定的最大更新间隔时,关闭所述警告计时器,将路由状态变为正常,并重新执行步骤S2。
其中,步骤S5后、步骤S6前还包括步骤:
S5.1若所述确认路由环路的更新信息包或数据包的原始地址为节点自身的ID或者其源地址为选择的下一跳节点ID,则关闭警告计时器,开启发现环路计时器,将路由状态变为发现环路,并重新执行步骤S5,否则执行步骤S6。
其中,若发现环路计时器超过6倍深度个设定的最大更新间隔时,关闭所述发现环路计时器,将路由状态变为正常,并重新执行步骤S2。
其中,步骤S6进一步包括:
S6.1若选择的下一跳节点的深度小于节点本身深度或其他邻居节点深度,则执行步骤S6.2,否则,选择势能差次最大的节点作为选择的下一跳节点,关闭发现环路计时器,将路由状态变为正常,并返回步骤S5.1;
S6.2以选择的下一跳节点作为最终下一跳节点,发送所述确认路由环路的更新信息包或数据包至所述最终下一跳节点,并返回步骤S2。
其中,步骤S3进一步包括:
S3.1若节点自身的深度大于对应的邻居节点的深度加1,则更新节点自身的深度信息;
S3.2若所述对应节点的剩余能量改变,则更新节点自身的能量密度信息;
S3.3若节点自身的深度、能量密度均没有改变,则返回步骤S2,否则执行步骤S4。
其中,若节点在设定的最大更新间隔内没有广播自身的更新信息包,则执行步骤S4。
另外,势能差的计算公式为:
该公式的由来将通过如何在每个节点使用深度、能量密度和剩余能量来建立势能场,以及如何将其混合入统一的势能场中,使得数据包向终端传输并同时保持能量消耗平衡来进一步说明。
1、深度势能场:
为了保证基本的路由功能,即使得数据包向节点移动。定义深度的反比为深度势能Vd(i):
其中,di表示节点i的深度。那么,从深度d1到深度d2的深度势能变化Ud(d1,d2)为:
由于势能Vd(i)是单调减少的,所以当数据包在深度场中延梯度方向传输的时,它们最终可以到达终端。即基本路由功能可以实现。对于一个给定的网络拓扑而言,Vd(i)是明确而且不随时间变化的,而且当数据包传输到距离终端更近的节点时,其向心性也应该更大,其中向心性表示的是深度为d的节点向深度为d-1的节点传输数据包的趋势。
2、能量密度势能场:
一个节点可以通过节点间的消息交换获得所有邻居节点的能量值,并将它们求和,同时计算其无线覆盖的面积,因此,根据上述的定义,相对应的能量密度(ED)可以很容易地获得。EBRP定义了能量密度势能场,如下:
Ved(i,t)=ED(i,t) (3)
其中,Ved(i,t)是节点i在时间t时的能量密度势能,ED(i,t)是节点i在时间t时的能量密度。因此,从节点i到节点j的势能差Ue(i,j,t)为:
Ued(i,j,t)=Ved(j,t)-Ved(i,t)=ED(j,t)-ED(i,t) (4)
受到这一势能场的驱使,数据包将总是向能量密集的区域传输。然而,仅有这个能量密度场的路由算法是不实际的,由于它会遇到严重的路由环路问题。所以深度势能场在消除路由环路上将扮演一个很重要的角色。除此之外,为了保护低能节点(特别是那些在通往能量密集区域路径上的节点)需要建立一个与能量需求相关的额外势能场。
3、能量势能场:
EBRP为了去保护低能节点,用节点上的剩余能量定义了能量势能场:
Ve(i,t)=E(i,t) (5)
其中,Ve(i,t)是节点i在时间t时的能量势能,而E(i,t)是节点i在时间t时的剩余能量,那么节点i到节点j的势能差Ue(i,j,t)为:
Ue(i,j,t)=Ve(j,t)-Ve(i,t)=E(j,t)-E(i,t) (6)
后两个势能场分别是使用能量密度和剩余能量的线性函数来创建的。尽管线性势能场的性质十分的简单,但是它们都是随时间变化的,因此会出现路由环路问题。
4、混合势能场:
其中,
可知:
事实上,从以上三个式子可知,的物理意义是十分明显的。它是每单位能量密度势能的势能差。当φed(i,j,t)≥1时,表示在节点j的每单位能量密度势能的势能差,它们相对的力是正的,在节点i的数据包将被“推”向节点j。当时, 表示在节点i的每单位能量密度势能的势能差,它们相对的力是负的,所以在节点i的数据包将保持在原地不动。
也可以使用同样的方式来统一深度和能量场:
其中
如图3所示,为三个势能差在统一化后的趋势。这里有两条深统一化度势能差曲线它们还是快速递减函数,和上面讨论的性质保持一致,同时它们的值域为统一化的能量密度和剩余能量的势能差是相似的,它们两个都是在[-1,1)上的单调递增函数。也注意到当φed很大时(例如大于10),将会增加的很慢,由于当它的邻居节点的能量密度十倍大于本地节点是没有必要用能量密度来区分其邻居节点了,因此十分有意义的。尽管如此,当其它的势能差完全相同时,EBRP可以做到它们的区分。统一化的剩余能量势能差也有和相同的性质。
使用以上三个独立势能场的权重和来创建一个新的虚拟场Vm(i,t),其势能差Um(i,j,t)定义如下:
其中,0≤α≤1,0≤β≤1且0≤α+β≤1。数据包在网络中将根据混合虚拟势能场传输。其权重α和β分别表明了能量密度势能场和剩余能量势能场对于路由决定的影响。
基于势能差Um(i,j,t),节点i到它的邻居节点j(j∈nbr(i))的方向导数可以被很容易地得到:
其中,ci→j,t(0≤ci→j,t≤1)表示从节点i到节点j的无线连接消耗。为了方便和简单,EBRP仅仅考虑物理的距离,对于两点间而言是一个常量,即:
ci→j,t=disti→j (14)
其中disti→j是节点i到j的距离。如果使用无线范围作为测量节点间物理距离的单位,那么:
实际上,动态网络拓扑和随时间变化的剩余能量在虚拟势能场中将很容易造成能量洞。EBRP将会让数据包“爬”本地的山峰,最终造成路由环路的出现。举两个很明显的例子:(1)节点在本地的两个峰顶将很可能相互选择对方最为下一跳节点。(2)当数据包已经走下山峰的时候,其可能会再次回到峰顶。
前面所提到的,对于深度势能场自身来说不会出现本地的山峰。但是,在能量密度势能场和剩余能量势能场,这些本地的山峰将很容易出现,由于它们两个都是随时间变化的。除此之外,由于节点的分布方式,在随意部署的网络中也总是出现很多的本地“山峰”。
为了去消除可能的路由环路,使得EBRP更加的实用,本发明还涉及一种加强基本算法的机制来发现和消除路由环路。最直接的发现环路的方法是通过确认收包地址和监测本地队列长度。一旦发现环路,EBRP应该重新选择下一条节点。在网络中追踪数据包的移动并监测事件发生,可以发现由于EBRP造成的路由环路可以被分为三类。以下说明该三类环路的的症状和其环路发现机制。
一跳环路发生在节点和其下一跳节点间,其表现为两个节点会相互选择对方作为下一跳节点。这种环路通过确认收到包头部的源信息可以很容易地被发现。数据包源地址的ID为包的上一个发送者,在每一跳的时候将被更改。在收到包之后,如果本地节点发现源地址ID是下一跳节点,这就证明一跳环路产生了。
原始环路的本质特征是必须要包括一个或者多个采样节点。因此,将其命名为原始环路。这个环路本身是一跳或者多跳的。这种环路可以通过确认接收包头部信息中的原始地址来被发现。每个包仅有一个原始地址,其是不同于源地址的。当收到数据包时,本地节点检查数据包头部原始地址是否为本地ID。如果是这样的话,那么本地节点就可以断定这是网络中的一个原始环路。
队列环路不含有任何的采样节点,即在环路中的所有节点都为传输节点。它们不能通过原始地址和源地址来被妥善的发现。但是,还是可以辨认它的。由于数据包不可能走出这个路由环路,所以在链中的节点队列将急剧地增长。这个现象是环路发生的症状。所以将其命名为队列环路。为了发现这种队列环路,EBRP需要去监测本地队列长度并确定在相当短的时间内超过了一定的阈值,但是它指的仅仅是队列长度的变化,而不是一个队列环路产生的充分条件,由于拥塞也很可能被误认为是队列环路。因此,当队列环路的症状发生的时候,在环路链上的传输节点需要生成并发送一个CLP包去确认环路是否发生。注果发现队列环路的阈值过小,发现的机制会非常的敏感,过多的CLP数据包可能严重扰乱数据包传输。但是如果阈值太大,发现机制就变得没有效果了。在实际之中,为了达到一个折中的效果,通过实验得到了这个可行的参数值。在本发明的应用中,队列环路症状的发生指的是在LUI时间内队列长度增加缓冲区大小的20%。
一旦路由环路被确认,EBRP将通过切断环路链的方式来直接消除它。但是,切断所有的连接也是没有必要的,EBRP将保留使得包传输向终端更近的连接。那么,一旦发现环路,如果下一跳节点不是更靠近终端,同时存在至少一个其它可用邻居节点,EBRP将要取消现在的下一跳节点,即切断本地节点和现在下一跳节点的连接。
以下,采用在TinyOS上的TOSSIM平台进行仿真实验,并且选择MintRoute作为标准能量效率路由算法,作为和本发明的EBRP所对应的参考协议。
在仿真中,使用线性能量消耗模型。收发包所造成的能量消耗是一个随时间单调递增的函数。假设所有数据包的长度是相同的,那么收发包所造成的能量消耗是一个常量。由于发送数据包总是比接收包需要能多的能量,为了和保证和实际相符合,假设发送需要3单位的能量消耗而接收需要2单位。
为了评估路由协议本身的性能,一种可行的方法就是将网络层和MAC层分离,即假设连接质量是完美的。
下面通过性能指标的设定、仿真实验的设置与结果分析来阐述具体仿真过程和结果。
性能指标
为了得到综合性能指标,首先定义一些可测量的指标。
能量不平衡因素(EIF):定义这个指标来定量的说明路由协议能量平衡的特征。其被定义为所有节点剩余能量的标准差,如下:
其中,n为所有节点的数量,REi是节点i的剩余能量,REavg是所有节点剩余能量的平均值。
有效节点份额(PLN)和收包比(RPR):使用PLN作为评估能量消耗对于性能影响的指标。同时,注意到如果终端收到了来自源节点的大部分的数据包,那么说明能量洞被有效地避免且网络连接十分良好。将RPR定义为终端实际收包率和任务期望收包率的比,并且使用PLN和RPR来评价能量消耗平衡的增益。
网络生命期:传感器网络的网络生命期被定义为第一个能量耗尽的节点(第一个失效节点,FDN)出现的时间。网络生命期同网络分区和网络覆盖比有着很大的关联。如果节点开始失效,那么网络分区出现的可能性大大增加,而且网络覆盖比也在减少。
功能生命期:任务的功能生命期被定义为任务完美执行的时间。由于不同任务有着不同的需要,例如:一些任务需要没有节点失效,而另外一些需要某区域节点有效,因此功能生命期随着任务需要的不同而有很大的变化。在仿真实验中,假设应用需要所有采样节点有效,即功能生命期被定义为任务开始到第一个失效采样节点出现(FDSN)的时间。
功能吞吐量(FT):功能吞吐量被定义为在功能生命期内终端的收包数。对于一个给定的应用,FT主要受到功能生命期的长度和RPR的影响。
每次收包的能量消耗(ECRP):在网络生命期或者功能生命期中终端每次收包的平均能量消耗反映了协议的能量效率。
仿真设置
仿真实验采用17×17的网格网络(共289个节点,在每一个行和列的交叉点上有一个节点)来进行验证并进行性能评估。这个特殊的拓扑结构中,一个节点仅能和8个邻居节点直接通信。节点可以根据需要作为采样节点或者传输节点。表1中列出了仿真实验的参数配置:
表1
仿真结果
MintRoute总是选择最短的路径,那么它在传输路径上的节点将很快地消耗完自身的能量。然而,EBRP一旦发现路径所经过区域的能量密度地域周围其它区域的能量密度,它将选择另外一条通过具有更多能量的区域的路径。因此,EBRP可以改善整个网络的能量消耗平衡问题并增长了网络生命期和功能生命期。下面实验中的一些具体的数据来说明这一点:
EIF:如表2所示,在应用EBRP时,EIF值下降9.9%:
表2
MintRoute | EBRP | EBRP-LDE | |
EIF | 218.4 | 196.9 | 196.5 |
FDN(秒) | 1394 | 5063 | 5626 |
FDSN(秒) | 2575 | 5063 | 5626 |
FT(包/秒) | 5169 | 11322 | 12717 |
PLN:如图4所示,表示的是有效节点份额同时间的函数。图中可以看出,EBRP的PLN总是大于MintRoute。
RPR:如图5所示,表示的是收包比同时间的函数。很明显,EBRP高PLN和大RPR的阶段明显长于MintRoute。此外,从接收数据的完整性角度而言,EBRP也远远好于MintRoute,因为在EBRP中很少有丢包的现象。在FSDN出现之前(即前5063秒),EBRP的RPR一直保持在1附近,这也说明了大部分的包是可以成功收到的
FDN和FDSN:如图4,EBRP中FDN出现的时间比MintRoute中晚了很多,在表2也可以看出,EBRP中FDN为5036秒,而MintRoute中为1394秒。同时FDN和FDSN出现的时间在EBRP中分别延长了263.2%和96.6%。
FT:对于功能吞吐量(FT)也有所改善。在表2中的统计数字说明其提高了121.3%,由于EBRP有相对更高的PLN、RPR和更长的功能生命期。
ECRP:如图6所示,表示的是每次收包的平均能量消耗同时间的函数。由于EBRP总是选择能量密集的区域,而不是最短的路径,所以相对而言能量效率算法应该在ECRP上明显优于EBRP。但是,在FSDN出现之前,EBRP的能量效率和MintRoute是几乎相同的,EBRP只有很少的时间选择了优化的路径。除此之外,EBRP这种在多个区域中切换路径、让数据包从多条路传输到终端的方式是十分有用的,由于这样EBRP即缓解了在最短路径上的拥塞,又减少了由于丢包造成的能量浪费。
从以上的仿真结果和分析可以看出,以能量消耗平衡来设计路由协议是有价值的。EBRP更好地避免了在MintRoute中经常出现的能量洞的现象。
在这个仿真中,也确认了路由环路问题。在5063秒的时间内发生了8405次环路问题。之后,我们验证了路由发现和消除机制。相同的仿真实验在进行一次,结果表明在FSDN出现之前环路问题出现的数量由8405次减少到了155次,在整个仿真时间中由95046次环路问题减少到1043次。在表4中可以看出,FDN、FSDN和FT略有改善。相应的曲线也分别插入到图4-图6中。如图4所示,如果采用含有环路发现及消除的算法即EBRP-LDE算法的话,在仿真结束时会有更多的有效节点。如图5所示,采用EBRP-LDE算法相比EBRP将会有更加稳定的RPR。如图6所示,在大部分时间里,很明显EBRP-LDE的曲线相比EBRP更加的光滑。最后,尽管预见到由于环路发现与消除机制切断了一些能量平衡的路径,其将不利于能量平衡的性能,但是在表2中的大量数据表明其对于EIF的影响是很小的,这也就意味着增强机制对于能量消耗平衡的影响是微不足道的。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (7)
1.一种基于势能场的能量平衡的路由方法,其特征在于,该方法包括步骤:
S1.初始化节点,设置路由状态为正常,终端深度为0,其余节点深度为+∞,检测节点自身能量并存储在能量表中,接收来自终端或邻居节点的信息包;
S2.解析接收到的信息包,若接收到的信息包为非确认路由环路的更新信息包且非数据包,则执行步骤S3,若接收到的信息包为确认路由环路的更新信息包或数据包,则执行步骤S5;
S3.根据接收到的所述更新信息包,更新节点自身的深度表、能量密度表及能量表,若节点自身的深度以及能量密度没有改变,则返回步骤S2,否则,执行步骤S4;
S4.广播节点自身的更新信息包,并返回步骤S2;
S5.根据节点自身的深度表、能量密度表及能量表,计算邻居节点势能差,选择势能差最大的节点作为下一跳节点;
S6.根据选择的下一跳节点的深度,确认最终下一跳节点,并发送所述确认路由环路的更新信息包或数据包至所述最终下一跳节点,并返回步骤S2;
其中,在步骤S2中还包括步骤:
若在设定的最小更新间隔内,接收到的信息包在缓冲区内的队列长度增加了缓冲区大小的20%时,将路由状态变为警告环路,启动警告计时器,并执行步骤S6;
其中,若所述警告计时器计时超过3倍深度个设定的最大更新间隔时,关闭所述警告计时器,将路由状态变为正常,并重新执行步骤S2;
其中,步骤S5后、步骤S6前还包括步骤:
S5.1若所述确认路由环路的更新信息包或数据包的原始地址为节点自身的ID或者其源地址为选择的下一跳节点ID,则关闭警告计时器,开启发现环路计时器,将路由状态变为发现环路,并重新执行步骤S5,否则执行步骤S6,所述原始地址为原始环路中任意一个采样节点的地址,所述原始环路包括一个或者多个采样节点,每个更新信息包或数据包中仅有一个原始地址;
其中,步骤S6进一步包括:
S6.1若选择的下一跳节点的深度小于节点本身深度或其他邻居节点深度,则执行步骤S6.2,否则,选择势能差次最大的节点作为选择的下一跳节点,关闭发现环路计时器,将路由状态变为正常,并返回步骤S5.1;
S6.2以选择的下一跳节点作为最终下一跳节点,发送所述确认路由环路的更新信息包或数据包至所述最终下一跳节点,并返回步骤S2;
其中,所述势能差的计算公式为:
Um(i,j,t)=(1-α-β)U′d(i,j)+αU′ed(i,j,t)+βU′e(i,j,t)
其中,Um(i,j,t)为势能差,0≤α≤1,0≤β≤1且0≤α+β≤1,α和β分别表明能量密度势能场和剩余能量势能场对于路由决定的权重,U′d(i,j)、U′e(i,j,t)、U′ed(i,j,t)分别表示每单位深度势能的势能差、每单位剩余能量势能的势能差、以及每单位能量密度势能的势能差,
Ve(i,t)=E(i,t),Ve(i,t)是节点i在时间t时的能量势能,而E(i,t)是节点i在时间t时的剩余能量,Ve(j,t)=E(j,t),Ve(j,t)是节点j在时间t时的能量势能,而E(j,t)是节点j在时间t时的剩余能量;
Ved(i,t)=ED(i,t),Ved(j,t)=ED(j,t),Ved(i,t)是节点i在时间t时的能量密度势能,Ved(j,t)是节点j在时间t时的能量密度势能,ED(i,t)是节点i在时间t时的能量密度,ED(j,t)是节点j在时间t时的能量密度。
2.如权利要求1所述的基于势能场的能量平衡的路由方法,其特征在于,所述深度表、能量密度表及能量表分别存有每个节点自身及其邻居节点的深度、能量密度及剩余能量信息。
3.如权利要求1所述的基于势能场的能量平衡的路由方法,其特征在于,在步骤S1后、步骤S2之前还包括步骤:
若在两个设定的最大更新间隔内没有收到来自邻居节点的更新信息包,则判定对应的邻居节点失效,去除节点自身的深度表、能量密度表及能量表中所述对应的邻居节点的信息,并更新节点自身的能量密度。
4.如权利要求1所述的基于势能场的能量平衡的路由方法,其特征在于,在步骤S1后,步骤S2之前还包括步骤:
若节点自身的能量消耗超过其剩余能量的1%时,检测节点自身的剩余能量,更新节点自身的能量信息,并执行步骤S4。
5.如权利要求1所述的基于势能场的能量平衡的路由方法,其特征在于,若发现环路计时器超过6倍深度个设定的最大更新间隔时,关闭所述发现环路计时器,将路由状态变为正常,并重新执行步骤S2。
6.如权利要求1所述的基于势能场的能量平衡的路由方法,其特征在于,步骤S3进一步包括:
S3.1若节点自身的深度大于对应的邻居节点的深度加1,则更新节点自身的深度信息;
S3.2若所述对应的邻居节点的剩余能量改变,则更新节点自身的能量密度信息;
S3.3若节点自身的深度、能量密度均没有改变,则返回步骤S2,否则执行步骤S4。
7.如权利要求1所述的基于势能场的能量平衡的路由方法,其特征在于,若节点在设定的最大更新间隔内没有广播自身的更新信息包,则执行步骤S4。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010596431.0A CN102076049B (zh) | 2010-12-10 | 2010-12-10 | 基于势能场的能量平衡的路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010596431.0A CN102076049B (zh) | 2010-12-10 | 2010-12-10 | 基于势能场的能量平衡的路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102076049A CN102076049A (zh) | 2011-05-25 |
CN102076049B true CN102076049B (zh) | 2014-07-02 |
Family
ID=44034352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010596431.0A Active CN102076049B (zh) | 2010-12-10 | 2010-12-10 | 基于势能场的能量平衡的路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102076049B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102781063B (zh) * | 2012-08-03 | 2014-08-13 | 武汉科技大学 | 基于局部网络介数的wsn能量均衡路由建立的方法 |
US11425628B2 (en) * | 2016-05-09 | 2022-08-23 | Tata Consultancy Services Limited | Method and system for achieving auto adaptive clustering in a sensor network |
CN112738863A (zh) * | 2020-12-28 | 2021-04-30 | 东方红卫星移动通信有限公司 | 一种基于动态环的数据路由方法及系统 |
CN112994990B (zh) * | 2021-05-20 | 2021-07-30 | 蚂蚁金服(杭州)网络技术有限公司 | 一种环路检测方法、装置、电子设备与存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119303A (zh) * | 2007-08-30 | 2008-02-06 | 浙江工业大学 | 基于动态聚类的多目标规划无线传感网路由算法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8111619B2 (en) * | 2008-02-08 | 2012-02-07 | Honeywell International Inc. | Apparatus and method for routing data in wireless networks |
-
2010
- 2010-12-10 CN CN201010596431.0A patent/CN102076049B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101119303A (zh) * | 2007-08-30 | 2008-02-06 | 浙江工业大学 | 基于动态聚类的多目标规划无线传感网路由算法 |
Non-Patent Citations (2)
Title |
---|
"WSN中基于势能场的多策略路由协议";徐寅生 等;《中兴通讯技术》;20091231;第15卷(第6期);第32-35页 * |
徐寅生 等."WSN中基于势能场的多策略路由协议".《中兴通讯技术》.2009,第15卷(第6期),第32-35页. |
Also Published As
Publication number | Publication date |
---|---|
CN102076049A (zh) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | A multi-path routing protocol based on link lifetime and energy consumption prediction for mobile edge computing | |
Al-Kashoash et al. | Congestion control in wireless sensor and 6LoWPAN networks: toward the Internet of Things | |
Qiu et al. | ERGID: An efficient routing protocol for emergency response Internet of Things | |
Nasser et al. | SEEM: Secure and energy-efficient multipath routing protocol for wireless sensor networks | |
Tan et al. | Dynamic traffic-aware routing algorithm for multi-sink wireless sensor networks | |
Grover et al. | Rate aware congestion control mechanism for wireless sensor networks | |
Ali et al. | An on-demand power and load-aware multi-path node-disjoint source routing scheme implementation using NS-2 for mobile ad-hoc networks | |
Tripathi et al. | Comparison of reactive and proactive routing protocols for different mobility conditions in WSN | |
Pingale et al. | Multi-objective sunflower based grey wolf optimization algorithm for multipath routing in IoT network | |
CN102076049B (zh) | 基于势能场的能量平衡的路由方法 | |
Yang et al. | DLS: A dynamic local stitching mechanism to rectify transmitting path fragments in wireless sensor networks | |
Nirmaladevi et al. | A selfish node trust aware with Optimized Clustering for reliable routing protocol in Manet | |
Tayeb et al. | Cluster head energy optimization in wireless sensor networks | |
Di Caro et al. | Optimal relay node placement for throughput enhancement in wireless sensor networks | |
Nasser et al. | Secure multipath routing protocol for wireless sensor networks | |
CN104009916A (zh) | 基于社会属性转发的容迟网络节能路由方案 | |
Mouiz et al. | Performance evaluation of OLSR and AODV routing protocols with different parameters in mobile ad-hoc networks using NS2 simulator | |
Khan et al. | Gradient cost establishment (grace) for an energy-aware routing in wireless sensor networks | |
Norman et al. | A faster routing scheme for stationary wireless sensor networks-a hybrid approach | |
Choi et al. | Cell based energy density aware routing: a new protocol for improving the lifetime of wireless sensor networks | |
CN110831067B (zh) | 一种基于平衡路由和混合传输的方法和装置 | |
Teixeira et al. | Wireless sensor network: Improving the network energy consumption | |
Prema et al. | Two-Tier Architecture for Congestion-Free Routing in Manet Using a Hybrid Optimization Algorithm | |
Khodabandeh et al. | Scalable Cluster-Based Path Planning for Timely Data Gathering in Wireless Sensor Networks | |
Dalal et al. | Adaptive Traffic Routing Practice for Load Balance and Congestion Control in AdHoc Network in Cloud-MANET |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |