一种考虑节点能量的延迟容忍网络拓扑路由方法与流程

文档序号:11623638阅读:240来源:国知局
一种考虑节点能量的延迟容忍网络拓扑路由方法与流程

本发明特别涉及一种考虑节点能量的延迟容忍网络拓扑路由方法。



背景技术:

当前,延迟容忍网络(delaytolerantnetwork,简称dtn)中有效的路由算法成为学术界和产业界关注的焦点。由于延迟容忍网络所具备的一些特点导致传统的路由协议族对它无法适用。最主要的原因是传统的网络存在一个稳定的网络拓扑结构,路由协议是基于这个稳定的网络拓扑结构来进行设计。而在延迟容忍网络中不存在一个稳定的网络拓扑结构,由于节点的移动性和间断性连接使得网络拓扑结构处在不断变化的状态中,此外每个节点的能量也是有限的,因此需要另辟蹊径研究适合延迟容忍网络的路由方法。早在2004年sushantjain等人就曾指出路由问题是延迟容忍网络研究中的核心问题,并对dtn中路由的主要问题进行了明确的阐述,dtn路由问题实质就是如何在一个动态变化的拓扑图中使节点之间快速有效的通信。

现存的路由算法可分为单副本路由算法,多副本路由算法,概率路由算法,社会性路由算法等。单副本路由算法在消息传递过程中不对消息进行复制,网络中只存在该消息的单一副本,导致消息的传输命中率较低,传输延时较高。多副本路由算法在消息传递过程中对消息进行复制,因此会在网络中存在多个副本,导致路由花费较高。概率路由算法根据节点的历史信息来对将来的路由进行预测,由于历史信息往往只考虑过去节点间的相遇次数,导致消息传递较低的命中率。社会性路由算法利用节点的社会性进行路由,由于只考虑社会性,导致消息传递较低的命中率。如何在延迟容忍网络中进行有效的路由,尤其是这种基于节点能量考虑的二进制拓扑路由方法少见文献报道。



技术实现要素:

本发明的目的是提供一种考虑节点能量的延迟容忍网络拓扑路由方法,通过进行有效的路由选择,提高了数据传递的命中率,并降低了数据传递延时和路由能耗。

为了实现以上目的,本发明是通过以下技术方案实现的:

一种考虑节点能量的延迟容忍网络拓扑路由方法,其特点是,该方法包含如下步骤:

s1,根据延迟容忍网络中节点自身的特性以及所处的环境抽象出与节点相关的维度;

s2,定义一个k×n维度权重因数矩阵表示每个维度对节点的重要性,矩阵k行代表有k个节点,n列代表每个节点有n个维度;

s3,根据不同衡量标准对每个维度进行等级划分并根据节点自身特点对节点的不同维度进行等级归类;

s4,统计矩阵中节点j以外节点i与节点j都排在前s的维度的个数并放入count[i]中,同时将对应维度标识加入维度标识集合a[i]中,判定count[i]是否大于门限值θ,如果是则将节点i加入节点j的相对静态局部网络拓扑中;

s5,判断维度权重因数矩阵中所有节点的相对静态局部网络拓扑是否都求完,若是则进行步骤s6,否则更新节点j进入步骤s4;

s6,综合定义节点网络拓扑连接权值;

s7,在设定时间段t内,通过节点相遇交换路由信息来扩大和完善每个节点自身的网络拓扑;

s8,网络拓扑中每个连接根据连接所关联的两个节点能量,建立收益矩阵并求出纳什均衡解,并对所述的网络拓扑简化;

s9,根据纳什均衡解标出每个节点静态网络拓扑中每个连接的标志位为二进制1或0,1表示该连接有能量发送数据包,0正好相反;

s10,根据简化后的网络拓扑拓扑并求出发送数据包的最短路径和最优转发节点集合;

s11,发送数据包,更新二进制网络拓扑,发送新的数据包。

所述的步骤s1中,用一个n维向量来标识每一个移动节点,n维向量的每一个值是整数,即该节点在每个维度中所处的等级,并对于任一节点a的n维向量表示为:

