IP Library Granted Patent US 8,681,614
Granted Patent B1
US 8,681,614 · App. 13/074,923 · Granted Mar 25, 2014

Quality of service for inbound network traffic flows

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,681,614
App. No.
13/074,923
Granted
Mar 25, 2014
Kind
B1
Abstract

An edge network device controls the quality-of-service of incoming network traffic flows by limiting the bandwidth of incoming network traffic flows. To ensure that incoming network traffic classes quickly converge to the desired bandwidth allocations, the maximum bandwidth allocation to each network traffic class is dynamically varied based on current overall usage. The maximum bandwidth allocated to each traffic class at any given moment is the sum of its minimum guaranteed bandwidth and a portion of the available excess bandwidth. Each traffic class' portion of the excess bandwidth is proportional to the ratio between its minimum guaranteed bandwidth and the sum of all traffic classes' minimum guaranteed bandwidths. Phantom network packets equivalent to the difference between each traffic class' allocated and actual bandwidth may be added to its scheduling queue to implement this dynamic variation. Phantom packets occupy transmission slots during packet scheduling and are discarded when selected for transmission.

Claims (57)

1. A method of controlling incoming network traffic to a network device, the method comprising:

identifying, by a network device, first active incoming network traffic classes at a first time;

determining minimum guaranteed bandwidth values for the incoming network traffic classes;

determining available link-share bandwidth for the first incoming network traffic classes at the first time; and

allocating first portions of the available link-share bandwidth to the first incoming network traffic classes based on their respective minimum guaranteed bandwidth values, wherein said allocating comprises adding phantom packets to at least a portion of scheduling queues associated with the incoming network traffic classes.

2. The method of claim 1 , wherein allocating portions of the available link-share bandwidth comprises:

determining for each of the first incoming network traffic classes a ratio between the minimum guaranteed bandwidth value of the first incoming network traffic class and a sum of the minimum guaranteed bandwidth values for all of the first incoming network traffic classes.

3. The method of claim 2 , comprising setting upper bandwidth limits for the first incoming network traffic classes based on their respective minimum guaranteed bandwidth values and allocated first portions of the available link-share bandwidth.

4. The method of claim 1 , comprising:

identifying second incoming network traffic classes at a second time;

determining minimum guaranteed bandwidth values for the second incoming network traffic classes;

determining available link-share bandwidth for the incoming network traffic classes at a second time; and

allocating second portions of the available link-share bandwidth at the second time to the second incoming network traffic classes based on their respective minimum guaranteed bandwidth values.

5. The method of claim 4 , wherein the available link-share bandwidths at the first and second times are different.

6. The method of claim 4 , wherein the first incoming network traffic classes and the second incoming network traffic classes are different.

7. The method of claim 1 , wherein the first incoming network traffic classes include a TCP traffic flow.

8. The method of claim 1 , wherein adding phantom packets comprises:

determining available bandwidths for the first incoming network traffic classes; and

adding the phantom packets to at least the portion of the scheduling queues, wherein the phantom packets are equal to the available bandwidths for the first incoming network traffic classes.

9. The method of claim 8 , wherein determining the available bandwidths comprises:

determining upper bandwidth limits for the first incoming network traffic classes;

determining current bandwidth usages for the first incoming network traffic classes; and

determining differences between the upper bandwidth limits and the current bandwidth usages for the first incoming network traffic classes.

10. The method of claim 1 , comprising:

removing packets from the scheduling queues in response to selections of the scheduling queues by a packet scheduler;

identifying a first portion of the removed packets comprising phantom packets;

discarding the first portion of the removed packets;

identifying a second portion of the removed packets comprising packets included in the first incoming network traffic classes; and

directing the second portion of the removed packets towards their destination addresses.

11. The method of claim 1 , comprising:

receiving additional packets associated with the portion of the first incoming network traffic classes; and

replacing the phantom packets in the scheduling queues with the additional packets.

12. A method of controlling incoming network traffic to a network device, the method comprising:

receiving a first network packet at a first time;

identifying a first network traffic class associated with the first network packet, wherein the first network traffic class is associated with a minimum guaranteed bandwidth value;

setting an upper bandwidth limit for the first network traffic class at the first time based on the minimum guaranteed bandwidth value and a first portion of an available link-share bandwidth, wherein the first portion of the available link-share bandwidth is based on the minimum guaranteed bandwidth value;

adding the first network packet to a scheduling queue associated with the first network traffic class; and

inhibiting the network device from allocating bandwidth in excess of the upper bandwidth limit to the first network traffic class, wherein said inhibiting comprises:

selecting a packet from the scheduling queue in response to a selection of the scheduling queue by a packet scheduler;

determining if the selected packet is a phantom packet;

in response to the determination that the selected packet is a phantom packet, discarding the selected packets; and

in response to the determination that the selected packet is not a phantom packet, directing the selected packet towards its destination address.

13. The method of claim 12 , wherein the first portion of the available link-share bandwidth is based on a ratio between the minimum guaranteed bandwidth value of the first network traffic class and a sum of the minimum guaranteed bandwidth values for all network traffic classes active at the network device at the first time.

14. The method of claim 12 , wherein inhibiting the network device comprises:

determining an available bandwidth for the first network traffic class; and

adding at least one phantom packet to the scheduling queue, wherein the at least one phantom packet is equal to the available bandwidth for the first network traffic class.

15. The method of claim 14 , determining the available bandwidth comprises:

determining a current bandwidth usage for the first network traffic class; and

determining a difference between the upper bandwidth limit and the current bandwidth usage for the first network traffic class.

16. The method of claim 12 , wherein adding the first network packet to the scheduling queue comprises:

determining if the scheduling queue includes a phantom packet;

in response to the determination that the scheduling queue includes the phantom packet, replacing the phantom packet in the scheduling queue with the first network packet.

17. The method of claim 12 , comprising:

setting a second upper bandwidth limit for the first network traffic class at a second time based on the minimum guaranteed bandwidth value and a first portion of a second available link-share bandwidth at the second time, wherein the first portion of the second available link-share bandwidth is based on a ratio between the minimum guaranteed bandwidth value of the first network traffic class and a sum of the minimum guaranteed bandwidth values for all network traffic classes active at the network device at the second time.

18. The method of claim 17 , wherein the first and second available link-share bandwidths at the first and second times are different.

19. The method of claim 17 , wherein the sums of the minimum guaranteed bandwidth values for all network traffic classes active at the network device at the first and second times are different.

20. The method of claim 17 , wherein the first network traffic class includes a TCP traffic flow.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2011
From: MCCANNE, STEVEN; DUBOIS-FERRIERE, HENRI; SWAN, ANDREW
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 026565/0913 →