Linked List Traversal with Secondary Hash Redirection
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