hva=[ha1ha2…hap…han](1)。

所述的步骤s2中每个维度对节点的重要性是随着时间变化的,其中维度权重因数矩阵表示为:

式(2)中维度权重因数矩阵中每一个值的计算方式为:

公式(3)中hpmin代表第p维度中最小等级值,hpmax代表第p维度中最大等级值,a为k个节点中的任意一个。

所述的步骤3中等级划分需对每个维度划分为s个等级,r为最高等级,等级r-s+1到等级r为最高的前s个等级。

所述的步骤s6中连接权值分为单连接权值计算和多连接权值计算,如下:

当维度之间的联系相互独立时,所述的单连接权值计算公式为:

公式(4)为节点a与节点f之间的单连接权值计算公式,其中它们在β个维度中排在前s等级;

其中公式(4)中下列值为权重因数的倒数:

当维度之间相互影响时,所述的单连接权值计算公式为:

其中公式(7)中:

其中公式(7)中:

其中last,lfst,lasp,lfsp分别代表节点a和节点f在移动速度维度和停留时间维度的等级排名值,即当β个维度中有节点间相遇次数这一维度,而移动速度维度和停留时间维度不在前s等级时,所述的约束条件为:

lat∈dt∩lat≥r-s+1lft∈dt∩lft≥r-s+1

last<r-s+1,lfst<r-s+1,lasp<r-s+1,lfsp<r-s+1

所述的多连接权值计算公式为:

waw=waea×weaw+waka×wkaw+wawa×wwaw(10)

公式(10)中,以求任意两个节点a和w之间的多连接权值为例,其中节点ea,节点ka,节点wa为节点a和节点w的三个共同朋友节点,waea为节点a和节点ea之间的单连接权值,weaw为节点ea和节点w之间的单连接权值,waka为节点a和节点ka之间的单连接权值,wkaw为节点ka和节点w之间的单连接权值,wawa为节点a和节点wa之间的单连接权值,wwaw为节点wa和节点w之间的单连接权值,根据概率乘法和加法原则,求出节点a和节点w之间的多连接权值。

所述的步骤s7中通过节点相遇交换路由信息来扩大和完善每个节点自身的网络拓扑具体为:当节点相遇时将自身的局部拓扑信息互相发给对方,节点根据收到的对方的拓扑信息,将不同的部分并入自身的网络拓扑。

所述的步骤s8中收益矩阵为:博弈论中为求纳什均衡解所建立的矩阵;

所述的节点能量包括节点愿意接收数据包的能力、愿意转发数据包的能力以及有转发数据包的能力;

对拓扑中的每一条连接根据连接所关联的两个节点i和j建立收益矩阵并求出纳什均衡解;

所述的收益矩阵为:

其中(ui,uj)中ui为节点i转发并发送数据包的总收益,uj为节点j转发并发送数据包的总收益,(vi,vj)中vi为节点i转发并发送数据包的总收益,vj为节点j发送数据包但不转发之前节点发来数据包的总收益,(wi,wj)中wi同ui,wj表示节点j既不转发数据包也不发送数据包的总收益,(xi,xj)中xi表示节点i发送自身的数据包但不转发来自之前节点数据包的总收益,xj同uj,(yi,yj)中的yi同xi,yj同vj,(zi,zj)中zi同xi,zj同wj,(oi,oj)中oi表示节点i发送数据包但不转发之前节点发来的数据包的总收益,oj同xj,(pi,pj)中pi同oi,pj同vj,(qi,qj)中qi同oi,qj同wj。

所述的步骤s8中对网络拓扑简化为:

如果与连接相关的两个节点中任意一个节点出现能量不足或者数据包缓存队列已满,那么该连接标志位为0;

如果没有出现上述情况,那么做如下判断,根据与该连接相关联的两个节点的各自的能量参数建立博弈论收益矩阵并以此求出两个节点间的纳什均衡解,如果纳什均衡解等于(ui,uj),其中ui代表节点i有能量转发前驱节点发来的数据包并且有能量自己发送数据包,uj的解释同ui,那么该连接的标志位等于1,否则等于0。

