IP Library Granted Patent US 10,972,387
Granted Patent B2
US 10,972,387 · App. 16/442,406 · Granted Apr 6, 2021

Application performance based path-selection using dynamic metrics

Inventors: Sridhar Vishwanathan Iyer (Fremont, CA); Amey Gavand (San Jose, CA); Akshay Adhikari (San Jose, CA); Apurva Mehta (Cupertino, CA)
Assignee: Versa Networks, Inc.
H04L45/64H04L41/5009H04L43/0829H04L43/0852H04L45/24H04L47/2425H04L69/163
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,972,387
App. No.
16/442,406
Granted
Apr 6, 2021
Kind
B2
Abstract

Embodiments herein disclose methods for selecting one or more paths for routing application traffic based on application performance metrics for hosted applications. In an embodiment, to select the best path, the available paths can be monitored to understand the performance of specific applications through those paths. Subsequently, the performance data is used to derive an application link score for any given combination of application and path, wherein the application link score is generated as a function of packet delay and packet loss. The ALS is then be used to determine the best path for a given application.

Claims (259)

1. A method for selecting a path to an application through a Software-Defined Wide Area Network (SD-WAN), the method comprising:

monitoring available paths through the SD-WAN to reach a hosted application to obtain performance metrics associated with the available paths through the SD-WAN on a per-application and per-path basis;

generating an application link score for a combination of the hosted application and an available path through the SD-WAN for the available paths through the SD-WAN, wherein the application link score is generated as a function of packet delay and packet loss; and

selecting a path for traffic to travel through the SD-WAN to access the hosted application based on application link scores corresponding to the available paths through the SD-WAN;

wherein the application link scores are calculated using a logistic function; and

wherein the application link scores are generated as:

Application

Link

Score

(

A

L

S

)

=

V

*

e

lp

1

+

e

lp

where Linear Predictor,

lp=A+B*Delay+C*RTX+D*Delay*RTX,

V is a measurement constant that corresponds to an upper time limit, Delay corresponds to a time for a packet to travel across the available path, RTX corresponds to a retransmission ratio, and A, B, C, and D are constants.

2. The method of claim 1 , wherein V=4,320,000 milliseconds.

3. The method of claim 2 , wherein:

lp=− 7.151200+0.011821*Delay+4.669700*Loss+0.012558*Delay*Loss.

4. The method of claim 1 , further comprising calculating an application link rank that is a function of the application link score and the measurement constant, V.

5. The method of claim 4 , wherein the application link rank is calculated as:

A

L

R

=

log

(

(

A

L

S

V

)

*

(

C

nBins

-

1

)

+

1

)

/

log

(

C

)

where C is a constant and nBins is a number of bins.

6. The method of claim 1 , further comprising scaling RTX by:

Confidence

ratio

ϕ

=

#

packets

ConfThresh

if

packets

<

ConfThresh

1

if

packets

ConfThresh

wherein #packets is a number of packets transmitted on a TCP session and ConfThresh is a confidence threshold in number of packets.

7. The method of claim 1 , wherein the Delay and the retransmission ratio (RTX) are obtained from Transmission Control Protocol (TCP) session information.

8. The method of claim 1 , wherein the delay and loss ratio information is collected from service level agreement (SLA) monitoring and wherein the application link scores are calculated using the delay and the loss ratio information collected from the SLA monitoring.

9. The method of claim 1 , wherein the delay and the loss ratio information is collected from service level agreement (SLA) monitoring and wherein the RTX is calculated as:

RTX

=

Loss

Ratio

L

V

where a Loss Ratio is packets lost/total packets transmitted and an LV is the linearity value.

10. A non-transitory computer readable medium that stores computer readable instructions, that when executed on one or more processors, implements a method for selecting a path to an application through a Software-Defined Wide Area Network (SD-WAN), the method comprising:

monitoring available paths through the SD-WAN to reach a hosted application to obtain performance metrics associated with the available paths through the SD-WAN on a per-application and per-path basis;

generating an application link score for a combination of the hosted application and an available path through the SD-WAN for the available paths through the SD-WAN, wherein the application link score is generated as a function of packet delay and packet loss; and

selecting a path for traffic to travel through the SD-WAN to access the hosed application based on application link scores corresponding to the available paths through the SD-WAN;

