IP Library › Granted Patent US 12,206,560
Granted Patent B2
US 12,206,560 · App. 18/447,789 · Granted Jan 21, 2025

Automatic and dynamic performance benchmarking and scoring of applications based on crowdsourced traffic data

Inventors: John Bothe (Mount Eliza, AU); Hristos Siakou (Ivanhoe East, AU); Con Nikolouzakis (Doncaster, AU)
Assignee: Palo Alto Networks, Inc.
H04L43/022H04L43/04H04L43/062H04L43/0876H04L43/12H04L43/16
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,206,560
App. No.
18/447,789
Granted
Jan 21, 2025
Kind
B2
Abstract

The disclosure describes various aspects of crowdsourcing traffic data for automatic and dynamic benchmarking of applications. In an aspect, an intelligence layer, communicatively coupled to a data collection layer and a visualization layer, is configured to receive traffic data from data sources (e.g., physical appliances, probes) in the data collection layer, the data sources being associated with multiple customers, and the traffic data being associated with at least one application (e.g., word processing, video streaming) used by the multiple customers. The intelligence layer is a cloud-based layer further configured to process the traffic data to determine performance thresholds for the at least one application, and may send one or more of the performance thresholds to a data source for a different customer to be used for benchmarking the at least one application for the different customer.

Claims (33)

1. A method comprising:

collecting over time, from networks of a plurality of customers, traffic data associated with a set of one or more applications used by the plurality of customers;

determining performance thresholds for the set of applications based on the collected traffic data and periodically updating the performance thresholds based on collecting the traffic data over time; and

based on a request from a first customer to benchmark performance of a first of the set of applications, providing updated performance thresholds of the first application to the first customer and benchmarking performance of the first application for the first customer with respect to the updated performance thresholds.

2. The method of claim 1 , wherein the updated performance thresholds account for at least one of application changes and conditions in which an application operates.

3. The method of claim 1 , wherein collecting the traffic data comprises collecting the traffic data from probes deployed at data sources of the plurality of customers.

4. The method of claim 3 , wherein the data sources comprise at least one of a public cloud data source, a software-defined network (SDN) data source, network as a service (NaaS) data source, a virtual network function (VNF) data source on universal customer premises equipment (uCPE), a VNF data source on a virtual appliance, and a physical appliance data source.

5. The method of claim 3 , wherein a probe comprises at least one of a virtual network function (VNF), a software agent, a physical appliance, and a microservice.

6. The method of claim 1 , wherein benchmarking performance of the first application for the first customer comprises determining an index value indicative of performance of the first application for the first customer relative to the performance thresholds.

7. The method of claim 1 , wherein benchmarking performance of the first application for the first customer comprises benchmarking performance of the first application at each of multiple sites of the first customer with respect to the updated performance thresholds.

8. The method of claim 1 , further comprising segmenting the traffic data, wherein providing updated performance thresholds of the first application comprises determining a segment of the first customer and providing updated performance thresholds based on collected traffic data of those of the plurality of customers in the same segment.

9. The method of claim 1 , wherein the plurality of customers includes the first customer.

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

collect over time, from networks of a plurality of customers, traffic data associated with a set of one or more applications used by the plurality of customers;

determine performance thresholds for the set of applications based on the collected traffic data and periodically update the performance thresholds based on collecting the traffic data over time; and

based on a request from a first customer to benchmark performance of a first of the set of applications, provide updated performance thresholds of the first application to the first customer and benchmark performance of the first application for the first customer with respect to the updated performance thresholds.

11. The non-transitory, machine-readable medium of claim 10 , wherein the updated performance thresholds account for at least one of application changes and conditions in which an application operates.

12. The non-transitory, machine-readable medium of claim 10 , wherein the instructions to collect the traffic data comprise instructions to collect the traffic data from probes deployed at data sources of the plurality of customers.

13. The non-transitory, machine-readable medium of claim 12 ,

wherein the data sources comprise at least one of a public cloud data source, a software-defined network (SDN) data source, network as a service (NaaS) data source, a virtual network function (VNF) data source on universal customer premises equipment (uCPE), a VNF data source on a virtual appliance, and a physical appliance data source, and

wherein a probe comprises at least one of a virtual network function (VNF), a software agent, a physical appliance, and a microservice.

14. The non-transitory, machine-readable medium of claim 10 , wherein the instructions to benchmark performance of the first application for the first customer comprise instructions to determine an index value indicative of performance of the first application for the first customer relative to the performance thresholds.

15. The non-transitory, machine-readable medium of claim 10 , wherein the instructions to benchmark performance of the first application for the first customer comprise instructions to benchmark performance of the first application at each of multiple sites of the first customer with respect to the updated performance thresholds.

16. The non-transitory, machine-readable medium of claim 10 , wherein the program code further comprises instructions to segment the traffic data, wherein the instructions to provide updated performance thresholds of the first application comprise instructions to determine a segment of the first customer and provide updated performance thresholds based on collected traffic data of those of the plurality of customers in the same segment.

17. The non-transitory, machine-readable medium of claim 10 , wherein the plurality of customers includes the first customer.

18. 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,

collect over time, from networks of a plurality of customers, traffic data associated with a set of one or more applications used by the plurality of customers;

