Pre-computed Search Result Validation in Distributed Caches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database systems face challenges in maintaining short response times for search queries that process large volumes of data, particularly when results in the cache become outdated due to changes in the underlying data, leading to a tradeoff between computational load, data validity, and storage capacity.

Innovation Solution

A distributed computing environment with a frontend system and a backend system, where a cache hosts pre-computed search results, and a validation instance determines their validity, allowing for the retrieval and updating of pre-computed search results based on key parameters, and triggering re-computation when results are deemed outdated or invalid.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If pre-computed search results are maintained in a cache, then response times to search queries are shortened, but the results may become outdated due to changes in the underlying data

Engineering Contradiction:
Improveresponse timeVSAvoiddata validity
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system pre-computes and stores multiple alternative search results in the cache before they are needed. When a query is made, the validation instance checks if the pre-computed results are still valid, and if not, it automatically provides alternative pre-computed results without requiring full re-computation, thus maintaining both fast response times and data validity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The validation instance continuously monitors the validity of pre-computed search results by checking against the underlying database data. When changes are detected, the system provides feedback to update or replace the cached results, ensuring that the cache remains synchronized with the current state of the database while avoiding unnecessary full re-computations.

Inventive Principle:
Principle #23Feedback

2Reliability

If the cache is kept up-to-date by re-computing results, then data validity is maintained, but computational load increases

Engineering Contradiction:
Improvedata validityVSAvoidcomputational load
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Instead of re-computing all search results in the cache when data changes occur, the system performs partial validation only on the specific results that may be affected by the changes. The validation instance checks only the necessary subset of cached results against the underlying data, reducing computational load while maintaining data validity for the affected entries.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system pre-computes multiple alternative search results and stores them in the cache in advance. When validation is needed, these pre-computed alternatives are already available, eliminating the need for expensive real-time re-computation and reducing the computational load required to maintain data validity.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple pre-computed search results are stored in the cache, then alternative valid results are available, but storage capacity is consumed

Engineering Contradiction:
Improveavailability of valid resultsVSAvoidcache storage capacity
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The system stores multiple pre-computed search results with different qualities or priorities in the cache. The validation instance can select the most appropriate result based on local conditions such as recency, relevance, or computational cost, rather than uniformly storing all possible results. This optimizes cache storage by keeping only the most valuable alternatives.

Inventive Principle:
Principle #3Local quality

4Measurement precision

If validation is performed on each retrieved result, then data accuracy is ensured, but transmission load and processing time increase

Engineering Contradiction:
Improvedata accuracyVSAvoidvalidation processing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The validation instance performs validation checks on pre-computed search results before they are returned to the user. By validating results in advance and caching the validation status, the system ensures data accuracy while minimizing the time impact on query response, as the validation work is done proactively rather than reactively for each query.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11762854B2Extended caching and query-time validation
Publication Date: 2023.09.19 AMADEUS SAS
  • US11762854B2 patent drawing
  • US11762854B2 patent drawing
  • US11762854B2 patent drawing

AI summary

In a distributed computing environment comprising a frontend system with a search platform having a cache of pre-computed search results and a backend system with one or more data-bases and a validation instance, a request is received at the search platform from a client comprising one or more first key-values indicating a first data record and at least a first pre-computed search result and a second pre-computed search result for the first data record is retrieved from the cache. The validation instance evaluates a current validity of the first pre-computed search result and the second pre-computed search result retrieved from the cache and returns the first pre-computed search result to the client device, or in response to evaluating that the first pre-computed search result is invalid and the second pre-computed search result is valid, returns the second pre-computed search result to the client.