Runner Agent Test State Persistence After Destructive Events

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing testing frameworks struggle to resume and maintain test integrity during destructive events such as reboots or crashes in operating systems or computing instances, leading to incomplete logs and unreliable testing results.

Innovation Solution

The implementation of a runner agent that saves and restores test states using scheduled tasks and persistent storage, allowing tests to resume from the point of interruption, even in deterministic or non-deterministic reboot scenarios, ensuring test continuity and accuracy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If tests are executed in a virtualized service provider environment, then testing coverage and functionality are improved, but test reliability deteriorates when destructive events occur

Engineering Contradiction:
Improvetest reliabilityVSAvoidtest state information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent implements preliminary action by saving test state information to persistent storage before destructive events occur. The runner agent continuously monitors test execution and persists test state, test logs, and metadata to storage locations that survive reboots and crashes, ensuring test information is preserved before loss can occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies copying by creating duplicate copies of test state information in multiple locations. The test state is copied from volatile memory to persistent storage, and test logs are copied to both local and remote storage locations, ensuring redundancy and preventing information loss during destructive events.

Inventive Principle:
Principle #26Copying

2Productivity

If automated testing is performed without state persistence, then test execution speed is improved, but test completeness deteriorates after interruptions

Engineering Contradiction:
Improvetest execution speedVSAvoidtest completeness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements preliminary action by pre-configuring scheduled tasks and persistent storage mechanisms before test execution begins. This allows the testing framework to maintain high execution speed while having test state persistence already in place, so no additional overhead is incurred during actual test running.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer (the runner agent and persistent storage system) that sits between the test execution engine and the testing framework. This intermediary handles state persistence automatically without interfering with test execution speed, while ensuring test completeness is maintained through scheduled state saves and recovery mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If test state is continuously saved during execution, then test recovery capability is improved, but system overhead increases

Engineering Contradiction:
Improvetest recovery capabilityVSAvoidsystem overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements periodic action by using scheduled tasks to save test state at regular intervals rather than continuously. The runner agent is configured with scheduled tasks that persist test state periodically during execution, balancing recovery capability with system overhead by avoiding constant I/O operations while ensuring test state is captured frequently enough for effective recovery.

Inventive Principle:
Principle #19Periodic action

4Ease of operation

If manual intervention is required after destructive events, then test flexibility is improved, but testing efficiency deteriorates

Engineering Contradiction:
Improvetest flexibilityVSAvoidtesting efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements self-service by enabling the testing framework to automatically recover and resume tests after destructive events without manual intervention. The runner agent monitors for test interruptions, retrieves saved test state from persistent storage, and automatically restarts test execution, eliminating the need for manual test setup and improving testing efficiency while maintaining flexibility.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9983988B1Resuming testing after a destructive event
Publication Date: 2018.05.29 AMAZON TECH INC
  • US9983988B1 patent drawing
  • US9983988B1 patent drawing
  • US9983988B1 patent drawing

AI summary

Technology is described for resuming testing operations after a destructive event occurs. A runner agent and tests may be executed on an operating system. A test state may be stored in a persistent storage location. Another operation may be setting a scheduled task to run on occurrence of a start event for a portion of the operating system. The scheduled task may be configured re-execute or re-launch the runner agent upon occurrence of the start event. In addition, the start event may be received for the portion of the operating system for which a destructive event occurred, and the runner agent that was affected by the destructive event may be re-started as directed by the scheduled task. The test state may be identified from the persistent storage location. Further, a portion of test code may be selected to execute based on the test state.