信息资源共享的效果取决于用户分享信息的动因和分享信息的质量.在移动互联网场景下,为了激励用户分享高质量的信息资源,设计了基于信誉度量的资源共享机制,提出了基于信誉度量的资源与用户匹配方法实现用户信息需求的精确匹配,通过用户信誉的更新方法实现用户分享动因和分享资源质量的动态评价.构建移动互联网点对点信息资源共享平台,实现基于信誉度量的资源共享机制.大规模仿真实验和基于真实平台的实验结果表明,该机制有效提高了用户的资源共享率和共享资源的质量.
The performance of information resource sharing depends on users' sharing motivations and shared information quality. In the mobile Internet scenario, to encourage users to share high-quality resources, a reputation based resource sharing mechanism was designed, including a reputation based resource and user matching algorithm for precisely satisfying users' information demand and user reputation update algorithm for dynamically evaluating users' reputation. A point-to-point information resource sharing platform was established, and the proposed reputation based resource sharing mechanism was achieved. Extensive simulations and experiments in real scenarios demonstrate that such mechanism can improve the users' resource sharing ratio and shared resource quality.
移动用户个性化的信息资源获取依赖于在Client/Server网络架构下演进移动互联网的信息共享技术.信息资源的共享机制对移动用户获取资源的效率与质量具有重要影响[1].
在此基础上, 学者们提出了许多基于互惠思想的资源共享机制[2].例如, Kurdi等[3]提出的点对点网络中基于增强EigenTrust算法的信誉度管理机制;Li等[4]基于等价公平机制解决点对点网络中的资源交换问题;Feldman等[5]基于间接互惠激励方法解决点对点网络中的缺乏合作问题等.
尽管移动用户资源共享在理论上能够帮助用户实现无处不在的信息接入, 但在工程实践中仍缺少对用户个性化信息需求的精确匹配、对用户资源分享行为的鼓励以及对分享资源质量的评估.
笔者设计了一种基于信誉度量的点对点资源共享机制.通过信誉度评估用户的分享意愿和分享资源的质量, 进而影响用户获取资源的质量, 达到保护用户分享动机, 提高用户分享资源质量的目标.通过仿真实验与实际部署资源共享平台, 证明该机制一方面能够激励用户分享更多的资源, 另一方面能够提升分享资源的质量.
1 信誉度量点对点资源共享系统模型考虑n个用户U1, …, Ui, …, Un参与资源共享的场景.在特定时间t, Λi(t), ∀i表示用户Ui具有的信息资源的集合(文字、图片、视频等), di(t)表示用户Ui特定的信息资源需求.若di(t)∈Λj(t), 则Uj的信息资源集合包含Ui的资源需求, 即Uj具有为Ui提供信息服务的能力.所有具有为Ui提供信息服务能力的用户构成集合:
${\mathit{\Psi }_i}\left( t \right) = \{ j|{d_i}\left( t \right) \in {\mathit{\Lambda }_j}\left( t \right),{\rm{ }}\forall i\} $ | (1) |
当Ψi(t)≠∅, 则存在能够满足Ui资源需求的用户;反之, 则di(t)的信息需求无法得到满足.在实际应用中, 当用户Ui生成di(t)并向服务器提交资源请求后, 服务器可以查询每个用户的信息资源的集合得到Ψi(t), 如图 1所示.
资源质量qj(t)表征用户Uj在时间t累积的共享资源的质量. qj(t)越大, Uj分享的信息资源质量的期望越高.在时间t, qj(t)取决于在时间t之前所有接收到Uj共享资源的用户的评价.在大部分用户客观评价资源质量的前提下, 大量的资源分享实验所产生的qj(t)能够反映Uj分享资源的真实质量.
信誉度rj(t)表征用户Uj在时间t累积的共享行为, 包括2个方面:用户的分享意愿和用户的分享资源质量qj(t).用户分享的资源质量越高, 用户越愿意分享资源, 则该用户的信誉度越高. qj(t)和rj(t)的更新方法见2.2节.
针对用户Ui特定的信息需求di(t), 服务器根据Ψi(t)中每个用户的资源质量qj(t), j∈Ψi(t)和Ui的信誉度rj(t)向Ui推送共享资源的用户:
${j^*} = F({q_j},{\rm{ }}{r_i}),{\rm{ }}\forall j \in {\mathit{\Psi }_i}\left( t \right)$ | (2) |
用aij*(t)表示Uj*向Ui分享其资源di(t)的意愿. aij*(t)=1表示Uj*愿意共享资源, 反之aij*(t)=0.例如, 若di(t)是Uj*在时间t能够拍摄到的某图像, 而Uj*在此时刻并不愿意耗时为Ui拍摄该图像, 则aij*(t)=0, Uj*拒绝该信息共享的推送请求.服务器在Ψi(t)中去除不愿意为Ui提供资源的用户Ψi(t)=Ψi(t)/Uj*, 并重新根据式(2) 推送用户, 直到存在用户愿意为Ui分享资源(j*∈Ψi(t), aij*=1), 或者不存在用户能够为Ui分享信息资源(Ψi(t)=∅).
基于资源互惠的思想[2], 希望设计一种激励用户相互分享高质量资源的机制.通过设计用户Uj资源质量qj(t)和信誉度rj(t)的更新方法, 以及资源的匹配方法F(qj(t), ri(t)), 一方面激励用户愿意分享个体资源(信誉度rj不断增加), 另一方面驱动用户分享高质量的资源(资源质量qj不断增加).
2 用户匹配与信誉度更新首先介绍如何在特定的qj, j∈Ψi(t)和ri的条件下推送共享资源的用户, 之后考虑资源质量qj和信誉度ri的更新过程.
2.1 用户匹配当用户Ui向服务器S提出某种资源需求时, 用户匹配的功能是选择j*∈Ψi(t), 使得所提供的资源质量符合Ui的信誉值.为了简化表述, 不失一般性, 假设Ψi(t)中的用户的资源质量按照序号逐渐增大, 即qi1(t)≤qi2(t)≤…≤qi|Ψi(t)|(t), 其中|Ψi(t)|表示Ψi(t)集合的用户总数.
首先, 若Ui的信誉度过小, 例如ri(t) < α(α < 1), 则用户Ui过于倾向于向其他用户索取资源, 服务器不响应其共享资源请求.此时, F(qj, ri)=∅. α的取值决定了系统对信誉度过小用户的容忍程度.
其次, 若ri(t)>1, 认为Ui具有足够高的信誉度, 服务器选择资源质量最高的用户(Ui|Ψi(t)|), 作为向Ui推送资源的用户.此时, F(qj, ri)=i|Ψi(t)|. (注:Ui|Ψi(t)|是否为Ui共享资源还取决于Ui|Ψi(t)|的意愿.)
对于α≤ri(t) < 1, 采用二项式分布选择向Ui推送资源的用户UF(qj, ri), 即选择Uik作为向Ui推送资源的用户的概率为
$\begin{array}{c} {p_{ik}} = C_{\left| {{\mathit{\Psi }_i}^{}\left( t \right)} \right| - 1}^{k - 1}{r_i}{\left( t \right)^{k - 1}}{(1 - {r_i}\left( t \right))^{\left( {\left| {{\mathit{\Psi }_i}\left( t \right)} \right| - 1} \right){\rm{ }} - \left( {k - 1} \right)}} = \\ C_{\left| {{\mathit{\Psi }_i}^{}\left( t \right)} \right| - 1}^{k - 1}{r_i}{\left( t \right)^{k - 1}}{(1 - {r_{{i_i}}}\left( t \right))^{\left| {{\Psi _i}\left( t \right)} \right| - k}},\\ \forall \alpha \le {r_i}\left( t \right) \le 1,{\rm{ }}k = 1,{\rm{ }}2,{\rm{ }} \ldots ,{\rm{ }}|{\mathit{\Psi }_i}\left( t \right)| \end{array}$ | (3) |
基于二项式分布的资源提供者选择方式具有以下特点:
1) 根据二项式分布的特点, ∑pik=1.因此, 向Ui推送资源的用户包含了Ψi(t)中所有的用户.
2) 当在
当Ui在时间t请求资源, 且服务器分配Uj*作为向Ui推送资源的用户时, Uj*是否愿意共享资源以及其共享资源的质量将决定双方信誉度量(ri, rj*)、Uj*资源质量(qj*)的变化.
若Uj*同意共享资源(aij*(t)=1), 首先, Ui的信誉度更新为
${r_i}\left( {t + 1} \right){\rm{ }} = {r_i}\left( t \right) - \omega $ | (4) |
式(4) 的物理意义是当Ui获取他人的资源时, 其信誉度将会减少ω, 说明Ui更倾向于获取资源而非分享资源. ω的取值由实际场景决定.当ri(t)按照2.1节模型计算时, 考虑到ri(t)>1将判别用户为高信誉度用户, ω可以取(0, 0.1), 以保证用户不会因为少量次数的信息请求而过度减少其信誉度.
其次, 在Ui获取Uj*提供的资源后, 根据资源功能、结构、完备等特性来评价资源质量ei, j*. ei, j*是由一组离散的数值构成, 如ei, j*∈{-1, 0, 1}. ei, j*=-1, ei, j*=0, ei, j*=1分别代表Ui对Uj*的资源评价为不满意、中等、满意. ei, j*用于更新Uj*的资源质量qj*:
${q_{{j^*}}}\left( {t + 1} \right){\rm{ }} = {e_{i,{\rm{ }}{j^*}}} + {q_{{j^*}}}\left( t \right)$ | (5) |
可见, qj*体现了Uj*共享资源质量的累积结果, 其由历史上所有获得用户Uj*资源用户的评价共同决定.在大量共享实验的场景下, 假设大部分用户的评价是客观的, 则qj*能够在一定程度反映用户Uj*分享资源的质量.
此外, 由于用户Uj*愿意向Ui分享资源, 其信誉度更新为
${r_{{j^*}}}\left( {t + 1} \right){\rm{ }} = \lambda ({r_{{j^*}}}\left( t \right))(1 + {e_{i,{\rm{ }}{j^*}}}) + {r_{{j^*}}}\left( t \right)$ | (6) |
其中λ(rj*(t))(1+ei, j*)表示Uj*信誉度的变化量.当其分享的资源质量被Ui评估为不满意时ei, j*=-1, 其信誉度不增加.这种机制鼓励用户分享高质量的资源, 而非通过多次分享低质量的资源提高信誉度.同时, 无论Uj*分享的资源质量被Ui评估为中等ei, j*=0还是满意ei, j*=1, rj*(t+1) 均增加, 增加的幅度取决于λ(rj*(t)).为了鼓励当前信誉度低的用户分享资源, λ(rj)应满足λ(rx)≤λ(ry), ∀rx>ry.为此采用分段线性函数:
$\lambda ({r_j}) = \left\{ \begin{array}{l} {\lambda _1},{\rm{ }}{r_j} > 1\\ {\lambda _2},{\rm{ }}\alpha < j \le 1\\ {\lambda _3},{\rm{ }}{r_j} \le \alpha \end{array} \right.$ | (7) |
式(7) 中3个参量式满足0≤λ1≤λ2≤λ3≤1.这种分段的信誉度变化激励Uj*提供高质量的资源, 以获得更大的信誉度的提升.
根据式(5) ~式(7), 若Uj*同意共享资源给Ui, 且提供的资源质量为中等或者满意, Uj*的信誉度就会增加.若Uj*同意共享资源给Ui, 但提供的资源质量被Ui评价为不满意, Uj*的信誉度也并不减少, 以鼓励分享资源的行为.
反之, 若Uj*拒绝向Ui提供资源, Uj*的信誉度将会对应降低λ(rj*(t)), 即
${r_{{j^*}}}\left( {t + 1} \right){\rm{ }} = - \lambda ({r_{{j^*}}}\left( t \right)) + {r_{{j^*}}}\left( t \right)$ | (8) |
此时服务器会从Ψi(t)中移除Uj*, 并重新进行用户匹配, 直至共享达成或者不存在满足需求的用户为止.
3 信誉度量资源实验 3.1 仿真实验采用仿真的方式进行n=1 000个用户群体实验.互惠参数ω=0.05(见式(4)), α=0.2(见式(7)), λ1=0.05, λ2=0.1, λ3=0.1(见式(7)).在仿真中, 为了表征用户分享资源意愿和分享资源质量, 用分享资源概率和资源好评概率将用户分为4类, 如表 1所示.分享资源概率是指用户收到资源请求时同意共享资源的概率.资源好评概率是指用户分享的资源获得资源评价e=1的概率.用“平均帮助率”作为系统评价指标, 表征系统总的资源分享次数与总的需求请求次数的比值.选取典型的共享博弈算法Multi-level Tit-for-Tat[6]和基于间接互惠的Image scoring机制[7]作为对比算法.
在实验中, 随机选择一个用户Ui生成资源需求, 并随机选择10%的用户构成Ψi(t).根据Ui的信誉度和Ψi(t)中用户资源质量选出资源提供者Uj(2.2节用户匹配).同时基于表 1生成Uj向Ui分享资源概率, 以及Ui对资源提供者Uj的资源质量的评价, 最后更新相关用户的资源质量与信誉度.一次实验在系统的平均帮助率收敛后停止.每个场景进行100次实验.
如图 2所示, 基于信誉度量的资源共享机制的平均帮助率的80分位数为0.65, 大于Multi-level Tit-for-Tat算法(0.56) 和Image scoring(0.51) 机制.这是因为基于信誉度量的用户匹配算法中将信誉度低的节点的请求剔除在外, 只保留高信誉度节点的资源请求.
另一方面, 由于较低的分享概率或者质量较差的共享资源, Ⅱ、Ⅲ、Ⅳ类的的信誉度和资源质量一直维持在较低水平.在系统平均帮助率收敛后, 大部分资源互惠出现在Ⅰ类用户之间.可以看出基于信誉度量的机制能够在系统中保护优质用户, 并对用户共享行为有较好的激励作用.
图 3表示不同类别用户的“平均获得资源质量”(获得的资源质量总和比各类用户个数).可以看出, Ⅰ类用户获得平均资源质量(80分位数10.32) 明显高于其他Ⅱ(1.96)、Ⅲ(0.41)、Ⅳ(-1.67) 类用户.这是由于Ⅰ类用户有较多的共享行为和较高的共享资源质量, 其信誉度处于较高水平.而根据用户匹配算法, 信誉度r越高, 越容易在互惠中获得高质量资源.
相较于不考虑资源质量互惠机制, 基于信誉度量的资源共享机制由于引入了对分享资源质量的评估, 从图 3中可以看出, 机制对Ⅰ类和Ⅱ类用户有区分性(Ⅰ、Ⅱ类用户仅在分享资源质量上有差别), 从而激励用户分享高质量的资源.
3.2 实际部署实验基于资源共享机制, 搭建基于信誉度量的无线点对点资源共享平台.该平台由用于信息采集和共享的客户端和能够进行信誉更新和用户需求匹配的服务器2个部分组成.以手机能够采集的图片和视频作为点对点资源.例如, 某个用户可以采集特定场景的图片或视频并加以标签, 而其他用户可以通过该平台请求得到上述资源.
在客户端, 标注每个用户的位置和可能的资源, 并在其他客户端进行显示, 以说明当前时刻存在的资源.如图 4所示, 空心圆形标志表示特定用户可以采集到的资源.用户A能够采集到7个景点的资源.由于用户的移动性, 该平台要求实时更新用户能够提供的资源, 同时能够将图片和视频以一定的时间延迟限度在客户端传递.视频传输方面采用了基于实时消息传输协议的直播流媒体格式.
为了同时实现需求信息和视频信息的及时更新, 及时通信采用基于可拓展通信和表示协议的开源通信服务器OPENFIRE.经过测试该平台的平均延迟时间约为55.9 ms, 该平台具有实时点对点的视频资源共享能力.
为真实地验证基于信誉度量机制的有效性, 在实验平台的基础上, 邀请了60名对校园感兴趣的校外人员作为实验对象并将他们随机分配在校内各位置, 同时约定了40个校内景点让他们前往参观.同时限定了每个人参观总时长, 使得参与者没有足够的时间游览所有景点.参与者可以通过该平台事先向服务器发送拟参观景点的视频资源请求, 随后参与者可以通过获得的拟参观景点视频信息来决定是否前往参观, 以此来优化自己的参观路线.
在此条件下, 随机选择20名实验参与者分别参加下列3组实验.
1) 基于信誉度量的资源共享机制.服务器通过2.1节用户匹配算法筛选出该景点附近的资源提供者, 并由提供者决定是否帮助, 若该用户同意, 则进行视频直播、资源评价以及数据更新上传等内容;若不同意, 服务器将继续匹配其他资源提供者直到成功或者无人同意为止.
2) 自由帮助机制.在收到资源请求后服务器随机选择景点附近的资源提供者进行配对, 资源提供者收到请求后可以自行决定是否帮助, 资源提供后(视频播放结束后)请求者对资源进行评价.
3) 无条件分享机制.当用户收到其他用户的资源请求时, 必须同意并直播所需要的视频资源.其余实验条件同2).
图 5所示为以“平均帮助率”为评估指标, 对比实验1) 基于信誉度量的资源共享、实验2) 自由帮助以及实验3) 无条件分享的性能.图中显示, 随着时间的变化, 基于信誉度量的资源共享的平均帮助率逐渐上升而趋于稳定.这是因为该机制能够驱动用户分享更多的个体资源.在用户的同意分享的行为是稳定的条件下, 其平均帮助率逐渐收敛, 并在20 min后持续趋于较高水平. “自由帮助机制”中, 用户的帮助行为没有得到鼓励, 用户分享的资源也没有被评价.因此, 用户没有动因分享高质量的资源, 而更倾向于向他人索取资源, 平均帮助率随时间降低. “无条件分享机制”中, 参与实验的用户被要求分享资源, 因此平均帮助率恒等于1.然而, 这种分享并没有激发用户产生分享高质量资源的动机, 用户仅完成实验过程, 导致分享资源的平均质量较低, 如图 6所示.
此外, 在实验开始的前20 min内, 由于请求总量较少, 每个成功或失败的帮助对平均帮助率影响较大, 平均帮助率尚未收敛.在20 min后, 不同的分享机制激励用户采取不同的分享策略.可以看出, 基于信誉度量机制的平均帮助率大于无约束的自由帮助机制, 对用户资源分享具有正向激励作用.
“平均资源质量”反映了用户分享资源的质量, 表示用户总的资源的质量预期与用户数目的比值.如图 6所示, 基于信誉度量的资源共享机制的平均质量曲线稳定上升, 这是因为该机制能够聚集一些愿意分享资源的用户.这些用户的资源分享过程能够不断积累自身的分享资源的质量, 从而使得平均资源质量不断提高.同时, 由于分享较好质量的资源有助于提升用户本身的信誉度, 进一步激励用户提升资源水平.
相比而言, 在“自由帮助机制”中, 平均帮助率不断下降, 愿意分享资源的实验的人数越来越少, 最终几乎没有人继续分享资源, 使得平均资源质量维持在较低水平.在“无条件分享机制”中, 由于用户被动分享资源, 而分享机制没有对分享的质量做出要求, 用户的平均资源质量越来越低(注:根据式(5), 平均资源质量体现用户分享的资源的累计评价, 可以为负值).在实际实验中, 若干用户出现并没有按照用户需求完成图片或视频的传输, 导致需求用户评价较低.由上述可见, 基于信誉度量机制在资源传输质量方面强于对比实验.
4 结束语设计一种基于信誉度量的点对点资源共享机制.该机制通过信誉度评估用户分享意愿和分享资源质量.实验的结果显示, 该机制保护个体的资源分享意愿, 能够激励用户分享高质量的资源, 平均帮助率和平均资源质量优于无约束的资源共享机制和强制的资源共享机制.
[1] | Paganini F, Zubeldía M, Ferragut A. Trading off efficiency and reciprocity in wireless peer-to-peer file sharing[C]//WiOpt. Mumbai:[s.n.], 2015:379-386. |
[2] | Nowak M A, Sigmund K. Evolution of indirect reciprocity[J]. Nature, 2005, 437(7063): 1291–1298. doi: 10.1038/nature04131 |
[3] | Kurdi H A. HonestPeer:an enhanced eigentrust algorithm for reputation management in P2P systems[J]. Journal of King Saud University Computer and Information Sciences, 2015, 27(3): 315–322. doi: 10.1016/j.jksuci.2014.10.002 |
[4] | Li Shiyong, Sun Wei. A mechanism for resource pricing and fairness in peer-to-peer networks[J]. Electronic Commerce Research, 2016, 16(4): 425–451. doi: 10.1007/s10660-016-9211-1 |
[5] | Feldman M, Lai K, Stoica I, et al. Robust incentive techniques for peer-to-peer networks[C]//ACM Conference on Electronic Commerce. New York:[s.n.], 2004:102-111. |
[6] | Lian Qiao, Yu Peng, Yang Mao. Robust incentives via multi-level tit-for-tat[J]. Concurrency & Computation Practice and Experience, 2010, 20(2): 167–178. |
[7] | Berger U, Grüne A. Evolutionary stability of indirect reciprocity by image scoring[J]. Department of Economics Working Paper, 2014(168): 1–22. |