Reference Counter Integrity Checking via Hash Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional reference counting methods in computer systems are prone to errors due to data corruptions and software bugs, leading to incorrect reference counts and potential massive data loss, as they rely on simple increment and decrement operations without ensuring the integrity of reference tracking.

Innovation Solution

Implementing a reference check mechanism using a fixed-size value generated by hash functions, such as SHA1 or Tiger, which allows for efficient tracking of references with minimal storage and computation overhead, enabling accurate detection of errors and ensuring correct deletion of objects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If simple reference counting techniques are used to track references, then the system achieves ease of operation and low computational overhead, but the reliability of reference tracking deteriorates due to susceptibility to data corruption and software bugs

Engineering Contradiction:
Improveease of reference trackingVSAvoidintegrity of reference counting
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system performs preliminary actions by computing a reference check value (hash) in advance when references are added to an object. This hash value is stored alongside the reference counter, enabling later verification of reference integrity without requiring complex real-time validation during reference operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by computing and comparing hash values of reference identifiers against stored reference check values. When the reference counter reaches zero, the system verifies the reference check value to detect any corruption or errors that occurred during reference management, providing a feedback mechanism that validates the integrity of the reference counting process.

Inventive Principle:
Principle #23Feedback

2Reliability

If a full list of all references with unique identifiers is recorded to check reference counter integrity, then the reliability of reference tracking improves, but the device complexity and storage requirements worsen

Engineering Contradiction:
Improveintegrity of reference countingVSAvoidcomplexity of reference tracking structure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system replaces the mechanical approach of storing and managing a full list of reference identifiers with a computational approach using hash functions. Instead of maintaining a complex data structure that tracks each reference individually, the system computes a condensed hash value that represents the entire set of references, dramatically reducing storage requirements and structural complexity while maintaining integrity verification capability.

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

Solution Approach 2:

The system applies parameter changes by transforming the reference identifier data through hash functions, converting detailed reference information into a compact fixed-size hash value. This transformation changes the parameter representation from variable-length identifiers to fixed-length hashes, reducing storage complexity while preserving the ability to detect reference counting errors.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If reference counter integrity checking is implemented without hash functions, then the system maintains simplicity, but the measurement precision and error detection capability worsen

Engineering Contradiction:
Improvesimplicity of implementationVSAvoidaccuracy of error detection
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The system substitutes simple counter comparison with cryptographic hash function computation and verification. Hash functions provide deterministic transformation of reference identifiers into fixed-size values with strong collision resistance, enabling precise error detection. The substitution maintains relative simplicity by using well-established hash functions rather than implementing complex custom verification algorithms.

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

Solution Approach 2:

The system changes the measurement parameter from simple integer comparison to cryptographic hash value comparison. This parameter change dramatically improves measurement precision and error detection capability, as hash functions provide strong guarantees against false positives and can detect even single-bit corruptions in reference tracking data.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9552382B2Reference counter integrity checking
Publication Date: 2017.01.24 EXABLOX CORP
  • US9552382B2 patent drawing
  • US9552382B2 patent drawing
  • US9552382B2 patent drawing

AI summary

Disclosed is a method for checking the integrity of a reference counter for objects in a file system. A unique identifier can be associated with the reference referring to the object. A reference check can be associated with the object and set to a predefined initial value before any references referring to the object are added. When a new reference referring to the object is added, the reference counter is increased by one and the identifier associated with the new reference is added to the reference check. When an existing reference referring to the object is about to be removed, the reference counter is decreased by one and the identifier associated with the existing reference is subtracted from the reference check. If the reference check is not equal to the initial value when the reference counter is zero, then an error message is sent to the file system.