Concurrent Video Downloading via Dynamic Thread Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Speed
If more threads are allocated for downloading, then download speed and video quality improve, but resource consumption and risk of rebuffering increase
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
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
3Device complexity
If a single connection is used for video transmission, then system simplicity is maintained, but bandwidth utilization and video quality are limited
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
Data Source
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.


