IP Library Granted Patent US 8,204,069
Granted Patent B2
US 8,204,069 · App. 12/691,310 · Granted Jun 19, 2012

Systems and methods for queue management in packet-switched networks

Assignees: Verizon Patent and Licensing Inc.; Raytheon BBN Technologies Corp.
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 8,204,069
App. No.
12/691,310
Granted
Jun 19, 2012
Kind
B2
Abstract

This disclosure relates to methods and systems for queuing traffic in packet-switched networks. In one of many possible embodiments, a queue management system includes a plurality of queues and a priority module configured to assign incoming packets to the queues based on priorities associated with the incoming packets. The priority module is further configured to drop at least one of the packets already contained in the queues. The priority module is configured to operate across multiple queues when determining which of the packets contained in the queues to drop. Some embodiments provide for hybrid queue management that considers both classes and priorities of packets.

Claims (48)

1. A system, comprising:

a plurality of classes, where said each class is based on a protocol type and allocated a percentage of overall bandwidth;

a plurality of queues within said each class;

a priority level associated with each of the plurality of queues within said each class;

a classifier configured to selectively assign an incoming packet to one of said classes based on a protocol associated with the incoming packet and to adjust the percentage of bandwidth for said each class based on an amount of traffic for said each class; and

a plurality of priority modules, each priority module being associated with a respective one of said classes, and each priority module being configured to:

assign an incoming packet to one of the queues within the associated class based on a priority level associated with the incoming packet,

determine a group of queues comprising a subset of the plurality of queues within the associated class based on a priority level associated with the incoming packet, and

drop at least one of a plurality of packets already contained in the group of queues.

2. The system of claim 1 , each priority module being further configured to assign the incoming packet to one of the plurality of queues by comparing the priority level associated with the incoming packet to the priority levels associated with the plurality of queues.

3. The system of claim 1 , each priority module being further configured to determine the group of queues by:

selecting a first queue having a first priority level, and

selecting a plurality of additional queues where each of the additional queues have a higher priority level than the first queue.

4. The system of claim 3 , the plurality of additional queues including all queues having a higher priority level than the first queue.

5. The system of claim 1 , each priority module being further configured to drop at least one of a plurality of packets already contained in the group of queues by considering an occupancy level of each queue within the group of queues.

6. The system of claim 1 , each priority module being further configured to drop one or more incoming packets before the number of packets already contained in the queues has reached a maximum occupancy.

7. The system of claim 1 , each priority module being further configured to drop a packet already contained in a queue by extending Random Early Detection (“RED”) functionality to operate on the group of queues by considering occupancy levels of each queue within the group of queues during a packet drop operation.

8. The system of claim 7 , the group of queues comprising a first queue having a first priority level, and a plurality of additional queues having a higher priority level than the first queue.

9. The system of claim 1 , the plurality of classes including a class for elastic protocols, a class for inelastic protocols, and a class for control packets.

10. The system of claim 9 , wherein said class for control packets is allocated a percentage of available bandwidth less than the percentage of available bandwidth for each of said class for inelastic protocols and said class for elastic protocols.

11. A method, comprising:

selectively assigning an incoming packet to one of a plurality of classes based on a protocol associated with the incoming packet, where said each class is based on a protocol type and allocated a percentage of overall bandwidth;

adjusting the percentage of bandwidth for said each class based on an amount of traffic for said each class;

selectively assigning the incoming packet to one of a plurality of queues within said each class based on a priority level associated with the incoming packet;

determining a group of queues, the group of queues being determined by selecting a first queue having a first priority level associated with the incoming packet, and selecting a plurality of additional queues having higher priority levels than the first queue; and

dropping at least one of a plurality of packets already contained in the group of queues.

12. The method of claim 11 , further comprising selectively assigning the incoming packet to one of the plurality of queues by comparing the priority level associated with the incoming packet to the priority levels associated with the plurality of queues.

13. The method of claim 11 , further comprising determining the group of queues by selecting all queues having a higher priority level than the first queue.

14. The method of claim 11 , further comprising dropping at least one of a plurality of packets already contained in the group of queues by considering an occupancy level of each queue within the group of queues.

15. The method of claim 11 , further comprising dropping one or more incoming packets before the number of packets already contained in the queues has reached a maximum occupancy.

16. The method of claim 11 , further comprising:

providing Random Early Detection (“RED”) functionality; and

extending the RED functionality across multiple queues by considering occupancy levels of each queue within the group of queues during packet drop operations.

17. A system, comprising:

a plurality of classes, where said each class is based on a protocol type and allocated a percentage of overall bandwidth;

a plurality of queues within said each class;

a priority level associated with each of the plurality of queues within said each class;

a classifier configured to selectively assign an incoming packet to one of said classes based on a protocol associated with the incoming packet and to adjust the percentage of bandwidth for said each class based on an amount of traffic for said each class; and

a priority module associated with a respective one of said classes, the priority module being configured to:

assign an incoming packet to one of the queues within the associated class based on a priority level associated with the incoming packet,

determine a group of queues comprising a subset of the plurality of queues within the associated class, and

drop at least one of a plurality of packets already contained in the group of queues by considering an occupancy level of each queue within the group of queues.

18. The system of claim 17 , the priority module being further configured to assign the incoming packet to one of the plurality of queues by comparing the priority level associated with the incoming packet to the priority levels associated with the plurality of queues.

19. The system of claim 17 , the priority module being further configured to determine the group of queues based on a priority level associated with the incoming packet.

20. The system of claim 17 , the priority module being further configured to determine the group of queues by:

selecting a first queue having a first priority level, and

selecting all queues having a higher priority level than the first queue.

21. The system of claim 17 , the priority module being further configured to drop a packet already contained in a queue by extending Random Early Detection (“RED”) functionality to operate on the group of queues by considering occupancy levels of each queue within the group of queues during a packet drop operation.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2011
From: VERIZON CORPORATE SERVICES GROUP INC.
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 025626/0770 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2011
From: JONES, CHRISTINE E.; TROXEL, GREGORY D.
To: VERIZON CORPORATE SERVICES GROUP INC.; BBNT SOLUTIONS LLC
Reel/Frame 025618/0321 →
MERGER Recorded Jan 11, 2011
From: BBNT SOLUTIONS LLC
To: BBN TECHNOLOGIES OPERATING CORP.
Reel/Frame 025618/0369 →
CHANGE OF NAME Recorded Jan 11, 2011
From: BBN TECHNOLOGIES OPERATING CORP.
To: BBN TECHNOLOGIES CORP.
Reel/Frame 025619/0636 →
CHANGE OF NAME Recorded Jan 11, 2011
From: BBN TECHNOLOGIES CORP.
To: RAYTHEON BBN TECHNOLOGIES CORP.
Reel/Frame 025619/0820 →
Continuity (3)
Continuation 11087408 · Mar 23, 2005
Provisional Application 60555972 · Mar 25, 2004
Related Publication 20100118883A1 · May 13, 2010