Concurrent Video Downloading via Dynamic Thread Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Video streaming systems face limitations in transmitting high-quality video due to network issues such as packet loss and resource competition, which reduce bandwidth and affect video quality, especially when using single connections for data transmission.

Innovation Solution

Implementing concurrent downloading of video segments via multiple connections using multiple threads, with a bandwidth estimation process that accounts for aligned time windows and thread contributions to optimize thread allocation and increase overall bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple threads are used to download video segments concurrently, then bandwidth utilization and video quality improve, but system complexity and resource management difficulty increase

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the video stream into multiple segments and uses multiple threads to download different segments concurrently. Each thread independently manages a portion of the video data, allowing parallel downloads that increase overall bandwidth utilization while distributing the complexity across multiple manageable units

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts the number of active threads based on network conditions, buffer status, and system resources. The thread pool size and concurrency level are not fixed but adapt in real-time to optimize performance while preventing resource exhaustion, thereby managing complexity through dynamic control rather than static configuration

Inventive Principle:
Principle #15Dynamics

2Speed

If more threads are allocated for downloading, then download speed and video quality improve, but resource consumption and risk of rebuffering increase

Engineering Contradiction:
Improvedownload speedVSAvoidresource consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system continuously monitors download progress, buffer levels, and system resource usage, using this feedback to dynamically adjust the number of active threads. When resources are sufficient and buffer levels are low, more threads are activated to increase download speed. When resources are constrained or buffers are adequately filled, threads are reduced or paused to prevent resource exhaustion and rebuffering

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent changes key operational parameters such as thread count, download priority, and concurrency level based on real-time system state. These parameter adjustments allow the system to optimize download speed while maintaining resource consumption within acceptable limits, preventing both resource exhaustion and rebuffering events

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If a single connection is used for video transmission, then system simplicity is maintained, but bandwidth utilization and video quality are limited

Engineering Contradiction:
Improveconnection management simplicityVSAvoidbandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent transitions from single-dimensional sequential downloading over one connection to multi-dimensional concurrent downloading across multiple threads and connections. This dimensional expansion allows the system to utilize available bandwidth more effectively by operating in parallel download lanes, overcoming the bandwidth limitations of single-connection architectures

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS12149760B2Concurrent downloading of video
Publication Date: 2024.11.19 HULU LLC
  • US12149760B2 patent drawing
  • US12149760B2 patent drawing
  • US12149760B2 patent drawing

AI summary

In some embodiments, after receiving a first set of video segments of a video, a method starts a first computing instance and receives a video segment of the video using the first computing instance. A measurement is calculated based on receiving the video segment. The method uses the measurement to determine whether the first computing instance should continue to be used to receive video segments in the video or should be terminated to not receive video segments in the video.