Log-Structured Object Store Index Checkpointing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Log-structured object storage systems face inefficiencies in reconstructing in-memory indexes after failures or shutdowns due to stale checkpoints caused by asynchronous write operations, leading to inconsistencies and prolonged recovery times.

Innovation Solution

The method involves enabling asynchronous write operations in log-structured object stores and initiating checkpoint operations without pausing them, using a 'begin checkpoint' marker that points to the oldest known log location, allowing for efficient reconstruction of the in-memory index by starting the analysis from this point.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If asynchronous write operations are paused during checkpoint operations to ensure index consistency, then checkpoint accuracy is improved, but system productivity and write throughput deteriorate

Engineering Contradiction:
Improvecheckpoint accuracyVSAvoidwrite throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by recording the oldest known log location in the in-memory index before checkpoint operations begin. This pre-recorded position allows the checkpoint to proceed without pausing asynchronous writes, as the reconstruction process knows exactly where to start analyzing the log, ensuring both consistency and continuous productivity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the entire log is analyzed to reconstruct the in-memory index after failure, then complete index recovery is achieved, but recovery time increases significantly

Engineering Contradiction:
Improveindex recovery completenessVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The invention extracts only the necessary portion of the log for index reconstruction by using the pre-recorded oldest known log location. Instead of analyzing the entire log from the beginning, the system extracts and processes only the relevant segment starting from the recorded position, dramatically reducing recovery time while maintaining complete index recovery.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs preliminary action by maintaining a record of the oldest known log location during normal operations. This pre-established reference point enables rapid index reconstruction after failure by eliminating the need to scan the entire log, as the reconstruction process can immediately begin at the known position.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If checkpoint operations are performed without pausing asynchronous writes, then system productivity is maintained, but stale checkpoints may cause index inconsistencies

Engineering Contradiction:
Improvesystem throughputVSAvoidindex consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The oldest known log location acts as an intermediary between the asynchronous write operations and the checkpoint process. By using this intermediate reference point, the system can perform checkpoint operations without pausing writes, while still ensuring consistency because the reconstruction process starts from a known good position that accounts for in-flight operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10083082B2Efficient index checkpointing in log-structured object stores
Publication Date: 2018.09.25 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10083082B2 patent drawing
  • US10083082B2 patent drawing
  • US10083082B2 patent drawing

AI summary

A method to efficiently checkpoint and reconstruct an in-memory index associated with a log-structured object store includes enabling asynchronous write operations to occur to a log-structured object store. The log-structured object store utilizes an in-memory index to access objects therein. The method further enables checkpoint operations to occur to the log-structured object store without pausing the asynchronous write operations. When initiating checkpoint operations, the method establishes a “begin checkpoint” marker on the log-structured object store. This “begin checkpoint” marker is configured to point to an oldest known log location recorded in the in-memory index. In the event the in-memory index is lost, the method reconstructs the in-memory index by analyzing the log-structured object store starting from the oldest known log location. A corresponding system and computer program product are also disclosed and claimed herein.