EP0878073A4 - Atm network switch with congestion control - Google Patents

Atm network switch with congestion control

Info

Publication number
EP0878073A4
EP0878073A4 EP96918094A EP96918094A EP0878073A4 EP 0878073 A4 EP0878073 A4 EP 0878073A4 EP 96918094 A EP96918094 A EP 96918094A EP 96918094 A EP96918094 A EP 96918094A EP 0878073 A4 EP0878073 A4 EP 0878073A4
Authority
EP
European Patent Office
Prior art keywords
buffer
cells
cell
max
vccnt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP96918094A
Other languages
German (de)
French (fr)
Other versions
EP0878073A1 (en
Inventor
Trevor Jones
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
General Datacomm Inc
Original Assignee
General Datacomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Datacomm Inc filed Critical General Datacomm Inc
Publication of EP0878073A1 publication Critical patent/EP0878073A1/en
Publication of EP0878073A4 publication Critical patent/EP0878073A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/506Backpressure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3081ATM peripheral units, e.g. policing, insertion or extraction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/501Overload detection
    • H04L49/503Policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5632Bandwidth allocation
    • H04L2012/5635Backpressure, e.g. for ABR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5629Admission control
    • H04L2012/5631Resource management and allocation
    • H04L2012/5636Monitoring or policing, e.g. compliance with allocated rate, corrective actions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5647Cell loss
    • H04L2012/5648Packet discarding, e.g. EPD, PTD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management
    • H04L2012/5682Threshold; Watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Definitions

  • This invention relates to an Asynchronous Transfer Mode (ATM) network switch having a buffer for buffering the flow of ATM cells and a congestion control mechanism associated there ⁇ with.
  • ATM Asynchronous Transfer Mode
  • the invention also relates to a method of controlling congestion in an ATM network switch.
  • ATM cells may either carry individual data or be part of a segmented larger data packet in accordance with AAL5 (ATM Adaptation Layer 5) . Indi ⁇ vidual data cells may be discarded at random when a switch is congested.
  • AAL5 ATM Adaptation Layer 5
  • all ATM cells which comprise a single packet must be delivered through the network to the destination without loss. If a single cell is lost within a packet, the destination will not be able to reconstitute (or reassemble) the packet, and all the other cells received within that packet will be worthless and must be discarded. It will be noted that packets may comprise dozens, or even hundreds of cells.
  • Intelligent cell discard schemes detect the end of a packet by reading the 3-bit Payload Type (PT) field value of 0X1 (hexadec ⁇ imal 1) in the ATM cell header, and then setting a flag.
  • PT Payload Type
  • the level of congestion in the switch is assessed to determine whether there is capacity to accept the entire packet without cell loss.
  • a flag is then set to indicate either accep ⁇ tance of the whole packet, or that the whole packet is to be discarded. In this way, individual cells within a packet should not be discarded.
  • Switches become congested when the total input bandwidth exceeds the output bandwidth at a particular switch queuing point.
  • congestion may occur on the receive side (input to the switch fabric) if the switch fabric is congested and will not allow further cells to be input. It may also occur on the transmit side (output from the switch fabric) where cells arrive faster than they can be transmitted.
  • An ATM network switch includes a buffer for buffering the flow of ATM cells and a congestion control mechanism which includes means for allocating buffer space to each virtual connection and means for determining the amount of buffer space available for each virtual connection
  • the congestion control mechanism includes means for storing a predetermined value Max, representing the maximum permissible number of ATM cells which may be stored in the buffer for each virtual connec ⁇ tion (VC) through the switch, and a predetermined offset value K, which determines the maximum occupancy of the buffer for the VC; means responsive to the arrival of a new ATM cell at the buffer means for determining the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for the respective VC for the cell; means for determining the remaining capacity BS of the buffer; calculating means for calculating an adjusted value Max' of Max in accordance with the formula:
  • BS+KJ means for comparing Max' with VcCnt and for discarding the cell if VcCnt is greater than or equal to Max' .
  • the con ⁇ area control mechanism includes means for storing an EFCI (Explicit Forward Congestion Indication) Threshold value for each virtual connection (VC) through the switch, and a predetermined offset value K, which determines the maximum occupancy of the buffer for the VC; means responsive to the arrival of a new ATM cell at the buffer for determining the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for the respective VC for the cell; means for determining the remaining capacity BS of the buffer; calculating means for calculating an adjusted value EFCIThr' of the EFCI Threshold EFCIThr in accordance with the formula:
  • the switch includes both of the congestion control mechanisms described above.
  • the invention also provides a method of controlling conges ⁇ tion in an ATM network switch having a buffer for buffering the flow of ATM cells therethrough, the method including discarding cells according to the congestion control mechanism described above and setting EFCI bits according to the congestion control mechanism described above.
  • Non user data cells are not arranged in packets and may therefore be discarded on an individual basis.
  • the congestion control mechanism may be implemented on each side of the switch fabric in a network switch, at each point where congestion may occur.
  • the algorithm for discarding cells allocates a maximum number (Max) of stored cell positions in the buffer for each VC, this number being reduced as the buffer fill increases as cells are stored on other connections.
  • the offset parameter K which may be positive or negative, can be set to determine the level of buffer fill at which all cells are discarded. The value will be set differently depending on the class of traffic. For low priority traffic classes, such as UBR (Uncommitted Bit Rate) , K may be set to zero, for example, so as not to allow any UBR cells into the buffer when it is half full or more. A negative value of K would cause cell discarding at less than half full.
  • UBR Uncommitted Bit Rate
  • the Max parameter may, however, be set quite high to allow plenty of buffering when space is available.
  • Max may be set lower, to reflect the fact that CBR cells are treated with top priority and are sensitive to transit delay, and hence buffer size.
  • the K parameter would be set large to allow CBR cells to be stored even when there is a high level of lower priority traffic.
  • the EFCI bit in the cell header may be set by a congested ATM switch as part of an end-to-end flow control mechanism, to slow down the source at times of congestion.
  • the EFCI Threshold parameter is configurable for each connection at a predetermined fraction of the maximum level at which discard may occur (typi ⁇ cally this would be 50%) .
  • the EFCI test may be performed for each cell arriving in the buffer, and the Payload Type EFCI bit is set for all user data cells when the threshold is exceeded.
  • An option to discard CLPl cells (CLP is Cell Loss Priority, and 1 denotes low priority) may also be set per connection when the EFCI level is reached. For AAL5 connections, this feature is disabled for the user data cells. Additional objects and advan ⁇ tages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures. Brief Description of the Drawings
  • Figure 1 is a simple diagrammatic representation of a typi ⁇ cal ATM switch
  • FIG. 2 is an enlarged diagrammatic view of a slot con ⁇ troller forming part of the switch of Figure 1;
  • Figure 3 is a block diagram of the congestion control mech ⁇ anism in slot controller of Figure 2.
  • Figure 4 is a flow diagram illustrating the method steps carried out in the congestion control mechanism.
  • the ATM network switch illus ⁇ trated is of the type described and claimed in our earlier UK Patent Application No 9507454.8, and has two switch fabrics 14a and 14b, each connected to a plurality of slot controllers lla-f (although only six slot controllers are shown to simplify the diagram, a typical switch may have sixteen slot controllers) .
  • Each slot controller has input 12 and output 13 connections to an external data link, and includes, as may be seen from Figure 2, a receiver 21 and a transmitter 22, either or both of which may include a buffer to control the flow of data into or out of the switch.
  • the transmitter 22 includes a congestion control mechanism 23 controlling the storage of cells in the buffer 24.
  • the congestion control mechanism 23 is described hereinafter in more detail with reference to Figures 3 and 4. Since division is more difficult to execute, the equations
  • EFCIThr x (BS + K - TSC) so that the elements can be simply arrived at by additions, multiplications and subtractions, as follows.
  • the number of slots left (Buffer Space or BS) in the buffer 24 is first read on arrival of a new cell at the congestion control means 23 and passed via a multiplexer 30 to an adde r/subtracter 31.
  • the VC is determined from the cell header, and the offset K associated with that VC is read from a routing table which may be defined in a separate part of the RAM (Random Access Memory) in which the buffer 24 is configured, the offset K being passed via a second multiplexer 32 to the adder/subtracter 31.
  • the adder then receives an add signal on line 33 and adds the values together, with the resultant BS + K value being stored in a first register 34.
  • the register 34 then passes the BS+K value back to the first multiplexer 30, while the Total Stored Cells (TSC) value is calculated at 29 from the BS and the total capacity TC of the Buffer and passed to the second multiplexer 32.
  • the values are passed to the adder/subtracter 31, which carries out an A-B operation to give the result BS+K-TSC, which is held in a second register 35.
  • a negative flag is generated by the adder/subtracter 31 and is held in a register 36 for use as hereinafter described.
  • Max for the VC is also read from the routing table RAM, and is input to a multiplier 38 in the second stage of the congestion control mechanism (shown in Fig 3b) via a third multiplexer 39, while the value of BS+K-TSC is read from the register 35 to the multiplier 38 via a fourth multiplexer 37.
  • the product MAX(BS+K-TSC) is stored in a register 40.
  • the EFCI Threshold value is then read from the routing table RAM, and passed via the multiplexer 39 to the multiplier 38, to be multiplied with the BS+K-TSC value, the result being stored in a register 41.
  • VcCnt value is read from the routing table RAM and is then passed via multiplexer 37 to the multiplier, and the BS+K value stored in register 34 is fed to the multiplier 38 via multiplexer 39.
  • the product VcCnt (BS+K) is passed to a comparator 43, while the values stored in the registers 40 and 41 are read out to the comparator in turn via multiplexer 42.
  • the respective one-bit flags indicating whether or not the VcCnt product is less than the other side of the equation are stored in registers 44 and 45.
  • the sequence of operation is as follows.
  • various control bits are held in the routing table. These are: (1) Enable EFCI setting; (2) Enable CLPl setting; (3) Enable Early Packet Discard (EPD) ; (4) Discard Packet; and (5) First Cell of Packet.
  • the discard packet bit is set to 0 and the First Cell of Packet bit is set to 1 to indicate that the next cell to arrive is the first cell of a packet.
  • the 3-bit Payload Type field in each cell header have to be considered.
  • Bit 2 is set to 0 to signify a user cell
  • Bit 1 is the EFCI bit
  • bit 0 is set to 1 to indicate end of packet.
  • the sequence of opera ⁇ tions described with reference to Figures 3a and 3b is carried out to yield the set of flags as- hereinbefore described. These flags are then considered together with the control bits and payload type in the congestion mechanism. If the negative flag is set, the buffer cannot accommodate the cell, and so it is immediately discarded without further processing, and the next cell is received. Another process runs in parallel with the mechanism described. For each cell, the payload type field is checked to see if the cell is the last in a packet, and if it is, the 1st cell in packet bit is set to 1 so that the next cell arriving is set as the first of a packet.
  • bit 2 of the PT field of the cell header is checked to see whether the cell is a user cell. Taking the case first where the cell is not a user cell, for example an Rm cell, the routing table control bit for CLPl Discard is first examined to see whether the cell, if of low priority, can be discarded. If this is not set, the >MAX flag is next examined. If it is set, the cell is discarded, while if the flag is not set, the cell is passed and can enter the buffer. If CLPl discard is set, the next stage is to test whether the cell is of CLPl.
  • the _>MAX test as described above, while if the cell is CLPl, the _>EFCIThr test flag is examined. If the threshold is exceeded, the cell is discarded, while if it is not, the >MAX flag is examined, as described.
  • the sequence of operations set out on the right-hand side of Figure 4 is then followed. Again, the CLPl discard bit in the routing table for the cell's VC is checked, and if so, the CLP bit is checked. If the VC is not CLPl, the mechanism passes on to the next test, the Early Packet Discard (EPD) Mode test. If the VC is CLPl, the >EFCIThr flag is then examined, and if the threshold is exceeded, the cell is discarded, but otherwise the EPD Mode test follows. If CLPl Discard bit is not set, the mechanism passes direct to the EPD Mode test. The EPD Mode test looks to the routing table to see whether EPD is enabled.
  • EPD Early Packet Discard
  • the J>MAX flag is examined, and if the value is equalled or exceeded, the cell is discarded, while otherwise the _>EFCIThr flag is next examined. If the threshold is exceeded, the Enable EFCI setting control bit is checked, and if this is set the EFCI bit in the cell header is set to signal that the rate of sending of cells is to be de ⁇ creased; otherwise the cell is passed for admittance to the buffer. If the threshold is not exceeded, the cell is passed without further test.
  • the First Cell in Packet control bit in the routing table is checked. If this is not set, indicating that the cell is within a packet, the Discard Packet bit is checked; if this is set, the cell can simply be discarded, while if it is not set, the J ⁇ EFCIThr flag is examined, as de ⁇ scribed in the preceding paragraph. If the cell is the first of a packet, the >MAX flag is checked. If the value is equalled or exceeded, the Discard Packet bit is set in the routing table, so that all the cells for that packet are discarded as described; otherwise the Discard Packet bit is cleared and the >EFCIThr flag is examined as hereinbefore described.

Abstract

An ATM network switch (11) including a buffer (24) for buffering the flow of ATM cells and a congestion control mechanism (23). The congestion control mechanism establishes a value Max, representing the maximum permissible number of ATM cells which may be stored in the buffer. The switch includes a predetermined offset value K for determining the maximum occupancy of the buffer for the connection. The congestion control mechanism determines the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for a given connection, determines the remaining capacity BS of the buffer, calculates an adjusted value of Max as a function of TSC and BS, compares the adjusted value Max' with VcCnt, and discards the cell if VcCnt is greater than the adjusted value.

Description

ATM NETWORK SWITCH WITH CONGESTION CONTROL
Field of the Invention
This invention relates to an Asynchronous Transfer Mode (ATM) network switch having a buffer for buffering the flow of ATM cells and a congestion control mechanism associated there¬ with. The invention also relates to a method of controlling congestion in an ATM network switch.
Background to the Invention
Intelligent cell discard schemes have been proposed to allow better throughput in ATM cell switches. ATM cells may either carry individual data or be part of a segmented larger data packet in accordance with AAL5 (ATM Adaptation Layer 5) . Indi¬ vidual data cells may be discarded at random when a switch is congested. However, for an AAL5 connection, all ATM cells which comprise a single packet must be delivered through the network to the destination without loss. If a single cell is lost within a packet, the destination will not be able to reconstitute (or reassemble) the packet, and all the other cells received within that packet will be worthless and must be discarded. It will be noted that packets may comprise dozens, or even hundreds of cells.
Intelligent cell discard schemes, often referred to as "Early Packet (or Cell) Discard", detect the end of a packet by reading the 3-bit Payload Type (PT) field value of 0X1 (hexadec¬ imal 1) in the ATM cell header, and then setting a flag. When the next user data cell arrives, with a PT value of 0X0 (hexa¬ decimal 0) , the level of congestion in the switch is assessed to determine whether there is capacity to accept the entire packet without cell loss. A flag is then set to indicate either accep¬ tance of the whole packet, or that the whole packet is to be discarded. In this way, individual cells within a packet should not be discarded. Switches become congested when the total input bandwidth exceeds the output bandwidth at a particular switch queuing point. In a typical switch, for example of the type described and claimed in our earlier UK Patent Applications 9507454.8, 9509483.5 and 9509484.3, congestion may occur on the receive side (input to the switch fabric) if the switch fabric is congested and will not allow further cells to be input. It may also occur on the transmit side (output from the switch fabric) where cells arrive faster than they can be transmitted.
Summary of the Invention
It is therefore an object of the invention to provide an apparatus and a method for assessing current congestion level and determining when to discard a packet (or individual ATM cell) .
An ATM network switch according to the invention includes a buffer for buffering the flow of ATM cells and a congestion control mechanism which includes means for allocating buffer space to each virtual connection and means for determining the amount of buffer space available for each virtual connection
According to one embodiment of the invention, the congestion control mechanism includes means for storing a predetermined value Max, representing the maximum permissible number of ATM cells which may be stored in the buffer for each virtual connec¬ tion (VC) through the switch, and a predetermined offset value K, which determines the maximum occupancy of the buffer for the VC; means responsive to the arrival of a new ATM cell at the buffer means for determining the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for the respective VC for the cell; means for determining the remaining capacity BS of the buffer; calculating means for calculating an adjusted value Max' of Max in accordance with the formula:
TSC
Max'=Maxx 1— and
BS+KJ means for comparing Max' with VcCnt and for discarding the cell if VcCnt is greater than or equal to Max' .
According to another embodiment of the invention, the con¬ gestion control mechanism includes means for storing an EFCI (Explicit Forward Congestion Indication) Threshold value for each virtual connection (VC) through the switch, and a predetermined offset value K, which determines the maximum occupancy of the buffer for the VC; means responsive to the arrival of a new ATM cell at the buffer for determining the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for the respective VC for the cell; means for determining the remaining capacity BS of the buffer; calculating means for calculating an adjusted value EFCIThr' of the EFCI Threshold EFCIThr in accordance with the formula:
means for comparing EFCIThr' with VcCnt and for setting an EFCI bit in the ATM cell header of said cell if VcCnt is greater than or equal to EFCIThr' .
Preferably, the switch includes both of the congestion control mechanisms described above.
The invention also provides a method of controlling conges¬ tion in an ATM network switch having a buffer for buffering the flow of ATM cells therethrough, the method including discarding cells according to the congestion control mechanism described above and setting EFCI bits according to the congestion control mechanism described above. Non user data cells are not arranged in packets and may therefore be discarded on an individual basis.
The congestion control mechanism may be implemented on each side of the switch fabric in a network switch, at each point where congestion may occur. The algorithm for discarding cells allocates a maximum number (Max) of stored cell positions in the buffer for each VC, this number being reduced as the buffer fill increases as cells are stored on other connections. The offset parameter K, which may be positive or negative, can be set to determine the level of buffer fill at which all cells are discarded. The value will be set differently depending on the class of traffic. For low priority traffic classes, such as UBR (Uncommitted Bit Rate) , K may be set to zero, for example, so as not to allow any UBR cells into the buffer when it is half full or more. A negative value of K would cause cell discarding at less than half full. The Max parameter may, however, be set quite high to allow plenty of buffering when space is available. For high priority traffic classes, such as CBR (Constant Bit Rate) , Max may be set lower, to reflect the fact that CBR cells are treated with top priority and are sensitive to transit delay, and hence buffer size. On the other hand, the K parameter would be set large to allow CBR cells to be stored even when there is a high level of lower priority traffic.
The EFCI bit in the cell header may be set by a congested ATM switch as part of an end-to-end flow control mechanism, to slow down the source at times of congestion. The EFCI Threshold parameter is configurable for each connection at a predetermined fraction of the maximum level at which discard may occur (typi¬ cally this would be 50%) . The EFCI test may be performed for each cell arriving in the buffer, and the Payload Type EFCI bit is set for all user data cells when the threshold is exceeded. An option to discard CLPl cells (CLP is Cell Loss Priority, and 1 denotes low priority) may also be set per connection when the EFCI level is reached. For AAL5 connections, this feature is disabled for the user data cells. Additional objects and advan¬ tages of the invention will become apparent to those skilled in the art upon reference to the detailed description taken in conjunction with the provided figures. Brief Description of the Drawings
Figure 1 is a simple diagrammatic representation of a typi¬ cal ATM switch;
Figure 2 is an enlarged diagrammatic view of a slot con¬ troller forming part of the switch of Figure 1;
Figure 3 is a block diagram of the congestion control mech¬ anism in slot controller of Figure 2; and
Figure 4 is a flow diagram illustrating the method steps carried out in the congestion control mechanism.
Detailed Description of the Illustrated Embodiments
Referring first to Figure 1, the ATM network switch illus¬ trated is of the type described and claimed in our earlier UK Patent Application No 9507454.8, and has two switch fabrics 14a and 14b, each connected to a plurality of slot controllers lla-f (although only six slot controllers are shown to simplify the diagram, a typical switch may have sixteen slot controllers) . Each slot controller has input 12 and output 13 connections to an external data link, and includes, as may be seen from Figure 2, a receiver 21 and a transmitter 22, either or both of which may include a buffer to control the flow of data into or out of the switch. In Figure 2, the transmitter 22 includes a congestion control mechanism 23 controlling the storage of cells in the buffer 24. The congestion control mechanism 23 is described hereinafter in more detail with reference to Figures 3 and 4. Since division is more difficult to execute, the equations
VcCnt≥Max'=Maxx are factored with (BS+K) to give
VcCnt x (BS + K) ≥ Max x (BS + K - TSC) and VcCnt x (BS + K) _. EFCIThr x (BS + K - TSC) so that the elements can be simply arrived at by additions, multiplications and subtractions, as follows.
The number of slots left (Buffer Space or BS) in the buffer 24 is first read on arrival of a new cell at the congestion control means 23 and passed via a multiplexer 30 to an adde r/subtracter 31. The VC is determined from the cell header, and the offset K associated with that VC is read from a routing table which may be defined in a separate part of the RAM (Random Access Memory) in which the buffer 24 is configured, the offset K being passed via a second multiplexer 32 to the adder/subtracter 31. The adder then receives an add signal on line 33 and adds the values together, with the resultant BS + K value being stored in a first register 34.
The register 34 then passes the BS+K value back to the first multiplexer 30, while the Total Stored Cells (TSC) value is calculated at 29 from the BS and the total capacity TC of the Buffer and passed to the second multiplexer 32. The values are passed to the adder/subtracter 31, which carries out an A-B operation to give the result BS+K-TSC, which is held in a second register 35.
Additionally, if BS+K-TSC gives a negative value, a negative flag is generated by the adder/subtracter 31 and is held in a register 36 for use as hereinafter described.
The value of Max for the VC is also read from the routing table RAM, and is input to a multiplier 38 in the second stage of the congestion control mechanism (shown in Fig 3b) via a third multiplexer 39, while the value of BS+K-TSC is read from the register 35 to the multiplier 38 via a fourth multiplexer 37. The product MAX(BS+K-TSC) is stored in a register 40.
The EFCI Threshold value is then read from the routing table RAM, and passed via the multiplexer 39 to the multiplier 38, to be multiplied with the BS+K-TSC value, the result being stored in a register 41.
The VcCnt value is read from the routing table RAM and is then passed via multiplexer 37 to the multiplier, and the BS+K value stored in register 34 is fed to the multiplier 38 via multiplexer 39. The product VcCnt (BS+K) is passed to a comparator 43, while the values stored in the registers 40 and 41 are read out to the comparator in turn via multiplexer 42. The respective one-bit flags indicating whether or not the VcCnt product is less than the other side of the equation are stored in registers 44 and 45.
These flags, together with the negative flag generated in the first stage (illustrated in Figure 3a) , are used as the basis for the congestion control processing mechanism illustrated as a flow diagram in Figure 4.
Referring to Figure 4, the sequence of operation is as follows. For each VC, various control bits are held in the routing table. These are: (1) Enable EFCI setting; (2) Enable CLPl setting; (3) Enable Early Packet Discard (EPD) ; (4) Discard Packet; and (5) First Cell of Packet. On setting up of a VC, the discard packet bit is set to 0 and the First Cell of Packet bit is set to 1 to indicate that the next cell to arrive is the first cell of a packet. In addition to these control bits, the 3-bit Payload Type field in each cell header have to be considered. Bit 2 is set to 0 to signify a user cell, Bit 1 is the EFCI bit, while bit 0 is set to 1 to indicate end of packet.
When the cell arrives at the buffer, the sequence of opera¬ tions described with reference to Figures 3a and 3b is carried out to yield the set of flags as- hereinbefore described. These flags are then considered together with the control bits and payload type in the congestion mechanism. If the negative flag is set, the buffer cannot accommodate the cell, and so it is immediately discarded without further processing, and the next cell is received. Another process runs in parallel with the mechanism described. For each cell, the payload type field is checked to see if the cell is the last in a packet, and if it is, the 1st cell in packet bit is set to 1 so that the next cell arriving is set as the first of a packet.
If the negative flag is not set, bit 2 of the PT field of the cell header is checked to see whether the cell is a user cell. Taking the case first where the cell is not a user cell, for example an Rm cell, the routing table control bit for CLPl Discard is first examined to see whether the cell, if of low priority, can be discarded. If this is not set, the >MAX flag is next examined. If it is set, the cell is discarded, while if the flag is not set, the cell is passed and can enter the buffer. If CLPl discard is set, the next stage is to test whether the cell is of CLPl. If it is not, it can then pass to the _>MAX test as described above, while if the cell is CLPl, the _>EFCIThr test flag is examined. If the threshold is exceeded, the cell is discarded, while if it is not, the >MAX flag is examined, as described.
Assuming now that the cell is a user cell, the sequence of operations set out on the right-hand side of Figure 4 is then followed. Again, the CLPl discard bit in the routing table for the cell's VC is checked, and if so, the CLP bit is checked. If the VC is not CLPl, the mechanism passes on to the next test, the Early Packet Discard (EPD) Mode test. If the VC is CLPl, the >EFCIThr flag is then examined, and if the threshold is exceeded, the cell is discarded, but otherwise the EPD Mode test follows. If CLPl Discard bit is not set, the mechanism passes direct to the EPD Mode test. The EPD Mode test looks to the routing table to see whether EPD is enabled. If it is not, the J>MAX flag is examined, and if the value is equalled or exceeded, the cell is discarded, while otherwise the _>EFCIThr flag is next examined. If the threshold is exceeded, the Enable EFCI setting control bit is checked, and if this is set the EFCI bit in the cell header is set to signal that the rate of sending of cells is to be de¬ creased; otherwise the cell is passed for admittance to the buffer. If the threshold is not exceeded, the cell is passed without further test.
If EPD Mode is enabled for the VC, the First Cell in Packet control bit in the routing table is checked. If this is not set, indicating that the cell is within a packet, the Discard Packet bit is checked; if this is set, the cell can simply be discarded, while if it is not set, the J≥EFCIThr flag is examined, as de¬ scribed in the preceding paragraph. If the cell is the first of a packet, the >MAX flag is checked. If the value is equalled or exceeded, the Discard Packet bit is set in the routing table, so that all the cells for that packet are discarded as described; otherwise the Discard Packet bit is cleared and the >EFCIThr flag is examined as hereinbefore described.
In practice, it may be found more convenient to -carry out the various tests described with reference to Figure 4 simulta¬ neously, rather than sequentially, and this may be achieved by a single logic step in which all the inputs are ANDed. The se¬ quential process described, however, assists comprehension of the method of the invention.

Claims

1. An ATM network switch comprising a buffer means for buffering the flow of ATM cells and a congestion control mechanism comprising: means for storing for each virtual connection (VC) through the switch a predetermined value Max, representing the maximum permissible number of ATM cells which may be stored in the buffer for the VC; means responsive to the arrival of a new ATM cell at the buffer means for determining the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for the respective VC for the cell; means for determining the remaining capacity BS of the buffer; calculating means for calculating an adjusted value Max' of Max as a function of TSC and BS; and means for comparing Max' with VcCnt and for discarding the cell if VcCnt is greater than or equal to Max' .
2. A switch according to Claim 1, comprising means for storing for each virtual connection (VC) through the switch a predetermined offset value K, which determines the maximum occupancy of the buffer for the VC, and wherein the calculating means is arranged to calculate Max' in accordance with the formula: Max'=Maxx fl- TSC
BS+K
3. An ATM network switch comprising a buffer means for buffering the flow of ATM cells and a congestion control mechanism comprising: means for storing for each virtual connection (VC) through the switch an EFCI (Explicit Forward Congestion Indication) Threshold value for the VC; means responsive to the arrival of a new ATM cell at the buffer means for determining the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for the respective VC for the cell; means for determining the remaining capacity BS of the buffer; calculating means for calculating an adjusted value EFCIThr' of the EFCI Threshold EFCIThr as a function of TSC and BS; and means for comparing EFCIThr' with VcCnt and for setting an EFCI bit in the ATM cell header of said cell if VcCnt is greater than or equal to EFCIThr' .
4. A switch according to Claim 3, comprising means for storing for each virtual connection (VC) through the switch a predetermined offset value K, which determines the maximum occupancy of the buffer for the VC, and wherein the calculating means is arranged to calculate EFCIThr' in accordance with the formula: EFCIThr'=EFCIThrx
5. A switch according to Claim 1 or 2, comprising means for establishing an EFCI (Explicit Forward Congestion Indication) Threshold value for the VC, and wherein the calculating means is also arranged to calculate an adjusted value EFCIThr' of the EFCI Threshold in accordance with the formula:
EFCIThr'=EFCIThrx f1- ^+ κ )' ' and
means are provided for comparing the adjusted value of the EFCI Threshold with VcCnt and for setting an EFCI bit in the ATM cell header of said cell if VcCnt is greater than or equal to EFCIThr' .
6. A switch according to Claim 3 or 4, comprising means for storing for each virtual connection (VC) through the switch a predetermined value Max, representing the maximum permissible number of ATM cells which may be stored in the buffer for the VC, and wherein the calculating means are arranged to calculate an adjusted value Max' of Max in accordance with the formula: TSC
Max'= Max x 1 and
BS + K means for comparing Max' with VcCnt and for discarding the cell if VcCnt is greater than or equal to Max' .
7. A switch according to Claim 3, 4 or 6, comprising means for determining the Cell Loss Priority (CLP) of the cell and for discarding CLPl (low loss priority) cells if VcCnt is greater than or equal to EFCIThr' .
8. A switch according to Claim 1, 4 or 5, comprising means for determining whether the cell is the first of a packet of cells, and means for generating and storing, if VcCnt is greater than or equal to Max' , a flag to indicate that all the following cells in the packet are to be discarded.
9. An ATM network switch, substantially as described with reference to, or as shown in, the drawings.
10. A method of controlling congestion in an ATM network switch, the switch comprising a buffer for buffering the flow of ATM cells therethrough, the method comprising: storing for each virtual connection VC through the switch a value Max representing the maximum permissible number of ATM cells which may be stored in the buffer for the VC, and an offset value K which determines the maximum occupancy of the buffer for the VC; determining, upon arrival of each new ATM cell at the buffer means, the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for the respective VC for the cell; determining the remaining capacity BS of the buffer; calculating an adjusted value Max' of Max in accordance with the formula: Max'=Ma (l-^^]' and
discarding the cell if VcCnt is greater than or equal to Max' . 11. A method of controlling congestion in an ATM network switch, the switch comprising a buffer for buffering the flow of ATM cells therethrough, the method comprising: storing for each virtual connection (VC) through the switch an EFCI (Explicit Forward Congestion Indication) Threshold value for the VC, and a predetermined offset value K, which determines the maximum occupancy of the buffer for the VC; determining, upon arrival of each new ATM cell at the buffer means, the total number of cells TSC currently stored in the buffer and the number of cells VcCnt stored for the respective VC for the cell; determining the remaining capacity BS of the buffer; calculating an adjusted value EFCIThr' of the EFCI Threshold EFCIThr in accordance with the formula:
EFCIThr'=EFCIThrx [1- B^κ); and
comparing EFCIThr' with VcCnt and setting an EFCI bit in the ATM cell header of said cell if VcCnt is greater than or equal to EFCIThr' .
12. A method according to Claim 10, comprising storing an EFCI (Explicit Forward Congestion Indication) Threshold value for the
VC, and, for each new ATM cell arriving at the buffer means, calculating an adjusted value of the EFCI Threshold in accordance with the formula: EFCIThr'=EFCIThrx f1- BgS + C Rj'
comparing the adjusted value of the EFCI Threshold with VcCnt and setting an EFCI bit in the ATM cell header if VcCnt is greater than the adjusted value.
13. A method according to Claim 11, comprising storing for each virtual connection (VC) through the switch a predetermined value Max, representing the maximum permissible number of ATM cells which may be stored in the buffer for the VC, and, for each new ATM cell arriving at the buffer means, calculating an adjusted value Max' of Max in accordance with the formula: Max'=Maxx[ 1 | < comparing Max' with VcCnt and
discarding the cell if VcCnt is greater than or equal to Max' .
14. A method according to Claim 11, 12 or 13, comprising determining the Cell Loss Priority (CLP) of the cell and discarding CLPl (low loss priority) cells if VcCnt is greater than the adjusted value of the EFCI Threshold.
15. A method according to Claim 10, 12 or 13, comprising determining whether the cell is the first of a packet of cells, and, if it is, generating and storing, if VcCnt is greater than Max' , a flag to indicate that all the following cells in the packet are to be discarded.
16. A method of controlling congestion in an ATM network switch, substantially as described with reference to the drawings.
17. In an ATM network switch having a buffer for buffering the flow of ATM cells, a congestion control apparatus comprising: a) means for storing the maximum number of cells for each virtual connection which may be stored in the buffer; b) means responsive to the arrival of a new ATM cell for determining the total number of cells currently stored in the buffer and the number of cells stored in the buffer for the virtual connection to which the new ATM cell belongs; c) means for adjusting the stored maximum number of cells based on the total remaining capacity of the buffer; d) means for comparing the number of cells stored in the buffer for the virtual connection to the adjusted stored maximum number of cells; and e) means for discarding the cell if the number of cells stored in the buffer for the virtual connection exceeds the adjusted stored maximum number of cells. 18. In an ATM network switch having a buffer for buffering the flow of ATM cells, a congestion control apparatus comprising: a) means for storing an explicit forward congestion indication threshold value for each virtual connection; b) means responsive to the arrival of a new ATM cell for determining the total number of cells currently stored in the buffer and the number of cells stored in the buffer for the virtual connection to which the new ATM cell belongs; c) means for adjusting the stored explicit forward congestion indication threshold value based on the total remaining capacity of the buffer; d) means for comparing the number of cells stored in the buffer for the virtual connection to the adjusted explicit forward congestion indication threshold value; and e) means for setting an explicit forward congestion indication bit in the ATM cell header if the number of cells stored in the buffer for the virtual connection exceeds the adjusted explicit forward congestion indication threshold value.
EP96918094A 1995-06-05 1996-06-05 Atm network switch with congestion control Withdrawn EP0878073A4 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9511314 1995-06-05
GBGB9511314.8A GB9511314D0 (en) 1995-06-05 1995-06-05 ATM network switch with congestion control
PCT/US1996/008907 WO1996039763A1 (en) 1995-06-05 1996-06-05 Atm network switch with congestion control

