NUS'SOC'CS5248 - PowerPoint PPT Presentation

About This Presentation
Title:

NUS'SOC'CS5248

Description:

Motion-JPEG. Every frame is a JPEG. H.261. I-Frames and P-Frames. Intra-H.261 ... JPEG. Uncompress. Dequantize. IDCT. Compress. Quantize. DCT. h261. Replenish ... – PowerPoint PPT presentation

Number of Views:39
Avg rating:3.0/5.0
Slides: 100
Provided by: ooiwei
Category:
Tags: nus | soc | cs5248 | jpeg

less

Transcript and Presenter's Notes

Title: NUS'SOC'CS5248


1
Previously, on CS5248..
2
Idea
  • Adjust sending rate based on network conditions

3
Part 1 Detecting Congestion
  • Bolot and Tulertti
  • if median loss rate gt threshold then
  • decrease rate
  • else
  • increase rate

4
Part 1 Detecting Congestion
  • Busse, Deffner and Schulzrine
  • if a lot of congested receivers
  • decrease rate
  • if a lot of unloaded receivers
  • increase rate
  • else
  • do nothing

5
Multiple receivers
  • Heterogeneity Issues
  • Scalability Issues
  • (Another Lecture..)

THIS
6
Todays Lecture
7
  • McCanne, Jacobson, and Vetterli
  • "Receiver-driven layered multicast,"
  • ACM SIGCOMM 96
  • Wu, Sharma, and Smith,
  • "Thin Streams An architecture for multicasting
    layered video,
  • NOSSDAV 97

8
Todays Lecture
9
  • Amir, McCanne, and Zhang.
  • "An application level video gateway."
  • ACM MM 95

10
Todays Lecture
11
  • Bolot, Turletti, and Wakeman.
  • "Scalable feedback control for multicast video
    distribution in the internet,"
  • ACM SIGCOMM 94.

12
Todays Lecture
13
Receiver-Driven Layered Multicast
  • McCanne, Jacobson Vetterli
  • SIGCOMM 96

14
Internet Heterogeneity
2 Mbps
56kbps
40kbps
15
Heterogeneous Clients
  • How to satisfy receivers with different
    requirements?

16
Method 1 Simulcast
  • Send multiple streams

17
Method 2 Rate Adaptation
  • Send one stream

18
Method 3 Layered Multicast
Layer 1
Layer 2
Layer 3
19
Layering Scheme
  • Temporal Layering

20
Layering Scheme
  • Spatial Layering

21
Layering Scheme
  • DCT Layering

30
8
2
30
8
2
0
30
-6
-1
0
0
-6
-1
1
0
0
0
1
0
0
0
0
22
Layering Scheme
  • Fine Granularity Scalability (FGS)

1 1 0 0 0 0 0 0
1 1 1 0 0 0 1 0
1 0 0 1 0 1 0 1
1 0 0 0 0 1 0 0
23
Layered Multicast
  • 1 Layer 1 Multicast Group
  • Receiver subscribes to as many layers as desired

24
RLM Example
25
Question
  • How many layers is enough?

26
Solution Join Experiment
  • highest layer 1
  • join layer 1
  • while no packet loss
  • highest layer
  • join next layer
  • leave highest layer
  • highest layer --

27
Details
  • Tjoin
  • Time between join experiments
  • Tdetect
  • Time taken to detect packet loss

28
Effects of Tjoin
  • Need to converge to the right level quickly
  • Tjoin should be small
  • Repeated failed experiments congest networks
  • Tjoin should be large

29
Adapting Tjoin
  • One Tjoin per layer
  • if join experiment for layer k fails Tjoin(k)
    Tjoin(k)2

30
Example
4
3
2
1
31
Adapting Tdetect
  • Set Tdetect to large initial value
  • Estimate Tdetect with mean and deviation
  • Mesure time between join and packet loss occur

32
Two Problems
  • Interference
  • Scalability

33
Problem 1 Interference
34
Problem 1 Interference
I see, layer 2 is bad for me..
35
Problem 2 Scalability
  • Lots of receivers
  • Lots of experiments
  • Lots of congestions

36
Solution Shared Learning
I am joining layer 2, do not disturb!
37
Solution Shared Learning
38
Solution Shared Learning
I am joining layer 3, do not disturb!
39
Solution Shared Learning
I see, layer 3 is bad for me..
40
Shared Learning
  • Conservative learn from failure not success
  • Improve convergence time
  • Give priority to low-layer experiments

41
Evaluation
42
Evaluation
43
Problems
  • Failed join experiments are bad
  • Interference across sessions?

44
Thin Streams
  • Linda Wu, Rosen Sharma and Brian Smith
  • NOSSDAV 97

45
Problems
  • Failed join experiments are bad
  • Interference across sessions?

46
How bad is failed experiments?
  • R sending rate of a layer
  • Tj IGMP join latency
  • Tl IGMP leave latency
  • Buffer space at the router
  • R(Tj Tdetect Tl)

47
Reduce Buffer Space
  • Reducing R
  • Many layers, each with small bandwidth
  • Reducing Tl
  • Sharma designed IGMP v2.0
  • Reducing Tdetect
  • Rely on throughput rather than congestions

48
Reducing Tdetect
  • Detect congestion before packet drops
  • E Expected Throughput
  • A Actual Throughput

49
Calculating A E
  • R bandwidth of one layer
  • I measurement interval
  • N number of bytes received in I
  • G number of layers joined
  • A aA (1-a)N/I
  • E aE (1-a)GR

