專利名稱:用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及視頻點(diǎn)播(VoD, Video on Demand)服務(wù),并且更 特別地,涉及一種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的方法、裝置和系統(tǒng),其通過對 等和服務(wù)器-客戶機(jī)混M體內(nèi)容分發(fā)的方式來實(shí)現(xiàn)因特網(wǎng)協(xié)議電視視頻 點(diǎn)播(IPTV VoD )服務(wù)。
背景技術(shù):
隨著寬帶接入的廣泛部署以及網(wǎng)絡(luò)、技術(shù)、設(shè)備和內(nèi)容的融合,全新 的服務(wù)模型IPTV ^ 了市場。當(dāng)前IPTV VoD服務(wù)的內(nèi)容分發(fā)機(jī)制仍然 是服務(wù)器-客戶機(jī)模型,該模型使得媒體服務(wù)器承受了大量的業(yè)務(wù),并且 導(dǎo)致了系統(tǒng)的諸多缺點(diǎn),例如低的可擴(kuò)縮性、可靠性和穩(wěn)健性。
BitTorrent ( BT,比特洪流)是第二代對等(P2P )文件分發(fā)協(xié)議。 在最近幾年間,BitTorrent已被證明是用于P2P內(nèi)容分發(fā)的非常有效的機(jī) 制。P2P內(nèi)容分發(fā)機(jī)制可以解決服務(wù)器/客戶機(jī)的缺點(diǎn)。同時(shí)從若干資源下 載相同的內(nèi)容顯然會提升到下載器的數(shù)據(jù)吞吐量,明顯使服務(wù)器免于過載, 并且將加強(qiáng)系統(tǒng)的可擴(kuò)縮性、可靠性以及穩(wěn)健性。
BitTorrent被設(shè)計(jì)用于在大量用戶間高效地分發(fā)文件。該協(xié)議中有若 干機(jī)制可以確保BT具有基于對等體帶寬的最佳下載吞吐量,例如最稀缺 最先(rarest-first)數(shù)據(jù)段選擇算法以及隨機(jī)對等體列表。但也因?yàn)槟切?算法,BT在諸如VoD這樣的時(shí)間敏感業(yè)務(wù)的情況下令人非常失望。原因 在于,在數(shù)據(jù)對時(shí)間敏感的情況下,應(yīng)當(dāng)在特定時(shí)間內(nèi)獲得將要由媒體播 放器使用的所有數(shù)據(jù)段,在該截止時(shí)間之后,特定的數(shù)據(jù)段對于媒體播放 器來識/f更是無用的。BitTorrent凈皮設(shè)計(jì)用來高效下載內(nèi)容,但卻只有在正 確下載了所有的數(shù)據(jù)段之后才可以使用內(nèi)容。因此,需要在那些機(jī)制上進(jìn)持流式傳輸。
BiToS系統(tǒng)是一種基于BitTorrent的改進(jìn),用于支持P2P媒體流式傳 輸,雖然其仍然處于研究中,但卻給出了一種利用加強(qiáng)的BitTorrent機(jī)制 來支持IPTVVoD的解決方案。然而,BiToS仍然是純P2P的下栽機(jī)制。 由于對數(shù)據(jù)段下載選摔的隨機(jī)性,有可能在媒體內(nèi)容^皮播放之前該媒體內(nèi) 容的數(shù)據(jù)段還沒能完成下載,結(jié)果使得媒體播放器"t幾餓"而不能播放該 媒體內(nèi)容。
因此需要一種改進(jìn)的用于實(shí)現(xiàn)VoD的方法、裝置和系統(tǒng)來解決上述問題。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的方法, 其包括根據(jù)用戶所點(diǎn)播的視頻服務(wù),獲取有關(guān)視頻文件的數(shù)據(jù)段的信息; 通過第一集合和第二集合來下載所述數(shù)據(jù)段,其中在所述第一集合中的數(shù) 據(jù)段是按照播放的時(shí)間順序來下載的;當(dāng)確定還未完成下載的數(shù)據(jù)段的下 載源稀缺時(shí),向跟蹤器發(fā)送對于對等體列表的查詢消息;以及基于從所述 跟蹤器接收到的所述對等體列表,更新作為下載源的對等體,其中,所述 對等體列表中包括作為所述數(shù)據(jù)段的下載源的對等體,并且當(dāng)所述對等體 列表中包括提供所述視頻文件的服務(wù)器時(shí),添加所述服務(wù)器作為所述數(shù)據(jù) 段的下載源。
根據(jù)本發(fā)明的第二方面,提供了一種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的裝置, 其包括獲^^莫塊,其被配置以便根據(jù)用戶所點(diǎn)播的視頻服務(wù),獲取有關(guān) 視頻文件的數(shù)據(jù)段的信息;下載模塊,其被配置以便通過第一集合和第二 集合來下栽所述數(shù)據(jù)段,其中在所述第 一集合中的數(shù)據(jù)段是按照播放的時(shí) 間順序來下載的;發(fā)送才莫塊,其被配置以便當(dāng)確定還未完成下載的數(shù)據(jù)段 的下載源稀缺時(shí),向跟蹤器發(fā)送對于對等體列表的查詢消息;以及更新模 塊,其被配置以便基于從所述跟蹤器接收到的所述對等體列表,更新作為 下載源的對等體,其中,所述對等體列表中包括作為所述數(shù)據(jù)段的下載源
8的對等體,并且當(dāng)所述對等體列表中包括提供所述視頻文件的服務(wù)器時(shí), 添加所述服務(wù)器作為所述數(shù)據(jù)段的下載源。
根據(jù)本發(fā)明的第三方面,提供了 一種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的跟蹤器,
其包括接收模塊,其被配置以便從視頻點(diǎn)播裝置接收對于與用戶所點(diǎn)播 的視頻文件的數(shù)據(jù)段相關(guān)聯(lián)的對等體列表的查詢消息;生成模塊,其被配 置以便生成響應(yīng)于所述查詢消息的對等體列表,所述對等體列表中包括作 為所述數(shù)據(jù)段的下載源的對等體;確定模塊,其被配置以便基于所述查詢 消息來確定是否將提供所述視頻文件的服務(wù)器包括在所述對等體列表中; 以M送模塊,其被配置以便將所述對等體列表發(fā)送給所述視頻點(diǎn)播裝置。 根據(jù)本發(fā)明的第四方面,提供了 一種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的系統(tǒng), 其包括服務(wù)器,其被配置以便提供視頻文件;跟蹤器,其被配置以便接 收對于對等體列表的查詢消息,以及生成基于所述查詢消息的對等體列表; 以及用戶裝置,其被配置以便根據(jù)用戶所點(diǎn)播的視頻服務(wù),獲取有關(guān)視 頻文件的數(shù)據(jù)段的信息,通過第一集合和第二集合來下載所述數(shù)據(jù)段,其 中在所述第 一集合中的數(shù)據(jù)段是按照播放的時(shí)間順序來下栽的,當(dāng)確定還 未完成下載的數(shù)據(jù)段的下載源稀缺時(shí),向所述跟蹤器發(fā)送對于對等體列表 的查詢消息,以及基于從所述跟蹤器接收到的所述對等體列表,更新作為 下載源的對等體,其中,所述對等體列表中包括作為所述數(shù)據(jù)段的下載源 的對等體,并且當(dāng)所述對等體列表中包括所述服務(wù)器時(shí),添加所述服務(wù)器
作為所述數(shù)據(jù)段的下載源。
在所附權(quán)利要求中闡述了本發(fā)明的新穎性特征。當(dāng)結(jié)合附圖閱讀時(shí), 通過參照以下對說明性實(shí)施例的詳細(xì)描述,將最好地理解本發(fā)明本身以及 優(yōu)選的使用模式,及其進(jìn)一步的目的和優(yōu)點(diǎn),在附圖中
圖1依照本發(fā)明的示例性實(shí)施例示出了用于IPTV VoD服務(wù)的對等和 服務(wù)器-客戶機(jī)混M體內(nèi)容分發(fā)系統(tǒng);
圖2是依照本發(fā)明的示例性實(shí)施例說明了用于實(shí)現(xiàn)VoD服務(wù)的方法的流程圖3依照本發(fā)明的示例性實(shí)施例說明了用于下載數(shù)據(jù)段的策略; 圖4依照本發(fā)明的示例性實(shí)施例說明了對等體列表的生成;以及 圖5依照本發(fā)明的示例性實(shí)施例描繪了用于實(shí)現(xiàn)VoD服務(wù)的系統(tǒng)的簡 化框圖。
具體實(shí)施例
下面將參照附圖來詳細(xì)描述本發(fā)明的實(shí)施例。貫穿本i兌明書全文,談 及特征、優(yōu)點(diǎn)或類似的措辭并非意味著可以利用本發(fā)明而實(shí)現(xiàn)的所有特征 與優(yōu)點(diǎn)應(yīng)當(dāng)在或者是在本發(fā)明的任何單個(gè)的實(shí)施例中。相反,要理解涉及 特征與優(yōu)點(diǎn)的措辭意味著結(jié)合實(shí)施例所描述的具體特征、優(yōu)點(diǎn)或特性包括 在本發(fā)明的至少一個(gè)實(shí)施例中。因而,貫穿本說明書全文,對特征和優(yōu)點(diǎn) 的討論以及類似的措辭可以指同一實(shí)施例,但卻不一定指同一實(shí)施例。此 外,所描述的本發(fā)明的特征、優(yōu)點(diǎn)以及特性可以用任何合適的方式合并在 一個(gè)或多個(gè)實(shí)施例中。相關(guān)領(lǐng)域的技術(shù)人員將會認(rèn)識到,可以在沒有特定 實(shí)施例的一個(gè)或多個(gè)具體特征或優(yōu)點(diǎn)的情況下實(shí)踐本發(fā)明。在其它的實(shí)例 中,可以在某些實(shí)施例中實(shí)現(xiàn)附加的特征和優(yōu)點(diǎn),其不一定出現(xiàn)于本發(fā)明 的所有實(shí)施例之中。
如前所述,當(dāng)前IPTV VoD服務(wù)的內(nèi)容分發(fā)機(jī)制仍然力艮務(wù)器-客戶 機(jī)模型,該模型使得媒體服務(wù)器承受了大量的業(yè)務(wù),并且導(dǎo)致了系統(tǒng)的諸 多缺點(diǎn),例如低的可擴(kuò)縮性、可靠性和穩(wěn)健性。此外,雖然BiToS系統(tǒng)給 出了 一種利用加強(qiáng)的BitTorrent機(jī)制來支持IPTV VoD的解決方案,但是 BiToS仍然是純P2P的下載機(jī)制,為了向用戶提供對時(shí)間敏感媒體內(nèi)容的 穩(wěn)定、高效的下載,需要改變BitTorrent協(xié)議的若干算法。為此,本發(fā)明 提出了 一種用于IPTV VoD服務(wù)的P2P (BitTorrent)和服務(wù)器-客戶機(jī) 混合媒體內(nèi)容分發(fā)系統(tǒng),其中,P2P內(nèi)容下載是主要的下載方法,而服務(wù) 器-客戶機(jī)內(nèi)容下載是輔助的下載方法。
圖1依照本發(fā)明的示例性實(shí)施例示出了用于IPTV VoD服務(wù)的對等和服務(wù)器-客戶機(jī)混M體內(nèi)容分發(fā)系統(tǒng)100。如圖1所示,混M體內(nèi)容
分發(fā)系統(tǒng)100包^^體服務(wù)器101、 IPTV VoD跟蹤器102、 IPTV電子節(jié) 目指南(EPG)服務(wù)器103、媒體源104、媒體編碼器105,以及對等群(peer swsrm )106a和106b,其包括作為該IPTVVoD服務(wù)的用戶端點(diǎn)的多個(gè)對 等體(客戶機(jī))。媒體服務(wù)器101 、 IPTV VoD跟蹤器102和IPTV EPG服 務(wù)器103及其任意或全部組件均可以在通用或?qū)S糜?jì)算機(jī)系統(tǒng)(例如,個(gè) 人計(jì)算機(jī)、工作站、服務(wù)器、大型計(jì)算機(jī)、筆記本式或膝上型計(jì)算機(jī)、平 板PC、臺式計(jì)算機(jī)、便攜式計(jì)算機(jī)系統(tǒng)、PDA、 STB (機(jī)頂盒)、移動(dòng)電 話、無線設(shè)備等中的一個(gè)或多個(gè))上執(zhí)行。對等群106a中的用戶端點(diǎn)通過 對等網(wǎng)絡(luò)共享諸如IPTVVoDl的第一媒體內(nèi)容,而對等群106b中的用戶 端點(diǎn)通過對等網(wǎng)絡(luò)共享諸如IPTV VoD 2的第二^^體內(nèi)容。用戶端點(diǎn)可以 是諸如IPTV STB、手機(jī)、計(jì)算機(jī)或任何網(wǎng)絡(luò)感知設(shè)備的IPTV端點(diǎn),其 訪問以便注冊IPTV VoD服務(wù)。用戶端點(diǎn)(也可稱為客戶機(jī))與媒體服務(wù) 器101、 IPTV VoD跟蹤器102和IPTV EPG服務(wù)器103可以通過通信網(wǎng) 絡(luò)進(jìn)行信息交換和數(shù)據(jù)傳輸,例如,通過因特網(wǎng)、城域網(wǎng)、局域網(wǎng)等。此 外,媒體內(nèi)容分發(fā)系統(tǒng)100可以包括附加的服務(wù)器、客戶機(jī)和未示出的其 它設(shè)備。
媒體編碼器105從媒體源104接收媒體內(nèi)容,將該媒體內(nèi)容編碼成合 適的媒體文件用于網(wǎng)絡(luò)交付,并且將媒體文件傳遞至IPTV媒體服務(wù)器
ioi。媒體服務(wù)器ioi存m體內(nèi)容,在邏輯上將媒體內(nèi)容拆分成數(shù)據(jù)段,
并且將所拆分的信息轉(zhuǎn)發(fā)至IPTV VoD跟蹤器102和IPTV EPG服務(wù)器 103,以便用戶通過該信息來獲取所請求的媒體內(nèi)容。
當(dāng)提供IPTV VoD服務(wù)時(shí),IPTV EPG服務(wù)器103會將媒體信息發(fā)布 給用戶。用戶瀏覽VoD媒體列表并且選擇播放的媒體內(nèi)容,例如,電影、 電視節(jié)目等。在本發(fā)明的示例性實(shí)施例中,基于BitTorrent協(xié)議,用戶可 以從EPG服務(wù)器103下載.torrent文件,該文件含有與對應(yīng)的VoD媒體文 件、其長度、名稱有關(guān)的信息,以及用于每個(gè)文件數(shù)據(jù)段的散列信息。
當(dāng)用戶希望獲取其選擇播放的VoD媒體文件時(shí),該用戶聯(lián)絡(luò)為該VoD
ii管理對等群的IPTV VoD跟蹤器102。 IPTV VoD跟蹤器102向用戶響應(yīng) 對等體列表,該對等體列表定義了正在下載相同的媒體文件的一組對等體。 用戶然后可以與該組對等體中的其它對等體通信,以便獲得文件數(shù)據(jù)段, 與此同時(shí),其還按照tit-for-tat (互惠互利)的方式上傳文件數(shù)據(jù)段給其對 應(yīng)對等體(counterpart peers )。
在用戶端點(diǎn)上,通過諸如下載軟件等的下載裝置,可以下載媒體內(nèi)容 的每個(gè)數(shù)據(jù)段,將其存儲在本地存儲器中,并且不會將其移除,除非用戶 終端關(guān)閉。 一旦媒體數(shù)據(jù)頭的啟動(dòng)巻到達(dá),用戶終端上的媒體播放器(未 示出)便會開始提供相應(yīng)的媒體內(nèi)容。
依照本發(fā)明的實(shí)施例的媒體分發(fā)系統(tǒng)100為用戶提供了對時(shí)間敏感媒 體內(nèi)容的穩(wěn)定、高效的下載,其通過改變BitTorrent協(xié)議的若干算法來滿 足此目的
a、 在對等端上的粗略順序(rough-sequential)下載策略,以便使得 BitTorrent支持媒體流式傳輸。在對等端上有兩個(gè)下載線程,其中一個(gè)按 照播放時(shí)間的順序來從P2P對等體獲得內(nèi)容數(shù)據(jù)段,這是為了滿足媒體播 放器對媒體內(nèi)容的順序需要;另一個(gè)按照最稀缺-最先的下載順序來滿足 在P2P群中數(shù)據(jù)段的分集,這是BitTorrent網(wǎng)絡(luò)的基本需要。
b、 加強(qiáng)跟蹤器邏輯,以便根據(jù)對等體的下載進(jìn)度來向?qū)Φ润w列表查詢 響應(yīng)過濾的對等體列表。 一旦對等體發(fā)現(xiàn)一些數(shù)據(jù)段絕跡(extinct),或 者當(dāng)前在下載的數(shù)據(jù)段稀缺(例如,在與該對等體通信的對應(yīng)對等體中, 僅有少于20%的對等體具有該數(shù)據(jù)段),其便向跟蹤器發(fā)起對等體列表查 詢消息。跟蹤器將向其返回隨機(jī)的對等體列表,該表含有的那些對等體具 有該對等體所需要的、按播放時(shí)間順序排列的數(shù)據(jù)。
c、 媒體服務(wù)器在該P(yáng)2P內(nèi)容分發(fā)系統(tǒng)中充當(dāng)穩(wěn)定的種子。跟蹤器邏 輯上的加強(qiáng)會將媒體服務(wù)器有條件的放入到對等體列表中。當(dāng)跟蹤器發(fā)現(xiàn) 對等體的剩余數(shù)據(jù)段(未完成下載的數(shù)據(jù)段)在P2P群上具有高稀缺性時(shí),
其會將媒體服務(wù)器放入對等體列表中,以便使對等體從媒體服務(wù)器下載相 應(yīng)的數(shù)據(jù)段。 (本發(fā)明通過將P2P模式《1入到實(shí)時(shí)媒體內(nèi)容分發(fā)系統(tǒng),提供了對IPTV VoD服務(wù)的高可擴(kuò)縮性、可靠性以及穩(wěn)健性。用戶可以獲得對其帶寬的充 分使用,而不會受到服務(wù)器端的處理能力或帶寬的限制。與此同時(shí),由于 在本發(fā)明中采用P2P和服務(wù)器-客戶機(jī)混合下載策略,媒體服務(wù)器M載 輔助業(yè)務(wù),因此本發(fā)明還使得媒體服務(wù)器不用承受過載,并且提升了內(nèi)容 分發(fā)網(wǎng)絡(luò)的總吞吐量。
盡管僅對用于IPTV VoD服務(wù)的對等和服務(wù)器-客戶機(jī)混M體內(nèi)容 分發(fā)系統(tǒng)100說明了兩個(gè)對等群106a和106b,然而可以存在針對不同VoD 服務(wù)的多個(gè)對等群,以及可以同樣有效地使用具有多個(gè)服務(wù)器的系統(tǒng)。
下面的示意性流程圖一般作為邏輯流程圖來進(jìn)行闡述。因此,所示出 的順序和所標(biāo)記的步驟表示所提出的方法的一個(gè)實(shí)施例。可以想到在功能、 邏輯或效果方面等效于所描述的方法的一個(gè)或多個(gè)步驟或其部分的其它步 驟和方法。另外,所采用的格式和符號是為了闡釋該方法的邏輯步驟而提 供的,并且,皮理解為并不限制該方法的范圍。盡管在流程圖中可以采用各 種箭頭類型和線條類型,然而它們;陂理解為并不限制相應(yīng)的方法的范圍。 事實(shí)上,某些箭頭或其它的連接符可能僅僅用于指示該方法的邏輯流程。 例如,箭頭可以指示所示方法的所列步驟之間未指定的持續(xù)時(shí)間的等待或 監(jiān)視期。另外,特定方法發(fā)生的順序可以嚴(yán)格按照所示對應(yīng)步驟的順序, 或者,可以不嚴(yán)格按照所示對應(yīng)步驟的順序。
圖2是依照本發(fā)明的示例性實(shí)施例說明了用于實(shí)現(xiàn)VoD服務(wù)的方法 200的流程圖。當(dāng)例如通過EPG服務(wù)器103向用戶發(fā)布了可供點(diǎn)播的媒體 信息之后,該過程開始。在步驟202,用戶實(shí)現(xiàn)對視頻服務(wù)的點(diǎn)播,例如 通過瀏覽VoD媒體列表并且選擇想要播放的諸如電影、電視節(jié)目等的媒體 內(nèi)容。在步驟204,根據(jù)用戶所點(diǎn)播的視頻服務(wù),獲取有關(guān)視頻文件的數(shù) 據(jù)段的信息。在本發(fā)明的示例性實(shí)施例中,用戶端點(diǎn)可以基于BitTorrent 協(xié)議來下載所點(diǎn)播的媒體內(nèi)容的視頻文件。舉例來說,用戶從EPG服務(wù)器 103下載.torrent文件,其含有與VoD文件有關(guān)的信息v以及用于每個(gè)文 件的數(shù)據(jù)段的散列信息。
13在步驟206,用戶端點(diǎn)通過第一集合(例如下面詳細(xì)討論的按時(shí)間順 序下載的數(shù)據(jù)段集合)和第二集合(例如下面詳細(xì)討論的剩余的數(shù)據(jù)段集 合)來下栽所點(diǎn)播的視頻文件的數(shù)據(jù)段,其中為了滿足來自媒體播放器的 對媒體數(shù)據(jù)段的播放需求,在該第一集合中的數(shù)據(jù)段是按照播放的時(shí)間順 序來下載的。下面參照圖3對該下載過程進(jìn)行詳細(xì)說明。
圖3依照本發(fā)明的示例性實(shí)施例示出了用于下載數(shù)據(jù)段的策略,其中 采用了加強(qiáng)的BitTorrent數(shù)據(jù)段選擇算法。如圖3所示,用戶端點(diǎn)(其同 樣是共享所點(diǎn)播的視頻文件的對等體,為便于描述,下文稱之為用戶端點(diǎn))
中的數(shù)據(jù)段選擇算法將數(shù)據(jù)段及其狀態(tài)標(biāo)記為已下栽、正在下栽,或者未 下栽,并且將數(shù)據(jù)段分成三類
接收到的數(shù)據(jù)段集合其含有已經(jīng)下載完的所有的媒體內(nèi)容數(shù)據(jù)段。
按時(shí)間順序下載的數(shù)據(jù)段集合含有未下載完的媒體內(nèi)^t據(jù)段, 包括還未下載的數(shù)據(jù)段以及正在下載的數(shù)據(jù)段。在該集合中,根據(jù)其將被 媒體播放器使用的截止時(shí)間,播放時(shí)間早的數(shù)據(jù)段具有比播放時(shí)間晚的數(shù) 據(jù)段要高的下載優(yōu)先級,即在該集合中的數(shù)據(jù)段是按照播放的時(shí)間順序來 下載的。該集合類別具有固定大小的多個(gè)數(shù)據(jù)段,例如,圖3中所示的8 個(gè)數(shù)據(jù)段,或者更多或更少的數(shù)據(jù)段。 一旦該集合中的某個(gè)數(shù)據(jù)段被下載 完,其便被移除到接收到的數(shù)據(jù)段集合中。與此同時(shí),按照播放順序但卻 未下載的下 一數(shù)據(jù)段將被從剩余的數(shù)據(jù)段集合中選入該集合。
剩余的數(shù)據(jù)段集合含有不在按時(shí)間順序下載的數(shù)據(jù)段集合中的 其它未下載完的數(shù)據(jù)段,包括還未下載的數(shù)據(jù)段以及正在下載的數(shù)據(jù)段。 圖3中所示出的在該集合中的數(shù)據(jù)段間的空隙表示的是已經(jīng)下載完并且被 移除到接收到的數(shù)據(jù)段集合中的數(shù)據(jù)段。
在本發(fā)明的示例性實(shí)施例中,在用戶端點(diǎn)開始下載所點(diǎn)播的媒體內(nèi)容
的數(shù)據(jù)段之前,基于播放該視頻內(nèi)容的時(shí)間順序,其會對所有待下載的數(shù)
據(jù)段(即視頻文件的所有數(shù)據(jù)段)進(jìn)行排序。然后,將這些待下載的數(shù)據(jù) 段安排到具有固定大小的按時(shí)間順序下載的數(shù)據(jù)段集合,并且將剩余的這些待下載的數(shù)據(jù)段安排到剩余的數(shù)據(jù)段集合。
在加強(qiáng)的數(shù)據(jù)段選擇算法中,用戶端點(diǎn)在任何給定時(shí)間均可以具有在 同時(shí)下載的多個(gè)數(shù)據(jù)段??梢赃x擇從按時(shí)間順序下載的數(shù)據(jù)段集合或者從 剩余的數(shù)據(jù)段集合下載數(shù)據(jù)段。在本發(fā)明的示例性實(shí)施例中,當(dāng)具有可用 的下載資源時(shí),便可以確定是從按時(shí)間順序下載的數(shù)據(jù)段集合還是從剩余 的數(shù)據(jù)段集合來選擇數(shù)據(jù)段進(jìn)行下載,對此定義了概率p,這意味著在并 行下載的數(shù)據(jù)段中,百分之p的數(shù)據(jù)段選自按時(shí)間順序下載的數(shù)據(jù)段集合, 并且百分之(1 - p )的數(shù)據(jù)段選自剩余的數(shù)據(jù)段集合。
如以上所提及的,用于從按時(shí)間順序下載的數(shù)據(jù)段集合選擇下載數(shù)據(jù) 段的機(jī)制是按照播放的時(shí)間順序,也就是說,應(yīng)當(dāng)根據(jù)數(shù)據(jù)段在媒體文件 中的時(shí)間線順序來下栽該數(shù)據(jù)段。該下載機(jī)制可以滿足來自媒體播放器的 對媒體數(shù)據(jù)段按照時(shí)間順序進(jìn)行播放的需求。用于從剩余的數(shù)據(jù)段集合選
擇下載數(shù)據(jù)段的機(jī)制是原始的BitTorrent最稀缺-最先機(jī)制。根據(jù)本發(fā)明 的示例性實(shí)施例,對最稀缺-最先機(jī)制做出了稍許改變。如果多個(gè)數(shù)據(jù)段 具有相同的稀缺性,則將選擇作為沿媒體文件時(shí)間線的首個(gè)數(shù)據(jù)段的數(shù)據(jù) 段進(jìn)行下載,即按照播放的時(shí)間順序從所述多個(gè)數(shù)據(jù)段中選擇第一數(shù)據(jù)段 進(jìn)行下載。因而,基于該下載機(jī)制,當(dāng)下載源同樣稀缺時(shí),播放時(shí)間早的 數(shù)據(jù)段將具有比播放時(shí)間晚的數(shù)據(jù)段要高的下載優(yōu)先級,由此在一定程度 上彌補(bǔ)了常規(guī)P2P下載機(jī)制在時(shí)間敏感業(yè)務(wù)方面的不足。
因此,在按時(shí)間順序下載的數(shù)據(jù)段集合中下載的數(shù)據(jù)段要滿足來自媒 體播放器對媒體數(shù)據(jù)段的按照時(shí)間順序播放的需求,而在剩余的數(shù)據(jù)段集 合中下載的數(shù)據(jù)段要滿足在P2P群組中的數(shù)據(jù)段分集,這意味著需要權(quán)衡 對等體使用的下載帶寬。如上所述,可以通過設(shè)置概率p來為對等體劃分 對等體下載帶寬。因此,概率p可以是動(dòng)態(tài)值,并且可以根據(jù)以下中的至 少一項(xiàng)來進(jìn)行動(dòng)態(tài)調(diào)整對視頻文件的播放速率,以及用于下栽的帶寬。 在本發(fā)明的一個(gè)實(shí)施例中,概率p通過以下公式來計(jì)算p-媒體播放器 消耗速率/下載器所使用的帶寬,其中媒體播放器消耗速率表示媒體播放器 播放視頻文件時(shí)對數(shù)據(jù)段的消耗速率,而下載器所使用的帶寬表示對等體中的VoD下栽器所占用的帶寬。
返回圖2,在步驟208,如果確定還未完成下載的數(shù)據(jù)段的下載源稀缺, 則在步驟210,用戶端點(diǎn)向跟蹤器發(fā)送對于對等體列表的查詢消息,否則 用戶端點(diǎn)繼續(xù)從現(xiàn)有下載源下載數(shù)據(jù)段。在本發(fā)明的示例性實(shí)施例中,一 旦用戶端點(diǎn)發(fā)現(xiàn)在其按時(shí)間順序下載的數(shù)據(jù)段集合或剩余的數(shù)據(jù)段集合中 的數(shù)據(jù)段無下栽源,或者當(dāng)前正在下載的數(shù)據(jù)段的下載源少于預(yù)先確定的 閾值(例如,僅20%的對應(yīng)對等體具有該數(shù)據(jù)段),該用戶端點(diǎn)便確定還 未完成下載的數(shù)據(jù)段的下載源稀缺,并且向跟蹤器發(fā)起查詢消息以獲得對 等體列表。由于該對等體列表中的對等體正在下載或已經(jīng)下載了所點(diǎn)播的 視頻文件,因此這些對等體可以作為所點(diǎn)播的視頻文件的下載源。用戶端 點(diǎn)然后可以與這些對等體進(jìn)行通信,從而開始下栽該視頻文件的數(shù)據(jù)段。 在對等體向跟蹤器發(fā)送的對等體列表查詢消息中,可以包括第一進(jìn)度指示
符H,其指示的數(shù)據(jù)段是當(dāng)前正在按時(shí)間順序下載的數(shù)據(jù)段集合中下載的 數(shù)據(jù)段中索引號最大的數(shù)據(jù)段,其中數(shù)據(jù)段的索引號指示了該數(shù)據(jù)段在播 放時(shí)所處的時(shí)間順序,例如,播放時(shí)間越晚,索引號越大。當(dāng)跟蹤器接收 到該查詢消息時(shí),將會依照特定的算法對消息進(jìn)行響應(yīng)。在原始的 BitTorrent協(xié)議中,跟蹤器響應(yīng)算法是返回對等體的隨機(jī)列表,但在時(shí)間 敏感業(yè)務(wù)中,媒體內(nèi)容的數(shù)據(jù)段具有關(guān)于其索引號(序號)的優(yōu)先級。因 此,在本發(fā)明的方法中,采用了加強(qiáng)的BitTorrent跟蹤器響應(yīng)算法,依照 該響應(yīng)算法,跟蹤器根據(jù)用戶端點(diǎn)的下載進(jìn)度來響應(yīng)對等體列表查詢。下 面參照圖4詳細(xì)說明了對等體列表的生成。
圖4依照本發(fā)明的示例性實(shí)施例說明了對等體列表的生成。為了指示 共享視頻文件的對等群中的各個(gè)對等體的下載進(jìn)度,從各個(gè)對等體到跟蹤 器都具有周期性報(bào)告,以便使跟蹤器知道哪個(gè)對等體有什么。除了在原始 BitTorrent協(xié)議中從對等體報(bào)告給跟蹤器的信息之外,本發(fā)明提出在報(bào)告 中添加新的進(jìn)度指示符,以便針對每個(gè)對等體而呈現(xiàn)按照時(shí)間順序的下載 進(jìn)度。在本發(fā)明的示例性實(shí)施例中,每個(gè)VoD對等群中的對等體周期性地 向跟蹤器報(bào)告具有第二進(jìn)度指示符D的信息,該第二進(jìn)度指示符D指示的是在已下載完的按時(shí)間順序連續(xù)排列的數(shù)據(jù)段中,播放時(shí)間最晚(即具有 最大索引號)的數(shù)據(jù)段。因此,該數(shù)據(jù)段以及播放時(shí)間在該數(shù)據(jù)段之前的 所有數(shù)據(jù)段在相應(yīng)的對等體上都已經(jīng)完成下載,而按播放時(shí)間順序來說,
該數(shù)據(jù)段的下一個(gè)數(shù)據(jù)段還未完成下載。舉例來說,當(dāng)諸如圖4中的對等 體25的對等體向跟蹤器發(fā)送具有第二進(jìn)度指示符D = 10的才艮告信息時(shí), 其便已經(jīng)下載完了索引號為1到10的數(shù)據(jù)段,而索引號大于10的數(shù)據(jù)段 即使已經(jīng)完成下載,就播放順序來看,這些數(shù)據(jù)段也是不連續(xù)的。
在多M宗器端,其為每個(gè)VoD對等群保持動(dòng)態(tài)的數(shù)據(jù)段-對等體列表。 通過數(shù)據(jù)段索引號進(jìn)行索引,每個(gè)條目含有的那些對等體的進(jìn)度指示符D 與對應(yīng)的數(shù)據(jù)段索引號相匹配。如圖4所示,對應(yīng)于數(shù)據(jù)段索引號12的對 等體包括編號為8, 24, 31…的對等體,這表示在這些對等體上已經(jīng)下載 完索引號小于以及等于12的數(shù)據(jù)段,但卻還沒有下栽完索引號為13的數(shù) 據(jù)段。響應(yīng)于對等體列表查詢消息,跟蹤器將從以下條目生成隨機(jī)的對等 體列表,即該條目具有比發(fā)起查詢消息的對等體的第一進(jìn)度指示符更大的 索引號,這意味著在列表中的對等體具有比發(fā)起查詢消息的對等體的當(dāng)前 第 一進(jìn)度指示符所指示的數(shù)據(jù)段的播放時(shí)間要早的所有數(shù)據(jù)段,因此列表 中的這些對等體將具有發(fā)起查詢消息的對等體就播放時(shí)間而言更想要的數(shù) 據(jù)段。舉例來說,如圖4所示,對于發(fā)起對等體列表查詢消息的對等體44, 其查詢消息中包括第一進(jìn)度指示符H = 8,并且該對等體44處于VoD 2對 等群。響應(yīng)于該查詢消息,跟蹤器在用于VoD2對等群的數(shù)據(jù)段-對等體 列表中找到索引號8,從索引號大于8的條目中隨機(jī)選擇對等體。因此, 相比于對等體44在當(dāng)前查詢消息中的第一進(jìn)度指示符所指示的數(shù)據(jù)段,在 所生成的對等體列表中,與各對等體相關(guān)聯(lián)的第二進(jìn)度指示符所指示的數(shù) 據(jù)段的播放時(shí)間要晚。跟蹤器然后將該對等體列表返回給對等體44。
返回圖2,在步驟212,用戶端點(diǎn)從跟蹤器接收響應(yīng)于其查詢消息的對 等體列表。在步驟214,基于所接收到的對等體列表,該用戶端點(diǎn)更新作 為下載源的對等體。依照本發(fā)明的示例性實(shí)施例,用戶端點(diǎn)在,新下載源 時(shí),保留現(xiàn)有的下載源,并且將最新的對等體列表中的對等體添加為新的下載源。因此,隨著共享視頻文件的對等體數(shù)的不斷增加,用戶端點(diǎn)可用 的下載源可能會越多。根據(jù)特定的對等協(xié)議,用戶端點(diǎn)可以通過與作為下 栽源的對等體之間的通信來下載還未完成下載的數(shù)據(jù)段。與此同時(shí),用戶 端點(diǎn)還可以通過與共享該視頻文件的對等體之間的通信來上傳其已完成下 載的數(shù)據(jù)段。
需要指出的是,BitTorrent機(jī)制具有的缺點(diǎn)在于當(dāng)具有某些數(shù)據(jù)段 的所有對等體都離開對等群時(shí),整個(gè)下載群將關(guān)于這些數(shù)據(jù)段而阻塞。因 此,在本發(fā)明的示例性實(shí)施例中,當(dāng)將BitTorrent引入到VoD系統(tǒng)中時(shí), 將媒體服務(wù)器用作可靠的種子,這將避免上述事故發(fā)生。在本發(fā)明的方法 中,BitTorrent是獲得媒體內(nèi)容的唯一方式,而媒體服務(wù)器充當(dāng)?shù)氖荘2P 群組中僅上傳數(shù)據(jù)段的種子。其保存媒體內(nèi)容的所有數(shù)據(jù)段,總是將數(shù)據(jù) 段上傳給對等體,并且在長持續(xù)時(shí)間中保持服務(wù)于對等群,其可以充當(dāng)P2P 下載系統(tǒng)中的可靠種子。然而,為了最好地利用P2P下載,并不期望媒體 服務(wù)器承擔(dān)過多的下載業(yè)務(wù),因此對其的使用是有條件的。跟蹤器并不會 對所有的對等體列表查詢都將媒體服務(wù)器放入到對等體列表中,而僅當(dāng)?shù)?一進(jìn)度指示符所指示的數(shù)據(jù)段在共享該媒體內(nèi)容的對等群中具有高稀缺性 時(shí),換句話說,僅當(dāng)具有該數(shù)據(jù)段的對等體數(shù)少于預(yù)先確定的閾值(例如, 僅有5%的對等體具有該數(shù)據(jù)段)時(shí),才將媒體服務(wù)器放入到對等體列表 中。以這樣的方式,媒體服務(wù)器不會承受高負(fù)載,而僅是P2P下載的輔助, 另一方面,其可以滿足對數(shù)據(jù)段的重要需求。因此,在步驟216,當(dāng)返回 的對等體列表中包括提供所點(diǎn)播的視頻文件的服務(wù)器時(shí),在步驟218,用 戶端點(diǎn)還將添加該服務(wù)器作為視頻文件的數(shù)據(jù)段的下載源。在步驟220, 如果已經(jīng)下載完所點(diǎn)播的視頻文件的所有數(shù)據(jù)段,那么該過程結(jié)束。
以上描述了才艮據(jù)本發(fā)明的實(shí)施例的用于實(shí)現(xiàn)VoD服務(wù)的方法。應(yīng)當(dāng)指 出的是,所描述的方法僅為示例,而不是對本發(fā)明的限制。本發(fā)明的用于 實(shí)現(xiàn)VoD服務(wù)的方法可具有更多、更少或不同的步驟,所描述的一些步驟 可合并為單個(gè)步驟或劃分為更細(xì)的步驟,且一些步驟之間的順序可改變或
可并行執(zhí)4亍。
18圖5依照本發(fā)明的示例性實(shí)施例描繪了用于實(shí)現(xiàn)VoD服務(wù)的系統(tǒng)500 的簡化框圖。如圖5所示,系統(tǒng)500包括用戶實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的用戶裝 置(即共享視頻文件的對等體)510a,510b,…,510n、跟蹤器520,以;SJ艮 務(wù)器530。服務(wù)器530被配置用于提供可供用戶裝置510a-510n獲得的 VoD士某體服務(wù)。用戶裝置510a-510n與服務(wù)器530、跟蹤器520之間可以 通過通信網(wǎng)絡(luò)進(jìn)行信息交換和數(shù)據(jù)傳輸,例如,通過因特網(wǎng)、城域網(wǎng)、局 域網(wǎng)等。此外,系統(tǒng)500可以包括附加的服務(wù)器、對等體和未示出的其它 設(shè)備。
根據(jù)本發(fā)明的示例性實(shí)施例,用戶裝置510包括獲Wt塊511、下載 模塊512、發(fā)送模塊513,以及更新模塊514,如圖5中所示出的510a。當(dāng) 用戶裝置510點(diǎn)播了視頻服務(wù)后,獲取模塊511用于獲取有關(guān)所點(diǎn)播的視 頻文件的數(shù)據(jù)段的信息,例如通過下載.torrent文件。獲取漠塊511還可以 用于從跟蹤器520獲取含有該數(shù)據(jù)段的下載源信息的對等體列表。
下載模塊512用于從該視頻文件的下載源下載數(shù)據(jù)段,例如從共享該
視頻文件的其它對等體,或者從提供視頻文件的服務(wù)器530。下載模塊512
可以使用如圖3中所說明的下載策略,并結(jié)合圖2中所描述的方法,通過 第一集合和第二集合來下載這些數(shù)據(jù)段,其中在第一集合中,按照播放的
時(shí)間順序來下載數(shù)據(jù)段。
發(fā)送模塊513用于在還未完成下載的數(shù)據(jù)段的下載源稀缺時(shí),向跟蹤 器520發(fā)送對于對等體列表的查詢消息,以便獲得數(shù)據(jù)段的下載源。根據(jù) 本發(fā)明示例性實(shí)施例,在該查詢消息中具有第一進(jìn)度指示符,其指示的是 正在用戶裝置的第一集合中下載的數(shù)據(jù)段中播放時(shí)間最晚的數(shù)據(jù)段。發(fā)送 模塊513還用于周期性地向跟蹤器520發(fā)送含有第二進(jìn)度指示符的報(bào)告消 息,由于按照播放時(shí)間順序,第二進(jìn)度指示符所指示的數(shù)據(jù)段及其之前的 所有數(shù)據(jù)段都已經(jīng)下栽完,因此跟蹤器520可以根據(jù)第二進(jìn)度指示符來獲 知各個(gè)對等體的下載情況。在本發(fā)明的另一實(shí)施例中,發(fā)送模塊513還用 于向共享視頻文件的對等體上傳已下載到用戶裝置510 g據(jù)段。
更新模塊514用于基于從跟蹤器520返回的對等體列表,更新作為下載源的對等體,其中當(dāng)該對等體列表中包括服務(wù)器530時(shí),更新模塊514 還將其添加為下載源。
根據(jù)本發(fā)明的示例性實(shí)施例,跟蹤器520包括接收模塊521、生成模 塊522、確定模塊523,以M送模塊524,如圖5所示。接收模塊521用 于從用戶裝置接收對于與視頻文件的數(shù)據(jù)段相關(guān)聯(lián)的對等體列表的查詢消 息。接收模塊521還用于從共享視頻文件的對等體接收周期性發(fā)送的含有 相應(yīng)的下載進(jìn)度指示符的報(bào)告消息。
生成模塊522用于生成響應(yīng)于來自用戶裝置的查詢消息的對等體列 表,在所生成的對等體列表中含有視頻文件的數(shù)據(jù)段的下載源。
確定模塊523用于基于來自用戶裝置的查詢消息來確定是否將服務(wù)器 530包括在對等體列表中。依照本發(fā)明的示例性實(shí)施例,基于查詢消息中 的第一進(jìn)度指示符,如果確定模塊523確定在共享所點(diǎn)播的視頻文件的對 等體中,當(dāng)具有第一進(jìn)度指示符所指示的數(shù)據(jù)段的對等體的數(shù)目少于預(yù)先 確定的閾值(例如5% )時(shí),便將服務(wù)器530包括在該對等體列表中。
發(fā)送模塊524用于將所生成的對等體列M送給向跟蹤器520發(fā)起對 等體列表查詢消息的用戶裝置。
以上描述了根據(jù)本發(fā)明的實(shí)施例的實(shí)現(xiàn)VoD服務(wù)的系統(tǒng)500,應(yīng)當(dāng)指 出的是,所描述的系統(tǒng)500僅為示例,而不是對本發(fā)明的限制。本發(fā)明的 實(shí)現(xiàn)VoD服務(wù)的系統(tǒng)500可具有比所描述的更多、更少或不同的功能模塊, 所描述的一些功能模塊可合并在一起,或進(jìn)一步劃分,或具有不同的連接 關(guān)系和包含關(guān)系,所有這些變化均處于本發(fā)明的精神和范圍之內(nèi)。
本發(fā)明與當(dāng)前的IPTV VoD服務(wù)相比,可以顯著地降低媒體服務(wù)器上 的業(yè)務(wù),可以減少媒體服務(wù)器的數(shù)目,并且可以將媒體服務(wù)器端的帶寬需 求縮小幾十甚至上百倍。與近來研究的BiToS (其是全P2P (BitTorrent) 網(wǎng)絡(luò))相比,本發(fā)明提出了 P2P和服務(wù)器-客戶機(jī)混合網(wǎng)絡(luò),利用媒體服 務(wù)器作為輔助下載方法,這可以克服P2P連接的不可靠性,并且增加媒體 內(nèi)容下載的完整性,因此增加了客戶滿意度。 一
可以用硬件、軟件、固件或其組合的方式實(shí)現(xiàn)本發(fā)明。適于實(shí)現(xiàn)文中所描述的方法的任何計(jì)算機(jī)系統(tǒng)或其它裝置都是合適的。 一種典型的硬件
和軟件的組合可以是含有計(jì)算才;i4呈序的通用計(jì)算機(jī)系統(tǒng),當(dāng)該計(jì)算機(jī)程序 被加載和執(zhí)行時(shí),其控制該計(jì)算機(jī)系統(tǒng)而使其執(zhí)行文中所描述的方法的步 驟,或者構(gòu)成根據(jù)本發(fā)明的實(shí)施例的裝置和系統(tǒng)中的功能模塊。
本發(fā)明還可以體現(xiàn)在計(jì)算機(jī)程序產(chǎn)品中,該計(jì)算機(jī)程序產(chǎn)品含有使得 能夠?qū)崿F(xiàn)文中所描述的方法的所有特征,并且當(dāng)其被加載到計(jì)算機(jī)系統(tǒng)中 時(shí),能夠執(zhí)^f亍這些方法,或者構(gòu)成才艮據(jù)本發(fā)明的實(shí)施例的裝置和系統(tǒng)中的 功能模塊。
盡管已經(jīng)公開了本發(fā)明的具體實(shí)施例,然而本領(lǐng)域的普通技術(shù)人員應(yīng) 該理解在不背離本發(fā)明的精神和范圍的情況下可以對具體的實(shí)施例進(jìn)行改 變。因此,本發(fā)明的范圍并不限于具體的實(shí)施例,并且其旨在所附權(quán)利要 求涵蓋本發(fā)明范圍內(nèi)的任何以及所有這樣的應(yīng)用、修改和實(shí)施例。
權(quán)利要求
1.一種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的方法,其包括根據(jù)用戶所點(diǎn)播的視頻服務(wù),獲取有關(guān)視頻文件的數(shù)據(jù)段的信息;通過第一集合和第二集合來下載所述數(shù)據(jù)段,其中在所述第一集合中的數(shù)據(jù)段是按照播放的時(shí)間順序來下載的;當(dāng)確定還未完成下載的數(shù)據(jù)段的下載源稀缺時(shí),向跟蹤器發(fā)送對于對等體列表的查詢消息;以及基于從所述跟蹤器接收到的所述對等體列表,更新作為下載源的對等體,其中,所述對等體列表中包括作為所述數(shù)據(jù)段的下載源的對等體,并且當(dāng)所述對等體列表中包括提供所述視頻文件的服務(wù)器時(shí),添加所述服務(wù)器作為所述數(shù)據(jù)段的下載源。
2. 根據(jù)權(quán)利要求書1的方法,其中,所述查詢消息中包括第一進(jìn)度指 示符,其指示的是所述第一集合中正在下載的數(shù)據(jù)段中播放時(shí)間最晚的數(shù) 據(jù)段。
3. 根據(jù)權(quán)利要求書2的方法,其中,在共享所述視頻文件的對等體中, 當(dāng)具有所述第一進(jìn)度指示符所指示的數(shù)據(jù)段的對等體的數(shù)目少于第一閾值 時(shí),所述對等體列表中包括所述服務(wù)器。
4. 根據(jù)權(quán)利要求書1至3中任何一項(xiàng)的方法,其中,還未完成下載的 數(shù)據(jù)段的下載源稀缺包括以下情況中的至少 一種所述第一集合或所述笫二集合中的數(shù)據(jù)段無下載源,以及 當(dāng)前正在下載的數(shù)據(jù)段的下載源少于第二閾值。
5. 根據(jù)權(quán)利要求書2或3的方法,其進(jìn)一步包括周期性地向所述跟 蹤器發(fā)送含有第二進(jìn)度指示符的報(bào)告消息,其中,所述第二進(jìn)度指示符指 示的是在已下載完的按時(shí)間順序連續(xù)排列的數(shù)據(jù)段中,播放時(shí)間最晚的數(shù) 據(jù)段。
6. 根據(jù)權(quán)利要求書5的方法,其中,相比于所述查詢消息中的第一進(jìn) 度指示符所指示的數(shù)據(jù)段,與所述對等體列表中的對等體相關(guān)聯(lián)的第二進(jìn)度指示符所指示的數(shù)據(jù)段的播放時(shí)間要晚。
7. 根據(jù)權(quán)利要求書1至3中任何一項(xiàng)的方法,其中通過第一集合和第 二集合來下載所述數(shù)據(jù)段包括基于播放的時(shí)間順序,對所有待下載的數(shù)據(jù)段進(jìn)行排序;以及 將所述待下載的數(shù)據(jù)段安排到具有固定大小的所述第一集合,并且將 剩余的所述待下載的數(shù)據(jù)段安排到所述第二集合。
8. 根據(jù)權(quán)利要求書1至3中任何一項(xiàng)的方法,其中通過第一集合和第 二集合來下載所述數(shù)據(jù)段包括當(dāng)要下載新的數(shù)據(jù)段時(shí),基于預(yù)先確定的 概率來選擇下載來自所述第一集合或所述第二集合的未下載的數(shù)據(jù)段。
9. 根據(jù)權(quán)利要求書8的方法,其中所述預(yù)先確定的概率是根據(jù)以下中 的至少一項(xiàng)來動(dòng)態(tài)調(diào)整的對所述視頻文件的播放速率,以及用于下載的 帶寬。
10. 根據(jù)權(quán)利要求書1至3中任何一項(xiàng)的方法,其中通過第一集合和 第二集合來下載所述數(shù)據(jù)段包括當(dāng)通過所述第一集合下載完一個(gè)數(shù)據(jù)段 之后,按照播放的時(shí)間順序,從所述第二集合中選擇還未下載的另一數(shù)據(jù) 段到所述第一集合中。
11. 根據(jù)權(quán)利要求書1至3中任何一項(xiàng)的方法,其中通過第一集合和 第二集合來下載所述數(shù)據(jù)段包括在所述第二集合中,按照最稀缺最先的 順序選擇數(shù)據(jù)段進(jìn)行下載。
12. 根據(jù)權(quán)利要求書11的方法,其中通過第一集合和第二集合來下 載所述數(shù)據(jù)段進(jìn)一步包括在所述第二集合中,當(dāng)多個(gè)數(shù)據(jù)段一樣稀缺時(shí), 按照播放的時(shí)間順序從所述多個(gè)數(shù)據(jù)段中選擇數(shù)據(jù)段進(jìn)行下載。
13. 根據(jù)權(quán)利要求書1至3中任何一項(xiàng)的方法,其進(jìn)一步包括向共 享所述視頻文件的對等體上傳已下載的數(shù)據(jù)段。
14. 一種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的裝置,其包括獲取模塊,其被配置以便根據(jù)用戶所點(diǎn)播的視頻服務(wù),獲取有關(guān)視頻 文件的數(shù)據(jù)段的信息;下載模塊,其被配置以便通過第一集合和第二集合來下載所述數(shù)據(jù)段,其中在所述第 一集合中的數(shù)據(jù)段是按照播放的時(shí)間順序來下載的;發(fā)送模塊,其被配置以便當(dāng)確定還未完成下載的數(shù)據(jù)段的下載源稀缺時(shí),向跟蹤器發(fā)送對于對等體列表的查詢消息;以及更新模塊,其被配置以便基于從所述跟蹤器接收到的所述對等體列表,更新作為下載源的對等體,其中,所述對等體列表中包括作為所述數(shù)據(jù)段的下栽源的對等體,并且當(dāng)所述對等體列表中包括提供所述視頻文件的服務(wù)器時(shí),添加所述服務(wù)器作為所述數(shù)據(jù)段的下載源。
15. 根據(jù)權(quán)利要求書14的裝置,其中,所述查詢消息中包括第一進(jìn) 度指示符,其指示的是所述第 一集合中正在下載的數(shù)據(jù)段中播放時(shí)間最晚 的數(shù)據(jù)段。
16. 根據(jù)權(quán)利要求書15的裝置,其中,在共享所述視頻文件的對等 體中,當(dāng)具有所述第一進(jìn)度指示符所指示的數(shù)據(jù)段的對等體的數(shù)目少于第 一閾值時(shí),所述對等體列表中包括所述服務(wù)器。
17. 根據(jù)權(quán)利要求書14至16中任何一項(xiàng)的裝置,其中,還未完成下 栽的數(shù)據(jù)段的下載源稀缺包括以下情況中的至少一種所述第一集合或所述第二集合中的數(shù)據(jù)段無下載源,以及 當(dāng)前正在下載的數(shù)據(jù)段的下載源少于第二閾值。
18. 根據(jù)權(quán)利要求書15或16的裝置,其中所述發(fā)送模塊被進(jìn)一步配 置以便周期性地向所述跟蹤器發(fā)送含有第二進(jìn)度指示符的報(bào)告消息,其 中,所述第二進(jìn)度指示符指示的是在已下載完的按時(shí)間順序連續(xù)排列的數(shù) 據(jù)段中,播放時(shí)間最晚的數(shù)據(jù)段。
19. 根據(jù)權(quán)利要求書18的裝置,其中,相比于所述查詢消息中的第 一進(jìn)度指示符所指示的數(shù)據(jù)段,與所述對等體列表中的對等體相關(guān)聯(lián)的第 二進(jìn)度指示符所指示的數(shù)據(jù)段的播放時(shí)間要晚。
20. 根據(jù)權(quán)利要求書14至16中任何一項(xiàng)的裝置,其中所述下載模塊 被進(jìn)一步配置以l更基于播放的時(shí)間順序,對所有待下栽的數(shù)據(jù)段進(jìn)行排序;以及 將所述待下載的數(shù)據(jù)段安排到具有固定大小的所述第一集合,并且將剩余的所述待下載的數(shù)據(jù)段安排到所述第二集合。
21. 根據(jù)權(quán)利要求書14至16中任何一項(xiàng)的裝置,其中所述下載模塊 被進(jìn)一步配置以便當(dāng)要下栽新的數(shù)據(jù)段時(shí),基于預(yù)先確定的概率來選擇 下載來自所述第一集合或所述第二集合的未下載的數(shù)據(jù)段。
22. 根據(jù)權(quán)利要求書21的裝置,其中所述預(yù)先確定的概率是根據(jù)以 下中的至少一項(xiàng)來動(dòng)態(tài)調(diào)整的對所述視頻文件的播放速率,以及用于下 載的帶寬。
23. 根據(jù)權(quán)利要求書14至16中任何一項(xiàng)的裝置,其中所述下載模塊 被進(jìn)一步配置以便當(dāng)通過所述第一集合下載完一個(gè)數(shù)據(jù)段之后,按照播 放的時(shí)間順序,從所述第二集合中選擇還未下載的另 一數(shù)據(jù)段到所述第一 集合中。
24. 根據(jù)權(quán)利要求書14至16中任何一項(xiàng)的裝置,其中所述下栽模塊 被進(jìn)一步配置以便在所述第二集合中,按照最稀缺最先的順序選擇數(shù)據(jù) 段進(jìn)行下載。
25. 根據(jù)權(quán)利要求書24的裝置,其中所述下載模塊被進(jìn)一步配置以 便在所述第二集合中,當(dāng)多個(gè)數(shù)據(jù)段一樣稀缺時(shí),按照播放的時(shí)間順序 從所述多個(gè)數(shù)據(jù)段中選擇數(shù)據(jù)段進(jìn)行下載。
26. 根據(jù)權(quán)利要求書14至16中任何一項(xiàng)的裝置,其中所i^送模塊 被進(jìn)一步配置以便向共享所述視頻文件的對等體上傳已下載的數(shù)據(jù)段。
27. —種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的跟蹤器,其包括接收模塊,其被配置以便從視頻點(diǎn)播裝置接收對于與用戶所點(diǎn)播的視 頻文件的數(shù)據(jù)段相關(guān)聯(lián)的對等體列表的查詢消息;生成模塊,其被配置以便生成響應(yīng)于所述查詢消息的對等體列表,在 所述對等體列表中包括作為所述數(shù)據(jù)段的下載源的對等體;確定模塊,其被配置以便基于所述查詢消息來確定是否將提供所述視 頻文件的服務(wù)器包括在所述對等體列表中;以及發(fā)送模塊,其被配置以便將所述對等體列表發(fā)送給所述視頻點(diǎn)播裝置。
28. 根據(jù)權(quán)利要求書27的跟蹤器,其中所述確定模塊被進(jìn)一步配置以便基于所述查詢消息中的第一進(jìn)度指示符,確定在共享所述視頻文件 的對等體中,當(dāng)具有所述第一進(jìn)度指示符所指示的數(shù)據(jù)段的對等體的數(shù)目少于第一閾值時(shí),將所述服務(wù)器包括在所述對等體列表中,其中所述第一 進(jìn)度指示符指示的是正在所述視頻點(diǎn)播裝置的第一集合中下載的數(shù)據(jù)段中 播放時(shí)間最晚的數(shù)據(jù)段,其中在所述第一集合中的數(shù)據(jù)段是按照播放的時(shí) 間順序來下載的。
29. 根據(jù)權(quán)利要求書28的跟蹤器,其中所述接收才莫塊進(jìn)一步被配置 以便從共享所述視頻文件的對等體接收周期性發(fā)送的含有第二進(jìn)度指示 符的才艮告消息,其中,所述第二進(jìn)度指示符指示的是在相應(yīng)對等體上已下 載完的按時(shí)間順序連續(xù)排列的數(shù)據(jù)段中,播放時(shí)間最晚的數(shù)據(jù)段。
30. 根據(jù)權(quán)利要求書29的跟蹤器,其中,相比于所述查詢消息中的 第一進(jìn)度指示符所指示的數(shù)據(jù)段,與所述對等體列表中的對等體相關(guān)聯(lián)的 第二進(jìn)度指示符所指示的數(shù)據(jù)段的播放時(shí)間要晚。
31. —種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的系統(tǒng),其包括 服務(wù)器,其被配置以便提供視頻文件;跟蹤器,其被配置以便接收對于對等體列表的查詢消息,以及生成基 于所述查詢消息的對等體列表;以及 用戶裝置,其被配置以便根據(jù)用戶所點(diǎn)播的視頻服務(wù),獲取有關(guān)視頻文件的數(shù)據(jù)段的信息,通過第一集合和第二集合來下載所述數(shù)據(jù)段,其中在所述第一集 合中的數(shù)據(jù)段是按照播放的時(shí)間順序來下載的,當(dāng)確定還未完成下載的數(shù)據(jù)段的下載源稀缺時(shí),向所述跟蹤器發(fā)送對于對等體列表的查詢消息,以及基于從所述跟蹤器接收到的所述對等體列表,更新作為下載源的 對等體,其中,所述對等體列表中包括作為所述數(shù)據(jù)段的下,源的對等體, 并且當(dāng)所述對等體列表中包括所述服務(wù)器時(shí),添加所述服務(wù)扭作為所述數(shù) 據(jù)段的下載源。
全文摘要
本發(fā)明提供一種用于實(shí)現(xiàn)視頻點(diǎn)播服務(wù)的方法、裝置和系統(tǒng)。所述方法包括根據(jù)用戶所點(diǎn)播的視頻服務(wù),獲取有關(guān)視頻文件的數(shù)據(jù)段的信息;通過第一集合和第二集合來下載所述數(shù)據(jù)段,其中在所述第一集合中的數(shù)據(jù)段是按照播放的時(shí)間順序來下載的;當(dāng)確定還未完成下載的數(shù)據(jù)段的下載源稀缺時(shí),向跟蹤器發(fā)送對于對等體列表的查詢消息;以及基于從所述跟蹤器接收到的所述對等體列表,更新作為下載源的對等體,其中,所述對等體列表中包括作為所述數(shù)據(jù)段的下載源的對等體,并且當(dāng)所述對等體列表中包括提供所述視頻文件的服務(wù)器時(shí),添加所述服務(wù)器作為所述數(shù)據(jù)段的下載源。
文檔編號H04N7/173GK101605242SQ20081011013
公開日2009年12月16日 申請日期2008年6月13日 優(yōu)先權(quán)日2008年6月13日
發(fā)明者李嵩泉, 欣 王 申請人:阿爾卡特朗訊公司