Talk:Leaky bucket

From Wikipedia, the free encyclopedia

This article blurs the distinction between a leaky bucket as a model (i.e. a meter) and the shaper (a FIFO) or policer (an algorithmic dropper and/or marker) it assists.

A leaky bucket is just a meter. It does not store packets and it does not shape them. Its operation as a meter is used to declare conforming packets when it assists a policer, or the times when packets can be releases from FIFO shapers. This latter CAN BE VBR, does not have to be CBR.

The leaky bucket is characterized by starting empty and arriving protocol data units pouring tokens into the bucket from where these are leaked at constant pace. This does not mean that a leaky bucket is a CBR shaper. It would be a CBR shaper if it assisted the release of packets from a FIFO and if it had just one PDU's worth of burst tolerance. If it has a bigger burst tolerance then packets can be released in VBR manner. The burst tolerance of a leaky bucket is not equal to the size of the shaped FIFO queue.

A leaky bucket IS equivalent to a token bucket in the sense that it would find exactly the same packets conforming and non conforming of a traffic stream. This case is met when the filling rate of the token bucket is equal to the draining rate of the leaky bucket; when their burst tolerances are the same; and when at time zero the leaky bucket starts empty and the token bucket starts full.

A CBR shaper is not necessarily inefficient. It depends what you want to achieve. A network operator may have perfectly good reasons why to shape a flow or aggregate CBR, and another one VBR, or not shape at all. In legacy network devices (especially old ATM gear) that had very small cell buffers, it was important that incoming flows were CBR shaped.

I agree. This article confuses between rate shaping using a buffer and the algorithm itself. I have never really seen the term leaky bucket used as any other than the traffic analyser/meter it is. There is a reference for current usage, though, but I don't have access to it. Anyway, his article needs to be rewritten anyway, to agree with GCRA. Alinja (talk) 09:01, 19 November 2007 (UTC)
I did some reserch, and it seems there are different usages for the same term. ATM traffic management specification talks about Leaky Bucket and GCRA as being equivalent. On the other hand, At least Tanenbaum's "Computer Networks" refers to Leaky Bucket only as a buffer with constant emptying rate ("nothing other than single-server queuing system with constant service time"). Most hits on google seem to refer to the ATM way, though. Maybe this term should be discarded and this page replaced with a disambiguation page to relevant articles? Alinja (talk) 11:14, 19 November 2007 (UTC)
Most of what I have seen with google does point to just traffic shapping use of Leaky bucket. However not everything is encompassed by google. (I know I know - that is heresy.) I was introduced to leaky bucket algorithm as a form of hysteresis/debouncing of alarm information. The concept was that every time an event occurred it would put a 10 (or some large number) into the bucket. Then every time period a count of 1 would "leak" from the bucket. An alarm wasn't generated for the user unless the bucket overflowed, which it did at 30. These are made up numbers, but it shows the general concept. As far as I can remember this came from Bellcore (now Telecordia) documents, but I no longer have access to that library to provide detailed information. Danoelke (talk) 15:04, 19 February 2008 (UTC)