IP Library Granted Patent US 10,700,982
Granted Patent B2
US 10,700,982 · App. 15/665,296 · Granted Jun 30, 2020

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

Inventor: Sandeep Bajaj (San Jose, 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 10,700,982
App. No.
15/665,296
Filed
Jul 31, 2017
Granted
Jun 30, 2020
Kind
B2
Art Unit
2443
USPC
709/224
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 (50)

1. A method comprising:

receiving a data flow of an application directed to a destination in a software-defined network (SDN);

identifying a classification of the application using a classification table of application classifications, the classification table keyed to the application or an identifier of the application;

matching the classification to a set of performance thresholds using the classification table, the set of performance thresholds including a latency threshold, a loss percentage threshold, and a jitter threshold;

determining a current performance of the data flow of the application in the SDN;

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; and

causing the performance score for the application to be presented via an interface.

2. The method of claim 1 further comprising:

identifying a first tunnel associated with the application through which the data flow is configured to travel; and

selecting a second tunnel based on the performance score for the application.

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 3 further comprising:

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

storing historical performance data of the 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 above the set of performance thresholds for a longer duration than the first tunnel historically being above the set of performance thresholds.

6. The method of claim 1 , wherein the set of performance thresholds includes a loss percentage sensitivity threshold.

7. A system comprising:

a memory; and

one or more processors, the one or more processors configured to perform operations comprising:

receive a data flow of an application directed to a destination in a software-defined network (SDN);

identify a classification of the application using a classification table of application classifications, the classification table keyed to the application or an identifier of the application;

match the classification to a set of performance thresholds using the classification table, the set of performance thresholds including a latency threshold, a loss percentage threshold, and a jitter threshold;

determine a current performance of the data flow of the application in the SDN;

generate 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; and

cause the performance score for the application to be presented via an interface.

8. The system of claim 7 , wherein the one or more processors are configured to perform further operations comprising:

identify a first tunnel associated with the application through which the data flow is configured to travel; and

select a second tunnel based on the performance score for the application.

9. The system of claim 8 , wherein when selecting the second tunnel based on the performance score for the application, the one or more being processors configured 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 9 , wherein the one or more processors are configured to perform further operations comprising:

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

store historical performance data of the 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 above the set of performance thresholds for a longer duration than the first tunnel historically being above the set of performance thresholds.

12. The system of claim 7 , wherein the set of performance thresholds includes a loss percentage sensitivity threshold.

13. A non-transitory computer-readable medium that includes computer-readable instructions stored thereon that are executable by a processor to perform or control performance of operations comprising:

receive a data flow of an application directed to a destination in a software-defined network (SDN);

identify a classification of the application using a classification table of application classifications, the classification table keyed to the application or an identifier of the application;

match the classification to a set of performance thresholds using the classification table, the set of performance thresholds including a latency threshold, a loss percentage threshold, and a jitter threshold;

determine a current performance of the data flow of the application in the SDN;

generate 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; and

cause the performance score for the application to be presented via an interface.

14. The non-transitory computer-readable medium of claim 13 , wherein the computer-readable instructions are executable by the processor to perform or control performance of further operations comprising:

identify a first tunnel associated with the application through which the data flow is configured to travel; and

select a second tunnel based on the performance score for the application.

15. The non-transitory computer-readable medium of claim 14 , wherein selecting the second tunnel based on the performance score for the application comprises 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.

16. The non-transitory computer-readable medium of claim 15 , wherein the computer-readable instructions are executable by the processor to perform or control performance of further operations comprising:

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

store historical performance data of the 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 above the set of performance thresholds for a longer duration than the first tunnel historically being above the set of performance thresholds.

18. The non-transitory computer-readable medium of claim 13 , wherein the set of performance thresholds includes a loss percentage sensitivity threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2018
From: VIPTELA LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 045967/0666 →
CHANGE OF NAME Recorded Mar 1, 2018
From: VIPTELA, INC.
To: VIPTELA LLC
Reel/Frame 045484/0110 →
Continuity (1)
Related Publication 20190036828A1 · Jan 31, 2019
Cited By (1)
US 12,720,621