一种容迟网络中基于社会关联度的改进路由方法转让专利

申请号 : CN201210385532.2

文献号 : CN102868602B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王堃郭篁

申请人 : 南京邮电大学

摘要 :

一种容迟网络中基于社会关联度的改进路由方法,针对容迟网络中由于间断连接性和长时延导致路由效率降低以及社会网络中节点的社会自私性带来的节点拒绝提供转发服务的问题,提出一种改进的基于社会关联度的路由算法SLABR(SocialLinkAwarenessBasedRouting),利用社会网络分析方法,根据节点之间相遇历史信息计算社会关联度构造朋友节点群体,并在群体内和群体间采用不同转发策略,在以较小开销提高消息投递成功率的同时尽可能的减少时延。仿真结果表明相比已有机制,本文的算法可以提高消息传递成功率并降低传输时延,进一步提高路由效率。

权利要求 :

1.一种容迟网络中基于社会关联度的改进路由方法,其特征在于针对容迟网络中由于间断连接性和长时延导致路由效率降低以及社会网络中节点的社会自私性带来的节点拒绝提供转发服务的问题,利用社会网络分析方法,根据节点之间相遇历史信息计算社会关联度,构造朋友节点群体,提出一种容迟网络中基于社会关联度的改进路由方法,所述的基于社会关联度的消息转发改进算法,通过构造节点的朋友群体将网络划分为不同的区域,根据目的节点与当前携带消息的节点是否处于同一朋友群体将消息转发过程分为群体内扩散和群体间转发,在群体内采用基于多副本的二叉传递算法,在群体间采用单副本转发策略,具体步骤如下:

1)当携带消息的中间节点Ni携带有以目的节点Nd为目的节点的消息m时,从消息头部获取目的节点;

2)判断目的节点Nd是否与Ni处于同一朋友群体,若目的节点Nd与Ni处于同一朋友群体,转步骤3);若目的节点Nd与Ni不处于同一朋友群体,转步骤4);

3)采用基于多副本的群体内扩散策略,执行二叉传递算法BF直至消息成功传递至目的节点;

4)采用基于单副本的群体间转发策略,等待与中间节点Nj相遇;

5)当Ni与Nj相遇,比较双方与目的节点的社会关联度SL(i,d)和SL(j,d),若

SL(i,d)>SL(j,d),回步骤4);若SL(j,d)>SL(i,d),转步骤6);

6)判断目的节点Nd是否属于Nj的朋友群体,若目的节点Nd属于Nj的朋友群体,转步骤3);若目的节点Nd不属于Nj的朋友群体,转步骤4);

所述的社会关联度,表示为一跳直接朋友关系的社会压力度量值SPMi,j和所有两跳间接朋友关系的间接社会压力度量值RSPMi,j|any中最小值的倒数,具体定义为:其中,SPMi,j为节点对Ni和Nj的一跳直接朋友关系的社会压力度量值,RSPMi,j|any为节点对Ni和Nj经过任意其它节点形成的两跳间接朋友关系的间接社会压力度量值;

所述的在群体内采用基于多副本的二叉传递算法,具体过程如下:

首先Ni将消息复制N份,其中N为Ni的朋友群体内的节点总数,当Ni携带消息副本数为n的消息m与Nj相遇时,若Nj是目的节点,则Ni直接将1个消息副本转发给目的节点;

若Nj不是目的节点,当n>1时,若Nj的消息列表中没有消息m,则Ni将自身消息副本数的一半转发给Nj,即Ni将nj个消息副本转发给Nj,节点Ni保留ni个消息副本,ni和nj的取值如下:当n=1时,则不转发;重复以上过程,直至消息传递至目的节点处;

所述的在群体间采用单副本转发策略,若目的节点Nd不在Ni的朋友群体内,则消息在群体间采用单副本转发方式,将消息转发给与目的节点社会关联度较强的节点。当节点Ni与节点Nj相遇时,双方分别计算与目的节点的社会关联度SL(i,d)和SL(j,d),根据社会关联度的大小以及Nd是否处于Nj的朋友群体内可以分为以下三种情况:情况1:SL(i,d)≥SL(j,d),则i不转发消息,等待与下一节点相遇;

情况2:SL(j,d)>SL(i,d),且 则仍不转发消息,继续等待与下一节点相遇;

