Application Download Block Segmentation for Reduced Wait Time

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for downloading large-capacity application programs from a service terminal to a user terminal are time-consuming due to the need for complete file transfer before installation or execution, which is inefficient in mixed network environments with varying bandwidth speeds.

Innovation Solution

Segmenting files into blocks and arranging them according to a specific read order for sequential transmission and execution, allowing initial blocks to be executed at the user terminal before subsequent blocks are transmitted, thereby reducing download time and enabling immediate application use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the complete application program is downloaded before execution, then the application can be installed and run, but the download time is excessively long for large-capacity programs

Engineering Contradiction:
Improveapplication execution guaranteeVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The application program is divided into multiple blocks (first block, second block, third block, etc.). The system downloads and executes the first block immediately, then sequentially downloads and executes subsequent blocks as needed, rather than requiring complete download before execution. This segmentation enables partial execution during the download process, significantly reducing the perceived wait time while ensuring the application can ultimately run completely.

Inventive Principle:
Principle #1Segmentation

2Stability of the object's composition

If the application program is downloaded in its entirety before installation, then the program file is complete and ready to execute, but the user must wait until download completion

Engineering Contradiction:
Improveprogram file completenessVSAvoidwaiting time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The system performs preliminary actions by downloading the first block of the application program before the complete download is finished. This first block contains sufficient information to initiate execution, allowing the user to start using the application immediately. The remaining blocks are downloaded in the background during execution, ensuring file completeness is maintained while eliminating the waiting period.

Inventive Principle:
Principle #10Preliminary action

3Speed

If the system prioritizes fast access to application programs, then user satisfaction improves, but the network bandwidth requirements increase

Engineering Contradiction:
Improveapplication access speedVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The system applies partial action by downloading only the necessary first block initially, which is sufficient to start execution. Rather than downloading the entire application program at once (excessive action), the system downloads subsequent blocks progressively as they are needed during execution. This approach achieves fast application access while optimizing network bandwidth consumption by avoiding unnecessary pre-download of unused portions.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3012735B1Method for downloading application
Publication Date: 2021.11.24 BOTHNIC INFORMATION
  • EP3012735B1 patent drawingFigure 1
  • EP3012735B1 patent drawingFigure 2
  • EP3012735B1 patent drawingFigure 3~4

AI summary

A method for downloading a program having at least one file from at least one service terminal to a user terminal is disclosed. The method includes the following steps of segmenting the at least one file into a plurality of blocks, and arranging the plurality of blocks according to a particular read order of the program, wherein the plurality of blocks include a first block and a second block; transmitting the first block to the user terminal; and executing the first block at the user terminal before the second block is transmitted to the user terminal.