Log Marking for Deterministic Recovery in Virtual Log Files

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, identifying the last written log record during recovery is challenging when storage space is reused by subsequent virtual log files without erasing prior files, making it difficult to distinguish between current and stale data blocks.

Innovation Solution

Assigning identifiers to sub-portions of a log and associating blocks with these identifiers, using log marker data values (e.g., binary 01 or 10) based on parity, allows deterministic identification of the tail of the log by scanning for value changes, even when sub-portions are replaced.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If storage space of a virtual log file is reused by a subsequent virtual log file without erasing the prior virtual log file, then storage efficiency is improved, but it becomes difficult to distinguish between current and stale data blocks

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddifficulty to distinguish current and stale data blocks
Core Design Contradiction:
Quantity of substanceVSDifficulty of detecting and measuring

Solution Approach 1:

The patent applies log marker data (analogous to color changes) to blocks to indicate their current versus stale status. When a block is written to in the current virtual log file, its log marker data is updated to a first value, while stale blocks retain a second value. This allows the recovery process to easily distinguish between current and stale blocks by examining the log marker data, resolving the contradiction between storage reuse efficiency and detectability.

Inventive Principle:
Principle #32Color changes

2Measurement precision

If log marker data values are assigned based on sub-portion identifier parity, then identification of the tail of the log becomes deterministic and efficient, but the system requires additional marker data storage

Engineering Contradiction:
Improveprecision in identifying tail of logVSAvoidadditional marker data storage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the parameter of log marker data values based on the parity of sub-portion identifiers. Even sub-portions use one value (e.g., binary 10) and odd sub-portions use another value (e.g., binary 01). This parameter change enables deterministic identification of the tail of the log by scanning for value changes, achieving high measurement precision. The additional storage required is minimal (just a few bits per block) compared to the significant improvement in recovery precision and efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10949412B2Log marking dependent on log sub-portion
Publication Date: 2021.03.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10949412B2 patent drawing
  • US10949412B2 patent drawing
  • US10949412B2 patent drawing

AI summary

The use of log marking (otherwise known as “coloring”) of sub-portions of a log that records actions (e.g., data operations) performed by a computing system. The log is composed of multiple sub-portions, such as virtual log files, which are successively added to the log as the log grows. For instance, the sub-portions may be virtual log files of the log. The principles described herein change the use of log marking depending on which sub-portion of the log is being marked. If the computing system fails, and recovery is needed, the recovery process can thus deterministically identify where the last written log record is.