BitTorrent – a free speech tool
BitTorrent is a protocol for distributing files. It identifies content by URL and is designed to integrate seamlessly with the web. Its advantage over plain HTTP is that when multiple downloads of the same file happen concurrently, the downloaders upload to each other, making it possible for the file source to support very large numbers of downloaders with only a modest increase in its load.
BitTorrent is not just a concept, but has an easy-to-use implementation capable of swarming downloads across unreliable networks. BitTorrent has been embraced by numerous publishers to distribute to millions of users.
1. Leeches – People who download files but do not share files on their own computer with others
2. Seed or seeder – A computer with a complete copy of a BitTorrent file (At least one seed computer is necessary for a BitTorrent download to operate.)
3. Swarm – A group of computers simultaneously sending (uploading) or receiving (downloading) the same file
4. .torrent – A pointer file that directs your computer to the file you want to download
5. Tracker – A server that manages the BitTorrent file-transfer process
There are ideally many end users for a single file.
To start serving, a host goes through the following steps:
1. Start running a tracker (or, more likely, have one running already).
2. Start running an ordinary web server, such as apache, or have one already.
3. Associate the extension .torrent with mimetype application/x-bittorrent on their web server (or have done so already).
4. Generate a metainfo (.torrent) file using the complete file to be served and the URL of the tracker.
5. Put the metainfo file on the web server.
6. Link to the metainfo (.torrent) file from some other web page.
7. Start a downloader which already has the complete file (the 'origin').
To start downloading, a user does the following:
1. Install BitTorrent (or have done so already).
2. Surf the web.
3. Click on a link to a .torrent file.
4. Select where to save the file locally, or select a partial download to resume.
5. Wait for download to complete.
6. Tell downloader to exit (it keeps uploading until this happens).