Even with improved Internet connections and higher bandwidth, there will always be scenarios where not enough bandwidth is available for media streaming. This is especially the case with multiple clients that are connected to the same network bottleneck, e.g. WiFi in the train, on the plane, in stadiums or in home networks. Even in 5G networks, where higher bandwidth can be expected, traffic shaping techniques will be needed, as soon as too many clients are connected.
Adaptive bitrate (ABR) media streaming clients adjust the quality of media content depending on the current network conditions. By default, they try to download the best possible quality with the available bandwidth. Furthermore, clients are not aware of each other and will compete against each other for bandwidth. This leads to wild oscillation between quality levels and as a result, bad fairness among the clients. Additionally the available overall bandwidth is underutilized.
The Shared Resource Allocation (SRA) feature defined in SAND (DASH Part 5, Server and network assisted DASH, ISO/IEC 23009-5), allows servers to allocate bandwidth to streaming clients. For this purpose, clients report streaming metrics and the willingness for SRA to a server. The server component then sends bitrate assignment messages to the client. This bitrate needs be enforced in the client, e.g. by setting a maximum bitrate in the player or traffic shaping. Overall, this enables fairness and/or prioritization among clients that are connected to the same network bottleneck, e.g. to maximize the number of clients that can play back a stream fluently.
In our publication at MMSys’19 we evaluate different bandwidth limitation strategies and analyze the effects on the clients. For this purpose, a testbed using multiple Raspberry Pis was created. The results show that in various scenarios, SRA improves the fairness and the QoE of streaming sessions. Solely allocating a maximum quality level to the client is not sufficient in some cases. Therefore, additional means for SRA are evaluated.
Overall our SAND implementation performs well. The Shared Resource Allocation proves to be an appropriate tool to increase the Quality of Experience by effectively reducing buffer underruns and increasing fairness in bandwidth sharing, which can be optimized by setting the proper SRA parameters. To achieve optimal results, the total SRA limit had to be set below the available bitrate in our experiments, because the clients need a certain amount of bandwidth “headroom” in respect to their assigned quality level bitrate. It is just shown that the assigned limit might be enforced in different and more effective ways than by merely setting a maximum bitrate limit to the player. Bandwidth can be controlled more effectively not only by using the assigned bitrate value for setting a maximum quality level for the player, but also by means of traffic shaping.
Our future work focusses on integration of the SAND solution with SDN architectures for WiFi and 5G networks. Moreover, we are experimenting with no-reference aesthetic metrics for more accurate QoE evaluation in the context of SAND metric reporting. Results will be published soon!
To play around with SAND, check out the download page of our SAND solution. We also have a demo page for SAND metric reporting.