P2P-Based Streaming Media Technology and Its Applications
/WANG Hong?鄄bo
馬軼慧/MA Yi?鄄hui
(北京郵電大學,北京100876)
(Beijing University of Posts Telecommunications, Beijing 100876, China)
摘要:基于P2P的流媒體技術是一項非常有前途的技術,該技術有兩方面的優點:不需要互聯網路由器和網絡基礎設施的支持,因此性價比高且易于部署;流媒體用戶不只是下載媒體流,而且還把媒體流上載給其他用戶,因此,這種方法可以擴大用戶組的規模,且由更多的需求帶來更多的資源。由于P2P流媒體系統中節點存在不穩定性,因此P2P流媒體系統需要在文件定位技術、節點選擇技術、容錯以及安全機制方面有所突破。此外在如何管理節點并建立發布樹、如何應付不可預知的節點失效、如何適應網絡狀態變化方面也面臨著一些挑戰。
關鍵詞:對等網絡;流媒體;可擴展性;數據驅動
Abstract:The P2P-based streaming media technology is very promising and has two advantages. First, because P2P-based streaming media network can distribute media data without the support of routers and specific network infrastructure, it is cost-effective and easy to deploy. Second, a streaming media user can not only download streaming media, but also supply streaming media to other users. Therefore, the user groups' scale can be expanded, and the more the demands increase, the more the available resources increase. As the peers in the P2P-based streaming media network are not stable, the P2P streaming media system needs improvement in the fields of file location technology, peer selection technology, fault-tolerance and security mechanism. Moreover, challenges such as managing the nodes, constructing a distribution tree, coping with the unpredictable failure of nodes, and adapting to changes in the network, also exist.
Key words: P2P network; streaming media; scalability; data-driven
基金項目:國家自然科學基金資助項目(863計劃)(No.90604019、60502037、60603060)
隨著互聯網的日趨普及和新技術的迅速發展,一大批新興的網絡多媒體應用開始涌現并成為人們工作、生活中重要的組成部分,例如:網絡電視、體育賽事廣播、在線游戲、遠程教育等。而這些多媒體應用需要流媒體技術的支持。
流媒體是指在數據網絡上按時間先后次序傳輸和播放的連續音、視頻數據流。流媒體數據流具有3個特點:連續性、實時性、時序性,即其數據流具有嚴格的前后時序關系。由于流媒體的這些特點,它已經成為在互聯網上實時傳輸音、視頻的主要方式。本質上,流媒體技術是一種在數據網絡上傳遞多媒體信息的技術。目前數據網絡具有無連接、無確定路徑、無質量保證的特點,給多媒體實時數據在數據網絡上的傳輸帶來了極大的困難,流媒體技術的主要目標就是:通過一定的技術手段實現在數據網絡上有效地傳遞多媒體信息流。
傳統的流媒體服務大都是客戶/服務器(C/S)模式,即用戶從流媒體服務器點擊觀看節目,然后流媒體服務器以單播方式把媒體流推送給用戶。當流媒體業務發展到一定階段后,用戶總數大幅度增加,這種C/S模式加單播方式來推送媒體流的缺陷便明顯地顯現出來(如流媒體服務器帶寬占用大、流媒體服務器處理能力要求高等),帶寬、服務器等常常成為系統瓶頸,系統的可擴展性差。
近年來,人們把P2P技術引入到流媒體傳輸中而形成了P2P流媒體技術,該方法有兩方面的優點。首先,這種技術并不需要互聯網路由器和網絡基礎設施的支持,因此性價比高且易于部署;第二,在這種技術中,流媒體用戶不只是下載媒體流,而且還把媒體流上載給其他用戶,因此,這種方法可以擴大用戶組的規模,且更多的需求也帶來了更多的資源。
1 P2P流媒體系統
1.1 P2P流媒體系統播送方式
P2P流媒體系統按照其播送方式可分為直播系統和點播系統,此外近期還出現了一些既可以提供直播服務也可以提供點播服務的P2P流媒體系統。
1.1.1 直播
在流媒體直播服務中,用戶只能按照節目列表收看當前正在播放的節目。在直播領域,交互性較少,技術實現相對簡單,因此P2P技術在直播服務中發展迅速。2004年,香港科技大學開發的CoolStreaming原型系統將高可擴展和高可靠性的網狀多播協議應用在P2P直播系統當中,被譽為流媒體直播方面的里程碑,后期出現的PPLive和PPStream等系統都沿用了其網狀多播模式。
P2P直播是最能體現P2P價值的表現,用戶觀看同一個節目,內容趨同,因此可以充分利用P2P的傳遞能力,理論上,在上/下行帶寬對等的基礎上,在線用戶數可以無限擴展。

