Cache Manager Reference Counting for Image Sharing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems face inefficiencies in managing image storage and retrieval, particularly in graphical user interfaces, where storing and accessing images of varying sizes leads to processing overhead due to timestamp management and repeated requests for larger image versions, resulting in increased storage and processing costs.

Innovation Solution

The Cache Manager system allows multiple active views to share locally stored images by using reference counters to track instances of image display, enabling efficient reuse of larger-sized images without the need for repeated requests from the image repository, while delaying the removal of images from cache to optimize storage usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If conventional systems store images at small sizes for quick access and display, then image rendering speed is improved, but image quality deteriorates when larger sizes are needed

Engineering Contradiction:
Improveimage rendering speedVSAvoidimage quality
Core Design Contradiction:
SpeedVSManufacturing precision

Solution Approach 1:

The system segments image storage into multiple size versions (small thumbnails and large original images). Small images are stored in cache for quick display during scrolling, while large images are stored separately in the image repository. When users need to view images in larger size, the system retrieves the appropriate large version without requiring re-fetching or re-computation, thus resolving the contradiction between fast rendering and high quality.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If conventional systems store maximum image data in memory, then image availability is improved, but processing overhead increases due to timestamp management

Engineering Contradiction:
Improveimage data storage capacityVSAvoidprocessing overhead
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system extracts the timestamp management complexity from the core cache management process. Instead of continuously monitoring and sorting all cached images by timestamp, the system only tracks reference counts for images that have been displayed. This extraction of the timing-based management complexity reduces processing overhead while maintaining effective cache utilization.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The cache management system uses reference counts to automatically determine which images to retain or remove. Each cached image maintains a reference count that increments when displayed and decrements when no longer needed. When the reference count reaches zero, the image is automatically removed from cache. This self-service mechanism eliminates the need for continuous timestamp monitoring and sorting algorithms.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If conventional systems continuously monitor and manage image time stamps, then image eviction accuracy is improved, but processing overhead increases

Engineering Contradiction:
Improveimage eviction accuracyVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system implements self-service cache management through reference counting. Each image in the cache maintains a reference count that automatically tracks how many active views are displaying it. When an image is no longer referenced (count reaches zero), it is automatically evicted from cache. This eliminates the need for continuous timestamp monitoring and sorting algorithms, significantly reducing processing overhead while maintaining accurate eviction decisions.

Inventive Principle:
Principle #25Self-service

4Reliability

If multiple active views request the same larger-sized image independently, then image availability is improved, but storage costs increase due to redundant requests

Engineering Contradiction:
Improveimage availabilityVSAvoidstorage costs
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system merges multiple independent image requests into a single cache-shared resource. When one active view requests a large-sized image, it is fetched from the image repository and stored in the cache with a reference count. Subsequent requests from other active views for the same image are served from the cache without triggering additional repository requests. The reference count ensures the image remains in cache as long as any view needs it, eliminating redundant storage and network operations.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS8095885B1Counting references to images displayed in multiple views
Publication Date: 2012.01.10 ADOBE INC
  • US8095885B1 patent drawing
  • US8095885B1 patent drawing
  • US8095885B1 patent drawing

AI summary

Methods and apparatus provide for a Cache Manager to display a scaled image in an active view. The scaled image comprises the same content as an image from a stored collection of images, which is accessible by a plurality of active views in a user interface. The Cache Manager refreshes the active view to replace the displayed scaled image with a larger-sized image, which comprises the same content as the displayed scaled image. A reference counter associated with the larger-sized image is maintained to keep track of instances of display of the larger-sized image by any of the plurality of active views. The Cache Manager allows any other active view to use the larger-sized image while a current value of the reference counter is greater than zero.