IP Library › Granted Patent US 12,627,586
Granted Patent B2
US 12,627,586 · App. 18/341,926 · Granted May 12, 2026

Proxied testing and stitching of results for reduced traffic synthetic testing

Inventors: John Edward Bothe (Mount Eliza, AU); Hristos Siakou (Ivanhoe East, AU)
Assignee: Palo Alto Networks, Inc.
H04L43/50H04L43/087H04L43/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 12,627,586
App. No.
18/341,926
Granted
May 12, 2026
Kind
B2
Abstract

Application and network tests executed for paths between endpoints and an application are proxied to reduce network traffic sent to application as part of synthetic testing. Testing for each endpoint behind a network element or security component acting as a test proxy for a path between the endpoint to the application is split into two segments: a segment from each endpoint to the test proxy, and a segment from the test proxy to the application. A service obtains test results from agents executing on the endpoints and the test proxy and “stitches” the results of each segment together to generate test results for the path from endpoint to application. Stitching refers to aggregating, combining, or otherwise joining the results obtained for each path segment to generate a set of test results for the path. The manner of stitching can vary depending on test type and/or types of performance metrics collected.

Claims (69)

1 . A method comprising:

obtaining, from an endpoint device, first test results generated based on testing performed for a first segment of an end-to-end path from the endpoint device to an application,

wherein the first segment of the end-to-end path corresponds to a path from the endpoint device to a test proxy,

wherein the test proxy comprises at least one of a network element and a security component along the end-to-end path;

obtaining, from the test proxy, second test results generated based on testing performed for a second segment of the end-to-end path from the endpoint device to the application,

wherein the second segment of the end-to-end path corresponds to a path from the test proxy to the application;

generating end-to-end test results for the end-to-end path from the endpoint device to the application based on stitching together the first test results corresponding to the first segment of the end-to-end path and the second test results corresponding to the second segment of the end-to-end path, wherein stitching the first and second test results comprises at least one of combining subsets of the first and second test results and combining values indicated in the first and second test results; and

indicating the end-to-end test results as results of testing performed for the end-to-end path from the endpoint device to the application.

2 . The method of claim 1 ,

wherein the first test results comprise a first path trace for the first segment of the path and the second test results comprise a second path trace for the second segment of the path, and

wherein stitching together the first and second test results comprises combining the first path trace and the second path trace to generate a combined path trace for the path from the endpoint device to the application.

3 . The method of claim 1 ,

wherein the first test results comprise a first performance metric value collected for the first segment of the path and the second test results comprise a second performance metric value collected for the second segment of the path, and

wherein stitching together the first and second test results comprises at least one of combining the first and second performance metric values and determining a representative one of the first and second performance metric values to generate a third performance metric value.

4 . The method of claim 3 , wherein the first and second performance metric values comprise a first latency measured for the first segment of the path and a second latency measured for the second segment of the path, wherein combining the first and second performance metric values comprises aggregating the first and second latencies to generate an aggregate latency, and wherein indicating the end-to-end test results comprises indicating the aggregate latency as a latency of the path from the endpoint device to the application.

5 . The method of claim 3 , wherein the first and second performance metric values comprise first and second jitter values, wherein combining the first and second performance metric values comprises determining a pooled standard deviation based on the first and second jitter values.

6 . The method of claim 3 , wherein the first and second performance metric values comprise first and second packet loss values, wherein determining the representative one of the first and second performance metric values comprises determining which of the first and second packet loss values is greater and designating the greater one of the first and second packet loss values as representative of packet loss for the path.

7 . The method of claim 1 ,

wherein the second test results comprise a latency associated with requesting a resource of the application,

wherein stitching together the first and second test results comprises adjusting the latency with a delay factor determined based on at least one of the first test results and the second test results to generate an adjusted latency, and

wherein indicating the end-to-end test results comprises indicating the adjusted latency as a latency associated with requesting a resource of the application from the endpoint device.

8 . The method of claim 7 further comprising determining a value of the delay factor based on at least one of a first latency indicated in the first test results and a second latency indicated in the second test results, wherein adjusting the latency comprises multiplying the latency and the value of the delay factor.

9 . The method of claim 1 , wherein a first agent executing on the endpoint device generated the first test results for the first segment and a second agent executing on the test proxy generated the second test results for the second segment, wherein obtaining the first test results comprises obtaining the first test results from the endpoint device comprises obtaining the first test results from the first agents, and wherein obtaining the second test results from the test proxy comprises obtaining the second test results from the second agent.

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

obtain, from a plurality of test sources, a plurality of first sets of results of performance testing for first paths from the plurality of test sources to a security component or a network element, wherein each of the first paths is a first segment of a path from a respective one of the plurality of test sources and an application;

obtain, from the security component or network element, a second set of results of performance testing for a second path from the security component or network element to the application, wherein the second path is a second segment of each path from one of the plurality of test sources to the application; and

for each test source of the plurality of test sources and corresponding first set of results of the plurality of first sets of results,

generate a set of end-to-end results from the first set of results and the second set of results based on stitching together the first set of results for a corresponding one of the first paths and the second set of results corresponding to the second path, wherein the instructions to stitch together the first and second sets of results comprise at least one of instructions to combine subsets of the first and second sets of results and instructions to combine values in the first and second sets of results; and

