主動(dòng)預(yù)取的制作方法
【專利摘要】本發(fā)明涉及在實(shí)時(shí)流媒體對等(P2P)網(wǎng)絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容的方法和裝置。在本發(fā)明的第一方面中,提供一種在P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容的方法,所述P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)包括多個(gè)對等端以及流媒體源,所述流媒體源周期性地產(chǎn)生表示將要分發(fā)的所述數(shù)據(jù)內(nèi)容的片段,其中所述對等端的群組被指配成從所述流媒體源下載所述數(shù)據(jù)內(nèi)容,并且將所述所下載的數(shù)據(jù)內(nèi)容分發(fā)至所述P2P網(wǎng)絡(luò)中的剩余對等端。所述方法包括:從包括在所述群組中的第一對等端作出對由所述流媒體源產(chǎn)生的當(dāng)前片段的請求,所述請求以比由所述流媒體源產(chǎn)生所述片段的速率更高的速率作出。此外,所述方法包括:如果所述第一對等端為所述群組中最先下載所述當(dāng)前片段的所述對等端,則通告已下載了所述當(dāng)前片段,其中所述網(wǎng)絡(luò)對等端可從所述第一對等端下載所述當(dāng)前片段;或者從所述群組中最先下載所述當(dāng)前片段的第二對等端下載所述當(dāng)前片段,所述第二對等端在所述P2P網(wǎng)絡(luò)上通告對所述當(dāng)前片段的所述下載。
【專利說明】
主動(dòng)預(yù)取
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及在實(shí)時(shí)流媒體對等(P2P)網(wǎng)絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容的方法和裝置。
【背景技術(shù)】
[0002] 近年來,用于流媒體的超文本傳輸協(xié)議化TTP)已成為用于通過互聯(lián)網(wǎng)分發(fā)實(shí)時(shí)內(nèi) 容和視頻點(diǎn)播內(nèi)容的實(shí)質(zhì)標(biāo)準(zhǔn)。
[0003] 對等實(shí)時(shí)流媒體(PLS)能夠通過使內(nèi)容的收看者將其資源(即,帶寬)貢獻(xiàn)給其他 收看者來改善給定在線實(shí)時(shí)廣播的分發(fā)效率。運(yùn)個(gè)領(lǐng)域中早前的工作已提出了諸如 PPlive、CoolStreaming、T-bone和最近的Bittorrent live之類的系統(tǒng)。用于運(yùn)種應(yīng)用的對 等(P2P)覆蓋構(gòu)建主要分成兩種類別:基于樹型系統(tǒng)和基于網(wǎng)格型系統(tǒng)。雖然并未在最佳途 徑方面達(dá)成共識(shí),但基于網(wǎng)格型途徑近來變得更加流行,因?yàn)樵撏緩綄τ趯Φ榷藬_動(dòng)(peer churn)更加穩(wěn)固,而在同一條件下維持基于樹型覆蓋更加繁瑣。
[0004] 近期趨勢是將HTTP實(shí)時(shí)流媒體取代傳統(tǒng)的即時(shí)流媒體協(xié)議/實(shí)時(shí)傳輸協(xié)議(RTSP/ RTP)用于通過互聯(lián)網(wǎng)廣播實(shí)時(shí)視頻內(nèi)容。HTTP實(shí)時(shí)流媒體由一組協(xié)議組成,該組協(xié)議都利 用HTTP來傳輸。HTTP實(shí)時(shí)流媒體改變內(nèi)容生產(chǎn)者(如,流媒體服務(wù)器)和內(nèi)容使用者(如,媒 體播放器)交互的方式。
[0005] 諸如RTSP/RTP的傳統(tǒng)流媒體協(xié)議是基于推送(push-based model),其中播放器請 求確定的串流,并且然后服務(wù)器通過用戶數(shù)據(jù)報(bào)協(xié)議(UDP)將內(nèi)容推送至播放器,從而控制 傳遞速度。HTTP實(shí)時(shí)流媒體協(xié)議代替地基于拉取模式(pull-model),其中播放器W認(rèn)為合 適的步寬通過HTTP請求內(nèi)容片段。除此之外,肌TP實(shí)時(shí)協(xié)議已被設(shè)計(jì)來支持自適應(yīng)比特率 操作模式,該操作模式有利于多種品質(zhì)的串流。將揃取/復(fù)制哪種品質(zhì)的選擇留給播放器。
[0006] 在線廣播商業(yè)中的所有主要行為體已開發(fā)了運(yùn)樣的技術(shù),該技術(shù)將HTTP流媒體W 及自適應(yīng)比特率轉(zhuǎn)換的概念涵蓋作為用于廣播的主要途徑。HTTP實(shí)時(shí)已得到內(nèi)容服務(wù)方和 創(chuàng)建者接受,并且具有跨包括計(jì)算機(jī)、平板電腦和智能電話的所有平臺(tái)和操作系統(tǒng)的支持。 從推送式RTSP/RTP協(xié)議到拉取式HTTP實(shí)時(shí)協(xié)議的轉(zhuǎn)移已使得許多基于當(dāng)前化S技術(shù)的設(shè)想 過時(shí)。實(shí)際上,任何新化S算法,不管其理論是否健全,如果不考慮圍繞它的主流廣播生態(tài)系 統(tǒng)的實(shí)際情況,將不是可部署的。目前,內(nèi)容分發(fā)網(wǎng)絡(luò)(CD化)和實(shí)時(shí)流媒體解決方案供應(yīng)商 都專注于基于HTTP的解決方案。
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的目標(biāo)是解決或至少減輕本領(lǐng)域中的運(yùn)些問題,并且提供在P2P實(shí)時(shí)流媒 體網(wǎng)絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容的有所改進(jìn)的方法和裝置。
[000引在本發(fā)明的第一方面中通過在P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容的方法來實(shí)現(xiàn) 運(yùn)個(gè)目標(biāo),該2P實(shí)時(shí)流媒體網(wǎng)絡(luò)包括多個(gè)對等端和流媒體源,其中流媒體源周期性地生產(chǎn) 片段來表示要分發(fā)的數(shù)據(jù)內(nèi)容,其中對等端的群組被指配從流媒體源下載數(shù)據(jù)內(nèi)容,并且 將所下載的數(shù)據(jù)內(nèi)容分發(fā)至P2P網(wǎng)絡(luò)中的剩余對等端。該方法包括:從包括在群組中的第一 對等端作出對由流媒體源產(chǎn)生的當(dāng)前片段的請求,該請求W比由流媒體源產(chǎn)生片段的速率 更高的速率作出。進(jìn)一步,該方法包括:如果第一對等端為群組中最先下載當(dāng)前片段的對等 端,則通告已下載了當(dāng)前片段,其中網(wǎng)絡(luò)對等端可從上述第一對等端下載當(dāng)前片段;或者從 群組中最先下載當(dāng)前片段的第二對等端下載當(dāng)前片段,上述第二對等端在P2P網(wǎng)絡(luò)上通告 對當(dāng)前片段的下載。
[0009] 在本發(fā)明的第二方面中通過在P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中布置對等端的方法來實(shí)現(xiàn)運(yùn) 個(gè)目標(biāo),該P(yáng)2P實(shí)時(shí)流媒體網(wǎng)絡(luò)包括多個(gè)對等端和被布置來分發(fā)數(shù)據(jù)內(nèi)容的流媒體源,該流 媒體源周期性地產(chǎn)生表示將要分發(fā)的數(shù)據(jù)內(nèi)容的片段。該方法包括:將對等端的群組指配 成從流媒體源下載數(shù)據(jù)內(nèi)容,并且將所下載的數(shù)據(jù)內(nèi)容分發(fā)至P2P網(wǎng)絡(luò)中的剩余對等端。此 夕h該方法包括:命令對等端的群組中的每個(gè)對等端作出對由流媒體源產(chǎn)生的當(dāng)前片段的 請求,該請求W比由流媒體源產(chǎn)生片段的速率更高的速率作出。此外,該方法包括:命令群 組中最先下載當(dāng)前片段的對等端在P2P網(wǎng)絡(luò)上通告已下載了當(dāng)前片段,其中網(wǎng)絡(luò)對等端可 從群組中最先下載當(dāng)前片段的對等端下載當(dāng)前片段,進(jìn)一步命令包括在群組中的該對等端 從群組中最先下載當(dāng)前片段的對等端下載當(dāng)前片段。
[0010] 進(jìn)一步提供本發(fā)明的第一方面的對等裝置,該對等裝置用于在P2P實(shí)時(shí)流媒體網(wǎng) 絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容,該P(yáng)2P實(shí)時(shí)流媒體網(wǎng)絡(luò)包括多個(gè)對等端W及流媒體源,該流媒體源周期 性地產(chǎn)生表示將要分發(fā)的數(shù)據(jù)內(nèi)容的片段,其中對等端的群組被指配成從流媒體源下載數(shù) 據(jù)內(nèi)容,并且將所下載的數(shù)據(jù)內(nèi)容分發(fā)至P2P網(wǎng)絡(luò)中的剩余對等端。該對等裝置包括處理單 元,該處理單元被布置來作出對由流媒體源產(chǎn)生的當(dāng)前片段的請求,該請求W比由流媒體 源產(chǎn)生片段的速率更高的速率作出,W及被布置用于如果該對等裝置為群組中最先下載當(dāng) 前片段的對等端,則通告已下載了當(dāng)前片段,其中網(wǎng)絡(luò)對等端可從對等裝置下載當(dāng)前片段, 或者從群組中最先下載當(dāng)前片段的另一對等端下載當(dāng)前片段,該另一對等端在P2P網(wǎng)絡(luò)上 通告對當(dāng)前片段的下載。
[0011] 進(jìn)一步提供本發(fā)明的第二方面的網(wǎng)絡(luò)監(jiān)控裝置,該網(wǎng)絡(luò)監(jiān)控裝置用于在P2P實(shí)時(shí) 流媒體網(wǎng)絡(luò)中布置對等端,該P(yáng)2P實(shí)時(shí)流媒體網(wǎng)絡(luò)包括多個(gè)對等端和被布置來分發(fā)數(shù)據(jù)內(nèi) 容的流媒體源,該流媒體源周期性地產(chǎn)生表示將要分發(fā)的數(shù)據(jù)內(nèi)容的片段。該網(wǎng)絡(luò)監(jiān)控裝 置包括處理單元,該處理單元被布置用于將對等端的群組指配成從流媒體源下載數(shù)據(jù)內(nèi) 容,并且將所下載的數(shù)據(jù)內(nèi)容分發(fā)至P2P網(wǎng)絡(luò)中的剩余對等端。此外,該處理單元被布置來 命令對等端的群組中的每個(gè)對等端作出對由流媒體源產(chǎn)生的當(dāng)前片段的請求,該請求W比 由流媒體源產(chǎn)生片段的速率更高的速率作出,W及被布置來命令群組中最先下載當(dāng)前片段 的對等端在P2P網(wǎng)絡(luò)上通告已下載了當(dāng)前片段,其中網(wǎng)絡(luò)對等端可從群組中最先下載當(dāng)前 片段的對等端下載當(dāng)前片段。此外,處理單元被布置用于命令包括在群組中的對等端從群 組中最先下載當(dāng)前片段的對等端下載當(dāng)前片段。
[0012] 有利地,本發(fā)明提出了預(yù)取途徑,該預(yù)取途徑允許在播放器與流媒體源之間建立 額外的緩沖器,而不相對于基于CDN的解決方案引入另外的回放延遲。因此,對等端的群組 被指配成從流媒體源下載數(shù)據(jù)內(nèi)容,并且將所下載的數(shù)據(jù)內(nèi)容分發(fā)至P2P網(wǎng)絡(luò)中的剩余對 等端,并且被進(jìn)一步布置來在彼此間共享所下載的數(shù)據(jù)片段。由本發(fā)明所提出的請求途徑 比本領(lǐng)域中所采用的預(yù)取更主動(dòng)。運(yùn)種更主動(dòng)的途徑暗示著被指配成從源(第一層對等端) 下載的對等端的群組的請求是W比通過流媒體源產(chǎn)生片段更高的速率來作出。有利地,運(yùn) 將減小對等端能夠相對于源的實(shí)時(shí)回放點(diǎn)來呈現(xiàn)所下載的數(shù)據(jù)片段的延遲。
[0013] 由此,第一層對等端在通過流媒體源產(chǎn)生當(dāng)前數(shù)據(jù)片段之前,反復(fù)作出對請求當(dāng) 前數(shù)據(jù)片段的請求。一旦第一層對等端中的任何一個(gè)下載了當(dāng)前數(shù)據(jù)片段,則它將在P2P網(wǎng) 絡(luò)上通告它已訪問當(dāng)前數(shù)據(jù)片段,并且包括其他第一層對等端的其他網(wǎng)絡(luò)對等端可從該下 載第一層對等端取得當(dāng)前數(shù)據(jù)片段,因此有利地避免對已由第一層對等端下載的數(shù)據(jù)片段 的源進(jìn)行進(jìn)一步加載。運(yùn)將極大地改善P2P網(wǎng)絡(luò)中的源節(jié)約。該通告將還具有W下優(yōu)點(diǎn):未 包括在被指配成直接從源下載的群組中的對等端(也被稱為第二層對等端)不必向第一層 對等端反復(fù)作出請求,但可在上述對等端作出對當(dāng)前數(shù)據(jù)片段的請求之前,等候?qū)Ξ?dāng)前數(shù) 據(jù)片段的通告。
[0014] 本發(fā)明的各種實(shí)施方案由從屬權(quán)利要求限定,并且將在下文中詳細(xì)地論述。
[0015] 應(yīng)注意,本發(fā)明設(shè)及權(quán)利要求書中所敘述的特征的所有可能的組合。本發(fā)明的另 外特征和優(yōu)點(diǎn)將在研究隨附權(quán)利要求書和W下描述時(shí)變得顯而易見。本領(lǐng)域技術(shù)人員明白 可組合本發(fā)明的不同特征來產(chǎn)生除下文中所描述的那些實(shí)施方案W外的實(shí)施方案。
【附圖說明】
[0016] 現(xiàn)在參考附圖W舉例方式描述本發(fā)明,附圖中:
[0017] 圖1例示在利用分發(fā)數(shù)據(jù)內(nèi)容的傳統(tǒng)客戶端-服務(wù)器途徑的網(wǎng)絡(luò)中的下載;
[0018] 圖2a例示在現(xiàn)有技術(shù)P2P網(wǎng)絡(luò)中的下載;
[0019] 圖化例示從在源處產(chǎn)生片段時(shí)起,圖2a中的每個(gè)對等端請求W不同延遲作出;
[0020] 圖3示出作為圖化的請求程序的結(jié)果的片段的實(shí)際下載的時(shí)序;
[0021] 圖4a例示根據(jù)本發(fā)明的實(shí)施方案的在P2P網(wǎng)絡(luò)中對數(shù)據(jù)內(nèi)容的分發(fā);
[0022] 圖4b例示根據(jù)本發(fā)明的實(shí)施方案的輪流向流媒體源作出請求的兩個(gè)對等端;
[0023] 圖5例示由對等裝置進(jìn)行的根據(jù)本發(fā)明的第一方面的方法的實(shí)施方案的流程圖;
[0024] 圖6a例示根據(jù)本發(fā)明的第二方面的實(shí)施方案的跟蹤器裝置,該跟蹤器裝置被配置 來在包括流媒體源的P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中布置對等端。
[0025] 圖6b例示由跟蹤器裝置進(jìn)行的根據(jù)本發(fā)明的第二方面的在P2P網(wǎng)絡(luò)中布置對等端 的方法的實(shí)施方案的流程圖;
[0026] 圖7例示根據(jù)本發(fā)明的第二方面的方法的實(shí)施方案的在P2P網(wǎng)絡(luò)中進(jìn)行的對等端 的布置;并且
[0027] 圖8例示根據(jù)本發(fā)明的第二方面的方法的另一實(shí)施方案的在P2P網(wǎng)絡(luò)中進(jìn)行的對 等端的布置。
【具體實(shí)施方式】
[0028] 現(xiàn)在將在下文中參考附圖更充分地描述本發(fā)明,本發(fā)明的某些實(shí)施方案在W下附 圖中示出。然而,本發(fā)明可W W許多不同形式體現(xiàn),并且不應(yīng)解釋為局限于本文中所闡述的 實(shí)施方案;進(jìn)一步,W實(shí)例方式提供運(yùn)些實(shí)施方案,W使得本公開內(nèi)容將是透徹且完整的, 并且將向本領(lǐng)域技術(shù)人員充分地傳達(dá)本發(fā)明的范圍。貫穿本說明書,相似的數(shù)字指代相似 的元件。
[0029] 在下文中,參考圖1至圖3來論述在P2P網(wǎng)絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容的各種現(xiàn)有技術(shù)方法。
[0030] 圖I例示在利用分布數(shù)據(jù)內(nèi)容的傳統(tǒng)客戶端-服務(wù)器途徑的網(wǎng)絡(luò)中的下載,如未在 網(wǎng)絡(luò)中的客戶端當(dāng)中實(shí)施數(shù)據(jù)內(nèi)容的P2P共享的網(wǎng)絡(luò)。圖中的尖峰表示W(wǎng)預(yù)定間隔At沿時(shí) 間線由服務(wù)器(即,源)所產(chǎn)生的數(shù)據(jù)內(nèi)容片段1、2、3和4。因此,如果已在網(wǎng)絡(luò)中確定上述源 將W間隔A t產(chǎn)生片段,則最簡單的解決方案將是使客戶端請求數(shù)據(jù)片段具有相同間隔A t;客戶端的請求由沿時(shí)間線的點(diǎn)表示。取決于該請求如何在上述源處與片段的產(chǎn)生相同 步,客戶端W較長或較短的延遲d下載所產(chǎn)生片段。傳統(tǒng)客戶端-服務(wù)器途徑的主要不足之 處在于,由于網(wǎng)絡(luò)中的所有客戶端將從源請求數(shù)據(jù),所W源加載是大量的。
[0031] 應(yīng)注意,片段不一定W固定的預(yù)定間隔At產(chǎn)生,而可W不規(guī)則的間隔產(chǎn)生。然而, 為了例示,運(yùn)些現(xiàn)有技術(shù)實(shí)例使用固定的預(yù)定間隔A t。
[0032] 圖2a例示在現(xiàn)有技術(shù)P2P網(wǎng)絡(luò)中的下載,其中兩個(gè)對等端Pl和P2被布置來從流媒 體源S下載數(shù)據(jù)內(nèi)容,并且將所下載的數(shù)據(jù)內(nèi)容分發(fā)至剩余P2P網(wǎng)絡(luò)對等端,該剩余P2P網(wǎng)絡(luò) 對等端被布置得比對等端Pl和P2距離源更遠(yuǎn)。圖化示出例示數(shù)據(jù)內(nèi)容的下載的時(shí)間圖。另 夕h圖中的尖峰表示W(wǎng)預(yù)定間隔At沿時(shí)間線由流媒體源所產(chǎn)生的數(shù)據(jù)內(nèi)容片段1、2、3和4。 兩個(gè)對等端Pl和P2W相同的間隔A t請求數(shù)據(jù)片段。如圖化中所例示,從在源處產(chǎn)生片段時(shí) 起,每個(gè)對等端請求W不同的延遲作出。例如,在時(shí)間圖中,顯然Ts(l)<^2(l)<^l(l)。 也就是說,第二對等端P2剛好在時(shí)間"Ts(ir時(shí)由源產(chǎn)生片段1之后,在"Tp2(l)"時(shí)請求片 段1,而第一對等端Pl則在"Tpiar隨后時(shí)間請求同一片段,即剛好在產(chǎn)生片段2之前請求 同一片段。
[0033] 圖3示出作為圖化的請求程序的結(jié)果的片段的實(shí)際下載的時(shí)序。如圖3中可見,第 二對等端P2在下載數(shù)據(jù)片段中不斷地領(lǐng)先于第一對等端Pl;第二對等端P2剛好在第一對等 端Pl已下載片段1之后下載片段2,等等。對等端Pl和P2隨后將與P2P網(wǎng)絡(luò)中的其他對等端共 享所下載的數(shù)據(jù)片段。如可見,下載對等端將能夠呈現(xiàn)數(shù)據(jù)內(nèi)容的延遲取決于對等端Pl和 P2何時(shí)轉(zhuǎn)向至用于產(chǎn)生數(shù)據(jù)片段的源。如圖3中所例示,由于運(yùn)個(gè)延遲,第二對等端P2將始 終能夠在第一對等端Pl之前呈現(xiàn)當(dāng)前數(shù)據(jù)片段。如果將At假設(shè)為如Is,則第一對等端Pl將 (參見圖2b)滯后第二對等端P2約0.6s,并且滯后上述源大致0.8s。
[0034] 參考圖2a和圖化,如果未包括在被指配成直接從源下載的群組(即,由Pl和P2組成 的群組)中的第=對等端P3將試圖從第一對等端Pl下載當(dāng)前數(shù)據(jù)片段,則第=對等端P3將 被甚至進(jìn)一步從源的實(shí)時(shí)回放點(diǎn)移除。假設(shè)第=對等端P3W A t請求數(shù)據(jù)內(nèi)容,并且在時(shí)間 上滯后第一對等端Pl 0.5s,則來自實(shí)時(shí)回放點(diǎn)的延遲將為0.8+0.5 = 1.3s。如可推斷的,運(yùn) 種兩步"拉取"途徑(即,源^P1^P3)可導(dǎo)致來自實(shí)時(shí)回放點(diǎn)的較大延遲。運(yùn)在源的更下游 處甚至更明顯,其中第四對等端P4可從第S對等端P3下載,從而在分發(fā)鏈中給進(jìn)一步請求 步驟注入所得進(jìn)一步延遲。
[0035] 圖4a和圖4b例示本發(fā)明的實(shí)施方案,其中被指配成從流媒體源下載數(shù)據(jù)內(nèi)容,并 且將所下載的數(shù)據(jù)內(nèi)容分發(fā)至P2P網(wǎng)絡(luò)中的剩余對等端的對等端的群組(在運(yùn)個(gè)示例性實(shí) 施方案中為Pl和P2)進(jìn)一步被布置來在彼此間共享所下載的數(shù)據(jù)片段。此外,請求途徑比先 前所描述的現(xiàn)有技術(shù)的請求途徑更主動(dòng)。
[0036] 運(yùn)種更主動(dòng)的途徑暗示著W比通過流媒體源產(chǎn)生片段的速率更高的速率來作出 被指配成從源(第一層對等端)下載的對等端的群組的請求。由此,作出請求的間隔小于A t。有利地,運(yùn)將減小對等端能夠相對于源的實(shí)時(shí)回放點(diǎn)來呈現(xiàn)所下載的數(shù)據(jù)片段的延遲。
[0037] 如圖4b中可見,第一對等端Pl在由流媒體源產(chǎn)生當(dāng)前數(shù)據(jù)片段之前作出對該當(dāng)前 數(shù)據(jù)片段(即,片段1)的第一請求。此后,第二對等端P2在第一對等端Pl作出對片段1的第二 請求之前,作出對片段1的第一請求。剛好在源產(chǎn)生第一片段1之后,第二對等端P2作出其第 二請求并且成功地下載片段1。第二對等端P2(第一層對等端中的第一個(gè))將在P2P網(wǎng)絡(luò)上通 告其具有片段1,并且第一對等端Pl將因此不再從源請求片段1,而從第二對等端P2取得片 段1,從而有利地避免對已由另一第一層對等端下載的數(shù)據(jù)片段的源進(jìn)行進(jìn)一步加載。運(yùn)將 極大地改善P2P網(wǎng)絡(luò)中的源節(jié)約。通告將進(jìn)一步具有W下優(yōu)點(diǎn):未包括在被指配成直接從源 下載的群組中的對等端(也稱為第二層對等端,例如,第S對等端P3歸屬于該對等端)不必 向第一層對等端反復(fù)作出請求,但可在該對等端作出對當(dāng)前數(shù)據(jù)片段的請求之前,等候?qū)?當(dāng)前數(shù)據(jù)片段的通告。
[0038] 可例如在所有網(wǎng)絡(luò)對等端和流媒體源通常已訪問的清單文件中作出通告,該清單 文件從而將指示在哪個(gè)(哪些)對等裝置上可發(fā)現(xiàn)(多個(gè))片段,或?qū)Φ榷丝商娲叵蚴S嗷?立即連接的網(wǎng)絡(luò)對等端廣播通告。
[0039] 由此,如圖4b中所例示,第一對等端Pl的第S請求將不針對已由第二對等端P2下 載并且在網(wǎng)絡(luò)上通告的數(shù)據(jù)片段1,而針對新的當(dāng)前數(shù)據(jù)片段2。在第一對等端Pl剛好在流 媒體源已產(chǎn)生數(shù)據(jù)片段2之后,在該第一對等端在其第六請求時(shí)成功地下載數(shù)據(jù)片段2之 前,對等端Pl和P2主動(dòng)作出對數(shù)據(jù)片段2的另外九個(gè)請求,并且相應(yīng)地在P2P網(wǎng)絡(luò)上作出通 告。
[0040] 第二對等端P2的下一個(gè)請求將作為不針對該第二對等端P2從第一對等端Pl所取 得的數(shù)據(jù)片段2,而是針對新的當(dāng)前數(shù)據(jù)片段3(未示出)的通告的結(jié)果。未包括在被指配成 直接從源下載的群組(即,由Pl和P2組成的群組)中的第=對等端P3可在通告當(dāng)前所下載的 片段之前轉(zhuǎn)向第一層對等端,上述第一層對等端將把片段上載至第=對等端P3;例如,第一 數(shù)據(jù)片段1從第二對等端P2下載,而第二數(shù)據(jù)片段2從第一對等端Pl下載。因此,與圖3所論 述的現(xiàn)有技術(shù)途徑形成對比,相比于現(xiàn)有技術(shù)中的延遲將達(dá)到約1.3s的實(shí)例,在本發(fā)明中, 第=對等端將在幾分之一秒(即,0.3至0.4s)內(nèi)從實(shí)時(shí)回放點(diǎn)有利地訪問第一數(shù)據(jù)片段1。 此外,即使第四對等端P4將選擇從第S對等端P3而不是第一層對等端中的任何一個(gè)下載, 延遲將仍然僅為第=對等端P3的延遲的另外十分之幾秒,使得在特定示例性實(shí)施方案中, 來自源的實(shí)時(shí)回放點(diǎn)的延遲針對第四對等端P4為約0.5至0.6s。
[0041] 通常,在網(wǎng)絡(luò)中的每個(gè)對等裝置處,例如電視機(jī)、移動(dòng)電話、計(jì)算機(jī)、平板電腦等, 其中安裝有在下文中被稱為化S代理的客戶端,該客戶端通常為在對等裝置上實(shí)施的運(yùn)行 若干輔助服務(wù)的軟件塊。在化S代理的情況下,本發(fā)明被設(shè)計(jì)成對已存在的流媒體基礎(chǔ)結(jié)構(gòu) 透明,W便確保供應(yīng)商中立性W及簡化的部署。因此,如W上的描述,依據(jù)來自在對等裝置 上運(yùn)行的播放器(例如像在平板電腦上運(yùn)行的媒體播放器)的內(nèi)容片段請求,PLS代理試圖 及時(shí)地?fù)B取從覆蓋中的其他對等端請求的數(shù)據(jù)。然而,如果不能準(zhǔn)時(shí)從任何其他對等端揃 取片段,貝化LS代理將試圖從串流的源下載片段,該串流的源即流媒體服務(wù)器或硬件CDN。通 過求助于該源,可保證準(zhǔn)時(shí)傳遞所有片段,即使覆蓋網(wǎng)絡(luò)的對等端不能揃取運(yùn)種片段,從而 保證所需水平的體驗(yàn)品質(zhì)(QoE)。關(guān)于術(shù)語,"對等端"和"對等裝置"將交替地用于表示網(wǎng)絡(luò) 節(jié)點(diǎn),W期望呈現(xiàn)由源流出的數(shù)據(jù)內(nèi)容。
[0042] 再次參考圖4a,網(wǎng)絡(luò)中的每個(gè)對等裝置例如為電視機(jī)、移動(dòng)電話、計(jì)算機(jī)、平板電 腦等。實(shí)際上,通過W-個(gè)或多個(gè)微處理器的形式體現(xiàn)的處理單元15來實(shí)現(xiàn)諸如Pl的對等 裝置的功能,包括之前提及的化S代理,該處理單元15被布置來執(zhí)行下載至與該微處理器相 關(guān)聯(lián)的合適存儲(chǔ)介質(zhì)16的計(jì)算機(jī)程序17,該存儲(chǔ)介質(zhì)諸如為隨機(jī)存取存儲(chǔ)器(RAM)、閃速存 儲(chǔ)器或硬盤驅(qū)動(dòng)器。當(dāng)包括計(jì)算機(jī)可執(zhí)行命令的適當(dāng)計(jì)算機(jī)程序17被下載至存儲(chǔ)介質(zhì)16, 并且由處理單元15執(zhí)行時(shí),處理單元15被布置來進(jìn)行根據(jù)本發(fā)明的第一方面的實(shí)施方案的 方法。存儲(chǔ)介質(zhì)16還可為包括計(jì)算機(jī)程序17的計(jì)算機(jī)程序產(chǎn)品。可選擇地,計(jì)算機(jī)程序17可 借助于諸如軟盤或記憶棒的合適計(jì)算機(jī)程序產(chǎn)品傳輸至存儲(chǔ)介質(zhì)16。作為另外的替代方 案,計(jì)算機(jī)程序17可通過網(wǎng)絡(luò)下載至存儲(chǔ)介質(zhì)16。處理單元15可替代地W數(shù)字信號(hào)處理器 (DSP)、特定應(yīng)用集成電路(ASIC)、現(xiàn)場可編程口陣列(FPGA)、復(fù)雜可編程邏輯裝置(CPLD) 等形式體現(xiàn)。
[0043] 圖5例示根據(jù)本發(fā)明的第一方面的方法的實(shí)施方案的流程圖,該方法在第一層對 等裝置處進(jìn)行,該第一層對等裝置例如圖4a的對等裝置P1。在第一步驟SlOl中,對等裝置Pl 的處理單元15向流媒體源S作出對所需數(shù)據(jù)內(nèi)容的當(dāng)前片段的請求。如先前已論述,提出由 第一層對等端進(jìn)行的主動(dòng)預(yù)取途徑,其中W比由流媒體源S產(chǎn)生片段的速率更高的速率作 出請求。在第二步驟S102中,如果對等裝置Pl的處理單元15為第一層對等端群組中下載所 請求當(dāng)前片段的第一對等端(在運(yùn)個(gè)實(shí)例中,另一個(gè)對等端為對等裝置P2),則對等裝置Pl 的處理單元15將在網(wǎng)絡(luò)上通告已下載了當(dāng)前片段,其中如果需要,網(wǎng)絡(luò)對等端可從第一對 等裝置Pl下載當(dāng)前片段,而不是轉(zhuǎn)向至流媒體源S。因此,第一層對等端群組中的另一個(gè)對 等裝置可中斷它們向流媒體源S請求當(dāng)前片段。因此,對等裝置P2將轉(zhuǎn)向至用于當(dāng)前片段的 對等裝置P1,從而避免對流媒體源S進(jìn)行進(jìn)一步加載。然而,在步驟S103中,另一個(gè)對等裝置 P2應(yīng)為第一層對等端群組中從流媒體源S下載當(dāng)前片段的第一對等端,對等裝置P2將在P2P 網(wǎng)絡(luò)上通告對當(dāng)前片段的下載,借此,對等裝置Pl的處理單元15中斷其從流媒體源請求當(dāng) 前片段,并且替代地從第二對等裝置P2取得。
[0044] 現(xiàn)在,如先前已論述,流媒體源W規(guī)則間隔(At)或不規(guī)則間隔產(chǎn)生數(shù)據(jù)內(nèi)容的片 段。由于網(wǎng)絡(luò)協(xié)調(diào)原因,片段可公布在至少第一層對等端訪問的清單文件中。在任何時(shí)間 點(diǎn),如果清單中最新公布的片段(即,當(dāng)前片段)為i-1,則片段i可能已產(chǎn)生并且可能可用于 下載,但在另外的y時(shí)間單位內(nèi)將不公布在清單文件中。包括在第一層對等端中的對等端的 群組將試圖揃取片段i,但如果該源關(guān)于下一個(gè)當(dāng)前數(shù)據(jù)片段i的可用性W否定回答響應(yīng), 則預(yù)取在本發(fā)明的實(shí)施方案中被重新調(diào)度來在時(shí)間段〇<化63(3<5之后發(fā)生,其中S表示片 段的長度。在本發(fā)明的另外實(shí)施方案中,重新調(diào)度時(shí)段化esc被配置成隨機(jī)的。有利地采用 隨機(jī)性來允許該源有時(shí)間產(chǎn)生片段并且在所有預(yù)取第一層對等端之間產(chǎn)生異步性,W等候 該片段成為可得到的。當(dāng)運(yùn)個(gè)重新調(diào)度處于應(yīng)有位置時(shí),另一第一層對等端可能首先揃取 片段并且通告該片段,并且在那種情況下,剩余第一層對等端將從揃取片段的第一層對等 端下載,如上文中已例示。
[0045] 清單文件因此包括所公布片段,并且可能包括用于識(shí)別相應(yīng)片段的時(shí)間戳和比特 率。此外,清單文件可包括片段索引,該片段索引指示可在哪個(gè)(哪些)對等裝置上發(fā)現(xiàn)(多 個(gè))片段。
[0046] 在所有對等裝置上,被布置來預(yù)取數(shù)據(jù)片段的化S代理與對等裝置播放器并行運(yùn) 行,并且在即將到來的片段實(shí)際上由播放器請求之前,試圖利用該即將到來的片段任選地 W播放器正請求的相同比特率填充對等裝置片段緩存(如將論述的)?;疭代理排他地從覆 蓋揃取片段,并且在從網(wǎng)絡(luò)對等裝置收到所下載片段的通告之后運(yùn)樣做。該想法將有利地 增加 P2P網(wǎng)絡(luò)的利用,并且降低未能在由播放器請求時(shí)取得片段的風(fēng)險(xiǎn)。
[0047]在下文中,將根據(jù)本發(fā)明的實(shí)施方案描述P2P網(wǎng)絡(luò)的覆蓋構(gòu)建。第一層構(gòu)建過程負(fù) 責(zé)決定可向第二層對等端貢獻(xiàn)其帶寬的對等端的群組,并且通常由被稱為跟蹤器的網(wǎng)絡(luò)裝 置進(jìn)行,該跟蹤器為用來在P2P網(wǎng)絡(luò)中協(xié)調(diào)對等端的網(wǎng)絡(luò)監(jiān)控裝置。該對等端的群組應(yīng)足夠 大W提供第二層對等端,從而避免第二層對等端求助于用于下載數(shù)據(jù)內(nèi)容的源的需要,但 另一方面,該對等端的群組不應(yīng)太大W免在串流源上產(chǎn)生不必要的加載。應(yīng)注意,在具有例 如像防火墻的限制的網(wǎng)絡(luò)中,成為合格的第一層候選者的要求可為:對等端為開放互聯(lián)網(wǎng) 節(jié)點(diǎn)或處于可容易通行的(traversable)的網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)之后。將要針對將要指配成 第一層對等端的對等端而規(guī)定的要求為:該對等端具有足夠高的上載能力。在實(shí)施方案中, 將要指配成第一層的對等端的上載能力為:該對等端的上載能力超過預(yù)定闊值。
[004引應(yīng)注意,一旦對等端布置在P2P網(wǎng)絡(luò)中(或在布置在網(wǎng)絡(luò)中之前),則該對等端將需 要配置數(shù)據(jù)W便了解如何根據(jù)網(wǎng)絡(luò)策略運(yùn)轉(zhuǎn),例如,哪些對等端為第一層對等端,哪些對等 端為第二層對等端,W及該對等端如何作出其請求。運(yùn)個(gè)配置數(shù)據(jù)通常由跟蹤器提供至網(wǎng) 絡(luò)對等端,W便在相應(yīng)的網(wǎng)絡(luò)對等端上下載和執(zhí)行。因此,一旦將配置數(shù)據(jù)上載至相應(yīng)的網(wǎng) 絡(luò)對等端,并且對等端根據(jù)當(dāng)前P2P網(wǎng)絡(luò)策略運(yùn)轉(zhuǎn),跟蹤器通常不必命令對等端如何運(yùn)轉(zhuǎn), 除非對網(wǎng)絡(luò)進(jìn)行改變,例如像第二層對等端被指配成第一層。
[0049] 圖6a例示根據(jù)本發(fā)明的第二方面的實(shí)施方案的跟蹤器裝置T,該跟蹤器裝置被配 置來在包括流媒體源S的P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中布置對等端Pl至P14。運(yùn)種布置可采取樹狀 結(jié)構(gòu)形式(如所示)或在對等端當(dāng)中具有某些連接偏移的任意網(wǎng)格結(jié)構(gòu)。與結(jié)合圖5所論述 的對等裝置類似,通過W-個(gè)或多個(gè)微處理器形式體現(xiàn)的處理單元20來實(shí)現(xiàn)由跟蹤器T進(jìn) 行的根據(jù)本發(fā)明的第二方面的方法,該處理單元20被布置來執(zhí)行下載至與該微處理器相關(guān) 聯(lián)的合適存儲(chǔ)介質(zhì)21的計(jì)算機(jī)程序22。
[0050] 圖6b例示根據(jù)本發(fā)明的第二方面的在P2P網(wǎng)絡(luò)中布置對等端的方法的實(shí)施方案的 流程圖,該方法由網(wǎng)絡(luò)監(jiān)控裝置進(jìn)行,例如圖6a的跟蹤器裝置T(在下文中當(dāng)論述圖化的流 程圖時(shí)參考該跟蹤器裝置T)。在第一步驟S201中,跟蹤器裝置T的處理單元20將對等端的群 組P1、P2指配成從流媒體源S下載數(shù)據(jù)內(nèi)容,并且將所下載的數(shù)據(jù)內(nèi)容分發(fā)至P2P網(wǎng)絡(luò)中的 剩余對等端。在第二步驟S202中,通過跟蹤器T的處理單元20來命令運(yùn)些第一層對等端使用 主動(dòng)預(yù)取途徑,其中W比由流媒體源S產(chǎn)生片段的速率更高的速率來做出對表示數(shù)據(jù)內(nèi)容 的當(dāng)前數(shù)據(jù)片段的請求。
[0051] 在第=步驟S203中,跟蹤器裝置T的處理單元20命令第一層對等端群組中最先下 載當(dāng)前片段的對等端在P2P網(wǎng)絡(luò)上通告已下載了當(dāng)前片段,其中網(wǎng)絡(luò)對等端可從群組中最 先下載當(dāng)前片段的對等端下載當(dāng)前片段。此外,在步驟S204中,命令包括在第一層對等端群 組中的對等端從群組中最先下載當(dāng)前片段的對等端下載當(dāng)前片段。
[0052] 在將數(shù)據(jù)內(nèi)容從流媒體源分發(fā)成多比特率數(shù)據(jù)串流的情況下,W不同比特率呈現(xiàn) 數(shù)據(jù)內(nèi)容的對等裝置將被分類成歸屬于P2P網(wǎng)絡(luò)中的不同覆蓋。由此,具有第一比特率的呈 現(xiàn)串流的對等端被認(rèn)為包括在與呈現(xiàn)第二比特率的串流的對等端分離的覆蓋中,并且針對 每個(gè)流媒體比特率產(chǎn)生第一層對等端群組。第一層對等端選自系統(tǒng)中的"最佳"對等端,即 無論對等端呈現(xiàn)的比特率如何,都具有最高上載能力的對等端。運(yùn)是因?yàn)轳v留在每個(gè)對等 端上的預(yù)取出器組件(即,化S代理)能夠揃取比特率不同于由對等端當(dāng)前呈現(xiàn)的數(shù)據(jù)內(nèi)容 的比特率的數(shù)據(jù)內(nèi)容。運(yùn)個(gè)實(shí)施方案是特別方便的,因?yàn)楦蠊β实膶Φ榷丝墒冀K用來供 應(yīng)W較低比特率呈現(xiàn)數(shù)據(jù)內(nèi)容的對等端,并且因此增加節(jié)約水平。
[0053] 在另外的實(shí)施方案中,針對第一層對等端中的每一個(gè),預(yù)取比特率的數(shù)目限于一 個(gè),W便有利地避免在大功率對等端上利用太多帶寬和計(jì)算資源。
[0054] 如從W上可斷定,可通過W用于不同比特率的不同覆蓋布置P2P網(wǎng)絡(luò)來實(shí)現(xiàn)多比 特率支持。也就是說,就上載能力而言給定"最佳"網(wǎng)絡(luò)對等端,運(yùn)些對等端的子集可獨(dú)立于 所提升對等端呈現(xiàn)的數(shù)據(jù)內(nèi)容的比特率,在網(wǎng)絡(luò)中針對每個(gè)比特率提升為第一層對等端用 于某一比特率(即,用于某一覆蓋)的所提升對等端可任選地排除在被選為針對另一比特率 的第一層對等端之外。
[0055] 在本發(fā)明的實(shí)施方案中,確定P2P網(wǎng)絡(luò)的第一層對等端的跟蹤器輔助過程將如W 下所述來進(jìn)行。跟蹤器保持網(wǎng)絡(luò)中所有對等端的列表L。除那之外,跟蹤器根據(jù)相應(yīng)對等端 呈現(xiàn)的數(shù)據(jù)內(nèi)容的比特率bn來將不同列表L(bn)中的對等端分類。然后,根據(jù)對等端的有效 上載能力將L和所有L(bn)排序,該有效上載能力可針對每個(gè)對等端P估算為u(p)=min(umax (P),0*b(p)),其中Umax(P)為對等端P的最大估算帶寬,0為其外出連接的最大數(shù)目,并且b (P)為對等端P呈現(xiàn)的數(shù)據(jù)內(nèi)容的比特率。
[0056] 將參考W下給出的圖7和表1進(jìn)一步例示運(yùn)個(gè)實(shí)施方案。應(yīng)注意,圖7的實(shí)例還可用 于P2P網(wǎng)絡(luò)中不采用多速率流媒體的情況。
[0化7]
[OC
[0化7」 巧1。
[0060]周期性地,跟蹤器運(yùn)行W下層指配算法。它從列表L中選出最佳對等端C(在運(yùn)個(gè)特 定實(shí)例中為Pl或P2),并且將其添加在P2P網(wǎng)絡(luò)中的第一層對等端的組FT(bl)中,其中bl為 最高比特率數(shù)據(jù)內(nèi)容。在圖7中,對等端Pl是在網(wǎng)絡(luò)中的所有對等端當(dāng)中進(jìn)行選擇,W便被 包括在FT巧Okb/s)中。然后,跟蹤器開始通過添加來自組L(bl)至FT(bl)的最高級(jí)別對等端 來指配第二層對等端,該最高級(jí)別對等端即具有特定比特率但省略所指配第一層對等端的 對等端。在運(yùn)種情況下,針對50化/s的所選比特率的就上載能力而旨最局級(jí)別對等端為對 等端P3至P6。一旦耗盡第一層對等端的累積上載能力Url,則在Url = U(C)運(yùn)種情況下,因?yàn)?僅一個(gè)單一第一層對等端Pl位于覆蓋中,該第一層對等端開始將對等端添加至第二層,該 第二支座為通過添加與可提供(受山2限制,Ur2即添加至第二層的運(yùn)些對等端的累積上載能 力)的對等端一樣多的對等端而未包括在第一層對等端當(dāng)中的所有剩余對等端。因此,可由 第一層對等端Pl提供對等端P3至P6中的僅兩個(gè),并且對等端P3和P4因此位于流媒體源S的 下游。此后,考慮就上載能力而言的下一批對等端P7至P10;然而,由于累積上載能力山2,該 對等端中的僅兩個(gè)可連接至對等端P3、P4,上述兩個(gè)對等端在運(yùn)個(gè)特定實(shí)例中為對等端P7 和P8。應(yīng)注意,無論它們位于源S的下游多遠(yuǎn),除第一層對等端之外的所有網(wǎng)絡(luò)對等端被認(rèn) 為是第二層對等端,。對等端所需下載能力等于其呈現(xiàn)的數(shù)據(jù)內(nèi)容的比特率b。重復(fù)該過程 直到已指配列表L(bl)中的所有對等端;如果并非所有對等端被在P2P網(wǎng)絡(luò)中指配列表L (bl)中,則該程序可能必須通過將對等端添加至第一層對等端的組FT(bl)來重新開始。算 法重復(fù)直到已在覆蓋中指配了 L(bl)中的所有對等端。因此,跟蹤器從網(wǎng)絡(luò)對等端的列表選 出下一個(gè)最佳對等端,在運(yùn)種情況下為具有與對等端Pl相同的上載能力的對等端P2,并且 將上述最佳對等端添加至第一層對等端的組FT(bl)。與先前描述類似,添加對等端P5和P6, 而對等端P9和PlO連接至P5和P6。因此,已在P2P網(wǎng)絡(luò)中布置列表L(50化/s)中的所有對等 端,并且已將兩個(gè)對等端Pl和P2包括在FT(50kb/s)中。如圖7中可見,第一層對等端被布置 來彼此共享數(shù)據(jù)片段,如先前已描述。出于例示性目的,在圖7的P2P網(wǎng)絡(luò)中,未示出包括在 第二層對等端(即,對等端P3至PlO)中的對等端在彼此間共享內(nèi)容(除P3共享至P7、P4至P8、 P5至P9和P6至PlOW外)。然而,在實(shí)際情況下,對等端P3至P6可能在彼此間共享內(nèi)容,W及 共享至對等端P7至PlO(除圖7中標(biāo)出的連接W外),并且在網(wǎng)格狀結(jié)構(gòu)中,對等端P7至PlO可 從第一層對等端Pl和P2下載內(nèi)容。相同情況在下文中同樣適用于圖8。
[0061] 算法針對L(bl)終止并且提供輸出組FT(bl)之后,跟蹤器從列表L移除包括在第一 層對等端組FT(bl)中的所有對等端,W便防止與比特率bl有關(guān)的大功率對等端作為預(yù)取出 器再次用于其他比特率。然后跟蹤器針對L(b2)、L(b3)等重復(fù)該程序。歸屬于任何第一層組 FT(bn)的對等端接收命令,該指令允許該對等端的預(yù)取出器在比特率bn上由相應(yīng)的PLS代 理實(shí)施。
[0062] 將參考W下給出的圖8和表2來例示另一實(shí)施方案。運(yùn)個(gè)實(shí)施方案例示出在P2P網(wǎng) 絡(luò)中采用多速率流媒體的情況下,W不同覆蓋來進(jìn)行對等端的布置。 「nnATl
LUU04」 巧Z。
[0065] 另外,跟蹤器運(yùn)行W下覆蓋構(gòu)建算法。它從列表L中選出最佳對等端C(在運(yùn)個(gè)特定 實(shí)例中為Pl或P2),并且將其添加在P2P網(wǎng)絡(luò)的第一層對等端的組FT(bl)中,其中bl為最高 比特率數(shù)據(jù)內(nèi)容,在運(yùn)種情況下為50化/s。在圖8中,對等端Pl是在網(wǎng)絡(luò)中的所有對等端當(dāng) 中選擇,W便被包括在FT(50kb/s)中。然后,跟蹤器通過添加來自L(bl)的最高級(jí)別對等端 來開始建立第二層群組,諸如此類如結(jié)合圖7所論述。在已布置對等端P5和P6之后,因?yàn)橐?指配列表L(bl)中的所有對等端,所W已針對bl = 50化/s產(chǎn)生第一覆蓋。此后,跟蹤器從網(wǎng) 絡(luò)對等端的列表選出下一個(gè)最佳對等端,在運(yùn)種情況下,該下一個(gè)最佳為具有與對等端Pl 相同的上載能力的對等端P2,并且將該下一個(gè)最佳對等端添加至P2P網(wǎng)絡(luò)的第二覆蓋的第 一層對等端的組FT(b2)。與先前描述類似,對等端P7至PlO被添加成更靠近源S,而考慮到對 等端的累積上載能力,將對等端PlO至P14布置在源S的較遠(yuǎn)下游。因此,已在P2P網(wǎng)絡(luò)中布置 列表U25化/s)中的所有對等端。如圖7中可見,兩個(gè)不同覆蓋的第一層對等端可如先前已 描述那樣被布置來彼此共享數(shù)據(jù)片段,即使得可設(shè)想到兩個(gè)所產(chǎn)生的覆蓋彼此保持完全分 離。
[0066] 如從上文清楚得知,為使跟蹤器能夠在P2P網(wǎng)絡(luò)中布置對等裝置,該跟蹤器將需要 關(guān)于相應(yīng)對等端的上載能力(W及可能地,每個(gè)相應(yīng)對等端的下載要求)的知識(shí)。因此,當(dāng)對 等裝置加入P2P網(wǎng)絡(luò)時(shí),對等裝置可能必須可能通過執(zhí)行帶寬測量來向跟蹤器報(bào)告其上載 能力(W及任選地,其下載要求)。
[0067] 在本發(fā)明的實(shí)施方案中,因?yàn)楫?dāng)估算FT(bn)時(shí),可能忽視影響P2P網(wǎng)絡(luò)的許多因素 中的一個(gè)多個(gè),例如攬動(dòng)和連接性問題,引入安全因數(shù)O來將用于所選對等端的群組的可用 帶寬限定成化n = Urmax/〇,W便將前述誤差因素考慮在內(nèi)。
[0068] 通過周期性地接觸該跟蹤器,每個(gè)對等裝置保持其最新覆蓋的隨機(jī)樣本S。樣本還 在對等端之間交換。對等端樣本可能基于先前已知的技術(shù),如NAT彈性散播算法(歴1'-re S i 1 i ent goS S iP a 1 gor i thms)。跟蹤器返回網(wǎng)絡(luò)中的節(jié)點(diǎn)的均勻隨機(jī)樣本,該均勻隨機(jī) 樣本被添加到S。該均勻隨機(jī)樣本中的每個(gè)對等端可包含:對等端標(biāo)識(shí)符、對等端的NAT類型 和最大上載能力。將此信息周期性地刷新并且在覆蓋構(gòu)建過程中用作輸入。
[0069] 雖然已參考本發(fā)明的特定示例性實(shí)施方案描述了本發(fā)明,但許多不同變化、修改 等將對本領(lǐng)域技術(shù)人員變得顯而易見。因此,所描述實(shí)施方案并不意圖限制本發(fā)明的范圍, 范圍是由所附權(quán)利要求書所限定。
【主權(quán)項(xiàng)】
1. 一種在對等P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容的方法,所述對等實(shí)時(shí)流媒體網(wǎng)絡(luò) 包括多個(gè)對等端以及流媒體源,所述流媒體源周期性地產(chǎn)生表示將要分發(fā)的所述數(shù)據(jù)內(nèi)容 的多個(gè)片段,其中所述對等端的群組被指配成從所述流媒體源下載所述數(shù)據(jù)內(nèi)容,并且將 所述所下載的數(shù)據(jù)內(nèi)容分發(fā)至所述P2P網(wǎng)絡(luò)中的剩余對等端,所述方法包括以下步驟: 從包括在所述群組中的第一對等端作出對由所述流媒體源產(chǎn)生的當(dāng)前片段的多個(gè)請 求(S101),所述請求以比由所述流媒體源產(chǎn)生所述片段的速率更高的速率作出;以及 如果所述第一對等端為所述群組中最先下載所述當(dāng)前片段的所述對等端,則通告 (S102)已下載了所述當(dāng)前片段,其中所述網(wǎng)絡(luò)對等端可從所述第一對等端下載所述當(dāng)前片 段;否則; 從所述群組中最先下載所述當(dāng)前片段的第二對等端下載(S103)所述當(dāng)前片段,所述第 二對等端在所述P2P網(wǎng)絡(luò)上通告對所述當(dāng)前片段的所述下載。2. 如權(quán)利要求1所述的方法,其進(jìn)一步包括: 一旦已下載了所述當(dāng)前片段,則作出對下一個(gè)當(dāng)前片段的進(jìn)一步請求。3. 如權(quán)利要求1或2所述的方法,其進(jìn)一步包括: 將所下載的當(dāng)前片段上載至請求網(wǎng)絡(luò)對等端。4. 如前述權(quán)利要求中任一項(xiàng)所述的方法,所述第一對等端的所述請求是以隨機(jī)設(shè)置速 率作出。5. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中被指配成從所述流媒體源下載所述數(shù)據(jù) 內(nèi)容,并且將所述所下載的數(shù)據(jù)內(nèi)容分發(fā)到所述P2P網(wǎng)絡(luò)中的剩余對等端的所述對等端的 群組具有超過預(yù)定閾值的上載能力。6. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其中在由所述流媒體源采用多比特率流媒體 的情況下,所述方法進(jìn)一步包括: 接收下載具有特定比特率的數(shù)據(jù)內(nèi)容的命令。7. 如前述權(quán)利要求中任一項(xiàng)所述的方法,其進(jìn)一步包括: 向網(wǎng)絡(luò)監(jiān)控裝置報(bào)告上載能力,所述網(wǎng)絡(luò)監(jiān)控裝置被配置來基于所報(bào)告的上載能力在 所述P2P網(wǎng)絡(luò)中布置所述多個(gè)對等端,其中具有較高上載能力的對等端被布置得比具有較 低上載能力的對等端更靠近所述流媒體源。8. -種在對等P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中布置多個(gè)對等端的方法,所述對等實(shí)時(shí)流媒體網(wǎng) 絡(luò)包括多個(gè)對等端以及被布置來分發(fā)數(shù)據(jù)內(nèi)容的流媒體源,所述流媒體源周期性地產(chǎn)生表 示將要分發(fā)的所述數(shù)據(jù)內(nèi)容的多個(gè)片段,所述方法包括: 將所述對等端的群組指配(S201)成從所述流媒體源下載所述數(shù)據(jù)內(nèi)容,并且將所述所 下載的數(shù)據(jù)內(nèi)容分發(fā)至所述P2P網(wǎng)絡(luò)中的剩余對等端; 命令(S202)所述對等端的群組中的每個(gè)對等端作出對由所述流媒體源產(chǎn)生的當(dāng)前片 段的多個(gè)請求,所述請求以比由所述流媒體源產(chǎn)生所述片段的速率更高的速率作出; 命令(S203)所述群組中最先下載所述當(dāng)前片段的對等端在所述P2P網(wǎng)絡(luò)上通告已下載 了所述當(dāng)前片段,其中所述網(wǎng)絡(luò)對等端可從所述群組中最先下載所述當(dāng)前片段的所述對等 端下載所述當(dāng)前片段,以及 命令(S204)包括在所述群組中的所述對等端從所述群組中最先下載所述當(dāng)前片段的 所述對等端下載所述當(dāng)前片段。9. 如權(quán)利要求10所述的方法,其中被指配成從所述流媒體源下載所述數(shù)據(jù)內(nèi)容,并且 將所述所下載的數(shù)據(jù)內(nèi)容分發(fā)至所述P2P網(wǎng)絡(luò)中的剩余對等端的所述對等端的群組具有超 過預(yù)定閾值的上載能力,而所述剩余對等端具有不超過所述預(yù)定閾值的上載能力。10. 如權(quán)利要求8或9中任一項(xiàng)所述的方法,其中在由所述流媒體源采用多比特率流媒 體的情況下,所述方法包括: 將以不同的多個(gè)比特率呈現(xiàn)數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)對等端分離成所述P2P網(wǎng)絡(luò)中的不同的多 個(gè)覆蓋。11. 如權(quán)利要求10所述的方法,其中無論對等端呈現(xiàn)數(shù)據(jù)內(nèi)容的所述比特率如何,在被 指配成從所述流媒體源下載所述數(shù)據(jù)內(nèi)容的所述群組中的所述對等端被布置在每個(gè)覆蓋 中的所述群組中。12. 如權(quán)利要求10或11所述的方法,其中在被指配成從所述流媒體源下載所述數(shù)據(jù)內(nèi) 容的所述群組中的所述對等端被配置來下載具有所述特定覆蓋的所述比特率的所述數(shù)據(jù) 內(nèi)容,所述群組中的所述對等端被布置在所述特定覆蓋中。13. 如權(quán)利要求10至12中任一項(xiàng)所述的方法,其進(jìn)一步包括:針對每個(gè)不同覆蓋,從以 最高比特率呈現(xiàn)數(shù)據(jù)內(nèi)容的所述對等端開始,隨后繼續(xù)移動(dòng)至所述次最高比特率對等端的 覆蓋: 從具有最高上載能力的所述網(wǎng)絡(luò)對等端中選擇對等端,并且將所述所選對等端指配至 被配置來從所述流媒體源下載所述數(shù)據(jù)內(nèi)容的所述群組; 按上載能力的順序,從以所述當(dāng)前覆蓋所配置的所述比特率來呈現(xiàn)數(shù)據(jù)內(nèi)容的所述對 等端中選擇一個(gè)或多個(gè)較遠(yuǎn)的對等端; 將所述一個(gè)多個(gè)較遠(yuǎn)的對等端按上載能力的順序布置在被配置來從述流媒體源下載 所述數(shù)據(jù)內(nèi)容的所述群組的下游,所述一個(gè)或多個(gè)較遠(yuǎn)的對等端當(dāng)中的對等端的數(shù)目受緊 接先前上游對等端的累積上載能力限制,所述一個(gè)或多個(gè)對等端被配置來從所述上游對等 端下載所述數(shù)據(jù)內(nèi)容,直到已布置所述當(dāng)前配置的覆蓋中的所有所述對等端。14. 如權(quán)利要求13所述的方法,其進(jìn)一步包括: 從所述當(dāng)前覆蓋所配置的所述剩余網(wǎng)絡(luò)對等端中選擇對等端,并且將所述所選對等端 指配至被配置來從所述流媒體源下載所述數(shù)據(jù)內(nèi)容的所述群組; 按上載能力的順序,從以所述當(dāng)前覆蓋所配置的所述比特率來呈現(xiàn)數(shù)據(jù)內(nèi)容的所述對 等端中選擇一個(gè)或多個(gè)較遠(yuǎn)的對等端; 將所述一個(gè)或多個(gè)其他對等端按上載能力的順序來布置在被配置來從所述流媒體源 下載所述數(shù)據(jù)內(nèi)容的所述群組的下游,所述一個(gè)或多個(gè)其他對等端當(dāng)中的對等端的數(shù)目受 緊接先前上游對等端的累積上載能力限制,所述一個(gè)或多個(gè)對等端被配置來從所述上游對 等端下載所述數(shù)據(jù)內(nèi)容,直到已布置所述當(dāng)前配置的覆蓋中的所有所述對等端。15. 如權(quán)利要求8至14中任一項(xiàng)所述的方法,其進(jìn)一步包括: 在所述網(wǎng)絡(luò)中獲取將要布置的每個(gè)對等端的上載能力,其中具有較高上載能力的對等 端被布置得比具有較低上載能力的對等端更靠近所述流媒體源。16. -種用于在對等P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中分發(fā)數(shù)據(jù)內(nèi)容的對等裝置(P1 ),所述對等實(shí) 時(shí)流媒體網(wǎng)絡(luò)包括多個(gè)對等端以及流媒體源(S),所述流媒體源周期性地產(chǎn)生表示將要分 發(fā)的所述數(shù)據(jù)內(nèi)容的多個(gè)片段,其中所述對等端的群組被指配成從所述流媒體源下載所述 數(shù)據(jù)內(nèi)容,并且將所述所下載的數(shù)據(jù)內(nèi)容分發(fā)至所述P2P網(wǎng)絡(luò)中的剩余對等端,所述對等裝 置包括處理單元(15 ),所述處理單元被布置來: 作出對由所述流媒體源產(chǎn)生的當(dāng)前片段的多個(gè)請求,所述請求以比由所述流媒體源產(chǎn) 生所述片段的速率更高的速率作出;以及 如果所述對等裝置為所述群組中最先下載所述當(dāng)前片段的所述對等端,則通告已下載 了所述當(dāng)前片段,其中所述網(wǎng)絡(luò)對等端可從所述對等裝置下載所述當(dāng)前片段;否則; 從所述群組中最先下載所述當(dāng)前片段的另一對等端下載所述當(dāng)前片段,所述另一對等 端在所述P2P網(wǎng)絡(luò)上通告對所述當(dāng)前片段的所述下載。17. 如權(quán)利要求16所述的對等裝置(P1),所述處理單元(15)進(jìn)一步被布置來: 一旦已下載了所述當(dāng)前片段,則作出對下一個(gè)當(dāng)前片段的進(jìn)一步請求18. 如權(quán)利要求16或17所述的對等裝置(P1),所述處理單元(15)進(jìn)一步被布置來: 將所述當(dāng)前下載的片段上載至請求網(wǎng)絡(luò)對等端。19. 如權(quán)利要求16至18中任一項(xiàng)所述的對等裝置(P1),所述處理單元(15)進(jìn)一步被布 置來: 以隨機(jī)設(shè)置速率作出所述請求。20. 如權(quán)利要求17至19中任一項(xiàng)所述的對等裝置(P1),其中在由所述流媒體源采用多 比特率流媒體的情況下,所述處理單元(15)進(jìn)一步被布置來: 下載具有特定比特率的數(shù)據(jù)內(nèi)容。21. 如權(quán)利要求17至20中任一項(xiàng)所述的對等裝置(P1),所述處理單元(15)進(jìn)一步被布 置來: 向網(wǎng)絡(luò)監(jiān)控裝置報(bào)告上載能力,所述網(wǎng)絡(luò)監(jiān)控裝置被配置來基于所述所報(bào)告上載能力 在所述P2P網(wǎng)絡(luò)中布置所述多個(gè)對等端。22. -種用于在對等P2P實(shí)時(shí)流媒體網(wǎng)絡(luò)中布置多個(gè)對等端的裝置(T),所述對等實(shí)時(shí) 流媒體網(wǎng)絡(luò)包括多個(gè)對等端(P1至PN)以及被布置來分發(fā)數(shù)據(jù)內(nèi)容的流媒體源(S),所述流 媒體源周期性地產(chǎn)生表示將要分發(fā)的所述數(shù)據(jù)內(nèi)容的多個(gè)片段,所述裝置包括處理單元 (20),所述處理單元被布置來: 將所述對等端的群組(P1、P2)指配成從所述流媒體源下載所述數(shù)據(jù)內(nèi)容,并且將所述 所下載的數(shù)據(jù)內(nèi)容分發(fā)至所述P2P網(wǎng)絡(luò)中的剩余對等端(P3至PN); 命令所述對等端的群組中的每個(gè)對等端作出對由所述流媒體源產(chǎn)生的當(dāng)前片段的多 個(gè)請求,所述請求以比由所述流媒體源產(chǎn)生所述片段的速率更高的速率作出; 命令所述群組中最先下載所述當(dāng)前片段的對等端在所述P2P網(wǎng)絡(luò)上通告已下載了所述 當(dāng)前片段,其中所述網(wǎng)絡(luò)對等端可從所述群組中最先下載所述當(dāng)前片段的所述對等端下載 所述當(dāng)前片段,以及 命令包括在所述群組中的所述對等端從所述群組中最先下載所述當(dāng)前片段的所述對 等端下載所述當(dāng)前片段。23. 如權(quán)利要求22所述的裝置(T),其中被指配成從所述流媒體源(S)下載所述數(shù)據(jù)內(nèi) 容,并且將所述所下載的數(shù)據(jù)內(nèi)容分發(fā)至所述P2P網(wǎng)絡(luò)中的剩余對等端(P3至PN)的所述對 等端的群組(P1、P2)具有超過預(yù)定閾值的上載能力,而所述剩余對等端具有不超過所述預(yù) 定閾值的上載能力。24. 如權(quán)利要求22或23中任一項(xiàng)所述的裝置(T),其中在由所述流媒體源(S)采用多比 特率流媒體的情況下,所述處理單元(20)進(jìn)一步被布置來: 將以不同的多個(gè)比特率呈現(xiàn)數(shù)據(jù)內(nèi)容的網(wǎng)絡(luò)對等端分離成所述P2P網(wǎng)絡(luò)中的不同的多 個(gè)覆蓋。25. 如權(quán)利要求24所述的裝置(T),其中所述處理單元(20)進(jìn)一步被布置來: 無論對等端呈現(xiàn)數(shù)據(jù)內(nèi)容的所述比特率如何,將在被指配成從所述流媒體源(S)下載 所述數(shù)據(jù)內(nèi)容的所述群組(P1、P2)中的所述對等端布置在每個(gè)覆蓋中的所述群組中。26. 如權(quán)利要求24或25所述的裝置(T),其中被指配成從所述流媒體源(S)下載所述數(shù) 據(jù)內(nèi)容的所述群組(P1、P2)中的所述對等端被配置來下載具有所述特定覆蓋的所述比特率 的所述數(shù)據(jù)內(nèi)容,所述群組中的所述對等端被布置在所述特定覆蓋中。27. 如權(quán)利要求24至26中任一項(xiàng)所述的裝置(T),所述處理單元(20)進(jìn)一步被布置來針 對每個(gè)不同覆蓋,從以最高比特率呈現(xiàn)數(shù)據(jù)內(nèi)容的所述對等端開始,隨后移動(dòng)至所述次最 高比特率對等端的覆蓋: 從所述網(wǎng)絡(luò)對等端中選擇具有最高上載能力的對等端,并且將所述所選對等端指配至 被配置來從所述流媒體源(S)下載所述數(shù)據(jù)內(nèi)容的所述群組(P1、P2); 按上載能力的順序,從以所述當(dāng)前覆蓋所配置的所述比特率來呈現(xiàn)數(shù)據(jù)內(nèi)容的所述對 等端中選擇一個(gè)或多個(gè)較遠(yuǎn)的對等端;以及 將所述一個(gè)或多個(gè)較遠(yuǎn)的對等端按上載能力的順序來布置在被配置來從所述流媒體 源下載所述數(shù)據(jù)內(nèi)容的所述群組的下游,所述一個(gè)或多個(gè)較遠(yuǎn)的對等端當(dāng)中的對等端的數(shù) 目受緊接先前上游對等端的累積上載能力限制,所述一個(gè)或多個(gè)對等端被配置來從所述上 游對等端下載所述數(shù)據(jù)內(nèi)容,直到已布置所述當(dāng)前配置的覆蓋的所有所述對等端。28. 如權(quán)利要求27所述的裝置(T),其中每次達(dá)到所述覆蓋的所允許多個(gè)行的最大數(shù)目 時(shí),所述處理單元(20)進(jìn)一步被布置來: 從所述當(dāng)前覆蓋所配置的所述剩余網(wǎng)絡(luò)對等端中選擇對等端,并且將所述所選對等端 指配至被配置來從所述流媒體源(S)下載所述數(shù)據(jù)內(nèi)容的所述群組(P1、P2); 按上載能力的順序,從以所述當(dāng)前覆蓋所配置的所述比特率來呈現(xiàn)數(shù)據(jù)內(nèi)容的所述對 等端中選擇一個(gè)或多個(gè)較遠(yuǎn)的對等端; 將所述一個(gè)多個(gè)其他對等端按上載能力的順序來布置在被配置來從所述流媒體源下 載所述數(shù)據(jù)內(nèi)容的所述群組的下游,所述一個(gè)或多個(gè)較遠(yuǎn)的對等端當(dāng)中的對等端的數(shù)目受 緊接先前上游對等端的累積上載能力限制,所述一個(gè)或多個(gè)對等端被配置來從所述上游對 等端下載所述數(shù)據(jù)內(nèi)容,直到已布置所述當(dāng)前配置的覆蓋的所有所述對等端。29. 如權(quán)利要求22至28中任一項(xiàng)所述的裝置(T),所述處理單元(20)進(jìn)一步被布置來: 在所述網(wǎng)絡(luò)中獲取將要布置的每個(gè)對等端的上載能力,其中具有較高上載能力的對等 端被布置得比具有較低上載能力的對等端更靠近所述流媒體源。30. -種計(jì)算機(jī)程序(17、22),其包括多個(gè)計(jì)算機(jī)可執(zhí)行命令,所述計(jì)算機(jī)可執(zhí)行命令 用于當(dāng)在被包括在所述裝置中的處理單元(15、22)上執(zhí)行所述計(jì)算機(jī)可執(zhí)行命令時(shí),使裝 置(P1、T)進(jìn)行權(quán)利要求1至15中任一項(xiàng)所敘述的步驟中的至少部分步驟。31. -種計(jì)算機(jī)程序產(chǎn)品(16、21),其包括計(jì)算機(jī)可讀介質(zhì),所述計(jì)算機(jī)可讀介質(zhì)具有 體現(xiàn)于其中的如權(quán)利要求30所述的計(jì)算機(jī)程序(17、22)。
【文檔編號(hào)】H04L29/06GK105830413SQ201480058411
【公開日】2016年8月3日
【申請日】2014年10月17日
【發(fā)明人】羅伯托·羅弗索, 里卡爾多·雷亞萊, 賽門·艾爾-安塞利, 賽義夫·海利迪
【申請人】蜂巢流有限公司