Hash Value Distribution in Object Storage Libraries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based object storage libraries protect object data using erasure coding but fail to safeguard hash/fingerprint data against component errors or failures, which compromises data integrity and security.

Innovation Solution

A method and system for computing a hash value for an object, determining a storage location within the storage library based on the hash value, and distributing the hash value to the storage location and its neighbor locations, ensuring protection against failures through three-way replication on heterogeneous storage units.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hash values are stored in a single location within the storage library, then storage simplicity is maintained, but reliability and fault tolerance deteriorate as hash data becomes vulnerable to component errors or failures

Engineering Contradiction:
Improvehash data protectionVSAvoidstorage structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent divides the storage library into multiple storage units and further segments hash value storage across different locations within units. Each hash value is distributed to a primary storage location and neighboring locations, creating a segmented storage architecture that improves reliability without requiring complete restructuring of the storage system

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent creates multiple copies of each hash value and stores them in different locations (primary storage location and neighboring locations). This copying approach ensures that if one copy is lost due to component failure, other copies remain available, thereby improving hash data protection while maintaining a relatively simple storage structure

Inventive Principle:
Principle #26Copying

2Reliability

If hash values are distributed across multiple storage locations, then fault tolerance improves, but storage complexity and management overhead increase

Engineering Contradiction:
Improvefault toleranceVSAvoidhash storage management
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies local quality by defining specific roles for different storage locations: primary storage locations for normal hash value storage and neighboring locations for redundancy. This localized approach simplifies management by providing clear rules for hash distribution and retrieval, reducing the complexity of managing fault-tolerant storage across the entire system

Inventive Principle:
Principle #3Local quality

3Reliability

If three-way replication is implemented for hash values, then data integrity is enhanced, but storage space requirements and write operations increase

Engineering Contradiction:
Improvedata integrityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements partial replication by storing hash values in a primary location and selectively in neighboring locations based on specific conditions. This partial action approach provides sufficient data integrity protection without requiring complete three-way replication for all hash values, thereby optimizing storage capacity usage while maintaining enhanced reliability

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11544387B2Hash protection within an object storage library
Publication Date: 2023.01.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11544387B2 patent drawing
  • US11544387B2 patent drawing
  • US11544387B2 patent drawing

AI summary

According to one embodiment, a computer-implemented method includes receiving an object to be stored within a storage library, computing a hash value, utilizing the object, determining a storage location within the storage library to store the hash value, and sending the hash value to the storage location and neighbor locations of the storage location within the storage library.