[WBEL-devel] Stuck BT

John A. Tamplin jat-public01@jaet.org
Fri, 19 Dec 2003 11:21:15 -0500 (EST)


On Fri, 19 Dec 2003, Jamey Fletcher wrote:

> I think the client should make sure *EVERY* piece it has is handed out
> before starting to repeat...  There's supposed to be a tool out that 
> will tell you how many complete copies not only have been handed out, 
> but also how many complete copies exist as the union of some of the 
> partial downloads.

I don't know the technical details of how BitTorrent works, but it sounds
like digital fountain codes would solve this problem.  Basically, you
break the file into n pieces, then randomly send blocks generated from a
forward error correcting code to the receivers (preferably multicast).  
As soon as a receiver has received slightly more than n blocks (doesn't
matter which ones), it can reconstruct the original file.  For
distributing a small set of large files to a large number of people, you
can just set a multicast stream for each file running at a fixed bitrate,
people can join the stream for a particular file whenever they like and
leave when they are done.  The load on the source site(s) is constant 
regardless of the number of recepients.  If rendevous points are close 
enough to the sources, no bandwidth is wasted on wide-area links if people 
past that RP aren't listening to the stream.

Only problem is that it is patented :(.  Perhaps there is a way to do 
something similar without infringing on the patent.  See 
www.digitalfountain.com for a commercial implementation.

> This can just be *SOOOOO* much fun!
> 
> As for the wrong MD5s, I have *NO* clue!  The BitTorrent I made verifies 
> against the local copy I have here, coming via NFS from the same file as 
> the mirrors rsync from.

BT says it is now done, but the md5s are wrong for disc 2 and 3.  I am 
going to try deleting them and restarting it, but this makes me wonder 
about the reliability of BT for file distribution.

-- 
John A. Tamplin					jat@jaet.org
770/436-5387 HOME				4116 Manson Ave
                		 		Smyrna, GA  30082-3723