Professional Documents
Culture Documents
Measurement Study of Netflix, Hulu, and A Tale of Three CDNs
Measurement Study of Netflix, Hulu, and A Tale of Three CDNs
Abstract—Netflix and Hulu are leading Over-the-Top (OTT) casual viewers who watch Hulu at least once a year and
content service providers in the US and Canada. Netflix alone 3 million paying subscribers. Both providers offer video at
accounts for 29.7% of the peak downstream traffic in the US in multiple quality levels, capable of adapting to the user’s avail-
2011. Understanding the system architectures and performance of
Netflix and Hulu can shed light on the design of such large-scale able bandwidth. Designing such large-scale, fast-growing video
video streaming platforms, and help improving the design of streaming platforms with high availability and scalability is
future systems. In this paper, we perform extensive measurement technically challenging. Because of their popularity and size,
study to uncover their architectures and service strategies. Netflix the design and traffic management decisions of these services
and Hulu bear many similarities. Both Netflix and Hulu video also have a profound impact on the Internet infrastructure.
streaming platforms rely heavily on the third-party infrastruc-
tures, with Netflix migrating that majority of its functions to the In this paper, we provide a detailed analysis of the Netflix
Amazon cloud, while Hulu hosts its services out of Akamai. Both and Hulu architectures, which are designed to serve a massive
service providers employ the same set of three content distri- amount of content by combining multiple third-party services.
bution networks (CDNs) in delivering the video contents. Using For instance, Netflix heavily utilizes the Amazon cloud ser-
active measurement study, we dissect several key aspects of OTT vice [3], replacing in-house IT by Amazon Web Service (AWS)
streaming platforms of Netflix and Hulu, e.g., employed streaming
protocols, CDN selection strategy, user experience reporting, etc. and using Amazon SimpleDB, S3, and Cassandra for file
We discover that both platforms assign the CDN to a video request storage [3]. Microsoft Silverlight [4] is employed as the video
without considering the network conditions and optimizing the playback platform for Netflix desktop users. Both Netflix and
user-perceived video quality. We further conduct the performance Hulu use Akamai, Limelight, and Level3 content distribution
measurement studies of the three CDNs employed by Netflix and networks (CDNs) for video content delivery. Such third-party
Hulu. We show that the available bandwidths on all three CDNs
vary significantly over the time and over the geographic loca- service-based architecture can be regarded as a system de-
tions. We propose a measurement-based adaptive CDN selection sign blueprint by future Over-the-Top (OTT) content service
strategy and a multiple-CDN-based video delivery strategy that providers.
can significantly increase users’ average available bandwidth. Despite the popularity of Netflix and Hulu, surprisingly few
Index Terms—CDN selection strategy, content distribution net- studies have been looking into their streaming service plat-
works (CDN), Hulu, Netflix, Over-the-Top (OTT) content service, forms. In order to understand the architectural design issues
video streaming. of such large-scale video streaming service platforms and their
implications, we conducted extensive measurement studies
I. INTRODUCTION from June to October 2011, with initial results being published
in [5] and [6]. This present paper integrates/unifies the results
1063-6692 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
ADHIKARI et al.: MEASUREMENT STUDY OF NETFLIX, HULU, AND TALE OF THREE CDNs 3
cloud [11]. Reference [10] indicates that Netflix uses var- 1) Silverlight Player Download and User Authentication:
ious Amazon cloud services, ranging from EC2 and S3 to Video playback on a desktop computer requires the Microsoft
SDB and VPC [11]. Key functions, such as content ingestion, Silverlight browser plug-in to be installed on the computer.
log recording/analysis, DRM, CDN routing, user sign-in, and When the user clicks on the “Play Now” button, the browser
mobile device support, are all done in the Amazon cloud. downloads the Silverlight application, and then that application
CDNs: Netflix employs multiple CDNs to deliver the video starts downloading and playing the video content. This small
content to end-users. The encoded and DRM protected videos Silverlight application is downloaded for each video playback.
are sourced in the Amazon cloud and copied to CDNs. Netflix 2) Netflix Manifest File: Netflix video streaming is con-
employs three CDNs: Akamai, LimeLight, and Level-3. For the trolled by instructions in a manifest file that the Silverlight
same video with the same quality level, the same encoded con- client downloads. The Netflix manifest file provides the DASH
tent is delivered from all three CDNs. In Section II-D, we study player metadata to conduct the adaptive video streaming. The
the Netflix strategy used to select these CDNs to serve videos. manifest files are client-specific, i.e., they are generated ac-
Players: Netflix uses Silverlight to download, decode, and cording to each client’s playback capability. For instance, if the
play Netflix movies on desktop Web browsers. The run-time en- user player indicates it is capable of rendering h.264 encoded
vironment for Silverlight is available as a plug-in for most Web video, h.264 format video is included in the manifest file. If the
browsers. There are also players for mobile phones and other player indicates that it can only play back .wmv format, only
devices such as Wii, Roku, etc. This paper, however, focuses on .wmv format video is included.
Silverlight player running on desktop PCs. The manifest file is delivered to the end-user via SSL connec-
Netflix uses the Dynamic Streaming over HTTP (DASH) tion, and hence the content of the file cannot be read over the
protocol for streaming. In DASH, each video is encoded wire using packet capture tools such as tcpdump or wireshark.
at several different quality levels and is divided into small We use Firefox browser and Tamper Data plug-in to extract
“chunks”—video segments of no more than a few seconds in the manifest files. The extracted manifest file is in XML format
length. The client requests one video chunk at a time via HTTP. and contains several key pieces of information including the list
With each download, it measures the received bandwidth and of the CDNs, location of the trickplay data, video/audio chunk
runs a rate determination algorithm to determine the quality of URLs for multiple quality levels, and timing parameters such as
the next chunk to request. DASH allows the player to freely timeout interval, polling interval, and so on. The manifest file
switch between different quality levels at the chunk boundaries. also reveals interesting information on the Netflix system archi-
tecture. For instance, they show that Netflix uses three CDNs
to serve the videos. Different ranks are assigned to different
B. Servicing a Netflix Client CDNs to indicate to the clients which CDN is more preferred
than others. A section of one of the manifest files is shown in
We now take a closer look at the interaction between the Fig. 3, where Level3 is listed as the most preferred CDN for this
client Web browser and various Web servers involved in client. We will conduct more elaborate experiments and discuss
the video playback process. Fig. 2 shows the timeline along more details of the manifest files later in this section.
which the streaming service is provided to a desktop client 3) Trickplay: Netflix Silverlight player supports simple
and indicates the involved server entities. The -axis in this trickplay such as pause, rewind, forward, and random seek.
figure shows the time from the beginning of the experiment Trickplay is achieved by downloading a set of thumbnail
to 5 min, and the -axis lists different activities. The client images for periodic snapshots. The thumbnail resolution, pixel
first downloads the Microsoft Silverlight application from aspect, trickplay interval, and CDN from where to download
movies.netflix.com and authenticates the user. After the trickplay file are described in the manifest file. The trickplay
authentication, the player fetches the manifest file from the interval for the desktop browser is 10 s, and multiple resolutions
control server at agmoviecontrol.netflix.com, based and pixel aspects are provided.
on which it starts to download trickplay data and audio/video 4) Audio and Video Chunk Downloading: As shown in
chunks from different CDNs. Client reports are sent back to Fig. 2, audio and video contents are downloaded in chunks.
the control server periodically. We describe further details of Download sessions are more frequent at the beginning so as
individual activities. to build up the player buffer. Once the buffer is sufficiently
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
ADHIKARI et al.: MEASUREMENT STUDY OF NETFLIX, HULU, AND TALE OF THREE CDNs 5
ADHIKARI et al.: MEASUREMENT STUDY OF NETFLIX, HULU, AND TALE OF THREE CDNs 7
Fig. 9. Overall CDN preference distribution. Fig. 10. CDN preference from geographic regions.
In summary, we conclude that Hulu selects the preferred CDN Furthermore, the byte “range” of the download can be adjusted
randomly following a fixed latent distribution for each of the without affecting the URL validity. Once we extract the URLs
playback requests. On average, one CDN (Level3) is preferred for the three CDNs, we “replay” the GET request from all van-
more than others, but such selection preference does not seem to tage points with byte range modified so that we download video
depend on instantaneous network conditions. It is also evident chunks of the same size.
that CDN selection is not affected by client location at which Similar to the actual Netflix video playback, when GET re-
the video is played. Also, the selection does not change over the quests are sent from a vantage point, the hostnames in the URLs
24 days that we measured. We conjecture that such CDN prefer- are resolved by DNS server, which returns the IP address of the
ence is most likely based on pricing and business arrangements edge server assigned by the CDN. To ensure the measured band-
and is not dependent upon instantaneous bandwidth or past per- widths of three CDNs are comparable, we send GET requests to
formance history of the CDNs. Note that the above CDN usage three CDNs in round-robin order within a short duration. More
analysis is not doable for Netflix since Netflix ties the CDN specifically, measurement is repeated in multiple “rounds,” with
preference to the individual user account. It is impractical to each round lasting 96 s. A round is further partitioned into four
create a large number of Netflix accounts to infer its CDN usage “slots,” with 24 s for each slot. The first three slots of each round
strategy. correspond to three CDNs, respectively, and we download video
chunks of size 1.8 MB. The last slot of each round is for a “joint”
IV. CDN PERFORMANCE MEASUREMENT measurement for all CDNs, i.e., we send GET requests to the
three CDNs simultaneously, each requesting video chunks for
In the previous sections, we have shown that Netflix ties
0.6-MB data. We intend to find out how much total bandwidth
the CDN preference to user accounts, while Hulu chooses the
one can get if all three CDNs are used simultaneously. We pick
preferred CDN for each video based on a latent distribution. In
the size of the chunks and length of “slots” based upon mul-
both cases, factors such as user geographic locations, network
tiple trial measurements. In our trials, we find that these numbers
conditions, and requested video contents do not trigger the
make sure that different experiments do not interfere with each
CDN preference change. These observations suggest that the
other and chunk size is sufficiently large so that we can have a
CDN preference and selection strategies employed by Netflix
good estimate of the bandwidth. We also send keep-alive mes-
and Hulu are plausibly due to business considerations such
sages to each server every second when no data is transferred to
as business relations (e.g., pricing agreements) between the
make sure that the TCP session is alive and sender window size
content providers and CDNs: While Netflix and Hulu employ
does not drop.
different CDN selection strategies (one ties the preferred CDN
The measurement is conducted for 2 h between 8–10 pm
to each user account, and the other ties to each video), both at-
CST, from June 8–26, 2011. Based on downloading time, we
tempt to distribute and balance the video serving traffic among
calculate the instantaneous bandwidth (i.e., throughput for each
the CDN in accordance with certain latent distribution. This
GET request), the one-day average bandwidth (average band-
raises a key design tradeoff in CDN selection decision-making,
width during the 2-h period), and average bandwidth (over en-
business constraints versus end-user QoE, and leads to the
tire measurement study). These metrics allow us to examine
following questions.
CDN performance at multiple timescales. We conducted exper-
• How does each CDN perform? Can the selected CDN
iments from both residential sites and PlanetLab nodes. There
server consistently support the bandwidth needed for
are 12 residential sites, 10 in New Jersey, 1 in Minnesota, and
high-quality streaming?
1 in California. The residential sites use five different service
• How do different CDNs compare in terms of performance?
providers. To cover a wider range of geographic locations, we
Is any CDN clearly better or worse than others?
also choose 83 PlanetLab nodes spread across the US as ad-
• How far is the current CDN selection strategy from
ditional vantage points. We ensure that all selected PlanetLab
“optimal”? Can the strategy be improved to support
nodes are lightly loaded so that the nodes themselves do not
higher-delivery bandwidth while conforming to the busi-
become the bottleneck and the measurement results reflect the
ness constraints?
actual bandwidth that can be supported by the CDN server and
In this section and Section V, we attempt to address the above
the network.
questions by conducting extensive measurement experiments
The rest of this section attempts to address the first two ques-
for the three CDNs used by Netflix from 95 vantage points
tions on CDN performance. We will further investigate the other
across the US.1
two questions on performance improvement in Section V. We
We measure the bandwidth throughput between each vantage
use CDNs , and to denote the three CDNs without par-
point and a given CDN server by downloading multiple video
ticular order in the rest of the discussion.
chunks from the CDN server. Video file URLs are collected for
all three CDNs from Netflix manifest files. Here, we take ad- A. Overall CDN Performance
vantage of the fact that the URLs in the manifest remain valid
for several hours from the time the manifest file is generated, Fig. 13 shows the locations of all vantage points in our exper-
and the validity of the URLs is not tied to client IP address. iments as well as the CDN with highest average bandwidth at
each vantage point during the measurement period. As the result
1As Hulu shares the same set of CDN providers with Netflix, and since the
indicates, no CDN clearly outperforms the others. In addition,
RTMPE protocol used by Hulu is more difficult to work with than the DASH
protocol used by Netflix, here we choose Netflix to conduct the CDN experi- Fig. 14 shows the cumulative distribution function (CDF) of
ments. average bandwidth at the PlanetLab nodes over the entire
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
ADHIKARI et al.: MEASUREMENT STUDY OF NETFLIX, HULU, AND TALE OF THREE CDNs 9
Fig. 15. Average bandwidth at PlanetLab nodes over the entire period.
Fig. 16. Average bandwidth at residential networks over the entire period.
measurement period. The available bandwidth at different
PlanetLab nodes varies significantly from location to location,
ranging from 3 to more than 200 Mb/s. The CDF curves
of three CDNs, however, are close to each other, indicating
similar overall performance. Figs. 15 and 16 further show
the average bandwidth at individual locations for PlanetLab
nodes and residential sites, respectively. The location index is
sorted in the ascending order of CDN ’s average bandwidth.
CDN bandwidth measured at PlanetLab nodes appear to have
much higher than that of residential sites in general. This is
because most PlanetLab nodes are located in universities,
which typically have better access links. This also implies that
in most cases, the last mile is still the bottleneck for streaming
video. However, even the residential sites with relatively low Fig. 17. Coefficient of variance for the one-day average at PlanetLab nodes.
bandwidth, e.g., homes 1 and 2 in Fig. 16, can support 1.3 Mb/s
on average, enough for standard-definition (SD) videos. daily bandwidth for all three CDNs. We show a few represen-
It is also interesting to note that home sites 4, 9, and 11 see tative locations in Figs. 18–20, which plot the one-day average
significantly different average bandwidth from different CDNs. bandwidth over the measurement period at one PlanetLab node
In particular, CDN outperforms all others considerably. We and two residential sites, respectively. The results show signif-
find that these three homes use the same ISP. It is conceivable icant variations of average bandwidth on a daily basis.
that CDN has a better presence in this provider’s network. Figs. 18– 20 show that the performance ranking of the three
CDNs also varies over time. Although the lowest CDN band-
B. Daily Bandwidth Variations width across all three nodes is still above 3 Mb/s—sufficient
Next, we examine the bandwidth variation at different sites to support SD levels—significant variations in bandwidth and
from the three CDNs over various timescales. We compute the varying rankings of CDNs over time suggest that further im-
coefficient of variance (CoV) of the daily average bandwidth at provement in CDN selection strategies is possible.
all PlanetLab nodes by computing the ratio of the standard devi-
ation to the mean at each of the locations. Fig. 17 shows the CoV C. Variations in Instantaneous Bandwidth
for the one-day average bandwidth at various PlanetLab nodes We further investigate the instantaneous bandwidth variation
over multiple days. We indeed see high CoV at most nodes. The during 2 h of video playing. This is important since a DASH
average CoV is 0.33, 0.30, and 0.30 for CDN , , and , re- player constantly monitors the available bandwidth to decide
spectively. At most locations, there are significant variations in which quality level of video to download. The small timescale
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
Fig. 18. One-day average bandwidth at a PlanetLab node over time. Fig. 21. Instantaneous bandwidth at a PlanetLab node.
Fig. 19. One-day average bandwidth over time at residential site 7. Fig. 22. Instantaneous bandwidth at residential site 7.
bandwidth may significantly impact the Netflix users’ viewing the available bandwidth on all three CDNs varies significantly
experience as 2 h is a typical length of a movie. Figs. 21–23 over time and over geographic locations. For instance, as shown
show the comparison of three CDNs for the same PlanetLab in Fig. 13, out of 83 PlanetLab locations, CDNs , and
node and residential nodes. Although the variance is still signif- perform best at 30, 28, and 25 locations, respectively. The
icant, there is a “pattern” in the bandwidth change. For example, measurement study of residential hosts shows similar results.
bandwidth for CDN in Fig. 21 alternates between two levels, Hence, if users are given a bad CDN choice, their video viewing
one around 35 Mb/s and one around 20 Mb/s. The average co- quality may suffer even though other CDNs can provide them
efficient of variation for a 2-h period is 0.19, 0.21, and 0.18, with a more satisfying experience. In addition to improving ex-
respectively, for CDNs , , and for residential sites. perience for “unlucky” users, exploring potential ways of in-
creasing video delivery bandwidth may also open doors for new
V. ALTERNATE VIDEO DELIVERY STRATEGIES bandwidth-demanding services in the future, e.g., 3-D movies
We have shown that Netflix and Hulu always prefer to use or multiple concurrent movies in the same household. In this
one CDN for video delivery, with the other two CDNs serving section, we first determine how much room is available for fur-
as backups: They are used only if the current CDN cannot sup- ther improvement. In other words, if we could have the optimal
port even the lowest video quality. We have also shown that CDN selection strategy in theory, how much better it would be
This article has been accepted for inclusion in a future issue of this journal. Content is final as presented, with the exception of pagination.
ADHIKARI et al.: MEASUREMENT STUDY OF NETFLIX, HULU, AND TALE OF THREE CDNs 11
Fig. 24. Average bandwidth and the upper bound at residential sites. Fig. 26. Effect of number of measurements.
(1)
subject to
(2)
(3)
Fig. 28. Best CDN versus three combined CDNs for PlanetLab nodes. (4)
ADHIKARI et al.: MEASUREMENT STUDY OF NETFLIX, HULU, AND TALE OF THREE CDNs 13
[16] D. K. Krishnappa, S. Khemmarat, L. Gao, and M. Zink, “On the fea- Volker Hilt (M’13) received the M.S. degree in
sibility of prefetching and caching for online TVservices: A measure- commercial information technologies and Ph.D.
ment study on Hulu,” in Proc. 12th PAM, 2011, pp. 72–80. degree in computer science from the University of
[17] V. K. Adhikari, S. Jain, Y. Chen, and Z.-L. Zhang, “Vivisecting Mannheim, Mannheim, Germany, in 1996 and 2001,
YouTube: An active measurement study,” in Proc. IEEE INFOCOM respectively.
Miniconference, 2012, pp. 2521–2525. He is leading the IP Platforms Research Group
[18] X. Liu et al., “A case for a coordinated internet video control plane,” with Bell Labs/Alcatel-Lucent, Stuttgart, Germany,
in Proc. SIGCOMM, 2012, pp. 359–370. with a focus on cloud computing and IP communica-
[19] A.-J. Su, D. R. Choffnes, A. Kuzmanovic, and F. E. Bustamante, tion. He joined Bell Labs/Alcatel-Lucent, Holmdel,
“Drafting behind Akamai: Inferring network conditions based on NJ, USA, in 2002 and moved to Stuttgart, Germany,
CDN redirections,” IEEE/ACM Trans. Netw., vol. 17, no. 6, pp. in 2012. He is a contributor to the Internet Engi-
1752–1765, Dec. 2009. neering Task Force (IETF) and has published over 50 papers and coauthored
[20] C. Huang, A. Wang, J. Li, and K. W. Ross, “Understanding hybrid more than 15 Internet drafts and RFCs. His field of research is computer
CDN-P2P: Why limelight needs its own Red Swoosh,” in Proc. networking, where he has made contributions in the areas of cloud computing
NOSSDAV, 2008, pp. 75–80. technologies, distributed multimedia systems, the Session Initiation Protocol
[21] A. Downey, “Using pathchar to estimate Internet link characteristics,” (SIP), content distribution networks, and peer-to-peer applications.
Comput. Commun. Rev., vol. 29, no. 4, pp. 241–250, 1999.
[22] M. Jain and C. Dovrolis, “Pathload: A measurement tool for end-to-end
available bandwidth,” in Proc. PAM, Mar. 2002, pp. 14–25.
[23] D. Croce, T. En-Najjary, G. Urvoy-Keller, and E. W. Biersack, “Fast Zhi-Li Zhang (S’96–A’97–M’03–SM’11–F’12) re-
available bandwidth sampling for adsl links: Rethinking the estimation ceived the B.S. degree from Nanjing University, Nan-
for larger-scale measurements,” in Proc. PAM, 2009, pp. 67–76. jing, China, in 1986, and the M.S. and Ph.D. degrees
[24] Netflix, “Netflix Open Connect content delivery network,” [Online]. from the University of Massachusetts, Amherst, MA,
Available: https://signup.netflix.com/openconnect USA, in 1992 and 1997, respectively, all in computer
science.
In 1997, he joined the Computer Science and
Engineering faculty, University of Minnesota, Min-
neapolis, MN, USA, where he is currently a Qwest
Chair Professor and Distinguished McKnight Uni-
versity Professor. His research interests lie broadly
in computer communication and networks, Internet technology, multimedia,
and emerging applications.
Dr. Zhang is a member of the Association for Computing Machinery
(ACM).He has co-chaired several conferences/workshops including IEEE
Vijay K. Adhikari received the Ph.D. degree in com- INFOCOM 2006 and served on the TPC of numerous conferences/workshops.
puter science from the University of Minnesota, Twin He is co-recipient of four Best Paper awards and has received a number of
Cities, Minneapolis, MN, USA, in 2012. other awards.
He is currently a Program Manager with the SQL
DB team, Microsoft, Redmond, WA, USA. His pri-
mary research area is large-scale content distribution.
Matteo Varvello received the Research Master’s
degree in network and distributed systems from
EURECOM, Sophia Antipolis, France, in 2006, the
M.Sc. degree (cum laude) in networking engineering
from the Polytechnic University of Turin, Turin,
Italy, in 2006; and the Ph.D. degree in computer
science from Telecom Paris, Paris, France, in 2009.
Yang Guo received the B.S. and M.S. degrees from He has been a Member of Technical Staff with
Shanghai Jiao Tong University, Shanghai, China, and Bell Labs, Holmdel, NJ, USA, since 2010. His
the Ph.D. degree from the University of Massachu- current research interests include software de-
setts, Amherst, MA, USA, in 2000. fined networking, content-centric networking and
He is a Member of Technical Staff with Bell high-speed packet classification.
Labs Research, Crawford Hill, NJ, USA. Prior to
the current position, he was a Principal Scientist
with Technicolor (formerly Thomson) Corporate
Research, Princeton, NJ, USA. His research interests Moritz Steiner received the M.S. degree (Diplom) in
span broadly over the distributed systems and net- computer science from the University of Mannheim,
works, with a focus on cloud computing, software Mannheim, Germany, in 2005, and the Ph.D. degree
defined networks (SDNs) and its security, and Internet content distribution in computer networks from Telecom ParisTech,
systems. Paris, France, and the University of Mannheim in
2008. His doctoral thesis focused on P2P-based
network virtual environments and large-scale P2P
network measurement study of Kad.
Fang Hao (S’98–M’00) received the B.S. degree from Tsinghua University, He was a Member of Technical Staff with Bell
Beijing, China, and the Ph.D. degree from the Georgia Institute of Technology, Labs, Murray Hill, NJ, USA, from 2009 to 2013,
Atlanta, GA, USA, both in computer science. with research interests in the areas of software
He is currently a Member of Technical Staff with Bell Labs Research, Alcatel- defined networks, peer-to-peer networks, and cloud computing. In 2013, he
Lucent, Holmdel, NJ, USA. He has published about 30 papers and 20 patents joined the Web Experience Foundry team with Akamai, San Francisco, CA,
for his work in networking systems, algorithms, and protocols. His research USA, the cutting edge arm of the Web Experience business unit. He participates
interests include software defined networks, cloud computing, routing, traffic in the overall Web experience product mission by exploring new and adjacent
engineering, and network monitoring. technology opportunities.