How mid-stream switching CDN is the trick to ending long tail slowness
With an average of 300 hours of videos uploaded every minute to YouTube in January, and with similar momentum gained by other OTT video services, the web’s video tail is quickly growing longer. Whereas 30 years ago everyone was watching the same few shows simultaneously on television, today there are millions of shows available for online streaming at any time.
Due to so many users requesting so many different files, streaming technologies are struggling to attain the high performance that they have been able to deliver up to now. Start times are becoming slower, and buffering rates are on the rise.
Video content is usually delivered to the users through a copy residing in a server located in close geographical proximity to the user (typically in the same city); this copy is commonly known as a cached copy. When local servers do not have a copy of the content available, they have to retain it from the origin server (where the content was originally stored, typically far away from the user) - a longer process that makes the videos slower to load for the users.
Whenever a local server is unable to offer video content through its cache, there is a cache miss. CDNs are therefore required to return to the distant source servers and request another copy of the video before they can provide the content to the users.
This occurs because of the long tail of video content.
Long tail content are videos that are not viewed by many users, but requested nonetheless. In services that offer millions of different videos viewed by just as many users, the cache server of the local CDN is unlikely to have a copy of all those video, therefore a cache miss is more likely to occur. The close-by server has to fetch a copy from a distant server before serving it up to the customer, and the result is a delayed video start time, as well as the possibility of buffering. That’s a cache miss.
Instead, when a user presses “play” on a video and a copy of the video resides in that server, content is served quickly to the user, resulting in a cache hit.
So why do we have so many cache misses with long tail content?
CDN caches store only the most popular content; videos in cache are the most requested, and whenever a new one becomes popular, old ones are removed. In such a dynamic industry, this algorithm cannot guarantee a high rate of cache hits.
It therefore seems that cache hits and long tail content just don’t get along. And that’s wrong!
New mid-stream CDN technologies are the trick for a higher rate of cache hits, even for content distributors that handle large numbers of videos.
By fetching content from multiple servers at the same time, services such as Hola CDN cache only the first few seconds of each video in fast servers located close to where the viewers are requesting it. The rest of the video is cached in other servers around the world, making the distribution cheaper. Whenever a user requests a video, the content will start immediately thanks to a cache hit in Hola’s fast servers for the first few seconds of the video, while the following segments will be provided by other sources which loaded in the meanwhile.
If the average video is 1,000 seconds long, and Hola CDN caches 5 seconds of it in one of their local, fast servers, then there is a caching space 200 times larger in each server!
Mid-stream switching CDNs reduce cache misses, resulting in fast start times and low buffering rates, and forever changing the game of long tail video distribution.