Post on 28-Dec-2015
An Efficient Flow Control Plan for End-To-End Delivery of Pre-stored Compressed Videos
Sheau-Ru Tong and Sho-Chi LeeDepartment of Management Information SystemsNational PingTung University of Science and TechnologyPingTung, Taiwan, R.O.C.srtong @mail.npust.edu.tw
End-to-End Video Flow
Disk-based video Server
buffer
Video blocks(hundreds KB)
ClientStation
buffer
Video frames(tens KB)
Cells(tens B)
Network channel
• Disk-based video server
• Network channel• Client Station
• Objective: minimize buffer space, network bandwidth, initial delay
• Peer buffer: for reshaping traffic from one style to another
Feasible belt
Accumulative Traffic Model
• Let the time of data first being available be the reference time t=0.
• Accum. data amount of client: fc(t).
• Client buffer: Bc.
• Initial delay d.
d
Bc
fx(t).
•Accum. data amount of server: fs(t).•Server buffer: Bs.
fs(t)+ Bs
fs(t).
Bs
fx(t)+ Bc
fl(t)fn(t) fu(t), where fl(t)=max{fc(t),fs(t)-Bs} and fu(t)=max{fs(t), fc(t)+Bc}
Time
Dat
a am
ount
Accumulative Traffic Model (Contd.)
• How to keep the feasible belt contiguous? ( for existence of any fn)
• One possible way: keep a vertical spacing of between fu and fl, where =max transient increment of fl.
1. Non-zero startup delay d,
2. Bs, Bc ,
3. f s (t) – f c (t) Bs + Bc – , 0 t and
4. f s (t) – f c (t) , 0 t tq-1,
where max{umax, vmax}.
Necessary condition
Proposed Two-Phase Flow Control
Server fs
Network fn
Client fc
Phase 1: Peer-level Compute fs and fc
Phase 2: Network-level Compute fn
Phase1: Peer-Level
• Server: supplies data at specific CBR.
• Client: consumes data at VBR
• Average rate: rserver> rclient
• Threshold- test:
– Server pauses flow when the amount of backlog data is higher than a threshold =Bs+Bc--vmax. What is the min ?
• Server usually stores video by striping video blocks among regions (n).
• Stalled resumption:“Each server stop takes one or more disk cycles ().”
Disk cycle
regions
Disk head
Phase1: Peer-Level (contd.)
: supplies sufficient inventory for
– client to consume during the server stalling period (fc
ue(/n+)).
Bs+Bcfcue(/n+)+++vmax,
Bs, Bcd time for building up at last backlog.
Proposition
Stalling period
- keeping a spacing between fs and fc as of the stalling period ().
fcue(/n+))
fs(t)
fc(t)
FinalPreliminary
Phase 2: Network-Level
• Network delivers data based on a best-effort discipline: (simple & implementable)
– A m-rate channel is given.
– Channel transmits data when (1) server buffer has data and (2) client buffer has free space. Otherwise, it turns off.
• What is the min m?
• Preliminary fn(t): seeking min slop in every possible situation.
• Final fn(t): using the peak slop found in Preliminary fn(t).
Peak m
Performance Evaluation
• Trace four video tracks:
– one movie- Pbride (rc=1.15Mbps)
– one news- CNN (rc =1.15Mbps)
– one advertisement-Advert (rc =0.48 Mbps)
– one lecture- Lec (rc =0.34Mbps)
• Two disk cycle length:=2 and 4 seconds.
• Four server rates: rs=0.75, 1.5, 3.0 and 4.5 Mbps
Performance Evaluation (contd.)rs (Mbps)
Video track0.75 1.50 3.00 4.50
Name rc
(Mb/s)d
(33ms)Bt
d Bt
d Bt d Bt
Advert 0.483 105 0.717 60 0.764 60 1.027 60 1.345
CNN 1.147 5340 17.05 60 0.711 60 1.014 60 1.332
Lec 0.337 60 0.319 60 0.478 60 0.796 60 1.114
Pbrid 1.147 5340 17.05 60 0.703 60 1.009 60 1.327
rs (Mbps)Video track
0.75 1.50 3.00 4.50
Name rc
(Mb/s)d
(33ms)Bt
d Bt
d Bt d Bt
Advert 0.483 150 1.076 120 1.289 120 1.852 120 2.488
CNN 1.147 5400 17.57 120 1.390 120 2.008 120 2.644
Lec 0.337 120 0.601 120 0.919 120 1.555 120 2.190
Pbrid 1.147 5400 17.57 120 1.378 120 2.000 120 2.636
=2
=4
Bt=Bs+Bc
Performance Evaluation (contd.)
Lecture
89500000
90500000
91500000
92500000
93500000
94500000
95500000
96500000
97500000
98500000
1 14 27 40 53 66 79 92 105
118
131
144
157
170
183
196
209
222
235
248
261
274
287
300
313
326
339
352
365
378
391
404
417
430
443
456
469
482
495
frame#
accu
mul
ated
data
size
Fc
Fs
Fc+B c
Fs-Bs
Bandwid t h
• Example of Lec video track.
Performance Evaluation (contd.)
• Given Bt, there is a range of Bc and Bs, which results in the same min network bandwidth m.• Let Bs=+* and Bc=+(1-)*, where=max{0, Bt-2}.
Performance Evaluation (contd.)
Video Tracks =2 =4
Name rc
(Mbps)rs
(Mbps)m
(Mbps)Stable m
(Mbps)Stable
Advert 0.483 0.75 0.678 15%~75% 0.583 25%~70%
CNN 1.147 1.5 1.143 35%~99% 1.141 42%~96%
Lecture 0.339 0.75 0.386 30%~95% 0.382 40%~90%
Pbride 1.147 1.5 1.144 24%~99% 1.141 24%~96%
• Min network bandwidth m for all cases. (0.38~1.14 Mbps)
Conclusion
• The end-to-end flow control is performed by a two-level approach:
– Peer level: compute fs and fc
– Network level: compute fn.
– Minimizing buffer space (<1.4 MB) and network bandwidth ( average video rate).
• Implementation:
– Use three counters, server_data, net_data and client_data at the server site to keep tracks of all plans.
– Enforce threshold- (peer-level) and best-effort (network-level) principles at the run time.
• Open issue: How to perform flow control for interactive application?