Dual Cache Content Expiration via Next Package

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional caching methods, such as TTL and time of expiration, are not consistently predictable and workable with irregular client usage, leading to potential rendering of expired content when the client is not launched on a regular basis, resulting in an inopportune switch to new content.

Innovation Solution

Defining the expiration of content in a cache queue by using an expiration value from a subsequent content package, where the current content remains valid until replaced by new content, ensuring predictable turnover and seamless user experience even with irregular client usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If TTL or time of expiration caching is used, then content can be cached locally for offline access, but content may expire before replacement content is ready, leading to gaps in content availability

Engineering Contradiction:
Improvecontent validity durationVSAvoidcontent availability reliability
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The system performs preliminary action by downloading and storing replacement content in advance before the current content expires. The client device proactively fetches next content while current content is still valid, ensuring seamless transition without content gaps or expiration issues.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The caching mechanism is segmented into current content and next content phases. The cache queue is divided such that current content is being rendered while next content is being prepared in the background, allowing independent management of content lifecycle stages and ensuring continuous availability.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If content defines its own expiration time, then caching management is simplified, but turnover into new content is not predictable and may occur at inopportune times

Engineering Contradiction:
Improvecaching management complexityVSAvoidcontent turnover timing
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system uses feedback mechanisms where the client device monitors its own usage patterns and launch times. This feedback information is used to intelligently determine when to download next content and when current content should expire, creating predictable turnover that aligns with actual usage rather than fixed time intervals.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The content expiration and turnover mechanism is made dynamic rather than static. Instead of fixed TTL or expiration times, the system adapts content lifecycle management based on irregular client usage patterns, making the caching behavior flexible and responsive to actual demand while maintaining predictability.

Inventive Principle:
Principle #15Dynamics

3Ease of manufacture

If content expires based on fixed time intervals, then caching implementation is straightforward, but user experience deteriorates when client is not launched regularly causing expired content to be rendered or inopportune switches

Engineering Contradiction:
Improvecaching implementation easeVSAvoiduser experience quality
Core Design Contradiction:
Ease of manufactureVSEase of operation

Solution Approach 1:

The system implements self-service by automatically managing content downloads and cache updates without requiring user intervention. The client device autonomously monitors content expiration, downloads next content in advance, and performs seamless transitions, eliminating the need for users to manually refresh or manage content while ensuring optimal user experience despite irregular usage.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9122766B2Replacement time based caching for providing server-hosted content
Publication Date: 2015.09.01 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9122766B2 patent drawing
  • US9122766B2 patent drawing
  • US9122766B2 patent drawing

AI summary

A system is provided in which two sets of content are cached in a corresponding two caches—a current cache and a next cache. A client renders content in the current cache and uses the next cache to define the expiration for the content in the current cache as well as provide the replacement content when the current content expires. When a client application renders the content in the current cache, the application checks whether the expiration for the current cache has been reached according to the expiration defined by the content in the next cache (which is not being rendered). If the expiration has been reached, the content in the next cache is moved to the current cache and rendered. New content can then be downloaded to fill the next cache and define the expiration for the content formerly in the next cache but now in the current cache.