On Fri, Apr 21, 2006 at 10:09:00PM +0100, Michael Rogers wrote: > > This is what a token bucket achieves. Each neighbour's bucket is filled > with tokens at the same rate. (The bucket is actually just implemented > as a counter, where the 'size' of the bucket is the upper limit of the > counter.) Each token allows the neighbour to send a certain number of > bytes. When a neighbour's bucket is empty, its requests are rejected. > > *But* to avoid wasting bandwidth by enforcing fairness when there's > excess capacity, tokens from overflowing buckets spill over into the > emptiest bucket. So the bandwidth is distributed according to demand > when there's enough to go round, and fairly when there isn't. There's no > queueing delay, and the buckets allow for bursty traffic (larger buckets > allow larger bursts, enforcing fairness over a longer timescale).
Actually they should move from the overflowing bucket to the next fullest bucket, in order to prioritise traffic from nodes which send few packets, so that the nodes which send the most requests are penalized most and therefore overload propagates back to the source. -- Matthew J Toseland - toad at amphibian.dyndns.org Freenet Project Official Codemonkey - http://freenetproject.org/ ICTHUS - Nothing is impossible. Our Boss says so. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 189 bytes Desc: Digital signature URL: <https://emu.freenetproject.org/pipermail/devl/attachments/20060424/6a6d633a/attachment.pgp>