Resilience Testing Engine Using Container Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems lack comprehensive resilience testing capabilities to simulate and measure the impact of failures in cloud computing environments, which can lead to service disruptions and instability.

Innovation Solution

A resilience testing manager is configured to perform resilience testing by simulating workloads and failure experiments across multiple container images, using protocols like SQL and SSH, to identify key components and build reusable resilience plans, ensuring stability and measuring metrics for abnormal states.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If comprehensive resilience testing is implemented to simulate failures in cloud computing environments, then system stability and reliability are improved, but device complexity and testing infrastructure requirements increase

Engineering Contradiction:
Improvesystem stabilityVSAvoidtesting infrastructure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates virtual copies of production environments using containerization technology. Multiple container images representing different system states are maintained, allowing failure simulation without affecting the actual production system. This copying approach enables comprehensive resilience testing while isolating the testing infrastructure from production complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary testing layer between the production system and failure scenarios. This intermediary layer uses orchestrators and workflow engines to manage failure experiments, acting as a buffer that simplifies the interface between test designers and complex underlying infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If automated resilience testing is performed across multiple container images, then testing productivity and coverage are improved, but computational resources and time consumption increase

Engineering Contradiction:
Improvetesting automationVSAvoidtesting duration
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements periodic resilience testing through scheduled workflows that automatically execute failure experiments at defined intervals. The orchestrator manages periodic invocation of testing routines across container images, enabling automated productivity gains while controlling resource consumption through time-based scheduling rather than continuous execution.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent performs preliminary setup of container images and failure scenarios before actual testing begins. Workflow templates and failure experiment configurations are pre-defined and validated, allowing rapid execution during automated testing cycles. This preliminary preparation reduces the time required for each testing run while maintaining comprehensive coverage.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If failure experiments are simulated in production-like environments, then measurement precision and realism are improved, but system vulnerability to actual failures increases

Engineering Contradiction:
Improvefailure impact measurementVSAvoidsystem vulnerability
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The patent implements cushioning measures by maintaining isolated container images that serve as safety buffers. These containers are configured with resource limits and isolation mechanisms that prevent failure experiments from propagating to the actual production system. The cushioning layer absorbs potential harmful effects while preserving measurement precision through realistic failure simulation.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Solution Approach 2:

The patent segments the system into isolated container images, each representing a specific system state or component. This segmentation allows failure experiments to be confined to specific containers, enabling precise measurement of failure impacts on individual components while preventing system-wide vulnerability. Each container acts as an independent test bed that can be safely compromised.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11467945B1Resilience testing engine
Publication Date: 2022.10.11 SNOWFLAKE INC
  • US11467945B1 patent drawing
  • US11467945B1 patent drawing
  • US11467945B1 patent drawing

AI summary

Provided herein are systems and methods for resilience testing. A system includes at least one hardware processor coupled to a memory and configured to decode a workflow to obtain a workload specification and a failure experiment specification. A first set of containers is configured to execute one or more workloads on a testing node. The one or more workloads are defined by the workload specification. A second set of containers is configured to execute one or more failure experiments on the testing node. The one or more failure experiments are based on the failure experiment specification. Execution of the one or more failure experiments triggers an error condition on the testing node. A notification is generated based on at least one metric associated with execution of the one or more workloads and the one or more failure experiments.