Download Prioritization via Dynamic Resource Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
When multiple files are downloaded concurrently from a cloud service, local client resources may be insufficient, leading to unnecessary delays in downloading priority files, such as a word processing document or spreadsheet, as background processes like photo or music synchronization start downloading before the user needs them.
Innovation Solution
A method and apparatus that prioritize download requests based on the type of process initiating the request, allowing high-priority requests to allocate more resources and potentially pause or cancel lower-priority downloads to ensure timely access to critical files, while also staggering downloads to manage resource allocation efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple files are downloaded concurrently from cloud service, then the download throughput is improved, but the local client resources become insufficient and high-priority files experience unnecessary delays
Solution Approach 1:
The system dynamically changes the priority parameter of download requests based on the initiating process type. User-initiated downloads are assigned high priority, background synchronization processes are assigned low priority, and the system monitors and adjusts priorities in real-time. This allows the download manager to allocate bandwidth and resources dynamically, ensuring high-priority files are downloaded quickly while maintaining overall system productivity through concurrent downloads.
2Productivity
If background processes like photo or music synchronization start downloading before user needs them, then the synchronization service completes its task, but the user experience deteriorates due to resource contention
Solution Approach 1:
The system applies different quality levels of service to different download requests based on their priority. High-priority user-initiated downloads receive preferential treatment in terms of bandwidth allocation, connection management, and resource allocation, while background synchronization processes receive standard or reduced resources. This local differentiation ensures user experience is not degraded by background operations while still allowing synchronization to complete.
3Device complexity
If the download manager allocates resources to all concurrent downloads equally, then resource allocation is simple, but high-priority files cannot be downloaded quickly enough
Solution Approach 1:
The resource allocation system is dynamic rather than static. The download manager continuously monitors the priority of active download requests and adjusts resource allocation in real-time. When a high-priority download is detected, the system dynamically increases its bandwidth allocation and may throttle lower-priority downloads. This dynamic approach achieves fast download speeds for priority files without requiring complex manual configuration, as the system adapts automatically based on priority hints from the operating system.
Data Source
AI summary
A method and apparatus of a device that downloads an object from a cloud service provider is described. In an exemplary embodiment, the device receives a download request for the object from a process running on a device. The device further determines a priority hint associated with the process for the download request. In addition, the device starts a download process using the download request and the priority hint. Furthermore, the device determines a change in the priority hint of the process during the download. The device additionally changes a characteristic of the download process in response to the change in the priority hint. The device further stores the object.


