Dynamic Precaching Window for Memory-Bounded Rich Media

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing computing systems face memory limitations when handling rich or mixed media content, leading to issues like application crashes, slowdowns, and instability, particularly on mobile devices with varying memory heap sizes and screen resolutions.

Innovation Solution

Implementing a dynamic precaching technique that estimates and adjusts the memory allocation for content based on distance from visibility, estimated memory consumption, screen dimensions, and maximum memory limits, recalculating in real-time as user interaction or events occur, to ensure optimal responsiveness without exceeding memory thresholds.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If content is precached in advance to improve responsiveness, then application responsiveness is improved, but memory consumption increases and may exceed memory limits

Engineering Contradiction:
Improveapplication responsivenessVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements a dynamic precaching system where the precache window size is not fixed but adapts based on available memory. The system continuously monitors memory conditions and adjusts the amount of content to precach, transforming a static memory allocation approach into a dynamic one that responds to changing system states.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of precache window size based on memory availability. When memory is abundant, a larger precache window is used to load more content ahead of time. When memory is constrained, the window shrinks to prevent exceeding memory limits, thus optimizing the balance between responsiveness and memory usage.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If a fixed precache window size is used to simplify memory management, then device complexity is reduced, but adaptability to different memory conditions and content types decreases

Engineering Contradiction:
Improvememory management complexityVSAvoidadaptability to memory conditions
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The precaching system is self-regulating through automatic memory estimation and dynamic window adjustment. The system monitors its own memory consumption and automatically adjusts the precache window size without requiring complex external memory management logic, making the system both adaptive and relatively simple to implement.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system incorporates feedback mechanisms where memory consumption is continuously monitored and fed back into the precaching logic. This feedback loop allows the system to adapt to actual memory conditions and adjust the precache window size accordingly, achieving versatility without excessive complexity.

Inventive Principle:
Principle #23Feedback

3Reliability

If rich media content is loaded to enhance user experience, then content quality is improved, but memory consumption increases leading to crashes and slowdowns

Engineering Contradiction:
Improveuser experience qualityVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system performs preliminary loading of rich media content within a dynamically determined window before it is actually needed for display. This allows high-quality media content to be prepared in advance when memory is available, improving user experience, while the dynamic window ensures that loading is stopped before memory limits are exceeded.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9442857B2Dynamic memory estimations for memory bounded applications
Publication Date: 2016.09.13 ADOBE INC
  • US9442857B2 patent drawing
  • US9442857B2 patent drawing
  • US9442857B2 patent drawing

AI summary

Techniques are disclosed for improving application responsiveness, and particularly applications used to present rich media content, by precaching nearby but not-yet-displayed content, so that content can be immediately ready to display. A precache window can be used to determine what undisplayed content is precached, in accordance with an embodiment. The size of the precache window, and hence the amount of content that can be precached for later display, is dynamic in nature and is determined based on a number of variables, such as the distance of the content from being visible and the estimated memory consumption of the content. In addition, the dynamic precache window can be recalculated in real-time in response to events and/or as the user interacts with the content in a way that causes a significant enough change to warrant a new memory limit estimate be performed. Out-of-memory errors may be handled by reducing precache window.