: An SDN-based Framework for Maximizing QoE in SVC-Based HTTP Adaptive Streaming
Abstract
HTTP adaptive streaming (HAS) is quickly becoming the dominant video delivery technique for adaptive streaming over the Internet. Still considered as its primary challenges are determining the optimal rate adaptation and improving both the quality of experience (QoE) and QoE-fairness. Most of the proposed approaches have relied on local information to find a result. However, employing techniques that provide a comprehensive and central view of the network resources can lead to more gains in performance. By leveraging software defined networking (SDN), this paper proposes an SDN-based framework, named , to maximize QoE metrics and QoE-fairness in SVC-based HTTP adaptive streaming. The proposed framework determines both the optimal adaptation and data paths for delivering the requested video files from HTTP-media servers to DASH clients. In fact, by utilizing an SDN controller and its complete view of the network, we introduce an SVC flow optimizer (SFO) application module to determine the optimal solution in a centralized and time slot fashion. In the current approach, we first formulate the problem as a mixed integer linear programming (MILP) optimization model. The MILP is designed in such a way that it applies defined policies, e.g. setting priorities for clients in obtaining video quality. Secondly, we show that this problem is NP-complete and propose an LP-relaxation model to enable framework for performing rate adaptation on a large-scale network. Finally, we conduct experiments by emulating the proposed framework in Mininet, with the usage of Floodlight as the SDN controller. In terms of improving QoE-fairness and QoE metrics, the effectiveness of the proposed framework is validated by a comparison with different approaches.
Index Terms:
Dynamic HTTP Adaptive Streaming (DASH), Software defined networking (SDN), Scalable Video Coding (SVC), QoE.I Introduction
In recent years, the presence of the Internet and its applications in various aspects of our lives has exponentially increased. As mentioned in [1], video streaming traffic, which has made up the largest portion of Internet traffic, will grows to be up to 75% of the total Internet traffic by 2020. For many years, the UDP protocol has been employed to transfer multimedia traffic in the Internet. In recent years, much efforts has been spent to utilize TCP for multimedia transmission over the Internet. With HTTP, the employment of caches and also content delivery networks (CDNs) are possible, thus providing network scalability and traffic reduction. In addition to TCP’s reliable transmission and cache-friendliness, streaming data with TCP allows for easy traverse of firewalls and NAT devices. As a result, deploying HTTP for multimedia transmission over the Internet has significantly risen. For instance, nowadays, more than 98% of video traffic in cellular networks is transmitting via the HTTP protocol [2].
The most widely used technique for TCP streaming is HTTP-based adaptive streaming (HAS). In this technique, a video file is divided into short duration segmented files, each of which is encoded at different bit rate levels and resolutions. Many companies have developed modifications of HAS systems, such as Smooth Streaming [3], HDS [4], and HLS [5]. In 2012, HAS was standardized by the Motion Picture Experts Group (MPEG) and named dynamic adaptive streaming over HTTP (DASH) [6]. With DASH, a video is segmented into short segments encoded at various bit rates. This information is then stored in a media presentation description (MPD) file.
There are several encoding methods for encoding a video. The two most widely used are advanced video coding (AVC) [7] and scalable video coding (SVC) [8]. In AVC-DASH, the client downloads the MPD file to obtain information from the server such as segment details, available bit rates, etc. Then, the appropriate bit rate is selected and HTTP streams these segments to the end-users. Multiple copies of a video are encoded with different bit rates and stored on the media server, thus leading to storage overhead. In contrast SVC is a layered video codec in which the video stream is encoded in a base layer and in one or more enhancement layers. The base layer provides the minimum usable quality (i.e. resolution and frame rate) for the clients. Better quality alternatives are available in the enhancement layers. SVC has several advantages over AVC, including higher web caching performance, lower bandwidth usage, and higher quality of experience (QoE) for the users [9]. In addition, as shown in [9], SVC-DASH is able to provide media streaming to a larger number of users in environments with heterogeneous devices. Moreover, although SVC-DASH requires less buffer size, it increases storage-efficiency and QoE [10].
In general, maximizing QoE and improving QoE-fairness can be achieved by employing an optimal adaptation in SVC-based streaming. This can be performed by three approaches: 1) Purely client-based, 2) Client-based assisted by network elements, and 3) Network-based. In purely client-based, according to the local parameters (e.g., available bandwidth and buffer occupancy), the client adapts the quality of the video by adding or removing one or more video enhancement layers. However, since clients are unaware of the whole network topology and its current state, this adaptation technique is sub-optimal and can be disadvantageous in shared network environments [11]. For instance, based on the network status, some clients may change the video quality frequently (i.e., bit rate oscillation), which decreases the user QoE. In the case of client-based assisted by network elements, client adaptation can be assisted by an element in the network, such as proxy servers. In network-based, by utilizing the complete view of the current network state, rate adaptation can be performed by a centralized controller [12]. Upon consideration of these methods, it is obvious that the network-based approach is more advantageous from the user QoE and QoE-fairness points of view.
Software defined networking (SDN) has recently emerged as a networking paradigm. In this architecture, the data and control plane are decoupled, which sheds new light on networking technology [13], [14]. The data plane consists of hardware or software elements that are dedicated to forwarding flows and packets. In Contrast, with an SDN controller, the control plane manages the data plane elements. By applying the current study’s innovations in the network, we can develop network applications to the control plane that are able to communicate with the SDN controller through application programming interfaces (APIs), e.g, RESTful API. In fact, SDN provides a flexible platform which can perform adaptive routing algorithms for different network applications. In addition, SDN can modify traffic to increase QoE for certain traffic flows (e.g., multimedia streaming traffic).
In the present work, we propose as an SDN-based framework to maximize the QoE and QoE-fairness of SVC-based HTTP adaptive streaming. In this framework, a SVC flow optimizer (SFO) application module is introduced which is run by a controller to centrally adjust the clients’ adaptation rate. In fact, by employing a holistic network view provided by the SDN controller and collecting some critical information from HTTP-media servers and clients, the SFO jointly determines the optimal quality adaptation and flow paths for client requests. In summary, the present study’s main contributions can be described as below:
- •
Describe SDN-based framework for SVC-based HTTP adaptive streaming
- •
Consider substantial QoE metrics and fairness in the process of designing architecture of the proposed framework
- •
Propose a mixed integer linear programming (MILP) model to jointly determine the optimal data paths for delivering the requested video files and the quality adaptation
- •
Present a linear programming (LP) relaxation model of the proposed MILP model
- •
Implement the proposed framework and evaluate its performance in comprehensive scenarios
The remainder of this paper is organized as follows. In Section 2, related work is presented. Section 3 introduces and elaborates on the proposed framework and its details. The performance evaluation is presented in Section 4. Finally, Section 5 concludes the paper.
II Related Work
As mentioned before, in current DASH-based approaches, clients implement adaptation techniques locally. This allows clients to select their preferred video quality without being informed about the whole network view. Recently, Seufert et al. in [11] demonstrated that the existence of a controller or a client-proxy connection can improve the client video quality and provide fairness in shared resource usage. In this section, we discuss the existing three main solutions for determining the optimal adaptation. purely client-based, client-based assisted by a network element, and network-based adaptation techniques. In the purely client-based technique, a client performs quality adaptation based on its local parameters, such as network throughput, occupied buffer size, etc. In the second approach, these clients can be assisted by the information provided by network elements, such as proxy servers. On the other hand, network-based methods use a central network element to perform rate adaptation on behalf of the clients.
II-A Purely Client-Based Adaptation
As shown in [15, 16] DASH video players in clients are responsible for quality adaptation in order to optimize the QoE objectives, e.g., initial buffering time minimization, stalling minimization, and quality maximization. In [17, 18], the authors propose a general bit rate adaptation framework that consists of a set of methods striving to achieve a trade-off between video stability, fairness, and efficiency. A stateful bit rate selection heuristic algorithm is used to achieve a biased interaction between the bit rate and estimated bandwidth. However, this client-based quality adaptation leads to uneven bandwidth competition, which intensifies when a large number of clients use the shared network resources [19]. Moreover, resource fairness does not reduce QoE-fairness, specially in heterogeneous environment [20]. This unfair resource usage, coupled with unpredicted network traffic bursts, can cause frequent changes in the quality layers of clients (client quality oscillations), which significantly reduces QoE. Therefore, an optimization model should be developed to trade-off between different QoE parameters, such as the video quality maximization and minimization of bit rate changes, while also meeting network constraints.
In order to achieve this goal, various algorithms have been developed through the consideration of different parameters such as estimated network bandwidth, network throughput, and received network feedback signals (e.g., congestion occurrence) [21, 22, 23, 24]. Sieber et al. in [22] present an algorithm to achieve maximum QoE by reducing the quality switching frequency. The authors of [24] employ Markov Decision Process to determine an optimal streaming strategy. Their method is developed in a wireless network environment and aims to optimize the QoE in terms of video playback interruption, average playback quality, and playback smoothness. Additionally, [23] provides a technique to overcome network fluctuations, which is typical in mobile networks. These authors first prioritize the SVC layers. Then, the base layer (which has the most priority) is delivered to user via RTP flows. Thereafter, additional enhancement layers are delivered based on their priority. Further, [25] implements and compares different heuristic algorithms based on AVC and SVC. It is shown that AVC performs better than SVC in situations with high delay while, in networks with unpredictable interruptions, SVC has superior performance. Moreover, Lee et al. in [26] investigate the impact of cache storage and report that it can increase oscillation. They then propose a method to solve this. However, it is clear that, by using purely client-side sub-optimal adaptation decisions and also with the absence of a central controller for clients, the video quality changes frequently and QoE reduction ultimately occurs [15, 27]. Furthermore, with a central controller, it is possible to enforce different management policies, such as various subscription policies (e.g., Gold, Silver, Bronze) [28]. The following discussion explores quality adaption techniques assisted by a network element.
II-B Client-Based Adaptation Assisted by Network Elements
As we mentioned before, specific network elements can assist clients for client-based rate adaptation. Using the information provided by network elements, a client can enhance its quality adaptation procedure [12]. Petrangeli et al. in [29] utilizing an SDN controller with a holistic network view, assist client-side quality adaptation in an AVC-DASH streaming method. Additionally, in [30], the authors propose an SDN-based video streaming approach to fairly maximize the QoE of multiple competing clients in a shared network environment. Likewise, the proposed strategy in [31] is based on SDN. In fact, the authors of [31] employ two main approaches to optimize QoE in terms of number of quality changes and fairness. In the first approach, the SDN controller determines the video quality of the clients. In the second one, a queue for each client is developed to provide dynamic rate adaptations. Although these studies utilize some network elements to improve QoE, the determination of optimal adaptations is performed separately by clients. Thus, these strategies do not lead to efficient share usage of network resources. Bentaleb et al. in [19] address HAS scalability issues, including video instability, QoE-unfairness, and network resource under-utilization. To cope with these issues, they maximize the QoE per client. Moreover, [20] mitigates the main drawbacks of SDNDASH[19]: scalability , communication overhead, and the support of client heterogeneity.
There are some works however, that have mainly focused on QoS-aware video traffic routing [32, 33, 34, 35, 36, 37]. In fact, these studies have investigated the QoS-aware video flow routing in OpenFlow/SDN-enabled networks. Indeed, the base quality layer is considered as the flow with the maximum QoS priority, while other layers are transferred in the best effort manner [32, 33]. Thereafter, by considering the QoS priorities; the routing algorithm finds the shortest path between the media server and client. The authors extend their previous work in [36], in which they consider end-to-end QoS in multi-domain SDN networks. In addition, Egilmez et al. [34] design a QoS-aware controller to deliver multimedia flows in OpenFlow-enabled networks. In this approach, they classify input traffic based on data flow types. Then, multimedia flows are routed through QoS-guaranteed paths and other flows are delivered to the destination via the shortest paths. These studies do not discuss quality adaptation techniques. In addition, the authors of [37] provide a model to determine the shortest paths and to then assign these to each SVC layer. They extend their research in [35], in which they considered additional parameters, such as bandwidth and delay, and also enhance the model by using the max flow algorithm. Although these techniques can improve client-side decisions, these decisions are still sub-optimal as there is no independent central element for decision making. Furthermore, clients might not be able to perform the decisions made by the controller [31]. Therefore, central-based quality adaptation can be suggested.
II-C Network-Based Adaptation
Several works use a proxy/controller as a central rate adaptation decision-making authority [38, 39, 40]. In [38], the authors propose an approach that actually employs a proxy server to monitor video quality requests. In this approach, a proxy server periodically solves an optimization problem in order to determine the maximum segment quality levels which the clients can download. This is achieved based on the current network status and a specific objective function. In fact, whenever a client-based adaptation reduces overall fairness, the proxy server is able to replace its video quality decision with that of the client. Therefore, a certain level of QoE can be guaranteed among some or all clients. In addition, [41] suggest utilizing an intermediate node to perform the quality adaptation. Actually, this intermediate node acts as a gateway for clients. Practically, it uses the clients’ bandwidth estimation to determine the optimized video quality of SVC clients. Moreover, Mok et al. [39] design a proxy architecture to prevent frequent and drastic oscillations and to allow a specific amount of change in video quality in each step. Unlike ours, this approach is not scalable, since all the network traffic to the video server must pass through a proxy server. Furthermore, [40] presents reactive and proactive QoE optimization approaches. In the reactive method, client-based quality adaptation is achieved using network information. By considering client buffer utilization and quality adaptation in the controller, the second method provides a higher and fairer video quality to clients.
Only a few works [42, 43], however, have focused on jointly determining routing and providing quality adaptation. [42] proposes a method based on Markov Chains, which determines the quality adaptation in the controller and selects the optimal video quality of the clients. Their approach first determines the shortest-path routes and then, based on priorities, sends the video layer using one of the paths. In contrast, the approach in [43] utilizes the optimal paths instead of the shortest ones. However, in [42] and [43], the authors only determine an optimal data path and do not consider fairness in their proposed solution. By running the algorithm for each incoming client (or request), they find a solution regarding the available resources. Moreover, [42] and [43] do not target DASH video streaming since they focuse on the UDP protocol. Cetinkaya et al. [44] develop an optimization model to maximize video quality by the selection of optimal paths for different SVC layers over SDN. Finally, it informs clients about the selected bit rate to be applied by them. In addition, in [45], the authors propose an approach which delivers the base layer to clients via a lossless path and uses other paths to route the remaining layers.
III The proposed framework
In this Section, by leveraging the SDN conceptual model, the current study addresses the issues of client quality adaptation, quality of experience (QoE) and QoE-fairness. Before introducing the details of , we shall describe the considered QoE and the QoE-fairness metrics.
III-A The defined QoE metrics and QoE-fairness
As mentioned earlier, a DASH player first downloads the media presentation description (MPD) file that provides the segment information and then requests each segment layer individually. However, we assume that the DASH players can determine and send the maximum supported video quality, according to their resource capacity. Nevertheless, for each client, these values can be adjusted by . In the proposed framework, the time for buffering a segment is considered fixed, even though it is possible that a DASH player suggests a deadline in which all requested layers of a segment must be downloaded.
To achieve better video quality, layers with higher data rates should be buffered by the DASH client. Many functions have been proposed to measure the quality of the received video files [8] as it has been shown that receiving layers with higher bit-rates can promote the quality of a video. Therefore, in this study, without loss of generality and for ease of explanation, the number of continuous buffered layers by a DASH client is considered as the achieved video quality. considers the following QoE metrics and QoE-fairness:
- •
Start-up delay: The time period between sending a video request and starting to render the first frame.
- •
Number of stalls: The stall phenomenon occurs when the buffer space of a client reaches its minimum threshold value (possibly be zero) during the playback of the requested video. At this time, the DASH player stops rendering and waits to download the current segment.
- •
Average video quality: The average video quality of all received segments. In other words, the average number of buffered layers of each segment of a video file.
- •
Average number of video quality switches: This metric is expressed as the average number of video quality switches between any successively received segments.
- •
Average intensity of video quality switches: In addition to the average number of video quality switches, we take the average intensity of video quality oscillations into account. This metric indicates how much the quality of any two successive segments oscillates. In other words, this can be defined as the average difference between the number of downloaded layers of any successively received segments.
- •
QoE-fairness: The variance of video quality received by clients at the same time.
III-B The Details of
The schematic communication topology of the proposed framework is illustrated in Fig. 1. In this architecture, by leveraging the SDN paradigm, we introduce an SVC flow optimizer (SFO) application module as the core part of . In fact, the SFO is employed by the SDN controller to efficiently enable an SVC-based HTTP adaptive streaming service for responding to the requests of DASH clients. This communication model can be utilized in the network edge and the requests of DASH clients will be served by HTTP-media cache servers if the requests hit; otherwise they must be forwarded to the origin server located on the Internet. However, the present study assumes that all DASH client requests are served by the local HTTP-media servers.
To clarify and investigate the operation of the proposed approach, we also illustrate the three layer architecture model of which consists of the infrastructure, control, and application layer (see Fig. 2). As illustrated, OpenFlow (OF) switches, the SDN controller, and the SFO module are placed in the infrastructure, control, and application layer, respectively.
operates in a time slotted manner, in which, in each time slot SFO must be executed to determine an optimal solution. Both DASH clients and HTTP-media servers are connected to the SFO via OF switches and the SDN controller. DASH client request must be sent to the SDN controller for determining the optimal solution through SFO. Thus, to have the minimum overhead of OF switches, we configure that DASH clients connect to a default HTTP-media server with a specific IP and port address. Therefore, the client-side OF switch (the first hop OF switch of the DASH client) receiving a packet with destination IP and port address of the default HTTP-media server, is configured to be forwarded it to the SDN controller as a Packet-In. Considering the received requests and available resources, e.g. link bandwidth, SFO determines an optimal solution for the addressed problem. Thereafter, through the SDN controller, SFO configures the selected HTTP-media servers and OF switches in order to launch the data transmission process, which is achieved by sending a Packet-Out message to the OF switch. The message exchanges among these items are depicted in Fig. 3. The SFO is comprised of five components: the request analyzer, resource monitor, flow optimizer, flow setup, and data catalog component.
Request Analyzer Component (RAC): After receiving the Packet-In, the SDN controller forwards it to the RAC. RAC is responsible for receiving the DASH client requests at each time slot , at which point it launches the flow optimizer component. In fact, each time slot is divided into three unequal intervals: the gathering, optimization, and configuration interval (see Fig. 4). The two short optimization and configuration intervals are allocated for running the flow optimizer component and configuring OF switches to start data transmission, respectively. According to the output of the flow optimizer component, it is possible that data transmission takes longer than the time slot. In the gathering interval, RAC buffers the received requests from the DASH clients and performs some pre-processing on the collected requests to prepare them as an input parameter for the flow optimizer component in the next time slot.
In the pre-processing step, RAC must extract some key values from the client requests. According to the received requests in each gathering interval, RAC creates two sets, namely and . The first set, , includes of the client-side OF switches with their connected DASH clients, where indicates the DASH clients connected to the client-side OF switch and is the set of DASH clients that request to download desired layers of demanded segments. Since the flow optimizer component needs to take all gathered requests into account, RAC assigns a unique identification (ID) for each request by parsing the headers of transport and the application layers of the incoming packets, e.g. a combination of incoming sockets and the file name of the requested segment. Furthermore, RAC suggests as the deadline for buffering the requested segment (the waiting time of DASH client in the gathering interval can be taken into account) and as the maximum video quality layer of the segment determined by client . We note here that the values of can be assumed as fixed. However, to achieve a more flexible model, it is possible these be determined by DASH players or RAC as appropriate. As illustrated in Fig. 4, the two clients, and , send their requests in time slot . Both clients must wait for the optimization interval of the next time slot (time slot ) to obtain an optimal solution. As shown, the deadlines for the requested video files in time slot are considered as being from the beginning of the next time slot or time slot .
Resource Monitor Component (RMC): Before describing RMC, let us define graph , where is the set of OF switches, DASH clients, and HTTP-media servers; and set represents the edges of , where if a direct communication link exists between the two entities of and . At the beginning of each time slot, RMC uses RESTful APIs to obtain the available links’ bandwidth from the SDN controller. The measured values are stored in a two-dimensional array , in which indicates the available bandwidth between and . The connectivity among OF switches, DASH clients, and HTTP-media servers can easily be inferred from . In fact, this component constructs graph and the available bandwidth among the nodes in .
Data Catalog Component: This component provides critical meta-data about the available video files in HTTP-media servers. The meta-data includes the list of servers, stored file segments, layers, and their properties, such as: the size and bit-rate of each layer. We define as the set of HTTP-media servers, in which at least one requested layer by DASH client is stored, where . In fact, the data catalog component sets if layer requested by is available in server , else . The data catalog component also uses to show the size of layer requested by DASH client .
| Notation | Description |
| The set of OF switches, DASH clients, and | |
| HTTP-media servers | |
| The two-dimensional binary array represents | |
| edges among , where indicates a direct | |
| communication link exists between two entities of | |
| and | |
| The set of DASH clients | |
| The set of client-side OF switches | |
| The set of HTTP-media servers | |
| The set of DASH clients connected to client-side | |
| OF switch | |
| Time slot duration | |
| The offered deadline for delivering the requested | |
| segment from HTTP-media server to client | |
| The desirable maximum video quality determined | |
| by client | |
| B is a two-dimensional array where shows the | |
| available bandwidth between and | |
| A is a three-dimensional binary array where | |
| represents that layer requested by | |
| is reachable through | |
| The optimal data rate for transmitting the | |
| requested layer by DASH client that must be | |
| delivered from to | |
| The size of layer requested by DASH client | |
| The average layer size of requested segment by | |
| client | |
| The binary variable determines that whether the | |
| requested layer by client must be served by | |
| server () or not | |
| The average video quality of the client from the | |
| beginning of its work until now | |
| The average intensity of video quality switches | |
| for client | |
| The average number of video quality switches | |
| for client |
Flow Optimizer Component (FOC): In this component, we introduce a Mixed Integer Linear Programming (MILP) model to jointly determine optimal quality adaptation and data paths for delivering the requested data from HTTP-media servers to DASH clients, while maximizing the fairness and QoE. To find an optimal solution, a number of constraints must be satisfied. Before describing these, we define the input parameters as follows: provided by RAC; prepared by RMC; and obtained from the data catalog component. Table I provides the main notations.
Let binary variable determine whether server serves the requested layer by client () or not ().
Thus, the following constraint states that one server can serve the requested layer:
| (1) |
The next constraint states that if server has a copy of requested layer , then it can be selected as a candidate to respond to that client:
| (2) |
The third constraint guarantees that each client buffers a valid sequence of layers. In other words, if client receives layer from any server, then all layers from 1 to must be transmitted to it. Thus, we have:
| (3) |
Let be a data rate at which sends the layer requested by to during units of time. To determine the data rates for transmitting all the requested layers from the optimal selected HTTP-media servers in to the DASH clients in , the following constraints must be satisfied:
Constraint (III-B) covers three different cases: if is an HTTP-media server (), the constraint (III-B) forces server to generate amount of traffic, where is the specified deadline by RAC for buffering each requested layer with size . In the second case, if is an OF switch, then , the total incoming traffic must be equal to its total outgoing traffic. Finally, the last case states that the all data of layer transmitting from server to client must be received by client-side OF switch if . The following bandwidth constraint specifies an upper bound for the generated traffic on each link:
| (7) |
To consider the QoE-fairness and QoE metrics in our proposed MILP model, a number of constraints should be satisfied. First, we shall focus on the QoE-fairness in serving DASH clients in each time slot. Note, in this study, the quality of the received segment is measured based on the number of its received layers. This index will be compared to other well-known quality measuring methods in the performance evaluation. Hence, to achieve a fair video quality among the various maximum supported video qualities of the clients, we present the following constraint:
| (8) |
In fact, Eq. (8) determines the biggest gap, denoted by , between the supported maximum layer and the maximum of layer served by the network for each client . It is obvious that, by decreasing in the objective function, the variance of the video quality received by clients will reduce and consequently the QoE-fairness will increase. The impact of on QoE-fairness is comprehensively investigated in the performance evaluation.
We note that the first two QoE metrics start up delay and number of stalls, are taken into account by selecting the appropriate value for . In fact, forces the MILP model to forward the requested layer by determining the optimal data rates (see Eq. (III-B)). However, for the other QoE metrics, namely average video quality, number and intensity video quality switches, we need to keep track of their treatments in prior time slots. Let be the total video quality of the segments downloaded by the client from the time its first request is sent until the current time slot. Note that the number of downloaded layers for each segment is assumed to be the received video quality of that segment. Thus, the normalized average video quality of client from the beginning of its work until now, denoted by , is obtained through the following constraint:
| (9) |
where and and are the total number of requested segments and the achieved layers of the video requested in the current time slot by client , respectively.
Let and be the total intensity and the total number of video quality switches by DASH client while obtaining segments from the beginning of its operation until the current time slot, respectively. Hence, the normalized average intensity of video quality switches, , for client can be obtained as follows:
| (10) |
where . In Eq.(10), shows the difference in video quality among the layers received in the previous time slot denoted by , and the achieved layers in the current time slot, as well as the notation indicating the absolute operation. Now, if , we can conclude that the quality of the segment received in this time slot oscillates with respect to the perceived quality in the previous time slot. This statement can be formulated as follows:
| (11) |
where the defined binary variable determines whether the quality oscillation of the received segment occurs or not. Therefore, if , the quality of the video oscillates else it remains unchanged. Thus, the normalized average number of video quality switches for client is obtained as follows:
| (12) |
where . Therefore, the MILP used in FOC can be represented as:
| (13) | ||||
In each time slot, FOC runs the above MILP model to maximize both QoE metrics and QoE-fairness by determining the optimal quality adaptation and data rates to transmit the requested layers. In addition to maximizing the defined QoE metrics and QoE-fairness, the objective function Eq. (13) implicitly preventing the waste of network resources by decreasing the total generated traffic (the last term in the objective function). We can also set desirable priorities for these metrics using constant weights . For instance, can assist us to determine how important client is to receive segments without any quality oscillation. The weights can be adjusted by the application policies in each time slot.
Theorem 1: The proposed MILP formulation (13) is an NP-complete problem.
Proof.
Let us consider the simplest form of the problem as follows: to maximize the sum of video qualities, it is assumed that all HTTP-media servers are connected to the client-side OF switches through a link with limited bandwidth and that each HTTP-media server can serve all requested layers as well. In the simplest form, without loss of generality, we define different sets of video qualities for each segment on HTTP-media servers, where the set of video quality contains layers from the base layer to the layer. In other words, if layer is selected to be sent, then the hosted HTTP-media server will send set or all layers from the base to the enhancement layer. Now, by defining the weight and value for each stored set of video qualities in the HTTP-media servers as the required bandwidth and the perceived video quality, then the problem can be reduced in a polynomial time to the classic knapsack problem, in which the maximum knapsack capacity equals the available bandwidth. Moreover, by considering the fairness, the problem can be reduced to the quadratic knapsack problem, in which opting any two equal layers, in terms of video quality, results in more benefits. ∎
Since the proposed MILP model (13) is an NP-complete problem and suffers from high time complexity [46], we propose a linear relaxation of the MILP model that can be centrally run by FOC. To do this, a virtual HTTP-media server is considered instead of set by the assumption that all members of are organized in a full mesh topology with no bandwidth restriction. Based on this assumption, the virtual HTTP-media server can serve all layers requested by DASH clients. Let show the fragmentation of the maximum supported quality () that can be served by a virtual HTTP-media server, where and . In fact, is the amount of requested data that the virtual HTTP-media can transmit to client . Now, by performing some minor modifications on (13), the LP relaxation model can be represented as follows:
| (14) | ||||
| s.t. | ||||
In constraints (VI-VII), is defined as the data rate at which sends video traffic requested by to in units of time. Also, is the average layer size of the segment requested by client . By taking the floor of the fractional values of , an approximate solution to the model (13) can be obtained. After determining the sub-optimal data rates and paths, the flow setup component is called.
Flow Setup Component (FSC): After determining the sub-optimal solution by FOC, a method should be developed and utilized to enable the network to support different data transmission rates. To achieve this, OF switches and HTTP-media servers should be configured accordingly.
As stated in [47], Open vSwitch (OVS) is able to provide desirable data rate calibration on each flow using its queuing feature. However, configuring different queues on all OF switches may be a simple, yet naive idea because of two reasons. First, there are numerous video files with different data rates that must be delivered in each time slot. Second, the probability of misconfiguration grows as the number of switches increases.
Therefore, we propose an agile and reliable method based on tagging the type of service (TOS) field of the data packets originated by the HTTP-media servers to the destination DASH clients. Generally, the tagging process can be performed by HTTP-media servers or server-side OF switches. However, to achieve a minimum overhead in OF switches, we delegate the tagging process to the HTTP-media servers.
The FSC operation for each requested layer can be divided into two main steps: (1) configuring the HTTP-media server to tag the outgoing packets, and (2) configuring OF switches to provide the determined data path and rates.
Step 1: In this step, FSC should determine the minimum required tags for the generated data packets and then configure the selected HTTP-media server to apply the tags. For ease of explanation, let us present an example illustrated in Fig. 5. Suppose all DASH clients are configured to send their request to a default HTTP-media server with IP=’X’ and port=’Y’. Thus, as illustrated in Fig. 5 (a), the client-side OF switch ’’ receives a request from DASH client ’’ with destination IP ’X’ and port ’Y’. Then, it forwards this packet to the SDN controller as a PACKET-IN message. Upon receiving the PACKET-IN message, the SDN controller delivers it to its RAC component for analyzing the packet. After processing the request received by RAC, FOC selects the HTTP-media server ’’ to serve DASH client ’’ for layer ’’ based on the optimal data path and transmission rates, (see Fig. 5 (b) for the given deadline seconds). Now, with the optimal data path and rate , the minimum number of tags must be calculated by FSC. In fact, a list of base data rates must be produced, in which , is decomposing into . To determine the values, we propose a simple recursive function named base_data_rates (see Alg. 1).
This algorithm traverses the data path from the client-side OF switch ’’ to HTTP-media server ’’ by calling function (’’,’’). This function stops calling itself when it meets the root of data path (HTTP-media server ’’) (lines 1-3). In line 4, list is set to all incoming links of (i.e. , , and for ). For each link in , we first define as the list of incoming links to that have not been visited yet, where is the upstream peer for on link . For instance, for , , , and , if the algorithm finds a combination of data rates of equal to the data rate of , then all links in that combination are set as visited links and the for loop goes for the next link (lines 9-12). Consider Fig. 5(b) as an example, in which the condition of the If statement (line 9) is TRUE for link , since . As it can be seen in Fig. 5(b), for , the data rate from to is equal to the data rate from to , hence is set as the visited link.
However, for and , there is not any combination of that provides the same data rate as . In this case, we compare with the maximum data rate of (here with 250 kbps). If , then the function (Alg. 2) is called. In this algorithm, a combination of unvisited links to (e.g., for ) is determined firstly, which provides the minimum data rate that is greater than (lines 4-9). Then, virtual link , which is added to , and the extra data rate are allocated to it (lines 10-13). Refer to link in Fig. 5 (c) which results in the addition of a virtual link with data rate 50.
On the other hand, in the case of , the next function, , executes (Alg. 3). Let have the maximum data rate of (for and , we have ’’). In this case, virtual link with the same data rate is added to . We also set as the visited link (line 4). Since the data rate of must equal , we then update the data rate of to (line 6). See link in Fig. 5 (c) which results in the addition of a virtual link from HTTP-media server ’’ to with a data rate of 300). In line 20 of the algorithm, the function calls itself for each ’s upstream switches. Finally, the list of base data rates is equal to the all outgoing data rates, including the data rates of virtual links. In this example, the obtained base data rates are (refer to the outgoing links from HTTP-media server ’’ in Fig. 5 (c)).
After the base data rates are calculated, FSC configures the HTTP-media server to tag the outgoing packets accordingly. To do this, FSC concatenates the following parameters to the URL address in the request packet: (1) base data rates, (2) deadline value , (3) list of required tags, and (4) list of server-side OF switches connected to the selected HTTP-media server. Thereafter, FSC asks the SDN controller to send the outgoing packets back to the client-side OF switch as a PACKET-OUT message. Note that the destination address of the PACKET-OUT message is set to the selected HTTP-media server. The client-side OF switch now forwards the packet to the specified HTTP-media server (Fig. 5 (e)).
As depicted in Fig. 5 (d)-(e), for the obtained base data rates (i.e., ), the FSC sets and server-side OF switches=. This configuration signifies that the HTTP-media server ’’ must send the amount of data to server-side OF switch with tag 1, the amount of data to with tag 2, and so forth.
Step 2: In this step, FSC installs the required rules in OF switches to forward packets according to the determined data path. Each rule filters incoming packets according to the ToS tag, source and destination IP and port addresses, and then specifies the output port (see Fig. 5(d)). For more transparency, the client-side OF switch replaces the source IP and port addresses of the incoming data packet from the HTTP-media server with the default IP and port addresses. (Fig. 5(e)).
IV Performance Evaluation
In this part, we empirically evaluate and present the performance results of the proposed models. In the following, we first investigate the behavior of the proposed MILP model and various QoE parameters. Then, we continue our investigation by comparing the performance of proposed QoE-fairness method with that of other algorithms. Finally, we evaluate the performance of the proposed MILP and LP-relaxed models in detail.
For evaluation purposes, we use the 56-second Factory.yuv obtained from https://media.xiph.org/video/derf/. The video is processed using the Joint Scalable Video Model (JSVM) [49] as follows. First, the video is encoded by JSVM H264AVCEncoderLibTestStatic to four scalable layers, including temporal and spatial scalability. The encoder produces one .264 file. We use the Python code presented in [50] to extract the corresponding file to each layer and slice this into five-second long segments. The characteristics of the produced file are as follows: base layer (BL)=650 kbps, BL+enhancement layer1 (EL1)=1100 kbps, BL+EL1+EL2=1650 kbps, and BL+EL1+EL2+EL3=2300 kbps. Using SSIM[48], we measure the video qualities of layers and illustrate in Fig. 6. Then, the related MPD file is compiled based on the extracted layers information. Finally, the created files are uploaded into simulated web servers in Mininet [51].
The default topology used in the implementation is illustrated in Fig. 7. We used computers running Ubuntu 16.04 64bit and equipped with an Intel Core 2 Duo CPU and 4 GB of RAM. There are seven OF switches and five clients connected to the system via two client-side OF switches. As seen in Fig. 7, the bandwidth between the switches is set at 8 Mbps. In fact, to simulate a bandwidth-limited network and to investigate the treatment of the framework, we limit the core network bandwidth capacity (i.e. switch to switch). Furthermore, the test bed consists of five heterogeneous clients with different supported layers: , respectively. In our setup, clients join the network in predefined random time-slots, as follows: . Thereafter, they request receiving the 56-second video in 12 segment, each segment containing 5 seconds of the video. The other initial parameter values are set as follows: . We use Mininet to generate the network topology and perform the evaluations. We also employ Floodlight [52] as the SDN controller in our experiments. To emulate the clients’ video player, we extend Scootplayer [53] to support the H.264 SVC codec. Scootplayer is an experimental MPEG-DASH request engine which also provides accurate logs. Next, we evaluate the behavior of the system by changing the values of different parameters.
IV-A QoE Parameters
According to the buffering deadline ’’ and the requested segment duration, we can eliminate the stalling phenomenon in clients by setting . The transmission delay can also be considered when determining the value. Thus, by choosing , model can guarantee that stalling phenomenon never happened. The next QoE parameter, start-up delay, depends on and too. In fact, in the worst case, a client may join the network exactly at the beginning of when the optimization algorithm is run. In this case, the client has to wait for seconds to receive the video. On the other hand, in the best case, the client’s request is submitted exactly before the optimization algorithm is run and the video is delivered after seconds. Notably, the average waiting time for clients may be expressed as . The empirical results proved these statements.
In the first experiment, we focus on the video quality received by clients. To measure this parameter, we employ the Structural Similarity Metric (SSIM) [48]. In fact, SSIM can be utilized to assess the mean delivered video quality to clients in each time slot (Fig. 8). As mentioned in the proposed model, we set the video quality of a segment equal to the number of its received layers. Now, by comparing Fig. 8 and Fig. 9(a), it can be concluded that both methods follow the same approach. Thus, this proves that considering the number of received layers for a segment can be mapped as an index for measuring video quality. In our next experiment, we measure the changing weight of client 2 to show the capability of the system to apply different policies.
We therefore evaluate the impact of changing the value for . This value is related to parameter in model (13), which shows the average video quality of each client from the beginning to the present time. With the increase of , it is expected that client 2 receives a higher video quality in comparison to others. In Fig. 9(a), the behavior of the system with the default value of is depicted. As shown in Fig. 9(b), by doubling the value of this parameter, the delivered video quality for client 2 increases in time slots 7 and 10. Moreover, by considering the bandwidth limitation, it can be seen that, due to the higher video quality of , the video quality of and lowers. When bringing the value further up to 3. Fig. 9(c) shows that the video quality of improves in time slot 6. Therefore, by raising the value to higher values, we can guarantee the maximum quality for client 2 during all time slots.
In the next experiment, we investigate the impact of changing in the delivered quality layers. As a reminder, is defined as the video delivery deadline for client . is assumed to be identical for all clients. Obviously, by increasing the value of , resource utilization can decrease and a higher video quality may be delivered to clients. This is because the proposed model has more time to deliver the requested video and consequently it is able to send higher video quality at a lower transmission data rate. The treatments of the model for different values of are illustrated in Fig. 10. The normal status of the network () is shown in Fig. 10 (b). As seen, by increasing the value from 1 to 1.7, the maximum video quality (i.e. ) can be delivered to clients (see Fig. 10 (c)). Although raising promotes the overall quality of the delivered video, the possibility of stalling occurring for clients grows. In fact, the stalling phenomenon specifies an upper bound for . Basically, the proposed framework can centrally offer an appropriate by considering the total duration of delivering video to client . We will elaborate on this in a future study. Notably, by choosing a smaller value for (Fig. 10 (a)), we can force the model to immediately fill the buffer of the clients; in this case, the model has to send the highest possible quality to the clients at high data rate. Therefore, as for limited bandwidth, it is obvious that some clients will be deprived of obtaining more quality (see Fig. 10 (a) for ).
In the next experiment, we evaluate the impact of changing the values of the other two weights in our model: and . By increasing the values of these weighting factors for , it is expected that the number and intensity of quality changes shall decrease. Fig. 11 (a) presents the system behavior with the default settings. In the first step, we increase the value of and to . As seen in Fig. 11(b), the controller tries to reduce number of the quality changes, which increases the video quality in time slot 10. Also, to raise the video quality of , the controller has to reduce the video quality of other clients. For example, in the 10th time slot, the MILP model lowers the quality of to boost the video quality of (see Fig. 11 (b)).
As presented in Fig. 9 (a) and 11 (a) (default cases), the requested quality was not completely delivered in time slots 6, 7, 8 and 10. To clarify the reason for this treatment, we measure the total volume of requested layers by the clients and the amount of sent data by MILP in each time slot. In fact, due to the bandwidth limitation, the MILP model can not deliver the total amount of requested layers in some time slots 6, 7, 8, and 10. Although the number of delivered quality layers lowered in time slots 6, 8 and 10, the amount of sent data in these slots is reasonable when considering the bandwidth limitation. This phenomenon occurs in other scenarios (see Fig. 9 (b,c) and 11 (b)).
IV-B QoE-Fairness
Parameter is responsible for providing video quality fairness in the network (see the proposed model (13)). Fig. 12(c) presents the status of the system in default mode (). As depicted in Fig. 12, by decreasing the value of from to and also lowering it to , the MILP model does not try to serve all requested clients.
For example, in the cases of (Fig. 12 (b)) and (Fig. 12 (a)), the Flow Optimizer component (FOC) decides to respond to after the 6th and 8th time slots, respectively. As a result, lowering can reduce the overall QoE-fairness. Moreover, by considering different values for , we measure the variance of normalized received quality layers in each time slot and also the maximum gap between the maximum supported video quality layer and the delivered layer that is equal to (refer to Fig. 13). As seen, this difference grows dramatically in the 6th time slot for and ; however, it reduces after increases. An identical treatment showing variance in Fig. 13. Furthermore, we use the QoE-fairness index introduced by Hossfeld et al. [54] as follows:
| (18) |
where denotes standard deviation of SSIM values observed by clients in each time slot. represent the maximum and minimum SSIM values for available videos in HTTP media-servers, respectively. As depicted in Fig. 13, our measured QoE-fairness and that measured by [54] share the same trend.
By employing the proposed framework in [55], we compare our introduced MILP model with three network-based methods: QoE-FF framework[30], SPM[56], and NADE[57]. As it is depicted in Fig. 14, our proposed model is able to outperform other approaches in term of start-up delay. NADE proposed a video control plane which enforces video quality fairness among concurrent video flows generated by heterogeneous client devices. Also, it can be seen that NADE yields the highest fairness among all the approaches. Nevertheless, our proposed model performs almost the same as NADE. On the other hand, QoE-FF outperforms NADE, SPM, and our proposed model in term of quality switches. The reason is NADE is not designed to foresee the occurrence of video freezes and avoid them. However, as it appears in Fig. 14, our proposed model produces acceptable results for this parameter. QoE-FF seeks to optimize the QoE by taking into account two main constraints: the devices resolution and current available bandwidth. However, it does not consider the current buffer occupancy. Thus, for both QoE-FF and NADE mechanisms, decreasing the available bandwidth can significantly increase the stalling phenomenon. As a result, in these approaches, clients may be subject to buffer starvation. Meanwhile, our proposed model guarantees that stalling will never happen. Moreover, QoE-FF framework does not support large number of clients, since it generates high overhead which can degrade the overall performance. Finally, Fig. 14 shows that all the studied frameworks produce almost the same results for both min and mean SSIM.
in default(D) and extended(E) topology
| Number of | Execution time (ms) | |||||
| Client | OVS command | MILP | LP-relaxed | |||
| D | E | D | E | D | E | |
| 1 | 17 | 17 | 80 | 130 | 35 | 55 |
| 5 | 87 | 91 | 311 | 510 | 89 | 180 |
| 10 | 177 | 177 | 743 | 1700 | 173 | 293 |
| 15 | 220 | 225 | 1043 | 2250 | 249 | 458 |
| 20 | 305 | 321 | 2152 | 3500 | 296 | 630 |
| 25 | 328 | 345 | 3748 | 5200 | 336 | 764 |
| 30 | 368 | 398 | 4447 | 6800 | 350 | 837 |
| 40 | 442 | 514 | 6276 | 8860 | 415 | 1029 |
IV-C MILP and LP-Relaxed Comparison
Before discussing the comparison of the proposed models, let us provide a brief overview of the number of generated OF commands for configuring the network switches. We conduct experiments with default (D) topology (Fig. 7) then enrich our experiments with extended (E) topology (Fig. 15) (by increasing the number of switches to 12) and measure the number of OF commands for all the active switches in each time slot. After a traffic flow finishes, each flow table entry will be removed from the switch. As seen in Table II, by increasing the number of clients, the number of OF commands moderately increases, because of dividing traffic and utilizing more data paths to the destination.
In the next step, we present the performance evaluation of the proposed MILP and LP-relaxed models with respect to different metrics. At first, we compare the execution time of the models written in Python and Pulp library [58]. Employing the default and extended network topology and increasing the switch links bandwidth from 8 to 100 Mbps, we run experiments with 10, 20, 30, and 40 clients, with the results showing the practical applicability of the algorithm (refer to Table II). As seen in Table II, our MILP model has a significantly higher execution time. With the growth of network size, this difference can be even higher. On the other hand, the results show that for limited number of clients and switches, the relaxed model is more applicable than the MILP and can be used in bigger networks. We extend the investigation by comparing the measured values of objective functions in both models according to the default topology. As presented in Fig. 16, the obtained objective values of our LP-relaxed model are lower than those of MILP in some time slots (e.g. 6, 7, 8, and 10). The average of delivered quality layer () and quality switches () in each time slot are given in Fig. 16. As we observe, the average of the delivered quality layer and also the quality switches obtained by the LP-relaxed model report a lower performance in comparison with the MILP model in some time slots. The first possible reason for this is the rounding down of variable in Eq.14. Another explanation can be the calculation of as the average segment size of the video requested by client . Moreover, with the default parameters, the values of the delivered quality layer obtained by the LP-relaxed and MILP models are shown in Fig. 17 (a) and (b), respectively. Although the MILP and LP-relaxed models have different treatments in delivering quality layers, especially in time slots and , the amount of sent data in these time slots are almost equal (See Fig. 18). In the final experiment, we compare the maximum received quality to its maximum supported value for the MILP and LP-relaxed models. We show these parameters as and , respectively (see Fig. 19 (a)). Although Fig. 19 (a) shows identical behavior, the LP-Relax model surpasses MILP in the variance of the delivered quality layer (see Fig. 19 (b)). Note that the variances are measured based on the normalized values of the delivered quality layers.
V Conclusion and Future Work
Today, dynamic adaptive streaming over HTTP (DASH) is emerging the distinguished technology for delivering video over the Internet; it is indebted to the simplicity and the efficiency of HTTP protocol. DASH enables clients to adjust their adaptation according to observed feedback from the network. Moreover, DASH provides an opportunity to serve clients by media cache servers at the edge of the network. Delegating an optimal adaptation process to clients has suffered as an issue where adaptation is performed based on local information on the client. Furthermore, achieving maximum QoE metrics and QoE-fairness cannot be guaranteed by employing local parameters for the clients.
By leveraging the SDN paradigm, we proposed a new SDN-based framework, named , to address the problem of rate adaptation by focusing on maximizing QoE and QoE-fairness. We elaborated on the architecture of by designing a set of interconnected components. After collecting critical data from the network, such as client requests and network resources, determined an appropriate data path and rates in a time slot based manner. In fact, in , upon the receipt of a request packet from the DASH client, it was sent to the SDN controller as a Packet-In. After processing the Packet-In by the proposed application modules, an appropriate solution was achieved. Then, the SDN controller configured the OpenFlow switches and HTTP-media server to start packet transmission.
We formulated the problem as a MILP optimization model and showed that it is an NP-complete problem. We further extended our approach by proposing an LP-relaxation model to provide practical applicability for the proposed framework. Regarding the performance evaluation, we expanded the Scootplayer and implemented the proposed framework and its components in Python. Then, by employing Mininet and Floodlight, we conducted experiments in different scenarios, evaluated the QoE-fairness and QoE metrics, and made comparison with different state-of-the-art network-based approaches. The results validated the performance of the proposed framework.
We have two main directions as the future work. The first one is to extend our proposed framework for live multicast streaming in the network edge. Also, we can evaluate the usage of HTTP2.0 and Google Quick UDP Internet Connections (QUIC) protocol in the context of DASH-based services.
References
- [1] Cisco Visual Networking Index. Cisco visual networking index: global mobile data traffic forecast update, 2014–2019. Tech. Rep, 2015.
- [2] Jeffrey Erman, Alexandre Gerber, Mohammad Hajiaghayi, Dan Pei, Subhabrata Sen, and Oliver Spatscheck. To cache or not to cache: The 3g case. IEEE Internet Computing, 15(2):27–34, 2011.
- [3] Microsoft Smooth Streaming, Available: https://www.iis.net/downloads/microsoft/smooth-streaming.
- [4] Adobe HTTP Dynamic Streaming, Available: http://www.adobe.com/products/hds-dynamic-streaming.html.
- [5] Apple HTTP Live Streaming, Available: https://developer.apple.com/streaming/.
- [6] Thomas Stockhammer. Dynamic adaptive streaming over http–: standards and design principles. In Proceedings of the second annual ACM conference on Multimedia systems, pages 133–144. ACM, 2011.
- [7] Thomas Wiegand, Gary J Sullivan, Gisle Bjontegaard, and Ajay Luthra. Overview of the h. 264/avc video coding standard. IEEE Transactions on circuits and systems for video technology, 13(7):560–576, 2003.
- [8] Heiko Schwarz, Detlev Marpe, and Thomas Wiegand. Overview of the scalable video coding extension of the h. 264/avc standard. IEEE Transactions on circuits and systems for video technology, 17(9):1103–1120, 2007.
- [9] Yago Sánchez de la Fuente, Thomas Schierl, Cornelius Hellge, Thomas Wiegand, Dohy Hong, Danny De Vleeschauwer, Werner Van Leekwijck, and Yannick Le Louédec. idash: improved dynamic adaptive streaming over http using scalable video coding. In Proceedings of the second annual ACM conference on Multimedia systems, pages 257–264. ACM, 2011.
- [10] Raf Huysegems, Bart De Vleeschauwer, Tingyao Wu, and Werner Van Leekwijck. Svc-based http adaptive streaming. Bell Labs Technical Journal, 16(4):25–41, 2012.
- [11] Michael Seufert, Sebastian Egger, Martin Slanina, Thomas Zinner, Tobias Hobfeld, and Phuoc Tran-Gia. A survey on quality of experience of http adaptive streaming. IEEE Communications Surveys & Tutorials, 17(1):469–492, 2015.
- [12] Emmanuel Thomas, MO van Deventer, Thomas Stockhammer, Ali C Begen, and Jeroen Famaey. Enhancing mpeg dash performance via server and network assistance. 2015.
- [13] Nick McKeown, Tom Anderson, Hari Balakrishnan, Guru Parulkar, Larry Peterson, Jennifer Rexford, Scott Shenker, and Jonathan Turner. Openflow: enabling innovation in campus networks. ACM SIGCOMM Computer Communication Review, 38(2):69–74, 2008.
- [14] Nick McKeown. Software-defined networking. INFOCOM keynote talk, 17(2):30–32, 2009.
- [15] Saamer Akhshabi, Ali C Begen, and Constantine Dovrolis. An experimental evaluation of rate-adaptation algorithms in adaptive streaming over http. In Proceedings of the second annual ACM conference on Multimedia systems, pages 157–168. ACM, 2011.
- [16] Te-Yuan Huang, Nikhil Handigol, Brandon Heller, Nick McKeown, and Ramesh Johari. Confused, timid, and unstable: picking a video streaming rate is hard. In Proceedings of the 2012 ACM conference on Internet measurement conference, pages 225–238. ACM, 2012.
- [17] Junchen Jiang, Vyas Sekar, and Hui Zhang. Improving fairness, efficiency, and stability in http-based adaptive video streaming with festive. In Proceedings of the 8th international conference on Emerging networking experiments and technologies, pages 97–108. ACM, 2012.
- [18] Zhi Li, Xiaoqing Zhu, Joshua Gahm, Rong Pan, Hao Hu, Ali C Begen, and David Oran. Probe and adapt: Rate adaptation for http video streaming at scale. IEEE Journal on Selected Areas in Communications, 32(4):719–733, 2014.
- [19] Abdelhak Bentaleb, Ali C Begen, and Roger Zimmermann. Sdndash: Improving qoe of http adaptive streaming using software defined networking. In Proceedings of the 2016 ACM on Multimedia Conference, pages 1296–1305. ACM, 2016.
- [20] Abdelhak Bentaleb, Ali C Begen, Roger Zimmermann, and Saad Harous. Sdnhas: An sdn-enabled architecture to optimize qoe in http adaptive streaming. IEEE Transactions on Multimedia, 19(10):2136–2151, 2017.
- [21] Xiaoqi Yin, Abhishek Jindal, Vyas Sekar, and Bruno Sinopoli. A control-theoretic approach for dynamic adaptive video streaming over http. ACM SIGCOMM Computer Communication Review, 45(4):325–338, 2015.
- [22] Christian Sieber, Tobias Hoßfeld, Thomas Zinner, Phuoc Tran-Gia, and Christian Timmerer. Implementation and user-centric comparison of a novel adaptation logic for dash with svc. In Integrated Network Management (IM 2013), 2013 IFIP/IEEE International Symposium on, pages 1318–1323. IEEE, 2013.
- [23] Thomas Schierl, Yago Sanchez De La Fuente, Ralf Globisch, Cornelius Hellge, and Thomas Wiegand. Priority-based media delivery using svc with rtp and http streaming. Multimedia Tools and Applications, 55(2):227–246, 2011.
- [24] Siyuan Xiang, Lin Cai, and Jianping Pan. Adaptive scalable video streaming in wireless networks. In Proceedings of the 3rd multimedia systems conference, pages 167–172. ACM, 2012.
- [25] Jeroen Famaey, Steven Latré, Niels Bouten, Wim Van de Meerssche, Bart De Vleeschauwer, Werner Van Leekwijck, and Filip De Turck. On the merits of svc-based http adaptive streaming. In Integrated Network Management (IM 2013), 2013 IFIP/IEEE International Symposium on, pages 419–426. IEEE, 2013.
- [26] Danny H Lee, Constantine Dovrolis, and Ali C Begen. Caching in http adaptive streaming: Friend or foe? In Proceedings of Network and Operating System Support on Digital Audio and Video Workshop, page 31. ACM, 2014.
- [27] Robert Kuschnig, Ingo Kofler, and Hermann Hellwagner. An evaluation of tcp-based rate-control algorithms for adaptive internet streaming of h. 264/svc. In Proceedings of the first annual ACM SIGMM conference on Multimedia systems, pages 157–168. ACM, 2010.
- [28] Vengatanathan Krishnamoorthi, Niklas Carlsson, Derek Eager, Anirban Mahanti, and Nahid Shahmehri. Helping hand or hidden hurdle: Proxy-assisted http-based adaptive streaming performance. In Modeling, Analysis & Simulation of Computer and Telecommunication Systems (MASCOTS), 2013 IEEE 21st International Symposium on, pages 182–191. IEEE, 2013.
- [29] Stefano Petrangeli, Jeroen Famaey, Maxim Claeys, Steven Latré, and Filip De Turck. Qoe-driven rate adaptation heuristic for fair adaptive video streaming. ACM Transactions on Multimedia Computing, Communications, and Applications (TOMM), 12(2):28, 2016.
- [30] Panagiotis Georgopoulos, Yehia Elkhatib, Matthew Broadbent, Mu Mu, and Nicholas Race. Towards network-wide qoe fairness using openflow-assisted adaptive video streaming. In Proceedings of the 2013 ACM SIGCOMM workshop on Future human-centric multimedia networking, pages 15–20. ACM, 2013.
- [31] Jan Willem Kleinrouweler, Sergio Cabrero, and Pablo Cesar. Delivering stable high-quality video: an sdn architecture with dash assisting network elements. In Proceedings of the 7th International Conference on Multimedia Systems, page 4. ACM, 2016.
- [32] Hilmi E Egilmez, Burak Gorkemli, A Murat Tekalp, and Seyhan Civanlar. Scalable video streaming over openflow networks: An optimization framework for qos routing. In Image Processing (ICIP), 2011 18th IEEE International Conference on, pages 2241–2244. IEEE, 2011.
- [33] Hilmi E Egilmez, Seyhan Civanlar, and A Murat Tekalp. An optimization framework for qos-enabled adaptive video streaming over openflow networks. IEEE Transactions on Multimedia, 15(3):710–715, 2013.
- [34] Hilmi E Egilmez and A Murat Tekalp. Distributed qos architectures for multimedia streaming over software defined networks. IEEE Transactions on Multimedia, 16(6):1597–1609, 2014.
- [35] Zuqing Zhu, Suoheng Li, and Xiaoliang Chen. Design qos-aware multi-path provisioning strategies for efficient cloud-assisted svc video streaming to heterogeneous clients. IEEE transactions on multimedia, 15(4):758–768, 2013.
- [36] Hilmi E Egilmez, S Tahsin Dane, K Tolga Bagci, and A Murat Tekalp. Openqos: An openflow controller design for multimedia delivery with end-to-end quality of service over software-defined networks. In Signal & Information Processing Association Annual Summit and Conference (APSIPA ASC), 2012 Asia-Pacific, pages 1–8. IEEE, 2012.
- [37] Suoheng Li, Zuqing Zhu, Weiping Li, and Houqiang Li. Efficient and scalable cloud-assisted svc video streaming through mesh networks. In Computing, Networking and Communications (ICNC), 2012 International Conference on, pages 944–948. IEEE, 2012.
- [38] Niels Bouten, Jeroen Famaey, Steven Latré, Rafael Huysegems, Bart De Vleeschauwer, Werner Van Leekwijck, and Filip De Turck. Qoe optimization through in-network quality adaptation for http adaptive streaming. In Network and service management (cnsm), 2012 8th international conference and 2012 workshop on systems virtualiztion management (svm), pages 336–342. IEEE, 2012.
- [39] Ricky KP Mok, Xiapu Luo, Edmond WW Chan, and Rocky KC Chang. Qdash: a qoe-aware dash system. In Proceedings of the 3rd Multimedia Systems Conference, pages 11–22. ACM, 2012.
- [40] Ali El Essaili, Damien Schroeder, Eckehard Steinbach, Dirk Staehle, and Mohammed Shehada. Qoe-based traffic and resource management for adaptive http video delivery in lte. IEEE Transactions on Circuits and Systems for Video Technology, 25(6):988–1001, 2015.
- [41] Yi-Mao Hsiao, Su-Wei Yeh, Jai-Shiarng Chen, and Yuan-Sun Chu. A design of bandwidth adaptive multimedia gateway for scalable video coding. In Circuits and Systems (APCCAS), 2010 IEEE Asia Pacific Conference on, pages 160–163. IEEE, 2010.
- [42] Yang Yue, Yongyi Ran, Shuangwu Chen, Bowen Yang, Long Sun, and Jian Yang. Joint routing and layer selecting for scalable video transmission in sdn. In Globecom Workshops (GC Wkshps), 2015 IEEE, pages 1–6. IEEE, 2015.
- [43] Tuba Uzakgider, Cihat Cetinkaya, and Muge Sayit. Learning-based approach for layered adaptive video streaming over sdn. Computer Networks, 92:357–368, 2015.
- [44] Cihat Cetinkaya, Erdem Karayer, Muge Sayit, and Cornelius Hellge. Sdn for segment based flow routing of dash. In Consumer Electronics–Berlin (ICCE-Berlin), 2014 IEEE Fourth International Conference on, pages 74–77. IEEE, 2014.
- [45] Seyhan Civanlar, Murat Parlakisik, A Murat Tekalp, Burak Gorkemli, Bulent Kaytaz, and Evren Onem. A qos-enabled openflow environment for scalable video streaming. In GLOBECOM Workshops (GC Wkshps), 2010 IEEE, pages 351–356. IEEE, 2010.
- [46] Stephen A Vavasis. Nonlinear optimization: complexity issues. Oxford University Press, Inc., 1991.
- [47] Open vSwitch, Available:http://docs.openvswitch.org/.
- [48] Zhou Wang, Ligang Lu, and Alan C Bovik. Video quality assessment based on structural distortion measurement. Signal processing: Image communication, 19(2):121–132, 2004.
- [49] J Reichel, H Schwarz, and M Wien. Joint scalable video model 11 (jsvm 11). Joint Video Team, Doc. JVT-X202, page 23, 2007.
- [50] Christian Kreuzberger, Daniel Posch, and Hermann Hellwagner. A scalable video coding dataset and toolchain for dynamic adaptive streaming over http. In Proceedings of the 6th ACM Multimedia Systems Conference, pages 213–218. ACM, 2015.
- [51] Bob Lantz, Brandon Heller, and Nick McKeown. A network in a laptop: rapid prototyping for software-defined networks. In Proceedings of the 9th ACM SIGCOMM Workshop on Hot Topics in Networks, page 19. ACM, 2010.
- [52] Floodlight Controller, Available:http://www.projectfloodlight.org/.
- [53] Scootplayer, Available: https://github.com/broadbent/scootplayer.
- [54] Tobias Hoßfeld, Lea Skorin-Kapov, Poul E Heegaard, and Martin Varela. Definition of qoe fairness in shared systems. IEEE Communications Letters, 21(1):184–187, 2017.
- [55] Susanna Schwarzmann, Thomas Zinner, and Ognjen Dobrijevic. Quantitative comparison of application–network interaction: a case study of adaptive video streaming. Quality and User Experience, 2(1):7, 2017.
- [56] Stefano Petrangeli, Tim Wauters, Rafael Huysegems, Tom Bostoen, and Filip De Turck. Network-based dynamic prioritization of http adaptive streams to avoid video freezes. In Integrated Network Management (IM), 2015 IFIP/IEEE International Symposium on, pages 1242–1248. IEEE, 2015.
- [57] Giuseppe Cofano, Luca De Cicco, Thomas Zinner, Anh Nguyen-Ngoc, Phuoc Tran-Gia, and Saverio Mascolo. Design and experimental evaluation of network-assisted strategies for http adaptive streaming. In Proceedings of the 7th International Conference on Multimedia Systems, page 3. ACM, 2016.
- [58] Optimization with PuLP, Available:https://pythonhosted.org/PuLP/.