External-Chain Hashing Cache with Dynamic Chain Pruning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hashing techniques in caching systems face challenges with collisions and degradation due to non-uniform hashing functions, leading to abrupt cache failures when chain lengths exceed predetermined thresholds, which can overwhelm the system and disrupt continuous availability.

Innovation Solution

Implementing an external-chain hashing technique with on-the-fly garbage collection based on dynamically defined record age-out and parallel global background garbage collection, which prunes excessively long chains to maintain cache equilibrium without requiring service interruption, using a combination of on-the-fly and background processes to manage aged-out records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If hashing techniques are used in caching systems, then fast access to information is achieved, but collisions and chain length degradation occur leading to abrupt cache failures

Engineering Contradiction:
Improveaccess speedVSAvoidcache stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements dynamic chain length thresholds that adapt based on system conditions and workload characteristics. Instead of fixed thresholds, the system dynamically adjusts the maximum acceptable chain length in the hash table, allowing the cache to maintain stability under varying load conditions while preserving fast access performance. This dynamic adjustment prevents abrupt failures by adapting to changing collision patterns.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters (chain length thresholds, eviction policies) based on monitored system state. When degradation is detected, the system modifies hashing parameters and chain management settings to prevent failure. This parameter adaptation allows the cache to transition from a static threshold system to a responsive system that maintains reliability while preserving speed benefits.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If predetermined chain length thresholds are used, then cache structure is simplified, but abrupt cache failures occur when thresholds are exceeded

Engineering Contradiction:
Improvecache structureVSAvoidcontinuous availability
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism that continuously monitors chain lengths and system performance metrics. When chains approach problematic lengths, the system receives feedback and triggers corrective actions such as proactive eviction, threshold adjustment, or restructuring. This closed-loop control prevents the abrupt failures that occur with simple predetermined thresholds while maintaining reasonable structural complexity.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Instead of waiting for thresholds to be exceeded before taking action, the system performs preliminary actions when chains approach critical lengths. Proactive eviction and preventive restructuring occur before degradation becomes severe, avoiding abrupt failures. This preliminary intervention maintains continuous availability while keeping the overall structure manageable.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If traditional garbage collection is implemented, then aged-out records are removed, but service interruption is required

Engineering Contradiction:
Improvedata management efficiencyVSAvoidservice interruption time
Core Design Contradiction:
ReliabilityVSDuration of action of moving object

Solution Approach 1:

The patent implements periodic, incremental garbage collection that operates in scheduled intervals rather than requiring a single prolonged service interruption. The garbage collector performs incremental cleanup operations during normal cache operation, removing aged-out records in periodic batches. This approach maintains data management efficiency while ensuring continuous cache availability to clients.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The system maintains continuous cache service availability during garbage collection operations. The garbage collector works in the background without interrupting client access to the cache, ensuring that useful actions (data retrieval and storage) continue uninterrupted. This continuous operation eliminates service downtime while still performing necessary cleanup of aged-out records.

Inventive Principle:
Principle #20Continuity of useful action

4Quantity of substance

If non-uniform hashing functions are used, then storage utilization is improved, but chain length degradation and collisions increase

Engineering Contradiction:
Improvestorage utilizationVSAvoidchain management complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent applies dynamic threshold adjustment specifically tailored for non-uniform hashing scenarios. The system monitors actual chain length distributions and adjusts thresholds based on the specific collision patterns created by non-uniform hashing functions. This dynamic adaptation allows the system to achieve high storage utilization with non-uniform hashing while managing chain complexity through adaptive, data-driven threshold setting rather than static rules.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9690699B1Methods and apparatus for information storage and retrieval using a caching technique with external-chain hashing and dynamic resource-dependent data shedding
Publication Date: 2017.06.27 NEMES RICHARD MICHAEL
  • US9690699B1 patent drawing
  • US9690699B1 patent drawing
  • US9690699B1 patent drawing

AI summary

A method and apparatus for performing storage and retrieval in an information storage system cache is disclosed that uses the hashing technique with the external chaining method for collision resolution. In order to prevent performance deterioration due to an unrestrained growth in the length of chains, an on-the-fly record removal technique is combined with background chain-pruning processes that continually trim long chains to keep chain lengths at an acceptable equilibrium without triggering abrupt, disruptive action at the time the system senses that it is stressed. More specifically, each insertion, retrieval, or deletion of a record is an occasion to rid an entire linked list of its records that have aged out. Additionally, concurrent background processes continually navigate the hash table, trimming those chains that are deemed excessively long. The aggressiveness of chain-pruning varies dynamically as the local and global state of the system fluctuates, pruning more when chains are long and the system is heavily loaded, and pruning less when chains are short and the system load is light.