Multi-Pattern Search Using Segmented Suffix Prefix Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-pattern searching algorithms, such as the Wu-Manber method, are impractical for handling hundreds of millions to billions of search patterns due to their reliance on primary storage and inefficient data structures, leading to poor performance when moved to secondary storage.

Innovation Solution

The system employs a preprocessing engine that populates SUFFIX, PREFIX, and PATTERN tables, using linear residual pointers and sorted hash values to facilitate efficient searches, allowing these tables to be stored in secondary storage and enabling the handling of potentially billions of patterns, with a pattern analysis engine comparing patterns against source files to determine similarity metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional multi-pattern searching algorithms (e.g., Wu-Manber) are used, then search speed is improved through optimized data structures, but the system cannot handle hundreds of millions to billions of patterns due to primary storage limitations

Engineering Contradiction:
Improvenumber of search patternsVSAvoidstorage architecture complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the large-scale pattern storage system into multiple components: PREFIX tables stored in primary storage for quick access, and SUFFIX tables stored in secondary storage for capacity. This segmentation allows the system to handle billions of patterns by distributing data across different storage layers, resolving the contradiction between quantity handling and system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional approach by utilizing secondary storage (disk) in addition to primary storage (memory). This dimensional expansion from single-layer to multi-layer storage architecture enables the system to accommodate hundreds of millions to billions of patterns while maintaining search performance through strategic data placement and access patterns.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If data structures are moved to secondary storage to handle massive patterns, then pattern quantity capacity is improved, but search performance deteriorates due to slower access speeds

Engineering Contradiction:
Improvenumber of search patternsVSAvoidsearch speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent extracts the most frequently accessed pattern data (PREFIX tables) and keeps them in primary storage, while moving less frequently accessed data (SUFFIX tables) to secondary storage. This extraction strategy ensures that critical search operations remain fast while still allowing the system to handle massive numbers of patterns through the secondary storage layer.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary organization and indexing of pattern data before storage, creating optimized data structures with pointers and indexes that enable efficient retrieval. This preliminary action on data organization allows the system to maintain fast search performance even when patterns are stored across secondary storage, by pre-computing and storing access paths.

Inventive Principle:
Principle #10Preliminary action

3Speed

If more patterns are stored in primary storage to improve search speed, then search performance is improved, but the number of patterns is limited by available memory

Engineering Contradiction:
Improvesearch speedVSAvoidnumber of search patterns
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent creates a universal storage architecture where the same search engine can operate on patterns stored in either primary or secondary storage. The system provides multi-functionality by handling both fast-access scenarios (patterns in primary storage) and large-scale scenarios (patterns in secondary storage) through a unified interface, allowing the system to adapt to different performance and capacity requirements.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS7565348B1Determining a document similarity metric
Publication Date: 2009.07.21 PALAMIDA
  • US7565348B1 patent drawing
  • US7565348B1 patent drawing
  • US7565348B1 patent drawing

AI summary

To perform multi-pattern searching, a preprocessing engine populates a SUFFIX table, a PREFIX table and a PATTERN table. The SUFFIX table combines data conventionally stored in SHIFT and HASH tables. Pointers in the SUFFIX table refer to corresponding segments in the PREFIX table. Each PREFIX table segment is sorted by a prefix hash. A PATTERN table includes a hash of each full pattern sorted and grouped into segments, with each segment corresponding to a suffix hash and prefix hash combination. Pointers in the PREFIX table refer to corresponding segments in the PATTERN table. The PREFIX and PATTERN can be kept in secondary storage, allowing potentially billions of patterns to be used. After preprocessing, patterns are evaluated against a source file. A document metric is determine to qualitatively describe the similarity between the source file and each pattern file.