Tuesday, July 13, 2004

How to distribute video

D. S. Isenberg notes that R. Cringely is smoking crack when he says that we should try to squeeze high-fidelity video down the wire at 64kbps. But Isenberg doesn't go far enough: the fact is, both the circuit-switched telephone network and the packet-switched Internet are pretty inefficient ways to deliver high-fidelity video to the world.

Demand for video content, like demand for nearly all human content, follows something like a power law ("Zipf's Law") distribution. To a first approximation, this means that, at any given time, (1) the vast majority of people want to watch the same small number of shows, and (2) there is a small minority of people who all want to watch different movies from each other. So you want to send the 100 most popular movies to everyone, and the 1,000,000 least popular movies to one person each. Call these two groups the "head" and the "tail" of the demand distribution respectively.

The telecom network and the Internet are both "point-to-point" networks: for anything to get sent anywhere, the endpoints of the communication have to agree to open up a dedicated connection. This means that the load on the content provider scales roughly in proportion to the number of clients. (OK, well, there's ongoing research on cooperative proxy caching, but these systems are not fully deployed, and even when they were fully deployed it's not clear the proxy caching overlay can overcome the inherent per-client costs associated with the Internet's underlying architecture.)

For the head of the video demand distribution, point-to-point networks are fantastically inefficient, because the server can't send out the content that everyone wants at once --- it must send out the content to each client individually. And the tail of the video demand distribution is so long that it's basically futile to try to cram all those unique bytes of video down existing pipes. Even if you got a fiber optic line leading all the way from the ISP to your wall socket, the Internet's center would not hold --- there is not enough backbone bandwidth to carry all the video content people would want. We can upgrade the Internet, but it would be costly.

So what should we do? Well, as it happens, our department had a reading seminar last year on this very problem, and some bright people in the systems group have been devising solutions...

For the head, use TiVo on steroids: digitally broadcast all the most popular video over the air; put a big hard drive in everyone's house; cache all the video on the hard drive until the user wants to watch it. We have terabytes of data raining down on our houses every day, and nearly all of it goes completely unused.

For the tail of the distribution, use Netflix/Greencine on steroids: "sneakernet", a.k.a. physical media distribution. Physical media has high latency, but also high throughput and low cost. In a few years, an iPod-sized hard disk-based device will be able to hold dozens of DVD movies. You could mail one of these to your customers. Barring that (maybe hard drives remain too expensive to mail), optical disks improve more slowly, but the next generation of DVD will have higher capacity, and better video codecs will reduce the size of DVD-quality movies considerably. It should be possible to mail a dozen movies or more per disc by the end of the decade. Or, you could require that customers bring their iPods to the video store; the store, in turn, could use terascale sneakernet [note: 200K MS Word file] (Google HTML translation) to get each week's videos from central distribution.

Together, broadcast + caching + sneakernet are much more efficient than point-to-point networks. With the combination of these systems, you do give up the ability to get any video, in high quality, on demand at any time without leaving your living room --- but that wasn't going to scale at reasonable cost anyway.

p.s. Astute observers may ask: Well, web page demand follows a power law distribution too, so why shouldn't we use broadcast + caching + sneakernet for the web? The answer is that unlike movies, web pages (1) are relatively small, (2) change over time, (3) number in the billions, not the thousands; these three facts change the arithmetic, and make the point-to-point Internet more attractive. Nevertheless, these are mere engineering concerns; at the rate that hard drives are growing, it may soon be feasible to broadcast and cache a nontrivial fraction of the web in individual households.

No comments:

Post a Comment