Index Scan Device Using KD-Tree and Space-Filling Curve

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-dimensional range search techniques in distributed databases become inefficient when the search space is smaller than the entire multi-dimensional space, leading to a large number of partial spaces being scanned, especially in scenarios with a high number of dimensions or varying dimension ranges, resulting in prolonged processing times.

Innovation Solution

An index scan method that identifies a search point within the search space, uses a KD-Tree to spatially divide the multi-dimensional space, and employs a space-filling curve to convert data points to one-dimensional binary form, allowing for the determination of overlapping partial spaces and reducing the scanning range by estimating a boundary line between data points, thereby focusing the index scan only on overlapping partial spaces.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the existing multi-dimensional range search method scans all partial spaces between minimum and maximum data points, then the search is comprehensive, but the index scan becomes inefficient and processing time increases significantly

Engineering Contradiction:
Improvesearch completenessVSAvoidindex scan speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the multi-dimensional space into multiple partial spaces using a KD-Tree structure, where each partial space is represented by a data page. The index scan is then segmented to only visit partial spaces that may contain search results, rather than scanning all partial spaces. This segmentation allows the system to maintain search completeness while significantly improving index scan efficiency by processing only relevant portions of the data space.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements partial action by determining an optimized scan range that covers only the partial spaces potentially containing search results, rather than performing a complete scan of all partial spaces. The system calculates minimum and maximum data points in the search space, converts them to one-dimensional values using a space-filling curve, and scans only the index entries within this optimized range. This partial scanning approach maintains reliability by ensuring all relevant partial spaces are covered while improving productivity by avoiding unnecessary scans.

Inventive Principle:
Principle #16Partial or excessive action

2Measurement precision

If the search space is smaller than the entire multi-dimensional space, then the search precision is improved, but a large number of partial spaces are still included in the index scan range

Engineering Contradiction:
Improvesearch precisionVSAvoidnumber of partial spaces scanned
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent transforms the multi-dimensional search space into a one-dimensional index space using a space-filling curve (such as Hilbert curve or Z-order curve). This dimensionality change allows the system to efficiently represent and scan the search range by converting minimum and maximum data points in multi-dimensional space to corresponding one-dimensional values. The index scan then operates on this one-dimensional representation, significantly reducing the number of partial spaces that need to be scanned while maintaining the precision of the search space definition.

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

3Reliability

If all indices are scanned to ensure complete search coverage, then the search reliability is maintained, but the processing time becomes excessively long

Engineering Contradiction:
Improvesearch coverageVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-building a KD-Tree index structure that organizes data into partial spaces with associated data pages. The index stores the relationship between partial spaces and their corresponding data pages in an optimized manner. During the search operation, the system uses this pre-established index structure to quickly identify and access only the relevant partial spaces, avoiding the need to scan all indices. This preliminary organization of data significantly reduces processing time while maintaining complete search coverage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts and utilizes the minimum and maximum data points from the search space to define an optimized scan range. By extracting these boundary points and converting them to one-dimensional values using a space-filling curve, the system determines the precise range of index entries that need to be scanned. This extraction approach ensures that only the necessary portion of the index is accessed, maintaining search reliability by covering all relevant partial spaces while minimizing processing time by excluding unnecessary scans.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentEP2804115B1Index scan device and index scan method
Publication Date: 2019.08.07 NEC CORP
  • EP2804115B1 patent drawingFigure 1
  • EP2804115B1 patent drawingFigure 2
  • EP2804115B1 patent drawingFigure 3

AI summary

The index scan device acquires information on a search space in a multi-dimensional space corresponding to a search range of a query, or information on a partial search space in this search space; sets, as a search point, a data point corresponding to at least one of a minimum and a maximum of values obtained by changing each data point in the multi-dimensional space to be one-dimensional, from among data points contained in the search space or the partial search space; identifies, in the index storage unit, index data associated with a partial space containing the search point; estimates a boundary line passing through the search space or the partial search space on the basis of identification information on the partial space obtained from the identified index data; and determines, from among divided search spaces obtained by dividing the search space or the partial search space by the estimated boundary line, a divided search space excluding the partial space containing the search point as the partial search space.