若式(11)收益矩阵的纳什均衡解等于(ui,uj),则该连接的标志位为1,否则为0;纳什均衡解(ui,uj)也即节点i与节点j都参与数据包的发送和转发。

本发明与现有技术相比,具有以下优点:

1、提高了数据传输的命中率。通过节点间在多个维度中的一些相似性来动态的选择节点构成节点自身的拓扑,进而节点之间权值的定义更加精确,因此提高了数据传输的命中率。

2、降低了数据的平均传输延时。每个节点最终的二进制拓扑是基于与其它节点在多个维度的相似性来构建的,因此拓扑图是相对稳定的,所以基于二进制拓扑运用最短路径算法求出的最佳数据传递集合是准确的,因此降低了数据的平均传输延时。

3、降低了路由能耗。每个节点自身的二进制拓扑是根据纳什均衡解得出的,所以节点间进行数据包发送和转发时避免了一些不必要的能耗,因此节省了总路由能耗。

附图说明

图1为本发明一种考虑节点能量的延迟容忍网络拓扑路由方法的流程图;

图2为节点a的相对静态局部拓扑;

图3为经过时间t后节点a形成的拓扑;

图4为经过简化后节点a形成的第一种二进制拓扑;

图5为经过简化后节点a形成的第二种二进制拓扑;

图6为经过简化后节点a形成的第三种二进制拓扑;

图7为经过简化后节点a形成的第四种二进制拓扑;

图8为经过简化后节点a形成的第五种二进制拓扑。

具体实施方式

以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。

如图1所示,一种考虑节点能量的延迟容忍网络拓扑路由方法包含:

步骤1、根据延迟容忍网络中节点自身的特性以及所处的环境抽象出与节点相关的维度;

所述延迟容忍网络(delaytolerantnetwork,简称dtn)是一种新型网络,它与传统网络有不同的特点,网络中节点资源有限、网络中节点间的不断移动使得节点存在间断性连接,网络拓扑是动态变化的。在dtn网络中,节点有k个,其中k≥1;

所述与节点的相关维度节点体现的一些特性,这些特性用维度来表示,例如人类携带的节点组成的dtn中,这些特征包括节点的地理位置、移动速度、在某个特定区域的停留时间、兴趣爱好、社会层次、节点过去的相遇次数、是否属于同一家庭、是否属于同一年龄段、所学习的专业是否相同、经济背景是否相同等。在dtn中,节点数有n个,其中n≥2;

步骤2、定义一个k×n维度权重因数矩阵表示每个维度对节点的重要性,矩阵k行代表有k个节点,n列代表每个节点有n个维度;

所述的维度权重因数是指,某一维度的重要性因数与该节点所有维度重要性因数的比值;

步骤3、根据不同衡量标准对每个维度进行等级划分并根据节点自身特点对它的不同维度进行等级归类;

所述衡量标准是指,由维度的属性决定的,例如节点的移动速度维度是根据速度值的大小进行等级划分,节点的地理位置维度是与参照物的距离远近进行划分。

所述根据节点自身特点对其在维度中进行等级归类是指,在一段时间内,每个节点的各个维度都归类于一个确定的等级;

步骤4、统计矩阵中节点j以外节点i与节点j都排在前s的维度的个数并放入count[i]中,同时将对应维度标识加入维度标识集合a[i]中,判定count[i]是否大于门限值θ,如果是则将节点i加入节点j的“相对静态局部网络拓扑”中;

所述维度标识集合a[i]是指,存放节点i与节点j都排在前s等级的所有维度标识集合,即维度序号集合;

所述的门限值θ是指,加入节点的“相对静态局部网络拓扑”所需要的排在前s等级的最低维度数;

所述的“相对静态局部网络拓扑”是指,一个时间段内节点的网络拓扑,因为dtn网络中节点网络拓扑是动态变化的,只能取一个时间段内节点相对静止的网络拓扑进行研究;

步骤5、判断维度权重因数矩阵中所有节点的“相对静态局部网络拓扑”是否都求完?若是则进行步骤6,否则更新节点j进入步骤4;

