Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

2018 Workshop on Computing, Networking and Communications (CNC)

Smooth Streaming with MPEG-DASH using


SDN-Based Application-Aware Networking
Shuai Zhao, Goutham Muppala, Zhu Li, and Deep Medhi
Department of Computer Science Electrical Engineering
University of Missouri–Kansas City, USA
{Shuai.Zhao, gm7y8, LiZhu, DMedhi}@umkc.edu

Abstract—Dynamic adaptive streaming over HTTP (DASH) es- the traffic forward device. In the proposed AAN network, the
tablishes a simple architecture and enables new video applications DASH client can obtain a comprehensive network condition
to fully utilize the existing physical IP network infrastructure from the SDN controller and in turn, adjust the network traffic
fully. However, given the limitation of a traditional TCP/IP
network for supporting video transmission, existing streaming accordingly.
algorithms can easily lead to a suboptimal streaming experience. The proposed AAN architecture provides a scalable and
In this work, we propose a DASH application-aware network flexible network stack for DASH streaming. Our evaluation of
(AAN) architecture that can increase the users’ quality of experi- such architecture shows the improvement of the video quality
ence by optimizing DASH traffic. This paper contributes insights regards increasing the video segment bitrate and buffer size
on the design of such an AAN network. Our evaluation results
demonstrate that our proposed AAN framework can provide and reducing the quality switchover counts. It demonstrates a
a smooth streaming experience for users regarding lowering new opportunity for video streaming. Moreover, it makes it
the DASH segment bitrate switchover frequency by 260%, and possible for deployment of new streaming protocols. Further,
increasing the download bitrate by 36% via an adaptive path it provides an open interface for new ABR designs. MPEG-
selection with SDN. DASH SAND [3], as a newly proposed video streaming
Index Terms—Software-Defined Networking; DASH Stream-
ing; Application-Aware Network; OpenFlow; Video Quality. scheme, can be better realized using the proposed architecture.
This work is inspired by the previous proposals and by
I. I NTRODUCTION taking an SDN-based approach to design an AAN network
environment. By proactively network monitoring and dynamic
A recent report from Cisco System [1] demonstrates that traffic rerouting, we can achieve a smooth streaming experi-
video streaming over the Internet has become a major network ence. Our motivation is summarized as follows:
traffic class, which could reach four-fifths of the overall traffic 1) Using SDN to mitigate suboptimal problems caused by
by 2020. Many video providers such as YouTube and NetFlix the traditional TCP/IP network
are facing an ever-increasing challenge to keep a high QoE for 2) Providing an open interface for deployment of cus-
their subscribers. MPEG-DASH [2], as one of the promising tomized ABR schema and streaming protocols
solutions, has caught significant attention by both industrial
and academic researchers. Our Contributions: In this paper, we present an AAN
environment for DASH streaming using the SDN architecture.
In DASH, the video files are encoded with different bitrates
We introduce traffic reroute mechanisms for DASH traffic
and divided into smaller sized segments. The clients can adapt
optimization. Within an AAN environment using SDN, the
the video bitrate by requesting the most suitable video segment
controls can be given by a fine-granularity flow management
of the underlying network conditions. DASH video segments
in an SDN controller with adaptive traffic engineering to a
are stored under various bitrates with different playback
contested network situation. We propose the following:
lengths. By delivering the appropriate bitrate segments, the
user’s QoE can be guaranteed. A high user-perceived QoE is 1) An SDN-based dynamic path selection model that uti-
a combination of many factors: available bandwidth, available lizes network traffic information to efficiently route the
video bitrates, and rebuffers. The key is to keep a balance video traffic instead of choosing the static shortest path
among those factors. in traditional networks
In this work, we propose an application-aware approach us- 2) Presenting a comparative study of different end client
ing software-defined networking (SDN) to improve the user’s adaptation schemes for videos that are encoded at dif-
streaming experience using DASH. An SDN network provides ferent rates
a fine-grained way of controlling an individual application and 3) A multi-session test using SDN simulations with multi-
network devices. AAN benefits from SDN in two ways: first, ple DASH clients
by enabling a dynamic control configuration and giving the The remainder of this paper is as follows. Related work is
ability of AAN to allocate resources at any given moment; discussed in Section II. We then give a brief overview of the
second, by running network controls on a separate server from background regarding SDN and MPEG-DASH in Section III.

978-15386-3652-7/18/$31.00 ©2018 IEEE 77


