Regular Slashdot readers will have already seen today’s piece about konspire, a kind of P2P/push combo that lets anyone publish data channels that are broadcast to subscribers using co-operative networking a la my current P2P favourite, BitTorrent. konspire’s creators make the comparison themselves in this document, in which they claim that their co-operative network beats out BT’s for speed and scalability.
I had a quick skim of the document and it felt wrong: firstly, BT clients start sharing files with other clients as soon as they have the first small chunk, whereas konspire clients wait for the whole file. Secondly, BT’s network isn’t tree-shaped, it’s a mesh, which is one of the reasons it works so well. Plus, the document assumes that anyone downloading a file with BT will close the client as soon as the download has completed, which is rarely the case. For more detail (plus a load of maths) check out these remarkably well-thought-out answers to a (somewhat clueless) question I posed in the Slashdot thread. One of the answers comes from the guy who wrote the document, another comes from the creator of Burst!, my current favourite client.
A few good links I found off the discussion:
- This paper from Microsoft Research is a deep investigation into co-operative networking, including using it for streaming.
- MLDonkey is a P2P uber-client that talks to all the popular networks (Gnutella, eDonkey, FastTrack (Kazaa), BT, Overnet, plus others) and is available for all platforms in one way or another (it’s a bit complicated…)
- NetLimiter is something I’ve wanted for ages: A bandwidth throttler for Windows, configurable on a per-app basis. (*nix users wanting this kind of thing should look at Trickle)