IP Library Granted Patent US 7,245,586
Granted Patent B2
US 7,245,586 · App. 10/233,835 · Granted Jul 17, 2007

Buffer management based on buffer sharing across ports and per-port minimum buffer guarantee

Assignee: Lucent Technologies Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,245,586
App. No.
10/233,835
Granted
Jul 17, 2007
Kind
B2
Abstract

This invention introduces an intelligent buffering sharing scheme that supports multiple service classes and multiple drop priorities per class. The available buffers are shared between different queues but at the same time every queue will be guaranteed a certain minimum buffer allocation. Other schemes presented in the literature to not address this minimum buffer guarantee in the presence of multiple service classes and drop priorities. In addition, the scheme presented in this innovation is based on a static threshold approach that has certain implementation cost tradeoff with another dynamic threshold approach presented in the literature that deals with buffer management in the presence of multiple service classes and drop priorities per class.

Claims (46)

1. A method of operating a buffer in a communications device, said buffer including a guaranteed buffer portion for each port of a designated service class and drop priority and a shared buffer portion having an aggregate threshold for each class and drop priority, for each queue in said buffer a first variable S being a queue length in the guaranteed buffer pool and a second variable Sshared being a queue length of said shared buffer portion, said method comprising the steps of:

enqueuing arriving buffer data and incrementing S correspondingly if S is less than said guaranteed buffer portion;

enqueuing the buffer data and incrementing Sshared correspondingly if Sshared is less than the shared buffer portion and Sshared is less than a maximum amount of buffers of a given drop priority that may be shared for a service class; and

otherwise determining whether to discard the buffer data

wherein said step of determining includes the steps of: discarding the buffer and setting an EPD state if the buffer data is the start of a packet,

discard the buffer and set the PPD state if the buffer is not the end of the packet;

if the buffer is the end of the packet and EPD is not set, enqueuing the buffer if total occupied shared buffer is less than the total shared allotment of buffer space for a service class;

otherwise discarding the buffer.

2. The method of claim 1 , wherein prior to enqueuing an early packet discard/partial packet discard state is cleared if arriving buffer data is a start of a packet.

3. The method of claim 1 , further including the steps of:

decrementing S, if the dequeued buffer data is taken from the guaranteed buffer pool,

decrementing S and Sshared if the buffer dequeued is taken from the shared buffer pool.

4. A method of operating a buffer in a communications device, said buffer including a guaranteed buffer portion for each port of a designated service class and drop priority and a shared buffer portion having an aggregate threshold for each class and drop priority, for each queue in said buffer a first variable S being a queue length in the guaranteed buffer pool and a second variable Sshared being a queue length of said shared buffer portion, said method comprising the steps of:

enqueuing arriving buffer data and incrementing S correspondingly if S is less than said guaranteed buffer portion;

enqueuing the buffer data and incrementing Sshared correspondingly if Sshared is less than the shared buffer portion and Sshared is less than a maximum amount of buffers of a given drop priority that may be shared for a service class; and otherwise determining whether to discard the buffer data,

wherein assuming that drop-priority 1 is the lowest and 4 is the highest, thresholds for a service class i are chosen such that:

GRpp i1 >GBpp i2 >GBpp i3 >GBpp i4 and

Ta i1 >Ta i2 >Ta i3 >Ta 14

wherein GBpp ij is the guaranteed buffer space for each port and Ta ij is the aggregate threshold for class i and drop priority j.

5. The method of claim 4 , wherein minimum buffer space is always available for buffers with class i and drop priority j, relative to buffers with class i and drop priority (j+1).

6. A communications apparatus having a virtual queue utilizing a shared buffer arrangement for ports per service class, said buffer arrangement comprising:

a guaranteed buffer portion for each port of a designated service class and drop priority; and

a shared buffer portion having an aggregate threshold for each class and drop priority, far each queue in said buffer a first variable S being a queue length in the guaranteed buffer pool and a second variable Sshared being a queue length of said shared buffer portion, and further being operable to:

enqueue arriving buffer data and incrementing S correspondingly if S is less than said guaranteed buffer portion;

enqueuing the buffer data and incrementing Sshared correspondingly if Sshared is less than the shared buffer portion and Sshared is less than a maximum amount of buffers of a given drop priority that may be shared for a service class,

wherein multi-drop priorities are included per class, said guaranteed buffer portion and said shared buffer portion being divided into multiple sub portions according to said multi-drop priorities,

wherein lower-drop priority traffic can use the guaranteed or shared space allocated for higher drop-priority traffic but not vice versa,

wherein said apparatus performs subsequent actions if said buffer data cannot be enqueued according to given criteria including;

discarding the buffer and setting an EPD state if the buffer data is the start of a packet,

discard the buffer and set the PPD state if the buffer is not the end of the packet;

if the buffer is the end of the packet and EPD is not set, enqueueing the buffer if total occupied shared buffer is less than the total shared allotment of buffer space for a service class;

otherwise discarding the buffer.

7. The apparatus or claim 6 , wherein prior to enqueuing, an early packet discard/partial packet discard state is cleared if arriving buffer data is a start of a packet.

8. The apparatus of claim 6 , further operable to:

decrement S, if the dequeued buffer data is taken from the guaranteed buffer pool, and

decrement S and Sshared if the buffer dequeued is taken from the shared buffer pool.

9. A communications apparatus having a virtual queue utilizing a shared buffer arrangement for ports per service class, said buffer arrangement comprising:

a guaranteed buffer portion for each port of a designated service class and drop priority; and

a shared buffer portion having an aggregate threshold for each class and drop priority, for each queue in said buffer a first variable S being a queue length in the guaranteed buffer pool and a second variable Sshared being a queue length of said shared buffer portion, and further being operable to:

enqueue arriving buffer data and incrementing S correspondingly if S is less than said guaranteed buffer portion;

enqueuing the buffer data and incrementing Sshared correspondingly if Sshared is less than the shared buffer portion and Sshared is less than a maximum amount of buffers of a given drop priority that may be shared for a service class,

wherein multi-drop priorities are included per class, said guaranteed buffer portion and said shared buffer portion being divided into multiple sub portions according to said multi-drop priorities,

wherein lower-drop priority traffic can use the guaranteed or shared space allocated for higher drop-priority traffic but not vice versa, wherein assuming that drop-priority 1 is the lowest and 4 is the highest, thresholds for a service class i are chosen such that:

GRpp i1 >GBpp i2 >GBpp i3 >GBpp i4 and

Ta i1 >Ta i2 >Ta i3 >Ta i4

wherein GBpp ij is the guaranteed buffer space for each port and Ta ij is the aggregate threshold for class i and drop priority j.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033949/0531 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 16, 2006
From: BITAR, NABIL; TO, PHILIP
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 017686/0465 →
Continuity (1)
Related Publication 20040042477A1 · Mar 4, 2004