IP Library › Granted Patent US 7,606,159
Granted Patent B2
US 7,606,159 · App. 11/216,589 · Granted Oct 20, 2009

Method and apparatus for updating best path based on real-time congestion feedback

Assignee: Cisco Technology, Inc.
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 7,606,159
App. No.
11/216,589
Granted
Oct 20, 2009
Kind
B2
Abstract

Techniques are provided for updating best path based on real-time congestion feedback. A method comprises monitoring packets received from an internetworked system, wherein the packets are received on one of a plurality of external interfaces of a networking device; detecting that a received packet includes real-time information that signals a present or pending congestion condition on a path from the external interfaces of the networking device to the internetworked system; notifying a control logic of the real-time information; receiving from the control logic control information defining a change in one or more paths from the external interfaces to the internetworked system; and changing the one or more paths from the external interfaces to the internetworked system. Examining ingress traffic on external interfaces of an internetworked system can cause changes to routes, routing policies and PBRs in routers of the first internetworked system in response to real-time congestion.

Claims (65)

1. A method, comprising:

monitoring packets received from an internetworked system, wherein the packets are received on one of a plurality of external interfaces of a networking device;

detecting that a received packet includes real-time information that signals a present or pending congestion condition on a path from the external interfaces of the networking device to the internetworked system;

wherein the present or pending congestion condition is experienced by a first traffic flow of data packets from the external interfaces of the networking device to the internetworked device;

notifying a control logic of the real-time information;

receiving from the control logic control information defining a change in one or more paths from the external interfaces to the internetworked system;

wherein the change in the one or more paths addresses said present or pending congestion condition;

wherein the change diverts traffic of one or more other traffic flows of data packets to other paths that are different from the path;

wherein the change maintains the path for the first traffic flow of data packets; and

changing the one or more paths from the external interfaces to the internetworked system.

2. A method as claimed in claim 1 , comprising sending one or more packets from the networking device to an internetworked system, wherein the one or more packets are in a format that is markable by intermediary networking devices to signal a present or pending congestion condition.

3. A method as claimed in claim 1 , wherein the received packet is a Transmission Control Protocol packet having a Explicit Congestion Notification Echo flag is set.

4. A method as claimed in claim 1 wherein monitoring comprises classifying packets from the internetworked system into traffic flows identified by attributes in the packets.

5. A method as claimed in claim 4 wherein one of the attributes identifying traffic flows is a prefix associated with an host in the internetworked system.

6. A method as claimed in claim 4 wherein one of the attributes identifying traffic flows is a prefix associated with an host in an internetworked system of which the networking device is a part.

7. A method as claimed in claim 4 wherein one or more attributes of the attributes identifying traffic flows also identify an application.

8. A method as claimed in claim 1 wherein notifying comprises sending, to the control logic probing information about delay, jitter, packet loss, and corrupted packets on one or more paths between the networking device and the internetworked system.

9. A method as claimed in claim 1 , further comprising receiving from the control logic control information defining a change in one or more routing policies in the networking device, wherein the one or more routing policies are to be complied by the networking device when the networking device exchanges route information with other networking devices; and changing the one or more routing policies on the networking device.

10. A method as claimed in claim 1 , further comprising receiving from the control logic control information defining a change in one or more forwarding policies in the networking device, wherein the one or more forwarding policies are to be complied by the networking device when the networking device forwards packets; and changing the one or more forwarding policies on the networking device.

11. A volatile or non-volatile computer readable medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform:

monitoring packets received from an internetworked system, wherein the packets are received on one of a plurality of external interfaces of a networking device;

detecting that a received packet includes real-time information that signals a present or pending congestion condition on a path from the external interfaces of the networking device to the internetworked system;

wherein the present or pending congestion condition is experienced by a first traffic flow of data packets from the external interfaces of the networking device to the internetworked device;

notifying a control logic of the real-time information;

receiving from the control logic control information defining a change in one or more paths from the external interfaces to the internetworked system;

wherein the change in the one or more paths addresses said present or pending congestion condition;

wherein the change diverts traffic of one or more other traffic flows of data packets to other paths that are different from the path;

wherein the change maintains the path for the first traffic flow of data packets; and

changing the one or more paths from the external interfaces to the internetworked system.

12. An apparatus, comprising:

one or more processors; and

a network interface communicatively coupled to the one or more processors and configured to communicate one or more packet flows among the one or more processors in a network; and

a computer readable medium comprising one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to perform:

monitoring packets received from an internetworked system, wherein the packets are received on one of a plurality of external interfaces of a networking device;