determine performance thresholds for the set of applications based on the collected traffic data and periodically update the performance thresholds based on collecting the traffic data over time; and

based on a request from a first customer to benchmark performance of a first of the set of applications, provide updated performance thresholds of the first application to the first customer and benchmark performance of the first application for the first customer with respect to the updated performance thresholds.

19. The apparatus of claim 18 , wherein the instructions to benchmark performance of the first application for the first customer comprise instructions executable by the processor to cause the apparatus to determine an index value indicative of performance of the first application for the first customer relative to the performance thresholds.

20. The apparatus of claim 18 , wherein the instructions to wherein the instructions to benchmark performance of the first application for the first customer comprise instructions executable by the processor to cause the apparatus to benchmark performance of the first application at each of multiple sites of the first customer with respect to the updated performance thresholds.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2023
From: BOTHE, JOHN; SIAKOU, HRISTOS; NIKOLOUZAKIS, CON
To: PALO ALTO NETWORKS, INC.
Reel/Frame 064555/0518 →
Continuity (3)
Continuation 16840151 · Apr 3, 2020
Provisional Application 62829861 · Apr 5, 2019
Related Publication 20230388203A1 · Nov 30, 2023
References Cited (53)
US 5245498A · Uchida et al. · 1993 [cited by applicant]
US 5819066A · Bromberg et al. · 1998 [cited by applicant]
US 6754612B1 · Vanfladern et al. · 2004 [cited by applicant]
US 8332263B2 · Ramesh et al. · 2012 [cited by applicant]
US 8335661B1 · Satish · 2012 [cited by applicant]
US 8626545B2 · Van Pelt et al. · 2014 [cited by applicant]
US 8718910B2 · Guéziec · 2014 [cited by applicant]
US 8745617B1 · Stekkelpak et al. · 2014 [cited by applicant]
US 8930123B2 · Srivastava · 2015 [cited by applicant]
US 9047774B2 · Tseng et al. · 2015 [cited by applicant]
US 9124498B2 · Jung et al. · 2015 [cited by applicant]
US 9240082B2 · Marathe et al. · 2016 [cited by applicant]
US 9508202B2 · Marathe et al. · 2016 [cited by applicant]
US 9762461B2 · Raghunathan et al. · 2017 [cited by applicant]
US 9967278B2 · Jevans et al. · 2018 [cited by applicant]
US 10037393B1 · Polovick et al. · 2018 [cited by applicant]
US 10063406B2 · Tapia · 2018 [cited by examiner]
US 10097576B2 · Jevans et al. · 2018 [cited by applicant]
US 10248657B2 · Prahlad · 2019 [cited by examiner]
US 10523554B2 · Bugenhagen · 2019 [cited by examiner]
US 10534819B2 · Ricci · 2020 [cited by examiner]
US 10554508B2 · Boerner et al. · 2020 [cited by applicant]
US 10592378B1 · Tali et al. · 2020 [cited by applicant]
US 10706473B2 · Vaidyanathan et al. · 2020 [cited by applicant]
US 10979875B2 · Dai · 2021 [cited by examiner]
US 11093518B1 · Lu · 2021 [cited by examiner]
US 11470096B2 · Muddu · 2022 [cited by examiner]
US 11641319B2 · Richards · 2023 [cited by examiner]
US 11770311B2 · Bothe · 2023 [cited by examiner]
US 20050091102A1 · Oleson et al. · 2005 [cited by applicant]
US 20140039985A1 · Oleson et al. · 2014 [cited by applicant]
US 20140082047A1 · Krannich · 2014 [cited by applicant]
US 20140201714A1 · Vaidyan et al. · 2014 [cited by applicant]
US 20140380413A1 · Archer et al. · 2014 [cited by applicant]
US 20150154867A1 · Tseng et al. · 2015 [cited by applicant]
US 20170161281A1 · Bhartia et al. · 2017 [cited by applicant]
US 20170178045A1 · Wasik et al. · 2017 [cited by applicant]
US 20170264749A1 · Wu et al. · 2017 [cited by applicant]
US 20170353482A1 · Sommer · 2017 [cited by applicant]
US 20180121657A1 · Hay et al. · 2018 [cited by applicant]
US 20180359277A1 · Jevans et al. · 2018 [cited by applicant]
US 20190036828A1 · Bajaj · 2019 [cited by applicant]
US 20190114570A1 · Prasad · 2019 [cited by applicant]
US 20190325307A1 · Li et al. · 2019 [cited by applicant]
US 20200065736A1 · Relangi · 2020 [cited by applicant]
US 20200151080A1 · Adler et al. · 2020 [cited by applicant]
US 20200242000A1 · Khosrowpour et al. · 2020 [cited by applicant]
US 20200304381A1 · Wang et al. · 2020 [cited by applicant]
US 20210004913A1 · Eder · 2021 [cited by applicant]
US 20210019247A1 · Hurley et al. · 2021 [cited by applicant]
US 20210064401A1 · Vichare et al. · 2021 [cited by applicant]
US 20210119890A1 · Richards · 2021 [cited by examiner]
US 20210319402A1 · Ramaswamy et al. · 2021 [cited by applicant]