Parallel Content Download Thread Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content management systems often create unnecessary threads during parallel content downloading, leading to inefficiencies due to inadequate mechanisms for determining when to split the download process based on network latency and remaining download time.

Innovation Solution

A method and system that determine whether to split the content download into multiple threads based on network latency and remaining download time, using a threshold download time and estimated download speed to optimize thread allocation and reduce unnecessary thread creation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiple threads are spawned for parallel downloading, then download speed is improved, but unnecessary threads are created leading to system inefficiency

Engineering Contradiction:
Improvedownload speedVSAvoidthread management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system dynamically changes thread allocation parameters based on network latency metrics and remaining download time. By monitoring these parameters in real-time, the system adjusts the number of active threads to optimize download speed while avoiding unnecessary thread creation that would increase system complexity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring network latency and download progress. This feedback loop allows the system to make informed decisions about thread spawning, ensuring that threads are created only when they will actually improve download performance rather than adding unnecessary complexity

Inventive Principle:
Principle #23Feedback

2Loss of time

If threads are spawned early for parallel downloading, then download time is reduced, but network latency causes inefficient thread utilization

Engineering Contradiction:
Improvedownload timeVSAvoidthread utilization efficiency
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs preliminary actions by establishing connection pools and preparing thread infrastructure in advance, but delays actual thread spawning until network latency metrics indicate it will be beneficial. This allows the system to be ready for parallel downloading without creating threads prematurely, thus reducing download time while maintaining reliable thread utilization

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system makes thread allocation dynamic rather than static. Threads are spawned and terminated based on real-time network conditions and download progress, allowing the system to adapt to changing network latency and utilize threads efficiently only when conditions are favorable

Inventive Principle:
Principle #15Dynamics

3Productivity

If the downloading process is split into multiple parts, then download efficiency is improved, but thread allocation becomes more complex

Engineering Contradiction:
Improvedownload efficiencyVSAvoidthread allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The downloading process is segmented into multiple parts handled by different threads, which improves download efficiency through parallel processing. However, the system manages this segmentation complexity by using a centralized thread manager that automatically allocates and coordinates threads based on simple metrics like network latency and remaining download time, rather than requiring complex manual thread allocation logic

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12047474B1Method and system for parallel content download
Publication Date: 2024.07.23 OPEN TEXT CORPORATION
  • US12047474B1 patent drawing
  • US12047474B1 patent drawing
  • US12047474B1 patent drawing

AI summary

A computer-implemented method for parallel downloading of content includes connecting to a server through which a content is available, starting to download the content from the server to a client computer, determining whether to split the downloading of the content based on a set of factors, the set of factors comprising a network latency metric and a remaining download time to download a remaining amount of the content and based on a determination to split the downloading of the content, and in parallel to downloading a first part of the content from the server to the client computer, connecting to the server and downloading an additional part of the content from the server to the client computer.