Nonlinear Journaling for Distributed Storage Reliability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current journaling systems face challenges such as single stuck transactions halting the entire journal, lack of support for offline nodes, complex replay mechanisms, and inefficient data management, leading to performance issues and reliability concerns in distributed systems.

Innovation Solution

The implementation of a nonlinear journaling system that stores data in a linked data structure with a shadow buffer, allowing for flexible transaction management, persistent storage, and efficient data retrieval, including support for global transactions and node unavailability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a linear journaling system is used to record storage operations sequentially, then the journal structure is simple and easy to implement, but a single stuck transaction can halt the entire journal and cause performance degradation

Engineering Contradiction:
Improvejournal structureVSAvoidjournal throughput
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent segments the journal into multiple independent data structures: a transaction log for recording transactions, a free list for tracking available space, and a mapping structure for journal blocks to storage locations. This segmentation allows the system to continue processing transactions even when one transaction is stuck, as the segmented structures can be processed independently, thereby resolving the contradiction between structural simplicity and throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic journal management where the journal structure adapts to transaction states. The system can dynamically transition between different journaling modes (linear vs. nonlinear) based on transaction status, allowing flexible handling of stuck transactions while maintaining overall system productivity.

Inventive Principle:
Principle #15Dynamics

2Ease of manufacture

If traditional journaling systems are used, then the implementation is straightforward, but they lack support for offline nodes and global transactions in distributed systems

Engineering Contradiction:
Improveimplementation simplicityVSAvoidsupport for distributed systems
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal journaling system that handles multiple scenarios: local transactions, global transactions spanning multiple nodes, offline node detection, and recovery operations. The same journaling infrastructure supports all these functions through a unified data structure and control mechanism, achieving both implementation simplicity and distributed system adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent introduces a coordinator node as an intermediary that manages global transactions and coordinates between multiple nodes. This mediator handles the complexity of distributed transaction management while keeping individual node implementations relatively simple, resolving the contradiction between ease of implementation and adaptability to distributed systems.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If incremental journaling is implemented with nonlinear data structures, then data management efficiency and recovery performance improve, but the system complexity and data structure requirements increase

Engineering Contradiction:
Improvedata recovery efficiencyVSAvoiddata structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the journaling system into distinct data structures: transaction log entries, free list records, and mapping tables. This segmentation organizes the complexity into manageable components, each with clear responsibilities, thereby improving data recovery efficiency while keeping the overall system architecture understandable and maintainable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-establishing mapping structures between journal blocks and storage locations, and by maintaining free lists that track available space in advance. These preliminary data structures enable efficient data recovery and management without requiring complex real-time calculations, thus improving productivity while managing complexity.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If the journal continuously stores all transaction data, then data recovery is comprehensive, but storage space consumption increases and management becomes inefficient

Engineering Contradiction:
Improvedata recovery completenessVSAvoidjournal storage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements a mechanism to discard completed transactions from the journal after they have been successfully written to storage, while recovering and retaining only the necessary mapping information and free list data. This selective discarding reduces storage space consumption while maintaining data recovery completeness for active and uncommitted transactions.

Inventive Principle:
Principle #34Discarding and recovering

Solution Approach 2:

The patent extracts and separates essential journaling information (transaction mappings, free list) from complete transaction data. By taking out only the necessary metadata and structural information while discarding redundant transaction payloads after successful writing, the system achieves efficient storage space management without compromising data recovery capabilities.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS7752402B2Systems and methods for allowing incremental journaling
Publication Date: 2010.07.06 EMC IP HLDG CO LLC
  • US7752402B2 patent drawing
  • US7752402B2 patent drawing
  • US7752402B2 patent drawing

AI summary

In one embodiment, systems and methods are provided for incremental journaling. In one embodiment, order-independent operations are journaled incrementally for the same storage location. In one embodiment, partially ordered operations are journaled incrementally for the same storage location. In one embodiment, order-independent operations and partially ordered operations are journaled incrementally for the same storage location. In one embodiment, incremental journaling is used to update data that represents accounting, ctime, and parity.