Publications (2)

Publication Number Publication Date
EP0878073A1 EP0878073A1 (en) 1998-11-18
EP0878073A4 true EP0878073A4 (en) 2001-05-09

Family

ID=10775512

Family Applications (1)

Application Number Title Priority Date Filing Date
EP96918094A Withdrawn EP0878073A4 (en) 1995-06-05 1996-06-05 Atm network switch with congestion control

Country Status (4)

Country Link
EP (1) EP0878073A4 (en)
CA (1) CA2223680A1 (en)
GB (2) GB9511314D0 (en)
WO (1) WO1996039763A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL122271A (en) 1997-11-21 2001-01-11 Eci Telecom Ltd Apparatus and method for managing network congestion
JP3152296B2 (en) * 1998-01-22 2001-04-03 日本電気株式会社 Selective ATM cell discarding method and apparatus
US6189035B1 (en) * 1998-05-08 2001-02-13 Motorola Method for protecting a network from data packet overload

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849968A (en) * 1985-09-06 1989-07-18 Washington University Buffer management system
EP0648062A2 (en) * 1993-09-08 1995-04-12 AT&T Corp. Method for adaptive control of windows and rates in networks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014265A (en) * 1989-11-30 1991-05-07 At&T Bell Laboratories Method and apparatus for congestion control in a data network
JPH03198449A (en) * 1989-12-27 1991-08-29 Toshiba Corp Packet abandonment control system for packet switching network
US5131454A (en) * 1991-02-14 1992-07-21 Better Bilt Products, Inc. Method and apparatus for separating different grades of steel in continuous casting systems
US5313579A (en) * 1992-06-04 1994-05-17 Bell Communications Research, Inc. B-ISDN sequencer chip device
KR100293920B1 (en) * 1993-06-12 2001-09-17 윤종용 Apparatus and method for controlling traffic of atm user network interface
US5457687A (en) * 1993-09-02 1995-10-10 Network Equipment Technologies, Inc. Method and apparatus for backward explicit congestion notification (BECN) in an ATM network
JP3178949B2 (en) * 1993-09-30 2001-06-25 富士通株式会社 ATM switch method
WO1995019675A1 (en) * 1994-01-14 1995-07-20 Codex Corporation Method and system for atm traffic management
GB9405406D0 (en) * 1994-03-18 1994-05-04 Netcomm Ltd Atm cell switch

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4849968A (en) * 1985-09-06 1989-07-18 Washington University Buffer management system
EP0648062A2 (en) * 1993-09-08 1995-04-12 AT&T Corp. Method for adaptive control of windows and rates in networks

