0% found this document useful (0 votes)
62 views24 pages

Rate Adaptation For Dynamic Adaptive Streaming Over HTTP in PDF

This document discusses rate adaptation algorithms for Dynamic Adaptive Streaming over HTTP (DASH) in content distribution networks. It proposes a new rate adaptation metric based on expected and measured segment fetch times. It also proposes serial and parallel segment fetching rate adaptation algorithms using this metric. The algorithms aim to quickly match media bitrates to network bandwidth while controlling buffer levels and providing fairness between clients.

Uploaded by

Waqas Ur Rahman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views24 pages

Rate Adaptation For Dynamic Adaptive Streaming Over HTTP in PDF

This document discusses rate adaptation algorithms for Dynamic Adaptive Streaming over HTTP (DASH) in content distribution networks. It proposes a new rate adaptation metric based on expected and measured segment fetch times. It also proposes serial and parallel segment fetching rate adaptation algorithms using this metric. The algorithms aim to quickly match media bitrates to network bandwidth while controlling buffer levels and providing fairness between clients.

Uploaded by

Waqas Ur Rahman
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 24

Signal Processing: Image Communication ] (]]]]) ]]]–]]]

Contents lists available at SciVerse ScienceDirect

Signal Processing: Image Communication


journal homepage: www.elsevier.com/locate/image

Rate adaptation for dynamic adaptive streaming over HTTP in


content distribution network
Chenghao Liu a,n, Imed Bouazizi b, Miska M. Hannuksela b,#, Moncef Gabbouj a,#
a
Department of Signal Processing, Tampere University of Technology, Finland
b
Nokia Research Center, Tampere, Finland

a r t i c l e i n f o abstract

Recently the 3rd Generation Partnership Project (3GPP) and the Moving Picture Experts
Keywords: Group (MPEG) specified Dynamic Adaptive Streaming over HTTP (DASH) to cope with
Rate adaptation the shortages in progressive HTTP based downloading and Real-time Transport Protocol
Dynamic Adaptive Streaming over HTTP (RTP) over the User Datagram Protocol (UDP), shortly RTP/UDP, based streaming. This
DASH paper investigates rate adaptation for the serial segment fetching method and the
Adaptive HTTP Streaming parallel segment fetching method in Content Distribution Network (CDN). The serial
CDN segment fetching method requests and receives segments sequentially whereas the
parallel segment fetching method requests media segments in parallel. First, a novel
rate adaptation metric is presented in this paper, which is the ratio of the expected
segment fetch time (ESFT) and the measured segment fetch time to detect network
congestion and spare network capacity quickly. ESFT represents the optimum segment
fetch time determined by the media segment duration multiplied by the number of
parallel HTTP threads to deliver media segments and the remaining duration to fetch
the next segment to keep a certain amount of media time in the client buffer. Second,
two novel rate adaptation algorithms are proposed for the serial and the parallel
segment fetching methods, respectively, based on the proposed rate adaptation metric.
The proposed rate adaptation algorithms use a step-wise switch-up and a multi-step
switch-down strategy upon detecting the spare networks capacity and congestion with
the proposed rate adaptation metric. To provide a good convergence in the representa-
tion level for DASH in CDN, a sliding window is used to measure the latest multiple rate
adaptation metrics to determine switch-up. To decide switch-down, a rate adaptation
metric is used. Each rate adaptation metric represents a reception of a segment/portion
of a segment, which can be fetched from the different edge servers in CDN, hence it can
be used to estimate the corresponding edge server bandwidth. To avoid buffer overflow
due to a slight mismatch in the optimum representation level and bandwidth, an idling
method is used to idle a given duration before sending the next segment. In order to
solve the fairness between different clients who compete for bandwidth, the prioritized
optimum segment fetch time is assigned to the newly joined clients. The proposed rate
adaptation method does not require any transport layer information, which is not
available at the application layer without cross layer communication. Simulation results
show that the proposed rate adaptation algorithms for the serial and the parallel
segment fetching methods quickly adapt the media bitrate to match the end-to-end
network capacity, provide an advanced convergence and fairness between different
clients and also effectively control buffer underflow and overflow for DASH in CDN. The
reported simulation results demonstrate that the parallel rate adaptation outperforms

n
Corresponding author. Tel.: þ358 509349231.
E-mail address: chenghao.liu@tut.fi (C. Liu).
#
EURASIP member.

0923-5965/$ - see front matter & 2011 Elsevier B.V. All rights reserved.
doi:10.1016/j.image.2011.10.001

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
2 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

the serial DASH rate adaptation algorithm with respect to achievable media bitrates
while the serial rate adaptation is superior to the parallel DASH with respect to the
convergence and buffer underflow frequency.
& 2011 Elsevier B.V. All rights reserved.

1. Introduction bandwidth, then the user will consume the content at a


sub-optimal quality. Since the client will download content
Recently, Hypertext Transfer Protocol (HTTP) has been faster than the playout rate, it could result in inefficient use of
widely used for the delivery of real-time multimedia content available bandwidth if the user stops watching the content.
over the Internet, such as in video streaming applications. An efficient rate adaptation algorithm is required for DASH to
Unlike the use of Real-time Transport Protocol (RTP) over solve the above problems, specifically, the frequent interrup-
User Datagram Protocol (UDP), HTTP [1] is easy to configure tion in playback and sub-optimum streaming quality. How-
and is typically granted traversal of firewalls and network ever, these problems become even more challenging because
address translators (NATs), which makes it attractive for of the difficulties in differentiating between the short-term
multimedia streaming applications. Krasic et al. [2], Wang throughput variation, incurred by the congestion control, and
et al. [3] and Kim and Ammar [4] reported that short-term the average throughput changes due to more persistent
transmission rate variation in HTTP/TCP can be smoothed out bandwidth changes. Furthermore, the rate adaptation algo-
by receiver side buffering. Thus, commercial solutions, such rithm of DASH should take into account the infrastructure of
as Microsoft Smooth Streaming [5] and Adobe Dynamic the networks.
Streaming [6], have been launched as well as standardization The research issues of the rate adaptation for DASH
projects have been carried out. Adaptive HTTP streaming include the following aspects. First, the rate adaptation
(AHS) was first standardized in Release 9 of 3GPP packet- method must deploy a metric to determine if the bitrate
switched streaming (PSS) service [7]. MPEG took 3GPP AHS of a specific representation matches the available end-to-
Release 9 as a starting point for its newly published MPEG end bandwidth. This metric is expected to distinguish
DASH standard [8]. 3GPP continued to work on adaptive between persistent throughput variation due to network
HTTP streaming in communication with MPEG and recently bandwidth changes and the short-term throughput
published the 3GP-DASH (Dynamic Adaptive Streaming over dynamics attributable to the TCP congestion control. In
HTTP) [9]. MPEG DASH and 3GP-DASH are technically similar addition, the metric should identify network congestion
and are therefore collectively referred to as DASH in this and spare network bandwidth fast enough in order to
paper. In DASH, the client continuously requests and receives react promptly and reach the optimum representation
small segments of multimedia content, denoted as media level as soon as possible, wherein the higher representa-
segments. To adapt the media bitrate to the varying network tion level represents the higher level of media bitrates and
bandwidth, DASH allows clients to request media segments the lower representation level represents the lower level
from different representations, each of which represents a of media bitrates. Second, the rate adaptation algorithm
specific media bitrate. should prevent frequent hopping between media repre-
A DASH client might suffer from frequent interruptions sentations, because frequent changes in the perceived
and sub-optimum media bitrates without an efficient rate media quality are likely to be annoying. In segment
adaptation algorithm. A media bitrate higher than the shar- delivery over distributed networks, such as content dis-
able bandwidth would cause network congestion. As DASH tribution network (CDN), preventing too frequent repre-
typically uses Transmission Control Protocol (TCP) as trans- sentation switching becomes more challenging as
port layer protocol, network congestion causes TCP conges- segments can be transmitted through different routes
tion control mechanism to become active, which may further having different bandwidths. Thirdly, the rate adaptation
result in a dramatic decrease in throughput. Hence, buffered algorithm should avoid client buffer underflow and over-
media data can be drained-up much faster in DASH com- flow. Buffer underflow causes playback interruptions and
pared to the traditional RTP/UDP-based streaming in case of overflow can result in bandwidth waste. Fourthly, the rate
network congestion. On the other hand, i.e., when the media adaptation algorithm for DASH should provide good fair-
bitrate is lower than the sharable bandwidth, the media ness between different DASH clients, which compete for
quality does not reach the optimum allowed by the available available bandwidth in the network. Finally, the media
bandwidth. Many of the Internet’s real-time video services segment duration should be set appropriately in order to
use a progressive download approach and hence suffer from smooth the short-term HTTP/TCP throughput variation
the above mentioned problems, such as frequent playback and to provide low enough adaptation latencies.
interruption and sub-optimum streaming quality. Many Two strategies for issuing HTTP requests in DASH have
video services offer a set of pre-defined quality levels of a been proposed, namely the serial segment fetching
video clip to users for manual a-priori selection. If the bitrate method [10] and the parallel segment fetching method
of the selected representation turns out to be higher than the [11]. In the former, segments are requested and received
available end-to-end bandwidth, then the user will most one after another, whereas in the latter, media segments
probably experience playback interruptions and re-buffering are requested in parallel using several TCP connections.
events due to buffer underflow. Otherwise, if the bitrate of This paper presents novel rate adaptation algorithms for
the representation is lower than the available network both the serial and the parallel segment fetching methods.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 3

The main contributions of this paper include the 2. Related work


