IP Library › Granted Patent US 12,724,688
Granted Patent B2
US 12,724,688 · App. 18/341,130 · Granted Sep 1, 2026

Chaos event testing using simulated traffic feed and chaos events simultaneously

Inventors: Erik James Anderson (Pittsburgh, PA); Connor Daniel Thompson (Pittsburgh, PA); Rocio Milagros Roman Siuce (Sacramento, CA); Jonathan DuComb Edwards (Pittsburgh, PA); Michael Robert William Minella (Pittsburgh, PA)
Assignee: The PNC Financial Services Group, Inc.
G06F11/3608G06F11/3698
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,724,688
App. No.
18/341,130
Filed
Jun 26, 2023
Granted
Sep 1, 2026
Kind
B2
Art Unit
2192
USPC
717/135
Abstract

Computer systems and methods perform a chaos experiment for a target application. The computer system: (i) generates, for the chaos experiment, a simulated traffic stream for a non-production version of the target application; (iii) provides chaos event settings for one or more chaos conditions to the non-production version of the target application; (iv) executes the non-production version of the target application during the chaos experiment, such that the non-production version of the target application, during the chaos experiment, (a) generates responses to the simulated traffic stream while simultaneously (b) being subject to the one or more chaos conditions of the chaos event settings; and (iv) monitors the responses generated by the non-production version of the target application during the chaos testing.

Claims (78)

1 . A computer system for performing a chaos experiment for a target application, the computer system comprising:

one or more processors; and

computer memory in communication with the one or more processors, wherein the computer memory stores instructions that when executed by the one or more processors, causes the one or more processors to:

generate, for the chaos experiment, a simulated traffic stream for a non-production version of the target application based on a simulated traffic condition, wherein the simulated traffic condition is selected by a user from a plurality of simulated traffic scenarios, wherein the simulated traffic stream simulates a historical traffic stream for a production version of the target application, and wherein the historical traffic stream comprises a learned traffic pattern defined within an upper and lower bound of at least one of a peak number of transactions per second or a peak number of users for the target application;

provide chaos event settings for one or more chaos conditions to the non-production version of the target application;

execute the non-production version of the target application during the chaos experiment, such that the non-production version of the target application, during the chaos experiment, (i) generates responses to the simulated traffic stream while simultaneously (ii) being subject to the one or more chaos conditions, wherein the simulated traffic stream and the one or more chaos conditions are executed in a coordinated manner based on declarative user-defined parameters; and

monitor the responses generated by the non-production version of the target application during the chaos experiment.

2 . The computer system of claim 1 , wherein:

the declarative user-defined parameters comprise chaos condition parameters; and

the computer memory further stores instructions that when executed by the one or more processors, causes the one or more processors to:

generate a declarative YAML file defining the chaos condition parameters for the one or more chaos conditions for the chaos experiment for the target application, wherein the chaos condition parameters for the one or more chaos conditions are based on a user input for the chaos experiment; and

provide the chaos event settings to the non-production version of the target application based on the chaos condition parameters from the declarative YAML file.

3 . The computer system of claim 2 , wherein the declarative user-defined parameters comprise custom traffic stream conditions, wherein the computer memory further stores instructions that when executed by the one or more processors, causes the one or more processors to generate the simulated traffic stream from a Java Management Extensions (JMX) script for the target application based on the custom traffic stream conditions.

4 . The computer system of claim 3 , wherein:

the simulated traffic stream comprises Hypertext Transfer Protocol (HTTP) requests; and

the responses generated by the non-production version of the target application comprise HTTP status codes.

5 . The computer system of claim 4 , the one or more chaos conditions comprises a condition selected from the group consisting of:

central processing unit (CPU) stress for a container for the target application;

network loss for the container for the target application;

memory stress for the container for the target application;

Domain Name System (DNS) spoof for a pod for the target application;

container kill for the container for the target application;

network latency for the container for the target application; and

pod failure for the pod for the target application.

6 . The computer system of claim 1 , wherein the target application comprises a containerized application.

7 . The computer system of claim 1 , wherein the target application comprises an application running on a virtual machine.

8 . The computer system of claim 1 , wherein:

the simulated traffic stream comprises HTTP requests; and

the responses generated by the non-production version of the target application comprise HTTP status codes.

9 . The computer system of claim 1 , wherein the one or more chaos conditions comprises a condition selected from the group consisting of:

CPU stress for a container for the target application;

network loss for the container for the target application;

memory stress for the container for the target application;

DNS spoof for a pod for the target application;

container kill for the container for the target application;

