FALCON: joint fair airtime allocation and rate control for DASH video streaming in software defined wireless networks

Software Defined Wireless Networks offer an opportunity to enhance the performance of specific services by applying centralized mechanisms which make use of a global view of the network resources. This paper presents FALCON, a novel solution that jointly optimizes fair airtime allocation and rate recommendations for Server and Network Assisted DASH video streaming, providing proportional fairness among the clients. Since this problem is NP-hard, FALCON introduces a novel heuristic algorithm that is proved to achieve almost optimal results in a practical amount of time. The performance of FALCON is evaluated when used in conjunction with three referent Adaptive Bit Rate strategies (PANDA, BOLA and RobustMPC) in a simulated ultra-dense In-flight Entertainment System scenario. The obtained results show that FALCON provides significant benefits by minimizing instability and buffer underruns, while obtaining a fair video rate and airtime allocation among clients, thus contributing to an enhanced Quality of Experience.


INTRODUCTION
Recent advances in wireless communications enable access densification by increasing the capacity and availability of the networks. For instance, 5G technologies are expected to provide a wireless access alternative to extremely dense scenarios, such as the In-Flight Entertainment & Connectivity (IFEC) systems. In these scenarios, Software Defined Wireless Networks (SDWNs) can contribute to guarantee fairness among clients and a satisfactory Quality of Experience (QoE), by enabling innovative network control mechanisms [9]. In particular, centralized association control solutions can make use of a global view of the wireless access network to enhance its efficiency, by intelligently allocating clients across the available Access Points (APs) and wireless channels. Although significant efforts have been devoted to devising client steering strategies to improve network wide performance, none of the proposed schemes consider DASH video streaming demands [28].
Video streaming is one of the most popular and bandwidthdemanding services in current networks, accounting for more than half of global traffic, and this is even expected to increase in the upcoming years [6]. In this context, Dynamic Adaptive Streaming over HTTP (DASH) [25] has become the dominant technology for online video content delivery. In DASH, the media content is encoded into multiple representations (e.g. with different resolutions and/or bitrates), and each representation is split into segments (typically with a duration of 2-10s). Then, clients can dynamically request the segments of the most appropriate representation, based on the current network and end-system conditions. The algorithms that decide which representation to download for each segment are typically implemented at the client side, and are commonly known as Adaptive Bit Rate (ABR) strategies. Up to date, many ABR strategies based on different criteria have been devised to meet the targeted requirements and maximize the QoE in specific scenarios [4].
Even though the capacity of networks is continuously increasing and ABR strategies have the potential of adapting the video quality based on the current network conditions, meeting the streaming demands from massive clients in dense Radio Access Networks (RAN) is still very challenging. In these scenarios, performance issues arise, like network resources underutilization, QoE unfairness among clients, quality instability due to frequent bitrate switching, and video stalls [2,11,14,15]. These issues have a significant impact on the clients' perceived QoE, leading to disengagement and abandonment [10,24].
As an alternative to client-driven quality adaptation strategies, network elements (e.g. proxies, gateways, SDN controllers. . . ) can be used to assist the clients in selecting an appropriate representation. Network elements can obtain more easily an overall and accurate view of the network conditions, like the available bandwidth and its capabilities. This is the approach followed in Server and Network Assisted DASH (SAND), an extension to the DASH standard to introduce DASH Assisting Network Elements (DANEs) with the above features, by introducing new messages and mechanisms [27], which has been standardized in ISO 23009-5 [13]. The SAND proposal is especially interesting in 5G architectures, where the DANE can be placed near the RAN. One of the most adopted and evaluated mechanism of SAND is the recommended rate assistance to DASH clients, which can significantly overcome the performance issues in dense and massive environments (e.g. [11,15,17]).
In this paper, we present FALCON, a novel association control mechanism for SDWNs, which jointly considers the wireless conditions experienced by each DASH client and their traffic demands, in order to allocate clients across APs and to recommend a video rate for each client. To the best of our knowledge, this is the first solution joining rate assistance and association control in the wireless access. FALCON aims to provide proportional fairness among wireless clients, which has been proven to be an NP-hard problem [19]. Hence, we present an heuristic algorithm that obtains almost optimal results, while decreasing the running time up to five orders of magnitude compared to an optimal solver. Finally, we demonstrate the benefits of FALCON applied to DASH video streaming in a realistic IFEC scenario, which is a paradigmatic example of ultra-dense wireless access. The obtained results show that FALCON provides significant improvements in terms of key QoE related metrics (e.g. fairness, instability and playout interruption) when using along three represantive ABR strategies of different nature: rate-based (PANDA), buffer-based (BOLA), and hybrid (RobustMPC).
The rest of the paper is organized as follows. Section 2 briefly reviews the state-of-the-art. Section 3 presents FALCON, describing the network model, the definition of the problem as a MIQCQP and the novel heuristic algorithm. Section 4 presents the evaluation framework and the obtained results. Finally, Section 5 provides the conclusions and discusses ideas for future work.

