×

System, method, and computer program product for controlling output port utilization

  • US 8,547,843 B2
  • Filed: 01/20/2006
  • Issued: 10/01/2013
  • Est. Priority Date: 01/20/2006
  • Status: Active Grant
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.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×