DATASET: HSDPA-bandwidth logs for mobile HTTP streaming scenarios

This archive contains logs from TCP streaming sessions in Telenor's 3G/HSDPA mobile wireless network in Norway. In each test, adaptive video streams were downloaded at maximum speed (no throttling, no buffer limit). The video segment duration was fixed to 2 seconds. The tests were performed in the period 2010-09-13 to 2011-04-21.

Additionally, the dataset comes with an HTTP bandwidth trottling module for the Apache web server. This means that you can make apache limit the bandwidth according to the bandwidths measured in the logs provided here.

Available logs

The logs are grouped according to their routes, and which type of transportation was used. Note that the maps are scaled in different direction in this web-page to fit into the table. Note also that some paths only have one measurement, i.e., the bandwidth plot does not have a standard deviation.

Transportation Start location Destination location Map Average observed bandwidth Logs
Bus Ljansbakken Jernbanetorget LOGS
Metro Kalbakken Jernbanetorget

Note that the dotted part in the map is below the ground, i.e., in a tunnel. The signal strength was very low and thus, consequently also the measured bandwidth.

Tram Ljabru Jernbanetorget LOGS
Tram Jernbanetorget Ljabru LOGS
Tram Jernbanetorget University hostpital LOGS
Ferry Nesoddtangen Aker brygge LOGS
Car Aarnes Elverum LOGS
Car Oslo Grimstad LOGS
Car Snaroya Smestad LOGS
Train Oslo Vestby LOGS
Train Vestby Oslo LOGS

Log format

The logs have the following format:
1289406399 549692 59.851754 10.781778 248069 1008
1289406400 550772 59.851864 10.781833 191698 1080
1289406401 551773 59.851964 10.781901 280579 1001
1289406402 552893 59.85206  10.781969 248971 1120
Here, the different columns have the following meaning: This means that for example to get kilobytes per second for a specific sample, divide column 5 by column 6.

HTTP bandwidth trottling module for the Apache web server

To emulate identical network behaviour as for example measured in our bandwidth logs for video streaming sessions using adaptive HTTP streaming, we have created a HTTP bandwidth trottling module for Apache. This module takes as input a bandwidth log, like the logs available in this dataset, that contains a single kbit/s number for every second of the session. After loading the bandwidth log, the first HTTP request starts the session, and then, at time T after the session starts, the web server's maximum throughput for the next second will be B(T), where B(T) is the bandwidth at time T in the log that was used as input to the throttling module.

How to install and use the trottling modile is described in the package. The module requires Apache and Mod_python, and to load the module when Apache starts, add the following to the Apache configuration file:

< Directory /var/www>
        SetHandler mod_python
        PythonHandler httpthrottle
< /Directory>
Then, copy and httpthrottle.conf to /var/www.

After installation, simply edit the logfile argument in the httpthrottle.conf file to point to the bandwidth log file you wish to use. Then, convert the logs into a pure kbit/s log using and run the apache server.

If you use our dataset or trottling module, please cite the dataset

If you use our dataset, please site the dataset, e.g., using the TOMCCAP paper or MMSys dataset paper listed below.

Publications where the logs are used:

These bandwidth measurements are used in several publications, including: