IP Library Granted Patent US 7,710,871
Granted Patent B2
US 7,710,871 · App. 10/685,947 · Granted May 4, 2010

Dynamic assignment of traffic classes to a priority queue in a packet forwarding device

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,710,871
App. No.
10/685,947
Granted
May 4, 2010
Kind
B2
Abstract

An apparatus and method for dynamic assignment of classes of traffic to a priority queue. Bandwidth consumption by one or more types of packet traffic received in the packet forwarding device is monitored to determine whether the bandwidth consumption exceeds a threshold. If the bandwidth consumption exceeds the threshold, assignment of at least one type of packet traffic of the one or more types of packet traffic is changed from a queue having a first priority to a queue having a second priority.

Claims (46)

1. In a packet forwarding device, a method comprising:

monitoring bandwidth consumption by one or more types of packet traffic received in the packet forwarding device comprising determining a measure of bandwidth consumption in the packet forwarding device due to traffic associated with a physical port on the forwarding device;

determining whether the bandwidth consumption by the one or more types of packet traffic exceeds a threshold; and

automatically changing assignment of at least one type of packet traffic of the one or more types of packet traffic from a queue having a first priority to a queue having a second priority if the bandwidth consumption computed based on an evaluation of traffic statistics substantially in real-time exceeds the threshold, the traffic statistics include at least one of (i) a number of packets destined for particular egress ports, (ii) a number of packets destined for particular MAC addresses, (iii) a number of packets destined for a particular virtual local area network, (iv) a number of packets having a particular IP protocol, (v) a number of errors associated with different classes of traffic, and (vi) a number of packets from each class of traffic that are dropped.

2. The method of claim 1 further comprising receiving program code in the packet forwarding device after installation of the packet forwarding device in a packet communications network and wherein said monitoring, determining and automatically changing is implemented by the executing program code.

3. The method of claim 2 wherein receiving the program code comprises receiving a sequence of virtual machine instructions and wherein executing the program code comprises executing the sequence of virtual machine instructions using a virtual machine included in the packet forwarding device.

4. The method of claim 3 wherein receiving the sequence of virtual machine instructions comprises receiving a sequence of Java byte codes and wherein executing the sequence of virtual machine instructions using a virtual machine comprises executing the sequence of Java byte codes in a Java virtual machine included in the packet forwarding device.

5. In a packet forwarding device, a method comprising:

monitoring bandwidth consumption by one or more types of packet traffic received in the packet forwarding device comprising determining a measure of bandwidth consumption in the packet forwarding device due to traffic associated with a particular network address;

determining whether the bandwidth consumption by the one or more types of packet traffic exceeds a threshold; and

automatically changing assignment of at least one type of packet traffic of the one or more types of packet traffic from a queue having a first priority to a queue having a second priority if the bandwidth consumption computed based on an evaluation of traffic statistics substantially in real-time exceeds the threshold, the traffic statistics include at least one of (i) a number of packets destined for particular egress ports, (ii) a number of packets destined for particular MAC addresses, (iii) a number of packets destined for a particular virtual local area network, (iv) a number of packets having a particular IP protocol, (v) a number of errors associated with different classes of traffic, and (vi) a number of packets from each class of traffic that are dropped.

6. The method of claim 5 wherein the determining a measure of bandwidth consumption in the packet forwarding device due to traffic associated with the particular network address comprises determining a measure of bandwidth consumption due to traffic associated with a particular media access control (MAC) address.

7. In packet forwarding device, a method comprising:

monitoring bandwidth consumption by one or more types of packet traffic received in the packet forwarding device comprising determining a measure of bandwidth consumption in the packet forwarding device due to traffic associated with a particular communications protocol;

determining whether the bandwidth consumption by the one or more types of packet traffic exceeds a threshold; and

automatically changing assignment of at least one type of packet traffic of the one or more types of packet traffic from a queue having a first priority to a queue having a second priority if the bandwidth consumption computed based on an evaluation of traffic statistics substantially in real-time exceeds a threshold, the traffic statistics include at least one of (i) a number of packets destined for particular egress ports, (ii) a number of packets destined for particular MAC addresses, (iii) a number of packets destined for a particular virtual local area network, (iv) a number of packets having a particular IP protocol, (v) a number of errors associated with different classes of traffic, and (vi) a number of packets from each class of traffic that are dropped.

