Server-Side Rendering Caching for Webpage Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

E-commerce websites face challenges in developing scalable and consistent webpage systems to handle high traffic and rapid growth in product listings, requiring improved server systems that support efficient software component rendering and deployment.

Innovation Solution

A server computer system that profiles software components, selects cacheable components based on rendering periods, generates rendered cache code, and stores it in a database for faster webpage generation, optimizing server-side rendering performance through the Electrode platform and electrode-react-ssr-caching module.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software components are rendered individually for each webpage request, then webpage generation is flexible and up-to-date, but server processing time and resource consumption increase significantly

Engineering Contradiction:
Improvewebpage generation accuracyVSAvoidserver processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary rendering of software components during build time and caches the rendered output. When a webpage is requested, the server retrieves pre-rendered components from the cache instead of rendering them in real-time, significantly reducing server processing time while maintaining webpage generation accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies selective caching by identifying which software components are suitable for caching based on their rendering characteristics. Not all components are cached - only those that benefit from pre-rendering are stored in the cache, while others are rendered on-demand, optimizing the balance between processing time and accuracy.

Inventive Principle:
Principle #3Local quality

2Productivity

If all software components are cached for faster webpage generation, then server response time improves, but memory resources are consumed and cache management complexity increases

Engineering Contradiction:
Improvewebpage generation speedVSAvoidcache management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements selective caching by evaluating each software component's suitability for caching based on its rendering period and characteristics. Only components that meet specific criteria are cached, avoiding the overhead of caching all components while still achieving significant performance improvements.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system uses rendering period as a key parameter to determine caching strategy. Components with longer rendering periods are prioritized for caching, while those with shorter rendering periods are rendered on-demand. This parameter-based approach simplifies cache management by providing a clear decision criterion.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If software components are rendered on-demand without caching, then memory resources are conserved, but server processing load increases during high traffic periods

Engineering Contradiction:
Improvememory resource consumptionVSAvoidserver processing load
Core Design Contradiction:
Quantity of substanceVSPower

Solution Approach 1:

The system performs rendering in advance during build time and stores the results in a cache. During high-traffic periods, pre-rendered components are retrieved from the cache rather than being rendered in real-time, significantly reducing server processing load while maintaining consistent memory resource consumption.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If software components with long rendering periods are identified and cached, then server response time for those components improves, but the profiling and selection process adds initial processing overhead

Engineering Contradiction:
Improvecomponent rendering timeVSAvoidprofiling operation complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system uses rendering period as a key parameter to identify suitable candidates for caching. By measuring and comparing rendering periods, the system automatically determines which components benefit most from pre-rendering, providing a simple and effective criterion for cache management.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10404789B2Systems, method, and non-transitory computer-readable storage media for generating code for displaying a webpage
Publication Date: 2019.09.03 WALMART APOLLO LLC
  • US10404789B2 patent drawing
  • US10404789B2 patent drawing
  • US10404789B2 patent drawing

AI summary

A system for use in displaying a webpage is described herein. The system includes a database and a server computer. The database includes a plurality of software components associated with a webpage. The server computer is configured to access the database and retrieve the plurality of software components and execute a profiling operation including rendering each of the plurality of software components and determining a rendering period associated with each software component. The server computer is also configured to select a cacheable software component from the plurality of software components as a function of the associated rendering periods, generate rendered cache code for the selected cacheable software component, and store the rendered cache code in the database for use in generating the webpage.