秦志光,楊 毅,楊 磊,鐘 婷
電子科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,成都 611731
P2P網(wǎng)絡(luò)中利用推拉模式實(shí)現(xiàn)的信譽(yù)系統(tǒng)
秦志光,楊 毅,楊 磊,鐘 婷
電子科技大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,成都 611731
對(duì)等網(wǎng)絡(luò)(P2P)是當(dāng)前非常流行的一種網(wǎng)絡(luò)形態(tài),P2P流量占據(jù)整個(gè)Internet流量的大部分比重。由于它具有去中心化、匿名性、自治性等特點(diǎn),給終端用戶帶來極大的便捷。然而,這些特性也成為惡意網(wǎng)絡(luò)行為滋生的溫床,惡意節(jié)點(diǎn)可以通過傳播非法文件破壞系統(tǒng)、自私節(jié)點(diǎn)享受系統(tǒng)提供的服務(wù)但不對(duì)系統(tǒng)做任何貢獻(xiàn)。這些現(xiàn)象極大地影響了P2P用戶的信心。在P2P網(wǎng)絡(luò)中引入信譽(yù)機(jī)制[1-2]可以有效緩解不合作節(jié)點(diǎn)帶來的負(fù)面影響,信譽(yù)機(jī)制的目的是根據(jù)節(jié)點(diǎn)歷史行為特征的觀察,采用合理的度量方式,最大程度預(yù)測(cè)出節(jié)點(diǎn)將來的行為特征,從而隔離不合作節(jié)點(diǎn),提高P2P網(wǎng)絡(luò)的整體可用性和效率。信譽(yù)建模的思路是基于節(jié)點(diǎn)之間的歷史交互記錄,通過分析不同因素與節(jié)點(diǎn)行為之間的關(guān)聯(lián),定義合成節(jié)點(diǎn)信譽(yù)值的影響因子,使得信譽(yù)值能如實(shí)反映節(jié)點(diǎn)的行為特征。
迄今為止,研究人員從不同角度出發(fā),已提出一些信譽(yù)建模的方法。例如,針對(duì)“信任”語義的模糊特性,F(xiàn)uzzyTrust[3]認(rèn)為信任不能用二值邏輯描述,于是通過定義模糊量來刻畫這種關(guān)系,并利用模糊推理規(guī)則來更新信任度,較好地解決了信息模糊或不完備等因素造成的計(jì)算粗糙問題;針對(duì)信任關(guān)系的不確定性,Yu[4]提出基于DS理論進(jìn)行建模,將請(qǐng)求節(jié)點(diǎn)對(duì)服務(wù)節(jié)點(diǎn)的評(píng)價(jià)表示為對(duì)其支持的一種證據(jù),當(dāng)計(jì)算一個(gè)節(jié)點(diǎn)的可信度時(shí)利用D-S證據(jù)合成規(guī)則組合來自推薦者的所有證據(jù);針對(duì)如何獲取節(jié)點(diǎn)信譽(yù)信息,EigenTrust[5]及其改進(jìn)模型[6-8]的基本思路是采用迭代問詢的方式綜合計(jì)算出節(jié)點(diǎn)的全局信譽(yù)值。通過對(duì)已有成果的研究,本文發(fā)現(xiàn),盡管研究的角度不同,但大部分模型都忽略了對(duì)新加入節(jié)點(diǎn)進(jìn)行特殊處理。由于新節(jié)點(diǎn)初始信譽(yù)值較低,在后續(xù)交互過程中作為候選服務(wù)節(jié)點(diǎn)的概率較小,其信譽(yù)積累是純被動(dòng)式的,往往需要一個(gè)很長(zhǎng)周期,其負(fù)面效應(yīng)是網(wǎng)絡(luò)中的“富人越富”現(xiàn)象,且容易引發(fā)網(wǎng)絡(luò)中長(zhǎng)期生存的節(jié)點(diǎn)單點(diǎn)過載問題,不利于網(wǎng)絡(luò)資源的合理分配。
受到流媒體調(diào)度策略中經(jīng)典推拉模式的啟發(fā),本文提出一個(gè)新的信譽(yù)計(jì)算模型。推部分主要加速新節(jié)點(diǎn)累積信譽(yù)過程,當(dāng)一個(gè)新節(jié)點(diǎn)加入時(shí),它向其他節(jié)點(diǎn)主動(dòng)推送自己的信息,增大其作為候選服務(wù)節(jié)點(diǎn)的概率。拉部分主要為了減少網(wǎng)絡(luò)的信息流量,當(dāng)信譽(yù)值大于某個(gè)閾值(大于該閾值的節(jié)點(diǎn)較可信,仿真實(shí)驗(yàn)中設(shè)定的閾值為0.7)時(shí),可以視該服務(wù)節(jié)點(diǎn)為可信節(jié)點(diǎn)而直接交互,當(dāng)小于某個(gè)閾值時(shí)首先詢問服務(wù)節(jié)點(diǎn)能否提供所需服務(wù),若得出正面回應(yīng),則嘗試交互,若無返回消息,則再根據(jù)鄰居節(jié)點(diǎn)的推薦做出處理。為了確保節(jié)點(diǎn)提供優(yōu)質(zhì)的服務(wù),對(duì)提供較差服務(wù)的節(jié)點(diǎn)進(jìn)行懲罰,通過交易結(jié)果增加或降低對(duì)交易節(jié)點(diǎn)的信譽(yù)值,并且通過控制相關(guān)懲罰因子來決定懲罰力度,同時(shí)對(duì)自薦節(jié)點(diǎn)的懲罰因子值設(shè)置較大。
目前對(duì)P2P信任模型并無嚴(yán)格的分類標(biāo)準(zhǔn),為了更好地論述本文模型的相關(guān)工作基礎(chǔ),根據(jù)節(jié)點(diǎn)合成信譽(yù)值時(shí)有關(guān)信息數(shù)據(jù)的來源,可以將信譽(yù)模型大致分成兩類:全局信任模型和局部信任模型。
2.1 全局信任模型
PeerTrust[6]模型認(rèn)為節(jié)點(diǎn)的可信度應(yīng)該是該節(jié)點(diǎn)提供的所有服務(wù)的綜合評(píng)價(jià),該模型全面考慮了電子商務(wù)環(huán)境中節(jié)點(diǎn)間交易的各種因素,包括節(jié)點(diǎn)收集的評(píng)價(jià)反饋交易滿意總數(shù)、總交易次數(shù)、交易評(píng)價(jià)可信度、交易內(nèi)容上下文、社區(qū)內(nèi)容上下文。本文創(chuàng)新處在于提出以個(gè)體相似性度量方法(PSM)來衡量評(píng)價(jià)的可信程度。但個(gè)體相似性度量在大規(guī)模網(wǎng)絡(luò)中容易面臨向量稀疏性問題[9]。
2.2 局部信任模型
局部信任模型是指節(jié)點(diǎn)通過詢問有限數(shù)量的節(jié)點(diǎn)來獲得某個(gè)節(jié)點(diǎn)的可信度,一般采用局部廣播的方式來獲得節(jié)點(diǎn)的信任度。如Fabrizio Cornelli等人提出的P2Prep[10]。P2Prep是作為典型的局部信任模型,它的核心思想是交互發(fā)起節(jié)點(diǎn)向交互對(duì)象節(jié)點(diǎn)附近發(fā)起廣播以獲得交互對(duì)象節(jié)點(diǎn)的信譽(yù)度,以評(píng)估其可信程度從而決定是否要與其進(jìn)行交互。該模型基于隨機(jī)的洪泛的發(fā)現(xiàn)和隨機(jī)轉(zhuǎn)發(fā)機(jī)制,考慮了投票節(jié)點(diǎn)的IP地址以過濾可能的共謀節(jié)點(diǎn)。但是,該模型假設(shè)了交互目標(biāo)節(jié)點(diǎn)的鄰居知道目標(biāo)節(jié)點(diǎn)的底細(xì),此假設(shè)不一定成立,并且高性能節(jié)點(diǎn)的負(fù)擔(dān)較重。此外,該模型中認(rèn)為節(jié)點(diǎn)可信則其擁有的資源可信,實(shí)際上,高信譽(yù)值的節(jié)點(diǎn)也有可能擁有一些低質(zhì)量甚至虛假的資源。
XRep[11]模型提出節(jié)點(diǎn)信譽(yù)和資源信譽(yù)相結(jié)合的方法,在節(jié)點(diǎn)信譽(yù)的基礎(chǔ)上引入了節(jié)點(diǎn)所提供資源的信譽(yù)狀況,選取下載源時(shí)根據(jù)節(jié)點(diǎn)的信譽(yù)和資源信譽(yù)綜合衡量,該模型同時(shí)針對(duì)一些常用的攻擊方式設(shè)計(jì)了相應(yīng)的抑制措施,具有較高的安全性。
3.1 流媒體中的數(shù)據(jù)驅(qū)動(dòng)協(xié)議
P2P流媒體中的推拉策略具有很強(qiáng)的魯棒性,可以最大程度利用網(wǎng)絡(luò)的上行帶寬、最大化網(wǎng)絡(luò)的吞吐率。P2P流媒體的調(diào)度策略[12]解決了數(shù)據(jù)傳輸?shù)膯栴},近年來的研究已經(jīng)從最初基于樹型的提供節(jié)點(diǎn)推策略發(fā)展為接收者驅(qū)動(dòng)的拉策略以及推-拉過程相結(jié)合的策略[13]。所謂推,需要節(jié)點(diǎn)之間有一種父與子的關(guān)系,父節(jié)點(diǎn)依據(jù)這種關(guān)系主動(dòng)發(fā)送數(shù)據(jù)給子節(jié)點(diǎn)。所謂拉,就是節(jié)點(diǎn)根據(jù)其他節(jié)點(diǎn)的數(shù)據(jù)請(qǐng)求發(fā)送該節(jié)點(diǎn)希望的數(shù)據(jù),不需要節(jié)點(diǎn)之間任何層次性的關(guān)系,但需要預(yù)先知道對(duì)方擁有的數(shù)據(jù)。推-拉機(jī)制的具體方法為:每個(gè)節(jié)點(diǎn)使用拉方法作為啟動(dòng)(拉),獲得部分?jǐn)?shù)據(jù)后給其鄰居節(jié)點(diǎn)中轉(zhuǎn)數(shù)據(jù)包而無需等到該鄰居節(jié)點(diǎn)請(qǐng)求該包(推)。其中拉模式具有內(nèi)在的魯棒性,能在高度擾動(dòng)的P2P環(huán)境下很好地工作;而推模式可以有效地減少用戶節(jié)點(diǎn)處觀察到的累加延遲。本模型借鑒了P2P流媒體中推拉模式的方法,利用“推”模式,使得愿意提供優(yōu)質(zhì)服務(wù)的新加入節(jié)點(diǎn)能較快積累信譽(yù)值,利用“拉”模式在一定程度上減少網(wǎng)絡(luò)的傳輸信譽(yù)消息的流量以及計(jì)算復(fù)雜度。
3.2 系統(tǒng)的定義與表示
本文相關(guān)參數(shù)定義如下:
定義1設(shè)Pij代表節(jié)點(diǎn)i同節(jié)點(diǎn) j的交易成功率。該成功率是基于節(jié)點(diǎn)i和節(jié)點(diǎn) j的交互歷史獲得。計(jì)算如下:
其中Sij表示節(jié)點(diǎn)i與節(jié)點(diǎn) j交易成功次數(shù),Tij表示節(jié)點(diǎn)i和節(jié)點(diǎn) j交易總次數(shù)。若Tij=0,則Pij=0。
定義2設(shè)Rij表示節(jié)點(diǎn)i對(duì)節(jié)點(diǎn) j的信譽(yù)值,表示如下:
其中α、λ為常系數(shù)因子,控制成功交易率對(duì)信譽(yù)值的影響,α為激勵(lì)因子,α越大成功交易率使得信譽(yù)值增加越快;λ是懲罰因子,當(dāng)交易失敗時(shí),節(jié)點(diǎn)i對(duì)節(jié)點(diǎn) j的信譽(yù)值將降低,λ越大不成功交易率對(duì)信譽(yù)值降低程度越大,為了更好地防止自薦節(jié)點(diǎn)提供不好服務(wù),在實(shí)際中自薦節(jié)點(diǎn)的λ因子設(shè)置較大,一般大于1.5,非自薦節(jié)點(diǎn)一般大于1。在仿真實(shí)驗(yàn)中會(huì)通過控制α、λ來觀察它們對(duì)信譽(yù)值變化的影響。
定義3設(shè)ai自薦標(biāo)志位,表示節(jié)點(diǎn)i是否推薦自己提供服務(wù)的標(biāo)志位,滿足如下條件:
定義4設(shè)Interval為節(jié)點(diǎn)推薦節(jié)點(diǎn)的自薦時(shí)間域,Ii表示i的自薦域。當(dāng)某個(gè)節(jié)點(diǎn)開始推薦自己時(shí),自動(dòng)啟動(dòng)該自薦時(shí)間控制,將自薦標(biāo)志位值設(shè)置為1,當(dāng)推薦時(shí)間超過該值時(shí),自動(dòng)將推薦節(jié)點(diǎn)的自薦標(biāo)志位值為0,在仿真實(shí)驗(yàn)中將自薦域設(shè)為30 min。
定義5設(shè)Ω為對(duì)節(jié)點(diǎn)i請(qǐng)求的響應(yīng)集合,Φ表示節(jié)點(diǎn)i根據(jù)信譽(yù)和交易總次數(shù)剔除一部分不滿足條件節(jié)點(diǎn)后的集合。
3.3 系統(tǒng)工作方式
當(dāng)一個(gè)新的節(jié)點(diǎn)(假設(shè)為k)加入系統(tǒng),同時(shí)它愿意通過向其他節(jié)點(diǎn)提供優(yōu)質(zhì)服務(wù)而獲得較高信譽(yù)值時(shí),它將自己的提供服務(wù)標(biāo)志位ak置為1,同時(shí)啟動(dòng)自薦時(shí)間控制位,然后將它擁有的資源進(jìn)行廣播,實(shí)現(xiàn)推的過程,這樣使得更多節(jié)點(diǎn)知道它擁有的資源,當(dāng)k不想提供服務(wù)或者自薦時(shí)間超過閾值(在仿真實(shí)驗(yàn)中設(shè)置自薦時(shí)間為30 min)時(shí)將ak置為0,該節(jié)點(diǎn)不再有自薦性質(zhì)。具體流程如圖1所示。
圖1 加入節(jié)點(diǎn)提供服務(wù)流程圖
當(dāng)節(jié)點(diǎn)i需要某個(gè)資源時(shí),它隨機(jī)廣播一個(gè)查詢消息給它的鄰居節(jié)點(diǎn)(鄰居節(jié)點(diǎn)即邏輯上與該節(jié)點(diǎn)相連接的節(jié)點(diǎn)),鄰居節(jié)點(diǎn)如果擁有該資源直接響應(yīng),如果沒有該資源,轉(zhuǎn)發(fā)請(qǐng)求消息。最后,節(jié)點(diǎn)i將獲得所有擁有該資源的集合Ω。然后節(jié)點(diǎn)根據(jù)信譽(yù)和交易總次數(shù)剔除一部分節(jié)點(diǎn),其中被剔除節(jié)點(diǎn)集合為,滿足如下條件:
其中ε為信譽(yù)的閾值,θ為交易總次數(shù)的閾值。當(dāng)信譽(yù)值小于閾值ε,實(shí)驗(yàn)中設(shè)定為0.2,且交易次數(shù)大于閾值θ時(shí),認(rèn)為節(jié)點(diǎn)的信譽(yù)偏低是由于過多不誠實(shí)行為造成的,因此舍棄這些節(jié)點(diǎn)。
集合Φ可以由A和B兩個(gè)子集組成,其中A表示自薦子集,B表示非自薦子集。滿足如下條件:
然后節(jié)點(diǎn)i從滿足條件的集合Φ中選擇服務(wù)節(jié)點(diǎn),選擇滿足如下條件:
S為選擇節(jié)點(diǎn)集合,β為推拉因子(0≤β≤1),表示集合 A中的節(jié)點(diǎn)被選擇的概率,1-β表示集合B中節(jié)點(diǎn)被選擇的概率。 β×ΣAk表示以概率 β選擇A集合中的節(jié)點(diǎn)進(jìn)行服務(wù),通過改變常系數(shù)因子,可以控制是否進(jìn)行自己推薦節(jié)點(diǎn)選擇可能性,如 β=1,則表示選擇所有自薦節(jié)點(diǎn)服務(wù)。通過控制在常系數(shù)因子可以控制自薦節(jié)點(diǎn)被選擇的概率,一般情況下設(shè)置0.6≤β≤0.9,這樣有利于自薦節(jié)點(diǎn)被選擇作為服務(wù)節(jié)點(diǎn),使得它的信譽(yù)值迅速提升。
假設(shè)S集合中任意一個(gè)節(jié)點(diǎn)為k,如果k∈A,則直接進(jìn)行交互;如果k∈B,首先查看它的信譽(yù)值以及和i的交易總次數(shù),如果Rik<ε,Rik≠0且Tik<θ,認(rèn)為信譽(yù)值偏低是由于交易次數(shù)過少造成的,i向k發(fā)送拉請(qǐng)求,詢問k是否愿意提供服務(wù),如果k響應(yīng),則進(jìn)行交互。如果k未響應(yīng),則通過i的所有鄰居節(jié)點(diǎn)計(jì)算它對(duì)k的局部信譽(yù)值,計(jì)算過程如下:
其中Lik表示i通過詢問鄰居節(jié)點(diǎn)得到的它對(duì)k的局部信譽(yù)值。當(dāng)Lik大于某個(gè)閾值時(shí),選擇節(jié)點(diǎn)k進(jìn)行服務(wù),否則從集合Φ中重新選擇服務(wù)節(jié)點(diǎn)。為了保證選擇服務(wù)節(jié)點(diǎn)更加可信,Lik設(shè)定應(yīng)該大于0.6。以上整個(gè)選擇服務(wù)的過程表示如圖2。
為了獎(jiǎng)勵(lì)提供優(yōu)質(zhì)服務(wù)節(jié)點(diǎn),懲罰惡意節(jié)點(diǎn),在得到服務(wù)后,節(jié)點(diǎn)i會(huì)通過服務(wù)質(zhì)量改變自己對(duì)節(jié)點(diǎn)k的信譽(yù)值,當(dāng)獲得優(yōu)質(zhì)服務(wù)時(shí),節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)k的信譽(yù)值增加,從而實(shí)現(xiàn)提供優(yōu)質(zhì)服務(wù)節(jié)點(diǎn)信譽(yù)值的快速增加;當(dāng)服務(wù)失敗時(shí),節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)k信譽(yù)值降低,從而抑制節(jié)點(diǎn)提供較差服務(wù),實(shí)現(xiàn)對(duì)惡意節(jié)點(diǎn)和欺騙節(jié)點(diǎn)的防御。同時(shí)為了確保自薦因子提供可靠服務(wù),它的懲罰因子設(shè)置較大。仿真實(shí)驗(yàn)中對(duì)比了不同激勵(lì)因子與懲罰因子組合下對(duì)信譽(yù)值變化的影響。
為了更好地理解該模型,下面對(duì)模型的性能做簡(jiǎn)要討論。
假定為100個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)規(guī)模情況下,設(shè)節(jié)點(diǎn)i需要的資源為m,假設(shè)30個(gè)節(jié)點(diǎn)(其中包括節(jié)點(diǎn) j)擁有該資源,信譽(yù)的閾值ε為0.6,計(jì)算信譽(yù)值因子α和λ分別為2和
圖2 請(qǐng)求服務(wù)過程圖
2.5 ,任兩節(jié)點(diǎn)間交易次數(shù)閾值θ為20,自薦節(jié)點(diǎn)提供誠實(shí)服務(wù)的可能性為90%,非自薦節(jié)點(diǎn)提供誠實(shí)服務(wù)的可能性為70%,開始i未跟任何節(jié)點(diǎn)交互過,發(fā)生的交易均成功。
在沒有引進(jìn)推拉機(jī)制時(shí),如果要使得i對(duì) j的信譽(yù)值到達(dá)0.6交易次數(shù)在20次以上,需要交互的期望次數(shù)為600次,完成后信譽(yù)值為0.65。如果引進(jìn)推拉機(jī)制,設(shè)β=0.8,自薦節(jié)點(diǎn)數(shù)為5,需要交互的期望次數(shù)為125次,完成后信譽(yù)值為1.55;如果30個(gè)擁有資源的節(jié)點(diǎn)中有10個(gè)自薦節(jié)點(diǎn),則需要交互期望次數(shù)為250次,完成后信譽(yù)值為1.55。
通過以上分析,可以看出推拉協(xié)議能以較少的交易次數(shù)讓某個(gè)自薦節(jié)點(diǎn)獲得較高的信譽(yù)值。伴隨著交互次數(shù)的減少,網(wǎng)絡(luò)流量也相應(yīng)減少。
在PeerSim[14]平臺(tái)下進(jìn)行仿真,為了模擬真實(shí)的網(wǎng)絡(luò),設(shè)計(jì)了幾種類型的節(jié)點(diǎn),即:
(1)自薦節(jié)點(diǎn)。該類節(jié)點(diǎn)大部分是新加入節(jié)點(diǎn),希望為自己累積較高信譽(yù),因此愿意為其他節(jié)點(diǎn)提供優(yōu)質(zhì)服務(wù)。自薦階段總是作為網(wǎng)絡(luò)服務(wù)端的角色。該類節(jié)點(diǎn)的自薦標(biāo)志位為1。考慮到實(shí)際網(wǎng)絡(luò)中可能存在丟包情況,假定它提供服務(wù)成功率為90%。
(2)需求服務(wù)節(jié)點(diǎn)。該類節(jié)點(diǎn)請(qǐng)求服務(wù),并且通過服務(wù)質(zhì)量調(diào)整對(duì)提供服務(wù)節(jié)點(diǎn)的信譽(yù)評(píng)價(jià)。
(3)普通節(jié)點(diǎn)。該類節(jié)點(diǎn)為P2P網(wǎng)絡(luò)中普通節(jié)點(diǎn),即可作為服務(wù)端提供服務(wù),亦可作為客戶端享受服務(wù)。該類節(jié)點(diǎn)上會(huì)初始化部分可信資源與不可信資源,不可信資源占該節(jié)點(diǎn)總資源的20%~50%。
仿真環(huán)境為Intel Core 2.10 GHz,2 GB。基于Eclipse 3.4 上Java實(shí)現(xiàn)的開源的PeerSim仿真平臺(tái)。利用Gnutella協(xié)議,在PeerSim平臺(tái)框架下構(gòu)建一個(gè)仿真的對(duì)等網(wǎng)絡(luò)。引入本文提出的信譽(yù)計(jì)算方法,統(tǒng)計(jì)信息為節(jié)點(diǎn)在仿真過程中與其他節(jié)點(diǎn)進(jìn)行交互的相關(guān)數(shù)據(jù),對(duì)仿真交互總數(shù)以及成功下載次數(shù)等相關(guān)信息進(jìn)行對(duì)比。通過控制協(xié)議中常量因子(如:激勵(lì)因子α、懲罰因子λ、推拉因子β)對(duì)比分析出某個(gè)節(jié)點(diǎn)信譽(yù)值達(dá)到指定值(系統(tǒng)預(yù)設(shè)的信譽(yù)閾值)時(shí)所需要的交互次數(shù)。與其他改進(jìn)模型類似(如PeerTrust考慮了信譽(yù)值的更多影響因子),本文模型實(shí)現(xiàn)的過程也參照了EigenTrust模型。
4.1 達(dá)到固定信譽(yù)值所需交互次數(shù)仿真
信譽(yù)閾值仿真是指通過控制不同的網(wǎng)絡(luò)規(guī)模,對(duì)比不同協(xié)議下使得某個(gè)節(jié)點(diǎn)(假設(shè)為i)對(duì)節(jié)點(diǎn)(假設(shè)為 j)的信譽(yù)值到達(dá)指定的值時(shí)(實(shí)驗(yàn)中設(shè)置為0.7,交互總次數(shù)大于20)需要的交互次數(shù),交互次數(shù)反應(yīng)了網(wǎng)絡(luò)流量情況和交互總時(shí)間,認(rèn)為交互次數(shù)越少則網(wǎng)絡(luò)流量越少,交互次數(shù)越少交互總時(shí)間越短。在仿真中,網(wǎng)絡(luò)中75%的節(jié)點(diǎn)都可以作為服務(wù)節(jié)點(diǎn)進(jìn)行服務(wù),其中有5個(gè)節(jié)點(diǎn)作為自薦節(jié)點(diǎn)。自薦時(shí)間閾值設(shè)為30 min,激勵(lì)因子α為0.9,懲罰因子λ為1,資源總數(shù)為100,對(duì)普通節(jié)點(diǎn)的信譽(yù)值大于0.7時(shí)可以直接選擇該節(jié)點(diǎn)得到服務(wù),在普通服務(wù)節(jié)點(diǎn)初始化以20和5為種子的隨機(jī)可信資源與不可信資源數(shù),在自薦節(jié)點(diǎn)上初始化10個(gè)可信資源。隨機(jī)產(chǎn)生查詢消息,則生產(chǎn)需要資源為自薦節(jié)點(diǎn)上的概率為10%,同時(shí)需考慮每次查詢時(shí)需要考慮到TTL為0時(shí),查詢失敗情況。在網(wǎng)絡(luò)規(guī)模為60的情況下,推拉機(jī)制期望產(chǎn)生的交互次數(shù)為200次(交互次數(shù)/資源為該節(jié)點(diǎn)概率),未加入信譽(yù)時(shí),節(jié)點(diǎn)被選擇為均等的,交互次數(shù)期望為450次。當(dāng)然由于網(wǎng)絡(luò)中鄰居選擇不同,以及資源初始化集中等問題,實(shí)際的交互次數(shù)會(huì)和理論有些許差別?;谕扑]方式下的節(jié)點(diǎn) j更容易被i選擇作為交互節(jié)點(diǎn),它每次都會(huì)提供誠實(shí)服務(wù),所以總交互次數(shù)較少情況下就能獲得較高的信譽(yù)值。圖3所示,橫坐標(biāo)表示網(wǎng)絡(luò)規(guī)模,縱坐標(biāo)表示達(dá)到固定信譽(yù)值的交互總次數(shù),從圖中可以看出本文模型較其他模型有一定的優(yōu)勢(shì),能使節(jié)點(diǎn)迅速達(dá)到設(shè)定信譽(yù)值。
圖3 節(jié)點(diǎn)i對(duì)節(jié)點(diǎn)j信譽(yù)值大于0.7所需要交互次數(shù)
4.2 信譽(yù)值變化對(duì)比仿真
為了了解激勵(lì)因子和懲罰因子變化對(duì)自薦節(jié)點(diǎn)信譽(yù)值變化的影響,通過控制激勵(lì)、懲罰因子,觀察節(jié)點(diǎn)信譽(yù)值變化情況。在仿真中,固定網(wǎng)絡(luò)規(guī)模為70,自薦節(jié)點(diǎn)數(shù)為5,推拉因子β為1,自薦時(shí)間域?yàn)?0 min,資源總數(shù)為100,在普通服務(wù)節(jié)點(diǎn)初始化以20和5為種子的隨機(jī)可信資源與不可信資源數(shù),在自薦節(jié)點(diǎn)上初始化10個(gè)可信資源,改變激勵(lì)因子,懲罰因子,對(duì)比信譽(yù)變化曲線。在設(shè)定參數(shù)時(shí),通過控制因子的權(quán)重,觀察不同權(quán)重組合的激勵(lì)因子與懲罰因子是如何影響信譽(yù)變化的,因此激勵(lì)因子取大于1和小于1的兩個(gè)值(即0.9和1.2),懲罰因子取0.7、1.5、2.0三個(gè)值。將上面不同激勵(lì)因子和懲罰因子進(jìn)行組合得到表1。
表1 控制因子變化情況
通過控制激勵(lì)因子和懲罰因子可以控制信譽(yù)變化情況,激勵(lì)因子越大,成功交易使得信譽(yù)增加值越大,懲罰因子越大,失敗交易使得信譽(yù)值減少越大。如圖4所示,橫坐標(biāo)表示總的交互次數(shù),縱坐標(biāo)表示節(jié)點(diǎn)i對(duì)節(jié)點(diǎn) j的信譽(yù)值,從圖中在激勵(lì)因子相同時(shí),增加幅度相同,懲罰因子越大,信譽(yù)值降低越快;懲罰因子相同時(shí),激勵(lì)因子越大,信譽(yù)值增加得越快。為了更好地防止惡意節(jié)點(diǎn)和欺詐節(jié)點(diǎn),可以將懲罰因子設(shè)為較大,從圖中可以看出第六組數(shù)據(jù)組合在激勵(lì)的基礎(chǔ)上可以起到很好的懲罰效果。
圖4 激勵(lì)、懲罰因子對(duì)信譽(yù)值影響
4.3 下載成功率仿真
下載成功率仿真是指通過控制不同的網(wǎng)絡(luò)規(guī)模,對(duì)比不同協(xié)議下載文件的成功比率。由于信譽(yù)機(jī)制的加入,使得可信節(jié)點(diǎn)更容易被選擇作為提供服務(wù)節(jié)點(diǎn),從而提高下載成功率。在仿真中,網(wǎng)絡(luò)中75%的節(jié)點(diǎn)都可以作為服務(wù)節(jié)點(diǎn)進(jìn)行服務(wù),這些服務(wù)節(jié)點(diǎn)有可能提供欺騙性服務(wù)。同時(shí)在不同網(wǎng)絡(luò)規(guī)模下,推薦節(jié)點(diǎn)數(shù)目始終設(shè)置為5,推薦節(jié)點(diǎn)提供可信服務(wù)。由于推薦節(jié)點(diǎn)數(shù)目一定,所以隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,推薦節(jié)點(diǎn)被選擇的機(jī)會(huì)將降低,當(dāng)推薦節(jié)點(diǎn)被選擇的概率降低時(shí),更多選擇其他不可信節(jié)點(diǎn)作為服務(wù)節(jié)點(diǎn),因此隨著網(wǎng)絡(luò)規(guī)模增加,它的下載成功率將降低。在實(shí)驗(yàn)中,統(tǒng)計(jì)2000次的交互過程中成功交互的比率。如圖5所示,橫坐標(biāo)表示網(wǎng)絡(luò)規(guī)模,縱坐標(biāo)表示下載成功率,從圖中可以看出本文模型較其他模型有一定的優(yōu)勢(shì),由于自薦節(jié)點(diǎn)提供更可靠服務(wù),所以它使得整體的下載成功率更高。
圖5 下載成功率
本文提出了推拉模式下的信譽(yù)模型,該模型考慮到對(duì)于新節(jié)點(diǎn)的特殊處理,加快了愿意提供優(yōu)質(zhì)服務(wù)的新節(jié)點(diǎn)的信譽(yù)積累過程,在推拉模式作用下,很大程度上減少了網(wǎng)絡(luò)消息流量和信譽(yù)計(jì)算量。分析和仿真表明,本文提出的模型在節(jié)點(diǎn)加入獲得較高信譽(yù)值時(shí)間、減少網(wǎng)絡(luò)流量比其他信譽(yù)模型有所提高。該模型具有廣泛的應(yīng)用場(chǎng)景及較好的工程可行性。
下一步將在實(shí)際應(yīng)用中分析該模型的效率,對(duì)比分析多個(gè)控制因子在不同具體應(yīng)用環(huán)境中的最優(yōu)值,嘗試引入自學(xué)習(xí)的相關(guān)技術(shù)以及激勵(lì)和懲罰相關(guān)機(jī)制,構(gòu)建一個(gè)穩(wěn)定高效的原型系統(tǒng)。
[1]Gu Chengjie,Zhang Shunyi,F(xiàn)engHuibin,etal.A novel trust management model for P2P network with reputation and risk evaluation[C]//International Conference on E-Business andE-Government.Washington,DC,USA:IEEE Computer Society,2010,891:3544-3547.
[2]胡寧,皺鵬,朱培棟.基于信譽(yù)機(jī)制的域間路由安全協(xié)同管理方法[J].軟件學(xué)報(bào),2010,21(3):505-515.
[3]Lin Huaiqing,Hu Zhengbin.A fuzzy trust model with punishmentmechanism[C]//2010 2nd InternationalConference on Networks Security,Wireless Communications and Trusted Computing.Washington,DC,USA:IEEE Computer Society,2010,2:158-161.
[4]Yu B,Singh M P.An evidential model of distributed reputation management[C]//Proc of the 1st International Conference on Autonomous Agent and Multi-Agent Systems.Bologna,Italy:[s.n.],2002:294-301.
[5]Kamvar S,Schlosser M.The Eigentrust algorithm for reputation management in P2P networks[C]//12th International Conference on the World Wide Web.Budapest,Hungary:[s.n.],2003:640-651.
[6]LiXiong,Ling Liu.PeerTrust:supporting reputation-based trust for peer-to-peer electronic communities[J].IEEE Transactions on Knowledge and Data Engineering,2004,16(7):843-857.
[7]Rao Shen,Wang Yong,Tao Xiao-ling.The comprehensive trust model in P2P based on improved eigentrust algorithm[C]// 2010 International Conference on Measuring Technology andMechatronics Automation(ICMTMA).Washington,DC,USA:IEEE Computer Society,2010,3:822-825.
[8]Liu Yan,Han Jun.An architectural approach to composing reputation-based rustworthy services[C]//2010 21st Australian SoftwareEngineering Conference.Washington,DC,USA:IEEE Computer Society,2010:117-126.
[9]李景濤,荊一楠.基于相似度加權(quán)推薦的P2P環(huán)境下的信任模型[J].軟件學(xué)報(bào),2007,18(1):157-167.
[10]CornelliF,DamianiP.Choosing reputableserventsin a P2P network[C]//11th International World Wide Web Conference,Honolulu,Hawaii.New York:ACM,2002:7-11.
[11]Damiani E.A reputation-based approach for choosing reliable resource in peer-to-peer networks[C]//2nd ACM Conference on Computers and Communications Security.New York:ACM Press,2002:207-216.
[12]張萌.對(duì)等網(wǎng)絡(luò)流媒體直播調(diào)度策略研究[D].北京:清華大學(xué),2008.
[13]馮健.P2P流媒體關(guān)鍵技術(shù)研究[J].微電子學(xué)與計(jì)算機(jī),2009,26(8):49-54.
[14]Peersim[EB/OL].[2010-04-12].http://peersim.sourceforge.net.
QIN Zhiguang,YANG Yi,YANG Lei,ZHONG Ting
School of Computer Science and Engineering,University of Electronic Science and Technology of China,Chengdu 611731,China
In the existing reputation models,the accumulation of reputation of certain node requires so long a period even if that node provides good services,which influences the positivity of those newly added nodes.Besides,most models composite the global trust value by multiple iteration,and the huge amount of iteration will bring massive computational expense.On account of the above issue,this dissertation proposes a new reputation computing model by introducing the typical push-pull model in streaming media scheduling strategy.The push model can accelerate the trust value accumulation speed of those newly added nodes which provide good services,while the pull model reduces the network flows online and avoids the negative impacts of the iteration computation.Through analysis and simulation,this model can ensure the accuracy of reputation computation,meanwhile,the communication and computation expenses can get improved as well.
reputation;peer;push-pull protocol;iteration
在現(xiàn)有的信譽(yù)模型中,即使節(jié)點(diǎn)積極提供良好的服務(wù),節(jié)點(diǎn)信譽(yù)的累積也需要一個(gè)很長(zhǎng)的周期,影響了新節(jié)點(diǎn)加入網(wǎng)絡(luò)的積極性。此外,大部分模型在合成全局信譽(yù)值時(shí)采用多次迭代的方式,大量的迭代運(yùn)算將導(dǎo)致巨大的計(jì)算開銷。針對(duì)上述問題,通過引入流媒體調(diào)度策略中典型的推拉模式,提出一個(gè)新的信譽(yù)計(jì)算模型。在推模式下,對(duì)于那些新加入且積極提供優(yōu)質(zhì)服務(wù)的節(jié)點(diǎn),可以加快其信譽(yù)累積速度,在拉模式下,減少了網(wǎng)絡(luò)消息流量,避免了迭代計(jì)算的負(fù)面影響。分析及仿真表明,該模型在保證信譽(yù)計(jì)算準(zhǔn)確性的同時(shí),能較大程度改善通信及計(jì)算開銷。
信譽(yù);節(jié)點(diǎn);推拉協(xié)議;迭代
A
TP393
10.3778/j.issn.1002-8331.1108-0237
QIN Zhiguang,YANG Yi,YANG Lei,et al.Using push-pull mode to achieve reputation system in P2P networks.Computer Engineering and Applications,2013,49(5):88-92.
國家自然科學(xué)基金(No.60873075,No.60973118);教育部培育基金(No.708078)。
秦志光(1956—),男,教授,博導(dǎo),研究領(lǐng)域?yàn)樾畔踩粭钜悖?986—),男,碩士生,研究領(lǐng)域?yàn)镻2P信譽(yù)機(jī)制;楊磊(1976—),男,博士生,研究領(lǐng)域?yàn)镻2P信譽(yù)機(jī)制;鐘婷(1977—),女,博士,講師,研究領(lǐng)域?yàn)榉植际骄W(wǎng)絡(luò)。E-mail:547343838@qq.com
2011-08-18
2011-11-29
1002-8331(2013)05-0088-05