following two aspects. First, we propose a novel rate
adaptation metric for DASH. The proposed rate adaptation In the last decade, several research works have been
metric compares the expected segment fetch time ðESFTÞ conducted in the rate adaptation for media streaming
with the measured segment fetch time ðSFTÞ to determine over TCP, called TCP-based streaming in this paper. In the
if the media bitrate matches with the current bandwidth. scenario of the TCP-based media streaming, most of the
The ESFT is the optimum segment fetch time, which is research works focused on sender-driven rate adaptation.
estimated each time before requesting a segment based For example, Lam et al. [12] proposed a method to estimate
on (a) the segment duration multiplied by the number of client-side buffer occupancy in the server and to adapt
parallel segment fetching threads (b) the remaining time media bitrates to maintain the client-side buffer occupancy
period to fetch the next segment. The former is deter- above a certain threshold.
mined by the scheduling method of the serial and the Rate adaptation for DASH is a relatively new research
parallel segment fetching methods, whereas the latter is topic and thus only few research works have been carried
decided by the real-time buffered media time. The rate out in this field. In DASH, decisions to adapt media
adaptation metrics not only take into account the ideal bitrates are made at the client side where the client buffer
segment fetch time of the serial and the parallel segment occupancy is known and can be used directly for the rate
fetching methods but also consider the buffered media adaptation. For example, in one of the earliest papers on
time. Hence, the proposed rate adaptation metrics can adaptive streaming over HTTP by Färber et al. [13], rate
provide convergence in the representation level and adaptation decisions were made on the basis of media
prevent buffer underflow. duration in the client buffer. However, client buffer
Second, we propose two novel rate adaptation algo- occupancy based rate adaptation for DASH has the follow-
rithms for the serial and the parallel segment fetching ing drawbacks. First, this method can cause hopping in
methods in CDN, respectively. The proposed rate adapta- the representation level. As the choices of representation
tion algorithms for the serial segment fetching method levels are limited, it is difficult to match the optimum
uses a single rate adaptation metric to determine a switch media bitrate to the network capacity. Typically, the
up/down of representation levels. The proposed rate adap- optimum media bitrates should be the highest bitrate,
tation algorithm for parallel segment fetching method which is lower than the bandwidth. In such a scenario, the
deploys a sliding window to select the minimum rate client buffer occupancy, which can be measured as
adaptation metrics among multiple metrics. The minimum buffered media time, will dramatically increase even if
rate adaptation metrics is used to determine the switch-up/ the rate adaptation reaches the optimum media bitrate.
switch-down in order to match the media bitrates to the Hence, the rate adaptation cannot converge to the opti-
minimum bandwidth in the distributed edge servers of mum representation level as the client buffer occupancy
CDN. Thus, the sliding window strategy of the proposed will change even when the rate adaptation reaches the
rate adaptation algorithm for the parallel segment fetching optimum media bitrates. Second, the client buffer based
method can efficiently prevent frequent hopping between rate adaptation can result in unfairness between different
representation levels. Furthermore, the proposed rate adap- clients, which compete for bandwidth. For example, some
tation algorithms give a priority for newly joined DASH clients can switch to a high-bitrate representation if ade-
clients in order to share the available bandwidth fairly quate bandwidth is available, while other clients might not
among DASH clients. In case of congestion, DASH clients be able to fetch equally high-bitrate representation if the
consuming a higher representation level will quickly switch networks are already on the stage of saturation when they
down to a lower level firstly in order to leave room for DASH start streaming. Efficient rate adaptation algorithm should
clients having a lower level using the proposed rate adapta- provide a fair allocation of the network bandwidth to clients.
tion algorithm. Furthermore, in order to efficiently use Kuschnig et al. [14] presented a method of priority and
network bandwidth and memory resources for the users, a deadline driven rate adaptation method for scalable video
method of determining the idle time before sending an streaming over TCP using bandwidth estimation and client
HTTP GET request for the next segment is presented, thus buffer estimation at the server. To stabilize TCP throughput
limiting the maximum amount of pre-fetching media. over a given period of time and decrease quality fluctuation,
The rest of this paper is organized as follows. Section 2 relatively large groups of pictures (GOPs) are used to
presents the related work to describe the literature works estimate TCP throughput by deploying the application layer
relating to the rate adaptation for DASH. Section 3 gives a based and TCP stack based bandwidth estimation techni-
brief overview of the terminology of DASH, and DASH ques. As pointed out in [14], the accuracy of the bandwidth
infrastructure using a CDN. The serial and the parallel estimation method suffers from the large GOP, which is
segment fetching methods are presented in Section 4. In coped with the priority and deadline driven rate adaptation
Section 5, a novel rate adaptation metric for DASH is method proposed in the same paper. Recently, Akhshabi
presented. Sections 6 and 7 provide further details on the et al. [15] reported experimental evaluation of the rate
two novel rate adaptation algorithms for the serial and adaptation in DASH. In [15], the experiment is performed
the parallel segment fetching methods in CDN, respec- using the Microsoft smooth streaming, Netflix player, and
tively. The simulation results of the proposed rate adapta- Adobe OSMF player to evaluate the internal rate adaptation
tion algorithms for the serial and the parallel segment algorithms with certain experimental methodology.
fetching methods in CDN are provided in Section 8. Finally, In our previous work [10], a rate adaptation algorithm
Section 9 concludes the paper. for the serial segment fetching method was presented. In

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
4 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

[10], the ratio of the segment duration and the latest and improving the achievable streaming quality. Specifi-
single segment fetch time was used to detect network cally, our previous paper presented a method, which (a)
congestion and spare network capacity. However, the rate enables a receiver to request multiple segments in paral-
adaptation algorithm in [10] has the following short- lel, (b) provides a solution to maintain a limited number
comings. First, the rate adaptation method was developed of HTTP sessions for receiving segments in parallel and to
for the case where segments are requested and received determine when to start a new HTTP session to request
sequentially, and hence ESFT is determined in [10] to be the next segment and (c) can adapt the received media
equal to the media segment duration ðMSDÞ. However, for bitrate while receiving previously requested segments.
the parallel segment fetching method where the number of For the rate adaptation algorithm, [11] deployed a simple
simultaneous HTTP transactions can be larger than one, rate adaptation algorithm, which uses the buffered media
ESFT should also be proportional to the number of parallel time to determine the media bitrates, hence results in
HTTP threads. Second, the buffered media time status of the similar problems as described above for [13]. Since the
client buffer is not taken into account in the rate adaptation focus was on improving achievable representation level,
metric proposed in [10], which causes buffer underflow due the simulation results in [11] were limited in reporting
to the lower buffered media time. To prevent buffer under- the average representation level for a single DASH client
flow, the buffered media time should be used as the metric user. In this paper, we investigate the rate adaptation for
for determining the next segment media bitrates. Third, the the serial and parallel segment fetching in CDN.
rate adaptation method compares the ratio of the segment In a multiple TCP connection based media streaming,
duration by the latest received single segment fetch time requesting a set of media chunks using multiple
with the switch-up and switch down thresholds to adapt TCP streams was presented in [16,17]. Multiple TCP
the representation level for the serial segment fetching connection based media streaming was previously pre-
method. In the parallel segment fetching method, multi- sented in [18]. The work in [16,17] extended multiple TCP
ple segments are received simultaneously, hence multiple connections based media streaming to the request-
segment fetch times should be used to decide whether or response based internet video streaming. In the same
not to perform switching-up in order to improve conver- papers, the authors presented analytical models for the
gence to a single representation level when the networks total achievable TCP throughputs for the request-response
resource capacity is not changed severely. Fourth, the based TCP streaming using multiple TCP connections.
fairness issue between different DASH clients has not Although this paper uses the parallel HTTP requests, the
been discussed in [10]. aim and the underlying principles are totally different
DASH may employ the current web distribution net- from those in [16,17], where the aim of multiple TCP
work infrastructure, e.g., proxy caches and CDN. Cur- connections was to provide resilience against short-term
rently, CDNs are widely used to deliver media and web insufficient bandwidth using multiple TCP connections for
data to end users through globally distributed edge a streaming application. In contrast, the target in our
servers. CDNs, such as Akamai, deploy Domain Name previous paper [11] was to fully utilize the distributed
System (DNS) based request redirection technique to network resources, for example CDN, to improve HTTP-
redirect a client request to an appropriate edge server Streaming quality at the client. The underlying principle of
among multiple edge servers with the predefined policies. the works [16–18] was that by allocating a certain bottle-
Each client request is used to fetch a media segment in neck bandwidth to multiple TCP streams, the TCP through-
DASH. The detailed request redirection mechanism and put variation can be smoothed out and the achievable TCP
the redirection frequency are described in Section 3. throughput can be increased to some degree as multiple TCP
Scheduling of HTTP GET requests for segment fetching streams do not observe packet losses at the same time. In
plays a critical role in achievable streaming bitrates for contrast, [11] is inspired by the distributed infrastructure
DASH in CDN. However, the specific scheduling method of of CDN.
requesting segments has not been specified in DASH. Only Evensen et al. [19] presented a method of deploying
the informative instructions of the client behavior are multiple heterogeneous interfaces to improve streaming
provided in both 3GP-DASH and MPEG-DASH. One com- quality. They proposed to divide a segment into multiple
mon method is the serial segment fetching method, which sub-segments dynamically and request sub-segments
requests and receives segments one after another. For the using distributed requests over multiple heterogeneous
DASH in CDN, the serial segment fetching method might interfaces simultaneously. As [19] uses sub-segments,
not yield the optimum streaming service to DASH clients several techniques for partitioning segments into sub-
since it only operates one HTTP thread at a time to deliver segments were studied and the paper proposed a dynamic
media segments over the distributed edge servers in CDN, and static sub-segment partitioning method. In contrast,
which results in inefficient usage of the distributed net- our previous paper [11] used segment as a fetching unit,
work resources. The parallel segment fetching method which makes the parallel segments fetching method
can occupy network resources of CDN more exhaustively simpler compared to the parallel sub-segment fetching
as multiple HTTP threads are used to deliver the media method [19]. The underlying principle of paper [11] is the
segments in parallel over distributed networks. efficient utilization of the distributed edge servers in CDN.
In our previous work [11], a parallel adaptive HTTP On the contrary, [19] considered a device using multiple
streaming method was presented. The method schedules heterogeneous network interfaces, such as a smart phone
HTTP GET segment requests in parallel at the DASH client, equipped with the ability to transfer data through WLAN
for efficiently utilizing the distributed networks resources and HSDPA networks simultaneously.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 5

3. Terminology and architecture of DASH in CDN network resources. The rate adaptation can occur each time
before requesting a segment.
In this section, we shall first explain the terms and As DASH facilitates the use of the current web replica-
definition of DASH as specified in 3GPP PSS. Then, the tion and caching infrastructure, CDN is used in this paper
end-to-end systems of DASH, including the DASH content to deliver media segments to DASH clients. CDN has
provider, DASH server and DASH client, are described. In achieved great success in delivering web and media data.
addition, the media distribution architecture in CDN is The infrastructure of CDN, such as Akamai, consists of a set
presented. of edge servers, which deliver content to clients as shown in
In DASH, the media presentation description (MPD) Fig. 1. CDN can redirect a client request, such as a GET media
provides the necessary information for clients to establish segment request, to an appropriate edge server among
a dynamic adaptive streaming over HTTP. The MPD multiple edge servers.
contains the metadata, such as an HTTP-URL of each The edge server selection method, especially the fre-
segment, to make GET segment request. The segment quencies of switching edge server, affects the perfor-
contains a certain duration of media data, and metadata mance of serial and parallel segment fetching methods.
to decode and present the included media content. Each For locating the edge server from which an end user
representation consists of multiple media segments and receives a segment, the DNS request redirection is used to
represents the coding choice such as encoded bitrate, redirect a client request to an appropriate edge server in
spatial and temporal resolution, etc. The representation CDN such as Akamai [20]. The frequencies of switching the
is identified through a unique identifier (ID). The client edge server depends on the deployed metrics by the DNS
can obtain the available number of representations and based request redirection.
the corresponding properties by accessing the MPD. To select an edge server from multiple edge server
Fig. 1 shows a media distribution architecture using candidates, the metrics of proximity, content caching
DASH in CDN. An end-to-end DASH system consists of a possibility and edge server load can be used in a DNS
server, clients and a content provider. request redirection system [20]. Proximity indicates the
DASH content preparation prepares the DASH compli- distance between the edge server and the client and a
ant media content in an offline segment creation mode, or close-by edge server will be selected. Edge server load is
in a reactive segment creation. In the offline segment measured as the bandwidth and processing loads of the
creation mode, the MPD and the media segments for the edge servers. The edge server load balancing algorithm
representations are created before providing client access distributes traffics among edge servers targeting a uni-
to the content. In the reactive segment creation mode, the form load distribution at the edge servers. Basically, the
content provider constructs the media segments accord- proximity based edge server selection method results in
ing to the received HTTP GET request from a media file, the infrequent switching between edge servers since the
such as an MP4 file, which contains multiple representa- distance between the edge server and the client is rela-
tions. In the second mode, for example, the client request tively static. In contrast, the load based edge server selection
may contain the segment start time, segment duration method causes frequent switching when balancing the load
and representation level. The content provider firstly between different edge servers in order to improve the
parses the HTTP request and encapsulates part of an overall performance.
MP4 file to a segment as specified in the HTTP request. To achieve improved load balancing, short time-to-live
A DASH content provider sends DASH compliant media (TTL) is typically used in the DNS based request redirec-
data to a DASH server for streaming. The DASH server can tion, also called DNS resolution. For DNS based request
be a standard web server to provide dynamic adaptive resolution [21], the authoritative DNS name server and
streaming over HTTP to DASH clients. local DNS server cooperate in a hierarchical way. The local
The DASH client firstly accesses MPD to obtain the DNS server sends a DNS request to an authoritative DNS
representation and the address to locate each segment for server, which resolves the CDN server name to the IP
making HTTP GET segment request. The client continuously address of the edge server. In the IP address mapping
requests and receives the segments from the DASH server. received from authoritative DNS server, a time-to-live
DASH further enables the client to request media segments (TTL) is typically contained for the mapping. When the
from different representations for reacting to varying local DNS server queries the authoritative DNS server, the
local DNS server will cache the content record for the time
specified in the TTL. If the local DNS server receives a
query about the caching name server for the mentioned
DASH DASH-clients record within the TTL, the local DNS server resolves the edge
content preparation group
CDN Edge servers DNS server IP address with the cached content recoding instead
of querying it from the authoritative name server. Krishna-
murthy et al. [21] reported that generally a low TTL is
assigned in order to assist the DNS based load balancing
CDN server among the distributed edge servers. The authors claimed
DASH server that the local DNS servers are forced to process frequent
DNS lookups by assigning a small DNS TTL for the content
Fig. 1. System for Dynamic Adaptive Streaming over HTTP (DASH) in record. Therefore, CDN can obtain control for utilizing the
CDN. distributed edge servers efficiently by taking advantage of

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
6 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

