新四季網

數據分發系統及方法

2023-04-26 06:30:41

專利名稱:數據分發系統及方法
技術領域:
本發明涉及一種基於P2P技術的視頻點播系統中實現服務質量保證的 數據分發系統的方法和裝置。
背景技術:
內容分發是IPTV系統的關鍵性技術之一。目前主要有兩種模式, 一種 是傳統的客戶端一伺服器模式,另一種是對等傳輸(P2P)模式。對於IPTV 系統中視頻點播內容的分發,傳統的客戶端一伺服器模式會遇到可擴展性 的問題。為了實現即點即播功能,伺服器每收到一個客戶的點播請求,都 將單獨為其建立一個單播連接。因此,這種模式要求伺服器具有充足的出 口帶寬和足夠高的性能,因而使得系統的造價非常昂貴,同時很難支持大 量的用戶。
與客戶端-伺服器模式相比較,基於P2P的模式能夠提供更好的可擴展 性。在P2P系統中,每一個客戶端都是一個對等節點,其既可以從伺服器 或者其他客戶端處請求服務並接收內容,同時也能夠利用自己存儲的內容 為其他對等節點提供服務。這樣整個系統的服務能力隨著用戶數的增長而 增長,有可能支持大規模用戶,因而具有很好的可擴展性。目前的客戶端 (比如機頂盒)通常具有較大的硬碟,可以存儲一定量的視頻內容。在P2P 模式下,這些內容可以為其它用戶提供服務,從而可以減輕骨幹網上的帶 寬消耗和伺服器的負擔。P2P模式既可以用於直播類的應用,也可以用於 點播類的應用。和直播類應用不同的是,在點播類應用中用戶的請求是異 步的,並且系統需要支持一些對節目的交互控制命令(如快進、快退以及 暫停等)。研究人員己經提出了很多基於P2P的視頻點播系統的解決方案。 在文獻[l]中,定義了基於P2P模式VOD的基本流程,包括客戶端如何查 詢能為其提供服務的對等節點並從該對等節點處獲取數據,同時也討論了 將某些"熱片"內容提前部署到客戶端上去以提高P2P系統的服務能力。文獻[2]主要考慮了P2PVOD系統中的內容權限問題。比如說,當某個用戶 向伺服器發出申請請求播放節目時,伺服器首先會檢査該用戶是否有權限 獲得該內容,例如用戶是否購買了該項服務,以及該內容是否已被加鎖 (Parental Control)。文獻[3]中考慮了 P2P VOD系統中的一些高級特性和優 化方法,比如說安全問題,即如何為內容加密以及如何分發密鑰,另外還 包括在選擇對等節點提供服務時如何能夠選擇附近的節點以優化P2P連接 的性能。
但以往的方案並未解決如何能夠提供可靠服務的問題。實際上,P2P 模式需要客戶端參與提供服務,但客戶端屬於用戶端設備,服務運營商很 難擁有絕對的控制權限(比如,保證其一直在線),因而其不具有伺服器所 擁有的穩定性和可靠性,同時客戶端可能頻繁加入或退出P2P系統,這對 系統能夠穩定的提供服務也是一個很大的挑戰,另外客戶端也可能存在性 能上的限制,比如處理能力、上行帶寬等。因此對於P2P系統而言,服務 的可靠性是一個很大的問題,系統很難為用戶提供服務質量的保證。這意 味著傳統的P2P系統很難直接應用於電信級服務當中,比如IPTV。從另一 個角度來說,在電信級服務中,電信運營商擁有掌控網絡資源的能力,在 必要時可以利用這些資源(比如伺服器資源)來增強P2P系統的性能,從 而使得P2P系統有可能提供某種程度上的服務質量保證。 US patent 20050055718, "Peer-to-peer architecture for sharing video on demand contsnt'、 US patent 20060107286, "System and method for the controlled on-demand distribution of content via a centralized server and a peer-to-peer network"; [3] US patent 20070250880, "Peer-to-peer video on demand techniques";

