Dynamic Search Index Segments in Memory Heaps

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional search engines face inefficiencies in processing search queries due to the need for sequential iteration through documents, which is time-consuming and resource-intensive, especially when dealing with large datasets and static search indexes that do not reflect recent content updates.

Innovation Solution

Implementing dynamic search indexes by generating and storing multiple search index segments in separate memory heaps, allowing for real-time updates and efficient memory management, where only the most recent segment is actively written to, and older segments are read-only or discarded, optimizing memory utilization and query processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a static search index is generated offline and deployed, then search query processing speed is improved, but the index cannot reflect recent content updates

Engineering Contradiction:
Improvesearch query processing speedVSAvoidability to reflect recent content updates
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent transforms the static search index into a dynamic system by implementing multiple index segments (H1, H2, H3, etc.) that can be updated independently. The most recent segment remains writable while older segments become read-only, enabling the index to adapt to new content while preserving historical data for search queries.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The search index is divided into multiple independent segments stored in separate memory heaps. Each segment represents a portion of the index that can be managed separately, allowing incremental updates without regenerating the entire index. This segmentation enables the system to balance between maintaining up-to-date content and preserving historical indexing data.

Inventive Principle:
Principle #1Segmentation

2Reliability

If sequential iteration through documents is performed to verify matching documents, then complete document verification is achieved, but time and processing resources are excessively consumed

Engineering Contradiction:
Improvecomplete document verificationVSAvoidquery processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The inverted index structure performs preliminary organization of document information during index generation. By pre-computing and storing the mapping between terms and document locations in the index segments, the system eliminates the need for sequential document iteration during query processing, significantly reducing query time while maintaining verification accuracy.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If multiple search index segments are stored in separate memory heaps, then real-time updates and memory management are improved, but memory fragmentation increases

Engineering Contradiction:
Improvereal-time update capabilityVSAvoidmemory fragmentation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements a lifecycle management strategy for memory heaps, where older heaps (H1, H2, etc.) are transitioned to read-only status and eventually discarded when no longer needed. This approach allows the system to recover memory resources while maintaining the benefits of segmented index storage for active updates, balancing productivity gains against memory complexity.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS11030262B2Recyclable private memory heaps for dynamic search indexes
Publication Date: 2021.06.08 VERIZON PATENT & LICENSING INC
  • US11030262B2 patent drawing
  • US11030262B2 patent drawing
  • US11030262B2 patent drawing

AI summary

In one embodiment, a search engine may generate and store a plurality of search index segments such that each of the search index segments is stored in a corresponding one of a plurality of heaps of memory. The plurality of search index segments may include inverted index segments mapping content to documents containing the content. A garbage collection module may release one or more heaps of the memory.