Application Startup Acceleration via Login-Phase Pre-fetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current startup acceleration methods for applications are inefficient due to conflicts between IO requests and inaccurate pre-fetched data, leading to prolonged startup procedures, especially when the pre-fetched data's accuracy is low and the cache does not have the needed data.

Innovation Solution

A method where the login process of an application is first started, and once completed, it enables the main process, allowing pre-fetched data to be loaded into the cache. This prevents conflicts between IO requests by stopping the pre-fetching of data when the main process begins, utilizing the faster cache read speed to accelerate startup, and using historical startup procedures to ensure accurate pre-fetched data is read during the complete startup process.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data pre-fetching is performed during the preset period of time, then some data can be loaded into cache, but when the process startup time is less than the preset period, other data is incorrectly pre-fetched, and when the process startup time is greater than the preset period, needed data is not pre-fetched

Engineering Contradiction:
Improvedata pre-fetching efficiencyVSAvoidpre-fetched data accuracy
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent performs preliminary analysis of the complete startup procedure to identify all data that will be read during the entire startup process. This preliminary action ensures that the pre-fetching operation targets exactly the needed data without missing any required files or pre-fetching unnecessary data, thereby resolving the accuracy problem while maintaining efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses historical startup procedure data as feedback to continuously optimize the pre-fetching process. By analyzing actual startup behavior and file access patterns from previous runs, the system adjusts the pre-fetching strategy to match real startup time requirements, ensuring both accuracy and efficiency are maintained across different startup scenarios.

Inventive Principle:
Principle #23Feedback

2Reliability

If the process is suspended during startup to allow pre-fetching, then data can be loaded into cache, but the process cannot proceed until pre-fetching is complete, prolonging the startup procedure

Engineering Contradiction:
Improvecache data availabilityVSAvoidstartup procedure duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs the pre-fetching operation in advance during the login process startup, before the main process needs to access the data. This preliminary action ensures that all required data is already in the cache when the main process starts, eliminating the need to suspend the main process and thereby reducing startup time while maintaining data availability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent dynamically adjusts the pre-fetching operation based on the startup stage. During the login process, pre-fetching is actively performed in parallel. When the main process startup begins, the pre-fetching is automatically stopped, allowing the main process to proceed without suspension while still benefiting from the pre-loaded cache data.

Inventive Principle:
Principle #15Dynamics

3Productivity

If pre-fetching is performed in parallel with the login process, then startup acceleration is achieved, but IO request conflicts may occur

Engineering Contradiction:
Improvestartup accelerationVSAvoidIO request stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent dynamically controls the pre-fetching operation by starting it during the login process and automatically stopping it when the main process startup is detected. This dynamic control allows parallel execution during the safe window of the login process while preventing IO conflicts during the main process startup, thereby maintaining both acceleration and stability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent performs pre-fetching as a preliminary action during the login process startup, completing the data loading before the main process begins. This timing strategy achieves startup acceleration by utilizing the login process time, while avoiding IO conflicts by ensuring pre-fetching is complete before the main process starts its own file access operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3140732B1Startup accelerating method and apparatus
Publication Date: 2022.08.03 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • EP3140732B1 patent drawingFigure 1
  • EP3140732B1 patent drawingFigure 2
  • EP3140732B1 patent drawingFigure 3~4

AI summary

Described is a startup accelerating method and apparatus. The method includes: obtaining, when it is monitored that a login process of an application is started up, pre-fetched data corresponding to a main process of the application, and loading the obtained pre-fetched data into a cache, the pre-fetched data being obtained according to a historical startup procedure for the main process of the application; stopping, when it is monitored that the startup of the login process is completed or it is monitored that the main process of the application is started up, obtaining the pre-fetched data corresponding to the main process of the application; and completing a startup procedure of the main process according to the pre-fetched data loaded in the cache. The apparatus includes: an obtaining module, a stopping module and a startup module.