步骤6、综合定义节点网络拓扑连接权值,即由节点在相关维度中的等级排名值、维度权重因数以及维度之间的联系定义;

步骤7、在设定时间段t内,通过节点相遇交换路由信息来扩大和完善每个节点自身的网络拓扑;

所述通过相遇交换路由信息来扩大和完善网络拓扑是指,当节点相遇时将自身的局部拓扑图信息互相发给对方,节点根据收到的对方的拓扑信息,将不同的部分并入自身的网络拓扑;

步骤8、网络中每个连接根据连接所关联的两个节点能量,建立收益矩阵并求出纳什均衡解,并对所述的网络拓扑简化;

所述的收益矩阵是指,博弈论中为求纳什均衡解所建立的矩阵;

所述的节点能量是指,节点转发数据包的能力,包括节点愿意接收数据包、愿意转发数据包,以及有转发数据包能力等因素;

步骤9、根据纳什均衡解标出每个节点静态网络拓扑中每个连接的标志位为二进制1或0,1表示该连接有能量发送数据包,0正好相反;

步骤10、根据简化的二进制拓扑求出发送数据包的最短路径和最优转发节点集合;

步骤11、发送数据包,更新二进制网络拓扑,发送新的数据包;

所述的更新二进制网络拓扑是指,在发送数据包时,由于节点能量发生变化,网络拓扑也在发生动态变化而引起的。

所述对拓扑中连接标志位为1的相关节点初始能量进行更新是指经过本次发送,这些节点耗费了一定的能量,所以要对剩余能量值进行更新;

所述对拓扑中连接标志位为1的清零是指对能量耗尽的连接标志位清0,发送指针指向发送队列的下一个数据包是为下一个数据包的发送做准备;

步骤1中,对每一个移动节点,用一个n维向量来标识它,n维向量的每一个值是整数,即该节点在每个维度中所处的等级,例如任一节点a的n维向量表示为:

hva=[ha1ha2…hap…han](1)

步骤2中,每个维度对节点的重要性是随着时间变化的,其中维度权重因数矩阵表示为:

式(2)中维度权重因数矩阵中每一个值的计算方式为:

公式(3)中hpmin代表第p维度中最小等级值,hpmax代表第p维度中最大等级值。a为k个节点中的任意一个。

步骤3中,所述的等级划分需对每个维度划分为s个等级,r为最高等级,等级r-s+1到等级r为最高的前s个等级;

步骤4中,统计与节点i相关的维度标识集合a[i]并计算维度计数数组元素count[i],以任一节点a为例,相关算法1为:

算法1:维度统计,算法形参为空

第一步:设i为节点序号变量令其初始值为1,设j为维度序号变量令其初始值为1。

第二步:从i=1(即序号为1的节点)开始,做如第三步开始的工作。

第三步:从j=1(即序号为1的维度)开始,做如第四步开始的工作。

第四步:如果节点a在维度j中的排名等级值大于等于r-s+1并且节点i在维度j中排名等级值也大于等于r-s+1,那么将维度计数数组元素(count[i])加1,并将维度j的序号加入维度标识集合a[i]。维度序号变量j加1,转第五步。如果节点a与节点i中存在一个节点在维度j中的排名等级小于r-s+1,则维度计数数组元素count[i]不变并且维度标识集合a[i]也不变,维度序号变量j加1,转第五步。

第五步:如果此时j小于等于n(即总共n个维度),那么继续做第四步,如果j大于n(即节点a与节点i在n个维度中统计完毕),那么转第六步。

第六步:节点序号i加1(即节点a与下一个节点进行统计),如果i小于等于k-1(即除节点a外还有k-1个节点),那么做从第三步开始到第五步所表述的工作。如果i大于k-1(即节点a与其它k-1个节点都统计完毕),那么转第七步。

第七步:结束。

当前执行算法的节点a根据count[i]与门限值θ的比较来决定节点i是否加入自身的局部拓扑,相关算法2为:

算法2:节点a的局部拓扑构建,算法形参为count[i]

第一步:设门限值为θ(为常量),设i为节点序号变量令其初始值为1。

