Project DAB, Dynamic and Agile Buffer-control for Streaming Videos on Mobile Devices

The Problem:
Streaming Video-on-Demand has become a popular application and a significant consumer of network bandwidth. It is reported that Youtube and Netflix accouts for 17.3%, 5.1% of North American mobile data traffic.

In order to guarantee the quality of playback on mobile device, media players have to buffer data beforehand. Thus, it is important to study the buffer mechanisms.

Currently, there are two commonly use buffer mechanisms.
  • MAX : Buffer size is set to be infinite, media player downloads data as much as possible.
  • Flip-Flop : Buffer size is static and less than the size of the video, media player always maintains this buffer size.

These mechanisms work well under some scenarios, such as wired connection. However, for mobile users, the video straming have different behaviors.

One of the vital important feature of mobile video streaming is that users only consume part or a small portion of the video. For example, the following figure shows the statistics of a popular video that has been viewed 677k times. However, among all those viewers, the average view duration that provided by Youtube is only 31% of its total length. This indicates that mobile users change the video frequently. Another key point is that wireless single strength changes rapidly.

The problem with current buffer mechanisms is that they do not take users' behivor and mobility into consideration.  The buffer size is not configurable in different scenarios which causes the performance issues.

Our Solution:

We present DAB, Dynamic and Agile Buffer-control mechanism that take both users' behivor and mobility into consideration to dynamic change the buffer size so that it can save the unused bandwidth and reduce the load on server.

We develop an algorithm for DAB to monitor user's mobility and predit a possibile hand off between mobile networks by utilizing the accelerometer sensor on the smartphone and received single strength indicator (RSSI). We map accelerometer and RSSI readings into user's Speed Level and RSSI Level. Combining Speed Level and RSSI Level of each user, DAB achieves that keeping small buffer size when user is standing or walking and network is in good condition;  Extenting buffer size by predicting that user is running and network is about to disconnect.

The Evaluation :

We implement DAB& based on Vitamio, an open source Android media player.

Workload & Setup
  • Youtube video, 115 seconds and 9.38MB
  • Compare with Max and Flip-flop mechanisms
  • Smartphone connects with route that running Tcpdump
  • Move around the router to simulate mobility of a user

Key Performance Metrics
  • Total stalling duration: time duration that C_BS – C_PS = 0  , where C_BS is the total buffered size and C_PS the total played size
  • Buffer efficiency at a given time

Total stalling duration (fast connection) :

Buffer efficiency (fast connection) :
Total stalling duration (slow connection) :

Publication :

DAB: Dynamic and Agile Buffer-control for Streaming Videos on Mobile Devices
The 11th International Conference on Mobile Systems and Pervasive Computing, Aug, 2014, Niagara Falls, Canada. (Best Paper Award)