Netflix is the leading provider of online movies and TV shows, video streaming, in the US and Canada. Traffic management measures taken by Netflix impact the network infrastructure and users’ bandwidth availability. Netflix experienced fast growing demands and responded to the technical challenges to enhance availability and scalability; Netflix serves its massive amounts of content in an infrastructure-less fashion.
Researchers from the University of Minnesota and Bell-Labs produced a thorough and extensive research in 2011 to uncover Netflix infrastructure and video streaming strategies (see paper Unreeling Netflix: Understanding and Improving Multi-CDN Movie Delivery, Adhikari et.al.). Netflix popularity between users is supported by the use of multiple Content Distribution Networks (CDNs) that react to different bandwidth conditions offering discussable performance.
Netflix manages Internet video delivery with little infrastructure of its own. Netflix combines multiple third-party services and resorts to the use of cloud services. CDNs serve out video streaming. Amazon AWS (SimpleDB, S3) and Apache Cassandra are used for file storage. Microsoft Silverlight is the video playback platform.
After observing, monitoring, testing and measuring the network while playing videos in different locations and with different users, the authors obtained a picture of Netflix main structure, process and algorithms.
- Netflix handles itself user account registration and payment information
- In the Amazon cloud Netflix runs: user sign-in, mobile device support, CDN routing, content ingestion, log recording and analysis, and DRM
- Videos are served by 3 CDNs: Akamai, LimeLight and Level-3
- Streaming protocol: DASH (Dynamic Streaming over HTTP)
- videos encoded at different quality levels
- videos are divided in small “chunks”
- the client requests one chunk at a time via HTTP
- next-chunk quality is calculated based on bandwidth rate measures from previous chunk
- Akamai: designed to simplify delivery of standards-based, on-demand video by “in the network” packaging
- Level 3: offers Managed Video Network Services (MVNS), a fully managed video delivery, IP and networking solution
- Limelight: maximizes dynamic content delivery (commerce accelerator) and increase application availability, response times and security (portal accelerator)
- Download playback application (Microsoft)
- User authentication (Amazon)
- Manifest file retrieval (Amazon) with streaming controls, parameters and client-specific instructions.
- Download trickplay chunks from specified CDN, ranked in manifest file (Akamai, LimeLight or Level-3)
- Periodic “heartbeat or log” communication from user to server (Amazon)
- CDN selection is “static”; when communication degrades, Netflix lowers quality to the lowest level before switching to another CDN; most users use only one
- “the last mile is still the bottleneck for streaming video” (universities with better access links receive higher bandwidth than residential sites)
- Each CDN performance changes over time, throughout the day
- CDNs vary significantly over geographic locations
- Optimal CDN selection strategy: better CDN selection (time/location best-performing) and combining CDN providers throughout delivery achieves a 54-70% improvement
If you thought this was interesting and cool (because discovering it from scratch IS)… you may find more interesting to know that in 2012 Netflix changed it all! Netflix OpenConnect is their new design approach.
So a new unreeling, as well as the following topics will help understand the real pros of this and future initiatives…
- Analysis of other video streaming delivery systems, i.e. Hulu
- Develop practical HTTP adaptive streaming: utilize multiple CDNs simultaneously