Session Query Result Subset Caching to Reduce Memory Waste
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing caching solutions waste cache memory and computational resources due to an 'all or nothing' approach, failing to account for minor variations in query parameters and performing unnecessary cache lookups, leading to inefficient caching and resource wastage.
Innovation Solution
Implement a system that performs cache lookups based on query parameters, retrieving matching result subsets instead of entire outputs when query parameters have changed, thereby reducing cache usage and computational resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If an all or nothing approach is used for caching query results, then cache lookup simplicity is maintained, but cache memory efficiency deteriorates due to storing entire results even when only minor parameter changes occur
Solution Approach 1:
The patent segments query results into individual result components corresponding to specific query parameters. Instead of caching entire query results as a single unit, the system divides results into separable elements that can be independently cached and retrieved based on which parameters have changed, thereby improving cache memory efficiency while maintaining operational simplicity.
2Reliability
If cache lookups are performed for every query regardless of parameter changes, then cache hit accuracy is maintained, but computational resource efficiency deteriorates due to unnecessary lookups
Solution Approach 1:
The patent implements a dynamic cache lookup strategy that adapts based on query parameter changes. The system dynamically determines whether to perform a cache lookup by comparing current query parameters with previously cached parameters, performing lookups only when necessary (when parameters have changed), thereby maintaining cache hit accuracy while reducing unnecessary computational overhead.
3Device complexity
If entire query results are cached as single units, then implementation complexity is reduced, but cache utilization efficiency deteriorates when only minor parameter variations occur
Solution Approach 1:
The patent segments query results into individual result components that correspond to specific query parameters. This segmentation allows the system to cache only the relevant result portions when parameters change, dramatically improving cache utilization efficiency. While this increases implementation complexity compared to simple all-or-nothing caching, the patent manages this complexity through systematic parameter tracking and result component mapping.
Solution Approach 2:
The patent applies local quality by treating different result components with different caching strategies based on their associated query parameters. Instead of uniformly caching all results, the system selectively caches specific result portions based on which parameters have changed, optimizing cache utilization for each local component rather than applying a blanket approach to the entire result set.
4Speed
If duplicate result data is cached for different query parameters, then data retrieval speed is maintained, but cache memory waste increases due to storing redundant information
Solution Approach 1:
The patent segments query results into reusable components that can be independently cached. When similar queries are received, the system retrieves only the relevant result components from cache rather than storing and retrieving entire duplicate result sets. This segmentation approach maintains fast retrieval speeds for needed data while eliminating cache memory waste from storing redundant duplicate information.
Solution Approach 2:
The patent merges multiple query results by identifying and combining common result components across different queries. Instead of storing separate duplicate results for each query, the system merges identical or similar result portions into shared cache entries, maintaining retrieval speed by keeping merged results accessible while significantly reducing the total amount of cached data required.
Data Source
AI summary
In some embodiments, reducing usage of cache memory in connection with user queries may be facilitated. In some embodiments, in connection with a first query, (i) a first set of results received during a user session and (ii) a first output generated from the first set of results are stored in a session cache associated with the user session. In response to determining that a second query parameter of a second query corresponds to a first query parameter of the first query but fails to satisfy a match criterion: a cache lookup is performed on the session cache to retrieve a matching result subset of the first set of results, in lieu of retrieving the first output generated from the first set of results, where the matching result subset does not include a result corresponding to the first query parameter. A second output is then generated.


