Incremental Webpage Markup Scanning for Browser Responsiveness

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Scanning large portions of webpage markup can lead to unresponsiveness, as it takes significant time and may appear as if the browser is idle, especially in browsers that cannot indicate when a frame is rendered.

Innovation Solution

Implement a method where the browser scans markup in portions, pausing after a predetermined time threshold (e.g., 20 milliseconds) to render a frame and then resumes scanning, allowing for incremental scanning without user detection of pauses, enabling dynamic updates and reducing bandwidth and processing requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the browser scans large portions of webpage markup continuously, then bindings can be identified completely, but the browser becomes unresponsive and appears idle

Engineering Contradiction:
Improvebinding identification completenessVSAvoidbrowser responsiveness
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The patent divides the continuous markup scanning process into discrete segments interrupted by frame rendering intervals. The scan pauses after scanning a portion of the markup (e.g., 20 milliseconds worth) to allow the browser to render a frame and maintain responsiveness. This segmentation allows the scanning to be completed eventually while preventing the browser from appearing unresponsive during any single scan interval.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If the browser pauses scanning to render frames, then browser responsiveness is maintained, but scanning time increases

Engineering Contradiction:
Improvebrowser responsivenessVSAvoidtotal scanning duration
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent maintains continuous progress in markup scanning by resuming the scan after each frame rendering pause. Rather than abandoning or restarting the scan, the browser picks up where it left off in the markup, ensuring that the useful action of binding identification continues uninterrupted across multiple rendering cycles. This approach minimizes total scanning time while maintaining responsiveness during pauses.

Inventive Principle:
Principle #20Continuity of useful action

3Measurement precision

If the browser scans the entire markup before rendering, then all bindings are identified, but frame rendering cannot occur dynamically

Engineering Contradiction:
Improvebinding identification completenessVSAvoidframe rendering speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent performs preliminary scanning of markup portions before each frame rendering, identifying bindings that can be applied immediately. This preliminary action allows the browser to prepare binding information in advance of rendering without waiting for complete markup analysis, enabling faster frame rendering while progressively building up complete binding knowledge as scanning continues.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10956498B2Scanning for bindings in webpage markup
Publication Date: 2021.03.23 GOOGLE LLC
  • US10956498B2 patent drawing
  • US10956498B2 patent drawing
  • US10956498B2 patent drawing

AI summary

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for scanning bindings in a webpage. In one aspect, a method includes obtaining, at a browser of a client device, markup for a webpage, initiating a scan of the markup for the webpage to identify bindings in the markup, in response to a time threshold being satisfied during the scan of the markup for the webpage, pausing the scan of the markup and storing location data corresponding to a location in the markup reached by the scan at pause time, rendering, by the browser, a next frame for the webpage, and in response to completion of the rendering of the next frame for the webpage, resuming the scan of the markup for the webpage at the location in the markup.