1 / 104

Presenter : Kuei -Yu Hsu Advisor : Dr . Kai-Wei Ke Oral Defense Date : 2014/7/30

點對點即時串流分享傳輸系統之研製與效能 評估 Implementation and performance evaluation of a Peer-to-Peer Real-time streaming media system. Presenter : Kuei -Yu Hsu Advisor : Dr . Kai-Wei Ke Oral Defense Date : 2014/7/30. Outline. Introduction Network Structure Multicast Transmission P2P Streaming System

Download Presentation

Presenter : Kuei -Yu Hsu Advisor : Dr . Kai-Wei Ke Oral Defense Date : 2014/7/30

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 點對點即時串流分享傳輸系統之研製與效能評估Implementation and performance evaluation of a Peer-to-Peer Real-time streaming media system Presenter: Kuei-Yu Hsu Advisor: Dr. Kai-Wei Ke Oral Defense Date: 2014/7/30

  2. Outline • Introduction • Network Structure • MulticastTransmission • P2PStreaming System • Overlay Network • MPEG-2Transport Stream • System Implementation • Streaming Encode module • Network Management module • Streaming Transfer module • Routing Algorithm module • Streaming Decode module • SystemResult & Evaluation • Conclusion

  3. Introduction

  4. Network Structure • 主從式(Client-Server)架構 • 為傳統最簡單的一對多存取架構。 • 網路使用者以及許多影音串流應用系統的增加,單一伺服器的主從式網路架構已難以負擔大量使用者的需求。

  5. Network Structure (cont.) • 內容傳遞網路(Content Delivery Network, CDN)架構 • 伺服器端採用叢集式(Cluster)的伺服器以及分散式(Distributed)的架構,提供區域性的存取。 • 伺服器維護耗費高成本。

  6. Network Structure (cont.) • 點對點(Peer-to-Peer, P2P)架構 • 用戶端採用分散式的特性,除了可以接收資料,更多了將資料分享給別人的能力。

  7. Network Structure (cont.) • 混合式HybridCDN-P2P架構 • 整合伺服端的叢集分散式架構,以及用戶端的點對點架構。

  8. MulticastTransmission (cont.) • 網路層群播(IP Multicast, IPM) • 需要特定的硬體與軟體支持,以及Internet Group Management Protocol (IGMP)協定 • 布置不易

  9. MulticastTransmission • 應用層群播(Application Layer Multicast, ALM) • 將IPM中「路由器」所必須處理之工作,改為全部都由參與群播的「群組成員」負責。 • 實行較容易

  10. Overlay Network

  11. P2PStreaming System(Push) • 資料依照指示路徑被傳遞下去 • 樹狀存取架構,資料來源為其父節點。 • 資料在同一路徑上重複傳送機率低,頻寬使用率也較低。 • 維護與管理較為複雜 • 適用於中、小規模的系統

  12. P2PStreaming System(Pull) • 節點主動發送請求要資料。 • 網狀存取架構,資料來源不固定,節點間彼此互相傳輸。 • 資料在同一路徑上重複傳送機率較高,頻寬使用率也較高。 • 維護較為容易 • 適合大規模的系統

  13. MPEG-2Transport Stream

  14. MPEG Bit Stream • 重要欄位: • Elementary stream (ES): 經過MPEG-2編碼壓縮後的資料、影像與聲音資料,影像與聲音通常會是一個access units,ES之格式包含 • Digital Control Data • Digital Audio (sampled and compressed) • Digital Video (sampled and compressed) • Digital Data (synchronous, or asynchronous) • Packetized elementary stream(PES):經由Packetizer切割並且封裝的ES

  15. Two Kind of Data Streaming • Program Stream(PS): • 資料片段較大,適用於穩定無損耗的環境 • 一個PS只能傳輸一個節目(Program) • 應用於DVD或硬碟等儲存媒體 • Transport Stream(TS): • 資料片段細小固定188bytes,容許於較不穩定的環境中使用 • 多工特性使一個TS可同時傳輸多個節目(Program) • 應用於DVB-T、IPTV的串流傳輸 PS PES PES … PES … TS TS TS TS PES1 Part1 PES1 Part2 PES1 Part3 PESnPartm

  16. Single Program TS process

  17. Multiple Programs TS process

  18. TSPacket Encapsulation (cont.) • TS封包封裝於IP/UDP/RTP之下 • 在Ethernet中傳輸最大為1370 bytes • 一個UDP封包中,最多可乘載7個188 bytes的TS封包 • (14bytes + 20bytes + 8bytes + 12bytes) + 188bytes * 7 =54bytes overhead + 1316byte payload= 1370bytes

  19. TSPacket Encapsulation 7TSpackets

  20. TS HeaderAnalysis • 一個TS封包188bytes=4 bytes header + 184 bytes payload • TS封包重要欄位: • Sync Byte: 用來做資料同步的起始欄位 • Packet Identifier(PID): 辨別不同資料類型 (e.q. Video, Audio) • Continuity Counter(CC): 範圍為0~15,用來檢查TS資料的連續性 • Program Counter Reference(PCR): 主要用於音訊與視訊同步之參考

  21. System Implementation

  22. Systeminteraction • 本系統共有5個模組 • 串流來源發送模組:產生並發送串流來源 • 網路管理模組:大量封包進出系統之管理 • 串流轉送模組:串流封包的排序與播送 • 路由演算法模組:串流傳遞方向之決策 • 串流解碼播放模組:串流資料解碼與播放

  23. Systemmodules flow

  24. Streaming Encode module • 使用VLC command-line • 媒體來源一:選擇本機端影音檔案 • 媒體來源二:擷取攝影裝置

  25. Systemmodules flow

  26. Network Management module • 網路管理模組使用輸入輸出完成端口(Input/Output Completion Port, IOCP)處理應用程式與Windows作業系統間輸入輸出(Input/Output)的執行。 • IOCP是一個由Microsoft公司所研發的系統內核調用機制,提供於Windows作業系統上開發程式之API。 • 使用非同步(asynchronous)與多執行緒(multiple thread)的操作架構,能夠快速處理大量的I/O資料。 • I/O包含了Windows作業系統所有的資料進出之動作,本系統I/O處理主要為封包的傳送與接收。

  27. IOCPAsynchronous • 同步:系統會等待I/O工作的完成才會接著去處理下一個工作。 • 非同步:不等待前一個工作完成,系統會馬上指派執行緒去處理下一個工作。

  28. IOCPArchitecture & flow • IOCP建立一個執行緒池(thread pool) • 完成之I/O會放進完成佇列中 • 建立檢查傳輸狀態之執行緒,並將其放入等待佇列中 • 執行緒主動檢查I/O項目是否已被正確完成

  29. Systemmodules flow

  30. Streaming Transfer module • 串流轉送模組主要為處理封包排序與遞送。 • 因本系統使用的是原始的RTP封包,所以接收端所收到的封包上記錄的參考時間是來源提供者的時間。 • 播放器所參考之時間為作業系統之時間

  31. Streaming Transfer module • 當播放器的參考時間慢於封包上的時間資訊,可能會造成播放器緩衝溢出(overflow)的情形,溢出之封包將會被丟棄。 • 當播放器的參考時間快於封包上的時間資訊,此時緩衝可能就容易呈現空(empty)等待的狀態。

  32. Streaming Transfer module • 播放時間同步可讓串流資料可以穩定地播送、順利地被播放器解碼。 • 計算封包2與封包3的時間差距,並依此時間差距設定一個倒數計時器。 • 封包3等待計時器倒數完畢之通知,當時間倒數完畢後,封包3即會被送出。

  33. Systemmodules flow

  34. Routing Algorithm module • 路由演算法模組為封包傳遞到目的節點的轉送決策與管理。 • 推式分享傳輸機制:使用ALM之概念於覆疊網路上建置一套具快速恢復機制之演算法。 • 分散式多源轉送樹(Distributed Multisource Forwarding Trees, DMFT) • 叢集分散式多源轉送樹(Cluster-based Distributed Multisource Forwarding Trees, CDMFT) • 拉式分享傳輸機制: 基於BitTorrent的概念修改,使其適用於串流資料的傳遞。

  35. DMFT • 鄰近成員資訊表(Neighbor Information Table, NIT): • 每個成員都會有一張NIT表格,記錄自己與群組中其他成員的距離 • 資料轉送表(Data Forwarding Table, DFT): • 每個成員亦都會有一張DFT表格,維護群組的樹狀傳遞架構

  36. Five Mechanism • 新成員加入:若自己為群組中的第一個節點,則自成一群組並等待其他節點加入;若加入的是一個已存在之群組,則與群組中之任一節點發送連線請求。 • 建構樹狀路徑:依據NIT表格所提供之資訊,選擇距離自己最近的節點來當作子節點。 • 修剪重複路徑:節點距離相同所產生之分歧,有可能會發生ㄧ節點同時擁有一個以上的父節點之情況。 • 成員離開恢復:成員離開有兩種,一種是主動通知離開,另一種則是未通知直接關閉斷線。 • 定時輪詢回報:設定每隔一段時間發送一個心跳封包(Heart Beat, HB)輪詢檢查群組中是否有異常斷線的節點。

  37. Update NIT(cont.) • 每個成員都會有一張NIT表格。 • 每當有一個新成員加入,NIT表格就會加入新成員的距離資訊。

  38. Update NIT • 當有成員離開群組,將剔除掉該成員之資訊。 • 接著再重新調整樹狀架構,恢復傳送機制。

  39. DMFTflow chart (1) Member Join (2) Construct Routing Tree (3) Prune Duplicate Path (5) Inquire at regular time (4) Recover Tree Structure

  40. CDMFT • 叢集分散式多源轉送樹(Cluster-based Distributed Multisource Forwarding Trees, CDMFT) • 為了降低控制封包的數量,CDMFT使用叢集的方式管理成員。

  41. Pull-basedStreamingSystem • 使用主動要求資料的方式,向擁有資源的節點要資料。 • 原始BitTorrent機制中必須要有明確的資源大小,知道檔案的開始和結尾,才能夠完成細切的動作。 • 本論文使用RTP封包的時間戳記作為串流細切的參考依據。

  42. Systemmodules flow

  43. Streaming Decode module • 使用VLC-QtLibrary,將VLCmediaplayer嵌入QtC++系統中。 • VLC-QtLibrary是一個用來連結Qt應用開發框架與LibVLC Library的免費函式庫 • Qt是一個跨平台的應用程式與使用者介面框架 • 使用Qt開發之應用有:Skype、VLC media player、Adobe Photoshop Elements、VirtualBox……等 • LibVLC Library多媒體框架為VLC media player所提供之函式庫 • 使用LibVLC所開發的應用程式有:FreeTuxTV、Kamoso、SopCast Player等等

  44. SystemResult & Evaluation

  45. P2P Streaming System

  46. Streaming MediaDialog 媒體來源一:選擇本機端影音檔案 媒體來源二:擷取攝影裝置

  47. Testing Environment • 6個路由器: • Catalyst 3560-eight ports四個 • Cisco 1800 Series-two ports兩個 • 9個網路區段 • 4台電腦

More Related