Production Request Interception for Resilient Software Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for testing software in production environments fall short due to the dissimilarity between test and production environments, leading to incomplete failure scenario identification and potential financial losses or customer complaints, with chaos and latency monkeys causing negative impacts on service level agreements.

Innovation Solution

A system that intercepts requests in the production environment, determines if they are synthetic or live, and responds accordingly, allowing for emulation and modification of synthetic requests without accessing the database resource, enabling robust testing within the production environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If chaos and latency monkeys are used to inject failures in the production environment, then failure scenarios can be identified and tested, but service level agreements and production requests are negatively impacted

Engineering Contradiction:
Improvefailure scenario identificationVSAvoidservice level agreement impact
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces an intermediary system that sits between the test requests and the production database resources. This intermediary intercepts synthetic test requests, identifies them as such, and responds without actually accessing the database, thereby mediating between testing needs and production stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments request handling into two distinct paths: one for live production requests that access the database, and another for synthetic test requests that are handled by the intermediary without database access. This segmentation allows testing functionality to be separated from production operations.

Inventive Principle:
Principle #1Segmentation

2Ease of manufacture

If a test environment is used to identify and test failure scenarios, then testing can be performed, but the test environment is different from the production environment leading to incomplete failure scenario identification

Engineering Contradiction:
Improvetesting capabilityVSAvoidfailure scenario accuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

Solution Approach 1:

Instead of using a separate test environment that copies production, the patent enables the production environment itself to be used for testing by having the database resource interface handle both live and synthetic requests. This eliminates the copy discrepancy while maintaining production stability through request differentiation.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The database resource interface is designed to perform multiple functions: handling both live production requests and synthetic test requests. This multi-functionality allows the same production infrastructure to serve both operational and testing purposes without compromise.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If upgrades are implemented to improve system functionality, then new features and improvements are added, but compatibility issues with un-upgraded features can cause system instability

Engineering Contradiction:
Improvesystem upgrade capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent enables testing of upgrades and new features in the production environment before they are fully deployed. By using synthetic requests to simulate various scenarios including failure conditions, potential compatibility issues can be identified and resolved beforehand, ensuring system stability when upgrades are implemented.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12028210B2Production software application performance and resiliency testing
Publication Date: 2024.07.02 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12028210B2 patent drawing
  • US12028210B2 patent drawing
  • US12028210B2 patent drawing

AI summary

Methods, computer program products, and systems are presented. The method computer program products, and systems can include, for instance: marking of a request to define a marked request that includes associated metadata, wherein the metadata specifies action for performing by a resource interface associated to a production environment resource of a production environment, wherein the resource interface is configured for emulating functionality of the production environment resource; and sending the marked request to the resource interface for performance of the action specified by the metadata.