DELAY MINIMIZATION FOR CIRCUIT EMULATION OVER PACKET SWITCHED (ATM) NETWORKS

Abstract: A method of minimizing throughput delay in constant-bit-rate services carried over packet-based networks subject to variable delays, comprises, in one embodiment, the steps of receiving incoming packets in a buffer, reading out bits from the buffer at a clock frequency (fi), continually monitoring the buffer fill level (Li), determining the maximum fill level (Lmaxj) over a plurality of successive samples, determining the minimum fill level (Lmink) over a plurality of successive samples, adjusting the clock frequency (fi) to cause the maximum fill level (Lmaxj) to tend toward a target value (TargetLmax), and adaptively changing said target value (TargetLmax) so that the minimum fill level (Lmink) tends toward a predetermined set-point. The rate of change of the target value (TargetLmax) is significantly slower than the rate of adjustment of clock frequency. The invention can be applied to other types of clock recovery.

Description: DELAY MINIMIZATION FOR CIRCUIT EMULATION OVER PACKET SWITCHED (ATM) NETWORKS This invention relates to a method of minimizing delay in emulated circuits over packet switched networks. Circuit emulation is the process of transporting a constant bit-rate (CBR) telecommunications service, such as Tl , over packet switched networks such as asynchronous transfer mode (ATM) networks. The intent is to make the presence of the asynchronous network in the CBR communication path as transparent as possible. In addition to error- free transport of bits, the circuit emulation must provide for transport of alarms, signaling and clock synchronization, thereby enabling the CBR service to be regenerated on exit from the asynchronous network in a manner that is fully compliant with pertinent standards. In a perfect world, ATM cells for circuit emulation would be transmitted into an ATM network at equally-spaced intervals, and each cell would pass quickly through the network with minimal delay. However, one of the advantages of ATM is that it serves a wide variety of applications, many of which have little need for low transit delays. The co-existence of such applications can cause significant variation in the transit delay of cells through the network. Such delays are primarily a result of queues at points of congestion in the network. Whatever their cause, circuit emulation equipment for ATM networks must be designed to tolerate such delay variation. When constant bit-rate (CBR) services are transported over an ATM network, a compromise must be drawn between tolerance of the cell delay variation (CDV) and the end-to-end delay. In particular, the device that receives ATM cells for circuit emulation applications must contain a buffer which, in the mean state, remains partially filled. Without such a buffer, a delayed cell will lead to starvation, where no data is available for the CBR transmitter. One must thus choose an operating point which maintains sufficient data in the buffer to accommodate CDV while at the same time keeping end-to-end delay at an acceptable level. There are two other sources of variation in the buffer fill level that must be accommodated. Firstly, the buffer's fill-level plotted as a function of time looks like a saw-tooth because data are inserted into the buffer in cell-sized (53-byte) blocks but are drained from the buffer one bit at a time at a constant bit rate. Secondly, variation in the observed buffer fill level can be introduced by processing jitter, which is variability in the scheduling of buffer processing tasks caused by the sequencing and relative prioritization of other tasks performed by equipment within the network. Such processing jitter in the transmitting entity can cause variation in the time spacing between transmitted cells, which manifests itself as buffer fill-level variation in the receiving entity. Such processing jitter within the receiving entity can cause an apparent additional fill-level variation by introducing aperiodicity in the buffer management process. The two additional sources of buffer fill-level variation are generally less problematic than CDV. Processing jitter is under the control ofthe system designer and can be reduced to a manageable level by proper design, and the "saw-tooth" effects can be minimized by roughly synchronizing the sampling ofthe buffer's fill-level with the arrival of ATM cells. The standard approach for accommodating CDV in circuit emulation equipment is to choose a fixed target mean buffer fill level in the entity that receives ATM cells from the network. This target mean buffer fill level is chosen to accommodate the anticipated worst-case variation in buffer fill level, i.e.. the target must be high enough to prevent the buffer from ever being emptied when cells encounter worse-case delays. This approach is unduly conservative if the preconceived notion of worst-case delay is too high, and more delay is introduced than is actually needed for safe system operation. An object of the present invention is to provide an improved means of trading off throughput delay for tolerance of cell-delay variation (CDV) in circuit emulation over ATM Networks. According to the present invention there is provided a method of minimizing throughput delay in constant-bit-rate services carried over packet-based networks subject to variable delays, comprising the steps of receiving incoming packets in a buffer, reading out bits from the buffer at a clock frequency fj, continually monitoring the buffer fill level L[, determining the minimum fill level Lmin κ over a plurality k of successive samples, and adjusting the clock frequency fj to cause the minimum fill level Lmink to tend toward a predetermined set-point TargetLmin. In one embodiment, the clock frequency is adjusted by causing the maximum fill level Lmaxj of the buffer to tend toward a target value TargetLmax. and adaptively changing said target value TargetLmax so that the minimum fill level Lmink tends toward said predetermined set-point, the rate of change of the target value TargetLmax being significantly slower than the rate of adjustment of clock frequency. The invention obviates the need for identifying a fixed safe operating point, and automatically moves to a lower-delay operating point when the network ' s performance indicates that it is possible to do so. In particular, the prior art method is to choose a fixed mean buffer fill level. This method makes an implicit assumption that excursion of the buffer fill level about its mean very rarely exceeds this chosen set-point. To achieve this, one generally has an intuitive notion as to the size of the worst-case excursion and then chooses a set-point that accommodates such an excursion. The invention is different in that it monitors the minimum buffer fill level rather than the mean. It is thus no longer necessary to make assumptions about the worst-case excursion. This means that the system gravitates towards a lower-delay operating point when it possible to do so, i.e., when the preconceived estimate ofthe worst-case excursion is unduly pessimistic. The invention also provides an apparatus for providing constant-bit-rate services in packet-based networks subject to variable delays with minimum throughput delay, comprising a buffer for receiving incoming packets in a buffer, means reading out bits from the buffer at a clock frequency fj, means for continually monitoring the buffer fill level Li, means for determining the minimum fill level Lmink over a plurality of successive samples, and means for adjusting the clock frequency fj to cause the minimum fill level Lmink to tend toward a setpoint TargetLmin. The invention will now be described in more detail, by way of example only, with reference to the accompanying drawings, in which:- Figure 1 is a top-level block diagram of a cell-based clock recovery device: Figure 2 is a block diagram of a cell-based clock recovery device operating in accordance with the invention Figure 3 is a block diagram of a cell-based clock recovery device operating in accordance with the invention employing a more traditional approach to CBCR: and Figurc 4 is a more general block diagram of a device working with a clock generator for an emulated CBR service. The invention will be described in the context of its use with cell-based clock recovery. A patent application (PCT/CA95/00320) for a cell-based clock recovery device was recently applied for by Newbridge Networks Corporation, the contents of which are herein incorporated by reference. It should be noted, however, that the present invention does not require cell-based clock recovery to work. The skilled person in the art will recognize that the invention can be used when other methods of clock recovery are active. In Figure 1 , which is a top-level block diagram of the cell-based clock recovery device, incoming 53-byte cells 1 arrive at buffer 2, which outputs a constant rate bit stream 3. Samples Li of the buffer fill level are fed to block 4, which derives Lmaxj . which is the maximum of a predetermined number of successive samples of Lj_ Lmaxj is fed to subtractor 5, which has as its other input a target buffer level TargetLmax. The outputs of subtractor 5 are passed to differentiator 6 and frequency adjustment logic unit 7 to derive the derived clock fj frequency as described in our co-pending application referred to above. The essence of the arrangement described is that it adjusts fj' such that the average of Lmaxj equals the TargetLmax. Figure 2 shows a system in accordance with the invention. It essentially provides a means for adapting the TargetLmax in Figure 1 , such that a lower-delay operating point will in general be obtained. The procedure for adapting the TargetLmax is similar to the procedure for adapting fj in CBCR, except that block minima are processed rather than block maxima. It should be noted that the block-size for deriving the Lmaxj is not necessarily the same as the block-size for deriving Lmink, hence the use of different subscripts. In Figure 2, the samples Lj are also fed to block minimum unit 10, which derives Lmink representing the minimum buffer fill level over k cells. This is fed to a second subtractor 1 1 , whose second input is TargetLmin, which is a chosen set-point for the minimum buffer fill level. The output of the subtractor 1 1 is fed to a differentiator 12 and TargetLmax adjustment logic unit 14. This produces an output TargetLmax. which is fed to the minus input of the subtractor 5 in a similar manner to Figure 1. Unlike the circuit shown in Figure 1 , where TargetLmax is constant, in Figure 2, TargetLMax is adaptively varied so that the buffer fill level tends to be maintained at the target level TargetLmin. Figure 3 illustrates how the invention interworks with an embodiment of the more traditional approach to CBCR. In Figure 3, the maximum block 4 of Figure 1 has been replaced by a mean block 20, which produces a signal Lmeanj, which is the mean of a block of buffer / fill-level samples. Lmeanj is used to drive the clock adjustment instead of Lmaxj as in Figure 1. The block minimum processor 10 is used to dynamically adjust the TargetLmean in TargetLmean adjustment logic unit 21 , which works in a similar manner to TargetLmax logic unit 21 in Figure 2. The mean block 20 in Figure 3 is shown in broken lines to indicate that it is not essential to the CBCR process, as the equivalent function can be performed as part of the frequency adjustment logic. However, in many cases it is simpler from an implementation perspective to apply a block mean as indicated. Again, the block-size for deriving Lmink need not be the same as the block size for deriving Lmeanj. Figure 4 illustrates how the invention interworks in general with clock generation for an emulated CBR service. Some means for establishing a suitable clock frequency fi is always provided as part of the CBR circuit emulation process. In Figure 4. this is shown as the CBR clock generation system 31. The invention introduces a bias in the derived clock fi such that, in general, a lower end-to-end delay is achieved. In particular, the CBR clock (fj) is increased when the recent history of block minima indicates that the delay is unnecessarily high, and the CBR clock (fi) is decreased when the recent history of block minima indicates that the delay is dangerously low. This is achieved in adder 32, which has as one input Lmink an d as its other input the output of bias adjustment logic unit 30. which generates an output signal from setpoint TargetLmin and Lmink as described with reference to Figure 2. When choosing the set-point for the buffer fill level, one must leave a margin of safety to allow for instances where the delay within the network suddenly increases. Such an increase in delay causes a drop in the minimum buffer fill level and can thus lead to starvation if the safety margin is not large enough. For two reasons, the adaptation rate for delay minimization must be significantly slower than the adaptation rate for adjusting the clock frequency in CBCR. The first reason is that the minimum buffer fill level (which is used for delay minimization) generally has a high variance relative to the either mean buffer fill level or the maximum fill level (which are used for frequency adjustment). The adaptation must thus be much slower in order to avoid undue extra jitter and wander in the output clock. The second reason is to avoid complicated interaction between the adapted parameters. The CBCR adaptation operates on the assumption that the TargetLmax is approximately constant, and the delay minimization adaptation operates on the assumption that its adjustments of the TargetLmax are reasonably quickly reflected as changes to the buffer fill level samples (Lj). These assumptions are only reasonable if the delay minimization adaptation is much slower than the CBCR adaptation. Slow adjustment of the CBCR target, such as is described here for delay minimization, necessarily appears as slow variation in the derived clock frequency, i.e., wander. This will be a concern for networks designed under the assumption that wander is controlled. Operators of such networks may wish to sue the adapt-an -freeze method mentioned to keep wander under tight control. In such networks, the invention can be used as a self-calibration process when a CBR service is installed. The delay minimization will be active on system start-up but after, say, one day it can automatically be turned off so that wander is brought under better control. While the invention attempts to adapt to changes in the minimum buffer fill level, it is prudent to build in mechanisms for overriding the adaptation process and moving quickly to a safer set-point when the minimum fill-level gets dangerously low. It is also prudent to allow the invention to be disabled in favor of the traditional approach of having a fixed mean buffer fill level as a target operating point.

Claims: Claims: 1. A method of minimizing throughput delay in constant-bit-rate services carried over packet-based networks subject to variable delays, comprising the steps of receiving incoming packets in a buffer, reading out bits from the buffer at a clock frequency fj, continually monitoring the buffer fill level Lj, determining the minimum fill level Lmink over a plurality of k successive samples, and adjusting the clock frequency fi to cause the minimum fill level Lmink to tend toward a predetermined set-point TargetLmin. 2. A method as claimed in claim 1 , wherein the clock frequency fj is adjusted by causing the maximum fill level Lmaxj of the buffer to tend toward a target value TargetLmax, and adaptively changing said target value TargetLmax so that the minimum fill level Lmink tends toward said predetermined set-point, the rate of change of the target value TargetLmax being significantly slower than the rate of adjustment of clock frequency. 3. A method as claimed in claim 1, wherein the clock frequency fj is adjusted by causing the mean fill level Lmeanj of the buffer to tend toward a target value TargetLmean, and adaptively changing said target value TargetLmean so that the minimum fill level Lmink tends toward said predetermined set-point, the rate of change of the target value TargetLmean being significantly slower than the rate of adjustment of clock frequency. 4. A method as claimed in claim 1. wherein the adaptive changing of clock frequency fi is used as a self-calibration process and then discontinued after a period of time. 5. A method as claimed in claim 2, wherein the rate of change of the target value TargetLmax is sufficiently slow that TargetLmax appears constant to the clock frequency adjustment circuitry. 6. A method as claimed in claim 1 , wherein said packet-based network is an ATM network and said packets are ATM cells. 7. An apparatus for providing constant-bit-rate services in packet-based networks subject to variable delays with minimum throughput delay, comprising a buffer for receiving incoming packets in a buffer, means reading out bits from the buffer at a clock frequency fi, means for continually monitoring the buffer fill level Li. means for determining the minimum fill level Lmink over a plurality of successive samples, and means for adjusting the clock frequency fi to cause the minimum fill level Lmink to tend toward a setpoint TargetLmin. 8. An apparatus as claimed in claim 7, further comprising means for determining the maximum buffer fill level Lmaxj over a plurality of successive samples, means for causing the maximum fill level Lmaxj to tend toward a target value TargetLmax. and means for adaptively changing said target value TargetLmax at a rate significanth' slower than the rate of adjustment of clock frequency to thereby adjust said clock frequency fj so that the minimum fill level Lmink tends toward a predetermined set-point TargetLmin. 9. An apparatus as claimed in claim 7, further comprising means for determining the mean buffer fill level Lmeanj over a plurality of successive samples, means for causing the mean fill level Lmeanj to tend toward a target value TargetLmean, and means for adaptively changing said target value TargetLmean at a rate significantly slower than the rate of adjustment of clock frequency to thereby adjust said clock frequency f so that the minimum fill level Lmink tends toward a predetermined set-point T argetLmin. 10. An apparatus as claimed in claim 8. wherein said means for adaptively changing said clock frequency fj comprises a subtractor for determining the difference between said set-point TargetLmin and said minimum fill level Lkmin, a differentiator for differentiating said difference, and an adjustment logic unit responsive to the output of said subtractor and said differentiator. 1 1. An apparatus as claimed in claim 7, wherein said network is an ATM network and said packets are ATM cells.

Inventors: BODELL KENT, COX NEIL, BODELL, KENT, COX, NEIL
Applicants: BODELL KENT, COX NEIL, NEWBRIDGE NETWORKS CORP, BODELL, KENT, COX, NEIL, NEWBRIDGE NETWORKS CORPORATION
Application year: 1996
Main classification: H04Q11
IPC codes: H04L12, H04Q11