IP Library Granted Patent US 10,652,137
Granted Patent B2
US 10,652,137 · App. 15/689,141 · Granted May 12, 2020

Conflict avoidant traffic routing in a network environment

Inventors: Eric A. Voit (Bethesda, MD); Samer Salam (Vancouver, CA); Ludwig Alexander Clemm (Los Gatos, CA); Yegnanarayanan Gargya Chandramouli (Bangalore, IN)
Assignee: Cisco Technology, Inc.
H04L45/22H04L41/0873H04L45/28H04L41/0672H04L47/122
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 10,652,137
App. No.
15/689,141
Granted
May 12, 2020
Kind
B2
Abstract

An example method for facilitating conflict avoidant traffic routing in a network environment is provided and includes detecting, at a network element, an intent conflict at a peer network element in a network, and changing a forwarding decision at the network element to steer traffic around the conflicted peer network element. The intent conflict refers to an incompatibility between an asserted intent associated with the traffic and an implemented intent associated with the traffic. In specific embodiments, the detecting includes mounting rules from the peer network element into the network element, and analyzing the mounted rules to determine intent conflict. In some embodiments, a central controller in the network deploys one or more intentlets on a plurality of network elements in the network according to corresponding intent deployment parameters.

Claims (63)

1. A method comprising:

at a network element including a network interface for coupling to a peer network element in a network, wherein the network element and the peer network element are intermediary nodes through which traffic is intended to be routed in the network between two endpoints,

receiving the traffic which is to be forwarded to the peer network element according to a forwarding decision at the network element;

mounting, over the network interface and onto local memory of the network element, rules for forwarding the traffic which are stored in the peer network element, the rules including an asserted intent and an implemented intent;

detecting an intent conflict that exists at the peer network element for forwarding the traffic at the peer network element by analyzing the mounted rules from the peer network element for inconsistencies between the asserted intent for forwarding the traffic and the implemented intent for forwarding the traffic, wherein the peer network element cannot forward the traffic until the intent conflict is resolved;

changing the forwarding decision at the network element to steer traffic around the peer network element; and

forwarding the traffic away from the peer network element.

2. The method of claim 1 , further comprising:

receiving at the network element from a network controller data describing an intentlet, wherein the intentlet is a portion of an intent including a policy snippet or configuration snippet for guiding an aspect of network element behavior;

comparing the intentlet with existing implemented intents on the network element; and

determining whether a conflict exists between a currently asserted intent and one or more other intents at the network element.

3. The method of claim 2 , further comprising:

re-ordering intents at the network element based on a pre-assigned priority if a conflict exists between the currently asserted intent and one or more other existing intents at the network element.

4. The method of claim 3 , further comprising:

deciding to deploy the intentlet if the intentlet is of higher priority than a conflicting existing intent; and

deciding not to deploy the intentlet if the intentlet is not of higher priority than the conflicting existing intent.

5. The method of claim 4 , further comprising periodically comparing the intentlet with the existing implemented intents, if the intentlet is not deployed.

6. The method of claim 1 , further comprising:

identifying another peer network element that does not have the intent conflict; and

changing the forwarding decision to steer traffic to the another peer network element.

7. The method of claim 1 , further comprising automatically generating a list of network elements that are conflicted.

8. Non-transitory tangible media that includes instructions for execution, which when executed by a processor of a network element located in a network, is operable to perform operations comprising:

receiving, at the network element, traffic between two endpoints, wherein the traffic is to be forwarded from the network element to a peer network element in the network according to a forwarding decision at the network element, the network element including a network interface for coupling to the peer network element in the network, wherein the network element and the peer network element are intermediary nodes through which the traffic is intended to be routed in the network between the two endpoints;

mounting, over the network interface and onto local memory of the network element, rules for forwarding the traffic which are stored in the peer network element, the rules including an asserted intent and an implemented intent;

