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

文档序号:7753064阅读:150来源:国知局
专利名称:P2p内存资源共享网络中基于信誉的服务匹配方法
技术领域
本发明涉及基于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, Μ. Τ.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和最小的内存服务持续时间Tl ;3. 2代理节点以仏和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、所能提供的内存共享容量Msh_及最 大服务持续时间T2为参数,向代理节点发送响应;3. 4接收倒计时结束(即等待时间超过最大接收等待时间)后,代理节点终止接收 过程,检查是否有可用节点对服务查询做出响应,并采取相应操作3. 4. 1如果代理节点没有收到任何响应消息,则通知用户节点当前没有满足要求 的可用节点,然后终止查询过程;3. 4. 2如果代理节点收到了可用节点的响应消息,则转3. 5 ;3. 5代理节点以发回响应的可用节点的标识为参数,向信誉管理节点查询该可用 节点的信誉值Tp,然后使用如下公式计算所有做出响应节点的服务推荐值
eT" - S MΦ( ρ,τρΜυ Mshare) = -λΛ shZ⑴
tp Mu+Mshare其中0. 8 < δ < 1为常数,tp为该可用节点的内存响应时间,Msh_为该可用节 点所能提供的内存共享容量,Mu为用户节点需要请求的内存容量。第四步,预约内存服务代理节点选择发回响应的可用节点中服务推荐值最高的节点,构造并发送服务预 约消息,服务预约消息包含的信息为一个四元组
(IDipMipTpT2)0其中JDu为用户节点的标识,Mu为用户节点需要请求的内存容量,T1为用户节点 请求的最小内存服务持续时间,T2为可用节点能够提供的最大服务持续时间。可用节点收 到消息后,与用户节点建立连接,开始提供内存服务(此时可用节点状态变为内存节点)。设t为内存服务的实际持续时间,则记此次内存服务的总量为 其中Mtl = 64MB为最小内存容量单位,Ttl = IOOOms为最小服务持续时间单位,χ 表示对χ进行上取整。第五步,提交服务评价内存服务结束后,用户节点就内存服务向信誉管理节点提交服务评价。服务评价 为一个二元组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对于有η个节点的P2P-RAM网络,对节点以数字1,2,. . .,η编号。6. 2 对每个节点 i = 1,2,···,n,计算向量4 = [cn,Ci2,· · ·,cin]T,其中 WijU = 1,2,... ,η)为节点i对节点j的所有服务评价的左侧值S之和减去右侧 值F之和;特别地,当i = j时,取Wii = 0 ;6. 3令 (°〕= -[1,1,...,If,使用如下公式迭代计算每个节点的信誉值
ηt(k+1) = CTt(k),其中产=[牝4”,...乂 为第k次迭代后每个节点的信誉值所构成的向量,k为正 整数,Ct = [ci; C2, ... , cn]。迭代终止条件为max|^+1)-iw其中ε为最大可接受误差,ε = 0. 01 (可根据实际情况有所调整)。迭代终止 后,最终的t(k+1)的各分量即为每个节点的信誉值。采用本发明可以达到以下有益效果
(1)基于信誉值选择高质量的内存服务,避免了随机匹配导致的计算任务失效率 高的问题,提高了系统整体的可用性;(2)该方法充分利用P2P-RAM网络中节点自治的特点,基于第三步和第四步的 服务查找和预约,实现了具有协商特征的服务选择,确保了服务需求与服务能力的有效匹 配;(3)通过引入内存服务的量化公 式(公式⑵)和服务预约机制,解决了内存服务 难以有效量化的问题,为计算P2P-RAM网络中节点的信誉值奠定了基础。通过计算P2P-RAM 网络中节点的信誉值,能够有效区分节点的服务质量。


图1是P2P-RAM网络中的节点状态的转换关系;图2是本发明总体流程图。
具体实施例方式图1是P2P-RAM网络中的节点角色(状态)转换关系。随着系统的运行,节点状态也会发生不断的改变,中间节点是各种节点状态的转 换中枢,各类节点都可能转变为中间节点,同时中间节点也有可能转变为其它各类节点。具 体来说(1)用户节点停止使用内存服务后,状态转变为中间节点;反之,若中间节点的内 存需求上升,需要其他节点提供的内存服务,则转变为用户节点;(2)内存节点当自身的内存需求提升时,将终止对外提供内存服务,转变为中间节占.
^ \\\ (3)代理节点不为用户节点提供服务查询功能时,可随机转变为中间节点;(4)可用节点若自身内存需求上升,不再能对外提供内存服务时,状态转变为中间 节点;反之,若中间节点内存需求下降,能够提供内存服务供可用节点使用,则转变为可用 节占.
I— /、、、 (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、所能提供的内存共享容量Msh_ 及最大服务持续时间T2为参数构造消息,向代理节点发送响应;3. 4代理节点检查是否有可用节点对服务查询做出响应,并采取相应操作3. 4. 1如果没有收到任何响应,则通知用户节点当前没有满足要求的可用节点,然 后终止查询过程;3. 4. 2如果代理节点收到了可用节点的响应消息,则转3. 5 ;3. 5代理节点以发回响应的可用节点的标识为参数,向信誉管理节点查询该节点 的信誉值Tp,然后使用公式(1)计算所有做出响应节点的服务推荐值。第四步,预约内存服务代理节点选择服务推荐值最高的可用节点,构造并发送服务预约消息。可用节 点收到消息后,与用户节点建立连接,开始提供内存服务(此时可用节点状态变为内存节 点)o第五步,提交服务评价内存服务结束后,用户节点向信誉管理节点提交对本次内存服务的服务评价。第六步,更新信誉值信誉管理节点综合所有的服务评价,计算更新每个节点的信誉值。
权利要求
一种P2P内存资源共享网络中基于信誉的服务匹配方法,其特征在于包括以下步骤第一步,采用EigenTrust信誉管理系统的设计方案指定P2P-RAM网络中一个节点为信誉管理节点,信誉管理节点不参与任何提供或使用内存服务的行为,而是为P2P-RAM网络内其他所有节点提供三类服务(1)接收用户节点提交的服务评价信息,并加以存储;(2)存储并定时更新所有节点的信誉值;(3)为所有节点提供信誉值的查询功能;第二步,信誉值初始化信誉管理节点将所有节点的初始信誉值设置为0.5;第三步,查找内存服务3.1用户节点在P2P-RAM网络中随机选择某个代理节点,向其发送需要请求的内存容量MU和最小的内存服务持续时间T1;3.2代理节点以MU和T1为参数,采用广播方式向P2P-RAM网络中不包括第一步所述信誉管理节点和3.1所述用户节点和代理节点的其他节点发送服务查询,然后设置最大接收等待时间,开始倒计时并等待接收响应;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,然后使用如下公式计算所有做出响应节点的服务推荐值 <mrow><mi>&phi;</mi><mrow> <mo>(</mo> <msub><mi>t</mi><mi>p</mi> </msub> <mo>,</mo> <msub><mi>T</mi><mi>p</mi> </msub> <mo>,</mo> <msub><mi>M</mi><mi>U</mi> </msub> <mo>,</mo> <msub><mi>M</mi><mi>share</mi> </msub> <mo>)</mo></mrow><mo>=</mo><mfrac> <mrow><msup> <mi>e</mi> <msub><mi>T</mi><mi>p</mi> </msub></msup><mo>-</mo><mi>&delta;</mi> </mrow> <msub><mi>t</mi><mi>p</mi> </msub></mfrac><mo>&CenterDot;</mo><mfrac> <msub><mi>M</mi><mi>share</mi> </msub> <mrow><msub> <mi>M</mi> <mi>U</mi></msub><mo>+</mo><msub> <mi>M</mi> <mi>share</mi></msub> </mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo></mrow> </mrow>其中0.8<δ<1为常数,tp为该可用节点的内存响应时间,Mshare为该可用节点所能提供的内存共享容量,MU为用户节点需要请求的内存容量;第四步,预约内存服务代理节点选择发回响应的可用节点中服务推荐值最高的节点,构造并发送服务预约消息,服务预约消息包含的信息为一个四元组(IDU,MU,T1,T2),其中IDU为用户节点的标识,MU为用户节点需要请求的内存容量,T1为用户节点请求的最小内存服务持续时间,T2为可用节点能够提供的最大服务持续时间;可用节点收到消息后,与用户节点建立连接,开始提供内存服务;设t为内存服务的实际持续时间,则此次内存服务的总量为其中M0为最小内存容量单位,T0为最小服务持续时间单位,表示对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,计算向量ci=[ci1,ci2,...,cin]T,其中 <mrow><msub> <mi>c</mi> <mi>ij</mi></msub><mo>=</mo><mfrac> <mrow><mi>max</mi><mo>{</mo><msub> <mi>w</mi> <mi>ij</mi></msub><mo>,</mo><mn>0</mn><mo>}</mo> </mrow> <mrow><munderover> <mi>&Sigma;</mi> <mrow><mi>j</mi><mo>=</mo><mn>1</mn> </mrow> <mi>n</mi></munderover><mi>max</mi><mo>{</mo><msub> <mi>w</mi> <mi>ij</mi></msub><mo>,</mo><mn>0</mn><mo>}</mo> </mrow></mfrac><mo>,</mo> </mrow>wij为节点i对节点j的所有服务评价的左侧值S之和减去右侧值F之和;1≤i≤n,1≤j≤n;当i=j时,取wii=0;6.3令使用如下公式迭代计算每个节点的信誉值t(k+1)=CTt(k),其中为第k次迭代后每个节点的信誉值所构成的向量,k为正整数,CT=[c1,c2,...,cn];迭代终止条件为 <mrow><munder> <mi>max</mi> <mrow><mn>1</mn><mo>&le;</mo><mi>j</mi><mo>&le;</mo><mi>n</mi> </mrow></munder><mo>|</mo><msup> <mi>t</mi> <mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo> </mrow></msup><mo>-</mo><msup> <mi>t</mi> <mrow><mo>(</mo><mi>k</mi><mo>)</mo> </mrow></msup><mo>|</mo><mo>&lt;</mo><mi>&epsiv;</mi><mo>,</mo> </mrow>其中ε为最大可接受误差,ε=0.01;迭代终止后,最终的t(k+1)的各分量即为每个节点的信誉值。FDA0000022970070000021.tif,FDA0000022970070000022.tif,FDA0000022970070000031.tif,FDA0000022970070000032.tif
2.如权利要求1所述的一种P2P内存资源共享网络中基于信誉的服务匹配方法,其特 征在于所述最大接收等待时间为5秒。
3.如权利要求1所述的一种P2P内存资源共享网络中基于信誉的服务匹配方法,其特 征在于所述 Mq = 64MB, T0 = 1000ms。
全文摘要
本发明公开了一种P2P内存资源共享网络中基于信誉的服务匹配方法,目的是解决现有P2P-RAM网络无法有效区分节点服务质量差异,导致计算任务成功率低下的问题。技术方案是指定P2P-RAM网络中一个节点为信誉管理节点,对所有节点的信誉值初始化;用户节点通过代理节点查找内存服务,向信誉管理节点查询可用节点的信誉值,计算所有做出响应节点的服务推荐值;代理节点选择可用节点中服务推荐值最高的节点,构造并发送服务预约消息;内存服务结束后,用户节点就内存服务向信誉管理节点提交服务评价;信誉管理节点收到服务评价后,更新所有节点的信誉值。采用本发明可选择高质量的内存服务,避免计算任务失效率高的问题,提高系统整体可用性。
文档编号H04L29/08GK101860574SQ20101021589
公开日2010年10月13日 申请日期2010年7月2日 优先权日2010年7月2日
发明者唐扬斌, 李东升, 王怀民, 王意洁, 褚瑞, 金晗婧 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1