Title: P2P Streaming Part2: Design and evaluation of a p2p live streaming application CoolStreaming
1P2P Streaming-Part-2 Design and evaluation of
a p2p live streaming application (CoolStreaming)
- CS 7270
- Networked Applications Services
- Lecture-13
2CoolStreaming/DONet A Data-Driven Overlay
Network for Peer-to-Peer Live Media Streaming
- Jiangchuan Liu
- with Xinyan Zhang, Bo Li, and T.S.P.Yum
- Infocom 2005
3Some Facts
- DONet Data-driven Overlay Network
- CoolStreaming Cooperative Overlay Streaming
- First release (CoolStreaming v0.9)
- May 2004
- Till March 2005
- Downloads gt100,000
- Average online users 6,000
- Peak-time online users 14,000
- Google entries (CoolStreaming) 5130
4Outline
- Motivation
- Background and related work
- Design of DONet/CoolStreaming
- Implementation and empirical Study
- Future work
5Motivation
- Enable large-scale live broadcasting in the
Internet environment - Capacity limitation
- Streaming 500Kbps, server outbound band 100Mbps
- 200 concurrent users only
- Network heterogeneity
- No QoS guarantee
6Client/Server Poor scalability
7IP multicast Limited deployment
8Collaborative Communications
9Outline
- Motivation
- Background and related work
- Design of DONet/CoolStreaming
- Implementation and empirical Study
- Future work
10Related Solutions
- Content distribution networks
- Expensive
- Not quite scalable for a large number of
audiences - Self-organized overlay networks
- Application layer multicast
- Peer-to-peer communications
11Related Solutions
- Content distribution networks
- Expensive
- Live streaming (?)
- Self-organized overlay networks
- Application layer multicast
- Peer-to-peer communications
12Application Layer Multicast
- Issue Structure construction
- Tree
- NICE, CoopNet, SpreadIt, ZIGZAG
- Mesh
- Narada and its extension
- Multi-tree
- SplitStream
13Application Layer Multicast (contd)
- Issue Node dynamics
- Structure maintenance
- Passive/proactive repairing algorithms
- Advanced coding
- PALS (layered coding)
- CoopNet (multiple description coding)
14Gossip-based Dissemination
- Gossip
- Iteration
- Sends a new message to a random set of nodes
- Each node does similarly in the next round
- Pros Simple, robust
- Cons Redundancy, delay
- Related
- Peer-to-peer on-demand streaming
15Outline
- Motivation
- Background and related work
- Design of DONet/CoolStreaming
- Implementation and empirical Study
- Future work
16Data-driven Overlay (DONet)
- Target
- Live media broadcasting
- No IP multicast support
- Core operations
- Every node periodically exchanges data
availability information with a set of partners - Then retrieves unavailable data from one or more
partners, or supplies available data to partners
17Features of DONet
- Easy to implement
- no need to construct and maintain a complex
global structure - Efficient
- data forwarding is dynamically determined
according to data availability, not restricted by
specific directions - Robust and resilient
- adaptive and quick switching among
multi-suppliers
18Key Modules
- Membership manager
- mCache partial overlay view
- Update by gossip
- Partnership manager
- Random selection
- Partner refinement
- Transmission Scheduler
19Transmission Scheduling
- Problem From which partner to fetch which data
segment ? - Constraints
- Data availability
- Playback deadline
- Heterogeneous partner bandwidth
20Scheduling algorithm
- Variation of Parallel machine scheduling
- NP-hard
- Heuristic
- Message exchanged
- Window-based buffer map (BM) Data availability
- Segment request (piggyback by BM)
- Less suppliers first
- Multi-supplier Highest bandwidth within deadline
first - Simpler algorithm in current implementation
- Network coding ?
21Outline
- Motivation
- Background and related work
- Design of DONet/CoolStreaming
- Implementation and empirical Study
- Future work
22PlanetLab Experiments
- Distributed experimental system
- DONet Module
- Console and automation
- Command dispatching and report collection
- Caveats
- Scalability
- Reproducibility
- Representability
23Geographical Node Distribution
May 24, 2004
of Active Node 200-300
24Planet-Lab Result
- Data continuity, 200 nodes, 500 kbps streaming
25Control overhead
26Implementation CoolStreaming
- First release May 30, 2004
- Source code 2000-line Python
- Programming time
- PlanetLab prototype 2 weeks
- Export from prototype 2 weeks
- Support formats
- Real Video/Windows Media
- Platform/media independent
- Scale and capacity
- Total downloads
- Peak time 14000 concurrent users
- Streaming rate 450-700kbps
27User Distribution (June 2004)
- Heterogeneous network environment
- LAN, DSL, CABLE...
28Online Statistics (Jun 21, 2004)
Average Packet Loss around 1 - 5
29Observations
- Current Internet has enough available band to
support TV-quality streaming (gt450Kbps) - Bottleneck server, end-to-end bandwidth
- Larger data-driven overlay
- ? better streaming quality
- Capacity amplification
30Outline
- Motivation
- Background and related work
- Design of DONet/CoolStreaming
- Implementation and empirical Study
- Future work
31Future of DONet/Coolstreaming
- Content
- Solution DONet/Coolstreaming as a capacity
amplifier between content provider and clients - Virtually part of network infrastructure
- Enhancement
- Scheduling algorithm
- Simplified version
- Network coding
- Transport protocol
- TCP (?)
32Future of DONet/Coolstreaming
- Enhancement (contd)
- User interface
- Combined with caching
- Combined with CDN
- Provide world-wide reliable media streaming
service - On-demand streaming
33Q A