IP Library › Granted Patent US 12,113,690
Granted Patent B2
US 12,113,690 · App. 17/811,608 · Granted Oct 8, 2024

Network path health scoring based on load binned latency data

Inventor: Gopal Gadekal Reddy (Fremont, CA)
Assignee: Palo Alto Networks, Inc.
H04L43/0841H04L43/062H04L43/067H04L43/0852H04L43/0864H04L43/0882H04L43/106H04L43/50
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 12,113,690
App. No.
17/811,608
Granted
Oct 8, 2024
Kind
B2
Abstract

A network path scoring system is disclosed herein that scores quality of network paths to facilitate identification of poorly performing network paths or circuits for investigation. The scoring system builds a profile of additional latencies of a network path binned by circuit load based on historical latency data for the network path. The additional latencies are determined with respect to a base latency of the network path. The network path scoring system determines a weighted average of the additional latencies of a subset of the load bins and a weighted average of expected latencies of the subset of load bins, and a score is calculated with these weighted averages.

Claims (69)

1. A method comprising:

based on time-series latency data of a network path, determining observed additional latencies with respect to a base latency of the network path;

determining load of each of a plurality of time intervals of the time-series latency data;

binning the observed additional latencies by load;

determining an observed additional latency average for each load bin;

determining an average of the observed additional latency averages of a subset of the load bins;

determining an average of expected additional latencies of the subset of the load bins; and

scoring health of the network path based, at least in part, on the average of the observed additional latency averages and the average of expected additional latencies.

2. The method of claim 1 further comprising determining the base latency for the network path for a time period of the time-series latency data.

3. The method of claim 2 , wherein determining the base latency comprises selecting a latency of a specified percentile of latency of the time-series latency data across the time period.

4. The method of claim 3 , further comprising:

determining whether the score is below a first threshold defined as indicating a low score;

based on determining that the score is a low score, identifying a lowest of the load bins with a subset of the observed additional latencies that satisfies a sufficiency criterion and updating the base latency to the observed additional latency average of the identified load bin;

determining second observed additional latencies with respect to the updated base latency;

binning by load the second observed additional latencies;

determining a second observed additional latency average for each load bin with the second observed additional latencies;

determining an average of the second observed additional latency averages of a subset of the load bins; and

re-scoring health of the network path based, at least in part, on the average of the second observed additional latency averages and the average of expected additional latencies.

5. The method of claim 2 , wherein determining the base latency comprises identifying a lowest of the load bins with a subset of the observed additional latencies that satisfies a sufficiency criterion and setting the base latency to the observed additional latency average of the identified load bin.

6. The method of claim 1 , wherein determining load of each of the plurality of time intervals of the time-series latency data is based, at least in part, on ingress and egress loads corresponding to the network path.

7. The method of claim 6 further comprising determining the ingress and egress bandwidths of a network circuit associated with the network path, normalizing the load corresponding to the larger of ingress and egress bandwidths, and aggregating the ingress and egress loads after normalization, wherein determining the load is based on the aggregated ingress and egress loads.

8. The method of claim 1 , wherein scoring health of the network path comprises determining a ratio of the average of the observed additional latency averages and the average of expected additional latencies.

9. The method of claim 1 further comprising scoring health of a second network path based, at least in part, on average of observed additional latency averages of the second network path and an average of expected additional latencies of the second network path, wherein the observed additional latency averages of the second network path are with respect to a base latency of the second network path.

10. The method of claim 9 further comprising scoring health of a network circuit corresponding to the first and the second network paths, wherein scoring the health of the network circuit is based, at least in part, on scores of the first and second network paths.

11. The method of claim 1 further comprising identifying the network path for bandwidth underutilization analysis based on the score of the first network path being below a poor score threshold and calculating throughput statistics for the network path based on application flow data to determine a maximum observed bandwidth utilization.

12. A non-transitory, machine-readable medium having program code stored thereon, the program code comprising instructions to:

determine observed additional latencies with respect to a base latency of a network path based on time-series latency data of the network path;

determine circuit load of each of a plurality of time intervals of the time-series latency data based, at least in part, on both ingress and egress loads;

bin the observed additional latencies into corresponding ones of a plurality of load bins based, at least in part, on the determined circuit loads;

determine an observed additional latency average for each of the plurality of load bins;

determine an average of the observed additional latency averages of at least a subset of the plurality of load bins;

determine an average of expected additional latencies of the subset of the load bins; and

score health of the network path based, at least in part, on the average of the observed additional latency averages and the average of expected additional latencies.

