Preemptive Code Dependency Loading for Application Server Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud platform applications experience significant latency due to sequential loading of code dependencies, which delays the execution of applications as they rely on remote network requests for framework and application code.

Innovation Solution

Implement preemptive loading techniques where the application server retrieves and caches code dependencies before the framework or application bootstrapping process, allowing local access instead of remote requests, thereby reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If sequential loading of code dependencies is used, then the loading process follows a simple sequential process, but the application execution is delayed due to network latency

Engineering Contradiction:
Improveapplication execution delayVSAvoidloading speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system performs preliminary actions by identifying and loading code dependencies before the framework or application bootstrapping process initiates. This preemptive loading occurs in the background, so when the bootstrapping process needs these dependencies, they are already available in memory, eliminating the sequential waiting time and network latency that would otherwise occur.

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If remote network requests are made for code dependencies, then the code can be retrieved from external sources, but significant latency is introduced before application execution

Engineering Contradiction:
Improvecode retrieval capabilityVSAvoidnetwork latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by identifying and loading code dependencies before the framework or application bootstrapping process initiates. This preemptive loading occurs in the background, so when the bootstrapping process needs these dependencies, they are already available in memory, eliminating the sequential waiting time and network latency that would otherwise occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces an intermediary mechanism—a dependency preloading service—that acts as a mediator between the application bootstrapping process and the remote code sources. This service identifies required dependencies, retrieves them in advance, and caches them in memory, shielding the main bootstrapping process from network latency and enabling faster application execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If code dependencies are loaded during framework bootstrapping, then the application can execute, but the sequential loading process increases overall execution time

Engineering Contradiction:
Improveapplication execution speedVSAvoidloading process duration
Core Design Contradiction:
ProductivityVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary actions by identifying and loading code dependencies before the framework or application bootstrapping process initiates. This preemptive loading occurs in the background, so when the bootstrapping process needs these dependencies, they are already available in memory, eliminating the sequential waiting time and network latency that would otherwise occur.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system ensures continuity of useful action by running the dependency preloading process in parallel with other initialization activities rather than sequentially. The preloading service continuously identifies and loads dependencies in the background, so the bootstrapping process can proceed without interruption, maintaining continuous productive work while dependencies are being prepared.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10776133B2Preemptive loading of code dependencies for improved performance
Publication Date: 2020.09.15 SALESFORCE INC
  • US10776133B2 patent drawing
  • US10776133B2 patent drawing
  • US10776133B2 patent drawing

AI summary

Methods, systems, and devices for preemptively loading code dependencies are described. In some systems, an application server—which may be a software component of a user device—may perform a loading process for an application framework module (e.g., based on receiving an execution request for a corresponding application). To reduce the latency of loading the framework module, the application server may perform one or more preemptive non-framework network requests to retrieve code dependencies for the framework or the application code. These requests may be sent prior to the framework loading process, or in parallel with the framework loading process. The application server may receive the code dependencies in response, and may store these dependencies in a memory cache. When the framework loading process needs these code dependencies, the application server may efficiently access the dependencies locally in the memory cache rather than remotely requesting the dependencies over the network.