Virtual Path Connections CALL ADMISSION CONTROL CAC

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 104 CONGESTION CONTROL IN ATM NETWORKS X = X′+T LCT = t s Cell compliant Cell not compliant yes no yes Start X, LCT unchanged X′ = X − t s − LCT X′ ≤ 0 ? X′ t X′ = 0 no Figure 4.17 Continuous state leaky bucket algorithm. increased by a fixed increment T each time a conforming cell arrives. The algorithm makes use of the variables X, X ′ , and LCT. X indicates the current value of the leaky bucket; X ′ is an auxiliary variable; and LCT is the last compliance time i.e., the last time a compliant cell arrived. At the arrival time of the first cell, X = 0 and LCT = t s . When a cell arrives, the quantity X − t s − LCT is calculated and saved in the aux- iliary variable X ′ . If X ′ ≤ 0, then the cell has arrived late and the cell is accepted, X is increased by T , and LCT = t s . If X ′ 0, then depending upon whether X ′ is less or greater than τ , the cell is accepted or it is considered as noncompliant. If X τ , the cell is classified as noncompliant and the values of X and LCT remain unchanged. If X ≤ τ , then the cell is accepted, X is set to X ′ + T , and LCT = t s . Now consider the same example as in the virtual scheduling algorithm: 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 X = 0 and LCT = 0. The cell is accepted and X is set to 10 and LCT to 0. For cell 2, we have X ′ = − 2. The cell is accepted and X is set to 10 and LCT to 12. Cell 3 arrives at time 18, which gives a value for X ′ equal to 4. Since X ′ τ , the cell is accepted and X is set to X ′ + T = 14 and LCT to 18. Cell 4 arrives at time 20, and we have X ′ = 12. Since X ′ τ , the cell is accepted and X is set to X ′ + T = 22 and LCT to 20. Cell 5 arrives at time 25, and so that X ′ = 17. Since X ′ τ , the cell is classified as noncompliant, and X and LCT remain unchanged. Policing the sustained cell rate The sustained cell rate of a source is policed by either GCRA algorithm. As we saw above, GCRA uses the parameters T and τ in order to police the peak cell rate of a