Sunday, November 25, 2007

YouTube, Netflix and Bit Torrent

This might be abit of a duh post, but NetFlix newish streaming movie service (or any streaming content service for that matter) could benefit immensely from using a bit torrent like application on its back end. Normal streaming services provide all the content (like YouTube), and this works great if your streaming to a set top box or can wait minutes to hours while the content caches. However, streaming real time over the net causes some problems, like the more popular the content is, the hard it is to get. Normal bit torrent fixes this problem, but due to the distributed nature and the need to balance the load isn’t well suited for streaming content, since the order is random or rarest first. The application I have in mind it a hybrid of bit torrent where the central server could provide all of the content and organize a P2P network. This would mean that when you clicked start on a movie the central server would check the network to see what the best way to get you the pieces of the file you need start the play. Then it would instruct your machine on where to get the pieces, which would likely be a combination of peers and the central system. As content progressed it could see what pieces would be available where and at what speed and do the download by availability not order in order to maximize the bandwidth. As long as all the pieces were present at the time they would be played, if really doesn’t matter when they are downloaded. This allows the central server to better load balance. This would allow the company to reduce the bandwidth it needs and while still providing the streaming you get with a regular http file transfer system. To truly make the system work well the files would remain resident on the systems until they have to be removed to make room for something else. This would allow “idle” machines to take a greater part of the load, since they could act more like seeds on a pure bit torrent network. Similarly if there was something in it for the user, this approach could be used for pure load balancing, by copying popular content to numerous machines in order to ensure the content would be available quickly. This could allow YouTube, and others to deal with flash crowds, especially localized ones like when a radio station mentions a clip or something.

No comments: