Network Processor Database Search Parallelization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database search techniques using a single general-purpose processor are inefficient for rapid data look-up in large databases due to limitations in processing capacity, especially when utilizing variable length keys.

Innovation Solution

A searchable database employing network processors with multiple packet processors that can independently search multiple key sets concurrently, utilizing techniques such as pipeline configuration or multiple network processors to enhance search speed and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a single general-purpose processor is used for database searching, then device complexity is reduced, but search speed and productivity deteriorate

Engineering Contradiction:
Improvesearch speedVSAvoidprocessor architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the database search task into multiple parallel search operations, where each network processor handles a portion of the search simultaneously. This segmentation enables concurrent processing of multiple keys without requiring a single complex general-purpose processor, thereby improving search speed while maintaining manageable device complexity through specialized parallel architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the mechanical sequential processing of a general-purpose processor with an optical/electronic parallel processing system using network processors. This substitution leverages the inherent parallelism capability of network processors to perform multiple database searches simultaneously, dramatically improving productivity without proportionally increasing device complexity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If variable length keys are used for database access, then adaptability is improved, but search time increases

Engineering Contradiction:
Improvekey flexibilityVSAvoidsearch time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-processing and organizing keys into structured formats before the actual search operation. Network processors receive pre-formatted key sets that are optimized for parallel comparison, allowing variable length keys to be handled efficiently without sacrificing search time. This preliminary organization enables the system to maintain adaptability while reducing search time through optimized parallel processing.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple network processors are used for concurrent searching, then search speed is improved, but device complexity increases

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidprocessor configuration
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple network processors into a coordinated parallel processing system where each processor handles specific portions of the search task. By combining the capabilities of multiple specialized processors rather than using a single general-purpose processor, the system achieves improved data retrieval efficiency while managing device complexity through functional specialization and coordinated operation.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7680769B2Method of creating a database and search keys and for searching the database
Publication Date: 2010.03.16 X CORP
  • US7680769B2 patent drawing
  • US7680769B2 patent drawing
  • US7680769B2 patent drawing

AI summary

A searchable information database is provided. At least one network processor having one or more packet processors is provided which are programmed to independently search for a match of any one of the keys in a key set which is delivered to the network processor(s). Each key set is independently identifiable and searchable. If a match is found, then either a function associated therewith or a pointer to the location of the information in the database is returned. Several searching techniques can be used. For example, multiple network processors can be used, with each storing the keys of a different set of keys, and each set of keys can be searched concomitantly in the network processors. Alternatively, a large lookup table may distribute multiple network processors. If a single network processor is used, the key sets can be pipeline searched, or pico processors or packet processors can independently search each key set.