Also Published As

Publication number Publication date
WO1996039763A1 (en) 1996-12-12
EP0878073A1 (en) 1998-11-18
GB2301984A (en) 1996-12-18
GB9611705D0 (en) 1996-08-07
GB2301984B (en) 1999-12-08
GB9511314D0 (en) 1995-08-02
CA2223680A1 (en) 1996-12-12

Similar Documents

Publication Publication Date Title
US6144636A (en) Packet switch and congestion notification method
US6671257B1 (en) Feedback control method and device in ATM switching system
US6122253A (en) ATM network switch with congestion control
US6122252A (en) Packet switching device and cell transfer control method
US6201813B1 (en) Method and apparatus for using ATM queues for segmentation and reassembly of data frames
US5777984A (en) Method and apparatus for controlling cell transmission rate in a cell based network in the presence of congestion
EP0683964B1 (en) Device and method for cell processing in cell relay nodes
EP0788288A2 (en) Flow control in a cell switched communication system
EP0717535A2 (en) Method and apparatus for storing and retrieving routing information in a network node
JPH05292114A (en) Communication path setting device and its method
CA2235149A1 (en) Improvements in or relating to an atm switch
US6438107B1 (en) Cell transfer rate control apparatus and method
US6829224B1 (en) Method and apparatus for smoothing the rate of packet discards for random early detection in an ATM switch
US6327246B1 (en) Controlled available bit rate service in an ATM switch
US6044060A (en) Traffic shaping ATM network switch
GB2307823A (en) ABR services in ATM networks
EP0870415B1 (en) Switching apparatus
EP0878073A1 (en) Atm network switch with congestion control
US5923645A (en) Cell rate control device and method
US20040125804A1 (en) ATM-based data transmitting and receiving device and method
US6445708B1 (en) ATM switch with VC priority buffers
JP4223716B2 (en) ATM switch traffic performance analysis apparatus and method, and ATM switching system to which the same is applied
GB2306076A (en) ATM network switch
JPH1065713A (en) Method for detecting atm system cell
JPH10322338A (en) Atm block transfer node

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 19971222

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE FR GB

A4 Supplementary search report drawn up and despatched

Effective date: 20010328

AK Designated contracting states

Kind code of ref document: A4

Designated state(s): DE FR GB

RIC1 Information provided on ipc code assigned before grant

Free format text: 7H 04J 3/14 A, 7H 04J 3/16 B, 7H 04J 3/22 B, 7H 04J 3/24 B, 7H 04Q 11/04 B, 7H 04L 12/56 B

17Q First examination report despatched

Effective date: 20020304

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20021231