摘要:搭便车行为对对等网络造成严重负面影响。首先提出了一种基于等级概念的网络激励机制以抑制搭便车行为并解决公共悲剧问题。所提出的效用函数为公平性特别考虑了用户的绝对贡献值和物理特性,并根据层次分析法来计算它们的值。通过实验仿真证明了此种机制的有效性和实用性,并对此机制的发展给出了展望。
0引言
对等(peertopeer,简称P2P)系统简单地定义为通过直接交换共享计算机资源和服务,不同PC用户之间不经过中继设备直接交换数据或服务的技术,它允许互联网用户直接使用对方的文件,使得网络上的沟通变得容易、更直接,真正地消除了中间商。
从计算模式上来说,P2P打破了传统的Client/Server(C/S) 模式[1],在网络中的每个节点的地位都是对等的。每个节点既充当服务器,为其他节点提供服务,同时也享用其他节点提供的服务。
搭便车(freeriding)行为是对等网络节点用户具有自私心理作用下的一种结果。参考文献[2]归纳出了如下搭便车的主要不良影响:
(1)对等网络中在线节点越多,热心节点的负担越大,可能导致热心节点因长期过载而宕机或主动退出;
(2)多数节点的搭便车行为会降低对等网络的生命周期;
(3)如果搭便车现象过于严重,对等网络将趋近于C/S通信模式。
为了抑制搭便车行为,本文提出了一种基于等级概念的激励机制[3],通过限制节点下载文件的权限来鼓励节点多做贡献。在此抑制机制中,每个节点都是独立的,并且能够通过计算自己分享文件的等级来控制它的服务节点数量,从而解决公共悲剧问题[4]。
1基于等级结构的搭便车行为抑制机制的提出
首先给出这种新的激励机制在P2P网络中的工作过程。
1.1激励机制工作过程
此激励机制的工作过程分为以下3部分:
(1)每个节点共享文件并且设置所共享文件等级。
(2)系统中的用户只能下载等于或低于自己等级的文件。
(3)当用户进入系统时,系统就会自动更新用户的物理特性,而只要用户一直待在系统中,每隔几小时,系统就会更新它的绝对供给值,然后更新用户的等级。此外,当一个新用户加入系统时,系统定义它的等级最低。
上述的过程说明首先要计算出绝对贡献值和物理特性值,然后根据它们得出新的效用函数,最后建立等级结构并找出效用函数与等级之间的对应关系。
1.2节点绝对供献值评估
一个节点在一段时间内对系统所做的绝对供给涉及8个因素:节点共享文件的数量、节点已下载文件的数量、节点已上传文件数量、节点已下载数据的大小、节点已上传数据的大小、节点已上传文件大小、文件被共享次数、节点登录系统次数,即:ni_share、ni_down、ni_up、Si_share、Si_down、Si_up、ti、Logi。
节点的绝对贡献值就是它的供给值(φi)与利益值(ψi)两者之差,即:
ξi=αφi-ψi(1)
其中,α是个变量系数。节点的供给值就是整个系统从此节点的得益,利益值就是节点从系统中的得益。
1.2.1供给值
首先需要确定节点的供给值,本文用层次分析法(AHP)[5]来解决这个问题。在上面所提到的3个部分中,只有共享和上传是与供给值有关的。共享又被分成两个子部分:共享文件的总数量和总大小。
AHP的第二步就是通过成对比较得出优先级别的过程。得出了3个成对比较矩阵(A, B1, B2),A是C1、C2对于φ的相对重要性;B1、B2是C11、C12、C21、C22对于C1、C2的相对重要性。
通过Aw=λw, 能够得到最大特征值以及A、B1和B2的特征向量:
λ(1)=2, w(1)=[01250875]T;
λ1(2)=2, w1(2)=[0333066700]T;
λ2(2)=2, w2(2)=[0003330667]T。
因此,组合权值为:
w=[w1(2), w2(2)]w(1)=0042
0083
0292
0583(2)
由于A、B1和B2都是一致性矩阵,因此不需要再对它们进行一致性检查,也不用对它们的结果进行一致性检查。故组合权值可以被看作表1中4个元素的权值。
于是,供给值的计算公式如下:
φi=0042|ti|/TLogi+0083〈Si_share,ti〉/TLogi
+0292ni_up/Logi+0583|Si_up|/Logi(3)
<Si_share, ti>=∑ni_sharef=1(si_f·ti_f)(4)
1.2.2利益值
与计算供给值相比,计算利益值更加简单,因为它只需考虑两个因素:下载文件数量和下载文件大小。由于两者同等重要,因此可以直接给出它们的权重值,如表2所示。
因此,利益值的计算公式如下:
ψi=05(ni_down+|Si_down|)(5)
根据式(1)、式(3)和式(5), 本文得出了绝对贡献值的计算公式:
ξi=αφi-ψi=α(0042|ti|/TLogi+0083〈Si_share,ti〉/TLogi+0292ni_up/Logi+0583|Si_up|/Logi)-05(ni_down+|Si_down|)(6)
1.3节点物理特性评估
很难完成节点物理特性的量化过程,因为该过程受很多因素影响,为了简化这个问题,本文暂时只考虑影响用户共享行为的几个重要因素。在本文的估算模型中,只选出了以下6个因素: CPU的时钟频率和字长、RAM的存储大小和存储速度、硬盘大小、上传带宽。
由于矩阵A′不是一致性矩阵,因此这部分中的结果还要做一致性检测。CI是一致性指数,CR是一致性比率。
于是,得到了如下的物理特性估算公式:
Γi=028T_clocki+0093Wi+0051V_RAMi
+0154S_RAMi+0049S_HDi+0373B_upi(7)
1.4抑制机制的效用函数
效用函数[6]是用来衡量系统中的用户对系统所做贡献的,它是激励机制设计的核心。在本文所提出的激励机制中,将它定义为:
U(i, h)= U(i, h-T)+ U(i, T)(8)
其中,U(i, h-T)是节点i从它首次进入系统到当前的积累效用, U(i, T)则是当下节点i创造的效用,它是绝对供给值与物理特性值的比值,即:
1.5等级结构的建立
假设等级结构中一共包含nrank级,而nrank对于不同的系统和不同的时期都是不同的。鉴于本文提出的抑制机制与量化比较相似,且用户需要自己设定共享文件等级,因此限定nrank≤9。
为了建立金字塔型结构[7],本文约定上层等级用户数量约为下层用户数量的2/3且第一级(最底层)用户数量为μ·τ,τ是此级别用户总量,μ是个参数,于是:
2仿真及结果
本文使用了BA模型[8]来构建拓扑结构并且在机器上对P2P系统进行了仿真。本文假设系统中分布着1 000份文件且这些文件的大小是随机的。在仿真系统中每个节点都有自己的虚拟硬件和上传带宽,但是它们所共享文件数量则是随机分配的。本文分别模拟了没有控制机制的初始P2P系统和在基于等级概念的激励机制控制下的P2P系统从5 000节点到14 000节点的增长过程,并得到了一些比较数据,如图1和图2所示。
系统的搭便车者数量比较
从图1可以看出,在基于等级概念的激励机制下的搭便车者数量随着时间明显减少,但是原始系统中的搭便车者数量却是增加的。
在图2中,仿真结果显示在起初的10个时间段中,系统中的用户数量以每段1 000的数量呈增长趋势,而搭便车者在所有用户中的比例是在所提出的系统中呈下降趋势的,但在原始P2P系统中则是上升的。
从图1和图2看到,基于等级概念的激励机制确实使搭便车者数量减少了,从而证明此机制确实能有效抑制系统中的搭便车行为。
此外,图1和图2中的Incentive曲线并没有降至0而是一直慢慢减少,这证明了本文提出的激励机制虽然有效减少了搭便车行为,但是不能彻底消除系统中的搭便车行为。
3结论
虽然本文提出了一种新的激励机制来抑制系统中的搭便车行为和解决公共悲剧的问题,但许多方面还需要进一步深入研究。在本文中,将新用户的等级设为最低,虽然有效抑制了重新洗牌的问题,但却使得新用户的等级低于搭便车者。将会在未来的工作中解决这一问题。
参考文献
[1] ANDROUTSELLISTHEOTOKIS S, SPINELLIS D. A survey of peertopeer content distribution technologies[C]. ACM Computing Surveys, 2004, 36(4):335371.
[2] ADAR E, HUBERMAN B. Free riding on gnutella[J]. First Monday, 2000,5(10):134139.
[3] HARDIN G. The tragedy of the commons[J]. Science, 1968, 162(3859):12431248.
[4] Yu Yijiao, Jin Hai. A survey on overcoming free riding in peertopeer networks[J]. Chinese Journal of Computers, 2008, 31(1):115.
[5] 郭剑峰,陈小波,陈潇君,等.具有负载分享的P2P IPTV重迭网络的设计[J].电子技术应用,2014,40(1):107110.
[6] 杨楷,汪斌强,张震,等.基于多特征的P2P直播流识别方法[J].电子技术应用,2014,40(2):125127,131.
[7] 李淑霞.基于JXTA的P2P实例的研究与实现[J].微型机与应用,2013,32(14):5960,64.
[8] 郑晓健,付铁威,李彤,等.一种新的基于访问兴趣相似性的P2P网络模型[J].微型机与应用,2014,33(21):5153.