indicate the set of end-to-end results as results of testing performance for the path from the test source to the application.

11 . The non-transitory machine-readable media of claim 10 ,

wherein the first set of results comprises a first performance metric value collected for a corresponding one of the first paths,

wherein the second set of results comprises a second performance metric value collected for the path from the security component or network element to the application, and

wherein the instructions to stitch together the first and second sets of results comprise instructions to combine the first performance metric value and the second performance metric value.

12 . The non-transitory machine-readable media of claim 11 ,

wherein the first performance metric value comprises a first latency and the second performance metric value comprises a second latency, and

wherein the instructions to combine the first and second performance metric values comprise instructions to aggregate the first and second latencies to generate an aggregate latency.

13 . The non-transitory machine-readable media of claim 10 ,

wherein the first set of results comprises a first path trace for a corresponding one of the first paths from the test source to the security component or network element,

wherein the second set of results comprises a second path trace for the path from the security component or network element to the application,

wherein the instructions to stitch together the first and second sets of results comprise instructions to combine the first path trace and the second path trace to generate a combined path trace for the path from the test source to the application.

14 . A system comprising:

a processor; and

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

based on testing performed for a plurality of paths from a corresponding plurality of endpoint devices to a test destination,

obtain, from the plurality of endpoint devices, a plurality of first sets of results of tests performed for a plurality of first paths from the plurality of endpoint devices to a test proxy,

wherein each of the plurality of first paths is a first segment of one of the plurality of paths from a respective one of the plurality of endpoint devices to the test proxy,

wherein the test proxy comprises a network element or a security component; and

obtain, from the test proxy, a second set of results of tests performed for a second path from the test proxy to the test destination, wherein the second path is a second segment of each of the plurality of paths; and

for each endpoint device of the plurality of endpoint devices and corresponding first set of results of the plurality of first sets of results,

stitch together the first set of results and the second set of results to generate a set of end-to-end results based on stitching together at least one of subsets of the first and second sets of results into a single set and values in the first and second sets of results into a single value; and

indicate the set of end-to-end results as results of testing network performance for a corresponding one of the plurality of paths from the endpoint device to the test destination.

15 . The system of claim 14 ,

wherein the first set of results comprises a first performance metric value collected for a corresponding one of the plurality of first paths,

wherein the second set of results comprises a second performance metric value collected for the second path, and

wherein the instructions executable by the processor to cause the system to stitch together the first and second sets of results comprise instructions executable by the processor to cause the system to determine a third performance metric value based on the first and second performance metric values.

16 . The system of claim 15 ,

wherein the first performance metric value comprises a first latency and the second performance metric value comprises a second latency, and

wherein the instructions executable by the processor to cause the system to determine the third performance metric value based on the first and second performance metric values comprise instructions executable by the processor to cause the system to determine an aggregate latency based on aggregation of the first and second latencies.

17 . The system of claim 15 ,

wherein the first performance metric value comprises a first jitter value and the second performance metric value comprises a second jitter value, and

wherein the instructions executable by the processor to cause the system to determine the third performance metric value based on the first and second performance metric values comprise instructions executable by the processor to cause the system to determine a pooled standard deviation based on the first and second jitter values.

18 . The system of claim 14 ,

wherein the second set of results comprises a latency associated with requesting a resource of the test destination, and

wherein the instructions executable by the processor to cause the system to stitch together the first and second sets of results comprise instructions executable by the processor to cause the system to adjust the latency by a delay factor having a value determined based on at least one of the first set of results and the second set of results to generate an adjusted latency.

19 . The system of claim 18 , further comprising instructions executable by the processor to cause the system to determine the value of the delay factor based on one or more performance metric values indicated by the first set of results, wherein the instructions executable by the processor to cause the system to adjust the latency by the delay factor comprise instructions executable by the processor to cause the system to multiply the latency and the value of the delay factor.

20 . The system of claim 14 ,

wherein the first set of results comprises a first path trace for a corresponding one of the plurality of first paths from the endpoint device to the test proxy,

wherein the second set of results comprises a second path trace for the second path from the test proxy to the test destination, and

wherein the instructions to stitch together the first and second sets of results comprise instructions to combine the first and second path traces to generate a path trace for the path from the endpoint device to the test destination.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 27, 2023
From: BOTHE, JOHN EDWARD; SIAKOU, HRISTOS
To: PALO ALTO NETWORKS, INC.
Reel/Frame 064075/0756 →
Continuity (1)
Related Publication 20250007813A1 · Jan 2, 2025
References Cited (11)
US 10834265B1 · Antunes · 2020 [cited by examiner]
US 10892964B2 · Sharma et al. · 2021 [cited by applicant]
US 20100077365A1 · Shulmister, Jr. · 2010 [cited by examiner]
US 20170005887A1 · Lad et al. · 2017 [cited by applicant]
US 20200204448A1 · Nataraj · 2020 [cited by examiner]
US 20200213210A1 · Dam · 2020 [cited by examiner]
US 20230033521A1 · Oliveira · 2023 [cited by examiner]
US 20230246927A1 · Siakou · 2023 [cited by examiner]
US 20240406095A1 · Mermoud · 2024 [cited by examiner]
US 20250023797A1 · Oliveira · 2025 [cited by examiner]
WO WO2023009851A1 · 2023 [cited by examiner]