Uploaded by 1993praveen

DQ-DASH

advertisement
See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/339694640
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive
Video Streaming
Article in ACM Transactions on Multimedia Computing, Communications and Applications · March 2020
DOI: 10.1145/3371040
CITATIONS
READS
18
340
4 authors:
Abdelhak Bentaleb
Praveen Yadav
Concordia University Montreal
National University of Singapore
62 PUBLICATIONS 1,198 CITATIONS
11 PUBLICATIONS 133 CITATIONS
SEE PROFILE
SEE PROFILE
Wei Tsang Ooi
Roger Zimmermann
National University of Singapore
National University of Singapore
173 PUBLICATIONS 1,884 CITATIONS
461 PUBLICATIONS 7,486 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
Networked Virtual Environments View project
Map Matching View project
All content following this page was uploaded by Praveen Yadav on 03 May 2021.
The user has requested enhancement of the downloaded file.
SEE PROFILE
DQ-DASH: A Queuing Theory Approach to Distributed
Adaptive Video Streaming
ABDELHAK BENTALEB, PRAVEEN KUMAR YADAV, WEI TSANG OOI, and
ROGER ZIMMERMANN, School of Computing, National University of Singapore, Singapore
The significant popularity of HTTP adaptive video streaming (HAS), such as Dynamic Adaptive Streaming
over HTTP (DASH), over the Internet has led to a stark increase in user expectations in terms of video quality and delivery robustness. This situation creates new challenges for content providers who must satisfy
the Quality-of-Experience (QoE) requirements and demands of their customers over a best-effort network
infrastructure. Unlike traditional single server DASH, we developed a Distributed Queuing theory bitrate
adaptation algorithm for DASH (DQ-DASH) that leverages the availability of multiple servers by downloading segments in parallel. DQ-DASH uses a M x /D/1/K queuing theory based bitrate selection in conjunction
with the request scheduler to download subsequent segments of the same quality through parallel requests
to reduce quality fluctuations. DQ-DASH facilitates the aggregation of bandwidth from different servers and
increases fault-tolerance and robustness through path diversity. The resulting resilience prevents clients from
suffering QoE degradations when some of the servers become congested. DQ-DASH also helps to fully utilize
the aggregate bandwidth from the servers and download the imminently required segment from the server
with the highest throughput. We have also analyzed the effect of buffer capacity and segment duration for
multi-source video streaming.
CCS Concepts: • Information systems → Multimedia streaming;
Additional Key Words and Phrases: Multiple server, multi-source, queuing theory, DASH, QoE, fairness, ABR
ACM Reference format:
Abdelhak Bentaleb, Praveen Kumar Yadav, Wei Tsang Ooi, and Roger Zimmermann. 2020. DQ-DASH: A
Queuing Theory Approach to Distributed Adaptive Video Streaming. ACM Trans. Multimedia Comput. Commun. Appl. 16, 1, Article 4 (March 2020), 24 pages.
https://doi.org/10.1145/3371040
1 INTRODUCTION
HTTP Adaptive Streaming (HAS) delivery systems are used widely for video delivery, and their
continuing adoption will lead to their dominance in total Internet traffic in the near future [51].
A. Bentaleb and P. K. Yadav contributed equally to the paper.
This research is supported by Singapore Ministry of Education Academic Research Fund Tier 2 under MOE’s official grant
number MOE2018-T2-1-103 and in part of NExT++ research, supported by the National Research Foundation, Prime Minister’s Office, Singapore under its IRC@SG Funding Initiative. We gratefully acknowledge the support of NVIDIA Corporation with the donation of a Titan Xp GPU used for this research.
Authors’ addresses: A. Bentaleb, P. K. Yadav, W. T. Ooi, and R. Zimmermann, School of Computing, National University
of Singapore, 21 Lower Kent Ridge Rd, Singapore, 119077, Singapore; emails: {bentaleb, praveen, ooiwt, rogerz}@comp.
nus.edu.sg.
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee
provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and
the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored.
Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires
prior specific permission and/or a fee. Request permissions from permissions@acm.org.
© 2020 Association for Computing Machinery.
1551-6857/2020/03-ART4 $15.00
https://doi.org/10.1145/3371040
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4
4:2
A. Bentaleb et al.
Current trends [12] estimate that video traffic will grow by 31% from the year 2016 to 2021 and
reach 82% of overall Internet traffic by 2021. This increase in video network traffic calls for a novel
video delivery solution to satisfy the requirement of users. With Dynamic Adaptive Streaming
over HTTP (DASH), a client typically leverages one server at a time and only redirects to another
server via domain name system (DNS) redirect if a network bottleneck develops. The available
media representation levels (bitrates and resolutions) at the servers are discrete. The clients that
share an overloaded server or a bottleneck link limit themselves to a lower representation level
to avoid playback stalls. Conversely, the clients on less loaded servers can achieve a much higher
video quality, causing unfairness in the Quality-of-Experience (QoE).
In this work, we take a different approach and propose DQ-DASH, a Queuing theory based bitrate adaptation solution for Distributed DASH where multiple clients share more than one server
in parallel. The sharing of servers results in achieving an approximately fair QoE across clients. A
bottleneck link or an overloaded server does not create a localized impact on clients. The entire
DQ-DASH functionality is implemented in a distributed manner in the client-side application layer
following the existing DASH architecture. DQ-DASH does not require any modification of kernel
or network functionality, including transport layer. Our extensive experimental results show that
DQ-DASH can significantly improve performance in all considered scenarios, with the findings
summarized as follows:
— DQ-DASH is in full compliance with DASH ISO/IEC standards [25]. It does not need any
customized video codecs or server-side application programming interface (API). All the
servers are stateless HTTP storage servers.
— DQ-DASH archives up to 33% higher QoE with less than 1% variation amongst the clients
compared to a sequential download from a single server.
— DQ-DASH is robust against server bottlenecks and variable network conditions. Our solution does not over-exploit the available bandwidth, and it requires only one extra segment
download to check the status of a server in the case of a bottleneck.
— We discuss the relationship between segment duration, number of servers, and the maximum buffer capacity, and their effect on the total performance. Based on this relationship,
DQ-DASH uses the 30s, 60s, and 120s maximum buffer capacities for segment duration 1s,
2s, and 4s, respectively (see Section 7.3.1).
— DQ-DASH performance is compared to the sequential single-server DASH solution and
content delivery network (CDN) based load balancing rules including: Round Robin, Least
Connected, Session Persistence, and Weighted (see Section 7.1.3). DQ-DASH significantly
outperforms both solutions in the considered experimental scenarios.
— DQ-DASH performs well in real-world settings using a distributed DASH dataset [34].
— DQ-DASH supports a large-scale deployment. We have shown scalability of the proposed
solution using National Cybersecurity R&D Laboratories (NCL) testbed [47] with 100 clients
sharing four servers in parallel under different network configurations.
This article addresses the challenges of single-server DASH and CDN-based load balancing
rules, and it makes the following contributions:
(a) Overview and formalization of DQ-DASH. We design a M x /D/1/K queuing theory
bitrate adaptation algorithm (an extension of our prior work [58]) to select the bitrate
based on throughput from the different servers, current buffer occupancy, and total buffer
capacity. Thus, the developed method DQ-DASH aims to improve QoE, video quality stability, and quality fairness by not only considering the bitrate adaptation decisions but
further leveraging multiple servers (Sections 4 and 5).
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:3
(b) Design and practical implementation. We provide a practical implementation of DQDASH in the open source dash.js reference player [14], and we highlight the implementation challenges (Section 6).
(c) Results and Analysis. We evaluate and analyze the efficiency of our solution using a full
system implementation with realistic network trace-driven and real-world testbed experiments that consider a set of throughput variability datasets, different segment durations,
QoE metrics, multiple DASH clients, and servers. We compared DQ-DASH with CDNbased load balancing rules available on a NGINX server [50]. The findings in all considered scenarios show that DQ-DASH significantly outperforms a single DASH server and
CDN-based load-balancer rules (Section 7).
Outline. The rest of the article is organized as follows. Section 2 describes the background on
DASH, the challenges of single-server DASH, and the motivations for DQ-DASH. We discuss some
of the state-of-the-art video segment scheduling techniques for video streaming in Section 3. Section 4 provides an overview of DQ-DASH and its model formulation. How DQ-DASH selects suitable bitrate levels for multi-server adaptive streaming is described in Section 5. Section 6 highlights
the different implementation challenges and their proposed solution. The experimental methodology, evaluation, and result analysis are highlighted in Section 7. Section 8 offers a discussion of
some observations and open issues. Finally, Section 9 concludes the article.
2 BACKGROUND, MOTIVATIONS, AND CHALLENGES
2.1 Background on DASH
A DASH system consists of two main entities: an HTTP server and a DASH client. The server
stores videos that are divided into small fixed duration segments (2–15 seconds) and each segment is encoded at various representation levels (bitrates and resolutions). A Media Presentation
Description (MPD) file describes the video, which includes metadata about segment durations,
codec, and representation levels for different tracks (audio and subtitles). The client first fetches
the MPD file and then issues HTTP requests for the segments sequentially based on its Adaptive
Bitrate (ABR) controller decisions. The server responds by sending the requested segments through
HTTP.
DASH adapts dynamically to the network conditions thanks to its ABR schemes that are based
on heuristics [32] such as throughput measurements, playback buffer occupancy, or a combination of both. Furthermore, it uses HTTP, which enables content providers to leverage existing
CDN infrastructure and simplifies the traversal through network middleboxes. Finally, it is highly
scalable as DASH clients can request and fetch video segments independently, maintaining their
local playback state in a decentralized way using stateless HTTP servers.
2.2
Motivations and Challenges
In this section, we provide the motivations and challenges of using single versus multi-source1
DASH streaming. In a DASH delivery system, every DASH client strives to improve its QoE by
making the best bitrate decision that can accommodate the underlying network conditions without
introducing stalls. The bitrate decision is performed using an ABR logic (see Figure 1), which
relies on available representation levels, throughput estimation, buffer occupancy measurement,
and buffer capacity. Selecting the right decision in an existing network infrastructure with single
source DASH, however, is an arduous task on two key fronts:
1 In
this article, we use a source and a server, and buffer and queue, interchangeably.
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:4
A. Bentaleb et al.
(i) Lack of bandwidth: The ever-growing user demands for higher video quality [51] have
lead to an explosive consumption of bandwidth. In single source DASH, achieving a high
QoE over existing bandwidth-limited networks is very challenging because of frequent
congestion caused by DASH clients’ competition. This competition introduces stalls and
frequent quality switch that significantly impact the user QoE. The high traffic load for
a video content is often shared between CDNs based on some redirection policy (CDNbased load balancing rules). In such a system, the DASH client uses only one server at a
time and gets connected to a new server if a bottleneck is detected, based on the policy
decided by the content provider. The clients connected to a more loaded server gets a
lower QoE, which leads to unfairness. DQ-DASH enables sharing of multiple servers in
parallel between clients for fair sharing of resources, video quality, and QoE.
(ii) Server-side bottlenecks: In single server DASH solutions [32], typically only one server
is considered for sequential segment delivery determined by a given base URL (i.e., the
next segments can be downloaded only if the current one is fully downloaded). This one
segment at time mechanism represents a weak spot in the presence of a bottleneck on
the server-side. The problem is aggravated if the minimum bitrate for the available representations is higher than the throughput of the bottleneck link. Therefore, the server
bottleneck results in increasing stalls, video instability, frequent changes in selection of
representation level, and unfairness [4, 44]. Some CDN and Peer-to-Peer (P2P) based prior
research [41, 44, 56] tries to identify the bottleneck using a simple network metrics (e.g.,
latency, download time, throughput), and then select the appropriate server or servers
for P2P. However, their solutions are: (i) not adaptable to existing chunked-based DASH
delivery systems or (ii) need modifications on the network-side, or (iii) are not scalable
where each client needs to report its state to the centralized network controller. Conversely, DQ-DASH deals with bottlenecks efficiently. First, it determines the bottleneck
server employing the same strategy as Netflix [1] (i.e., a server is considered a bottleneck
if it cannot support the minimum stated bitrate listed in the MPD file), and then it stops
requesting future segments from that corresponding server. In this situation, the client
monitors the status of the bottleneck server periodically for any changes (i.e., it may become a healthy server again) via probe-based passive or active measurements.
The above-mentioned factors negatively affect the viewer QoE for single source DASH even in
the presence of CDN-based redirection policies. However, DQ-DASH provides a fair and higher
QoE amongst the clients by selecting the appropriate representation level, leveraging the expanded bandwidth from multiple servers with heterogeneous capacities. Our proposed multisource scheme is a purely client-driven solution where the modifications are restricted to the client.
Thus, the network and server sides remain unchanged.
3 RELATED WORK
In this section, we classified how a client requests and downloads the segments from the video
server(s) into two main classes, namely: sequential or parallel.
3.1 Sequential Downloads
The scheduler requests the video segments sequentially one after the other, where the next segment cannot be downloaded until the requested one is fully received. The sequential schemes [6]
can fall into two main categories: isolated ABR and centralized ABR.
An isolated ABR solution uses its ABR controller to select the bitrate individually. This solution
type can be divided into three classes based on the heuristic of the ABR controller: rate-based,
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:5
buffer-based, and mixed. Akhshabi et al. [2] experimentally evaluated three commercial players
(MSS, Netflix, and OSMF) and their ABR schemes in terms of how they react to dynamic network conditions, what their achievable bitrate is, and how they deal with multiple players competing for the available bandwidth in a shared network. Li et al. and Sun et al. both designed
throughput-based ABR methods [36, 54], where the former provides a probe mechanism to estimate the throughput when multiple clients compete at a bottleneck link, while the latter is based
on a data-driven approach to predict the available bandwidth accurately to deliver a high-quality
video. Huang et al. and Spiteri et al. proposed buffer-based ABR schemes [24, 52], where they considered a buffer reservoir underflow and overflow and Lyapunov theory, respectively. In the same
context, QUEuing Theory-based Rate Adaptation (QUETRA) [58] has been developed as a queuing
theory based ABR that considers the estimated throughput, the current buffer occupancy, and the
buffer capacity. Finally, the mixed schemes combine both rate-based and buffer-based techniques
during the ABR process [3, 26, 29, 42, 59, 62].
A centralized ABR solution uses various assisting information (e.g., bitrate recommendation,
congestion level) to help the client in its ABR decisions. The assistant information is given by a
centralized entity like a proxy, a software defined networking (SDN) controller, and the like, or a
network element such as with a server and network-assisted DASH (SAND) architecture [55]. A
number of ABR schemes follow this centralized design philosophy [4, 5, 20, 27, 39, 48, 63, 64].
Multi-view videos are another variant of DASH applications where the user has the flexibility
of choosing views from different camera angles. Yu et al. [61] and Zhang et al. [66] have proposed
rate adaptations for this application, where the ABR decision also utilizes user interactions as an
input parameter.
In contrast to existing methods, we modify the DASH client to download the segments from
different servers. Similar to previously existing solutions, the client makes the ABR decision using throughput, available bitrate for different representation levels, buffer occupancy, and total
buffer capacity. While modifying the client, we ensure that it still follows the DASH ISO/IEC [25]
standards. We do not introduce any new tags for the MPD file, and the different DASH clients
independently perform the entire rate adaptation process and schedule the segment downloads
from multiple servers in a distributed manner.
3.2 Parallel Downloads
With a parallel approach, a scheduler requests and downloads multiple segments in parallel from
different video servers at the same time. Many interesting studies have attempted to improve video
delivery through downloading of parallel segments. However, most of them require kernel or network functionality modifications including both at the application and transport layers [31]. Han
et al. [21] developed a multi-path DASH (MP-DASH) by leveraging multiple network interfaces
employed in the client (e.g., WiFi and cellular) and the multi-path transmission control protocol
(MPTCP) to download from different access networks. Wang et al. [57] also proposed an MPTCPenabled dynamic multi-path streaming for live services. Corbillon et al. proposed a cross-layer
approach to simplify the interactions between the application and transport layers, and thus allowing the streaming application to use MPTCP [13]. Evensen et al. [16] proposed an aggregate
throughput algorithm benefiting from the multiple heterogeneous network interfaces for traditional video streaming.
In another work, Evensen et al. extended DAVVI [28] to support multi-source adaptive video
streaming [17]. Kaspar et al. [30] used the HTTP range retrieval mechanism to divide each segment into sub-streams of a fixed size, and then download different sub-streams from multiple links
in a multi-homing network. Kuschnig et al. [33] designed a solution that supports multi-HTTP
and TCP connections for video streaming. The algorithm proposed by Zhou et al. [67] is able to
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:6
A. Bentaleb et al.
download pieces of video (a set of segments) simultaneously without a scheduler from multiple
servers considering the playback deadline of each piece. A scalable video coding together with
multiple video servers is proposed in Ref. [49]. In contrast to the HTTP range retrieval mechanism, Liu et al. proposed a robust solution that used the independent HTTP sessions technique to
request and download multiple segments from different servers [37, 38].
Queyreix et al. [9] proposed Multiple-Source Streaming over HTTP (termed MS-Stream) as an
evolution of HAS-based streaming for DASH, that leverages multiple customized servers to improve the end-user QoE. Although MS-Stream shows good performance in delivering high-quality
videos, the proposed solution has some limitations: (i) it uses Multiple Description Coding (MDC)
for encoding video, which is not part of the DASH standard now; (ii) the implementation needs
a specific API at the servers, which is not in accordance with the DASH standard; (iii) it incurs a
time overhead to combine the content before playing; which might not be acceptable for standard
QoS and QoE; (iv) the existing DASH storage servers and CDN architectures on the Internet would
require modifications that might be significant; and (v) not all the content downloaded is played
resulting in significant overhead, and, hence, the aggregate throughput from multiple servers is not
fully utilized. In another work by Nguyen et al. [46], the authors proposed distributed video streaming from multiple sources. Unlike DASH, the method uses only one video representation level and
sources depend on control packets from the clients for on-the-fly segmentation of the video.
P2P video streaming is another type of multi-source streaming where a client also acts as a
video source for other clients once the content is available on it. PPLive [22], Joost [45], and Coolstreaming [65] are a few such P2P applications. Unlike DASH, P2P can be both pull-based (where a
peer requests content from other peers) and push-based (where a peer pushes the content to other
peers once it is available). P2P systems are more focused on the use of many peers rather than on
adapting the video quality to the changing network conditions. In addition to the availability of
bandwidth, their performance mainly depends on the availability of segments [40] and diversity
of segments [68] at the peers.
In the proposed work, we use a queuing theory model to determine the bitrate of the representation level to download for the DASH client using the throughput from different servers, the total
buffer capacity, and the current buffer occupancy. We further develop a scheduler that requests the
imminent segment from the available server with the highest throughput and avoids the download from a bottleneck server. To the best of our knowledge, our solution is the first to use queuing
theory to select a suitable bitrate level from multiple servers in parallel.
4 SYSTEM MODEL
We now present how we use multiple servers in parallel for DASH video streaming. The method
leverages a queuing theory (i.e., M x /D/1/K queue) based ABR scheme and a scheduler to select
the best possible representation level while maintaining optimum buffer occupancy level (avoiding
buffer overflow and underflow) subjected to download throughput from different servers, available
representation levels, current buffer occupancy, and total buffer capacity for maximizing the QoE.
Unlike a single server DASH [53], our scheme benefits from multiple DASH servers that are available in the network infrastructure (e.g., CDNs network) to request consecutive video segments
simultaneously.
The essential goal of our scheme is to maximize the user satisfaction (QoE) while playing video
at the highest possible quality, avoiding stalls, frequent changes in the representation level, and
long startup delays. As shown in Figure 2, our system consists of three major entities including
DASH clients, servers, and content providers. Our solution does not need any modifications in the
DASH server or the network. Furthermore, all modifications are performed in the DASH player;
thus, no changes are required to the kernel. The client represents the video player that supports
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
Fig. 1. DQ-DASH detailed architecture.
4:7
Fig. 2. An overview of DQ-DASH.
a DASH system such as the reference player dash.js [14]. Each DASH client is characterized by
device capabilities (e.g., display resolution, memory, and CPU) and may request various video
content types (e.g., animation, movie, news) using various ABR schemes [32]. Figure 1 shows
our dash.js based player. It comprises four components including (i) the buffer controller that
tracks the contiguous part of the playback buffer occupancy. (ii) The throughput estimator considers the last throughput from the individual server as its predicted future value of the throughput.
(iii) The ABR controller uses a queue-based model (described in Section 5) to decide the representation level for the next segment to be downloaded. Finally, (iv) the scheduler controls, requests,
and downloads the segments from the appropriate server.
The system considers a scenario where a DASH client can leverage multiple servers for downloading parallel segments using the BaseURL property of the MPD file. The BaseURL represents
the address of the servers that have the same copy of the video segments at the same quality
levels [34]. A DASH client makes parallel requests for different segments from all the available
servers to fully leverage the throughput of multiple servers. As shown in Figure 2, if the available throughputs from five different servers are 2 Mbps, 1 Mbps, 1.5 Mbps, 0.5 Mbps, and 1 Mbps,
the DASH client selects a bitrate level that is sustainable given the aggregate 6 Mbps bandwidth.
If the aggregate bandwidth is too low or high, the client selects the bitrate corresponding to the
lowest or highest representation level, respectively. To achieve this, a DASH client should have a
proper ABR algorithm to select the appropriate bitrate and a request scheduler to request the right
segment from the appropriate server, as shown in Figure 1. The scheduler is also responsible for
avoiding the download of the same segment multiple times and thus save bandwidth as well as to
avoid performance degradations due to bottleneck servers.
We aim to allow each DASH client to request segments from multiple DASH servers simultaneously, which may be geographically distributed. Recall that our DASH clients leverage the link
diversity in the existing network infrastructure to provide a robust video streaming solution.
List of key symbols and notations is highlighted in Table 1. Formally, we consider a system model
that comprises of a set of DASH clients C = {c 1 , . . . , c N } and servers S = {s 1 , . . . , s M }. We assume
a full mesh network, i.e., full-mesh topology (e.g., open shortest path first (OSPF) mesh network)
where every client c j ∈ C with j = [1 . . . N ] has connectivity to each si ∈ S and i = [1 . . . M], and
thus a DASH client uses diverse multiple links to fetch successive segments simultaneously from
existing servers. Due to congestion and network variability, at any time, the link toward the server
si may become slow, and the server will be considered a bottleneck. In this situation, if the bottleneck server is downloading the immediately required segment for playback, the client suffers
from stalls because the client cannot skip the segment for playback. To avoid this issue, the client
stops fetching future segments from the bottleneck servers and considers the M − H remaining
servers, where H is the total number of bottleneck servers. Each DASH client keeps track of the
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:8
A. Bentaleb et al.
Table 1. List of Key Symbols and Notations
Notation
Definition
Notation
Definition
T
t
C
S
N
M
ρ
τ
λ
μ
Total video duration
Segment download step
Set of DASH clients
Set of DASH servers
Total number of clients
Total number of servers
Queue server utilization
Segment duration
Arrival rate
Queue service rate
w
R
K
O K, r ,w
BS K, r ,w
Bt
H
Z
seд
η
Segment download throughput
Set of bitrates for different representation levels
Maximum buffer/queue capacity
Expected average buffer occupancy
Expected buffer slack
Buffer occupancy at time t
Total number of bottleneck servers
Total number of segments at each representation level
A segment
Total number of representation levels
Fig. 3. The DQ-DASH client is modeled as M x /D/1/K queue, where the buffer occupancy is measured in
seconds.
statuses of bottleneck servers by requesting previous segments with the lowest bitrate level; thus,
it will use bottleneck servers again when they can provide service and satisfy client requirements.
We note that the total number of redundant segment downloads when there exist server bottlenecks depends on two factors, namely the number of bottleneck servers and the number of DASH
clients.
Before starting a streaming session (i.e., either live or on-demand) and after an authentication
process, every DASH client first fetches the MPD file and then the video segments in parallel from
the existing DASH servers. The segments of each video are stored in the set of DASH servers S, each
video of T seconds is divided into a Z (= T /τ ) segments, and each segment seдt where t ∈ [1 . . . Z ]
has a fixed duration τ seconds and is encoded into η representation levels. During each step t,
the player c j selects a suitable representation level for the next segments to be downloaded using
the DQ-DASH bitrate adaptation (ABR) scheme. The selected bitrate should adapt properly to the
available throughput w t from all the servers and maintain the buffer Bt occupancy within a safe
region (i.e., between underflow and overflow thresholds).
Having the representation levels, we assume that each client chooses a suitable level to eliminate
buffer underrun and overflow issues, and maximize the QoE.
5
RATE ADAPTION FOR MULTI-SERVER STREAMING USING QUEUING MODEL
A DASH client can be seen as a queuing system where video segments are arriving in a finite capacity queue K, where the queue length (i.e., the buffer occupancy) is measured as the duration of
video available in the queue as shown in Figure 3. We consider the arrivals of segments from different servers as a Markovian batch arrival process having Poisson distributions that are independent
of each other. A Markovian batch arrival is a stochastic point process that generalizes the standard
Poisson process by allowing for batches of arrivals, dependent inter-arrival times, non-exponential
inter-arrival time distributions, and correlated batch sizes [10]. Cao et al. [10] have shown that
packet arrivals in a congested network follow a Poisson distribution. Based on the split and the
addition properties of Poisson distributions, the segment arrivals can be modeled with a Poisson distribution as well. Let the arrival rate of segments from server si be λi . Each segment has a
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:9
duration of τ seconds. Every second, a single decoder in the client services a segment at the rate μ =
1/τ segment/second. Let the download throughput from server si be w i bps downloading the segi
segments
ment of quality r i bps. Therefore, segments are arriving at the queue with the rate of r iw×τ
per second and get stored in the queue with a capacity of K seconds. Segments in the same batch are
downloaded at the same quality to limit the number of bitrate switches. Thus, the arrival rate from
i
each other, the total
server si is λi = w
r τ . Since the arrivals from different servers are independent of arrival rate at the queue is the sum of all the arrival rates in the batch, i.e., λ = λi [11]. Thus, the
server queue utilization is ρ = i λi /μ = w/r , where w = i w i . We then compute the expected
average buffer occupancy O K,r,w and the expected buffer slack BS K,r,w = K − O K,r,w using the analytical solution given by Brun et al. [7]. The original analytical solution is proposed for non-batch
arrivals that give an equation for average queue length for a given utilization ρ and queue capacity K based on the state transition matrix generating function. Since this state transition matrix
generating function is the same for the batch Markovian arrival process, as shown by Dudin et al.
[15], we can use the solution for the batch arrival rate without any loss of generality. This is the
extension of QUEuing theory Rate Adaptation (QUETRA) [58], which models the expected average
buffer occupancy for a given buffer capacity using the throughput and available bitrates.
The QUETRA ABR algorithm considers a single server and calculates the expected buffer slack
for the available bitrate levels based on the current download throughput and buffer capacity. It
selects a bitrate for which the expected buffer slack is closest to the current buffer occupancy. We
extended this method to consider the aggregate arrival rate from different servers. Let a given
video be encoded with bitrate values R = {r 1 , r 2 , . . . , r η } for η representation levels, where r j < r k
if j < k. Similar to QUETRA, the algorithm selects the bitrate r i at time t such that the expected
buffer slack BS K,r i ,w is closest to the buffer occupancy at time t, denoted Bt ,
r = arg min |BS K,r i ,w − Bt |,
r i ∈R
(1)
breaking ties by favoring the higher bitrate. The intuition behind QUETRA is as follows. Consider
the ideal case where segment bitrate r equals the throughput w, which gives 100% utilization
(ρ = 1). When r = w, one can show that the expected average buffer occupancy O K,r,w can be
approximated to K/2 [23]. By choosing the bitrate such that the buffer occupancy is as close to the
buffer slack as possible, QUETRA, in the hypothetical case where the bitrate value is continuous,
would converge to the buffer occupancy of K/2, which is the ideal scenario. Unlike the original
QUETRA, expected buffer slack is a function of the estimated throughput from the different servers
other than the current bitrate and the total buffer capacity.
6
IMPLEMENTATION CHALLENGES AND SOLUTIONS
We describe the challenges and their solutions that occur in the simultaneous utilization of multiple
servers for DASH streaming as well as the method for maintaining the performance if there exists
a bottleneck server.
6.1 Challenge #1—Parallel Requests for Multiple Segments
To leverage the available throughput from all the servers, the DASH client must request different
segments from different servers. DQ-DASH averts the duplicate download of a segment to avoid
resource wastage.
6.2 Challenge #2—Accurate Throughput Measurements from Different Servers
While downloading segments in parallel from multiple servers, it is important to ensure that not
more than one segment is downloaded from a server. The download of more than one segment from
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:10
A. Bentaleb et al.
ALGORITHM 1: Next segment download strategy in a batch.
Bt : Playback buffer occupancy at time t;
τ : Segment duration;
K: Buffer capacity;
M: Total number of available servers;
Servers {s 1 , s 2 , . . . , s M } ∈ S are sorted in decreasing order based on their last throughput;
Initialize: i = 1;
while i ≤ M do
if Bt + τ ≤ K and si is not downloading then
Download next segment from si with bitrate suggested by QUETRA;
end
i = i + 1;
end
the single server would result in a wrong estimate of the throughput [54] from that server because
multiple segment downloads would be competing against each other for resources at server as
well as in the network path.
6.3 Challenge #3—Buffer Overflow and Underflow Prevention
The download scheduler in a multi-server environment must keep track of current buffer levels
before sending a segment request to avoid exceeding the buffer capacity, e.g., a DASH player with
30 seconds of buffer capacity and with a current buffer occupancy of 24 seconds playing a video
with 4 seconds segment duration and five available servers can send a request to only one server. If
the current buffer occupancy drops below 10 seconds, the download scheduler is expected to send
a segment request to all the servers. At each segment download step t, the download scheduler
in DQ-DASH checks for the last throughput from the servers. In a batch, the download scheduler
requests segments that are needed earlier for playback from servers with higher throughput values
as shown in Algorithm 1.
6.4 Challenge #4—Appropriate Bitrate Selection
While leveraging multiple servers in parallel, the individual throughput of a server can be much
lower than the bitrate they can support collectively. Therefore, it is important to model the system
accurately for appropriate selection of bitrate. If the bitrate selection algorithm fails to identify
the effective overall throughput, it may select a higher or a lower bitrate than the capacity, which
may lead to underflow or overflow. In a batch, the bitrate selection algorithm should be able to
calculate the single bitrate level.
6.5 Challenge #5—Identification of the Bottleneck Server
Since the download scheduler in DQ-DASH does not request the same segment from more than
one server to avoid wastage of resources, a bottleneck server can hamper the QoE by causing
stalls. To avoid this situation, the DASH client should identify the bottleneck server and refrain
from requesting a new segment from it. Due to the changing state of a server and the network
condition on the corresponding path, it is not easy to determine the bottleneck server on the fly.
The download scheduler in the proposed method considers a server as a bottleneck if the download throughput of the last segment is less than the lowest available bitrate. This strategy is similar
to the one used by Netflix [1]. The scheduler requests a redundant segment from a bottleneck
server that is already being downloaded by another server to keep track of the current state of it.
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
Fig. 4. Segment scheduling with(out) bottleneck.
4:11
Fig. 5. Scheduling policy in case of out-of-order
segments arrival. Without segment arrival delay
(left), and with arrival delay (right).
Once the throughput increases beyond the lowest available bitrate, the scheduler continues downloading the next non-redundant segment from it. As described earlier, a segment is requested from
a server only if there is no other segment download in progress. This averts choking an already
overloaded server as well as downloading too many redundant segments and throughput overestimation. The implementation of this strategy gives the additional responsibility of maintaining
the timeline of downloads to the download scheduler. An example of this situation is explained
in Figure 4 where in a case without bottleneck the clients c 1 and c 2 fetch the segments in parallel
and they come without redundancy from servers in the order s 1 , s 2 , s 3 , s 2 , s 1 , s 3 , respectively.
In the presence of a bottleneck (server s 2 ), both clients detect the server bottleneck during the
downloading process and react quickly by re-requesting seд3 from s 1 with fast throughput. This
leads to download of a redundant segment from the bottleneck server to keep track of its status.
6.6
Challenge #6—Scheduling Policy
The different network conditions in the path vary the associated throughput. Although the imminently required segments are downloaded from the server with the highest throughput in a greedy
fashion, they may arrive out of order due to dynamic network conditions and server loads. The
DASH client cannot skip a segment, so the unavailability of the next segment for playback causes
stalls even though subsequent segments are available. For example, in Figure 5, we can see that
seд4 is unavailable, but segments seд5 and seд6 are present in the buffer. When the DASH client
completes the playback of seд3 , it will stall until seд4 arrives as the effective buffer occupancy is
now zero. To avoid such situations, the DASH client can re-request seд4 from another server. The
re-requesting of a segment must not be too frequent as it will cause a high number of redundant
segment requests. On the other hand, a too optimistic approach may lead to a stall. DQ-DASH
aborts the ongoing request and re-requests the missing segment when the contiguous part of the
buffer drops below 8 seconds (buffer underflow threshold). The best re-requesting strategy deserves comprehensive investigation and may need extensive experimental evaluations that can be
done in the future.
7 EXPERIMENTAL EVALUATION
In this section, we present the result from our experimental evaluation of DQ-DASH. We first
describe the methodology of our experiments including the network profiles, the video parameters, comparison schemes, and the experimental setup. We then present the DQ-DASH player
implementation in dash.js v2.6.6. We then show the results and their analysis.
7.1 Methodology
7.1.1 Network Profiles. To extensively test our design, we use five different profiles (see Table 2).
We impose profiles P1 to P5 on five different servers to emulate a heterogeneous workload on
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:12
A. Bentaleb et al.
Table 2. Characteristics of Network Profiles
Network Profile
P1
P2
P3
P4
P5
Throughput Values (Mbps)
4, 3.5, 3, 2.5, 3, 3.5
2.5, 3, 3.5, 4, 3.5, 3
5, 0.25
9, 4, 3.5, 3, 3.5, 4, 9, 4
3, 3.5, 4, 9, 4, 3.5, 3, 3.5
Inter-variation Duration (s)
30
30
180
30
30
servers. P1 and P4 follow an up-down-up pattern, whereas P2 and P5 follow a down-up-down
pattern. We adopt these profiles from the DASH Industry Forum (DASH-IF) Guidelines [19] as
shown in Table 2. Here, we also created a scenario where one of the servers becomes bottleneck
corresponding to profile P3. We note that the inter-variation duration is the interval time required
before varying the throughput in each profile over the streaming session time.
7.1.2 Video Parameters. We use the reference video sample Big Buck Bunny (BBB) from the
DASH dataset [35]. It is encoded with the H.264/MPEG-4 codec at nine representation levels with
bitrates R = {4.2, 3.5, 3, 2.5, 2, 1.5, 1, 0.75, 0.35} Mbps that comprise approximatelyT = 600s of total
video duration. These bitrate levels correspond to quality levels that are used by YouTube [60].
We do our experimental tests on 1s, 2s, and 4s segment durations for 30s, 60s, and 120s buffer
capacities. The bitrate values at a representation level differ slightly (around 0.1 to 0.3 Mbps) for
different segment durations in the dataset.
7.1.3 Comparison Schemes. To evaluate the performance of our solution, we compared DQDASH against four CDN-based load balancing rules schemes that are available in the web server
NGINX [50] and explained as follows: (a) Round Robin: The set of requests to the DASH servers
are distributed based on a round robin mechanism. This is the default scheme of NGINX. (b) Least
Connected: The next requests are assigned to the DASH servers with a lower load. Thus, this
scheme tries not to overload a busy server with too many requests. (c) Session Persistence: It
always directs a request from the same client to the same DASH server except when this server is
down. This is done using a hash function to determine which server to select for the next request.
(d) Weighted: Here, weights are used to influence the load balancer to give preference to servers
with higher weights. The default weight for every server is one; so, for example, if there are three
servers and the first one has a weight of 3, while the other two have the default weight, then out
of five new requests, the first server will receive three requests, while the other two servers will
get one request each.
7.1.4 Experimental Setup. We performed a set of realistic trace-driven on-demand (VoD) video
streaming experiments using different real-world network profiles (i.e., throughput variability)
from the DASH-IF Guidelines [19], with various segment durations (i.e., 1s, 2s, and 4s), QoE metrics
(i.e., average bitrate, bitrate switch, startup delay, and stalls), number of DASH clients and DASH
servers. Our setup consists of seven machines running Ubuntu 16.04 LTS for DASH clients, DASH
servers, and logging. One machine is a server station with 30 GB RAM, Core i7 CPU, and two GPUs
GeForce GTX 295. The server station runs five Virtual Box VMs, and each VM represents a DASH
server that hosts the video and runs a simple Apache HTTP server (v2.4). Five machines with
4 GB RAM and Core i7 CPUs act as DASH clients where each of them runs the Google Chrome
browser to host our modified dash.js based player (DQ-DASH player in Figure 1). All machines
were connected via a D-link Gigabit switch, and we also used the tc-NetEm network emulator; in
particular, the Hierarchical Token Bucket (HTB) together with Stochastic Fairness Queuing (SFQ)
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:13
Fig. 6. Our dash.js based (DQ-DASH) player. The modifications are highlighted in gray color.
queues to shape the total capacity of the links between DASH clients and servers according to our
network profiles. DQ-DASH considers the aggregate bandwidth of the last measured throughput
from all the servers. We set the maximum playback buffer capacity (K) as 30s, 60s, and 120s for 1s,
2s, and 4s segment durations, respectively. The underflow prevention threshold is set as 8s.
7.1.5 Performance Metrics. To evaluate the performance of our solution, we used the following
QoE metrics. We measure the overall quality using the average bitrate played by a DASH client.
We also count the number of changes in representations and their magnitudes. We evaluated the
playback stall durations and the number of occurrences. We summarize the overall effect of the
performance metrics on QoE by the model proposed by Yin et al. [59].
QoE =
Z
t =1
f (R t ) − λ
Z
−1
| f (R t +1 ) − f (R t )| − αTst all − α s Ts
(2)
t =1
Here, the QoE for the Z segments played by a DASH client is a function of their aggregate bitrate
f (R t ), and the magnitude of the difference in adjacently played segments f (R t +1 ) − f (R t ), startup delay Ts and total playback stalls Tst all . As in Ref. [59], f is the identity function, λ = 1, while
α and α s are set to the maximum bitrate of the video sample.
7.2 Implementation
We implemented the proposed solution on dash.js [14] v2.6.6. To leverage multiple sources,
we modified XMLHttpRequest, BaseURLSelector and how the segments will be scheduled in SchedulerController. Also, we added the DQ-DASH ABR scheme as Rule in the
ABRController. The modifications are shown in Figure 6 and explained at a high level as follows: (a) SchedulerController: Controls and generates multiple requests at a time based on the
bitrate selected by the ABR rule and the next available server given by the BaseURLSelector.
Then, it places the request in the XMLHttpRequest for requesting the segment from the corresponding server. (b) BaseURLSelector: Gets the URLs of the existing servers from the Manifest attribute, sorted by their last throughput to decide the next server for downloading the segment. (c) XMLHttpRequest: Prepares the requests given by the SchedulerController in a proper
xhr format through addHttpRequest and modifyRequestHeader methods. Then, it sends multiple requests to different DASH servers in parallel via HTTP GET (i.e., xhr.send()), and receives the responses of the corresponding segments. (d) ABRController: Implements a set of
bitrate decision rules to select the suitable bitrate for the next parallel segments to be downloaded respecting the buffer occupancy and aggregate throughput given by BufferController
and ThroughputEstimator, respectively. The ABR Rules implements the DQ-DASH bitrate selection scheme and is responsible for performing ABR decisions based on the throughput from
a server. Then, it passes such bitrate decisions to the SchedlerController, and in sorted order
of servers to BaseURLSelector. We use a reservoir of 8s buffer, under which we download the
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:14
A. Bentaleb et al.
Fig. 7. Performance comparison of DQ-DASH with different segment durations for 30 seconds buffer
capacity.
segment at lowest bitrate to avoid underflow due to variation in bitrate at a representation level.
Unless there is underflow prevention situation, we make the decision to change the representation
after every (K/2 − 8)/τ downloads. This is because QUETRA tries to maintain buffer occupancy
at K/2, and we have 8 seconds for the reservoir.
7.3 Results and Analysis
In this section, we evaluate the performance of DQ-DASH extensively. Our experiments comprise
a set of trace-driven and real-world test cases. We divide these test cases into five scenarios as
shown below. Our experimental results show that DQ-DASH can significantly improve the viewer
QoE and deliver a high-quality video in all considered scenarios. We note that all graphs with error
bars have 95% confidence interval and 5% margin of error.
7.3.1 Segment Duration Selection. In this scenario, we executed a test with a 2s and 4s segment
duration for 30s buffer capacity. Then, five different clients are requesting video segments from
the 5 servers. The set of servers s 1 to s 5 are experiencing network conditions P1 to P5, respectively.
As shown in Figure 7, the performance of DQ-DASH degrades for 2s and 4s segment duration
compared to the case where we run 1s segment duration for 30s buffer capacity. Moreover, our
results have shown that the reduction in average bitrate by 9.5% and 20.3% on average for five
clients for the same video with 2s and 4s segment duration, respectively. Similarly, the QoE is
reduced by 13.6% and 31.6%, respectively. These percentiles represent the difference in average
results over five clients between the best case (i.e., buffer capacity of 30s with chunk duration of
1s) and the runner-up results (i.e., buffer capacity of 30s with chunk duration of 2s or 4s). Although
changes in representation are highest for video of 1s segment by, i.e., approximately 24 compared
to 17 and 22 for video with 2s and 4s segment duration, respectively. In addition, the video player
faces approximately 16 and 53 seconds of stalls on average for five clients for 2s and 4s segment
duration, respectively.
To investigate further, we run the same experiment with a 60s buffer capacity for video with
2s segment duration and 120s buffer capacity for video with 4s segment duration, which we are
not showing due to the space limitation. We observed that the performance of all methods is
similar to the performance for the 1s segment duration and 30s buffer capacity. The degradation in
performance for 4s segment duration and 30s buffer is due to the segment/buffer ratio, the number
of available servers, and segment duration. A client requests segments from all the available servers
in parallel when it has enough capacity in the buffer but does not leverage all servers if the buffer is
about to get full to avoid buffer overflow. For example, if the current buffer occupancy is 18 seconds
out of a total capacity of 30s, the client requests only from three servers (requesting a total of
12 seconds segments) for avoiding a buffer overflow. The remaining capacity of two servers is
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:15
Fig. 8. The average bitrate for clients when connected to the different server with profiles (P1–P5) and when
all clients share all the servers (DQ-DASH) for different buffer capacity configurations (30, 60, and 120)s.
Fig. 9. Stall duration and number of stalls when clients are connected to the different server with profiles
(P1–P5) and when all clients share all the servers (DQ-DASH) for different buffer capacity configurations
(30, 60, and 120)s.
shared equally amongst other clients due to TCP fairness. Since all clients have this limitation of
buffer capacity, most of the time they are not leveraging all the servers. This results in the unequal
sharing of a server amongst clients. For 1s segment duration, the repetition of this situation occurs
only if the buffer occupancy of all clients is above 25 seconds out of a total capacity of 30s. Here,
all the clients are likely to be playing at the highest available bitrate due to the richness of buffer
occupancy, so their performance does not get degraded. If we increase the buffer capacity to 120s
while requesting the segments of 4s duration, we give enough room to leverage all the servers,
and the performance becomes similar to the situation where clients request a 1s segment.
7.3.2 Scenario 1 (Single Server DASH vs DQ-DASH). In the first test, we analyzed the scenario
where one client requests video segments from a single server for five different network profiles P1
to P5. Then we compared it to the case where five different clients are requesting video segments
from to all the five servers s 1 to s 5 with network profile P1 to P5, respectively. The idea is to
compare the performance of one-to-one client-server for five clients with respect to all clients
using all servers using the proposed DQ-DASH solution.
Figure 8 shows the average bitrate played during the entire session. Clients experience an average bitrate of 2.9 Mbps to 4 Mbps under profile P1 to P5 with different buffer capacities when
one client is requesting video segments to only one server. Performance under profile P4 is better
than all other profiles as it has the highest magnitude of throughput and starts with the highest
value. The client under profile P4 experiences an average bitrate of 3.8, 3.9, and 4 Mbs for the buffer
capacity 30s, 60s, and 120s, respectively. However, with DQ-DASH where all clients are sharing
five servers with these five network profiles, the clients experience average bitrate of 4, 4, and
3.9 Mbps on average for the buffer capacities 30s, 60s, and 120s, respectively. DQ-DASH also performs better with no stalls even though the server with profile P3 has the bottleneck. So, as shown
in Figure 9, the client requesting from the server with P3 alone experiences 10s and 64s stalls for
the 30s and 60s buffer capacity with three and two stalls, respectively, in total.
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:16
A. Bentaleb et al.
Fig. 10. The average QoE when each client is connected to the different server having different profiles (P1–
P5) and when all clients share all the servers with different profiles (DQ-DASH) for different buffer capacity
configurations.
Fig. 11. DQ-DASH vs. CDN-based load balancing rules schemes—The average bitrate when all clients share
all the servers with different profiles (P1–P5) for different buffer capacity configurations (30, 60, and 120)s.
The small error bar in Figure 8 shows the high fairness of the DQ-DASH amongst the clients
regarding the played average bitrate. Although the error bar for the number of change in
representation for 30s buffer capacity is comparatively bigger for DQ-DASH, values are lesser
than that with the one-to-one client-server solution. To sum up all the parameters, we calculated
the QoE as discussed in Section 7.1.5. As Figure 10 shows, clients with DQ-DASH experience 2.35
to 2.41 (x 100) QoE. DQ-DASH is 8% to 33% and 4% to 29% better for the 30s and 60s buffer capacity
compared to one-to-one client-server solution with different profiles. Whereas for 120s, the QoE
is comparable to the nearest value for P4 and 17% better than the smallest value for P2.
7.3.3 Scenario 2 (CDN-based Load Balancing Rules vs. DQ-DASH). To check the robustness of
DQ-DASH in real-world network environments, we compare DQ-DASH against CDN-based load
balancing rules schemes that are implemented in the industry (see Section 7.1.3). We run five
servers with five different network profiles (P1 to P5) shared by five concurrent clients. Each profile
is used to throttle the total capacity between a DASH server and the set of clients.
Figure 11 depicts the average bitrate played during the video streaming session. In all buffer
capacity configurations, we can see that DQ-DASH achieves the best and the most stable average bitrate that ranges from 3.9 Mbps to 4 Mbps for all five clients compared to CDN-based load
balancing rules schemes as shown in Figure 12. Also, DQ-DASH ensures fairness in terms of the
average bitrate among all clients with a variation of 0.1 Mbps, 0.15 Mbps, and 0.3 Mbps, for 30s,
60s, and 120s, respectively. Moreover, two important observations are that (i) CDN least connected
scheme achieves the second best result in average bitrate after DQ-DASH, and (ii) the CDN persistent gets the worst results compared with others. This is because the CDN least connected applies
an efficient request strategy that distributes requests of clients across DASH servers according
to their capacities. This strategy sends the requests to the powerful server, which executes requests more quickly and alleviates the adverse effect of the bottleneck server. However, the CDN
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:17
Fig. 12. DQ-DASH vs. CDN-based load balancing rules schemes—The average number of changes in representation when all clients share all the servers with different profiles for different buffer capacity configurations (30, 60, and 120)s.
Fig. 13. DQ-DASH vs. CDN-based load balancing rules schemes—The average QoE when all clients share all
the servers with different profiles for different buffer capacities.
Fig. 14. DQ-DASH vs. CDN-based load balancing rules schemes—-Stall duration and number of stalls when
all clients share all the servers with different profiles (P1–P5) for different buffer capacity configurations (30,
60, and 120)s.
persistent creates a fixed association (hash value) between a client and a server, where all the requests from a given hash value always forwarded to the same server. Thus, the client attached to
the bottleneck server will receive a low bitrate, and this affects the average results over all clients.
The DQ-DASH in contrast to CDN-based load balancing rules leverages all existing DASH servers
and downloads segments from all of them in parallel. It successfully detects the bottleneck server
via a smart bottleneck detection strategy (see Section 6.5); thus, it avoids requesting from this server.
Similarly, in all buffer capacity configurations, DQ-DASH achieves the best average QoE (computed using Equation (2)) with zero stalls and its duration, very low average number of changes in
representation, and start-up delay compared to CDN-based load balancing rules schemes as shown
in Figures 12–14. Clients in DQ-DASH experience a high QoE that ranges from 2.35 to 2.41 (x 100)
compared to CDN least connected that ranges from 1.4 to 1.9, CDN persistent that ranges from
0.43 to 0.73, CDN round robin that ranges from 1.05 to 1.14, CDN weighted from 1.11 to 1.56, in
average for all buffer capacity configurations. The average number of changes in representation,
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:18
A. Bentaleb et al.
Fig. 15. Distributed DASH dataset (accessed from France, Austria, Italy)—Average bitrate and changes in
representation for 2s and 4s segment duration for five clients starting together and with a gap of 60s.
stalls, and its duration are high in the CDN-based rules except for CDN persistent that obtains zero
stalls. As a result, these schemes experience a low average QoE. It might be of interest to note that
(i) CDN round robin suffers from many stalls with a long duration because this scheme uses the
round robin mechanism to distribute the requests. Thus, during the turn of the bottleneck server,
the segments take long times to be downloaded by the clients, which leads to video stall. (ii) A
configuration with large buffer capacity decreases the number of changes in representation significantly because large buffer capacity gives more room for the ABR scheme to deal with bandwidth
fluctuations.
7.3.4 Scenario 3 (Internet Dataset Test). In this scenario, we further investigate the performance of DQ-DASH by performing a set of experiments over the real-world Internet. We used
the Distributed DASH Dataset [34] that consists of three servers located in different geographical areas (i.e., France, Austria, Italy) to stream a 6 minute video encoded at 17 bitrate levels
R = {0.1, 0.15, 0.2, 0.25, 0.3, 0.4, 0.5, 0.7, 0.9, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6} Mpbs with segment durations
of 2s and 4s. We run five clients in two test scenarios: (i) all of the clients start the video sessions
in parallel, (ii) clients start incrementally after each other with a gap of Δt = 60 seconds. Figure 15
represents the selected average bitrate and the number of changes in representation for 2s and 4s
segment durations running five clients in the two tests. It shows that most of the time, the clients
select the highest bitrate of 6 Mbps by downloading video segments in parallel from 2 or 3 servers.
Also, the number of changes in representation ranges from 5 to 10 in both tests. Two important
observations can be drawn from this scenario. First, when the number of servers increases, the
clients achieve better performance in the real-world Internet, same as in the test scenarios created
by us. The five clients that together leverage the three servers achieve approximately 10% improvement in the selected bitrate and by 25% less in the bitrate changes, compared to clients using
two servers. Second, both tests are mostly achieving similar results due to the enough aggregate
bandwidth in the Internet paths.
7.3.5 Scenario 4 (Fairness of DQ-DASH). To compare the fairness for the DQ-DASH client with
clients accessing a single server, we run two test cases as shown in Figure 16: (a) running two
clients simultaneously, one DQ-DASH client (sharing five servers with profiles P1–P5) and one
single DASH client (connected to the server with profile P4); (b) two single DASH clients sharing
the server with profile P4. We can see that the DQ-DASH client is friendly when it runs with
the client accessing the single server DASH client and it shares the available bandwidth equally
with him (TCP fair share). During the streaming session, the DQ-DASH client plays the video
at the highest and most stable possible available bitrate (3.9–4.2 Mbps) with fewer changes in
representation (five changes as an average for all buffer capacity configurations) and without any
stall. This because DQ-DASH is benefiting from all the existing servers; thus, the buffer occupancy
of DQ-DASH is frequently at the safe region for all buffer capacity configurations (switch to OFF
state; see Figure 16(c) and 16(d)). This gives more fair share bandwidth for single DASH client
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:19
Fig. 16. Bitrate fairness comparison of DQ-DASH client with clients accessing single server.
to improve its bitrate selection (3.7–4 Mbps) as depicted in Figure 16(a) compared to clients in
Figure 16(b) (2.7–4 Mbps).
7.3.6 Scenario 5 (Large-scale Deployment of DQ-DASH). To evaluate the scalability of DQDASH, we performed three real-world test case experiments in our NCL testbed [47]. These experiments consist of 100 clients (rendering video over Google Chrome), four DASH servers with
different profiles, and various last-mile total bandwidth of the single bottleneck link. To emulate a real-world network environment, we used a realistic network topology provided by the
NCL testbed (for more details, refer to Ref. [47]), and we compared the performance of DQ-DASH
against the CDN-based load balancing rules schemes (round robin, least connected, persistent connection, and weighted). The configuration of the test cases are defined as follows: (a) 100 clients
sharing a bottleneck network with a total bandwidth of 300 Mbps and four servers {s 1 , . . . , s 4 } with
network profiles (60, 70, 80, and 90) Mbps (Figure 17(a)); (b) 100 clients sharing a bottleneck network with a total bandwidth of 350 Mbps and four servers {s 1 , . . . , s 4 } with network profiles (60,
70, 80, and 140) Mbps (Figure 17(b)); (c) 100 clients sharing a bottleneck network with a total bandwidth of 400 Mbps and four servers {s 1 , . . . , s 4 } with network profiles (60, 70, 80, and 190) Mbps
(Figure 17(c)). In the case of weighted load balancing rules, the four servers {s 1 , . . . , s 4 } are allocated with weights 1, 2, 3, and 4, respectively. For different buffer capacity configurations, the
result shows that all the DQ-DASH clients select the best and stable possible bitrate with high
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:20
A. Bentaleb et al.
Fig. 17. DQ-DASH vs. CDN-based load balancing rules schemes—The average bitrate, changes in representation, and QoE of 100 clients with different total bandwidth (300, 350, and 400) Mbps and buffer capacity
configurations (30, 60, and 120)s.
fairness (see the error bars in Figure 17), QoE, and fewer changes in representation. The weighted
load balancing rule has comparable performance with respect to DQ-DASH for 120s buffer capacity in terms of average bitrate because we have allocated a higher weight to the server with
the highest throughput. The changes in representation are also higher for the weighted load balancing rule that causes the reduction in overall QoE. It is also important to note that most of the
clients in round robin and weighted rules for the 60s and 120s buffer capacity suffer from 1–2 stalls
with up to 50 seconds of total stall duration (not shown in the figure due to space limitation). The
small error bar for DQ-DASH indicates higher fairness for a large number of clients as well. The
100 clients start one by one in the gap of 0.5 seconds (total gap of 50 seconds). So the average
bitrate in few cases for DQ-DASH and weighted load balancing rule is slightly higher than the
full capacity of 300 Mbps, 350 Mbps, and 400 Mbps for the three test cases. With increasing buffer
capacity, the number of changes in representation decreases for both CDN-based load balancing
rules as well as DQ-DASH because there is more room to handle bandwidth fluctuation. In general,
the average bitrate for individual CDN-based load balancer increases with the increase in buffer
capacity. But all of them have a lower bitrate than DQ-DASH and the aggregate bandwidth capacity. DQ-DASH tends to utilize the bandwidth fully, but the average bitrate seems to be decreasing
with the increase in the buffer capacity. In Figure 17, we can see that the average bitrate for DQDASH seems higher for 30s buffer capacity, followed by 60s and 120s buffer capacity, unlike for
CDN-based load balancing rules. This is because the bitrate value at the representation level 6 to
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:21
8 (average value of 2.5, 3 and 3.5 Mbps, respectively) in the dataset used [35] is slightly higher for
1s segment, followed by 2s segment and 4s segment (around 0.1 to 0.3 Mbps difference on average). As mentioned before, we use video with 1s, 2s, and 4s segments for 30s, 60s, and 120s buffer
capacities, respectively.
8 DISCUSSION
In this section, we discuss some observations and open issues that we plan to analyze in the future.
8.1 Fault Tolerance
In single server DASH delivery system, the critical failure mode is when the client can no longer
communicate with the DASH server due to the server bottleneck, unreliable link, faulty server,
sudden fluctuation in the network condition, and so on. In this situation, CDN-based solutions
might help, but prior works [18, 43] have shown that it introduces a delay (i.e., DNS redirection),
which may harm the player buffer occupancy and affect the end-user QoE negatively. However,
DQ-DASH successfully addresses these two potential concerns of single server DASH and CDNbased solutions. Fortunately, DQ-DASH leverages multiple servers and avoids the affected link or
server thanks to its robust and smart bottleneck detection strategy. If the client is unable to reach
the server, it will automatically ignore downloading the next segments from it and use only the
remaining servers. Moreover, the client periodically keeps track of the status of the down servers
by either trying to connect with it again or downloading the already played segments if the server
is considered as a bottleneck.
8.2 Client-side Bottleneck
This situation happens when multiple clients start competing for the available bandwidth in a
shared network environment (e.g., last mile network). We tested the performance of DQ-DASH
and CDN-based load balancing rules for the case of last-mile bottleneck where there is no traffic
shaping at all five servers, but all five servers and five clients share a common link of 15 Mbps. In
this scenario, all five clients play the video at 3 Mbps on average for both DQ-DASH as well as for
all CDN-based load balancing rules.
8.3 Server-side Bottleneck Detection
In the presence of server bottleneck, the single server DASH client will suffer from stalls and frequent bitrate changes, which results in a poor viewer QoE. In contrast, DQ-DASH uses multiple
servers and is able to efficiently detect the server bottleneck that may affect the viewer QoE based
on a simple heuristic (i.e., DQ-DASH considers a server as a bottleneck if the download throughput
is less than the lowest available bitrate) as shown in Section 7. We believe that further improvement in the server bottleneck estimation and detection will further enhance our results [8]. In the
future work, we plan to investigate this critical point much more by developing new strategies for
detecting the bottleneck considering more network parameters such as latency, jitter, RTT, and so
on, relying on robust mathematical frameworks such as game theory and machine/deep learning.
9
CONCLUSIONS
Single server DASH clients can have unfair QoE when they are connected to different servers or
having different bottleneck links. Some of the prior research efforts try to avoid this situation by
leveraging multiple servers. However, these efforts require additional support from architecture,
like a server-side API. We proposed DQ-DASH, an evolving adaptive streaming solution that enables multiple sources in DASH delivery systems. Our solution is distributed in nature and works
at the application layer without the need for any extra architectural support. It allows the clients to
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:22
A. Bentaleb et al.
benefit from the aggregated bandwidth from diverse paths and multiple servers’ resources; thus,
it can play the video fairly amongst all the clients. Using different scenarios of evaluation over
a broad set of realistic network conditions and real-world testbed, we showed that DQ-DASH
achieved up to 33% and 30% higher QoE and fewer changes in quality compared to single source
DASH and CDN-based load balancing rules, respectively. DQ-DASH is scalable and also avoids
over-exploitation of available bandwidth by downloading just one redundant segment data for
10 minutes of video in all the considered experimental test cases.
REFERENCES
[1] Vijay Kumar Adhikari, Yang Guo, Fang Hao, Matteo Varvello, Volker Hilt, Moritz Steiner, and Zhi-Li Zhang. 2012.
Unreeling Netflix: Understanding and improving multi-CDN movie delivery. In IEEE INFOCOM. 1620–1628.
[2] Saamer Akhshabi, Ali C. Begen, and Constantine Dovrolis. 2011. An experimental evaluation of rate adaptation algorithms in adaptive streaming over HTTP. In ACM MMSys. 157–168.
[3] Abdelhak Bentaleb, Ali C. Begen, Saad Harous, and Roger Zimmermann. 2018. Want to play DASH?: A game theoretic
approach for adaptive streaming over HTTP. In ACM MMSys. 13–26.
[4] Abdelhak Bentaleb, Ali C. Begen, and Roger Zimmermann. 2016. SDNDASH: Improving QoE of HTTP adaptive
streaming using software defined networking. In ACM MM. 1296–1305.
[5] Abdelhak Bentaleb, Ali C. Begen, Roger Zimmermann, and Saad Harous. 2017. SDNHAS: An SDN-enabled architecture to optimize QoE in HTTP adaptive streaming. IEEE TMM 19, 10 (2017), 2136–2151.
[6] A. Bentaleb, B. Taani, A. C. Begen, C. Timmerer, and R. Zimmermann. 2019. A survey on bitrate adaptation schemes for
streaming media over HTTP. IEEE COMST 21, 1 (2019), 562–585. DOI:https://doi.org/10.1109/COMST.2018.2862938
[7] Olivier Brun and Jean-Marie Garcia. 2000. Analytical solution of finite capacity M/D/1 queues. Journal of Applied
Probability (2000), 1092–1098.
[8] Joachim Bruneau-Queyreix, Jordi Mongay Batalla, Mathias Lacaud, and Daniel Negru. 2018. PMS: A novel scaleadaptive and quality-adaptive hybrid P2P/multisource solution for live streaming. ACM TOMM 14, 2s, Article 35
(May 2018), 25 pages.
[9] Joachim Bruneau-Queyreix, Mathias Lacaud, and Daniel Negru. 2017. A multiple-source adaptive streaming solution
enhancing consumer’s perceived quality. In IEEE CCNC. 580–581.
[10] Jin Cao, William S. Cleveland, Dong Lin, and Don X. Sun. 2003. Internet traffic tends toward Poisson and independent
as the load increases. In Nonlinear Estimation and Classification. Springer, 83–109.
[11] Jianyu Cao and Weixin Xie. 2018. Joint arrival process of multiple independent batch Markovian arrival processes.
Statistics & Probability Letters 133 (2018), 42–49.
[12] VNI Cisco. 2017. Cisco Visual Networking Index: Forecast and Methodology. 2016–2021.
[13] Xavier Corbillon, Ramon Aparicio-Pardo, Nicolas Kuhn, Géraldine Texier, and Gwendal Simon. 2016. Cross-layer
Scheduler for Video Streaming over MPTCP. In ACM MMSys. 7.
[14] DASH Reference Player. 2017. Retrieved from https://github.com/Dash-Industry-Forum/dash.js.
[15] Alexander N. Dudin, Vladimir M. Vishnevsky, and Julia V. Sinjugina. 2016. Analysis of the BMAP/G/1 queue with
gated service and adaptive vacations duration. Telecommunication Systems 61, 3 (2016), 403–415.
[16] Kristian Evensen, Dominik Kaspar, Carsten Griwodz, Pål Halvorsen, Audun F. Hansen, and Paal Engelstad. 2012.
Using bandwidth aggregation to improve the performance of quality-adaptive streaming. Elsevier IM 27, 4 (2012),
312–328.
[17] Kristian Evensen, Tomas Kupka, Dominik Kaspar, Pål Halvorsen, and Carsten Griwodz. 2010. Quality-adaptive scheduling for live streaming over multiple access networks. In ACM NOSSDAV. 21–26.
[18] Jeroen Famaey, Steven Latré, Ray van Brandenburg, M. Oskar van Deventer, and Filip De Turck. 2013. On the impact
of redirection on HTTP adaptive streaming services in federated CDNs. In Springer IFIP AIMS. 13–24.
[19] DASH Industry Forum. 2014. Guidelines for Implementation: DASH-AVC/264 Test Cases and Vectors. Retrieved from
http://dashif.org/guidelines/.
[20] Aditya Ganjam, Faisal Siddiqui, Jibin Zhan, Xi Liu, Ion Stoica, Junchen Jiang, Vyas Sekar, and Hui Zhang. 2015. C3:
Internet-scale control plane for video quality optimization. In NSDI. 131–144.
[21] Bo Han, Feng Qian, Lusheng Ji, and Vijay Gopalakrishnan. 2016. MP-DASH: Adaptive video streaming over
preference-aware multipath. In ACM CoNEXT. 129–143.
[22] Xiaojun Hei, Chao Liang, Jian Liang, Yong Liu, and Keith Ross. 2006. Insight into PPLive: A measurement study of a
large-scale P2P IPTV system. In WWW Workshop of IPTV Services.
i
i n−i = 2n + 2 + o (1). Mathematics Stack Exchange. Re[23] Professor Vector. 2017. Show that n
i =0 ((−1) /i!)(n − i ) e
3
trieved April 16, 2017 from https://math.stackexchange.com/q/2236578.
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
DQ-DASH: A Queuing Theory Approach to Distributed Adaptive Video Streaming
4:23
[24] Te-Yuan Huang, Ramesh Johari, Nick McKeown, Matthew Trunnell, and Mark Watson. 2015. A buffer-based approach
to rate adaptation: Evidence from a large video streaming service. In ACM SIGCOMM. 187–198.
[25] ISO/IEC 23009-1:2014 Information technology—Dynamic adaptive streaming over HTTP (DASH). 2014. Retrieved
from https://www.iso.org/standard/65274.html.
[26] Junchen Jiang, Vyas Sekar, and Hui Zhang. 2014. Improving fairness, efficiency, and stability in HTTP-based adaptive
video streaming with FESTIVE. IEEE/ACM TON 22, 1 (2014), 326–340.
[27] Junchen Jiang, Shijie Sun, Vyas Sekar, and Hui Zhang. 2017. Pytheas: Enabling data-driven quality of experience
optimization using group-based exploration-exploitation. In NSDI. 3.
[28] Dag Johansen, Håvard Johansen, Tjalve Aarflot, Joseph Hurley, Åge Kvalnes, Cathal Gurrin, Sorin Zav, Bjørn Olstad, Erik Aaberg, Tore Endestad, et al. 2009. DAVVI: A prototype for the next generation multimedia entertainment
platform. In ACM MM. 989–990.
[29] Parikshit Juluri, Venkatesh Tamarapalli, and Deep Medhi. 2015. SARA: Segment aware rate adaptation algorithm for
dynamic adaptive streaming over HTTP. In IEEE ICCW. 1765–1770.
[30] Dominik Kaspar, Kristian Evensen, Paal Engelstad, Audun F. Hansen, Pål Halvorsen, and Carsten Griwodz. 2010.
Enhancing video-on-demand playout over multiple heterogeneous access networks. In IEEE CCNC. 1–5.
[31] Juhoon Kim, Yung-Chih Chen, Ramin Khalili, Don Towsley, and Anja Feldmann. 2014. Multi-source multipath HTTP
(mHTTP): A proposal. In ACM SIGMETRICS. 583–584.
[32] Jonathan Kua, Grenville Armitage, and Philip Branch. 2017. A survey of rate adaptation techniques for dynamic
adaptive streaming over HTTP. IEEE COMST (2017).
[33] Robert Kuschnig, Ingo Kofler, and Hermann Hellwagner. 2010. Improving internet video streaming performance by
parallel TCP-based request-response streams. In IEEE CCNC. 1–5.
[34] Stefan Lederer, Christopher Mueller, Christian Timmerer, Cyril Concolato, Jean Le Feuvre, and Karel Fliegel. 2013.
Distributed DASH dataset. In ACM MMSys. 131–135.
[35] Stefan Lederer, Christopher Müller, and Christian Timmerer. 2012. Dynamic adaptive streaming over HTTP dataset.
In ACM MMSys. 89–94.
[36] Zhi Li, Xiaoqing Zhu, Joshua Gahm, Rong Pan, Hao Hu, Ali C. Begen, and David Oran. 2014. Probe and adapt: Rate
adaptation for HTTP video streaming at scale. IEEE JSAC 32, 4 (2014), 719–733.
[37] Chenghao Liu, Imed Bouazizi, and Moncef Gabbouj. 2011. Rate adaptation for adaptive HTTP streaming. In ACM
MMSys. 169–174.
[38] Chenghao Liu, Imed Bouazizi, Miska M. Hannuksela, and Moncef Gabbouj. 2012. Rate adaptation for dynamic adaptive streaming over HTTP in content distribution network. Elsevier IM 27, 4 (2012), 288–311.
[39] Hongqiang Harry Liu, Ye Wang, Yang Richard Yang, Hao Wang, and Chen Tian. 2012. Optimizing cost and performance for content multihoming. In ACM SIGCOMM. 371–382.
[40] Yong Liu. 2007. On the minimum delay peer-to-peer video streaming: How realtime can it be? In ACM MM. 127–136.
[41] Zhengye Liu, Yanming Shen, Keith W. Ross, Shivendra S. Panwar, and Yao Wang. 2009. LayerP2P: Using layered video
chunks in P2P live streaming. IEEE TMM 11, 7 (2009), 1340–1352.
[42] Hongzi Mao, Ravi Netravali, and Mohammad Alizadeh. 2017. Neural adaptive video streaming with pensieve. In ACM
SIGCOMM. 197–210.
[43] Matthew K. Mukerjee, Ilker Nadi Bozkurt, Devdeep Ray, Bruce M. Maggs, Srinivasan Seshan, and Hui Zhang. 2017.
Redesigning CDN-Broker interactions for improved content delivery. In ACM CoNEXT. 68–80.
[44] Matthew K. Mukerjee, David Naylor, Junchen Jiang, Dongsu Han, Srinivasan Seshan, and Hui Zhang. 2015. Practical,
real-time centralized control for CDN-based live video delivery. In ACM SIGCOMM. 311–324.
[45] Mehdi Nafaa and Nazim Agoulmine. 2009. Analysing joost peer to peer IPTV protocol. In IFIP/IEEE Integrated Network
Management. IEEE, 291–294.
[46] Thinh P. Nguyen and Avideh Zakhor. 2001. Distributed video streaming over Internet. In Multimedia Computing and
Networking, Vol. 4673. International Society for Optics and Photonics, 186–196.
[47] NUS. 2018. National Cybersecurity Laboratories (NCL) Testbed. Retrieved from https://ncl.sg.
[48] Stefano Petrangeli, Jeroen Famaey, Maxim Claeys, Steven Latré, and Filip De Turck. 2016. QoE-driven rate adaptation
heuristic for fair adaptive video streaming. ACM TOMM 12, 2 (2016), 28.
[49] Wei Pu, Zixuan Zou, and Chang Wen Chen. 2011. Dynamic adaptive streaming over HTTP from multiple content
distribution servers. In IEEE GLOBECOM. 1–5.
[50] Will Reese. 2008. Nginx: The high-performance web server and reverse proxy. Linux Journal 2008, 173 (2008), 2.
[51] Sandvine. 2016. Video Quality of Experience: Requirements and Considerations for Meaningful Insight, white paper.
[Online] https://www.sandvine.com/hubfs/downloads/archive/whitepaper-video-quality-of-experience.pdf.
[52] Kevin Spiteri, Rahul Urgaonkar, and Ramesh K. Sitaraman. 2016. BOLA: Near-optimal bitrate adaptation for online
videos. In IEEE INFOCOM. 1–9.
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
4:24
A. Bentaleb et al.
[53] Thomas Stockhammer. 2011. Dynamic adaptive streaming over HTTP–: Standards and design principles. In ACM
MMSys. 133–144.
[54] Yi Sun, Xiaoqi Yin, Junchen Jiang, Vyas Sekar, Fuyuan Lin, Nanshu Wang, Tao Liu, and Bruno Sinopoli. 2016. CS2P:
Improving video bitrate selection and adaptation with data-driven throughput prediction. In ACM SIGCOMM. 272–
285.
[55] E. Thomas, M. O. van Deventer, T. Stockhammer, A. C. Begen, and J. Famaey. 2017. Enhancing MPEG DASH performance via server and network assistance. SMPTE Motion Imaging Journal 126, 1 (2017), 22–27.
[56] Florian Wamser, Steffen Höfner, Michael Seufert, and Phuoc Tran-Gia. 2017. Server and content selection for MPEG
DASH video streaming with client information. In ACM Internet-QoE. 19–24.
[57] Bing Wang, Wei Wei, Zheng Guo, and Don Towsley. 2009. Multipath live streaming via TCP: Scheme, performance
and benefits. ACM TOMM 5, 3 (2009), 25.
[58] Praveen Kumar Yadav, Arash Shafiei, and Wei Tsang Ooi. 2017. QUETRA: A queuing theory approach to DASH rate
adaptation. In ACM MM. 1130–1138.
[59] Xiaoqi Yin, Abhishek Jindal, Vyas Sekar, and Bruno Sinopoli. 2015. A control-theoretic approach for dynamic adaptive
video streaming over HTTP. In ACM SIGCOMM. 325–338.
[60] YouTube. 2018. YouTube Live Encoder Settings, Bitrates, and Resolutions. Retrieved from https://support.google.com/
youtube/answer/2853702.
[61] Li Yu, Tammam Tillo, Jimin Xiao, and Marco Grangetto. 2017. Convolutional neural network for intermediate view
enhancement in multiview streaming. IEEE Transactions on Multimedia 20, 1 (2017), 15–28.
[62] Hui Yuan, Huayong Fu, Ju Liu, Junhui Hou, and Sam Kwong. 2018. Non-cooperative game theory based rate adaptation for dynamic video streaming over HTTP. IEEE TMC 17, 10 (2018), 2334–2348.
[63] Hui Yuan, Huayong Fu, Ju Liu, and Jimin Xiao. 2016. End-to-end distortion-based multiuser bandwidth allocation for
real-time video transmission over LTE network. IEEE Transactions on Broadcasting 63, 2 (2016), 338–349.
[64] Hui Yuan, Xuekai Wei, Fuzheng Yang, Jimin Xiao, and Sam Kwong. 2018. Cooperative bargaining game-based multiuser bandwidth allocation for dynamic adaptive streaming over HTTP. IEEE TMM 20, 1 (2018), 183–197.
[65] Xinyan Zhang, Jiangchuan Liu, Bo Li, and Y.-S. P. Yum. 2005. CoolStreaming/DONet: A data-driven overlay network
for peer-to-peer live media streaming. In IEEE INFOCOM, Vol. 3. 2102–2111.
[66] Xue Zhang, Laura Toni, Pascal Frossard, Yao Zhao, and Chunyu Lin. 2018. Adaptive streaming in interactive multiview
video systems. IEEE Transactions on Circuits and Systems for Video Technology 29, 4 (2018), 1130–1144.
[67] Chao Zhou, Chia-Wen Lin, Xinggong Zhang, and Zongming Guo. 2014. A control-theoretic approach to rate adaption
for DASH over multiple content distribution servers. IEEE TCSVT 24, 4 (2014), 681–694.
[68] Yipeng Zhou, Dah Ming Chiu, and John C. S. Lui. 2007. A simple model for analyzing P2P streaming protocols. In
IEEE ICNP. 226–235.
Received November 2018; revised October 2019; accepted October 2019
ACM Trans. Multimedia Comput. Commun. Appl., Vol. 16, No. 1, Article 4. Publication date: March 2020.
View publication stats
Download