the load balancing algorithm. As an observation of the real strategy as most of CDN providers, such as Akamai, deploy
CDN request redirection, they reported that the Akamai and this method [23].
Adero, Digital Island, Speedera and Fasttide assigned 10, 20, Thanks to the distributed resources offered by CDNs, a
20, 120 and 230 s of TTL, respectively. DASH service over a CDN can improve the scalability in
Recently, Adhikari et al. [22] presented research results streaming clients. However, the achievable bandwidth for
of uncovering load balancing and server selection strate- delivery of media segments is still limited. In media
gies deployed in Youtube using a reverse engineering delivery over CDN, congestion might not only occur in
based methodology. They reported that Youtube deploys the ‘‘last mile’’ of media delivery network, e.g. the link
the static load sharing using hash based mechanism, a from the Internet service provider to the end user equip-
semi-dynamic approach using location aware DNS resolu- ment, but also in the distributed edge servers. Further-
tions and dynamic load-sharing using HTTP redirections. more, more and more end users are connected to the
In the first strategy, Youtube maps video-id to a unique Internet using a high-bandwidth access link. Hence,
hostname in each of the namespace in the hierarchical efficient utilization of the distributed edge servers in
DNS based host namespaces. In the second strategy, the CDNs is one of the key factors to provide high quality
proximity information is used in request redirection media in DASH. Different segments can be delivered to
according to the ‘‘normal hours’’ and ‘‘busy’’ hours. In DASH clients through different edge servers in CDN with
the third strategy, Youtube uses local ‘‘intra-tier’’ load- request redirection and load balancing algorithm. There-
sharing before resorting to ‘‘inter-tier’’ load-sharing to fore, a parallel segment fetching method was proposed in
further balance the load among different edge servers. our previous paper [11] to utilize the limited bandwidth
The research results in [22] showed that the load balan- in the distributed edge servers more efficiently.
cing is deployed in practical applications such as Youtube As shown in Fig. 1, the scenario of multiple DASH
to smooth the un-even load distribution caused by the clients, which compete for the distributed bandwidths in
combination of spontaneous video demands and dynamic the edge servers, is discussed in this paper. To investigate
video popularity. The ‘‘inter-tier’’ load-sharing infers that the uncooperative pull based content outsourcing in the
frequent edge server switching is possible to balance the scenario of multiple DASH clients, different DASH clients
load in the distributed edge servers. request a different media clip. By requesting different
Therefore, redirecting a HTTP request for fetching a media clips, each GET segment request is sent to the CDN
specific segment to a specific edge server depends on the server, which then pulls the segment from the initial
load balancing algorithm of DNS based request redirec- server.
tion and TTL value used in CDN. In addition, the dynamic
caching status of media segments and the varying net- 4. Serial and parallel segment fetching methods
work resources further affect the load balancing algo-
rithm to select an appropriate edge server. Several factors, In this section, the serial and the parallel segment
including load balancing algorithm, TTL value used and fetching methods are briefly described, [10,11]. A sum-
dynamic caching and network resources together deter- mary of the terms and a definition of the symbols
mine the switching between different edge servers for the appearing in this paper are shown in Table 1.
consecutive requests from the same client. Specifying The serial segment fetching method [10] is a common
such frequency is out of the scope of this paper. To method to request a segment where segments are requested
focused on rate adaptation algorithm of DASH, the pro- and received one after another. Fig. 2 shows an example of
posed rate adaptation algorithm is presented as transpar- requesting segments serially. The horizontal axis denotes
ent of the edge server switching frequencies. the time of requesting and receiving segments and the
In the content outsourcing, pull-based and push-based period of time to receive segment #i (rec segment #i) is
outsourcing can be utilized [23]. In the pull-based content depicted in Fig. 2. Note that in general the next segment
outsourcing, the client request is redirected to the selected need not be requested immediately after completing the
edge server as discussed according to the above policies reception of the previous segment, but rather segment
using the DNS redirection or URL rewriting methods. The requests can be scheduled according to the buffer occu-
pull-based outsourcing can be classified into uncooperative pancy and the rate adaptation strategy of the client. The
and cooperative outsourcing. For both uncooperative and detailed flowchart of the serial segment fetching method
cooperative pull-based outsourcing, if the requested seg- will not be discussed further because of its simplicity.
ment is cached in the selected edge server, then the client In the parallel segment fetching method [11] segments
fetches the segment directly from the edge server. In the are requested in parallel. Fig. 3 shows an example of the
case of a cache miss, the uncooperative outsourcing redir- parallel segment fetching method. In addition, the time
ects the request either to the CDN server such as Akamai axis is depicted to scale the time period to request and
server or to the original server. For the cooperative out- receive segments. As shown in Fig. 3, the parallel segment
sourcing, the edge servers cooperate with each other to fetching method maintains a certain number of parallel
response to the request from a client, in case of a cache miss. HTTP threads to request segments in parallel, e.g., two
The push-based content outsourcing distributes the con- HTTP threads are used in this example. The purple and
tents to the edge servers proactively. As the push-based dark blue bars denote the receiving segments over the first
outsourcing is on the theoretical study stage, this paper and the second HTTP threads, respectively. The purple and
focuses on the pull-based outsourcing. For the uncoopera- dark blue lines indicate the time axis to request and receive
tive and cooperative outsourcing we focus on the former the media segments, respectively. The parallel segment

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 7

Table 1
Terms and definition of symbols.

Notation Definition

A Slope of the linear function of mk used in Eq. (2)


br c Encoded media bitrate of the current representation level ri
br i Media bitrate of the representation level, wherein r0 and rN  1denote the lowest and the highest representation
bmax Media bitrate of the highest representation level
bmin Media bitrates of the lowest representation level
bmtc Current buffered media time
bmtmin Minimum buffered media time used to determine tid
c The current representation level
DASH Dynamic adaptive streaming over HTTP
d Ratio of the minimum received portions duration and segment duration to determine s0 for smoothing the short-term TCP variation
ed Switch-down factor
ecd Switch-down factor calculated by the current representation level
emin
d
Minimum switch-down factor calculated by all representation levels
EPFT Expected portions fetch time
eu Switch-up factor
ecu Switch-up factor calculated by the current representation level
emax
u Max switch-up factor calculated by all representation levels
ESFT Expected segment fetch time
uk The ratio of the duration of the received portion and the duration of the full segment, used for scheduling a new parallel HTTP request
ISFT Ideal segment fetch time
k Parallel index, wherein the latest segment has the index 0 and the earliest segment has the index np  1
lk Threshold of jk to schedule a new parallel HTTP request
l0 First term of the linear function of mk used in Eq. (2)
MPD Media portion duration denoting the playback duration contained in the received portions
MPDk Received media portion duration of a segment with the parallel index k
MSD Media segment duration denoting the playback duration contained in a segment
MSDk Media segment duration contained in the segment with the parallel index k
noo Number of the out order received segments
nuoo Upper limit of noo
np Number of parallel HTTP threads to deliver media segments
nup Upper limit of HTTP threads number to deliver media segments in parallel
PFT Portion fetch time denoting the spent time for fetching the portions of a segment
PFTM Portion fetch time based rate adaptation metric
RAMs Rate adaptation metric, including PFTM and SFTM, with the rate adaptation index t
RAM s0 The rate adaptation metric with the rate adaptation index t0, which is determined as Eq. (21)
rec segment spent time to fetch segment #i
#i
q ,
RSFT s factor
ri Representation level i
RSFT Remaining segment fetch time
, The priority remaining segment fetch time for parallel segment fetching method which will be used in the beginning phase of DASH
RSFT p
, The priority remaining segment fetch time for serial segment fetching method which will be used in the beginning phase of DASH
RSFT s
SFT Segment fetch time
SFTM Segment fetch time based rate adaptation metric
s Rate adaptation index of the segment/portions which starts from t0 and ends at t0 þw  1
s0 The staring rate adaptation index of the segment/chunk
TBMT Target buffered media time
tid Idle period of time
t_reqi Time to request a segment #i
tsi Playback timestamp of the first frame of a requesting segment # i
tsns Playback timestamp of the first frame of the next segment
ts0 The current playback time stamp at the time instant of requesting the next segment
up Upper limit of parallel HTTP threads
w Rate adaptation window size which determines the account of RAM used in the rate adaptation

Fig. 2. An example of serial segment fetching method.

fetching method requests segment iþ1 at t_reqi þ 1 using time t_reqi þ 1 to the time to receive the last byte of segment
the second HTTP thread when segment i is still being #i, the two segments, i.e., segment #i 1 and segment #iþ 1
received using the first HTTP thread by the client. From are received in parallel.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
8 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

Fig. 3. An example of parallel segment fetching method.

The scheduling method of HTTP GET segment requests ID is equal to or larger than its upper limit ðnuoo Þ. The
in parallel is described as follows. The number of active smaller nuoo will facilitate to receive the earlier requested
parallel HTTP threads ðnp Þ is compared with predefined segments in time but will limit the capability of parallel
upper limit ðnup Þ to limit the maximum number of parallel segment requesting method with respect to improving
HTTP threads to deliver media segments in parallel. We receiving media bitrates. In this paper, nuoo is set as 5.
recommend to set nup as 2, since two parallel HTTP requests If np is smaller than nup , noo is smaller than nuoo , and jk
already can improve the achievable media bitrates accord- is larger than or equal to mk for all k from 0 to np 1 and, a
ing to the simulation results [11]. In addition, a large value new HTTP request is sent immediately or after a certain
of nup may increase the possibility of receiving segments out idling period derived from the buffered media time. The
of order, which may further cause buffer drain-up, also buffered media time is limited for preventing bandwidth
called buffer underflow. waste due to the fact that a client may stop viewing a
Each segment received in parallel is identified with a certain media clip before playing out the whole down-
parallel index k, wherein the last requested parallel index loaded media data. The idling period between two con-
is equal to 0 and the earliest requested parallel index is secutive requests is used to limit the maximum amount of
equal to np 1. When requesting a new segment in parallel, buffered media time. The idling period must not be too
all parallel indexes are updated in turn as mentioned above. long so that the buffered media time can smooth out the
The parallel index is different from the segment IDs marked most severe bandwidth decrease, i.e., from the highest
as #i in Fig. 3. In each received segment, the portion of bandwidth to the lowest bandwidth. Therefore, the idle
received media data is referred to as received portion and time period is calculated as
media duration contained in a received portion is denoted
t id ¼ bmt c bmt min MSDUbmax =bmin ð3Þ
as MPD.
The ratio of the duration of the received portion and If t id is greater than 0 then the client idles t id amount of
the duration of the full segment, jk , is derived as follows time before requesting the next segment. Otherwise, (if t id
jk ¼ MPDk =MSDk , 0 r kr np 1 ð1Þ is less than or equal to 0), the client requests a new segment
immediately. In case of a small MSDUbmax =bmin , bmt min
The DASH client compares jk with the corresponding should be set to a relatively large value to increase the
threshold mk for each parallel received segment k from condition of bmtc for idling and to prevent buffer underflow
index 0 to index np 1, to determine if a new HTTP thread due to sudden bandwidth decrease. In case of a large
needs to start to fetch the next segment. If jk is larger MSDUbmax =bmin , bmt min can be set as a relatively small
than or equal to mk for all k from 0 to np 1, then a new value because bmt c for idling becomes large enough. bmtmin
request may be sent and the client checks if the remaining is set to 0 in this paper since MSDðbmax =bmin Þ is already large
conditions to send the next HTTP request are met. Other- enough with the selected media bitrates of the representa-
wise, (if jk is lower than mk for any k in the interval tions in the simulation to prevent buffer underflow. For
f0; np 1g), the new request will not be sent. The remain- requesting the next segment, the rate adaptation module
ing conditions to send the next request will be presented should be performed to determine the representation level
in the following paragraphs. To receive the earlier seg- of the next segment. Then, np is increased by one when a
ment in time, a linear function mk is used as new HTTP thread is started to request the next segment in
parallel.
mk ¼ Ak þ m0 , 0 o mk o 1 ð2Þ
To conclude the discussion above, the DASH client
In case mk is larger than or equal to 1, it is set as 1. In does not request a new segment and continues to receive
this paper, A is set as 0.2 as in our previous paper [11]. m0 the previously requested segments in the following three
can be set as 1/np. Larger m0 and A will assist to success- cases. First, the number of segments being received equals
fully receive the earlier requested segments but deduce to the limit of the number of parallel HTTP threads, i.e. np
the efficiency in improving the achievable media bitrates. is equal to nup . Second, jk is smaller than mk in one of the
In addition, the requested segments may be received segments being received. Third, the idle period is greater
out of order. To assist receiving the earlier requested than 0.
segments in time, the client does not request a new With the chunked transferring mode of HTTP, the DASH
segment in parallel in case the gap between the latest server can split a media segment into small portions and
requested segment ID and the earliest requested segment transmit a segment as several portions. The client can receive

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 9

