BACKGROUND OF THE INVENTIONThe present invention relates to a cell output control apparatus and method in communication systems using asynchronous transfer mode, and particularly to a cell output control circuit apparatus and method suitable for use in communication systems which provide available bit rate services.[0001]
The U.S. Pat. No. 5,313,454 has disclosed a conversion system having an available bit rate (hereinafter, abbreviated ABR) traffic class incorporated in order to make feed-back control for preventing the congestion in a communications network in which cells of asynchronous transfer mode (hereinafter, abbreviated ATM) are processed. Here, the ABR traffic class is for transmitting and receiving ATM cells from a source (transmitting terminal, or a transmitting node) at an allowed cell rate (hereinafter, abbreviated ACR) in an ATM communications network. This system sets up such an ACR that when a resource management cell (hereinafter, abbreviated RM cell) including the congestion information of the network is inserted in the cell flow that is transmitted and received within the network, and transferred back to the source from the destination (receiving terminal, or receiving node), the source changes the ACR in accordance with the information of the received RM cell so that the congestion within the network can be decreased as much as possible and that the cells can be transmitted at a large transfer rate.[0002]
When the cells are transmitted from the source at the ACR, the ATM-communication system decides whether a cell is allowed to transmit at each ATM cell time slot or not in order to transmit at the ACR. In general, after a cell is transmitted on a certain cell time slot, the next cell time slot to be produced is calculated, and the cell is timely transmitted on that slot. More specifically, when the line cell rate (hereinafter, abbreviated LCR) and the ACR are 150 Mb/s and 50 Mb/s, respectively, a cell can be transmitted at each three time slots. Therefore, after a cell is transmitted on a certain time slot, the next time slot is produced three cell time slots later. In other words, when a cell is transmitted on a certain cell time slot, the next cell time slot is produced LCR/ACR cell time slots later.[0003]
SUMMARY OF THE INVENTIONIt is an object of the invention to provide a cell output control method and apparatus capable of absorbing quantization error produced when the ratio LCR/ACR is quantized into an integral value in order that cells are allotted to cell time slots and transmitted on the slots.[0004]
It is another object of the invention to provide a cell output control method and apparatus capable of transmitting cells with the quantization error surely absorbed by a simple construction and of easily adapting to even fast transfer rates in order that the communication systems can provide ABR services with ease.[0005]
According to the invention, the output control apparatus used in the communication systems includes a cell time slot allotment circuit for allotting cells to cell time slots with the cell transmission intervals changed by the feedback of the quantization error so that the cells can be transmitted at a rate near ACR.[0006]
This cell time slot allotment circuit includes a first holder circuit for holding the ACR calculated in the communication systems according to the traffic state of the network, a first calculator circuit for calculating a rate at which cells are transmitted, on the basis of the ACR and LCR, a quantizer circuit for quantizing the calculated results and controlling the cell time slot allotment on the basis of the quantization error produced by the quantization, a counter for counting the number of the cell time slots, or the cell time slot value, a second calculator circuit for calculating the rate at which cells are transmitted on the cell time slots on the basis of the quantized value and the count, and a second holder circuit for holding the calculated results.[0007]
The first calculator circuit has a table and a bit shift circuit. The table has rates previously set up at which cells are transmitted, in order that the cell output rates can be obtained by only bit-shifting the output produced from the table when the ACR value is inputted to the table, or that there is no need to use complicated arithmetic circuits.[0008]
The quantizer circuit includes a decision circuit for deciding the intervals of the cell time slots on which cells are transmitted, on the basis of the quantized value and the quantization error, and a calculator circuit and quantization error holder circuit for producing the remainder of the quantization error and feeding it back to the decision circuit after the cell output intervals are decided.[0009]
Therefore, the cell output control method and apparatus including these circuits controls the allotment of cells to cell time slots so that each time a cell is allotted to a cell time slot and transmitted on the slot, the ACR calculation, cell time slot interval decision and quantization error calculation are repeated to reduce the quantization error to zero, or that cells are allotted to cell time slots with the cell transmission interval changed and are transmitted at a rate near ACR.[0010]
The above construction makes it possible to allot cells so that the cells can be transmitted at a rate near ACR, by holding the difference between the calculated value and the cell time slots per unit time and using it for the next calculation when the quantization computation is made for cell time slots on the basis of the rate (ACR) allotted to the ABR traffic class. Then, the cell time slots for cell transmission can be calculated from the ACR. In addition, when the ratio of ACR to LCR is quantized for cell time slots, the produced quantization error can be absorbed. Particularly when ACR is near LCR, the quantization error is absorbed by allotting cells to any ones of a plurality of cell time slots with the cell transmission interval changed, thus making it possible to transmit cells at a rate near ACR.[0011]
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a block diagram of communications networks using the cell output control apparatus of the invention.[0012]
FIG. 2 is a block diagram of a communication system using the cell output control apparatus of the invention.[0013]
FIG. 3 is a block diagram of an interface of the communication system using the cell output control apparatus of the invention.[0014]
FIG. 4 is a block diagram of a cell time slot allotment circuit.[0015]
FIG. 5 is a frame structure diagram showing the format of a cell transmission rate signal.[0016]
FIG. 6 is a block diagram an ABR signal output rate arithmetic circuit.[0017]
FIG. 7 is a table diagram showing the structure of a table used in the cell output control apparatus.[0018]
FIG. 8 is a block diagram of a quantizer circuit.[0019]
FIG. 9 is a diagram to which reference is made in explaining the construction of the quantizer circuit.[0020]
FIG. 10 is a diagram to which reference is made in explaining the operation of the cell output control apparatus.[0021]
DESCRIPTION OF THE PREFERRED EMBODIMENTSEmbodiments of the cell output control apparatus and method of the invention will be described in detail with reference to the accompanying drawings.[0022]
FIG. 1 is a schematic diagram of communications networks including packet switching systems in which the cell output control apparatus of the invention is used. In the communications networks, the[0023]packet switching systems2 and3 are provided between a wide area network (WAN)1 and local area networks (LAN)4 and5, respectively, so that ABR traffic class services can be provided between a terminal6 and thepacket switching system2, between thepacket switching systems2 and3, and between thepacket switching system3 and aterminal7. The communications networks can also provide constant bit rate (hereinafter, abbreviated CBR) services and variable bit rate (hereinafter, abbreviated VBR) services at the same time.
FIG. 2 is a schematic block diagram of the packet switching system as a communication system in which the cell output control apparatus of the invention is used. The[0024]packet switching system2 includes acore switch9,interfaces INF8ato8non theLAN4 side, andinterfaces INF8a′ to8n′ on theWAN1 side. An ABR control, as described below, is made between the terminal6 and theinterfaces INFs8ato8n,and between the otherpacket switching system3 connected to theWAN1 and theinterfaces INF8a′ to8n′. Since the ABR control is performed mutually between the transmitting node (source) and the receiving node (destination), eachinterface INF8ato8n,8a′ to8n′ has both functions for the source and destination, and has provided therein a plurality of virtual channels (hereinafter, abbreviated VC) for a plurality of service classes and for a plurality of ATMs.
FIG. 3 is a block diagram showing the construction of the interface (the[0025]interface INF8ato8n,8a′ to8n′ in the packet switching system illustrated in FIG. 2) that has the cell output control apparatus of the invention. With reference to FIG. 3, a description will be made of the source/destination functions and construction for the ABR services.
If the source and destination are[0026]INF8aandINF8a′, respectively, theINF8ahas the source function to (1) generate RM cells, (2) terminate the RM cells fed back from theINF8a′ (the destination which will be describe later) of the oppositepacket switching system3 and confirm the congestion indication, (3) calculate the ACR according to the congestion indication, and (4) produce cells in accordance with the calculated ACR from acell buffer11. The generation of RM cells in (1) is performed by anRM cell generator13, and the output from the generator is managed by anoutput manager19 within ascheduler10. The termination of RM cells and the confirmation of congestion indication in (2) are made at anRM cell terminator14. Specifically, the source detects a congestion indication bit (hereinafter, abbreviated CI bit) of the fed-back RM cell, and transfers it to thescheduler10. The calculation of ACR in (3) and the cell output in (4) are carried out by thescheduler10. That is, anACR calculator17 reduces the ACR when the CI bit from theRM cell terminator14 indicates the presence of congestion (CI=1), but increases the ACR when it indicates the absence. A cell time slot allotter18 calculates the ratio LCR/ACR on the basis of the calculated ACR, or makes the so-called quantization on it so that the cells can be allotted to cell time slots and transmitted, on the basis of the quantized values. Theoutput manager19 manages to receive anoutput22 indicating the output of quantized values from the cell time slot allotter18, allot various cells (cells of ABR (including RM cells), CBR, VBR) to cell time slots on the basis of theoutput22, and supply the cells through achannel processor16 to the network (WAN)1.
On the other hand, the destination function is to (1) transmit the RM cell from the[0027]INF8a(the source previously mentioned) of the oppositepacket switching system2 back to theINF8aand (2) add the congestion indication bit to the RM cell at the time of the back transmission. These operations are made by an RM cell extract/send-back portion15. Specifically, when the RM cell transmitted from the opposite source arrives at the destination, the CI bit of the RH cell is turned “1” or “0” according to whether the congestion indication bit of the preceding data cell just before the arrived RM cell, or the explicit forward congestion indication (hereinafter, abbreviated EFCI) bit to the following apparatus is “1”, indicating congestion, as is specified in an ATM Forum, and then the RM cell is transmitted back to the source. In this case, the RH cell to be transferred is once stored in thecell buffer11, and read therefrom under the control of theoutput manager19.
FIG. 4 shows an embodiment of the cell output control apparatus of the invention, or is a block diagram of the construction of the cell[0028]time slot allotter18 included in thescheduler10 of eachINF8a. . .8n,INF8a. . .8n′ of thepacket switching system2,3.
The cell time slot allotter[0029]18 for realizing the output control apparatus of the invention includes an ACR holder circuit 18-1 for once holding anACR21 from theACR calculator17, a cell output rate calculator circuit 18-3 for calculating the cell output rate on the basis of the ACR 18-2 from the ACR holder circuit 18-1 and the LCR (for example, 155,52 Mbps, transfer rate of STM-1, provided in the recommendation of the International Telecommunication Union ITU-T), a quantizer circuit 18-5 for quantizing the output, 18-4 from the cell output rate calculator circuit 18-3, and controlling the allotment of cell time slots, an output time slot calculator 18-7 for adding the output, 18-6 from the quantizer circuit 18-5 and the current cell time slot18-11 from a cell time slot counter 18-10 (which counts the cell time slot value) to produce a time slot 18-8 for a cell, and a cell output time slot deciding circuit 18-9 for once storing the result, 18-8 from the output time slot calculator 18-7 in its storage circuit 18-9-1 and supplying it to theoutput manager22. This cell time slot allotter18 controls the interval (the allotment of cell time slots to the cells to be transmitted) of the cells produced in accordance with the traffic state of the network and thereby generates the cells at the rate near the ACR suited for ABR class services in which the transfer rate of cells is changed during communication.
The construction and operation of this apparatus will be described in detail with reference to FIGS. 3 and 4.[0030]
First, the ACR holder circuit 18-1 will be mentioned below.[0031]
The[0032]ACR calculator17 of thescheduler10 at, for example,interface INF8areceives the RM cell, and adds or subtracts the ACR according to the CI bit of the RM cell. On the other hand, the celltime slot allotter18 calculates the output cell time slot for the next cell to be generated when the previous cell is produced from thecell buffer11. In other words, the ACR calculated at the time of receiving RM cell is required to hold until the output cell time slot is calculated up. The ACR holder circuit 18-1 is used for this purpose. As described previously, the ACR holder circuit 18-1 has storage regions the number of which corresponds to that of a plurality of VCs because ACR values are stored on the VCs, and produces the ACR on each VCR when the cell output rate is computed as will be described later.
The cell output rate calculator circuit 18-3 will be described. This cell output rate calculator circuit 18-3 calculates the output rate of the ABR cell relative to ACR, (LCR/ACR) necessary to compute the next cell output time slot when the previous cell is produced from the[0033]cell buffer11. This circuit will be described with reference to FIGS. 5 and 6.
FIG. 5 is a frame diagram showing the format of the cell transmission rate signal, and FIG. 6 is a block diagram of the cell output rate calculator circuit 18-3 of this invention.[0034]
The format of the signal to be used for the calculation will be first mentioned with reference to FIG. 5. The format of the cell transfer rate signal, as established in the ATM-Forum, has a[0035]preliminary bit23, a control bit nZ24 (1 bit) for indicating rate R=0, anexponential part e25 of 5 bits for indicating the rate, and amantissa part m26 of 9 bits, or a total of 16 bits. The rate R is given by the following equation:
R=[2**e×(1+m/512)]×nZ(cells/s) (1)
(2**e indicates the e-the power of 2)[0036]
The maximum value of the above equation is 2**31×2=about 4×10**9 (cells/s), and thus the possible range of the rate is up to several (Tb's/s).[0037]
The two rates LCR and ACR used for the calculation in the cell output rate calculator circuit 18-3 of the invention are expressed, according to the above format, as below:[0038]
LCR=[2**e′×(1+m′/512)]×nZ
ACR=[2**e×(1+m/512)]×nZ
A description will be made of the case in which nZ=1, or R is not zero in the construction and operation of the cell output rate calculator circuit 18-3.[0039]
The ratio LCR/ACR is expanded into the following equation from Eq. (1):[0040]
LCR/ACR=(LCR/2**e)×{1/(1+m/512)}=(½**e)×{LCR/(1+m/512)} (2)
The cell output rate calculator circuit 18-3 of the invention has a table 18-3-1 in which the value of LCR/(1+m/512) in Eq. (2) is previously written from an[0041]external processor27 as shown in FIG. 6. FIG. 7 is a table structure diagram showing the structure of the table 18-3-1. When themantissa part m26 of the ACR 18-2 is fed from the ACR holder circuit 18-1 as the address to the table 18-3-1, the table produces the exponential part e′ 18-3-2 of LCR and (1+m′/512) 18-3-3 including mantissa part m′ from the address as the result of calculating LCR/(1+m/512). This table 18-3-1 is useful to construct a complicated multiplying or dividing circuit with ease as explained below.
That is, the LCR/ACR of Eq. (2) can be expressed as[0042]
LCR/ACR={2**(e′−e)}(1+m′/512) (3)
The right side of the equation ([0043]3) corresponds to (e−e′) bits shifting of the output (1+m′/512) 18-3-3 from the table 18-3-1. Thus, the cell output rate can be simply calculated by only shifting the output (1+m′/512) 18-3-2 from the table 18-3-1 by the (e−e′) bits 18-3-5 that was calculated by a shift bit calculator circuit 18-3-4. The result of the calculation, 18-4 is supplied to the quantizer circuit 18-5.
The construction and operation of the quantizer circuit 18-5 will be mentioned below.[0044]
FIG. 8 is a block diagram of the quantizer circuit of this invention.[0045]
This quantizer circuit 18-5 quantizes the cell output rate 18-4 so that cells can be allotted to cell time slots. First, in a quantization error absorber circuit 18-5-1, a quantization error value 18-5-14 (the initial value is zero) held in a quantization error holder circuit 18-5-13 at the time of the previous output control is subtracted from the input cell output rate value 18-4. Here, the quantization error holder circuit 18-5-13 holds error on each one of a plurality of VC. It produces a value from a region corresponding to a[0046]VC value 20 that is fed at the same time as the output rate 18-4, and supplies it to the absorber circuit where substraction is made. The result of the subtraction in the quantization error absorber circuit 18-5-1 is divided into an integral part bit 18-5-2 corresponding to the cell output (allotment) interval and a decimal part bit 18-5-3 corresponding to the quantization error. The decimal part bit 18-5-3 is supplied to a quantization error detector circuit 18-5-6 and a quantization error calculator circuit 18-5-8.
The quantization error detector circuit 18-5-6 detects the presence or absence of a decimal (quantization error) from the output (decimal part bit) 18-5-3 which the quantization error absorber circuit 18-5-1 produced. The quantization error calculator circuit 18-5-8 calculates a quantization error 18-5-9 (1-decimal part 18-5-3).[0047]
If the quantization error detector circuit 18-5-6 decides that there is no decimal (no quantization error), a selector 18-5-4 selects the integral part bit 18-5-2 as one of the inputs and produces a cell output rate quantized value 18-6 as the output from the quantizer circuit 18-5. At the same time, a selector 18-5-10 selects “0”, and supplies it to the quantization error holder circuit 18-5-13 where “0” is stored as the previously calculated quantization error.[0048]
If the quantization error detector circuit 8-5-6 decides that the decimal is present (the quantization error remains), the selector 18-5-4 selects the sum 18-5-5 of the integral part bit 18-5-2 and “1” and produces it as the cell output quantized value 18-6 from the quantizer circuit 18-5. At the same time, the selector 18-5-10 selects a quantization error 18-5-9 from the quantization error calculator 18-5-8, and supplies it to the quantization error holder circuit 18-5-13 where the quantization error at the previous calculation time is stored. This value is produced as the quantization error 18-5-14 for the next quantization, and the quantization error absorber circuit 18-5-1 again makes the process.[0049]
The output time slot calculator circuit 18-7 will be mentioned below.[0050]
In the output time slot calculator circuit 18-7, the cell output rate 18-6 from the quantizer circuit 18-5 is added to the current cell time slot value 18-11 from the cell time slot counter 18-10. The output from the output time slot calculator circuit 18-7 is supplied to the output time slot storage circuit 18-9-1 as the cell time slot 18-8 for the next cell. More specifically, the cell time slot counter 18-10 counts the cell time slot value from, for example, the[0051]INF8a.If the current cell time slot and the cell output rate 18-6 from the quantizer circuit 18-5 are respectively “5” and “2”, the time slot for the next cell is produced when the cell time slot counter counts “7”.
The storage circuit 18-9-1 in the cell output time slot holder circuit 18-9 holds on each of a plurality of VCs the output cell time slot 18-8 fed from the output time slot calculator 18-7. The stored output time slots are used when the[0052]output manager19 of thescheduler10 makes cell output decision, and cells are allotted to the cell time slots so that the cells can be transmitted at a rate close to the ACR.
After the cell output, the next cell output time slot is calculated by the above construction and procedure.[0053]
The operation of the cell output control apparatus of the invention in the case of LCR/ACR=1.2 will be further described with reference to drawings.[0054]
FIG. 9 is a diagram to which reference is made in explaining the quantization operation in the quantizer circuit of the invention, and FIG. 10 is a diagram to which reference is made in explaining the state of the cell output in the case where the cell output control apparatus of the invention is used in a communication system.[0055]
When the cell output rate 18-4 (FIG. 9) to the quantizer circuit 18-5 (FIG. 4) is 1.2, the previous quantization error 18-5-14 (FIG. 9) at the first computation is the initial value, or 0. The output from the quantization error absorber circuit 18-5-1 (FIG. 8) is the integral part bit 18-5-2 (FIG. 9), or 1 and the decimal part bit 18-5-3 (FIG. 9), or 0.2. The quantization error calculated value 18-5-9 (FIG. 8) is the subtraction of 0.2 from 1, or 0.8. The quantized value 18-6 (FIGS. 8 and 9) is “2”. Therefore, as illustrated in FIG. 10 at (a), the next cell is produced two cell time slots after. Those values at and after the second computation are as illustrated in FIG. 9, and from the figure it will be seen that the error can be absorbed up at the fifth quantization. The quantized value 18-6 at the second to fifth computations is “1”, and a cell is produced at each cell time slot as shown in FIG. 10.[0056]
That is, according to the cell output control apparatus of the invention, since five cells are transmitted on five slots of six cell time slots with the cell transmission intervals changed in accordance with the quantization error, the ABR services can be realized in which the cell transmission can be made at a transfer rate near the actual value of ACR even when the LCR/ACR ratio is not just an integral number. The effect of the cell output control/quantization processing in this invention will be described with reference to FIG. 10. If the quantization error is not absorbed, it is possible to round-off or round-up the error. When the error is rounded off as shown in FIG. 10 at (b), the LCR/ACR ratios at and after the first computation are all “1”, and thus a cell is transmitted on each cell time slot, in which case congestion occurs. When the error is rounded up as shown in FIG. 10 at (c), the LCR/ACR ratios are “2”, and thus a cell is transmitted only on each second slot. Therefore, the actual LCR/ACR ratio, or “1.2” is not reflected on the cell output, with the result that the cell transmission efficiency is reduced. The cell output control of the invention, however, is able to absorb the quantization error and transmit cells at LCR/ACR=1.2 in the interval of the cell time slots, T to T+5. In other words, the actual value of ACR can be reflected on the cell transmission.[0057]