cket (LB) approach in its several variations is usually preferred on connection-oriented ATM-like networks. The token bucket algorithm is based on the idea of a data structure called bucket where tokens are stored. Tokens are produced and thrown into the bucket at a constant rate. Each packet that is for- warded will consume one token. This means that the rate of consumption of the tokens is not constant (but it is limited). If no more tokens are in the bucket, the next packet is delayed and therefore buffered, and SO will also be all subsequently arrived packets that await service/forwarding. This ensures that the rate of packet forwarding is effectively controlled, as the token-generation rate imposes a limit. However, if several tokens are inside the bucket, they can potentially be consumed very fast by available packets. This means that through this approach, short bursts of traffic are possible and the depth of the bucket determines the length of potential burstiness that can be envisioned in the under- lying traffic. When the algorithm is conversely used to determine whether a packet will be buffered or discarded, a straightforward scheme is used according to which if the accumulated tokens exceed a certain threshold value, then the next packet will be dropped. The LB algorithm is used in ATM-like networks especially when a constant rate agreement must be enforced, as is the case with CBR traffic. For several reasons, ATM cells can arrive at a network node at an uneven rate. Each arriving cell contributes a token into a leaky bucket. Therefore, tokens are fed into the bucket at an uneven rate. Each departing cell will first need to consume a token from the bucket. As tokens are produced in a constant rate of leakage by design, the transmitted traffic rate is immediately pinned down to the desired level. A creative variation of this algorithm is the dual leaky bucket (DLB) algorithm. With this algo- rithm, one bucket decides the peak rate and the other one sets the mean rate. An example of its effi- cient im