首页> 中国专利> P2P内存资源共享网络中基于信誉的服务匹配方法

P2P内存资源共享网络中基于信誉的服务匹配方法

摘要

本发明公开了一种P2P内存资源共享网络中基于信誉的服务匹配方法,目的是解决现有P2P-RAM网络无法有效区分节点服务质量差异,导致计算任务成功率低下的问题。技术方案是指定P2P-RAM网络中一个节点为信誉管理节点,对所有节点的信誉值初始化;用户节点通过代理节点查找内存服务,向信誉管理节点查询可用节点的信誉值,计算所有做出响应节点的服务推荐值;代理节点选择可用节点中服务推荐值最高的节点,构造并发送服务预约消息;内存服务结束后,用户节点就内存服务向信誉管理节点提交服务评价;信誉管理节点收到服务评价后,更新所有节点的信誉值。采用本发明可选择高质量的内存服务,避免计算任务失效率高的问题,提高系统整体可用性。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-08-18

    未缴年费专利权终止 IPC(主分类):H04L29/08 授权公告日:20120801 终止日期:20160702 申请日:20100702

    专利权的终止

  • 2012-08-01

    授权

    授权

  • 2010-11-24

    实质审查的生效 IPC(主分类):H04L29/08 申请日:20100702

    实质审查的生效

  • 2010-10-13

    公开

    公开

说明书

技术领域

本发明涉及基于P2P覆盖网络(Peer-to-Peer overlay network,简称P2P网络)的资源共享方法,尤其指一种P2P内存资源共享网络中基于信誉的服务匹配方法。

背景技术

P2P覆盖网络是在互联网上实现计算机资源共享的重要途径。通过构造P2P网络,在互联网范围内共享计算机中的文件、数据、存储和CPU处理能力等资源已经取得了许多成功应用。基于P2P网络共享内存资源是一种新的资源共享模式,相应的网络应用系统称为P2P内存资源共享网络(P2P RAM Sharing Network,以下简称P2P-RAM网络)。在P2P-RAM网络中,任何一台计算机可以将需要缓存的内存页面存储在一台或多台远程计算机的内存中,并通过网络对其加以访问。该方式能够在一定程度上缓解由于本地内存不足导致的计算性能下降问题,保障具有“性能优先”特点的计算任务的顺利完成。

在P2P-RAM网络中,节点间相互提供内存供对方使用的行为称为内存服务。对应于不同的运行状态,节点存在5种互斥的角色:

●用户节点:请求和使用内存服务的节点;

●可用节点:可为其他节点提供内存服务的节点;

●内存节点:正在为其他节点提供内存服务的节点;

●中间节点:既不请求或使用内存服务也不提供内存服务的节点;

●代理节点:协助其他节点查找可用内存服务的节点。

P2P-RAM网络的原型最早由褚瑞等学者在2004年提出,其后经历了多次改进,衍生出RAM Grid、iVCE4Memory等多种不同的系统。在现有的P2P-RAM网络中,一个重要但被普遍忽视的问题是节点(即P2P-RAM网络中的计算机)提供内存服务时服务质量(例如:所共享内存资源的总量和可靠性)的差异性。这一问题导致用户节点在选择内存服务时无法有效回避服务质量较差的节点,进而造成P2P-RAM网络中用户节点计算任务(简称任务)的成功率较低,影响用户的使用体验。为此,如何有效区分节点服务质量差异,引导用户节点选择高质量内存服务,已经成为P2P-RAM网络研究和发展中亟待解决的一项重要技术问题。

发明内容

本发明要解决的技术问题在于:针对现有P2P-RAM网络无法有效区分节点服务质量差异导致计算任务成功率低下的问题,提出一种P2P-RAM网络中基于信誉的服务匹配方法,该方法通过计算节点的信誉值区分节点的服务质量,并以信誉值为依据引导用户节点选择质量较高的内存服务,从而达到提高计算任务成功率的目的。

为了解决上述技术问题,本发明所采用的技术方案为:基于节点提供内存服务后所得到的服务评价,综合计算其信誉值;以信誉值为依据,选择质量较高的内存服务。

发明的具体技术方案是:

第一步,采用EigenTrust信誉管理系统的设计方案(详见:S.D.Kamvar,M.T.Schlosser,and H.Garcia-Molina,The EigenTrust Algorithm for Reputation Management inP2P Networks,In Proceedings of the Twelfth International World Wide Web Conference,ACMPress.May 2003.p.123-134.)指定P2P-RAM网络中的一个节点为信誉管理节点。为了对节点信誉值以及相关的信息加以存储和管理,信誉管理节点不参与任何提供或使用内存服务的行为,而是为P2P-RAM网络内其他所有节点提供以下三类服务:

