28
Department of Computer Science & Engineering The Chinese University of Hong Kong Constructing Robust and Resilient Framework for Cooperative Video Streaming Louis Shi Lu, Microsoft Shanghai Michael R. Lyu, The Chinese University of Hong Kong Presented by: Jiangchuan Liu, Simon Fraser University 2006 International Conference on Multimedia & Expo July 9-12, 2006 Toronto, Ontario, Canada

Department of Computer Science & Engineering The Chinese University of Hong Kong Constructing Robust and Resilient Framework for Cooperative Video Streaming

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

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