Application Code Partitioning for Faster Initial Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The initial rendering of websites or applications on user devices is time-consuming, affecting user experience due to the sequential download of functions.

Innovation Solution

Partitioning functions into multiple files and downloading them in a prioritized manner, where essential files for initial rendering are downloaded first, followed by additional files required for functionality, without altering dependencies or performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If functions are downloaded sequentially in a single file, then dependency management is simple, but initial rendering time is increased

Engineering Contradiction:
Improveinitial rendering timeVSAvoidfile structure complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent divides the application code into multiple separate files organized in a directory structure, with each file containing specific functions. This segmentation allows the browser to download and execute rendering-critical functions immediately while other functions are loaded asynchronously, thereby reducing initial rendering time without significantly increasing perceived complexity through standardized file naming conventions

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent identifies and separates rendering-critical functions from other functions in advance, placing critical rendering functions in files that are downloaded and executed first. This preliminary classification enables the system to prioritize loading essential rendering code before optional or non-critical functions, reducing the perceived loading time for users

Inventive Principle:
Principle #10Preliminary action

2Productivity

If functions are partitioned into multiple files, then download time is reduced, but file management complexity increases

Engineering Contradiction:
Improvedownload speedVSAvoidfile management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the application into multiple downloadable files organized in a hierarchical directory structure, enabling parallel download of multiple files simultaneously. This segmentation increases download throughput by utilizing multiple network connections and reducing the impact of network latency, while the organized structure keeps management complexity manageable

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic file loading where the browser downloads files in priority order based on their importance for initial rendering. Critical rendering files are downloaded and executed first, while non-critical files are loaded asynchronously in the background. This dynamic approach optimizes download efficiency by adapting to network conditions and rendering priorities

Inventive Principle:
Principle #15Dynamics

3Reliability

If all functions are downloaded before rendering, then functionality is complete, but user experience is degraded

Engineering Contradiction:
Improvefunctionality completenessVSAvoidtime to first render
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs preliminary identification of rendering-critical functions and places them in separately downloadable files. These critical functions are downloaded and executed before the rest of the application code, enabling the browser to display the initial rendering quickly while continuing to download and load additional functions in the background, thus maintaining functionality completeness without sacrificing user experience

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements continuous loading of additional functions after the initial rendering is displayed. While the user can interact with the rendered page, the browser continues to download and execute non-critical functions asynchronously in the background. This ensures that all functionality is eventually made available while providing immediate visual feedback to the user, maintaining both reliability and responsive user experience

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9811323B2Methods, apparatus, systems and computer readable media for use in association with partitioning and/or rendering
Publication Date: 2017.11.07 SAP PORTALS ISRAEL
  • US9811323B2 patent drawing
  • US9811323B2 patent drawing
  • US9811323B2 patent drawing

AI summary

In one embodiment, a method includes: receiving an application that includes a rendering portion; receiving code implementing a plurality of functions used by the application; defining a plurality of subsets of the plurality of functions, each of the plurality of subsets including at least one of the plurality of functions; monitoring which ones of the plurality of subsets has one or more of the at least one functions included therein invoked during execution of a portion of the application that includes the rendering portion; generating information indicating which ones of the plurality of subsets had one or more of the at least one functions included therein invoked during the execution of the portion of the application; and generating a first set of one or more files that includes: (i) code implementing ones of the plurality of functions that are included in or more of the plurality of subsets that had one or more of the at least one functions included therein invoked during execution of the portion of the application.