Distributable Runtime Snapshots for SaaS Startup Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based Software as a Service (SaaS) applications face issues with slow and unpredictable startup times due to network dependence, wastage of client computing system resources from repetitive parsing and compilation, and sub-optimal performance from using a single client runtime configuration for multiple applications.

Innovation Solution

Distributable runtime snapshots are generated by a cloud service computing system, allowing it to pre-run applications and create snapshots of specific runtime contexts, which are then distributed to client computing systems for faster initialization and execution, reducing the need for repetitive compilation and optimizing runtime configurations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If SaaS applications are distributed as cross-platform source code requiring client compilation, then platform compatibility is improved, but startup time and resource consumption worsen due to repetitive parsing and compilation

Engineering Contradiction:
Improveplatform compatibilityVSAvoidstartup time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-compiling the SaaS application into a snapshot file on the cloud service computing system before distribution. This snapshot contains pre-processed bytecode and initial runtime state, eliminating the need for clients to perform time-consuming parsing and compilation operations locally, thus resolving the contradiction between platform compatibility and startup time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses copying by creating a snapshot file that replicates the runtime state and compiled bytecode from the cloud service system. This snapshot is then distributed to client systems, allowing clients to load and execute the pre-compiled application state without performing local compilation, thereby maintaining platform compatibility while significantly reducing startup time.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If SaaS applications are distributed as cross-platform source code requiring client compilation, then platform compatibility is improved, but client computing system resources are wasted due to repetitive parsing and compilation

Engineering Contradiction:
Improveplatform compatibilityVSAvoidclient computing system resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The cloud service computing system performs the energy-intensive parsing and compilation operations in advance during snapshot generation. By pre-processing the source code into bytecode and capturing the runtime state on the cloud server, the patent eliminates repetitive client-side compilation, thus preserving platform compatibility while conserving client computing system resources.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The snapshot file serves as a copied representation of the compiled application state that can be distributed and executed across different platforms without requiring clients to repeat the compilation process. This copying mechanism maintains universal platform compatibility while avoiding the resource waste of local recompilation.

Inventive Principle:
Principle #26Copying

3Device complexity

If a single client runtime configuration is used for multiple SaaS applications, then device complexity is reduced, but performance deteriorates due to sub-optimal runtime settings for different applications

Engineering Contradiction:
Improveruntime configurationVSAvoidapplication performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies local quality by capturing the specific runtime configuration and state that was optimized for each application during its execution on the cloud service system. Each application's snapshot contains application-specific runtime parameters and compiled bytecode tailored to that application's requirements, allowing each application to run with optimal settings without increasing overall device complexity.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The cloud service computing system performs preliminary runtime configuration optimization for each application before snapshot generation. By pre-configuring the runtime environment with application-specific parameters and capturing this optimized state in the snapshot, the patent enables each application to execute with optimal performance while the client device maintains a uniform snapshot loading mechanism.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20230259341A1Distributable runtime snapshots
Publication Date: 2023.08.17 INTEL CORP
  • US20230259341A1 patent drawing
  • US20230259341A1 patent drawing
  • US20230259341A1 patent drawing

AI summary

A cloud service computing system can provide a runtime snapshot for an application in response to a request from a client computing system for the application. A cloud service computing system executes the application to an execution state and creates a snapshot that includes information indicating the application objects created by the application during execution of the application and the state of the application objects at the execution state. The snapshot further includes bytecode for the application and may also include configuration settings for the runtime under which the application was executed by the cloud service computing system to generate the snapshot. The client computing system can place the application in a ready to service state by initializing a managed heap with the bytecode and the heap objects based on information contained in the snapshot and placing the heap objects into a state indicated by information contained in the snapshot.