Application Cache Warmth Recovery via Identifier Capture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

When an application undergoes a running state change, such as being stopped or moved to a different machine, its cache loses 'warmth,' leading to degraded performance, as the cache is not efficiently repopulated with frequently accessed data, slowing down access speeds.

Innovation Solution

The solution involves capturing cache portion identifiers and their associated 'hotness' metrics, which are used to automatically re-populate the cache from an external source while the application is operational, prioritizing data that is likely to be accessed soon, thereby speeding up access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the application is stopped or moved to a different machine, then the application can be restarted or migrated, but the cache loses warmth and performance degrades

Engineering Contradiction:
Improveapplication restart capabilityVSAvoidcache warmth
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by capturing cache portion identifiers before the running state change occurs. These identifiers are stored and later used to automatically repopulate the cache after restart, preventing the loss of cache warmth and maintaining performance reliability

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the cache is manually warmed by requesting predicted data, then cache warmth can be restored, but this requires user skill and intervention

Engineering Contradiction:
Improvecache warmthVSAvoidmanual intervention requirement
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The system implements self-service by automatically detecting lost cache warmth, retrieving the previously captured cache portion identifiers, and repopulating the cache without any manual user intervention. The system serves itself by monitoring its own state and executing recovery actions autonomously

Inventive Principle:
Principle #25Self-service

3Reliability

If the cache is repopulated via normal application workflows, then the cache eventually becomes warm, but this process is slow and affects application performance

Engineering Contradiction:
Improvecache warmthVSAvoidcache warming time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs the cache repopulation action in advance by capturing identifiers before the state change. After restart, it immediately retrieves and loads the cached data using these identifiers, bypassing the slow normal workflow progression and rapidly restoring cache warmth without impacting application performance

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If automatic cache warming is implemented, then cache warmth recovers quickly, but the system complexity increases

Engineering Contradiction:
Improvecache warming timeVSAvoidautomatic warming mechanism
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system uses copying by storing copies of cache portion identifiers in a persistent storage location before state changes. After restart, these copied identifiers are retrieved and used to quickly repopulate the cache, achieving fast recovery without complex real-time monitoring or prediction algorithms

Inventive Principle:
Principle #26Copying

Data Source

PatentEP3262511B1Automatic recovery of application cache warmth
Publication Date: 2022.03.16 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3262511B1 patent drawingFigure 1
  • EP3262511B1 patent drawingFigure 2A
  • EP3262511B1 patent drawingFigure 2B

AI summary

The automated recovery of the warmth of cache of an application that has been subject to a running state change that degraded the warmth of the cache. To prepare for a loss in warmth, the state of a cache portion identifiers are captured. Such identifies the cache portions that are within the application cache at an instant in time. Thereafter, the application experiences a change in running state that diminishes the warmth of the application cache. For instance, the application might be stopped and restarted. After and despite this cache degradation, the application may continue to operate. However, in order to warm the application cache more quickly, while the application is operating, the application cache is automatically warmed. For instance, while the application is operating, cache portions identified by the captured cache portion identifiers are automatically accessed from a source that is external to the application cache.