BitTorrent: Welcome to the Storage Grid, Love it/Hate it
By pmonday on Aug 15, 2006
BitTorrent, for the uninitiated, is at its simplest, a way to download files. What goes on under the covers is what is fascinating. Basically, you download a "torrent", this "torrent" comes to your machine from other peer machines in pieces. Each piece can come from a different machine in order to distribute the burden to many peers. Further, while you are downloading pieces of the file, your machine also becomes a peer from which downloaded chunks of the torrent can be downloaded by peers downloading the same file.
For example, if my Open Solaris Torrent comes in 3 pieces (A, B, and C), my download may download them in the order of B, C, A. Once all three are downloaded, the file is complete. One of my peers' download clients may choose to download the torrent in the order of A, B, C. Now, once my B piece is downloaded, client 2 could get it from my machine. Meanwhile, client 2 grabbed A right away so my client 1 could connect to client 2 to grab piece A rather than go to the original torrent download site.
Distributed storage to an extreme...dare I say...a global storage grid. No one client should, theoretically, be overburdened by requests for pieces. Further, the more a file is downloaded, the more available pieces of the file become.
Unfortunately, here's my thing (I always have a thing, btw...). BitTorrent is currently "unnatural". I have to download a client, install it, then my network seems to get totally saturated very quickly. I know I can tune the client, but geez...I was trying to download some linux ISOs while I was doing a traditional download and a normal web load, but the BitTorrent client was killing me. Yes, I know...tune it...but still.
The benefits of BitTorrent primarily go to the issuer of the content. While the original torrent is downloaded from the content developer's site, the more popular the torrent is, the more the use of the torrent will pay off. Download bandwidth (a significant cost) will effectively be amortized across file downloaders.
The Amazon S3 storage utility acknowledges this. The S3 service charges for actual storage as well as storage bandwidth. If you choose to use the S3 service to host large files (like movies and stuff), it is more cost effective to use torrents as you will lower your cost of bandwidth from Amazon through the peer to peer BitTorrent network (recall that other clients will use their bandwidth to up/download your stored movies once the torrent has hit the wild).
So, I LOVE the BitTorrent technology. Unfortunately, as a client, I pretty much hate it. Once you download it, it is "relatively" easy to use. I downloaded the Azureus client front end. Once running, you can monitor your torrents that you are downloading, as well as the pieces of the torrents that other peers are connecting to you to retrieve.
My problems with BitTorrent are basically:
A) Its not itegrated with the browsing experience (you need a plugin, hint hint, that is standard and automatically gets downloaded...and is so non-intrusive that it is no worse than flash)
B) The default settings TOTALLY saturated my network connection (granted I was downloading 7 ISOs...but...between the upload and download, I was toast). Changing the defaults require knowledge of networking and, believe me, this is not general knowledge.
C) Because torrents are typically available as regular downloads, there is no overwhelming incentive for BitTorrent
D) License checks have to be done AFTER download, there doesn't appear to be a way to throttle file downloads through a home site. For example, if Sun wanted to use torrents, you couldn't force a user to use their Sun registration ID prior to downloading the file. You would have to download the file, then implement the online user id check when the user "runs" the file.
Now, let's go back to C) real quick. There really is a killer app for BitTorrent. Large content that should fly under the radar and that individuals can't afford to host. To put it in non-technical terms, the killer app for BitTorrent tends to be pirated movies and p0rn. BUT, there is definitely some hope with things like Operating System downloads and and software downloads, why BitTorrent isn't more entrenched in the software development community is a bit of a question to me. I think it simply goes back to, its not necessary...it doesn't seem to be solving a problem for us.
Anyway, to me, BitTorrent is a glimpse of an evolving storage grid. Distributed resources that increase availability with usage. Call it like you see it.