8. The method of claim 7 wherein the determining a measure of bandwidth consumption in the packet forwarding device due to traffic associated with the particular communications protocol comprises determining a measure of bandwidth consumption in the packet forwarding device due to traffic associated with at least one of the following protocols: file transfer protocol (FTP), hyper-text transfer protocol (HTTP), transmission control protocol/internet protocol (TCP/IP).

9. A packet forwarding apparatus comprising:

a plurality of input/output (I/O) ports to transmit and receive packets of information;

first and second queues to buffer the packets prior to transmission via one or more of the I/O ports, packets buffered in the first queue having higher transmission priority than packets buffered in the second queue;

queue assignment logic to assign the packets to be buffered in either the first queue or the second queue according to a packet type associated with each packet, each of the packets being associated with at least one of a plurality of packet types; and

one or more agents to monitor bandwidth consumption by packets associated with a first packet type of the plurality of packet types and to automatically change assignment of packets associated with the first packet type from the first queue to the second queue if bandwidth consumption of packets associated with the first packet type and computed based on an evaluation of traffic statistics substantially in real-time exceeds the threshold, the traffic statistics include at least one of (i) a number of packets destined for particular egress ports, (ii) a number of packets destined for particular MAC addresses, (iii) a number of packets destined for a particular virtual local area network, (iv) a number of packets having a particular IP protocol, (v) a number of errors associated with different classes of traffic, and (vi) a number of packets from each class of traffic that are dropped.

10. The apparatus of claim 9 further comprising:

a processing unit coupled to the plurality of I/O ports, the processing unit including a memory and a processor; and

a data communications interface to receive program code in the memory of processing unit after installation of the packet forwarding apparatus in a packet communications network and wherein the one or more agents are implemented by execution of the program code in the processor of the processing unit.

11. The apparatus of claim 10 wherein the packet forwarding apparatus further comprises program code that, when executed by the processing unit, implements a virtual machine, and wherein the program code received via the data communications interface comprises a sequence of instructions that is executed by the virtual machine to implement one or more agents.

12. The apparatus of claim 11 wherein the program code received via the data communications interface includes a sequence of Java byte codes and wherein the virtual machine is a Java virtual machine.

13. The apparatus of claim 9 wherein the first packet type comprises packets associated with a particular one of the I/O ports.

14. The apparatus of claim 9 wherein the first packet type comprises packets comprises packets associated with a particular network address.

15. The apparatus of claim 14 wherein the particular network address is a particular media access control (MAC) address.

16. The apparatus of claim 9 wherein the first packet type comprises packets comprises packets associated with a particular communications protocol.

17. The apparatus of claim 16 wherein the particular communications protocol is a hyper-text transfer protocol (HTTP).

18. The apparatus of claim 16 wherein the particular communications protocol is a file transfer protocol (FTP).

19. The apparatus of claim 9 wherein the packet forwarding apparatus is a switch.

20. A communications network comprising a packet forwarding device, the packet forwarding device including:

a plurality of input/output (I/O) ports to transmit and receive packets of information from one or more other devices in the communications network;

a processing unit coupled to the plurality of I/O ports, the processing unit including a memory and a processor;

first and second queues to buffer the packets prior to transmission via one or more of the I/O ports, packets buffered in the first queue having higher transmission priority than packets buffered in the second queue;

queue assignment logic implemented within the memory and executed by the processor to assign the packets to be buffered in either the first queue or the second queue according to a packet type associated with each packet, each of the packets being associated with at least one of a plurality of packet types; and

one or more applets implemented within the memory for execution in order to monitor bandwidth consumption by packets associated with a first packet type of the plurality of packet types and to automatically change assignment of packets associated with the first packet type from the first queue to the second queue if bandwidth consumption of packets associated with the first packet type and computed based on an evaluation of traffic statistics substantially in real-time exceeds a threshold, the traffic statistics include at least one of (i) a number of packets destined for particular egress ports, (ii) a number of packets destined for particular MAC addresses, (iii) a number of packets destined for a particular virtual local area network, (iv) a number of packets having a particular IP protocol, (v) a number of errors associated with different classes of traffic, and (vi) a number of packets from each class of traffic that are dropped.

21. The communications network of claim 20 wherein the packet forwarding device further includes program code that, when executed by the processing unit, implements a virtual machine that interprets the one or more applets into instructions executable by the processor.

22. The communications network of claim 20 wherein the packet forwarding device is a switch.

23. In a packet forwarding device, a method comprising:

monitoring an error rate associated with one or more types of packet traffic received in the packet forwarding device;

