Web Browser Rendering via Machine Learning Sub-tree Independence

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing methods for rendering web pages on computing devices, especially in resource-constrained environments like mobile devices, are inefficient due to the significant time required for generating and processing the Document Object Model (DOM) tree, leading to a less than satisfactory user experience.

Innovation Solution

A method that uses machine learning analysis to identify patterns of layout independence in web page elements, trains a classifier to predict sub-tree independence, and concurrently processes independent sub-trees to accelerate webpage rendering, allowing for faster loading and improved user experience.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional sequential processing of DOM tree is used, then rendering accuracy is maintained, but rendering time is excessive

Engineering Contradiction:
Improverendering timeVSAvoidrendering speed
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent divides the DOM tree into multiple independent sub-trees that can be processed in parallel. By identifying layout independence relationships between different DOM nodes and their sub-trees, the system segments the rendering task into independent units that can be concurrently processed, thereby reducing overall rendering time while maintaining rendering accuracy.

Inventive Principle:
Principle #1Segmentation

2Productivity

If parallel processing of DOM tree sub-trees is implemented, then rendering speed is improved, but system complexity increases

Engineering Contradiction:
Improverendering speedVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis to identify layout independence relationships between DOM sub-trees before actual rendering. By pre-computing which sub-trees can be processed in parallel based on their independence relationships, the system prepares the processing plan in advance, reducing the complexity of real-time parallel coordination during rendering.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If more processing resources are allocated to DOM tree generation, then rendering quality is improved, but resource consumption on mobile devices becomes unsustainable

Engineering Contradiction:
Improverendering qualityVSAvoidenergy consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The patent segments the DOM tree processing into independent sub-trees that can be rendered in parallel. This segmentation allows the rendering workload to be distributed across multiple processing units efficiently, improving rendering quality through more comprehensive processing while optimizing resource utilization to reduce energy consumption on mobile devices.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8510237B2Machine learning method to identify independent tasks for parallel layout in web browsers
Publication Date: 2013.08.13 QUALCOMM INC
  • US8510237B2 patent drawing
  • US8510237B2 patent drawing
  • US8510237B2 patent drawing

AI summary

Methods and devices for accelerating web page rendering include processing web pages and gathering web page element information, performing machine learning analysis on the gathered web page element information to identify patterns in layout independence correlated to web page element information, and training a classifier to predict sub-tree independence based on element information in a web page script. The predicted sub-tree independence may be used to concurrently process portions of a web page to be rendered to reduce the time required to render the page. Sub-trees may be conditionally independent, in which case, the conditionally independent sub-trees may be made independent by speculating data to render the sub-trees independent, or by performing a task to obtain the certain information to render the sub-tree independent.