Host Evaluation Some time ago, there was a discussion on this board about a scheme called Host Evaluation Number, or HEN, to increase the overall availability of files on Gnutella, which suffers a lot from the presence of so-called freeloaders (Hosts that don't share any or very few files or don't allow to download their shared at a decent bandwidth while at the same time downloading very much themselves). As I still think the idea is quite good and as it seems to have been more or less forgotten, I'm bringing it up again for discussion.
The basic idea is to assign an 8 bit number (the HEN) with every host to indicate how much of a freeloader/generous sharer it is, and then give those hosts with a high HEN preference over those with a low HEN as soon as they try to download something.
The HEN is calculated by dividing the number of uploaded bytes in all filetransfers during the last 48 hours through the number of bytes downloaded in the same time period and then multiplying the result with 128. (Thus, a HEN of 0 means the host hasn't uploaded anything; 128 means the host has uploaded as many bytes as it has downloaded; 255 means it has uploaded more than twice as much as it has downloaded.)
If the host is an UltraPeer/Supernode/whatever-you-want-to-call-it, every byte transferred to or received from a Leafnode over a Gnutella connection counts as a byte uploaded in a file transfer.
When Node now tries to download a file from another node, it sends its HEN as an additional HTTP tag along with the download request.
If the sharing host has not yet reached its maximum number of simultaneous uploads, the HEN of the downloading host is stored and the download request is accepted.
If the sharing host has already reached its maximum number of simultaneous uploads and if the HEN of the downloading host is more than 10 points higher than the average HEN of all the other hosts which are currently downloading from that sharing host, the sharing host opens an extra upload slot for the download requester.
If even the number of extra uploads of this sharing host is reached and if the downloading hosts HEN is more than 20 points higher than the lowest HEN in the sharing hosts list of established downloads, the upload to which that lowest HEN belonged is cancelled and the new download request accepted instead.
What do you think of this? |