IP Library › Granted Patent US 12,726,425
Granted Patent B2
US 12,726,425 · App. 18/922,778 · Granted Sep 1, 2026

Capacity agnostic scoring of network path health based on packet loss

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,726,425
App. No.
18/922,778
Filed
Oct 22, 2024
Granted
Sep 1, 2026
Kind
B2
Art Unit
2444
USPC
726/25
Abstract

A network path scoring system is disclosed herein that scores quality of network paths to facilitate identification of poorly performing circuits for investigation. The scoring system builds a profile with packet loss data in relation to a load corresponding to a network path. The profile indicates the percentiles of packet loss at each bucket or bin of load based on the packet loss data. Using the profile for the network path, the scoring system calculates a capacity agnostic score based on a non-zero boundary in the profile across at least a subset of the load bins.

Claims (54)

1 . A method comprising:

grouping values corresponding to packet loss for a network path by percent bandwidth utilization intervals based on time correlations;

for each of the percent bandwidth utilization intervals, determining percentiles of the values within the group corresponding to the percent bandwidth utilization interval;

selecting, from a multi-dimensional array of scoring components predefined across percentiles and bandwidth utilization intervals, a scoring component for each bandwidth utilization interval based, at least in part, on the percentile at which a best value of packet loss occurs; and

scoring the network path based, at least in part, on the selected scoring components.

2 . The method of claim 1 , wherein the multi-dimensional array of scoring components comprises scoring components corresponding to varying degrees of packet loss based network path quality and the scoring components are arranged in the multi-dimensional array to reflect quality across different percent bandwidth utilizations.

3 . The method of claim 1 , wherein scoring the network path comprises aggregating the scoring components.

4 . The method of claim 3 , wherein aggregating the scoring components comprises averaging the scoring components.

5 . The method of claim 1 , wherein scoring the network path comprises scoring the network path also based on a second set of selected scoring components,

wherein the values are percentages of ingress packet loss for the network path,

wherein the second set of selected scoring components were selected from the multi-dimensional array of scoring components based, at least in part, on the percentiles at which a second set of best values of packet loss occurred across the percent bandwidth utilization intervals,

wherein the second set of best values are from egress packet loss data of the network path.

6 . The method of claim 1 , wherein selecting a scoring component for each bandwidth utilization interval based, at least in part, on the percentile at which a best value of packet loss occurs comprises:

identifying a non-zero boundary in the percentiles across the bandwidth utilization intervals; and

selecting the scoring components based on occurrence at locations in the multi-dimensional array of scoring components that correspond to the non-zero boundary.

7 . The method of claim 1 , wherein further comprising:

determining percent bandwidth utilizations of a circuit corresponding to the network path across a plurality of time intervals encompassing the values; and

correlating the percent bandwidth utilizations with the values based, at least in part, on the plurality of time intervals.

8 . One or more non-transitory, machine-readable media having program code stored thereon, the program code comprising instructions to:

obtain first time-series packet loss data of a first network path, wherein the first time-series packet loss data comprise a plurality of values of a packet loss metric across a time window;

determine utilization of bandwidth of the first network path for each time interval of a time granularity within the time window;

build a profile of percentiles of the packet loss metric across ranges of bandwidth utilization for the first network path with the first time-series packet loss data, wherein the ranges of bandwidth utilization encompass the determined bandwidth utilizations;

select, from a matrix of scoring components predefined across percentiles and bandwidth utilization ranges, a subset of predefined scoring components that corresponds to percentiles in the profile with best values of the packet loss metric across the bandwidth utilizations; and

score the first network path based, at least in part, on the subset of predefined scoring components.

9 . The non-transitory, machine-readable media of claim 8 , wherein the instructions to score the first network path comprise instructions to calculate an average of the subset of predefined scoring components and assign the average as the score for the first network path.

10 . The non-transitory, machine-readable media of claim 8 , wherein the instructions to select a subset of predefined scoring components comprise instructions to:

identify a non-zero boundary in the profile; and

select the subset of predefined scoring components based on occurrence at locations in the matrix that correspond to the non-zero boundary in the profile.

11 . The non-transitory, machine-readable media of claim 8 , wherein the instructions to build the profile for the first network path comprise instructions to:

bin values in the first time-series packet loss data by bandwidth utilization; and

determine percentiles of each bandwidth utilization bin of values.