wherein the computer readable instructions, when executed on the one or more processors, implement the method, wherein the application link scores are calculated using a logistic function; and

wherein the computer readable instructions, when executed on the one or more processors, implement the method, wherein the application link scores are generated as:

Application

Link

Score

(

A

L

S

)

=

V

*

e

lp

1

+

e

lp

where Linear Predictor, lp=A+B*Delay+C*RTX+D*Delay*RTX, V is a measurement constant that corresponds to an upper time limit, Delay corresponds to a time for a packet to travel across the available path, RTX corresponds to a retransmission ratio, and A, B, C, and D are constants.

11. The non-transitory computer readable medium of claim 10 , wherein the computer readable instructions, when executed on the one or more processors, implement the method further comprising calculating an application link rank that is a function of the application link score and the measurement constant, V.

12. The non-transitory computer readable medium of claim 11 , wherein the computer readable instructions, when executed on the one or more processors, implement the method, wherein the application link rank is calculated as:

A

L

R

=

log

(

(

A

L

S

V

)

*

(

C

nBins

-

1

)

+

1

)

/

log

(

C

)

where C is a constant and nBins is a number of bines.

13. The non-transitory computer readable medium of claim 10 , wherein the computer readable instructions, when executed on the one or more processors, implement the method further comprising scaling RTX by:

Confidence

ratio

ϕ

=

#

packets

ConfThresh

if

packets

<

ConfThresh

1

if

packets

ConfThresh

wherein #packets is a number of packets transmitted on a TCP session and ConfThresh is a confidence threshold in number of packets.

14. The non-transitory computer readable medium of claim 10 , wherein the computer readable instructions, when executed on the one or more processors, implement the method, wherein the Delay and the retransmission ratio (RTX) are obtained from Transmission Control Protocol (TCP) session information.

15. The non-transitory computer readable medium of claim 10 , wherein the computer readable instructions, when executed on the one or more processors, implement the method, wherein the delay and the loss ratio information is collected from service level agreement (SLA) monitoring and wherein the application link scores are calculated using the delay and loss ratio collected from the SLA monitoring.

16. A method for selecting a path to an application through a network, the method comprising:

monitoring available paths through a network to reach a hosted application to obtain performance metrics associated with the available paths through the network on a per-application and per-path basis;

generating an application link score for a combination of the hosted application and an available path through the network for the available paths through the network, wherein the application link score is generated as a function of packet delay and packet loss; and

selecting a path for traffic to travel through the network to access the hosted application based on application link scores corresponding to the available paths through the network;

wherein the application link scores are calculated using a logistic function; and

wherein the application link scores are generated as:

Application

Link

Score

(

A

L

S

)

=

V

*

e

lp

1

+

e

lp

where Linear Predictor, lp=A+B*Delay+C*RTX+D*Delay*RTX, V is a measurement constant that corresponds to an upper time limit, Delay corresponds to a time for a packet to travel across the available path, RTX corresponds to a retransmission ratio, and A, B, C, and D are constants.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jan 27, 2025
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: VERSA NETWORKS, INC.
Reel/Frame 070010/0374 →
RELEASE OF SECURITY INTEREST Recorded Jan 27, 2025
From: SILICON VALLEY BANK
To: VERSA NETWORKS, INC.
Reel/Frame 070010/0384 →
SECURITY INTEREST Recorded Oct 20, 2023
From: VERSA NETWORKS, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 065289/0303 →
SECURITY INTEREST Recorded Mar 29, 2022
From: VERSA NETWORKS, INC.
To: SILICON VALLEY BANK
Reel/Frame 059423/0004 →
SECURITY INTEREST Recorded Mar 29, 2022
From: VERSA NETWORKS, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 059423/0028 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 17, 2019
From: IYER, SRIDHAR VISHWANATHAN; GAVAND, AMEY; ADHIKARI, AKSHAY; MEHTA, APURVA
To: VERSA NETWORKS, INC.
Reel/Frame 049490/0945 →
Continuity (2)
Provisional Application 62686003 · Jun 16, 2018
Related Publication 20190386918A1 · Dec 19, 2019
Cited By (5)
US 12,255,822 US 12,301,457 US 12,381,805 US 12,556,442 US 12,676,785