Search Query Delay for Index Segment Co-Loading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments where multiple search requests overwhelm servers, leading to performance degradation, overload, and potential failures due to excessive disk operations and memory consumption, especially when indices are stored in network storage, causing searches to be executed slowly or fail.

Innovation Solution

Implementing a method where the execution of a first search is delayed when a second search is initiated within a minimal time difference, allowing both searches to load and search index segments together, thereby reducing redundant loading and improving server performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the server executes multiple search requests concurrently, then the response time for individual searches is reduced, but the server becomes overloaded causing performance degradation and potential failures

Engineering Contradiction:
Improvesearch execution speedVSAvoidserver stability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by pre-loading index segments into memory before search requests arrive. The system proactively loads segments based on predicted search patterns and caches them, so when search requests come in, the data is already available in memory rather than being loaded from disk at the moment of search execution. This eliminates the race condition where multiple searches compete for disk access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts its behavior based on the current state. It monitors search request patterns and adaptively loads segments into memory based on predicted demand. The system transitions from a static disk-based search model to a dynamic hybrid model that combines disk storage with memory caching, adjusting the mix based on workload characteristics.

Inventive Principle:
Principle #15Dynamics

2Measurement precision

If the server loads index segments from network storage for each search, then search accuracy is maintained, but network congestion occurs causing slow execution

Engineering Contradiction:
Improvesearch accuracyVSAvoidsearch execution time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The system pre-loads index segments into local memory before they are needed for search operations. By anticipating which segments will be accessed based on search patterns, the system loads them in advance from network storage to local cache, eliminating the need to repeatedly load the same segments from the network during concurrent searches.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer (memory cache) between the network storage and the search processing system. This intermediary holds copies of frequently accessed index segments, allowing searches to be performed against the cached data rather than requiring direct network access to the original index, thus reducing network traffic while maintaining search accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the server limits concurrent requests to prevent overload, then server stability is maintained, but client requests are denied causing poor user experience

Engineering Contradiction:
Improveserver stabilityVSAvoidclient accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system performs preliminary loading of index segments into memory based on predicted search patterns, so that when client requests arrive, the data is already prepared and available. This allows the server to accept and process client requests without denying them, while maintaining stability by avoiding the need to load segments from disk during request processing.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If multiple searches are executed simultaneously, then overall throughput is increased, but redundant disk operations and memory consumption increase causing performance degradation

Engineering Contradiction:
Improvesearch throughputVSAvoiddisk operations and memory consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges multiple search operations by loading index segments once into memory and then allowing multiple searches to operate on the same cached data. Instead of each search independently loading segments from disk, the system combines the loading operation and performs multiple searches against the shared in-memory index, eliminating redundant disk I/O and reducing overall memory consumption.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10198474B2Delaying one or more searches to cause multiple searches to load and evaluate segments together
Publication Date: 2019.02.05 QUEST SOFTWARE INC
  • US10198474B2 patent drawing
  • US10198474B2 patent drawing
  • US10198474B2 patent drawing

AI summary

The performance of a server can be improved by causing multiple searches to load segments of an index and search within them together. When multiple search requests are received and executed within a minimal time difference, the first search can be delayed to allow the second search—and possibly additional searches—to catch up so that the searches do not require loading segments multiple times.