EP0526104A2

Arrangement for controlling shared-buffer-memory overflow in a multi-priority environment.

Abstract

A shared-buffer-memory-based ATM switching module (1) used with ATM cells having a multiplicity of priorities has a plurality of queues for each output port (O-N), one for each cell priority, and handles buffer overflow in a manner fair to all output ports. It initially allows output-port queues to completely consume the buffer memory (12). Thereafter, when an additional incoming cell (on 7) is received for which there is no room in the buffer memory, the lengths of all of the queues of each output port are individually summed and compared to determine which port has the greatest number of buffered cells. A buffered ATM cell is discarded from the lowest-priority non-empty queue of that port. The incoming cell is then stored in the memory space vacated by the discarded cell.

EP0526104A2, drawing sheet 1
Sheet 1 of 3

Term

Term ended

Projected expiry passed 23 July 2012, 14.2 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

7 claims: 3 independent, 4 dependent

  1. 1
    A shared-buffer-memory-based packet-switching arrangement (1) comprising a plurality of output ports (0---N), a buffer memory (12) defining a plurality of queues (100-0-0, 100-0-M, ---100-N-0, 100-N-M) for each output port, each queue of an individual output port being for storing packets destined for the individual output port and having a priority different from priorities of packets stored by other queues of the individual output port, means (14) responsive to receipt of a packet having a priority and destined for an individual output port, for storing the received packet in the queue for storing packets of that priority for the individual output port, means (14,10) for transmitting packets stored in the queues on corresponding output ports, and means (14) responsive to receipt of a packet while storage space of the buffer memory is consumed by the queues, for deleting a stored packet from a non-empty queue storing lowest-priority packets stored for an output port that has the most packets stored in its queues, to vacate buffer-memory storage space for storing the received packet.
  2. 2
    A control arrangement for a shared-buffer-memory-based packet-switching module (1) having a plurality of output ports (O---N) and a buffer memory (12) defining a plurality of queues (100-0-0, 100-O-M---100-N-O, 100-N-M) for each output port, each queue of an individual output port being for storing packets destined for the individual output port and having a priority different from priorities of packets stored by other queues of the individual output port, the arrangement comprising means (14) responsive to receipt of a packet having a priority and destined for an individual output port, for storing the received packet in the queue for storing packets of that priority for the individual output port, means (14,10) for transmitting packets stored in the queues on corresponding output ports, and means (14) responsive to receipt of a packet while storage space of the buffer memory is consumed by the queues, for deleting a stored packet from a non-empty queue storing lowest-priority packets stored for an output port that has the most packets stored in its queues, to vacate buffer-memory storage space for storing the received packet.
  3. 5
    A method of controlling overflow of a shared-buffer-memory-based packet-switching module (1) having a plurality of output ports (O---N) and a buffer memory (12) defining a plurality of queues (100-0-0, 100-0-M, ---100-N-0, 100-N-M) for each output port, each queue of an individual output port being for storing packets destined for the individual output port and having a priority different from priorities of packets stored by other queues of the individual output port, the method comprising the steps of, in response to receipt of a packet having a priority and destined for an individual output port while storage space of the buffer memory is consumed by the queues, deleting a stored packet from a non-empty queue storing lowest-priority packets stored for an output port that has the most packets stored in its queues, and, in response to the deletion, storing the received packet in the queue for storing packets of that priority for the individual output port, in buffer-memory storage space vacated by the deleted packet.