專(zhuān)利名稱(chēng):可以防止瞬間擁塞的p2p流媒體直播方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種利用P2P技術(shù)來(lái)實(shí)現(xiàn)視頻流媒體直播的方法。該方法具有能防止P2P流媒體直播系統(tǒng)中常見(jiàn)的瞬間擁塞問(wèn)題的功能。
背景技術(shù):
P2P (peer-to-peer)技術(shù),或稱(chēng)對(duì)等聯(lián)網(wǎng)技術(shù),是一種用于在不同PC用戶(hù)之間,不
經(jīng)過(guò)中繼設(shè)備直接交換數(shù)據(jù)或者服務(wù)的技術(shù)。對(duì)等網(wǎng)絡(luò)中的節(jié)點(diǎn)具有客戶(hù)端和服務(wù)器端雙
重特征,可同時(shí)作為服務(wù)的使用者和提供者。P2P技術(shù)不僅可以利用服務(wù)器的資源,同時(shí)能
合理地使用終端計(jì)算機(jī)的空閑資源,用戶(hù)在觀(guān)看媒體節(jié)目的同時(shí),也在利用自身計(jì)算機(jī)所
空閑的資源為其他用戶(hù)提供服務(wù)?,F(xiàn)在P2P技術(shù)正廣泛應(yīng)用于互聯(lián)網(wǎng)媒體直播。 當(dāng)網(wǎng)絡(luò)中存在過(guò)多的報(bào)文時(shí),網(wǎng)絡(luò)的性能會(huì)下降,這種現(xiàn)象稱(chēng)為擁塞。擁塞的表現(xiàn)
形式為發(fā)送端吞吐量下降,分組的時(shí)延增加,在路由器中分組的丟棄概率增大等等。若在
擁塞產(chǎn)生后,網(wǎng)絡(luò)不采取措施控制,擁塞將會(huì)繼續(xù)蔓延,最終導(dǎo)致部分網(wǎng)絡(luò)癱瘓,即發(fā)生了
擁塞崩潰。 瞬間擁塞是P2P流媒體直播過(guò)程中經(jīng)常遇到的一個(gè)問(wèn)題。瞬間擁塞描述的是在很短的時(shí)間內(nèi)大量的網(wǎng)絡(luò)請(qǐng)求發(fā)送給同一服務(wù)器節(jié)點(diǎn)的現(xiàn)象。大量用戶(hù)同時(shí)突發(fā)傳輸數(shù)據(jù)造成功率峰值瞬間疊加,系統(tǒng)負(fù)載超過(guò)估計(jì),達(dá)到警戒區(qū)。這種現(xiàn)象的危害在于有可能因?yàn)楹谋M服務(wù)器的資源而導(dǎo)致該服務(wù)器的響應(yīng)時(shí)間大幅度增加,甚至引起服務(wù)器崩潰。對(duì)于服務(wù)使用者而言,瞬間擁塞將造成等待時(shí)間的大幅度增加,并且視頻收看流暢度受到影響。
經(jīng)檢索發(fā)現(xiàn),目前利用互聯(lián)網(wǎng)進(jìn)行流媒體直播的各主流P2P系統(tǒng),如PPLive、QQLive、 PPStream等視頻直播共享系統(tǒng),都沒(méi)有針對(duì)瞬間擁塞問(wèn)題的解決策略。在瞬間擁塞發(fā)生的情況下,用戶(hù)將經(jīng)歷較長(zhǎng)的啟動(dòng)時(shí)間,即用戶(hù)需要等待較長(zhǎng)時(shí)間才能看到所需流媒體的內(nèi)容。 本發(fā)明填補(bǔ)了這個(gè)技術(shù)空白,將有效解決視頻流媒體直播瞬間擁塞帶來(lái)的各種問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是,在瞬間擁塞存在的情況下,為用戶(hù)提供啟動(dòng)時(shí)間短、播放流暢的流媒體直播服務(wù),有效緩解上述在P2P流媒體直播中常見(jiàn)的,使用戶(hù)經(jīng)歷較長(zhǎng)等待時(shí)間的瞬間擁塞問(wèn)題。 舉一個(gè)簡(jiǎn)單的例子來(lái)說(shuō)明瞬間擁塞帶來(lái)的危害。例如一個(gè)經(jīng)營(yíng)P2P流媒體直播的運(yùn)營(yíng)商提供世界杯決賽的直播服務(wù)。在比賽開(kāi)始前的io分鐘內(nèi),數(shù)以萬(wàn)計(jì)的網(wǎng)絡(luò)用戶(hù)試圖加入此P2P網(wǎng)絡(luò)以觀(guān)看視頻直播。通常情況下,一個(gè)P2P系統(tǒng)包含一個(gè)處理用戶(hù)請(qǐng)求的中心服務(wù)器,所有加入網(wǎng)絡(luò)的請(qǐng)求都會(huì)發(fā)送給這個(gè)服務(wù)器,并由服務(wù)器進(jìn)行相應(yīng)處理。短時(shí)間內(nèi)聚集的大量請(qǐng)求將削弱該中心服務(wù)器的性能,這使得該中心服務(wù)器為用戶(hù)在整個(gè)P2P網(wǎng)絡(luò)中安排一個(gè)合適的位置變得非常困難,從而導(dǎo)致用戶(hù)將經(jīng)歷很長(zhǎng)的緩沖時(shí)間。
3出一種基于P2P技術(shù)的網(wǎng)絡(luò)視頻流直播方法,消除P2P流媒體直播 系統(tǒng)中瞬間擁塞發(fā)生時(shí),用戶(hù)必須等待較長(zhǎng)緩沖等待時(shí)間的問(wèn)題。 為實(shí)現(xiàn)上述目的所采用的技術(shù)方案是,通過(guò)啟動(dòng)模塊使用戶(hù)快速的加入系統(tǒng),減 少用戶(hù)的等待時(shí)間,并緩解瞬間擁塞現(xiàn)象;通過(guò)拓?fù)渖赡K使整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)更加 合理化,且不影響用戶(hù)的觀(guān)看;通過(guò)子網(wǎng)合并模塊使整個(gè)網(wǎng)絡(luò)由半分布式轉(zhuǎn)化為完全分布 式,由中心服務(wù)器接管,完成工作。 本發(fā)明利用內(nèi)容分發(fā)服務(wù)器來(lái)避免瞬間擁塞的發(fā)生。內(nèi)容分發(fā)服務(wù)器接收由中心 服務(wù)器分配的新加入用戶(hù),然后為其提供服務(wù)。在啟動(dòng)模塊工作過(guò)程中,通過(guò)快速合理的分 配,將新加入系統(tǒng)的用戶(hù)分配給離其最"近"(以端到端的傳輸延遲為判斷依據(jù))的內(nèi)容分 發(fā)服務(wù)器,由該服務(wù)器為此用戶(hù)提供流媒體的傳輸服務(wù)。 當(dāng)負(fù)責(zé)處理新用戶(hù)加入的中心服務(wù)器收到一個(gè)來(lái)自新用戶(hù)的加入請(qǐng)求之后,中心 服務(wù)器迅速將其分配給離這個(gè)用戶(hù)最"近"(以端到端的傳輸延遲為判斷依據(jù))的內(nèi)容分發(fā) 服務(wù)器,由該服務(wù)器暫時(shí)為這個(gè)用戶(hù)提供服務(wù)。這樣就避免了由中心服務(wù)器自身為所有用 戶(hù)提供服務(wù)而導(dǎo)致的整個(gè)網(wǎng)絡(luò)性能下降,從而緩解了瞬間擁塞的現(xiàn)象。經(jīng)過(guò)一段時(shí)間以后, 絕大多數(shù)用戶(hù)的請(qǐng)求都得到了滿(mǎn)足,并且要求加入系統(tǒng)的新用戶(hù)的數(shù)量也在逐漸減少。這 標(biāo)志著瞬間擁塞現(xiàn)象已經(jīng)消除,系統(tǒng)趨于穩(wěn)定。本發(fā)明采用由卡內(nèi)基梅隆大學(xué)發(fā)明的全球 網(wǎng)絡(luò)定位系統(tǒng)GNP(Global Network Positioning)實(shí)現(xiàn)上述的快速分配。
當(dāng)網(wǎng)絡(luò)趨于穩(wěn)定之后,拓?fù)渖赡K開(kāi)始工作。每一個(gè)內(nèi)容分發(fā)服務(wù)器將接受自 己服務(wù)的用戶(hù)組織成一個(gè)P2P網(wǎng)絡(luò),用戶(hù)之間可以互相傳遞內(nèi)容,從而大幅度減少內(nèi)容分 發(fā)服務(wù)器的負(fù)擔(dān)。本系統(tǒng)適用于任意的拓?fù)渖伤惴?,即在拓?fù)渖蛇^(guò)程中可以使用任意 現(xiàn)存的算法組成P2P網(wǎng)絡(luò)。 本發(fā)明中,在內(nèi)容分發(fā)服務(wù)器用戶(hù)間的P2P網(wǎng)絡(luò)的生成過(guò)程中存在一個(gè)叫做延遲 差異的問(wèn)題會(huì)影響用戶(hù)觀(guān)賞的流暢性,本發(fā)明通過(guò)調(diào)節(jié)流媒體的播放速率來(lái)達(dá)到消除延遲 差異的目的,從而確保了用戶(hù)觀(guān)賞的流暢性。即在網(wǎng)絡(luò)生成過(guò)程不對(duì)用戶(hù)觀(guān)賞造成影響。速 率調(diào)節(jié)可以在客戶(hù)機(jī)上實(shí)現(xiàn),所以系統(tǒng)支持任意數(shù)量并發(fā)的速率調(diào)節(jié),無(wú)需等待服務(wù)器指 令,大幅度減少用戶(hù)加入P2P網(wǎng)絡(luò)的等待時(shí)間。拓?fù)渖赡K工作的結(jié)果為,每一個(gè)用戶(hù)都 加入了為這個(gè)用戶(hù)提供服務(wù)的內(nèi)容分發(fā)服務(wù)器所組織的P2P網(wǎng)絡(luò)。我們稱(chēng)這些P2P網(wǎng)絡(luò)為 P2P子網(wǎng)。在拓?fù)渖赡K工作過(guò)程中,用戶(hù)觀(guān)賞內(nèi)容的流暢性不會(huì)受到影響。
在拓?fù)渖赡K工作結(jié)束之后,系統(tǒng)即由若干個(gè)P2P子網(wǎng)組成,且子網(wǎng)的數(shù)量與 內(nèi)容分發(fā)服務(wù)器的數(shù)量相同。下一步操作將上述P2P子網(wǎng)合并為一個(gè)整體的P2P網(wǎng)絡(luò),使 所有內(nèi)容分發(fā)服務(wù)器可以退出服務(wù),從而達(dá)到節(jié)省資源的目的,即子網(wǎng)合并模塊開(kāi)始工作。
合并兩個(gè)P2P子網(wǎng)的基本操作為切斷與其中一個(gè)內(nèi)容分發(fā)服務(wù)器直接相連的用 戶(hù)與這個(gè)內(nèi)容分發(fā)服務(wù)器的連接,將這些用戶(hù)與另一個(gè)P2P子網(wǎng)中有剩余容量(residual capacity)的用戶(hù)相連接。在子網(wǎng)合并模塊工作過(guò)程中,用戶(hù)觀(guān)賞的流暢性不會(huì)受到影響。 以此類(lèi)推,直至所有P2P子網(wǎng)合并完畢,所有內(nèi)容分發(fā)服務(wù)器全部退出工作,所有用戶(hù)合并 為一個(gè)整體的P2P網(wǎng)絡(luò),子網(wǎng)合并模塊完成操作,自此整個(gè)網(wǎng)絡(luò)由中心服務(wù)器進(jìn)行接管。
通過(guò)以上步驟可以實(shí)現(xiàn)用戶(hù)快速加入P2P流媒體直播網(wǎng)絡(luò),享受服務(wù)。用戶(hù)等待
時(shí)間縮短,并且在進(jìn)入網(wǎng)絡(luò)的過(guò)程中,視頻內(nèi)容可以有效保持流暢性。 本發(fā)明利用可以防止瞬間擁塞的P2P流媒體直播方法,能達(dá)到的有益效果如下
對(duì)實(shí)現(xiàn)P2P流媒體直播的網(wǎng)絡(luò)起到保護(hù)作用。解決在P2P流媒體直播系統(tǒng)中的瞬間擁塞問(wèn)題,從而消除了瞬間擁塞對(duì)網(wǎng)絡(luò)造成的損害; 縮短用戶(hù)等待時(shí)間。減少了用戶(hù)經(jīng)歷的播放啟動(dòng)時(shí)間,快速實(shí)現(xiàn)開(kāi)始觀(guān)看;
保證用戶(hù)觀(guān)看的流暢性。 一應(yīng)操作不會(huì)影響到用戶(hù)觀(guān)看效果; 節(jié)約資源。臨時(shí)租用的內(nèi)容分發(fā)服務(wù)器可以適時(shí)退出服務(wù),從而達(dá)到了節(jié)省資源的目的。
下面結(jié)合附圖和實(shí)施例對(duì)本實(shí)用新型進(jìn)一步說(shuō)明。
圖1為用戶(hù)加入網(wǎng)絡(luò)的流程圖。
圖2為位置坐標(biāo)分配示意圖。 圖3為P2P子網(wǎng)生成過(guò)程示意圖。 圖4為P2P子網(wǎng)合并過(guò)程示意圖。 其中圖2中所示電腦圖標(biāo)表示內(nèi)容分發(fā)服務(wù)器。 其中圖3中所示S代表內(nèi)容分發(fā)服務(wù)器,A, B, C, D, E代表5個(gè)用戶(hù),有向邊上面的數(shù)字代表一個(gè)用戶(hù)和它的一個(gè)父節(jié)點(diǎn)的端到端(end to end)延遲,方框里面的數(shù)字代表此用戶(hù)的源到端(source to end)延遲。 其中圖4中所示meshl和mesh2代表兩個(gè)P2P子網(wǎng)。其中Sl和S2是兩個(gè)內(nèi)容分發(fā)服務(wù)器。A, B, C, D, E, F, G, H, I代表用戶(hù),有向邊上面的數(shù)字代表一個(gè)用戶(hù)和它的一個(gè)父節(jié)點(diǎn)的端到端延遲,方框里面的數(shù)字代表此用戶(hù)的源到端延遲。
具體實(shí)施例方式
如圖l所示,用戶(hù)向中心服務(wù)器提出加入申請(qǐng),中心服務(wù)器將該用戶(hù)快速分配給相應(yīng)的內(nèi)容分發(fā)服務(wù)器。為了實(shí)現(xiàn)上述的快速分配,本方法需要借助由卡內(nèi)基梅隆大學(xué)發(fā)明的全球網(wǎng)絡(luò)定位系統(tǒng)GNP (Global Network Positioning) 。 GNP將Internet虛擬為一個(gè)N維的歐幾里得空間,在Internet中的每一個(gè)主機(jī)都可以看作這個(gè)歐幾里得空間中的一個(gè)點(diǎn)。如果把整個(gè)幾何空間看作一個(gè)坐標(biāo)系,那么每個(gè)點(diǎn)都可以對(duì)應(yīng)一個(gè)坐標(biāo),兩點(diǎn)間的歐幾里得距離就是網(wǎng)絡(luò)中兩個(gè)主機(jī)的傳輸延遲。 用戶(hù)所使用的主機(jī)將被自動(dòng)分配一個(gè)坐標(biāo)。用戶(hù)向中心服務(wù)器發(fā)送的加入網(wǎng)絡(luò)請(qǐng)求中將自動(dòng)攜帶這個(gè)坐標(biāo)。在知道了一個(gè)用戶(hù)主機(jī)的坐標(biāo)和所有內(nèi)容分發(fā)服務(wù)器的坐標(biāo)之后,我們就可以利用最近鄰居搜索(Nearest Neighbor Search)在0(log(N))的時(shí)間復(fù)雜度內(nèi)找到離這個(gè)用戶(hù)最"近"的內(nèi)容分發(fā)服務(wù)器,其中N為內(nèi)容分發(fā)服務(wù)器的數(shù)量。
圖2用一個(gè)三維坐標(biāo)系來(lái)解釋GNP在本發(fā)明中的使用。在圖2中,GNP將Internet虛擬為一個(gè)三維的歐幾里得空間,對(duì)應(yīng)一個(gè)三維的坐標(biāo)系。圖2中的4個(gè)電腦圖標(biāo)表示4個(gè)內(nèi)容分發(fā)服務(wù)器,每個(gè)服務(wù)器都有一個(gè)唯一的坐標(biāo)。在新加入的用戶(hù)上報(bào)自己的坐標(biāo)之后,任意現(xiàn)存的最近鄰居搜索算法都可以實(shí)現(xiàn)在O(logN)的時(shí)間復(fù)雜度內(nèi)找到離這個(gè)用戶(hù)最"近"的服務(wù)器。 如圖1所示,拓?fù)淠K開(kāi)始運(yùn)作,使用同一個(gè)內(nèi)容分發(fā)服務(wù)器的用戶(hù)組成內(nèi)容分發(fā)服務(wù)器子網(wǎng)。其中,在P2P子網(wǎng)絡(luò)生成的過(guò)程中存在延遲差異問(wèn)題,這個(gè)問(wèn)題可能會(huì)影響用戶(hù)觀(guān)賞的流暢性。延遲差異就是指用戶(hù)直接從內(nèi)容分發(fā)服務(wù)器獲得流媒體與從其父節(jié)點(diǎn) 處獲得流媒體兩種途徑之間的延遲差異。 圖3能夠具體且直觀(guān)的說(shuō)明這個(gè)問(wèn)題。在圖3中,S代表內(nèi)容分發(fā)服務(wù)器,A,B,C, D, E代表5個(gè)用戶(hù),有向邊上面的數(shù)字代表一個(gè)用戶(hù)和它的一個(gè)父節(jié)點(diǎn)的端到端(end to end)延遲,方框里面的數(shù)字代表此用戶(hù)的源到端(sourceto end)延遲。
在一個(gè)P2P網(wǎng)絡(luò)中,用戶(hù)接收到的流媒體的延遲定義為
Di = :(DJ + dii) 在此式中,Di表示用戶(hù)i的源到端的延遲,1\是用戶(hù)i在P2P網(wǎng)絡(luò)中的父節(jié)點(diǎn)的 集合,dji表示用戶(hù)i和它的一個(gè)父節(jié)點(diǎn)j的端到端延遲。用此式計(jì)算出的從父節(jié)點(diǎn)處獲得 服務(wù)的延遲和用內(nèi)容分發(fā)服務(wù)器直接給該用戶(hù)提供服務(wù)所產(chǎn)生的延遲必然存在差異。這種 差異的存在會(huì)影響用戶(hù)觀(guān)賞的流暢性。 從圖3中可以看出,如果由內(nèi)容分發(fā)服務(wù)器直接為用戶(hù)E提供服務(wù),那么E接收到 的流媒體的延遲為15秒。當(dāng)E加入由A, B, C, D, E組成的P2P網(wǎng)絡(luò)之后,E接收到的流媒 體的延遲為, DE = max (D.+ djE) = 20
J£{B'C'D) 由此可見(jiàn)E加入P2P網(wǎng)絡(luò)之前和之后所接收到的流媒體的延遲有5秒的差異。也 就是說(shuō)如果本系統(tǒng)在E剛剛加入P2P網(wǎng)絡(luò)之后就馬上切斷E與內(nèi)容分發(fā)服務(wù)器的連接,用 戶(hù)觀(guān)看的流暢性將被破壞。因?yàn)镋在P2P網(wǎng)絡(luò)中父節(jié)點(diǎn)處獲得的流媒體將落后于從內(nèi)容分 發(fā)服務(wù)器處直接獲得的流媒體5秒,即P2P網(wǎng)絡(luò)中的父節(jié)點(diǎn)無(wú)法為E提供E接下來(lái)想看到 的內(nèi)容,播放喪失了連貫性。 本發(fā)明通過(guò)調(diào)節(jié)流媒體播放速率來(lái)達(dá)到消除上述延遲差異的目的,從而確保了用
戶(hù)觀(guān)賞的流暢性。其具體操作如下,在每十幀的原始畫(huà)面基礎(chǔ)上增加一幀額外的內(nèi)容。增
加的幀既可以是原始的十幀中某一幀的復(fù)制,也可以是其中的某兩幀之間插入一個(gè)平滑的
過(guò)渡,現(xiàn)存的很多算法都可以實(shí)現(xiàn)數(shù)據(jù)幀的增補(bǔ),在用戶(hù)的主機(jī)上即可完成,具體采用哪種
方式取決于選用的算法。在經(jīng)過(guò)幀的插補(bǔ)以后,原來(lái)需要1秒來(lái)播放的內(nèi)容現(xiàn)在需要1. 1
秒來(lái)完成,即播放的速率降到了原來(lái)的10/11,而此時(shí)用戶(hù)不會(huì)有明顯的感覺(jué)。 如果繼續(xù)維持此速率調(diào)節(jié),那么經(jīng)過(guò)55秒之后,用戶(hù)觀(guān)看到的視頻將落后于直接
從內(nèi)容分發(fā)服務(wù)器獲得的沒(méi)有進(jìn)行速率調(diào)節(jié)的流媒體5秒。如果系統(tǒng)在此時(shí)組織用戶(hù)E加
入P2P網(wǎng)絡(luò)并切斷E與內(nèi)容分發(fā)服務(wù)器的連接,讓E在P2P網(wǎng)絡(luò)中的父節(jié)點(diǎn)為其提供流媒
體服務(wù),E的父親節(jié)點(diǎn)將可以給E提供后續(xù)內(nèi)容,即其馬上想看到的內(nèi)容,實(shí)現(xiàn)了用戶(hù)觀(guān)賞
的流暢性。 如圖1所示,子網(wǎng)合并模塊將合并在上一階段中形成的內(nèi)容分發(fā)服務(wù)器子網(wǎng)。合 并兩個(gè)P2P子網(wǎng)的具體操作為一個(gè)父節(jié)點(diǎn)為內(nèi)容分發(fā)服務(wù)器的用戶(hù)i在另一個(gè)P2P子網(wǎng) 中搜索與i的端到端(end to end)延遲最小并具有剩余容量的用戶(hù)j。在這兩個(gè)P2P子網(wǎng) 合并之后j將成為i的父節(jié)點(diǎn)。如果j的剩余容量不能夠滿(mǎn)足i的要求,就讓i繼續(xù)搜索 更多的父節(jié)點(diǎn)直到i的要求被完全滿(mǎn)足。用戶(hù)i的其他"兄弟姐妹"(與i擁有共同的父親 節(jié)點(diǎn)——內(nèi)容分發(fā)服務(wù)器——的用戶(hù))進(jìn)行同樣的操作直到這些用戶(hù)都在另一個(gè)P2P子網(wǎng) 里找到合適的父節(jié)點(diǎn)。從而在最開(kāi)始為i提供服務(wù)的內(nèi)容分發(fā)服務(wù)器空置,并退出該網(wǎng)絡(luò),節(jié)約了相應(yīng)資源。 在子網(wǎng)合并的過(guò)程中,延遲差異的問(wèn)題依然存在。圖4說(shuō)明了這個(gè)問(wèn)題。圖中所示有兩個(gè)P2P子網(wǎng)meshl和mesh2。 Sl和S2是兩個(gè)內(nèi)容分發(fā)服務(wù)器。經(jīng)過(guò)協(xié)商Sl決定退出系統(tǒng)并將自己管理的P2P子網(wǎng)交由S2管理。于是用戶(hù)A在P2P子網(wǎng)2中搜索與A的端到端延遲最小的用戶(hù)。 A的第一個(gè)搜索結(jié)果為用戶(hù)I。接下來(lái)A檢查I是否具有剩余容量。結(jié)果I雖然具有剩余容量但還不足以滿(mǎn)足A的全部要求。所以A繼續(xù)搜索與它的端到端延遲第二小的用戶(hù)并且找到了H。 I和H的剩余容量加在一起可以滿(mǎn)足A的要求。因此在新的P2P子網(wǎng)中I和H成為A的父節(jié)點(diǎn)。接著B(niǎo)在P2P子網(wǎng)2中搜索與B的端到端延遲最小的用戶(hù)并且找到了 G。 G的剩余容量可以滿(mǎn)足B的要求,因此在新的P2P子網(wǎng)中G是B的父親節(jié)點(diǎn)。
在P2P子網(wǎng)1與P2P子網(wǎng)2合并之后,A, B, C, D, E這5個(gè)用戶(hù)在子網(wǎng)合并前后的源到端延遲產(chǎn)生了變化,即產(chǎn)生了延遲差異。5個(gè)用戶(hù)的延遲差異分別為15(17-2)秒,18(22-4)秒,17 (24-7)秒,17 (30-13)秒,17 (37-20)秒。 A,B,C,D,E這5個(gè)用戶(hù)分別調(diào)整自己的播放速率來(lái)消除延遲差異。它們分別需要165秒,198秒,187秒,187秒和187秒來(lái)消除自身的延遲差異。因此在經(jīng)過(guò)max {165, 198,187,187,187} = 198秒之后,系統(tǒng)切斷用戶(hù)A和B與內(nèi)容分發(fā)服務(wù)器S1的連接,使P2P子網(wǎng)1完全與P2P子網(wǎng)2合并生成P2P子網(wǎng)3。這時(shí)內(nèi)容分發(fā)服務(wù)器Sl可以退出系統(tǒng)。
子網(wǎng)合并過(guò)程直到所有P2P流媒體用戶(hù)全部加入網(wǎng)絡(luò),形成一個(gè)整體網(wǎng)絡(luò)結(jié)束。此時(shí)整個(gè)P2P流媒體直播網(wǎng)絡(luò)由中心服務(wù)器進(jìn)行管理,所有內(nèi)容分發(fā)服務(wù)器退出網(wǎng)絡(luò)。
權(quán)利要求
一種可以防止瞬間擁塞的P2P流媒體直播方法,其特征是基于P2P技術(shù)的,由中心服務(wù)器進(jìn)行用戶(hù)最優(yōu)分配,引進(jìn)內(nèi)容分發(fā)服務(wù)器為用戶(hù)直接提供服務(wù),組成內(nèi)容分發(fā)服務(wù)器子網(wǎng),實(shí)現(xiàn)用戶(hù)快速加入P2P流媒體直播網(wǎng)絡(luò)接受服務(wù)的,同時(shí)保證用戶(hù)觀(guān)看流暢性的,最終內(nèi)容分發(fā)服務(wù)器退出網(wǎng)絡(luò),節(jié)約網(wǎng)絡(luò)資源的流媒體直播方法。
2. 根據(jù)權(quán)利要求1所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是基于P2P技術(shù),適用于P2P技術(shù)應(yīng)用于流媒體直播的情況。
3. 根據(jù)權(quán)利要求1所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是中心 服務(wù)器本身不為用戶(hù)提供服務(wù),僅采用全球網(wǎng)絡(luò)定位系統(tǒng)及最近鄰居搜索將請(qǐng)求加入網(wǎng)絡(luò) 的用戶(hù)分配給最優(yōu)內(nèi)容分發(fā)服務(wù)器,縮短用戶(hù)等待時(shí)間,實(shí)現(xiàn)用戶(hù)的快速進(jìn)入。
4. 根據(jù)權(quán)利要求3所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是中心 服務(wù)器采用全球網(wǎng)絡(luò)定位系統(tǒng)(GNP, Global Network Positioning)為內(nèi)容分發(fā)服務(wù)器分 配坐標(biāo),由此獲得請(qǐng)求加入的用戶(hù)與各內(nèi)容分發(fā)服務(wù)器之間的相對(duì)延遲。
5. 根據(jù)權(quán)利要求3所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是中心 服務(wù)器采用最近鄰居搜索(Nearest Neighbor Search)技術(shù)為用戶(hù)查找最近的內(nèi)容分發(fā)服 務(wù)器。
6. 根據(jù)權(quán)利要求1所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是引進(jìn) 內(nèi)容分發(fā)服務(wù)器,由內(nèi)容分發(fā)服務(wù)器為用戶(hù)直接提供服務(wù),然后接受該內(nèi)容分發(fā)服務(wù)器服 務(wù)的節(jié)點(diǎn)組成內(nèi)容分發(fā)服務(wù)器子網(wǎng)。
7. 根據(jù)權(quán)利要求1所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是采用 流媒體播放速率調(diào)節(jié),在內(nèi)容分發(fā)服務(wù)器子網(wǎng)建立及合并過(guò)程中消除延遲差異的影響,保 障用戶(hù)觀(guān)看的流暢性。
8. 根據(jù)權(quán)利要求7所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是通過(guò) 在用戶(hù)的主機(jī)上完成數(shù)據(jù)幀的增補(bǔ),實(shí)現(xiàn)流媒體播放速率調(diào)節(jié),用戶(hù)無(wú)需等待服務(wù)器響應(yīng), 節(jié)省等待時(shí)間。
9. 根據(jù)權(quán)利要求1所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是在用 戶(hù)加入P2P直播系統(tǒng)后,內(nèi)容分發(fā)服務(wù)器子網(wǎng)進(jìn)行合并,直至內(nèi)容分發(fā)服務(wù)器全部退出網(wǎng) 絡(luò),由中心服務(wù)器接管整個(gè)網(wǎng)絡(luò),從而節(jié)約了網(wǎng)絡(luò)資源。
10. 根據(jù)權(quán)利要求9所述的可以防止瞬間擁塞的P2P流媒體直播方法,其特征是子網(wǎng) 合并時(shí)內(nèi)容分發(fā)服務(wù)器子網(wǎng)中的用戶(hù),利用其它內(nèi)容分發(fā)服務(wù)器子網(wǎng)中用戶(hù)的剩余容量獲 得服務(wù),并成為其子節(jié)點(diǎn),退出原子網(wǎng),加入父節(jié)點(diǎn)所在的內(nèi)容分發(fā)服務(wù)器子網(wǎng)。
全文摘要
本發(fā)明涉及一種基于P2P技術(shù),可以防止在P2P流媒體直播中常見(jiàn)的瞬間擁塞問(wèn)題的直播方法。本發(fā)明采用啟動(dòng)模塊,由中心服務(wù)器基于全球網(wǎng)絡(luò)定位系統(tǒng)以及最近鄰居搜索將用戶(hù)進(jìn)行最優(yōu)分配,引進(jìn)內(nèi)容分發(fā)服務(wù)器為用戶(hù)直接提供服務(wù),緩解瞬間擁塞現(xiàn)象,實(shí)現(xiàn)用戶(hù)快速加入P2P流媒體直播網(wǎng)絡(luò)。采用拓?fù)渖赡K通過(guò)組成內(nèi)容分發(fā)服務(wù)器子網(wǎng)的方式,使整個(gè)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)更加合理化。子網(wǎng)合并模塊利用用戶(hù)的剩余容量合并子網(wǎng),使閑置的內(nèi)容分發(fā)服務(wù)器退出,網(wǎng)絡(luò)交由中心服務(wù)器管理,從而節(jié)約網(wǎng)絡(luò)資源。子網(wǎng)建立與合并的過(guò)程中,在用戶(hù)的主機(jī)上通過(guò)數(shù)據(jù)幀的增補(bǔ),對(duì)流媒體播放速率進(jìn)行調(diào)節(jié),從而保障了用戶(hù)觀(guān)看的流暢性。
文檔編號(hào)H04L12/18GK101702652SQ20091003724
公開(kāi)日2010年5月5日 申請(qǐng)日期2009年2月19日 優(yōu)先權(quán)日2009年2月19日
發(fā)明者田野, 陳雙幸 申請(qǐng)人:廣州市香港科大霍英東研究院