Controlled available bit rate service in an ATM switch
First Claim
1. An ATM network switch, comprising:
- a) at least one switch fabric; and
b) a plurality of controllers, each controller having, an input link and an output link to said switch fabric, at least one external link to an ATM network, means for receiving ATM cells from the ATM network, means for determining the VC of cells received from the ATM network, a plurality of cell buffer means for separately buffering groups of cells of each VC, means for determining whether each cell received from the ATM network is an ABR cell, means for creating a pointer to each ABR cell, said pointer including an onward transmission time, traffic shaping buffer means for buffering said pointers to said ABR cells, look-up table means for storing an MCR for each ABR VC, means for determining available output bandwidth for ABR traffic, calculating means for calculating an allocated output cell rate for each ABR VC, means for reading pointers from said traffic shaping buffer means, means for comparing the MCR associated with a pointer read from said traffic shaping buffer means with said allocated output cell rate, and means for transmitting cells from each of said cell buffer means to another controller via said switch fabric when the MCR associated with a pointer read from said traffic shaping buffer is greater than said allocated output cell rate.
7 Assignments
0 Petitions
Accused Products
Abstract
An ATM switch (10) has a plurality of link controllers (12) each having a FIFO (30) for each VC established, a FIFO (32) for each priority level, and a traffic shaping FIFO (34) for pointers to ABR cells. Cells are pushed into the VC FIFO (30) and a pointer to the VC FIFO (30) is pushed into an arbitration FIFO (32) for the priority level of the VC FIFO (30). Pointers to ABR cells with onward transmission times are pushed into the traffic shaping FIFO (34). The arbitration FIFOs (32) are examined according to a schedule and cells are popped from VC FIFOs (30) according to priority for exit from the controller (12). A leaky bucket processor (22) calculates an average output cell rate OCR and ABR cells are popped from VC FIFOs out of turn if the MCR for the ABR VC exceed the OCR.
40 Citations
25 Claims
-
1. An ATM network switch, comprising:
-
a) at least one switch fabric; and
b) a plurality of controllers, each controller having, an input link and an output link to said switch fabric, at least one external link to an ATM network, means for receiving ATM cells from the ATM network, means for determining the VC of cells received from the ATM network, a plurality of cell buffer means for separately buffering groups of cells of each VC, means for determining whether each cell received from the ATM network is an ABR cell, means for creating a pointer to each ABR cell, said pointer including an onward transmission time, traffic shaping buffer means for buffering said pointers to said ABR cells, look-up table means for storing an MCR for each ABR VC, means for determining available output bandwidth for ABR traffic, calculating means for calculating an allocated output cell rate for each ABR VC, means for reading pointers from said traffic shaping buffer means, means for comparing the MCR associated with a pointer read from said traffic shaping buffer means with said allocated output cell rate, and means for transmitting cells from each of said cell buffer means to another controller via said switch fabric when the MCR associated with a pointer read from said traffic shaping buffer is greater than said allocated output cell rate. - View Dependent Claims (2, 3, 4, 5, 6, 7)
each controller further includes means for determining a peak rate for ABR traffic, means for determining if said peak rate has been exceeded, means for delaying said onward transmission time when said peak rate has been exceeded.
-
-
3. An ATM network switch according to claim 2, wherein:
-
each controller further includes means for determining an average rate for ABR traffic, means for determining if said average rate has been exceeded, means for delaying said onward transmission time when said average rate has been exceeded.
-
-
4. An ATM network switch according to claim 1, wherein:
-
each controller further includes means for determining an ER based on said allocated output cell rate.
-
-
5. An ATM network switch according to claim 1, wherein:
-
each controller further includes means for creating an arbitration pointer to each of said cell buffer means, arbitration buffer means for buffering said arbitration pointers to said cell buffer means, means for reading arbitration pointers from said arbitration buffer means, and means for transmitting cells from each of said cell buffer means to another controller via said switch fabric according to arbitration pointers read from said arbitration buffer means.
-
-
6. An ATM network switch according to claim 5, wherein:
-
each controllers further includes means for determining a priority level for each VC, said arbitration buffer means comprises a separate arbitration buffer for each priority level, and said means for reading arbitration pointers includes means for ordering the reading of said separate arbitration buffers.
-
-
7. An ATM network switch according to claim 6, wherein:
-
said arbitration buffer means includes an ABR arbitration buffer for ABR arbitration pointers, said means for reading arbitration pointers includes means for reading ABR arbitration pointers, means for comparing the MCR associated with an ABR arbitration pointer with said allocated output cell rate, and means for transmitting cells from a cell buffer means pointed to by said ABR arbitration pointer to another controller via said switch fabric when the MCR associated with a pointer read from said traffic shaping buffer is less than said allocated output cell rate.
-
-
8. A method of controlling ABR traffic in an ATM network switch, comprising:
-
a) determining the VC for each ABR cell;
b) storing each ABR cell in a respective VC buffer for each ABR VC;
c) determining the MCR for each ABR VC;
d) storing the MCR for each ABR VC in a look-up table;
e) creating a pointer to each ABR cell, the pointer including an onward transmission time;
f) storing the pointers in a pointer buffer;
g) determining available output bandwidth for ABR traffic;
h) calculating an allocated output cell rate for each ABR VC, i) reading pointers from the pointer buffer in order of onward transmission time;
j) comparing the MCR associated with a pointer with the allocated output cell rate; and
k) transmitting the cell associated with the pointer when the MCR associated with the pointer is greater than the allocated output cell rate. - View Dependent Claims (9, 10, 11, 12)
l) determining a peak rate for ABR traffic;
m) determining if the peak rate has been exceeded;
n) delaying the onward transmission time when the peak rate has been exceeded.
-
-
10. A method according to claim 9, further comprising:
-
o) determining an average rate for ABR traffic;
p) determining if the average rate has been exceeded;
q) delaying the onward transmission time when the average rate has been exceeded.
-
-
11. A method according to claim 8, further comprising:
1) determining an ER for each ABR VC based on the allocated output cell rate.
-
12. A method according to claim 11, further comprising:
m) adjusting the ER for each ABR VC based on the number of cells in a respective ABR VC buffer.
-
13. An ATM network switch, comprising:
-
a) at least one switch fabric; and
b) a plurality of controllers, each controller having, an input link and an output link to said switch fabric, at least one external link to an ATM network, means for receiving ATM cells from the ATM network, means for determining whether each cell received from the ATM network is an ABR cell, means for determining the MCR for each ABR VC, means for determining available output bandwidth for ABR traffic, buffer means for buffering ABR cells, means for comparing the MCR associated with a pointer read from said traffic shaping buffer means with said allocated output cell rate, and means for transmitting ABR cells from said buffer means to another controller via said switch fabric based on a comparison of MCR and available output bandwidth for ABR traffic. - View Dependent Claims (14, 15, 16, 17)
each controller further includes means for determining a peak rate for ABR traffic, means for determining if said peak rate has been exceeded, means for delaying transmission of ABR cells when said peak rate has been exceeded.
-
-
15. An ATM network switch according to claim 14, wherein:
-
each controller further includes means for determining an average rate for ABR traffic, means for determining if said average rate has been exceeded, means for delaying transmission of ABR cells when said average rate has been exceeded.
-
-
16. An ATM network switch according to claim 13, wherein:
-
each controller further includes means for determining an ER based on said available output bandwidth for ABR traffic.
-
-
17. An ATM network switch according to claim 16, wherein:
-
each controller further includes means for determining the number of ABR cells in said buffer means, and means for adjusting said ER based on the number of ABR cells in said buffer means.
-
-
18. A method of controlling the flow of cells on an ABR connection at a buffering point in an ATM network switch, comprising using a traffic shaping process to guarantee a minimum cell rate (MCR) for the ABR VC said traffic shaping process including
determining the MCR for each ABR VC, determining the output bandwidth for ABR traffic, comparing each MCR associated with a pointer to the allocated output cell rate, and using the result of the comparison to control the transmission of ABR cells.
-
22. An ATM network switch comprising cell buffering means, the buffering means comprising traffic shaping means for guaranteeing a minimum cell rate for each ABR VC configured on the switch said traffic shaping means comprising
means for determining the MCR for each ABR VC, means for determining the output bandwidth for ABR traffic, means for comparing each MCR associated with a pointer to the allocated output cell rate, and means for using the result of the comparison to control the transmission of ABR cells.
Specification