2018 Workshop on Computing, Networking and Communications (CNC)

Section IV describes our AAN-SDN system design. Section V to learn the URLs of all video segments. Thus, the video
presents our test environment, considered use cases, and em- segments available from a video server can be downloaded
pirical evaluation results. We conclude the paper in Section VI. through HTTP/GET requests. The ABR adaptation mechanism
is conducted on the client side for each segment to determine
II. R ELATED W ORK which quality of a video segment is to be fetched. The
To utilize the DASH approach for video streaming, various bitrate switchover happens when the network bandwidth or
client sides’ ABR algorithm development have been proposed. client buffer changes. By adaptively changing the downloaded
Some of the representatives of the bandwidth-based approach bitrate, it provides a smooth playback experience for the user
are PANDA [4] and Elastic [5]. The fundamental design of without many rebuffer situations.
DASH architectures makes the DASH client play important
roles for a smooth and quality playback by implementing the
B. Software-Defined Networking
mechanism for selecting the bitrate and resolution that is built
into the player. Buffer-based algorithms (BBA) are also studied Software-Defined Networking provides a dynamic, manage-
such as in BOLA [6]. Such a BBA-based approach has been able and cost-effective platform for making it an important
adopted by NetFlix. platform for high-bandwidth, the dynamic nature of today’s
The quality of experience for DASH clients can be subjec- network applications. It decouples the control and data for-
tive based on measured QoE metrics. The study in [7] has warding layers and provides the programming interface for the
defined a wide range of QoE metrics. For example, rebuffer underlying forwarding devices as well as the upper application
is the most undesirable case based on [8]. A high bitrate will layer. The SouthBound and NorthBound APIs are provided as
provide the user a better streaming quality. However, if the communication channels between the SDN layers.
bitrate changes frequently from a higher bitrate to a lower AAN can be realized using an SDN architecture that in-
one, a sudden bitrate improvement cannot represent a smooth cludes two main components: an SDN controller and a traffic
experience. However, if the bitrate switches gradually inside forwarding protocol using the forwarding devices. An SDN
one quality category, such as between a standard definition controller is a software application that manages application
range or a high definition range, it might not cause a noticeable flows to enable a dynamic and controllable networking envi-
difference for the user. ronment. The popular SouthBound communication protocols
On the other hand, SDN [9] has gained substantial attention between the SDN controllers and forwarding devices are
with network researchers. With SDN’s separation between OpenFlow [12], which allow servers to instruct forwarding
the control and data plane, the possibility of providing a devices where to send packets.
flexible network control over various applications has been
greatly extended. Our previous work [10] shows an significant
performance improvement for Hadoop MapReduce platform IV. AAN-SDN DASH A RCHITECTURE AND
using AAN framework. In our work, we explore the DASH I MPLEMENTATION
video streaming QoE improvement using the proposed AAN
In this section, we present our proposed AAN-SDN platform
framework, and an evaluation result to show the improvement.
design and implementation. Starting from the bottom to the
III. BACKGROUND top layer, our proposed architecture (see Fig. 2) segregates
our design into three main components:
We present a brief background on two important parts of
our work: DASH and software-defined networking. 1) Core SDN Controller Layer
2) Network control and monitor Layer
A. Dynmaic Adaptive Streaming Over HTTP (DASH) 3) DASH Applications-specific layer

Apache Apps
DASH
Iperf Web Layer
Server
Client

Network
control
Topology Shortest Traffic Flow and
Discover Path Monitor ReRoute Monitor
Layer

Packet Forwarding Traffic Monitor


Module Module

Core
Fig. 1. MPEG-DASH system overview [11] Transport Layer: TCP, UDP RESTAPI SDN
Network Layer: ARP, ICMP, Controller
Engine Layer
IP
Physical Layer: LLDP WebServer
The fundamental idea of DASH is depicted in Fig. 1 [11].
A Media Presentation Description (MPD) file stored on the Forwarding
OpenFlow Compatible Devices Layer
server side depicts the metadata of video segments such as
segment durations, video/audio codec, bitrate, video resolu-
tions, and how segments are stored indicated by segment Fig. 2. SDN DASH Experimental Architecture
reference schemes. The client first fetches the MPD file

78
2018 Workshop on Computing, Networking and Communications (CNC)

A. Core SDN controller Layer C. Application Layer


