Replay System for Transactional Database Interaction Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for identifying the relationship between application logic and application data in complex computer applications are inadequate, leading to difficulties in detecting coding errors and understanding the effects of data changes, as they require access to both transactional and database execution environments and involve recompiling modules, which is inefficient and error-prone.

Innovation Solution

A computer-implemented method and system for intercepting and replaying interactions with transactional and database environments, allowing for real-time recording and replaying of application interactions without the original execution environment, using tags, mapping tables, and callback modules to populate arguments and report changes, enabling testing of data and logic changes without modifying the application or using debugging tools.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the original execution environment is accessed to identify data and logic relationships, then measurement precision is improved, but device complexity increases and reliability decreases due to dependency on transactional and database execution environments

Engineering Contradiction:
Improveidentification accuracy of data and logic relationshipsVSAvoidcomplexity of execution environment access
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates a replay environment that copies the execution environment state through recorded data, mapping tables, and callback modules. This copy allows identification of data and logic relationships without accessing the original execution environment, thereby maintaining measurement precision while reducing device complexity and improving reliability.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces an intermediary replay environment that mediates between the application and the original execution environment. Through the intermediary, data and logic relationships can be identified by replaying recorded interactions without direct access to the original execution environment, thus resolving the contradiction between measurement precision and device complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Manufacturing precision

If modules are recompiled to test changes, then manufacturing precision is improved, but loss of time increases and productivity decreases

Engineering Contradiction:
Improveaccuracy of testing changesVSAvoidtime required for recompilation
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary recording of execution environment interactions during normal operation. The recorded data, mapping tables, and callback modules are prepared in advance, allowing rapid replay and testing of changes without recompilation. This preliminary action enables accurate testing while significantly reducing the time required compared to recompilation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates a copy of the execution environment state through recording, allowing changes to be tested by replaying the recorded interactions with modified data or logic. This copying approach eliminates the need for recompilation while maintaining testing accuracy, thus resolving the contradiction between manufacturing precision and loss of time.

Inventive Principle:
Principle #26Copying

3Measurement precision

If debugging tools are used to understand application logic, then measurement precision is improved, but device complexity increases and ease of operation decreases

Engineering Contradiction:
Improveunderstanding of application logicVSAvoidease of testing without manual intervention
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent enables the system to self-replay recorded interactions and automatically identify data and logic relationships without requiring manual intervention from developers. The replay environment automatically executes recorded calls, populates arguments from recorded data, and reports changes, making the system self-sufficient and easy to operate while maintaining high measurement precision.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent creates a self-contained copy of the execution environment with recorded data and mapping tables that automatically replay interactions. This copy operates independently without requiring external debugging tools or manual intervention, thereby improving ease of operation while maintaining measurement precision through automated identification of data and logic relationships.

Inventive Principle:
Principle #26Copying

4Productivity

If real-time recording and replaying is implemented, then productivity is improved, but device complexity increases

Engineering Contradiction:
Improveefficiency of testing changesVSAvoidcomplexity of recording and replaying system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts the essential elements of the execution environment into separate components: recorded data, mapping tables, and callback modules. This extraction allows the replay functionality to be implemented as a simplified system that reassembles these extracted elements, thereby improving productivity through real-time recording and replaying while managing device complexity through modular design.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent segments the recording and replaying system into distinct functional components: recording modules that capture interactions, mapping tables that store relationships, and replay modules that execute recorded calls. This segmentation allows each component to be optimized independently, improving overall productivity while keeping the system complexity manageable through clear functional separation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10929126B2Intercepting and replaying interactions with transactional and database environments
Publication Date: 2021.02.23 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10929126B2 patent drawing
  • US10929126B2 patent drawing
  • US10929126B2 patent drawing

AI summary

Methods, systems and computer program products for replaying arguments of a module in real-time is provided. Input includes indicator of the original execution environment, a location of load libraries having a plurality of callback modules, and a location of previously recorded data. A mapping table that corresponds to the execution environment is loaded into system memory. Batch execution of an application starts. Environmental calls to the application are intercepted. The transaction id and arguments are identified and previously recorded data that corresponds to the transaction id is loaded into system memory. The arguments to the call are populated with data from the corresponding record in the recorded data. Based on there being a corresponding callback module for the transaction, invoking the callback module and augmenting or replacing the arguments to the call with data in the callback module.