情况3:SL(j,d)>SL(i,d),且d∈Fj,说明Nd是Nj的朋友节点,则Ni将消息转发给Nj,节点Nj接收到消息后在朋友群体内执行基于多副本的BF算法,直至消息成功转发给目的节点。

2.根据权利要求1所述的一种容迟网络中基于社会关联度的改进路由方法,其特征在于所述的构造朋友节点群体,节点Ni的朋友节点群体Fi具体定义为:Fi={j|SL(i,j)>λandi≠j}∪{k|RSPMi,k|j<1/λandSL(i,j)>λandi≠j≠k}朋友群体Fi中包括Ni的所有一跳直接朋友节点和两跳间接朋友节点,通常处于同一群体的节点之间朋友关系至多为两跳,因此采用上述方法构建的朋友群体中Fi包含了节点i的所有朋友节点。

3.根据权利要求1所述的一种容迟网络中基于社会关联度的改进路由方法,其特征在于所述的一跳直接朋友关系的社会压力度量值SPMi,j,表示当时间单元趋近于0时,在时间段T内消息从Ni传递到Nj的平均时延,具体定义为:其中,T为一个时间段,t为当前时刻,tnext为Ni和Nj的下一次相遇时刻,tinter为从t到tnext的间隔时间;如果在t时刻,两节点正处于接触状态,则tinter=0;否则tinter=tnext-t,n为Ni和Nj在T时间内的相遇次数。

4.根据权利要求1所述的一种容迟网络中基于社会关联度的改进路由方法,其特征在于所述的两跳间接朋友关系的间接社会压力度量值RSPMi,j|any,表示Ni处产生的消息通过间接消息传递沿路径传递到Nj的平均时延,具体定义为:其中,ta,x为间接消息传递过程第一阶段时间,从Ni和Nk上一次相遇结束时刻到本次相遇结束时刻,若在Nk与Nj相遇之前Ni与Nk有多次相遇,则ta,x为Ni和Nk从上一次相遇结束时刻到最后一次相遇结束时刻;tb,x为间接消息传递过程第二阶段时间,从第一阶段结束时刻到Nk和Nj相遇开始时刻;x为时间T内发生的间接消息传递次数。

说明书 :

一种容迟网络中基于社会关联度的改进路由方法

技术领域

[0001] 本发明是一种基于节点间社会关联度的改进路由算法,属于容迟网络的路由算法领域。

背景技术

[0002] 容迟网络即DTN(Delay Tolerant Networks)是一种支持各种区域网络的互操作性,在各种区域网络的通信特性之间进行转换的受限网络(Challenged Network),但容迟网络的间歇性连接使得节点之间很难保证端到端连接,节点通常缓存有限,并且由于长时间的延迟,使得无法提供及时的数据传输,这就限制了传统路由方式的使用。同时,处于社会网络中的节点由于资源受限等因素的影响,表现出社会自私性,为了节省自己的存储空间和资源,拒绝为与它没有社会关系的节点提供消息转发服务,网络性能因而大大降低。这些使得在DTN中提供有效的路由服务面临巨大的挑战。因此,需要在DTN中引入社会网络分析方法,利用节点的社会属性,研究节点的群体形成、组织结构、交流方式及动态演化,设计基于社会感知的路由协议,从而促进节点之间的社会交往。
[0003] 社会感知(Socially Aware)是社会学中用于描述各种社会现象和人类社交能力的概念。而在计算机领域中,社会感知的主要内涵是指计算机系统对社会情境(Social Context)的感知和响应。社会感知计算(Socially Aware Computing)通过人类社会生活空间日渐部署的大规模多种类传感设备,实时感知识别社会个体的行为,分析挖掘群体社会交互特征和规律辅助个体社会行为,支持社群的互动、沟通和协作,从而高效地支持社会目标的实现。社会感知计算的核心在于“感知”二字,有两层涵义,首先感知物理世界(Sensing),然后觉察并做出响应(Aware)。
[0004] 随着社会感知思想的提出,一些学者开始对社会感知计算进行研究,并提出基于社会感知的路由协议,通过感知节点的社会特征对路径的选择做出决策,从而改善路由性能。目前一些容迟网络中基于社会感知的路由协议主要分为以下两类:(1)单副本路由,用节点行为的社会特征作为度量值构造效用函数,在转发过程中选择效用值较高的节点作为转发节点。(2)多副本路由,采用洪泛机制将一定数量的消息副本复制给网络中所有节点。

