Epoch-Based Hash Function Transition in Distributed File Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hash functions previously considered secure, such as SHA-1 and MD5, become weakened over time, necessitating a transition to more robust hash functions for effective data de-duplication and storage management in distributed file systems.

Innovation Solution

Implementing an epoch-based management system that transitions from weakened to stronger hash functions, allowing multiple hash functions to be valid during an epoch, and migrating data chunks to use the new hash function through background processing, while clients can compute hash values using both old and new functions during the transition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If an old hash function is used for data storage, then data can be stored using existing hash values, but the hash function becomes weakened over time and is no longer secure

Engineering Contradiction:
Improvehash function securityVSAvoidtransition time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system dynamically transitions from a static hash function to a dynamic epoch-based system where multiple hash functions can be active simultaneously. Each epoch represents a time period with its own valid hash functions, allowing the system to adapt over time as hash functions are weakened or broken, thus resolving the contradiction between maintaining security and avoiding transition time losses.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary actions by pre-computing and storing hash values using both old and new hash functions during transition epochs. This allows the system to proactively migrate data representations before the old hash function becomes completely obsolete, preventing security issues while minimizing disruption to data access operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If a new hash function is adopted immediately, then security is improved, but data access and de-duplication may fail for previously stored data

Engineering Contradiction:
Improvehash function securityVSAvoiddata access compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system implements multi-functionality by supporting multiple hash functions simultaneously through the epoch mechanism. During transition epochs, the system can compute and validate hash values using both the old and new hash functions, ensuring that previously stored data remains accessible while gradually transitioning to the new secure hash function. This resolves the contradiction by making the system adaptable to multiple hash functions rather than forcing an immediate switch.

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

3Reliability

If hash values are re-computed for all stored data, then data integrity is maintained, but storage operations become inefficient

Engineering Contradiction:
Improvedata integrityVSAvoidstorage efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies partial action by re-computing hash values only for the necessary subset of data during each epoch transition, rather than forcing a complete re-computation of all stored data immediately. The epoch-based approach allows incremental migration where only data affected by the current epoch's hash function changes needs to be re-computed, maintaining data integrity while preserving storage efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11016933B2Handling weakening of hash functions by using epochs
Publication Date: 2021.05.25 EMC IP HLDG CO LLC
  • US11016933B2 patent drawing
  • US11016933B2 patent drawing
  • US11016933B2 patent drawing

AI summary

Techniques to manage the use of hash functions are disclosed. In various embodiments, a hash function epoch metadata is stored to associate a hash function with an epoch, the epoch defining a subset of data stored by a distributed file system. The distributed file system is configured to use the hash function epoch metadata to manage storage of data comprising the subset of data stored by the distributed file system.