> - If it is below 1000ms, we accept all requests.
> - If it is above 2000ms, we reject (almost) all requests.
> - If it is between we accept some requests but not all.

If half your peers are overloaded but the other half are OK, would you 
reject all requests with equal probability or selectively reject those 
requests that would be forwarded to overloaded peers?

Rather than taking the mean over all peers, how about rejecting requests 
that would be forwarded to an overloaded peer, as determined by the 
ratio between the peer's ping time over (say) the last minute and its 
ping time over the lifetime of the connection? Or perhaps treat that 
peer as temporarily disconnected and forward the request to the 
next-best peer instead?

Cheers,
Michael

Reply via email to