implementation of a peer to peer real time streaming media system n.
Skip this Video
Loading SlideShow in 5 Seconds..
Implementation of a Peer-to-Peer Real-time streaming media system PowerPoint Presentation
Download Presentation
Implementation of a Peer-to-Peer Real-time streaming media system

Loading in 2 Seconds...

play fullscreen
1 / 41

Implementation of a Peer-to-Peer Real-time streaming media system - PowerPoint PPT Presentation

  • Uploaded on

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 )

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Implementation of a Peer-to-Peer Real-time streaming media system' - risa

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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


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

Client-Server Network

Content Delivery Network

Peer-to-Peer Network

Hybrid CDN & P2P Network

client server network
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.



content delivery network
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

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


hybrid cdn p2p network
Hybrid CDN & P2P Network
  • Hybrid CDN and P2P Network

CDN Servers



P2P Streaming System

ALM Technique

IPM versus ALM

p2p streaming system
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
alm technique
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.
overlay network
Overlay Network

Conceptual Routing Network

Physical Routing Network

ipm versus alm
IPM versus ALM
  • IP Multicast
  • Application Layer Multicast
system architecture
System Architecture

System Concept Diagram

Three Subsystems

System Block Diagram

system concept diagram
System Concept Diagram

VLC Client

VLC Source

Camera Source

Camera Client

VLC Client

system architecture cont
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
system architecture1
System Architecture
  • System Block Diagram
packet delivery algorithm
Packet-Delivery Algorithm

Push-based System



Pull-based System

Revised BitTorrent

push based system
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.
  • 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
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
dmft flow chart
DMFT Flow Chart

(1) Member Join

(3) Prune Duplicate Path

(2) Construct Routing Tree

(4) Recover Tree Structure

(5) Inquire at regular time

  • 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.
cdmft hierarchical
CDMFT Hierarchical

Cluster Headers

Cluster Members

pull based system
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.
bittorrent network cont
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.
bittorrent network
  • 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.
test and implementation
Test and Implementation

Code Organization

System Test Cases

Test Tools

vlc media player
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... 

  • Organize Codes:
  • TestRespectively:
    • IOCP asynchronous transport:Sender,Receiver
    • Buffering and Ordering
    • Thread Manager,Memory Manager
    • RoutingAlgorithm
code organization cont
Code Organization (cont.)

Original UsedIDE:Eclipse

code organization
Code Organization

Current UsedIDE:Qt

system test cont
System Test (cont.)
  • 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
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

Future works

  • 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
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.
  • 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.