a segment portion-by-portion until receiving the whole shortly called as portion in this paper, is received. As the
segment. When new portions of a segment are received by reception data rate of the latest received portion can
the client, the client updates the duration of the received represent the prevailing network bandwidth, the measured
portion ðMPDk Þ for the parallel received segment. If the portion fetch time ðPFTÞ is compared with the correspond-
whole segment is received by the client, then np is decreased ing expected portion fetch time ðEPFTÞ, which is used as
by one. Finally, if all segments are received or the user ends another rate adaptation metric denoted as PFT rate adapta-
the current DASH, then the current parallel segment fetching tion metric ðPFTMÞ.
is terminated. The detailed scheduling algorithm is presented Specifically, SFT denotes a period of time from the time
in the following pseudocode. instant of sending a HTTP GET segment request to the

Scheduling algorithm for HTTP GET segment requests for the parallel segment fetching method in CDN [11]

Initialize the current representation level i as 0


Send HTTP GET request to fetch the first segment immediately
While User has not stopped the current DASH and more segments are available for fetching
Wait for an event
If Received portions of the requested segments
If The received portions of a segment having parallel index k
Update MPDk
If Received a whole segment
np ¼ np 1
Else If Timeout of the scheduled event to send the next HTTP GET request
Send the next HTTP GET request immediately (after processing the rate adaptation module)
np ¼ np þ 1
If np o nup and noo o nuoo
k¼0
While ko np
If jk Z mk ,
k ¼ kþ 1
Else
Break
End while
If k ¼ np
Calculate the idle period t id as Eq. (3)
If t id 40
Schedule an event to send the next HTTP GET request after idling t id amount of time
Else
Send the next HTTP GET request immediately (after processing the rate adaptation module)
np ¼ np þ 1
End while

instant of receiving the last byte of the requested seg-


ment; while the PFT denotes a period of time from the
5. Proposed rate adaptation metric time instant of sending a HTTP GET segment request to
the instant of receiving the last byte of the portion of the
This section presents the proposed rate adaptation requested segment. To smooth out short-term variations
metric for DASH, called segment fetch time ðSFTÞ rate in HTTP/TCP reception rate, the measuring period should
adaptation metric ðSFTMÞ, which compares ESFT with the be selected appropriately. Typically a longer period is
measured SFT. The former represents the optimum seg- capable of producing a smoother throughput measure-
ment fetch time and the latter denotes the measured ment. However, a longer period will also result in a slower
segment fetch time. It is well known that the instanta- rate adaptation behavior. Based on the theoretical analy-
neous TCP transmission rate is dynamically changing sis of smoothing short-term TCP throughput reported in
hence it is not feasible to measure the streaming media our previous paper [24] and experimental results reported
bitrate capacity using the instantaneous HTTP/TCP recep- in the same paper, a measuring duration around 7–10 s is
tion rate. Instead, a DASH client estimates the optimum sufficient to smooth out the varying instantaneous HTTP/
segment fetch time, i.e., ESFT each time before requesting TCP reception rates.
a segment. After receiving a segment, the estimated ESFT
is compared with the measured SFT to determine if the 5.1. Expected segment fetch time for DASH
media bitrate of the current representation matches the
available end-to-end bandwidth capacity. The spare network bandwidth and network congestion
In the parallel segment fetching method, the HTTP GET can be identified by comparing ESFT with the measured
request can be sent when a portion of the previous segment, segment fetch time. ESFT is determined by the following

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
10 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

Fig. 4. An example of ideal parallel segment fetching method to demonstrate the relationship between ISFT and MSD.

two factors. One factor is the media segment duration typically a slight mismatch between the optimum media
multiplied by the number of parallel HTTP threads, which bitrates and the network capacity. Second, the network
represents the ideal time to fetch each segment ðISFTÞ. The resources and throughput are dynamically changing. To
other factor is the available time to fetch the next segment smooth short-term HTTP/TCP throughput variation, it is
to maintain the target buffered media time ðTBMTÞ. TBMT is beneficial to maintain a TBMT indicating a desired latency
used to smooth the short-term transmission variation. The between the time instant to receive the last byte of a
available time to fetch the next segment is denoted as the segment to the playback of the first media frame of a
remaining segment fetch time ðRSFTÞ. ISFT represents the segment. The RSFT depends on the current playback
intrinsic segment fetch time, which is determined as the timestamp ðts0 Þ at the time instant of requesting the next
period of time to fetch each segment when the media segment, the timestamp of the first frame of the next
bitrate of each segment exactly matches the capacity of segment ðtsns Þ and TBMT. Hence, RSFT can be calculated as
the network resources. The intrinsic segment fetch time RSFT ¼ tsns ts0 TBMT ð5Þ
relies on the segment fetching method as ISFT is different
with the different nup . We will give an example to demon- Based on Eqs. (4) and (5), finally, ESFT is determined as
strate how the segment fetch method affects ISFT after
ESFT ¼ minðISFT,RSFTÞ ð6Þ
presenting the equation to calculate it. While RSFT repre-
sents the real-time buffering status of DASH, ISFT, RSFT and In this equation, ESFT represents the optimum seg-
ESFT are computed as follows in the following paragraphs. ment fetch time, which is used in the rate adaptation
ISFT is determined as metrics. ISFT will be constant with a specific nup but RSFT
ISFT ¼ MSDnup ð4Þ will vary dynamically.
The reason for using ISFT in the proposed rate adapta-
As discussed in Section 4, the serial segment fetching tion metric is to prevent possible fluctuation in represen-
method can be regarded as a special case of the parallel tation level. RSFT is another representation of the buffered
segment fetching method, wherein nup equals 1. media time. Hence if only RSFT were used to determine
Fig. 4 shows an example of demonstrating a scenario, ESFT, then the representation level might fail to converge
in which the media bitrate exactly matches the network to an optimum representation level as discussed in Section 2.
capacity. In Fig. 4, the purple and dark blue bars and lines A large RSFT might be a consequence of a cumulative
represent parallel HTTP threads as in Fig. 3. In addition, increase of buffered media time. For example, buffered
the playback timestamp of the first frame of each segment media time may be accumulated due to a step-wise repre-
is labeled as tsi , the blue bars and line denote playback sentation-level switch-up strategy. Therefore, RSFT might
duration of each segment and playback timestamp axis, not provide an optimal value for ESFT. In contrast, we
which also applies to the following figures depicting the propose to determine ESFT as the minimum of ISFT and
parallel segment fetching method. In the ideal scenario, RSFT. The former represents the intrinsic segment fetching
each segment is fetched using exactly ISFT, which equals time determined by the segment fetching method and the
to the media segment duration multiplied by nup , e.g. 2 in latter represents the real-time buffering status. Hence the
this example. It should be noticed that the ideal scenario proposed method can efficiently facilitate the convergence
does not assume an instantaneous reception rate match- property but also prevent buffer underflow.
ing the bandwidth but assumes only an average reception Fig. 5 shows an example of determining ESFT for the
rate matching the bandwidth. parallel segment fetching method. In this example, it is
In practice, the above discussed ideal scenario is hard assumed that nup is equal to 2 and TBMT is equal to MSD.
to achieve because of the following reasons. First, there is The last byte of segment #i 2 is assumed to be received

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 11

Fig. 5. Example of determining ESFT for the parallel segment fetching method.

at the client later than expected as in the ideal scenario 5.3. PFT rate adaptation metric
depicted in Fig. 4. Consequently, the HTTP GET request for
segment #i is also sent later than in the ideal scenario. So As PFT measures the time spent to fetch portions of a
RSFT is determined using Eq. (5) and is lower than ISFT. segment instead of the whole segment, PFT should be
According to Eq. (6), ESFT equals to RSFT as shown in compared with the expected portions fetch time ðEPFTÞ
Fig. 5, which is used in the rate adaptation metrics and the instead of the ESFT, where the EPFT denotes the optimum
rate adaptation algorithms as discussed in the following time to fetch the corresponding portions, which have
sections. been received by the DASH client. Therefore, PFTM is
computed as follows:
PFTM ¼ ðESFTUMPDÞ=ðPFTUMSDÞ ð8Þ

5.2. SFT rate adaptation metric PFTM rate adaptation is useful in the rate adaptation of
the parallel segment fetching method. In the parallel
ESFT represents the optimum duration for fetching a segment fetching method, an HTTP GET request can be
segment. If the measured segment fetch time ðSFTÞ is sent when the previously requested segments have not
equal to ESFT calculated before sending the HTTP GET been completely received at the DASH client. In such a
segment request, then each segment is fetched using the scenario, PFT represents the latest reception status and
optimum segment fetch time and TBMT amount of media reveals the current network situation. On the other hand,
data will be maintained at the client buffer. Hence the the measuring duration should be larger than a certain
encoded media bitrate of the current representation duration to smooth out short-term TCP throughput
matches the network capacity. If SFT is larger than the variations. Several methods of partitioning a segment into
calculated ESFT, then it means that the average TCP sub-segments dynamically and requesting parallel sub-
throughput for fetching the segment is lower than the segments, instead of requesting parallel segments, were
bitrate of the current representation level. Otherwise, (if discussed in [19]. In this paper, we focus on the rate
SFT is lower than the calculated ESFT), the smoothed TCP adaptation and PFT used in one of the rate adaptation
throughput is higher than the bitrate of the current metrics.
representation. The last case can occur in DASH because One advantage of SFTM and PFTM is that our methods
the TCP sender transmits the available data at the highest do not require information from the transport layer (TCP
possible rate allowed by the TCP congestion control and layer). Our method uses the reception status at the
avoidance algorithm. Hence a ratio of ESFT and the application layer, but does not rely on the TCP throughput
measured SFT is used as the metric denoted as SFTM to calculation models. In order to use the TCP throughput
detect congestion and to probe the spare network capa- calculation equations, the packet loss rates, RTT or the
city. current congestion window are required; however, such
information is not available at the application layer. In
SFTM ¼ ESFT=SFT ð7Þ addition, if the current congestion window is included in
the TCP throughput calculation equation, then the TCP
where ESFT is calculated as in Eq. (6) each time before throughput equation basically represents the instanta-
sending an HTTP GET request for the next segment and neous transmission rate instead of the smoothed TCP
SFT is measured after a segment is fetched. The proposed throughput. As it is well known, the instantaneous TCP
rate adaptation metric can be used to identify if the media throughput is varying and cannot be directly used in the
bitrate matches the available network capacity, as our rate adaptation to estimate the end-to-end networks
metric measures the reception status in a given duration capacity. In contrast, our rate adaptation metrics can
to smooth out short-term variations caused by the TCP smooth out the varying TCP throughput rate by measur-
congestion control. ing a certain duration of the reception status. Therefore,

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
12 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

our rate adaptation metrics can be applied for the rate adaptation algorithm. And ecu is calculated as
adaptation of DASH, which is operated in the application ecu ¼ ðbrc þ 1 brc Þ=brc ð13Þ
layer.
c
e provides a more aggressive switch-up factor com-
u

