Shared Media Buffer Allocation for Dynamic Player Instances

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Consumer media devices face challenges in efficiently utilizing memory for multiple player instances due to fragmentation when dynamically adding or removing players, leading to non-contiguous memory allocation that hinders efficient playback of multiple content items.

Innovation Solution

Implementing a single storage buffer with dynamically sized virtual buffers for each player, managed by a buffer management controller, which allows flexible allocation and consolidation of non-contiguous regions into contiguous regions, optimizing memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If separate storage buffers are allocated for each player instance, then each player can have dedicated memory space, but memory fragmentation occurs when players are dynamically added or removed

Engineering Contradiction:
Improvededicated memory spaceVSAvoidmemory fragmentation
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges multiple separate storage buffers into a single shared storage buffer that serves all player instances. This consolidation eliminates memory fragmentation by providing a unified memory space that can be dynamically allocated to any player without creating fragmented regions. The buffer management controller tracks and manages the single buffer to provide dedicated space to each player when needed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic buffer allocation where the single storage buffer is dynamically divided into virtual buffers for different player instances based on current system state. When players are added or removed, the buffer management controller dynamically adjusts the allocation of memory regions within the single buffer, preventing fragmentation while maintaining dedicated space for active players.

Inventive Principle:
Principle #15Dynamics

2Device complexity

If a fixed number of storage buffers are allocated, then memory management is simplified, but the system cannot adapt to dynamic player additions or removals

Engineering Contradiction:
Improvememory managementVSAvoiddynamic player support
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent creates a universal single storage buffer that serves multiple player instances simultaneously. This single buffer is designed to be multi-functional, accommodating any number of players dynamically through virtual buffer creation. The buffer management controller provides universal access control, allowing the same physical buffer to be allocated to different players as needed without requiring separate fixed buffers for each potential player.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system transitions from static buffer allocation to dynamic buffer allocation. The single storage buffer dynamically adapts its internal structure by creating, expanding, or shrinking virtual buffers based on player addition or removal. This dynamic behavior allows the system to support variable player counts while maintaining simplified memory management through a single unified buffer structure.

Inventive Principle:
Principle #15Dynamics

3Quantity of substance

If non-contiguous memory regions are allocated to players, then memory utilization increases, but playback efficiency decreases due to non-contiguous allocation

Engineering Contradiction:
Improvememory utilizationVSAvoidplayback efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the single storage buffer into multiple virtual buffers, each representing a contiguous memory region allocated to a specific player. This segmentation allows efficient contiguous memory access for each player while maintaining high overall memory utilization through the shared buffer. The buffer management controller manages these segments dynamically, ensuring each player receives a contiguous region when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically assigns contiguous memory regions within the single buffer to players based on current demands. When players are active, the buffer management controller allocates contiguous virtual buffer regions to them, ensuring playback efficiency. This dynamic contiguity assignment maintains high memory utilization while guaranteeing efficient access patterns for active players.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12563242B2Utilizing a single buffer for a dynamic number of players, each using a dynamically sized buffer
Publication Date: 2026.02.24 ROKU INC
  • US12563242B2 patent drawing
  • US12563242B2 patent drawing
  • US12563242B2 patent drawing

AI summary

Disclosed herein are system, apparatus, article of manufacture, method and/or computer program product embodiments, and/or combinations and sub-combinations thereof, for utilizing a single storage buffer for a dynamic number of players, each using a dynamically sized virtual buffer. For example, a system includes a buffer management controller that receives a request to initiate at least one player instance for displaying a content item. The buffer management controller creates a virtual buffer having a maximum capacity for the player instance. Finally, the buffer management controller identifies one or more available regions of the single storage buffer and maps the virtual buffer to the one or more available regions in response to determining that address space in the one or more available regions matches or exceeds the maximum capacity of the virtual buffer.