50
Thin Streams Join-Leave Algo
  • do every I seconds
  • if (E-A) gt Cleave
  • leave
  • else
  • if (E-A) lt Cjoin and
  • time since last leave gt Twait
  • join

51
More Parameters
  • Twait and Cleave
  • Affect convergence rate and fairness
  • Large G small Cleave large Twait

52
Problems
  • Failed join experiments are bad
  • Interference across sessions?

53
Interference Across Sessions
  • Synchronize join experiments within session
  • Reduce period of congestions

54
Interference Across Sessions
  • Desynchronize join experiments across session

55
Estimating IGMP Leave Latency
Time between join and first packet
Time between leave and join
56
RLM/ThinStreams Problems
  • Need lots of multicast addresses
  • Need support from codec
  • Does not solve format heterogeneity problem

57
Todays Lecture
58
Application-Level Media Gateway
  • Amir, McCanne, Zhang ACM MM 95

59
Gateway Architecture
H.261 128kbps
MJPEG 6Mbps
60
Recall..
  • Motion-JPEG
  • Every frame is a JPEG
  • H.261
  • I-Frames and P-Frames

61
Intra-H.261
  • Motion compensation too complicated
  • Use conditional replenishment

62
Conditional Replenishment
63
Conditional Replenishment
64
Conditional Replenishment
65
How to transcode?
JPEG
Uncompress
Dequantize
IDCT
Compress
Quantize
DCT
Replenish
h261
66
How to transcode?
JPEG
Uncompress
Dequantize
IDCT
Compress
Quantize
DCT
Replenish
h261
67
Short Cut!
JPEG
Uncompress
Dequantize
IDCT
Replenish
Compress
Quantize
DCT
Replenish
h261
68
Compressed-domain Processing
  • Replenishment

31
8
2
0
30
8
2
0
-6
-1
0
0
-6
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
69
Other CDP
  • Changing Resolutions
  • Color Subsampling
  • 422 to 420

70
Evaluation
  • Frame rate improvement
  • 12.9 fps to 33.3 fps (low motion)
  • 6.9 fps to 21.4 fps (high motion)

71
Todays Lecture
72
Scalable Feedback
  • Bolot,Turletti Wakeman SIGCOMM 95

73
Problem
  • How can a large number of receivers feedback to
    the sender?
  • How to know the number of receivers?

74
Three Approaches
  • Probabilistic Query
  • Randomly Delayed Responses
  • TTL Scoped Search

75
BTWs Idea
  • Sender and receivers each generate random key of
    i bits
  • Ksend Key of sender
  • Kk Key of receiver k

76
Sender Probe
  • Multicast probe(Ksend, m)
  • if Kk matches m most significant bits of Ksend
  • reply to sender

77
High-Level Mechanism
  • foreach epoch
  • generate Ksend
  • for round j 0 to i
  • send probe(Ksend, i j)
  • if enough responses
  • break
  • wait to start next epoch

78
The Details
  • Probe packets

Senders Key (Ksend)
79
The Details
  • Probe packets

Number of bits to match (m)
80
The Details
  • Probe packets

SIZESOLICITED I need to estimate the size
81
Soliciting Size
  • Sender
  • set SIZESOLICITED to 1 at the beginning of an
    epoch
  • Receiver
  • reply if key matches

82
Estimating Number of Receivers
  • Overview
  • Calculate EX, average number of rounds to first
    reply
  • Express n f(EX)

83
Estimating Num. of Receivers
  • Pj
  • Prob. that 1st reply in round j
  • i
  • Number of bits in key
  • Reply in round j match i-j MSB

84
Estimating Num. of Receivers
  • if j 0 then
  • Pj 2-i
  • else
  • Pj 2j-1/(2i-2j-1)

85
0000 1000 0001 1001 0010 1010 0011 1011 0100
1100 0101 1101 0110 1110 0111 1111
86
Estimating Num. of Receivers
  • rj Num. of replies in round j
  • P(rj gt 0 rj-1 0) 1-(1-pj)n
  • P(rj-1 0) (1 2j-1-i)n
  • P(rj gt 0 rj-1 0) F(j)
  • 1-(1-pj)n(1- 2j-1-i)n

87
Estimating Num. of Receivers
  • EX

88
Expected Round
n
log EX
89
Estimating Num. of Receivers
  • n

90
The Details
  • Probe packets

current worst state Congested, Loaded, Unloaded
91
Reporting State
  • Sender
  • send current worst state
  • Receiver
  • if key matches and
  • if my state is worse than senders state, reply
    with my state

92
The Details
  • Probe packets

maximum RTT
93
Usage of RTT
  • Receiver
  • After responding, keep quite for a period of RTT
  • Sender
  • Time between rounds 2RTT

94
The Details
  • Probe packets

RTTSOLICITED I need to estimate RTT
95
The Details
  • Probe packets

rttshft reply after random 0..(1ltltrttshft)
96
Estimate RTT
  • Receiver
  • T uniform(0, 2rttshft)
  • Wait for T
  • Reply with probes timestamp T
  • Sender
  • Set RTT to the worst received smoothed with
    moving average

97
Todays Summary
98
Heterogeneity and Scalability
  • Handle receivers with different requirements
  • RLM, Thin Streams
  • Transcoding in Middleboxes
  • Communicate with lots of receivers
  • Random helps!

99
Survey/Project Topics
  • Better layered multicast schemes
  • Estimating multicast session size
  • More scalable feedback algorithms
Write a Comment
User Comments (0)
About PowerShow.com