Database Rollback Using Write-Ahead Log for Forensic Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for database rollback using write-ahead logs are not flexible or reliable enough for forensic analysis, often resulting in false positives due to complex data carving methods and large permutations of scattered data, which degrade the trustworthiness of recovery results.

Innovation Solution

A method that selects specific frames from a write-ahead log (WAL) corresponding to previous checkpoints, extracts subsets of pages to recreate a previous database state, and performs a rollback based on the content of these subsets, ensuring the extracted state is either true or marked as not true, thereby eliminating false positives and providing reliable forensic analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data carving methods are used to recover deleted or modified files, then recovery capability is improved, but the complexity of the method increases and false positives occur

Engineering Contradiction:
Improverecovery reliabilityVSAvoidmethod complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts and utilizes the write-ahead log (WAL) mechanism from the database system to isolate and recover specific deleted or modified data. By focusing on the WAL buffer and its chronological records, the method avoids the complexity of general data carving while maintaining high recovery reliability through structured log playback.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent applies preliminary action by maintaining a write-ahead log that records all database modifications before they are committed. This pre-recorded information in the WAL buffer enables direct recovery of deleted or modified files without needing complex post-deletion analysis, as the recovery information was captured in advance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the write-ahead log is continuously grown to maintain all changes, then complete recovery information is preserved, but the storage space consumption increases

Engineering Contradiction:
Improverecovery completenessVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of log retention by implementing a maximum size threshold for the WAL buffer. When the buffer reaches this threshold, the oldest log records are automatically cleared. This parameter change allows the system to maintain recovery completeness for recent operations while controlling storage space consumption through dynamic truncation of older records.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If the WAL is reset frequently to manage size, then storage space is optimized, but the ability to recover older states is reduced

Engineering Contradiction:
Improvestorage spaceVSAvoidrecovery time range
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent applies dynamics by making the WAL buffer size and retention policy adaptive rather than static. The buffer dynamically adjusts its content based on the maximum size threshold, automatically clearing oldest records when needed. This dynamic behavior allows the system to optimize storage space while maintaining the ability to recover states within the retained log period, balancing both objectives through flexible resource management.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10459804B2Database rollback using WAL
Publication Date: 2019.10.29 MICRO SYSTTION AB
  • US10459804B2 patent drawing
  • US10459804B2 patent drawing

AI summary

In the field of forensic analysis of databases, a method of performing database rollback to a previous state of a database using a write-ahead log (WAL) includes: selecting, in the set of frames recorded to the WAL, a specific frame representing a specific revised content of a corresponding specific page; identifying, in the set of frames, a first subset of frames containing the specific frame and zero or more thereto chronologically preceding frames; extracting, from the set of pages of the database, a first subset of pages; extracting, from the corresponding pages of the first subset of frames, a second subset of pages; and performing, based on the contents of the first subset of pages and the revised contents of the second subset of pages, a rollback of the database to a previous state containing the revised content of the specific page.