Cache Time-Based Purging and Generation Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cache management systems do not efficiently purge items based on time expiration, leading to inefficient memory freeing and resource usage, particularly in JAVA-compliant runtime systems where minor garbage collection occurs less frequently.

Innovation Solution

Implementing a cache system that stores items with a scheduled validity period, purging them before promotion to an older generation, and using a threshold-based approach to retain frequently accessed items, thereby optimizing memory freeing and reducing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If items are stored in cache with indefinite retention, then cache hit rate improves, but memory pressure increases and garbage collection efficiency decreases

Engineering Contradiction:
Improvecache hit rateVSAvoidmemory freeing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by setting validity periods for cached items before they are promoted to older generations. The garbage collector proactively identifies and purges items that have expired based on their validity periods, rather than waiting for memory pressure to force purging. This advance timing ensures items are freed during minor garbage collections before promotion occurs, maintaining cache effectiveness while improving memory management efficiency.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If validity period is extended to retain items longer, then cache performance improves, but memory pressure increases and garbage collection frequency decreases

Engineering Contradiction:
Improvecache performanceVSAvoidgarbage collection resource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by stationary object

Solution Approach 1:

The patent applies parameter changes by dynamically setting validity periods based on item characteristics and cache state. Different items receive different validity periods optimized for their access patterns and computational cost. The system monitors cache metrics and adjusts validity period parameters to balance retention benefits against memory pressure, thereby optimizing the trade-off between cache performance and garbage collection resource consumption.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If items are purged frequently to free memory, then memory pressure decreases, but cache hit rate decreases

Engineering Contradiction:
Improvememory freeing frequencyVSAvoidcache hit rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where the garbage collector monitors cache metrics such as hit rates, memory pressure, and item access patterns. Based on this feedback, the system dynamically adjusts validity periods and purging strategies. When cache hit rates are high, validity periods are extended; when memory pressure increases or hit rates drop, purging becomes more aggressive. This closed-loop control optimizes the balance between memory freeing frequency and cache effectiveness.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7480767B2Cache with time-based purging and computation of purged items
Publication Date: 2009.01.20 SAP SE
  • US7480767B2 patent drawing
  • US7480767B2 patent drawing
  • US7480767B2 patent drawing

AI summary

Methods and apparatus, including computer program products, for purging an item from a cache based on the expiration of a period of time and having an associated process to generate an item purged from the cache. A program stores a first item in a cache with an indication of a process to generate the first item, schedules a validity period for the first item, and purges the first item from the cache when the validity period has expired. The validity period may be optimized to be less than a period of time after which the first item would be promoted from a first generation of the cache to a second generation of the cache and invalid objects in the first generation of the cache are freed from memory more frequently than invalid objects in the second generation of the cache.