6. Proposed rate adaptation algorithm for the serial pared to emax c


u . Since eu is only determined by the bitrate

segment fetching method jump ratio of the current representation level and emax
u is
decided by the maximum of bitrate jump ratios of all
In this section, we propose a rate adaptation algorithm representation levels. To reach a compromise between the
for the serial segment fetching method based on SFTM, convergence of the rate adaptation algorithm and the
presented in Section 5. In the serial segment fetching achievable media bitrates, eu is calculated as
method, the HTTP GET next segment request is sent after eu ¼ minfemax c
u ,2eu g ð14Þ
receiving the current segment. The rate adaptation algo-
Eq. (14) not only improves the convergence and
rithm occurs each time after receiving a media segment
achievable media bitrate, but also makes the rate adapta-
and before requesting the next segment to determine the
tion algorithm performance independent of the bitrate
representation level of the next segment.
distribution of the representation levels. For example, if
In the serial segment fetching method, since ISFT is
emax
u is much larger than ecu , then eu can be determined as
equal to MSD, Eq. (7) can be expressed according to c
2eu , which enables the rate adaptation algorithm to
Eq. (6) as
switch-up the representation level to the optimum level.
SFTM ¼ MINðMSD,RSFTÞ=SFT ð9Þ Otherwise, (emaxu is smaller than 2ecu ), eu will be decided by
max
In our previous work [10], a simplified rate adaptation eu for improving the convergence.
metric was presented, which was set to the ratio of MSD In the case of a decision to switch-up, the rate adaptation
and SFT. The rate adaptation metric in [10] only considers algorithm selects the next higher representation level. The
ISFT of the serial segment fetching method but does not reason for using a conservative step-wise switch-up strategy
take into account RSFT. is to prevent playback interruption which might occur in
In real-time DASH, different RSFTs of different DASH case of aggressive switch-up operations. During a step-wise
clients will cause unfairness especially to those short switch-up, moreover, buffered media time can rise to a
lived and lately joined clients. In the beginning of DASH, more safety level to prevent buffer underflow due to a
if RSFT calculated by Eq. (5) is smaller than , the priority sudden bandwidth decrease. So the initial buffering time,
RSFT for a serial segment fetching method spent to buffer the media time to reach its minimum, can be
,
ðRSFT s Þ in Eq.
(10), then RSFT is replaced by RSFT . Once RSFT calculated set as a relatively small value to reduce the delay before
, s
by Eq. (5) is larger than RSFT s , RSFT will always be set as starting playback.
Eq. (5). Switch-down: It will be performed if the following
inequality holds
,
RSFT s ¼ rUMSD ð10Þ SFTM o 1ed ð15Þ
,
In this paper, r is selected as 0.75. RSFT s is especially The left term of Eq. (15) compares the selected media
important for DASH clients whose initial buffered media bitrate to the current bandwidth in terms of ratio of the
time is much lower than the ISFT. The priority RSFT has a optimum segment fetch time to the actual segment fetch
larger impact on the parallel segment fetch method time, while the right term represents the condition to
compared to the serial segment fetching method since switch-down to a lower representation level.
the former occupies the larger ISFT compared to the later. To identify ed , the minimum bitrate switch-down ratio of
The priority RSFT will be further discussed in Section 7. all representation levels ðemin
d Þ and bitrates switch-down
The rate adaptation deploys a step-wise switch-up and ratio of the current representation level ðecd Þ are used. emin
d is
a multi-step based switch-down method to change the calculated as
representation level. The condition of switch-up/down and
emin
d ¼ minfðbri bri1 Þ=bri , 8i ¼ ½0,1,:::,N1g ð16Þ
the corresponding operations are described as follows:
Switch-up: It takes place if the following condition ecd is calculated as
holds: c
e ¼ ðbrc brc1 Þ=brc ð17Þ
d
SFTM 4 1 þ eu ð11Þ
Then ed is calculated as
In Eq. (11), the left term represents the metric to detect ed ¼ maxf2emin c
d , ed g ð18Þ
spare network bandwidth and the right term denotes the
condition to switch-up to the next higher representation In case of congestion, SFT will be much larger than ESFT,
level. eu , is determined according to the maximum i.e. RAM is lower than 1. Hence Eq. (18) selects a switch down
bitrates jump-up ratio of all representation levels emax u
factor at least larger than a specific value such as 2emin
d which
and bitrates jump-up ratio of the current representation is used in this paper. When ecd is larger than 2emin
d , we set ed
level (ecu ). emax
u is calculated as as ecd . Eq. (18) enables the proposed rate adaptation algorithm
to provide an advanced convergence property. For a rate
emax
u ¼ maxfðbri þ 1 bri Þ=bri , 8i ¼ ½0,1,:::,N1g ð12Þ
adaptation algorithm of DASH, providing an advanced con-
emax
u provides a conservative switch-up factor, which vergence property is one of most challenging task since the
improves the convergence property of the proposed rate switch-up and switch-down behaviors from different DASH

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 13

clients will affect other clients. In this paper, we propose Eqs. The proposed rate adaptation algorithm of the serial
(14) and (18) to provide a conservative switch-up and segment fetching method is described as the following
switch-down for improving the convergence property. pseudocode.

Proposed Algorithm 1. Rate adaptation of the serial segment fetching method operated at the client.
Initialize the current representation level i as 0
Send HTTP GET the first segment request immediately
While User has not stopped the current DASH and more segments are available for fetching
Wait for an event
If (Received a segment and t id r 0) or (timeout to request the next segment)
If switch up condition meets
Set representation level to the next higher level
Else if switch down condition meets
Representation level i is determined as the first representation r i to meet the inequality (19)
Else
Representation level remains unchanged
Send HTTP GET the next segment request immediately
If Received a segment and t id 4 0
Idle t id period before sending HTTP GET the next segment request
End while

To support the conservative switch-down, a client buffers 7. Proposed rate adaptation algorithm for parallel
enough amount of media time to recover from a severe segment fetching method
bandwidth decrease. To accumulate media time, this paper
deploys an additive increase and multiplicative decrease In this section, we present a novel rate adaptation
strategy to adapt the representation level. algorithm for the parallel segment fetching method based
In the switch-down, an aggressive switch-down will on the proposed rate adaptation metrics, i.e. SFTM and
be performed. The selected representation level is deter- PFTM. In this section, SFTM and PFTM are uniformly
mined to be the first representation (in descending order) denoted as rate adaptation metric RAM.
with level r i to meet The rate adaptation algorithm also deploys a step-wise
bri o SFTMUbrc ð19Þ switch-up and an aggressive switch-down method, which
are determined according to the following two cases.
The idle time calculation algorithm is deployed before
Switch-up: It takes place if all RAMt of the parallel
sending the next GET request in order to prevent client
received segments meet the following condition
buffer overflow, in a similar manner as Eq. (3) presented
in the parallel segment fetching method. RAMt 4 1 þ eu ,8t ¼ ½t0 , t0 þ 1,:::, t0 þ w1 ð20Þ

Fig. 6. An example of demonstrating unfairness between different clients due to the different RSFTs: (a) first client playback timestamp of each segment
and the ESFT to fetch the segment #i and (b) second client playback timestamp of each segment and the ESFT to fetch the segment #j.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
14 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

where the left term represents the metric to detect conges- Since RSFT covers more than two segment durations, it is
tion and the right term denotes the condition to switch up to larger than ISFT. So ESFT needed to fetch segment i is equal
the next higher representation level. In the above switch-up to ISFT according to Eq. (6). For the second client, shown in
condition, a sliding window is used to compare the latest w Fig. 6(b), the current playing segment is j3 when the
number of RAMt with the switch-up threshold to decide second client requests segment j at time instant t_reqj .
whether or not to perform a switch-up. And the rate Under the same TBMT with the first client, RSFT of the
adaptation index (t) starts from t0 instead of 0 to set a second client is less than ISFT. Thus ESFT required to fetch
minimum received potion media duration for each RAMt . segment j is equal to RSFT according to Eq. (6) for the
RAMt can be used as the rate adaptation metric if the ratio of second client. As networks undergo a saturated status, it
the received portion duration and the segment duration is might be difficult for the second client to accumulate
larger than a predefined threshold (d) or PFT is larger than buffered media time and RSFT may be sustainably lower
ISFT as than ISFT. In real-time DASH, different ESFTs of different
  clients will cause different achievable media bitrates, since
MPDk
t0 ¼ argminðkÞ Z d or MPDk 4 ISFT , ESFT determines RAM, SFTM and PFTM, according to Eqs.
MSD
(7) and (8).
8k ¼ ½0,1,:::,np 1 ð21Þ
To solve the problem of unfairness caused by different
The reason of setting t0 is to smooth the short-term RSFTs of different clients, this paper presents a method of
TCP transmission variation. d is set as 0.7 in this paper. eu deploying the priority RSFT for parallel segment fetching
,
is calculated as in Eq. (14). method ( RSFT p ) in the beginning of DASH. If RSFT
Switch-down: It will be performed if the RAMt0 meets ,
the following condition: calculated by Eq. (5) is smaller than RSFT p calculated by
,
RAMt0 o 1ed ð22Þ Eq. (24), then RSFT is replaced by RSFT p . Once RSFT
,
t0 is the starting rate adaptation index determined as calculated by Eq. (5) is larger than RSFT p , RSFT will be
Eq. (21). ed is calculated as in Eq. (18), which provides a calculated as in Eq. (5).
conservative switch-down performance since ed is set as
,
at least larger than 2emin
d . RSFT p ¼ ð1 þ ðnup 1Þ=2ÞMSD ð24Þ
In the switch-down, an aggressive switch-down will ,
be performed. The selected representation level is deter- RSFT p allows newly started DASH clients to success-
mined to be the first representation (in descending order) fully switch-up to the appropriate medium representation
with level r i to meet level.
The rate adaptation algorithm of the parallel segment
bri oRAMt0 brc ð23Þ fetching method is shown in the following pseudocode,
The fairness between different clients is one of the which operates as the rate adaptation module in Algorithm 1.
important factors to evaluate the efficiency of a rate
Proposed Algorithm 2. Rate adaptation of the parallel
adaptation algorithm. Fig. 6. shows an example demonstrat-
segment fetching method operated at DASH client.
ing the occurrence of an unfairness between the two clients
If switch-up condition is met
because of the sustained different ESFTs. Fig. 6(a) and (b)
Set representation level to the next higher level
depict the ESFTs of the first and the second clients, Else if switch-down condition is met
respectively. In Fig. 6, the same term and definition of the Representation level i is determined with the first
symbols are used as in Fig. 4 to depict the playback time- representation r i to meet Eq. (23)
Else
stamps of the first frame of each segment, the playback
Representation level remains unchanged
durations of each segment and the playback timestamp End
axes. It is assumed that the first client starts DASH earlier
than the second client. In this example, we assume that the
spare network bandwidth is available when the first client 8. Simulation results
starts DASH and the network bandwidth is scarce when the
second client starts DASH. In Fig. 6(a), the first client reaches The proposed rate adaptation algorithms for the serial
a relatively higher representation level 5 and buffers a large and the parallel segment fetching methods in CDN are
amount of media time at time instant t_reqi using the spare implemented in ns2 [25]. In ns2, the proxy cache module
networks. The second client in Fig. 6 (b), however, stays at a consists of the standard proxy cache, the client and the
lower representation level 1 and only buffers a small server which operate on HTTP/TCP protocols. Recently,
amount of media time at time instant t_reqj as the networks Müller and Timmerer [26] presented a reference software
enters a saturated status when the second client starts for DASH so that rate adaptation algorithms can be
DASH. The different buffered media time results in different implemented in the reference software for evaluation.
RSFTs, which further causes different ESFTs as demon- The bandwidth dynamic and packets loss are emulated
strated in Fig. 6. using the traffic shaping tools operated on the rooter or at
To the first client, shown in Fig. 6(a), the current playing the end user device. However, emulating the distributed
segment is segment i5 when the first client requests networks such as CDN is not an easy task. For emulating
segment i at time instant t_reqi . In this example, ISFT equals CDN, first, a distributed network topology should be
to two times MSD as nup is set as 2 and TBMT equals MSD. created. For evaluating the dynamics of the distributed

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 15

