Online distribution is increasingly popular these days due to streaming services such as Hulu. It’s easy to watch what you want, when you want it. Cloud computing is taking us back to client-server days where the “cloud” (a bunch of servers) do all the computing and you interact with the cloud via a browser. Now there’s even talk about streaming video games.
The problem with online distribution is that the internet wasn’t built for mass distribution. Every time you request a video, a separate connection is made and the content is sent to you individually. For a few users or small requests, this works well and efficiently – the content is only sent to those who request it - but when you look at large numbers of users streaming large video files, the system starts to break down. Each user is using separate bandwidth whether they’re watching the same file or different files.
In contrast, TV services from your cable or satellite company are broadcast based. They send the same signal to everyone. They might use a lot of bandwidth sending all the channels to everyone and within each household, the vast majority of this bandwidth is wasted, however it’s much more efficient for a mass audience because the signal is only sent once. You can choose to tune in to the broadcast or not, but the bandwidth used it based on the number of channels being sent, not the number of users using the service.
The ideal distribution method would be a combination of the two ideas: Allow each user to request content, but allow download sharing. Rather than sending each packet to each user individually, send each packet once, but specify multiple addresses so the content can be shared.