The science of binge-watching: Professor Tim Brecht's research helps to make streaming possible without time-lags or interruption

Wednesday, October 24, 2018

The following is excerpted from “The science of binge-watching,” a research news article published by the Natural Sciences and Engineering Research Council of Canada.

Imagine the year is 1998. Streaming your favourite shows on the Internet is but a pipe dream and you can’t stay informed of current events due to technical problems. Millions of people around the world are trying to access credible news sites at the same time, causing the server to crash. 

Fast forward 20 years to the present, you and millions of people around the world can simultaneously access websites or watch your favourite series and movies on the Internet, without lag-time or interruption. This is thanks in part to Tim Brecht, a University of Waterloo computer scientist, who is funded by the Natural Sciences and Engineering Research Council of Canada.

photo of Tim Brecht with Netflix on TV

Dr. Brecht, who researched web servers and made watching Netflix a smooth, interruption-free experience, not only developed the technology but also reaps from its benefits in his personal life: “On Netflix I have been watching Friends with my family. It is nice to be able to watch three or four episodes in a row and to have that continuity.” 

The service that Netflix provides is based on balanced servers. In the past, the company would have to buy more and more servers, to handle increased demand. Dr. Brecht’s research led to the development of techniques that made the servers substantially more efficient by making them able to simultaneously handle a greater number of users and requests. Today, the larger volume of video being streamed around the world means that their work has become critical to the user experience while watching services like Netflix. 

Let’s delve into the specifics of what Dr. Brecht and his team did: There are two pivotal tasks that make it possible for users to smoothly watch Netflix. These tasks are called prefetching the data and serializing requests.