專利名稱:多方合作對等視頻成流的制作方法
技術領域:
本發明總體上涉及聯網,具體涉及一種用于視頻內容成流
(streaming)的對等(P2P)網絡。
背景技術:
提出了對等(P2P)連網以支持互聯網上的視頻內容成流業務。 用客戶端和服務器功能實現每個對等端。該對等端接收內容,對內容 進行高速緩存,并將該內容成流傳送至其他對等端。由于對等端的貢 獻,系統總體上可以支持比傳統的客戶端-服務器業務模型更多的用 戶。
在當前的互聯網中,大量的對等端使用具有非對稱上載/下載帶寬 的ADSL或高速線纜調制解調器。下載帶寬通常比上載帶寬大得多。 因此,雖然對等端可以具有足夠的帶寬以接收成流的內容,但這些對 等端的上載帶寬不足以大到支持其他對等端。非對稱帶寬問題極大地 影響了 P2P視頻內容成流業務的效果。
某些現有技術試圖提供來自多個源的成流業務。某些現有技術在 分組級執行工作負荷調整。其他現有技術方案將對等端間的連接/鏈路 建模為馬爾可夫鏈。另外的現有技術方案采用概率途徑來解決動態子 流調整問題。
發明內容
本發明提供了一種機制,允許用戶集合(此處表示為發送對等端) 向另一用戶(表示為接收對等端)合作提供成流業務,即使是在單獨 發送對等端的上載帶寬不足以將內容成流至接收對等端的情況下。本 發明的方法和設備可解決對等視頻成流業務中遇到的非對稱帶寬問 題。此處所用的對等端包括節點、視頻回放設備、個人數字助理(PDA)、包括膝上型計算機在內的計算機、以及任何其他能在對等網絡中發送 和接收內容的設備。
本發明是一種使具有非對稱帶寬的對等端能合作貢獻帶寬的多方 合作P2P成流方法。本發明的要點是允許多個發送對等端合作將內 容成流至接收對等端,以使發送對等端的總上載帶寬大于所需成流帶 寬,從而解決了非對稱帶寬問題。
描述了一種多方合作成流方法和設備,包括將內容流的分組劃 分為子流;在發送對等端當中均勻地分配用于傳送的子流;發布命令, 以使發送對等端同時開始向接收對等端傳送子流;以及調整由發送對 等端周期性傳送的子流的數量。
描述了一種用于傳送數據的方法和設備,包括將數據流劃分為 多個子流;建立該多個子流在多個發送設備當中的分配;使該多個發 送設備能根據該分配同時開始傳送該多個子流;以及調整該分配。
結合附圖來閱讀以下詳細描述,從中最佳地理解本發明。附圖包 括以下簡要描述的圖,其中,附圖中的相同數字代表類似的元件 圖1是根據本發明的發送對等端的結構框圖; 圖2是根據本發明的接收對等端的結構框圖; 圖3是本發明的方法的流程圖4是本發明的最小權完全匹配方案的典型狀態圖。
具體實施例方式
本發明允許對等端集合(發送)合作向另一對等端(接收)提供 視頻內容成流業務,即使是在單獨發送/轉發對等端的上載帶寬不足以 單獨地將內容成流至接收對等端的情況下。本發明的方法和設備可解 決P2P視頻內容成流過程中遇到的非對稱帶寬問題。本發明主動探測 上載帶寬,并不斷嘗試優化視頻成流質量。
更具體地,本發明將分組劃分為子流。由于子流是分組的集合,
所以信令開銷降低,動態工作負荷調整策略得以簡化。此外,本發明的方法和設備通過在特定路徑上注入更多流量來主動探測可用帶寬。
本發明對變化的網絡環境更快速地起作用,這在P2P網絡設置中是很
關鍵的。本發明將動態子流調整問題表述為最小權完全匹配(minimum
weight perfect matching )問題。
用{^,/ = 1,2,...,^表示使內容成流至目的/接收對等端£1的>^個發送
對等端的集合。假定具有預期內容的N個發送對等端己由其他手段識 別。將成流視頻內容在發送節點處存儲為大小相等的分組的集合。識 別出的發送節點的每一個都具有內容的拷貝。分組具有指示其在視頻 內容流中位置的序列編號。將視頻內容流分割M個速率相等的子流。 每個子流都具有每M個分組中的一個分組。以下描述允許N個對等端 共同向d發送M個子流的設備。假定接收對等端d具有足夠的下載帶寬 以便以速率r接收整個流,而發送對等端Si的上載帶寬受限并可能小于 流速率r。將子流數M選擇為大于發送對等端數N。首先,分別描述發 送和接收對等端的結構。其后,描述基于最小權完全匹配(MWPM) 的算法,該算法調整由每個發送對等端攜帶的子流的數量,以優化接 收對等端處感知的成流質量。
如圖1所示,發送對等端包括三個組件控制消息監聽器105、子 流信息數據庫110和數據泵115。控制消息監聽器105持續監控來自接收
對等端的輸入控制消息。當控制消息到達時,發送對等端相應地更新 子流信息數據庫IIO。控制消息由三部分組成(ac"o"、 jm6—"ream—W、 Hme—可以執行兩種動作添加和刪除。如果添加動作,則控制 消息監聽器105將(^6—Weaw—W、 "we—o,eO對插入子流信息數據 庫110中,而如果刪除動作,則控制消息監聽器105刪除具有 w6一^^am—W的子流信息數據庫110中的條目。數據泵115負責基于子 流信息數據庫110來發送/傳送子流。
如圖2所示,接收對等端具有三種組件數據接收器205、成流協 調器210和控制消息發送器215。一個數據接收器205專用于從一個發送 對等端接收數據。數據接收器205接收從對應的發送對等端發送的子 流,并收集關聯子流的成流質量度量。將成流質量度量定義為按時到 達的分組的百分比。成流協調器210將來自多個發送對等端的成流協調起來,以優化接收對等端一側感知的質量,目卩,按時到達的分組的百 分比。控制消息發送器215基于來自成流協調器210的輸入來創建控制
消息,并向目標發送對等端發送該控制消息。
成流協調器210監控發送對等端的成流質量,并動態調整分配給 每個發送對等端的子流的數量,以優化總體成流質量。圖3示出了成流 協調器210的工作流程的流程圖,該流程圖由兩個階段組成一 一初始化 階段305和動態調整階段325。成流協調器210所使用的方法將子流動態 分配給發送對等端,從而通過適配于浮動的可用帶寬來優化成流質量。
由于從發送對等端Si到接收對等端d的可用上行流帶寬是未知的, 所以在初始化階段的310處,成流協調器210在所有發送對等端當中均 勻地分發子流。不同發送對等端所攜帶的子流的數量可能由于舍入規 則(round-up error)而相差l。在315處,成流協調器210向發送對等端 通知被請求以發送/傳送的子流集合。然后,在320處,成流協調器210 向發送對等端發布命令以同時啟動成流。
在動態調整階段325,成流協調器210周期性調整每個發送對等端 所攜帶/傳送的子流的數量。這就允許發送對等端攜帶/傳送正確反映 各自可用上載帶寬的子流的數量,從而優化視頻的總傳送質量。
在330處,成流協調器210監控發送對等端的傳送質量。以傳送質
量的降序來對發送對等端進行排序。本發明的方法對具有較好傳送質 量的對等端與具有較差傳送質量的對等端之間的m個子流進行互換/ 交換。m的值是配置參數,其應小于N/2。排列在頂部的m個發送對等 端表示為強發送對等端,而排列在底部的m個發送對等端表示為弱發 送對等端。通過將一些工作負荷從弱對等端移至強對等端來最大化總 傳送質量。
出現時間(epoch)是對每個對等端傳送的子流的數量進行調整的 時間間隔。出現時間的長度是配置參數,其應被選擇為足夠小以迅速 捕獲連接帶寬變化,且足夠長避免動態調整過程中引入的不必要開銷。 出現時間例如是5秒。出現時間內的動態調整過程包括兩個步驟試驗 步驟和動態調整步驟。在試驗步驟期間,在335處,要求強對等端在短 時段中再多攜帶/傳送一個子流,并測量和記錄每個強對等端(比先前
10多一個子流)的傳送質量。在動態調整階段的動態調整步驟340期間,將子流從弱對等端移至強對等端。可以將至多一個子流從弱對等端移開,強對等端可以攜帶至多一個額外的子流。其合理之處在于可使調整過程穩定且流暢地進行。
在實施例中,基于最小權完全匹配(MWPM)的動態子流調整最
大化了接收對等端所感知的傳送質量。令k^和k匚分別為再多攜
帶一個子流之前和之后的第i個強對等端的傳送質量,令b"二為第j個弱對等端的傳送質量。假定弱對等端的傳送質量沒有因少攜帶一個子
流而發生變化。為了示出該問題,考慮圖4中具有三個強對等端和三個
弱對等端的示例。強對等端與弱對等端之間的鏈路代表從弱對等端到強對等端的可能的子流變化。與鏈路相關聯的權重表示這樣的交換的
增益,具體地,M^表示第i個強對等端與第j個弱對等端之間的鏈路權
重。因此,
其中《表示第i個強發送對等端所攜帶的子流的數量,《表示第j個弱發送對等端所攜帶的子流的數量。
方程(1)的方括號內的第一項是將一個子流從弱對等端切換
到強對等端后強和弱對等端的總傳送質量。第二項是子流交換前的總傳送質量。由于沒有子流交換發生,所以如果不能改進傳送,則[《用
于表示權重是非負的。在權重等于o的情況下,意味著沒有子流交換。
最佳子流調整等價于在使權重和最大化的、分成兩部分的圖中找到完
全匹配。分成兩部分的圖是無向圖G^(V,E),其中V可被劃分為兩個集合V1和V2,使得E中的(u,v)指Vl中的u和V2中的v,或V2中的u和Vl中的v。即,所有邊界都處于兩個集合V1和V2之間。使用本發明的最小權完全匹配算法來解決該問題。
隨著子流調整繼續進行, 一些發送對等端可以以沒有攜帶子流而結束。這樣的發送對等端被稱作空閑發送對等端。 一種處理這樣的空閑發送對等端的方式是簡單地將它們排除出發送對等端池。另一種方式是選擇具有特定概率的空閑發送對等端作為強對等端并分配給空閑發送對等端一個子流以攜帶。然后應用上述相同算法。合理之處在于-在這些空閑發送對等端的上載帶寬自上一個時間間隔(出現時間)起顯著改進的情況下,給這些空閑發送對等端以貢獻的機會。
在上述討論中,并沒有考慮鏈路停歇(outage)的條件。在這種
情形下,鏈路被破壞,發送對等端與接收對等端之間的連接丟失。通過設立閾值并主動將未連接的(或較差連接的)對等端排除出發送對
等端池,來處理這樣的條件。例如,可以將閾值設置為c5。如果發送對
等端的傳送質量低于該閾值,則將該發送對等端從發送對等端池中移除,并將該發送對等端的子流均勻地分發給先前時間間隔(出現時間)中選擇的強對等端。
應當理解的是,本發明可以以硬件、軟件、固件、專用處理器或它們的組合等各種形式來實現。優選地,將本發明實現為硬件和軟件的組合。此外,軟件優選地實現為程序存儲設備上實體體現的應用程序。可以將應用程序上載到包括適當結構的機器,且可以由該機器執行該應用程序。優選地,將該機器實現在具有如下硬件的計算機平臺
上 一個或多個中央處理單元(CPU)、隨機存儲器(RAM)和輸入/
輸出(I/O)接口。計算機平臺還包括操作系統和微指令代碼。此處描
述的各種過程和功能可以是微指令代碼的一部分或通過操作系統執行
的應用程序的一部分(或它們的組合)。此外,各種其他外圍設備可以
連接到如附加數據存儲設備和打印設備之類的計算機平臺。
還應當理解的是,由于附圖中示出的一些組成系統組件和方法步
驟優選地以軟件來實現,所以系統組件(或過程步驟)之間的實際連接可能根據對本發明進行編程的方式而有所不同。在給出此處的教導的情況下,相關領域的技術人員將能夠想到本發明的這些以及類似的實施方式或配置。
權利要求
1. 一種傳送數據的方法,所述方法包括將數據流劃分為多個子流;建立所述多個子流在多個發送設備當中的分配;使所述多個發送設備能根據所述分配同時開始傳送所述多個子流;以及調整所述分配。
2. 根據權利要求l所述的方法,其中所述調整動作還包括監控所述多個發送設備的傳送質量;基于所述多個發送設備的傳送質量,對所述多個發送設備進行排序;以及在所述多個發送設備中具有較差傳送質量的設備與所述多個發送設備中具有較好傳送質量的設備之間交換預定數量的子流。
3. 根據權利要求2所述的方法,還包括從所述多個發送設備中選擇預定數量的所述具有較好傳送質量的設備,其中所選的、具有較好傳送質量的設備被表示為強發送設備;以及從所述多個發送設備中選擇相等數量的具有較差傳送質量的設備,其中所選的、具有較差傳送質量的設備被表示為弱發送設備,此外,其中所選強發送設備的所述預定數量小于所述多個發送設備數量的一半。
4. 根據權利要求3所述的方法,其中所述交換動作還包括請求所述強發送設備在預定時段中傳送先前分配給所述弱發送設備的附加子流;測量和記錄傳送所述附加子流的所述強發送設備的傳送質量;以及將所述附加子流從所述弱發送設備移至在所述預定時段后繼續具有較好傳送質量的所述強發送設備。
5. 根據權利要求3所述的方法,還包括使權重與所述強發送設備和所述弱發送設備之間的每條鏈路相關聯,所述權重反映了所述交換動作的增益;以及基于使所述權重的和最大化,在所述強發送設備與所述弱發送設備之間執行所述交換動作。
6. 根據權利要求l所述的方法,其中所述多個發送設備是對等網絡的成員,此外,多個接收設備中的接收設備是所述對等網絡的成員。
7. 根據權利要求2所述的方法,其中子流的所述預定數量大于所述多個發送設備的數量。
8. 根據權利要求5所述的方法,其中所述對等網絡的帶寬是非對稱的,所述接收設備具有足夠的帶寬,以便以大于或等于所述多個發送設備的組合速率的速率接收所述數據流。
9. 根據權利要求l所述的方法,其中所述數據流的所述分組是大小相等的。
10. 根據權利要求l所述的方法,其中每個子流都由每預定數量子流的一個分組組成。
11. 根據權利要求l所述的方法,其中每個發送設備都具有所述數據流,所述數據流在每個發送設備處被存儲為大小相等的分組的集合。
12. 根據權利要求l所述的方法,其中所述分組具有指示其在所述數據流中位置的序列編號。
13. 根據權利要求l所述的方法,其中所述內容流是視頻數據流。
14. 根據權利要求2所述的方法,其中所述交換動作以預定時間間隔發生,所述預定時間間隔是配置參數。
15. 根據權利要求14所述的方法,其中所述預定時間間隔足夠短以捕獲帶寬變化,且足夠長以避免不必要的開銷,所述預定時間間隔被表示為出現時間。
16. 根據權利要求5所述的方法,其中與每條鏈路相關聯的所述權重由下式給出-其中,《表示第i個強發送設備所攜帶的子流的數量,《表示第j個弱發送設備所攜帶的子流的數量。
17. —種用于傳送數據的系統,包括用于將數據流劃分為多個子流的裝置;用于建立所述多個子流在多個發送設備當中的分配的裝置;用于使所述多個發送設備能根據所述分配同時開始傳送所述多個子流的裝置;以及用于調整所述分配的裝置。
18. 根據權利要求17所述的系統,其中所述用于調整的裝置還包括用于監控所述多個發送設備的傳送質量的裝置;用于基于所述多個發送設備的傳送質量對所述多個發送設備進行排序的裝置;以及用于對所述多個發送設備中具有較差傳送質量的設備與所述多個發送設備中具有較好傳送質量的設備之間的預定數量的子流進行交換的裝置。
19. 根據權利要求18所述的系統,還包括用于從所述多個發送設備中選擇預定數量的所述具有較好傳送質量的設備的裝置,其中所選的、具有較好傳送質量的設備表示為強發送設備;以及用于從所述多個發送設備中選擇相等數量的具有較差傳送質量的設備的裝置,其中所選的、具有較差傳送質量的設備表示為弱發送設備,此外,其中所選強發送設備的所述預定數量小于所述多個發送設備數量的一半。
20. 根據權利要求19所述的系統,其中所述用于交換的裝置還包括用于請求所述強發送設備在預定時段中傳送先前分配給所述弱發送設備的附加子流的裝置;用于測量和記錄傳送所述附加子流的所述強發送設備的傳送質量的裝置;以及用于將所述附加子流從所述弱發送設備移至在所述預定時段后繼續具有較好傳送質量的所述強發送設備的裝置。
21. 根據權利要求19所述的系統,還包括用于使權重與所述強發送設備和所述弱發送設備之間的每條鏈路相關聯的裝置,所述權重反映了所述交換動作的增益;以及用于基于使所述權重的和最大化在所述強發送設備與所述弱發送設備之間執行所述交換動作的裝置。
22. 根據權利要求17所述的系統,其中所述多個發送設備是對等網絡的成員,此外,其中多個接收設備中的接收設備是所述對等網絡的成員。
23. 根據權利要求22所述的系統,其中所述發送設備中的每個都還包括控制消息監聽器;子流信息數據庫;以及數據泵。
24. 根據權利要求23所述的系統,其中所述控制消息監聽器持續監控來自所述接收設備的輸入控制消息。
25. 根據權利要求24所述的系統,其中當新控制消息從所述接收設備中的一個到達時,接收所述新控制消息的所述發送設備更新所述子流信息數據庫。
26. 根據權利要求23所述的系統,其中所述數據泵基于所述子流信息數據庫中的信息來傳送所述子流。
27. 根據權利要求22所述的系統,其中所述接收設備還包括多個數據接收器,每個數據接收器都專用于從所述發送設備中的一個接收子流數據;成流協調器;以及控制消息發送器。
28. 根據權利要求27所述的系統,其中每個數據接收器都收集與其相關聯的發送設備的成流質量度量,其中所述成流質量度量是按時到達的所述子流的所述分組的百分比。
29. 根據權利要求28所述的系統,其中所述成流協調器將來自所述發送設備的成流相協調,此外,其中所述成流協調器監控從所述發送設備中的每一個接收到的所述成流質量度量,并動態調整由所述發送設備周期性傳送的子流的數量。
30.根據權利要求27所述的系統,其中所述控制消息發送器基于來自所述成流協調器的輸入來創建控制消息,并將所述控制消息傳送到所述發送設備。
全文摘要
描述了一種用于傳送數據的方法和設備,包括將數據流劃分為多個子流;建立該多個子流在多個發送設備當中的分配;使該多個發送設備能根據該分配同時開始傳送該多個子流;以及調整該分配。
文檔編號G06F17/00GK101501682SQ200680055408
公開日2009年8月5日 申請日期2006年7月20日 優先權日2006年7月20日
發明者庫馬爾·拉馬斯瓦米, 紹拉伯·馬瑟, 楊 郭 申請人:湯姆森許可貿易公司