机会网络中一种高效路由算法制造技术

技术编号:13398201 阅读:46 留言:0更新日期:2016-07-23 22:07
本发明专利技术提出了一种机会网络中的高效路由算法(PMSF算法),在SAW的基础上进行改进,在散发阶段充分考虑中继节点的传递性能,使用了改进的Prophet投递预测函数作为效用值对消息副本进行分配,投递预测函数表示的传输预测值越大,中继节点传递消息的成功率越高,故应分配给该节点更多的消息副本,摒弃了经典SAW消息散发阶段盲目的均等散发机制。同时,将等待阶段的Direct Delivery被动路由方式改为主动路由,并将等待阶段命名为转发阶段,以更好的贴合主动路由阶段的消息多跳转发机制,利用马尔可夫时间间隔预测模型,尽量将消息转发给较快便能与目的节点相遇的中继节点。本发明专利技术同时兼顾了高效和可信的原则,使得副本快速扩散、有效传输,又能保证传输的稳定性和可靠性。

【技术实现步骤摘要】
机会网络中一种高效路由算法
本专利技术属于互联网通信
,具体涉及一种机会网络中的高效路由算法及装置。
技术介绍
在机会网络环境中,网络资源相对紧缺且不易调度,传统的Epidemic路由算法基于洪泛策略,往往会过度消耗网络资源,为了解决该问题,散发等待路由算法(SprayandWait,SAW)路由算法应运而生。SAW路由算法既具有Epidemic算法消息副本快速扩散的优点,也具有DirectDelivery算法设计思路简易性的特性,整个过程可以描述为:源节点及获得部分消息副本的中间节点按照某种特定的分发规则向整个网络环境散发消息副本,满足直接交付的条件后主动转入等待阶段,直至碰到目的节点才将消息直接投递出去,否则将一直持有该消息,是一种基于固定配额的多副本经典路由协议。由于在消息传输的开始阶段,就对消息副本的数量进行限定,因此不会消耗过多的网络资源,如节点缓存等。同时,适量的副本数量可以提高消息的传递率,降低传输时延,消息从源节点到目的节点的跳数也随之减少,总的来说,该算法具有设计思想简洁、路由过程高效、程序易实现,算法可扩展性强等众多优点。SAW路由算法的适用场景局限于网络中节点均等分布且运动随机的场景,考虑到机会网络复杂多样的应用场景,如部分应用场景中节点的移动具有某些规律性等问题,所以该算法仍然具备较大的改进空间。从整个消息的传递过程中可以分析该路由协议存在以下缺陷:散发阶段中忽视了中继节点的差异性,如中继节点的传递潜能,传输可靠性,节点自身资源利用情况等,完全按照固定的消息副本数目进行分配,忽视了节点的差异性带来的影响;处于等待阶段中的节点只是默默等待目的节点的出现,不会在过程中考虑利用其他性能良好的节点对消息进行转发,不能很好的利用现有的网络资源达到最终的投递目的。具体来说,SAW路由算法虽然可以应用于多类机会网络场景中且表现出的综合性能要优越于其他路由算法,如使用较为普遍的Epidemic和Prophet路由算法。但是,其自身也有较为明显的设计缺陷。散发阶段没有充分利用网络环境的拓扑结构知识和历史相遇信息,忽视了节点传递潜能的不同,同时也包括移动模式的不同。就使用频率较高的BinarySprayandWait经典算法而言,在散发过程中,只是单纯且盲目地拷贝一半的消息副本给相遇节点,固定分配消息副本的策略使该过程变得不够灵活,盲目且随机。其次,现实世界中的网络往往是异构的,网络环境可提供给每个节点的能量不可能是完全相同的,所以均等的散发消息副本这种模式也是不合理的。等待阶段所采用的直接交付的消息传输模式同样不够灵活,假设在此过程中,拥有部分消息副本的中继节点或源节点被局限在狭小的活动区域,就会出现在消息的生存期内根本无法与目的节点相遇的情况,消息只能被丢弃,从而无法到达目的节点,使得该路由算法的性能在某些特定网络场景下有所下降。如果此过程中能够遇见更好传递该消息的中继节点,就应该将消息迅速传递给对方,而不是一直自私盲目地携带该消息,这样不仅能提高消息成功投递,省去了节点在等待阶段盲目等待的时间消耗,也能及时地释放节点的缓存空间,以便接收更多的消息。
技术实现思路
为解决现有技术中存在的问题,本专利技术深入研究和分析了SAW算法,在分析该算法在Spray阶段和Wait阶段存在的弊端的基础上,从算法路由策略的高效性和可靠性角度出发,提出了一种利用Prophet投递预测函数和马尔可夫模型改进SprayandWait的PMSF算法。本专利技术具体通过如下技术方案实现:一种机会网络中的高效路由算法,所述算法为利用Prophet投递预测函数和马尔可夫模型改进SprayandWait的混合路由算法PMSF,所述算法包括:在散发spray阶段,根据Prophet投递预测函数得到的投递概率对相遇节点的质量和传递潜能进行评估,在计算Prophet投递概率时充分考虑链路传输的可靠性,根据所述投递概率散发分配不同数量的副本;在转发阶段,将被动路由的等待阶段修改为主动路由的多跳转发阶段,在该过程中引入马尔可夫模型预测相遇节点到目的节点的时间,并选取能在最短时间间隔内到达目的节点的节点作为中继节点;循环执行上述散发和转发阶段,直至消息到达目的节点。进一步地,根据节点间相遇的历史信息,求解出节点相遇持续时间的平均值,用该值去衡量链路消息传输的可靠性。进一步地,所述spray阶段的详细流程为:假设消息msg的目的节点是D,当持有msg副本个数为L的节点A与节点B建立临时通信链路时,A和B分别更新各自到目的节点的传输预测值,同时,双方交换彼此具有ACK确认信息的CMI消息列表,丢弃那些已被目的节点确认接收到的消息副本;接下来,判断节点A,B是否满足spray阶段消息转发的条件,当且仅当A中msg的副本的数量大于1且B中没有msg的副本才散发该消息,若任一条件得不到满足就不能散发该消息;同时,还需要判断B到目的节点D的传输预测值是否大于A到D的传输预测值,只有在大于A的情况下才进行消息转发;当B准备接收A散发的消息msg的副本时,B需要检查自身的缓存空间是不是足以容纳新的消息,如果不充足,需要按照FIFO的思想删除最早进入到缓存队列的消息,随后将消息副本放入腾出空间的节点缓存中,同时计算和修改B应该持有msg副本的数量,如果B是msg的目的节点,把msg放入CMI对应的ACK消息确认列表中;否则,msg会继续存储在A的缓存之中,等待良好的投递时机;然后,源节点和中继节点都将循环执行该步骤,直到自身所剩消息副本的数量减少为1时,转入消息投递过程的转发阶段。进一步地,计算A要分配给B的消息副本数具体为:假设某个时刻,携带源消息的节点A与节点B相遇,该消息的副本数量为L且目的地为节点D,具体数值由下式计算所得:其中,mD表示以节点D作为目的节点的消息,表示节点A当前持有的消息副本数量,是重新分配给节点A的消息副本数量,P(A,D),P(B,D)表示两节点间成功投递消息的传输预测值。进一步地,所述转发阶段的详细流程:当携带消息msg(副本数为1)的节点A与节点B相遇时,首先利用节点间相遇的历史信息并结合马尔可夫模型预测自身到目的节点D的相遇时间间隔;此处用KP(A,D)和KP(B,D)分别表示A和B在未来一段时间内与D再次相遇的时间间隔,当KP(B,D)<KP(A,D)且B中不包含msg的任何副本时,A便把msg直接转发给B相反,A将继续携带msg;若A在某一时刻同时与多个节点相遇,求解出能在最短时间内到达D的节点,包括A自身,把msg直接投递给该节点,若A符合条件,便不进行msg的转发。进一步地,计算相遇时间间隔具体为:当携带消息的源节点A遇到网络中任一节点X时,假设该消息的目的节点用D表示,记录并计算二者的历史相遇时间间隔序列;随后,根据节点X与D历史相遇时间间隔序列构建P,从X和D相遇的历史序列中找到并记录最后一次相遇持续时间所对应的状态,即矩阵最后一个元素对应的取值,并用它构建当前状态矩阵K,然后将K,P两个矩阵做乘积操作,即可得到预测矩阵KP:KP=K×PKP是1×N形式的矩阵,在该矩阵中所有列中找到取值最大的数值所在的列号,该列号的取值范围是[1,N],该列号就是节点间下一次相遇时间间隔的预测值。本专利技术还提出了一种机会本文档来自技高网
...

