Source-based congestion detection and control
First Claim
Patent Images
1. A method comprising:
- receiving, at a network device, a packet that was forwarded to the network device by an intermediate device that is separate from a source device from which the packet originated;
augmenting a forwarding table, used by the network device to route packets through a network, with a resource utilization value that is associated with the source device and that tracks an amount of a resource of the network device being used to process data originating at the source device;
determining, by the network device, that the resource utilization value equals or exceeds a first threshold;
responsive to the determining, sending, by the network device, through one or more hops in between the network device and the source device, a first message to the source device to either pause or slow down transmission of a first type of data;
determining, by the network device, that the resource utilization value associated with the source device does not exceed the first threshold; and
responsive to the determining that the resource utilization value associated with the source device does not exceed the first threshold, sending, by the network device, through one or more hops in between the network device and the source device, a second message addressed to the source device to resume transmission of the first type of data;
wherein the source device did not receive the packet from any other device.
7 Assignments
0 Petitions
Accused Products
Abstract
Congestion control techniques based upon resource utilization information stored by a network device. According to an embodiment of the present invention, a network device is configured to identify a data source causing congestion based upon information stored by the network device identifying a set of data sources, and for each data source, information identifying the amount of a resource of the network device being used for processing data received by the network device from the data source.
-
Citations
12 Claims
-
1. A method comprising:
-
receiving, at a network device, a packet that was forwarded to the network device by an intermediate device that is separate from a source device from which the packet originated; augmenting a forwarding table, used by the network device to route packets through a network, with a resource utilization value that is associated with the source device and that tracks an amount of a resource of the network device being used to process data originating at the source device; determining, by the network device, that the resource utilization value equals or exceeds a first threshold; responsive to the determining, sending, by the network device, through one or more hops in between the network device and the source device, a first message to the source device to either pause or slow down transmission of a first type of data; determining, by the network device, that the resource utilization value associated with the source device does not exceed the first threshold; and responsive to the determining that the resource utilization value associated with the source device does not exceed the first threshold, sending, by the network device, through one or more hops in between the network device and the source device, a second message addressed to the source device to resume transmission of the first type of data; wherein the source device did not receive the packet from any other device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A network device comprising:
-
a memory configured to store a first threshold; and a congestion controller configured to; receive a packet that was forwarded to the network device by an intermediate device that is separate from a source device from which the packet originated; augment a forwarding table, used by the network device to route packets through a network, with a resource utilization value that is associated with the source device and that tracks an amount of a resource of the network device being used to process data originating at the source device; determine that the resource utilization value equals or exceeds the first threshold; responsive to the determining, send, through one or more hops in between the network device and the source device, a first message to the source device to either pause or slow down transmission of a first type of data; determine that the resource utilization value associated with the source device does not exceed the first threshold; and responsive to the determining that the resource utilization value associated with the source device does not exceed the first threshold, sending, through one or more hops in between the network device and the source device, a second message addressed to the source device to resume transmission of the first type of data; wherein the source device did not receive the packet from any other device. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A network device comprising:
-
a memory configured to store a plurality of thresholds; and a congestion controller configured to; receive a packet that was forwarded to the network device by an intermediate device that is separate from a source device from which the packet originated; augment a forwarding table, used by the network device to route packets through a network, with a resource utilization value that is associated with the source device and that tracks an amount of a resource of the network device being used to process data originating at the source device; determine that the resource utilization value associated with the source device and stored in the forwarding table equals or exceeds each of the plurality of thresholds; responsive to the determining, for each threshold in the plurality of thresholds, send, through one or more hops in between the network device and the source device, a message addressed to the source device to either pause, slow down, or resume transmission of a type of data associated with the threshold; determine that the resource utilization value associated with the source device does not exceed a particular threshold of the plurality of thresholds; and responsive to the determining that the resource utilization value associated with the source device does not exceed the particular threshold, sending, through one or more hops in between the network device and the source device, a second message addressed to the source device to resume transmission of a type of data associated with the particular threshold; wherein the source device did not receive the packet from any other device. - View Dependent Claims (12)
-
Specification