IP Library Granted Patent US 7,474,668
Granted Patent B2
US 7,474,668 · App. 10/439,681 · Granted Jan 6, 2009

Flexible multilevel output traffic control

Assignee: Alcatel-Lucent USA 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,474,668
App. No.
10/439,681
Filed
May 16, 2003
Granted
Jan 6, 2009
Kind
B2
Examiner
HO, CHUONG T
Art Unit
2619
USPC
370/412
Abstract

A two stage rate shaping and scheduling system and method is implemented to control the flow of traffic to at least one output interface. The system and method involves initially queuing incoming packets into type-specific queues and applying individual rate shaping rules to each queue. A first stage arbitration is performed to determine how traffic is queued from the type-specific queues to interface-specific queues. Packets that win arbitration and pass the applied rate shaping rules are queued in interface-specific queues. Rate shaping rules are applied to the interface-specific queues. The interface-specific queues are further distinguished by priority and priority-specific and interface-specific rate shaping rules are applied to each queue. A second stage arbitration is performed to determine how different priority traffic that is targeting the same output interface is dequeued in response to interface-specific requests.

Claims (47)

1. A method for controlling the flow of packets through at least one output interface comprising:

queuing packets into type-specific queues;

applying per-type rate shaping rules to said type-specific queues;

queuing packets, from the type-specific queues that pass said applied per-type rate shaping rules, into interface-specific queues, wherein each interface-specific queue is specific to one output interface;

applying per-interface rate shaping rules to said interface-specific queues; and

dequeuing packets, from the interface-specific queues that pass said applied per-interface rate shaping rules, from said interface-specific queues to at least one output interface in response to interface-specific requests.

2. The method of claim 1 further including:

establishing priority-specific subqueues, which have different priority levels, within said interface-specific queues;

queuing packets to particular priority-specific subqueues of said interface-specific queues; and

applying per-priority and per-interface rate shaping rules to said priority-specific subqueues.

3. The method of claim 2 wherein dequeuing packets from said interface-specific queues in response to interface-specific requests further includes arbitrating among said priority-specific subqueues.

4. The method of claim 2 wherein applying per-interface rate shaping rules includes scaling, by a common multiple, refresh rates of credit buckets that are associated with said priority-specific subqueues that have a pending packet but do not have a passing credit value when no priority-specific subqueues have both a pending packet and a passing credit value.

5. The method of claim 2 wherein queuing packets into said interface-specific queues includes arbitrating among multiple type-specific queues that target the same priority-specific subqueue.

6. The method of claim 1 wherein queuing packets into said interface-specific queues includes writing queue identifiers of said type-specific queues into said interface-specific queues to identify packets in said interface-specific queues.

7. The method of claim 6 wherein queuing packets into said type-specific queues includes writing at least the payload of said packets into a separate packet buffer and wherein dequeuing packets from said interface-specific queues includes reading at least the payload of said packets from said separate packet buffer.

8. The method of claim 1 wherein queuing packets into said type-specific queues includes writing at least the payload of said packets into a separate packet buffer and wherein dequeuing packets from said interface-specific queues includes reading at least the payload of said packets from said separate packet buffer.

9. The method of claim 8 wherein applying said per-type rate shaping rules to said type-specific queues further includes deducting an assumed length value from a credit bucket value to determine a new credit bucket value if a type-specific queue passes an applied rate shaping rule and a packet is queued into an interface-specific queues.

10. The method of claim 9 further including correcting for the difference between said assumed length value and an actual length value after a packet is fetched from said separate packet buffer.

11. The method of claim 9 further including establishing said assumed length value as an average of the actual packet length of packets that were queued in respective type-specific queues.

12. The method of claim 1 further including:

associating a scaling factor with a first one of said interface-specific queues; and

scaling, by said scaling factor, per-type rate shaping rules that are applied to the type-specific queues that target said first interface-specific queue.

13. The method of claim 12 further including adjusting the scaling factor that is associated with said first interface-specific queue in response to packet depth of said first interface-specific queue.

14. A method for controlling the flow of packets through at least one output interface comprising:

queuing packets into type-specific queues;

applying per-type rate shaping rules to said type-specific queues;

queuing packets, from the type-specific queues that pass said applied per-type rate shaping rules, into interface-specific queues;

applying per-interface rate shaping rules to said interface-specific queues; dequeuing packets, from the interface-specific queues that pass said applied per-interface rate shaping rules, from said interface-specific queues to at least one output interface in response to interface-specific requests;