detecting that a received packet includes real-time information that signals a present or pending congestion condition on a path from the external interfaces of the networking device to the internetworked system;

wherein the present or pending congestion condition is experienced by a first traffic flow of data packets from the external interfaces of the networking device to the internetworked device;

notifying a control logic of the real-time information;

receiving from the control logic control information defining a change in one or more paths from the external interfaces to the internetworked system;

wherein the change in the one or more paths addresses said present or pending congestion condition;

wherein the change diverts traffic of one or more other traffic flows of data packets to other paths that are different from the path;

wherein the change maintains the path for the first traffic flow of data packets; and

changing the one or more paths from the external interfaces to the internetworked system.

13. An apparatus as claimed in claim 12 , wherein the one or more sequences of instructions further comprise instructions which, when executed by one or more processors, cause the one or more processors to perform sending one or more packets from the networking device to an internetworked system, wherein the one or more packets are in a format that is markable by intermediary networking devices to signal a present or pending congestion condition.

14. An apparatus as claimed in claim 12 , wherein the received packet is a Transmission Control Protocol packet having a Explicit Congestion Notification Echo flag is set.

15. An apparatus as claimed in claim 12 , wherein the instructions for monitoring comprise instructions for classifying packets from the internetworked system into traffic flows identified by attributes in the packets.

16. An apparatus as claimed in claim 15 , wherein one of the attributes identifying traffic flows is a prefix associated with an host in the internetworked system.

17. An apparatus as claimed in claim 15 , wherein one of the attributes identifying traffic flows is a prefix associated with an host in an internetworked system of which the networking device is a part.

18. An apparatus as claimed in claim 15 , wherein one or more attributes of the attributes identifying traffic flows also identify an application.

19. An apparatus as claimed in claim 12 , wherein the instructions for notifying comprise instructions for sending, to the control logic, probing information about delay, jitter, packet loss, and corrupted packets on one or more paths between the networking device and the internetworked system.

20. An apparatus as claimed in claim 12 , wherein the one or more sequences of instructions further comprise instructions which, when executed by one or more processors, cause the one or more processors to perform receiving from the control logic control information defining a change in one or more routing policies in the networking device, wherein the one or more routing policies are to be complied by the networking device when the networking device exchanges route information with other networking devices; and changing the one or more routing policies on the networking device.

21. An apparatus as claimed in claim 12 , wherein the one or more sequences of instructions further comprise instructions which, when executed by one or more processors, cause the one or more processors to perform receiving from the control logic control information defining a change in one or more forwarding policies in the networking device, wherein the one or more forwarding policies are to be complied by the networking device when the networking device forwards packets; and changing the one or more forwarding policies on the networking device.

22. An apparatus, comprising:

means for monitoring packets received from an internetworked system, wherein the packets are received on one of a plurality of external interfaces of a networking device;

means for detecting that a received packet includes real-time information that signals a present or pending congestion condition on a path from the external interfaces of the networking device to the internetworked system;

wherein the present or pending congestion condition is experienced by a first traffic flow of data packets from the external interfaces of the networking device to the internetworked device;

means for notifying a control logic of the real-time information;

means for receiving from the control logic control information defining a change in one or more paths from the external interfaces to the internetworked system;

wherein the change in the one or more paths addresses said present or pending congestion condition;

wherein the change diverts traffic of one or more other traffic flows of data packets to other paths that are different from the path;

wherein the change maintains the path for the first traffic flow of data packets; and

means for changing the one or more paths from the external interfaces to the internetworked system.

23. An apparatus as claimed in claim 22 , further comprising sending one or more packets from the networking device to an internetworked system, wherein the one or more packets are in a format that is markable by intermediary networking devices to signal a present or pending congestion condition.

24. An apparatus as claimed in claim 22 , wherein the received packet is a Transmission Control Protocol packet having a Explicit Congestion Notification Echo flag is set.

25. An apparatus as claimed in claim 22 , wherein means for monitoring comprises means for classifying packets from the internetworked system into traffic flows identified by attributes in the packets.

26. An apparatus as claimed in claim 22 , wherein one of the attributes identifying traffic flows is a prefix associated with an host in the internetworked system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 30, 2005
From: DALAL, MITESH; SHAH, PRITAM; KHARE, AMOL; VALLURI, VAMSIDHAR
To: CISCO TECHNOLOGY, INC.
Reel/Frame 016951/0959 →
Continuity (1)
Related Publication 20070047446A1 · Mar 1, 2007