Bram Cohen ([info]bramcohen) wrote,
@ 2005-03-23 06:57:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Improving 'ratios'
My last entry about the problems in upload/download ratio generated a lot badly thought out wannabe developer comments. Something about BitTorrent attracts a lot of people who would like to do software but can't.

Anyhow, the key thing everyone seems to have missed is that I didn't say that keeping track of upload vs. download per downloader was a bad idea, just that doing so via fixed ratios results in severe misbehavior when there's an excess number of seeds.

It's quite simple to improve ratio measurement. When a client reports new downloads to the tracker, the tracker can multiply the amount by (number of current peers total - number of current seeds) / (number of current peers total) and add that to the 'total downloaded'. This results in most people having a 'ratio' of more than 1, but that isn't actually a problem unless you're more interested in mathematical purity than practical behavior.

It would be interesting to have a 'help seed' mode for the client, where it downloads only as much as it needs to actively upload. That way new people entering a torrent only wanting to seed could reliably help rather than hurt, since frequently it's difficult to upload a complete copy, and the downloader always downloads a complete copy.



(Post a new comment)


[info]eichin
2005-03-27 03:03 am UTC (link)
Hmm, "help seed" mode would be useful for the "bandwidth donation" model - I have a crude hack that uses the python bittorrent client to download/share the current samba torrent, and when it goes away, to scrape the ftp page and look for the next one - since my only goal is to "increase sharing", not to actually get the content per se, I'd use that mode. (In practice, with the samba torrent, I do end up serving more than the initial download fairly quickly anyhow, but that might work less well for less popular and/or larger torrents....)

(Reply to this)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…