RELATED WORK
The study in [4] surveys existing client-driven ABR strategies, which can be mainly categorized as buffer-based (i.e. the buffer occupancy level is the key factor that determines the representation to select), rate-based (i.e. the throughput / bandwidth estimation is the key factor), power-based (i.e. the power consumption is the key factor) and hybrid approaches (i.e. strategies that use a combination of the above factors and metrics). ABR strategies highly depend on the targeted requirements and scenarios, but mainly aim at enhancing the DASH streaming adaptability and continuity, thus maximizing the QoE.
From the huge variety of existing ABR strategies, three representative ones have been considered in this work, each of them belonging to a different category. PANDA is a rate-based ABR strategy that implements a probe-and-adapt mechanism which works similar to TCP's congestion control, applying an additiveincrease/multiplicative-decrease (AIMD) strategy to the video rate according to estimations of the available throughput [20]. BOLA implements Lyapunov optimization techniques to minimize rebuffering and maximize video quality, adapting the video quality and the segment downloading rate based on the the buffer level [26]. Finally, RobustMPC uses a Model Predictive Control hybrid approach which combines throughput prediction for a determined number of future chunks and buffer occupancy information, by selecting the video rate which maximizes a set of QoE metrics (average quality, quality variations and rebuffering) [29].
Despite the significant progress in the design and adoption of best-fitted ABR strategies, previous studies have reported performance issues with DASH in shared networks in which the DASH clients compete with other type of traffic or with other DASH clients sharing the same network resources. In [2], it is shown how offthe-shelf DASH players react to changing network conditions and how the video quality becomes unstable when two DASH players compete for bandwidth. In [3], it is reflected that the bandwidth estimation by the individual DASH clients is a challenging task, identifying the on-off download traffic patterns as a cause of instability. It is also demonstrated in that work that the number of active clients has a significant impact in the number of quality switches. In [12], it is confirmed that the joint TCP and DASH adaptation algorithms to dynamically react to changing network conditions can originate video quality instability.
To overcome the detected instability, scalability and fairness challenges in the mentioned scenarios, many network-assisted solutions have been devised up to date. In [16], a proxy-based implementation of a DANE is proposed. The HTTP traffic is routed through this proxy server, which inspects the traffic to detect DASH streams and their characteristics. An evolved version of that solution is presented in [15]. It relies on the SDN paradigm, by proposing a DANE that works out-of-band via a WebSocket connection from the DASH players. Evaluation results in a Wi-Fi network show that this DANE-based proposal contributes to the delivery of a stable and high quality DASH streams. The work in [7,8] investigates network-assisted streaming approaches that rely on active cooperation between video streaming applications and the network in SDN environments to contribute to a better quality fairness, by also solving a max-min fairness optimization problem at runtime. In [22], it is demonstrated that SAND provides an improved performance in terms of fairness and QoE, compared to the sole use of ABR strategies, when multiple DASH players compete for shared network resources.
Related work analysis shows that rate adaptation assistance contributes to a better quality, although just few studies considered wireless scenarios when evaluating the presented proposals. FALCON goes one step beyond, since it is pioneering in jointly considering a SAND-based solution to recommend video rates to the clients according to the available wireless resources and conditions of dense scenarios, while properly allocating clients across the APs using centralized association control.