12 . The non-transitory, machine-readable media of claim 11 , wherein the instructions to bin values by bandwidth utilization comprise the instructions to bin based on timestamps of the first time-series packet loss data and timestamps of circuit utilization data.

13 . The non-transitory, machine-readable media of claim 11 , wherein the program code further comprises instructions to order the percentiles per bandwidth utilization bin by bandwidth utilization.

14 . The non-transitory, machine-readable media of claim 8 , wherein the first network path corresponds to a circuit of a software-defined wide area network (SD-WAN) and wherein the instructions to determine utilization of bandwidth of the first network path comprise instructions to determine utilization of bandwidth of the circuit.

15 . The non-transitory, machine-readable media of claim 8 , wherein the matrix of predefined scoring components quantifies quality of a network path across different combinations of percentiles and bandwidth utilizations.

16 . An apparatus comprising:

a processor; and

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

obtain first time-series packet loss data of a first network path, wherein the first time-series packet loss data comprise a plurality of values of a packet loss metric across a time window;

determine utilization of bandwidth of the first network path for each time interval of a time granularity within the time window;

build a profile of percentiles of the packet loss metric across ranges of bandwidth utilization for the first network path with the first time-series packet loss data, wherein the ranges of bandwidth utilization encompass the determined bandwidth utilizations;

select, from a matrix of scoring components predefined across percentiles and bandwidth utilization ranges, a subset of predefined scoring components that corresponds to percentiles in the profile with best values of the packet loss metric across the bandwidth utilizations; and

score the first network path based, at least in part, on the subset of predefined scoring components.

17 . The apparatus of claim 16 , wherein the instructions to score the first network path comprise the instructions being executable by the processor to cause the apparatus to calculate an average of the subset of predefined scoring components and assign the average as the score for the first network path.

18 . The apparatus of claim 16 , wherein the instructions to select a subset of predefined scoring components comprise the instructions being executable by the processor to cause the apparatus to:

identify a non-zero boundary in the profile; and

select the subset of predefined scoring components based on occurrence at locations in the matrix that correspond to the non-zero boundary in the profile.

19 . The apparatus of claim 16 , wherein the instructions to build the profile for the first network path comprise the instructions being executable by the processor to cause the apparatus to:

bin values in the first time-series packet loss data by bandwidth utilization; and

determine percentiles of each bandwidth utilization bin of values.

20 . The apparatus of claim 19 , wherein the instructions to bin values by bandwidth utilization comprise the instructions being executable by the processor to cause the apparatus to bin based on timestamps of the first time-series packet loss data and timestamps of circuit utilization data.

21 . The apparatus of claim 19 , wherein the computer-readable medium further has stored thereon instructions executable by the processor to cause the apparatus to order the percentiles per bandwidth utilization bin by bandwidth utilization.

22 . The apparatus of claim 16 , wherein the first network path corresponds to a circuit of a software-defined wide area network (SD-WAN) and wherein the instructions to determine utilization of bandwidth of the first network path comprise the instructions being executable by the processor to cause the apparatus to determine utilization of bandwidth of the circuit.

