The ATM Block Transfer ABT Scheme

102 CONGESTION CONTROL IN ATM NETWORKS arrival process of cells to the UNI, it is possible to fix the parameters of the leaky bucket using queueing-based models. However, it has been shown that the leaky bucket can be very ineffective in catching violating cells. Dual leaky buckets have been suggested for more efficient policing, where the first leaky bucket polices violations of the peak cell rate, and the second one polices violations of the source’s burstiness. As will be seen below, GCRA does catch all violating cells, but to do that it needs an additional traffic parameter. In addition to GCRA, a source can shape its traffic using a traffic shaper in order to attain desired characteristics for the stream of cells it transmits to the network. Traffic shaping involves peak cell rate reduction, burst size reduction, and reduction of cell clumping by suitably spacing out the cells in time.

4.7.1 The Generic Cell Rate Algorithm GCRA

Unlike the leaky bucket mechanism, GCRA is a deterministic algorithm and it does catch all of the violating cells. However, for this it requires an additional new traffic parameter known as the cell delay variation tolerance CDVT. Note that this parameter is different from the peak-to-peak cell delay variation parameter described in Section 4.2. Let us assume that a source is transmitting at peak cell rate and it produces a cell every T units of time, where T = 1PCR. Due to multiplexing with cells from other sources and with signaling and network management cells, the inter-arrival time of successive cells belonging to the same UNI source could potentially vary around T see Figure 4.15. That is, for some cells it might be greater than T , and for others it might be less than T . In the former case, there is no penalty in arriving late. However, in the latter case, the cells will appear to the UNI that they were transmitted at a higher rate, even though they were transmitted conformally to the peak cell rate. In this case, these cells should not be penalized by the network. The cell delay variation tolerance is a parameter that permits the network to tolerate a number of cells arriving at a rate which is faster than the agreed upon peak cell rate. This parameter is not source dependent. Rather, it depends on the number of sources that use the same UNI and the access to the UNI. It is specified by a network administrator. GCRA can be used to monitor the peak cell rate and the sustained cell rate. There are two implementations of GCRA: the virtual scheduling algorithm and the continuous-state leaky bucket algorithm . These two algorithms are equivalent to each other. Policing the peak cell rate In order to monitor the peak cell rate, the following two parameters are required: peak emission interval T and cell delay variation tolerance τ . T = 1PCR. This is obtained from the user’s declared peak cell rate and the network administrator’s τ . t s T t s t s t s transmission time Arrival time at the UNI Figure 4.15 Arrival times at the UNI. BANDWIDTH ENFORCEMENT 103 TAT = t s TAT = TAT + T Cell compliant Cell not compliant TAT t s + t ? yes no no yes TAT ≤ t s Start TAT unchanged Figure 4.16 The virtual scheduling algorithm. A flowchart of the virtual scheduling algorithm is shown in Figure 4.16. Variable TAT is the theoretical arrival time of a cell and t s is the actual arrival time of a cell. At the time of arrival of the first cell, TAT = t s . Each time a cell arrives, the algorithm calculates the theoretical time TAT of the next arrival. If the next cell arrives late i.e., TAT t s , then the next theoretical arrival time is set to TAT = t s + T . If the next arrival is early i.e., TAT t s , then the cell is either accepted or classified as noncompliant. The decision is based on the cell delay variation tolerance τ and also on previously arrived cells that were late but they were accepted as compliant. Specifically, if TAT t s + τ , then the cell is considered as compliant. Notice, however, that the next theoretical arrival time TAT is set equal to the theoretical arrival time of the current cell plus T i.e., TAT = TAT + T . If the next arrival occurs before the theoretical arrival time TAT, then it can still be accepted if TAT t s + τ However, if cells continue to arrive early, then the cell delay variation will be used up and eventually a cell will be classified as noncompliant. As an example, let us consider the case where T = 10, τ = 15, and the actual arrival times of the first five cells are: 0, 12, 18, 20 and 25. For cell 1, we have that t s = TAT = 0. The cell is accepted, and TAT is set to TAT + 10 = 10. For cell 2, t s = 12 and since TAT ≤ t s , the cell is accepted and TAT is set equal to t s + T = 22. Cell 3 arrives at time t s = 18, and so TAT t s . Since TAT ≤ t s + τ , the cell is accepted and TAT is set equal to TAT + T = 32. Cell 4 arrives at time t s = 20, and TAT t s . Since TAT ≤ t s + τ , the cell is accepted, and TAT is set equal to TAT + T = 42. Cell 5 is not as lucky as cells 3 and 4. Its arrival time is t s = 25, which makes TAT t s . Since TAT t s + τ , the cell is considered to be noncompliant. A flowchart of the continuous state leaky bucket algorithm is shown in Figure 4.17. In this algorithm, a finite-capacity leaky bucket is implemented whose real-value content is drained out at a continuous rate of one unit of content per unit-time. Its content is