Adaptive Stream Player Cache Control for Offline Playback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Stream players lack control over caching mechanisms, which limits their ability to adapt to changing client conditions and operate effectively in offline scenarios or utilize cached content for features like rewind and pause.

Innovation Solution

An adaptive stream player with a cache control component that determines whether to cache or retrieve stream portions from a local cache, allowing it to request and manage stream portions based on current system conditions, thereby enabling offline operation and enhanced user controls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the browser's native caching mechanism is used, then content can be cached for faster future requests, but the stream player loses control over caching decisions and cannot adapt to changing client conditions

Engineering Contradiction:
Improvestream retrieval speedVSAvoidcaching control adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a cache control component as an intermediary layer between the stream player and the browser's native caching mechanism. This component intercepts stream portions, determines whether they should be cached based on current client conditions, and manages the caching decisions. The intermediary approach allows the stream player to maintain control over caching while still utilizing the browser's caching capability for improved retrieval speed.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The stream player continuously monitors client conditions (such as network bandwidth, processing power, and memory availability) and uses this feedback to dynamically adjust caching decisions. The cache control component receives feedback about current system state and adapts its caching strategy accordingly, enabling the system to optimize both retrieval speed and resource utilization based on real-time conditions.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If all stream portions are cached locally, then offline access and rewind/pause features are enabled, but system memory and storage resources are consumed

Engineering Contradiction:
Improveoffline operation capabilityVSAvoidmemory and storage usage
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent applies local quality by making caching decisions specific to individual stream portions rather than uniformly caching all content. The cache control component evaluates each stream portion's characteristics (such as importance, size, and likelihood of being requested again) and applies different caching strategies to different portions. This allows the system to enable offline access for critical content while limiting storage usage for less important content.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Instead of caching all stream portions (excessive action), the system implements partial caching by selectively caching only those stream portions that are most likely to be needed for offline access or replay features. The cache control component uses heuristics to determine which portions to cache, achieving sufficient offline functionality without consuming excessive storage resources.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If the stream player requests stream portions frequently to adapt to changing conditions, then adaptive streaming quality improves, but network bandwidth and processing overhead increase

Engineering Contradiction:
Improvestream quality adaptabilityVSAvoidnetwork and processing resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary actions by pre-fetching and caching stream portions before they are actually needed for playback. The cache control component anticipates future streaming needs based on current conditions and pre-loads appropriate content into the cache. This reduces the need for frequent real-time network requests, thereby lowering network bandwidth consumption and processing overhead while maintaining adaptive streaming quality.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8725947B2Cache control for adaptive stream player
Publication Date: 2014.05.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8725947B2 patent drawing
  • US8725947B2 patent drawing
  • US8725947B2 patent drawing

AI summary

An adaptive stream player that has control over whether a retrieved stream is cached in a local stream cache. For at least some of the stream portions requested by the player, before going out over the network, a cache control component first determines whether or not an acceptable version of the stream portion is present in a stream cache. If there is an acceptable version in the stream cache, that version is provided rather than having to request the stream portion of the network. For stream portions received over the network, the cache control component decides whether or not to cache that stream portion. Thus, the cache control component allows the adaptive stream player to work in offline scenarios and also allows the adaptive stream player to have rewind, pause, and other controls that use cached content.