Dynamic Backup Encoding for Live Content Streams

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for encoding content for various user devices require significant computing resources to prepare redundant or backup versions, which are often unnecessary and inefficient due to the low likelihood of their usage.

Innovation Solution

A system where a computing device determines the necessary representations and backup representations of a content stream and requests temporary access to preemptible instance computing devices to encode them, optimizing resource usage by encoding only what is needed based on viewer data and probability of usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If backup versions of each representation are encoded to ensure content availability, then reliability of content delivery is improved, but computing resources are excessively consumed

Engineering Contradiction:
Improvecontent availabilityVSAvoidcomputing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system dynamically determines whether to encode backup representations based on real-time conditions such as primary encoder status, viewer device characteristics, and network conditions. Instead of statically encoding all backup versions, the system adapts its encoding decisions to current operational needs, encoding backups only when necessary to maintain content availability while reducing unnecessary resource consumption.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of backup encoding from a fixed state (always encode) to a conditional state (encode based on probability and need). By evaluating factors such as the likelihood of primary encoder failure, viewer device capabilities, and content importance, the system adjusts whether to allocate computing resources for backup encoding, thereby optimizing the balance between reliability and resource usage.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If multiple representations are encoded for various user devices, then adaptability to different devices is improved, but device complexity increases

Engineering Contradiction:
Improvedevice compatibilityVSAvoidencoding system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the encoding process by dividing user devices into different categories or groups based on their capabilities (e.g., mobile devices, tablets, desktops, smart TVs). Instead of treating all devices uniformly, the system creates separate encoding paths for different device segments, determining which representations are needed for each segment. This reduces overall system complexity by avoiding the need to encode all possible representations for all device types simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements a universal encoding framework that can handle multiple device types through a single adaptive process. Rather than maintaining separate complex encoding systems for each device category, the system uses a multi-functional encoder that can dynamically adjust its output based on the target device type. This universal approach simplifies the overall system architecture while maintaining broad device compatibility.

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

Data Source

PatentUS20230010330A1Methods and systems for streaming content
Publication Date: 2023.01.12 COMCAST CABLE COMM LLC
  • US20230010330A1 patent drawing
  • US20230010330A1 patent drawing
  • US20230010330A1 patent drawing

AI summary

A computing device may receive a stream of content (e.g., a live stream of content). The computing device may determine a plurality of representations for the stream of content. The computing device may determine a primary encoder associated with each of the plurality of representations. Determining the primary encoder may be based on the plurality of representations. The computing device may determine viewer data associated with the stream of content. The computing device may determine whether to encode a backup representation for at least one of the plurality of representations. Determining whether to encode the backup representation may be based on the viewer data associated with the stream of content. The computing device may cause at least one backup encoder to encode the backup representation for the at least one of the plurality of representations.