【技术保护点】
一种机会网络中的高效路由算法,其特征在于:所述算法为利用Prophet投递预测函数和马尔可夫模型改进Spray and Wait的混合路由算法PMSF,所述算法包括:在散发spray阶段,根据Prophet投递预测函数得到的投递概率对相遇节点的质量和传递潜能进行评估,在计算Prophet投递概率时充分考虑链路传输的可靠性,根据所述投递概率散发分配不同数量的副本;在转发阶段,将被动路由的等待阶段修改为主动路由的多跳转发阶段,在该过程中引入马尔可夫模型预测相遇节点到目的节点的时间,并选取能在最短时间间隔内到达目的节点的节点作为中继节点;循环执行上述散发和转发阶段,直至消息到达目的节点。

【技术特征摘要】
1.一种机会网络中的高效路由算法,其特征在于:所述算法为利用Prophet投递预测函数和马尔可夫模型改进SprayandWait的混合路由算法PMSF,所述算法包括:在散发spray阶段,根据Prophet投递预测函数得到的投递概率对相遇节点的质量和传递潜能进行评估,在计算Prophet投递概率时充分考虑链路传输的可靠性,根据所述投递概率散发分配不同数量的副本;在转发阶段,将被动路由的等待阶段修改为主动路由的多跳转发阶段,在该过程中引入马尔可夫模型预测相遇节点到目的节点的时间,并选取能在最短时间间隔内到达目的节点的节点作为中继节点;循环执行上述散发和转发阶段,直至消息到达目的节点;其中,所述spray阶段的详细流程为:假设消息msg的目的节点是D,当持有msg副本个数为L的节点A与节点B建立临时通信链路时,A和B分别更新各自到目的节点的传输预测值,同时,双方交换彼此具有ACK确认信息的消息列表CMI,丢弃那些已被目的节点确认接收到的消息副本;接下来,判断节点A,B是否满足spray阶段消息转发的条件,当且仅当A中msg的副本的数量大于1且B中没有msg的副本才散发该消息,若任一条件得不到满足就不能散发该消息;同时,还需要判断B到目的节点D的传输预测值是否大于A到D的传输预测值,只有在大于的情况下才进行消息转发;当B准备接收A散发的消息msg的副本时,B需要检查自身的缓存空间是不是足以容纳新的消息,如果不充足,需要按照FIFO的思想删除最早进入到缓存队列的消息,随后将消息副本放入腾出空间的节点缓存中,同时计算和修改B应该持有msg副本的数量,如果B是msg的目的节点,把msg放入CMI对应的ACK消息确认列表中;否则,msg会继续存储在A的缓存之中,等待良好的投递时机;然后,源节点和中继节点都将循环执行该步骤,直到自身所剩消息副本的数量减少为1时,转入消息投递过程的转发阶段。2.根据权利要求1所述的高效路由算法,其特征在于:根据节点间相遇的历史信息,求解出节点相遇持续时间的平均值,用该值去衡量链路消息传输的可靠性。3.根据权利要求1所述的高效路由算法,其特征在于:计算A要分配给B的消息副本数具体为:假设某个时刻,携带源消息的节点A与节点B相遇,该消息的副本数量为L且目的地为节点D,具体数值由下式计算所得:其中,mD表示以节点D作为目的节点的消息,表示节点A当前持有的消息副本数量,是重新分配给节点A的消息副本数量,P(A,D),P(B,D)表示两节点间成功投递消息的传输预测值。4.根据权利要求1所述的高效路由算法,其特征在于:所述转发阶段的详细流程为:当携带消息msg副本数为1的节点A与节点B相遇时,首先利用节点间相遇的历史信息并结合马尔可夫模型预测自身到目的节点D的相遇时间间隔;此处用KP(A,D)和KP(B,D)分别表示A和B在未来一段时间内与D再次相遇的时间间隔,当KP(B,D)<KP(A,D)且B中不包含msg的任何副本时,A便把msg直接转发给B,相反,A将继续携带msg;若A在某一时刻同时与多个节点相遇,求解出能在最短时间内到达D的节点,包括A自身,把msg直接投递给该节点,若A符合条件,便不进行msg的转发。5.根据权利要求1或4所述的高效路由算法,其特征在于:计算相遇时间间隔具体为:当携带消息的源节点A遇...

【专利技术属性】
技术研发人员:王岢叶允明徐晓飞李旭涛聂哲
申请(专利权)人:哈尔滨工业大学深圳研究生院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1