IP Library Granted Patent US 8,804,521
Granted Patent B1
US 8,804,521 · App. 13/453,731 · Granted Aug 12, 2014

Quality of service for inbound network traffic flows during slow-start phases

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,804,521
App. No.
13/453,731
Granted
Aug 12, 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 create a network traffic bottleneck at the edge network device. The bottleneck ensures that this edge network device may control the quality-of-service of incoming network traffic flows. During a slow-start phase of a network traffic flow, the edge network device adds phantom network packets to a scheduler queue in addition to the actual packets of the network traffic flow. Phantom packets occupy transmission slots during packet scheduling and are discarded when selected for transmission. This limits the rate that actual packets are received and acknowledged by the destination knowledge, thereby preventing the network traffic flow source from increasing the flow bandwidth above the limit of the inbound network connection.

Claims (49)

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

receiving at least a first network packet associated with a first network traffic flow;

adding at least the first network packet to a packet scheduler queue associated with at least the first network traffic flow;

determining if the first network traffic flow is operating in a slow-start phase; and

in response to the determination that the first network traffic flow is operating in the slow-start phase, adding a phantom network packet to the packet scheduler queue.

2. The method of claim 1 , comprising

selecting at least one network packet in the packet scheduler queue in response to a network packet scheduler;

determining if the selected network packet is the phantom network packet;

in response to the determination that the selected packet is a previously queued phantom network packet, discarding the selected network packet; and

in response to the determination that the selected packet is not a previously queued network packet, directing the first network packet towards its destination.

3. The method of claim 2 , wherein the first network packet is received via a first network connection having a maximum incoming bandwidth and the network packet scheduler selects network packets from the packet scheduler queue at a maximum outgoing bandwidth less than the maximum incoming network bandwidth.

4. The method of claim 2 , wherein selecting the at least one network packet, determining if the selected network packet is the phantom network packet, and discarding or directing the selected network packet are performed asynchronously and in parallel with adding the first network packet to the packet scheduler queue.

5. The method of claim 1 , wherein adding the phantom network packet to the packet scheduler queue comprises:

inhibiting the addition of the phantom network packet to the packet scheduler queue unless at least one additional network packet has been added to the packet scheduler queue.

6. The method of claim 1 , wherein the phantom packet has a fixed and predetermined length.

7. The method of claim 1 , wherein the phantom packet has a length based on a function of at least the length of the first network packet.

8. The method of claim 1 , wherein determining if the first network traffic flow is operating in the slow-start phase comprises:

determining if any previously sent network packets associated with the first network traffic flow has been lost; and

in response to the determination that the previously sent network packets associated with the network traffic flow have not been lost, specifying that the first network traffic flow is operating in the slow-start phase.

9. The method of claim 1 , wherein determining if the first network traffic flow is operating in the slow-start phase comprises:

determining if a predetermined time period from the start of the first network traffic flow has elapsed; and

in response to the determination that the predetermined time period from the start of the first network traffic flow has not elapsed, specifying that the first network traffic flow is operating in the slow-start phase.

10. The method of claim 1 , wherein determining if the first network traffic flow is operating in the slow-start phase comprises:

determining if a time period has elapsed based on a function of at least one attribute of the first network traffic flow; and

in response to the determination that the time period has not elapsed, specifying that the first network traffic flow is operating in the slow-start phase.

11. The method of claim 10 , wherein the attribute of the first network traffic flow includes a bandwidth of the first network traffic flow.

12. The method of claim 10 , wherein the attribute of the first network traffic flow includes a round-trip time attribute of the first network traffic flow.

13. The method of claim 1 , wherein the first network traffic flow includes a TCP traffic flow.

14. A non-transitory computer-readable storage medium including instructions adapted to direct a processor to perform an operation, the operation comprising:

receiving at least a first network packet associated with a first network traffic flow;

adding at least the first network packet to a packet scheduler queue associated with at least the first network traffic flow;

determining if the first network traffic flow is operating in a slow-start phase; and

in response to the determination that the first network traffic flow is operating in the slow-start phase, adding a phantom network packet to the packet scheduler queue.

15. The non-transitory computer-readable medium of claim 14 , comprising

selecting at least one network packet in the packet scheduler queue in response to a network packet scheduler;

determining if the selected network packet is the phantom network packet;

in response to the determination that the selected packet is a previously queued phantom network packet, discarding the selected network packet; and

in response to the determination that the selected packet is not a previously queued network packet, directing the first network packet towards its destination.

16. The non-transitory computer-readable medium of claim 15 , wherein the first network packet is received via a first network connection having a maximum incoming bandwidth and the network packet scheduler selects network packets from the packet scheduler queue at a maximum outgoing bandwidth less than the maximum incoming network bandwidth.

17. The non-transitory computer-readable medium of claim 15 , wherein selecting the at least one network packet, determining if the selected network packet is the phantom network packet, and discarding or directing the selected network packet are performed asynchronously and in parallel with adding the first network packet to the packet scheduler queue.

18. The non-transitory computer-readable medium of claim 14 , wherein adding the phantom network packet to the packet scheduler queue comprises:

inhibiting the addition of the phantom network packet to the packet scheduler queue unless at least one additional network packet has been added to the packet scheduler queue.

19. The non-transitory computer-readable medium of claim 14 , wherein determining if the first network traffic flow is operating in the slow-start phase comprises:

determining if any previously sent network packets associated with the first network traffic flow has been lost; and

in response to the determination that the previously sent network packets associated with the network traffic flow have not been lost, specifying that the first network traffic flow is operating in the slow-start phase.

20. The non-transitory computer-readable medium of claim 14 , wherein determining if the first network traffic flow is operating in the slow-start phase comprises:

determining if a predetermined time period from the start of the first network traffic flow has elapsed; and

in response to the determination that the predetermined time period from the start of the first network traffic flow has not elapsed, specifying that the first network traffic flow is operating in the slow-start phase.

21. The non-transitory computer-readable medium of claim 14 , wherein the first network traffic flow 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: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
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 →
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 11, 2012
From: DUBOIS-FERRIERE, HENRI
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 028528/0417 →