Howard pointed
me in the direction of BitTorrent recently.
It’s a great little P2P system based around the fact that consumers receiving the
file will also help transmit completed blocks to other peers trying to download it.
The implication is that the bandwidth requirements on the originator of the file are
minimal and the client encourages people to contribute in the download, as download
speeds for people who share are actually quicker. The client I used is written in Python and
can be downloaded here.
For more detail on how BitTorrent works, check out this paper.