IP Library Granted Patent US 12,363,020
Granted Patent B2
US 12,363,020 · App. 17/715,704 · Granted Jul 15, 2025

Generating synthetic transactions with packets

Inventors: Paul Barrett (Westford, MA); Bruce Kosbab (Colorado Springs, CO); Anil Singhal (Carlisle, MA); Robert Vogt (Colorado Springs, CO)
Assignee: NetScout Systems, Inc.
H04L43/55
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,363,020
App. No.
17/715,704
Granted
Jul 15, 2025
Kind
B2
Abstract

Generating synthetic transactions with packets is provided. A synthetic transaction generator can store, in a packet capture trace file, packets corresponding to a test of a service provided through a network. The synthetic transaction generator can transmit the packet capture trace file to a data processing system to cause the data processing system to play or analyze the packet capture trace file to evaluate the performance of the service provided by the service provider.

Claims (49)

1. A method to monitor performance of services, the method comprising:

initiating, by a synthetic transaction generator executed by one or more processors of a first device, a packet capture application for a test of a service provided over a network, the test of the service to occur while one or more second devices communicate with the service;

transmitting, by the synthetic transaction generator, responsive to initiating the packet capture application, one or more data packets that represent synthetic transactions, wherein the one or more data packets are encrypted by the synthetic transaction generator using key material such that the one or more data packets include first metadata to ( 1 ) identify the synthetic transaction generator and ( 2 ) indicate the test of the service;

identifying, by the synthetic transaction generator, the one or more data packets from a plurality of data packets transmitted across the network, the one or more data packets identified responsive to detecting the first metadata;

storing, by the synthetic transaction generator, responsive to identifying the one or more data packets, the one or more data packets in a packet capture trace file, the packet capture trace file including (i) time stamps corresponding to receipt of the one or more data packets, (ii) an identifier of the synthetic transaction generator, and (iii) second metadata to indicate the key material used to encrypt the one or more data packets;

terminating, by the synthetic transaction generator, the packet capture application responsive to completion of the test of the service; and

transmitting, by the synthetic transaction generator responsive to terminating the packet capture application, the packet capture trace file to a data processing system to cause the data processing system to use the packet capture trace file to determine a performance of the service.

2. The method of claim 1 , comprising:

filtering, by the synthetic transaction generator, one or more second data packets of the plurality of data packets to prevent storage of the one or more second data packets in the packet capture trace file that do not correspond to the test of the service.

3. The method of claim 1 , comprising:

launching, by the first device comprising the one or more processors, a virtual machine;

and executing, by the virtual machine, the synthetic transaction generator.

4. The method of claim 1 , comprising:

establishing, by the first device comprising the one or more processors, a container on an operating system of the first device, the operating system configured to run a plurality of client applications outside the container, wherein the container comprises code to execute the synthetic transaction generator in a standalone format; and

executing, by the first device, the synthetic transaction generator in the container.

5. The method of claim 1 , comprising:

storing, by the synthetic transaction generator, each of the one or more data packets with information about an Internet Service Provider associated with the one or more processors, a location of the one or more processors, and the identifier of the synthetic transaction generator.

6. The method of claim 1 , comprising:

prior to initiation of the test of the service, clearing, by the synthetic transaction generator, a log file of a proxy application used to conduct the test; and

updating, by the synthetic transaction generator, the log file with key information.

7. The method of claim 6 , comprising:

transmitting, by the synthetic transaction generator to the data processing system responsive to completion of the test of the service, the packet capture trace file with the log file, and the identifier of the synthetic transaction generator.

8. The method of claim 7 , comprising:

decrypting, by the data processing system, the packet capture trace file using the key information stored in the log file to generate a second packet capture file comprising decrypted packets; and

playing, by the data processing system, the decrypted packets of the second packet capture file.

9. The method of claim 1 , comprising:

modifying, by the data processing system, an internet protocol (“IP”) address of each of the one or more data packets stored in the packet capture trace file based on an IP address of an Internet Service Provider of the first device; and

playing, by the data processing system, the one or more data packets of the packet capture trace file having the modified IP address.

10. The method of claim 1 , comprising:

playing, by the data processing system, the packet capture trace file in real-time by maintaining time intervals between data packets of the one or more data packets of the packet capture trace file.

11. The method of claim 1 , wherein the service is hosted by a service provider system that is different and remote from the data processing system and the one or more processors.

12. A system to replay synthetic transactions to manage performance of services, comprising:

one or more processors and memory; and

a synthetic transaction generator executed by the one or more processors to:

initiate a packet capture application for a test of a service provided over a network, the test of the service to occur while one or more devices communicate with the service;