detecting, at the network element, an intent conflict that exists at the peer network element for forwarding the traffic at the peer network element by analyzing the mounted rules from the peer network element for inconsistencies between the asserted intent for forwarding the traffic and the implemented intent for forwarding the traffic, wherein the peer network element cannot forward the traffic until the intent conflict is resolved;

changing the forwarding decision at the network element to steer traffic around the peer network element; and

forwarding the traffic away from the peer network element.

9. The non-transitory tangible media of claim 8 , wherein the operations further comprise:

receiving at the network element from a network controller data describing an intentlet, wherein the intentlet is a portion of an intent including a policy snippet or configuration snippet for guiding an aspect of network element behavior;

comparing the intentlet with existing implemented intents on the network element; and

determining whether a conflict exists between a currently asserted intent and one or more other existing intents at the network element.

10. The non-transitory tangible media of claim 9 , wherein the operations further comprise:

re-ordering intents at the network element based on a pre-assigned priority if a conflict exists between the currently asserted intent and one or more other intents at the network element;

deciding to deploy the intentlet if the intentlet is of higher priority than a conflicting existing intent; and

deciding not to deploy the intentlet if the intentlet is not of higher priority than the conflicting existing intent.

11. The non-transitory tangible media of claim 10 , wherein the operations further comprise: periodically comparing the intentlet with the existing implemented intents, if the intentlet is not deployed.

12. The non-transitory tangible media of claim 8 , wherein the operations further comprise:

identifying another peer network element that does not have the intent conflict; and

changing the forwarding decision to steer traffic to the another peer network element.

13. The non-transitory tangible media of claim 8 , wherein the operations further comprise: automatically generating a list of network elements that are conflicted.

14. An apparatus of a network element, the apparatus comprising:

a network interface for coupling to a peer network element in a network, wherein the network element and the peer network element are intermediary nodes through which traffic is intended to be routed in the network between two endpoints;

a processor coupled to the network interface and configured to perform operations including:

receiving the traffic which is to be forwarded to the peer network element according to a forwarding decision at the network element;

mounting, over the network interface and onto local memory of the network element, rules for forwarding the traffic which are stored in the peer network element, the rules including an asserted intent and an implemented intent;

detecting an intent conflict that exists at the peer network element for forwarding the traffic at the peer network element by analyzing the mounted rules from the peer network element for inconsistencies between the asserted intent for forwarding the traffic and the implemented intent for forwarding the traffic, wherein the peer network element cannot forward the traffic until the intent conflict is resolved;

changing the forwarding decision at the network element to steer traffic around the peer network element; and

forwarding the traffic away from the peer network element.

15. The apparatus of claim 14 , wherein the processor is further configured to perform operations including:

receiving at the network element from a network controller data describing an intentlet, wherein the intentlet is a portion of an intent including a policy snippet or configuration snippet for guiding an aspect of network element behavior;

comparing the intentlet with existing implemented intents on the network element; and

determining whether a conflict exists between a currently asserted intent and one or more other existing intents at the network element.

16. The apparatus of claim 15 , wherein the processor is further configured to perform operations including:

re-ordering intents at the network element based on a pre-assigned priority if a conflict exists between the currently asserted intent and one or more other intents at the network element.

17. The apparatus of claim 16 , wherein the processor is further configured to perform operations including:

deciding to deploy the intentlet if the intentlet is of higher priority than a conflicting existing intent; and

deciding not to deploy the intentlet if the intentlet is not of higher priority than the conflicting existing intent.

18. The apparatus of claim 17 , wherein the processor is further configured to perform operations including: periodically comparing the intentlet with the existing implemented intents, if the intentlet is not deployed.

19. The apparatus of claim 14 , wherein the processor is further configured to perform operations including:

identifying another peer network element that does not have the intent conflict; and

changing the forwarding decision to steer traffic to the another peer network element.

20. The apparatus of claim 14 , wherein the processor is further configured to perform operations including:

automatically generate a list of network elements that are conflicted.

Continuity (2)
Continuation 14508680 · Oct 7, 2014
Related Publication 20170359250A1 · Dec 14, 2017
Cited By (1)
US 12,199,819