Database Session State Capture and Replay

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In database management systems, replaying captured workload in a test system while maintaining session state consistency is challenging, as environmental variables and session states change during production system operations, leading to unpredictable results if not replicated accurately in the test system.

Innovation Solution

A method to capture and restore database session states by storing session states at specific points in time, allowing for selective replay of workload on a test database server, ensuring transactional consistency and preserving the original session state for accurate workload replay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If workload is replayed in a test system without capturing session state, then replay speed is improved, but accuracy and reliability of testing deteriorate due to environmental variable changes

Engineering Contradiction:
Improvereplay speedVSAvoidtesting accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by capturing and storing session state information before workload replay occurs. The system saves environmental variables, configuration settings, and session-specific data in advance, then restores this state during replay to ensure accuracy while maintaining replay efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a replicated session state from the production environment. The system copies session state information including environmental variables and configuration data, stores it separately, and applies it during replay to maintain testing accuracy without requiring the original production environment.

Inventive Principle:
Principle #26Copying

2Reliability

If complete session state is captured and restored, then replay accuracy is improved, but system complexity and resource requirements worsen

Engineering Contradiction:
Improvereplay accuracyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing session state into distinct components: environmental variables, configuration settings, and session-specific data. Each component is captured, stored, and restored separately, which simplifies the overall process and reduces system complexity while maintaining complete replay accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses parameter changes by dynamically adjusting which session state parameters are captured and restored based on the specific replay scenario. The system can selectively capture only necessary parameters rather than all possible parameters, reducing complexity while maintaining adequate replay accuracy for the given testing needs.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If session state is captured at every transaction boundary, then transactional consistency is improved, but capture frequency and processing overhead worsen

Engineering Contradiction:
Improvetransactional consistencyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies periodic action by capturing session state at regular transaction boundaries rather than continuously. The system captures state information at defined intervals (e.g., at commit points or transaction boundaries), which maintains transactional consistency while avoiding the overhead of continuous capturing and processing.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS9104739B2Capturing and restoring database session state
Publication Date: 2015.08.11 ORACLE INT CORP
  • US9104739B2 patent drawing
  • US9104739B2 patent drawing
  • US9104739B2 patent drawing

AI summary

Techniques are described herein for capturing and restoring database session state. Production database server components save the session state of each of a plurality of database sessions. The components store workload units that are processed in these sessions. The components store updated session states in response to certain events. Thus, the components may capture multiple session states, pertaining to various different points in time, for each session. The captured session states and the captured workload are moved to a test database server. A user selects, from among the time points represented by the session states, a point in time at which the user would like workload replay to begin. Sessions are re-created on the test database server. Session states of these sessions are set to reflect the session states as they existed at the user-selected time point. Workload units are replayed in the sessions relative to the test database server.