一种MSN下基于亲缘关系的分族分层机会路由算法的制作方法

文档序号:17695847发布日期:2019-05-17 21:30阅读:144来源:国知局
一种MSN下基于亲缘关系的分族分层机会路由算法的制作方法

本发明涉及到一种机会路由算法,具体涉及到一种msn下基于亲缘关系的分族分层机会路由算法。



背景技术:

msn发展自机会网络,其源节点和目的节点之间不需要存在完整的链路,利用节点移动带来的相遇机会来实现“存储-携带-转发”模式的网络通信,存在移动网络下的社会簇聚特征。在初期,机会网络被用于许多缺少基础通信设施的极端环境中,例如太空通信、灾难救援、战时通信等。随着智能pda(personaldigitalassistant)设备的日益普及,移动社会网络逐步形成并呈日益扩大趋势。为更有效地进行数据传输及共享,在移动社会网络节点资源受限的情况下,节点间通信越来越多地依赖于节点的社会属性,例如社会关系、节点的兴趣、自私性以及利他性等。在机会网络中,没有利他,数据将无法传递;而处于自私,则不愿意利他,因此,在节点处于理智考量时,两者相互博弈的结果便是社会自私。社会自私性的有效利用,有助于提高网络流量,但其中也有一些问题,例如判断节点间是否具有社会自私性、只传递有社会关系的数据包等等。

现有的研究主要集中于解决节点个人自私性,这些激励计划无法直接适用于处理社会自私性,因为社会自私性的本质是节点的利他性。由于这些激励机制的作用,不管是否存在社会联系,每个节点将不得不为其他节点提供服务,其结果是,节点的社会自私性被侵犯。因此,如何在甄别出节点的社会自私性的同时,对其加以利用和保护,且在一定程度上抵御个体自私性,是急需解决的关键问题之一。

社会自私性的概念最早是由美国宾州州立团队提出的,他们以终端节点是否存在社区关系为依据,将自私行为分为个体自私性和社会自私性,其中社会自私性是指当机会网络中存在社会关系时,同一社区内的节点传递消息副本的概率较大。而社区的形成也正是因为社会自私性,通过社会网络学理论对用户移动行为特征进行了分析,发现人们的社会关系存在一定的依赖性,其运动方式表现出“小世界化”现象,由于某些共同的兴趣爱好以及社会关系聚集在一起,形成一个个运动的群体,这便是社区。当一个节点与其他节点没有任何社会关系的时候,节点的社会自私性便变成个体自私性。现有的社会自私性大体分为三种:1)将追求最高的转发利益定为最根本的原则;2)在一定程度上更愿意为关系密切的人(例如家人、朋友、同事等)转发消息;3)表现出来的自私性与其消息的重要程度呈反比,即消息越重要,用户表现出的自私性反而降低。

现有技术中存在一些缺陷,例如文献[transmissionofmultimediacontentsinopportunisticnetworkswithsocialselfishnodes]通过对社会自私性节点进行基于社会关系的消息转发意愿评估的方法提高多媒体信息传输时节点的协作性,其算法只将上述的三种情况分别单独讨论。文献[社会化机会网络消息转发与协作机制研究]针对社会自私性对跨社区消息传输时网络性能以及节点间协作能力的影响,利用博弈理论,建立节点消息转发的博弈模型,进一步研究社会自私性激励与消息转发机制,其更多地去抵御社会自私性,而忽视其利用价值。文献[基于社会自私性的机会网络路由算法]提出一种基于社会自私性的路由算法,在该路由算法中,节点优先发送转发收益最大的消息,选择与目的节点的社会关系更强、投递率更大且具有较强转发意愿的节点作为转发节点,然而该算法没有考虑到转发节点自身的社会自私性,且在相遇节点均与目的节点没有关系的情况下性能大大降低。



技术实现要素:

1、本发明的目的:

本发明的目的是提出一种基于亲缘关系的分族分层路由算法。首先,在依据亲缘关系指数分族分层的社区和集群中,自荐的节点通过综合举荐值的比较产生族节点和中继节点。然后以亲缘关系预测的转移概率作为转发依据,依靠族节点和中继节点优化盲目转发,在有效地控制副本数的同时预测关联可靠路径链路,实现基于节点亲缘关系的相遇投递策略,在保护社会自私性的基础上,有效地提高网络的通信流量。

2、本发明的技术方案如下:

