Locally Generated Erasure Codes for Data Center Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data redundancy in data centers leads to increased network resource consumption and performance degradation due to the time-consuming and costly communication of large data sets across networks, as well as computationally expensive redundancy mechanisms.

Innovation Solution

Implementing locally generated simple erasure codes, such as XOR functionality, to maintain redundant copies of data in an encoded state, which reduces storage capacity requirements and allows for efficient generation and decoding of data, thereby minimizing network resource consumption and enabling faster recovery from failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redundant copies of data are maintained across multiple failure domains or data centers, then data reliability is improved, but network resource consumption increases and performance degrades

Engineering Contradiction:
Improvedata reliabilityVSAvoidnetwork resource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments the redundant data storage into encoded portions distributed across multiple failure domains. Instead of storing complete duplicate copies, the data is divided and encoded such that any subset of encoded copies can reconstruct the original data, reducing the amount of data transmitted over the network while maintaining reliability across distributed locations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the redundancy mechanism by applying erasure coding algorithms that change the parameter representation of data. Rather than storing identical copies, the system encodes data into a different mathematical representation where k data blocks can be transformed into n encoded blocks (where n > k), allowing reconstruction with fewer network resources consumed during redundancy operations.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If traditional redundancy mechanisms are implemented, then data protection is improved, but processing capability utilization increases due to computationally expensive operations

Engineering Contradiction:
Improvedata protectionVSAvoidprocessing capability utilization
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent replaces complex mechanical redundancy operations with simpler mathematical encoding operations. By substituting traditional copy-based redundancy with erasure coding that uses XOR operations and polynomial-based encoding, the system achieves equivalent or superior data protection with significantly reduced computational overhead during both encoding and decoding phases.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent changes the computational parameters of redundancy by using efficient erasure coding algorithms that operate in linear time complexity. The encoding process transforms k data blocks into n encoded blocks using systematic mathematical operations that are computationally lighter than traditional replication and verification mechanisms, reducing processing capability utilization while maintaining robust data protection.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If large data sets are communicated across networks for redundancy, then data availability is improved, but communication time increases

Engineering Contradiction:
Improvedata availabilityVSAvoidcommunication time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent extracts only the essential redundancy information needed for data protection and transmits it separately from the main data sets. By separating the redundancy encoding from the bulk data communication, the system maintains data availability through distributed encoded copies while minimizing the communication time required for redundancy operations, as only encoded portions need to be transmitted across the network.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9354991B2Locally generated simple erasure codes
Publication Date: 2016.05.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9354991B2 patent drawing
  • US9354991B2 patent drawing
  • US9354991B2 patent drawing

AI summary

An “erasure code” is an encoding of multiple different sets of data. Redundant copies of data are maintained in such erasure codes, thereby utilizing only a fraction of the storage capacity of unencoded copies. Erasure codes are efficiently generated, with a minimum of processing resources utilizing XOR functionality. Additionally, erasure codes are generated from local data, thereby avoiding the consumption of network resources. At least one unencoded copy of a set of data is maintained, while the remaining, redundant copies are encoded into erasure codes. Requests for data are provided from the unencoded copy. Should it fail, a new unencoded copy can be generated by another computing device having access to both an erasure code as well as unencoded copies of the other data that was also pressed into that erasure code. Multiple failures can be survived through recursive application of such a decoding of encoded data.