transmit, responsive to initiation of the packet capture application, one or more data packets that represent the synthetic transactions, wherein the one or more data packets are encrypted by the synthetic transaction generator using key material such that the one or more data packets include first metadata to (1) identify the synthetic transaction generator and (2) indicate the test of the service;

identify the one or more data packets from a plurality of data packets transmitted across the network, the one or more data packets identified responsive to detection of the first metadata;

store, responsive to identification of the one or more data packets, the one or more data packets in a packet capture trace file, the packet capture trace file including (i) time stamps corresponding to receipt of the one or more data packets, (ii) an identifier of the synthetic transaction generator, and (iii) second metadata to indicate the key material used to encrypt the one or more data packets;

terminate the packet capture application responsive to completion of the test of the service; and

transmit, responsive to termination of the packet capture application, the packet capture trace file to a data processing system to cause the data processing system to use the packet capture trace file to determine a performance of the service.

13. The system of claim 12 , wherein the synthetic transaction generator is further configured to:

filter one or more second data packets of the plurality of data packets to prevent storage of the one or more data packets in the packet capture trace file that do not correspond to the test of the service provided through the network.

14. The system of claim 12 , wherein the synthetic transaction generator is further configured to:

store each of the one or more data packets with information about an Internet Service Provider associated with the one or more processors, a location of the one or more processors, and the identifier of the synthetic transaction generator.

15. The system of claim 12 , wherein the synthetic transaction generator is further configured to:

clear, prior to initiation of the test of the service, a log file of a test application; and

update the log file with key information.

16. The system of claim 15 , wherein the synthetic transaction generator is further configured to:

transmit, to the data processing system responsive to completion of the test of the service, the packet capture trace file with the log file, and the identifier of the synthetic transaction generator.

Assignments (3)
SECURITY INTEREST Recorded Oct 22, 2024
From: NETSCOUT SYSTEMS, INC.; ARBOR NETWORKS LLC; NETSCOUT SYSTEMS TEXAS, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 069216/0007 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2023
From: SINGHAL, ANIL
To: NETSCOUT SYSTEMS, INC.
Reel/Frame 062973/0490 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2022
From: BARRETT, PAUL; KOSBAB, BRUCE; VOGT, ROBERT
To: NETSCOUT SYSTEMS, INC.
Reel/Frame 060832/0881 →
Continuity (2)
Provisional Application 63173007 · Apr 9, 2021
Related Publication 20220329510A1 · Oct 13, 2022
References Cited (27)
US 10033069B2 · Ramani · 2018 [cited by examiner]
US 20010050903A1 · Vanlint · 2001 [cited by examiner]
US 20030046388A1 · Milliken · 2003 [cited by examiner]
US 20040054680A1 · Kelley et al. · 2004 [cited by applicant]
US 20070150568A1 · Ruiz · 2007 [cited by applicant]
US 20070266045A1 · Bansal · 2007 [cited by examiner]
US 20070266148A1 · Ruiz et al. · 2007 [cited by applicant]
US 20090156314A1 · Kim · 2009 [cited by applicant]
US 20090240765A1 · Wiles, Jr. · 2009 [cited by applicant]
US 20120084605A1 · Shilon · 2012 [cited by examiner]
US 20130343390A1 · Moriarty · 2013 [cited by examiner]
US 20140149572A1 · Menezes et al. · 2014 [cited by applicant]
US 20140160941A1 · Hui · 2014 [cited by examiner]
US 20140297844A1 · Kancherla · 2014 [cited by examiner]
US 20140310392A1 · Ho · 2014 [cited by applicant]
US 20160301732A1 · Moretto · 2016 [cited by examiner]
US 20170180235A1 · Zak · 2017 [cited by examiner]
US 20170214702A1 · Moscovici · 2017 [cited by examiner]
US 20180006816A1 · Taub · 2018 [cited by examiner]
US 20190097893A1 · Angoulvant et al. · 2019 [cited by applicant]
WO WO2021190771A1 · 2021 [cited by applicant]
Ghobadi et al. “Caliper: Precise and responsive traffic generator.” 2012 IEEE 20th Annual Symposium on High-Performance Interconnects. [cited by applicant]
Taylor et al. “Classbench: A packet classification benchmark.” IEEE Acm transactions on networking Jun. 18, 2007 (pp. 499-511). [cited by applicant]
Australian Examination Report on AU 2022253898 Dtd Sep. 10, 2024. [cited by applicant]
Foreign Search Report on EP Dtd Nov. 21, 2024. [cited by applicant]
Foreign Action other than Search Report on AU DTD Nov. 21, 2023. [cited by applicant]
Foreign Action other than Search Report on PCT DTD Oct. 19, 2023. [cited by applicant]