本发明主要是针对社会自私性的簇居利用,社会自私性在本发明中表现为亲缘关系,首先在依据亲缘关系已划分好的社区集群中,依靠综合举荐值选出族节点和中继节点;然后在有效地控制副本数的同时,通过亲缘关系预测的转移概率作为转发依据,依靠族节点和中继节点优化盲目转发,提高传输的可靠率,在保护社会自私性的同时,提高流量抵御自私。

根据亲缘关系指数,具有相同社会关系的节点处于同一族内,不同的族之间均有交叉部分;在分族分层的社区和集群中,自荐的节点通过综合举荐值的比较产生族节点和中继节点;然后以亲缘关系预测的转移概率作为转发依据,依靠族节点和中继节点优化盲目转发,在有效地控制副本数的同时预测关联可靠路径链路,实现基于节点亲缘关系的相遇投递策略。

进一步地,基于亲缘关系的模型msn抽象为一个包含n个节点的图g=(v,l),其中v={v1,v2,…vn}(n≥1)表示网络中的节点(或个体)的集合,vi表示机会社会网络中第i个节点;l={l1,l2,…,lk}为定义在g上的链路集合,(当k=0时表示某个时刻网络中的节点彼此都不在对方的通信范围内),lk为网络中li→lj的通信链路(i≠j,且i和j均小于n);

每个节点均存有一个一维数组,用来储存和邻居节点的单一亲缘关系指数:

其中x表示亲缘类型(家人或者朋友或者同事),i和m分别表示两个节点,而

即为节点m的家人亲缘关系总和。综合的亲缘关系则是通过加权求和得到;在同一族内,其族对应的大于一阈值y。

进一步地,基于亲缘关系的相遇投递策略:当一个节点m接收到报文的时候,首先它会到自身的邻居节点集|em|进行查找,查看目的节点是否在其中:

(1)若d∈|em|,节点m直接将报文转发给目的节点d;

(2)若则进行下一跳节点的筛选工作;节点m先分别向族节点f和中继节点r发送报文请求关于目的节点的邻居节点集如果族节点没有目的节点的邻居节点集,即说明目的节点不在该族内,节点m会将中继节点r定为下一跳节点,以此来进行族间转发;如果族节点和中继节点储存的目的节点的邻居节点集内容相异,则需要重新举荐族节点和中继节点;如果两个邻居节点集相同,则进行下一步的族内转发。

进一步地,基于亲缘关系的相遇投递策略的族内转发中,节点m先将自身的邻居节点集|em|和目的节点的邻居节点集|ed|进行匹配,得到其交集|em,d|,接着查看其交集中是否有节点:

(1)如果没有公共节点,那么节点m会查找与目的节点地理位置接近且在自身覆盖范围内的可能性节点并发送请求报文以确定是否可以作为下一跳节点;当p点不存在的时候,节点m会将|em|中的节点按照单一亲缘关系指数从高到低排序,并将报文依次转发给单一亲缘关系指数不比自身小的节点;

(2)如果只有一个节点b∈|em,d|,那么该节点便作为下一跳节点;

(3)如杲有多个节点c,d,e…∈|em,d|,则会按照与目的节点的单一亲缘关系指数由高到低的顺序依次进行转发。

进一步地,在社区内,族节点依靠综合举荐值,通过举荐机制产生;中继节点则是依靠节点高活跃度、高可信度和高社区度举荐产生;

社区内各个节点通过向其余节点发送报文来表达自荐的愿望,在报文中包括单一亲缘关系指数介数中心性b(m)和熵度中心性et(m);

介数中心性是表示该节点作为两个节点之间最短路径的桥梁的次数,次数越多,说明该节点作为桥梁的重要程度越高;其函数表达式为:

其中gi,j(m)表示m作为中继节点的次数,gi,j表示最短路径的个数;

熵度中心性表示该节点与相邻节点的相遇次数,其值为:

其中表示在持续时间t内节点m的连接分布熵,而表示节点m和节点j的相遇概率,γt(m)为节点m在持续时间t内的邻居集合,代表节点m和节点j在持续时间t内的相遇次数;

综合举荐值:

其中,ωk、ωb和ωe是加权值,为避免主观分配权重的局限性,增强自适应性;本文使用信息熵来进行权值分配,信息熵反映了多个评价指标对于待评价事务的影响程度,即各指标在评价过程中提供有效信息的多寡程度,因此可以使用信息熵来度量各指标信息的有效程度并据此分别确定其相应的权重,ωk、ωb和ωe的计算公式分别如下:

h(b(m))=-b(m)log2b(m)-(1-b(m))log2(1-b(m))

h(et(m))=-et(m)log2et(m)-(1-et(m))log2(1-et(m))

在选举族节点的同时也会进行中继节点的选举,以便两个节点的相互监控,选举中继节点的报文中包括自身的介数中心性和熵度中心性以及综合举荐值:

其中表示节点m的综合亲缘关系,b(m)表示介数中心性,et(m)表示熵度中心性,ωk、ωb和ωe是加权值,其计算参考上述相关公式。

进一步地,综合举荐值构成部分会随着历史交易记录的变化而变化,节点的综合举荐值也要及时更新;当前周期内亲缘关系指数变化明显或者族节点和中继节点储存内容相异时,节点会重新计算综合举荐值,以此选出新的族节点和中继节点;举荐完成后,各节点会将自身的邻居节点集以报文的形式分别发送给族节点和中继节点。

3、有益效果

本发明的有益效果旨在对社会自私性的簇居利用方面有明显的效果,可以有效保护节点的社会自私性,网络的通信流量也得到显著提高。与现有的simbet路由算法和bsw路由算法相比,本发明在改善消息投递率和降低消息传输延迟方面也有明显效果。

附图说明

图1是本发明实施例中社会关系模型及节点分布图。

图2是本发明实施例中族节点和中继节点作用图。

图3是本发明实施例中族节点举荐机制图。

图4是本发明实施例中基于亲缘关系的相遇投递策略部分流程图。

图5是本发明实施例中基于亲缘关系的相遇投递策略族内转发流程图。

图6是本发明实施例的仿真实验的投递成功率随ttl变化图。

图7是本发明实施例的仿真实验的消息传输延迟随ttl变化图。

图8是本发明实施例的仿真实验的投递成功率随消息产生速率变化图。

图9是本发明实施例的仿真实验的消息传输延迟随消息产生速率变化图

图10是本发明实施例的仿真实验的亲缘关系满意度随周期变化图。

具体实施方式

下面结合附图1-10,对本发明的的一个具体实施例做进一步的说明。

如图1所示,社会关系模型及节点分布图,本算法的研究工作是在根据亲缘关系指数分族分层的msn中进行的,且为2d无ap架构,节点在周期内相对稳定,其社会关系模型包括:家人(home)、朋友(friend)和同事(colleague)。具有相同社会关系的节点处于同一族内,不同的族之间均有交叉部分。

在每个族内均有一个族节点,以二元组储存本族内每个节点的邻居节点集。族交集处有中继节点,也以二元组的形式来储存所在族的所有节点的邻居节点集。族节点和中继节点的分布如图1所示。

为了便于描述,将msn抽象为一个包含n个节点的图g=(v,l),其中v={v1,v2,…vn}(n≥1)表示网络中的节点(或个体)的集合,vi表示机会社会网络中第i个节点;l={l1,l2,…,lk}为定义在g上的链路集合,(当k=0时表示某个时刻网络中的节点彼此都不在对方的通信范围内),lk为网络中li→lj的通信链路(i≠j,且i和j均小于n)。

每个节点均存有一个一维数组,用来储存和邻居节点的单一亲缘关系指数:

其中x表示亲缘类型(家人或者朋友或者同事),i和m分别表示两个节点,而

即为节点m的家人亲缘关系总和。综合的亲缘关系则是通过加权求和得到。在同一族内,其族对应的大于一阈值y。

自私节点均是社会自私性节点,即节点在自身状态允许时,优先转发与自身有社会关系的节点,而对于没有关系的陌生节点,会在追求自身利益最大化的情况下酌情转发。

节点以混杂工作模式进行工作,以便监听邻居节点转发数据报文的情况。

如图2所示,族节点和中继节点的产生,在社区内,依靠综合举荐值,通过举荐机制产生族节点(虚拟投掷盒),一方面族节点可以用于社区内信息存储,另一方面可以监控和奖惩其他节点;而中继节点则是依靠节点高活跃度、高可信度和高社区度(交叉社区)举荐产生,其作用是社区间信息关联,因为其活跃度高,便于预测其移动方向,如图2所示:

如图3所示,族节点举荐机制图,举荐机制包括自荐和选取两个部分,本算法以族节点的举荐为例:社区内各个节点通过向其余节点发送报文来表达自荐的愿望,在报文中包括单一亲缘关系指数介数中心性和熵度中心性。其中介数中心性是表示该节点作为两个节点之间最短路径的桥梁的次数,次数越多,说明该节点作为桥梁的重要程度越高。其函数表达式为:

其中gi,j(m)表示m作为中继节点的次数,gi,j表示最短路径的个数。

熵度中心性表示该节点与相邻节点的相遇次数,其值为:

其中表示在持续时间t内节点m的连接分布熵,而表示节点m和节点j的相遇概率,γt(m)为节点m在持续时间t内的邻居集合,代表节点m和节点j在持续时间t内的相遇次数。

综合举荐值:

其中,ωk、ωb和ωe是加权值,为避免主观分配权重的局限性,增强自适应性。本文使用信息熵来进行权值分配,信息熵反映了多个评价指标对于待评价事务的影响程度,即各指标在评价过程中提供有效信息的多寡程度,因此可以使用信息熵来度量各指标信息的有效程度并据此分别确定其相应的权重,ωk、ωb和ωe的计算公式分别如下:

h(b(m))=-b(m)log2b(m)-(1-b(m))log2(1-b(m))

h(et(m))=-et(m)log2et(m)-(1-et(m))log2(1-et(m))

在选举族节点的同时也会进行中继节点的选举,以便两个节点的相互监控,选举中继节点的报文中包括自身的介数中心性和熵度中心性以及综合举荐值:

其中表示节点m的综合亲缘关系,b(m)表示介数中心性,et(m)表示熵度中心性,ωk、ωb和ωe是加权值,其计算参考上述相关公式,此处不多赘述。

由于综合举荐值构成部分会随着历史交易记录的变化而变化,节点的综合举荐值也要考虑及时更新。当前周期内亲缘关系指数变化明显或者族节点和中继节点储存内容相异时,节点会重新计算综合举荐值,以此选出新的族节点和中继节点。举荐完成后,各节点会将自身的邻居节点集以报文的形式分别发送给族节点和中继节点。

基于亲缘关系的相遇投递策略kmds(kinshipmeetingdeliverystrategy)是以亲缘关系引导的副本控制下有向转发及其转移概率预测为原则,以二元喷雾等待路由协议(binarysprayandwait,bsw)中二叉树法和prophet算法思想中相遇频率估算为基础提出的,在有效地控制副本数的同时,通过亲缘关系预测的转移概率来作为转发依据,依靠族节点和中继节点优化盲目转发,从而提高传输的可靠率。

bsw算法是基于二叉树的方法生成消息的l份副本,转发过程分为spray和wait两个阶段。spray阶段,在遇到没有缓存该消息的中继节点时,将消息拷贝给它,并将剩下的拷贝任务分成两半,由中继节点完成(l-1)/2份,自身完成剩余的部分,当节点余下1份副本任务时,节点转入wait阶段,等待转发给目标节点。本算法的流程与其相类似,当副本数大于1时,节点会根据基于亲缘关系的相遇投递策略选取中继节点进行报文的拷贝,中继节点和自身均会保留一半的副本数;而当副本数剩为1的时候,节点直接将报文发送给下一跳节点,自身不再保存。消息副本数l的值过大容易造成网络拥塞,过小则会增加消息端到端的传输延迟,降低消息的传输成功率。副本数的计算已经在sprayandwait路由算法中得到,而且计算出消息的副本数是最优解的α倍,计算公式如下:

l为消息副本的数量,是序列r的第n个谐波函数,n为网络中总节点数,计算出的副本数是最优解的α倍。因此本算法中的副本最优解c为:

在源节点编写需要传递的报文的时候,会在报文中加入最大副本数c,每次传递都会将自身的报文复制给下一跳节点,自身也会保留一份,但是同时两者的副本数均会减半。若副本数为1,则将报文转发给下一跳节点,自身不再保留。

为了避免bsw算法中盲目地向任意中继节点转发消息,在本算法中,依托族节点和中继节点的帮助来优化盲目转发,并以亲缘关系预测的转移概率来作为转发依据,使消息总是沿着概率值大的方向传输,从而更加可靠地传到目的节点。

如图4所示,基于亲缘关系的相遇投递策略部分流程图,其具体的流程图如下:

当一个节点m接收到报文的时候,首先它会到自身的邻居节点集|em|进行查找,查看目的节点是否在其中:

(1)若d∈|em|,节点m直接将报文转发给目的节点d;