第二步:从i=1(即序号为1的节点)开始,做如第三步开始的工作。

第三步:如果count[i]大于等于θ,则将点i加入节点a的拓扑tpa中,i加1,转第四步。如果count[i]小于θ,忽略目前的i节点,i加1,转第四步。

第四步:如果i小于k-1(即除a外还有k-1个节点),那么做从第二步开始到第三步所表述的工作。如果i大于k-1(即节点a与其它k-1个节点的count[i]都统计完毕),那么转第五步。

第五步:结束。

步骤6中,拓扑图中每一条连接的权值计算分为单连接情况和多连接情况;

所述的单连接是,指两点之间只有一条路径的连接;

所述的多连接是指两点之间存在多条路径的连接;

所述的维度之间的联系,包括相互独立和相互影响两种;

当维度之间的联系相互独立时,所述的单连接权值计算公式为:

公式(4)为节点a与节点f之间的单连接权值计算公式,其中它们在β个维度中排在前s等级;

其中公式(4)中下列值为权重因数的倒数:

当维度之间相互影响时,所述的单连接权值计算公式为:

其中公式(7)中:

其中公式(7)中:

其中last,lfst,lasp,lfsp分别代表节点a和节点f在移动速度维度和停留时间维度的等级排名值,即当β个维度中有节点间相遇次数这一维度,而移动速度维度和停留时间维度不在前s等级时,所述的约束条件为:

lat∈dt∩lat≥r-s+1lft∈dt∩lft≥r-s+1

last<r-s+1,lfst<r-s+1,lasp<r-s+1,lfsp<r-s+1

所述的多连接权值计算公式为:

waw=waea×weaw+waka×wkaw+wawa×wwaw(10)

公式(10)中,以求任意两个节点a和w之间的多连接权值为例,其中节点ea,节点ka,节点wa为节点a和节点w的三个共同朋友节点。waea为节点a和节点ea之间的单连接权值,weaw为节点ea和节点w之间的单连接权值,waka为节点a和节点ka之间的单连接权值,wkaw为节点ka和节点w之间的单连接权值,wawa为节点a和节点wa之间的单连接权值,wwaw为节点wa和节点w之间的单连接权值,根据概率乘法和加法原则,求出节点a和节点w之间的多连接权值。

步骤7中,当每个节点收到其它节点的拓扑图后,根据求异去同原则将其并入自身的拓扑图,以节点a遇见节点w为例,相关算法3为:

算法3:节点a局部拓扑的扩张,算法形参为节点a的拓扑tpa,节点w的拓扑tpw

第一步:节点a将拓扑tpa发给节点w,节点a接收节点w发来的拓扑tpw。

第二步:tpa中共条连接(为常数),tpw中共δ条连接(δ为常数),设节点a的拓扑图tpa中连接的计数变量为令其初始值为1,设节点w的拓扑图tpw中连接的计数变量为§令其初始值为1。

第三步:对tpa中从开始的连接做第四步开始的工作。

第四步:对tpw中从§=1开始的连接做第五步开始的工作。

第五步:如果连接与连接§有公共节点,则将连接与连接§相连,§加1(即tpw中的下一条连接),如果§小于等于δ(即tpw中δ条连接还未循环完),那么继续做第五步开始的工作。如果§大于δ,转第六步。

第六步:加1(即tpa中的下一条连接),如果小于等于那么做从第四步开始到第五步所表述的工作。如果大于则转第七步。

第七步:结束。

步骤8中,根据当前节点发送数据队列中发送指针指向的数据包所标识的目的地址对拓扑做如下简化,对拓扑中的每一条连接根据连接所关联的两个节点i和j建立收益矩阵并求出纳什均衡解;

所述的收益矩阵为:

