Parallel Application File Download via Preloader Partitioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The time taken to download large application files for online games over a single network connection is inefficient, as it monopolizes bandwidth and delays the loading of the game, especially due to traffic shaping algorithms that ensure fair use among network clients.
Innovation Solution
Partitioning large application files into smaller portions that can be downloaded simultaneously over multiple network connections using a preloader application, which initiates multiple download requests and combines the file portions to form the complete application file, thereby optimizing bandwidth usage and reducing load time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If a single network connection is used to download application files, then network connection simplicity is maintained, but download time increases and bandwidth efficiency decreases
Solution Approach 1:
The patent divides a large application file into multiple smaller partitions, each downloaded through separate network connections. This segmentation allows parallel downloading across multiple connections, significantly reducing total download time while distributing bandwidth usage effectively. The file partitioning is performed on the server side, and the client receives multiple smaller files that are then reassembled into the complete application.
Solution Approach 2:
The patent transitions from single-dimension sequential downloading to multi-dimension parallel downloading by utilizing multiple network connections simultaneously. This dimensional change from one connection to many connections enables concurrent data transfer, improving bandwidth efficiency and reducing download time without requiring complex protocol changes.
2Productivity
If multiple network connections are used to download file portions simultaneously, then bandwidth efficiency improves and download time reduces, but network connection management complexity increases
Solution Approach 1:
The server performs preliminary actions by pre-partitioning the application file into multiple downloadable portions before the client requests them. This pre-processing eliminates the need for complex client-side file splitting logic and simplifies connection management, as the client only needs to download pre-prepared partitions rather than managing complex file fragmentation themselves.
Solution Approach 2:
The patent introduces an intermediary mechanism where the server acts as a mediator that manages the partitioning and distribution of file portions. The server receives a single client request, internally manages the creation and distribution of multiple file partitions across different connections, and handles the reassembly logic, thereby shielding the client from connection management complexity while achieving parallel download benefits.
3Stability of the object's composition
If the main application file is downloaded first before other components, then file dependency order is maintained, but total load time increases due to sequential downloading
Solution Approach 1:
The patent segments the application loading process into independent parallel downloads of file partitions, while maintaining logical dependency through server-side coordination. The server ensures that partitions are delivered in the correct sequence or with appropriate metadata, allowing the client to reassemble them in the proper order without waiting for sequential downloads, thus maintaining file composition stability while reducing total load time through parallel transmission.
Data Source
AI summary
Example systems and methods for downloading an application file are presented herein. In an example, configuration information for downloading the application file is received. The configuration information indicates a partition quantity indicating a number of file portions into which the application file is partitioned at one or more server computers. Network addresses for the file portions are determined based on the configuration information. A request is issued for each of the multiple file portions based on the network addresses, with the requests being issued over multiple network connections. The multiple file portions are received over the multiple network connections, with at least two of the multiple file portions being received simultaneously over separate ones of the multiple network connections. The received multiple file portions are combined to form the application file.


