Post on 23-Jan-2016
description
transcript
March -05 1
Jiangchuan Liu
with Xinyan Zhang, Bo Li, and T.S.P.Yum
Infocom 2005
CoolStreaming/DONet: A Data-Driven Overlay Network for Peer-to-Peer Live Media St
reaming
March -05 2
Some Facts DONet – Data-driven Overlay Network
CoolStreaming – Cooperative Overlay Streaming
First release (CoolStreaming v0.9) May 2004
Till March 2005 Downloads: >100,000 Average online users: 6,000 Peak-time online users: 14,000 Google entries (CoolStreaming): 5130
March -05 3
Outline Motivation Background and related work Design of DONet/CoolStreaming Implementation and empirical Study Future work
March -05 4
Motivation Enable large-scale live broadcasting in the In
ternet environment Capacity limitation
־ Streaming: 500Kbps, server outbound band: 100Mbps
־ 200 concurrent users only
Network heterogeneity No QoS guarantee
March -05 5
Client/Server: Poor scalability
Client
Client Client
Client
Client
Client
March -05 6
IP multicast: Limited deployment
Client
Client
Client
Client
Client
Client
Client
March -05 7
Collaborative Communications
Client
Client Client
Client
Client
Client
March -05 8
Outline Motivation Background and related work Design of DONet/CoolStreaming Implementation and empirical Study Future work
March -05 9
Related 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
March -05 10
Related Solutions
Content distribution networks Expensive Live streaming (?)
Self-organized overlay networks Application layer multicast Peer-to-peer communications
March -05 11
Application Layer Multicast
Issue: Structure construction Tree
NICE, CoopNet, SpreadIt, ZIGZAG
Mesh Narada and its extension
Multi-tree SplitStream
C0
B0 B2
B1
B0 B2
B1
A3
A0
A1 A7
C0
A7A2
A3
A0
A1 A2
(a) (b)
A
B C D
E
F G
H
A
B C D
E
F G
H
A
B C D
E
F G
H
I
(a) (b) (c)
I
March -05 12
Application Layer Multicast (cont’d)
Issue: Node dynamics Structure maintenance
Passive/proactive repairing algorithms Advanced coding
PALS (layered coding) CoopNet (multiple description coding)
March -05 13
Gossip-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
March -05 14
Outline Motivation Background and related work Design of DONet/CoolStreaming Implementation and empirical Study Future work
March -05 15
Data-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
March -05 16
Features 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
March -05 17
Key Modules
Membership manager mCache – partial overlay view Update by gossip
Partnership manager Random selection Partner refinement
Transmission Scheduler
March -05 18
Transmission Scheduling
Problem: From which partner to fetch which data segment ?
Constraints Data availability Playback deadline Heterogeneous partner bandwidth
March -05 19
Scheduling 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 ?
March -05 20
Analysis on DONet Coverage ratio for distance k
E.g. 95% nodes are covered in 6 hops for M=4
Average distance O(logN) DONet vs Tree-based overlay
Much lower outage probability
March -05 21
Outline Motivation Background and related work Design of DONet/CoolStreaming Implementation and empirical Study Future work
March -05 22
PlanetLab Experiments
Command Dispatcher
DONet System
Console
Command Queue
Automaton Report Collector
Distributed experimental system DONet Module Console and automation Command dispatching and report collection
Caveats Scalability Reproducibility Representability
March -05 23
Geographical Node Distribution
May 24, 2004
# of Active Node: 200-300
March -05 24
Planet-Lab Result Data continuity, 200 nodes, 500 kbps streaming
March -05 25
Control overhead
March -05 26
Implementation: 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
March -05 27
User Distribution (June 2004)
Heterogeneous network environment LAN, DSL, CABLE...
March -05 28
Online Statistics (Jun 21, 2004)
Average Packet Loss around 1% - 5%
March -05 29
Observations Current Internet has enough available band
to support TV-quality streaming (>450Kbps) Bottleneck: server, end-to-end bandwidth
Larger data-driven overlay
better streaming quality Capacity amplification
March -05 30
Outline Motivation Background and related work Design of DONet/CoolStreaming Implementation and empirical Study Future work
March -05 31
Future 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 (?)
March -05 32
Future of DONet/Coolstreaming Enhancement (cont’d)
User interface Combined with caching Combined with CDN
־ Provide world-wide reliable media streaming service
On-demand streaming
March -05 33
Q & A
Thanks