Parallel Hybrid Spill Tree for Scalable Nearest-Neighbor Matching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for finding nearest neighbors in large-scale image collections are not scalable and designed for single machines, making them inefficient for large-scale collections.

Innovation Solution

A method and system for building a parallel hybrid spill tree that partitions objects across multiple machines, using a top tree to associate objects with partitions and building leaf sub-trees as hybrid spill trees, allowing for efficient parallel nearest-neighbor matching operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If existing hybrid spill tree techniques are used, then nearest-neighbor search accuracy is improved, but scalability to large-scale collections deteriorates

Engineering Contradiction:
Improvenearest-neighbor search accuracyVSAvoidscalability to large-scale collections
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent divides the large-scale object collection into multiple partitions, each stored on a separate server. The top tree structure segments the search space into manageable regions, allowing parallel processing across multiple machines while maintaining search accuracy within each partition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to the traditional hybrid spill tree by adding a top tree layer above the leaf sub-trees. This creates a two-level structure where the top tree operates in one dimension (partition selection) and leaf sub-trees operate in another dimension (detailed search), enabling scalability without sacrificing accuracy.

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

2Productivity

If data is distributed across multiple machines, then scalability is improved, but system complexity deteriorates

Engineering Contradiction:
ImprovescalabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The top tree structure serves multiple functions: it partitions data across servers, routes queries to appropriate leaf sub-trees, and maintains a unified interface for nearest-neighbor searches. This multi-functionality reduces the need for separate management systems for each partition, simplifying the overall distributed system.

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

Solution Approach 2:

The top tree acts as an intermediary between the query interface and the distributed leaf sub-trees. It translates high-level search requests into partition-specific queries, managing the complexity of distributed data access while presenting a simple unified interface to users.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If partition overlap is reduced, then storage efficiency is improved, but query accuracy deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoidquery accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent applies different overlap strategies to different parts of the tree structure. The top tree uses minimal or no overlap for efficient partitioning and storage, while the leaf sub-trees maintain appropriate overlap buffers to ensure query accuracy. This local differentiation optimizes both storage efficiency and search precision in their respective contexts.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS7539657B1Building parallel hybrid spill trees to facilitate parallel nearest-neighbor matching operations
Publication Date: 2009.05.26 GOOGLE LLC
  • US7539657B1 patent drawing
  • US7539657B1 patent drawing
  • US7539657B1 patent drawing

AI summary

One embodiment of the present invention provides a method and a system for building a parallel hybrid spill tree to facilitate parallel nearest-neighbor matching operations. During operation, the system receives a set of objects to be stored in the parallel hybrid spill tree. The system selects a subset of objects from the set of objects, and then uses this subset to create a “top tree.” Each node in the top tree defines an associated partition for the parallel hybrid, spill tree. The system uses the top tree to associate each object in the set of objects with a corresponding partition of the parallel hybrid spill tree. Then, the system builds for each partition of the parallel hybrid spill tree an associated “leaf sub-tree” containing the objects in the partition, with each leaf sub-tree structured as a spill tree.