IP Library Granted Patent US 11,201,817
Granted Patent B2
US 11,201,817 · App. 15/489,673 · Granted Dec 14, 2021

Traffic steering in fastpath

Inventors: Linus Aranha (Los Gatos, CA); Murtuza Attarwala (Davis, CA)
Assignee: Cisco Technology, Inc.
H04L45/302H04L45/22H04L45/123
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 11,201,817
App. No.
15/489,673
Granted
Dec 14, 2021
Kind
B2
Abstract

A method may include an instruction to route the data to a destination. The method may additionally include inspecting the data to identify metadata associated with the data. The method may further include identifying, based on the metadata, a first routing path and a second routing path that both lead to the destination. The first routing path may include a first communication link associated with a first link classification, and the second routing path may include a second communication link associated with a second link classification. The method may also include selecting the first routing path based on a configuration preference and based on the first routing path including the first communication link associated with the first link classification. The method may additionally include transmitting the data along the first routing path via the first communication link.

Claims (46)

1. A method, comprising:

receiving, from a control device, data including a routing instruction to route the data to a destination;

inspecting the data to identify metadata associated with the data;

identifying, based on the metadata, a first routing path that leads to the destination and a second routing path that leads to the destination, the first routing path being over a first type of communication network having a first level of security, the second routing path being over a second type of communication network having a second level of security, wherein each of the first type of communication network and the second type of communication network is a different one of an Internet connection, a MultiProtocol Label Switching (MPLS) connection, a cellular connection, or a cable connection;

determining, based on the metadata, a configuration preference for the data to use routing paths corresponding to the first type of communication network and the second type of communication network;

determining, from the routing instruction, a routing policy for the data to be routed through the first routing path;

overriding the routing policy for the data to be routed through the first routing path by selecting the second routing path based on the configuration preference, traffic conditions on the first routing path and the second routing path, the first level of security and the second level of security; and

transmitting the data along the second routing path.

2. The method of claim 1 , wherein inspecting the data to identify the metadata associated with the data comprises identifying at least one of: a cost associated with a transmission of the data, a service level agreement (SLA) associated with the data, a source address, a source port, a destination address, a destination port, or a protocol.

3. The method of claim 1 , wherein inspecting the data to identify the metadata associated with the data comprises identifying at least one of a differentiated services code point (DSCP) value, a type of service (TOS) value, an application, a user, or a user group.

4. The method of claim 1 , wherein the first routing path and the second routing path include a same number of links, circuits, and tunnels for the data to reach the destination.

5. The method of claim 1 , wherein the first routing path and the second routing path include a same number of hops for the data to reach the destination.

6. The method of claim 1 , wherein the data includes at least one packet or a data flow.

7. The method of claim 1 , wherein inspecting the data to identify the metadata associated with the data comprises inspecting a header, the header including a DSCP value in the header to indicate a predefined routing path.

8. The method of claim 7 , further comprising:

selecting the first routing path based on the configuration preference and based on the first type of communication network by rewriting the DSCP value in the header to indicate the first routing path, wherein transmitting the data along the first routing path via the first type of communication network comprises transmitting the data along the first routing path via the first type of communication network based on the DSCP value in the header.

9. The method of claim 1 , further comprising:

selecting the first routing path based on the configuration preference and based on the first type of communication network, wherein the selecting of the first routing path comprises:

identifying an application associated with the data;

determining whether the configuration preference includes a data routing rule for the application; and

selecting the first routing path based on a determination that the configuration preference includes a data routing rule for the application to route along routing paths associated with the first type of communication network.

10. A non-transitory computer-readable medium that includes computer-readable instructions stored thereon that when executed by a processor, cause the processor to:

receive, from a control device, data including a routing instruction to route the data to a destination;

inspect the data to identify metadata associated with the data;

identify, based on the metadata, a first routing path that leads to the destination and a second routing path that leads to the destination, the first routing path being over a first type of communication network having a first level of security, the second routing path being over a second type of communication network having a second level of security, wherein each of the first type of communication network and the second type of communication network is a different one of an Internet connection, a MultiProtocol Label Switching (MPLS) connection, a cellular connection, or a cable connection;

determine, based on the metadata, a configuration preference for the data to use routing paths corresponding to the first type of communication network and the second type of communication network;

determine, from the routing instruction, a routing policy for the data to be routed through the first routing path;

override the routing policy for the data to be routed through the first routing path by selecting the second routing path based on the configuration preference, traffic conditions on the first routing path and the second routing path, the first level of security and the second level of security; and

transmit the data along the second routing path.

11. The non-transitory computer-readable medium of claim 10 , wherein the metadata associated with the data includes at least one of: a cost associated with a transmission of the data, a service level agreement (SLA) associated with the data, a source address, a source port, a destination address, a destination port, a protocol, a differentiated services code point (DSCP) value, a type of service (TOS) value, an application, a user, a user group.

12. The non-transitory computer-readable medium of claim 10 , wherein inspecting the data to identify the metadata associated with the data comprises inspecting a header, the header including a DSCP value in the header to indicate a predefined routing path.

13. A system comprising:

a memory configured to store instructions for processor operations; and

one or more processors, the one or more processors configured to:

receive, from a control device, data including a routing instruction to route the data to a destination;

inspect the data to identify metadata associated with the data;

identify, based on the metadata, a first routing path that leads to the destination and a second routing path that leads to the destination, the first routing path being over a first type of communication network having a first level of security, the second routing path being over a second type of communication network having a second level of security, wherein each of the first type of communication network and the second type of communication network is a different one of an Internet connection, a MultiProtocol Label Switching (MPLS) connection, a cellular connection, or a cable connection;

determine, based on the metadata, a configuration preference for the data to use routing paths corresponding to the first type of communication network and the second type of communication network;

determine, from the routing instruction, a routing policy for the data to be routed through the first routing path;

override the routing policy for the data to be routed through the first routing path by selecting the second routing path based on the configuration preference, traffic conditions on the first routing path and the second routing path, the first level of security and the second level of security; and

transmit the data along the second routing path.

14. The system of claim 13 , wherein when inspecting the data to identify the metadata associated with the data, the one or more processors are configured to inspect a header, the header including a DSCP value in the header to indicate a predefined routing path.

15. The non-transitory computer-readable medium of claim 12 , wherein the instructions, when executed by the processor, cause the processor to:

select the first routing path based on the configuration preference and based on the first type of communication network by rewriting the DSCP value in the header to indicate the first routing path, wherein transmitting the data along the first routing path via the first type of communication network comprises transmitting the data along the first routing path via the first type of communication network based on the DSCP value in the header.

16. The system of claim 14 , wherein the one or more processors configured to:

select the first routing path based on the configuration preference and based on the first type of communication network by rewriting the DSCP value in the header to indicate the first routing path, wherein transmitting the data along the first routing path via the first type of communication network comprises transmitting the data along the first routing path via the first type of communication network based on the DSCP value in the header.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: VIPTELA LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 045967/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2017
From: ARANHA, LINUS; ATTARWALA, MURTUZA
To: VIPTELA INC.
Reel/Frame 042071/0210 →
Continuity (1)
Related Publication 20180302320A1 · Oct 18, 2018
Cited By (1)
US 12,495,044