23 . The apparatus of claim 16 , wherein the matrix of predefined scoring components quantifies quality of a network path across different combinations of percentiles and bandwidth utilizations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2024
From: REDDY, GOPAL GADEKAL
To: PALO ALTO NETWORKS, INC.
Reel/Frame 069002/0065 →
Continuity (3)
Continuation 17811603 · Jul 11, 2022
Provisional Application 63261571 · Sep 23, 2021
Related Publication 20250047579A1 · Feb 6, 2025
References Cited (59)
US 6320585B1 · Engel et al. · 2001 [cited by applicant]
US 10897424B1 · Dhanabalan et al. · 2021 [cited by applicant]
US 11108651B1 · Mermoud et al. · 2021 [cited by applicant]
US 11252106B2 · Cidon et al. · 2022 [cited by applicant]
US 11405284B1 · Evans et al. · 2022 [cited by applicant]
US 12218814B2 · Reddy · 2025 [cited by examiner]
US 20060182034A1 · Klinker et al. · 2006 [cited by applicant]
US 20090164657A1 · Li · 2009 [cited by applicant]
US 20100094950A1 · Zuckerman et al. · 2010 [cited by applicant]
US 20100142366A1 · Bugenhagen et al. · 2010 [cited by applicant]
US 20130315062A1 · Riedl et al. · 2013 [cited by applicant]
US 20130318022A1 · Yadav et al. · 2013 [cited by applicant]
US 20140068106A1 · Turlington et al. · 2014 [cited by applicant]
US 20150195171A1 · Mermoud · 2015 [cited by applicant]
US 20160142274A1 · Mulkey et al. · 2016 [cited by applicant]
US 20160218979A1 · Roh · 2016 [cited by applicant]
US 20170063705A1 · Gilson et al. · 2017 [cited by applicant]
US 20170339059A1 · Averi et al. · 2017 [cited by applicant]
US 20170366650A1 · Zhu et al. · 2017 [cited by applicant]
US 20180262414A1 · Burbridge et al. · 2018 [cited by applicant]
US 20180270141A1 · Burbridge et al. · 2018 [cited by applicant]
US 20180270144A1 · Jiang et al. · 2018 [cited by applicant]
US 20180279108A1 · So et al. · 2018 [cited by applicant]
US 20190036828A1 · Bajaj · 2019 [cited by applicant]
US 20190041835A1 · Cella · 2019 [cited by applicant]
US 20190052565A1 · Modi et al. · 2019 [cited by applicant]
US 20190081959A1 · Yadav et al. · 2019 [cited by applicant]
US 20190097912A1 · Salam · 2019 [cited by applicant]
US 20190109776A1 · Li et al. · 2019 [cited by applicant]
US 20200014619A1 · Shelar et al. · 2020 [cited by applicant]
US 20200145313A1 · Raindel et al. · 2020 [cited by applicant]
US 20200296051A1 · Huiban et al. · 2020 [cited by applicant]
US 20200344163A1 · Gupta et al. · 2020 [cited by applicant]
US 20200382429A1 · Bajaj · 2020 [cited by applicant]
US 20200389808A1 · Wong et al. · 2020 [cited by applicant]
US 20200391766A1 · Wang · 2020 [cited by examiner]
US 20210092062A1 · Dhanabalan et al. · 2021 [cited by applicant]
US 20210144082A1 · Bisht et al. · 2021 [cited by applicant]
US 20210320854A1 · King, V et al. · 2021 [cited by applicant]
US 20220006740A1 · Tourrilhes et al. · 2022 [cited by applicant]
US 20220038332A1 · Umakanth et al. · 2022 [cited by applicant]
US 20230088062A1 · Reddy · 2023 [cited by applicant]
US 20230091734A1 · Reddy · 2023 [cited by applicant]
US 20230099723A1 · Reddy · 2023 [cited by applicant]
US 20230101314A1 · Reddy · 2023 [cited by applicant]
US 20230105896A1 · Bienas et al. · 2023 [cited by applicant]
US 20240195733A1 · Sanvito et al. · 2024 [cited by applicant]
EP 1811683A2 · 2007 [cited by applicant]
WO 2008001157A1 · 2008 [cited by applicant]
U.S. Appl. No. 17/811,627, Notice of Allowance mailed Aug. 11, 2025, 15 pages. [cited by applicant]
U.S. Appl. No. 17/811,620, Final Office Action mailed May 9, 2025, 26 pages. [cited by applicant]
U.S. Appl. No. 17/811,627, Non-Final Office Action mailed Mar. 6, 2025, 11 pages. [cited by applicant]
“ML | Binning or Discretization”, GeeksforGeeks, Articles published in Jun., Jul., and Aug. 2021. Retrieved on May 2, 2025 via the Wayback Machine archive <https://web.archive.org/web/20210801041638/https://www.geeksfor… [cited by applicant]
Martin, et al., “Delay-Based Congestion Avoidance for TCP”, IEEE/ACM Transactions on Networking, vol. 11, Iss. 3, Jun. 2003, 14 pages. [cited by applicant]
Popescu, “Latency-driven performance in data centres”, Ph.D. thesis (University of Cambridge, 2019 repository.cam.ac.uk), 192 pages. [cited by applicant]
EP Application No. 22197084.1, Extended European Search Report mailed Feb. 3, 2023, 8 pages. [cited by applicant]
U.S. Appl. No. 17/811,608, Office Action mailed Dec. 14, 2023, 8 pages. [cited by applicant]
U.S. Appl. No. 17/811,620, Non-Final Office Action mailed Dec. 6, 2024, 22 pages. [cited by applicant]
“Math is Fun on Percentage Change”, Retrieved from https://web.archive.org/web/20210408035221/https://www.mathsisfun.com/ numbers/percentage-change.html (Year: 2021). [cited by applicant]