IP Library Granted Patent US 8,462,624
Granted Patent B2
US 8,462,624 · App. 11/494,025 · Granted Jun 11, 2013

Congestion management over lossy network connections

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,462,624
App. No.
11/494,025
Granted
Jun 11, 2013
Kind
B2
Abstract

A network stack includes a packet loss analyzer that distinguishes between packet losses due to congestion and due to lossyness of network connections. The loss analyzer observes the packet loss patterns for comparison with a packet loss model. The packet loss model may be based on a Forward Error Correction (FEC) system. The loss analyzer determines if lost packets could have been recovered by a receiving network device, if FEC had been used. If the lost packets could have been corrected by FEC, the loss analyzer assumes that no network congestion exists and that the packet loss comes from the lossy aspects of the network, such as radio interference for wireless networks. If the loss analyzer determines that some of the lost packet could not have been recovered by the receiving network device, the loss analyzer assumes that network congestion causes these packet losses and reduces the data rate.

Claims (31)

1. A method of controlling network congestion, performed by one or more network devices capable of sending and receiving network packets electronically, the method comprising:

monitoring a stream of network packets at a network monitoring device;

detecting a packet loss of at least one network packet;

determining a number of packets lost in a portion of the stream of network packets;

comparing the packet loss to a packet loss model that is based on forward-error correction, the packet loss model modeling at least two packets, to determine if the packet loss is indicative of network congestion or indicative of loss unrelated to network congestion, wherein packet loss patterns that would be recoverable if forward-error correction was used are designated as packet loss unrelated to network congestion and packet loss patterns that would not be recoverable if forward-error correction was used are designated as packet loss due to congestion;

comparing the determined number of packets lost with a number of packets specified by an error threshold for the packet loss model, wherein the error threshold is based at least in part on an amount of packets recoverable by forward-error correction;

when the number of packets lost is above the number of packets specified by the error threshold, determining that the packet loss is indicative of network congestion;

when the number of packets lost is below the number of packets specified by the error threshold, determining that the packet loss is indicative of packet loss unrelated to network congestion; and

selectively reducing the rate of network packets in the stream in response to the determination that the packet loss is indicative of network congestion and maintaining the rate of network packets in the stream under at least one set of conditions when the packet loss is indicative of packet loss unrelated to network congestion.

2. The method of claim 1 , wherein the packet loss model specifies an error threshold below which the packet loss could have been recovered using forward error correction.

3. The method of claim 2 , wherein the packet loss model simulates the forward error correction.

4. The method of claim 2 , wherein the packet loss model approximates the forward error correction using characteristics of the forward error correction.

5. The method of claim 4 , wherein the characteristics include a first characteristic representing an amount of packet data and a second characteristic representing an amount of error correction data required by the forward error correction.

6. The method of claim 1 , wherein the packet loss model specifies that the packet loss is indicative of inherent losses in a network connection in response to the packet loss not exceeding the error threshold.

7. The method of claim 1 , wherein comparing the packet loss to the packet loss model comprises:

determining an amount of lost data in the portion of the stream of network packets; and

comparing the amount of lost data in the portion of the stream with an amount of data specified by the error threshold.

8. The method of claim 1 , wherein monitoring the stream of network packets comprises:

transmitting a first set of network packets to a receiving network device; and

receiving at least one acknowledgement message from the receiving network device.

9. The method of claim 8 , wherein detecting the packet loss comprises:

comparing a sequence number in the acknowledgement message with a previously-stored sequence number associated with the transmitted first set of network packets.

10. The method of claim 1 , wherein monitoring the stream of network packets and detecting the packet loss comprises:

transmitting a first set of network packets to a receiving network device;

initiating a timer to a predetermined value upon transmitting a last one of the first set of network packets;

waiting to receive an acknowledgement message from the receiving network device; and

making the determination that at least one network packet of the first set of network packets is lost when the timer expires prior to receipt of the acknowledgement message.

11. The method of claim 1 , further comprising:

retransmitting at least one network packet in the packet loss.

12. The method of claim 1 , wherein reducing the rate of network packets in the stream comprises reducing a congestion window value in a transport layer, wherein the congestion window value determines a limit on unacknowledged network packets transmitted.

13. The method of claim 12 , wherein the transport layer uses the TCP protocol.

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 Nov 16, 2006
From: MCCANNE, STEVE; GUPTA, NITIN
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 018534/0918 →