600 likes | 697 Views
Challenges and Approaches in Large-Scale P2P Media Streaming W.-P. Ken Yiu, Xing Jin, and S.-H. Gary Chan Hong Kong University of Science and Technology. Director︰ 童曉儒 教授 Reporter : 第二組 秦英智 M9656016 胡美慧 M9756012 楊祖豪 M9756021 王芊儒 M9756022
E N D
Challenges and Approaches in Large-Scale P2P Media Streaming W.-P. Ken Yiu, Xing Jin, and S.-H. Gary ChanHong Kong University of Science and Technology Director︰ 童曉儒 教授 Reporter:第二組 秦英智M9656016 胡美慧M9756012 楊祖豪M9756021 王芊儒M9756022 顏仲志M9756024 李一平M9756027
Outline • 簡介 • Locating supplying peerscentralized directoryhierarchical overlay structureDHT-based approach • Content delivery path maintenancetree-based multicastmultiple treespull-based gossiping • Conclusion
多媒體串流簡介 • 多媒體串流在網際網路上的應用在過去一直受限於頻寬而難以有所發揮,而目前寬頻網路的加速建置與ADSL的快速普及,使得網路影音多媒體串流的需求也隨之增加
串流技術的特質 • 具有即時(Real-time)特性的多媒體傳輸技術 • 利用客戶端緩衝記憶體(Buffer)的概念,使資料不經實體儲存而直接由緩衝記憶體讀取播放後丟棄 • 具有一定程度的智慧財產權保護功能
運用串流技術來達成的網路多媒體應用 • 線上教學 • 視訊會議(Video Conference) • 線上廣告 • 隨選視訊(VoD) • IPTV • 網路電台(NetRadio)
多媒體串流架構 • 編碼器主要的功能是將影音資料壓縮成能夠在網路頻寬中傳送的大小 • 串流伺服器則是提供串流的建立、管理以及傳送服務,並負責將壓縮好的影音資料封裝成網路封包的型式,以便於網路傳送 • 播放器負責接收、重組封包、解壓縮、影音同步與展現多媒體資料
Media Streaming的問題 • 串流資料量大 • 頻寬需求高 • 持續時間長
Related Solutions in Media Streaming • Client-server approach • IP multicast • Content delivery networks (CDN) • P2P
Client-server • 由server分配專屬的channel來滿足所有clients的要求 • 優點:1.server控管所有的串流2.無延遲(delay)的問題, 3.所接收到的串流十分可靠 • 缺點:server容易負載過重
IP multicast • 在網路層實作,由路由器擔任中間節點 • 一對多(One-to-many)的資料傳遞方式 • 由來源端送出一份資料,靠著群播樹上的中間節點進行複製、儲存、選徑、遞送等方式,將來源端所送出之資料送達群組中的每一位成員 • 減少網路頻寬的浪費,提高網路的利用率
Content delivery networks (CDN) • 一個建立並覆蓋在Internet之上的一層特殊網路架構層,專門用於透過網際網路傳遞多媒體內容 • 將媒體檔案存放於被安置在CDN網路的各個邊緣節點上的代理服務器中,當使用者提出請求服務時,由最近的代理服務器來處理 • 需投入相當可觀的資源和成本來佈置代理服務器
Peer-to-Peer • P2P的興起:1.個人電腦的能力提升2.個人儲存媒介的價格降低3.網路技術的增進 • P2P的特性: 1.使用者同時身兼client及server的功能,可以大幅減輕server負擔2.使用者互相交換檔案內容,分擔流量,進而改善傳輸速度
P2P media streaming • 使用P2P network,利用網路上眾多的Peer協助傳輸影音多媒體串流,可減輕影音多媒體提供者網路及主機的負擔 • 在P2P network上建立應用層群播,由終端使用者(End host)充當網路的功能,類似路由器轉送封包,由終端使用者替彼此轉送內容資訊
P2P media streaming • P2P network中每個peer都是終端使用者,在轉傳時,可以提供快取或是運算的功能 • 在P2P media streaming中,routers只負責每個端點間的unicast傳輸
Two major challenges in providing P2P media streaming • Locating supplying peers-- dynamic uptime • Maintaining content delivery paths-- limited and dynamic peer bandwidth
Locating supplying peers1.Centralized directory 2.Hierarchical overlay structure
Centralized directory • 最簡單、最常用 • 例如:ppstream、pplive (VOD system) • 節點記錄的資訊:network address available bandwidth Server記錄的資訊:IP address topology
優點:簡單實作 簡單部署 簡單的節點加入機制 使節點加入或離開更快速 缺點: Directory server 維護 時間複雜度太高 Directory server 故障 就全都壞了
Hierarchical overlay structure • 解決Centralized directory 中Directory server 故障就全都壞了的問題 • 每個Cluster中有一個Leader,監控分群成員及分群上一層 • Cluster大小介於K~3K • 最高層,只有一個Cluster,連結media resides • 實作在VOD system是一大挑戰 較適合Live streaming
優點:作者宣稱可以支援更多使 用者 不會有Directory server 掛 掉就全掛掉的問題 server 維護 時間複雜度低 缺點:實作不易 樹太高,無法及時 節點加入可能產生洪流 節點離開,恢復處理相當 複雜,且需要許多時間
非集中式(DHT) • 結構化網路 有較為嚴密的拓樸,資料的放置和查詢演算法都以分散式雜湊表為基礎。 • 非結構化網路 檔案隨機的放置在系統中,並且每個節點可以任意加入和離開此系統。
簡介 • 是分散式計算系統中的一類,用來將一個鍵值的集合分散送到所有在分散式系統中的節點,並且可以有效地將訊息轉送到,唯一擁有鍵值的節點 。 • 分散式雜湊表通常是為了擁有最大節點數量的系統,而且在系統中的節點常常會加入或離開(例如網路斷線)而設計的 。
架構 • 分散式雜湊表的架構可以分成幾個主要的元件 • 鍵值空間(keyspace) • 鍵值空間分割(keyspace partitioning) • 重疊網路 (overlay network) • 雜湊表儲存與讀取 • 利用上述元件和雜湊表去運作
鍵值空間分割 (keyspace partitioning) • 使用consistent hashing方法來將鍵值對應到節點。 δ(k1,k2) 來定義虛擬鍵值k1到k2的距離。每個節點被指定了一個鍵值稱為ID。
consistent hashing • 擁有一個基本的性質,增加或移除節點只改變鄰近ID的節點所擁有的鍵值集合,而其它節點的則不會被改變。
重疊網路 (overlay network) • 每個節點保有一些到其他節點(它的鄰居)的連結。將這些連結總合起來就形成overlay network。而這些連結是使用一個結構性的方式來挑選的,稱為網路拓樸。
網路拓樸 • 所有的分散式雜湊表網路拓樸有某些基本的性質: 對於任一鍵值k,某個節點要不就擁有k,要不就擁有一個連結能連結到距離較接近k的節點。因此使用貪婪演算法即可容易地將訊息轉送到擁有鍵值k的節點。
鍵值的轉送方法 • 每個檔案與一個鍵值相結合,而擁有相似鍵值的檔案會傾向被相似的節點構成的集合所保管。
雜湊表儲存與讀取 • K=hash(Data) Put(key,value) Get(key)->value
特性 • 物件的搜尋不再需要透過洪流法(Flooding)的方式。 • 查詢要求都能有很高的正確送達率。 • 搜尋結果是確定性的。
非結構化網路(DHT) • Gnutella是最早被提出的系統,透過廣播的方式,要求資源的訊息會被散佈到有相連的節點上,每一個節點收到要求訊息會立刻檢查本身是否擁有要求的資源,如果存在的話則回傳訊息回去,否則就將要求訊息再散佈出去。
Content delivery path maintenance 由於終端主機的正常運作與頻寬有限等不確定因素使得如何提供一個強而有力與高擴展性的傳輸是一項挑戰。 • Tree-based Multicast • Multiple trees • Pull-based gossiping
Tree-based Multicast • 內部的節點收到data就要傳送data給他之後的節點,而末端節點收到後則不需要轉送data出去。
單一樹的架構的缺點 • It isn’t fair. • It’s fragile and prone to severe service disruption. • An interior node might not be able to offer high-bandwidth video streaming to its children because of its limited bandwidth. • 由於以上的弱點,所以單一多播樹只適合用在small group steaming aplications 例如:videoconferencing、multiparty gaming
SplitStream • 建構在Pastry之上的一種應用層群播 • 以MDC機制對影音資訊進行處理 • 將用來傳送的multicast tree拆成交錯不同的tree,在兩棵不同的tree中,每個Node可扮演發送者與接收者兩種角色
Pastry(1/2) • 以雜湊函數把節點ip和檔案轉換成128bit代碼 • 每個節點有一Routing table,裡面存有對其他節點資訊:Leaf set、Routing table、Neighborhood set • 當在做檔案搜尋時,會先判斷所要尋找的節點是否在Leaf set 或是Neighborhood set中。如果存在則可以馬上找到檔案存在的節點。如果沒有,則透過Routing table中的前置碼,找出最接近的的節點,再從所找出最接近的節點繼續搜尋。
Multiple Description Coding, MDC(1/2) • 將原始的影片串流資料編碼成數條影片品質相同的串流,每一條稱之為description。 • 每條description都有固定且唯一的編號, 彼此之間不具相依性且可獨立解碼, 節點只要接收到任意數量的description即可進行解碼。
Multiple tree 缺點 • 設計複雜,實作上比較困難 • 沒辦法對每顆樹進行最佳化,因為最佳化的結果會得到相同的樹,所以反而無法得到較佳的傳送品質
基於Gossip的協議 Gossip是一種分佈式網狀協議,在p2p系統中分發消息有良好的可擴展性與可靠性。
加入新節點 加入節點7之後 加入節點7之前
加入新節點 節點3離開之前 節點3離開之後