establishing priority-specific subqueues, which have different priority levels, within said interface-specific queues;

queuing packets to particular priority-specific subqueues of said interface-specific queues; and

applying per-priority and per-interface rate shaping rules to said priority-specific subqueues;

wherein applying per-interface rate shaping rules includes scaling, by a common multiple, refresh rates of credit buckets that are associated with said priority-specific subqueues that have a pending packet but do not have a passing credit value when no priority-specific subqueues have both a pending packet and a passing credit value.

15. A method for controlling the flow of packets through at least one output interface comprising:

queuing packets into type-specific queues;

applying per-type rate shaping rules to said type-specific queues;

queuing packets, from the type-specific queues that pass said applied per-type rate shaping rules, into interface-specific queues;

applying per-interface rate shaping rules to said interface-specific queues;

dequeuing packets, from the interface-specific queues that pass said applied per-interface rate shaping rules, from said interface-specific queues to at least one output interface in response to interface-specific requests;

associating a scaling factor with a first one of said interface-specific queues; and

scaling, by said scaling factor, per-type rate shaping rules that are applied to the type-specific queues that target said first interface-specific queue.

16. The method of claim 15 further including adjusting the scaling factor that is associated with said first interface-specific queue in response to packet depth of said first interface-specific queue.

17. A method for controlling the flow of packets through at least one output interface comprising:

queuing packets into type-specific queues;

applying per-type rate shaping rules to said type-specific queues; performing a first stage arbitration to determine how packets destined to contending interfaces are queued from the type-specific queues to interface-specific queues;

queuing packets, from the type-specific queues that pass said applied per-type rate shaping rules and said first stage arbitration, into the interface-specific queues, wherein each interface-specific queue is specific to one output interface;

applying per-interface rate shaping rules to said interface-specific queues; and

dequeuing packets, from the interface-specific queues that pass said applied per-interface rate shaping rules, from said interface-specific queues to at least one output interface in response to interface-specific requests.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
PATENT SECURITY AGREEMENT Recorded Apr 22, 2023
From: RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 063429/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2021
From: PROVENANCE ASSET GROUP LLC
To: RPX CORPORATION
Reel/Frame 059352/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: CORTLAND CAPITAL MARKETS SERVICES LLC
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058983/0104 →
RELEASE OF SECURITY INTEREST Recorded Nov 30, 2021
From: NOKIA US HOLDINGS INC.
To: PROVENANCE ASSET GROUP HOLDINGS LLC; PROVENANCE ASSET GROUP LLC
Reel/Frame 058363/0723 →
ASSIGNMENT AND ASSUMPTION AGREEMENT Recorded Feb 14, 2019
From: NOKIA USA INC.
To: NOKIA US HOLDINGS INC.
Reel/Frame 048370/0682 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP, LLC
To: CORTLAND CAPITAL MARKET SERVICES, LLC
Reel/Frame 043967/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2017
From: NOKIA TECHNOLOGIES OY; NOKIA SOLUTIONS AND NETWORKS BV; ALCATEL LUCENT SAS
To: PROVENANCE ASSET GROUP LLC
Reel/Frame 043877/0001 →
SECURITY INTEREST Recorded Sep 13, 2017
From: PROVENANCE ASSET GROUP HOLDINGS, LLC; PROVENANCE ASSET GROUP LLC
To: NOKIA USA INC.
Reel/Frame 043879/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 9, 2014
From: CREDIT SUISSE AG
To: ALCATEL-LUCENT USA INC.
Reel/Frame 033950/0261 →
SECURITY INTEREST Recorded Mar 7, 2013
From: ALCATEL-LUCENT USA INC.
To: CREDIT SUISSE AG
Reel/Frame 030510/0627 →
MERGER Recorded Nov 24, 2008
From: LUCENT TECHNOLOGIES INC.
To: ALCATEL-LUCENT USA INC.
Reel/Frame 021881/0595 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 24, 2008
From: RIVERSTONE NETWORKS, INC.
To: LUCENT TECHNOLOGIES INC.
Reel/Frame 021881/0423 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2003
From: BAUMAN, JAMES; ANDERSON, ERIC; AYBAY, GUNES; MORRISON, MIKE
To: RIVERSTONE NETWORKS, INC.
Reel/Frame 014405/0271 →
Continuity (2)
Provisional Application 6038586800 · Jun 4, 2002
Related Publication 20030231593A1 · Dec 18, 2003