Everybody Loves BitTorrent

@Jeff: That mathematical analysis isn’t “needed”, it’s just something someone decided to do. And the analysis itself is somewhat flawed: point 2, about deadlocking, assumes all finite cases boil down to the two-peer situation. This is untrue, as any student of dynamical systems can tell you. Just consider three peers, A B and C, where A downloads from B at exactly the same rate he uploads to C, etc.

Mark: I had the same problem with DD-WRT until I found this page: http://www.dd-wrt.com/wiki/index.php/Router_Slowdown

The problem was that the TCP and UDP connection timeout periods were so long that the ip_conntrack table would get full. Maybe your router has settings to reduce the connection timeout length as well.

Good timing to write on this, since Miguel just wrote about some updates to MonoTorrent:
http://tirania.org/blog/archive/2007/Feb-17.html

@mynameishere - “You only need to provide a traditional download link because many people don’t have bittorrent clients.”

BlogTorrent - http://www.blogtorrent.com/ - makes this easier by providing a nice user experience in the case the user doesn’t have a BT client. It downloads a lightweight BT client (if you don’t already have one) which then automatically pulls down the torrent file. The end result feels just like downloading and Adobe project (with its downloader / installer).

Apparently they’ve got a newer version out now called Broadcast Machine.


As for legal uses, I’d think the Monoppix project was a good poster child. We had tens of thousands of downloads of a 400MB ISO, which would have been very expensive for a free community project. We set up a simple BT server (later updated to include server side seeding), and were able to host on a $5/month server plan.

Server side seeding made a big difference in end user experience, since there was always a share ratio of at least 1.0.

Part of the problem I ran into when I was setting this up was finding a reliable, legal tracker. From some of the links above it looks like that may have improved since then.

Why is BitTorrent, though, overly complicated to use, suitable only for nerdy types who have the time and willingness to spend hours tweaking the awkward network settings, messing with piles of file types and, generally do all these steps neccesary to download a simple file?

Rather, why Bittorrent as such - sucks?

I ported this to processing.js ( http://processingjs.org/ ) and put up the demo on my site. Check it out!

http://mg8.org/processing/bt.html

I wish to run this simulation of working of Bit Torrent in my system but link for code is not working I guess. Please help me by explaining me how can I get code for this amazing visualization.

1 Like

For source code, try the Wayback Machine:

https://web.archive.org/web/*/http://aphid.org/btsim/

Thanks for the reminder, I’ve also fixed the image in the original article as well as updated a few links.