> - 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
