System, method, and computer program product for controlling output port utilization
First Claim
Patent Images
1. A method, comprising:
- identifying a plurality of flows associated with internet protocol packets destined for an output port, each of the flows including a collection of packets with a common destination address, source address, protocol, destination port, and source port;
measuring a utilization associated with the output port utilizing an output flow manager;
forwarding, from the output flow manager, the measured utilization to a network processing unit (NPU) including at least one processor for use in routing the packets to the common destination address;
receiving the measured utilization from the NPU at an input flow manager; and
individually controlling rates of each of the flows destined for the output port, at an input port thereof and utilizing the input flow manager, based on the utilization to ensure that the utilization remains less than 99.9%, ensure packet loss is not harmful, and avoid buffering more than 400 packets with a correspondingly low delay;
wherein individually controlling the rates includes controlling a rate of each individual flow by only dropping a single packet from the individual flow such that the rate of the individual flow is forced to slow down by a Transmission Control Protocol (TCP) process utilized at a sending computer including the output port;
wherein a decision process used to determine if the individual flow is be slowed down by dropping the single packet predicts a composite output rate for each output port in advance of any output port overload such that the TCP process has sufficient time to reduce the rate to hold the utilization below 99.9%;
wherein the identifying, the measuring and the controlling are performed by hardware or software facilitating the communication of packets from one point in a network to another point in the network.
3 Assignments
0 Petitions
Accused Products
Abstract
A system, method and computer program product are provided. In use, a plurality of flows associated with packets destined for an output port is identified. A utilization associated with the output port is further measured. Thus, rates of a plurality of the flows destined for the output port may be individually controlled at an input port thereof, based on the utilization to ensure that the utilization remains less than 99.9% and avoid buffering more than 400 packets with a correspondingly low delay.
-
Citations
17 Claims
-
1. A method, comprising:
-
identifying a plurality of flows associated with internet protocol packets destined for an output port, each of the flows including a collection of packets with a common destination address, source address, protocol, destination port, and source port; measuring a utilization associated with the output port utilizing an output flow manager; forwarding, from the output flow manager, the measured utilization to a network processing unit (NPU) including at least one processor for use in routing the packets to the common destination address; receiving the measured utilization from the NPU at an input flow manager; and individually controlling rates of each of the flows destined for the output port, at an input port thereof and utilizing the input flow manager, based on the utilization to ensure that the utilization remains less than 99.9%, ensure packet loss is not harmful, and avoid buffering more than 400 packets with a correspondingly low delay; wherein individually controlling the rates includes controlling a rate of each individual flow by only dropping a single packet from the individual flow such that the rate of the individual flow is forced to slow down by a Transmission Control Protocol (TCP) process utilized at a sending computer including the output port; wherein a decision process used to determine if the individual flow is be slowed down by dropping the single packet predicts a composite output rate for each output port in advance of any output port overload such that the TCP process has sufficient time to reduce the rate to hold the utilization below 99.9%; wherein the identifying, the measuring and the controlling are performed by hardware or software facilitating the communication of packets from one point in a network to another point in the network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer program product embodied on a non-transitory computer readable medium, comprising:
-
computer code for identifying a plurality of flows associated with internet protocol packets destined for an output port, each of the flows including a collection of packets with a common destination address, source address, protocol, destination port, and source port; computer code for measuring a utilization associated with the output port utilizing an output flow manager; computer code for forwarding, from the output flow manager, the measured utilization to a network processing unit (NPU) including at least one processor for use in routing the packets to the common destination address; computer code for receiving the measured utilization from the NPU at an input flow manager; and computer code for individually controlling rates of each of the flows destined for the output port, at an input port thereof and utilizing the input flow manager, based on the utilization to ensure that the utilization remains less than or equal to 99.9%, ensure packet loss is not harmful, and avoid buffering more than 400 packets with a correspondingly low delay; wherein the computer program product is operable such that individually controlling the rates includes controlling a rate of each individual flow by only dropping a single packet from the individual flow such that the rate of the individual flow is forced to slow down by a Transmission Control Protocol (TCP) process utilized at a sending computer including the output port; wherein the computer program product is operable such that a decision process used to determine if the individual flow is be slowed down by dropping the single packet predicts a composite output rate for each output port in advance of any output port overload such that the TCP process has sufficient time to reduce the rate to hold the utilization below 99.9%; wherein the identifying, the measuring and the controlling are performed by hardware or software facilitating the communication of packets from one point in a network to another point in the network.
-
-
17. A system, comprising:
-
an input flow manager for identifying a plurality of flows associated with internet protocol packets destined for an output port, each of the flows including a collection of packets with a common destination address, source address, protocol, destination port, and source port; and an output flow manager for measuring a utilization associated with the output port, forwarding the measured utilization to a network processing unit (NPU) including at least one processor for use in routing the packets to the common destination address; wherein the input flow manager receives the measured utilization from the NPU; wherein the input flow manager individually controls rates of each of the flows destined for the output port, at an input port thereof, based on the utilization to ensure that the utilization remains less than 99.9%, ensure packet loss is not harmful, and avoid buffering more than 400 packets with a correspondingly low delay; wherein the input flow manager is operable such that individually controlling the rates includes controlling a rate of each individual flow by only dropping a single packet from the individual flow such that the rate of the individual flow is forced to slow down by a Transmission Control Protocol (TCP) process utilized at a sending computer including the output port; wherein the input flow manager is operable such that a decision process used to determine if the individual flow is be slowed down by dropping the single packet predicts a composite output rate for each output port in advance of any output port overload such that the TCP process has sufficient time to reduce the rate to hold the utilization below 99.9%; wherein the identifying, the measuring and the controlling are performed by hardware or software facilitating the communication of packets from one point in a network to another point in the network.
-
Specification