基于效用優(yōu)化的p2p文件共享網(wǎng)絡(luò)帶寬公平分配算法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種基于效用優(yōu)化的P2P文件共享網(wǎng) 絡(luò)帶寬公平分配算法。
【背景技術(shù)】
[0002] 近幾年來,P2P文件共享應(yīng)用成為P2P技術(shù)最廣泛和最成功的應(yīng)用之一,占據(jù)了 Internet網(wǎng)絡(luò)的大部分流量。在傳統(tǒng)的基于C/S模式的文件共享系統(tǒng)中,用戶需要將分享的 文件先上傳到中心服務(wù)器,其它需要獲取文件的用戶與中心服務(wù)器建立聯(lián)系以下載該文 件。這種簡單的方式使得互聯(lián)網(wǎng)用戶之間實(shí)現(xiàn)了文件共享,但文件資源的集中存儲及頻繁 的上傳下載浪費(fèi)了大量的服務(wù)器資源(帶寬資源、計(jì)算資源及存儲資源),而且隱藏著單點(diǎn) 失效的可能性,中心服務(wù)器一出現(xiàn)問題,整個文件共享系統(tǒng)將不可使用。而在基于P2P技術(shù) 的文件共享網(wǎng)絡(luò)中,用戶無需將文件上傳至中心服務(wù)器,文件存儲在位于不同地理位置的 不同用戶電腦中,而該用戶可直接與其它用戶進(jìn)行分享,從提供文件共享的該用戶電腦中 直接獲得所需文件資源下載,這樣不僅節(jié)約了服務(wù)器的帶寬資源,而且提高了文件共享系 統(tǒng)的可靠性、魯棒性、可擴(kuò)展性。
[0003] P2P文件共享系統(tǒng)中,用戶間通常都會建立多個并發(fā)連接同時下載或上傳相同文 件的不同分片。這種方式提高了文件共享系統(tǒng)的文件傳輸效率,也在一定程度上提高了網(wǎng) 絡(luò)帶寬的利用率,但同時也對傳統(tǒng)的擁塞控制機(jī)制和公平資源分配帶來了挑戰(zhàn)。傳統(tǒng)的擁 塞控制的目標(biāo)只在于讓每個TCP連接友好,認(rèn)為如果N個會話同時共享瓶頸鏈路,那么每個 會話應(yīng)該分得鏈路傳輸能力的1/N。而在P2P文件共享系統(tǒng)中,某些自私用戶(客戶端)為了 加快文件下載速度,通過建立多個TCP連接從而增加連接數(shù)來搶占大量的帶寬資源,造成了 網(wǎng)絡(luò)帶寬資源在用戶之間分配的嚴(yán)重不公平性,也導(dǎo)致其它傳統(tǒng)互聯(lián)網(wǎng)應(yīng)用的性能和服務(wù) 質(zhì)量下降,同時也極大地增加了底層傳輸網(wǎng)絡(luò)的負(fù)擔(dān)。
[0004] 因此,需要解決文件共享系統(tǒng)和傳統(tǒng)互聯(lián)網(wǎng)應(yīng)用以及網(wǎng)絡(luò)運(yùn)營商之間的矛盾,保 證在不損害雙方利益的前提下盡量達(dá)到雙贏,實(shí)現(xiàn)網(wǎng)絡(luò)帶寬資源在用戶之間的公平合理分 配,這也是保證網(wǎng)絡(luò)快速健康發(fā)展的重要基礎(chǔ)。本發(fā)明則從效用優(yōu)化的角度分析了 P2P文件 共享網(wǎng)絡(luò)資源的最優(yōu)分配,保障請求文件下載服務(wù)的用戶獲得一定滿意度的同時,確保帶 寬資源在用戶之間公平有效分配,從而保證為用戶提供所需同時具有一定質(zhì)量保證的文件 下載服務(wù)。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明目的在于提供一種以最優(yōu)化用戶滿意度為目標(biāo)、帶寬分配公平合理、方法 簡單有效的基于效用優(yōu)化的P2P文件共享網(wǎng)絡(luò)帶寬公平分配算法。
[0006] 為實(shí)現(xiàn)上述目的,采用了以下技術(shù)方案:
[0007] 本發(fā)明算法主要包括P2P文件共享網(wǎng)絡(luò)、文件請求者s以及文件提供者p,在P2P文 件共享網(wǎng)絡(luò)中,對每個用戶的接入鏈路進(jìn)行定價,根據(jù)鏈路上的流量情況動態(tài)調(diào)整鏈路價 格,而文件提供者P在為文件請求者S提供文件下載服務(wù)時,根據(jù)文件請求者S當(dāng)前的下載速 率和接入鏈路收取的價格,動態(tài)調(diào)整文件提供者P的上傳帶寬在文件請求者之間的公平分 配,最終實(shí)現(xiàn)所有文件提供者帶寬的最優(yōu)分配。
[0008] 進(jìn)一步的,所述帶寬公平分配算法的步驟如下:
[0009] 步驟1,P2P文件共享網(wǎng)絡(luò)中,在t時刻,文件提供者p為每一個文件請求者s初始化 下載速率xps ( t ),文件請求者S的下載鏈路初始化收取的價格心(t),文件提供者p的上傳鏈 路初始化收取的價格yp(t);
[0010]步驟2,如果此時xps(t)已經(jīng)是原優(yōu)化問題PP的最優(yōu)點(diǎn),那么得到文件請求者S的最 優(yōu)帶寬分配,則算法停止;否則向下進(jìn)入步驟3;
[0011] 步驟3,文件請求者S根據(jù)為其提供文件下載服務(wù)的所有提供者P(s)分配的帶寬計(jì) 算得到調(diào)節(jié)因子k(t),|ps(t)是使近似優(yōu)化問題AP逼近原優(yōu)化問題PP的調(diào)節(jié)因子;
[0012] 步驟4,文件提供者p根據(jù)文件請求者s在t時刻獲得的下載速率xps (t)、文件請求者 s的下載鏈路收取的價格心(t)、文件提供者p的上傳鏈路收取的價格yP( t),調(diào)整t+1時刻為 文件請求者s分配的下載速率xps (t+1);
[0013] 步驟5,文件請求者s的下載鏈路更新t+1時刻收取的價格心(t+1);文件提供者p的 上傳鏈路更新t+1時刻收取的價格%(丨+1);
[0014] 步驟6,若此時t+1時刻的下載速率xps(t+l)不是近似優(yōu)化問題AP的最優(yōu)點(diǎn),則進(jìn)入 步驟4重新計(jì)算;若此時t+1時刻的下載速率 Xps(t+1)是近似優(yōu)化問題AP的最優(yōu)點(diǎn),則進(jìn)入步 驟2,迭代直至得到原優(yōu)化問題PP的最優(yōu)點(diǎn);
[0015]步驟7,當(dāng)有新的文件提供者或文件請求者加入或者原有的文件提供者或文件請 求者退出,則上述迭代過程重新進(jìn)行以達(dá)到新的最優(yōu)點(diǎn)。
[0016]進(jìn)一步的,在步驟2中,所述原優(yōu)化問題PP為P2P文件共享網(wǎng)絡(luò)帶寬分配模型:
f \
[0018]其中,11化)=££^ ^]心+(1-£)^]以4(¥>,向量心=(仏,他,...,¥), \ p.'p&P{s、 ) p::p&Pis:) Xps是文件提供者P為文件請求者S提供的下載速率,Us( ?)是文件請求者s的效用函數(shù),ee [0,i]是耦合因子,^是文件請求者S的下載鏈路帶寬,q是文件提供者p的上傳鏈路帶寬, S是文件請求者集合,P是文件提供者集合,P(s)是為文件請求者seS提供下載服務(wù)的文件 提供者集合;S(p)是文件提供者pep提供下載服務(wù)的所有文件請求者集合。
[0019]進(jìn)一步的,在步驟3中,所述近似優(yōu)化問題AP為P2P文件共享網(wǎng)絡(luò)帶寬分配模型PP 的近似等價模型: AP max ^U(x^;^) s:se.S- subject to V .xps < C^. ,:s: '^ S [0020] p,p(、、 Z v A.^! cS(p) over >〇./?e P, s e S.
[0021] 其中
,向量Xs=(Xls,X2s,? ? ?,xps), Xps是文件提供者P為文件請求者S提供的下載速率,Us( ?)是文件請求者s的效用函數(shù),ee [0,i]是耦合因子,iPS是調(diào)節(jié)因子,cf是文件請求者S的下載鏈路帶寬,q是文件提供者 p 的上傳鏈路帶寬,S是文件請求者集合,P是文件提供者集合,P( s)是為文件請求者s e S提供 下載服務(wù)的文件提供者集合;S(p)是文件提供者pep提供下載服務(wù)的所有文件請求者集 合。
[0022] 進(jìn)一步的,在步驟3中,調(diào)節(jié)因子|ps(t)的計(jì)算式如下:
[0024]式中,p是文件提供者;s是文件請求者;P(s)是為s提供文件下載服務(wù)的所有文件 提供者集合;xps(t)是文件提供者p為文件請求者s分配的下載速率;|ps(t)是使近似優(yōu)化問 題AP逼近原優(yōu)化問題PP的調(diào)節(jié)因子。
[0025] 進(jìn)一步的,在步驟4中,t+1時刻文件提供者p為文件請求者s分配下載速率Xps(t+1) 的計(jì)算式如下;
[0026] -V(-+!) = (-V(〇 + K"-V'/;)) {i)~ (? )
[0027] 式中,xps(t)是t時刻文件提供者p為文件請求者s分配的下載速率;As(t)是文件請 求者s的下載鏈路收取的價格;y P(t)是文件提供者p的上傳鏈路收取的價格;ws是文件請求 者s愿意支付的費(fèi)用;k(t)是使近似優(yōu)化問題AP逼近原優(yōu)化問題PP的調(diào)節(jié)因子;£是效用優(yōu) 化模型的耦合系數(shù);k是算法迭代步長,且k>〇;參數(shù)a>〇是公平性指標(biāo),當(dāng)a = l時,實(shí)現(xiàn)用戶 之間資源分配的比例公平性,當(dāng)a = 2時,實(shí)現(xiàn)用戶之間資源分配的調(diào)和平均公平性,當(dāng)a- ~,則實(shí)現(xiàn)用戶之間資源分配的最大最小公平性;
[0028] \ (B1) = (0 十找網(wǎng)(0((<:(0+ (1 -S)) xpi
[0029 ]若Xps ⑴ >〇,則~眾 +1) = & (,) + (/) ((% (/) + (】-£)) (,)-毛眾)-~;
[0030] 若 Xps(t)=0,則~0+..1). = ?&\{〇,.\)"〇 + %"〇((<(〇 + (1 - £化
[0031] 進(jìn)一步的,在步驟5中,t+1時刻文件請求者s的下載鏈路收取的價格心(^+1)利用 如下計(jì)算式進(jìn)行更新: