Sequential Layout Builder Architecture for Web Browser Rendering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The recursive nature of layout processing in Web browsers leads to inefficiencies and performance degradation due to repetition, limiting the benefits of parallel processing and degrading user experience.

Innovation Solution

Layout processing is conducted in a sequential manner, split into smaller steps, using a layout builder with a stack to control execution and immutable data structures, allowing for parallel execution and efficient memory usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If recursive layout processing is used, then layout calculations can be performed systematically through the document hierarchy, but processing repetition occurs and performance degrades

Engineering Contradiction:
Improvelayout calculation correctnessVSAvoidlayout processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The layout processing is divided into discrete sequential steps that can be independently executed and cached. Each step processes a specific portion of the layout calculation and stores its result, avoiding repetition of the same calculations while maintaining systematic processing through the document hierarchy.

Inventive Principle:
Principle #1Segmentation

2Reliability

If recursive layout processing is used, then the entire document can be processed systematically, but parallel processing advantages cannot be exploited

Engineering Contradiction:
Improvelayout processing completenessVSAvoidparallel processing capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The processing model transitions from fixed recursive execution to dynamic sequential steps that can be adaptively executed in parallel. The system can dynamically determine which steps to execute simultaneously based on document structure and available processing resources, enabling parallel processing while maintaining complete document coverage.

Inventive Principle:
Principle #15Dynamics

3Productivity

If immutable data structures are used, then parallel execution of layout operations is enabled, but memory usage patterns change

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

Immutable data structures are prepared in advance with allocated memory layouts, allowing parallel execution without additional memory allocation during processing. The memory requirements are determined beforehand, and data structures are initialized to prevent memory fragmentation and allocation overhead during parallel layout operations.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2550618B1Sequential layout builder architecture
Publication Date: 2021.04.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2550618B1 patent drawingFigure 1
  • EP2550618B1 patent drawingFigure 2
  • EP2550618B1 patent drawingFigure 3

AI summary

Layout processing techniques have been described that allow processing of structured documents to be conducted, and for associated layout to be accomplished in a sequential manner. The layout process is split into multiple, smaller steps that can be executed sequentially. In at least some embodiments, a layout builder is utilized in conjunction with a stack to control layout execution on respective levels of the structural hierarchy of a structured document. Immutable data structures are utilized and allow for parallel execution of sequential layout operations. In at least some embodiments, partial execution of the layout sequence can be performed to produce usable data.