determining whether the error rate associated with the one or more types of packet traffic exceeds a threshold; and

automatically changing assignment of at least one type of packet traffic of the one or more types of packet traffic from a queue having a first priority to a queue having a second priority if the error rate computed based on an evaluation of error information substantially in real-time exceeds the threshold, the error information includes at least one of (i) a number of errors associated with the one of more types of traffic, and (ii) a number of packets from each types of traffic that are dropped.

Assignments (22)
(SECURITY INTEREST) GRANTOR'S NAME CHANGE Recorded Sep 21, 2023
From: AVAYA INC.
To: AVAYA LLC
Reel/Frame 065019/0231 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 53955/0436) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063705/0023 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 045034/0001) Recorded May 18, 2023
From: GOLDMAN SACHS BANK USA., AS COLLATERAL AGENT
To: ZANG, INC. (FORMER NAME OF AVAYA CLOUD INC.); AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; HYPERQUALITY, INC.; HYPERQUALITY II, LLC; CAAS TECHNOLOGIES, LLC; AVAYA MANAGEMENT L.P.
Reel/Frame 063779/0622 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 61087/0386) Recorded May 18, 2023
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063690/0359 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 4, 2023
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 063542/0662 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 3, 2023
From: AVAYA MANAGEMENT L.P.; AVAYA INC.; INTELLISIST, INC.; KNOAHSOFT INC.
To: WILMINGTON SAVINGS FUND SOCIETY, FSB [COLLATERAL AGENT]
Reel/Frame 063742/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS AT REEL 45124/FRAME 0026 Recorded Apr 26, 2023
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: AVAYA HOLDINGS CORP.; AVAYA INC.; AVAYA MANAGEMENT L.P.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
Reel/Frame 063457/0001 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Aug 5, 2022
From: AVAYA INC.; INTELLISIST, INC.; AVAYA MANAGEMENT L.P.; AVAYA CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 061087/0386 →
SECURITY INTEREST Recorded Sep 25, 2020
From: AVAYA INC.; AVAYA MANAGEMENT L.P.; INTELLISIST, INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 053955/0436 →
SECURITY INTEREST Recorded Jan 23, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 045124/0026 →
RELEASE OF SECURITY INTEREST Recorded Jan 11, 2018
From: CITICORP USA, INC.
To: AVAYA, INC.; SIERRA HOLDINGS CORP.
Reel/Frame 045045/0564 →
SECURITY INTEREST Recorded Jan 10, 2018
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS LLC; OCTEL COMMUNICATIONS LLC; VPNET TECHNOLOGIES, INC.; ZANG, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 045034/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 041576/0001 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS LLC (FORMERLY KNOWN AS OCTEL COMMUNICATIONS CORPORATION); VPNET TECHNOLOGIES, INC.
Reel/Frame 044893/0531 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 023892/0500 Recorded Dec 15, 2017
From: CITIBANK, N.A.
To: AVAYA INC.
Reel/Frame 044891/0564 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 025863/0535 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST, NA
To: AVAYA INC.
Reel/Frame 044892/0001 →
BANKRUPTCY COURT ORDER RELEASING ALL LIENS INCLUDING THE SECURITY INTEREST RECORDED AT REEL/FRAME 030083/0639 Recorded Dec 15, 2017
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVAYA INC.
Reel/Frame 045012/0666 →
SECURITY INTEREST Recorded Jan 27, 2017
From: AVAYA INC.; AVAYA INTEGRATED CABINET SOLUTIONS INC.; OCTEL COMMUNICATIONS CORPORATION; VPNET TECHNOLOGIES, INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 041576/0001 →
SECURITY AGREEMENT Recorded Mar 13, 2013
From: AVAYA, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., THE
Reel/Frame 030083/0639 →
SECURITY AGREEMENT Recorded Feb 22, 2011
From: AVAYA INC., A DELAWARE CORPORATION
To: BANK OF NEW YORK MELLON TRUST, NA, AS NOTES COLLATERAL AGENT, THE
Reel/Frame 025863/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2010
From: NORTEL NETWORKS LIMITED
To: AVAYA INC.
Reel/Frame 023998/0878 →
SECURITY AGREEMENT Recorded Feb 5, 2010
From: AVAYA INC.
To: CITICORP USA, INC., AS ADMINISTRATIVE AGENT
Reel/Frame 023905/0001 →
SECURITY AGREEMENT Recorded Feb 4, 2010
From: AVAYA INC.
To: CITIBANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 023892/0500 →