Web Page Object Bundling for Loading Acceleration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for accelerating web page loading, such as AJAX and Content Delivery Networks, are inadequate as they require modifications to user client software or do not effectively handle dynamic content and browser delays, leading to suboptimal loading times that result in significant revenue loss for e-commerce sites.

Innovation Solution

A system that communicates with user clients to bundle web page objects into optimized bundles, control the rate and order of object loading, and modify source code to include object loading instructions, without requiring modifications to user client software, using techniques like JAR or MHTML formatting and JavaScript optimization based on network conditions and cache information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If AJAX is used to accelerate web page loading, then the time between user click and browser finishing rendering is significantly decreased, but users have less intuition about which type of events within a page may result in a need to wait for a server response and AJAX can perform poorly over slow or unreliable networks

Engineering Contradiction:
Improveweb page loading timeVSAvoiduser intuition about events
Core Design Contradiction:
Loss of timeVSEase of operation

Solution Approach 1:

The patent segments web page objects into multiple bundles (first bundle, second bundle, etc.) that can be loaded independently. This allows the system to accelerate loading by serving smaller, manageable portions while maintaining user control over the loading process, resolving the contradiction between fast loading and user intuition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically determines which bundle to provide based on cache information and network conditions. The computing platform adapts its behavior based on real-time conditions, providing dynamic responses that balance loading speed with user experience, allowing the system to respond to both speed requirements and user needs.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If Content Delivery Networks are used to accelerate content fetching by caching closer to the end-user, then round trip time is reduced, but CDNs are relatively costly, are static and thus cannot handle dynamic content and do not handle browser delays resulting from JavaScript

Engineering Contradiction:
Improveround trip timeVSAvoidhandling dynamic content
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The patent implements a dynamic bundling system that adapts to different content types and network conditions. The computing platform determines which bundle to provide based on cache information and real-time conditions, allowing it to handle both static and dynamic content effectively, unlike static CDNs.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system acts as an intermediary between the server and user client, bundling objects and controlling their delivery. This intermediary role allows the system to handle dynamic content and browser delays by mediating the communication, unlike direct CDN approaches.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple separate HTTP requests are made for objects like scripts, stylesheets, and images, then each object can be loaded independently, but the majority of page load time is spent in these separate requests

Engineering Contradiction:
Improveindependent object loadingVSAvoidpage load time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent merges multiple web page objects into bundles (first bundle, second bundle) that can be loaded through fewer HTTP requests. This combining approach reduces the total number of requests and associated overhead, significantly decreasing page load time while maintaining the ability to load objects independently through controlled bundling.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system segments objects into bundles that can be selectively loaded. This segmentation allows the system to reduce the number of requests by serving bundled content while maintaining flexibility through cache-based determination of which bundles to provide.

Inventive Principle:
Principle #1Segmentation

4Productivity

If backend acceleration technologies like Application Front Ends and Load Balancers are used, then server performance is improved, but the backend only contributes about 15% to the overall non-responsiveness in web page loading

Engineering Contradiction:
Improveserver performanceVSAvoidoverall web page loading time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent introduces a new intermediary layer (computing platform) between the server and client that specifically handles object bundling and delivery optimization. This intermediary focuses on the client-side delivery mechanisms that contribute more to loading time, rather than relying solely on backend server performance improvements.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically optimizes object delivery based on cache information and network conditions, addressing the client-side delivery challenges that contribute significantly to loading time, rather than focusing only on server-side performance.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10296653B2Systems and methods for accelerating web page loading
Publication Date: 2019.05.21 F5 NETWORKS INC
  • US10296653B2 patent drawing
  • US10296653B2 patent drawing
  • US10296653B2 patent drawing

AI summary

A system for accelerating web page loading in a user client is provided. The system includes computing platform being in communication with the user client and being configured for changing object delivery/loading order or object rendering at the web browser, or bundling the objects into one or more bundles according to object use and change frequency.