Cached UI Element Rendering for Resource-Constrained Media Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Media devices, such as streaming media devices, have limited computing capabilities and face challenges in running applications due to processing and storage demands, often lacking support for normal web browsers.

Innovation Solution

A cloud-based execution environment separates applications into a user renderer context on the media device for input/output functions and a user programmer context on a cloud computing system for business logic, using standard languages like JavaScript for development and debugging, allowing media devices to leverage cloud computing resources for enhanced application execution and development.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If applications are executed locally on media devices, then processing speed may be adequate for basic functions, but computing capability and storage capacity are insufficient for complex applications

Engineering Contradiction:
Improvecomputing capabilityVSAvoiddevice complexity
Core Design Contradiction:
PowerVSDevice complexity

Solution Approach 1:

The application is divided into two contexts: user renderer context executed locally on the media device for I/O functions, and user programmer context executed remotely on cloud computing systems for business logic. This segmentation allows complex computations to be performed in the cloud while keeping the device simple.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A cloud computing system acts as an intermediary between the media device and the application execution environment. The cloud system provides the necessary computing power and storage capacity, while the media device maintains control over I/O operations and user experience.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Power

If more processing power and storage are added to media devices, then application execution capability improves, but device cost increases

Engineering Contradiction:
Improveprocessing powerVSAvoiddevice affordability
Core Design Contradiction:
PowerVSEase of manufacture

Solution Approach 1:

The heavy processing and storage requirements are extracted from the media device and placed in cloud computing systems. This allows media devices to remain affordable with minimal local resources while still supporting complex applications through remote execution.

Inventive Principle:
Principle #2Taking out (Extraction)

3Manufacturing precision

If drawing instructions are executed for each UI element, then rendering accuracy is maintained, but rendering performance deteriorates due to repeated processing

Engineering Contradiction:
Improverendering accuracyVSAvoidrendering performance
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

UI element representations are pre-computed and stored in a memory as cached data. When the same UI element needs to be rendered again, the cached representation is retrieved and used directly, bypassing the need to re-execute drawing instructions. This preliminary action maintains rendering accuracy while dramatically improving performance.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250284564A1Optimized rendering of a user interface
Publication Date: 2025.09.11 ROKU INC
  • US20250284564A1 patent drawing
  • US20250284564A1 patent drawing
  • US20250284564A1 patent drawing

AI summary

Provided herein are systems, apparatuses, articles of manufacture, methods and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for optimizing the rendering of a user interface (UI). For example, a first set of drawing instructions configured to render a first UI element for a graphical UI (GUI) is obtained. A determination is made that a representation of the first UI element is stored in a memory. In response to determining that the representation of the first UI element is stored in the memory, execution of the first set of drawing instructions is bypassed. The representation of the first UI element is obtained from the memory based on bypassing execution of the first set of drawing instructions. The obtained representation of the first UI element is rendered for the GUI.