发明内容

[0005] 技术问题:针对容迟网络的间断连接性导致路由效率降低以及节点社会自私性的问题,本发明在容迟网络中引入社会感知的思想提出了一种容迟网络中基于社会关联度的改进路由方法,考虑到节点行为的社会特征,利用节点对的社会关联度构造朋友群体,并根据目的节点是否与转发节点处于同一朋友群体将消息转发过程分为群体间转发和群体内转发;提出了在群体间采用单副本转发策略,在群体内采用多副本扩散策略,解决了由多副本扩散策略带来的大量消息冗余问题。
[0006] 技术方案:本发明的一种容迟网络中基于社会关联度的改进路由方法,针对容迟网络中由于间断连接性和长时延导致路由效率降低以及社会网络中节点的社会自私性带来的节点拒绝提供转发服务的问题,利用社会网络分析方法,根据节点之间相遇历史信息计算社会关联度,构造朋友节点群体,提出一种容迟网络中基于社会关联度的改进路由方法,
[0007] 所述的基于社会关联度的消息转发改进算法,通过构造节点的朋友群体将网络划分为不同的区域,根据目的节点与当前携带消息的节点是否处于同一朋友群体将消息转发过程分为群体内扩散和群体间转发,在群体内采用基于多副本的二叉传递算法,在群体间采用单副本转发策略,具体步骤如下:
[0008] 1)当携带消息的中间节点Ni携带有以目的节点Nd为目的节点的消息m时,从消息头部获取目的节点;
[0009] 2)判断目的节点Nd是否与Ni处于同一朋友群体,若目的节点Nd与Ni处于同一朋友群体,转步骤3);若目的节点Nd与Ni不处于同一朋友群体,转步骤4);
[0010] 3)采用基于多副本的群体内扩散策略,执行二叉传递算法BF(Binary Forwarding,)直至消息成功传递至目的节点;
[0011] 4)采用基于单副本的群体间转发策略,等待与中间节点Nj相遇;
[0012] 5)当Ni与Nj相遇,比较双方与目的节点的社会关联度SL(i,d)和SL(j,d),若SL(i,d)>SL(j,d),回步骤4);若SL(j,d)>SL(i,d),转步骤6);
[0013] 6)判断目的节点Nd是否属于Nj的朋友群体,若目的节点Nd属于Nj的朋友群体,转步骤3);若目的节点Nd不属于Nj的朋友群体,转步骤4)。
[0014] 所述的社会关联度,表示为一跳直接朋友关系的社会压力度量值SPMi,j和所有两跳间接朋友关系的间接社会压力度量值RSPMi,j/any中最小值的倒数,具体定义为:
[0015]
[0016] 其中,SPMi,j为节点对Ni和Nj的一跳直接朋友关系的社会压力度量值,RSPMi,j/any为节点对Ni和Nj经过任意其它节点形成的两跳间接朋友关系的间接社会压力度量值。
[0017] 所述的构造朋友节点群体,节点Ni的朋友节点群体Fi具体定义为:
[0018] Fi={j|SL(i,j)>λandi≠j}∪{k|RSPMi,k|j<1/λandSL(i,j)>λandi≠j≠k}[0019] 朋友群体Fi中包括Ni的所有一跳直接朋友节点和两跳间接朋友节点,通常处于同一群体的节点之间朋友关系至多为两跳,因此采用上述方法构建的朋友群体中Fi包含了节点i的所有朋友节点。
[0020] 所述的一跳直接朋友关系的社会压力度量值SPMi,j,表示当时间单元趋近于0时,在时间段T内消息从Ni传递到Nj的平均时延,具体定义为:
[0021]
[0022] 其中,T为一个时间段,t为当前时刻,tnext为Ni和Nj的下一次相遇时刻,tinter为从t到tnext的间隔时间;如果在t时刻,两节点正处于接触状态,则tinter=0;否则tinter=tnext-t,n为Ni和Nj在T时间内的相遇次数。
[0023] 所述的两跳间接朋友关系的间接社会压力度量值RSPMi,j/any,表示Ni处产生的消息通过间接消息传递沿路径传递到Nj的平均时延,具体定义为:
[0024]
[0025] 其中,ta,x为间接消息传递过程第一阶段时间,从Ni和Nk上一次相遇结束时刻到本次相遇结束时刻,若在Nk与Nj相遇之前Ni与Nk有多次相遇,则ta,x为Ni和Nk从上一次相遇结束时刻到最后一次相遇结束时刻;tb,x为间接消息传递过程第二阶段时间,从第一阶段结束时刻到Nk和Nj相遇开始时刻;x为时间T内发生的间接消息传递次数。
[0026] 所述的在群体内采用基于多副本的二叉传递算法,具体过程如下:
[0027] 首先Ni将消息复制N份,其中N为Ni的朋友群体内的节点总数,当Ni携带消息副本数为n的消息m与Nj相遇时,若Nj是目的节点,则Ni直接将1个消息副本转发给目的节点;若Nj不是目的节点,当n>1时,若Nj的消息列表中没有消息m,则Ni将自身消息副本数的一半转发给Nj,即Ni将nj个消息副本转发给Nj,节点Ni保留ni个消息副本,ni和nj的取值如下:
[0028]
[0029] 当n=1时,则不转发;重复以上过程,直至消息传递至目的节点处。
[0030] 所述的在群体间采用单副本转发策略,若目的节点Nd不在Ni的朋友群体内,则消息在群体间采用单副本转发方式,将消息转发给与目的节点社会关联度较强的节点。当节点Ni与节点Nj相遇时,双方分别计算与目的节点的社会关联度SL(i,d)和SL(j,d),根据社会关联度的大小以及Nd是否处于Nj的朋友群体内可以分为以下三种情况:
[0031] 情况1:SL(i,d)≥SL(j,d),则i不转发消息,等待与下一节点相遇;
[0032] 情况2:SL(j,d)>SL(i,d),且 则仍不转发消息,继续等待与下一节点相遇;
[0033] 情况3:SL(j,d)>SL(i,d),且d∈Fj,说明Nd是Nj的朋友节点,则Ni将消息转发给Nj,节点Nj接收到消息后在朋友群体内执行基于多副本的BF算法,直至消息成功转发给目的节点。
[0034] 有益效果:本发明针对容迟网络中由于间断连接性和长时延导致路由效率降低以及社会网络中节点的社会自私性带来的节点拒绝提供转发服务的问题,提出一种改进的基于社会关联度的路由算法SLABR,利用社会网络分析方法,根据节点之间相遇历史信息计算社会关联度构造朋友节点群体,并在群体内采用基于多副本的二叉扩散策略,在群体间采用单副本转发策略,将消息转发给与目的节点社会关联度较强的节点。仿真结果表明相比已有机制,本发明可以在提高消息投递成功率的同时尽可能的减少时延,能够进一步提高路由效率。