(1)接收用户节点提交的服务评价信息,并加以存储;

(2)存储并定时更新所有节点的信誉值;

(3)为所有节点提供信誉值的查询功能。

第二步,信誉值初始化:信誉管理节点将所有节点的初始信誉值设置为0.5;

第三步,查找内存服务:

3.1用户节点在P2P-RAM网络中随机选择某个代理节点,向其发送需要请求的内存容量MU和最小的内存服务持续时间T1;

3.2代理节点以MU和T1为参数,采用广播方式向P2P-RAM网络中的其他节点(即不包括上述用户节点、代理节点和信誉管理节点)发送服务查询,然后设置最大接收等待时间(通常为5秒,根据实际的网络状况可有所调整),开始倒计时并等待接收响应;

3.3其他节点收到消息后,根据自身状态和当前内存使用情况选择相应操作:

3.3.1如果节点当前状态不是“可用节点”,转3.3.3;

3.3.2如果节点当前状态为“可用节点”,则判断当前自身可用内存容量是否大于等于用户节点请求的内存容量。如果结果为否,转3.3.3;反之,继续判断能否提供超过最小服务时间的持续服务,如果结果为否,转3.3.3;否则,转3.3.4;

3.3.3丢弃消息,不做出任何响应;

3.3.4节点以自身标识IDp、内存响应时间tp、所能提供的内存共享容量Mshare及最大服务持续时间T2为参数,向代理节点发送响应;

3.4接收倒计时结束(即等待时间超过最大接收等待时间)后,代理节点终止接收过程,检查是否有可用节点对服务查询做出响应,并采取相应操作:

3.4.1如果代理节点没有收到任何响应消息,则通知用户节点当前没有满足要求的可用节点,然后终止查询过程;

3.4.2如果代理节点收到了可用节点的响应消息,则转3.5;

3.5代理节点以发回响应的可用节点的标识为参数,向信誉管理节点查询该可用节点的信誉值Tp,然后使用如下公式计算所有做出响应节点的服务推荐值:

φ(tp,Tp,MU,Mshare)=eTp-δtp·MshareMU+Mshare---(1)

其中:0.8<δ<1为常数,tp为该可用节点的内存响应时间,Mshare为该可用节点所能提供的内存共享容量,MU为用户节点需要请求的内存容量。

第四步,预约内存服务:

代理节点选择发回响应的可用节点中服务推荐值最高的节点,构造并发送服务预约消息,服务预约消息包含的信息为一个四元组:

(IDU,MU,T1,T2)。

其中:IDU为用户节点的标识,MU为用户节点需要请求的内存容量,T1为用户节点请求的最小内存服务持续时间,T2为可用节点能够提供的最大服务持续时间。可用节点收到消息后,与用户节点建立连接,开始提供内存服务(此时可用节点状态变为内存节点)。

设t为内存服务的实际持续时间,则记此次内存服务的总量为

其中M0=64MB为最小内存容量单位,T0=1000ms为最小服务持续时间单位,|x|表示对x进行上取整。

第五步,提交服务评价:

内存服务结束后,用户节点就内存服务向信誉管理节点提交服务评价。服务评价为一个二元组E=<S,F>,其左侧值S表示用户节点对内存服务的满意值,右侧值F表示用户节点对内存服务的不满意值。E的具体取值方式如下:

5.1如果内存服务被用户节点终止,E=<C(Mshare,max(t,T1)),0>;

5.2如果内存服务被内存节点终止,则:

5.1.1如果t<T1,E=<0,C(Mshare,T1)>;

5.1.2如果t≥T2,E=<C(Mshare,T2),0>;

5.1.3如果T1≤t<T2,E=<0,0>。

5.3如果内存服务终止,但不属于5.1和5.2两种情况,

E=<0,C(Mshare,max(t,T1))>;

第六步,更新信誉值:

信誉管理节点收到服务评价后,计算更新所有节点的信誉值,方法如下:

6.1对于有n个节点的P2P-RAM网络,对节点以数字1,2,...,n编号。

6.2对每个节点i=1,2,...,n,计算向量ci=[ci1,ci2,...,cin]T,其中

cij=max{wij,0}Σj=1nmax{wij,0},

wij(j=1,2,...,n)为节点i对节点j的所有服务评价的左侧值S之和减去右侧值F之和;特别地,当i=j时,取wii=0;

6.3令使用如下公式迭代计算每个节点的信誉值

t(k+1)=CTt(k)

其中为第k次迭代后每个节点的信誉值所构成的向量,k为正整数,CT=[c1,c2,...,cn]。迭代终止条件为

max1jn|t(k+1)-t(k)|<ϵ,

其中ε为最大可接受误差,ε=0.01(可根据实际情况有所调整)。迭代终止后,最终的t(k+1)的各分量即为每个节点的信誉值。

采用本发明可以达到以下有益效果:

(1)基于信誉值选择高质量的内存服务,避免了随机匹配导致的计算任务失效率高的问题,提高了系统整体的可用性;

(2)该方法充分利用P2P-RAM网络中节点自治的特点,基于第三步和第四步的服务查找和预约,实现了具有协商特征的服务选择,确保了服务需求与服务能力的有效匹配;

(3)通过引入内存服务的量化公式(公式(2))和服务预约机制,解决了内存服务难以有效量化的问题,为计算P2P-RAM网络中节点的信誉值奠定了基础。通过计算P2P-RAM网络中节点的信誉值,能够有效区分节点的服务质量。

附图说明

图1是P2P-RAM网络中的节点状态的转换关系;

图2是本发明总体流程图。

具体实施方式

图1是P2P-RAM网络中的节点角色(状态)转换关系。

随着系统的运行,节点状态也会发生不断的改变,中间节点是各种节点状态的转换中枢,各类节点都可能转变为中间节点,同时中间节点也有可能转变为其它各类节点。具体来说:

(1)用户节点停止使用内存服务后,状态转变为中间节点;反之,若中间节点的内存需求上升,需要其他节点提供的内存服务,则转变为用户节点;

(2)内存节点当自身的内存需求提升时,将终止对外提供内存服务,转变为中间节点;

(3)代理节点不为用户节点提供服务查询功能时,可随机转变为中间节点;

(4)可用节点若自身内存需求上升,不再能对外提供内存服务时,状态转变为中间节点;反之,若中间节点内存需求下降,能够提供内存服务供可用节点使用,则转变为可用节点;

(5)若可用节点被某个用户节点选择作为内存服务的查询代理,则转变为代理节点;代理节点提供服务查询结束后,将再次转变为可用节点;

(6)可用节点开始为用户节点提供内存服务后,将转变为内存节点;反之,当内存服务结束后,将再次转变为可用节点。

图2是本发明总体流程图。

具体流程如下:

第一步,指定P2P-RAM网络中的一个节点为信誉管理节点。

第二步,信誉值初始化:信誉管理节点为每个节点设置初始信誉值;

第三步,查找内存服务:

3.1用户节点选择某个代理节点,向其发送需要请求的内存容量MU和最小的内存服务持续时间T1

3.2代理节点以MU和T1为参数,以广播方式向其他节点发送服务查询,然后等待接收响应;

3.3其他节点收到消息后,根据自身状态和当前内存使用情况选择相应操作:

3.3.1如果节点当前状态不是“可用节点”,转3.3.3;

3.3.2如果节点当前状态为“可用节点”,判断当前自身可用内存容量是否大于等于用户节点请求的内存容量。如果结果为否,转3.3.3;反之,继续判断能否提供超过最小服务时间的持续服务,如果结果为否,转3.3.3;否则,转3.3.4;

3.3.3丢弃消息,不做出任何响应;

3.3.4当前节点以自身标识IDp、内存响应时间tp、所能提供的内存共享容量Mshare及最大服务持续时间T2为参数构造消息,向代理节点发送响应;

3.4代理节点检查是否有可用节点对服务查询做出响应,并采取相应操作:

3.4.1如果没有收到任何响应,则通知用户节点当前没有满足要求的可用节点,然后终止查询过程;

3.4.2如果代理节点收到了可用节点的响应消息,则转3.5;

3.5代理节点以发回响应的可用节点的标识为参数,向信誉管理节点查询该节点的信誉值Tp,然后使用公式(1)计算所有做出响应节点的服务推荐值。

第四步,预约内存服务:

代理节点选择服务推荐值最高的可用节点,构造并发送服务预约消息。可用节点收到消息后,与用户节点建立连接,开始提供内存服务(此时可用节点状态变为内存节点)。

第五步,提交服务评价:

内存服务结束后,用户节点向信誉管理节点提交对本次内存服务的服务评价。

第六步,更新信誉值:

信誉管理节点综合所有的服务评价,计算更新每个节点的信誉值。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号