Cache Refresh Prioritization via Query and Update Frequency Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Caches in computing scenarios often face challenges in maintaining freshness due to limited resources, as they may not be notified of changes in source items, leading to stale data, especially in dynamic environments like the Worldwide Web, where items are updated at varying frequencies, making it difficult to allocate refreshing resources efficiently.

Innovation Solution

An allocation strategy is employed to prioritize cache refreshing resources based on predicted query frequencies and update frequencies of items, using probabilistic classifiers to identify higher priority items that need more frequent refreshing, thereby reducing the likelihood of serving stale data.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the cache refreshes all items frequently to maintain freshness, then the reliability of cached data is improved, but the consumption of computing resources (download capacity, processing power) increases significantly

Engineering Contradiction:
Improvefreshness of cached dataVSAvoidcomputing resources for refreshing
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by differentiating refresh strategies for different items based on their individual characteristics. Instead of uniformly refreshing all items, the system assigns different priority levels and refresh frequencies to different cache items based on their volatility, access patterns, and staleness risk, thereby optimizing resource allocation while maintaining necessary data freshness.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically changes the refresh parameter (frequency) based on the predicted volatility of each item. By adjusting the refresh interval according to predicted volatility estimates, the system adapts the refreshing behavior to match actual data change patterns, reducing unnecessary refreshes for stable items while ensuring frequent updates for volatile items.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If the cache uses a polling mechanism to refresh items, then the freshness of cached data is improved, but the loss of time and resources increases due to considerable computing overhead

Engineering Contradiction:
Improvefreshness of cached dataVSAvoidtime spent on cache refreshing
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements partial action by refreshing only a subset of cache items at any given time based on their priority and predicted volatility. Instead of polling all items uniformly, the system selectively refreshes high-priority items that are more likely to have changed, thereby reducing the total time spent on refreshing while maintaining data freshness for critical items.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary action by predicting item volatility before actual changes occur. By estimating the likelihood of item changes in advance, the cache can proactively prioritize which items to refresh next, avoiding wasted time polling items that are unlikely to have changed while ensuring timely refreshes for items that are predicted to be volatile.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If the cache prioritizes refreshing high-query-frequency items, then the productivity of cache usage is improved, but the reliability of low-priority items deteriorates as they become stale

Engineering Contradiction:
Improvecache hit rate for frequent queriesVSAvoidfreshness of low-priority items
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies dynamics by making the priority assignment and refresh strategy adaptive rather than static. The system continuously monitors access patterns and predicted volatility, dynamically adjusting which items receive high priority for refreshing. This allows items that become more frequently accessed or more volatile to automatically gain higher priority, ensuring that productivity gains for hot items do not permanently harm the freshness of previously low-priority items.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9213780B2Cache and index refreshing strategies for variably dynamic items and accesses
Publication Date: 2015.12.15 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9213780B2 patent drawing
  • US9213780B2 patent drawing
  • US9213780B2 patent drawing

AI summary

Many computing scenarios involve an item cache or index, comprising items corresponding to source items that may change without notice, rendering the item in the item cache or index stale. It may not be possible to guarantee the freshness of the items, but it may be desirable to reduce staleness in an efficient manner. Therefore, the refreshing of items may be prioritized by first predicting the query frequency of respective item representing the rate at which an item is retrieved from the item cache (e.g., by monitoring queries for the item), predicting an update frequency representing the rate at which the source item is updated by the source item host (e.g., by classifying the source item type), and computing a refresh utility representing the improvement in cache freshness achieved by refreshing the item. Respective items may then be prioritized for refreshing according to the computed refresh utilities.