發明內容
本發明通過在視頻點播系統中結合客戶端-伺服器模式和P2P模式,使 得系統既具有良好的可擴展性,同時能夠提供一定的服務質量保證。
具體來說,客戶端的存儲裝置可以根據伺服器制定的策略來存儲部分視頻內容,從而為請求相同內容的其他用戶提供服務。當客戶端在接收和 播放視頻節目時,可以在緩衝區中緩存最近收到的部分數據(比如幾分鐘), 從而有可能為與其播放點鄰近的其他用戶提供服務。
當客戶端點播視頻節目時,首先儘量使用P2P模式從其它用戶處獲取 服務,這樣可以節省骨幹網絡的帶寬消耗和伺服器的負擔,從而使得系統 具有良好的可擴展性。但是,如果由於對等節點提供服務的不可靠性而使 得即將播放的數據不能依賴P2P模式及時的獲取,客戶端可以使用客戶端-伺服器模式直接從伺服器端獲取緊急的數據以保證播放的連續性,從而實 現服務質量上的保證。本發明假定P2P VOD應用部署於能夠提供區分服務 (如DiffServ)的網絡中,系統將為應用在高優先級上分配一定的帶寬(通 常大於節目的視頻流碼率)以提升服務質量,同時客戶端在選擇對等節點時 要考慮性能因素,優先選擇擁有足夠資源(網絡帶寬、處理能力等)的節 點。
本發明涉及一種終端裝置,其特徵在於,具有網絡接口部,連接到 網絡,通過該網絡與其他終端以及進行數據分發管理的伺服器進行通信; 數據檢査部,檢測接收數據塊中的數據是否缺失;以及,控制部,所述控 制部根據伺服器提供的、能夠為本終端提供數據服務的其他終端信息,以 及在其他終端存儲的相應數據信息,確定為本終端裝置提供服務的其他終 端裝置,並控制所述網絡接口部與所確定其他終端裝置進行所需的數據的 傳輸,當所述數據檢查部檢測到在規定的時間內應該再現的數據塊中的數 據缺失時,控制部控制該網絡接口部向所述伺服器請求缺失數據。同時, 該終端裝置還具有並行下載模塊,實現從多個終端並行下載數據以充分 利用客戶端的可用網絡帶寬,同時負責並行下載流之間的協調;帶寬資源 管理模塊,主要負責管理該終端的上/下行帶寬資源的分配,在並行下載模 塊的多個連接之間調整下行帶寬分配;可以在同伺服器連接時對可用帶寬 進行分配和優先級調整,保證帶寬。
本發明涉及一種網絡系統,具有多個客戶端及伺服器,其特徵在於, 所述客戶端具有網絡接口部,連接到網絡,通過該網絡與其他網絡設備 進行通信;數據檢查部,檢測接收數據塊中的數據是否缺失;以及控制部, 所述客戶端裝置根據由伺服器提供的、能夠為本客戶端提供數據服務的其 他客戶端信息以及在其他客戶端存儲的相應內容信息,來確定為本客戶端 的提供服務的客戶端,並與所選客戶端來進行數據傳輸。該網絡中的所述
9客戶端的數據檢査部檢測到在規定的時間內應該再現的數據塊缺失時,該 客戶端從伺服器取得該數據塊,同時,該客戶端裝置還具有並行下載模 塊,實現從多個客戶端並行下載數據以充分利用客戶端的可用網絡帶寬, 同時負責並行下載流之間的協調;帶寬資源管理模塊,主要負責管理該終 端的上/下行帶寬資源的分配,在並行下載模塊的多個連接之間調整下行帶 寬分配;可以在同伺服器連接時對可用帶寬進行分配和優先級調整,保證 帶寬。所述伺服器具有視頻內容存儲資料庫,該視頻內容存儲資料庫存 儲著各視頻節目的原始數據;客戶端存儲內容資料庫,記錄著客戶端存儲 視頻內容的信息;客戶端播放信息資料庫,其記錄著各個客戶端當前播放 節目的信息;網絡接口部,連接到網絡,通過該網絡與其他網絡設備進行 通信;以及控制部,所述控制部包括內容管理/分發模塊,該內容管理/ 分發模塊可以根據一定的策略要求客戶端將正在接收和播放的數據錄入存 儲裝置,甚至主動將客戶端未請求的數據部署到客戶端的存儲裝置中去, 以優化視頻數據在網絡中的分布;客戶端播放控制模塊,該客戶端播放控 制模塊根據客戶端發送的信息來維護和更新客戶端播放信息資料庫,記錄 每個正在播放節目的客戶端的播放進度;所述伺服器還具有帶寬資源管 理模塊,對伺服器的出口帶寬資源進行管理,對與伺服器的各連接進行帶 寬檢測和分配,同時為與客戶端在規定的時間內應該再現的數據丟失後同 伺服器進行的緊急通信預留一定的帶寬以提供服務質量的保障。


