Application Script Segmentation for Deferred Rendering
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Network-based applications face performance bottlenecks due to increased code size and download times as they become more complex, degrading responsiveness, especially in slower connections and mobile devices.
Innovation Solution
A two-phase approach for decomposing application components into render and non-render components using static analysis and lightweight code annotations, where the initial render script is sent first, followed by auxiliary scripts to patch the application at runtime, optimizing initial data size and load time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If application code is made more sophisticated and feature-rich, then application functionality is improved, but download time and initial startup time increase
Solution Approach 1:
The patent divides application code into multiple segments or modules that can be downloaded separately. The initial download contains only essential code for basic functionality, while additional code segments are downloaded on-demand or in the background, allowing the application to become functional faster while still providing comprehensive features eventually.
Solution Approach 2:
The patent performs preliminary analysis of application code to identify and separate critical initial code from optional or secondary code. This preliminary segmentation allows the system to prioritize downloading only the most essential components first, reducing initial download time while preserving full functionality through subsequent downloads.
2Adaptability or versatility
If application code size increases to provide more features, then application capability is improved, but perceived responsiveness is degraded
Solution Approach 1:
The patent segments the application into a core executable portion that provides immediate responsiveness and additional code portions that enhance capability. This allows the application to feel responsive from the start while gradually loading additional features that expand its capability without blocking the user interface.
Solution Approach 2:
The patent introduces an intermediary mechanism (such as a code loading manager or proxy) that handles the coordination between the user interface and code downloading. This intermediary allows the UI to remain responsive while managing background code downloads, preventing the loading process from degrading perceived responsiveness.
3Productivity
If more application code is downloaded to the client, then client-side execution capability is improved, but initial load time increases
Solution Approach 1:
The patent applies partial action by downloading only the necessary portion of code required for initial client-side execution. Non-critical or optional code is deferred to later downloads, allowing the application to become operational with minimal code while maintaining the option to load additional functionality as needed.
Solution Approach 2:
The patent performs preliminary identification of essential versus optional code components before the download process begins. This preliminary analysis enables the system to construct an optimized initial download package that provides sufficient execution capability for core functionality while minimizing download time by excluding non-essential code.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Rendering an application is provided. An application script file having scripts corresponding to functions of an application may be retrieved. The application script file may be decomposed into a first script file and a second script file. The first script file may be created by removing at least one script corresponding to at least one function determined for deferred rendering from the application script file. The second script file may be created to include the removed at least one script. The first script file may be sent to a user device to be executed to provide an initial render of the application. The second script file then may be transmitted to the user device for execution of the removed at least one script as part of a deferred rendering of the application.