IP Library Granted Patent US 12,314,156
Granted Patent B2
US 12,314,156 · App. 18/239,987 · Granted May 27, 2025

Automated creation of resiliency experiments

Inventors: Umasankar Mukkara (Bengaluru, IN); Karthik Satchitanand (Bengaluru, IN); Harish Doddala (San Francisco, CA)
Assignee: Harness Inc.
G06F11/3684G06F11/3688G06F11/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,314,156
App. No.
18/239,987
Granted
May 27, 2025
Kind
B2
Abstract

A system automatically generates resiliency tests to detect the resiliency of an application implemented over multiple machines. In operation, one or more services operating on a plurality of machines is automatically identified. Fault targets are then automatically created based on the identified one or more services. The generation of the fault targets may be based on the identified services, user input, or past performance of the plurality of machines. Experiments may then be conducted, based on the created targets, on the one or more services. The experiments may insert faults into resources associated with the services. The resources may include CPU resources, memory, networking resources, and APIs. A resiliency score may be generated based on the experiments.

Claims (55)

1. A method for automatically generating resiliency tests, comprising:

automatically identifying one or more services operating on a plurality of machines, wherein identifying includes:

installing agents at the plurality of the machines,

intercepting, by each agent, traffic transmitted to each of the plurality of machines and from each of the one plurality of machines with respect to one or more resources,

generating traffic data that includes one or more resources located remote from the plurality of machines and engaged in traffic with one or more of the plurality of machines,

transmitting generated traffic data to an application by each agent, and

identifying the one or more services by the application based on the traffic data received from the agents;

automatically creating fault targets based on the identified one or more services;

automatically conducting experiments on the one or more services using the created fault targets; and

generating a resilience score based on the experiments.

2. The method of claim 1 , wherein creating fault targets includes:

identifying, for each identified service, one or more resources or network connections; and

creating a fault for each resource and network connection.

3. The method of claim 1 , wherein conducting experiments includes creating an experiment to insert a fault for one or more resources and one or more network connection associated with each of the one or more services.

4. The method of claim 1 , wherein conducting experiments includes:

identifying, for each identified service, one or more resources or network connections; and

receiving input from a user regarding faults to insert in the one or more services; and

creating an experiment based on the user input, wherein each experiment inserts two faults in one or more of the one or more services, the two faults selected based on the received user input.

5. The method of claim 4 , wherein the user input includes one or more of connections, workload, fault type, and connection type.

6. The method of claim 1 , wherein conducting experiments includes:

identifying, for each identified service, one or more resources or network connections;

retrieving a template that inserts a plurality of faults into a resource or network connection; and

creating an experiment based on retrieve template, wherein each experiment inserts a plurality of faults in one or more of the one or more services, the plurality of faults selected based on a received user input.

7. The method of claim 1 , further comprising automatically recommending one or more experiments for execution after creation.

8. The method of claim 7 , wherein the one or more experiments are recommended based at least in part on traffic observed for a service of the one or more services or the number of services connected to the service of the one or more services.

9. A non-transitory computer readable storage medium having embodied thereon a program, the program being executable by a processor to perform a method for automatically generating resiliency tests, the method comprising:

automatically identifying one or more services operating on a plurality of machines, wherein identifying includes:

installing agents at the plurality of the machines,

intercepting, by each agent, traffic transmitted to each of the plurality of machines and from each of the one plurality of machines with respect to one or more resources,

generating traffic data that includes one or more resources located remote from the plurality of machines and engaged in traffic with one or more of the plurality of machines,

transmitting generated traffic data to an application by each agent, and

identifying the one or more services by the application based on the traffic data received from the agents;

automatically creating fault targets based on the identified one or more services;

automatically conducting experiments on the one or more services using the created fault targets; and

generating a resilience score based on the experiments.

10. The non-transitory computer readable storage medium of claim 9 , wherein creating fault targets includes:

identifying, for each identified service, one or more resources or network connections; and

creating a fault for each resource and network connection.

11. The non-transitory computer readable storage medium of claim 9 , wherein conducting experiments includes creating an experiment to insert a fault for one or more resources and one or more network connection associated with each of the one or more services.

12. The non-transitory computer readable storage medium of claim 9 , wherein conducting experiments includes:

identifying, for each identified service, one or more resources or network connections; and

receiving input from a user regarding faults to insert in the one or more services; and