network latency for the container for the target application; and

pod failure for the pod for the target application.

10 . A computer system for performing a chaos experiment for a target application, the computer system comprising:

means for generating, for the chaos experiment, a simulated traffic stream for a non-production version of the target application based on a simulated traffic condition, wherein the simulated traffic condition is selected by a user from a plurality of possible simulated traffic scenarios, and wherein the plurality of possible simulated traffic scenarios comprises a learned traffic stream based on monitoring of a production version of the target application,

and wherein the learned traffic stream is defined within at least one of an upper and lower bound of a peak number of users for the target application or an upper and lower bound of a peak number of transactions per second; and

means for providing chaos event settings for one or more chaos conditions to the non-production version of the target application,

wherein during the chaos experiment, the non-production version of the target application is executed by the computer system such that the non-production version of the target application, during the chaos experiment, (i) generates responses to the simulated traffic stream while simultaneously (ii) being subject to the one or more chaos conditions, wherein the simulated traffic stream and the chaos conditions are executed in a coordinated manner based on declarative user-defined parameters.

11 . A computer-implemented method for performing a chaos experiment for a target application, the method comprising:

receiving, for the chaos experiment, by a computer system that comprises one or more processors, a signal indicative of a user selection corresponding to a simulated traffic condition selected by a user;

generating, for the chaos experiment, with the computer system, a simulated traffic stream for a non-production version of the target application based on the simulated traffic condition, wherein the simulated traffic stream simulates a historical traffic stream for a production version of the target application, and wherein the historical traffic stream comprises a learned traffic pattern defined within an upper and lower bound of at least one of a peak number of transactions per second or a peak number of users for the target application;

providing, by the computer system, chaos event settings for one or more chaos conditions to the non-production version of the target application;

executing, by the computer system, the non-production version of the target application during the chaos experiment, such that the non-production version of the target application, during the chaos experiment, (i) generates responses to the simulated traffic stream while simultaneously (ii) being subject to the one or more chaos conditions, wherein the simulated traffic stream and the chaos conditions are executed in a coordinated manner based on declarative user-defined parameters; and

monitoring, by the computer system, the responses generated by the non-production version of the target application during the chaos experiment.

12 . The method of claim 11 , wherein:

the declarative user-defined parameters comprise chaos condition parameters; and

providing the chaos event settings to the non-production version of the target application comprises:

generating a declarative YAML file defining the chaos condition parameters for the one or more chaos conditions for the chaos experiment for the target application, wherein the chaos condition parameters for the one or more chaos conditions are based on a user input for the chaos experiment; and

providing the chaos event settings to the non-production version of the target application based on the chaos condition parameters from the declarative YAML file.

13 . The method of claim 12 , wherein generating the simulated traffic stream comprises generating the simulated traffic stream from a Java Management Extensions (JMX) script for the target application.

14 . The method of claim 13 , wherein:

the simulated traffic stream comprises Hypertext Transfer Protocol (HTTP) requests; and

the responses generated by the non-production version of the target application comprise HTTP status codes.

15 . The method of claim 14 , wherein the one or more chaos conditions comprises a condition selected from the group consisting of:

central processing unit (CPU) stress for a container for the target application;

network loss for the container for the target application;

memory stress for the container for the target application;

Domain Name System (DNS) spoof for a pod for the target application;

container kill for the container for the target application;

network latency for the container for the target application; and

pod failure for the pod for the target application.

16 . The method of claim 11 , wherein the target application comprises a containerized application.

17 . The method of claim 11 , wherein the target application comprises an application running on a virtual machine.

18 . The method of claim 11 , wherein:

the simulated traffic stream comprises HTTP requests; and

the responses generated by the non-production version of the target application comprise HTTP status codes.

19 . The method of claim 11 , wherein the one or more chaos conditions comprises a condition selected from the group consisting of:

CPU stress for a container for the target application;

network loss for the container for the target application;

memory stress for the container for the target application;

DNS spoof for a pod for the target application;

container kill for the container for the target application;

network latency for the container for the target application; and