FALCON DESIGN
The objective of FALCON is to obtain a fair allocation of resources among DASH clients, according to the properties of their active video streams and the characteristics of the wireless channel. This objective can be stated as the problem of providing proportional fairness in a multi-rate multi-AP network, which has been proven to be NP-hard [19], even without considering the specific traffic demands of each DASH client.
Let us consider a network where is the set of clients, is the set of APs in orthogonal channels, and is the number of possible Representation Indexes (RI) in the Media Presentation Description (MPD) of each client. Then, , is defined as a binary variable that represents the selection of the AP where a client is attached, and , as a binary variable that represents the selection of the RI in the MPD for a given client , corresponding to a video rate of , . Consequently, the problem of achieving proportional fairness according to DASH video streaming traffic demands can be formulated using the following cost function: Subject to the following constraints: , where constraint (4) ensures that each client is associated to only one AP, and constraint (5) ensures each client selects only one RI. Finally, constraint (6) ensures that the airtime consumed by all the clients assigned to an AP does not exceed the available airtime . The airtime of a client is defined as its current video rate , divided by its available bandwidth , , i.e. its amount of channel utilization. can also consider the unavailable airtime in this channel due to external interference, background traffic or reserved resources in a multi-tenant architecture [23].
Formally, given that both the cost function (1) and constraint (6) are quadratic, this problem can be defined as a Mixed Integer Quadratically Constrained Quadratic Program (MIQCQP). However, as will be shown in Section 4, state-of-the-art MIQCQP solvers cannot cope with dense wireless networks, where hundreds of clients, tens of APs, and tens of qualities per video are possible. Therefore, heuristic solutions are needed to deliver close to optimal solutions with a limited computational cost.
FALCON proposes a heuristic based on the fact that, in the case of a single multi-rate AP, max-min airtime fairness provides proportional fairness [5]. Our solution is based on a progressive filling algorithm, which gradually increases the video rate of the DASH clients according to an ordering based on the airtime consumption of each client in the available APs. The FALCON heuristic is presented in Algorithm 1 and described next. • Initially, a list is constructed, where each element in the list is a tuple ( ) = { , , , }. The first element of ( ) represents the airtime of client when associated with the AP in channel , and using RI . The second element represents the video rate when using RI . Thus, list can have a maximum size of * in case that all the clients can be associated to all the APs. In addition, a list is defined to store the initial client-AP associations.
• In line 1, the elements in are initialized, assuming the lowest RI for each client. • In line 2, according to the initial client-AP associations provided in list , the available airtime of each channel is updated with these initial airtimes. • In line 3, is sorted in ascending order, using the airtime component , of the ( ) entries as the primary sorting key, and the video rate component , as the secondary one. Thus, in case of having multiple entries with the same airtime, the client with the lower video rate will be prioritized.
• In line 4, the algorithm selects the first entry in the list, and, in case that an RI increase is possible (i.e. channel has enough airtime to serve to client a video stream with an RI of + 1), all the ( ) entries associated to this client are updated according to the value of , +1 . Consequently, the available airtime of each channel and the list of client-AP associations are updated according to the selected channel for the RI increase of this client, and the algorithm restarts again from line 3. On the contrary, if an RI increase for this entry was not possible, the algorithm continues with the next one in the ordered list. The algorithm finalizes after all clients have been able to allocate their maximum RI or when any additional increase of the RI of a client leads to a saturated channel (i.e. < 0, ∀ ), obtaining a final list of client-AP associations and a list of recommended video rates for each client. By following this algorithm, resources are allocated gradually to the different clients and APs in an efficient way: prioritizing lower airtimes gives indeed preference to clients with low RIs, leading to load fairness, but also to clients using higher link rates, leading to a higher aggregate throughput in the network.
With regard to the computational complexity, the sorting algorithm (line 3) can be called a maximum of =1 times and has a maximum complexity of ( * * ( * )). However, since usually the network becomes overloaded before reaching the last RI for each client, the number of iterations will be considerably lower. Also, in large scenarios, not all clients will reach all the APs, leading to a size smaller than * for . In Section 4 we present an evaluation of the execution times experienced by FALCON. Figure 1 depicts the components and interactions involved in FALCON. The main component is the FALCON Controller (FC), which can be part of the Radio Resource Management (RRM) subsystem of a RAN Controller in a SDWN architecture. The FC considers as input RAN and video service telemetry to run the FALCON algorithm. Then, it generates as output a list of client-AP assignments, which are checked by the FC to perform the necessary handovers, and a list of recommended RIs, which are sent to the DANE. It is important to highlight that SAND does not enforce the utilization of the advised rate by the clients, since the algorithm of each particular DASH player can have local information (e.g. buffer status) recommending a different rate. Thus, in our model, after receiving the recommended RI or the equivalent representation rate from the DANE, each DASH client continues to rely on its built-in DASH rate adaptation algorithm, but using the RI recommended by FALCON as the maximum available for the current video stream.
Finally, note that FALCON requires network triggered handovers, which is a feature not available in standard Wi-Fi enterprise systems. For this purpose FALCON adopts a network model based on the BI-GAP architecture [30], where all APs share the same Basic Service Set Identifier (BSSID) and their radio interfaces are assigned to orthogonal channels. Thus, association control relies on Dynamic Frequency Selection (DFS) signaling to provide seamless channel switching (i.e. handovers). However, FALCON could also be implemented in other SDWN architectures as, for instance, solutions based on creating one single virtual AP per station [9].