creating an experiment based on the user input, wherein each experiment inserts two faults in one or more of the one or more services, the two faults selected based on the received user input.

13. The non-transitory computer readable storage medium of claim 12 , wherein the user input includes one or more of connections, workload, fault type, and connection type.

14. The non-transitory computer readable storage medium of claim 9 , wherein conducting experiments includes:

identifying, for each identified service, one or more resources or network connections;

retrieving a template that inserts a plurality of faults into a resource or network connection; and

creating an experiment based on retrieve template, wherein each experiment inserts a plurality of faults in one or more of the one or more services, the plurality of faults selected based on a received user input.

15. A system for automatically generating resiliency tests, comprising:

one or more servers, wherein each server includes a memory and a processor; and

one or more modules stored in the memory and executed by at least one of the one or more processors to automatically identifying one or more services operating on a plurality of machines, wherein identifying includes, installing agents at the plurality of the machines, intercepting, by each agent, traffic transmitted to each of the plurality of machines and from each of the one plurality of machines with respect to one or more resources, generating traffic data that includes one or more resources located remote from the plurality of machines and engaged in traffic with one or more of the plurality of machines, transmitting generated traffic data to an application by each agent, and identifying the one or more services by the application based on the traffic data received from the agents, automatically creating fault targets based on the identified one or more services, automatically conducting experiments on the one or more services using the created fault targets, and generating a resilience score based on the experiments.

16. The system of claim 15 , wherein creating fault targets includes identifying, for each identified service, one or more resources or network connections, and creating a fault for each resource and network connection.

17. The system of claim 15 , wherein conducting experiments includes creating an experiment to insert a fault for one or more resources and one or more network connection associated with each of the one or more services.

18. The system of claim 15 , wherein conducting experiments includes identifying, for each identified service, one or more resources or network connections; and receiving input from a user regarding faults to insert in the one or more services, and creating an experiment based on the user input, wherein each experiment inserts two faults in one or more of the one or more services, the two faults selected based on the received user input.

19. The system of claim 15 , wherein conducting experiments includes identifying, for each identified service, one or more resources or network connections, retrieving a template that inserts a plurality of faults into a resource or network connection, and creating an experiment based on retrieve template, wherein each experiment inserts a plurality of faults in one or more of the one or more services, the plurality of faults selected based on a received user input.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2026
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY
To: HARNESS INC.; HARNESS INTERNATIONAL, INC.
Reel/Frame 075689/0062 →
RELEASE OF SECURITY INTEREST Recorded Aug 18, 2026
From: SILICON VALLEY BANK, A DIVISION OF FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
To: HARNESS INC.; HARNESS INTERNATIONAL, INC.
Reel/Frame 075689/0281 →
SECURITY INTEREST Recorded Mar 31, 2026
From: HARNESS INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY
Reel/Frame 074240/0665 →
SECURITY INTEREST Recorded Mar 31, 2026
From: HARNESS INC.
To: FIRST-CITIZENS BANK & TRUST COMPANY, AS AGENT
Reel/Frame 074240/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2025
From: MUKKARA, UMASANKAR; SATCHITANAND, KARTHIK; DODDALA, HARISH
To: HARNESS INC.
Reel/Frame 070889/0389 →
Continuity (1)
Related Publication 20250077394A1 · Mar 6, 2025
References Cited (10)
US 10986013B1 · Theimer · 2021 [cited by examiner]
US 11847046B1 · Ayyadurai · 2023 [cited by examiner]
US 20160371134A1 · Raghavendra · 2016 [cited by examiner]
US 20200366573A1 · White · 2020 [cited by examiner]
US 20220224625A1 · Anderson · 2022 [cited by examiner]
US 20230135825A1 · Surisetty · 2023 [cited by examiner]
Long, Zhenyue et al., Fitness-guided Resilience Testing of Microservice-based Applications, 2020, IEEE (Year: 2020). [cited by examiner]
Frank, Sebastian et al., MiSim: A Simulator for Resilience Assessment of Microservice-Based Architectures, 2022, IEEE (Year: 2022). [cited by examiner]
Elsaadawy, Mona et al., Dynamice Application Call Graph Formation and Service Identification in Cloud Data Centers, 2022, IEEE (Year: 2022). [cited by examiner]
Karn, Rupesh Raj et al., Automated Testing and Resilience of Microservice's Network-link using Istio Service Mesh, 2022 (Year: 2022). [cited by examiner]