network resources, each edge server should be equipped DASH client group size was increased to 10, 20 and 30 or
with the traffic shape tool. Second, it is complex to specify even more, it is not feasible to observe each client
the transporting pass for traffics in the distributed net- evolution process. To conduct and report extensive simu-
works, e.g., determining the route between the DASH lation results, the distribution of the representation levels
server and the DASH client for each segment. In contrast, of DASH clients are reported. The histogram of the
all of the above issues are easy in ns2. Therefore, ns2 is a representations level, which indicates the occurrence fre-
good choice for evaluating the rate adaptation method for quency of each representation level, is an efficient tool to
DASH in CDN. evaluate the distribution of the representation levels.
In this paper we evaluate the rate adaptation algorithm Reporting each client histogram will also take many pages
in the aspects of (a) convergence in the requesting repre- with the large number of simulated clients. Hence, each
sentation level indicating the media bitrates, (b) fairness histogram is represented as the combination of two values,
between different clients, which compete for the edge which capture the features of the histogram and the
server bandwidth, (c) achievable media bitrate, (d) rate comprehensive results and details are reported in Section
adaptation speed and (e) buffer underflow frequency. 8.2. The mean of the average media bitrates is reported to
To our knowledge, few rate adaptation algorithms are evaluate the achievable media bitrates of the overall clients
published in the literature. Several HTTP streaming players and the buffer underflow frequency is reported, in Sections
exist such as Microsoft smooth streaming [5] and Adobe 8.3 and 8.4, respectively. Finally, samples of the representa-
OSMF player [6] have their own internal rate adaptation tion level evolutions are reported in Section 8.5.
techniques; however, they are not public. Hence it is not
feasible to compare the proposed rate adaptation algorithm
Table 2
with those players. Although we cannot implement the Two sets of bandwidth settings.
specific rate adaptation algorithm, it is possible to observe
the behavior of the commercial players. As mentioned in Bandwidth settings Links #1 Links #2 Links #3
the related work Section of this paper, Akhshabi et al. [15]
Bandwidth setting #1 (Mbits/s) 5.0 2.5 2.5
reported the experimental results and the evaluation Bandwidth setting #2 (Mbits/s) 9.0 6.0 6.0
focusing on the evolution of requesting media bitrates
over time using commercial players. In Section 8.5 of this
paper, samples of the representation level evolution are
reported for 10 different clients that compete for the
bandwidth of the edge servers. The proposed rate adapta- Table 3
tion algorithms are compared with the Smooth streaming Group size with the bandwidth setting #1.
reported in [15].
Reporting samples of evolution of the representation Bandwidth settings Minimum Maximum Step

levels has limitation in the coverage of reporting results Bandwidth setting #1 8 32 8


considering the page limitation. For example, when the

ExpR-0 ExpS-8

ES-0

ExpS-0 ExpS-1
Link #5

ExpR-1 ExpS-9
ExpR-8 ... ExpR- DASH
CDNS-0 11 client-0 ExpR-0 ExpS-2
Link #1
Link #2 ES-1 Link #4

DASH
...

DASH Internet
...

Link #3 client-1 DASH


server connector ES-0
ExpS-0 ExpR-2 client-0
...

ES-6
Link #5 Link #4
CDNS-4 ExpR-
... ExpR-
DASH
DASH CDNS- DASH
12 15 Link #3
Internet
ExpS- client-n Link #2 client-1
ExpR-6 server Link #1 0 connector
14
...

ExpS-6 ExpS-7
ExpS-1 ExpR-3
ES-7 ES-1 DASH
client-8

ExpR-7 ExpS-15 ExpR-1 ExpS-3

Fig. 7. Network topology of the simulation. (a) Topology #1, (b) Topology #2.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
16 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

8.1. Simulation topology and setting To simulate the dynamics of the Internet, background
traffic is added to each link between the CDN server and
Fig. 7 shows the network topologies used in the the edge server, and between the edge server and the
simulation. In the first topology Fig. 7(a), two layers of Internet connector by attaching the exponential traffic
media distribution networks are deployed including four senders (ExpS-id) and the corresponding receivers (ExpR-
CDN servers (CDNS-0, CDNS-1, CDNS-2 and CDNS-3) and id). Specifically, the exponential traffic senders are
eight edge servers (ES-0, ES-1, y, ES-7). In topology #2, two attached to the CDN servers (CDNS-id) and edge server
layers of media distribution networks are deployed includ- (ES-id). The corresponding exponential receivers are
ing one CDN server (CDNS-0) and two edge servers(ES-0 and attached to the edge servers (ES-id) and the Internet
ES-1). As shown in Fig. 7, the media segments are delivered connector. Both operating and idling periods of the expo-
from HTTP streaming server to CDN servers, edge severs, the nential traffic are set to 0.5 and the average bitrate of
Internet connector and finally to DASH clients. The edge exponential traffics during the operating period is set to
server fetches the segment from the connected upper layer 0.2 Mbits/s. The exponential traffics start from 0 s and end
CDN server, which then fetches the segment from the DASH at 1200 s.
server. The DASH server contains all representations of the The edge server selection method and the frequency of
media clip. In this paper, all segments are fetched from the switching the edge server affect the achievable media
DASH server. Caching scenario is not considered in this bitrates of the serial and the parallel segment fetching
paper. To simulate the above scenario, different clients methods. When a simple edge server selection method such
request the different media clips, hence all segments have as round-robin strategy, is used, the frequent switching of
not been cached by the edge servers when they receive a the edge server balances the edge server loads better than
HTTP GET segment request. the infrequent switching and will more efficiently utilizes
Table 2 shows the bandwidth settings of links #1, links the bandwidths of distributed edge servers. Hence the
#2 and links #3 in Fig. 7. The bandwidths in links #4 and achievable media bitrate of serial and parallel segment
links #5 are set as 2.0 Mbits/s. All link delays are set to fetching methods can be improved. As discussed in
2 ms. Topology #1 in Fig. 7(a) and the bandwidth setting Section 3, the proximity based edge server selection tech-
#1 are used to report the simulation results of Sections nique causes infrequent request redirection, and the short
8.2, 8.3 and 8.4. Topology #2 in Fig. 7(b) and bandwidth TTL based load balancing algorithm results in frequent edge
setting #2 are used to report the representation level server switching. Recall that the edge server selection
evolution in Section 8.5. method and determination of the frequencies of switching
To simulate practical congestion in real networks and edge server are out of the scope of this paper. Therefore, the
evaluate the rate adaptation algorithm, multiple DASH different frequencies of the switching edge server are
clients are simulated, which compete for the bandwidths simulated in order to evaluate the proposed rate adaptation
of the distributed edge servers in CDN. The clients are algorithms for the serial and the parallel segment fetching
classified into two groups. For the first group, clients start methods with respect to the different switching frequencies.
the DASH randomly in the time interval between 0 s and In the simulation, the frequencies of 1 and 0.25 are used for
10 s and end at 1200 s. For the second group, clients start switching edge servers, indicating switching edge servers
the DASH randomly in the time interval 400–410 s and every one segments and four segments, respectively. In
stop at 800 s. By increasing or reducing the number of addition, clients randomly select the initial edge server from
clients, denoted as group size, the rate adaptation effi- the set of edge servers to fetch the first segment. Under a
ciency can be evaluated for different levels of congestion. specific switching frequency, round-robin strategy is used to
Here the group size is the sum of the client’s number in switch the edge server.
the two groups. In our simulations, TBMT and the initial buffered
Table 3 shows the minimum group size, maximum media time are set to 20 s. For achieving adaptive HTTP
group size and group size jump step for the bandwidth streaming, the server provides ten sets of representations
setting #1. As shown in Table 3, the group size is much for clients to adapt the media bitrates wherein the media
larger than the number of edge servers. Hence multiple bitrates include 64, 128, 192, 256, 384, 512, 640, 896,
clients will compete for the bandwidth of the links between 1152 and 1408 Kbits/s and the corresponding representa-
the CDN server and the edge server, and the links between tion level starts from 0 and ends at 9, respectively. Bitrate
the edge server and the Internet connector in Fig. 7. For the changing step was set to increase as representation level
bandwidth setting #1, the simulation runs multiple times reaches to a higher level in order to achieve an equivalent
with different group sizes. The numbers of clients in the first quality improvement each time bitrate switches-up.
and the second group are equal.
For the first DASH client group, the simulation time is 8.2. Distribution of representation level
divided into three periods to report simulation results.
The three periods include 0–400 s, i.e., before starting the The histogram of the representation level r i is an
second client group, 400–800 s, i.e., when the second efficient metric for evaluating the rate adaptation algo-
client group compete for the bandwidth of the distributed rithm since the histogram indicates the frequency dis-
networks, and 800–1200 s, i.e., after ending the second tribution of the inputs. In the histogram calculation, the
client group. For the second client group, the simulation input is each segment representation level
results are reported in the period starting from 400 s and x ¼ fx0 ,x1 ,. . .,xH1 g and the output includes a vector of the
ending at 800 s. occurrence frequency of all possible representation levels

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 17

Fig. 8. An example of representation level histograms of two clients and corresponding (s2f , s2l ): (a) first client histogram (65.57, 2.33) and (b) second
client histogram (114.84, 0.5).

Fig. 9. Representation level distribution of each client using the proposed rate adaptation algorithm for the serial segment fetching method under the
edge server switching frequency 1: (a) 0–400 s, (b) 400–800 s and (c) 800–1200 s.

Fig. 10. Representation level distribution of each client using the proposed rate adaptation algorithm for the parallel segment fetching method under the
edge server switching frequency 1: (a) 0–400 s, (b) 400–800 s and (c) 800–1200 s.

cr ¼ fcr0 ,cr1 ,. . .,crM1 g and a vector of the distinct representa- paper, y is set as 5. Such a distinct representation level
tion level location b r ¼ fbr 0 ,b
r 1 ,. . .,b
r N1 g. In the former vector, locations ðb
r k Þ forms a vector of distinct representation level
the vector size of occurrence frequency M is equal to the locations denoted as b r.
number of all possible representation levels provided by the
content provider and the occurrence count is set as zero for b
r ¼ fb
r 0 ,b
r 1 ,. . ., rd
N1 g ¼ argr k ðc rk Z y, k ¼ 0,1,. . .M1Þ ð25Þ
a representation level that has not occurred. In the later
vector, if a representation occurrence count is larger than or where N denotes the size of distinct representation level
equal to a constant threshold y, then the corresponding location, which is smaller than or equal to M.
representation level is regarded as a distinct representation The variance is calculated over cr and b r to obtain the
level and the corresponding representation level value variance of the occurrence frequency of all possible
denotes the distinct representation level location. In this representation levels (s2f ) and the variance of distinct

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
18 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

Fig. 11. Representation level distribution of each client using the proposed rate adaptation algorithm for the serial segment fetching method under the
edge server switching frequency 0.25: (a) 0–400 s, (b) 400–800 s and (c) 800–1200 s.

Fig. 12. Representation level distribution of each client based on the proposed rate adaptation algorithm for the parallel segment fetching method under
the edge server switching frequency 0.25: (a) 0–400 s, (b) 400–800 s and (c) 800–1200 s.

