View
241
Download
2
Category
Tags:
Preview:
Citation preview
NUS.SOC.CS5248Ooi Wei Tsang
Previously, on CS5248..
NUS.SOC.CS5248Ooi Wei Tsang
IP Multicast
NUS.SOC.CS5248Ooi Wei Tsang
New Model: IP Multicast
sender
receivers
NUS.SOC.CS5248Ooi Wei Tsang
Question 1
Router
G?
should I forward this packet to my
subnet?
NUS.SOC.CS5248Ooi Wei Tsang
IGMP v2.0
JOIN messageA : “I want to join group G.”
QUERY messageR : “Which group have you joined ?”
NUS.SOC.CS5248Ooi Wei Tsang
IGMP v2.0
LEAVE message“I want to leave group G”
Group-Specific Query“Anybody else belongs to group G ?”
NUS.SOC.CS5248Ooi Wei Tsang
Rate Adaptations
NUS.SOC.CS5248Ooi Wei Tsang
Layered Video
Layer 1 Layer 2 Layer 3
NUS.SOC.CS5248Ooi Wei Tsang
TCP-Equation
Window size behavior in TCP/IP with constant loss probability T. Ott, J. Kemperman, and M. MathisJune 1997, HPCS 1997
NUS.SOC.CS5248Ooi Wei Tsang
Heterogeneity
NUS.SOC.CS5248Ooi Wei Tsang
Internet Heterogeneity
2 Mbps
40kbps
56kbps
NUS.SOC.CS5248Ooi Wei Tsang
Two Simple Solutions
one stream to fit them all
send multiple streams
NUS.SOC.CS5248Ooi Wei Tsang
Network
Encoder
Sender
Middlebox
Receiver
Decoder
NUS.SOC.CS5248Ooi Wei Tsang
Receiver-Driven Layered Multicast
Steve McCanne, Van Jacobson, Martin VetterliSIGCOMM 1996
NUS.SOC.CS5248Ooi Wei Tsang
Layered Multicast
1 Layer : 1 Multicast Group
Receiver subscribes to as many layers as desired
NUS.SOC.CS5248Ooi Wei Tsang
RLM Example
S R1
R2
R3R4
NUS.SOC.CS5248Ooi Wei Tsang
Questions
How many layers are enough?
NUS.SOC.CS5248Ooi Wei Tsang
Solution: Join Experimenthighest layer = 1join layer 1while no packet loss
highest layer ++join next layer
leave highest layerhighest layer --
NUS.SOC.CS5248Ooi Wei Tsang
Details
Tjoin
Time between join experiments
Tdetect
Time taken to detect packet loss
NUS.SOC.CS5248Ooi Wei Tsang
Effects of Tjoin
Need to converge to the right level quickly Tjoin should be small
Repeated failed experiments congest networks Tjoin should be large
NUS.SOC.CS5248Ooi Wei Tsang
Adapting Tjoin(i)
One Tjoin per layer
if join experiment for layer k fails
Tjoin(k) = Tjoin(k)*2
NUS.SOC.CS5248Ooi Wei Tsang
Example
1
2
3
4
NUS.SOC.CS5248Ooi Wei Tsang
Adapting Tdetect
Set Tdetect to large initial value
Estimate Tdetect with mean and deviationMeasure time between join and packet loss occur
NUS.SOC.CS5248Ooi Wei Tsang
Two Problems
Interference Scalability
NUS.SOC.CS5248Ooi Wei Tsang
Problem 1: Interference
NUS.SOC.CS5248Ooi Wei Tsang
Problem 1: Interference
I see, layer 2 is bad for me..
I see, layer 2 is bad for me..
NUS.SOC.CS5248Ooi Wei Tsang
Problem 2: Scalability
Lots of receivers Lots of experimentsLots of congestions
NUS.SOC.CS5248Ooi Wei Tsang
Solution: Shared Learning
I am joining
layer 2, do not
disturb!
I am joining
layer 2, do not
disturb!
NUS.SOC.CS5248Ooi Wei Tsang
Solution: Shared Learning
NUS.SOC.CS5248Ooi Wei Tsang
Solution: Shared Learning
I am joining
layer 3, do not
disturb!
I am joining
layer 3, do not
disturb!
NUS.SOC.CS5248Ooi Wei Tsang
Solution: Shared Learning
I see, layer 3 is bad for me..
I see, layer 3 is bad for me..
NUS.SOC.CS5248Ooi Wei Tsang
Solution: Shared Learning
I see, layer 3 is bad for me..
I see, layer 3 is bad for me..
NUS.SOC.CS5248Ooi Wei Tsang
Problem
Reducing interference decrease convergence time
Solution:
NUS.SOC.CS5248Ooi Wei Tsang
Evaluation
Session Size
Convergence Time (s)
20
100
2 100
40
60
NUS.SOC.CS5248Ooi Wei Tsang
EvaluationLoss Rate (%)
Session Size
1
100
NUS.SOC.CS5248Ooi Wei Tsang
Problems with RLM
Not TCP Friendly
Share learning is “clumsy”
Failed join experiments is bad for the network
NUS.SOC.CS5248Ooi Wei Tsang
Thin Streams: An Architecture for Multicasting Layered Video
L. Wu, R. Sharma., B. SmithNOSSDAV 97
NUS.SOC.CS5248Ooi Wei Tsang
How bad is failed experiment?
R : sending rate of a layerTj : IGMP join latency
Tl : IGMP leave latency
Tdetect: time before drop
Buffer space at the router =
NUS.SOC.CS5248Ooi Wei Tsang
How big is IGMP Leave Latency?
NUS.SOC.CS5248Ooi Wei Tsang
What To Do?
Buffer space at the router = R(Tj + Tl + Tdetect)
Proposal of ThinStreamReduce RReduce Tdetect
NUS.SOC.CS5248Ooi Wei Tsang
Reducing Tdetect
Detect congestion before it happens
NUS.SOC.CS5248Ooi Wei Tsang
Calculating A & E
R : bandwidth of one layer I : measurement interval N : number of bytes received in I
G : number of layers joined
A =
E =
NUS.SOC.CS5248Ooi Wei Tsang
ThinStreams Algorithm
if (E - A > leave_threshold)leave
else if (at least Tjoin since last join)
and (E - A < join_threshold)
join
NUS.SOC.CS5248Ooi Wei Tsang
Fairness
Improve fairnessleave_threshold as a function of G
NUS.SOC.CS5248Ooi Wei Tsang
Problems with ThinStreamSmall R
Still not TCP friendly
NUS.SOC.CS5248Ooi Wei Tsang
TCP-Like Congestion Control for Layered Multicast Data Transfer
L. Vicisano, J. Crowcroft, L. RizzoINFOCOM 98
NUS.SOC.CS5248Ooi Wei Tsang
The RLC Protocol
1. Try to emulate TCP2. Synchronize join3. “Probe” before join
NUS.SOC.CS5248Ooi Wei Tsang
Recall TCP’s Behavior
AIMD
NUS.SOC.CS5248Ooi Wei Tsang
Recall Layered Multicast
1
2
3
4
NUS.SOC.CS5248Ooi Wei Tsang
1. Emulating TCP
Idea: By finding appropriate Bi and Tjoin(i)
NUS.SOC.CS5248Ooi Wei Tsang
Idea
12
3
4
NUS.SOC.CS5248Ooi Wei Tsang
2. Synchronizing Join
Idea: send special packets in data stream to signal join
Distance between synchronization point for layer i is Tjoin(i)
NUS.SOC.CS5248Ooi Wei Tsang
Sync Point
1
2
3
4
NUS.SOC.CS5248Ooi Wei Tsang
3. Probe before Join
Emulate joining the next layer
If this causes packet drop, don’t join
NUS.SOC.CS5248Ooi Wei Tsang
Sender-Based Probing
baselayer
layeri
NUS.SOC.CS5248Ooi Wei Tsang
Sender-Based Probing
baselayer
layeri
NUS.SOC.CS5248Ooi Wei Tsang
Problems with RLC
Burst too short
No fine grain increment
NUS.SOC.CS5248Ooi Wei Tsang
Summary
Receiver Driven Layered Multicast
Lots of ProblemsNo Perfect Solutions
Recommended