Distributable Runtime Snapshots for SaaS Startup Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


