一种跨层P2P资源共享网络带宽公平分配算法的制作方法

文档序号:11254043阅读:550来源:国知局
一种跨层P2P资源共享网络带宽公平分配算法的制造方法与工艺

本发明涉及计算机网络技术领域,尤其是一种基于价格机制的跨层p2p资源共享网络带宽公平分配算法。



背景技术:

p2p网络是一种通过整合网络边缘的存储、计算、文件等各类资源从而实现资源共享的系统。不同于传统的客户/服务器模式,p2p采取了分布式资源共享的工作模式,网络中每个节点都可以为整个网络贡献资源,如提供文件共享与下载。因此,随着网络中节点的增多,网络可提供的服务能力也会增加,系统规模的增大反而容易满足用户获取资源的需求。

p2p资源共享网络中,一个需求资源的节点可以由多个其他节点提供服务,从而克服了集中式服务器的局限性,极大地提高了网络资源的使用效率,改善了需求网络资源的用户的服务质量。目前,已有成熟的软件实现了p2p网络资源共享与下载,如bt(bittoitent)、emuie(verycd)、迅雷(thunder)等软件通过提供丰富的影像、文件、图书资料等资源以及良好的用户体验,吸引了庞大的用户群体,从而实现了大范围内的资源共享。

p2p资源共享网络中,每个节点在获取其他节点提供的服务时,都想最大化自己的下载带宽,从而提高自己的用户体验和满意度。因此,如何将提供资源服务的节点的上传带宽在服务请求者之间进行公平分配就变得非常重要。目前也有相关文献提出p2p资源共享网络的带宽分配方案。例如,中国专利申请号201510778746.x,公开日2016.03.30,名称为“一种基于价格机制的p2p文件共享网络中带宽分配算法”的专利,设计了一类基于价格机制的p2p文件共享网络中带宽分配算法,用于实现资源提供者的上传带宽在资源需求者间的公平分配。中国专利申请号2016100813716,公开日2016.06.29,名称为“基于效用优化的p2p文件共享网络带宽公平分配算法”的专利,设计了基于效用优化的p2p文件共享网络带宽公平分配算法,可以实现耦合型和非耦合型的带宽资源分配效用优化问题的最优点。

在学术论文方面,《东南大学学报(自然科学版)》2008第s1期“一种基于博弈论的对等网络带宽分配方案”为解决对等网络中多个异构下载节点从多个源节点下载的带宽分配问题,提出一种基于注水算法及能够容纳自私节点的对等网络带宽分配方案。《计算机应用》2015第6期“基于网络编码的对等网流媒体网络中优化的带宽分配策略”针对采用了网络编码技术的p2p流媒体系统应用,提出一种基于负载转移的节点带宽资源均衡策略,尽可能避免节点选择邻居节点并请求带宽资源的随意性形成的节点过载。《计算机应用》2015第9期“基于纳什议价的对等网络资源分配”提出了保证节点最小服务质量的一种基于纳什议价的资源分配方案,得到合作节点比非合作节点获得更多的资源,而且证明了合作博弈中节点的相对议价权力越大,节点获得的资源越多,收益越大。

上述文献基本上都是从对等网络应用层角度设计带宽分配算法、流量控制算法和资源管理算法等,并没有考虑这些带宽分配算法如何与现有骨干网络如ip网络融合,即没有将应用层的带宽分配算法与ip网络中流量控制结合起来。实际上,p2p应用已经成为ip网络资源的最大消耗者,很大程度上超过了web、e-mail、ftp等的数据流量而成为骨干网络的主要负担,甚至会引起网络拥塞,从而降低和影响其它业务的性能。本专利将对等网络的带宽公平分配和ip网络链路带宽分配结合起来,实现了p2p网络和ip网络的跨层带宽分配,在满足对等网络中节点资源共享和下载的同时,有效控制骨干网中的流量,避免骨干网络拥塞,提高网络性能。



技术实现要素:

本发明目的在于提供一种分配公平合理、节点资源有效共享和下载、同时又能控制骨干网络流量的跨层p2p资源共享网络带宽公平分配算法。

为实现上述目的,采用了以下技术方案:本发明算法主要包括p2p对等网络、服务请求者s、服务提供者p及ip网络链路l:

本发明所述算法步骤如下:

步骤1,在p2p对等网络中,提供下载业务的服务提供者p初始化带宽分配,在t时刻为每一个服务请求者s初始化分配的带宽xps[t];

步骤2,若此时带宽分配xps[t]已经是资源分配模型的最优点,则算法结束,服务提供者p按照此速率向服务请求者s传输数据;若此时带宽分配xps[t]不是资源分配模型的最优点,则进行下一步骤;

步骤3,在t时刻,每一个服务请求者s根据各个服务提供者p为其分配的带宽xps[t],计算服务请求者s得到的聚合带宽ys[t];