圖1是一個示意性的IPTV系統框圖; 圖2是視頻節目內容的數據組織結構圖3(A)是內容伺服器的結構框圖;圖3(B)是內容伺服器存儲數據表的 結構;
圖4是內容伺服器的功能框圖5(A)是客戶端的結構框圖;圖5(B)是客戶端存儲數據表的結構; 圖6是客戶端的功能框圖7是基於P2P模式的內容分發過程的基本消息傳遞圖; 圖8是保證服務質量過程的基本消息傳遞圖9是解釋客戶端-伺服器模式和對等傳輸模式如何合作以保證服務質量的示意圖IO(A)和圖IO(B)是關於客戶端的完整流程圖; 圖11是多個伺服器協作場景的示意圖; 圖12是本發明中定義的消息格式;
具體實施例方式
本發明提出了一種基於P2P技術的視頻點播系統中實現服務質量保證 的方法和裝置。通過利用P2P技術,客戶端之間可以通過相互提供服務來 增強系統的可擴展性。當P2P模式由於對等節點提供服務的不可靠性而不 能取得滿意的服務質量時,系統將啟用客戶端-伺服器模式,通過伺服器為 用戶提供更可靠的服務。和傳統的技術相比較,本發明的優點在於使得系 統既擁有良好的可擴展性,同時又可以為用戶提供滿意的服務質量。
圖1所示為一個簡化的IPTV系統。該系統包括,但並不局限於,內容 伺服器102, 一個或多個客戶端104,網絡連接106。
客戶端104 —般都有一個存儲裝置,客戶端104通過網絡連接106和 內容伺服器102以及其他客戶端進行通信。伺服器102掌握並管理著每一 個客戶端的信息(如存儲內容,播放進度等)。該系統中的每一個客戶端都 同意按照伺服器的要求存儲一定的視頻內容,或在接收並播放視頻節目時 緩存最近的部分數據,以為其他用戶提供服務。
當客戶端104在線時,伺服器102可以發出指令要求客戶端將其正在 接收和播放的節目儲存至存儲裝置,甚至可以主動將客戶端未請求的內容 推送到客戶端的存儲裝置,以提高"熱片"在網絡中的分布。客戶端104 周期性的向伺服器通告其存儲內容的情況,這樣伺服器端可以對視頻節目 內容在網絡中的分布有精確的掌控。客戶端104同時將正在接收並播放的 內容緩存到緩衝區中,從而可以為收看同一節目且播放進度與其鄰近的其 他客戶端提供服務,伺服器102將記錄每一客戶端的播放進度。當另一個 客戶端請求該節目時,伺服器便可以根據播放進度以及緩衝區大小來選出 能為其提供服務的對等節點。
當客戶端104請求播放某個節目時,伺服器102首先查找那些能為該 客戶端提供服務的對等節點,這些節點可以用存儲裝置中存儲的內容或者緩衝區中緩存的內容提供服務。伺服器102將這些節點的列表發送給客戶 端,客戶端可以從中挑出能提供最好性能的節點來請求服務。圖2是視頻節目內容的數據組織結構圖。視頻節目202通常被分割為 大小相等的若干數據塊204, 一個數據塊通常包含若干秒鐘或分鐘的數據, 是客戶端在存儲裝置中存儲數據的最小單位。 一個數據塊204由若干數據 子塊206組成,從而允許客戶端從不同對等節點處下載同一數據塊。 一個 數據子塊由若干數據包206組成,數據包206是網絡傳輸時的最小單位。 在數據塊的頭部,包含該數據塊在節目中的塊序列號和所包含的數據子塊 的數目。同一個數據塊的所有數據子塊都有統一的序列號,該序號包含在 數據子塊的頭部,該頭部同時也包含該數據子塊的大小,以幫助客戶端判 斷是否接收到完整的數據子塊。同一個數據子塊的所有數據包也都有統一 的序列號,該序列號和數據包的大小包含在數據包的頭部。圖3A是內容伺服器102的結構框圖。內容伺服器102包含網絡接口 30,中央處理器(CPU) 32,硬碟34,內存36和總線38。圖3B是內容服 務器存儲數據表的結構。內容伺服器102具有視頻內容存儲資料庫340、客戶端存儲內容資料庫 342、客戶端信息資料庫344和客戶端播放信息資料庫346。視頻內容存儲 資料庫340存儲著各視頻節目的原始數據。客戶端存儲內容資料庫342主 要包含著一張客戶端存儲內容數據表3420,其記錄著客戶端存儲視頻內容 的信息。在客戶端存儲內容數據表3420中,"IP位址"指的是客戶端的IP 地址,"節目標誌符"指的是客戶端所存儲的節目,"數據塊"指的是所存 儲數據塊204的序列號。客戶端信息資料庫344主要包含客戶端信息數據 表3440,其記錄著客戶端的一些狀態信息(比如IP位址,在線/離線)。在 客戶端信息數據表3440中,"IP位址"指的是客戶端的IP位址,"子網掩 碼"指的是客戶端所在網段的子網掩碼,"ON/OFF"指示客戶端當前是否 在線。客戶端播放信息資料庫346包含著客戶端播放信息數據表3460,其 記錄著各個客戶端當前播放節目的信息。在客戶端播放信息數據表3460中, "IP位址"指的是客戶端的IP位址,"節目標誌符"指的是該客戶端當前 正在播放的節目,"開始時間"指的是用戶開始點播節目的時間,"偏移量" 指的是用戶最初請求的數據在整個節目中的位置(以時間衡量),這是因為用戶可能並非從頭開始觀看節目,"緩衝區長度"指的是客戶端用以緩存數 據的緩衝區的大小(以能存儲多長時間的數據來計)。圖4是內容伺服器102的功能框圖。內容伺服器的控制部360包含內 容管理/分發模塊3600、通信模塊3602、客戶端播放控制模塊3604和帶寬 資源管理模塊3606。內容管理/分發模塊3600可以根據一定的策略要求客 戶端將正在接收和播放的視頻數據錄入存儲裝置,甚至主動將客戶端未請 求的數據部署到客戶端的存儲裝置中去,以優化視頻數據在網絡中的分布, 幫助P2P系統取得更好的性能。內容管理/分發模塊3600同時負責管理維 護客戶端存儲內容資料庫342,當伺服器收到客戶端的點播請求時,可以搜 索客戶端存儲內容資料庫342以查找存儲有相關節目數據的對等節點以為 該客戶端提供服務。客戶端播放控制模塊3604根據客戶端發送的節目請求 信息來維護和更新客戶端播放信息資料庫346,記錄每個正在播放節目的客 戶端的播放進度,這樣當有新的客戶端發來點播請求時,就可以根據客戶 端播放信息資料庫346來查找能用緩存的內容為其提供服務的對等節點。 帶寬資源管理模塊3606主要負責對伺服器的出口帶寬資源進行管理,對與 客戶端的各連接進行出口帶寬的分配和監測。帶寬資源管理模塊3606將管 理與客戶端的連接,例如,當客戶端的以P2P方式連接的客戶端不能提供 可靠服務時,客戶端同伺服器之間的緊急連接將啟動以保證客戶端的連續 播放。帶寬資源管理模塊3606將為與客戶端的緊急連接預留一定的帶寬以 提供服務質量的保障。圖5A是客戶端104的結構框圖,圖5B是客戶端存儲數據表的結構。 客戶端104包含網絡接口40,中央處理器(CPU) 42,硬碟44,內存46, 輸出設備48和總線50。在硬碟44中包含著視頻內容存儲資料庫440、客 戶端存儲內容資料庫442。視頻內容存儲440存儲著部分視頻數據以為其它 客戶端提供服務。客戶端存儲內容資料庫442包含客戶端存儲內容數據表 4420,該表記錄著其他客戶端上存儲內容的信息,該信息可從伺服器端獲 得。在客戶端存儲內容數據表4420中,"IP位址"指的是其他客戶端的IP 地址,"內容標誌符"指的是其他客戶端所存儲的節目,"數據塊"指的是 所存儲數據塊204的序列號。圖6是客戶端104的功能框圖。客戶端的控制部460包括內容管理模塊4600,通信模塊4602,並行下載模塊4604以及帶寬資源管理模塊4606。內容管理模塊4600維護著視頻內容存儲資料庫440,根據伺服器的要求將正在接收並播放的或由伺服器主動推送過來的數據存入到視頻內容存儲 440中。並行下載模塊4604主要負責同時與多個對等節點進行連接以並行下載數據,這主要是為了充分的利用網絡帶寬資源。由於對等節點的上/下 行可用帶寬很可能存在不匹配的情況,因而很容易出現客戶端可用下行帶 寬高於對等節點的上行帶寬的情況,因而如果客戶端只從一個對等節點處 獲取服務,則其部分下行帶寬會被浪費。並行下載模塊4604負責從多個對 等節點並行下載數據以充分利用客戶端的可用下行帶寬,同時負責並行下 載流之間的協調問題。而帶寬資源管理模塊4606主要負責管理客戶端的上 /下行帶寬資源的分配,特別是根據系統為客戶端VOD應用分配的高優先 級下行帶寬的約束,在並行下載模塊的多個連接之間如何分配下行帶寬以 保證服務質量。圖7是基於P2P模式的內容分發過程的基本消息傳遞圖。當客戶端104 (在圖7中記為A)想要點播節目或者在播放節目過程中跳到另一個播放 點時,其首先向伺服器102發送內容信息請求消息M102,其消息形式如圖 12所示,該消息指明用戶想要點播的節目和起始播放點。伺服器102負責 找到能為客戶端A提供服務的對等節點,其首先搜索客戶端存儲內容數據 庫342來尋找存儲有目標節目的對等節點,同時查找客戶端播放信息數據 庫346來尋找播放點鄰近、能夠用緩存的數據來為客戶端A提供服務的對 等節點,是否能提供服務可以根據A和對等節點的播放點之間的關係以及 對等節點的緩衝區大小來判斷。伺服器可以使用一些對等節點優化選擇方 法來選擇那些能夠提供更好服務的對等節點。比如說,伺服器102可以優 先選擇與客戶端A處於同一子網的對等節點,這可以通過IP位址和子網掩 碼來判斷。選擇同一子網內的對等節點可以減少P2P連接的傳輸時延,同 時將流量限定在本地子網內。然後伺服器102將對等用戶服務信息M104 發送給客戶端A,對等用戶服務信息M104中包含有伺服器挑選的能為A 提供服務的節點列表以及節點相應存儲內容的信息和播放進度的信息。在 收到對等用戶服務信息M104後,客戶端A將會挑選一些節點向其發送對 等用戶狀態探測消息M106。當對等節點收到消息M106後,可以通過帶寬資源管理模塊4606來獲知高優先級下的當前可用的上行帶寬,從而判斷是 否能提供服務,然後會把自己的狀態通過對等用戶狀態報告信息M108返 回給客戶端A。對等用戶狀態報告信息M108指明該對等節點是否可以提 供服務,同時也包含自己的狀態信息,比如CPU利用率、高優先級下可用 的帶寬等。客戶端A可以根據收到的狀態報告挑選出能夠提供最佳性能的 對等節點作為最佳終端來向其請求服務,在圖7中記該對等節點為B。然 後客戶端A向B發送內容請求信息M110來請求服務。注意到如果伺服器 發現沒有合適的對等節點可以為客戶端A提供服務,則伺服器可以直接為 客戶端A提供服務。如果P2P連接能夠提供足夠的性能,也就是說P2P連接有著足夠的可 用帶寬,對等節點也很穩定,數據能夠及時地被發送到客戶端A以用於播 放,在這種情況下沒有必要再動用伺服器資源。圖7中所示的P2P模式可以幫助系統取得良好的可擴展性,但是很難 保證服務質量。這是因為客戶端104屬於用戶端設備,本質上是不可靠的, 伺服器102很難對其完全的掌控。當客戶端A從其他客戶端接收數據時, 這些客戶端有可能被其用戶突然關掉,或者由於其他服務的因素影響P2P 連接的性能,從而使得服務被迫中斷。在對等節點使用緩衝區為A提供服 務的情況下,可能由於對等節點快進快退或者跳到另外的播放點而無法繼 續提供服務,這種對等節點的不穩定性對P2P系統的性能有著非常大的影 響。在本發明中,客戶端-伺服器模式將用來彌補由於客戶端不穩定性造成 的影響以保證系統的服務質量。圖8是保證服務質量過程的基本消息傳遞圖。如圖8所示,如果客戶 端A發現難以從當前對等節點B處獲取數據,這可能由於是B突然被關掉, 或者其播放點發生變化,或者A與B之間P2P連接的網絡情況發生了變化。 注意到客戶端A可以根據與對等節點B之間P2P連接的流量來監測P2P連 接的性能。在這種情況下,A首先尋找其他能夠提供更好服務的對等節點, 比如圖8中的C,然後從C處請求服務。但是從開始尋找替代節點到從替 代節點處收到數據存在一定的延遲,同時即使找到C, C也存在突然不能 提供服務而需要重新尋找服務的可能,因此有可能不能夠及時得到即將播 放的數據,從而導致服務中斷。在這種情況下,客戶端A可以直接向服務15器102來請求服務,因為伺服器比客戶端更為可靠。本發明中定義一個所謂的"緊急窗口",如圖9所示,位於緊急窗口之 內的數據表示即將播放的數據, 一旦發現緊急窗口內存在缺失的數據,則 表明P2P的性能已不能夠滿足視頻連續播放的需求,視頻播放很可能將被 迫中斷,則客戶端立即啟動客戶端-伺服器模式從伺服器處獲取當前數據塊 中剩餘的數據。如圖8所示,客戶端A通過發送內容請求消息M110直接 向伺服器請求當前數據塊中剩餘的數據。"緊急窗口"的大小以時間來衡量, 一般設置為N*RTT,這裡RTT指的是客戶端A到伺服器102的往返時間, N是安全閾值(比如可以設置為3或4)。內容伺服器102中的帶寬資源管 理模塊3606將會預留部分帶寬資源以用於與客戶端的緊急通信,以保證即 將播放的數據能夠及時到達客戶端。同樣客戶端104中的帶寬資源管理模塊4606將在高優先級的可用下行 帶寬中分配足夠的資源給與伺服器的緊急連接來保證即將播放的數據能夠 及時到達客戶端。帶寬資源管理模塊4606首先檢査在高優先級下行帶寬約 束下當前可用帶寬是否滿足緊急通信的需求,即至少高於視頻流碼率,如 果滿足需求的話,則客戶端104將緊急通信所需的帶寬甚至全部剩餘可用 帶寬資源劃撥給與伺服器的緊急連接(如果伺服器的出口帶寬允許的話), 否則客戶端104需要將一些P2P連接調整為低優先級甚至直接關閉,從而 為高優先級騰出緊急連接所需的帶寬。客戶端104在選擇需要調低優先級 或者關閉的P2P連接時,原則是優先選擇那些所下載的數據離當前播放點 較遠的P2P連接,而保留那些下載的數據離當前播放點較近的P2P連接。 一旦從伺服器處獲取完當前數據塊中的數據並且此時緊急窗口內不存在缺 失的數據,則緊急通信結束,客戶端104關閉與伺服器的連接,同時帶寬 資源管理模塊重新將高優先級下的可用帶寬在P2P連接之間重新進行分 配。如果發現當前的P2P連接不能充分利用高優先級下的可用帶寬(由於 對等用戶上行帶寬的限制),客戶端104可以將被調低優先級的P2P連接恢 復至高優先級,或者通過並行下載模塊4604增加與其它對等用戶的P2P連 接,以充分利用下行帶寬資源。圖IO是關於客戶端的完整流程圖。當客戶端104開始點播節目或者在 播放節目過程中跳到另一播放點時,其首先向伺服器102發送內容信息請求消息(1002)。伺服器102搜索資料庫,尋找能用其存儲或緩存的數據為 該客戶端提供服務的對等節點,然後伺服器以對等用戶服務信息的形式將 尋找到的對等節點信息反饋給客戶端(1004)。在收到對等用戶服務信息消 息後,客戶端開始逐數據塊的下載數據。對於下一個要下載的數據塊,如 果當前對等節點已不能夠提供服務(比如用存儲而不是緩存提供服務時沒 有存儲相應的數據)(1008),客戶端重新選定可以提供服務(用緩存或者 是存儲)的具有較好性能的對等節點,然後向其請求服務(1010),否則可 以繼續向當前節點請求服務。客戶端帶寬資源管理模塊4606將會檢査高優 先級下的下行帶寬是否得到了充分的利用(1012),如果仍然有可用的下行 帶寬資源,客戶端將會把在1030中被調低優先級的P2P連接恢復至高優先 級,或者通過並行下載模塊4604增加與其它對等用戶的P2P連接,以充分 利用下行帶寬資源(1014)。客戶端104將會監測P2P連接的性能(1016), 如果P2P連接能夠提供滿意的性能,客戶端104將持續從當前對等節點處 獲取數據,否則客戶端將會尋找能夠提供更好性能的對等節點來代替當前 節點(1018)。客戶端104同時也持續的監測是否緊急窗口範圍內含有未獲 得的數據(1020),如果沒有,則客戶端將一直以P2P模式來獲取服務(1022),直至下載完當前數據塊(1026),然後客戶端將會檢査是否己經 下載完所有的數據(1006),如果沒有則返回1008,否則整個下載過程結束。 如果在1024中發現當前數據塊沒有下載完成,將會返回1016繼續監測性 能並下載。但如果在1020發現"緊急窗口"內存在未獲得的數據,客戶端 帶寬資源管理模塊4606將會首先檢查在高優先級下行帶寬約束下當前可用 帶寬是否滿足緊急通信的需求(1028),即至少高於視頻流碼率,如果不滿 足需求的話,客戶端104需要選擇一些P2P連接將其調整為低優先級甚至 直接關閉,從而為高優先級騰出與伺服器建立緊急連接所需的帶寬(1030)。 然後客戶端104與伺服器建立緊急連接來下載當前數據塊中剩餘的數據(1032)。伺服器102將會向客戶端傳送該部分數據(1034),直至下載完 當前數據塊(1038)。然後客戶端104會檢査當前緊急窗口範圍內是否含有 未獲得的數據(1040),如果沒有的話,則關閉與伺服器的緊急連接(1042) 並返回1006,否則將返回1032,繼續利用與伺服器的緊急連接下載下一數 據塊中的數據,以保證客戶端的服務質量。圖11是多個伺服器協作場景的示意圖。在前面的描述中,主要考慮的 是只有一個區域伺服器為一個區域網絡提供服務的場景。但實際上在大規模IPTV服務部署中,可能存在多個區域網絡,每個區域網絡中有相應的服 務器管理區域網絡中的所有客戶端並為其提供服務。這樣,P2P連接只發 生在同一區域網絡內,也就是說客戶端只為位於同一區域網絡內的其他客 戶端提供服務,因而P2P流量自然被限制在區域網絡內,不存在跨區域的 P2P流量,節省了區域網絡寶貴的出口帶寬資源。伺服器102可以與其它區域的伺服器合作來提高其服務能力。比如說, 一個伺服器由於容量的限制難以存儲下所有的視頻節目,在存在多個服務 器情況下視頻數據可能分布在多個伺服器當中。如果客戶端104所請求的 視頻節目在本區域伺服器上不存在,本區域伺服器102可以向其他伺服器 查找並獲得該節目,以為該客戶端提供流服務。圖12是本發明中定義的消息格式。上述實施方式客戶端和伺服器的資料庫存儲在硬碟中,但本發明不限 於此,也可以存儲於其他存儲介質中。以上提出了一種基於P2P技術的視頻點播系統中實現服務質量保證的 方法和裝置。通過利用P2P技術,客戶端之間可以通過相互提供服務來增 強系統性能。上述實施方式是用於說明本發明的,但本發明的範圍不限於此。在同 本發明要求範圍相同目的的範圍內實施的各種各樣的修改被認為是在本發 明範圍之內。
權利要求
1、一種終端裝置,其特徵在於,具有網絡接口部,連接到網絡,通過該網絡與其他終端以及進行數據分發管理的伺服器進行通信;數據檢查部,檢測接收數據是否缺失;以及,控制部,所述控制部根據伺服器提供的、能夠為本終端提供數據服務的其他終端信息,以及在其他終端存儲的相應數據信息,確定為本終端裝置提供服務的其他終端裝置,並控制所述網絡接口部與所確定其他終端裝置進行所需的數據的傳輸。
2、 如權利要求1所述的終端裝置,其特徵在於, 所述終端裝置傳送的數據為視頻數據。
3、 如權利要求2所述的終端裝置,其特徵在於, 所述終端裝置還包括視頻內容存儲資料庫,存儲視頻內容。
4、 如權利要求3所述的終端裝置,其特徵在於, 所述終端裝置還具有客戶端存儲內容資料庫,存儲從伺服器提供的、能夠為本終端提供數據服務的其他終端信息以及在其他終端存儲以及緩衝 的相應數據信息,根據該信息向這些終端發送探測信息,通過這些終端的 反饋來選擇最佳終端為本終端裝置提供服務。
5、 如權利要求4所述的終端裝置,其特徵在於, 所述最佳終端是由進行反饋的終端的CPU利用率、可用的帶寬來決定。
6、 如權利要求5所述的終端裝置,其特徵在於, 所述終端裝置在與選擇的所述最佳終端通信的過程中,如果檢測到通信質量不能滿足該終端的需要,則根據該終端存儲內容資料庫存儲的其他 終端信息,重新確定最佳終端。
7、 如權利要求6所述的終端裝置,其特徵在於, 所述終端裝置定期將已存儲的內容信息通知所述伺服器。
8、 如權利要求7所述的終端裝置,其特徵在於,所述終端裝置在播放點不連續改變時,該終端裝置通過控制部將當前 播放點信息通知所述伺服器。
9、 如權利要求8所述的終端裝置,其特徵在於,所述伺服器定期向所述終端裝置發送能夠為該終端提供數據服務的其 他終端信息以及在其他終端存儲的相應內容信息,來更新該終端裝置的客 戶端存儲內容資料庫。
10、 如權利要求l-9任意一項所述的終端裝置,其特徵在於, 所述數據檢查部檢測到在規定的時間內應該再現的數據缺失時,控制部控制該網絡接口部連接伺服器,從伺服器取得包含所需數據的數據塊。所述終端裝置從伺服器取得包含所需數據的數據塊後,所述數據檢查 部檢測到在規定的時間內沒有數據缺失時,該客戶端關閉與伺服器的連接, 重新選擇與其他客戶端進行連接。
11、 如權利要求10任意一項所述的終端裝置,其特徵在於,還具有並行下載模塊,實現從多個終端並行下載數據以充分利用客 戶端的可用網絡帶寬,同時負責並行下載流之間的協調;帶寬資源管理模塊,主要負責管理該終端的上/下行帶寬資源的分配, 在並行下載模塊的多個連接之間調整下行帶寬分配;還可以用於該終端在 規定的時間內應該再現的數據缺失時,對同伺服器的進行緊急通信的連接 可用帶寬進行分配和優先級調整,保證該終端與伺服器之間的緊急通信帶 寬
12、 一種網絡系統,具有多個客戶端及伺服器,其特徵在於,所述客戶端具有網絡接口部,連接到網絡,通過該網絡與其他網絡設備進行通信; 數據檢查部,檢測接收數據是否缺失;以及控制部,所述客戶端裝置根據由伺服器提供的、能夠為本客戶端 提供數據服務的其他客戶端信息以及在其他客戶端存儲的相應內容信息, 來確定為本客戶端的提供服務的客戶端,並與所選客戶端來進行數據傳輸。
13、 如權利要求12所述的網絡系統,其特徵在於, 所述客戶端傳送的數據為視頻數據。
14、 如權利要求13所述的網絡系統,其特徵在於, 所述客戶端還包括視頻內容存儲資料庫,存儲視頻內容。
15、 如權利要求14所述的網絡系統,其特徵在於, 所述客戶端還包括客戶端存儲內容資料庫,存儲由伺服器提供的、能夠為本客戶端提供數據服務的其他客戶端信息以及在其他客戶端存儲以及 緩衝的相應內容信息,
16、 如權利要求15所述的網絡系統,其特徵在於, 該網絡中所述客戶端根據由伺服器提供的、可為本客戶端裝置提供服務的其他客戶端信息及在其他客戶端存儲以及緩衝的相應數據信息,向這 些客戶端發送探測信息,根據這些客戶端的反饋來選擇最佳客戶端為本客 戶端裝置提供服務。
17、 如權利要求16所述的網絡系統,其特徵在於, 所述最佳客戶端是根據進行反饋的客戶端的CPU利用率、可用的帶寬來決定。
18、 如權利要求17所述的網絡系統,其特徵在於, 所述客戶端在與選擇的所述最佳客戶端通信的過程中,如果檢測到通信性能下降,則根據本客戶端的客戶端存儲內容資料庫存儲的其他客戶端 信息,重新確定最佳客戶端。
19、 如權利要求18所述的網絡系統,其特徵在於, 該網絡中所述客戶端定期將已存儲的內容信息通知所述伺服器。
20、 如權利要求19所述的網絡系統,其特徵在於, 該網絡中所述客戶端在播放點不連續改變時,所述客戶端裝置將當前播放點信息通知所述伺服器。
21、 如權利要求20所述的網絡系統,其特徵在於, 該網絡中所述伺服器定期向各客戶端發送能夠為該客戶端提供數據服務的其他客戶端信息以及在其他客戶端存儲的相應內容信息,來更新各客 戶端的客戶端存儲內容資料庫。
22、 如權利要求12-21任意一項所述的網絡系統,其特徵在於, 所述客戶端的數據檢査部檢測到在規定的時間內應該再現的數據丟失時,控制部控制該網絡接口部連接伺服器,從伺服器取得包含所需數據的 數據塊。所述客戶端從伺服器取得包含所需數據的數據塊後,所述數據檢查部 檢測到在規定的時間內沒有數據缺失時,該客戶端關閉與伺服器的連接, 重新選擇與其他客戶端進行連接。
23、 如權利要求22所述的網絡系統,其特徵在於, 所述伺服器具有視頻內容存儲資料庫,該視頻內容存儲資料庫存儲著各視頻節目的原始數據;客戶端存儲內容資料庫,記錄著客戶端存儲視 頻內容的信息;客戶端播放信息資料庫,其記錄著各個客戶端當前播放節 目的信息。
24、 如權利要求23所述的網絡系統,其特徵在於, 所述伺服器還具有網絡接口部,連接到網絡,通過該網絡與其他網絡設備進行通信; 以及控制部,所述控制部包括內容管理/分發模塊,該內容管理/分發模塊可以根據一定的策略要求客戶端將正在接收和播放的數據錄入存儲裝置,甚至主動將客戶端未請求的數據部署到客戶端的存儲裝置中去,以優化視頻數據在網絡中的分布;客戶端播放控制模塊,該客戶端播放控制模塊根據客戶端發送的信息來維護和更新客戶端播放信息資料庫,記錄每個正在播放節目的客戶端的播放進度。
25、 如權利要求24所述的網絡系統,其特徵在於, 所述伺服器還具有帶寬資源管理模塊,對伺服器的出口帶寬資源進行管理,對與伺服器的各連接進行帶寬檢測和分配,同時為與客戶端在規定 的時間內應該再現的數據丟失時的緊急通信預留一定的帶寬以提供服務質 量的保障。
全文摘要
本發明涉及一種基於P2P技術的視頻點播系統中實現服務質量保證的數據分發系統及方法,通過結合P2P模式和客戶端—伺服器模式,使得系統具有更好的性能。在發明中,通過P2P模式,客戶端之間可以相互提供服務,從而使得系統具有很好的可擴展性。當P2P模式由於用戶終端的不穩定性而不能提供滿意的性能時,客戶端-伺服器模式被用來與P2P模式相結合,以為用戶提供服務質量的保證。
文檔編號H04L12/58GK101631092SQ20081013775
公開日2010年1月20日 申請日期2008年7月18日 優先權日2008年7月18日
發明者吉內英也, 鵬 朱 申請人:株式會社日立製作所

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