Department of Computer Science & EngineeringThe Chinese University of Hong Kong
Constructing Robust and Resilient Framework for Cooperative Video
Streaming
Louis Shi Lu, Microsoft ShanghaiMichael R. Lyu, The Chinese University of Hong Kong
Presented by: Jiangchuan Liu, Simon Fraser University
2006 International Conference on Multimedia & ExpoJuly 9-12, 2006Toronto, Ontario, Canada
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Outline
Introduction Motivation Related work Challenges
The p2p streaming framework Overview Peer control overlay Data transfer protocol Peer local optimization Topology optimization
Experiments Empirical experience in CUHK Experiments on PlanetLab
Conclusion
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Motivation
Video over Internet is pervasive today New challenge: on-line TV broadcasting fails
on traditional client-server architecture 500Kbps, theoretical limitation for a 100Mbps
Server is 200 concurrent users Is there any efficient way to support video
broadcasting to a large group of network users?
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Why Client/Server fail
Traditional client/server solution is not scalable
3 bottlenecks Server load
The server bandwidth is the major bottleneck
Edge capacity One connection to one client The connection may degrade
End to end bandwidth Scalability?
Client
ClientClient
Client
Client
Video streamingserver
Server capacity: themajor bottleneckClient
…...
Client
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Related work
Peer-to-Peer file sharing system BitTorrent, eMule, DC++ Peer collaborate with each other Without (or with very little) needs to dictated resources
Why not suitable for video broadcasting Without in-bound rate requirement Without real-time requirement
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Related work
Content Distribution Network (CDN) Install a lot of dictated servers on the edge of the Intern
et Requests are directed to the best servers Very high cost on purchasing servers
Tree-based overlay Coopnet, NICE Rigid structure, not robust to node-failures and network
condition changes Other Mesh-based systems
CoolStreaming, pplive, ppStream
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Challenges
Bandwidth In-bound data bandwidth is not less than the video
rate In-bound bandwidth should not have large
fluctuations Network dynamics
Network bandwidth and latency may change Peer nodes may leave and join at any time Peer nodes may fail or shut down
Real-time requirement All media packets must be fetched before its
playback deadline
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Goals
For each peer: Provide satisfying in-bound bandwidth Assign its traffic in a balanced and fair manner
For the whole network: Keep it as one-piece while peer may fail/leave Keep the shape of the overlay from degrading Keep the radius small
Department of Computer Science & Engineering
The Chinese University of Hong Kong
P2P based solution: Overview
Collaboration between client peers Source server alleviated Better scalability Better reliability
Video streamingserver
Source Peer
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
New peer
Lookup service
Find neightbors
Retrieve peer list
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
1 stream out
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Infrastructure
Video source Windows media encoder, RealProducer… Source peer
Takes content from the video streaming server and feed it to the p2p network
Wrap packets, add seq no. Look-up service (tracker)
Track the peers viewing each channel Help new peers to join the broadcast
Client peers (organized into a random graph) Schedule and dispatch the video packets Adapt to the network condition Optimize the performance Support the local video player
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Peer join
Peer join: Obtain a peer list Establish connections
Neighborhood selection
Random IP matching Peer depth Peer performance
Register its own service
Participant peer
Participant peer
Participant peer
New peer
Lookup service
(2)Find neightbors
(1) Retrieve peer list
Participant peer
(3) Register service
Department of Computer Science & Engineering
The Chinese University of Hong Kong
The connection pool “No one is reliable”
A peer tries its best for better performance A peer maintains a pool of active connections to peers A peer keeps trying new peers when the incoming
bandwidth is not reached A peer keeps trying new connections after that, but in a
slower manner Update peer list Others may establish new connections
Participant peer
Neighbor
Neighbor
Neighbor
Neighbor
NeighborNeighbor
The connection pool
Active update
Connectionrequest
Neighbor
NeighborNeighbor
Lookup service
New peer list
Neighbor
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Connection pool maintenance
For each connection, define connection utility Recent bandwidth (I/O) Recent latency Peer depth Peer recent progress
When connections are more than Drop several bad connections
Out-rate bound Peer depth (distance to source)
Participant peer
Neighbor
Neighbor
Neighbor
Neighbor
NeighborNeighbor
The connection pool
Active update
Connectionrequest
Neighbor
NeighborNeighbor
Lookup service
New peer list
Neighbor
Department of Computer Science & Engineering
The Chinese University of Hong Kong
The peer control overlay
Random-graph shape Evolving with time Radius: will not degrade since all peers are trying to
minimize its depth Integrity: will not be broken into pieces
Data transfer The data transfer path is determined from the
control overlay Each data packet is transferred along a tree Determined just-in-time from the control overlay
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Data transfer protocol
Receiver driven While exchanging data, data availability information
is also exchanged The data receiver determine which block from
which neighbor Driven by data distribution information
Peer knows where the missing data is Peer issues data request
Peer synchronization Content fetching progress
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Data transfer protocol
Data transfer load scheduling Several factors:
Latency Bandwidth Data availability
Connection status (busy, free) Data request issued (->busy) Data arrived (->free)
Scheduling time: on data arrival Get a packet that is recent available Estimate the latency The playback deadline is before the expected latency
Participant peer
Neighbor
Neighbor
Neighbor
Neighbor
NeighborNeighbor
The connection pool
…...
…...…...
…...
…...
…...…...
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Data transfer protocol
Connection status Busy<==> standby Data request issued<==> data arrived When data arrive:
Measure the latency of the previous packet Get a weighted delay Find if the packet whose playback deadline is ok for that
delay Issue request (busy)
Critical blockParticipant peer
Neighbor
Neighbor
Neighbor
Neighbor
NeighborNeighbor
The connection pool
…...
…...…...
…...
…...
…...…...
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Data transfer protocol Multicast tree
Each data packet would not go by a peer twice For each data packet, a multicast tree is constructed The tree is built just-in-time
To adapt to the transient properties of the network links
Each data packet may have different trees
Video streamingserver
Source Peer
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
New peer
Lookup service
Find neightbors
Retrieve peer list
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
Participant peer
1 stream out
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Neighborhood management
Performance monitoring: Measured every once an interval (e.g. 10 sec.) Avg. in-bound data rate Avg. out-bound data rate Avg. data packet latency
Neighborhood goodness Neighborhood number
Lower bound of Nb Upper bound of Nb
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Peer control protocol
Consideration: Data distribution and performance While in-bound data rate is not enough While neighbor number is lower than lower bound
Establish new connections While neighbor number is higher than upper bound
Discard the worst connection The benefit is two-fold: both sides release something
bad.
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Overlay integrity
Peers may leave or fail The overlay shall not be broken into pieces Maintain the connectivity of the overlay Solution: Peers try to connect to neighbors with
lower depth Since each peer tries to lower its depth, the
probability for (articulation) critical points to occur becomes small
Articulationpoint
Neighbor
Neighbor
Neighbor
Neighbor
Neighbor
Neighbor
Connect to inner peers
Connect to inner peers
Connect to inner peers……
Source peer, depth = 0
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Overlay integrity
Playback progress difference: Higher depth difference higher playback progress
difference The attempt to reduce local peer depth may reduce
that progress difference
Articulationpoint
source
Update connection
Update connection
Update connection
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Experiments
Planet-Lab 300+ nodes deployed worldwide
Performance test Data smoothness
The ratio of the data packets that can be fetched before its playback deadline
Dynamic experiment Peer sojourn time is exponential distributed
(unstable)A. All peers are unstableB. A potion of the peers are unstable
Overlay size Peer local buffer size
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Static performance
The impact of overlay size and peer buffer size
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Dynamic performance
The impact of peer stability The peers’ sojourn time is exponential distributed The longer the mean, the more stable the peers are
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Observations
More users, better performance Resilient in dynamic network environment Robust to peer join-leave More stable, better performance Bigger buffer increases coherence
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Benefits
Low cost: Without any extra hardware expenditure Purely software solution
Scalable: can support theoretically infinite users
Reliable and resilient to user join/leave Multiple connections Intelligent content scheduling between peers Quick adapt to the change of network conditions
Solution for: Low-cost large scale live broadcast
Department of Computer Science & Engineering
The Chinese University of Hong Kong
Conclusions
In this presentation, we have: Introduced the challenges in the p2p streaming
system Defined several goals that a p2p system to support
real-time video broadcast Proposed a solution for large-scale p2p video
streaming service Future work
Distributed look-up service Content copyright protection (Identity
authentication, data encryption) Overlay topology control (Traffic localization) Possible VOD system based on this infrastructure