13. The non-transitory machine-readable medium of claim 12 , wherein the instructions to score health of the network path comprise instructions to determine a ratio of the average of the observed additional latency averages and the average of expected additional latencies.

14. The non-transitory machine-readable medium of claim 12 , wherein the program code further comprises instructions to determine the base latency for the network path for a time period of the time-series latency data.

15. The non-transitory machine-readable medium of claim 14 , wherein the instructions to determine the base latency comprise instructions to select a latency of a specified percentile of latency of the time-series latency data across the time period.

16. The non-transitory machine-readable medium of claim 15 , wherein the program code further comprises instructions to:

determine whether the score is below a first threshold defined as indicating a low score;

based on a determination that the score is a low score, identify a lowest of the plurality of load bins with a subset of the observed additional latencies that satisfies a sufficiency criterion and update the base latency to the observed additional latency average of the identified load bin;

determine second observed additional latencies with respect to the updated base latency;

bin by circuit load the second observed additional latencies;

determine a second observed additional latency average for each of the plurality of load bins with the second observed additional latencies;

determine an average of the second observed additional latency averages of a second subset of the plurality of load bins; and

re-score health of the network path based, at least in part, on the average of the second observed additional latency averages and the average of expected additional latencies.

17. The non-transitory machine-readable medium of claim 14 , wherein the instructions to determine the base latency comprise instructions to identify a lowest of the load bins with a subset of the observed additional latencies that satisfies a sufficiency criterion and set the base latency to the observed additional latency average of the identified load bin.

18. The non-transitory machine-readable medium of claim 12 , wherein the program code further comprises instructions to determine the ingress and egress bandwidths of a network circuit associated with the network path, normalize the load corresponding to the larger of ingress and egress bandwidths, and aggregate the ingress and egress loads after normalization, wherein the instructions to determine the circuit load comprise the instructions to determine the circuit load based on the aggregated ingress and egress loads.

19. The non-transitory machine-readable medium of claim 12 , wherein the program code further comprises instructions to identify the network path for bandwidth underutilization analysis based on the score of the first network path being below a poor score threshold and to calculate throughput statistics for the network path based on application flow data to determine a maximum observed bandwidth utilization.

20. An apparatus comprising:

a processor; and

a machine-readable medium having instructions stored thereon that are executable by the processor to cause the apparatus to,

determine observed additional latencies with respect to a base latency of a network path based on time-series latency data of the network path;

determine circuit load of each of a plurality of time intervals of the time-series latency data based, at least in part, on both ingress and egress loads;

bin the observed additional latencies into corresponding ones of a plurality of load bins based, at least in part, on the determined circuit loads;

determine an observed additional latency average for each of the plurality of load bins;

determine an average of the observed additional latency averages of at least a subset of the plurality of load bins;

determine an average of expected additional latencies of the subset of the load bins; and

score health of the network path based, at least in part, on the average of the observed additional latency averages and the average of expected additional latencies.

21. The apparatus of claim 20 , wherein the program code further comprises instructions to determine the base latency for the network path for a time period of the time-series latency data.

22. The apparatus of claim 21 , wherein the instructions to determine the base latency comprise instructions to select a latency of a specified percentile of latency of the time-series latency data across the time period.

23. The apparatus of claim 22 , wherein the program code further comprises instructions to:

determine whether the score is below a first threshold defined as indicating a low score;

based on a determination that the score is a low score, identify a lowest of the plurality of load bins with a subset of the observed additional latencies that satisfies a sufficiency criterion and update the base latency to the observed additional latency average of the identified load bin;

determine second observed additional latencies with respect to the updated base latency;

bin by circuit load the second observed additional latencies;

determine a second observed additional latency average for each of the plurality of load bins with the second observed additional latencies;

determine an average of the second observed additional latency averages of a second subset of the plurality of load bins; and

re-score health of the network path based, at least in part, on the average of the second observed additional latency averages and the average of expected additional latencies.

24. The apparatus of claim 21 , wherein the instructions to determine the base latency comprise instructions to identify a lowest of the load bins with a subset of the observed additional latencies that satisfies a sufficiency criterion and set the base latency to the observed additional latency average of the identified load bin.

25. The apparatus of claim 20 , wherein the instructions to score health of the network path comprise instructions to determine a ratio of the average of the observed additional latency averages and the average of expected additional latencies.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2022
From: REDDY, GOPAL GADEKAL
To: PALO ALTO NETWORKS, INC.
Reel/Frame 060469/0487 →
Continuity (2)
Provisional Application 63261571 · Sep 23, 2021
Related Publication 20230099723A1 · Mar 30, 2023