pod failure for the pod for the target application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 26, 2023
From: ANDERSON, ERIK JAMES; THOMPSON, CONNOR DANIEL; SIUCE, ROCIO MILAGROS ROMAN; EDWARDS, JONATHAN DUCOMB; MINELLA, MICHAEL ROBERT WILLIAM
To: THE PNC FINANCIAL SERVICES GROUP, INC.
Reel/Frame 064058/0151 →
Continuity (1)
Related Publication 20250036546A1 · Jan 30, 2025
References Cited (36)
US 10445207B2 · Vedurumudi et al. · 2019 [cited by applicant]
US 10467127B2 · Teitelbaum · 2019 [cited by applicant]
US 11086763B2 · Liu · 2021 [cited by applicant]
US 11336675B2 · Sbandi et al. · 2022 [cited by applicant]
US 11397591B2 · Sastry · 2022 [cited by applicant]
US 11467952B2 · Pande et al. · 2022 [cited by applicant]
US 11636019B2 · Shah et al. · 2023 [cited by applicant]
US 11847046B1 · Ayyadurai · 2023 [cited by examiner]
US 20090319249A1 · White · 2009 [cited by examiner]
US 20100197296A1 · Bovet · 2010 [cited by examiner]
US 20170060730A1 · Li · 2017 [cited by examiner]
US 20190278688A1 · Alsheich · 2019 [cited by examiner]
US 20200366573A1 · White · 2020 [cited by examiner]
US 20210173767A1 · Zhang · 2021 [cited by examiner]
US 20210182170A1 · Vedurumudi et al. · 2021 [cited by applicant]
US 20210263836A1 · Singh · 2021 [cited by examiner]
US 20210329022A1 · Chhetri · 2021 [cited by examiner]
US 20220158926A1 · Wennerström · 2022 [cited by examiner]
US 20220210044A1 · Rao · 2022 [cited by examiner]
US 20220224718A1 · Sarda et al. · 2022 [cited by applicant]
US 20220276953A1 · Padala · 2022 [cited by examiner]
US 20220398187A1 · Balasubramanian · 2022 [cited by examiner]
US 20230032461A1 · Mengwasser et al. · 2023 [cited by applicant]
US 20230318929A1 · Soosahabi · 2023 [cited by examiner]
US 20240036112A1 · Cruz · 2024 [cited by examiner]
Dominik Kesim, “Assessing resilience of software systems by the application of chaos engineering: a case study,” 2019 [retrieved on Mar. 11, 2025], pp. 1-166, downloaded from <url>:https://elib.uni-stuttgart.de/items/91… [cited by examiner]
Chaos Mesh, “Run a Chaos Experiment, ” Mar. 14, 2022 [retrieved Aug. 30, 2025], pp. 1-4, downloaded from the Wayback Machine at <url>: https://web.archive.org/web/20220314154012/https://chaos-mesh.org/docs/run-a-chaos-e… [cited by examiner]
Ubik Ingenierie, “Running Video Streaming Load Test with Taurus, JMeter and UbikLoadPack,” 2021 [retrieved Nov. 29, 2025], pp. 1-12, downloaded from <url>:https://web.archive.org/web/20210614022418/https://www.ubik-inge… [cited by examiner]
Antione Varet et al., “How to Generate Realistic Network Traffic?,” 2014 [retrieved Nov. 29, 2025], IEEE 38th Annual Computer Software and Applications Conference, pp. 299-304, downloaded from <url>:https://ieeexplore.i… [cited by examiner]
Kashi Vishwanath et al., “Realistic and responsive network traffic generation,” 2006, Proceedings of the 2006 conference on Applications, technologies, architectures, and protocols for computer communications, pp. 111-1… [cited by examiner]
Gautam et al., “A Study on Chaos Engineering for improving Cloud Software Quality and Reliability”, Jan. 3, 2023 [retrieved Mar. 27, 2026], pp. 1-7, downloaded from <url>:https://ieeexplore.ieee.org/abstract/document/99… [cited by examiner]
Dirk Draheim et al., “Realistic load testing of Web applications”, 2006 [retrieved Mar. 27, 2026], pp. 1-11, downloaded from <url>:https://ieeexplore.ieee.org/abstract/document/1602358. (Year: 2006). [cited by examiner]
Suman De et al., “A Study on Chaos Engineering for improving Cloud Software Quality and Reliability”, Feb. 3, 2022 [retrieved Mar. 27, 2026], pp. 289-294, downloaded from <url>:https://ieeexplore.ieee.org/stamp/stamp.js… [cited by examiner]
Hornsby, “Chaos Engingeering—How to safel inject failure in your application?”, Chaos Engineering with Canary deployments, The Cloud Architect (May 8, 2020). [cited by applicant]
Domnu, “Chaos Engingeering With LitmusChaos”, Red Hat Hybrid Cloud (Oct. 27, 2021). [cited by applicant]
Learning Apache JMeter, Free unaffiliated eBook created from Stack Overflow contributors, https://riptutorial.com/. [cited by applicant]