In the Application layer, a port number based application
In the core SDN layer, we implemented two network mod- recognition feature is implemented (such as port 22 is by
ules, Packet Forwarding, and Traffic Monitoring. In the packet default for the remote secure shell (SSH)). In our controlled
forwarding module, we apply the network primary forwarding network, the port number can be managed/changed via a
functions including the link layer discovery protocol (LLDP) separate configuration file that is read by our SDN controller.
in the physical network layer. The implementation is based With regards to DASH streaming applications, web server
on OpenFlow-compatible forwarding devices. In the network and DASH client control components are implemented to
layer, we implemented the forwarding function for the Internet instruct how to install flows over forwarding devices. The
Control Message Protocol (ICMP) messages, which is the key modularization of various components provided by different
mechanism used to give feedback on network problems that SDN controllers helps the network administrator to control
could prevent packet delivery. them individually in a manageable way.
Due to the flexibility provided by the SDN framework,
we also addressed a new physical layer flooding avoidance V. DASH O PTIMIZATION U SING SDN-AAN
mechanism such as for the address resolution protocol (ARP). In this section, we report on experiments conducted using
In a traditional IP network, variations of the spanning tree our proposed AAN-SDN platform to optimize DASH running
protocol (STP) are widely used to build a loop-free topology. oversaturated network links.
The configuration of such an STP protocol can be cumbersome
A. Video Datasets And Media Player
and complicated based on the forwarding devices that used.
We designed and implemented an ARP resolver algorithm that We used MPEG-DASH encoded video datasets to evaluate
offers smooth ARP package flooding, instead of using a costly our models. To test the efficiency of our model, we selected
STP protocol, as would be the case in a traditional IP network different types of DASH dataset (Table I) to ensure each
environment. It also takes care of ARP cache expiration issues dataset had variations in encoding details.
by avoiding to send additional ICMP messages to get an
updated ARP entry. TABLE I
MPEG - DASH VIDEO DATASET CHARACTERISTICS
Above the network transport layer, we implemented TCP
and UDP packet forwarding functions for application-aware Name Codec Source Quality Genre
networking. Based on the application layer’s port number BigBuck Bunny H.264 1080p Animation
The Swiss Account H.264 1080p Sport
and protocol type, it will forward packets accordingly. In the Valkaama H.264 1080p Movie
traffic monitor module, we implemented lightweight REST- Of Forest and Men H.264 SD Movie
API services to proactively fetch global network informa-
tion such as port traffic for each forwarding device, flow Astream Media player [13] is a python based command
installation/modification, and traffic details in a managed time line tool. Its an emulated video player that could be used
interval. The REST-APIs are designed to be lightweight with- to evaluate the performance of the DASH bit-rate adaptation
out introducing extra overhead for the SDN controller. One schemes. It can request segments from any multimedia server
Apache web server collects the pulled results from the REST- using the MPD file provided to it during the start of the video
APIs and aggregates traffic details to provide any traffic alerts streaming session. It typically doesn’t provide any GUI for the
and Traffic Engineering (TE) recommendations. user to watch the video.
During the video play back, the media player provides
logs like Buffer logs and Playback Logs. Buffer logs provide
B. Network Control and Monitor Layer, and Adaptive Traffic information about Epoch time, current playback time, current
Engineering buffer size, and current playback state. Playback logs provide
information about the epoch time, playback time, segment
In the network control and monitoring layer, the global number, segment size, playback bitrate, segment duration, and
network topology is discovered where we take an adaptive weighted harmonic mean average download bitrate.
traffic engineering approach by feeding into a shortest path
algorithm module to calculate a path for each pair of network B. Network Topology
node/hosts on an on-demand basis. The traffic monitor com- We deployed our SDN-based DASH streaming system on
ponent using REST-APIs’ services deployed at the core SDN the GENI testbed [14] platform. We setup a network topology
controller layer proactively pulls network traffic information as shown in Fig. 3. We used Openvswitch (OVS v2.3.1) as
from the network. If there is any pre-defined traffic priority our forwarding devices and numbered the DPID in order from
violation, a traffic reroutes, using a flow reroute component ’0000000000000001’ to ’0000000000000006’. One DASH
might happen. From the beginning, the ARP message for a web server and DASH client were deployed. Iperf based
network request such as Ping, SSH, or other applications is deployed nodes had the same hardware configuration with
initiated and then sent to the network. It first looks at the flow a single core of Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
table and passes the traffic if there is an existing matching flow and 8 GB RAM. Each connected link had default 100 Mbps
or checks if it is an ARP broadcasting messages, otherwise. bandwidth allocation.

