Method and apparatus to minimize congestion in a packet switched network
First Claim
1. A method for controlling congestion in a network having a plurality of switching points, comprising:
- maintaining a plurality of service level agreements (SLAs) at a first switching point, each SLA having a corresponding minimum data rate;
transmitting data packets received at the first switching point corresponding to each SLA at or above the minimum data rate in accordance with the respective SLA;
receiving a message from a second switching point at the first switching point to indicate that traffic between a source and a destination is congested; and
adjusting a data rate at which packets corresponding to an SLA, destined for the destination, are output from the first switching point in response to receiving the message to reduce the congestion.
11 Assignments
0 Petitions
Accused Products
Abstract
A packet-switched communication network in accordance with the invention provides a guaranteed minimum bandwidth between pairs of Packet Switches by defining Service Level Agreements (SLAs). An SLA is defined by at least a source identifier, a destination identifier, and a minimum data rate although other information can also be used. Upon arrival at certain networked nodes, packets are classified according to an SLA by reading the source and destination addresses in the packet. Once classified, the packets are placed in a queue and scheduled for transmission. A scheduler ensures that packets are transmitted at the minimum defined data rate for the SLA. The scheduler may use a statistical multiplexing method, such as deficit round robin, or deficit golden ratio, which is part of the present invention. The deficit golden ratio method assures a minimum rate to packets for a particular SLA, but minimizes jitter and delay. Further, the present invention implements congestion control that does not require nodes to be entirely turned off in congested conditions.
-
Citations
15 Claims
-
1. A method for controlling congestion in a network having a plurality of switching points, comprising:
-
maintaining a plurality of service level agreements (SLAs) at a first switching point, each SLA having a corresponding minimum data rate;
transmitting data packets received at the first switching point corresponding to each SLA at or above the minimum data rate in accordance with the respective SLA;
receiving a message from a second switching point at the first switching point to indicate that traffic between a source and a destination is congested; and
adjusting a data rate at which packets corresponding to an SLA, destined for the destination, are output from the first switching point in response to receiving the message to reduce the congestion. - View Dependent Claims (2, 3, 4)
-
-
5. An article of manufacture comprising a machine-accessible medium that includes content that when accessed provides instructions to cause a machine to:
-
maintain a plurality of service level agreements (SLAs) at a first switching point, each SLA having a corresponding minimum data rate;
transmit data packets received at the first switching point corresponding to each SLA at or above the minimum data rate in accordance with the respective SLA;
receive a message from a second switching point to indicate that traffic between a source and a destination is congested; and
adjust a data rate at which packets corresponding to an SLA, destined for the destination, are transmitted in response to receiving the message to reduce the congestion. - View Dependent Claims (6, 7, 8)
-
-
9. A method of controlling congestion among a plurality of switching points, comprising:
-
managing a plurality of service level agreements (SLAs) specifying a minimum data rate of transmission for packets corresponding to each SLA, at each switching point;
sending a message from a downstream switching point to an upstream switching point to cause the upstream switching point to reduce a data rate at which packets associated with a specific SLA to be forwarded by the upstream switching point are output from the upstream switching point to a device downstream from the downstream switching point; and
sending a message from the downstream switching point to the upstream switching point to cause the upstream switching point to increase the data rate at which packets associated with the specific SLA are output from the upstream switching point to the device downstream from the downstream switching point.
-
-
10. A system comprising:
-
a first switching point to receive data packets, transmit the data packets to another switching point, manage service level agreements (SLAs) specifying a minimum data rate for packets corresponding to the SLA, and send a message to indicate that traffic between a source and a destination is congested; and
a second switching point coupled with the first switching point to manage SLAs specifying a minimum data rate for packets corresponding to the SLA, transmit packets from the second switching point in accordance with the SLA, receive the message from the first switching point, and reduce a data rate at which packets corresponding to an SLA indicated in the message, destined for the destination, are output from the second switching device in response to receiving the message. - View Dependent Claims (11, 12)
-
-
13. A method for controlling congestion in a network having a plurality of switching points, comprising:
-
maintaining a plurality of service level agreements (SLAs) at a switching point, each SLA having a corresponding minimum data rate;
receiving data packets corresponding to at least one of the SLAs;
detecting congestion for data packets corresponding to the at least one of the SLAs; and
sending a message from the switching point to indicate the congestion to an upstream switching point, the upstream switching point to route packets received from further upstream, to cause the upstream switching point to adjust a data rate at which packets corresponding to the at least one of the SLAs are output from the upstream switching point in response to the message. - View Dependent Claims (14, 15)
-
Specification