Conviva has been building and operating the C3 platform (a.k.a the Intelligent Control Platform) for eight years, and we thought it might be informative to open the proverbial kimono a bit (not too much) and reveal some of the technology and our experiences over the eight years. To that end, we submitted a technical research paper to one of the top networking and systems academic conferences, NSDI (Networked Systems Design and Implementation). 

We are happy to announce that our paper was accepted alongside other premier companies such as Google. In addition, we also gave a talk at the NSDI conference in Oakland, CA on May 4th. Here’s a short preview. Enjoy.

Video quality expectations for Internet TV is quickly approaching that for cable and satellite TV. To meet these expectations, we must be able to optimize the quality of every single session continuously throughout the session. In practice, this means we pick the best combination of bitrate and CDN, amongst other factors, from many possible options for each and every client.

From the start we have taken a proactive approach to this optimization as opposed to the reactive approach most other solutions have chosen, the best and most obvious example of the latter being adaptive bitrate (ABR) algorithms. To build a proactive solution, we took on the challenge of trying to accurately predict the best bitrate and CDN selection for each session, then purposely repeating this procedure throughout the session.  This method optimizes for a fast start as well as uninterrupted playback at a high bitrate.

Building such a global prediction engine is clearly not straight-forward. One needs to first collect a massive amount of quality data in real-time, process and build a global prediction model based on this data also in real-time, and then make per-client decisions—you guessed it—in real-time. Of course, all of this needs to be at Internet-scale (i.e., all geos, all networks, millions of concurrent clients). And by the way, this has to work on all the 1000s of different device platforms that can play video.

How did we solve this? Take a look at our presentation and paper to learn more.