附图说明

[0035] 图1是基于社会关联度的改进路由算法流程图,
[0036] 图2是二叉传递算法示意图,
[0037] 图3是三种路由算法消息传递成功率对比图,
[0038] 图4是三种路由算法路由开销对比图,
[0039] 图5是三种路由算法传输时延对比图,
[0040] 图6是三种路由算法路由效率对比图。

具体实施方式

[0041] 模型定义
[0042] 在一个社会性容迟网络中,节点间的消息传递只能采用机会转发方式,即只有当两节点相遇或同时处于对方通信范围时,信息交换才可以发生,若节点之间表现出如下行为特征:接触频率高,接触时间长且具有一定规律性,则认为它们之间存在社会关联,社会关联度越强的节点之间消息转发成功概率越大。
[0043] 定义1.NS表示要发送消息的源节点;ND为目的节点;Ni,Nj,Nk为中间相遇节点。
[0044] 定义2.T为一个时间段,t为当前时刻,tnext为Ni和Nj的下一次相遇时刻,tinter为从t到tnext的间隔时间。如果在t时刻,两节点正处于接触状态,则tinter=0;否则tinter=tnext-t,n为Ni和Nj在T时间内的相遇次数。
[0045] 定义3.当时间单元趋近于0时,在时间段T内消息从Ni传递到Nj的平均时延表示为Ni和Nj之间一跳直接朋友关系的社会压力度量值(Social Pressure Metric,SPM)SPMi,j,如式(1)所示:
[0046]
[0047] 定义4.消息从Ni经过Nk的转发传递至Nj的过程为间接消息传递过程,间接消息传递过程分为两个阶段,ta,x为第一阶段时间,从Ni和Nk上一次相遇结束时刻到本次相遇结束时刻,若在Nk与Nj相遇之前Ni与Nk有多次相遇,则ta,x为Ni和Nk从上一次相遇结束时刻到最后一次相遇结束时刻;tb,x为间接消息传递过程第二阶段时间,从第一阶段结束时刻到Nk和Nj相遇开始时刻;x为时间T内发生的间接消息传递次数。
[0048] 定义5.节点Ni和Nj之间经过Nk的两跳间接朋友关系间接社会压力度量值(Relative Social Pressure Metric,RSPM)RSPMi,j/k为Ni处产生的消息通过间接消息传递沿路径传递到Nj的平均时延,如式(2)所示:
[0049]
[0050] 间接社会压力度量值RSPMi,j/k表示节点Ni和Nj之间经过Nk的两跳间接朋友关系。由定义3和定义5可以看出,节点对之间接触频率越高,间隔时间分段越多,接触时间越长,间隔时间分布越均匀,则SPMi,j和RSPMi,j/k的值越小,表示消息从Ni传递到Nj的平均时延越小,则Ni和Nj的社会关联度越强,转发概率越大。
[0051] 朋友群体构建
[0052] 定义6.节点对Ni和Nj的社会关联度(Social Link)SL(i,j)为一跳直接朋友关系的社会压力度量值SPMi,j和所有两跳间接朋友关系的间接社会压力度量值RSPMi,j/any中最小值的倒数,即
[0053]
[0054] 定义7.节点Ni的朋友群体Fi定义如式(4):
[0055] Fi={j|SL(i,j)>λandi≠j}∪{k|RSPMi,k|j<1/λand SL(i,j)>λand i≠j≠k}(4)
[0056] 朋友群体Fi中包括Ni的所有一跳直接朋友节点和两跳间接朋友节点,通常处于同一群体的节点之间朋友关系至多为两跳,因此采用上述方法构建的朋友群体中Fi包含了节点i的所有朋友节点。
[0057] 基于社会关联度的消息转发改进算法
[0058] 根据相遇历史信息,每个节点可以计算与其它节点的社会关联度,当与新的节点相遇时,通过更新SPM和RSPM值,计算当前时间周期的社会关联度,并且实时更新自己的朋友群体,根据所携带消息的目的节点是否与当前节点处于同一朋友群体内,分别采用群体内扩散策略和群体间转发策略。
[0059] 定义8.群体内扩散策略:在朋友群体内采用二叉传递算法(Binary Forwarding,BF)。设N为节点Ni的朋友群体内的节点总数,首先Ni将消息复制N份。当节点Ni携带消息副本数为n的消息m与Nj相遇时,若Nj是目的节点,则Ni直接将1个消息副本转发给目的节点;若Nj不是目的节点,当n>1时,若Nj的消息列表中没有消息m,则Ni将自身消息副本数的一半转发给Nj,即Ni将nj个消息副本转发给Nj,节点Ni保留ni个消息副本,ni和nj的取值如下:
[0060]
[0061] 当n=1时,则不转发。重复以上过程,直至消息传递至目的节点处。
[0062] 定义9.群体间转发策略:若目的节点Nd不在Mi的朋友群体内,则消息在群体间采用单副本转发方式,将消息转发给与目的节点社会关联度较强的节点。当节点Ni与节点Nj相遇时,双方分别计算与目的节点的社会关联度SL(i,d)和SL(j,d),根据社会关联度的大小以及Nd是否处于Nj的朋友群体内可以分为以下三种情况:
[0063] 情况1:SL(i,d)≥SL(j,d),则i不转发消息,等待与下一节点相遇;
[0064] 情况2:SL(j,d)>SL(i,d),且 则仍不转发消息,继续等待与下一节点相遇;
[0065] 情况3:SL(j,d)>SL(i,d),且d∈Fj,说明Nd是Nj的朋友节点,则Ni将消息转发给Nj,节点Nj接收到消息后在朋友群体内执行基于多副本的BF算法,直至消息成功转发给目的节点。
[0066] 根据定义8和定义9,基于社会关联度的消息转发改进算法过程如下:
[0067] 1)当Ni携带有以Nd为目的节点的消息m时,从消息头部获取目的节点;
[0068] 2)判断目的节点Nd是否与Ni处于同一朋友群体,若目的节点Nd与Ni处于同一朋友群体,转步骤3;若目的节点Nd与Ni不处于同一朋友群体,转步骤4;
[0069] 3)采用基于多副本的群体内扩散策略,执行BF算法直至消息成功传递至目的节点;
[0070] 4)采用基于单副本的群体间转发策略,等待与Nj相遇;
[0071] 5)当Ni与Nj相遇,比较双方与目的节点的社会关联度SL(i,d)和SL(j,d),若SL(i,d)>SL(j,d),回步骤4;若SL(j,d)>SL(i,d),转步骤6;
[0072] 6)判断目的节点Nd是否属于Nj的朋友群体,若目的节点Nd属于Nj的朋友群体,转步骤3;若目的节点Nd不属于Nj的朋友群体,转步骤4。
[0073] 这样,在群体内采用基于多副本的二叉传递策略,可以实现消息在朋友群体内的快速扩散,减少路由时延;在群体间采用基于社会关联度的转发策略,将消息转发给与目的节点社会关联度更强的节点,从而提高消息传递成功率。
[0074] 本发明的一种容迟网络中基于社会关联度的改进路由算法,其特征在于针对容迟网络中由于间断连接性和长时延导致路由效率降低以及社会网络中节点的社会自私性带来的节点拒绝提供转发服务的问题,利用社会网络分析方法,根据节点之间相遇历史信息计算社会关联度,构造朋友节点群体,提出一种基于社会关联度的消息转发改进算法。
[0075] 所述的根据节点之间相遇历史信息计算社会关联度,节点对Ni和Nj的社会关联度SL(i,j)为一跳直接朋友关系的社会压力度量值SPMi,j和所有两跳间接朋友关系的间接社会压力度量值RSPMi,j/any中最小值的倒数,具体定义为:
[0076]
[0077] 其中,SPMi,j为节点对Ni和Nj的一跳直接朋友关系的社会压力度量值,RSPMi,j/any为节点对Ni和Nj经过任意其它节点形成的两跳间接朋友关系的间接社会压力度量值。
[0078] 所述的构造朋友节点群体,节点Ni的朋友群体Fi具体定义为:
[0079] Fi={j|SL(i,j)>λandi≠j}∪{k|RSPMi,k|j<1/λand Sl(i,j)>λandi≠j≠k}[0080] 朋友群体Fi中包括Ni的所有一跳直接朋友节点和两跳间接朋友节点,通常处于同一群体的节点之间朋友关系至多为两跳,因此采用上述方法构建的朋友群体中Fi包含了节点i的所有朋友节点。
[0081] 所述的基于社会关联度的消息转发改进算法,通过构造节点的朋友群体将网络划分为不同的区域,根据目的节点与当前携带消息的节点是否处于同一朋友群体将消息转发过程分为群体内扩散和群体间转发,在群体内采用基于多副本的二叉传递算法,在群体间采用单副本转发策略,具体步骤如下:
[0082] 1)当Ni携带有以Nd为目的节点的消息m时,从消息头部获取目的节点;
[0083] 2)判断目的节点Nd是否与Ni处于同一朋友群体,若目的节点Nd与Ni处于同一朋友群体,转步骤3;若目的节点Nd与Ni不处于同一朋友群体,转步骤4;
[0084] 3)采用基于多副本的群体内扩散策略,执行BF算法直至消息成功传递至目的节点;
[0085] 4)采用基于单副本的群体间转发策略,等待与Nj相遇;
[0086] 5)当Ni与Nj相遇,比较双方与目的节点的社会关联度SL(i,d)和SL(j,d),若SL(i,d)>SL(j,d),回步骤4;若SL(j,d)>SL(i,d),转步骤6;
[0087] 6)判断目的节点Nd是否属于Nj的朋友群体,若目的节点Nd属于Nj的朋友群体,转步骤3;若目的节点Nd不属于Nj的朋友群体,转步骤4。
[0088] 所述的一跳直接朋友关系的社会压力度量值SPMi,j,表示当时间单元趋近于0时,在时间段T内消息从Ni传递到Nj的平均时延,具体定义为:
[0089]
[0090] 其中,T为一个时间段,t为当前时刻,tnext为Ni和Nj的下一次相遇时刻,tinter为从t到tnext的间隔时间。如果在t时刻,两节点正处于接触状态,则tinter=0;否则tinter=tnext-t,n为Ni和Nj在T时间内的相遇次数。
[0091] 所述的两跳间接朋友关系的间接社会压力度量值RSPMi,j/any,表示Ni处产生的消息通过间接消息传递沿路径传递到Nj的平均时延,具体定义为:
[0092]
[0093] 其中,ta,x为间接消息传递过程第一阶段时间,从Ni和Nk上一次相遇结束时刻到本次相遇结束时刻,若在Nk与Nj相遇之前Ni与Nk有多次相遇,则ta,x为Ni和Nk从上一次相遇结束时刻到最后一次相遇结束时刻;tb,x为间接消息传递过程第二阶段时间,从第一阶段结束时刻到Nk和Nj相遇开始时刻;x为时间T内发生的间接消息传递次数。
[0094] 所述的在群体内采用基于多副本的二叉传递算法,具体过程如下:
[0095] 首先Ni将消息复制N份,其中N为节点Ni的朋友群体内的节点总数。当节点Ni携带消息副本数为n的消息m与Nj相遇时,若Nj是目的节点,则Ni直接将1个消息副本转发给目的节点;若Nj不是目的节点,当n>1时,若Nj的消息列表中没有消息m,则Ni将自身消息副本数的一半转发给Nj,即Ni将nj个消息副本转发给Nj,节点Ni保留ni个消息副本,ni和nj的取值如下:
[0096]
[0097] 当n=1时,则不转发。重复以上过程,直至消息传递至目的节点处。
[0098] 所述的在群体间采用单副本转发策略,若目的节点Nd不在Ni的朋友群体内,则消息在群体间采用单副本转发方式,将消息转发给与目的节点社会关联度较强的节点。当节点Ni与节点Nj相遇时,双方分别计算与目的节点的社会关联度SL(i,d)和SL(j,d),根据社会关联度的大小以及Nd是否处于Nj的朋友群体内可以分为以下三种情况:
[0099] 情况1:SL(i,d)≥SL(j,d),则i不转发消息,等待与下一节点相遇;
[0100] 情况2:SL(j,d)>SL(i,d),且 则仍不转发消息,继续等待与下一节点相遇;
[0101] 情况3:SL(j,d)>SL(i,d),且d∈Fj,说明Nd是Nj的朋友节点,则Ni将消息转发给Nj,节点Nj接收到消息后在朋友群体内执行基于多副本的BF算法,直至消息成功转发给目的节点。
[0102] 以图2为例说明当节点Ni中消息m的副本数为5时,与其它朋友节点相遇时采用BF算法的在群体内实现消息扩散的过程。节点Ni携带消息m首先查看当前朋友群体内节点个数为5,将消息复制5份。当与节点Na相遇,Na的消息列表中没有m,则Ni将3个消息副本转发给Na,Ni保留2个消息副本;同理当Ni接着与Nb相遇,Ni将1个消息副本转发给Nb,Ni保留1个消息副本;Na与Nc相遇时将2个消息副本转发给Nc,Na保留1个消息副本;当Nc最终与目的节点ND相遇时,直接将1个消息副本转发给ND,至此群体内消息扩散过程结束。
[0103] 用OPNET仿真软件对此改进算法(SLABR,Social Link Awareness Based Routing)的 路 由 性 能 进 行 仿 真 分 析,并 与 IFR(Integrating Forwarding and Replication)算法和FBR(Friendship Based Routign)算法进行对比实验。仿真环境配置如表1所示:场景设置为在8000m*8000m范围内部署了20个移动节点,在仿真周期内,按照每1/12个仿真时间向网络中增加10个节点。各节点射频功率范围(或无线通信范围)为50m(这些参数产生一种稀疏的DTN,其在实际环境中很常见),信道容量为1Mbps,假定各节点配置完全相同。MAC层协议使用IEEE802.11无线局域网标准协议,网络拓扑结构随机生成,仿真运行时间设定为0.5h,种子数设定为9,对比模型为IFR算法和FBR算法。在设定中,将节点的移动速度设定为满足U[1,10]上的均匀分布随机生成,节点内存为5MB,源节点数据包生成时间设定为1800s。
[0104] 表1仿真环境
[0105]
[0106]
[0107] 在IFR算法中采用转发与复制相结合的路由机制,允许节点在社区内部用Epidemic算法将消息洪泛给所有相遇的节点,在社区外部根据节点中心度将消息转发给有较高传输权重的节点;在FBR算法中,采用单副本转发策略,网络中只有一个消息副本,当与节点相遇时比较二者与目的节点的友谊度,当且仅当目的节点在相遇节点的朋友群体内且相遇节点与目的节点有较高的友谊度时,消息转发才可以发生。为了讨论SLABR的路由效率,本文采用以下4个性能指标对路由性能进行评价:消息传递成功率,路由开销,传输时延和路由效率。
[0108] 1)消息传递成功率,message successful delivery ratio(MSDR)=目的节点成功接收的消息数/消息总数=NDRec/Ntotal;
[0109] 2)路 由 开 销,overhead(OH)= 计 算 开 销 + 通 信 开 销 =computation overhead+transmission overhead;
[0110] 3)传输时延,
[0111] 4)路由效率,routing delay(RD)=消息传递成功率/路由开销=MDR/OH。
[0112] 图3为在网络中节点数量不同情况下,三种路由算法中消息传递成功率的变化情况。IFR算法在社区内部采用Epidemic算法将消息副本发送给网络中的所有节点,因此在节点数量较少时传递成功率为100%。随着网络规模的增加,节点数量变多,IFR和FBR算法中间节点与目的节点相遇的概率随之减小,因此消息成功传递率降低。本文的SLABR算法中,当消息传递至目的节点的朋友群体内时,采用基于多副本的消息扩散策略,提高了消息传递成功率。仿真结果显示,SLABR算法的消息传递成功率比FBR算法提升了19.2%。
[0113] 图4为在不同的网络规模下,对三种路由算法的路由开销进行比较的结果。IFR算法在社区内部采用洪泛机制将消息复制给网络中的所有节点,因此开销最大而且随着节点数量的增多路由开销急剧增加。FBR算法采用基于单副本的转发策略,网络中只有一个消息副本,因此开销最小。本文的SLABR算法在群体内采用多副本转发策略,因此比FBR算法的路由开销略有增加,但是随着仿真时间的延长,网络中的节点数量逐渐增加,因此相比与初始阶段而言,会有更多的节点参与到该算法的路由转发中,尽管路由开销仍会上升,但由于参与节点数更多,并且由于群体内节点数量相对稳定,因此路由开销不会随着网络中节点数量的增加而急剧增大,而是呈现缓慢增长趋势。仿真结果显示,SLABR的路由开销与FBR相比仅增加6.7%,与IFR算法相比降低了59.6%。
[0114] 图5为节点数增加时,三种路由算法的传输时延的变化情况。由于FBR算法采用单副本转发策略,网络中只有一个消息副本,随着网络规模增加,传输时延随之增加。在节点数量较少的情况下,由于IFR路由积极的副本转发策略,其传输延时优于另外两种路由策略。但随着仿真的进行,网络中节点的数量越来越多,IFR路由的贪婪投递机制造成大量冗余副本,因此其网络延时急剧增加,而本文提出的SLABR算法在目的节点所在群体内部采用二叉传递策略,可以提高消息转发速度,并且具有更高的稳定性,不易受到网络中的异常情况的影响,如网络中断,自私行为等,因此随着节点数量增加表现出更短的延迟。实验数据显示,SLABR算法的传输时延比IFR算法减少14.3%,比FBR算法减少了13.7%。
[0115] 图6为三种路由算法的路由效率随网络规模的变化情况。随着网络规模增大,[0116] 由于IFR算法中存在大量冗余消息副本,路由效率急剧下降。本文提出的算法SLABR与FBR算法相比虽然路由开销略有增加,在节点数量较少时路由效率不如FBR算法,但SLABR的群体内多副本扩散机制有效提高了消息传递成功率,因此随着节点数量增加,路由效率逐渐优于FBR算法。仿真结果显示,SLABR算法与IFR算法和FBR算法相比,路由效率分别提高了54.2%和16.6%。