Log Marking for Deterministic Recovery in Virtual Log Files
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
Data Source
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.