(2)若则进行下一跳节点的筛选工作。节点m先分别向族节点f和中继节点r发送报文请求关于目的节点的邻居节点集如果族节点没有目的节点的邻居节点集,即说明目的节点不在该族内,节点m会将中继节点r定为下一跳节点,以此来进行族间转发,由于本算法着重于族内的相遇投递策略,族间转发在此不进行详细介绍;如果族节点和中继节点储存的目的节点的邻居节点集内容相异,则需要重新举荐族节点和中继节点;如果两个邻居节点集相同,则进行下一步的族内转发。

如图5所示,基于亲缘关系的相遇投递策略族内转发流程图,其流程如下:

在族内转发中,节点m先将自身的邻居节点集|em|和目的节点的邻居节点集|ed|进行匹配,得到其交集|em,d|,接着查看其交集中是否有节点:

(1)如果没有公共节点,那么节点m会查找与目的节点地理位置接近且在自身覆盖范围内的可能性节点并发送请求报文以确定是否可以作为下一跳节点。当p点不存在的时候,节点m会将|em|中的节点按照单一亲缘关系指数从高到低排序,并将报文依次转发给单一亲缘关系指数不比自身小的节点。

(2)如果只有一个节点b∈|em,d|,那么该节点便作为下一跳节点;

(3)如果有多个节点c,d,e…∈|em,d|,则会按照与目的节点的单一亲缘关系指数由高到低的顺序依次进行转发。

本发明用到的算法,如下表1所示:

表1

本发明实施例的仿真实验结果

为了检验本文提出的基于亲缘关系的分族分层机会路由算法的性能,下面从消息投递成功率、消息传输延迟、亲缘关系满意度、消息ttl、消息产生速率等方面进行分析,并与bsw和simbet进行对比。

在图6~图7中显示了随着消息ttl逐渐变大,三种路由算法的投递成功率和消息传输延迟的变化。在图6中,随着ttl的变大,三种路由算法的投递成功率都随之增加,且增加的幅度逐渐变小,最后趋向于稳定值,这是因为该网络的转发能力有一定的限制。其中kmds路由算法取得了最高的投递成功率,因为该算法利用社会自私性,预测关联可能链路,找到可达路径。在一开始,bsw路由算法是优于simbet路由算法,那是因为在消息ttl较短的情况下,优先消息传输的bsw路由算法在规定时间内更大可能得将消息传到目的节点,其丢包率也更低;而后随着ttl的变大,节点有更多的时间来选择更好的中继节点,此时simbet路由算法显然更优。但是这两种算法均没有考虑到节点间的亲缘关系,其相关的可能链路就会少很多,因此投递成功率也会比kmds路由算法低。

如图7所示,随着消息ttl逐渐变大,三种路由算法的消息传输延迟均处于下降趋势,且下降幅度变小,最后趋向于稳定值。其中kmds路由算法的消息传输延迟一直低于其他两种路由算法,那是因为该路由算法在消息传输时利用节点间的社会自私性,具有亲缘关系的两个节点,接触次数往往更多,接触时间也更长,其消息的传输延迟也会更低。simbet路由算法中节点将信息传递给相似度和介数中心度高的点,但忽视了本身与目的节点的相关性,因此传输延迟高于kmds路由算法。而bsw路由算法则是完全没有利用节点的社会属性,其传输延迟是最高的。

在图8~图9中显示了随着消息产生速率逐渐变大,三种路由算法的投递成功率和消息传输延迟的变化。在图8中,随着消息产生速率的变大,三种路由算法的投递成功率都随之降低,但是其下降的速率不同,其中kmds的下降速率比bsw和simbet路由算法都低。

如图9所示,随着消息产生速率的变大,三种路由算法的消息传输延迟都随之增加,其中kmds的增加的幅度最低,而bsw路由算法的延迟增加得最快,且消息传输延迟也是最高的。

如图10所示,随着周期的变化,三种路由协议下的亲缘关系满意度随之变化。其中只有kmds路由算法的亲缘关系满意度在增加,因为该算法利用目的节点的亲缘关系和节点自身的亲缘关系来选取下一跳节点,在保护社会自私性的同时,也加强了节点间的联系,从而亲缘关系也更加紧密。simbet路由算法中的介数中心度高的节点与本文中提到的族节点和中继节点相类似,在一定程度上遏制了亲缘关系满意度的降低,而bsw路由算法则是完全忽视了社会自私性,因此其亲缘关系满意度下降得最快。

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