79
2018 Workshop on Computing, Networking and Communications (CNC)

From Fig. 5, we observed that the proposed adaptive


path switching with background traffic using SDN showed
significant bitrate improvement. In SARA for example, the
bandwidth allocation was split with background traffic. The
individual download bitrate was downgraded to the lowest pos-
sible bitrate during interruption (between segment 25 and 35).
Fig. 3. GENI topology setup
There wasn’t any bitrate quality drop with SDN deployment
when SARA was used. Note that BBA suffered significantly
The proposed SDN-based dynamic path selection model is during the overload as it took much more time to reach back
depicted in Fig 4. Assuming this is the first time streaming to the highest quality level when SDN was not used. With
from the client’s side, the completed video segment fetching SDN, BBA improved but still there was bitrate switching for
starts from the ARP request packets, which triggered the different video segments that showed more quality fluctuation.
shortest path algorithm discussed in IV-B implemented with Fig. 6 shows the average download bitrate comparison
Dijkstra’s algorithm. Once the initial path is selected, MPEG- between SDN and non-SDN streaming for all test videos.
DASH TCP based flows are installed along the path. Adaptive In general, all SDN-assisted streaming had a higher average
path selection occurred at time t2 when cross traffic is most of bitrate, the improvement range being from 15% to 36%.
bandwidth out of the previous DASH streaming link, and the
second most shortest path is re-selected. The DASH client and
server use the new path to continue the streaming experience.

C. SDN Traffic Reroute through Adaptive Traffic Engineering

DASH Server Client DASH