式中,s是服务请求者;p是服务提供者;p(s)是为服务请求者s提供下载业务的服务提供者集合;

步骤4,在t时刻,每一个服务请求者s根据其得到的聚合带宽ys[t],计算其应该支付给整个网络的价格λs[t];

式中,ws是服务请求者s支付的费用;ε>0是一个小的正数,避免服务请求者s支付的价格λs[t]过大;

步骤5,在t时刻,ip网络中的链路l初始化链路l收取的价格μl[t];

步骤6,ip网络中的链路l根据途经链路的流量xps[t]计算得到该链路上的聚合流量zl[t];

式中,s(p)是服务提供者p提供下载业务的所有服务请求者的集合;p是所有服务提供者的集合;xps[t]是服务提供者p为服务请求者s分配的带宽,是0-1函数,若服务提供者p为服务请求者s提供服务时的流量经过链路l,则为1,否则为0;

步骤7,链路l根据该链路上的聚合流量zl[t]与其本身的链路带宽cl,调整在t+1时刻其收取的价格μl[t+1];

式中,β>0是迭代步长;cl是链路l的带宽;

意味着,

若μl[t]>0,则

若μl[t]=0,则

步骤8,服务请求者s根据支付给网络的价格λs[t]和ip网络中链路l收取的价格μl[t],计算得到应支付给服务提供者p的实际价格γps[t];

式中,l(p,s)是从服务提供者p到服务请求者s的路径,该路径是链路集合l的非空子集,若链路l在路径l(p,s)上,则否则价格γps[t]是服务请求者s支付给网络的价格λs[t]与从服务提供者p到服务请求者s的传输路径收取的价格之差;

步骤9,服务提供者p根据为每一个服务请求者d分配的带宽xpd[t],及每一个服务请求者d支付给服务提供者p的价格γpd[t],计算得到服务提供者p的期望价格ξp[t];

式中,s(p)是服务提供者p提供下载业务的所有服务请求者的集合;xpd[t]是服务提供者p为服务请求者d分配的带宽;γpd[t]是服务请求者d支付给服务提供者p的实际价格;cp是服务提供者p的上传带宽;

步骤10,服务提供者p根据为每一个服务请求者s分配的带宽xps[t],及每一个服务请求者s支付给服务提供者p的价格γps[t],及服务提供者p的期望价格ξp[t],调整t+1时刻为服务请求者s分配的带宽xps[t+1]

式中,α>0是迭代步长;xps[t]是服务提供者p为服务请求者s分配的带宽;是对时刻t带宽分配xps[t]的估值;是对服务提供者p为服务请求者s分配的带宽xps[t+1]的估值;θ是低通滤波因子,且0<θ<1,消除最优点不唯一而引起的算法波动问题;

意味着

若xps[t]>0,则

若xps[t]=0,则

步骤11,各个服务提供者p根据上述步骤迭代直至达到最优点,即服务提供者上传带宽在服务请求者间的最优分配;

步骤12,如果网络中有新的服务提供者或服务请求者加入,或者原有的服务提供者或服务请求者退出,则上述迭代过程重新进行直至达到新的最优点。

与现有技术相比,本发明方法具有如下优点:

1、能够有效收敛到p2p资源共享网络中服务提供者的上传带宽分配的最优点,实现服务提供者的上传带宽在服务请求者之间的公平分配。

2、考虑了p2p网络与ip骨干网络的融合,实现了基于跨层优化思想的带宽最优分配,在满足对等网络中节点资源共享和下载的同时,有效控制骨干网中的流量,避免骨干网络拥塞,提高网络性能。

附图说明

图1是本发明算法的步骤流程图。

图2本发明算法的6个用户网络拓扑结构图。

图3是图2中服务请求者s1获得的最优带宽分配图。

图4是图2中服务请求者s2获得的最优带宽分配图。

图5是图2中服务请求者s3获得的最优带宽分配图。

图6是图2中服务请求者s4获得的最优带宽分配图。

图7是不同网络规模时的网络聚合效用图。

具体实施方式

下面结合附图对本发明做进一步说明:

本发明算法主要包括p2p对等网络、服务请求者s、服务提供者p及ip网络链路l,在p2p对等网络中,服务请求者s要获得服务提供者p提供的服务,如文件共享与下载等,为此服务提供者p就要为服务请求者s分配其上传带宽,并通过现有ip网络完成数据传输服务。服务提供者p根据服务请求者s支付的价格和链路l收取的价格,计算得到服务提供者p为服务请求者s分配的最优带宽。

所述算法步骤如下:

步骤1,在p2p对等网络中,提供下载业务的服务提供者p初始化带宽分配,在t时刻为每一个服务请求者s初始化分配的带宽xps[t];

