国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      機(jī)頂盒對(duì)等端輔助的視頻點(diǎn)播的制作方法

      文檔序號(hào):7938699閱讀:329來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):機(jī)頂盒對(duì)等端輔助的視頻點(diǎn)播的制作方法
      技術(shù)領(lǐng)域
      本文總體上涉及內(nèi)容分發(fā),更具體地,涉及但不限于針對(duì)基于機(jī)頂盒的IP網(wǎng)絡(luò)的 對(duì)等端(peer)輔助的視頻點(diǎn)播。
      背景技術(shù)
      支持IP的機(jī)頂盒(STB)可以在家庭網(wǎng)絡(luò)中使用,并可以支持語(yǔ)音、音頻和數(shù)據(jù)。有 線運(yùn)營(yíng)商(MSO)為STB提供有限的視頻點(diǎn)播(VoD)選擇菜單。針對(duì)基于IP的傳送的機(jī)頂 盒可以包括較大的盤(pán)驅(qū)動(dòng)器或其他存儲(chǔ)器。例如,最新型的Tivo DVR包含250GB驅(qū)動(dòng)器, 可以存儲(chǔ)300小時(shí)的標(biāo)準(zhǔn)質(zhì)量MPEG2或32小時(shí)的高清視頻。

      發(fā)明內(nèi)容
      本發(fā)明人認(rèn)識(shí)到,其中,從集中式服務(wù)器流傳輸VoD在帶寬和服務(wù)器容量方面較 為昂貴。作為示意示例,YouTube每天可以流傳輸4千萬(wàn)視頻和200TB的數(shù)據(jù),每個(gè)月支付 l百萬(wàn)美元用于傳輸。對(duì)于高清的具有電影長(zhǎng)度的內(nèi)容,成本將明顯更高。在2002年,據(jù)稱(chēng) Netflix每天大約分發(fā)1500TB的DVD。 使用對(duì)等(peer-to-peer)網(wǎng)絡(luò)的視頻流傳輸方法可以包括基于應(yīng)用級(jí)多播樹(shù)的 方法,或者用于分發(fā)內(nèi)容的基于網(wǎng)格的推或拉方法。在一個(gè)方法中,可以為STB提供VoD服 務(wù),但是該方法不使用STB的大存儲(chǔ)器用于預(yù)取(pre-fetching),并且不支持VCR操作。多 數(shù)方法不支持VCR操作、負(fù)載平衡或接納控制。在按觀看付費(fèi)的服務(wù)中,確保對(duì)訂戶的服務(wù) 質(zhì)量是非常重要的。


      圖1示出了 IPTV服務(wù)體系結(jié)構(gòu)的示例,在該體系結(jié)構(gòu)中,TV頭端可以例如通過(guò) ISP骨干向數(shù)字訂戶線接入復(fù)用器(DSLAM)提供IPTV內(nèi)容。
      圖2示出了 VoD系統(tǒng)的部分的示例。 圖3是P2P客戶端回放窗口模塊和預(yù)取模塊的示例的圖。
      圖4是示出了 P2PVoD系統(tǒng)的通信圖的示例。
      圖5示出了P2P覆蓋的示例。
      具體實(shí)施例方式
      支持IP的機(jī)頂盒(STB)可以在家庭網(wǎng)絡(luò)中使用,并可以支持語(yǔ)音、音頻和數(shù)據(jù)。有 線運(yùn)營(yíng)商(MS0)為STB提供有限的視頻點(diǎn)播(VoD)選擇菜單。針對(duì)基于IP的傳送的機(jī)頂
      5盒可以包括較大的盤(pán)驅(qū)動(dòng)器或其他存儲(chǔ)器。 從集中式服務(wù)器流傳輸VoD不僅在帶寬和服務(wù)器容量方面而且在可縮放性方面較為昂貴的并是有問(wèn)題的。本發(fā)明人認(rèn)識(shí)到,其中,STB可以對(duì)等地流傳輸視頻。這可以包括例如STB的擁有者已經(jīng)觀看的電影,或?qū)Φ葏f(xié)調(diào)功能下載至STB的電影,如預(yù)期擁有其他對(duì)等端STB的其他用戶所需求的。 一般而言,假設(shè)STB連續(xù)可用,即使STB擁有者不觀看電影時(shí)也是如此。集中式VoD服務(wù)較差可縮放性可以顯著地增加對(duì)流行的高清視頻進(jìn)行流傳輸?shù)某杀尽?使用特定對(duì)等(P2P)技術(shù)可以增強(qiáng)可縮放性。然而在特定方法中,系統(tǒng)必須根據(jù)請(qǐng)求相同文件的多個(gè)用戶來(lái)縮放。在現(xiàn)場(chǎng)流傳輸?shù)氖纠?,僅一個(gè)特定下載必須通過(guò)保持低延遲來(lái)管理,可以通過(guò)智能地轉(zhuǎn)發(fā)負(fù)載來(lái)執(zhí)行該操作。P2PVoD系統(tǒng)應(yīng)當(dāng)能夠通過(guò)協(xié)作下載多個(gè)視頻文件來(lái)縮放,同時(shí)能夠同時(shí)流傳輸該文件。這可以將文件共享和文件流的挑戰(zhàn)與能力組合到相同的系統(tǒng)中。 本文描述了,其中,可以使用本地化P2P系統(tǒng)(如適當(dāng)配置的STB)的對(duì)等端輔助的VoD體系結(jié)構(gòu)。這允許從相同本地網(wǎng)絡(luò)中的其他對(duì)等端STB或?qū)Φ榷说钠渌付ǔ貙⒁曨l流傳輸至對(duì)等端STB。 P2PVoD系統(tǒng)可以降低傳送視頻內(nèi)容的成本,并還可以是高度可縮放和可靠的,具有良好的接納控制原語(yǔ)。 在特定示例中,系統(tǒng)或方法可以包括VoD特征,如快進(jìn)、倒退(或其他VCR操作)、以及低啟動(dòng)延遲。系統(tǒng)可以提供短啟動(dòng)延遲,可以提供在其所調(diào)度的回放期限之前接收的高百分比的數(shù)據(jù)(可以稱(chēng)為"實(shí)際吞吐量(goodput)"),以及可以例如通過(guò)使用避免饑餓的特定技術(shù)來(lái)提供較高的總下載容量利用率。該系統(tǒng)在用戶數(shù)目、電影數(shù)目或可用的完整視頻文件數(shù)目方面提供可縮放性。此外,該系統(tǒng)可以例如基于用戶需求以成本效率較高和可縮放的方式來(lái)幫助長(zhǎng)尾內(nèi)容。這可以幫助克服VoD的一些最困難的挑戰(zhàn)。
      在特定實(shí)施例中,本系統(tǒng)或方法可以通過(guò)以下方式來(lái)滿足一個(gè)或多個(gè)這樣的挑戰(zhàn)例如基于對(duì)內(nèi)容的預(yù)期要求,利用在STB上預(yù)緩沖的內(nèi)容來(lái)實(shí)現(xiàn)完整分發(fā)的視頻內(nèi)容目錄表。 一些示例可以允許服務(wù)供應(yīng)商容易地注入新內(nèi)容,或復(fù)制現(xiàn)有內(nèi)容,如基于針對(duì)該特定內(nèi)容的用戶要求。在測(cè)試中,可以使用實(shí)際吞吐量或帶寬利用率作為評(píng)價(jià)性能的度量來(lái)評(píng)價(jià)系統(tǒng)。在特定示例中,本P2PVoD客戶端對(duì)等端可以獨(dú)立地在Li皿x STB或其他系統(tǒng)上工作,并且通過(guò)在短暫?jiǎn)?dòng)延遲之后從其他對(duì)等端節(jié)點(diǎn)下載電影來(lái)開(kāi)始播放電影。
      對(duì)等視頻流傳輸?shù)奶囟ǚ椒梢陨婕盎趹?yīng)用級(jí)多播樹(shù)的方法、或用于分發(fā)內(nèi)容的基于網(wǎng)格的推或拉方法。使用STB模擬VoD的特定方法不使用STB的大存儲(chǔ)器或視頻內(nèi)容的預(yù)取,這樣的方法也不支持VCR操作。特定的其他方法不支持VCR操作,并且不提供負(fù)載平衡或接納控制原語(yǔ),從而它們不能確保對(duì)訂戶的服務(wù)質(zhì)量(QoS),這是阻止按觀看付費(fèi)的服務(wù)成功的問(wèn)題。 一些方法可以例如使用泊松到達(dá)模型來(lái)提供對(duì)單一視頻分發(fā)的分析。實(shí)際軌跡可以用來(lái)模擬對(duì)未來(lái)內(nèi)容進(jìn)行預(yù)取的策略。 一種方法可以使用推送至對(duì)等端的方案,其中,可以將目錄表的主要拷貝推送至用于視頻點(diǎn)播STB。然而,本系統(tǒng)和方法可以提供具有低啟動(dòng)時(shí)間的完整P2PVoD系統(tǒng),可以通過(guò)預(yù)取內(nèi)容來(lái)提供具有減小的抖動(dòng)的更好的用戶體驗(yàn),以及可以例如在VCR操作期間通過(guò)對(duì)下載進(jìn)行優(yōu)先級(jí)排序來(lái)提供非常低的搜索延遲。 在特定示例中,系統(tǒng)可以包括4個(gè)模塊化組件目錄、組塊映射(chunk m即)、檢索協(xié)議和視頻客戶端。目錄可以將電影(或其他視頻或其他內(nèi)容)的名稱(chēng)映射至相應(yīng)的內(nèi)部 標(biāo)識(shí)符,如通過(guò)使用全局分發(fā)的散列表(DHT)。對(duì)于特定電影,組塊映射可以指示對(duì)等端池 中哪個(gè)對(duì)等端節(jié)點(diǎn)持有本地網(wǎng)絡(luò)內(nèi)視頻內(nèi)容數(shù)據(jù)的組塊的拷貝??梢詫⒔M塊映射存儲(chǔ)在非 結(jié)構(gòu)化的對(duì)等網(wǎng)絡(luò)中;可能存在相同組塊的多個(gè)拷貝,如存儲(chǔ)在對(duì)等網(wǎng)絡(luò)池中不同對(duì)等端 節(jié)點(diǎn)處??梢詫?duì)組塊映射進(jìn)行更新,如基于STB正在進(jìn)行的下載或擦去內(nèi)容的操作。 一些 方法可以假設(shè)內(nèi)容供應(yīng)商向足夠數(shù)目的STB散播內(nèi)容,如基于對(duì)內(nèi)容的未來(lái)流行度進(jìn)行估 計(jì)。(為了應(yīng)對(duì)"瞬間擁擠(flash crowds)",在公開(kāi)發(fā)行日之前可以將內(nèi)容推送至對(duì)等端。 時(shí)間受限的DRM,或一個(gè)或多個(gè)關(guān)鍵組件(如MPEGI幀的部分)的較晚傳送可以用來(lái)防止在 官方發(fā)行日之前觀看)。檢索協(xié)議可以將組塊從其他對(duì)等端STB下載至對(duì)等端STB,例如與 內(nèi)容服務(wù)對(duì)等端和網(wǎng)絡(luò)容量所允許的一樣快。 在一些示例中,每個(gè)STB可以用作本地視頻服務(wù)器,并可以響應(yīng)一個(gè)或多個(gè)指定 的流控制協(xié)議,如實(shí)時(shí)流協(xié)議(RTSP)。如果需要,可以使用如當(dāng)前用于流傳輸?shù)默F(xiàn)有視頻客 戶端(如利用本地STB)。在一些示例中,這還允許相同家庭中的多個(gè)觀看者共享公共的本 地STP。 圖1示出了互聯(lián)網(wǎng)協(xié)議電視(IPTV)服務(wù)體系結(jié)構(gòu)100的示例。在該示例中,TV 頭端101可以例如通過(guò)ISP骨干103向例如數(shù)字訂戶線接入復(fù)用器(DSLAM) 102提供IPTV 內(nèi)容。在一些示例中,消費(fèi)者訂閱VoD、IP電話或互聯(lián)網(wǎng)接入服務(wù)。特定地理區(qū)域內(nèi)的STB 可以連接至公共DSLAM。這可以形成子網(wǎng)。這樣的子網(wǎng)繼而可以連接至國(guó)家或國(guó)際IP骨干 網(wǎng)。子網(wǎng)內(nèi)的STB可以具有相同的IP地址前綴。這可以幫助STB對(duì)等端識(shí)別另一STB對(duì) 等端的位置的大體地理位置。來(lái)自各個(gè)不同子網(wǎng)的STB對(duì)等端可以形成非結(jié)構(gòu)化的P2P網(wǎng) 絡(luò)或P2P網(wǎng)絡(luò)的一部分。 為了傳輸視頻內(nèi)容數(shù)據(jù),可以將視頻內(nèi)容文件分為視頻內(nèi)容數(shù)據(jù)的"組塊"。還可 以將這樣的組塊進(jìn)一步分為可以單獨(dú)檢索的塊,如固定大小的塊(例如16KB)。在示意示 例中,可以使用1M的視頻內(nèi)容組塊。所選的特定組塊大小可以影響對(duì)要從另一STB對(duì)等端 節(jié)點(diǎn)下載的特定組塊進(jìn)行選擇的事務(wù)開(kāi)銷(xiāo)。較小的組塊大小將增加組塊和對(duì)等端選擇以及 STB對(duì)等端節(jié)點(diǎn)之間的協(xié)商中的開(kāi)銷(xiāo)。然而,對(duì)具有較大組塊大小的組塊進(jìn)行多次下載可以 總體上降低系統(tǒng)的可縮放性。在現(xiàn)代住宅和校園寬帶網(wǎng)絡(luò)中,下游和上游帶寬一般足以流 傳輸至少一個(gè)電影,例如至少1Mb/s以進(jìn)行TV質(zhì)量的觀看。如果上游帶寬不足以流傳輸一 個(gè)電影,則P2PVoD系統(tǒng)不能使用該特定STB對(duì)等端作為另一 STB對(duì)等端的主要視頻內(nèi)容源 回放"父節(jié)點(diǎn)"(以下進(jìn)一步說(shuō)明),但是從這樣的STB對(duì)等端進(jìn)行預(yù)取仍可以工作。
      在特定示例中,本P2PVoD系統(tǒng)可以通過(guò)與STB供應(yīng)商或DVR提供商合作來(lái)操作。 在這樣的示例中,P2PVoD系統(tǒng)不能為控制網(wǎng)絡(luò)的實(shí)體之間的合作提供激勵(lì)。然而,如果需 要,可以包括某種形式的交換條件(quid-pro-quo)機(jī)制。 一些方法假設(shè),與長(zhǎng)距離分發(fā)(可 以延伸到供應(yīng)商的網(wǎng)絡(luò)外部)相比,在供應(yīng)商的網(wǎng)絡(luò)內(nèi)帶寬成本明顯更低。在特定示例中, 本系統(tǒng)和方法可以被配置為,對(duì)連接至系統(tǒng)的用戶進(jìn)行處理,如可以使用泊松到達(dá)速率進(jìn) 行建模。 圖2示出了 P2PVoD系統(tǒng)210的部分的示例。在該示例中,系統(tǒng)210包括STB VoD 對(duì)等端節(jié)點(diǎn)211。在該示例中,VoD對(duì)等端節(jié)點(diǎn)211可以包括P2P客戶端212、具有P2P封 裝器214的RTSP服務(wù)器213、本地視頻播放器215、以及中央跟蹤器216。
      在示例中,RTSP服務(wù)器213可以被配置為向與其通信耦合的視頻播放器215提供 視頻內(nèi)容。在特定示例中,RTSP服務(wù)器213可以包括Open live555RTSP流服務(wù)器,并且 RTSP服務(wù)器213可以將P2P客戶端212(例如,作為庫(kù))加載到STB VoD對(duì)等端節(jié)點(diǎn)211 中。P2P封裝器214可以用作RTSP服務(wù)器213與P2P客戶端212之間的接口。
      在圖2的示例中,P2P客戶端212可以包括視頻緩沖器219、回放窗口模塊220 (這 里有時(shí)稱(chēng)為"回放模塊")、預(yù)取模塊221以及數(shù)據(jù)發(fā)現(xiàn)模塊226。在該示例中,P2P客戶端 212的數(shù)據(jù)發(fā)現(xiàn)模塊226可以首先聯(lián)系中央跟蹤器216,例如以獲得關(guān)于其他STB對(duì)等端節(jié) 點(diǎn)218的信息,如其他STB對(duì)等端節(jié)點(diǎn)218池中哪些其他STB對(duì)等端節(jié)點(diǎn)218可用、哪些其 他STB對(duì)等端節(jié)點(diǎn)218存儲(chǔ)了哪些內(nèi)容組塊、哪個(gè)其他STB對(duì)等端節(jié)點(diǎn)218用作回放父節(jié) 點(diǎn)(如以下進(jìn)一步描述),哪些其他STB對(duì)等端節(jié)點(diǎn)218下載內(nèi)容最快等等。在示例中,中 央跟蹤器216可以包括P2P覆蓋信息217,并且還可以如通過(guò)發(fā)出組塊請(qǐng)求來(lái)直接聯(lián)系一個(gè) 或多個(gè)其他STB對(duì)等端218,以獲得期望的視頻內(nèi)容數(shù)據(jù)。客戶端STB對(duì)等端211可以將所 接收的視頻內(nèi)容數(shù)據(jù)存儲(chǔ)在如視頻緩沖器219內(nèi)的指定文件中。RTSP服務(wù)器213可以讀取 視頻緩沖器219。視頻緩沖器219還可以用于將視頻內(nèi)容數(shù)據(jù)提供給池中的一個(gè)或多個(gè)其 他對(duì)等端218。在示例中,RTSP服務(wù)器213可以首先查詢(xún)P2P客戶端212中的視頻內(nèi)容數(shù) 據(jù)的可用性。如果這樣的視頻內(nèi)容數(shù)據(jù)在P2P客戶端212的視頻緩沖器219中可用,則P2P 客戶端212可以允許RTSP服務(wù)器213讀取所請(qǐng)求的視頻內(nèi)容數(shù)據(jù)。否則,P2P客戶端212 可以"暫停"RTSP服務(wù)器213。當(dāng)暫停RTSP服務(wù)器213時(shí),P2P客戶端212的數(shù)據(jù)發(fā)現(xiàn)模塊 226可以將一個(gè)或多個(gè)請(qǐng)求發(fā)送至一個(gè)或多個(gè)對(duì)等端節(jié)點(diǎn)218,以獲得所請(qǐng)求的數(shù)據(jù)(該所 請(qǐng)求的數(shù)據(jù)是RTSP服務(wù)器213實(shí)質(zhì)上立即需要的),以例如由本地視頻播放器215進(jìn)行回 放和顯示。RTSP服務(wù)器213所請(qǐng)求的實(shí)質(zhì)上立即需要的視頻內(nèi)容數(shù)據(jù)在視頻緩沖器219中 或P2P客戶端212中的其他地方可用,則在示例中,P2P客戶端212可以有利地請(qǐng)求在P2P 客戶端212處尚不可用的、視頻內(nèi)容數(shù)據(jù)的下一順序段。 當(dāng)RTSP服務(wù)器213從視頻緩沖器219讀取(或由P2P客戶端212從池中的另一 STB對(duì)等端218獲得)實(shí)質(zhì)上立即需要的數(shù)據(jù)時(shí),RTSP服務(wù)器213可以如通過(guò)使用RTSP協(xié) 議來(lái)向視頻播放器215開(kāi)始流傳輸這樣的視頻內(nèi)容。 P2P封裝器214可以包括一個(gè)或多個(gè)原語(yǔ)來(lái)輔助RTSP服務(wù)器213通過(guò)P2P客戶端 212來(lái)讀取視頻內(nèi)容數(shù)據(jù),以例如在P2P客戶端212向另一 STB對(duì)等端節(jié)點(diǎn)218發(fā)起針對(duì) RTSP服務(wù)器213所請(qǐng)求的視頻內(nèi)容數(shù)據(jù)的請(qǐng)求之前,檢查視頻內(nèi)容數(shù)據(jù)在P2P客戶端212 的視頻緩沖器219中是否可用。 如以下進(jìn)一步所述,為了增加或最大化如系統(tǒng)中整個(gè)STB對(duì)等端池的下載速率, 節(jié)點(diǎn)可以從不同對(duì)等端請(qǐng)求視頻內(nèi)容數(shù)據(jù)的各個(gè)塊,而不是請(qǐng)求整個(gè)組塊。特定組塊和塊 大小將影響對(duì)請(qǐng)求速率的控制,并將影響系統(tǒng)降低或最小化與控制業(yè)務(wù)量相關(guān)聯(lián)的開(kāi)銷(xiāo)的 能力。在示例中,可以從另一 STB對(duì)等端218請(qǐng)求的視頻內(nèi)容數(shù)據(jù)的最小單元是組塊的單 一塊。在示例中,可以將塊大小固定為16KB,例如,對(duì)于當(dāng)前技術(shù),本發(fā)明人相信在特定情況 下,通過(guò)TCP下載視頻內(nèi)容數(shù)據(jù)單元可以如通過(guò)增加用于傳送組塊的總時(shí)間,導(dǎo)致與其他 組塊下載的競(jìng)爭(zhēng)。該系統(tǒng)可以被設(shè)計(jì)為(如通過(guò)建立特定固定塊和組塊大小值),增加或 最大化系統(tǒng)的總視頻內(nèi)容分發(fā)吞吐量,而不是嘗試獲得針對(duì)一個(gè)或多個(gè)特定單獨(dú)STB對(duì)等 端211或218的較快視頻內(nèi)容分發(fā)吞吐量。對(duì)內(nèi)容請(qǐng)求的細(xì)粒度控制(例如,允許單個(gè)或
      8多個(gè)塊或組塊請(qǐng)求)可以幫助系統(tǒng)動(dòng)態(tài)適應(yīng)于針對(duì)視頻內(nèi)容的高優(yōu)先級(jí)和低優(yōu)先級(jí)請(qǐng)求 之間的帶寬共享。 在示例中,P2P客戶端212可以通過(guò)與一個(gè)或多個(gè)其他STB對(duì)等端節(jié)點(diǎn)218、中央 跟蹤器216 (以例如智能識(shí)別要取回的視頻內(nèi)容數(shù)據(jù))、或從中取回這種視頻內(nèi)容數(shù)據(jù)的源 STB對(duì)等端節(jié)點(diǎn)218進(jìn)行交互,來(lái)向流RTSP服務(wù)器提供213視頻內(nèi)容數(shù)據(jù),使得在視頻內(nèi)容 數(shù)據(jù)的回放期限之前可以在本地STB對(duì)等端節(jié)點(diǎn)211處接收到視頻內(nèi)容數(shù)據(jù)。在示例中, P2P客戶端212還可以同時(shí)監(jiān)控預(yù)期的視頻內(nèi)容數(shù)據(jù)請(qǐng)求,例如以增加或最大化下載帶寬。
      在圖2的示例中,P2P客戶端212可以包括回放窗口模塊220和預(yù)取模塊221。在 示例中,回放窗口模塊220和預(yù)取模塊221可以同時(shí)但實(shí)質(zhì)上相互獨(dú)立地分別操作,從其他 STB對(duì)等端218下載視頻內(nèi)容數(shù)據(jù)?;胤糯翱谀K220可以下載RTSP服務(wù)器213實(shí)質(zhì)上最 立即需要的視頻內(nèi)容組塊,在示例中如用于在視頻播放器215處保持流視頻顯示。在示例 中,預(yù)取模塊221可以例如從任何其他STB對(duì)等端218下載其他視頻內(nèi)容數(shù)據(jù)。這可以使 用回放窗口模塊220未使用的多數(shù)(如果不是全部)剩余下載帶寬。這可以被概括為,基 于回放窗口模塊220的"需要性",在回放窗口模塊220和預(yù)取模塊221之間動(dòng)態(tài)共享STB 對(duì)等端211的全部下載帶寬,以下載實(shí)質(zhì)上立即需要的視頻內(nèi)容數(shù)據(jù),以在視頻播放器215 處保持流視頻顯示。這樣的需要性可以是基于回放窗口 220立刻需要的視頻內(nèi)容數(shù)據(jù)中預(yù) 取模塊221已下載的百分比來(lái)確定回放窗口模塊220所使用的帶寬的因素。
      圖3示出了回放窗口模塊320和預(yù)取模塊321的操作的示例的部分。在該示例中, 回放窗口模塊320可以在視頻文件緩沖器319上實(shí)現(xiàn)滑動(dòng)窗口 324。以這樣的方式,回放窗 口模塊320可以使用滑動(dòng)窗口 324來(lái)饋送RTSP服務(wù)器213所需的視頻內(nèi)容數(shù)據(jù)的量(例 如,塊或組塊),以向視頻播放器215的流視頻顯示提供服務(wù)。當(dāng)視頻播放器215 "消耗"了 這樣的視頻內(nèi)容數(shù)據(jù)量用于顯示時(shí),滑動(dòng)窗口 324可以在視頻文件緩沖器319上前移,以取 回新的視頻內(nèi)容數(shù)據(jù)量。可以將滑動(dòng)窗口 324實(shí)質(zhì)上立即需要的視頻內(nèi)容數(shù)據(jù)量聲明為高 優(yōu)先級(jí)。如果這樣的高優(yōu)先級(jí)數(shù)據(jù)尚未被預(yù)取模塊321取回并加載到視頻緩沖器319中,則 可以立即搜索要從與回放窗口模塊320進(jìn)行通信的一個(gè)指定的回放父節(jié)點(diǎn)對(duì)等端325中取 回的這種高優(yōu)先級(jí)視頻內(nèi)容數(shù)據(jù)。預(yù)取模塊321可以使用客戶端STB對(duì)等端211的任何剩 余下載帶寬來(lái)將附加視頻內(nèi)容數(shù)據(jù)從其他STB對(duì)等端318加載到視頻文件緩沖器319中。 在示例中,對(duì)等端列表可以從中央跟蹤器316獲取并由中央跟蹤器316保持。
      在圖2中,回放窗口模塊220可以順序地從具有高優(yōu)先級(jí)的指定的(單一 )回放 窗口父節(jié)點(diǎn)(如稍后進(jìn)一步說(shuō)明)下載視頻內(nèi)容數(shù)據(jù)的一個(gè)或多個(gè)塊或組塊。回放窗口模 塊220可以如通過(guò)有利地在RSTP服務(wù)器213當(dāng)前讀取的指針之前取回,來(lái)嘗試保持RTST 服務(wù)器213實(shí)質(zhì)上立即需要的視頻內(nèi)容數(shù)據(jù)的下幾幀的可用性。通過(guò)RSTP服務(wù)器213實(shí) 質(zhì)上立即需要的數(shù)據(jù)中已由STB對(duì)等端211的P2P客戶端212的預(yù)取模塊321預(yù)取的百分 比來(lái)確定針對(duì)視頻內(nèi)容數(shù)據(jù)的輸出請(qǐng)求的數(shù)目。 在P2P客戶端212的初始啟動(dòng)階段期間,針對(duì)RSTP服務(wù)器213的給定請(qǐng)求,沒(méi)有 視頻內(nèi)容數(shù)據(jù)可用。因此,P2P客戶端212的回放窗口模塊220發(fā)起針對(duì)這種初始視頻內(nèi) 容數(shù)據(jù)的高優(yōu)先級(jí)請(qǐng)求。然而,隨著媒體會(huì)話的進(jìn)程,預(yù)取模塊221會(huì)將視頻內(nèi)容數(shù)據(jù)中的 一些下載到客戶端211STB對(duì)等端211的視頻文件緩沖器219、319中。因此,回放窗口模塊 220所使用的帶寬將逐漸減少,但將基于已下載的視頻內(nèi)容數(shù)據(jù)來(lái)動(dòng)態(tài)適配。在示例中,當(dāng)RTSP服務(wù)器213嘗試讀取單一幀的數(shù)據(jù)時(shí),P2P客戶端212發(fā)出針對(duì)所請(qǐng)求的幀和視頻內(nèi) 容數(shù)據(jù)的緊接的順序組塊(可以稱(chēng)為回放窗口組塊)(或其他量)的請(qǐng)求。
      回放窗口模塊320提供的滑動(dòng)窗口 324的大小可以影響保持視頻內(nèi)容數(shù)據(jù)的最小 下載速率的良好程度?;瑒?dòng)窗口可以概括為,以視頻編碼或回放的速率滑動(dòng)前移。80%的 視頻顯示用戶的向前搜索被認(rèn)為是針對(duì)接下來(lái)300秒視頻之內(nèi)的位置。因此,在示例中,將 滑動(dòng)窗口 324的大小設(shè)置為能夠緩沖至少大約300秒的視頻。滑動(dòng)窗口 324可以按照優(yōu)選 順序在滑動(dòng)窗口 324內(nèi)緩沖所有組塊(或其他量)。例如,可以針對(duì)最快要接近組塊期限的 組塊給予優(yōu)選。當(dāng)滑動(dòng)窗口 324滿時(shí),它可以向前移動(dòng),如每次一個(gè)組塊,視頻播放器215 消耗視頻內(nèi)容數(shù)據(jù)的組塊用于顯示。當(dāng)滑動(dòng)窗口 324中90%以上為空時(shí),則可以使用多個(gè) 連接(例如,連接至不同的其他對(duì)等端218),例如以保持指定的最小下載速率。這樣的緩沖 器下溢例如會(huì)在用戶進(jìn)行VCR操作(例如,"倒退"或"快進(jìn)"至視頻內(nèi)容文件中的未緩沖位 置)時(shí)發(fā)生。 即使保持滑動(dòng)窗口 324的最小下載速率有助于實(shí)時(shí)視頻觀看,仿真表明,由于預(yù) 取和增加了內(nèi)容緩沖時(shí)間(例如,90分鐘電影文件的緩沖時(shí)間從200分鐘至1000分鐘), 本系統(tǒng)被配置為以大約1Mb/s的上載帶寬速率為系統(tǒng)中特定數(shù)目的節(jié)點(diǎn)提供服務(wù)。原先, 僅可以以4Mb/s的上載速率為相同數(shù)目的節(jié)點(diǎn)提供服務(wù),其中TTL為200分鐘。通過(guò)對(duì)視 頻內(nèi)容數(shù)據(jù)進(jìn)行更長(zhǎng)時(shí)間的緩沖,預(yù)取模塊221可以幫助將回放模塊220所需的上載帶寬 降低至其先前速率的四分之一。這顯著地節(jié)省了內(nèi)容供應(yīng)商所需的上載帶寬。STB的大存 儲(chǔ)容量可以幫助我們通過(guò)僅增加緩沖時(shí)間(例如,TTL,對(duì)于給定上載速率)來(lái)管理較大的 擁擠。這種帶寬使用的成本節(jié)省和負(fù)載平衡的容易進(jìn)行可以提供顯著的優(yōu)點(diǎn)。
      發(fā)明人在滑動(dòng)窗口 324中使用不同數(shù)目的組塊進(jìn)行測(cè)試。在特定示例中,當(dāng)滑動(dòng) 窗口 324取回的組塊數(shù)目少于4個(gè)時(shí),RSTP服務(wù)器213在從指定的回放父節(jié)點(diǎn)STB對(duì)等端 218下載視頻內(nèi)容數(shù)據(jù)比平?;ㄙM(fèi)略微長(zhǎng)時(shí)間時(shí)會(huì)"饑餓"(例如,用盡視頻內(nèi)容數(shù)據(jù))。如 果通過(guò)滑動(dòng)窗口 324取回的回放組塊多于4個(gè)組塊,則P2P客戶端212的回放窗口模塊220 對(duì)內(nèi)容發(fā)起過(guò)多附加請(qǐng)求,導(dǎo)致對(duì)預(yù)取模塊321留有很少(如果有)下載帶寬。這有效地 使P2P客戶端212成為順序取回設(shè)備,從而降低系統(tǒng)的可縮放性。 在一些示例中,P2P客戶端212的數(shù)據(jù)發(fā)現(xiàn)模塊226可以選擇池中要指定為高優(yōu) 先級(jí)對(duì)等端的一個(gè)其他STB對(duì)等端節(jié)點(diǎn)218。該特定指定的一個(gè)其他STB節(jié)點(diǎn)218可以被 稱(chēng)為指定的回放窗口父節(jié)點(diǎn)??梢詫⒒胤糯翱诟腹?jié)點(diǎn)選擇為使得其回放指針(例如,父回 放指針)指向按順序在下載子節(jié)點(diǎn)的回放窗口指針(例如,子回放指針)之前的視頻內(nèi)容 數(shù)據(jù)。當(dāng)選擇回放窗口父節(jié)點(diǎn)時(shí),可以給出優(yōu)選以選擇存儲(chǔ)了在由請(qǐng)求子STB對(duì)等端211 的子回放窗口請(qǐng)求時(shí)需要下載的所有視頻內(nèi)容數(shù)據(jù)組塊的父節(jié)點(diǎn)。在選擇父節(jié)點(diǎn)其他STB 對(duì)等端218之前,通過(guò)從中央跟蹤器216請(qǐng)求子STB對(duì)等端211來(lái)獲得該信息。
      在一些示例中,該系統(tǒng)被配置為使得任何給定下載子STB對(duì)等端節(jié)點(diǎn)211可以?xún)H 指定一個(gè)回放窗口父節(jié)點(diǎn)其他STB對(duì)等端218。在一些示例中,僅允許回放窗口父STB對(duì)等 端218用作單個(gè)請(qǐng)求子STB節(jié)點(diǎn)211的父節(jié)點(diǎn)。P2P客戶端212請(qǐng)求并下載請(qǐng)求子STB節(jié) 點(diǎn)211的RSTP服務(wù)器213的回放指針的時(shí)間鄰域中的視頻內(nèi)容數(shù)據(jù)組塊。如果當(dāng)前回放 指針位置的組塊和下一順序組塊在本地不可用(這種情況有時(shí)會(huì)發(fā)生,如在啟動(dòng)時(shí)或由于 帶寬波動(dòng)),則P2P客戶端212可以通過(guò)取消除高優(yōu)先級(jí)組塊請(qǐng)求之外的所有組塊請(qǐng)求來(lái)響應(yīng)回放窗口父節(jié)點(diǎn)。這有效地釋放了客戶端STB對(duì)等端211針對(duì)實(shí)質(zhì)上立即需要的組塊的下載帶寬。 在特定示例中,指定的回放窗口父STB對(duì)等端節(jié)點(diǎn)218對(duì)其指定的請(qǐng)求子STB對(duì)等端節(jié)點(diǎn)211的下載請(qǐng)求隊(duì)列進(jìn)行監(jiān)控。如果未決請(qǐng)求的數(shù)目指示在請(qǐng)求子STB對(duì)等端節(jié)點(diǎn)211處沒(méi)有實(shí)質(zhì)上立即需要的回放窗口組塊可用,則回放窗口父STB對(duì)等端節(jié)點(diǎn)218可以取消來(lái)自其他請(qǐng)求STB對(duì)等端節(jié)點(diǎn)(例如,除了父節(jié)點(diǎn)的指定子節(jié)點(diǎn)以外的節(jié)點(diǎn))的一個(gè)或多個(gè)較低優(yōu)先級(jí)請(qǐng)求。這有效地釋放了由父節(jié)點(diǎn)的指定子STB對(duì)等端節(jié)點(diǎn)211使用的父節(jié)點(diǎn)的上載帶寬。 在一些示例中,預(yù)取模塊221可以補(bǔ)充回放窗口模塊220的下載能力。例如,預(yù)取模塊221可以使用一些或所有剩余下載帶寬來(lái)請(qǐng)求在本地緩沖器219中丟失的視頻內(nèi)容數(shù)據(jù)組塊。當(dāng)可用下載帶寬超過(guò)視頻編碼/流速率時(shí),預(yù)取模塊221可以同時(shí)下載具有較低優(yōu)先級(jí)的視頻內(nèi)容數(shù)據(jù)組塊,并且回放窗口模塊220下載具有較高優(yōu)先級(jí)的實(shí)質(zhì)上立即需要的視頻內(nèi)容數(shù)據(jù)組塊。從而回放窗口模塊220和預(yù)取模塊221均同時(shí)將視頻內(nèi)容數(shù)據(jù)下載至視頻文件緩沖器219。 在示例中,所有其他STB對(duì)等端節(jié)點(diǎn)218可以將視頻內(nèi)容數(shù)據(jù)組塊上載至多于一個(gè)請(qǐng)求客戶端STB對(duì)等端節(jié)點(diǎn)211。因此,可以在多個(gè)下載客戶端STB對(duì)等端節(jié)點(diǎn)211上劃分特定STB對(duì)等端節(jié)點(diǎn)218的上載帶寬。在一些示例中,下載STB對(duì)等端節(jié)點(diǎn)211的回放窗口模塊220可以首先開(kāi)啟與特定服務(wù)STB對(duì)等端節(jié)點(diǎn)218的單一連接,并可以保持特定最小下載速率,該特定最小下載速率可以略微超過(guò)下載STB對(duì)等端節(jié)點(diǎn)211的視頻編碼/回放速率,以禁止或防止視頻播放器215陷入空視頻文件緩沖器219的情況(例如,饑餓)。在一些示例中,當(dāng)下載速率降低到指定最小閾值之下時(shí),作為響應(yīng),回放窗口模塊220可以通過(guò)開(kāi)啟與不同服務(wù)STB對(duì)等端節(jié)點(diǎn)218的多個(gè)連接來(lái)下載實(shí)質(zhì)上立即需要的組塊。在一些示例中,當(dāng)下載速率下降到指定最小閾值之下時(shí),作為響應(yīng),預(yù)取模塊221可以然后通過(guò)開(kāi)啟與不同服務(wù)STB對(duì)等端節(jié)點(diǎn)218的多個(gè)連接來(lái)下載視頻內(nèi)容數(shù)據(jù)組塊。在任一情況下,至少部分通過(guò)使用關(guān)于先前下載速度的信息來(lái)選擇特定服務(wù)STB對(duì)等端節(jié)點(diǎn)。在示例中,這樣的信息可以從中央跟蹤器獲得,或在下載STB對(duì)等端節(jié)點(diǎn)211處本地保持(例如,基于過(guò)去的事務(wù)經(jīng)驗(yàn))。保持超過(guò)最小下載速率的足夠下載速率將幫助為視頻播放器215的觀看用戶提供良好的觀看體驗(yàn)。 為了準(zhǔn)備幫助將視頻內(nèi)容組塊下載至下載STB對(duì)等端節(jié)點(diǎn)211的P2P客戶端212的本地視頻緩沖器219,預(yù)取模塊221可以識(shí)別本地丟失的視頻內(nèi)容數(shù)據(jù),并然后可以選擇從中下載丟失的視頻內(nèi)容數(shù)據(jù)的對(duì)等端。預(yù)取模塊221的性能可以影響總下載性能。由于幾乎不知道可用于P2P客戶端212的總下載帶寬,并且該總下載帶寬通常波動(dòng),如根據(jù)以下公式,各種示例可以提供自適應(yīng)預(yù)取速率 queue—size = queue—time化urrent—block—download—rate ;
      if(queue_size > MAX_QUEUE_SIZE)
      queue_size = MAX_QUEUE_SIZE ; if (queue_size < MIN_QUEUE_SIZE)
      queue_size = MIN_QUEUE_SIZE ; 皿m—requests = queue_size_download_queue. size ()—request—queue, size();
      其中,qUeUe_time指請(qǐng)求隊(duì)列的長(zhǎng)度(例如,以其他STB對(duì)等端218發(fā)送所有數(shù)據(jù)所花費(fèi)的秒數(shù)給出),download—queue, size()禾口 request_queue. size()返回隊(duì)列的相應(yīng)大小。 在一些示例中,將MAX—QUEUE—SIZE和MIN—QUEUE—SIZE設(shè)置為指定值,如分別為48和2。 在一些示例中,可以使用基于時(shí)間的期限來(lái)確定預(yù)取請(qǐng)求的總數(shù),該基于時(shí)間的期限用來(lái)限制在請(qǐng)求隊(duì)列中開(kāi)啟的任何請(qǐng)求所花費(fèi)的總持續(xù)時(shí)間。如果輸入請(qǐng)求速率等于處理速率,則隊(duì)列長(zhǎng)度將保持恒定。在一些示例中,為了幫助避免請(qǐng)求饑餓,可以設(shè)置基于時(shí)間的期限,在該期限之前,需要由其他STB對(duì)等端節(jié)點(diǎn)218來(lái)處理請(qǐng)求。這是有幫助的,如在向多個(gè)其他STB對(duì)等端218發(fā)送許多并發(fā)請(qǐng)求來(lái)幫助增加或最大化請(qǐng)求客戶端STB對(duì)等端211的下載帶寬利用率時(shí),同時(shí)保持嚴(yán)格時(shí)間期限,在該時(shí)間期限之前要處理特定請(qǐng)求。
      在計(jì)算要發(fā)送的請(qǐng)求的數(shù)目的同時(shí),預(yù)取模塊221或數(shù)據(jù)發(fā)現(xiàn)模塊226還可以幫助識(shí)別在一個(gè)或多個(gè)其他STB對(duì)等端218處可用的視頻內(nèi)容數(shù)據(jù)塊或組塊,并確定從中下載特定視頻內(nèi)容數(shù)據(jù)組塊的特定STP對(duì)等端218以保持下載帶寬的高利用率,這繼而增強(qiáng)了可縮放性。針對(duì)組塊和對(duì)等端選擇的一種技術(shù)的示例描述如下
      partial_chunk_list = partial_downloaded_chunks(chunk—map)
      if (partial_chunk_list. empty () ! = true) {interesting—chunk =找到partial_chunk_list中完成其下載所需的塊數(shù)目
      最少的組塊} elseinteresting_chunk = _1 ; if (interesting_chunk == _1) {interesting_chunk 二覆蓋最稀有的組塊} while (num—request 〉 0) reqst_peer = max_down_rate(interesting—chunk)
      皿m—request = reqst_peer. send_request (interesting_chunk. free_blocks(); 上述技術(shù)可以用于對(duì)視頻內(nèi)容數(shù)據(jù)下載進(jìn)行優(yōu)先級(jí)排序。在一些示例中,對(duì)部分
      下載的視頻內(nèi)容組塊給出比其他下載更高優(yōu)先級(jí)。在一些示例中,預(yù)取模塊221可以避免
      或防止從指定回放窗口父STB對(duì)等端節(jié)點(diǎn)218下載視頻內(nèi)容數(shù)據(jù),而是選擇一個(gè)或多個(gè)其
      他STB對(duì)等端218從中預(yù)取視頻內(nèi)容數(shù)據(jù)。在一些示例中,如果識(shí)別出多于一個(gè)部分下載
      的組塊,則對(duì)非常接近下載完成的部分下載的組塊給出比離下載完成較遠(yuǎn)的另一個(gè)部分下
      載的組塊更高的優(yōu)先級(jí)。 在示例中,如果沒(méi)有識(shí)別出部分下載的組塊,則首先選擇期望視頻內(nèi)容文件的最稀有/隨機(jī)組塊進(jìn)行下載。最稀有/隨機(jī)組塊是池中最少其他STB對(duì)等端218所存儲(chǔ)的組塊。該最稀有/隨機(jī)組塊優(yōu)先策略可以幫助在池中的STB對(duì)等端之間傳播和分發(fā)稀有的內(nèi)容。 在示例中,一旦識(shí)別出期望的視頻內(nèi)容數(shù)據(jù)的組塊,則預(yù)取模塊221可以識(shí)別從中下載該期望的視頻數(shù)據(jù)內(nèi)容的組塊的服務(wù)STB對(duì)等218。在一些示例中,下載STB對(duì)等端
      12211的P2P客戶端212可以監(jiān)控與預(yù)取模塊221進(jìn)行通信的每個(gè)服務(wù)STB對(duì)等端218的下 載速率。如果期望的視頻內(nèi)容數(shù)據(jù)組塊在池中的多于一個(gè)STB對(duì)等端218處可用,則預(yù)取 模塊221可以至少部分基于其歷史下載速率來(lái)選擇一個(gè)或多個(gè)STB對(duì)等端218用于進(jìn)行下 載,該歷史下載速率例如與對(duì)該特定期望組塊進(jìn)行緩沖的其他STB對(duì)等端218的下載速率 相關(guān)。在客戶端STB對(duì)等端211的下載帶寬受其回放窗口模塊220限制的情況下,由其預(yù) 取模塊221建立的附加連接可以減小任何已建立連接上的下載速率。因此,在特定示例中, 預(yù)取模塊221可以識(shí)別STB對(duì)等端211的下載帶寬何時(shí)受到其回放窗口模塊220的限制, 并且作為響應(yīng),其預(yù)取模塊221可以相應(yīng)地動(dòng)態(tài)管理其與其他STB對(duì)等端218的連接,例如 以在特定示例中提高其盡可能多的連接的下載性能。 在識(shí)別和選擇具有已識(shí)別的期望視頻內(nèi)容數(shù)據(jù)組塊的STB對(duì)等端218時(shí),預(yù)取模 塊221可以例如使用圖4所示的用于增加或最大化可用于下載的任何剩余帶寬的利用率的 技術(shù)來(lái)發(fā)出多個(gè)請(qǐng)求。 作為概述,兩個(gè)模塊(例如,回放和預(yù)取)下載的這種方法,可以提供對(duì)所需視頻 內(nèi)容數(shù)據(jù)的及時(shí)傳送。預(yù)取可以幫助增強(qiáng)網(wǎng)絡(luò)資源的高效使用,并可以通過(guò)比其他方法 (如對(duì)內(nèi)容進(jìn)行順序取回或從多個(gè)對(duì)等端流傳輸內(nèi)容的方法)更快地分發(fā)內(nèi)容來(lái)幫助提供 P2P網(wǎng)絡(luò)的魯棒性。目前所描述的通過(guò)單獨(dú)模塊的主動(dòng)預(yù)取可以允許在電影初始幾分鐘期 間對(duì)整個(gè)視頻文件進(jìn)行緩沖,對(duì)用戶進(jìn)行隨機(jī)搜索給出相當(dāng)?shù)幕匦嗟?,而不?huì)引起任何 抖動(dòng)。主動(dòng)預(yù)取可以幫助增強(qiáng)網(wǎng)絡(luò)的魯棒性,并可以幫助提供更好的用戶體驗(yàn)。針對(duì)實(shí)際吞 吐量的仿真示出,在節(jié)點(diǎn)的切換期間,本地節(jié)點(diǎn)中的預(yù)取可以比其他方法更好地避免抖動(dòng)。 針對(duì)VoD服務(wù)的本系統(tǒng)和方法的另一增強(qiáng)特征是提供VCR操作??紤]到當(dāng)用戶正在觀看電 影的第IO分鐘處的視頻的場(chǎng)景;滑動(dòng)窗口 324將對(duì)立即需要的視頻組塊進(jìn)行緩沖。但是, 假如用戶突然期望跳轉(zhuǎn)到電影的第40分鐘?,F(xiàn)在,回放窗口模塊220立即跳轉(zhuǎn)至電影的第 40分鐘,并嘗試檢索與針對(duì)電影的第40分鐘的滑動(dòng)窗口 324的位置相對(duì)應(yīng)的視頻組塊。觀 察用戶交互的實(shí)驗(yàn)看來(lái)指示向前搜索或VCR操作的次數(shù)隨著會(huì)話的進(jìn)程而增加。整個(gè)內(nèi)容 的主動(dòng)預(yù)取幫助提供增加的向前搜索,而沒(méi)有任何抖動(dòng)。 各種方法可以在VCR快進(jìn)和向前跳轉(zhuǎn)操作期間通過(guò)最大化下載數(shù)據(jù)量來(lái)尋求降 低或最小化正?;胤牌陂g的故障的可能性。然而,在不提供的情況下,如果針對(duì)相同家庭 的較低優(yōu)先級(jí)流和較高優(yōu)先級(jí)流共享相同的瓶頸鏈路,則較低優(yōu)先級(jí)流可以降低較高優(yōu)先 級(jí)流的吞吐量。這可以概括為自干擾。特定方法可以使用減小或最小化該問(wèn)題的機(jī)制,包 括例如DiffServ、探測(cè)或使用多個(gè)流。使用DiffServ,例如系統(tǒng)可以相應(yīng)地標(biāo)記較高、較 低優(yōu)先級(jí)分組,使得路由器可以對(duì)分組給出適當(dāng)?shù)恼{(diào)度和丟棄優(yōu)先級(jí)。許多家庭路由器 支持DiffServ,并且一些802. 11接入點(diǎn)還使用DiffServ標(biāo)記來(lái)進(jìn)行優(yōu)先級(jí)排序(使用 802. lie)。 探測(cè)可以操作為使得如果正在觀看的組塊的流正在接收不足的帶寬,則客戶端可 以掛起較低優(yōu)先級(jí)流,并觀察該掛起是否增加較高優(yōu)先級(jí)流的帶寬。如果是,則這指示這些 流正在競(jìng)爭(zhēng)相同瓶頸帶寬。在這種情況下,使用多個(gè)流會(huì)起到反作用。
      第三種方法可以創(chuàng)建多個(gè)TCP連接并從不同對(duì)等端節(jié)點(diǎn)檢索不同組塊(如RTSP 協(xié)議之類(lèi)的協(xié)議允許文件內(nèi)的隨機(jī)訪問(wèn),使得可以支持隨機(jī)訪問(wèn))。例如,Web瀏覽器能夠 常規(guī)地創(chuàng)建4個(gè)并發(fā)TCP連接以取回頁(yè)面的HTML和圖像內(nèi)容。
      在一些情況下,如果尚未取回針對(duì)搜索操作的組塊,則用戶將在正在取回組塊時(shí) 經(jīng)歷延遲。在一些示例中,以視頻的規(guī)則時(shí)間間隔(例如1分鐘)形成連續(xù)5秒視頻的特定 關(guān)鍵/常用幀可以形成在啟動(dòng)期間可以下載的錨點(diǎn)(anchor point)。多數(shù)用戶向前搜索也 將是針對(duì)使用在錨點(diǎn)中緩沖的組塊可以立即提供的這些關(guān)鍵幀。如果用戶的搜索不是針對(duì) 精確的錨點(diǎn),則滑動(dòng)窗口可以被調(diào)整至最近的錨點(diǎn)。因此,沒(méi)有任何延遲,可以立即滿足隨 機(jī)搜索,并且5秒的回放時(shí)間可以用來(lái)下載滑動(dòng)窗口的其余部分。使用這樣的錨點(diǎn)還可以 在用戶掃描視頻時(shí)幫助支持用戶進(jìn)行電影采樣,十分類(lèi)似于便攜式CD播放器所支持的"介 紹米樣(intro-s咖pling),,。 來(lái)自對(duì)用戶行為的實(shí)驗(yàn)結(jié)果示出,多數(shù)流行視頻內(nèi)容具有較短的會(huì)話長(zhǎng)度,其中 多數(shù)用戶可能之前已經(jīng)見(jiàn)過(guò)最流行的視頻,無(wú)論是通過(guò)其他媒介(影院或DVD)還是在之前 的VoD會(huì)話中。在多數(shù)這些較小會(huì)話中,用戶傾向于僅掃描整個(gè)視頻?;谟脩粜袨閷?duì)錨 (例如關(guān)鍵幀)和最常用組塊進(jìn)行下載可以幫助在用戶掃描整個(gè)視頻文件時(shí)更快速地提供 組塊。 調(diào)度策略定義了如何發(fā)現(xiàn)可用組塊、下載什么組塊以及從哪里下載組塊。這些策
      略中的一個(gè)或多個(gè)可以影響整個(gè)VoD系統(tǒng)的總體性能,這是由于這些策略定義了系統(tǒng)傳送
      的控制消息的數(shù)量,并且它們還判定節(jié)點(diǎn)接收的數(shù)據(jù)的效率和及時(shí)傳送。 在一些示例中,針對(duì)由VoD服務(wù)發(fā)行的每個(gè)電影,可以存在由覆蓋中對(duì)電影內(nèi)容
      進(jìn)行緩沖的所有節(jié)點(diǎn)形成的全局分布的散列表(DHT)。這可以被稱(chēng)為組塊映射。首先,可
      以將整個(gè)電影存儲(chǔ)在源服務(wù)器中,并所有組塊可以從源服務(wù)器提供。然而,當(dāng)STB下載組
      塊時(shí),它們可以根據(jù)其中可用的所有組塊來(lái)更新其在DHT中的位置,并且可以在節(jié)點(diǎn)離開(kāi)
      網(wǎng)絡(luò)時(shí)從DHT中移除節(jié)點(diǎn)。覆蓋中的一個(gè)節(jié)點(diǎn)可以負(fù)責(zé)DHT中視頻文件的指定范圍的組塊
      ID。該節(jié)點(diǎn)可以保持已對(duì)ID落入其ID空間內(nèi)的組塊進(jìn)行緩沖的所有其他節(jié)點(diǎn)的列表。只
      要STB要下載特定組塊,STB可以搜索DHT,并獲得覆蓋中已緩沖所需組塊的所有節(jié)點(diǎn)的列表。 觀看者在觀看電影時(shí)可以檢索的三種類(lèi)型的組塊是有區(qū)別的。第一種類(lèi)型的組塊 是當(dāng)前正在觀看的組塊,該組塊明顯應(yīng)當(dāng)具有最高優(yōu)先級(jí)以避免回放中的中斷。至少應(yīng)當(dāng) 與當(dāng)前組塊的消耗速率一樣塊的速度來(lái)進(jìn)行該檢索;如果下載速度較大,則對(duì)內(nèi)容進(jìn)行緩 沖以補(bǔ)償傳送中的任何未來(lái)故障。其他類(lèi)型的檢索使得VCR操作更可能經(jīng)歷最小延遲。第 一種類(lèi)型的預(yù)取獲得整個(gè)電影的關(guān)鍵幀,允許平滑的快進(jìn)操作。對(duì)于MPEG編碼的電影,典 型地這將是電影中1/15的幀(雖然這是較大部分的字節(jié)量)。對(duì)預(yù)取當(dāng)前組塊之前的組 塊,可以給出最低優(yōu)先級(jí)。這既可以順序地進(jìn)行,也可以由系統(tǒng)對(duì)觀看歷史進(jìn)行采樣,以確 定特定DVD章節(jié)是否例如比其他章節(jié)更常用。取代下載整個(gè)單一段(連續(xù)組塊的集合,形成 幾分鐘視頻),可以利用觀察者跳轉(zhuǎn)至章節(jié)或場(chǎng)景開(kāi)始處的事實(shí)。因此,系統(tǒng)可以首先下載 每段的前幾個(gè)組塊,足以允許系統(tǒng)無(wú)中斷地流傳輸當(dāng)前段。針對(duì)每個(gè)段,可以重復(fù)該剝離操 作。由于三種類(lèi)型的下載可能來(lái)自于不同源,并且下載帶寬可能高于上載帶寬,用于觀看者 的總可用帶寬將比從單一源拉取數(shù)據(jù)更大。該策略還處理對(duì)用戶更可能在電影的靠后部分 期間向前跳轉(zhuǎn)的情況的觀察。此時(shí),在觀看者的STB處將預(yù)先高速緩存電影的更多部分。一 旦節(jié)點(diǎn)決定下載組塊,節(jié)點(diǎn)可以查詢(xún)針對(duì)緩存這些所需組塊的STB的組塊映射或全局DHT。 組塊映射返回緩沖這些組塊的STB的集合。可以選擇在相同子網(wǎng)或AS(自治系統(tǒng))內(nèi)所有
      14對(duì)等端中提供更多上載帶寬的STB,以用于下載組塊。 在本體系結(jié)構(gòu)的示例中,如果在客戶端STB對(duì)等端211處不存在可用的本地拷貝, 或者如果持有拷貝的所有其他STB對(duì)等端218都繁忙,則本地DHT將電影名稱(chēng)映射至對(duì)等 端內(nèi)容標(biāo)識(shí)符以及基于服務(wù)器的URL。由于每個(gè)組塊可能由多個(gè)STB對(duì)等端211、218持有, 接收機(jī)STB對(duì)等端211可以判定聯(lián)系哪個(gè)其他STB對(duì)等端218。 一般而言,選擇過(guò)程可以避 免熱點(diǎn)并可以?xún)?yōu)選服務(wù)STB對(duì)等端218和下載STB對(duì)等端211之間的短傳輸距離。 一旦組 塊來(lái)到子網(wǎng)內(nèi)的STB對(duì)等端節(jié)點(diǎn)211、218,可以在本地交換組塊,減少昂貴的跨AS業(yè)務(wù)量。
      在一些示例中,回放窗口模塊220可以嘗試在其相應(yīng)的組塊期限期滿之前獲得滑 動(dòng)窗口 324所需的組塊。在一些示例中,回放窗口模塊220可以例如通過(guò)搜索DHT來(lái)首先 搜索來(lái)自子網(wǎng)內(nèi)其他STB對(duì)等端218的期望組塊。如果期望組塊不可用,則回放窗口模塊 220可以例如通過(guò)搜索DHT來(lái)搜索其他子網(wǎng)中的期望組塊。在一些示例中,回放窗口模塊 220不能從覆蓋網(wǎng)絡(luò)內(nèi)獲得期望的視頻內(nèi)容數(shù)據(jù)組塊,然而,該回放窗口模塊220仍可以從 其他服務(wù)器(如源服務(wù)器)獲得期望的組塊。為了保持每個(gè)服務(wù)器的扇出(fan-out)限制, 并且禁止源處的過(guò)度擁擠,一些示例可以對(duì)可以同時(shí)嘗試從單一服務(wù)STB對(duì)等端節(jié)點(diǎn)218 取回組塊的請(qǐng)求STB對(duì)等端211的最大數(shù)目施加限制。相比于預(yù)取模塊221連接,對(duì)回放 窗口模塊220連接給出更高優(yōu)先級(jí)。如果特定STB對(duì)等端節(jié)點(diǎn)218位于扇出限制處,并且 回放窗口模塊220請(qǐng)求視頻內(nèi)容數(shù)據(jù)的組塊,則回放窗口模塊220可以搶占預(yù)取模塊221 連接之一,并允許回放窗口模塊220連接取回所需組塊。在特定示例中,可以使用端口號(hào)來(lái) 進(jìn)行回放窗口模塊220和預(yù)取模塊221連接的區(qū)別處理。在一些示例中,預(yù)取模塊221加 入與回放窗口模塊220相同的DHT,并獲得相同的STB對(duì)等端節(jié)點(diǎn)218用于下載組塊。在這 樣的示例中,回放窗口模塊220和預(yù)取模塊221都可以從所選的已經(jīng)提供了比其他STB對(duì) 等端節(jié)點(diǎn)218更多上載帶寬的STB對(duì)等端節(jié)點(diǎn)218下載組塊。 偏置的鄰居選擇可以顯著減少昂貴的跨子網(wǎng)或跨AS業(yè)務(wù)量,在該偏置的鄰居選 擇中,請(qǐng)求STB對(duì)等端211從相同子網(wǎng)內(nèi)的STB對(duì)等端218中選擇其多數(shù)但非所有鄰居。 視頻內(nèi)容數(shù)據(jù)的交換可以偏置為優(yōu)選在本地STB對(duì)等端節(jié)點(diǎn)211、218之間完成交換?;?于現(xiàn)有DSL和有線體系結(jié)構(gòu),可能存在三"環(huán)"鄰近性,例如,單一家庭內(nèi)的對(duì)等端、子網(wǎng)內(nèi) 共享相同路由器的對(duì)等端、以及共享AS的對(duì)等端。在一些示例中,相同子網(wǎng)中的STB對(duì)等 端節(jié)點(diǎn)211、218可以使用IP地址的公共前綴來(lái)進(jìn)行識(shí)別。當(dāng)STB對(duì)等端211采用對(duì)服務(wù) STB對(duì)等端218進(jìn)行知曉位置的選擇時(shí),組塊僅需要來(lái)到子網(wǎng)一次,并然后可以根據(jù)需要在 子網(wǎng)內(nèi)對(duì)該組塊進(jìn)行復(fù)制。 始終從列表中選擇第一最本地的STB對(duì)等端節(jié)點(diǎn)218可以導(dǎo)致接納控制失敗。因 此,在示例中,除了客戶端STB對(duì)等端節(jié)點(diǎn)211已用于檢索其他組塊的那些STB對(duì)等端218 之外,客戶端STB對(duì)等端節(jié)點(diǎn)211可以選擇隨機(jī)的STB對(duì)等端218。 在一些示例中,如果請(qǐng)求STB對(duì)等端節(jié)點(diǎn)211不能獲得具有期望組塊的任何對(duì)等 端的接納,并且如果期望組塊是當(dāng)前正在播放的組塊或是實(shí)質(zhì)上立即需要的組塊,則請(qǐng)求 STB對(duì)等端211可以設(shè)置"最后手段"標(biāo)記,并重新嘗試候選STB對(duì)等端218。提供非當(dāng)前 組塊的STB對(duì)等端218然后可以移除使用該STB對(duì)等端218來(lái)預(yù)取組塊的一個(gè)或多個(gè)請(qǐng)求 STB對(duì)等端211 ;這些其他請(qǐng)求STB對(duì)等端211可以在別處重新嘗試。在這樣的示例中,回 放窗口模塊22連接可以搶占其他連接。被取代的STB對(duì)等端211 —般而言可能正在觀看流行電影,并可以容易地找到另一服務(wù)STB對(duì)等端218來(lái)提供視頻內(nèi)容數(shù)據(jù)。
      圖2中的數(shù)據(jù)發(fā)現(xiàn)模塊226可以保持覆蓋中可用的所有組塊與緩沖這些組塊的 STB對(duì)等端節(jié)點(diǎn)218的映射。在示例中,數(shù)據(jù)發(fā)現(xiàn)模塊226可以持續(xù)地與其他STB對(duì)等端 節(jié)點(diǎn)211、218交換緩沖器映射。緩沖器映射可以包括描述STB對(duì)等端節(jié)點(diǎn)218中的組塊可 用性的比特陣列。在示例中,數(shù)據(jù)發(fā)現(xiàn)模塊226可以交換組塊可用性的緩沖器映射,而不是 任何特定組塊內(nèi)可用塊的映射;這可以降低控制業(yè)務(wù)量速率。在組塊選擇技術(shù)的示例中, 預(yù)取模塊221可以首先下載部分完成的組塊;在一些示例中,緩沖器映射可以?xún)H指示視頻 內(nèi)容數(shù)據(jù)的完整組塊。因此,向完成部分組塊的下載提供高優(yōu)先級(jí)可以幫助保持系統(tǒng)具備 盡可能多樣的對(duì)視頻數(shù)據(jù)內(nèi)容的選擇,并可以降低分散于系統(tǒng)中并不可用于交換的部分組 塊數(shù)據(jù)的數(shù)量。在一些示例中,數(shù)據(jù)發(fā)現(xiàn)模塊226還可以將其回放子節(jié)點(diǎn)PID發(fā)送至其他 STB對(duì)等端218。在一些示例中,數(shù)據(jù)發(fā)現(xiàn)模塊226可以接收各個(gè)STB對(duì)等端218的最新回 放子節(jié)點(diǎn)的節(jié)點(diǎn)PID。當(dāng)本地P2P客戶端212必須識(shí)別具有可用文件的隨機(jī)請(qǐng)求的部分并 且不作為指定回放父節(jié)點(diǎn)來(lái)為任何其他請(qǐng)求STB對(duì)等端節(jié)點(diǎn)211服務(wù)的另一服務(wù)STB對(duì)等 端節(jié)點(diǎn)218時(shí),具有緩沖器映射信息和對(duì)等端子節(jié)點(diǎn)的節(jié)點(diǎn)PID可以幫助特定STB對(duì)等端 211的P2P客戶端212通過(guò)一個(gè)或多個(gè)其他STB對(duì)等端218來(lái)提供隨機(jī)搜索服務(wù)。使用組 塊映射,P2P客戶端212可以識(shí)別具有所請(qǐng)求的視頻內(nèi)容數(shù)據(jù)的其他STB對(duì)等端218的集 合,以及這樣的其他STB對(duì)等端218是否作為回放父節(jié)點(diǎn)來(lái)為任何其他請(qǐng)求STB對(duì)等端211 服務(wù)。在示例中,如果沒(méi)有無(wú)子節(jié)點(diǎn)的STB對(duì)等端218可用,則請(qǐng)求STB對(duì)等端211的P2P 客戶端212的回放窗口 220可以切換至"集群(swarming)"下載技術(shù),在該技術(shù)中,請(qǐng)求STB 對(duì)等端211可以積極地從多個(gè)STB對(duì)等端218(如那些然后提供最高可識(shí)別的下載速率的 STB對(duì)等端218)的集合開(kāi)始下載期望的組塊。 在一些示例中,數(shù)據(jù)發(fā)現(xiàn)模塊226可以提供知曉位置的視頻內(nèi)容數(shù)據(jù)獲取,例如, 其中數(shù)據(jù)發(fā)現(xiàn)模塊226選擇本地DSLAM 102內(nèi)的另一 STB對(duì)等端218作為指定的回放父節(jié) 點(diǎn)對(duì)等端。 一般而言,在以通信方式耦合至本地DSLAM 102的STB對(duì)等端的子網(wǎng)內(nèi)可以提 供多至80%的總視頻內(nèi)容數(shù)據(jù)。如果所請(qǐng)求的視頻內(nèi)容數(shù)據(jù)在本地DSLAM 102內(nèi)的任何 對(duì)等端104上均不可用,則數(shù)據(jù)發(fā)現(xiàn)模塊226可以在本地DSLAM 102之外選擇從中取回期 望視頻內(nèi)容數(shù)據(jù)的節(jié)點(diǎn)。由于視頻內(nèi)容數(shù)據(jù)多數(shù)是從本地DSLAM 102內(nèi)的STB對(duì)等端節(jié)點(diǎn) 104中取回的,因此系統(tǒng)一般而言是服務(wù)質(zhì)量實(shí)質(zhì)上不受外部干擾(如由于視頻內(nèi)容數(shù)據(jù) 的長(zhǎng)距離傳輸引入的擁塞或抖動(dòng))的系統(tǒng)。 已經(jīng)示意了這里描述的對(duì)等端輔助的VoD系統(tǒng)的示例,使用修改的開(kāi)放源 Live555流服務(wù)器來(lái)實(shí)現(xiàn)RTSP服務(wù)器213。圖2示出了可以包括通信接口層(如P2P封裝 器214)在內(nèi)的示例。P2P封裝器214可以包括一個(gè)或多個(gè)原語(yǔ),以幫助RTSP服務(wù)器213讀 取通過(guò)P2P客戶端212的數(shù)據(jù),或者在從另一 STB對(duì)等端218請(qǐng)求數(shù)據(jù)之前檢查期望的視 頻內(nèi)容數(shù)據(jù)是否在本地可用。在示例中,如果期望的數(shù)據(jù)在本地不可用,則RTSP服務(wù)器213 可以如通過(guò)停止對(duì)視頻播放器215的視頻饋送來(lái)暫停(例如,暫停幾秒鐘)。RTSP服務(wù)器 213然后可以與P2P客戶端212重新檢查是否已在本地接收到期望的數(shù)據(jù)。特定示例可以 使用RTSP服務(wù)器213的其他實(shí)現(xiàn)方式(例如,Videolan),但是可以類(lèi)似地包括P2P封裝器 214以將RTSP服務(wù)器213與P2P客戶端212接口連接。 在一些示例中,中央跟蹤器216駐留在指定節(jié)點(diǎn)104處,并跟蹤在系統(tǒng)上可用的STB對(duì)等端211、218。在示例中,在連接至系統(tǒng)時(shí),每個(gè)節(jié)點(diǎn)104聯(lián)系中央跟蹤器216,例如 以接收覆蓋信息。在一些示例中,當(dāng)聯(lián)系中央跟蹤器216時(shí),可以發(fā)送系統(tǒng)中所有對(duì)等端 104的覆蓋信息。在一些示例中,可以將中央跟蹤器216修改為同時(shí)支持多個(gè)電影。在這樣 的示例中,中央跟蹤器216可以基于所請(qǐng)求的特定電影來(lái)發(fā)送對(duì)等端列表。還可以通過(guò)控 制來(lái)自中央跟蹤器216的對(duì)等端列表來(lái)控制知曉位置的內(nèi)容發(fā)現(xiàn)。 在一些示例中,P2PVoD系統(tǒng)100可以定義協(xié)議以與其他STB對(duì)等端104通信,例 如用于交換緩沖器映射和視頻內(nèi)容數(shù)據(jù)。STB對(duì)等端211、218可以與中央跟蹤器216進(jìn)行 通信,例如以周期性地或循環(huán)地取回對(duì)等端列表。為了與中央跟蹤器216進(jìn)行通信,STB對(duì) 等端節(jié)點(diǎn)211、218可以例如通過(guò)使用超文本傳輸協(xié)議(HTTP)來(lái)發(fā)送或接收消息。在示例 中,P2PVoD系統(tǒng)100可以使用5個(gè)不同的請(qǐng)求/響應(yīng)消息,例如以允許節(jié)點(diǎn)104與其他節(jié) 點(diǎn)104進(jìn)行通信、例如以交換信息和下載視頻內(nèi)容數(shù)據(jù)。在示例中,這樣的協(xié)議消息可以包 括BUFFE薩P、 PIECE、 CANCEL、 REQ_PLAYBACK_PARENT和PLAYBACK_PEER。
      在該示例中,BUFFERMAP消息可以請(qǐng)求服務(wù)STB對(duì)等端218向請(qǐng)求對(duì)等端節(jié)點(diǎn)211 發(fā)送服務(wù)STB對(duì)等端218當(dāng)前正在緩沖的視頻內(nèi)容數(shù)據(jù)的組塊的映射。在示例中,響應(yīng)于 BUFFERMAP消息,服務(wù)STB對(duì)等端218將僅返回此時(shí)正在緩沖的完整組塊的列表。
      PIECE請(qǐng)求消息可以請(qǐng)求服務(wù)STB對(duì)等端218發(fā)送視頻內(nèi)容數(shù)據(jù)的組塊中的塊 (例如基于其可用性)。例如,如果視頻內(nèi)容數(shù)據(jù)的實(shí)際塊可用,則接收PIECE消息的服務(wù) STB對(duì)等端218可以使用視頻內(nèi)容數(shù)據(jù)的實(shí)際塊作為響應(yīng),否則服務(wù)STB對(duì)等端218可以 忽略PIECE消息。如果請(qǐng)求STB對(duì)等端211尚未接收到所請(qǐng)求的數(shù)據(jù),并不再需要所請(qǐng)求 的數(shù)據(jù),則請(qǐng)求客戶端STB對(duì)等端211可以例如通過(guò)使用CANCEL消息來(lái)取消請(qǐng)求。在示例 中,PIECE和CANCEL請(qǐng)求消息可以指定可應(yīng)用組塊數(shù)目和相應(yīng)的塊數(shù)目。PIECE響應(yīng)消息 可以包括實(shí)際請(qǐng)求的視頻內(nèi)容數(shù)據(jù)以及相應(yīng)的組塊和塊的數(shù)目。在該示例中,CANCEL消息 不具有響應(yīng)消息。 REQ PLAYBACK PARENT消息請(qǐng)求第一對(duì)等端作為請(qǐng)求對(duì)等端的回放父節(jié)點(diǎn)。如果 第一對(duì)等端不是任何其他節(jié)點(diǎn)的回放父節(jié)點(diǎn),則該第一對(duì)等端將以請(qǐng)求對(duì)等端的PID作為 響應(yīng)。如果第一對(duì)等端不可用作請(qǐng)求對(duì)等端的回放父節(jié)點(diǎn),則第一對(duì)等端以它已作為其回 放父節(jié)點(diǎn)的對(duì)等端的PID作為響應(yīng)。 圖4示出了 P2PVoD系統(tǒng)100的示例的通信映射的示例。在該示例中,P2PVoD系 統(tǒng)100可以包括中央跟蹤器416、存儲(chǔ)完整電影的已散播的P2P客戶端430、以及不具有電 影文件但將從其他STB對(duì)等端下載以播放電影的新P2P客戶端431。 在該示例中,新P2P客戶端431可以例如通過(guò)聯(lián)系中央跟蹤器216來(lái)加入覆蓋,中 央跟蹤器216可以返回此時(shí)對(duì)全部或部分電影432進(jìn)行緩沖的對(duì)等端的完整列表。在接收 到對(duì)等端列表時(shí),新P2P客戶端431可以開(kāi)始建立與一個(gè)或多個(gè)對(duì)等端的連接(如433處 所示)。在連接至對(duì)等端時(shí),新客戶端431可以向?qū)Φ榷税l(fā)送提供其PID (對(duì)等端標(biāo)識(shí)符) 的HANDSHAKE消息,如434所示。接收該握手消息的對(duì)等端可以以其緩沖器映射及其回放 子節(jié)點(diǎn)的PID進(jìn)行響應(yīng)(如435處所示)。在該示例中,在接收到緩沖器映射和所有其他 對(duì)等端的回放子節(jié)點(diǎn)的PID之后,新客戶端431可以選擇特定對(duì)等端(如436處所示),該 特定對(duì)等端此時(shí)未用作指定的回放父節(jié)點(diǎn),并且還包括期望的視頻內(nèi)容數(shù)據(jù)以服務(wù)于該新 客戶端437。在所示的場(chǎng)景中,新客戶端431可以建立與已散播的客戶端430、客戶端-1以
      17及客戶端-2的連接。在所示的場(chǎng)景中,已散播的客戶端430和客戶端-1均以其回放子節(jié) 點(diǎn)的有效PID進(jìn)行響應(yīng)。僅客戶端_2以虛設(shè)回放子節(jié)點(diǎn)的PID進(jìn)行響應(yīng),指示客戶端_2 未用作任何其他對(duì)等端的指定回放父節(jié)點(diǎn)。在所示的場(chǎng)景中,新客戶端431可以選擇客戶 端-2作為其指定的回放父節(jié)點(diǎn)。在一些示例中,如果有多個(gè)未用作父節(jié)點(diǎn)的對(duì)等端可用, 則客戶端對(duì)等端可以選擇服務(wù)對(duì)等端節(jié)點(diǎn),該服務(wù)對(duì)等端節(jié)點(diǎn)包括期望的組塊,但是包括 最少數(shù)目的緩沖的組塊。在一些示例中,地理位置上接近新節(jié)點(diǎn)的對(duì)等端可以?xún)?yōu)選被選為 指定的回放父節(jié)點(diǎn)。在該示例中,節(jié)點(diǎn)僅可以用作一個(gè)其他節(jié)點(diǎn)的父節(jié)點(diǎn)。P2P客戶端可以 從其指定的父節(jié)點(diǎn)請(qǐng)求其回放模塊220所需的數(shù)據(jù),并可以使用可用的剩余帶寬來(lái)執(zhí)行預(yù) 取。當(dāng)節(jié)點(diǎn)采取對(duì)等端的指定父節(jié)點(diǎn)的角色時(shí),該節(jié)點(diǎn)可以向所有對(duì)等端公開(kāi)該信息。這 可以幫助減少或最小化要將該特定節(jié)點(diǎn)作為指定父節(jié)點(diǎn)的請(qǐng)求。 所公開(kāi)的父對(duì)等端的狀態(tài)還幫助客戶端識(shí)別哪些節(jié)點(diǎn)在快進(jìn)或其他VCR操作期
      間能夠自由提供視頻數(shù)據(jù)內(nèi)容。在一些示例中,當(dāng)用戶調(diào)用VCR操作時(shí),并且當(dāng)本地客戶端
      不具有所請(qǐng)求的視頻內(nèi)容數(shù)據(jù)時(shí),以及當(dāng)這種所請(qǐng)求的內(nèi)容在本地客戶端的指定回放父節(jié)
      點(diǎn)中也不可用時(shí),本地客戶端可以搜索剩余的對(duì)等端并選擇另一對(duì)等端作為其指定的回放
      父節(jié)點(diǎn)。在選擇新回放父節(jié)點(diǎn)時(shí),客戶端可以開(kāi)始下載所請(qǐng)求的視頻內(nèi)容數(shù)據(jù)。 圖5示出了 P2P覆蓋的示意性示例。在該示例中,一旦所有P2P客戶端550建立
      其主要(指定的父節(jié)點(diǎn))551和次要(所有其他對(duì)等端)552連接時(shí),P2P網(wǎng)絡(luò)可以組織成
      與圖5所示的類(lèi)似的覆蓋。 在示例中,可以驗(yàn)證對(duì)新輸入的對(duì)等端的接納,使得對(duì)新對(duì)等端的接納不會(huì)導(dǎo)致 性能惡化,如其中對(duì)一個(gè)流的接納導(dǎo)致大量訂戶經(jīng)歷視頻信號(hào)的惡化。避免廣泛感知的運(yùn) 轉(zhuǎn)中斷的一種方式是使用集成的接納控制。如果由于網(wǎng)絡(luò)或服務(wù)中任何地方的超額訂閱而 導(dǎo)致不能支持視頻會(huì)話,則該集成的接納控制可以向請(qǐng)求STB傳送"此時(shí)不能提供服務(wù)"信 號(hào)。特定示例可以包括分布式接納控制,如其中對(duì)新節(jié)點(diǎn)的接納取決于在網(wǎng)絡(luò)中分發(fā)整個(gè) 視頻內(nèi)容的范圍,以及可用源節(jié)點(diǎn)的數(shù)目。在示例中,當(dāng)新節(jié)點(diǎn)請(qǐng)求電影時(shí),客戶端軟件可 以在初始啟動(dòng)期間對(duì)與滑動(dòng)窗口的大小和錨點(diǎn)相對(duì)應(yīng)的初始段進(jìn)行緩沖。如果不能滿足所 需的最小閾值下載速率,并且啟動(dòng)延遲超過(guò)最大允許閾值持續(xù)時(shí)間,則P2P覆蓋可以被認(rèn) 為是"擁擠"的,并且可以避免或排除對(duì)新節(jié)點(diǎn)的接納。如當(dāng)內(nèi)容供應(yīng)商檢測(cè)到隨著向電影 添加新訂戶,對(duì)現(xiàn)有訂戶產(chǎn)生視頻信號(hào)惡化時(shí),這可以允許通過(guò)利用新源節(jié)點(diǎn)來(lái)更新電影 的全局DHT,以在運(yùn)行時(shí)添加新源節(jié)點(diǎn)。
      附加注釋 以上詳細(xì)描述包括對(duì)形成詳細(xì)描述的一部分的附圖的參考。作為示意,附圖示出 了可以實(shí)現(xiàn)本發(fā)明的具體實(shí)施例。這些實(shí)施例這里也被稱(chēng)為"示例"。這樣的示例可以包括 除了那些示出和描述的元件以外的元件。然而,本發(fā)明人還想到其中僅提供所示和所描述 的那些元件的示例。 本文中引用的所有公開(kāi)、專(zhuān)利和專(zhuān)利文獻(xiàn)的全部?jī)?nèi)容通過(guò)引用合并于此,正如單 獨(dú)通過(guò)引用來(lái)合并。在本文和通過(guò)引用如此合并的那些文獻(xiàn)之間的不一致使用的情況下, 所合并的引用中的使用應(yīng)當(dāng)視為對(duì)本文的使用的補(bǔ)充;對(duì)于不可調(diào)和的不一致,由本文中 的使用來(lái)控制。 在本文中,術(shù)語(yǔ)"一"的使用是專(zhuān)利文獻(xiàn)中共有的使用,以包括一個(gè)或多于一個(gè),獨(dú)立于"至少一個(gè)"或"一個(gè)或多個(gè)"的任何其他情況或使用。在本文中,術(shù)語(yǔ)"或"用來(lái)指代 非排他的或,使得除非另外指出,否則"A或B"包括"A但沒(méi)有B"、"B但沒(méi)有A"、以及"A和 B"。在所附權(quán)利要求中,術(shù)語(yǔ)"包括(including)"禾P"其中(in which)"用作相應(yīng)術(shù)語(yǔ)"包 括(comprising)"和"其中(wherein)"的通俗英語(yǔ)等同物。同樣,在以下權(quán)利要求中,術(shù)語(yǔ) "包括(including)"和"包括(comprising)"是開(kāi)放式的,即包括除了權(quán)利要求中在這樣的 術(shù)語(yǔ)之后列出的那些元件以外的元件的系統(tǒng)、設(shè)備、產(chǎn)品或過(guò)程仍被視為落入該權(quán)利要求 的范圍內(nèi)。此外,在以下權(quán)利要求中,術(shù)語(yǔ)"第一"、"第二"和"第三"等僅用作標(biāo)記,并不意 在對(duì)其對(duì)象施加數(shù)值要求。 這里描述的方法示例可以至少部分由機(jī)器或計(jì)算機(jī)實(shí)現(xiàn)。 一些示例可以包括利用 指令編碼的計(jì)算機(jī)可讀介質(zhì)或機(jī)器可讀介質(zhì),該指令用于配置電子設(shè)備執(zhí)行在以上示例中 描述的方法。這樣的方法的實(shí)現(xiàn)方式可以包括代碼,如微代碼、匯編語(yǔ)言代碼、高級(jí)語(yǔ)言代 碼等等。這樣的代碼可以包括用于執(zhí)行各種方法的計(jì)算機(jī)可讀指令。該代碼可以形成計(jì)算 機(jī)程序產(chǎn)品的部分。此外,可以在執(zhí)行或其他時(shí)間期間將該代碼有形地存儲(chǔ)在一個(gè)或多個(gè) 易失性或非易失性計(jì)算機(jī)可讀介質(zhì)上。這些計(jì)算機(jī)可讀介質(zhì)可以包括但不限于硬盤(pán)、可拆 卸磁盤(pán)、可拆卸光盤(pán)(例如,致密光盤(pán)和數(shù)字視頻盤(pán))、磁帶、存儲(chǔ)卡或存儲(chǔ)棒、隨機(jī)存取存 儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)等。 以上描述應(yīng)是示意性而不是限制性的。例如,上述示例(或其一個(gè)或多個(gè)方面) 可以以彼此組合的方式來(lái)使用。例如本領(lǐng)域技術(shù)人員在審視以上描述時(shí)可以使用其他實(shí)施 例。所提供的摘要符合37C.F.R. §1. 72(b),以允許讀者快速確定技術(shù)公開(kāi)的本質(zhì)。應(yīng)理 解,所提交的摘要不用于解釋或限制權(quán)利要求的范圍或意義。此外,在以上詳細(xì)描述中,可 以將各個(gè)特征組合到一起以簡(jiǎn)化本公開(kāi)。這不應(yīng)被解釋為,沒(méi)有要求保護(hù)的所公開(kāi)特征對(duì) 于任何權(quán)利要求而言是必要的。更合理地,本發(fā)明的主題可以在于具體公開(kāi)實(shí)施例的少于 全部的特征。因此,在此將以下權(quán)利要求合并到詳細(xì)描述中,并且每個(gè)權(quán)利要求獨(dú)立作為單 獨(dú)的實(shí)施例。應(yīng)當(dāng)參照所附權(quán)利要求以及被授予這些權(quán)利要求的權(quán)利的等同物的全部范圍 來(lái)確定本發(fā)明的范圍。
      19
      權(quán)利要求
      一種對(duì)等P2P視頻點(diǎn)播VoD方法,使用池中的多個(gè)支持IP的VoD對(duì)等端來(lái)向池中的視頻內(nèi)容數(shù)據(jù)請(qǐng)求客戶端對(duì)等端提供視頻內(nèi)容數(shù)據(jù),所述方法包括針對(duì)請(qǐng)求客戶端對(duì)等端,指定池中的一個(gè)其他對(duì)等端作為父對(duì)等端,以提供由請(qǐng)求客戶端對(duì)等端控制的回放顯示實(shí)質(zhì)上立即需要的高優(yōu)先級(jí)回放內(nèi)容;將高優(yōu)先級(jí)視頻內(nèi)容數(shù)據(jù)從父對(duì)等端下載至請(qǐng)求客戶端對(duì)等端;將低優(yōu)先級(jí)預(yù)取內(nèi)容從池中不同于父對(duì)等端的另一對(duì)等端下載至請(qǐng)求客戶端對(duì)等端;在請(qǐng)求客戶端對(duì)等端處分配帶寬,使得在請(qǐng)求客戶端對(duì)等端處將回放模塊未用于下載高優(yōu)先級(jí)回放視頻內(nèi)容數(shù)據(jù)的帶寬分配用于下載預(yù)取內(nèi)容;以及使用請(qǐng)求客戶端對(duì)等端來(lái)提供包括回放內(nèi)容和預(yù)取內(nèi)容在內(nèi)的視頻數(shù)據(jù)內(nèi)容以進(jìn)行回放顯示。
      2. 根據(jù)權(quán)利要求1所述的方法,包括聯(lián)系中央跟蹤器以獲得提供池中的其他對(duì)等端 的覆蓋信息。
      3. 根據(jù)權(quán)利要求1所述的方法,其中,指定池中的一個(gè)其他對(duì)等端作為父對(duì)等端包括 定位不具有指定子對(duì)等端的另一對(duì)等端;以及從所定位的另一對(duì)等端接收許可,以從所定位的用作父對(duì)等端的另一對(duì)等端下載視頻 內(nèi)容數(shù)據(jù)。
      4. 根據(jù)權(quán)利要求1所述的方法,其中,將高優(yōu)先級(jí)視頻內(nèi)容數(shù)據(jù)從父對(duì)等端下載至請(qǐng) 求子對(duì)等端包括監(jiān)控視頻緩沖器指針;以及以至少部分使用信息而確定的速率來(lái)請(qǐng)求順序視頻內(nèi)容數(shù)據(jù),所述信息與所述順序視 頻內(nèi)容數(shù)據(jù)在視頻緩沖器指針?biāo)甘镜奈恢弥獾闹付ㄩL(zhǎng)度的視頻緩沖器窗口中是否可 用相關(guān)。
      5. 根據(jù)權(quán)利要求4所述的方法,其中,下載低優(yōu)先級(jí)預(yù)取內(nèi)容包括下載與視頻緩沖器 窗口之外的視頻緩沖器位置相對(duì)應(yīng)的視頻內(nèi)容數(shù)據(jù)。
      6. 根據(jù)權(quán)利要求4所述的方法,其中,下載低優(yōu)先級(jí)預(yù)取內(nèi)容包括包括對(duì)池中較少對(duì) 等端處存儲(chǔ)的視頻內(nèi)容數(shù)據(jù)的優(yōu)先選擇。
      7. 根據(jù)權(quán)利要求1所述的方法,其中,指定池中的一個(gè)其他對(duì)等端作為父對(duì)等端包括 使用與父對(duì)等端的視頻內(nèi)容數(shù)據(jù)的先前下載速率相關(guān)的信息來(lái)選擇父對(duì)等端。
      8. 根據(jù)權(quán)利要求1所述的方法,其中,將低優(yōu)先級(jí)預(yù)取內(nèi)容從池中不同于父對(duì)等端的 另一對(duì)等端下載至請(qǐng)求客戶端對(duì)等端包括使用與不同于父對(duì)等端的另一對(duì)等端的視頻內(nèi) 容數(shù)據(jù)的先前下載速率相關(guān)的信息來(lái)選擇不同于父對(duì)等端的另一對(duì)等端。
      9. 根據(jù)權(quán)利要求1所述的方法,包括選擇增加或最大化在對(duì)等端池中的視頻內(nèi)容數(shù) 據(jù)傳送效率的回放信息請(qǐng)求大小值。
      10. 根據(jù)權(quán)利要求1所述的方法,其中,將低優(yōu)先級(jí)預(yù)取內(nèi)容下載至請(qǐng)求客戶端對(duì)等端 包括向一個(gè)或多個(gè)其他對(duì)等端發(fā)布預(yù)取內(nèi)容;以及 施加要滿足預(yù)取請(qǐng)求的時(shí)間期限。
      11. 根據(jù)權(quán)利要求1所述的方法,其中,下載低優(yōu)先級(jí)預(yù)取內(nèi)容包括相對(duì)于下載尚未部分下載的視頻內(nèi)容數(shù)據(jù)組塊,包括對(duì)完成下載已部分下載的視頻內(nèi)容數(shù)據(jù)組塊的優(yōu)先選 擇。
      12. —種對(duì)等P2P視頻點(diǎn)播VoD系統(tǒng),包括支持IP的VoD控制器對(duì)等端,被配置為在多個(gè)終端用戶之間分布的對(duì)等端的池中使 用,所述對(duì)等端包括支持IP的通信端口 ;本地視頻服務(wù)器,被配置為耦合至本地視頻監(jiān)視器,以向本地視頻監(jiān)視器提供視頻內(nèi) 容數(shù)據(jù)從而在本地視頻監(jiān)視器上顯示;回放模塊,耦合至通信端口和本地視頻服務(wù)器,所述回放模塊被配置為,以第一優(yōu)先級(jí) 從另一對(duì)等端下載本地視頻服務(wù)器需要用于在本地視頻監(jiān)視器上實(shí)質(zhì)上立即顯示的視頻 內(nèi)容數(shù)據(jù);預(yù)取模塊,耦合至通信端口和本地視頻服務(wù)器,所述預(yù)取模塊被配置為,以低于第一優(yōu) 先級(jí)的第二優(yōu)先級(jí)從一個(gè)或多個(gè)對(duì)等端獲得用于相對(duì)而言不立即在本地視頻監(jiān)視器上顯 示的視頻內(nèi)容數(shù)據(jù),其中,所述對(duì)等端被配置為將回放模塊未使用的剩余通信端口下載帶 寬分配用于使用預(yù)取模塊來(lái)下載視頻內(nèi)容數(shù)據(jù);以及數(shù)據(jù)發(fā)現(xiàn)模塊,包括父對(duì)等端存儲(chǔ)器位置,被配置為指定池中的一個(gè)其他對(duì)等端作為 父對(duì)等端,以從父對(duì)等端獲得具有高優(yōu)先級(jí)的視頻內(nèi)容數(shù)據(jù),父對(duì)等端包括回放模塊需要 用于在本地視頻監(jiān)視器上實(shí)質(zhì)上立即顯示的所存儲(chǔ)的視頻內(nèi)容數(shù)據(jù);并且數(shù)據(jù)發(fā)現(xiàn)模塊包 括接口,被配置為與中央跟蹤器進(jìn)行通信,以獲得與哪些對(duì)等端可用相關(guān)的當(dāng)前信息。
      13. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,對(duì)等端包括視頻緩沖器,視頻緩沖器包括視頻 回放指針,其中,本地視頻服務(wù)器被配置為讀取視頻緩沖器的視頻內(nèi)容數(shù)據(jù),并在本地視 頻服務(wù)器向監(jiān)視器提供視頻內(nèi)容數(shù)據(jù)用于顯示時(shí)更新視頻回放指針。
      14. 根據(jù)權(quán)利要求13所述的系統(tǒng),其中,回放模塊被配置為當(dāng)指定視頻文件的指定組 塊在視頻緩沖器中不可用,并且指定視頻文件的指定組塊在視頻回放指針的指定數(shù)目的后 續(xù)組塊之內(nèi)時(shí),以與可用下載帶寬相關(guān)的第一速率,從父對(duì)等端下載指定視頻文件的指定 組塊。
      15. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中,預(yù)取模塊被配置為將視頻文件的附加組塊從 父對(duì)等端或不同于父對(duì)等端的另一對(duì)等端下載至視頻緩沖器,其中,所述視頻文件的附加 組塊是視頻文件中在視頻回放指針的指定數(shù)目的后續(xù)組塊之外的附加后續(xù)組塊。
      16. 根據(jù)權(quán)利要求15所述的系統(tǒng),其中,預(yù)取模塊被配置為以根據(jù)回放模塊的第一下 載速率和剩余下載帶寬而確定的第二下載速率,從另一對(duì)等端下載所述附加組塊。
      17. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,預(yù)取模塊被配置為,通過(guò)使用所述另一對(duì)等端 的視頻內(nèi)容數(shù)據(jù)的先前下載速率來(lái)選擇所述另一對(duì)等端,以執(zhí)行非順序預(yù)取。
      18. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,回放模塊被配置為保持增加或最大化池中的視頻內(nèi)容數(shù)據(jù)傳送效率的回放信息請(qǐng)求大小。
      19. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,預(yù)取模塊被配置為向一個(gè)或多個(gè)其他對(duì)等端發(fā)出預(yù)取請(qǐng)求,其中,所述預(yù)取請(qǐng)求包括要滿足預(yù)取請(qǐng)求的時(shí)間期限。
      20. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,預(yù)取模塊被配置為,優(yōu)先選擇從不同于回放模 塊的父對(duì)等端的對(duì)等端獲得視頻內(nèi)容數(shù)據(jù)。
      21. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,預(yù)取模塊被配置為,相對(duì)于獲得在池中較多對(duì)等端處可用的視頻內(nèi)容數(shù)據(jù),優(yōu)先選擇獲得在池中較少對(duì)等端處可用的視頻內(nèi)容數(shù)據(jù)。
      22. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,預(yù)取模塊被配置為,相對(duì)于獲得視頻內(nèi)容數(shù)據(jù)以下載尚未部分下載的組塊,優(yōu)先選擇獲得視頻內(nèi)容數(shù)據(jù)以完成下載已部分下載的組塊。
      23. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,當(dāng)沒(méi)有回放父節(jié)點(diǎn)可用時(shí),回放模塊被配置為,從池中的對(duì)等端獲得視頻內(nèi)容數(shù)據(jù),所述對(duì)等端與池中的另一對(duì)等端相比,表現(xiàn)出對(duì)視頻內(nèi)容數(shù)據(jù)的相對(duì)較快先前下載速率。
      24. 根據(jù)權(quán)利要求12所述的系統(tǒng),其中,所述對(duì)等端包括指示完整視頻內(nèi)容組塊在所述對(duì)等端上可用的緩沖器映射;數(shù)據(jù)發(fā)現(xiàn)模塊被配置為在所述對(duì)等端接收或清除視頻數(shù)據(jù)內(nèi)容時(shí),更新所述緩沖器映射;以及所述對(duì)等端被配置為將緩沖器映射和對(duì)等端識(shí)別碼傳送至另一對(duì)等端。
      全文摘要
      本發(fā)明提供了一種對(duì)等P2P視頻點(diǎn)播VoD系統(tǒng)或方法,使用池中的多個(gè)支持IP的VoD機(jī)頂盒STB對(duì)等端,向池中的請(qǐng)求客戶端對(duì)等端提供視頻內(nèi)容數(shù)據(jù)。池中的一個(gè)其他對(duì)等端可以被指定為父對(duì)等端,以下載回放顯示實(shí)質(zhì)上立即需要的高優(yōu)先級(jí)回放內(nèi)容??梢詫⒌蛢?yōu)先級(jí)預(yù)取內(nèi)容從池中不同于父對(duì)等端的另一對(duì)等端下載至請(qǐng)求客戶端對(duì)等端。在請(qǐng)求客戶端對(duì)等端處將回放模塊未用于下載高優(yōu)先級(jí)回放視頻內(nèi)容數(shù)據(jù)的帶寬分配用于下載預(yù)取內(nèi)容。使用請(qǐng)求客戶端對(duì)等端,可以提供視頻內(nèi)容數(shù)據(jù)用于視頻監(jiān)視器上回放顯示,其中,這樣提供的視頻數(shù)據(jù)內(nèi)容可以包括回放內(nèi)容和預(yù)取內(nèi)容。
      文檔編號(hào)H04N7/173GK101715650SQ200880021804
      公開(kāi)日2010年5月26日 申請(qǐng)日期2008年6月27日 優(yōu)先權(quán)日2007年6月28日
      發(fā)明者亨寧·舒爾澤林, 瓦伊什納夫·賈納德漢 申請(qǐng)人:紐約市哥倫比亞大學(xué)信托人
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1