IP Library Granted Patent US 8,509,074
Granted Patent B1
US 8,509,074 · App. 12/415,717 · Granted Aug 13, 2013

System, method, and computer program product for controlling the rate of a network flow and groups of network flows

Inventors: Lawrence G. Roberts (Woodside, CA); John A. Harper (Mountain View, CA)
Assignee: Saisei Networks PTE Ltd
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,509,074
App. No.
12/415,717
Granted
Aug 13, 2013
Kind
B1
Abstract

A system, method and computer program product are provided for controlling the rate of a network flow. In use, a rate of a network flow is monitored. In addition, it is determined whether the rate exceeds a threshold. Further, at least a portion of the network flow is conditionally discarded or marked, based on the determination.

Claims (36)

1. A method to control the rate of an individual network flow, comprising:

for every individual transmission control protocol (TCP) network flow, monitoring and saving a rate of each individual TCP network flow;

determining whether the rate exceeds an individual threshold, the threshold configured based on an available capacity of each of an output port and a group of network flows; and

conditionally providing feedback for the individual TCP network flow to indicate to a device sending the individual TCP network flow which is executing TCP rules to cause the device to decrease the rate of the individual TCP network flow, based on the determination.

2. The method of claim 1 , wherein the rate of the individual TCP network flow is monitored by periodically calculating the rate of the individual TCP network flow.

3. The method of claim 2 , wherein the rate of the individual TCP network flow is calculated by determining an amount of data communicated via the individual TCP network flow within a predefined period of time.

4. The method of claim 2 , wherein the rate of the individual TCP network flow is calculated at predetermined time intervals.

5. The method of claim 2 , wherein the rate of the individual TCP network flow is calculated in response to identification of the at least a portion of the individual TCP network flow.

6. The method of claim 5 , wherein the rate of the individual TCP network flow is calculated in response to receipt of a packet of the individual TCP network flow.

7. The method of claim 1 , wherein the threshold is variable.

8. The method of claim 7 , wherein the threshold is automatically adjusted in response to predefined criteria.

9. The method of claim 8 , wherein the predefined criteria includes available bandwidth.

10. The method of claim 8 , wherein the predefined criteria includes a physical rate of a port to which the individual TCP network flow is destined.

11. The method of claim 1 , wherein the feedback is provided in association with at least a portion of the individual TCP network flow, which includes a single packet of the individual TCP network flow.

12. A method to control the total rate of a group of network flows comprising:

measuring a composite rate of a group of individual TCP network flows;

setting a threshold for each of the individual TCP network flows in the group; and

for every one of the individual TCP network flows in the group, controlling a rate of the individual TCP network flow, comprising:

monitoring and saving a rate of each individual TCP network flow;

determining whether the rate exceeds an individual threshold, the threshold configured based on an available capacity of each of an output port and the group of individual TCP network flows; and

conditionally providing feedback for the individual TCP network flow to indicate to a device sending the individual TCP network flow which is executing TCP rules to cause the device to decrease the rate of the individual TCP network flow, based on the determination.

13. The method of claim 12 , further comprising computing the threshold for each of the individual TCP network flows by dividing the available capacity equally among the individual TCP network flows in the group.

14. The method of claim 12 , further comprising computing the threshold for each of the individual TCP network flows by dividing the available capacity proportional to a priority of each of the individual TCP network flows in the group.

15. The method of claim 12 , where the group includes all individual TCP network flows forwarded out of the output port.

16. The method of claim 12 , where the group includes all individual TCP network flows forwarded within a single VLAN within the output port.

17. The method of claim 12 , where the group includes all individual TCP network flows originating from a single network address or subscriber.

18. The method of claim 12 , where the group includes all individual TCP network flows destined for a single network address or subscriber.

19. A computer program product embodied on a non-transitory computer readable medium, comprising:

computer code for measuring and saving a rate of every individual TCP network flow;

computer code for setting a threshold for each of the individual TCP network flows; and

for every one of the individual TCP network flows in a group, computer code for controlling a rate of the individual TCP network flow in the group, comprising:

computer code for monitoring and saving a rate of each individual TCP network flow;

computer code for determining whether the rate exceeds an individual threshold, the threshold configured based on an available capacity of each of an output port and the group of individual TCP network flows; and

conditionally providing feedback for the individual TCP network flow to indicate to a device sending the individual TCP network flow which is executing TCP rules to cause the de ice to decrease the rate of the individual TCP network flow, based on the determination.

20. An apparatus, comprising:

a router for measuring a composite rate of every individual TCP network flow, setting an individual threshold for each of the individual TCP network flows, and for every one of the individual TCP network flows, controlling a rate of the individual TCP network flow by monitoring and saving a rate of the individual TCP network flow, determining whether the rate exceeds an individual threshold, the threshold configured based on an available capacity of each of an output port and a group of individual TCP network flows, and conditionally providing feedback for the individual TCP network flow to indicate to a device sending the individual TCP network flow which is executing TCP rules to cause the device to decrease the rate of the individual TCP network flow, based on the determination.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2025
From: SAISEI NETWORKS, INC.
To: FIRSTWAVE CLOUD TECHNOLOGY LIMITED
Reel/Frame 070023/0502 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2023
From: SAISEI NETWORKS, PTE LTD.
To: SAISEI NETWORKS, INC.
Reel/Frame 064685/0507 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2012
From: ANAGRAN, INC.
To: SAISEI NETWORKS PTE LTD
Reel/Frame 027511/0327 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2009
From: ROBERTS, LAWRENCE G.; HARPER, JOHN A.
To: ANAGRAN, INC.
Reel/Frame 022721/0247 →
Continuity (1)
Provisional Application 61041117 · Mar 31, 2008