步骤2,若此时带宽分配xps[t]已经是资源分配模型的最优点,则算法结束,服务提供者p按照此速率向服务请求者s传输数据;若此时带宽分配xps[t]不是资源分配模型的最优点,则进行下一步骤;

步骤3,在t时刻,每一个服务请求者s根据各个服务提供者p为其分配的带宽xps[t],计算其得到的聚合带宽ys[t];

式中,s是服务请求者;p是服务提供者;p(s)是为服务请求者s提供下载业务的服务提供者集合。

步骤4,在t时刻,每一个服务请求者s根据其得到的聚合带宽ys[t],计算其应该支付给整个网络的价格λs[t];

式中,ws是服务请求者s支付的费用;ε>0是一个小的正数,从而避免服务请求者s支付的价格λs[t]过大。

步骤5,在t时刻,ip网络中的链路l初始化其收取的价格μl[t];

步骤6,ip网络中的链路l根据途经其链路的流量xps[t]计算得到该链路上的聚合流量zl[t];

式中,s(p)是服务提供者p提供下载业务的所有服务请求者的集合;p是所有服务提供者的集合;xps[t]是服务提供者p为服务请求者s分配的带宽,是0-1函数,若服务提供者p为服务请求者s提供服务时的流量经过链路l,则为1,否则为0。

步骤7,链路l根据该链路上的聚合流量zl[t]与其本身的链路带宽cl,调整在t+1时刻其收取的价格μl[t+1];

式中,β>0是迭代步长;cl是链路l的带宽;

意味着,

若μl[t]>0,则

若μl[t]=0,则

步骤8,服务请求者s根据其支付给网络的价格λs[t]和ip网络中链路l收取的价格μl[t],计算得到应支付给服务提供者p的实际价格γps[t];

式中,l(p,s)是从服务提供者p到服务请求者s的路径,该路径是链路集合l的非空子集,若链路l在路径l(p,s)上,则否则价格γps[t]是服务请求者s支付给网络的价格λs[t]与从服务提供者p到服务请求者s的传输路径收取的价格之差。

步骤9,服务提供者p根据为每一个服务请求者d分配的带宽xpd[t],及每一个服务请求者d支付给服务提供者p的价格γpd[t],计算得到服务提供者p的期望价格ξp[t];

式中,s(p)是服务提供者p提供下载业务的所有服务请求者的集合;xpd[t]是服务提供者p为服务请求者d分配的带宽;γpd[t]是服务请求者d支付给服务提供者p的实际价格;cp是服务提供者p的上传带宽。

步骤10,服务提供者p根据为每一个服务请求者s分配的带宽xps[t],及每一个服务请求者s支付给服务提供者p的价格γps[t],及服务提供者p的期望价格ξp[t],调整t+1时刻为服务请求者s分配的带宽xps[t+1]

式中,α>0是迭代步长;xps[t]是服务提供者p为服务请求者s分配的带宽;是对时刻t带宽分配xps[t]的估值;是对服务提供者p为服务请求者s分配的带宽xps[t+1]的估值;θ是低通滤波因子,且0<θ<1,能够有效消除最优点不唯一而引起的算法波动问题;

意味着

若xps[t]>0,则

若xps[t]=0,则

步骤11,各个服务提供者p根据上述步骤迭代直至达到最优点,即服务提供者上传带宽在服务请求者间的最优分配;

步骤12,如果网络中有新的服务提供者或服务请求者加入,或者原有的服务提供者或服务请求者退出,则上述迭代过程重新进行直至达到新的最优点。

本发明方法将应用层的带宽分配算法与ip网络中流量控制结合起来。实际上,p2p应用已经成为ip网络资源的最大消耗者,很大程度上超过了web、e-mail、ftp等的数据流量而成为骨干网络的主要负担,甚至会引起网络拥塞,从而降低和影响其它业务的性能。本发明方法将对等网络的带宽公平分配和ip网络链路带宽分配结合起来,实现基于跨层优化的网络带宽公平分配方案,在满足对等网络中节点资源共享和下载的同时,有效控制骨干网中的流量,避免骨干网络拥塞,提高网络性能。

跨层p2p资源分配模型实际上是一个跨层优化问题,同时研究了应用层的流量控制和传输层的拥塞控制两个问题。这里包含了三个不同实体,分别为服务请求者(即客户端)、服务提供者(即服务器)和服务承载者(即链路)。

跨层p2p资源分配模型为:

p2p+ip:

式中,s是服务请求者(即客户端);p是服务提供者(即服务器);l是网络中的服务承载者(即链路);s是服务请求者的集合;p是服务提供者的集合;l是网络中链路的集合;p(s)是为服务请求者s提供下载业务的服务提供者集合;s(p)是服务提供者p提供下载业务的所有服务请求者的集合;xps是服务请求者s从服务提供者p处获得的带宽,则服务请求者s获得的总带宽就是ys,同时,服务提供者p为所有服务请求者提供的带宽之和不超过其自身的上传带宽cp;而cl是链路l的带宽,是0-1函数,若服务提供者p为服务请求者s提供服务时的流量经过链路l,则为1,否则为0;us(ys)是服务请求者s的效用函数,代表服务请求者s获得下载带宽ys后的满意度,为了实现服务提供者的上传带宽在服务请求者之间的公平分配,这里选择us(ys)=wslogys,其中wr描述了服务请求者s愿意支付的费用,该效用函数实现了服务提供者的上传带宽在服务请求者之间分配的比例公平性。

在多源下载的p2p业务中,一个服务请求者可以从多个服务提供者处下载同一文件,因此形成了目的地是同一个服务请求者的多个数据流,而每个数据流都有自己的传输路径。为此,定义从服务提供者p到服务请求者s的路径为l(p,s),该路径是链路集合l的非空子集,若链路l在路径l(p,s)上,则l∈l(p,s),否则

这里,最大化所有服务请求者的聚合效用是整个p2p网络的目标,该问题存在服务提供者的上传带宽和网络链路的传输带宽的约束条件,对于上述的效用函数us(ys)=wslogys,则该资源分配问题对于变量ys是严格凸优化问题,每个服务请求者s均存在全局最优的聚合带宽值而对于变量xps则不是严格凸优化的,每个服务请求者s会存在多个不同的最优带宽分配

上述资源分配问题的拉格朗日函数为

式中,λs、νp和μl都是拉格朗日因子,np和ml是松弛变量。此处,拉格朗日因子可解释为网络中单位带宽的价格,则λs是服务请求者s所支付的单位带宽价格,νp是服务提供者p收取的单位带宽价格,μl是链路l收取的单位带宽价格。

对上述拉格朗日函数分解可以得到三个子问题:

client(s)

maxus(ys)-λsys

overys≥0,s∈s

server(p)

overxps≥0,s∈s,p∈p

link(l)

maxμl(cl-ml)

overμl≥0,l∈l

可以从经济学的角度给出上述三个子问题的实际含义:

子问题client(s):由于p2p网络中每个服务请求者都是自私的,都想使得自己的效用达到最大,而效用的大小依赖于它所获得的聚合带宽ys。同时,服务请求者在获得相应带宽时,要支付其使用该带宽的费用。由于λs可以理解为用户支付的每单位带宽的费用,那么us(ys)-λsys就是服务请求者s获得的收益,即用户获得的效用与支付的费用之间的差值。

子问题server(p):λsxps是服务请求者s在获得服务提供者p提供的带宽为xps时而支付的费用。∑l:l∈l(p,s)μl是从服务提供者p到服务请求者s的路径l(p,s)收取的价格,xps∑l:l∈l(p,s)μl就是该路径为服务请求者s承载传输服务而收取的费用。该子问题的实际含义就是,在自身上传带宽一定的前提下,最大化为服务请求者提供文件下载服务而获得的收益。

子问题link(l):松弛因子ml是链路l的剩余带宽,则cl-ml就是已经分配给各个服务请求者s用于传输数据而使用的带宽。由于μl是链路l收取的每单位带宽的价格,因此μl(cl-ml)就是链路l的收益。

收敛性分析

收敛性是衡量算法性能的重要指标。本发明方法首先考虑了2个服务提供者p1、p2,4个服务请求者s1、s2、s3、s4的情形,如图2所示,服务提供者p1、p2的上传带宽分别为20mbps,25mbps,ip骨干网络中链路带宽为1000mbps,服务请求者s1、s2、s3、s4的支付费用分别为5,10,15,20,算法步长α=β=0.05,滤波因子θ=0.2,参数ε=0.01。

本发明分析了服务提供者的上传带宽在服务请求者之间的公平分配,各仿真结果如图3、4、5、6所示,例如在图6中,当迭代次数仅为50次时,算法就已经收敛到了最优点,此时服务提供者p1为服务请求者s4分配的最优带宽为8.1704mbps,服务提供者p2为服务请求者s4分配的最优带宽为9.8296mbps,而服务请求者s4获得的最优总带宽为18mbps。因此,算法能够在有限的迭代次数内有效的收敛到资源分配模型的最优点。

接下来分析当网络中节点数量增多时算法的性能,此时服务提供者的上传带宽均为20mbps,服务请求者提供的支付费用均为10,仿真结果如图7所示。可以发现,随着网络规模(网络中服务请求者和服务提供者数量)的增大,算法仍能有效收敛到资源分配模型的最优点。

以上所述的实施例仅仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。

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