1.1.2 點播
與直播領域相對應,在P2P流媒體點播服務中,用戶可以選擇節目列表中的任意節目觀看。在點播領域,P2P技術的發展速度相對緩慢,一方面是因為點播當中的高度交互性實現的復雜程度較高;另一方面是節目源版權因素對P2P點播技術的阻礙。目前,P2P的點播技術主要朝著適用于點播的應用層傳輸協議技術、底層編碼技術、以及數字版權技術等方面發展。
與P2P流媒體直播不同,P2P流媒體點播終端必須擁有硬盤,其成本高于直播終端。目前P2P點播系統還需在技術上進一步探索,期望大規模分布式數字版權保護(DRM)系統的研究,以及底層編碼技術的發展能為P2P點播系統的實施鋪平道路。
1.2 P2P流媒體系統網絡結構
目前存在很多P2P流媒體的研究成果及實際系統,它們在其覆蓋網絡的組織結構上可以被大體分成兩大類,即基于樹(Tree-based)的覆蓋網絡結構和數據驅動隨機化的覆蓋網絡結構[1]。
(1)基于樹的方法
大部分系統都可以歸類為基于樹的方法。在這種方法中,節點被組織成某種傳輸數據的拓撲(通常是樹,如圖1所示),每個數據分組都在同一拓撲上被傳輸。拓撲結構上的節點有明確定義的關系,例如,樹結構中的“父節點-子節點”關系。這一方法是典型的推送方法,即:當節點收到數據包,它就把該數據包的拷貝轉發到它的每一個子節點。既然所有的數據包都遵循這一結構,那么保證這一結構在給所有接受節點提供高性能時是最優的。更進一步,當節點隨意加入和離開時,該結構必須得以維持。特別地,如果某節點突然崩潰或者其性能顯著下降,它在該樹結構上所有的后代節點都停止接收數據,且該樹結構必須被修復。最后,當組建基于樹的結構時,避免出現環是一個必須要解決的重要問題。基于樹的方法可能是最自然的方法,不需要復雜的視頻編碼算法。然而,其中需要重點考慮的一個問題是節點失效,特別地,靠近樹根的節點失效將中斷大量用戶的數據傳輸,潛在地帶來瞬時低性能的結果。此外,在該結構中大多數節點都是葉子節點,他們的上行帶寬沒有被使用到。為了解決這些問題,已有研究提出了一些帶有彈性的結構,如基于多重樹的方法[2-3]。
(2)數據驅動方法
近年來,人們又提出用于P2P的數據驅動的方法。數據驅動的覆蓋網絡與基于樹結構的最大不同在于它不組建和維護一個傳輸數據的明顯拓撲結構,它用數據的可用性去引導數據流,而并不是在高度動態的P2P環境下不斷地修復拓撲結構。
一個不用明確維護拓撲結構的數據分發方法是使用Gossip協議。在典型的Gossip協議中,節點給一組隨機選擇的節點發送最近生成的消息;這些節點在下一次做同樣的動作,其他節點也做同樣的動作,直到該消息傳送到所有節點。對Gossip目標節點進行隨機選擇可以在存在隨機失效的情況下使系統獲得較好的健壯性,另外還可以避免中心化操作。然而,Gossip不能直接用作視頻廣播,因為其隨機推送可能導致高帶寬視頻的大量冗余。此外,在沒有明確的拓撲結構支持下,最小化啟動和傳輸時延成為主要問題。為了解決這些問題,一些解決方案,例如Chainsaw[4]、Cool-Streaming[5]采用拉取技術,即:節點維持一組伙伴并周期性地同伙伴交換數據可用性信息,接著節點可以從一個或多個伙伴找回沒有獲得的數據,或著提供可用數據給伙伴。由于節點只在沒有數據時去主動獲取,所以避免了冗余。此外,由于任一數據塊可能在多個伙伴上可用,所以覆蓋網絡對時效是健壯的。最后,隨機化的伙伴關系意味著節點間的潛在的可用帶寬可以被完全利用。
2 P2P流媒體中的關鍵技術
由于P2P流媒體系統中節點存在不穩定性,P2P流媒體系統需要解決如下幾個關鍵技術[6]:文件定位、節點選擇、容錯以及安全機制等。
2.1文件定位技術
流媒體服務實時性強,快速準確的文件定位是流媒體系統要解決的基本問題之一。在P2P流媒體系統中,新加入的客戶在覆蓋網絡中以P2P的文件查找方式,找到可提供所需媒體內容的節點并建立連接,接受這些節點提供的媒體內容。
P2P方式的文件查找研究是近年來P2P計算的一個研究熱點。在P2P網絡結構中常用的文件定位方式是通過分布式哈希表(DHT)算法[7]來實現,每個文件經哈希運算后得到一個唯一的標識符,每個節點也對應一個標識符,文件存儲到與其標識符相近的節點中。查找文件時,首先哈希運算文件名得到該文件的標識符,通過不同的路由算法找到存放該文件的節點。雖然DHT方式查找文件快速有效,但是也存在一些固有的問題,如DHT是將文件均勻分布在各個節點上,不能反映媒體文件的熱門度,導致負載的不均衡;其次DHT不能提供關鍵字的搜索,如同時包含媒體文件名、媒體類型等豐富信息的文件的查詢。
文獻[8]在泛洪機制基礎上做了改進,在無結構的P2P網絡中采用了或然性的泛洪技術,通過或然性的分析選取優化的分支進行泛洪操作,從而使其伸縮性比正常泛洪機制提高99%。DirectStream[9]是一個基于目錄的P2P流媒體點播系統,其媒體文件的查找方式是通過目錄服務器來維護所有媒體服務器信息和客戶信息(包括IP地址、緩沖大小等)。當新客戶的請求到達時,在目錄中查找請求的媒體文件,快速返回侯選節點,侯選節點可以是媒體服務器,也可以是可提供該影片片段的客戶,從而具有P2P的特性。但是由于其目錄服務器的集中式管理,DirectStream系統的規模受到了限制。
2.2 節點的選擇
在一個典型的P2P覆蓋網絡中,網絡中的節點來自各個不同自治域,節點可以在任一時間自由地加入或離開覆蓋網絡,導致覆蓋網絡具有很大的動態性和不可控性。因此,如何在服務會話初始時,確定一個相對穩定的可提供一定服務質量(QoS)保證的服務節點或節點集合是P2P流媒體系統迫切需要解決的問題。
節點的選擇可以根據不同的QoS需求采取不同的選擇策略。若希望服務延遲小,可以選擇鄰近的節點快速建立會話,如在局域網內有提供服務的節點,就不選擇互聯網上的節點,這也可以避免互聯網上的帶寬波動和擁塞;若希望高質量服務,則可選擇能夠提供高帶寬、CPU能力強的節點,如在寬帶接入的PC機和不對稱數字用戶線(ADSL)接入的終端之間選擇前者;若希望得到較穩定的服務,應選擇相對穩定的節點,如在系統中停留時間較長,不會頻繁加入或退出系統的或正在接受服務的節點。通常選擇的策略是上述幾種需求的折衷。具有代表性的節點選擇機制有:PROMISE體系中的端到端的選擇機制和感知拓撲的選擇機制、P2Cast系統的“最合適”(Best Fit,簡稱BF)節點選擇算法等。
2.3 容錯機制
由于P2P流媒體系統中節點的動態性,正在提供服務的節點可能會離開系統,傳輸鏈路也可能因擁塞而失效。為了保證接受服務的連續性,必須采取一些容錯機制使系統的服務能力不受影響或盡快恢復。
對于節點失效的問題,可以采取主備用節點的方式容錯。在選擇發送節點時,應選擇多個服務節點,其中某個節點(集)作為活動節點(集),其余節點則作為備用節點。當活動節點失效時則由備用節點繼續提供服務。值得研究的問題是如何快速有效地檢測節點的失效,以及如何保證在主備用節點切換的過程中流媒體服務的連續性。流媒體服務的實時性較強,因此節點的故障檢測時間應盡可能短,才能保證服務不中斷。目前有大量關于如何縮短故障檢測時間的研究,大都是采用軟狀態協議詢問節點的存在,需要考慮詢問頻度與詢問消息開銷之間的折衷。
數據的編碼技術也可以提供系統的容錯性,如前向錯誤編碼(FEC)和多描述編碼(MDC)。FEC通過給壓縮后的媒體碼流加上一定的冗余信息來有效地提高系統的容錯性,而MDC的基本思想是對同一媒體流的內容采用多種方式進行描述,每一種描述都可以單獨解碼并獲得可以接受的解碼質量,多個描述方式結合起來可以使解碼質量得到增強。這兩種編碼都能適應客戶異構性的特點,客戶可以根據自己的能力選擇收取多少數據進行解碼。此外,將FEC和MDC結合,能取得更好的容錯效果。
2.4 安全機制
網絡安全是P2P流媒體系統的基本要求,必須通過安全領域的身份識別認證、授權、數據完整性、保密性和不可否認性等技術,對P2P信息進行安全控制。對產權的控制,現階段可采用DRM技術控制;對于基于企業級的P2P流媒體播出系統可以安裝防火墻阻止非法用戶訪問;因特網上的P2P流媒體系統可以通過數據包加密方式保證安全。在P2P流媒體系統內,可采用用戶分級授權的辦法,阻止非法訪問。
3 P2P流媒體的應用
網絡的迅猛發展和普及為P2P流媒體業務發展提供了強大市場動力,P2P流媒體技術的應用將為網絡信息交流帶來革命性變化。目前常見的P2P流媒體的應用主要有:
(1)視頻點播(VOD):這是最常見、最流行的流媒體應用類型。
(2)視頻廣播:視頻廣播可以看作是視頻點播的擴展,它把節目源組織成頻道,以廣播的方式提供。
(3)交互式網絡電視(IPTV):IPTV利用流媒體技術通過寬帶網絡傳輸數字電視信號給用戶,這種應用有效地將電視、電信和計算機3個領域結合在一起,具有很好的發展前景。
(4)遠程教學:遠程教學目前應用也比較廣泛,而且具有很好的市場應用前景。遠程教學可以看作是前面多種應用類型的綜合,在遠程教學中,可以采用多種模式,甚至混合的方式實現。遠程教學以應用對象明確、內容豐富實用、運營模式成熟,成為目前商業上較為成功的流媒體應用.
(5)交互游戲:需要通過流媒體的方式傳遞游戲場景的交互游戲近年來得到了迅速的發展。
其他流媒體系統的一些新的應用和服務,例如虛擬現實漫游、無線流媒體、個人數字助理(PDA)等也在迅速地變革和發展。
4 結束語
P2P流媒體發展如此迅速,目前,諸如CoolStreaming、PPLive等P2P流媒體軟件吸引了大量的用戶,顯示出了巨大的生命力,但是另一方面構建一個有效的P2P流媒體系統還面臨著許多挑戰:
(1)管理節點并建立發布樹
為了給大量的接收者提供媒體內容,構建應用級多播樹的方法應用較廣,但建立有效的多播樹,并在節點不斷加入和退出時維護多播樹存在一定難度。
(2)應付不可預知的節點失效
在P2P網絡中,由于節點行為的不可預知性,為了快速地恢復系統的正常工作,要求系統具有很好的可靠性,否則服務中斷將時常發生。
(3)適應網絡狀態變化
在一個媒體流會話期間網絡狀態可能改變,如擁塞或丟包率上升,因此流媒體系統的適應性是必需的。
盡管P2P流媒體系統的設計方面仍存在一些需要解決的問題,但其優越性仍然引起了許多大學、研究機構以及商業機構的重視,隨著運營商的加入,P2P流媒體的研究勢必取得更大的進展并將更加廣泛地應用于商業領域。
5 參考文獻
[1] LIU J C, RAO S, LI B, et al. Opportunities and challenges of peer-to-peer Internet video broadcast [J]. Proceedings of the IEEE, Special Issue on Recent Advances in Distributed Multimedia Communications, 2007.
[2] CASTRO M, DRUSCHEL P, KERMARREC A M, et al. SplitStream: High-bandwidth multicast in cooperative environments [C]// Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles, Oct 19 - 22, 2003, Bolton Landing, NY, USA .New York, NY,USA: ACM Press,2003:298-313.
[3] PADMANABHAN V N, WANG H K, CHOU P A, et al .Distributing streaming media content using cooperative networking [C]//Proceedings of ACM/IEEE Network and Operating System Support for Digital Audio and Video (NOSSDAV’02) , May 12-14, 2002, Miami, FL, USA. New York, NY, USA: ACM Press, 2002:177-186.
[4] PAI V, TAMILMANI K, SAMBAMURTHY V, et al. Chainsaw: Eliminating trees from overlay multicast [C]// Proceedings of 4th International Workshop on Peer-to-Peer Systems, Feb 24-25, 2005, Ithaca, NY, USA. 2005:127-140.
[5] ZHANG Xinyan, LIU Jiangchuan, LI Bo, et al. CoolStreaming/DONet: a data-driven overlay network for peer-to-peer live media streaming [C]//Proceedings of 24th Annual Joint Conference of the IEEE Computer and Communications Societies: Vol 3, Mar 13-17, Miami, FL, USA. Piscataway, NJ,USA:IEEE,2005: 2102-2111.
[6] 龔海剛, 劉明, 毛鶯池, 等. P2P流媒體關鍵技術的研究進展 [J]. 計算機研究與發展, 2005, 42(12):2033-2040.
[7] STOICA I, MORRIS R, KARGER D, et al. Chord: a scalable peer-to-peer lookup service for Internet applications [C]// Proceedings of the International Conference of the Special Interest Group on Data Communication (SIGCOMM '01), Aug 27-31,2001, San Diego, CA, USA. New York, NY, USA: ACM Press, 2001:149-160.
[8] BANAEI-KASHANI F, CHEN C C, SHAHANI C. WSPDS: Web services peer-to-peer discovery service [C]// Proceedings of International Symposium on Web Services and Applications (ISWS'04),Jun 21-24,2004, Las Vegas, NV, USA. Las Vegas, NV, USA: CSREA Press, 2004:733-743.
[9] GUO Y, SUH K, KUROSE J, et al. A peer-to-peer on-demand streaming service and its performance evaluation [C]// Proceedings of 2003 IEEE International Conference on Multimedia Expo (ICME 2003):Vol 1, July 6-9, 2003,Baltimore, MD, USA. Los Alamitos CA, USA: IEEE Computer Society, 2003:649-652.
收稿日期:2007-09-27
王洪波,博士,北京郵電大學計算機科學與技術學院講師。主要研究領域為互聯網網絡測量、網絡管理與安全,P2P技術等。
馬軼慧, 北京郵電大學計算機科學與技術學院在讀碩士研究生。目前研究方向為P2P技術。