representation level location (s2l ) as follows: larger s2f and a smaller s2l indicate a superior convergence,
PM1 hence the second histogram represents a more advanced
ðc c Þ2
s2f ¼ i ¼ 0 ri r ð26Þ convergence, which is consistent with our observation.
M
Figs. 9 and 10 plot the (s2f , s2l ) of each client for the
PN1 rate adaptation algorithms of the serial and the parallel
r Þ2
r ı b
ðb
s2l ¼ i¼0
ð27Þ segment fetching methods, respectively, in the interval of
N
0–400 s, 400–800 s, 800–1200 s, with the edge server
where cr denotes the mean of the occurrence frequency of switching frequency 1. Figs. 11 and 12 show the repre-
all possible representation levels and b r denotes the mean sentation level distributions, similar to Figs. 9 and 10
of distinct representation level locations, respectively. A but with the edge server switching frequency 0.25. The
large s2f and a smaller s2l indicate a superior convergence horizontal and vertical axes represent s2l and s2f , respec-
property and vice versa. tively. The dots distributed in the left-up corner of the
Fig. 8 shows an example of calculating s2f and s2l for two figure indicate better convergence compared to the dots
given histograms of representation levels and comparing the distributed in the right-bottom corner of the figure accord-
convergence property of the two histograms by comparing ing to the above mentioned rule that a larger s2f and a
the combination of s2f and s2l , denoted as (s2f , s2l ), of the two smaller s2l indicate better convergence performance. Four
histograms. As shown in Fig. 8, cr and b r of the first and the sets of group sizes from group size 8 to 32 are reported.
second histogram are f1,2,9,12,4,25,0,0,0,0g, f2,3,5g, and Comparing the convergence properties of the three
f1,2,4,3,7,35,0,0,0,0g, f4,5g, respectively. As can be observed periods in Figs. 9 and 10, the best results are given in the
from Fig. 8, the second histogram represents a superior period of 800–1200 s, medium results are in period 0–
convergence compared to the first histogram because of 400 s and the worst results are shown in period 400–800 s
the following two reasons. First, the shape of the second for the proposed rate adaptation algorithms. The reasons
histogram is sharper than that of the first histogram. Second, are as following. In the period of 800–1200 s, less clients
the distinct representation levels are more focused in the compete for the bandwidth compared to the period of
second histogram compared to the first histogram. According 400–800 s and the starting representation level is larger
to Eqs. (26) and (27), (s2f , s2l ) of the first and the second than 0. In the period of 0–400 s, the representation level
histogram are (65.77, 2.33) and (114.84, 0.5), respectively. starts from 0. In the period of 400–800 s, more clients
The second histogram gives a larger s2f and a smaller s2l compete for the bandwidth compared to the other peri-
compared to the first histogram. As mentioned before a ods. In addition, the convergence property of the rate

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 19

adaptation algorithms depends on the group size accord- distributed edge servers, the number of clients may be
ing to the simulation results in Figs. 9 and 10. When the dynamically changing, which causes variation in the
group size is 8 or 16, the rate adaptation algorithms sharable bandwidth. Furthermore, the rate adaptation of
provide an improved convergence. The convergence level one client might cause a change in the rate adaptation of
is still acceptable for the group size 24. But it becomes other clients because of the varying sharable bandwidth.
worse when the group size was increased to 32, which For example, when several clients compete for the band-
needs to be improved further. However, the above results width in a common link, a switch-up behavior of a client
already show that the proposed rate adaptation algorithm may cause the reduced sharable bandwidth for other
is superior to the behavior of the Smooth streaming clients, while, a switch-down behavior of a client may
player, wherein the two players compete for the band- result in the increased sharable bandwidth in the other
width of a common link, which was reported in section 6 clients. Such a relation between different clients is called
of [15]. According to the evaluation reported in [15], the inter-client effect in this paper. The inter-clients affection
second player, which started later than the first player, will increase along with an increase in the group size.
failed to switch-up to the appropriate level and kept Moreover, the edge server selection and load balancing
oscillating between some lower representation levels algorithm affect the variation in the sharable bandwidth
due to the competition from only two players. Improved of each client and hence affect the convergence property
convergence is reported in Figs. 9 and 10 with the group of the rate adaptation algorithm of DASH.
size from 8 to 24 compared to the results and evaluation Comparing the rate adaptation algorithms for the
in [15], wherein the group size was 2. serial and parallel segment fetching methods, shown in
Providing improved convergence for a large group of Figs. 9, 11, Figs. 10, 12, respectively, the simulation results
DASH clients in CDN is still an open and challenging task show that the rate adaptation algorithm for the serial
because of the following reasons. In the scenario of segment fetching method slightly outperforms the rate
multiple clients competing for the bandwidth in the adaptation algorithm for the parallel segment fetching

Fig. 13. Mean of average bitrates of the first group with edge server switching frequency 1: (a) the first group in 0–400 s and (b) the first group in
800–1200 s.

Fig. 14. Mean of average bitrates of two groups with edge server switching frequency 1: (a) the first group in 400–800 s and (b) the second group in
400–800 s.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
20 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

Fig. 15. Mean of average bitrates of the first group with edge server switching frequency 0.25: (a) the first group in 0–400 s and (b) the first group in
800–1200 s.

Fig. 16. Mean of average bitrates of two groups with edge server switching frequency 0.25: (a) the first group in 400–800 s and (b) the second group in
400–800 s.

method in the terms of convergence in the representation Table 4


level. Comparing the rate adaptation performance with Buffer underflow frequency.
respect to the different edge server switching frequency,
Group Buffer underflow frequency
no significant difference is observed. size
Edge server switching Edge server switching
8.3. Average bitrates with varying group size frequency 1 frequency 0.25

RA for the RA for the RA for the RA for the


The mean of the average media bitrates for the serial parallel serial parallel
different group sizes are reported with the bandwidth
setting #1, for analyzing the rate adaptation algorithms 8 0 0 0 0
with the respect to the achievable media bitrates under 16 0 0 0 0
24 0 0 0 8
the conditions of the different crowded networks. In Figs.
32 0 2 0 15
13–16, the y and x axes denote the mean of the average
media bitrates of each client group and the group size,
respectively. And the Serial-DASH-G1/2 and the Parallel- 800–1200 s is half of the group size. Fig. 14(a)–(b) shows
DASH-G1/2 denote the rate adaptation results for the serial the mean of the media bitrates of the first and the second
and parallel segment fetching methods in the first/second group in the period of 400–800 s. In this period, the
group, receptively. Fig. 13(a)–(b) shows the mean of the distributed bandwidths are shared by the clients of the two
media bitrates of the first group in the period of 0–400 s and groups, so the number of active clients is equal to the group
800–1200 s, respectively. In both periods, the distributed size. Comparing the rate adaptation algorithms for the serial
networks bandwidths are only used by the clients of the first and the parallel segment fetching methods, the mean of the
group without competition from the second group. So the media bitrates of the rate adaptation algorithm for the
number of active clients in the period of 0–400 s and parallel segment fetching method is higher than that of the

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 21

serial segment fetching method in most of the cases. server switching frequency is changed from 1 to 0.25. The
Comparing the results in Figs. 13 and 14, the achievable main reason is that the frequent edge server switching
means of the average media bitrates in the period of the 0– strategy balances the loads of the distributed edge servers
400 s and 800–1200 s are larger than those in the period of better than the infrequent edge server switching strategy. It
400–800 s. The reason for this is that the clients of the indicates that the rate adaptation algorithms depend on the
second group become active in the period 400–800 s. In performance of the load balancing method, hence it is worthy
addition, the mean of the media bitrate decreases along with to develop an advanced load balancing algorighm and edge
an increase in the group size in the rate adaptation algo- server selection method for improving the performance of
rithms for the serial and parallel segment fetching methods. DASH especially with respect to achievable media bitrates.
To evaluate the efficiency of the proposed rate adaptaiotn
methods with different edge server switching frequencies, 8.4. Buffer underflow frequency
simulation results with the edge server switching frequencies
of 0.25 are reported in Figs. 15 and 16. Simualtion results Table 4 reports the frequency of the buffer underflow for
show that the performance of the achievable media bitrates various group sizes. The edge server switching frequencies
decreases in the rate adaptation algrorighms for the serial include 1 and 0.25. In Table 4, the rate adaptation algo-
and the parallel segment fetching methods when the edge rithms for the serial and the parallel segment fetching

Fig. 17. Representation level evolution of the rate adaptation algorighm for the serial segment fetching method with group size 10 and bandwidth
setting #2: (a) clients of the fist group and (b) clients of the second group.

Fig. 18. Representation level evolution of the rate adaptation algorighm for the parallel segment fetching method with group size 10 and bandwidth
setting #2: (a) clients of the first group and (b) clients of the second group.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
22 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

methods are uniformly noted as RA. Buffer underflow has 30 s. In the period of 400–800 s as shown in Fig. 18(a),
not occurred in the rate adaptation algorithm for the serial some clients have switched-down to a lower layer by
segment fetching method. However, buffer underflow taking more time compared to the rate adaptation algo-
occurred twice and 23 times in the rate adaptation algo- rithm of the serial segment fetching method in Fig. 17(a).
rithm for the parallel segment fetching method with edge However, clients of the second group in Fig. 18(b) are able to
server switching frequency 1 and 0.25, respectively. Simula- switch-up to a higher level as fast as in Fig. 17(b). In the
tion results indicate that the underflow frequency depends period of 800–1200 s of Figs. 17 (a) and 18(a), after remov-
on the edge serve switching frequency. In-frequent edge ing the clients of the second group at 800 s, clients of the
server switching cause a higher interruption frequency in first group will reach to the highest level using less than
the clients compared to frequent switching. The reason is 20 s. The representation level evolution results show that
that frequent edge server switching provides a more the proposed rate adaptation algorithms quickly switch-up
advanced load balancing algorithm compared to in-frequent and switch-down representation levels by efficiently iden-
switching. The target of the parallel segment fetching tifying spare network capacities and network congestion. If
method is to improve the achievable media bitrates by fully spare network bandwidths are available, fetching segment
utilizing the distributed edge server bandwidths. To improve takes less time compared to the optimum segment fetch
the achievable media bitrate, however, an advanced load time, i.e. ESFT. Otherwise, if the networks become congested,
balancing algorithm is required. Without an advanced load segment fetch time is larger than ESFT. Hence, the proposed
balancing algorithm, the rate adaptation algorithm for the rate adaptation method can switch-up and switch-down
parallel segment fetching method may suffer from a rela- representation level quickly.
tively higher buffer underflow as shown in Table 4. The Second, the convergence behavior, fairness between
parallel segment fetching method improves the achievable different clients and inter-client effect can be evaluated
media bitrates as reported in the simulation results in through the evolution of the representation levels. In the
Section 8.3. So it is worthy to further exploit the load period of 0–400 s and 800–1200 s of Figs. 17(a) and 18(a),
balancing algorithm of the CDN to improve the performance the proposed rate adaptation algorithms for the serial
of DASH rate adaptation algorithm and further enhance the segment fetching method and the parallel segment fetching
media streaming experience perceived by users. method show an improved convergence and a better fairness
between clients in the first group. In the period of 400–800 s,
8.5. Representation level evolution Figs. 17(a) and 18(a) show that clients of the first group will
switch-down to a lower level to react to the newly joining
In this sub-section, the representation level evolutions clients of the second group. And Figs. 17(b) and 18(b) show
are reported to demonstrate the instantaneous changes of that clients of the second group will switch-up to the
the representation level over time. The network topology appropriate higher representation level.
#2 shown in Fig. 7(b) and the bandwidth setting #2 are In Fig. 17(a) and (b), clients of the first and the second
used to report the representation level evolution. The group converge to the levels 6–9, which indicates that the
edge server switching frequency is set to 0.25. There are proposed rate adaptation algorithm provides a decent
five clients in the first and the second group. To evaluate convergence and fairness between different clients. Close
the inter-client effect, the proposed rate adaptation algo- to time 600 s, a switch-up occurred for several clients in
rithm behavior is compared with the rate adaptation the first group, which resulted in other clients having to
behavior of Smooth streaming reported in [15]. switch-down to a lower level. For example, a switch-
Figs. 17 and 18 show the representation level evolu- down occurred in the client#3 and client#4 in the first
tion of the rate adaptation algorithms for the serial and group. When multiple clients compete for the sharable
the parallel segment fetching methods, respectively. The y bandwidth, improving convergence becomes a challen-
and x axes denote the instantaneous representation level ging task as discussed in Section 8.2. As shown in the
and the simulation time, receptively. In both figures, the simulation results, a severe hopping of the representation
results of the rate adaptation algorithm in the first group and levels is avoided using the proposed SFTM and the
the second group are reported in (a) and (b), respectively. conservative switch-up and switch-down factor given in
First, the rate adaptation speed can be observed from Eqs. (14) and (18), respectively.
the representation level evolution. The rate adaptation In Fig. 18(a) and (b), most of the representation levels
speed is one of the most important factors for evaluating of the first and the second group converge to levels 6–9. In
the efficiency of the rate adaptation algorithm for DASH. Fig. 18(a), a client switches-down to a lower level near
A fast switch-down prevents the client buffer underflow 550 s but it quickly switches-up to a higher level. Once
and a fast switch-up affects playback media quality. In the congestion is detected, the proposed rate adaptation
period of 0–400 s of Figs. 17-(a) and 18(a), the represen- method deploys the multi-step based switch-down strategy,
tation level can switch-up from level 0 to level 6 in less which may cause over switching-down. To prevent playback
than 20 s and can switch-up to the highest level in less interruption in DASH due to client buffer underflow, the rate
than 30 s, respectively. In the period of 400–800 s, the adaptation for DASH should be equipped with a faster
networks become congested because the clients of the switch-down speed compared to the rate adaptation for
second group start DASH randomly at the period of 400– the RTP/UDP based streaming scenario. In media streaming
410 s. In this period as shown in Fig. 17(a), the clients of over HTTP, congestion will cause a TCP congestion window,
the first group and the second group switch-down and a TCP throughput decrease, and packets retransmission. It
switch-up to the appropriate representation level within will further result in serious draining of the buffered media

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]] 23