PERFORMANCE EVALUATION
In this section we evaluate the performance of FALCON by means of simulations. First, a standard MIQCQP solver and the FALCON algorithm are compared in terms of optimality and execution time.
Then, the performance of the FALCON mechanism applied to DASH video streaming in an IFEC scenario is evaluated according to relevant metrics which have an impact on the QoE of the clients.

Comparison of the FALCON algorithm with the MIQCQP solver
In this section we evaluate the ability of the MIQCQP solver and of the FALCON algorithm to obtain an optimal solution that maximizes the cost function introduced in Equation (1); i.e. the assignment of video rates ( ) and APs ( ) to the DASH clients in order to optimize the proportional fairness of the system. The MIQCQP solver is implemented using OPTI 2 , which is an optimization toolbox for Matlab, and SCIP 3 [1], which is one of the fastest non-commercial solvers for mixed integer programming. In addition, the FALCON algorithm is implemented using Python. For both cases, neither the wireless channel nor the DASH service are simulated, since the evaluation is focused on the performance of the algorithms given a set of inputs. In particular, we consider 802.11a link rates (i.e. from 6 to 54 Mbps, that are assigned randomly to each ), and the same video stream with 10 quality levels (from to 50 kbps to 5 Mbps) for all the clients. We analyze the performance of both algorithms when varying the number of clients and APs (each AP has a different available airtime , between 1 and 0.5). Presented values are the average of 10 simulations, which were run in a laptop with the following characteristics: Intel Core i7-8550U 1.8 GHz and 16 GB RAM. Figure 2a depicts the average utility per user achieved by the MIQCQP solver and the FALCON algorithm (i.e. ( , )), showing that FALCON reaches a very close performance to the optimal solution (traces are almost overlapped). Indeed, Figure 2b depicts the obtained normalized Root Mean Square Error (RMSE) of the utility difference between FALCON algorithm and the MIQCQP solver, which is below the 0.025% in all the cases. Note that a decreasing utility per user implies that the solutions provided by the solvers are non-trivial, i.e. due to saturation all clients cannot be served with their maximum rates (i.e. 5 Mbps). In the scenario consisting of 5 APs, due to the complexity of the quadratic constraint, in the cases with a higher number of clients (50, 75, 100 and 150) the MIQCQP solver was not able to obtain an optimal solution in a reasonable time without exhausting the available memory resources of Matlab, thus being outperformed by FALCON. Nevertheless, given the fact that other results lead to similar RMSE values regardless the number of clients or APs, we can expect similar performance for these cases as well. Figure 2c depicts the running time of the different algorithms in logarithmic scale. In all cases, the runtimes of the FALCON algorithm are several orders of magnitude lower than the ones obtained using the MIQCQP solver. In particular, increasing the complexity of the quadratic constraint (i.e. 3 and 5 APs) and the traffic demand of the network (i.e. the number of clients), leads to a very significant increase of the MIQCQP solver runtime, making impractical its utilization in real scenarios. Indeed, as aforementioned, the MIQCQP solver was not able to find the optimal solution in the cases with more than 30 users and 5 APs, being outperformed by FALCON with a runtime five orders of magnitude smaller. In addition, in order to stress the FALCON algorithm, we also evaluated its runtime with a higher number of APs (10 and 20) and clients (300 and 500). Results show that, even in these very large problem instances, the measured FALCON runtime is below 10 seconds, proving the ability of the FALCON algorithm to achieve a close-to-optimal-proportional fairness in dense scenarios in a practical amount of time.

