Systems and methods for managing network congestion
First Claim
Patent Images
1. A method for managing congestion in a computer network, the method comprising:
- by a network node having a processor, a memory, and a network interface,recording in the memory a history of network performance measurements provided by the network interface,wherein the history includes a dynamic window defined by a current window size that holds a plurality of samples,wherein the plurality of samples is divided between a first portion having a plurality of first samples and a second portion with a plurality of second samples,wherein for each of multiple times, each sample is defined by one of a first value and a second value, wherein the first value and the second value each represent a different performance characteristic of the network measured at the time of sampling of the network performance measurement,wherein the second portion has a window size that is equal to or less than a predefined maximum size and that is equal to or less than a predefined minimum size, andwherein the plurality of samples in the dynamic window is at least equal to two times the minimum size of the second portion;
identifying the plurality of first samples of the first portion and the plurality of second samples of the second portion, wherein the first portion corresponds to earlier performance measurements, and wherein the second portion corresponds to later performance measurements that occur after the measurements represented by the first portion;
determining whether or not a difference between the first values of the first portion and the first values of the second portion is statistically significant;
when the difference is statistically significant, resizing the current window size of the dynamic window to a new window size, wherein the new window size holds only the plurality of second samples; and
determining a network congestion level using only second values in the second portion of the history.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for managing congestion in a computer network are described. In some examples a network node uses a dynamic moving average to determine a level of network congestion a computer network. The dynamic moving average uses a window that is dynamically resized based on the contents of the window. For example, when the contents of the half of the window containing older samples are sufficiently different from the contents of the half of the window containing newer samples, the older samples are discarded and an average is calculated using just the newer samples.
47 Citations
24 Claims
-
1. A method for managing congestion in a computer network, the method comprising:
- by a network node having a processor, a memory, and a network interface,
recording in the memory a history of network performance measurements provided by the network interface, wherein the history includes a dynamic window defined by a current window size that holds a plurality of samples, wherein the plurality of samples is divided between a first portion having a plurality of first samples and a second portion with a plurality of second samples, wherein for each of multiple times, each sample is defined by one of a first value and a second value, wherein the first value and the second value each represent a different performance characteristic of the network measured at the time of sampling of the network performance measurement, wherein the second portion has a window size that is equal to or less than a predefined maximum size and that is equal to or less than a predefined minimum size, and wherein the plurality of samples in the dynamic window is at least equal to two times the minimum size of the second portion; identifying the plurality of first samples of the first portion and the plurality of second samples of the second portion, wherein the first portion corresponds to earlier performance measurements, and wherein the second portion corresponds to later performance measurements that occur after the measurements represented by the first portion; determining whether or not a difference between the first values of the first portion and the first values of the second portion is statistically significant; when the difference is statistically significant, resizing the current window size of the dynamic window to a new window size, wherein the new window size holds only the plurality of second samples; and determining a network congestion level using only second values in the second portion of the history. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24)
- by a network node having a processor, a memory, and a network interface,
-
11. A system configured to manage congestion in a computer network, the system comprising:
-
a first network node having a processor, a memory, and a network interface; wherein the processor is configured to; record in the memory a history of network performance measurements provided by the network interface, wherein the history includes, for each of multiple times, a first and second value that each represent a different performance characteristic of the network measured at the time; define a dynamic window that is stored in the history, wherein the dynamic window has a current window size that holds a plurality of samples, wherein the plurality of samples is divided between a first portion having a plurality of first samples and a second portion with a plurality of second samples, wherein the second portion has a window size that is equal to or less than a predefined maximum size and that is equal to or less than a predefined minimum size, wherein the plurality of samples in the dynamic window is at least equal to two times the minimum size of the second portion; wherein the first portion corresponds to earlier performance measurements, and wherein the second portion corresponds to later performance measurements that occur after the measurements represented by the first portion; determine whether or not a difference between first values of the first portion and first values of the second portion is statistically significant; when the difference is statistically significant, resize the current window size of the dynamic window to a new window size, wherein the new window size holds only the plurality of second samples; and determine a network congestion level using only second values in the second portion of the history. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer-readable medium including contents that are configured, when executed, to cause a network node to perform a method for managing congestion in a computer network, wherein the network node includes a processor, a memory, and a network interface, the method comprising:
by the network node, recording in the memory a history of network performance measurements provided by the network interface, wherein the history includes, for each of multiple times, a first and second value that each represent a different performance characteristic of the network measured at the time; defining a dynamic window that is stored in the history, wherein the dynamic window has a current window size that holds a plurality of samples, wherein the plurality of samples is divided between a first portion with a plurality of first samples and a second portion with a plurality of second samples, wherein the second portion has a window size that is equal to or less than a predefined maximum size and that is equal to or less than a predefined minimum size, wherein the plurality of samples in the dynamic window is at least equal to two times the minimum size of the second portion, and wherein the first portion corresponds to earlier network performance measurements, and wherein the second portion corresponds to later network measurements that occur after the measurements represented by the first portion; determining whether or not the difference between first values of the first portion and first values of the second portion is statistically significant; when the difference is statistically significant, resizing the current window size of the dynamic window to a new window size, wherein the new window size holds only the plurality of second samples; and determining a network congestion level using only second values in the second portion of the history. - View Dependent Claims (19, 20)
Specification