Transcript Clients

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)
 Test and Implementation
 Conclusion
2
Introduction
• Client-Server Network
• Content Delivery Network
• Peer-to-Peer Network
• Hybrid CDN & P2P Network
3
Client-Server Network
 With increasing network
Server
bandwidth, Network transport
are not only text or static
image, but also audio and
video.
 The traditional Client-Server
Client
4
architecture can't afford the
number of growing users.
Content Delivery Network
 There are 2 ways to enhance the multimedia
access.
Server Side: Content
Delivery Network (CDN)
1.


5
Replicate the content
from the original content
server at its local cache.
Distribute the content
to clients.
CDN Servers
Peer-to-Peer Network
2.
Client Side: Peer-to-Peer (P2P) Network
 Clients become active associates by transmitting
received content to other clients.
Peer-to-Peer
6
Hybrid CDN & P2P Network
 Hybrid CDN and P2P Network
CDN Servers
Peer-to-Peer
7
Background
• P2P Streaming System
• ALM Technique
• IPM versus ALM
8
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
9
ALM Technique
 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.
10
Overlay Network
Conceptual Routing Network
Peer 1
Peer 4
Physical Routing Network
Peer 3
Peer 2
11
IPM versus ALM
 IP Multicast
12
 Application Layer Multicast
System Architecture
• System Concept Diagram
• Three Subsystems
• System Block Diagram
13
System Concept Diagram
VLC Client
Peer 1
VLC Source
Peer 4
Camera Source
Peer 3
Camera Client
Peer 2
VLC Client
14
System Architecture (cont.)
 Three Subsystems:
Streaming Transfer subsystem
1.
 Data Buffering
 Ordering
Algorithm subsystem
2.


Network Management subsystem
3.


15
Set routing information (i.e. Build tree structure)
Determine where the streaming packets transport to
Manage socket connection status
Process multiple asynchronous I/O requests
System Architecture
 System Block Diagram
Media Player (Optional)
Play
Stream
Streaming Transfer
subsystem
Control
Messages
Algorithm
subsystem
Routing
Informations
Data
Transport
Network Management
subsystem
Stream
Transport
Operating System Network Transfer (MAC)
16
Packet-Delivery Algorithm
• Push-based System
•
•
DMFT
CDMFT
• Pull-based System
•
17
Revised BitTorrent
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.
18
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)
19
DMFT Tables
 NIT: Neighbor Information Table
 Record the distance of each member which is in the group
NIT
Field name
Member IP
Hop Count
 DFT: Data Forwarding Table
 Maintain the routing information
DFT
Field name
20
Source IP
Next Peers IP
Parent IP
DMFT Flow Chart
A
Start System
No
Input the local ip
(1) Member Join
As a Group Creator?
Yes
Is new member join?
Yes
No
No
Input the one of
The members' ip
Prune Message
Update NIT
(2) Construct
Routing Tree
A
21
Member leave
No
Update DFT
Is parent duplicate?
Stream Forward
(5) Inquire at
regular time
A
(3) Prune
Duplicate Path
Yes
(4) Recover
Tree StructureRecovery
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 has a cluster head which is responsible
for managing cluster members and forwarding
multicast data.
22
CDMFT Hierarchical
Cluster Headers
Cluster Members
23
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.
24
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.
25
BitTorrent Network
 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.
26
Test and Implementation
• Code Organization
• System Test Cases
• Test Tools
27
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...
28
http://projects.tano.si/vlc-qt
Implementation
 Organize Codes:
Original Used
IDE
UI
Eclipse C++
wxWidget
wxFormBuilder
Current Used
Qt C++
Qt UI
 Test Respectively:




29
IOCP asynchronous transport: Sender, Receiver
Buffering and Ordering
Thread Manager, Memory Manager
Routing Algorithm
Code Organization (cont.)
Original Used IDE:
Eclipse
30
Code Organization
Current Used IDE: Qt
31
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……
32
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
33
Wireshark
34
TSReader
35
MPEG-2 Transport Stream packet
analyser
36
Conclusions
• Future works
37
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.
38
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.
39
References
 Chia-Hui Huang, “Design and Analysis of Application Layer
Multicast Routing Protocols,” Unpublished doctoral
dissertation, National Taipei University of Technology, April
2013.
 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 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.
40
Thanks for listening
41