Gateway Ryu SDN Gateway Client
Server
Controller
ARP Flow
request lookup ()
ICMP Flow Exists, Ping will go through.
echo
Flow Not Exists ARP Flooding ARP
Flooding Fig. 6. Average downloaded bitrate comparison between SDN and non-SDN
ARP
t1 ARP Reply Reply streaming
Udpate:
ARP ARP Reply HostTracker() Udpate_ARP
Reply _Cache Probing further, segment bitrate switching events during
ShortestPath()
Udpate
_ARP_ video streaming are depicted in Fig. 7. There was a signif-
Cache Install Flows Install Flows
ICMP echo
icant reduction in switching events with the network aware
Cross Traffic (>= pre-set Link Bandwidth Threshold approach. The reduction rate was from 4% to 260%, which
t2
varied by the algorithm used by the client. An important
PathOverLap()
Cross_traffic
ShortestPath()
finding from the result is that with our approach, we see a
_threshold()
Ping_Reroute() significant QoE improvement for bandwidth-based ABR and
t3 Install New Flows Install New Flows SARA, compared to a BBA approach such as a NetFlix ABR
ICMP Request algorithm. For SARA with SDN, the segment bitrate switching
ICMP echo

Flow_clean()
is limited to the beginning period when a video tries to adapt
Delete
Previous Flows
Delete
Previous Flows
to reach the highest quality rate.

Fig. 4. Adaptive Path Selection

D. Single DASH Client Streaming


In this evaluation, we used four video sets mentioned in
Table I and each ran separately, to understand the bitrate
switchover experienced by a client. We evaluated the situation
by injecting a network link overload of short duration during
the video streaming. All the videos had a popular 4 sec
segments and were encoded at different rates. Segments with
Fig. 7. Segment bitrate switchover with background overload traffic
other duration lengths were not considered in our test. We
conducted tests on two ABR approaches: SARA proposed in
[15] is a bandwidth-based method while the second one is a E. Multiple Session test using Mininet
buffer-based algorithm (BBA) used by content providers such Mininet is a well-known SDN emulator. A multi-session
as NetFlix. We conducted tests using both SDN and Non-SDN test of the proposed AAN architecture was conducted using
scenarios for comparison. the Mininet. The topology shown in Fig.3 was set up with

80
2018 Workshop on Computing, Networking and Communications (CNC)

(a) (b) (c) (d)

Fig. 5. Comparison of all adaptation schemes with background traffic for a 10 segment time duration

10 Mbps link bandwidth and a 2 ms delay. We used 5 DASH was overloaded. In all tests, we observed a significant reduc-
clients. In this test, we started all five clients at the same time tion of bitrate switchover events that signified improvement in
to fetch the BigBuckBunny video from a video server. the QoE of video streaming.
Fig. 8 shows the downloaded segment bitrate quality with In our future work, we plan to integrate an above media
and without SDN. Without SDN, all of the DASH clients player to mobile and HDTV, test the performance in a real-
fetched segments using the default path. All of the clients time user scenario, and obtain the objective metrics. We
could not get an optimal streaming experience because band- also plan to include video traffic classification using data
width in the congested link was shared by all the clients. With signature based dynamic machine learning models and explore
SDN, we rerouted client-1’s DASH traffic to the unused second additional traffic engineering (TE) methods as well as larger
path after the 15th segment to demonstrate how available platforms for our approach.
network link resources were fully exploited using SDN for this
R EFERENCES
DASH client, and thereby significantly improving the user’s
streaming experience. This also shows that through selective [1] “White paper: Cisco VNI Forecast and Methodology, 2015-
2020,” 2016. [Online]. Available: http://www.cisco.com/c/en/
traffic engineering, our AAN architecture can be used for us/solutions/collateral/service-provider/visual-networking-index-vni/
giving priority to some customers. complete-white-paper-c11-481360.html
[2] T. Stockhammer, “Dynamic adaptive streaming over http–: standards
and design principles,” in Proc. of 2nd ACM conference on Multimedia
systems, 2011.
[3] “MPEG-DASH with Server Push and WebSockets: ISO/IEC 23009-6.”
[Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso-iec:23009:
-6:dis:ed-1:v1:en
[4] Z. Li, X. Zhu, J. Gahm, R. Pan, H. Hu, A. C. Begen, and D. Oran,
“Probe and adapt: Rate adaptation for http video streaming at scale,”
IEEE Journal on Selected Areas in Communications, 2014.
[5] L. De Cicco, V. Caldaralo, V. Palmisano, and S. Mascolo, “Elastic: a
client-side controller for dynamic adaptive streaming over http (dash),”
in 2013 20th International Packet Video Workshop. IEEE.
[6] K. Spiteri, R. Urgaonkar, and R. K. Sitaraman, “Bola: Near-optimal
bitrate adaptation for online videos,” 2016.
[7] S. Zhao, Z. Li, D. Medhi, P. Lai, and S. Liu, “Study of user qoe
Fig. 8. Multiple clients fetch video segment at the same time using SDN and improvement for dynamic adaptive streaming over http (mpeg-dash),”
non-SDN in Computing, Networking and Communications (ICNC), 2017 Interna-
tional Conference on. IEEE, 2017, pp. 566–570.
[8] S. S. Krishnan and R. K. Sitaraman, “Video stream quality impacts
viewer behavior: inferring causality using quasi-experimental designs,”
VI. C ONCLUSION AND F UTURE W ORK IEEE/ACM Transactions on Networking, 2013.
[9] N. McKeown, “Software-defined networking,” INFOCOM keynote talk,
Our approach in this work was to develop an Application- vol. 17, no. 2, pp. 30–32, 2009.
Aware Networking (AAN) environment with modularized [10] S. Zhao and D. Medhi, “Application-aware network design for hadoop
components and fine-grained control network behavior to mapreduce optimization using software-defined networking,” IEEE
Transactions on Network and Service Management, 2017.
improve DASH’s streaming performance without changing the [11] C. Mueller, “Mpeg-dash in a nutshell.” [Online]. Available: https:
underlying design of the DASH client itself. We presented //bitmovin.com/dynamic-adaptive-streaming-http-mpeg-dash/
a software-defined network (SDN) based system architecture [12] N. McKeown, T. Anderson, H. Balakrishnan, G. Parulkar, L. Peterson,
J. Rexford, S. Shenker, and J. Turner, “Openflow: enabling innovation in
and over-the-top (OTT) software applications for DASH data campus networks,” ACM SIGCOMM Computer Communication Review,
flow control. vol. 38, no. 2, pp. 69–74, 2008.
The presented AAN architecture performed better when [13] AStream. [Online]. Available: https://github.com/pari685/AStream
[14] C. Elliott, “Geni-global environment for network innovations.” in LCN,
compared to the traditional end-client adaptation model. Our 2008, p. 8.
model was evaluated and tested on two client adaptation [15] P. Juluri, V. Tamarapalli, and D. Medhi, “SARA: Segment aware rate
schemes. We also found that SARA was better at adapting adaptation algorithm for dynamic adaptive streaming over http,” in 2015
IEEE International Conference on Communication Workshop (ICCW).
to change while minimizing switching events compared to the
buffer-based adaptation when the originally designated path

81

You might also like