李揚波,蔡鵬飛
(河南機電高等專科學校計算機科學與技術系,河南新鄉(xiāng)453000)
基于節(jié)點期望的P2P流媒體動態(tài)帶寬分配研究*
李揚波,蔡鵬飛
(河南機電高等??茖W校計算機科學與技術系,河南新鄉(xiāng)453000)
P2P流媒體網絡中的帶寬分配一直是研究的熱點,文章首先建立了節(jié)點帶寬需求模型,然后以節(jié)點的期望帶寬為基礎,提出了服務器帶寬分配策略和節(jié)點上載帶寬分配算法,對新節(jié)點采用服務器直接連接的方式加大數據下載速度和預取數據量;對普通節(jié)點采用期望帶寬控制實際帶寬方式,使預取數據量多或所觀看視頻碼率低的節(jié)點釋放多余的帶寬,分配給預取數據量少或所觀看視頻碼率高的節(jié)點。通過對實驗結果分析,得出了兩種帶寬分配策略的綜合應用雖會使系統(tǒng)整體性能略有下降,但可以明顯提高系統(tǒng)的平均延遲,且能獲得更低的服務器負載和更短的啟動時延。
P2P;帶寬分配;期望帶寬;服務器負載
近年來,P2P(Peer-to-Peer)流媒體技術飛速發(fā)展,受到了人們越來越多的關注。C/S(客戶機/服務器)模式是互聯網上最常見的一種數據傳遞模式,C/S模式在小數據量和低請求率的情況下可以很好地工作,但隨著網絡用戶數量的激增、網絡信息內容呈爆炸式的增長,加上軟件復雜度的不斷提高,面對大規(guī)模的視頻直播、點播服務,服務器的負擔越來越大,低效率和難擴展性逐漸暴露出來,成為C/S模式網絡性能的瓶頸。這時,P2P流媒體技術應運而生,網絡中的每個節(jié)點,無論其能力大小,既可以充當服務器提供服務,也可以充當客戶機享用其他節(jié)點提供的服務,每個節(jié)點都是對等的,節(jié)點之間可以進行直接的連接和通信,所有節(jié)點分布式地組成一個整體網絡[1]。P2P流媒體技術可以發(fā)揮每個網絡節(jié)點的潛能,充分利用網絡帶寬和網絡存儲空間,提高系統(tǒng)效率,極大地滿足了互聯網用戶實時享受多媒體服務的要求。
1.1 節(jié)點帶寬需求模型
P2P流媒體系統(tǒng)中,由于節(jié)點會頻繁地上下線以及節(jié)點帶寬的差異性,如何提高P2P流媒體系統(tǒng)中節(jié)點間上載帶寬的有效利用以及合理分配,是我們要解決的主要問題。文獻[2][3]提出了最大化地利用P2P網絡中各個節(jié)點的上載帶寬,以提高系統(tǒng)的總上載能力。文獻[4]提出了基于節(jié)點優(yōu)先級的上載帶寬分配機制,即將上載帶寬優(yōu)先分配給高優(yōu)先級的節(jié)點,以確保這部分節(jié)點的服務質量。而P2P流媒體系統(tǒng)中視頻碼率的差異性很大,可大致分為三類:超清、高清和標清視頻,這三類視頻的平均碼率分別為1500Kbps、1000Kbps及500Kbps。觀看不同碼率視頻的節(jié)點需要相應的下載速度。另外視頻多采用VBR(可變碼率)編碼。因此,找出節(jié)點所需求的帶寬與視頻碼率、節(jié)點預取數據量以及演播流暢度與期望帶寬(節(jié)點為維持給定的演播流暢度而期望得到的帶寬資源)之間的數學關系是設計動態(tài)帶寬分配算法的前提和關鍵所在。
根據文獻[5]的首次中斷時概率密度以及文獻[6]關于沒有發(fā)生中斷的概率的推論,得出了流暢度的數學表達式,即
F=1-exp[-2(μ-ν)b/(σ2+δ2)] (1)
在式(1)中,F為流暢度,μ和v分別為平均下載速度和平均視頻演播碼率;b為預取數據量,σ2和δ2分別為下載速度和演播碼率的方差。對式(1)進行恒等變形可得
式(2)中的μ為期望帶寬(即期望的平均下載速度),如果下載速度與演播碼率是恒定的,即參數σ2和δ2都為0,那么可得下式
由式(3)可以看出,如果下載速度與演播碼率是恒定的,只要下載速度等于演播碼率,就可以實現流暢播放。然而,節(jié)點下載速度與視頻演播碼率都是時變的,為了克服二者的動態(tài)性帶來的不利影響,期望帶寬必須大于平均演播碼率。因此期望帶寬包含了兩部分,第一部分與視頻碼率相關,第二部分與下載速度及視頻碼率的動態(tài)性相關。從可以看出,流暢度是期望帶寬的增函數,流暢度越高,期望帶寬越大,且預取數據量是期望帶寬的減函數,預取數據量越大,期望帶寬越小。
1.2 服務器帶寬分配策略
根據對節(jié)點帶寬需求模型分析可知,視頻流暢度與下載速度和預取數據量相關,然而當新節(jié)點加入P2P網絡時,需要尋找鄰居節(jié)點,在建立了部分鄰居關系后,節(jié)點就開始從這些鄰居節(jié)點中接受媒體數據量,直到預取數據量填充到一定比例,再開始緩沖播放。一旦切換頻道,又需要重新加入新的頻道子網,重新填充預取數據量,節(jié)點的下載速度和預取數據量僅靠普通節(jié)點很難達到理想值,因此節(jié)點的播放延遲總體上比較高[7],影響了用戶的觀看體驗。為了讓新加入P2P流媒體網絡的節(jié)點在視頻播放初期得到更高的下載速度、更大的預取數據量、減少延遲時間,P2P流媒體系統(tǒng)一般還需要服務器的參與,我們首先對新節(jié)點采用服務器帶寬分配策略:新節(jié)點加入網絡時與服務器相連,由服務器發(fā)送大部分的數據,減少播放延遲,待新節(jié)點的預取數據量達到期望值時,新節(jié)點會轉變?yōu)槠胀ü?jié)點,與服務器斷開連接,釋放帶寬。此策略雖然解決了播放延遲問題,但是由于服務器帶寬被新加入的節(jié)點直接占用,必然帶來整體性能的下降,因此還需要控制服務器鄰居中新節(jié)點所占帶寬的比例,當新節(jié)點占用帶寬超出某預設比例時,此后的新節(jié)點就不能再直接與服務器相連,當比例低于預差。計算公式為:,其中,μi與^μi分別為節(jié)點在同一時刻的實際下載速度和期望下載速度,n為下載數據的個數,^σ2為下載速度的無偏抽樣方差。
(4)計算期望帶寬,計算公式為:^μ=ν+(^σ2+δ2)*loge(1/(1-F))/2b,式中,v和δ2分別為視頻播放碼率的均值和方差;b為預取數據量;F為流暢度,可以取任何介于0和1之間的實數值;^σ2為下載速度的無偏抽樣方差;^μ為節(jié)點當前的期望帶寬。
(5)如果節(jié)點的期望帶寬^μ大于其物理下載帶寬,則令期望帶寬^μ等于節(jié)點的物理下載帶寬。
以期望帶寬作為依據,請求節(jié)點動態(tài)調整其向鄰居節(jié)點發(fā)送數據塊請求的頻率,以使得實際下載速度與期望下載速度(即期望帶寬)保持一致。如果實際下載速度高于期望下載速度,節(jié)點則相應地降低其發(fā)送數據塊請求的頻率;如果實際下載速度低于期望下載速度,節(jié)點則提高其發(fā)送數據塊請求的頻率。設時,則可以重新接受新節(jié)點。
1.3 節(jié)點帶寬分配算法
當新節(jié)點轉變?yōu)槠胀ü?jié)點后會逐漸斷開與服務器的連接,更多的數據傳遞發(fā)生在節(jié)點與鄰居節(jié)點之間。由于視頻碼率的多樣性、節(jié)點帶寬的異構性以及預取策略的無限制性,使用貪心策略會造成上載帶寬分配的不公平,即高下載帶寬節(jié)點占用過多的上載帶寬,而低下載帶寬節(jié)點所分配的上載帶寬卻嚴重不足。基于式(1)和式(2),設計了基于節(jié)點期望的動態(tài)帶寬分配算法。為預取數據量小或視頻碼率高的節(jié)點多分配一些上載帶寬;避免預取數據量大或視頻碼率低的節(jié)點占用過多的上載帶寬。同時,以分布式這種方式實現上載帶寬在不同節(jié)點之間的動態(tài)分配,以提高系統(tǒng)的魯棒性和可擴展性。具體算法如下:
(1)統(tǒng)計硬盤上已下載但還沒有播放的連續(xù)視頻數據,得到預取數據量b。
(2)如果預取數據量b為0,則令期望帶寬^μ等于節(jié)點的物理下載帶寬,即以最大的下載速度迅速填充空的緩沖區(qū);否則轉到第(3)步。
(3)通過歷史數據計算下載速度的無偏抽樣方
為了評估服務器帶寬分配策略和節(jié)點帶寬分配算法的性能,設計了一個P2P模擬仿真系統(tǒng),采用Internet多子網環(huán)境,CISC架構服務器,視頻與節(jié)點的數目分別為50個和500個,默認鄰居節(jié)點是15個,視頻碼率的平均值和標準差分別為500Kbps和150Kbps。每個節(jié)點能存儲10個視頻的副本且每個節(jié)點能同時最多將10個視頻副本上載給其他節(jié)點,仿真時長500s。
圖1、2給出了服務器帶寬分配策略對系統(tǒng)的整體影響??梢钥闯龃瞬呗允沟镁W絡整體的質量和平均延遲出現了不同程度的降低。這主要是因為對服務器鄰居的選擇不同,與原始近似最優(yōu)選擇相比,新節(jié)點加入P2P流媒體網絡后采用直接與服務器連接,能獲得較高的下載速度和更大的預取數據量,對減少延遲有著較明顯的效果,但隨著新節(jié)點的增多,伴隨著新節(jié)點本身性能的不確定性,必然會對整個網絡的數據推送情況造成影響,而一旦新節(jié)點所占比例達到預期值,整個網絡的總體質量也將趨于穩(wěn)定。
圖1 服務器帶寬分配策略對總體平均質量的影響
圖2 服務器帶寬分配策略對平均延遲的影響
圖3、4給出了節(jié)點帶寬分配算法和傳統(tǒng)的貪心策略對于服務器負載以及啟動延時的影響。從圖3可以看出,服務器負載都在起始時刻快速上升達到最高點,之后逐漸下降,最終趨于平穩(wěn)。這主要是由于剛開始新節(jié)點緩存幾乎為空,會頻繁地與服務器建立連接下載數據,因此服務器負載很高,隨著這些節(jié)點的預取數據量增大,它們會逐漸斷開與服務器的連接,轉而從其他鄰居節(jié)點下載數據,所以服務器的負載會在到達頂峰后逐漸下降,并最終基本保持恒定。而節(jié)點帶寬分配算法是依據數學模型計算出期望帶寬,并依據該數值調控其實際下載速度,實現對上載帶寬的合理分配,是一種自我約束式的帶寬分配算法,通信開銷較小,最終的服務器負載較小。從圖4可以看出,節(jié)點帶寬分配算法的啟動延時集中在2.5秒;而貪心策略對應的啟動延時集中在3.5秒左右。顯然,節(jié)點帶寬分配算法的平均啟動延時要小于貪心算法。
圖3 節(jié)點帶寬分配策略與貪心策略的服務器負載
圖4 節(jié)點帶寬分配策略與貪心策略的啟動延時
P2P流媒體網絡是分布式系統(tǒng)和計算機網絡相結合的產物,打破了過去傳統(tǒng)的數據傳輸C/S模式,充分利用了網絡資源和服務能力,以減輕中心服務器的帶寬壓力,讓所有的網絡成員享受“自由,平等,互聯”的功能。本文以P2P流媒體系統(tǒng)中節(jié)點間上載帶寬的有效利用以及合理分配為研究目標,首先建立了節(jié)點所需求的帶寬與視頻碼率、節(jié)點預取數據量以及演播流暢度與期望帶寬的數學模型,然后從服務器帶寬分配策略和節(jié)點帶寬分配策略兩個方面對P2P流媒體網絡中的節(jié)點進行動態(tài)帶寬分配,在新節(jié)點加入P2P網絡時,采用與服務器直接連接的方式盡快獲得預取數據量,減少播放延遲,待新節(jié)點建立完整的鄰居節(jié)點關系后,釋放服務器帶寬,并根據節(jié)點的期望帶寬來動態(tài)調節(jié)節(jié)點的上載帶寬,使預取數據量多或所觀看視頻碼率低的節(jié)點釋放多余的帶寬,以便分配給預取數據量少或所觀看視頻碼率高的節(jié)點。通過仿真實驗表明,服務器帶寬分配策略雖會使系統(tǒng)整體性能略有下降,但卻可以明顯提高系統(tǒng)的平均延遲;節(jié)點帶寬分配算法與傳統(tǒng)的貪心策略相比,既能縮短節(jié)點的啟動延時又能降低服務器的帶寬消耗,但是也會帶來一個問題,就是上載帶寬的利用率不高,如何配合其他策略綜合使用,進一步提高上載帶寬的利用率,是接下來繼續(xù)研究的方向。
(責任編輯 呂春紅)
[1]Alessandra Carta,Marco Mellia,Michela Meo,et al.Efficient Uplink Bandwidth Utilization inP2P-TV Streaming Systems[C].IEEE GLOBECOM 2010.Miami:IEEE,2010:6p.
[2]Tzu-Meng Chung,Shih-Chieh Huang,Chung-Ta King,et al.Optimising upload bandwidth for Quality of VCR operations in P2P VoD systems[J].International Journal of Ad Hoc and Ubiquitous Computing,2010,5(4):198-223.
[3]戴瑾,譚良良,王欽輝,袁征帆,葉保留.一種基于聚類算法的P2P流媒體服務平臺可視化監(jiān)控系統(tǒng)的設計與實現[J].微電子學與計算機,2012,(12):184-188.
[4]Jonathan E.Ingersoll,Jr.Theory of financial decision making[M].New Haven:Rowman &Littlefield Publishers,1987.
[5]J.Michael.Harrison.Brownian motion and stochastic flow systems[M].New York:Krieger Publishing Company,1985.
[6]林予松,崔勇,王宗敏.P2P流媒體系統(tǒng)中基于網絡坐標的拓撲優(yōu)化研究[J].計算機應用與軟件,2011,(6):112-115.
[7]楊春德,鐘振宇.面向P2P流媒體基于Mesh優(yōu)先的應用層組播算法[J].計算機應用,2011,(6):11-14.
The Research of P2P Streaming Media Dynamic Bandwidth Allocation based on the node expected
LI Yang-bo,et al
(Department of Computer Science and Technology,Henan Mechanical and Electrical EngineeringCollege,Xinxiang 453000,China)
P2P streaming media network bandwidth allocation has been the research hotspot.This paper develops a node bandwidth demand model,and then,with the expectations of the node based on bandwidth,and put forward the server bandwidth allocation strategy and node upload bandwidth allocation algorithm;the new node can increase the data download speeds and prefetchedcontent by directly connecting server;The common nodes control actual bandwidth with expected bandwidth,the nodeshaving more prefetchedcontent and lower video code rate release excess bandwidth to assign the nodes having less prefetchedcontent and higher video code rate.The application of two kinds of bandwidth allocation strategy show that the system overall performance will drop slightly by experimentation,but can significantly improve the system average delay,and can obtain more low server load and shorter start time delay.
P2P;bandwidth allocation;expected bandwidth;server load
TP393
A
1008-2093(2015)01-0022-04
2014-12-25
河南省高等學校教學工程項目(豫教高2012[1099]號);河南省教育廳科學技術重點研究項目(13A520221,14A520045)
李揚波(1982-),男,河南新鄉(xiāng)人,講師,碩士,主要從事計算機應用、數字媒體技術研究。