intrig-unicamp / dashframework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DASH QoE Performance Evaluation Framework with 5G Datasets

Framework provides real 5G emulated environment to run DASH videos. Framework installed with following packages

  • goDASH- a headless DASH video player
  • Mininet-Wifi- network emulator
  • Caddy- a WSGI web server hosting DASH video content
  • Tcpdump- a network packet sniffer
  • Bash scripts to apply the 5G bandwidth values sampled from the 5G traces at run-time
  • Python scripts to process QoE & QoS logs

Binder link

Binder

Video demonstration

Streaming Framework and Dynamic Analysis

Interactive notebook with the Binder service

Recorded paper presentation

Presentation

Streaming framework VM

Step 1: Open ubuntu terminal and execute the following command:

 $ conda activate myenv
 $ jupyter lab
 

Step 2: JupyterLab interface and open terminal:

 $ cd ~/Demo/testbed
 $ sudo python3 parameters.py
  • Data Preprocess and Analysis

Step 1: Open the Executable.ipynb jupyter notebook from ~/Demo/Notebook directory.

Step 2: To export csv from raw data (godash and pcap), run the following cell in notebook:

%run /home/dash/Demo/Notebook/pre-processing.ipynb

Step 3: To analysis from exported csv, run the following cell in notebook:

%run /home/dash/Demo/Notebook/Interactive_Control.ipynb

5G traces dataset

Please note, in 5G traces there are 10 combinations for real 5G Cases across two scenarios: Mobility-driving (trace no-1, 2, 8, 10) --- (38.26 to 10.33), (29.33 to 10.55), (0.5 to 3) and (6 to 14), and Mobility-static (trace no-4, 5, 6, 7, 9 ,11) --- (72.42 to 9), (70 to 20), (52.06 to 0.5), (4.19 to 8), (0.5 to 6) and (8.29 to 57.15) Mbps.

Processed dataset description

The dataset file has 28 columns, these are 'Mode', 'Trace_no', 'Total_host', 'Host_no', 'Segment_no', 'Arr_time', 'Del_Time', 'Stall_Dur', 'Rep_Level', 'Del_Rate', 'Act_Rate', 'Byte_Size', 'Buff_Level', 'Algorithm', 'Seg_Dur', 'Width', 'Height', 'resolutions', 'Play_Pos', 'RTT_app', 'Clae', ' Duanmu', 'Yin', 'Yu', 'P1203', 'persegment_RTT', 'Throughput', 'Packets'

  • 'Mode' as mobility driving or static, 'Trace_no' as corresponding trace number
  • 'Total_host' as total host competing for video stream, and 'Host_no' as the logs for corresponding host.
  • 'Segment_no' as segment number, as in our case we streamed 60 segments of 2s each, 'Arr_time' as Arrival Time, 'Del_Time' as Delivery of the segment.
  • 'Stall_Dur' as stall or freeze for that segment number, 'Rep_Level' as Representation selected for the segment, Del_Rate' as delivery rate of network
  • 'Act_Rate' defined as actual rate in Kbps, 'Byte_Size' as byte size of this segment
  • 'Buff_Level' as buffer level in ms , 'Algorithm' such as (Conventional, Elastic, Arbiter +, BBA, Logistic, Exponential),'Seg_Dur' as segment duration in ms
  • 'Width', and 'Height', as Representation width and height in pixels,'resolutions' as width x height such as 320x180
  • 'Play_Pos' as Current Play Back position, RTT as Packet level (ms), determined using HTTP head request
  • 'Clae', ' Duanmu', 'Yin', 'Yu', and 'P1203' five quality of experience models

Finally, 'persegment_RTT', 'Throughput', and 'Packets' as network level per segment uplink RTT, downlink throughput and downlink number of packets.

For more information of godash logs see below figure

Citation

R. Ul Mustafa, M. T. Islam, C. Rothenberg, S. Ferlin, D. Raca and J. J. Quinlan, "DASH QoE Performance Evaluation Framework with 5G Datasets," 2020 16th International Conference on Network and Service Management (CNSM), Izmir, Turkey, 2020, pp. 1-6, doi: 10.23919/CNSM50824.2020.9269111.

@INPROCEEDINGS{9269111, 
author={R. {Ul Mustafa} and M. T. {Islam} and C. {Rothenberg} and S. {Ferlin} and D. {Raca} and J. J. {Quinlan}},  
booktitle={2020 16th International Conference on Network and Service Management (CNSM)},   
title={DASH QoE Performance Evaluation Framework with 5G Datasets},   
year={2020},  
volume={},  
number={},  
pages={1-6},  
doi={10.23919/CNSM50824.2020.9269111}}

About


Languages

Language:Jupyter Notebook 81.5%Language:Python 13.7%Language:Shell 4.8%