1 / 41

Implementation of a Peer-to-Peer Real-time streaming media system

Implementation of a Peer-to-Peer Real-time streaming media system. Presenter: Kuei -Yu Hsu Advisor: Dr. Kai-Wei Ke 2014/6/9. Outline. Introduction Background System Architecture Packet-Delivery Algorithm Push-based System (DMFT and CDMFT) Pull-based System (Revised BitTorrent )

risa
Download Presentation

Implementation of a Peer-to-Peer Real-time streaming media system

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 of a Peer-to-Peer Real-time streaming media system Presenter: Kuei-Yu Hsu Advisor: Dr. Kai-Wei Ke 2014/6/9

  2. Outline • Introduction • Background • System Architecture • Packet-Delivery Algorithm • Push-based System (DMFT and CDMFT) • Pull-based System (Revised BitTorrent) • Test and Implementation • Conclusion

  3. Introduction Client-Server Network Content Delivery Network Peer-to-Peer Network Hybrid CDN & P2P Network

  4. Client-Server Network • With increasing network bandwidth, Network transport are not only text or static image, but also audio and video. • The traditional Client-Server architecture can't afford the number of growing users. Server Client

  5. Content Delivery Network • Server Side: Content Delivery Network (CDN) • Replicatethe content from the original content server at its local cache. • Distribute the content to clients. • There are 2 ways to enhance the multimedia access. CDN Servers

  6. Peer-to-Peer Network • Client Side: Peer-to-Peer (P2P) Network • Clientsbecome active associates by transmitting received content to other clients. Peer-to-Peer

  7. Hybrid CDN & P2P Network • Hybrid CDN and P2P Network CDN Servers Peer-to-Peer

  8. Background P2P Streaming System ALM Technique IPM versus ALM

  9. P2P Streaming System • A system without a central server, where each participating node, act both as a server and a client. • Content to be shared is sourced in parts by each node – peers. • Famous Application of P2P Streaming: • PPStream • CoolStreaming

  10. ALM Technique • Multiple Connections: • Multiple UnicastUnicast is the most common way to make connection in the network. Multiple unicast always produce duplicate paths. • IP Multicast (IPM)Failed due to concerns regarding scalability, deployment, and support for higher level functionality. • Application Layer Multicast (ALM)Dispatcher algorithm potentially avoids redundant communication in the network.

  11. Overlay Network Conceptual Routing Network Physical Routing Network

  12. IPM versus ALM • IP Multicast • Application Layer Multicast

  13. System Architecture System Concept Diagram Three Subsystems System Block Diagram

  14. System Concept Diagram VLC Client VLC Source Camera Source Camera Client VLC Client

  15. System Architecture (cont.) • Three Subsystems: • Streaming Transfer subsystem • Data Buffering • Ordering • Algorithm subsystem • Set routing information (i.e. Build tree structure) • Determine where the streaming packets transport to • Network Management subsystem • Manage socket connection status • Process multiple asynchronous I/O requests

  16. System Architecture • System Block Diagram

  17. Packet-Delivery Algorithm Push-based System DMFT CDMFT Pull-based System Revised BitTorrent

  18. Push-based System • Nodes are arranged in a tree structure. • Selected frame is pushed from a parent node to its child node. • Delay in the push system occurs when a node leaves – subsequently leading to rediscovery of the parent -child relation - Tree is regenerated. • Moreover there can be redundancy when two nodes are pushing the same frame to a node.

  19. DMFT • DMFT: Distributed Multisource Forwarding Tree • A multi-source multicast algorithm in application layer for routing. • Every member can not only provide source contents but also can forward data to others. • Need to maintain some neighbor information. • NIT (Neighbor Information Table) • DFT (Data Forwarding Table)

  20. DMFT Tables • NIT: Neighbor Information Table • Record the distance of each member which is in the group • DFT: Data Forwarding Table • Maintain the routing information

  21. DMFT Flow Chart (1) Member Join (3) Prune Duplicate Path (2) Construct Routing Tree (4) Recover Tree Structure (5) Inquire at regular time

  22. CDMFT • CDMFT: Cluster Distributed Multisource Forwarding Tree • An enhanced DMFT algorithm for reducing control messages. • With cluster-based group management, all multicast group members are grouped into different clusters. • Each cluster hasa cluster head which is responsible for managing cluster members and forwarding multicast data.

  23. CDMFT Hierarchical Cluster Headers Cluster Members

  24. Pull-based System • Peers request neighboring peers for the next frame needed by them. • Each peer has a buffer-map of the frames currently held by it and its neighbors. • A Peer refers each of its neighbors buffer-map to decide from whom to pull data. • Disadvantage: Making requests of pull again and again and exchanging buffer maps can result in congestion.

  25. BitTorrent Network (cont.) • Common BitTorrent terms: • Tracker: A server that keeps track of which seeds and peers are in the swarm. • Seeder: Refers to a machine possessing some part of the data. • Swarm: Together, all peers (including seeds) sharing a torrent are called a swarm. • Leech: A peer or any client that does not have 100% of the data. Also, refers to a peer (or peers) that has a negative effect on the swarm by having a very poor share ratio.

  26. BitTorrentNetwork • BitTorrent download Strategies: • Rarest First • The rarest pieces are transmitted with high priority. • The strategy can use in the two cases. • Tit for tat • The strategy is used to optimize the download speed • Choking Policy: Peers are uploaded to more cooperating peer. • Optimistic Unchoking: A peer will upload to other peers randomly in a period.

  27. Test and Implementation Code Organization System Test Cases Test Tools

  28. VLC media player • A free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols. • Plays most codecs with no codec packs needed:MPEG-2, DivX, H.264, MKV, WebM, WMV, MP3... 

  29. Implementation http://projects.tano.si/vlc-qt • Organize Codes: • TestRespectively: • IOCP asynchronous transport:Sender,Receiver • Buffering and Ordering • Thread Manager,Memory Manager • RoutingAlgorithm

  30. Code Organization (cont.) Original UsedIDE:Eclipse

  31. Code Organization Current UsedIDE:Qt

  32. System Test (cont.) • Test Case: • Unicast versus Multicast system • Different bitrate video sources • Test Range: • 1 peer localhost (127.0.0.1) loopback • 2 peers connect directly • 2 peers connect through network • 3 peers, 4 peers……

  33. System Test • Test Environment: • Localhost • Self-Contained Network • Realistic Network • Test Packets loss tool: • Wireshark (Telephony) • Test Transport Stream packets tool: • TSReader • MPEG-2 Transport Stream packet analyser

  34. Wireshark

  35. TSReader

  36. MPEG-2 Transport Stream packet analyser

  37. Conclusions Future works

  38. Conclusions • For enhancing system performance, need to trace the whole project codes to find where the bug is. • Will update the prototype to an integrated system. • Integrate VLC media player into our system. • Compatible with other kind of media players. • Find more analysis tools to validate the system results. • Hope to use real Live sources (i.e.Camera) when system is stable.

  39. References (cont.) • J. Liu, S. Rao, B. Li, and H. Zhang,“Opportunities and challenges of peer-to-peer internet video broadcast,” Proc. of the IEEE, vol. 96, no.1, pp. 11-24, Jan. 2008. • W. Zhanga, Q. Zhenga, H. Lib and F. Tian,“An overlay multicast protocol for live streaming and delay-guaranteed interactive media,” Journal of Network and Computer Applications, vol. 35, Issue 1, pp. 20-28, Jan. 2012.

  40. References • Chia-Hui Huang, “Design and Analysis of Application Layer Multicast Routing Protocols,” Unpublished doctoral dissertation, National Taipei University of Technology, April 2013. • Wen-NengTsai,“Design of a live multimedia streaming system with pull-based P2P transport technology”, Unpublished master dissertation, National Taipei University of Technology, July 2013. • Tzu-Tung Liao,“Design of a multisource multimedia streaming system with fast recoverable application layer multicast algorithm”, Unpublished master dissertation, National Taipei University of Technology, July 2013.

  41. Thanks for listening

More Related