Per-Device Stream Limiting for Live Video Preloading

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Enforcing stream limits in video delivery services can degrade user experience during live media program switchovers, as preloading new streams may exceed user limits, leading to blocked requests and buffering issues due to the need to count active streams and determine whether new streams are for preloading or active viewing.

Innovation Solution

Implementing a per device stream limit system that allows requests based on unique device identifiers, simplifying the authorization process by not counting new streams against the limit if the device already has an open stream, enabling efficient processing of requests during high-demand switchover times and improving user experience by allowing preloading without violating stream limits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If stream limits are enforced to prevent overuse and account sharing, then service abuse is reduced, but user experience degrades during live media program switchovers due to blocked preloading requests

Engineering Contradiction:
Improveservice abuse preventionVSAvoiduser experience during switchover
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent segments the stream limit enforcement by introducing a distinction between active viewing streams and preloading streams. The system divides stream requests into two categories: those for active media program playback and those for preloading upcoming programs. This segmentation allows different limit policies to apply to each category, preventing preloading requests from being incorrectly blocked while still enforcing limits on concurrent active streams.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent enables preliminary action by allowing preloading streams to operate outside the standard stream limit constraints. Client devices can open additional streams in advance to download manifest files and prepare for upcoming media programs before the actual switchover occurs. This preliminary action ensures smooth transitions without buffering, as the preloading activity is recognized and permitted separately from active viewing streams.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If the system allows preloading of new streams before switchover, then user experience improves, but the number of concurrent streams exceeds user limits

Engineering Contradiction:
Improvepreloading capabilityVSAvoidnumber of concurrent streams
Core Design Contradiction:
Ease of operationVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by making the stream limit policy adaptive based on stream purpose. Rather than applying a static limit to all streams uniformly, the system dynamically adjusts the effective limit based on whether a stream is identified as a preloading stream or an active viewing stream. This dynamic approach allows the system to flexibly accommodate preloading activities while maintaining control over the number of active streams consuming bandwidth.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of stream limit enforcement by introducing a new parameter dimension: stream purpose (preload vs. active viewing). The system modifies how stream limits are applied by considering the functional category of each stream. Preloading streams are assigned a different limit policy parameter than active streams, allowing the total concurrent stream count to exceed traditional limits while maintaining effective control over resource consumption through purpose-based differentiation.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If the system blocks new streams to enforce limits, then stream limit compliance is maintained, but buffering and jitter occur during switchover

Engineering Contradiction:
Improvestream limit complianceVSAvoidstream playback quality
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent introduces an intermediary mechanism in the form of a stream request evaluation system that determines whether a stream request is for preloading or active viewing. This intermediary layer between the client device and the stream limit enforcement logic enables the system to differentiate stream purposes and apply appropriate policies. The intermediary prevents blanket blocking of preloading requests while still maintaining compliance with stream limits for active viewing, thereby avoiding buffering and jitter during switchovers.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If the system counts all streams toward the limit, then enforcement is simple, but preloading requests are incorrectly rejected

Engineering Contradiction:
Improveenforcement simplicityVSAvoidpreload request approval
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent segments stream counting by separating preloading streams from active viewing streams in the limit calculation. Instead of counting all streams uniformly, the system divides the stream population into distinct segments with different counting rules. Preloading streams are excluded from the active stream count that triggers limit enforcement, while still being tracked and managed separately. This segmentation resolves the contradiction by maintaining simple enforcement logic for active streams while allowing preloading requests to proceed without being incorrectly rejected.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20190200074A1Preload-Supported Concurrent Video Stream Limiting
Publication Date: 2019.06.27 HULU LLC
  • US20190200074A1 patent drawing
  • US20190200074A1 patent drawing
  • US20190200074A1 patent drawing

AI summary

In one embodiment, a request is received from a user to open a stream for an upcoming second live media program during a time period in which users request a manifest for the upcoming second live media program that will start after a first live media program ends. The method uses a per device stream limit for the user to determine whether to allow the request. A device identifier database is accessed to determine current device identifiers associated with devices that the user is currently using to receive media programs. The method determines whether a device identifier associated with a device that sent the request is found in the current device identifiers. In response to determining that the device identifier for the request is found in the current device identifiers, the request to open the stream is allowed based on determining that the per device stream limit is not violated.