Streaming Media Player Pre-fetching for Channel Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional streaming media approaches require significant time and resources for channel switching due to the need to shut down and reestablish media players, acquire new stream metadata, and obtain new DRM licenses, leading to inefficient media rendering processes.

Innovation Solution

A streaming media player architecture that separates functions into distinct components for fetching and rendering media, allowing for pre-fetching of initialization data, manifest data, and DRM data for predicted channels, enabling faster channel switching without the need to re-instantiate components or re-collect information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single component media player is used to access network resources and render media, then the device structure is simple, but channel switching requires significant time due to shutting down and reestablishing the media player

Engineering Contradiction:
Improvemedia player structureVSAvoidchannel switching time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The media player is divided into separate components: a first media player instance handles current channel rendering, while a second media player instance is instantiated to pre-fetch data for the target channel. This segmentation allows parallel operations without interfering with the current playback, resolving the contradiction between simple structure and fast switching.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A second media player instance is instantiated in advance to pre-fetch initialization data, manifest data, and DRM data for the target channel before the user actually switches channels. This preliminary action prepares all necessary data ahead of time, eliminating the time penalty normally associated with channel switching while maintaining a simple overall system architecture.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If conventional channel switching is implemented by shutting down and reestablishing media players, then component instantiation is simple, but the process takes significant time and resources

Engineering Contradiction:
Improvechannel switching processVSAvoidchannel switching speed
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

Instead of waiting until channel switching is required to fetch data, the system instantiates a second media player instance that proactively pre-fetches all necessary data (initialization data, manifest data, DRM data) for the target channel in advance. This preliminary action transforms the switching process from a time-consuming sequential operation to a fast operation that simply needs to switch references between player instances.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A second media player instance is created as a copy of the first, specifically to handle pre-fetching operations for the target channel. This copying approach allows the system to maintain a ready-to-use player instance with all necessary data already acquired, eliminating the need to re-establish player connections and acquire data during the actual channel switch.

Inventive Principle:
Principle #26Copying

3Reliability

If all media data is fetched at the time of channel switching, then data freshness is ensured, but the switching time increases significantly

Engineering Contradiction:
Improvedata freshnessVSAvoidchannel switching time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The second media player instance fetches initialization data, manifest data, and DRM data for the target channel in advance, before the user initiates channel switching. This preliminary data acquisition ensures that when the user does switch channels, all data is already fresh and ready, eliminating the time penalty while maintaining data reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The second media player instance acts as an intermediary that handles all data acquisition operations for the target channel in advance. This intermediary component fetches data asynchronously without blocking the current playback, ensuring data freshness is achieved while the actual channel switching remains fast since the data is already prepared.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If a single media player component is used, then resource management is simple, but DRM license acquisition must be reestablished during channel switching

Engineering Contradiction:
Improvecomponent managementVSAvoidDRM license acquisition time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system segments DRM license acquisition into two separate player instances: the first player instance maintains the current DRM license while playing, and the second player instance acquires the new DRM license for the target channel in advance. This segmentation allows DRM license acquisition to occur parallel to current playback without interrupting service or requiring re-establishment during the actual channel switch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The second media player instance acquires DRM data and licenses for the target channel in advance, before the user initiates channel switching. This preliminary DRM license acquisition eliminates the time penalty normally associated with DRM re-establishment during channel switching, while the first player instance continues to manage the current license without interruption.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11695986B2Pre-fetching of information to facilitate channel switching
Publication Date: 2023.07.04 AT&T INTELLECTUAL PROPERTY I L P
  • US11695986B2 patent drawing
  • US11695986B2 patent drawing
  • US11695986B2 patent drawing

AI summary

Aspects of the subject disclosure may include, for example, receiving, for a selected channel, a first video; processing the first video for rendering on a display being viewed by a user; selecting from among a plurality of channels a subset of channels for which to pre-fetch data, the selecting being according to predictions that each channel of the subset of channels is more likely to be requested by the user than each channel of the plurality of channels that is not part of the subset; prioritizing the subset of channels such that a first channel of the subset of channels has a priority over a second channel of the subset of channels, the first channel being given the priority based upon a prediction that the first channel is more likely to be requested by the user than the second channel; pre-fetching, for the first channel, first data of a first type and second data of a second type; and pre-fetching, for the second channel, third data of the first type without pre-fetching any data of the second type. Other embodiments are disclosed.