time in the client’s buffer. In case of over switching-down, metric is proposed, which can detect spare networks
the rate adaptation method can switch-up the representa- capacity and network congestion. The proposed rate
tion level to the optimum level with a fast speed by using adaptation metric compares the expected segment fetch
the proposed rate adaptation metrics as shown in the time (ESFT) with the measured segment fetch time and
results in client #4 near 550 s. To further improve conver- determines if the current media bitrate matches the
gence, the sliding window strategy is used in this paper to network capacity. The optimum segment fetch time is
measure the multiple rate adaptation metrics for switching- decided by the ideal segment fetch time (ISFT) and the
up. Each rate adaptation metric represents the reception of a real-time remaining segment fetch time (RSFT). The ISFT
segment or a portion of a segment, i.e. portion, which can be is determined by the media segment duration (MSD)
fetched in parallel from the distributed edge servers. The multiplied by the parallel HTTP threads to deliver seg-
observation of the multiple segments or portions reception ments. The RSFT depends on the reception history of
can efficiently represent the current bandwidths capacities previous segments and is related to the buffered media
in the distributed networks. Meanwhile, in order to avoid time in the client buffer. Based on the proposed rate
affecting the speed of switching-up, the representation adaptation metric, two novel rate adaptation algorithms
levels within the measuring window can be different. So for the serial and the parallel segment fetching methods
consecutive switching-up can occur as shown at the starting are presented in this paper. A sliding window strategy is
phase of DASH in all clients and near 550 s for client #4. used to measure multiple rate adaptation metrics to
As mentioned in the previous Section 8.2, when two reduce the fluctuation frequency in the representation
Smooth streaming players compete for the common link levels due to the different bandwidths in the different
bandwidth, the second player, which starts later than the edge servers distributed in the networks, while not
first player, fails to switch-up to the appropriate higher affecting switch-up speed. Furthermore, this paper inves-
level according to the experimental results and evaluation tigates the fairness issue between different DASH clients
reported in section 6 of [15]. Instead, the second Smooth which compete for the common link bandwidth. A
streaming player oscillates between the lower levels of method of solving unfairness is proposed which uses the
bitrates, which indicates the unfairness between the first priority based RSFT calculation method in the beginning
and the second player. The failure of switching-up in the phase of DASH for the newly joining clients. Extensive
later joined client in the Smooth streaming may be incurred simulation results are reported by simulating DASH in
as the rate adaptation algorithm deploys the buffered media CDN with multiple competing DASH clients. Simulation
time to decide switch-up and switch-down. Hence, if a results show that the efficiency of the proposed rate
player has not buffered enough media time, it will fail to adaptation algorithms in the aspects of switch-down
switch-up to the appropriate high level, which causes the and switch-up speed, convergence behavior and fairness
unfairness. between different DASH clients. The rate adaptation
In contrast, the reported samples of representation level algorithm for the parallel segment fetching method out-
evolutions in Figs. 17(b) and 18(b) show that clients of the performs the rate adaptation algorithm for the serial
second group, which start later than clients of the first group, segment fetching method with respect to achievable
can successfully switch-up to the higher representation level. media bitrates but slightly inferior with respect to con-
Simulation results of Figs. 17(b) and 18(b) demonstrate that vergence and buffer underflow frequency. In addition, the
the proposed rate adaptation algorithms can efficiently achievable media bitrates of the rate adaptation algorithm
reduce unfairness. Ten clients compete for the bandwidth for the serial and the parallel segment fetching method
in our simulation, while, two clients compete for the band- depends on the load balancing algorithm. For the parallel
width in [15]. Thus the competition between different clients segment fetching method, the buffer underflow frequency
in this paper is more severe. The severe competition makes it of the rate adaptation algorithm relies on the on the load
more difficult for the clients to switch-up and converge balancing algorithm. In future work, we will investigate
because of the severe inter-client effects. Although the further CDN optimization for DASH.
simulation conditions used are somewhat restricted, the
proposed rate adaptation algorithms show a fast switch-up
speed and an acceptable convergence behavior. Acknowledgment
Last, buffer underflow does not occur during the whole
period for clients of the first and the second group. In this This work was supported by the Academy of Finland,
paper, RSFT, which reveals the buffered media time status, is (application number 129,657, Finnish Programme for Centres
taken into account to determine ESFT to prevent the buffer of Excellence in Research 2006–2011). The authors would
underflow in a severe congestion. like to appreciate the efforts of the anonymous reviewers for
their comments which have improved the paper.
9. Conclusion
References
In this paper, we propose two rate adaptation metrics
and two rate adaptation algorithms for Dynamic Adaptive [1] R. Fielding, J. Gettys, J.C. Mogul, H. Frystyk, L. Masinter, P. Leach, T.
Streaming over HTTP (DASH). In DASH, segments can be Berners-Lee, Hypertext Transfer Protocol-HTTP/1.1, RFC 2616, June
requested one after another, called serial segment fetch- 1999.
[2] C. Krasic, K. Li, J. Walpole, The case for streaming multimedia
ing method, or they can be requested in parallel, called with TCP, in: Proceedings of the IDMS, Lancaster, UK, September
parallel segment fetching method. A novel rate adaptation 2001.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001
24 C. Liu et al. / Signal Processing: Image Communication ] (]]]]) ]]]–]]]

[3] B. Wang, J. Kurose, P. Shenoy, D. Towsley, Multimedia streaming via [16] R. Kuschnig, I. Kofler, H. Hellwagner, Evaluation of HTTP-based
TCP: an analytic performance study, ACM Transactions on Multi- request-response streams for internet video streaming, in: Pro-
media Computing Communications and Applications (TOMCCAP) 4 ceedings of the ACM Multimedia Systems Conference (ACM MMSys
(2) (2008). 2011), San Jose, California, February 23–25, 2011.
[4] T. Kim, M.H. Ammar, Receiver buffer requirement for video stream- [17] R. Kuschnig, I. Kofler, H. Hellwagner, Improving internet video
ing over TCP, in: Proceedings of the SPIE VCIP, 2006, San Jose, CA, streaming performance by parallel TCP-based request-response
January 2006. streams. in: Proceedings of the Seventh Annual IEEE Consumer
[5] A. Zambelli, IIS Smooth Streaming Technical Overview, Microsoft Communications and Networking Conference (IEEE CCNC 2010),
Corporation, 2009.
January 2010.
[6] Adobe, HTTP Dynamic Streaming on the Adobe Flash Platform,
[18] S. Tullimas, T. Nguyen, R. Edgecomb, S. Cheung, Multimedia
Adobe Systems Incorporated, 2010.
streaming using multiple TCP connections, ACM Transactions on
[7] 3GPP TS 26.234 Release 9: Transparent end-to-end Packet-
Multimedia Computing, Communications, and Applications (TOMC-
switched Streaming Service (PSS), protocols and codecs.
[8] ISO/IEC 23009-1: Dynamic Adaptive Streaming Over HTTP (DASH)- CAP) 4 (2) (2008).
Part 1: Media Presentation Description and Segment Formats, Draft [19] K. Evensen, D. Kaspar, C. Griwodz, P. Halvorsen, A. Hansen, P.
International Standard, August 30 2011. Engelstad, Improving the performance of quality-adaptive video
[9] 3GPP TS 26.247 Release 10: Transparent end-to-end Packet- streaming over multiple heterogeneous access networks, in: Pro-
switched Streaming Service (PSS), Progressive Download and ceedings of the ACM Multimedia Systems Conference (ACM MMSys
Dynamic Adaptive Streaming over HTTP (3GP-DASH). 2011), San Jose, California, February 23–25, 2011.
[10] C. Liu, I. Bouazizi, M. Gabbouj, Rate adaptation for adaptive HTTP [20] J. Dilley, B. Maggs, J. Parikh, H. Prokop, R. Sitaraman, B. Weihl,
streaming, in: Proceedings of the ACM Multimedia Systems Globally distributed content delivery, IEEE Internet Computing
Conference (ACM MMSys 2011), San Jose, California, February (2002) 50–58.
23–25, 2011. [21] B. Krishnamurthy, C.E. Wills, Y. Zhang, On the use and performance
[11] C. Liu, I. Bouazizi, M. Gabbouj, Parallel adaptive HTTP media of content distribution networks, in: Proceedings of Internet
streaming, in: Proceedings of the IEEE International Conference Measurement Workshop, 2001.
on Computer Communications and Networks (ICCCN 2011), [22] V.K. Adhikari, S. Jain, Z. Zhang. Where do you ’’tube’’? uncovering
Hawaii, July 31–August 4, 2011. YouTube server selection strategy, in: Proceedings of the IEEE
[12] S. Lam, J.Y.B. Lee, S.C. Liew, W. Wang, A transparent rate adaptation International Conference on Computer Communications and Net-
algorithm for streaming video over the internet, in: Proceedings of works (ICCCN 2011), Hawaii, July 31–August 4, 2011.
the Eighteenth International Conference on Advanced Information [23] G. Pallis, A. Vakali, Insight and perspectives for content delivery
Networking and Applications, Fukuoka, Japan, March 2004. networks, Communications of the ACM (CACM) 49 (No. 1) (2006)
[13] N. Färber, S. Döhla, J. Issing, Adaptive progressive download based
101–106.
on the MPEG-4 file format, Journal of Zhejiang University Science A
[24] C. Liu, I. Bouazizi, M. Gabbouj, Segment duration for rate adaptation
7 (Suppl. 1) (2006) 106–111 (Proceedings of International Packet
of adaptive HTTP streaming, in: Proceedings of the IEEE International
Video Workshop 2006).
Conference on Multimedia and Expo (ICME 2011), Barcelona, Spain,
[14] R. Kuschnig, I. Kofler, H. Hellwagner, An evaluation of TCP-based
rate-control algorithms for adaptive internet streaming of H.264/ July 11–15, 2011.
SVC, in: Proceedings of the ACM Multimedia Systems Conference [25] The network simulator Ns-2. Available [online]. /http://www.isi.
(ACM MMSys 2010), Scottsdale, Arizona, February 2010. edu/nsnam/nsS.
[15] S. Akhshabi, A. Begen, C. Dovrolis, An experimental evaluation of [26] C. Müller, C. Timmerer, A test-bed for the dynamic adaptive
rate-adaptation algorithms in adaptive streaming over HTTP, in: streaming over HTTP featuring session mobility, in: Proceedings
Proceedings of the ACM Multimedia Systems Conference (ACM of the ACM Mulitimedia Systems Conference (ACM MMSys 2011),
MMSys 2011), San Jose, California, February 23–25, 2011. San Jose, California, February 23–25, 2011.

Please cite this article as: C. Liu, et al., Rate adaptation for dynamic adaptive streaming over HTTP in content
distribution network, Signal Process. Image Commun. (2011), doi:10.1016/j.image.2011.10.001

You might also like