Linked List Traversal with Secondary Hash Redirection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Hash collisions in hashed linked lists lead to inefficient recursive searches, increasing memory accesses and potentially compromising performance due to long linked lists and malicious attacks on hash functions.

Innovation Solution

Offload processing of potentially compromised hash functions to a secondary processor, which applies a new hash function to generate a second linked list, reducing memory accesses and eliminating performance impacts from long linked lists.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a hash function is applied to long access keys to create hashed linked lists, then data lookup efficiency is improved, but hash collisions occur causing multiple keys to map to identical hash results, increasing memory accesses and search time

Engineering Contradiction:
Improvedata lookup efficiencyVSAvoidsearch time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the hash table into multiple regions or zones, and when a hash collision is detected in one region, the search is redirected to an alternative region. This segmentation strategy prevents the need to traverse long linked lists caused by collisions, thereby reducing search time while maintaining lookup efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism (alternative hash function or redirection table) that mediates between the original hash function and the linked list structure. When collisions occur, the intermediary provides an alternative path to resolve conflicts without traversing the entire linked list, thus reducing search time.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If recursive search is used to handle hash collisions in linked lists, then all possible keys can be searched, but multiple accesses to external memories and multiple compare instructions are required, increasing memory access overhead

Engineering Contradiction:
Improvecompleteness of searchVSAvoidmemory access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs preliminary actions by pre-processing hash values and organizing linked lists in a way that minimizes the need for recursive searching. Hash values are pre-computed and stored with their corresponding keys, and the structure is organized to allow direct access when possible, reducing memory access overhead while maintaining search completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies partial searching strategies where instead of always performing complete recursive searches, it uses heuristic methods to stop early when a match is found or when a certain threshold is reached. This partial action approach maintains reliability for exact matches while improving productivity by avoiding unnecessary memory accesses.

Inventive Principle:
Principle #16Partial or excessive action

3Measurement precision

If multiple compare instructions are executed during linked list traversal, then accurate key matching is achieved, but processing time increases due to the sequential nature of comparisons

Engineering Contradiction:
Improvekey matching accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies local quality optimization by comparing only critical portions of keys first (local quality check) rather than comparing entire keys sequentially. This allows for quick elimination of non-matching entries while maintaining accurate matching for potential candidates, thus reducing processing time without sacrificing precision.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent performs preliminary key comparison by extracting and comparing key identifiers or hash values before performing full key comparisons. This preliminary action filters out non-matching entries early in the traversal process, maintaining measurement precision for final matches while significantly reducing the number of full compare instructions executed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7930516B1Linked list traversal with reduced memory accesses
Publication Date: 2011.04.19 HEWLETT PACKARD ENTERPRISE DEV LP
  • US7930516B1 patent drawing
  • US7930516B1 patent drawing
  • US7930516B1 patent drawing

AI summary

A linked list traversal system identifies when a linked list has become inefficient, either through attack or an undue multiplicity of collisions. A data unit is parsed to extract a key. A first hash result associated with the key is calculated based on a first hash function. A first linked list is identified based on the first hash result. It is determined whether the first linked list has been compromised. A second hash result associated with the key is calculated based on a second hash function when the first linked list has been compromised. A second linked list is established based on the second hash result, where the second hash result is different from the first hash result.