Performance of FALCON in a realistic scenario
In this section, we evaluate the performance of FALCON by means of simulations using ns-3 4 in a realistic airplane IFEC scenario with dimensions of 36*4*2.5 meters. We consider up to 175 clients located according to an airplane seat distribution and three IEEE 802.11a APs with two radio interfaces placed uniformly along the airplane (i.e. at 9, 18 and 27 meters). Thus, six orthogonal channels are available and clients are statically assigned to the channel with the highest RSSI. Finally, the APs in the airplane are connected to the DASH server through a wired LAN of 1 Gbps. The ns-3 DASH model is based on the work in [21] 5 6 , where we extended the built-in ABR strategies to be able of using FAL-CON's recommended RIs as the maximum available RI for each particular DASH video stream. When using FALCON, its algorithm is run before starting the streaming, modifying the maximum RI of each client and triggering the necessary handovers according to its output. To ease the interpretation of the results, all DASH clients consume the same video stream and have the same characteristics (seat screens). The video stream is based on the "Big Buck Bunny" movie [18] 7 . The movie consists of 299 segments of 2 seconds and 20 quality levels, but in the simulations we limited the available set of qualities to 9 (from 100 kbps to 8 Mbps) to reduce the computational cost of RobustMPC. For fairness, all players attempt to maintain a steady-state buffer of 28 seconds. 4 https://www.nsnam.org/ 5 https://github.com/haraldott/dash 6 https://github.com/tomlyko/ns3-dash-cmaf-model 7 http://www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/BigBuckBunny/  [20] = 0.14, = 0.3, = 0.2, = 0.2, = 0.15 BOLA [26] = 0.597133, = 3.349338 RobustMPC [29] FastMPC with h=5 Table 1 summarizes the different parameters of the scenario, while Figure 3 depicts the results of this experiment according to the key performance metrics that influence QoE in video streaming [4]: media representation, fairness, quality instability and buffer underruns (i.e video stalls). The quality instability is computed as the number of RI levels dropped during the whole video reproduction divided by the total number of segments [11]. In each case, results are the average of 10 simulations.
PANDA recovers slower from the quality drops caused by congestion due to too high RI selections and, in some cases, to a suboptimal client distribution among APs due to the default association based on RSSIs. Therefore, although obtaining better stability (Figure 3b) and larger buffers than the other ABR strategies (Figure 3d), it leads to lower average RIs (Figure 3a). Using FALCON's handover and RI recommendation mechanisms, quality drops are almost avoided, increasing the average quality across all DASH clients. Also, with an increasing number of clients, FALCON is able to totally avoid buffer underruns (Figures 3e and f) caused by the high congestion present in the wireless channels.
Although following different ABR strategies, results in Figure 3a show that BOLA and RobustMPC obtain similar performance in terms of average RI. Compared to PANDA, they are able to maintain higher RIs by considering the buffer levels. However, this leads to higher instability ( Figure 3b) and buffer underruns (in number, average duration and maximum duration) (Figures 3e and f), since some clients become significantly congested by the high downloading rates of other ones. In general, BOLA is better suited to avoid buffer underruns by decreasing RIs when needed (i.e. increasing the instability), while RobustMPC maintains RIs more stable but leads to lower buffers levels and numerous underruns. Nevertheless, in both cases the use of FALCON dramatically decreases instability and underrun levels while obtaining similar and, in some cases, better average video qualities. It is important to remark the slight performance variations between the different ABRs when using FALCON, being the results almost independent from the original algorithm. Indeed, in all the cases the obtained average RIs are very close to the FALCON's recommended ones (we obtain a normalized RMSE lower than the 1%), leading to the noticeable stable RIs and buffers levels shown in Figure 3b and Figure 3d, respectively. Also, note that in such a dense scenario, where a proper wireless coverage is assured by the 6 available channels, all clients should achieve a similar performance. Thus, as shown in Figure 3c, FALCON is able to obtain a fair distribution of the throughput between the different clients by efficiently associating the clients among the available APs and recommending appropriate RIs according to the airtime consumption, in contrast to the original ABR strategies that lead to a worse fairness index.

CONCLUSIONS AND FUTURE WORK
In this paper we have introduced FALCON, a novel centralized RRM solution that jointly allocates wireless stations to APs and video rates to DASH clients in order to maximize their QoE. FALCON optimizes proportional fairness in a wireless network according to DASH traffic demands. We have first presented an MIQCQP solver that obtains optimal proportional fairness, but leads to very high runtimes in dense scenarios. Accordingly, we have proposed the FALCON heuristic algorithm, which obtains close to optimal results in all cases, while decreasing the runtime up to five orders of magnitude. Finally, we have evaluated FALCON in a realistic ultradense IFEC scenario. Results show that FALCON is able to avoid the main factors that impact the QoE when using three referent stateof-the art ABR strategies (one of a different category), including instability, buffer underrunning and fairness, without degrading the average video quality.
Our future work is to evaluate FALCON in a real testbed, combining and comparing it with other ABR strategies and networkassisted solutions. In addition, we plan to analyze the impact of network dynamics on FALCON, including the co-existence with traffic from other services and interference from external networks, the presence of simultaneous DASH video streams with different characteristics, and the effect of mobile and incoming/leaving clients.