Cache Object Deletion Prioritization via Age Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional cache management techniques do not effectively prioritize the deletion of cache objects, leading to the removal of newer internally-accessed objects instead of older externally-accessed objects when internal caches are full, resulting in inefficient memory management.

Innovation Solution

A method that tracks the time externally-accessed objects spend in external caches, queues them based on their age, and prioritizes their deletion alongside internally-accessed objects, ensuring that older objects with longer times in both internal and external caches are deleted first.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional cache management techniques are used to delete cache objects when internal caches are full, then memory can be freed for new cache objects, but newer internally-accessed objects may be deleted instead of older externally-accessed objects, resulting in inefficient memory management

Engineering Contradiction:
Improvememory management efficiencyVSAvoidcache object age tracking time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by tracking and recording the age of cache objects as they are placed in external caches before deletion decisions are made. This advance tracking ensures that when deletion is needed, the oldest objects can be quickly identified without requiring time-consuming analysis at the moment of deletion

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring cache object ages and using this information to inform deletion decisions. The age tracking feedback loop ensures that deletion priorities are dynamically adjusted based on actual object ages, preventing the deletion of recently accessed objects while prioritizing older ones

Inventive Principle:
Principle #23Feedback

2Device complexity

If cache object deletion priorities are not tracked, then the cache management system is simpler to implement, but it cannot distinguish between older and newer objects, leading to suboptimal deletion decisions

Engineering Contradiction:
Improvecache management system complexityVSAvoidcache utilization efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system applies the nesting principle by embedding age tracking metadata within the existing cache object structure. Rather than creating a separate complex tracking system, the age information is nested within each cache object's data structure, allowing the system to maintain simplicity while gaining the capability to make informed deletion decisions based on object age

Inventive Principle:
Principle #7Nested doll (Nesting)

3Productivity

If the system tracks and prioritizes deletion of externally-accessed objects based on their age in external caches, then older objects can be deleted first improving memory management, but the system must maintain additional tracking infrastructure

Engineering Contradiction:
Improvememory management efficiencyVSAvoidtracking infrastructure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system merges the age tracking function with the existing cache management infrastructure by integrating tracking logic into the cache placement and eviction processes. This consolidation allows the system to track object ages without requiring separate complex tracking systems, as the same infrastructure that manages cache objects is also used to monitor their ages

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11513967B1Systems and methods for prioritizing cache objects for deletion
Publication Date: 2022.11.29 ARCTERA US LLC
  • US11513967B1 patent drawing
  • US11513967B1 patent drawing
  • US11513967B1 patent drawing

AI summary

Provided computer-implemented methods for prioritizing cache objects for deletion may include (1) tracking, at a computing device, a respective time an externally-accessed object spends in an external cache, (2) queuing, when the externally-accessed object is purged from the external cache, the externally-accessed object in a first queue, (3) queuing, when an internally-accessed object is released, the internally-accessed object in a second queue, (4) prioritizing objects within the first queue, based on a cache-defined internal age factor and on respective times the objects spend in the external cache and respective times the objects spend in an internal cache, (5) prioritizing objects within the second queue based on respective times the objects spend in the internal cache, (6) selecting an oldest object having a longest time in any of the first queue and the second queue, and (7) deleting the oldest object. Various other methods, systems, and computer-readable media are disclosed.