Hash String Search in Indexed Arrays via Segmented Indexing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Searching for hash strings corresponding to constantly changing data values is challenging due to their dynamic nature, making it difficult to efficiently locate matches in indexed arrays.

Innovation Solution

A processor-based method that receives a hash string, determines index values for matching portions, and compares the hash string to each hash string in the indexed array with common index values, utilizing a symbol table to efficiently search and match hash strings by extracting and comparing sets of bits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hash strings corresponding to constantly changing data values are stored in an indexed array, then the system can handle dynamic data, but the search efficiency deteriorates due to the dynamic nature of the data

Engineering Contradiction:
Improveability to handle constantly changing dataVSAvoidsearch time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The hash string is divided into multiple portions (first portion, second portion, etc.), and the search process is segmented into multiple stages. First, a first set of index values is determined based on the first portion, then a second set of index values is determined based on the second portion. Only hash strings at positions with common index values in both sets are compared in full, significantly reducing the number of comparisons needed for dynamic data

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The method performs preliminary filtering by determining index values from different portions of the hash string before performing full hash string comparisons. This preliminary action of determining index sets and finding their intersection reduces the search space beforehand, making the subsequent full comparison step more efficient even when data is constantly changing

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the entire hash string is compared for every entry in the indexed array, then accurate matches are found, but the search process becomes inefficient and time-consuming

Engineering Contradiction:
Improvematching accuracyVSAvoidsearch speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The search process is segmented into filtering stages and verification stages. The filtering stage uses index value determination from different hash string portions to identify candidate positions. The verification stage performs full hash string comparison only at these candidate positions, ensuring accuracy while improving speed

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing full hash string comparison for all array entries, the method performs partial comparisons by first comparing hash string portions to determine index values. Full comparisons are performed only when necessary (at positions with common index values), reducing unnecessary operations while maintaining complete matching accuracy

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11354270B2Searching for a hash string stored in an indexed array
Publication Date: 2022.06.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11354270B2 patent drawing
  • US11354270B2 patent drawing
  • US11354270B2 patent drawing

AI summary

Systems and methods for searching for hash strings stored in an indexed array are described. A method includes receiving a hash string. The method includes determining a first set of index values for the indexed array that correspond to a first stored value matching a first portion of the hash string and determining a second set of index values for the indexed array that correspond to a second stored value matching a second portion of the hash string if a match between the first stored value and the first portion of the hash string is found. The method includes upon finding a match for the first stored value and the second stored value, comparing the hash string to each of the set of hash strings in the indexed array having an index value common to both the first set of index values and the second set of index values.