IP Library › Granted Patent US 11,451,484
Granted Patent B2
US 11,451,484 · App. 16/902,510 · Granted Sep 20, 2022

Path selection for an application based on a performance score in a software-defined network

Inventor: Sandeep Bajaj (Fremont, CA)
Assignee: CISCO TECHNOLOGY, INC.
H04L47/2425H04L41/5009H04L41/5019H04L41/5022H04L41/5025H04L43/045H04L43/08H04L43/16H04L45/00H04L45/123H04L45/302H04L45/38H04L47/2441H04L47/825H04L43/10
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,451,484
App. No.
16/902,510
Granted
Sep 20, 2022
Kind
B2
Abstract

A method may include receiving a data flow of an application directed to the destination in a software-defined network (SDN). The method may also include identifying a classification of the application. The method may additionally include identifying a set of performance thresholds associated with the classification of the application. The method may also include determining a current performance of the data flow of the application in the SDN. The method may also include generating a performance score for the application based on the set of performance thresholds and the current performance of the data flow of the application in the SDN. The method may further include causing the performance score for the application to be presented via an interface.

Claims (54)

1. A method comprising:

receiving a data flow;

identifying a classification of the data flow that is specific to a type of application associated with data of the data flow based on a classification table indicative of the application;

identifying a service level agreement specific to the classification based on the type of application;

matching the classification to a set of performance thresholds based on the service level agreement, wherein the set of performance thresholds includes a loss of percentage sensitivity threshold;

determining a current performance of the data flow;

generating a performance score based on the set of performance thresholds and the current performance; and

taking an action based on the performance score.

2. The method of claim 1 , further comprising:

identifying a first tunnel through which the data flow is configured to flow; and

selecting a second tunnel based on the performance score.

3. The method of claim 2 , wherein the selecting of the second tunnel includes determining the data flow across the second tunnel is more likely to satisfy the set of performance thresholds than the data flow across the first tunnel.

4. The method of claim 2 , further comprising:

monitoring one or more network performance metrics for the first tunnel and the second tunnel; and

storing historical performance data of the one or more network performance metrics of the first tunnel and the second tunnel, wherein the second tunnel is selected at least in part based on the historical performance data of the network performance metrics of the first tunnel and the second tunnel.

5. The method of claim 3 , wherein the second tunnel is selected based on the second tunnel historically being greater than the set of performance thresholds for a longer duration than the first tunnel historically being greater than the set of performance thresholds.

6. The method of claim 1 , wherein the action is causing the performance score to be presented via an interface.

7. A system comprising:

one or more processors; and

a memory storing instructions, which when executed by the one or more processors causes the one or more processors to:

receive a data flow;

identify a classification of the data flow that is specific to a type of application associated with data of the data flow based on a classification table indicative of the application;

identify a service level agreement specific to the classification based on the type of application;

match the classification to a set of performance thresholds based on the service level agreement, wherein the set of performance thresholds includes a loss of percentage sensitivity threshold;

determine a current performance of the data flow;

generate a performance score based on the set of performance thresholds and the current performance; and

take an action based on the performance score.

8. The system of claim 7 , further comprising instructions which when executed by the one or more processors, cause the one or more processors to:

identify a first tunnel through which the data flow is configured to flow; and

select a second tunnel based on the performance score.

9. The system of claim 8 , further comprising instructions which when executed by the one or more processors, cause the one or more processors to:

determine the data flow across the second tunnel is more likely to satisfy the set of performance thresholds than the data flow across the first tunnel.

10. The system of claim 8 , further comprising instructions which when executed by the one or more processors, cause the one or more processors to:

monitor one or more network performance metrics for the first tunnel and the second tunnel; and

store historical performance data of the one or more network performance metrics of the first tunnel and the second tunnel, wherein the second tunnel is selected at least in part based on the historical performance data of the network performance metrics of the first tunnel and the second tunnel.

11. The system of claim 9 , wherein the second tunnel is selected based on the second tunnel historically being greater than the set of performance thresholds for a longer duration than the first tunnel historically being greater than the set of performance thresholds.

12. The system of claim 9 , wherein the action is presenting the performance score via an interface.

13. A non-transitory computer-readable medium storing computer-readable instructions stored which when executed by one or more processors, causes the one or more processor to:

receive a data flow;

identify a classification of the data flow that is specific to a type of application associated with data of the data flow based on a classification table indicative of the application;

identifying a service level agreement specific to the classification based on the type of application;

match the classification to a set of performance thresholds based on the service level agreement, wherein the set of performance thresholds includes a loss of percentage sensitivity threshold;

determine a current performance of the data flow;

generate a performance score based on the set of performance thresholds and the current performance; and

take an action based on the performance score.

14. The non-transitory computer-readable medium of claim 13 , further comprising instructions which when executed by the one or more processors, cause the one or more processors to:

identify a first tunnel through which the data flow is configured to flow; and

select a second tunnel based on the performance score.

15. The non-transitory computer-readable medium of claim 14 , further comprising instructions which when executed by the one or more processors, cause the one or more processors to:

determine the data flow across the second tunnel is more likely to satisfy the set of performance thresholds than the data flow across the first tunnel.

16. The non-transitory computer-readable medium of claim 14 , further comprising instructions which when executed by the one or more processors, cause the one or more processors to:

monitor one or more network performance metrics for the first tunnel and the second tunnel; and

store historical performance data of the one or more network performance metrics of the first tunnel and the second tunnel, wherein the second tunnel is selected at least in part based on the historical performance data of the network performance metrics of the first tunnel and the second tunnel.

17. The non-transitory computer-readable medium of claim 15 , wherein the second tunnel is selected based on the second tunnel historically being greater than the set of performance thresholds for a longer duration than the first tunnel historically being greater than the set of performance thresholds.

Continuity (2)
Continuation 15665296 · Jul 31, 2017
Related Publication 20200382429A1 · Dec 3, 2020
Cited By (2)
US 12,381,777 US 12,432,144