Presenter: Kuei-Yu Hsu Advisor: Dr. Kai-Wei Ke 2014/6/9 Implementation of a Peer-to-Peer Real-time streaming media system.

Slides:



Advertisements
Similar presentations
Push Technology Humie Leung Annabelle Huo. Introduction Push technology is a set of technologies used to send information to a client without the client.
Advertisements

The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
Incentives Build Robustness in BitTorrent Bram Cohen.
X stream Project proposal. Project goals: Students Students: Academic Supervisor Academic Supervisor: Advisors: Developing and Implementing a large scale.
Playback delay in p2p streaming systems with random packet forwarding Viktoria Fodor and Ilias Chatzidrossos Laboratory for Communication Networks School.
Cooperative Overlay Networking for Streaming Media Content Feng Wang 1, Jiangchuan Liu 1, Kui Wu 2 1 School of Computing Science, Simon Fraser University.
Conducted by:Cheng Wen Chi Chiu Kwok Shing Choi Kwok Yam Advised by Prof. Danny Tsang TD1a-09, BEng of Computer Engineering, HKUST.
Network Coding in Peer-to-Peer Networks Presented by Chu Chun Ngai
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XV: Real P2P Systems.
ZIGZAG A Peer-to-Peer Architecture for Media Streaming By Duc A. Tran, Kien A. Hua and Tai T. Do Appear on “Journal On Selected Areas in Communications,
Opportunities and Challenges of Peer-to-Peer Internet Video Broadcast J. Liu, S. G. Rao, B. Li and H. Zhang Proc. of The IEEE, 2008 Presented by: Yan Ding.
Application layer (continued) Week 4 – Lecture 2.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
1March -05 Jiangchuan Liu with Xinyan Zhang, Bo Li, and T.S.P.Yum Infocom 2005 CoolStreaming/DONet: A Data-Driven Overlay Network for Peer-to-Peer Live.
An Alliance based PeeringScheme for P2P Live Media Streaming An Alliance based Peering Scheme for P2P Live Media Streaming Darshan Purandare Ratan Guha.
PPCast: A Peer-to-Peer based Video broadcast solution Presented by Shi Lu Feb. 28, 2006.
Department of Computer Science & Engineering The Chinese University of Hong Kong Constructing Robust and Resilient Framework for Cooperative Video Streaming.
Multicast Transport Protocols: A Survey and Taxonomy Author: Katia Obraczka University of Southern California Presenter: Venkatesh Prabhakar.
# Idowu Samuel O. # Kashif Shahzad # Arif Kamal M7001E - Multimedia systems [ltu.se] ©2011.
A Web Services Based Streaming Gateway for Heterogeneous A/V Collaboration Hasan Bulut Computer Science Department Indiana University.
Introduction to Streaming © Nanda Ganesan, Ph.D..
Communication Part IV Multicast Communication* *Referred to slides by Manhyung Han at Kyung Hee University and Hitesh Ballani at Cornell University.
Client-Server vs P2P or, HTTP vs Bittorrent. Client-Server Architecture SERVER client.
CS 218 F 2003 Nov 3 lecture:  Streaming video/audio  Adaptive encoding (eg, layered encoding)  TCP friendliness References: r J. Padhye, V.Firoiu, D.
CIS679: RTP and RTCP r Review of Last Lecture r Streaming from Web Server r RTP and RTCP.
1 Proceeding the Second Exercises on Computer and Systems Engineering Professor OKAMURA Laboratory. Othman Othman M.M.
Scalable Reliable Multicast Architecture Wenjun Zeng Computer Science Department University of Missouri-Columbia.
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
Exploring VoD in P2P Swarming Systems By Siddhartha Annapureddy, Saikat Guha, Christos Gkantsidis, Dinan Gunawardena, Pablo Rodriguez Presented by Svetlana.
By Shobana Padmanabhan Sep 12, 2007 CSE 473 Class #4: P2P Section 2.6 of textbook (some pictures here are from the book)
1 V1-Filename.ppt / yyyy-mm-dd / Initials P2P content distribution T Applications and Services in Internet, Fall 2008 Jukka K. Nurminen.
BitTorrent Internet Technologies and Applications.
Chapter Two Application Layer Prepared by: Dr. Bahjat Qazzaz CS Dept. Sept
ON DESIGING END-USER MULTICAST FOR MULTIPLE VIDEO SOURCES Y.Nakamura, H.Yamaguchi, A.Hiromori, K.Yasumoto †, T.Higashino and K.Taniguchi Osaka University.
A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
CPSC 441: Multimedia Networking1 Outline r Scalable Streaming Techniques r Content Distribution Networks.
Resilient Peer-to-Peer Streaming Presented by: Yun Teng.
Tsunami: Maintaining High Bandwidth Under Dynamic Network Conditions Dejan Kostić, Ryan Braud, Charles Killian, Eric Vandekieft, James W. Anderson, Alex.
Department of Information Engineering The Chinese University of Hong Kong A Framework for Monitoring and Measuring a Large-Scale Distributed System in.
HUAWEI TECHNOLOGIES CO., LTD. Page 1 Survey of P2P Streaming HUAWEI TECHNOLOGIES CO., LTD. Ning Zong, Johnson Jiang.
PPSP Peer Protocol draft-gu-ppsp-peer-protocol PPSP WG IETF 82 Taipei Rui Cruz (presenter) Yingjie Gu, Jinwei Xia, Mário Nunes, David Bryan, João Taveira.
03/11/2015 Michael Chai; Behrouz Forouzan Staffordshire University School of Computing Streaming 1.
B IT T ORRENT T ECHNOLOGY Anthony Pervetich. H ISTORY Bram Cohen Designed the BitTorrent protocol in April 2001 Released July 2, 2001 Concept Late 90’s.
A Utility-based Approach to Scheduling Multimedia Streams in P2P Systems Fang Chen Computer Science Dept. University of California, Riverside
CS Spring 2009 CS 414 – Multimedia Systems Design Lecture 37 – P2P Applications/PPLive Klara Nahrstedt Spring 2009.
Video Multicast over the Internet Presented by: Liang-Yuh Wu Lung-Yuan Wu Hao-Hsiang Ku 12 / 6 / 2001 Bell Lab. And Georgia Institute of Technologies IEEE.
December 4, 2002 CDS&N Lab., ICU Dukyun Nam The implementation of video distribution application using mobile group communication ICE 798 Wireless Mobile.
Peer-to-Peer Streaming of Scalable Video in Future Internet Application Speaker : 吳靖緯 MA0G0101 Communications Magazine, IEEE, On page(s): 128.
Application Level QoS in Multimedia Peer-to-Peer (P2P) Networks Alireza Goudarzi Nematiy and Makoto Takizawa¤ Tokyo Denki University
Algorithms and Techniques in Structured Scalable Peer-to-Peer Networks
Peer-to-Peer Systems: An Overview Hongyu Li. Outline  Introduction  Characteristics of P2P  Algorithms  P2P Applications  Conclusion.
Bit Torrent Nirav A. Vasa. Topics What is BitTorrent? Related Terms How BitTorrent works Steps involved in the working Advantages and Disadvantages.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
Inside the New Coolstreaming: Principles, Measurements and Performance Implications Bo Li, Susu Xie, Yang Qu, Gabriel Y. Keung, Chuang Lin, Jiangchuan.
Peer-to-Peer Networks 10 Fast Download Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
Traffic Localization with Information Guidance of Pseudo Peer Agent on BT-P2P Network 學生 : 楊宏昌 指導教授 : 曾黎明教授 在 BT 同儕通訊上利用參與者訊息引導對外流量之區域化節約.
Cost-Effective Video Streaming Techniques Kien A. Hua School of EE & Computer Science University of Central Florida Orlando, FL U.S.A.
Presenter: Kuei-Yu Hsu Advisor: Dr. Kai-Wei Ke 2013/9/30 Performance analysis of video streaming on different hybrid CDN & P2P infrastructure.
INTERNET PROTOCOL TELEVISION (IP-TV)
Lecture XV: Real P2P Systems
Accelerating Peer-to-Peer Networks for Video Streaming
An example of peer-to-peer application
Introduction to BitTorrent
Nuno Salta Supervisor: Manuel Ricardo Supervisor: Ricardo Morla
H.264/SVC Video Transmission Over P2P Networks
INTERNET PROTOCOL TELEVISION (IP-TV)
Pure P2P architecture no always-on server
Design and Implementation of OverLay Multicast Tree Protocol
Presentation transcript:

Presenter: Kuei-Yu Hsu Advisor: Dr. Kai-Wei Ke 2014/6/9 Implementation of a Peer-to-Peer Real-time streaming media system

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

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

Client-Server Network 4 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. Client Server

Content Delivery Network 5 1. Server Side: Content Delivery Network (CDN) Replicate the 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

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

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

Background P2P Streaming System ALM Technique IPM versus ALM 8

P2P Streaming System 9 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

ALM Technique 10 Multiple Connections: Multiple Unicast Unicast 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.

Overlay Network 11 Conceptual Routing Network Physical Routing Network

IPM versus ALM 12 IP Multicast Application Layer Multicast

System Architecture System Concept Diagram Three Subsystems System Block Diagram 13

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

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

System Architecture 16 System Block Diagram

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

Push-based System 18 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.

DMFT 19 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)

DMFT Tables 20 NIT: Neighbor Information Table Record the distance of each member which is in the group DFT: Data Forwarding Table Maintain the routing information NIT Field nameMember IPHop Count DFT Field nameSource IPNext Peers IPParent IP

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

CDMFT 22 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 has a cluster head which is responsible for managing cluster members and forwarding multicast data.

CDMFT Hierarchical 23 Cluster Headers Cluster Members

Pull-based System 24 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.

BitTorrent Network (cont.) 25 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.

BitTorrent Network 26 BitTorrent download Strategies: 1. Rarest First The rarest pieces are transmitted with high priority. The strategy can use in the two cases. 2. 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.

Test and Implementation Code Organization System Test Cases Test Tools 27

VLC media player 28 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...

Implementation 29 Organize Codes: Test Respectively: IOCP asynchronous transport: Sender, Receiver Buffering and Ordering Thread Manager, Memory Manager Routing Algorithm Original UsedCurrent Used IDEEclipse C++ Qt C++ UI wxWidget wxFormBuilder Qt UI

Code Organization (cont.) 30 Original Used IDE: Eclipse

Code Organization 31 Current Used IDE: Qt

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

System Test 33 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

Wireshark 34

TSReader 35

MPEG-2 Transport Stream packet analyser 36

Conclusions Future works 37

Conclusions 38  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.

References (cont.) 39 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 , Jan 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 , Jan

References 40 Chia-Hui Huang, “Design and Analysis of Application Layer Multicast Routing Protocols,” Unpublished doctoral dissertation, National Taipei University of Technology, April Wen-Neng Tsai,“Design of a live multimedia streaming system with pull-based P2P transport technology”, Unpublished master dissertation, National Taipei University of Technology, July 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.

Thanks for listening 41