其中(ui,uj)中ui为节点i转发并发送数据包的总收益,uj为节点j转发并发送数据包的总收益,(vi,vj)中vi为节点i转发并发送数据包的总收益,vj为节点j发送数据包但不转发之前节点发来数据包的总收益,(wi,wj)中wi同ui,wj表示节点j既不转发数据包也不发送数据包的总收益,(xi,xj)中xi表示节点i发送自身的数据包但不转发来自之前节点数据包的总收益,xj同uj,(yi,yj)中的yi同xi,yj同vj,(zi,zj)中zi同xi,zj同wj,(oi,oj)中oi表示节点i发送数据包但不转发之前节点发来的数据包的总收益,oj同xj,(pi,pj)中pi同oi,pj同vj,(qi,qj)中qi同oi,qj同wj;

以节点a的拓扑tpa为例,节点i和节点j是与tpa中连接相关的两个节点,假设此时节点a向节点f发数据包,对网路拓扑进行简化:如果与连接相关的两个节点中任意一个节点出现能量不足或者数据包缓存队列已满,那么该连接标志位为0;

如果没有出现上述情况,那么做如下判断,根据与该连接相关联的两个节点的各自的能量参数建立博弈论收益矩阵并以此求出两个节点间的纳什均衡解,如果纳什均衡解等于(ui,uj),其中ui代表节点i有能量转发前驱节点发来的数据包并且有能量自己发送数据包,uj的解释同ui,那么该连接的标志位等于1,否则等于0;上述的拓扑简化算法4为:

算法4:节点a扩张后的拓扑进行简化,算法形参为tpa

第一步:tpa中共条连接(为常数),设tpa中的连接计数变量为并令其初始值为1。

第二步:对tpa中从开始的每一条连接,做第三步开始的工作。

第三步:如果与连接相关的两个节点i和j中有某一个(或两个)节点出现能量不足或者接收数据包队列已满,那么连接的标志位等于0,加1(继续下一条连接的判断),如果小于则继续从第三步开始到第五步所表述的工作。如果大于条连接都处理完),则转第六步。

第四步:以节点i和节点j的相关能量参数为基础建立如式(11)所示的博弈论收益矩阵并求出纳什均衡解,如果纳什均衡解等于(ui,uj)(即节点i和j都有能量转发前驱结点的数据包和自己发送数据包),那么连接的标志位1,否则连接的标志位等于0。转第五步。

第五步:加1(继续下一条连接的判断),如果小于则继续从第三步开始到第五步所表述的工作。如果大于条连接都处理完),则转第六步。

第六步:结束。

若式(11)收益矩阵的纳什均衡解等于(ui,uj)则该连接的标志位为1,否则为0;纳什均衡解(ui,uj)也即节点i与节点j都参与数据包的发送和转发,之后根据简化后的二进制拓扑求出发送数据包的最短路径和最优转发节点集合setops;

以节点a向节点f发数据包为例,经算法4的拓扑简化后,求最短路径和最优转发节点集合setops的算法5为:

算法5:求最短路径及最优转发集合,算法形参为节点a的拓扑tpa

第一步:如果节点a到节点f的路径上所有标志位为1的连接形成树形结构或者节点a到节点f的路径上所有标志位为1的连接形成直线形结构,那么最优转发节点集合setops为节点a到节点f的路径上所有与标志位为1的连接相关的节点组成的集合。否则转第二步。

第二步:以目的节点f为源节点运行最短路径算法依次选择节点进入最短路径,将那些在算法中出现在节点a之前的节点加入最佳节点转发集合。

第三步:结束。

对二进制网络拓扑中的相关节点剩余能量进行更新,对能量耗尽的连接标志位由1清0并发送新的数据包,其过程包括算法6、算法7和算法8;

所述最佳转发节点集合中节点剩余能量更新的算法6为:(算法6可以通过步骤的方式描述吗?如果可以,请发明人补充具体步骤的流程,谢谢)

算法6:最佳转发节点集合中节点剩余能量更新,算法形参为最佳转发节点集合setops

第一步:设为最佳转发节点集合setops中的节点序号计数变量并令其初始值为1。节点转发集合setops中共ě个节点(ě为常数)。设为节点的初始能量,为发送一个数据包消耗的能量,为转发一个数据包消耗的能量,为发送一个数据包的收益,为转发一个数据包的收益。

第二步:从最佳转发节点集合setops中的节点(即第一个节点)开始,做第三步开始的工作。

