專利名稱::用于對等訂戶小區的多源和彈性按需點播視頻流媒體系統的制作方法
技術領域:
:本發明涉及到流數據,并且更確切地說涉及到來自對等訂戶小區(subscribercommunity)網絡中的一個或多個源的按需點播流數據(ondemandstreamingdata),
背景技術:
:機頂盒(STB)是一種允許把電視機變成到服務提供商的網絡的用戶接口的設備,用于諸如播放及錄制電視節目之類的服務.通過使用STB的個人視頻錄像機(PVR)特征,用戶可以記錄所廣播的內容,以便在以后進行觀看,按需點播視頻(VoD)系統允許用戶利用STB請求特定電視節目或其他視頻內容,用于進行播放并且有可能進行錄制.在典型的VoD系統中,用戶可以使用STB與集中式服務提供商網絡進行連接,并且可以使用電子節目指南(EPG),以便瀏覽由該服務提供商提供的可用內容的選集并且選擇收看的節目.通常通過所述服務提供商的網絡把視頻數據作為流數據發送到用戶的STB.此外,一般來說,對等網絡允許共享相同聯網協議和軟件的用戶彼此互連以及直接訪問彼此的資源.例如,服務提供商可以提供對等網絡來允許計算機用戶將其計算機連接到該網絡并且直接訪問彼此的資源(諸如數字內容文件).服務提供商可以提供對等網絡來允許其他設備(諸如STB)的用戶將其設備連接到該網絡并且直接訪問彼此的資源,這些資源包括所存儲的視頻內容和電視節目.訂戶小區對等網絡允許所述訂戶小區直接訪問來自彼此的資源,用戶可以從一個或多個對等方下栽數據,通常是作為流數據來接收所述數據.然而,因為傳統的流媒體解決方案無法跟上對于服務提供商的網絡的日益提高的帶寬和彈性需求,這種需求就成為了挑戰.諸如在圖1中示出的當今的VoD解決方案通常提供電影標題的適度選集,并且可能僅僅把付費內容(premiumcontent)高速緩存有限時間段(諸如24小時)。然而,如果VoD系統的訂戶能夠選擇他們想要觀看的內容以及選擇他們想要觀看所述內容的時間(即按需點播),則所述VoD方法將可能被更加頻繁地使用.這會提高顧客滿意度,并且對于服務提供商來說,這會提高收益并減少客戶流失.
發明內容因此,為了特別擴增VoD系統,根據特定實施例,本發明涉及STB之間的對等(p2p)網絡,其中每個STB是該網絡的節點.此外,本發明的特定實施例涉及被稱作"VoD到對等方"(V2P)的多源流媒體技術,該技術使得服務提供商的網絡中的任何對等STB都能夠獲得并且觀看來自該網絡中的其他STB的視頻內容。因此,根據本發明的實施例的這種V2P網絡對于訂戶小區來說實際上變成了VoD系統,其中所述訂戶小區的任何成員都可以獲得并且觀看由該訂戶小區的任何其他成員所下栽和/或所錄制的內容.一般來說,因為所述訂戶小區包括一組STB,所以V2P是多源視頻流媒體系統,該多源視頻流媒體系統實現了對來自STB的內容的按需點播觀看.在這里連同對于根據本發明的原理設計的V2P系統的體系架構的每個組成部分的描迷一起來呈現這種體系架構.這種V2P系統負責彈性的和高質量的視頻流.根據特定實施例,本發明提供了一種用于在服務提供商的訂戶小區對等網絡中提供按需點播流數據的系統.該系統包括服務提供商,該服務提供商可操作來供給可下栽的和可錄制的內容,所述內容可以在被下栽或被錄制之后作為流數據而被供給;以及該系統還包括與所述服務提供商相關聯并且被適配來與電視機連接的設備的訂戶小區對等網絡,所述系統還包括作為所述服務提供商的訂戶小區對等網絡中的節點的接收器;以及供應方組,所述供應方組包括有效供應方和備用供應方.每個供應方都是所述服務提供商的訂戶小區對等網絡中的節點,并且每個供應方都可搮作來在從所述服務提供商或者從一個或多個其他節點下栽和/或錄制了內容之后供給按需點播流數據.所述接收器可操作來從所述供應方組中的一個或多個供應方接收由該接收器按需流送(stream)的流數據.根據另一特定實施例,本發明提供一種用于在服務提供商的訂戶小區對等網絡中提供按需點播流數據的方法.該方法包括以下步猓為服務提供商的訂戶提供訂戶小區對等網絡;提供可下栽的和可錄制的內容,所述內容可以被下栽和/或被錄制并且隨后作為流數據被按需供給;以及提供與該訂戶小區對等網絡相關聯的搜索引擎.所述方法提供了以下步驟把所述訂戶連接到所述訂戶小區對等網絡,并且允許每個訂戶使用所述搜索引擎,以便搜索由連接到該訂戶小區對等網絡的其他訂戶先前所下栽的或所記錄的內容,并且作為流數據從一個或多個所述其他訂戶按需接收這種被下載的和/或被記錄的內容.根據又一特定實施例,本發明提供一種用于在訂戶小區對等網絡中接收按需點播流數據的系統.該系統包括訂戶小區對等網絡;作為該訂戶小區對等網絡中的節點的流數據接收器;以及流數據供應方組.所述供應方組包括有效供應方組和備用供應方組,其中,所迷供應方組中的每個供應方都是所迷訂戶小區對等網絡中的節點.所述流數據包括多個塊.對于要被按需接收的每個流數據塊,所述接收器可搮作來利用FEC編碼開銷比;用信號通知每個有效供應方來以單獨分配的數據速率發送利用所述FEC編碼開銷比進行了FEC編碼的塊的至少單獨分配的片斷(fraction);接收該FEC編碼塊的段,其中每個段表示所述單獨分配的片斷的至少一部分;基于所述段的聚集來解碼所述FEC編碼塊并且將已解碼塊存儲在緩沖器中;監控與每個有效供應方的網絡連接的性能;以及監控該緩沖器以便檢測會導致上溢或下溢的狀況;基于所述網絡連接的性能以及所述緩沖器的狀況來執行質量適配,以避免到達該緩沖器的下溢或上溢.根據另一特定實施例,本發明提供一種用于在訂戶小區對等網絡中接收按需點播流數據的方法.該方法包括以下步驟從訂戶小區對等網絡中的候選供應方組中選擇供應方組以作為有效供應方組;以及從所述候選供應方組中選擇另一供應方組以作為備用供應方組.對于要被接收的每個流數據塊,所述方法包括以下步驟利用FEC編碼開銷比;用信號通知每個有效供應方來以單獨分配的數據速率發送利用所述FEC編碼開銷比進行了FEC編碼的塊的至少單獨分配的片斷;接收該FEC編碼塊的段,其中每個段表示所述單獨分配的片斷的至少一部分;基于所述段的聚集解碼所述FEC編碼塊并且將已解碼塊存儲在緩沖器中;監控與每個有效供應方的網絡連接的性能;監控該緩沖器以便檢測會導致上溢或下溢的狀況;以及基于所述網絡連接的性能和所述緩沖器的狀況來執行質量適配,以避免到達該緩沖器的下溢或上根據另一特定實施例,本發明提供一種用于在訂戶小區對等網絡中供給按需點播流數據的系統.該系統包括作為訂戶小區對等網絡中的節點的接收器;以及具有流數據的供應方組,其中,所述供應方組中的每個供應方是所述訂戶小區對等網絡中的節點.所述流數據包括多個塊,并且對于要被供給的每個流數據塊,每個供應方可操作來從所述接收器接收信號,該信號指示要被利用的FEC編碼開銷比、單獨分配的數據速率以及利用該FEC編碼開銷比對該塊進行FEC編碼操作所得到的FEC編碼塊的單獨分配的片斷;以及以所述單獨分配的數據速率發送所述FEC編碼塊的被分配的片斷的至少部分.根據又一特定實施例,本發明提供一種用于在訂戶小區對等網絡中供給按需點播流數據的方法.對于要由訂戶小區對等網絡中的接收器接收的每個流數據塊,所述方法包括從所述接收器接收信號,該信號指示要被利用的FEC編碼開銷比、單獨分配的數據速率以及利用該FEC編碼開銷比對該塊進行FEC編碼操作所得到的FEC編碼塊的單獨分配的片斷;以及以所述單獨分配的數據速率把所述FEC編碼塊的所述分配的片斷的至少部分發送到該接收器.根據另一特定實施例,本發明提供一種用于模擬流媒體視頻數據的快進或快退重放的方法.該方法包括以下步取以流媒體速率接收流媒體視頻數據;將所接收到的流媒體視頻數據存儲在緩沖器中,以供隨后以對應于正常速度的重放速率重放;以及以高于所述正常速度的速度播放來自所述緩沖器的所存儲的流媒體視頻數據,所述方法還包括以下步驟針對其中流媒體速率低于重放速率的下溢狀況監控所述緩沖器;以及基于檢測到下溢狀況,在所存儲的流媒體視頻數據之間把預先確定的視頻剪輯插入到該緩沖器中.根據又一特定實施例,本發明提供一種用于模擬對流媒體視頻數據進行快進或快退重放的方法.該方法包括以下步猓以流媒體速率從視頻文件接收流媒體視頻數據;把所接收的流媒體視頻數據存儲在緩沖器中,以供隨后以對應于正常觀看速度的正常重放速率進行重放;以及接收針對以對應于加速觀看速度的加速重放速率進行快進重放的命令.所述方法還包括以下步驟從所述視頻文件中的跳躍點開始接收流媒體視頻數據;以及以高于所述正常重放速度的重放速率播放來自所述緩沖器的所存儲的流媒體視頻數據,以模擬加速重放速率下的重放.下面將更加詳細地描述本發明的這些和其他特定實施例.被合并在本說明書中并且構成本說明書的部分的附解說明了本發明的各方面,并且與描述一起用來解釋本發明的原理.在方便的情況下,將在所有附圖中使用相同的參考編號來指代相同的或類似的元件。圖l示出了用于實現傳統的按需點播視頻(VoD)服務的系統.圖2示出了用于通過由對等網絡供給的附加內容來擴增傳統的按需點播視頻(VoD)服務的一個系統實施例.圖3是示出了長尾的曲線困。圖4示出了VoD到對等方(V2P)系統的一個實施例,圖5是示出了一種用于利用V2P系統執行流媒體會話的方法的流程圖.圖6是示出了V2P系統的一個實施例的方框圖.圖7是對等方選擇排序等式的曲線圖.圖8是示出了V2P接收器的方框圖,該V2P接收器包括流管理模塊的細節.圖9是示出了動態緩沖器管理技術如何能夠避免緩沖器上溢或下溢的曲線圖.圖IO是示出了緩沖器管理方案的曲線圖.圖ll示出了用于連接監控中的簡單二叉樹.圖12示出了MPEG幀序列,圖13示出了被插入在視頻數據之間以便模擬快進操作的視頻剪輯.圖14是示出了V2P系統的一個實施例的方框圖.圖15呈現了用于評估V2P系統的示例性設置.圖16示出了在高帶寬環境中實現的V2P系統.圖17是V2P系統的一個實施例的方框圖.圖18是示出了電視觀看行為和長尾的曲線圖.圖19A是示出了V2P系統能以標準清晰度(SD)質量輸送的并發流的數目的曲線圖.圖19B是示出了V2P系統能以SD質量輸送的流的最大數目或累積數目的曲線圖.圖20A是示出了V2P系統能以接近DVD質量輸送的并發流的數目的曲線圖,圖20B是示出了V2P系統能以接近DVD質量輸送的并發流的數目的曲線圖.圖21A是示出了V2P系統能以接近DVD質量輸送的并發流的數目的曲線圖.圖21B是示出了V2P系統能以接近DVD質量輸送的并發流的數目的曲線圖.圖22是示出了V2P系統的檔案方面的曲線圖.圖23是示出了一種用于識別公共視頻幀的方法的流程圖.具體實施例方式如上所述,為了特別擴增VoD系統,根據特定實施例,本發明涉及STB之間的對等(p2p)網絡,其中每個STB是該網絡的節點.此夕卜,本發明的特定實施例涉及被稱作"VoD到對等方"(V2P)的多源流媒體技術,該技術使得服務提供商的網絡中的任何對等方STB都能夠獲得并且觀看來自該網絡中的其他STB的視頻內容.因此,根據本發明的實施例的這種V2P網絡對于訂戶小區來說實際上變成了VoD系統,其中所述訂戶小區的任何成員都可以獲得并且觀看由該訂戶小區的任何其他成員所下栽和/或所錄制的內容.一般來說,因為所述訂戶小區包括一組STB,所以V2P是多源視頻流媒體系統,該系統實現了對來自STB的內容的按需觀看.在這里連同對于根據本發明的原理設計的V2P系統的體系架構的每個組成部分的描述一起來呈現這種體系架構.這種V2P系統負責彈性的和高質量的視頻流,有利地,提供V2P服務的服務提供商會能夠防止在由其所管理的p2p網絡上的非法視頻發布.具體來說,服務提供商可以把由訂戶STB所錄制的內容限制到由該服務提供商所提供的內容,使得不存在用于將新的視頻內容引入到STB中的機制(也就是說,只要涉及訂戶,所述系統就被封閉).在對等方STB之間對于視頻內容的任何后續共享都被限制到作為所述服務提供商的顧客(訂戶)的STB對等方的封閉小區,所述p2p網絡可以被擴展來允許在沒有非法共享內容的情況下把任何個人計算機(PC)或其他適當設備連接到該P2P網絡.對于服務提供商來說,本發明設想了用于在服務提供商的訂戶小區對等網絡中提供按需點播流數據的系統和方法的各種實施例.用于在服務提供商的訂戶小區對等網絡中提供按需點播流數據的系統的一個實施例包括被適配來與電視機連接的設備的訂戶小區對等網絡;以及可操作來供給可下栽的及可錄制的內容的服務提供商,所述內容可以在被下栽或被錄制之后作為流數據而被供給.在該系統中,存在內容接收器和提供所述內容的流數據供應方組(包括有效供應方和備用供應方).每個供應方可操作來從所述服務提供商或者從一個或多個其他節點下栽或錄制了內容之后供給按需點播流數據.這種系統中的接收器可搮作來從所述供應方組中的一個或多個供應方接收由該接收器按需流送的數據.所述接收器和供應方都是所述訂戶小區對等網絡中的節點,并且每個節點可以是機頂盒或者被適配來與電視機和服務提供商的網絡連接的任何其他設備.所述服務提供商提供諸如可以由所述訂戶小區中的節點下栽和錄制的音頻數據、視頻數據或全部二者之類的內容;并且可以從充當供應方的節點將所述可下栽的及可錄制的內容作為流數據來供給.根據各,施例,y以通過,索引擎來增強所述系統,所述搜索引薦.根據其他實施例,還可以通過獎勵管理器(incentivemanager)來進一步增強該系統,所述獎勵管理器向參與流媒體會話的內容所有方、服務提供商以及供應方提供獎賞,根據其他實施例,可以另外通過數字版權管理器來增強該系統,所述數字版權管理器防止內容的非法發布,結合前述內容,根據特定實施例,本發明提供一種用于在服務提供商的訂戶小區對等網絡中提供按需點播流數據的方法,該方法包括在為所述服務提供商的訂戶提供訂戶小區對等網絡之后,把所述訂戶連接到該訂戶小區對等網絡.該方法包括提供可下載的及可錄制的內容,所述內容可以被下栽和/或被錄制并且隨后作為流數據被按需供給.該方法還包括提供與該訂戶小區對等網絡相關聯的搜索引擎并且使得每個訂戶能夠使用該搜索引擎以及按需接收所選數據.具體來說,訂戶使用該搜索引擎以便搜索由連接到該訂戶小區對等網絡的其他訂戶先前所下栽的或所錄制的內容.然后,訂戶從一個或多個其他訂戶作為流數據按需接收這種被下栽的和/或被錄制的內容.對于接收按需點播內容,本發明的各實施例還提供了用于從訂戶小區對等網絡中的一個或多個供應方接收按需點播流數據的系統和方法.一個這種系統包括作為接收器工作的節點以及作為流數據供應方(包括有效供應方組和備用供應方組)工作的節點組.換句話說,所述接收器以及所述供應方組中的每個供應方都是所述訂戶小區對等網絡中的節點.這種系統中的接收器接收流數據,該流數據包括音頻數據、視頻數據或全部二者.對于要被接收的每個流數據塊,所述接收器利用FEC編碼開銷比,并且所述接收器用信號通知每個有效供應方以單獨分配的數據速率發送利用所述FEC編碼開銷比進行了FEC編碼的該塊的至少單獨分配的片斷.該接收器接收所述FBC編碼塊的段,其中每個段表示所述單獨分配的片斷的至少一部分,該接收器還基于所述段的聚集來解碼所述FEC編碼塊并且將已解碼塊存儲在緩沖器中.所述接收器監控與每個有效供應方的網絡連接的性能,并且還監控所述緩沖器來檢測會導致上溢或下溢的狀況。基于所述連接的性能以及所述緩沖器的狀況,所述接收器執行質量適配,以避免到達該緩沖器的下溢或上溢,所述監控在流媒體會話中間檢測供應方故障或內容刪除,并且使用一組技術來處理供應方故障和內容刪除,這些技術諸如是將備用對等方添加到所述有效組、各有效供應方之間的速率重分配以及進行FEC編碼開銷調節.如所提及的那樣,每個接收器以及供應方都是所述訂戶小區對等網絡中的節點,并且每個這種設備都可以被適配來與電視機和服務提供商的網絡進行連接,換句話說,根據各實施例,這種設備可以是機頂盒、個人計算機或移動計算設備.每個所述設備可以作為接收器、供應方或者全部二者來工作.基于一個或多個度量的任意組合來選擇供應方,所述度量可以包括供應方的供給或接收狀態、可用上行鏈路帶寬、處理能力、可靠性歷史、路徑等待時間、分組丟失以及公平性,根據特定實施例,供應方的可靠性歷史可以是基于設備故陣率、網絡連接時間以及內容可用性.公平性可以是基于負荷平衡以及優先級選擇歷史.根據特定實施例,這種系統中的接收器可操作來基于監控與每個有效供應方的網絡連接的性能來適配所述流媒體會話,其中包括檢測供應方是否已經歷了網絡波動、設備故陣或者是否刪除了要作為流數據被供給的內容.所述接收器還可搮作來被動地基于實際從每個供應方接收到的流數據的度量而監控每個網絡連接的性能。所述接收器還基于監控所述緩沖器來適配所述流媒體會話,其中包括監控當前緩沖器大小、當前播放速率以及當前流送速率.在必要時,所述接收器可以動態地調節有效供應方之間的速率分配、調節各組供應方或者調節FEC編碼參數,所述接收器還可搮作來通過分配新的數據速率或通過分配塊的新片斷來調節有效供應方之間的速率分配.根據各種實施例,所述接收器還可以通過添加或去除有效供應方、向所述有效供應方組添加備用供應方或者向所述備用供應方組添加供應方來調節所述有效供應方組。所述接收器可以通過利用新的FEC編碼開銷比或者通過利用新的FEC編碼方案來調節所述FEC編碼參數.通過利用FEC編碼開銷比,所述接收器可以把所述FEC編碼開銷比設置成要由供應方在隨后對塊進行FEC編碼時使用,或者所述接收器可以簡單地用信號通知供應方選擇利用特定FEC編碼開銷比進行了FEC編碼的預先編碼的塊.根據特定實施例,這種系統中的接收器還確定要在所述有效供應方組之間被用作流數據源的媒體文件的多個單獨拷貝內的公共起始點。所述接收器定義時間間隔,并且從每個有效供應方接收一組參考對象.所述時間間隔可以與連接到所述訂戶小區網絡的設備的時鐘同步相關.每個所述參考對象對應于在所述時間間隔期間出現在所述媒體文件的單獨拷貝內的參考幀.所述接收器比較所接收到的參考對象組,以便識別出所有參考對象組所共有的公共參考對象,并且把所述起始點設置成對應于該公共參考對象的參考幀.在視頻文件中,每個參考幀可以是視頻幀,并且每個參考對象可以是散列值.對于按需供給內容,根據特定實施例的本發明還提供了用于在訂戶小區對等網絡中供給按需點播流數據的系統和方法.一個這種實施例包括作為該網絡中的節點的接收器以及多個流數據塊的供應方組,其中,所述供應方組中的每個供應方也是該網絡中的節點.對于將要供給的每個流數據塊,這種系統中的每個供應方從所述接收器接收信號,該信號指示要被利用的FEC編碼開銷比、單獨分配的數據速率以及利用該FEC編碼開銷比對該塊進行FEC編碼操作所得到的FEC編碼塊的單獨分配的片斷.每個供應方然后以所述單獨分配的數據速率來發送所述FEC編碼塊的被分配的片斷的至少一部分。除了前述內容之外,本發明的各實施例還包括用于模擬對流媒體視頻數據進行快進和快退重放的系統和方法.用于模擬對流媒體視頻數據進行快進或快退重放的方法的一個實施例涉及到以下步驟以流送速率接收流媒體視頻數據;把所接收的流媒體視頻數據存儲在緩沖器中以供隨后以對應于正常速度的重放速率進行重放;針對其中所述流送速率低于所述重放速率的下溢狀況監控所述緩沖器;以及在所存儲的流媒體視頻數據之間將預定視頻剪輯插入到該緩沖器中.用于模擬對流媒體視頻數據進行快進和快退重放的方法的另一個實施例涉及到以下步驟以流送速率從視頻文件接收流媒體視頻數據;把所接收到的流媒體視頻數據存儲在緩沖器中以供隨后以對應于正常觀看速度的正常重放速率進行重放。該方法還涉及到以下步驟接收針對以對應于加速觀看速度的加速重放速率進行快進或快退重放的命令;從所述視頻文件中的跳躍點開始接收流媒體視頻數據;以及以高于所述正常重放速度的重放速率播放來自所述緩沖器的所存儲的流媒體視頻數據,以模擬所述加速重放速率下的重放,這樣一種方法還可以包括在所存儲的流媒體視頻數據之間把預先確定的視頻剪輯插入到所述緩沖器中,在下面的描述中將參照附圖,其中通過說明示出了多個實施例以及實踐本發明的方式.應當理解的是,在不脫離本發明的范圍的情況下可以利用其他實施例并且可以做出結構上和功能上的改變.為了提供用于描述本發明的特定實施例的環境,圖1呈現出了用于實現傳統的視頻點播(VoD)服務的系統.基于基礎設施的媒體流(或集中式按需點播視頻(VoD))解決方案通常包括一個或多個媒體服務器以及一組客戶端,所述客戶端通常是機頂盒(STB).所述媒體服務器負責把所述媒體的按需流送到所述客戶端.在某些情況下,這樣的VoD系統還可以包括高速緩存代理.如圖l所示,服務提供商VoD系統100包括受管理基礎設施110、媒體服務器120以及內容庫130.客戶端設備140在這里被示為機頂盒(STB),該客戶端設備140與服務提供商100可通信地耦合并且作為按需點播視頻服務的部分從內容庫130接收所下栽的或所流送的內容.受管理基礎設施IIO處理來自客戶端設備140的下栽和流送請求,并且管理服務提供商110與客戶端設備140之間的控制和數據連接。例如,媒體服務器120通過受管理基礎設施IIO執行從內容庫130到客戶端設備140的對所請求媒體的按需流送。如之前所提及的那樣,諸如在圖1中示出的傳統的VoD解決方案通常提供電影標題的適度選集,并且可以僅僅把付費內容高速緩存有限時間段(諸如24小時).然而,如果VoD系統的訂戶被授權在其所希望的時間正好觀看其想要觀看的內容(即按需點播),則所迷VoD方法將可能被更加頻繁地使用.這提高顧客滿意度,并且對于服務提供商來說,這提高收益并減少客戶流失.機頂盒(STB)是通過使用其個人視頻錄像機(PVR)特征而使得電視機能變成到服務提供商的網絡的用戶接口的設備,以用于諸如播放及錄制電視節目之類的服務.根據本發明的一個實施例,每個訂戶的STB連接到服務提供商所管理的對等(p2p)網絡,因此使得所述服務提供商的網絡的任何訂戶能夠將被下栽和/或被錄制到該訂戶的STB上的視頻內容流送到其他同類訂戶的STB.例如,任何訂戶都可以在其STB中下栽和/或錄制由所述服務提供商所提供的任何電視節目或其他內容.可以向所述服務提供商的p2p網絡自動宣告或登記所述內容,以便使該內容對于其他訂戶可用.所述網絡的任何訂戶都可以搜索該內容并且觀看該內容.這種被稱作V2P的系統是用于由STB形成的p2p網絡的多源視頻流媒體系統.也就是說,V2P提供了來自多個STB的高質量彈性視頻流.為此,圖2圖解說明了根據本發明的一個實施例的用于通過由對等網絡供給的附加內容來擴增傳統的按需點播視頻(VoD)服務以便產生小區VoD系統的系統,如圖所示,服務提供商VoD系統200包括受管理基礎設施210、媒體服務器220、內容庫230以及服務提供商所管理的對等(p2p)網絡205.該p2p網絡250還包括對等設備260a、260b、260c,這些對等設備在這里被示為機頂盒(STB),并且在下面被標識為對等設備260;以及被擴增的內容庫270a和270b,其在下面被標識為被擴增的內容庫270.被擴增的內容庫270包括被存儲在對等設備260上的所下栽的和/或所錄制的內容.例如,對等設備260可以通過受管理基礎設施210下栽和/或記錄以及存儲來自內容庫230的所流送的媒體.利用由連接到所述p2p網絡250的任何訂戶所錄制的被擴增的內容來擴增所述VoD系統的內容庫230產生增加的內容選擇并且產生小區VoD系統.根據特定實施例,在這里被示為機頂盒(STB)的客戶端設備240以通信方式與所述服務提供商VoD系統200耦合,并且作為按需點播視頻服務的部分從內容庫230或從被擴增的內容庫270接收所下栽的或所流送的內容。受管理基礎設施210處理來自客戶端設備240的下栽和流送請求,并且管理服務提供商VoD網絡200與客戶端設備240之間的控制和數據連接.例如,媒體服務器220通過受管理基礎設施210執行從內容庫230到客戶端設備240的對所請求媒體的按需流送。此外,客戶端設備240可以向被擴增的內容庫270請求對所請求媒體的按需流送。所述p2p網絡250處理這些請求并且管理p2p網絡250與客戶端設備240之間的控制和數據連接,以便執行從被擴增的內容庫250到客戶端設備240的對所請求媒體的按需流送。V2P解決方案并不一定意味著對于諸如在圖1中示出的集中式VoD解決方案的替代,而是可以充當對這種解決方案的互補分布式擴增,正如圖2中所示出的那樣.VoD與V2P—起可以給訂戶帶來大量內容.集中式VoD可以繼續提供大多數最受歡迎的內容節目,而V2P則非常適于為所謂的"長尾"市場提供服務.圖3是示出了所述長尾的曲線固。根據圖3,大量較不受歡迎的項目的聚集對于組織可能合計為大量利潤.許多企業可以通過銷售僅僅引起較小受眾群(audiencesegment)的興趣的內容項目而獲得利潤.這些較不受歡迎的內容項目可以組成針對這樣的商務在線的長尾.提供來自所述長尾的內容項目使得顧客能夠找到、購買并且提到他們先前本來不會發現的內容.按照相同的方式,V2P可以利用所述按需點播視頻市場的長尾現象的杠桿作用,這將實現一種針對內容所有方和服務提供商的強大商業模型,其中通過對于所述較不受歡迎的節目的反復觀看而獲得收益.此外,V2P獎賞共享其STB資源的訂戶。V2P技術解決了傳統的流媒體解決方案所無法解決的多個技術要求這些技術要求包括有限上游帶寬和彈性.當前,DSL和電纜調制解調器是兩種盛行的家用寬帶技術.這兩種技術都具有不對稱的帶寬屬性.也就是說,下栽帶寬高于上傳帶寬.為了克服對于每個STB的上傳帶寬約束,V2P使用多個STB作為流媒體源,并且進行接收的STB協調來自所述多個供應方的流媒體會話.即使隨著上傳和下栽帶寬提高,V2P仍然可以被用來在對稱的和不對稱的帶寬環境中提供高質量的和彈性的流.網絡和設備尚不完美,并且同樣地,需要設計彈性機制來迎合不利的狀況.由于xDSL或者電纜調制解調器連接上的V2P流以及所述網絡本身是不可靠的,所以對于V2P來說,隨著網絡波動的彈性流是問題.在任何時候,STB都可能被斷電,或者所述內容可能在流媒體會話期間被刪除.為了提供連續且平滑的流,V2P要求非常穩健的故障恢復機制。根據特定實施例,V2P使用諸如智能對等選擇、前向糾錯(FEC)代碼、動態速率分配、動態緩沖器管理以及基于網絡斷層掃描的連接監控之類的機制的組合,以便解決鏈接以及所述設備的不可靠性并且提供高質量的流.圖4示出了VoD到對等方(V2P)系統的實施例,如圖所示,V2P系統400包括接收器410、發送器420a、420b和420c(在下面被標識為發送器420)、資源管理框架(RMF)430以及獎勵管理器440,在圖4中還示出了服務提供商450和內容所有方460.接收器410在這里被示為機頂盒(STB),該接收器410是從發送器420接收流媒體的接收對等方.發送器420在這里被示為機頂盒(STB),該發送器420是發送對等方或者流媒體的供應方.應當注意到,接收器410可以在其他時間充當發送對等方.類似地,任何一個發送器420都可以在其他時間充當接收對等方.資源管理框架(RMF)430是受管理基礎設施,其由服務提供商來管理,所述服務提供商管理接收器410與發送器420之間的控制和數據連接,以便執行對所請求媒體的按需流送.RMP430還允許接收器410針對可流送的內容搜索V2P系統400,所述可流送的內容諸如是被下栽和/或被錄制以及被存儲在發送器420上的媒體文件.RMF430還允許接收器410接收內容推薦。獎勵管理器440管理使用V2P系統的帳目管理方面,該帳目管理方面包括向接收作為流媒體的特定內容的接收器收費、獎賞流媒體的供應方以及針對每次流送內容獎賞服務提供商450和內容所有方460。圖4中示出的V2P系統是多源流媒體系統.這意味著每個流媒體會話將包括一個接收器以及一組發送器(或供應方).一個基本假設是每個供應方具有對應于給定內容項目的媒體文件的完全相同的拷貝.然而,如果供應方的STB都不同步并且其媒體文件拷貝不完全相同,則根據特定實施例的V2P提供了用于使來自多個供應方的流媒體同步的機制.稍后將更加詳細地描述該同步機制.V2P把所述媒體文件劃分成一組小數據塊(例如適于播放1-2秒),并且每個源供給相同塊的片斷.因此,所有供應方都對文件的每個塊有貢獻.例如,根據特定實施例,可以利用前向糾錯(FBC)代碼對媒體文件的每個塊進行編碼,以便容忍分組丟失.FEC編碼方案是利用兩個參數(i7,"來表示的,并且對于每個數據塊發送"個而不是i個分組,其中/7>h/2個分組中的任意i個分組可以重建所述塊.因此,流媒體會話對于每塊可以容忍丟失多達(,i)個分組。所述FEC編碼開銷比ot被如下定義<formula>formulaseeoriginaldocumentpage22</formula>所述FEC編碼開銷比和編碼方案影響所述流送速率以及對于流媒體會話的分組丟失容限.因此,可以對于流媒體會話的特定編碼方案建立FBC編碼開銷比.在一個亊例中,所述FEC編碼開銷比被用來建立要由所述供應方使用的編碼參數,并且在另一亊例中,所述FEC編碼開銷比可以被用來用信號通知所述供應方選擇適合所述特定編碼參數的FEC編碼的數據塊.作為例子,圖5是示出了根據本發明的一個實施例的用于利用V2P系統來執行流媒體會話的方法的流程圖.所述流媒體會話由接收器啟動,該接收器提出針對諸如特定媒體文件的特定內容的流送請求.在步驟510,所述接收器獲得能夠供給所請求的媒體文件的候選供應方組.候選供應方是具有所請求的媒體文件的拷貝的對等方.例如,接收器可以使用搜索引擎在所述V2P系統上搜索特定內容,并且獲得所述內容的候選供應方組.在步驟520,所述接收器從候選供應方組中選擇有效供應方組和備用供應方組。有效供應方是在流媒體會話期間協調動作來把所請求的媒體文件流送到所述接收器的對等方.備用供應方是可以在一個或多個所述有效供應方經歷網絡波動、設備故障或者內容破壞或刪除時在所述流媒體會話期間提供幫助的對等方.所述接收器可以基于各種標準選擇對等方,所述標準諸如是對等方的狀態、可用上行鏈路帶寬、處理能力、可靠性歷史、路徑等待時間和路徑分組丟失率以及公平性度量.在步驟530,所述接收器啟動與每個有效供應方的控制鏈接.該接收器可以使用多種已知技術中的任何一種.例如,所述接收器可以利用所述傳輸控制協議(TCP)來發送控制分組,在步驟540,每個有效供應方打開與所述接收器的數據連接.該接收器可以利用多種已知技術中的任何一種從所述供應方接收流數據.例如,該接收器可以利用基于用戶數據報協議(UDP)的方案接收流數據。在步驟550,所述接收器通過用信號通知每個有效供應方以所分配的數據速率發送FEC編碼塊的至少片斷而向每個有效供應方請求該FEC編碼塊的片斷.所分配的數據速率的聚集代表目標流送速率.每個有效供應方發送利用特定PEC編碼方案進行了FEC編碼的FEC編碼塊的部分,所述特定FEC編碼方案具有特定的PEC編碼開銷比.每個有效供應方可以響應于從所述接收器接收到發送FEC編碼塊的至少片斷的信號而利用特定FEC編碼開銷比a對特定塊進行FEC編碼.可替換地,每個供應方可以利用一個或多個FEC編碼開銷比預先編碼塊,并且可以響應于接收來自所述接收器的信號而選擇預先編碼塊的部分.在步驟560,所述接收器接收所述FEC編碼塊的各部分或段.由于網絡波動、設備故陣以及內容破壞或刪除,所述接收器可能無法實際接收所述FEC編碼塊的所有所請求片斷.該接收器所接收到的各部分或段對應于該接收器在步驟550所請求的所述FEC編碼塊的各片斷.基于實際接收到的各部分或段,所述接收器被動地監控與每個有效供應方的連接的性能,以便確定實際接收到的數據速率.所述實際接收到的數據速率的聚集代表當前流送速率.在步驟570,所述接收器基于所接收到的所述編碼塊的部分或段來解碼該塊,并且把已解碼塊存儲在緩沖器中.在這里應當注意到,對所述塊進行解碼可以包括從所接收到的部分或段重建所述FEC編碼塊、對所重建的FEC編碼塊進行FEC解碼以及根據所利用的特定視頻編碼方案(例如MPBG)來進一步解碼所述FEC解碼塊.所述接收器以當前播放速率耗用來自所述緩沖器的用于重放的數據.在步驟580,所述接收器檢查所述緩沖器的狀態.例如可以通過監控所述緩沖器的當前大小、當前播放速率和當前流送速率來評估所述緩沖器狀態.取決于這些度量,該緩沖器可以操作在三個區的其中之一內加速區、舒適區或者減速區,例如,如果該緩沖器正操作在舒適區內,則所述接收器繼續到步稞582b并且繼續所述流媒體會話.如果所述緩沖器正操作在加速區中或減速區中,則所述接收器繼續到步驟582a.在步驟582a,所述接收器按照需要調節所述流送速率、所述有效組中的供應方以及所述編碼開銷比中的一項或多項,以避免緩沖器上溢或下溢。如果任何供應方被添加到有效供應方組中,則執行步驟530和540.在步稞582b,所述接收器執行檢查來確定所述流媒體會話是否結束.如果所述流媒體會話結束,則所述過程在步稞590退出.如果所述流媒體會話沒有結束,則所述過程循環回到步驟550。因此,V2P中的流媒體會話的例子可以包括以下步驟1、最初,接收器對等方/^從所述p2p網絡的搜索引擎獲得候選供應方組.2、/^從該候選組中選擇一組對等方"、/7...../W作為有效供應方,并且選擇戶厶"...../W作為備用供應方,3、/^通過啟動到所述有效組中的每個供應方的控制連接而開始流媒體會話,4、在接收到所述控制連接之后,每個供應方戶/'打開到接收器戶0的數據連接.5、/^周期性地用信號通知每個供應方發送利用特定oc編碼的特定塊的片斷.6、每個供應方尸/對該文件塊進行編碼并且根據所分配的速率發送所述文件的片斷.7、在對于每個塊接收到足夠的數據之后,戶P對整塊進行解碼并且將其存儲在所述緩沖器中.接收器側的播放器耗用來自該緩沖器的數據."對網絡變化和設備故陣做出反應,以確保在所迷緩沖器中總是有數據饋送給所述播放器,并且確保該緩沖器沒有充滿,以避免緩沖器上溢.在必要時,/^把一個或多個備用對等方添加到所述有效組中,并且對于任何新添加的對等方重復步驟3—4。/^重復步驟5-7,直至會話結束.圖6是V2P系統的框圖,并且進一步示出了根據本發明的一個實施例的接收器,在該實施例中,V2P系統600包括接收器610、發送器620、資源管理框架(RMF)630以及獎勵管理器640.接收器610與發送器620交互作用,以接收流數據.接收器610與RMF630交互作用,以使得用戶能夠搜索所述p2p網絡。接收器610與獎勵管理器640交互作用,該獎勵管理器640負責向用戶收費以及給適當實體提供獎賞.根據圖6,接收器610還包括對等方選擇模塊6110、流管理模塊6120、交互性管理模塊(在這里被標識為播放器模塊6130)、質量適配模塊6140、內容瀏覽和內容推薦模塊6150、查詢模塊6160以及數據管理模塊6170.筒而言之,對等方選擇模塊6110使用對等方選擇過程來選擇有效和備用對等方(或者特定內容的流數據的供應方).流管理模塊6120管理與有效供應方的控制和數據連接、接收來自所述有效供應方的流數據、解碼流數據并且將其存儲在緩沖器中.該流管理模塊還管理所述緩沖器、動態地把所述流送速率分配給每個有效供應方、監控所述接收器與每個有效供應方之間的連接并且管理來自用戶的交互式重放請求.交互性管理模塊6130在這里被標識為播放器模塊6130,該交互性管理模塊6130提供交互式重放控制并且與流管理模塊6120交互作用,使得用戶可以在流媒體會話期間暫停、快進和快退.質量適配模塊6140與流管理模塊6120和對等方選擇模塊6110交互作用,以便在網絡波動、有效供應方故陣以及內容破壞或刪除的情況下提供彈性的和高質量的流媒體,在某些情況下,質量適配模塊6140可以要求有效供應方重新提交流數據,以便應對這種情況.根據特定實施例,所述內容瀏覽和內容推薦模塊6150與RMF630交互作用,以便允許用戶搜索特定內容,并且該內容瀏覽和內容推薦模塊6150還給用戶提供內容推薦。查詢模塊6160與RMF630和對等方選擇模塊6110交互作用,以便獲得關于遠程對等方的信息.數據管理模塊6170管理所接收的流數據在所述接收器的本地存儲裝置上的存儲,依次描述這些模塊中的每個.對等方選擇模塊6110使用對等方選擇過程來確定有效對等方組和備用對等方組.所述有效對等方供給流媒體會話的內容.在任何STB故障期間以及在網絡波動期間,當所述當前有效對等方不能提供目標流送速率時,所述備用對等方可以變為有效的.如果一個或多個有效對等方在流媒體會話期間刪除了內容或者經歷內容破壞,則備用對等方也可以變為有效的.在該實施例中,分兩個步驟完成對等方選擇.在笫一步,RMF630返回一組具有要流送的內容的候選供應方.典型的候選組的大小是15-20個對等方,如果在網絡中找到媒體文件的多個拷貝,則該選擇過程消除資源有限的對等方.在從RMF630得到候選組之后,對等方選擇模塊6110基于各種標準確定所述有效和備用組.例如,可以使用下面的對等方狀態,即使用帶寬、設備規范、可靠性、等待時間、丟失率以及公平性標準1、對等方狀態(S)在對等方選擇期間可以考慮對等方的狀態.如果對等方正在接收流,則上行鏈路可能未被使用.然而,如果接收對等方決定為另一流媒體會話服務并且所述上行鏈路完全被用于該服務,則接收流媒體質量將惡化,因為信令協議使用了所述上行鏈路的小片斷.因此,希望使用空閑對等方作為供應方.在對等方的服務(SERVING)或接收(RECEIVING)狀態下,所述對等方選擇模塊為對等方/分配其中a是基于可用資源計算的.通常,當所述對等方處于空閑(IDLE)并且其具有可提供的資源時,5^1.2、供應方的可用上行鏈路帶寬(汐)對于流媒體會話,不希望使用過多或過少的對等方.如果使用了過多的對等方,則所述接收器必須維持許多連接.如果使用了一個或兩個供應方,則一個供應方的故陣將對于流媒體質量有很大影響.如果流送速率為A,則所述對等方選擇模塊在對等方/可以供給>^/3的情況下分配及產l,在對等方/可以供給>的情況下分配及嚴O.75,依此類推.3、CPU、存儲器規范(C)如果STB具有合理的CPU和存儲器規范,則所述對等方選擇模塊可以接受該對等方.倘若所述對等方狀態并不是服務或接收,如果對等方/具有CPU400MHz或更高并且RAM是l"MB或更高,則該對等方選擇模塊分配C產l.如果該STB的資源不足以參與到流媒體會話中,則C嚴O.4、可靠性歷史(#)可靠性歷史H代表所述STB的可靠性,所述STB可能在任何時間被斷電.STB的內容可能在流媒體會話期間被刪除.因此,STB的可靠性歷史對于提供彈性流具有重大影響.所述對等方選擇模塊為所述可靠性度量分配從O到1的值.5、從供應方到接收器的路徑的等待時間(")可以使用等待時間(或單向延遲)來判斷供應方與接收器距離多遠.即使供應方有非常好的資源,但是所述對等方位于世界的另一邊,所述供應也可能無法以穩定的速率提供流.如果供應方處在與接收器相同的子網內或者處在與接收器相同的地理位置處,則通常所述等待時間確實短,并且這些供應方將優選遠離接收器的供應方.如果對等方/的距離小于50ms的往返時間(RTT),則所述對等方選擇模塊分配/產l,如果對等方/的距離小于100msRTT,則/產0.5,如果對等方/的距離超過200ms,則Z產O,6、路徑的分組丟失率(Z)分組丟失率代表網絡的可靠性.丟失率的范閨是0〈L〈1.7、公平性(尸)對等方選擇機制的主要問題是流的質量,并且因此,其對于流媒體會話選擇適用于接收器的最佳的一組對等方.然而,如果可得到具有相似質量(在其資源、可靠性和其他對等方選擇標準方面)的更多對等方,則可以為與其他對等方相比沒有被頻繁選擇的那些對等方給出優先級.基于上述標準,所述對等方選擇模塊可以計算每個對等方的等級。如果A表示對等方/的等級,則可以把A表示為及'-CA(叫岸-A)所述對等方選擇過程基于其等級選擇前^^個對等方。如果有幾個對等方具有第0^Id的等級,則所述對等方選擇過程選擇具有低公平性指數(尸)的對等方,使得每個訂戶都有機會提供內容項目并且從所述系圖7是對等方選擇等級等式的曲線圖并且圖解說明了如何能夠根據所使用的對等方選擇標準來改變對等方的等級.例如,圖7繪制了高帶寬對等方(例如384Kbps或更高的上行鏈路帶寬)和低帶寬對等方(例如128Kbps或更高的上行鏈路帶寬)的等級與延遲和丟失量度的關系曲線.如困所示,與更靠近接收器來定位的低帶寬對等方相比,遠離所述接收器來定位的高帶寬對等方可能具有更低的等級.在網絡中搜索內容的過程中,資源管理框架(RMF)630(圖6)可以返回具有所述內容的對等方的長列表.對于所述搜索結果的整個列表應用所述對等方選擇算法可能是不可行的.可能更為高效的是,例如,通過丟棄忙于提供服務的對等方或者具有低上行鏈路容量的對等方或者地理位置較遠的對等方而對所述初始列表進行過濾.來自所述經過過濾的列表的一組(比方說15-20個)對等方會被用于實施所述對等方選擇算法,并且所述選擇序列會基于上行鏈路容量和地理位置.可以在初始緩沖時間期間利用真實媒體數據執行對于對等方選擇必需的測量.例如,在前10秒期間,每個對等方可以貢獻一部分媒體文件來確定供應方的質量.<table>tableseeoriginaldocumentpage28</column></row><table>表l:用在對等方選擇中的符號及其含義和典型值為了確定流媒體會話要求多少有效對等方,所述對等方選擇模塊可以使用下面的估計聚集的流送速率h^-f風。"。(l+")其中,目標流送速率=凡有效對等方的數目-〃由對等方/提供的速率-A來自對等方/的初始流送速率(其中,/是容量利用率,R/<7,使得對等方/搮作在IOOX容量利用率之下)FEC開銷-oc具有FEC的分組丟失容限-a/(l+ot)作為例子,如果所述流送速率是l.lMbps,則對于a-0.20FEC,所需的流送速率是1.32Mbps.令每個對等方具有上行鏈路流送帶寬f產256Kbps,當/=0.8時,因此,#-7,并且所述對等方選擇模塊可以基于其輸出帶寬選擇5-7個有效對等方.再次參照圖6并且參照固8,描述了根據特定實施例的流管理模塊6210.圖8是V2P接收器的方框圖,并且包括根據本發明的一個實施例的流管理模塊的細節.根據圖8,接收器810包括流管理模塊8120和播放器模塊8130,根據特定實施例,流管理模塊8120包括流模塊8120、接收數據模塊8122(在這里被標識為接收數據/FEC解碼模塊8122)、緩沖器管理模塊8123、連接監控模塊8124以及動態速率分配模塊8125.在操作中,流模塊8121打開及關閉到所有有效供應方的控制和數據連接,并且向有效供應方發送控制分組,從而指示將以什么數據速率發送數據塊的哪些部分.接收數據模塊8122在這里被標識為接收數據/FEC解碼模塊8122,該接收數據模塊8122接收來自有效供應方的流數據、解碼所述流數據并且將其傳遞到緩沖器管理模塊8123,緩沖器管理模塊8123從接收數據模塊8122接收已解碼的流數據;與播放器模塊8130交互作用,以便允許用戶進行暫停、快進和快退;以及管理所述緩沖器并且與動態速率分配模塊8125交互作用,以便確保該緩沖器沒有充滿并且不是空的.連接監控模塊8124監控有效供應方與接收器之間的連接,以便確定任何連接是否正經歷擁塞或者任何供應方是否發生故障,并且該連接監控模塊8124在網絡波動和設備故陣的情況下與動態速率分配模塊8125進行交互作用,流模塊8121打開及關閉到所有有效供應方的控制和數據連接。流模塊8121通過對于每個供應方打開一個控制連接而建立與所述有效組中的所有供應對等方的通信 ,并且理想地,預期所述控制連接是可靠的。例如,可以使用傳輸控制協議(TCP).流模塊8121還將用于建立到接收器的數據路徑的控制信息用信號通知給每個供應方.流模塊8121還向有效供應方發送控制分組,從而指示以什么數據速率發送數據塊的哪些部分,這構成了在有效供應方之間的流送速率的動態速率分配.所述控制分組表明將發送的塊的片斷以及表明數據速率.所述速率分配來自動態速率分配模塊8125.接收數據模塊8122在這里被標識為接收數據/FEC解碼模塊8122,該接收數據模塊8122接收來自有效供應方的流數據、解碼所述流數據并且將其傳遞到緩沖器管理模塊8123。接收數據模塊8122被流模塊8121實例化,以便從所有有效供應方接收數據,并且所述有效供應方建立到該模塊的數據路徑.應當注意,根據特定實施例,V2P可以使用諸如用戶數據報協議(UDP)之類的協議以用于進行數據流送.可替換地,在其他實施例中,V2P可以使用任何基于UDP的擁塞控制協議,諸如使用數據報擁塞控制協議(DCCP)等等,在接收到所述流數據之后,接收數據模塊8122在將流數據移交到緩沖器管理模塊8123之前對所述流數據進行解碼.應當注意到,對所述塊進行解碼可以包括由所接收到的部分或段重建所述FBC編碼塊;對已重建的FEC編碼塊進行FEC解碼;以及根據所利用的特定視頻編碼方案(例如MPEG)對所述FBC解碼塊進行進一步解碼.緩沖器管理模塊8123從接收數據模塊8122接收已解碼流數據,并且與播放器模塊8130進行交互作用,以便允許用戶進行暫停、快進和快退.該緩沖器管理模塊8123還管理所述緩沖器并且與動態速率分配模塊8125進行交互作用,以便確保該緩沖器沒有充滿并且不是空的.例如,當用戶按下按鈕以便暫停流媒體會話時,緩沖器管理模塊8123與動態速率分配模塊8125進行交互作用,以便調節所述流送速率.所述緩沖器管理模塊還確保在所述緩沖器中總是有數據以便重放媒體數據,例如,所述重放可以在短初始緩沖時間(例如10秒)或者短廣告之后開始.此后,緩沖器管理模塊8123周期性地估計,以當前播放速率和流送速率,所述緩沖器是否將在不久的將來變空或者上溢.在必要時,可以通過動態速率分配模塊8125相應地調節所述流送速率.圖9呈現了示出動態緩沖器管理技術如何能夠根據本發明的一個實施例避免緩沖器上溢或下溢的曲線圖。在該曲線圖中,B(t)代表可以被存儲在緩沖器中的最大累積數據,而P(t)代表由播放器在時間f所耗用的累積數據.如可以看到的那樣,固定比特率(CBR)的流送速率可能很容易導致緩沖器上溢或下溢。動態緩沖器管理算法通過周期性地調節所述流送速率來避免這些情形.例如,固定比特率(CBR)的流送速率無法確保,所述緩沖器不會在將來發生上溢或者變空,因為網絡狀況會發生改變并且所述對等方可能在任何時間發生故陣.因此,可以使用動態緩沖器管理技術,其基于多個參數調節所述流送速率,所述參數在本例中包括a)當前緩沖器大小;b)當前播放速率;以及c)當前流送速率,困IO呈現了示出根據本發明的一個實施例的緩沖器管理方案的曲線圖.如困所示,所述緩沖器被分割成三個部分'加速區(0<緩沖器大小〈B,i。)、舒適區(B.i"緩沖器大小(B.")以及減速區(緩沖器大小>B.,X).B.u和B."的值取決于系統中所能允許的緩沖器大小.例如,如果系統可以具有30秒的緩沖,則選項可以是B.i,10秒以及B,.,20秒.基于當前緩沖器大小和緩沖器的改變來調節所述流送速率,所述緩沖器的改變是利用當前流送速率和播放速率來計算的.如果當前緩沖器大小低于B.in并且緩沖器大小的改變為負,則增大流速率.在所述舒適區內不改變所述流速率.如果緩沖器大小高于B.",則減小所述流速率.為了計算調節當前流送速率的速率,緩沖器管理模塊8120使用對瞬時流送速率的指數加權移動平均(EWMA).—般來說,EWMA被表示為下面的等式W)=崎)+(l-w)/抑,(卜l),其中,(KiKl是恒定的,以便在當前瞬時樣本或最近歷史上設置權重.例如,緩沖器管理模塊對于所述緩沖器大小的每個區定義R當緩沖器正在所述加速區內操作時,為了調節流送速率,必須強調瞬時流送速率,因此,在該區內為r給出較高權重.當緩沖器正在舒適區內操作時,為『給出較低權重,以便計算平滑流送速率,該平滑流送速率可以被用來調節減速區內的流送速率.在減速區內,為a給出高權重,以便更急劇地降低所述流送速率.再次參照圖8,連接監控模塊8124監控有效供應方與接收器之間的連接,以便確定任何連接是否正經歷擁塞或者任何供應方是否發生故障,并且該連接監控模塊8124在網絡波動和設備故障的情況下與動態速率分配模塊8125進行交互作用.連接監控是有用的機制,以便確定從供應方到接收器的任何數據路徑是否正經歷擁塞或者確定任何對等方是否發生故障.例如,如果接收器在特定時間幀內沒有從給定對等方接收到任何數據,則該接收器假設該對等方不再有效.精確定位網絡擁塞的位置可能相對困難。如果知道網絡擁塞的位置,那么所述質量適配模塊(圖6的項目6140)可以決定如何對待供應方與接收器之間的每個連接,例如,如果僅僅一個連接受到網絡擁塞的影響,那么其他連接可以以更高速率來提供數據,以便克服這一問題。然而,如果大多數連接都同時經歷擁塞,則可能必需從所述備用組中添加對等方,使得來自這些對等方的附加流可以減輕擁塞的影響.連接監控模塊8124可以使用所述網絡斷層掃描技術來識別出經歷擁塞的路徑段.網絡斷層掃描的基本思想涉及到使用分組"條帶(stripe)"(即背靠背探測分組),以便通過計算在目的地處的條帶內的分組丟失的相關性來推斷出鏈接丟失.為了推斷出丟失,在零傳輸延遲下從一個節點向兩個其他節點發送被稱作條帶的一系列探測分組.如果分組到達任何接收器,則可以推斷出該分組肯定到達了分支點.基于到達末端主機的分組的數目,有可能對于所有內部鏈接計算成功傳輸概率的概率,連接監控模塊8124被動地監控連接。也就是說,在流送期間沒有主動探測.連接監控模塊8124使用所述流送速率.所述數據從供應方來到該接收器,而不是像在某些網絡斷層掃描技術中那樣從一個源來到多個接收器.可能必要的是進行實驗,以估計條帶的適當尺寸以及估計如何在供應方之間劃分所述分組,使得接收器可以捕獲在共享路徑以及各條路徑上的分組丟失的相關性,有可能估計從多個供應方到接收器的路徑的特性.圖11示出了從兩個供應方S,和S2到接收器R的簡單二叉樹.由于供應方在時間上被同步以便發送塊的分組,所以來自St和S2的分組將很有可能在共享路徑段k卄R上經歷類似的擁塞.可以使用"分組的條帶,即"《A,A>,其中S,發送A分組,而S2發送A分組.如果R獲得來自St的條帶的所有分組,則4艮有可能R將接收到來自S:的A分組,除非所述A分組在S2—k上丟失.再次參照圖8,動態速率分配模塊8125與緩沖器管理模塊8123以及連接監控模塊8124交互作用,并且把所述流送速率動態地分配給有效供應方,以便應對由于擁塞和設備故障所導致的網絡波動.動態速率分配模塊8125允許在任何時間改變當前流送速率.流模塊8121在每個時間幀處向每個有效供應方發送控制信號,以便指定新的速率.連接監控模塊8124確定哪個連接正經歷擁塞,緩沖器管理模塊8123確定當前流送速率應當是多少,并且速率分配模塊8125確定每個供應方在時間f進行流送所應當采用的速率。然后,該速率分配模塊用信號通知流模塊8121,在新的速率下向每個供應方發送控制分組以及供應方在下個時間幀中所應當發送的文件段的索引.根據圖8,根據特定實施例描述了交互性管理模塊,該交互性管理模塊在這里被標識為播放器模塊8130.播放器模塊8130提供了交互性,使得用戶可以對流媒體會話進行暫停、快進(FF)和快退(RW)。在下面將更加詳細地描述的這些亊件的每個事件期間,播放器模塊6130通知緩沖器管理模塊8123,該緩沖器管理模塊基于所述亊件采取適當的動作.從暫停控制描述開始.當用戶按下按鈕來暫停流媒體會話時,緩沖器管理模塊8123用信號通知動態速率分配模塊8125分配新的流送速率(例如0Kbps).動態速率分配模塊8125用信號通知流模塊8121暫停該流媒體會話,流模塊8121將控制信號發送到每個有效供應方,并且所述流媒體會話被暫停,直到其被恢復或者直到暫停定時器期滿.在所述流媒體會話被暫停時,所述接收器并不向有效供應方請求任何附加流數據.當所述流媒體會話被恢復時,流模塊8121將控制信號發送到每個有效供應方,以便恢復該流媒體會話.如果所述暫停定時器期滿,則所述流媒體會話將被關閉.對于快進(FF)和快退(RW)控制,如果接收器具有諸如硬盤之類的本地存儲裝置,則從已經保存的內容執行所述RW操作.否則,可以按照類似的方式實現所述RW和FF.多種方法可以與所述FF操作相關聯.第一種方法使用單獨的交互流來提供類似于VCR的平滑交互性;然而,代價是要求每個媒體文件的單獨的交互流.笫二種方法是并不使用附加流的解決方案,并且利用發現(seeking)機制實現快進或快退.特別地,當使用交互流時,所述FF操作要求單獨的流(即交互流)和單獨的緩沖器(即交互式緩沖器).對于所述快退操作來說,所述交互流是按照相反的順序從所述重放流形成的.要求單獨的交互流的原因在于,在快進和快退期間,所述供應方必須僅僅發送所述流的子集而不是原始流.在沒有單獨的交互流的情況下,所述各供應方將必須對所述流進行解碼,并且發送適當的感興趣幀.可能無法實時地實現這一點.因此,這種技術利用了單獨的流,該單獨流具有可以實現目標FF或RW速度的幀.例如,為了實現加速因數f,所述播放器需要每l幀當中的一幀.然而,在MPEG術語中,在沒有I和/或P幀的情況下,無法對B楨進行解碼,并且在沒有在先I或P幀的情況下,無法對P幀進行解碼.因此,發送每J楨當中的一幀對于快進亊件來i兌并不足夠.圖12示出了流媒體會話的MPEG幀序列.為了獲得加速因數5,所述供應方需要發送I、(P、B、B、P)、(1、B、B、P)等等.這是因為B幀需要其全部兩個相鄰楨來解碼,并且P幀也需要在先I或P幀.因此,為了把所述流加速到原來的5倍,需要由供應方發送多于1/5的幀.因此,這個過程在FF和RW期間增大了流數據速率,但是可能無法在基于DSL的網絡中增大所述流送速率,在所述基于DSL的網絡中,下行鏈路速度常常僅僅對于正常流送速率來說是足夠的.根據特定實施例,為了在FF和RW期間維持較低數據速率,可以使用交互流.可以按照以下方式創建交互流。在壓縮之前需要對原始視頻材料進行子采樣。對于J倍快進速度,在MPEG編碼之前,每第J個視頻幀會被存儲到適當設備.例如,為了獲得4X快進速度,使用每第4個枧頻幀.然后會按照正常方式對該內容進行MPEG編碼,并且將該內容存儲在單獨的文件中.該方法導致具有非常平滑的運動的非常高質量的FF觀看,但是該方法要求對經過子采樣的未經壓縮的視頻進行中間存儲.為了避免子采樣預處理和中間存儲的附加工作,根據特定實施例,可以在MPEG壓縮域內實現FF.每個發送器在FF期間動態地對所迷I楨進行轉碼以便滿足所述要求,并且然后將其包裝在序列報頭中以便產生具有僅僅一個I幀的GOP(圖像組)。為了實現這種方案,每個發送器必須在計算方面能夠按需轉碼I幀.再次參照圖8,為了提供交互性,緩沖器管理模塊8123需要維持兩個緩沖器一個用于常規流,而一個用于交互流.在常規重放期間,緩沖器管理模塊8123僅僅把I幀放置在交互式緩沖器中,使得如果用戶選擇FF或RW,則播放器模塊8130立即從該交互式緩沖器接收數據.緩沖器管理模塊8123從所述交互式緩沖器對所述播放器進行饋送,直到用戶回到正常播放模式。流模塊8121將控制信號發送給每個供應方,以在這段時間期間發送來自所述交互流的數據.每個供應方將發送一個I幀,使得在所述交互式緩沖器中有#個I楨就緒.這樣將允許用戶從一個I幀快進到下一個I幀.如果交互式緩沖器缺乏數據,則播放器模塊8130將不允許用戶FF/RW,并且將恢復正常播放.當用戶恢復正常播放時,緩沖器管理模塊8123將來自常規緩沖器的數據饋送給播放器模塊8130.如果所述常規緩沖器沒有用于正常播放的足夠數據,則其可以在幾秒鐘內播放所述經過子采樣的數據,直到該常規緩沖器具有足夠的數據以全速率播放.根據特定實施例,在模擬FF和RW搮作的替換方法中,使用文件查找來避免具有單獨交互流的要求.特別地,當用戶按下FF或RW按鈕時,播放器模塊8130播放X秒的視頻數據并且然后跳過Y秒到所述文件中的適當位置以實現加速.所有所述供應方將供給對應于所述X秒的視頻數據,并且然后在所述文件內查找Y秒,以提取下一視頻數據.根據特定實施例,可以通過設置X和Y的值而實現可變加速,并且加速因數可以被如下計算加速因數=流播放總時間=^,近w雙播放時間x例如,如果X-2秒而Y-6秒,則加速因數為4,如果播放器模塊8130以正常速度播放視頻數據,則所述流數據中的時間位置將由于所述跳躍而提前,但是用戶將不會感知到所述加速因數。因此,播放器模塊8130以高于正常速度的速度播放所述視頻數據,如果供應方繼續以常規流送速率發送流數據,因為對于所述供應方可能無法在例如DSL網絡中加速,則所述緩沖器可能會由于較高的播放速率而變空。為了克服這一問趙,播放器模塊8130可以播放被本地存儲在所述接收器上的短視頻剪輯.可以在流數據塊之間把所述短視頻剪輯插入到所述緩沖器中.例如,基于FF或RW事件,所插入的視頻剪輯可以是能活動的">>"或"<<".這種短動畫視頻剪輯可以向觀看者通知,所述系統正在執行某種處理.所述剪輯可以亊先生成并且被存儲在接收器側,使得無需流送這些剪輯.圖13示出了一系列視頻數據和所插入的視頻剪輯。如圖所示,播放器模塊8130播放4秒視頻,隨后是所插入的視頻剪輯,該播放器模塊8130然后跳過12秒并且播放4秒視頻數據,其后是所插入的視頻剪輯,該播放器模塊8130跳過另外12秒并且播放4秒視頻數據,該播放器模塊以兩倍正常速度播放所述視頻數據和所述視頻剪輯.在該例中,如果X-4,Y-12并且所插入的視頻剪輯的長度等于X-4,則由下面的關系式給出所述加速因數加速因數----x+y=4,以2x速度播放2X數椐X如上所述,用于針對接收寬帶數據提高數據流的質量的本發明的一個方面涉及到質量適配(使用如困6所示的質量適配模塊6140并且參照如圖8所示的流管理模塊8120)。質量適配是用于提供彈性的和高質量的流的重要組成部分。在網絡波動和設備故障期間,所述流媒體質量惡化.為了處理這些問題,V2P使用諸如下述的機制a)智能緩沖器管理;b)連接監控;c)動態速率分配;d)動態FEC編碼/解碼;e)有效對等方選擇(iV個有效對等方);以及f)備用對等方選擇(〃個備用對等方).前兩種機制被用來檢測故障狀況并且識別出擁塞的實際位置.后面四種機制被用來處理網絡波動和設備故障.這兩種情形中的每種都被描述.在某些情況下,質量適配模塊6140可能要求有效供應方重新提交流數據,以便應對這些情況.根據特定實施例,描述了用于應對網絡波動的質量適配過程.因特網是盡力服務(best-effortservice),并且諸如等待時間、丟失以及任何端到端路徑的抖動之類的網絡層度量可能會隨著時間而改變.所述連接監控機制可以識別出網絡擁塞的實際位置.例如,假設在任何時間有K個連接經歷質量惡化,首先,質量適配模塊6140檢查所述聚集流送速率是否仍然滿足所述目標流送速率.如果不滿足,則重新分配所述流送速率,使得具有良好網絡狀況的有效供應方供給更多,以便調節不由其他有效供應方供給的速率.這種動態速率重新分配是有可能的,因為以如下方式完成有效對等方選擇,即所述有效供應方以低于其全容量的速率進行流送.剩下的容量可以被利用來動態重新分配來自每個有效供應方的流送速率.如果所述有效供應方無法提供所述目標流送速率,則質量適配模塊6140可以指示對等方選擇模塊6110把一個或多個備用對等方添加到所述有效組中.在添加了所有備用對等方之后,如果所述有效供應方由于高分組丟失而仍然無法滿足所述目標流送速率,則質量適配模塊6140可以指示流管理模塊6120基于當前丟失率增大所述FEC編碼開銷比(ot).例如,當ot-O.20并且當前丟失率為35X時,將把ot的新值調節來匹配所述丟失率,以便支持將來的改變.如果所述丟失率在一段時間后下降,則所述適配模塊將相應地減小ot的值.例如,下面說明了質量適配模塊6140可以用于調節流送速率、添加備用對等方以及調節編碼開銷比a以應對網絡波動的算法(算法1),所示出的算法使用(5來確保當前流送速率略高于目標流送速率A,否則,在有很小的網絡波動的情況下,所述流媒體質量將惡化.如果使用速龍碼(Raptorcode),夷'J5將表示速龍解碼(Raptordecoding)所必需的額外數據,因為該代碼要求比要解碼的原始內容多5X的數據.用于網絡波動的算法1:1、識別出在時間t經歷擁塞的K個連接2、如果i;二代-及(^、則不采取任何動作〃良好堅持當前速率3、否則,如果21《+2]^+1^-^^、則把所述流速率重新分配給(N-K)個良好對等方,以便滿足所述目標速率4、否則,把備用對等方添加到所述有效組中.到步驟3.如果沒有備用對等方可用,則到步稞55、調節ot,以便調節網絡中的分組丟失.添加更多備用對等方在根據特定實施例的該算法中,在步驟l,流管理模塊6120的連接監控模塊(諸如困8的連接監控模塊8124)監控與N個有效供應方的N個連接,并且識別出在時間t經歷擁塞的K個連接.在步驟2,如果當前聚集流送速率(即所有A的總和)比目標流送速率A超出至少6,也就是說,如果2Z《-^oH,則當前流送速率是足夠的,并且質量適配模塊6140不采取任何動作.否則,在步驟3,質量適配模塊6140嘗試在所述有效組中的沒有激勵擁塞的(N-K)個"良好"對等方之間重新分配所述流送速率.由于所述(N-K)個"良好"對等方最初以低于其全容量的速率進行流送,所以這(N-K)個"良好"對等方的剩余容量可以被利用來實現所述目標流送速率A.也就是說,所述(N-K)個"良好對等方"中的每個可以以高達其全容量(的速率進行流送.因此,如果對于所述K個正經歷擁塞的對等方的當前聚集流送速率(即對于這K個對等方的所有A的總和)加上所述(N-K)個"良好對等方"的全容量(即對于這(N-K)個對等方的所有A的總和)比目標流送速率A超出至少5,也就是說,如果+!^+1<-/^「則質量適配模塊6140指示流管理模塊6120(例如通過動態速率分配模塊)把所述流送速率重新分配給所述(N-K)個良好對等方,以便滿足所述目標流送速率,否則,在步驟4,所述質量適配模塊指示對等方選擇模塊6110把備用對等方添加到所述有效對等方組中,使得有效供應方的更新后的數目為N.所述算法循環回到步脒3,并且質量適配模塊6140指示流管理模塊6120(例如通過動態速率分配模塊)把所述流送速率重新分配給所述(N-K)個良好對等方,以便滿足所述目標流送速率.如果在步驟4沒有備用對等方可用,則質量適配模塊6140調節所述編碼開銷比oc,以便調節網絡中的分組丟失.質量適配模塊6W0還指示對等方選擇模塊6110選擇附加的對等方,以便添加到所述備用對等方組中.另一方面是用于應對設備故陣的質量適配過程.特別是根據特定實施例,流媒體會話開始于^個有效對等方,并且每個對等方具有/容量利用率.V2P按照以下方式選擇^:如果其中一個對等方(即其中一個STB)故障,則可以立即把所述流送速率重新分配給所述有效組中的剩余對等方而不超出其上傳容量極限.因此,如果在任何時間有一個對等方故障,則在剩余的有效供應方當中分配所述流送速率,并且所述聚集流送速率不會落到目標速率以下。如果兩個或多個對等方同時故陣,則所述質量適配模塊可以把備用對等方添加到所述有效供應方組中。例如,下面說明了根據特定實施例的算法(算法2),所述質量適配模塊可以使用該算法來調節流送速率、添加備用對等方以及調節編碼開銷比ct,以應對設備故陣.當f個設備(即STB)發生故陣時,質量適配模塊6140指示流管理模塊6120(通過動態速率分配模塊)在所述有效組中的剩余供應方中重新分配所述流送速率,質量適配模塊6140還指示對等方選擇模塊6110把備用對等方添加到所述有效供應方組中,以便應對下次設備故障,如果所述有效組中的剩余供應方無法提供目標速率并且所述網絡沒有正在經歷高丟失,則質量適配模塊6140指示流管理模塊6120降低所述FEC編碼開銷比ct,以隨著當前丟失率進行調節,如果必需有更多供應方,則質量適配模塊6140指示對等方選擇模塊6110把附加供應方添加到所述備用組中,由于緩沖器管理模塊通常將已解碼數據維持5-10秒可用于所述播放器模塊,這個時間允許質量適配模塊6140把更多備用供應方添加到所述有效組中,以便滿足所述目標流送速率.針對STB故陣的算法2:1、識別出K個故陣的STB2、如果:SIk+^-A2、則不采取任何動作〃良好堅持當前速率3、否則,如果I^ic+^-A2、則把所述流速率重新分配給所述有效組中的(N-K)個對等方,把備用對等方添加到所述有效組中,以便應對下次故障.4、否則a、把備用對等方添加到所述有效組中.如果沒有備用對等方可用,則在必要時調節ab、把所述流送速率重新分配給所述有效組c、找到備用對等方并且將其添加到所述備用組中d、到步躁4a如上所示,在步驟l,連接監控模塊識別出K個故障的STB,在步驟2,如果所述有效組中的剩余供應方的當前聚集流送速率(即所有A的總和)比目標流送速率A超出至少5,也就是^兌,如果SI"A-^",則當前流送速率是足夠的,并且質量適配模塊6140不采取任何動作.否則,在步驟3,質量適配模塊6140嘗試在所述有效組中的沒有故障的(N-K)個"良好"對等方之間重新分配所述流送速率.由于這(N-K)個"良好"對等方最初以低于其全容量的速率進行流送,所以這(N-K)個"良好"對等方的剩余容量可以被利用來實現所述目標流送速率A.也就是說,所述(N-K)個"良好對等方"中的每個可以以高達其全容量A的速率進行流送。因此,如果所述(N-K)個"良好對等方"的全容量(即對于這(N-K)個對等方的所有(的總和)比目標流送速率A超出至少^,也就是說,如果Hcw《—^2f,則質量適配模塊6140指示流管理模塊6120(通過動態速率分配模塊)把所述流送速率重新分配給所述(N-K)個良好對等方,以便滿足所述目標流送速率.質量適配模塊6140指示對等方選擇模塊6110把備用對等方添加到所述有效組中,否則,在步躁4,質量適配模塊6140指示對等方選擇模塊6110把備用對等方添加到所述有效對等方組中,使得有效供應方的更新后的數目為N.如果在步驟4沒有備用對等方可用,則質量適配模塊6140可以調節所述FEC編碼開銷比ot,以便調節網絡中的分組丟失.質量適配模塊6140指示流管理模塊6120(例如通過動態速率分配模塊)把所述流送速率重新分配給所述有效組中的(N-K)個良好對等方,以便滿足所述目標流送速率,質量適配模塊6140還指示對等方選擇模塊6110選擇附加的對等方,以便添加到所述備用對等方組中.再次參照圖6,描述了根據特定實施例的內容瀏覽和內容推薦模塊6150.該內容瀏覽和內容推薦模塊允許用戶搜索他們感興趣的內容.用戶接口(UI)將允許用戶基于電子節目指南(EPG)數據來搜索內容,所述EPG數據諸如是a)標題;b)男演員/女演員;c)導演;d)年份;e)國家;f)風格;g)獎項;h)類別,諸如體育、電視連續劇、新聞、音樂會;以及i)故亊中的任何關鍵字.查詢模塊6160促進獲得關于對等方的信息,如在下面的搮作細節中所提供的那樣.查詢模塊6160向遠程對等方發送探測信號,以便查詢諸如CPU、存儲器和上游帶寬之類的STB的資源信息.該查詢模塊還可以查詢狀態信息(諸如對等方當前是正在上傳、下栽還是處在空閑模式下)以及該對等方的可靠性歷史。查詢模塊6160可以返回對等方的獎勵歷史,所述獎勵歷史可以被用來在由對等方選擇模塊6110進行對等方選擇期間解決公平性問趙.為了進行數據管理,數據管理模塊在諸如硬盤驅動器的本地存儲設備上存儲所流送的數據,由于所述流送例如是利用UDP在不可靠的信道上進行的,所以在會話期間可能會丟失一些分組.由于使用所述FF機制,因此所述接收器可能不具有所有所述分組.因此,數據管理模塊6170可以在所述流送之后聯系有效供應方,以便下栽那些缺失的段,使得所述接收器具有完整的文件,以便在將來成為供應方.為了理解所述供應方如何搮作,圖14呈現了V2P系統的方框圖,并且進一步示出了根據本發明的一個實施例的發送器(供應方).根據圖14,V2P系統1400包括接收器1410、發送器1420、資源管理框架(RMF)1430、獎勵管理器1440以及電子節目指南(BPG)l"0,接收器1410與發送器1420交互作用,以便接收流數據.發送器1420與RMF1430交互作用,以便向所述V2P系統登記及宣告內容.發送器1420與獎勵管理器1440交互作用,該獎勵管理器1440負責向用戶收費以及向適當的實體提供獎賞.發送器1420與電子節目指南(EPG)1450交互作用,以便允許利用個人視頻錄像機(PVR)擴增設備來錄制內容.根據圖14,根據特定實施例,發送器1420還包括登記器模塊14210、流送管理模塊14220、FEC編碼器模塊14230、資源監控器模塊14240以及PVR擴增設備模塊14250.登記器模塊14210向所述p2p網絡登記STB的資源和統計量以及宣告內容.流送管理模塊l"20與接收器通信,以便提供數據并且接受控制信號.FEC編碼器模塊14230對與內容項目相對應的媒體文件中的各塊進行FEC編碼.資源監控器14240基于所述STB的當前狀態接受或拒絕新的流送請求.該資源監控器14240還在對流媒體會話做出貢獻之后向獎勵管理器1440進行報告。PVR擴增設備模塊14250與電子節目指南(EPG)1450交互作用。登記器模塊14210把其資源和統計量通過RMF630登記到所述p2p網絡.該登記器模塊14210還向所述p2p網絡登記、宣告或者廣告新的媒體內容.流送管理模塊14220與接收器進行通信,以便提供數據并且接受控制信號。在發送器接受了新的流送請求之后,流送管理模塊14220接受來自接收器的控制連接.根據該控制連接,流送管理模塊14220建立到該接收器的數據連接、從諸如硬盤之類的所述本地存儲設備讀取數據以及通過所述數據連接發送數據。如果所述數據被預先編碼并且當前已編碼內容的FEC編碼開銷比ct與來自所述接收器的所請求的ot相匹配,則流送管理模塊14220僅僅讀取數據并且將其發送到該接收器。如果有必要利用新的oc來編碼所述數據,則流送管理模塊14220與FEC編碼器模塊14230進行通信,以便執行所述FBC編碼,FEC編碼器模塊14230對與內容項目相對應的媒體文件的塊進行編碼,以用于流送.根據特定實施例,V2P可以用來利用指定的FEC編碼開銷比ot對媒體數據進行編碼的兩種示例性FEC代碼是公知的里德所羅門(Reed-Solomon)碼和速龍碼.此外,在其他實施例中,可以使用里德所羅門糾刪碼來實現比傳統的里德所羅門碼更快的編碼和解碼,所述里德所羅門糾刪碼基于有限域上的柯西(Cauchy)矩陣并且使用"異或(X0R)"而不是算術運算.表2呈現了根據特定實施例的利用了經過修改的里德所羅門糾刪碼的示例性編碼和解碼時間.例如,電影文件可以在1.1Mbps下被分成1秒塊或者0.5秒塊,并且被編碼成容忍20X的分組丟失.在具有2GB存儲器的2.4GHzLinux機器上運行所述里德所羅門糾刪碼,所述編碼和解碼時間是典型的.如從表2中可以看出的那樣,編碼比解碼要求更多時間.此外,編碼和解碼時間并不是相對于所述塊的長度成線性的.如果塊尺寸過大,則所述接收器必須等待長時間以便在解碼該塊之前接收到該塊的所有分組.如果塊尺寸過小,則一個連接上的突發分組丟失將丟棄許多分組,并且來自其他連接的剩余分組將沒有足夠的數據來恢復該塊,為了以1Mbps進行流送,1秒的塊尺寸可能是典型的.具有以400MHz運行的處理器并且具有128MB或更高存儲器的STB可以支持利用里德所羅門碼的按需編碼,以便針對網絡波動和設備故障進行調節.<table>tableseeoriginaldocumentpage42</column></row><table>表2:利用里德所羅門糾刪碼的編碼和解碼時間參照困14,資源監控器模塊14240監控本地資源和STB的狀態,以便判定是接受還是拒絕新的流送請求.此外,PVR擴增設備模塊14250與電子節目指南(EPG)1450交互作用,以便協調對錄制亊件的調度.圖15示出了用于評估V2P系統的性能的示例性設置,根據困15,V2P系統1500包括接收器1510、發送器1520、因特網服務提供商(ISP)1580a和1580b(在下面被標識為ISP1580)以及因特網1590.接收器1510和發送器1520中的每個可以同時配置有接收器模塊和發送器模塊,使得其既可以作為發送器來搮作,也可以作為接收器來搮作.接收器1510和發送器1520中的每個在這里被示為個人計算機,其可以通過兩個不同的ISP1580連接到因特網1590.可以從這兩個ISP1580選擇一組發送器,使得流數據跨越因特網1590,并且接收器1510經歷網絡波動.在流媒體會話期間,一個或多個發送器1520可以被斷電,以便模擬設備故障.根據特定實施例,V2P系統可以被用在非對稱數字用戶線(ADSL)接入網絡部署中,其中每個發送器具有有限的上行鏈路容量,并且必需多發送器解決方案來聚集來自發送器組的整個流送速率,V2P還可以被實現以用于更高帶寬的接入網絡中,諸如用于FTTx和xDSL網絡,其中上行鏈路帶寬從20Mbps變化到lOOMbps.在這種環境中,根據特定實施例,V2P并不需要多個發送器來實施1.5Mbps(對應于MPEG-4質量的視頻流)或者甚至3-5Mbps(對應于MPEG-2質量的視頻流)的流送.一個發送器可以很容易地供給整個流送速率.然而,根據特定實施例,V2P可以對于每個流媒體會話利用備用對等方,以便在網絡波動和對等方故障的情況下提供彈性流媒體.在這種情形下,所述V2P(N+M)流媒體模型變成了(l+M),其中流媒體會話使用一個有效供應方和M個備用供應方。因為每個對等方具有高的可用上行鏈路帶寬,所以流媒體會話不再要求N個有效供應方,然而,為了提供彈性流媒體,M個備用對等方可能是必要的.由于每個發送器具有足以服務于多個流媒體會話的容量,所以被分配給一個會話的備用供應方可以很容易地是另一會話的有效供應方.根據如圖16中所示的特定實施例,因為所述發送器的上行鏈路帶寬足以同時供給多于一個流,所以V2P能夠并行服務于多個視頻流.一個發送器可以向多個流媒體會話供給多個視頻.發送器甚至可以向多個流媒體會話供給視頻的相同拷貝,這在向許多觀看者請求稀有視頻的情況下是有用的.一個供應方所能支持的并發視頻流的數目不受V2P的限制,而是受到所述STB的硬件1/0處理能力以及可用的上游帶寬的限制.在高帶寬環境下實現V2P有幾個優點,其中包括a)對于流媒體會話來說,僅僅需要一個有效供應方加上兩個備用供應方;并且因此,可以支持更多的流媒體會話;b)可用于小區的特定視頻的拷貝數目現在乘以了可以由一個供應方服務的并發流的數目,這對于未被許多訂戶錄制的視頻來說是特別有用的;以及c)即使當服務于多個視頻流時,V2P也確保了相同的彈性能力.因此,可以^f艮明顯看出,V2P在各種同構網絡和異構網絡部署中都具有價值.圖16示出了根據本發明的一個實施例的在高帶寬環境中實現的VoD到對等方(V2P)系統。根據圖16,V2P系統1600包括接收器1610a、1610b和1610n(在下文中被標識為接收器1610)、發送器1620a、1620b和1620c(在下文中被標識為發送器1620)以及資源管理框架(RMF)1630.接收器1610在這里被示為STB,這些接收器1610是從發送器1620a接收流媒體的接收對等方,發送器1620在這里被示為STB,這些發送器1620是發送對等方或者流媒體的供應方.應當注意到,任何一個接收器1610可以在其他時間充當發送對等方。類似地,任何一個發送器1620可以在其他時間充當接收對等方.資源管理框架(RMF)1630是受管理基礎設施,其由服務提供商管理,所述服務提供商管理接收器1610和發送器1620之間的控制和數據連接,以便執行對所請求媒體的按需流送.RMF1630還允許接收器1610針對可流送內容搜索V2P系統1600,所述可流送內容諸如是從廣播錄制的、從發送器錄制的或者被下栽并被存儲在發送器1620上的媒體文件.RMF1630還允許接收器1610接收內容推薦.盡管在高帶寬網絡環境中一個發送器可能足以提供流媒體會話所要求的全流送速率,但是基于(N+M)的有效供應方和備用供應方的流媒體模型相對于(1+M)的有效供應方和備用供應方可以提高總體系統利用率.利用所述(N+M)流媒體模型,盡管每個供應方都能夠供給整個流送速率,但是每個供應方提供所述流送速率的一小部分.下面提供了對所述系統利用率的估計.例如,做出以下假設小區大小(對等方的數目)-C;乘法因子(每個對等方所能供給的流數目)-Y;對于每個流媒體會話的有效發送器的數目-N;對于每個流媒體會話的備用發送器的數目-M;流送速率-R;以及每個對等方的上行鏈路容量-C;于是由下面的關系式給出可能的并發流媒體會話的數目U:<formula>formulaseeoriginaldocumentpage45</formula>在所述(1+M)模型中假設c-1200、n=l、m-2、r=2Mbps、y=5,則有U=5(1200〃l+2))-2000.在所述(N+M)模型中C=1200、N=4、M-2、R=2、y=20(由于每個對等方供給所述流的四分之一,現在Y=4*5=20),則有U=20(1200/(4+2))=4000.所述分析建模說明,在高帶寬環境中,(N+M)具有比(l+M)更好的資源利用率.不是使用諸如(N+M)或(1+M)的靜態解決方案,V2P可以使用自適應機制.例如,如果所述V2P系統具有特定資源(即特定視頻)的足夠多的拷貝,則該V2P系統可以優選地使用所述(N+M)流媒體模型以便得到更好的系統利用率.另一方面,如果所述V2P系統僅僅具有特定資源的少數幾個拷貝,則該V2P系統可以利用所述(1+M)模型提供流媒體會話.有可能如下估計所述系統的最大利用率.由于所述備用對等方僅僅在網絡波動期間或者在對等方故障期間的供應方遷移過程中才供給一小部分數據,所以每個對等方可以對于有效會話利用其容量,而不是對于備用會話保留其容量.因此,所述最大利用率U由下面的關系式表示<formula>formulaseeoriginaldocumentpage45</formula>對于上面的例子,對于所述(1+m)或(n+m)模型來說,所述最大系統利用率都是U-6000.可以在低帶寬和高帶寬網絡環境的異構小區中更為一般地實現V2P系統,根據特定實施例,只有當給定發送器具者足以為多個流媒體會話做出貢獻的資源時,V2P才能夠超過一次地利用該給定發送器,否則,在任何給定時間,每個發送器將僅僅被用在一個流媒體會話中.圖17示出了被擴展的發送器體系結構,其中根據特定實施例,一個發送器可以向多個接收器提供流.對于每個流,所述發送器打開一個流管理線程.所述流管理模塊的每個亊例負責與接收器進行通信并且基于由該接收器發送的控制信號而采取動作.所述流管理模塊的每個亊例還負責把流媒體視頻數據提供給接收器.因此,在高帶寬環境中,V2P可以支持多個服務器狀的流媒體會話,一般化的V2P同時繼承了p2p網絡環境和服務器-客戶端環境的優點,其中所述p2p網絡環境使用多個源,而所述服務器一客戶端環境則從一個用戶供給多個流媒體會話.在該一般化的多源環境中,發送器可以基于其可用資源對盡可能多的流媒體會話做出貢獻.V2P所能支持的并發流的數目取決于多種因素,諸如a)具有所請求的內容項目的用戶的數目;b)每個用戶的上行鏈路帶寬;以及c)所期望的流媒體質量.例如,對于具有d個低帶寬對等方和Ch個高帶寬對等方的小區的V2P系統可以支持高達YCh/(N+m)+d/(N+m)個高質量流媒體會話,其中y>1是乘法因子,其表示供應方能為多少流做出貢獻.在低帶寬環境中,Y=lm,但是在高帶寬環境中,Y"5或更多.圖17是V2P系統的一個實施例的方框圖,并且進一步示出了根據本發明的一個實施例的發送器.根據圖17,V2P系統1700包括接收器1710、發送器1720、資源管理框架(RMF)1730、獎勵管理器1740以及電子節目指南(EPG)1750,各接收器1710與發送器1720交互作用,以便接收流數據.發送器1720與RMF1730進行交互作用,以便向所述V2P系統登記及宣告內容。發送器1720與獎勵管理器1740進行交互用,該獎勵管理器1740負責向用戶收費以及對適當實體提供獎賞.發送器1720與電子節目指南(EPG)1750進行交互作用,以便允許利用個人視頻錄像機(PVR)擴增設備來錄制內容.根據圖17,發送器1720還包括登記器模塊17210、流送管理模塊17220、FEC編碼器模塊17230、資源監控器模塊17240以及PVR擴增設備模塊17250.登記器模塊17210向所述p2p網絡登記STB的資源和統計量以及宣告內容.每個流送管理模塊17220與接收器進行通信,以便提供數據并且接受控制信號.FEC編碼器模塊17230對與內容項目相對應的媒體文件中的塊進行編碼。資源監控器17240基于所述STB的當前狀態接受或拒絕新的流送請求.該資源監控器17240還在對流媒體會話做出貢獻之后向獎勵管理器1740進行報告.PVR擴增設備模塊17250與電子節目指南(EPG)1750交互作用,以便協調對錄制亊件的調度.圖18呈現了示出長尾的曲線圖.可以使用統計學采樣來對寬泛的觀看行為進行外插.例如,圖18示出了對于廣播節目的受歡迎程度如何觀察到長尾.為了模擬及理解V2P部署的尺寸規格,需要考慮許多變量.例如,可能必需估計由給定的小區大小錄制了多少節目,以便確定例如以下尺寸規格可以錄制多少節目,可以由每個發送器輸送多少流,可以輸送多少并發流,在網絡中可以輸送多少累積流,V2P系統對內容進行歸檔的時間有多久遠,以及每個STB應當具有多大的盤。例如,一項估計可以是訂戶錄制了他們意圖觀看的廣播內容的25、可以使用其他數據(諸如電視節目的尼爾森收視率統計(Nielsenratings))來標識觀看特定節目的給定小區大小人口百分比.例如,覆蓋前500名的電視節目的V2P系統可以被如下建模令所述小區的大小-C(每個用戶都具有PVR);節目/的受歡迎程度是P,;以及觀看節目的用戶將錄制該節目的概率-r,;因此,節目/將被錄制在所述小區中的概率x產p,r,;并且節目/在所述小區中的所錄制的拷貝的平均數-Cpyr,.然后考慮下面三種情形1、DSL網絡上的標準清晰度(SD)質量流(N=3、M-2)2、DSL網絡上的接近DVD質量流(N-5、M-2)3、光纖網絡上的接近DVD或DVD質量流(N-l、M=2).對于其中上游帶寬受到限制并且要被流送到單個接收器的視頻質量是常規的標準清晰度(SD)電視的DSL網絡部署來說,所述有效發送器組要求最多3個,并且所述備用發送器組要求最多2個.圖21A呈現了示出針對3種不同小區大小的對于任何給定節目所能輸送的并發流的數目的曲線圖.例如,在50000個家庭的小區中,V2P可以支持等級靠前的節目的375個并發流.圖21B呈現了示出針對給定小區大小的能夠由V2P輸送的最大(或累積)流數目的曲線圖.例如,V2P能夠對于50000的小區大小輸送24000個并行流.對于其中上游帶寬受到限制并且要被流送到單個接收器的視頻質量是接近DVD的DSL網絡部署來說,所述有效發送器組要求最多5個,并且所述備用發送器組要求最多2個.圖20A呈現示出針對3種不同小區大小的對于任何給定節目所能輸送的并發流的數目的曲線圖,例如,在50000個家庭的小區中,V2P可以支持等級靠前的節目的200個并發流.圖20B呈現了示出針對給定小區大小的能夠由V2P輸送的最大(或累積)流數目的曲線圖.例如,V2P能夠對于50000的小區大小輸送17000個并行流.對于其中上游帶寬是100Mbps并且要被流送到5個接收器的視頻質量是接近DVD的光纖網絡部署來說,所述有效發送器組要求最多1個,并且所述備用發送器組要求最多2個.圖21A根據特定實施例呈現了示出針對3種不同小區大小的對于任何給定節目所能輸送的并發流的數目的曲線圖.例如,在20000個家庭的小區中,V2P可以支持等級靠前的節目的925個并發流.圖21B呈現了示出針對給定小區大小的能夠由V2P輸送的最大(或累積)流數目的曲線圖。例如,V2P能夠對于20000的小區大小輸送80000個并行流.如圖21B所示,V2P能夠輸送總數超出小區的大小的并行流,這允許支持流送到單個家庭內的多個電視.此外,這允許支持異構網絡.例如,小區可以包括具有或者不具有PVR功能的STB.不具有PVR功能的STB可能僅僅接收視頻流而不向所述網絡供給視頻流。此外,小區可以包括具有FFTX或DSL接入的STB,根據特定實施例,為了確定由V2P提供的歸檔能力的尺度,需要考慮許多參數,將在下面概括某些參數和對于特定實施例的基本假設.STB盤大小lGb=~1小時的MPEG-2SD視頻l/2Gb-~1小時的MPEG-4接近DVD視頻l/3Gb=~l小時的MPEG-4SD視頻日常使用率具有PVR的訂戶每天觀看-5小時的電視,其中的25X被錄制(~1.25小時).因此,下面的等式幫助近似所述歸檔周期所要求的STB盤大小STB盤大小-月數x30x1.25STB盤大小-月數x37.5因此,對于3個月的歸檔,所要求的盤大小會是》STB盤大小~120Gb(MPEG-2SD)=>STB盤大小~60Gb(MPEG-4接近DVD)—STB盤大小-40Gb(MPEG-4SD)圖22是示出了根據特定實施例的V2P系統的歸檔方面的曲線圖.例如,根據圖22,V2P系統可以對于小區大小M(其中M-2000)完全覆蓋等級最高的N個節目(其中N-3").V2P利用多源視頻流媒體技術.根據特定實施例,重要的前提是,要被每個發送源流送的視頻文件在編碼格式、比特率和視頻的起始幀方面是完全相同的.V2P的一種可能的實現方式是在STB/PVR設備的p2p網絡內.STB/PVR設備的所有方具有幾種用于選擇他們希望錄制的節目的機制.例如,一種機制是通過電子節目指南(EPG)可以周期性地把STB的系統時鐘與服務提供商的時鐘重新同步,使得其保持在預定容限(諸如幾秒鐘)內。所述同步確保STB/PVR設備可以被正確地調度來錄制廣播節目.這種時鐘差異的明顯后果是各STB/PVR設備可能不全在完全相同的時間開始錄制廣播節目,并且因此可能不是從相同的起始幀開始錄制.因此,在V2P可以從多個STB/PVR設備流送所錄制的節目之前,要求一種機制來識別出視頻文件中的公共起始幀.圖23是示出根據本發明的一個實施例的用于識別出公共視頻幀的方法的流程圖.在從流媒體會話接收流媒體視頻數據之前,接收器可以獲得將供給流媒體視頻數據的供應方組.每個供應方從對應于特定內容項目(諸如廣播節目)的視頻文件的單獨拷貝供給流媒體視頻數據。在該序列中,在步稞2310,接收器定義時間窗口,該時間窗口例如可以是以廣播節目的開始時間為中心并且在時間上向前及向后延伸預定同步容限的時間間隔.可以在幾秒鐘之內對連接到服務提供商的網絡的客戶端設備(諸如STB)的時鐘進行同步,使得典型的同步容限可以是3-5秒.在步驟2320,接收器從每個供應方接收參考對象組,所述參考對象組對應于在相關的已定義時間窗口期間出現在所述視頻文件內的一組參考視頻幀.例如,在MPEG編碼的視頻文件的上下文中,每組參考視頻幀可以對應于在所述時間窗口期間出現在視頻文件的每個單獨拷貝內的所有I幀.每個參考對象可以代表包含在該組參考視頻楨中的每個視頻幀內的所有信息或部分信息.例如,使用公知的散列技術,每個參考對象可以是使用被包含在該組參考視頻幀中的每個視頻幀內的所有信息或部分信息計算的散列值.散列值可以由各供應方在流媒體會話發生之前被預先計算.在步驟2330,所述接收器對來自所有供應方的所接收的各組參考對象進行比較,以便識別出所有接收到的各組參考對象所共有的公共參考對象.在步驟2340,所述接收器把起始幀設置到對應于在步驟2340被識別出的公共參考對象的視頻幀.例如,接收器定義時間窗口,該時間窗口與服務提供商的各STB之間的時鐘同步容限相關,通常以幾秒鐘的容限對所述時鐘進行同步,諸如3-5秒.在電子節目指南(EPG)的幫助下,所述供應方找到節目的起始時間,并且然后使用所述同步容限來確定要找到公共起始點需要在視頻文件內向后或向前找多遠。所述時間窗口例如可以是以廣播節目的開始時間為中心并且在時間上向前及向后延伸同步容限的時間間隔.所述供應方生成參考對象,所述參考對象對應于在所述時間窗口期間出現在視頻文件內的一組參考視頻幀.例如,在MPEG編碼的視頻流(包括MPEG-2和MPEG-4)的上下文中,每個畫面組(GOP)都獨立于其他GOP。所述供應方可以識別出作為I幀的每個GOP的開頭.然后,需要對在所述時間窗口期間出現在視頻文件的每個供應方的拷貝中的I幀進行比較,如果所述發送器把所述I幀發送到接收器,那么在短時間內發送這個數據量在技術上可能是不可行的.每個供應方可以計算所述I幀的散列值,并且把這些散列值發送到所述接收器,不是計算整個I幀的散列值,而是有可能利用來自每個I幀的部分數據來繼續該算法.此外,可以離線地計算散列值,使得可以基于來自接收器的請求而提供所述散列值,當所述接收器接收到各組散列時,該接收器可以很容易地對其進行比較并且在該組供應方中找到表示所述視頻文件的起始位置的公共I幀.在圖23中示出的方法并不保證選擇到節目的精確起始楨.然而,該方法將選擇到相對于所述STB同步容限接近所述節目的開頭的起始幀.根據特定實施例,該方法的優點在于,該方法是一種分布式解決方案,并且其不要求視頻場景分析來確定起始幀.在本文獻中描述了根據各實施例的針對由STB形成的p2p網絡所設計的所提出的視頻流媒體系統V2P的各組成部分.根據特定實施例,V2P能夠克服上行鏈路帶寬約束,并且利用諸如智能對等方選擇、動態緩沖器管理、基于斷層掃描的連接監控以及前向糾錯碼之類的技術實現了相對網絡波動和設備故陣的彈性.根據特定實施例,V2P提供了各種技術,以便提供諸如多對一視頻流中的暫停、快進和快退之類的交互式特征.V2P被擴展來在光纖網絡中提供視頻流.根據特定實施例,還提供了用于光纖和DSL網絡中的資源提供的詳細分析模型.根據特定實施例的算法還提供了對于由不同用戶錄制的所有視頻內容的同步,使得V2P可以利用多對一流媒體模型進行流送.總而言之,根據各實施例,本發明設想了在具有非對稱帶寬特性并且可能具有不可靠連接的異構對等網絡中利用多個源(包括有效和備用供應方)進行高質量和彈性視頻流送.根據各實施例,本發明設想了利用多種機制實現高質量和彈性的流媒體,其中包括智能對等方選擇、基于網絡斷層掃描的連接監控、動態緩沖器管理、動態速率分配以及動態FEC編碼和解碼.本發明還設想了以高效的方式模擬交互式重放控制,諸如暫停、快進和快退.雖然結合優選實施例描述并說明了本發明,但是在不脫離本發明的精神和范閨的情況下,本領域技術人員可以想到許多變型和修改,因此,本發明不限于上面闡述的方法或構造的精確細節,因為這樣的變型和修改意圖被包括在本發明的范圍之內.權利要求1.一種用于在服務提供商的訂戶小區對等網絡中提供按需點播流數據的系統,該系統包括服務提供商,該服務提供商可操作來供給可下載的和可錄制的內容,所述內容可以在被下載或被錄制之后作為流數據而被供給;設備的訂戶小區對等網絡,該訂戶小區對等網絡與所述服務提供商相關聯并且被適配來與電視機連接;接收器,該接收器是所述服務提供商的訂戶小區對等網絡中的節點;以及供應方組,所述供應方組包括有效供應方和備用供應方,其中每個供應方都是所述服務提供商的訂戶小區對等網絡中的節點,并且其中每個供應方都可操作來在從所述服務提供商或者從一個或多個其他節點下載和/或錄制了內容之后供給按需點播流數據;其中,所述接收器可操作來從所述供應方組中的一個或多個供應方接收該接收器按需流送的流數據。2、根據權利要求1所述的系統,其中,每個所述設備是機頂盒(STB)或個人計算機(PC)3、根據權利要求l所述的系統,其中,所述流數據是音頻數據、視頻數據或者全部二者.4、根據權利要求1所述的系統,還包括所述訂戶小區對等網絡的搜索引擎.5、根據權利要求4所述的系統,其中,所述搜索引擎還包括內容瀏覽器、內容推薦器或者全部二者.6、根據權利要求l所述的系統,還包括獎勵管理器.7、根據權利要求l所述的系統,還包括數字版權管理器.8、一種用于在服務提供商的訂戶小區對等網絡中提供按需點播流數據的方法,該方法包括為服務提供商的訂戶提供訂戶小區對等網絡;提供可下栽的和可錄制的內容,所述內容可以被下栽和/或被錄制并且隨后作為流數據被按需供給;提供與該訂戶小區對等網絡相關聯的搜索引擎;以及把所述訂戶連接到所述訂戶小區對等網絡,并且使得每個訂戶能夠使用所述搜索引擎,以便搜索由連接到該訂戶小區對等網絡的其他訂戶先前所下栽或所錄制的內容,并且以便從一個或多個其他訂戶將這種被下栽的和/或被錄制的內容作為流數據來按需接收,9、根據權利要求8所述的方法,其中,一個或多個一個的所述訂戶是機頂盒(STB)或個人計算機.10、根據權利要求8所述的方法,其中,所迷流數據是音頻數據、視頻數據或者全部二者.11、根據權利要求8所述的方法,其中,所述搜索引擎包括內容瀏覽器和內容推薦器中的一個或多個.12、根據權利要求8所述的方法,還包括提供獎勵管理器,13、根據權利要求8所述的方法,還包括提供數字版權管理器.14、一種用于在訂戶小區對等網絡中接收按需點播流數據的系統,該系統包括訂戶小區對等網絡;流數據的接收器,該接收器是該訂戶小區對等網絡中的節點;以及流數據的供應方組,所述供應方組包括有效供應方組和備用供應方組,其中,所述供應方組中的每個供應方都是所述訂戶小區對等網絡中的節點;其中,所述流數據包括多個塊,并且對于要被按需接收的每個流數據塊,所述接收器可操作來利用FEC編碼開銷比;用信號通知每個有效供應方以單獨分配的數據速率發送利用所述FEC編碼開銷比進行了FEC編碼的塊的至少單獨分配的片斷;接收FEC編碼塊的段,其中每個段表示所述單獨分配的片斷的至少一部分;基于所述段的聚集解碼所述FEC編碼塊并且將已解碼塊存儲在緩沖器中;監控與每個有效供應方的網絡連接的性能;監控該緩沖器以便檢測出會導致上溢或下溢的狀況;以及基于所述網絡連接的性能以及所述緩沖器的狀況來執行質量適配,以避免到達該緩沖器的下溢或上溢。15.一種用于在訂戶小區對等網絡中接收按需點播流數據的方法,該方法包括從訂戶小區對等網絡中的候選供應方組中選擇供應方組以作為有效供應方組,并且從所述候選供應方組中選擇另一供應方組以作為備用供應方組;以及對于要被接收的每個流數據塊利用PEC編碼開銷比;用信號通知每個有效供應方以單獨分配的數據速率發送利用所述FEC編碼開銷比進行了FEC編碼的塊的至少單獨分配的片斷;接收該FEC編碼塊的段,其中每個段表示所述單獨分配的片斷的至少一部分;基于所述段的聚集解碼所述FEC編碼塊并且將已解碼塊存儲在緩沖器中;監控與每個有效供應方的網絡連接的性能;監控該緩沖器以便檢測出會導致上溢或下溢的狀況;以及基于所述網絡連接的性能以及所述緩沖器的狀況來執行質量適配,以避免到達該緩沖器的下溢或上溢.16.根據權利要求15所述的方法,其中,所述流數據是音頻數據、視頻數據或全部二者.17.根據權利要求15所述的方法,其中,所述訂戶小區對等網絡包括機頂盒(STB)、個人計算機(PC)或移動計算設備的任意組合,所述機頂盒(STB)、個人計算機(PC)或移動計算設備中的每個都作為供應方、接收器或全部二者進行操作。18.根據權利要求15所述的方法,其中,選擇供應方組是基于一種或多種度量的任意組合,所述度量包括供應方的供給或接收狀態、可用上行鏈路帶寬、處理能力、可靠性歷史、路徑等待時間、分組丟失以及公平性,19.根據權利要求18所述的方法,其中,可靠性歷史是基于設備故障率、網絡連接時間以及供應方的內容可用性的任意組合.20.根據權利要求18所述的方法,其中,公平性是基于負荷平衡和供應方的先前選擇歷史的任意組合.21.根據權利要求15所述的方法,其中,監控與每個有效供應方的網絡連接的性能是被動的,并且是基于實際從該供應方接收到的流數據的度量,22、根據權利要求15所述的方法,其中,監控與每個有效供應方的連接的性能包括檢測該有效供應方是否經歷了網絡波動、是否發生了故陣或者是否刪除了要作為流數據被供給的內容.23、根據權利要求15所述的方法,其中,監控所述緩沖器包括監控當前緩沖器大小、當前播放速率以及當前流送速率.24、根據權利要求15所述的方法,其中,執行質量適配包括以下各項中的一項或多項速率分配調節;供應方組調節;以及FEC編碼參數調節.25、根據權利要求24所述的方法,其中,所述速率分配調節包括以下各項中的一項或多項為有效供應方分配新的所分配的數據速率;以及為有效供應方分配新的所分配的片斷。26、根據權利要求24所述的方法,其中,所述供應方組調節包括以下各項中的一項或多項從所述有效供應方組中去除有效供應方;把備用供應方添加到所述有效供應方組中;以及把候選供應方添加到所述備用供應方組中.27、根據權利要求24所述的方法,其中,編碼參數調節包括以下各項中的一項或多項利用新的FEC編碼開銷比;以及利用新的FEC編碼方案.28、根據權利要求15所述的方法,還包括從所述對等網絡的搜索引擎獲得供應方的候選組.29、根據權利要求15所述的方法,還包括在流數據的所述有效供應方組中確定要被用作流數據源的媒體文件的一個或多個拷貝內的公共起始點.30、根據權利要求29所述的方法,其中,在所述有效供應方組中確定媒體文件內的公共起始點包括限定時間間隔;從每個有效供應方接收一組參考對象,其中每個參考對象對應于在所述時間間隔期間出現在媒體文件內的參考楨;把所接收到的各組參考對象進行比較,以便識別出所有組參考對象所共有的公共參考對象;以及把所述公共起始點設置成對應于該公共參考對象的參考幀,31、根據權利要求30所述的方法,其中,所述媒體文件是視頻文件,每個參考楨是視頻楨,并且每個參考對象是散列值.32、根據權利要求30所述的方法,其中,所述時間間隔與連接到所述訂戶小區對等網絡的設備的時鐘同步相關.33、一種用于在訂戶小區對等網絡中供給按需點播流數據的系統,該系統包括接收器,該接收器是訂戶小區對等網絡中的節點;以及具有流數據的供應方組,其中,所述供應方組中的每個供應方是所述訂戶小區對等網絡中的節點;其中,所述流數據包括多個塊,并且對于要被供給的每個流數據塊,每個供應方可搮作來從所述接收器接收信號,該信號指示要被利用的FEC編碼開銷比、單獨分配的數據速率以及利用該FEC編碼開銷比對該塊進行FEC編碼搮作所得到的FEC編碼塊的單獨分配的片斷;以及以所述單獨分配的數據速率發送所述FEC編碼塊的所述被分配的片斷的至少部分.34、一種用于在訂戶小區對等網絡中供給按需點播流數據的方法,該方法包括對于要由訂戶小區對等網絡中的接收器接收的每個流數據塊從所述接收器接收信號,該信號指示要被利用的FEC編碼開銷比、單獨分配的數據速率以及利用該FEC編碼開銷比對該塊進行FEC編碼搮作所得到的FEC編碼塊的單獨分配的片斷;以及以所述單獨分配的數據速率把所述FEC編碼塊的所述被分配的片斷的至少部分發送到該接收器.35、根據權利要求34所述的方法,其中,利用FEC編碼開銷比包括對于所述塊的后續PEC編碼設置所述FEC編碼開銷比,或者使用所述FEC編碼開銷比來選擇預先編碼的塊.36、一種用于模擬流媒體視頻數據的快進或快退重放的方法,該方法包括以流送速率接收流媒體視頻數據;把所接收到的流媒體視頻數據存儲在緩沖器中以供隨后以對應于正常速度的重放速率進行重放;以高于所述正常速度的速度播放來自所述緩沖器的所存儲的流媒體視頻數據;針對其中所述流送速率低于所述重放速率的下溢狀況監控所述緩沖器;基于檢測到下溢狀況,在所存儲的流媒體視頻數據之間把預先確定的視頻剪輯插入到該緩沖器中.37、一種用于模擬流媒體視頻數據的快進或快退重放的方法,該方法包括以流送速率從視頻文件接收流媒體視頻數據;把所接收到的流媒體視頻數據存儲在緩沖器中以供隨后以對應于正常觀看速度的正常重放速率進行重放;接收用于以對應于加速觀看速度的加速重放速率進行快進重放的命令;從所述視頻文件中的跳躍點開始接收流媒體視頻數據;以及以高于所述正常重放速度的重放速率播放來自所述緩沖器的所存儲的流媒體視頻數據,以便模擬所述加速重放速率下的重放.38、根據權利要求37所述的方法,還包括在所存儲的流媒體視頻數據之間把預先確定的視頻剪輯插入到所述緩沖器中.全文摘要集中式按需點播視頻(VoD)系統提供了有限的內容和有限的歸檔能力。對等網絡允許用戶直接在對等方之間共享更多選擇的內容,但是各對等方之間的連接可能只有有限的上行鏈路帶寬并且可能不可靠。根據各實施例,本發明設想了用于在異構對等網絡內從一個或多個源進行流數據的高質量和彈性的傳輸的系統和方法,以便解決這些和其他問題。文檔編號H04N7/173GK101305612SQ200680038239公開日2008年11月12日申請日期2006年8月9日優先權日2005年8月12日發明者A·哈比布,S·古斯申請人:諾基亞西門子通信有限責任兩合公司