Software Startup Acceleration via Dynamic Prefetching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software startup methods often result in excessively long starting times, leading to inefficiencies and delayed responsiveness, particularly for resource-intensive applications like games and engineering designs.

Innovation Solution

A method that involves determining a starting acceleration level for software based on configuration information, which dictates the number of prefetching operations and files to prefetch into memory, utilizing the Windows system prefetching function to accelerate software startup by optimizing the number of concurrent file fetching operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional software startup method is used, then software can be started, but starting time is excessively long

Engineering Contradiction:
Improvestarting timeVSAvoidstartup speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies preliminary action by prefetching software files and data into memory before the software is actually started. The system identifies required files in advance, retrieves them from storage, and loads them into memory during idle periods or background operations, so that when the software needs to start, the files are already available in fast-access memory, significantly reducing startup time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent segments the software startup process into multiple phases: file identification, file retrieval, data prefetching, and actual software execution. By dividing the startup process and handling file operations separately from the main execution flow, the system can prepare files in the background without blocking the software startup, thereby reducing perceived startup time.

Inventive Principle:
Principle #1Segmentation

2Speed

If number of prefetching operations and files is increased, then startup acceleration is improved, but system resource consumption increases

Engineering Contradiction:
Improvestartup speedVSAvoidsystem resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent applies partial action by selectively prefetching only the essential files and data required for software startup, rather than loading all possible files. The system identifies a subset of critical files that must be present for successful software execution and prefetches only those, avoiding unnecessary resource consumption from loading redundant or non-essential data.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent changes parameters such as prefetching size, number of concurrent operations, and memory allocation based on system conditions and software characteristics. The system dynamically adjusts these parameters to optimize the balance between startup speed and resource consumption, adapting to available memory, CPU capacity, and storage performance.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10747550B2Method, terminal and storage medium for starting software
Publication Date: 2020.08.18 TENCENT TECHNOLOGY (SHENZHEN) CO LTD
  • US10747550B2 patent drawing
  • US10747550B2 patent drawing
  • US10747550B2 patent drawing

AI summary

The disclosure relates to a method, terminal and storage medium for starting software. A method for starting software carried out in an electronic apparatus includes: configuration information, which is information for configuring a starting acceleration mode adopted for starting target software, is acquired; a starting acceleration level of the target software is determined according to the configuration information; at least one of a number of prefetching operations and number of files prefetched in each prefetching operation corresponding to the determined starting acceleration level is acquired; starting files of the target software are opened and data in the target software is prefetched into a memory in each prefetching operation according to the at least one of the determined number of prefetching operations and number of files prefetched in each prefetching operation; and the target software is started according to the data prefetched into the memory.