(3G/LTE) and incomplete cached representations • Rate of change of buffer-fill level. • Relies on 2 main metrics: • buffer-fill level • end-to-end latency measurement
slowly, switch to a lower representation, smaller chunk size • quickly, switch to a higher resolution, larger chunk size. • At startup: • Adapt upwards slowly, want to get the content quickly • Representation level is only re-evaluated when drastic buffer-level-change happens. • Number of gears • 3 too few • 6 too many Checks current Gear position Gear-shift Flag boolean value? True No Upon last Segment received, Call Gearbox Signal the HTTP client to download the next segment Gear RSP & Input data COUNTER = CYCLE ? Yes False Evaluates representation ( decide Ri(t)+1 ) Checks the change of buffer-level ∆η & Compare ∆η with ∆g Threshold ∆g breached? Yes Increments COUNTER Checks buffer-level in percentage β Set Gear-shift Flag boolean to False Evaluates representation ( decide Ri(t)+1 ) Gear Boundary Reached? No Yes No Shift Gear & Set Gear-shift Flag boolean to True Reset COUNTER to Zero Output: Ri(t)+1 (representation for Next segment) Algorithm Input: β,∆η,Bc, Ri(t),{Ri|Ri R} ∈ Maintain previous representation level Ri(t)+1 : = Ri(t) Gearbox Algorithm β:real time buffer level ∆η:buffer level change Bc: current Bandwidth Ri(t):last chosen Rep Ri(t)+1: next chosen Rep {Ri|Ri R}: available Reps ∈ RSP: Rep switching policy ∆g: buffer level change threshold Not dive into the algorithm today
ports • Content in several representations and several chunk sizes. • Cache proxy: • LRU and heap LFUDA • Single cache, and cascaded cache • Client: • dash.js • Cache tests with multiple clients request the same content. • Clients have different end-to-end latencies • Poisson arrival • Metrics: • Number of Buffer underruns • Number of switches • Average buffer-fill level • Average bit rate
than baseline (early) algorithms. • We find that LFUDA generates more cache hit for DASH, since LFUDA intend to keep big files in the cache. • Different Cache Replacement Policies can affect the cache hit rate in unique ways.