第三步:加1(即最佳转发节点集合setops中的下一个节点),如果小于等于ě,则继续做第三步开始的工作,否则转第四步。

第四步:结束。

以节点a的拓扑tpa为例,所述标志位为1的连接清零算法7为(算法7可以通过步骤的方式描述吗?如果可以,请发明人补充具体步骤的流程,谢谢):

算法7:连接标志位清零,算法形参为最佳转发节点集合setops

第一步:节点转发集合setops中共ě个节点(ě为常数),设为最佳转发节点集合setops中的节点计数变量并令其初始值为1。

第二步:对从setops中(即第一个)开始的节点,做从第三步开始的工作。

第三步:观察经过算法6后是否等于0(即能量耗尽),如果等于0,那么与节点相关的连接的标志位清0,转第四步。如果不等于0,转第四步。

第四步:加1,如果小于等于ě,那么转第三步,否则转第五步。

第五步:结束。

以节点a为例,综上可得,考虑节点能量的延迟容忍网络拓扑路由方法算法8为:

算法8:考虑节点能量的延迟容忍网络拓扑路由方法,算法形参为节点a的拓扑tpa,a的发送队列qa

第一步:发送数据包队列qa中共p个数据包。设y为发送队列qa的计数变量并令其初始值为1(即发送队列中的第一个数据包)。

第二步:对qa中的每一个数据包py,做第三步开始的工作。

第三步:如果py.ttl等于0(即数据包py的生命周期耗尽),则丢弃数据包py,否则做从第四步开始的工作。

第四步:首先运行算法4对拓扑tpa进行简化,然后运行算法5获得最佳转发节点集合setops。如果与节点a相遇的节点属于setops并且相遇节点之前没收到数据包py,则将数据包py发送给相遇节点,否则保留py等待更好的机会。运行算法6对最佳转发节点集合setops中节点的能量进行更新,运行算法7对能量耗尽的节点相关的连接标志位清0。y加1,如果y小于等于p(即发送队列中还有数据包),那么做从第三步开始到第四步所表述的工作。如果y大于p,那么转第五步。

第五步:结束。

下面用一个实例来阐述本方法;

物理和数学上通常所说的空间维度的概念来自广义相对论中。对于一张纸上两个对角线端点的两个蚂蚁来说,它们之间的距离是比较远的,因为蚂蚁只能感知到两维的空间,但是如果将纸对折一下,沿着两个端点对折出的第三维高度,那么它们之间距离就非常的近。所以对于距离来说,首先要将它放在某一个维度中来讨论,因为在一个维度中很远的距离可能在另一个维度中非常的相近。本方法参考了维度的概念,当然并不是广义相对论中严格定义的维度。当节点由人类携带着移动时,不可避免的会体现出与人相关的特点,因为人处在不同的维度中,节点也会处在不同的维度中,这些不同维度包括节点所处的地理位置、节点移动速度、在某个特定区域的停留时间、过去与其它节点的相遇次数(与其它节点相遇并且成功进行数据传递)、社会层次定位(比如市长、老师、学生等)、共同爱好(比如读书、打篮球等)、还包括共同的经济背景、是否是同一个年龄段、是否是一家人、是否学习同一个专业等。总之,可以定义出能想象的所有维度。有些维度之间是相互关联的,对于节点的过去相遇次数维度与兴趣爱好维度以及和这个节点在某个地点停留时间维度和它移动速度维度都相关。因为兴趣爱好往往体现在节点所出现的地理位置。举例来说,两个喜欢运动的人可能会在某个健身房内经常相遇,但这两个人相遇时间有多长取决于他们在这个健身房的停留时间以及他们的移动速度。有些维度之间是相互独立的,比如说社会层次维度和节点移动速度维度。随着时间的推移,维度对节点的影响是不同的,定义了维度的权重系数来衡量。简单举例来说,家人这个维度与距离维度,即使和家人相隔万水千山,同一个家庭的人宁愿和远在千里之外的家人更多的交流也不会和近在咫尺的陌生邻居交流,所以,此时的距离在是否是一家人这个维度里就变得非常的近,而在地理位置这个维度似乎变得不起作用。

