From: Morgan Date: 2005-10-15T08:14:03+09:00 Subject: Re: A big thank you to Robby Russell... [Delayed reaction due to me still catching up on reading ruby-talk after no mail access for a while... Up to october 1 now...] Han Holl wrote: >On 9/28/05, Austin Ziegler wrote: > > > > > > Well, honestly, BitTorrent requires that there be continuous interest in > > the files being torrented. Unless the files are well seeded and/or > > downloaded often, BitTorrent downloads will often be much slower than > > simple FTP downloads with round-robin mirrors as have been set up for > > RubyForge. > > > > Oh, I didn't know that. I my naivety I thought that if 4 servers were all >continuously offering these bittorent files, simple FTP download speed would >be the lower boundary. >Apparently there is more overhead in the bittorrent protocol than I thought. The problem as I understand it is that bittorrent is really best for distributing small numbers of large files. A single tracker can coordinate things for lots of files, but as far as actual seeding goes (the act most analagous to a system providing an ftp download), it's unusual for more than a few files to be seeded at a time. (The original bt client, I believe, would only allow three instances to be open at a time.) This works well enough for, say, having downloads of linux cd images. (Which is how I got mine the last time I tried doing anything with it.) Not so good for something like rubyforge, where you have a very large number of small files - you could make a torrent of the entire thing maybe, which would be useful to almost no one... I've thought off and on about a system that could deal with this sort thing better. Something with the file verification systems like bittorrent (both to protect against ordinary data corruption and malicious file modifications), that allowed passively seeding files - if someone wants it, it's available, but if not, resources aren't wasted on it. Also less dependence on a single central server, since running a high-usage bt tracker seems to be very hard on a system. Throw in some public/private key to allow validation of files that were acquired through an untrusted source... Mostly there's three things that have kept me from actually trying to make this. 1. I don't know enough about ruby (particularly thread handling) to make it work. 2. I don't know enough about designing network protocols to make it work. 3. I doubt my ability to convince enough other people to use it to make it worthwhile. -Morgan, hates seeing "seeds: 0"... -- No virus found in this outgoing message. Checked by AVG Anti-Virus. Version: 7.0.344 / Virus Database: 267.11.14/128 - Release Date: 10/10/2005