Distributed Storage Coding for Secure Redundancy and Fast Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face inefficiencies in data protection and storage efficiency, particularly due to high computational complexity and low storage efficiency in existing redundancy measures like replication and error-correcting codes, which are not optimized for cloud storage systems.

Innovation Solution

A system and method that encode data into segments, using erasure coding and metadata management to distribute data across multiple storage nodes, optimizing workload distribution and minimizing retrieval latency, while ensuring security through encryption and key management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If replication is used for data redundancy, then data protection is improved, but storage efficiency deteriorates

Engineering Contradiction:
Improvedata protectionVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments data into multiple chunks and distributes them across storage nodes using erasure coding. Instead of replicating entire data blocks, the system divides data into segments, applies encoding to create redundant segments, and distributes them across multiple nodes. This segmentation approach enables efficient redundancy with lower storage overhead compared to full replication.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the redundancy parameter from replication factor to erasure coding parameters (k, n, d). By using maximum distance separable (MDS) codes and regenerating codes with configurable parameters, the system can adjust the trade-off between storage efficiency and data protection. The repair bandwidth parameter d allows optimization of repair operations without proportionally increasing storage overhead.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If erasure coding is used for data redundancy, then storage efficiency is improved, but computational complexity worsens

Engineering Contradiction:
Improvestorage efficiencyVSAvoidcomputational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent performs erasure coding in advance during data ingestion, converting raw data into encoded segments before storage. This preliminary encoding action eliminates the need for complex real-time computation during read operations. The system pre-computes the redundant segments and stores them, so that during retrieval, the system only needs to perform simpler decoding operations rather than full encoding computations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary encoding layer between data and storage nodes. This encoding layer acts as a mediator that transforms data into a form suitable for efficient storage and retrieval. The encoded segments serve as intermediaries that can be independently stored, retrieved, and combined to reconstruct original data, reducing the computational burden on the storage system during operational phases.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If locally decodable codes are used, then I/O overhead is minimized, but the number of practical constructions is limited

Engineering Contradiction:
ImproveI/O overheadVSAvoidcode construction options
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent employs a universal erasure coding framework that can accommodate multiple code constructions including MDS codes, regenerating codes, and locally decodable codes. This multi-functional approach allows the system to select the most appropriate code construction based on specific operational requirements such as repair bandwidth constraints, storage efficiency targets, or I/O overhead considerations, thereby providing versatility without limiting practical implementations.

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

Solution Approach 2:

The patent implements dynamic code selection and parameter adjustment based on system conditions. The system can adaptively choose different erasure coding schemes and parameters (k, n, d) depending on the operational context, such as the number of available storage nodes, network bandwidth conditions, and repair priorities. This dynamic adaptability overcomes the limitation of fixed code constructions by allowing the system to optimize for different performance metrics as needed.

Inventive Principle:
Principle #15Dynamics

4Loss of energy

If regenerating codes are used, then repair bandwidth is reduced, but advantages are limited to partial read operations

Engineering Contradiction:
Improvebandwidth optimizationVSAvoidoperation type support
Core Design Contradiction:
Loss of energyVSAdaptability or versatility

Solution Approach 1:

The patent applies regenerating codes specifically to repair operations where only partial data recovery is needed. Instead of requiring full data reconstruction, the system uses the local repair capability of regenerating codes to recover only the missing segments. This partial action approach optimizes bandwidth usage for repair operations without requiring the system to support all operation types with the same optimized approach, thus maintaining versatility for other operations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements different coding strategies for different operational contexts. For repair operations, it uses regenerating codes with optimized local repair properties. For other operations like initial data ingestion or full reconstruction, it may use different erasure coding schemes. This local quality approach tailors the coding strategy to the specific operational requirement, maximizing bandwidth optimization for repairs while maintaining adaptability for other operations through alternative coding choices.

Inventive Principle:
Principle #3Local quality

5Reliability

If data encryption is used, then security is improved, but computational complexity worsens

Engineering Contradiction:
ImprovesecurityVSAvoidcomputation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent performs encryption in advance during data ingestion, converting plaintext data into ciphertext before erasure coding and storage. This preliminary encryption action ensures that even if storage nodes are compromised, the stored data remains protected. By encrypting data before it enters the storage system, the patent eliminates the need for continuous cryptographic operations during storage and retrieval, thereby reducing computational complexity during operational phases while maintaining strong security.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments encrypted data into chunks and applies erasure coding to the ciphertext segments. This segmentation approach allows the system to work with smaller, manageable encrypted blocks, reducing the computational burden of cryptographic operations. By processing data in segments rather than large monolithic blocks, the system maintains security through encryption while minimizing the computational complexity of cryptographic operations through efficient segment-level processing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10608784B2Distributed storage system data management and security
Publication Date: 2020.03.31 CLOUD STORAGE INC
  • US10608784B2 patent drawing
  • US10608784B2 patent drawing
  • US10608784B2 patent drawing

AI summary

A system and method for distributing data over a plurality of remote storage nodes. Data are split into segments and each segment is encoded into a number of codeword chunks. None of the codeword chunks contains any of the segments. Each codeword chunk is packaged with at least one encoding parameter and identifier, and metadata are generated for at least one file and for related segments of the at least one file. The metadata contains information to reconstruct from the segments, and information for reconstructing from corresponding packages. Further, metadata are encoded into package(s), and correspond to a respective security level and a protection against storage node failure. A plurality of packages are assigned to remote storage nodes to optimize workload distribution. Each package is transmitted to at least one respective storage node as a function iteratively accessing and retrieving the packages of metadata and file data.