IP Library Granted Patent US 7,145,868
Granted Patent B2
US 7,145,868 · App. 08/980,258 · Granted Dec 5, 2006

Congestion management in a multi-port shared memory switch

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,145,868
App. No.
08/980,258
Granted
Dec 5, 2006
Kind
B2
Abstract

A method and system for detecting and controlling congestion in a multi-port shared memory switch in a communications network. The proposed congestion management scheme implements a local and a global congestion monitoring process. The local monitoring process monitors the queue depth. When the queue depth for any queue exceeds a queue length threshold a congestion control mechanism is implemented to limit incoming data traffic destined for that queue. Additionally, the global congestion monitoring process monitors the shared memory buffer and if the traffic thereto exceeds a shared memory buffer threshold a congestion control mechanism limits incoming traffic destined for any output queue which has been exceeding a fair share threshold value.

Claims (25)

1. A method of managing congestion of a shared memory organized into a plurality of logical queues, comprising:

setting a global threshold (GT) as a percentage of the total size of the shared memory (SMS), the global threshold for indicating a global congestion;

setting a fair share threshold (FSQ) for each logical queue, based on the global threshold, on the total size of the shared memory, and on the total number of logical queues;

setting a queue threshold (QT) for each logical queue, based on the maximum size (MQS) allocated in the shared memory to each logical queue; and

declaring a global congestion level for said shared memory, based on the global threshold and on the fair share thresholds.

2. A method as in claim 1 , wherein declaring a global congestion level comprises:

determining if a current size (SBL) of memory currently occupied by all logical queues in the shared memory is greater than the global threshold;

if the current size of memory currently occupied by all logical queues in the shared memory is greater than the global threshold, comparing the current size (OQL) of each logical queue to the respective fair share threshold;

setting a local congestion status “on” for all logical queues for which the current size of the logical queue exceeds the fair share threshold of the logical queue; and

activating a congestion control mechanism for the logical queues to all logical queues whose current size exceeds the fair share threshold of the logical queue, for resolving global congestion.

3. A method as in claim 2 , wherein the fair share threshold of each logical queue is less than the respective maximum size allocated to the queue in the shared memory.

4. A method as in claim 3 , further comprising declaring a local congestion level for a logical queue, based on the queue threshold of the logical queue.

5. A method as in claim 4 , wherein declaring a local congestion level comprises:

comparing the current size of each said logical queue with the respective queue threshold;

setting the local congestion status “on” for all logical queues for which the current size of the logical queue exceeds the respective queue threshold; and

activating a congestion control mechanism for all logical queues whose current size exceeds the respective queue threshold, for resolving local congestion.

6. A method as in claim 1 , wherein the fair share threshold for all logical queues is set as

FSQ=GT*SMS/N,

where

FSQ is the fair share threshold,

GT is the global threshold,

SMS is the total size of the shared memory, and

N is the number of logical queues.

7. A method as in claim 1 , wherein the method is initiated upon receipt of a cell destined to an output queue cell.

8. A method as in claim 1 , wherein said method is performed as a background process at a predefined configurable frequency.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: ALCATEL LUCENT
To: WSOU INVESTMENTS, LLC
Reel/Frame 044000/0053 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →
RELEASE OF SECURITY INTEREST Recorded Sep 4, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT CANADA INC.
Reel/Frame 033686/0798 →
SECURITY INTEREST Recorded Jan 30, 2013
From: ALCATEL-LUCENT CANADA INC.
To: CREDIT SUISSE AG
Reel/Frame 029826/0927 →