例如对一个移动节点a,用一个5维向量来标识它,5个维度分别为:移动速度,某个地点的停留时间,社会层次,是否是亲人,社会层次,年龄段。5维向量的每一个值是一个整数,这个整数值也就是它在每个维度中所处的等级,对5个维度都用等级值来标识有利于将度量进行统一,设门限值θ=3,s=6。

对于节点在某个地点的停留时间这个维度,根据节点在相应地点的停留时间的长短进行等级的划分。

对于节点的移动速度这一维度来说,节点的移动速度与等级成反比,节点移动速度越快,那么它的等级越低。

对于是否是亲人这一维度来说,可以根据是否是直系亲属,是否是旁系亲属,不是亲属但比较熟悉,陌生人等等来进行等级的划分。

对于社会层次这一维度来说,如果在一个学校中则可以根据校长、主任、老师、学生等进行等级的划分。

对于年龄段这个维度来说,可以根据是否是同龄人,是否年龄相差5年或者10年等来进行等级划分。

假设节点a建立的相对静态拓扑如下图2所示。

图2中节点的字母代表节点的id。图中连接上的数值代表连接的权值,根据权值计算公式得出。图中所有的节点与节点a都在大于门限值3个维度中排在前6等级中,拿图中的节点a与节点ea来说,它们在大于门限值3个维度中都排在前6等级。理想情况下,如果节点a和节点ea在5个维度中每个维度都排在前6等级,那么count[ea]=5,其中维度总数n恒大于等于门限值θ。

假如经过时间t与其它节点相遇之后,节点a形成的拓扑如下图3所示。

图3中的省略号表示拓扑图后面还有连接,图中连接上标有权值,图中的节点b由于与其它节点暂时没有公共的中介节点,所以造成了暂时的拓扑图分割。但随着节点与其它节点相遇,总会以比较大的概率存在某一个相遇节点,它的拓扑图中的节点将分割的部分连接起来。

最后,由于在构造节点的局部拓扑图时在每个维度中都选择了排名最高的前6等级,而在计算每条连接的权值时则是取它们的倒数,那么相应的就变成最小的6个数。假设节点a中当前发送指针指向发往节点sp的数据包,根据图3中当前每个节点的剩余能量,每个节点发送一个自身数据包的能耗,每个节点转发发往sp的数据包的能耗,通过对每条连接建立权益矩阵求纳什均衡解来对拓扑进行简化,经过简化后,会产生图4-图8所示的五种二进制拓扑;

经过简化后,所有标志位为1的连接形成线形结构,如图4所示。

如图5,蓝色和红色数值表示连接的标志位,黑色的数值是连接权值,图4中标志位为1的连接形成了线性结构,不需运行最短路径算法,可以求出节点a发往节点sp的最短路径以及最优转发节点集合setops={a,k,o,s,sp};

经过简化后,所有标志位为1的连接形成树形结构,如图5所示。

如图5中标志位为1的连接形成了树形结构,不需运行最短路径算法,可以求出节点a发往节点sp的最短路径以及最优转发节点集合setops={a,k,o,s,sp};

经过简化后,所有标志位为1的连接形成图形结构,如图6所示。

如图6中标志位为1的连接形成了图形结构,以节点sp为源节点运行最短路径算法,可以求出节点a发往节点sp的最短路径以及最优转发节点集合setops;

经过简化后,图中所有连接的标志位都为1,如图7所示。

如图7中所有连接的标志位为1,以节点sp为源节点运行最短路径算法,可以求出节点a发往节点sp的最短路径以及最优转发节点集合setops;

经过简化后,图中所有连接的标志位都为0,如下图8所示。

如图8中所有连接的标志位为0,这是一种特殊情况,未来工作中将考虑其它的策略进行数据包的转发,例如对节点的激励策略来求出最短路径以及最优转发节点集合setops;

综上所述,本发明一种考虑节点能量的延迟容忍网络拓扑路由方法,通过进行有效的路由选择,提高了数据传递的命中率,并降低了数据传递延时和路由能耗。

尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1