Web Page Processing State Determination via Event Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional web browsers struggle to determine when a web page has completed processing, especially with asynchronous tasks, leading to inefficient and unreliable waiting times for automated browsing scripts, as they cannot accurately assess the page's readiness for interaction.

Innovation Solution

A method involving a state determiner that sets parameters based on predefined processing events related to queued tasks, tracing these events, and using a delay converter to adjust delays, allowing for a more adaptive and efficient assessment of the web page's processing state.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If a predefined waiting time is used to determine page processing completion, then the approach is simple to implement, but it causes unnecessary waiting or insufficient waiting leading to poor automation efficiency

Engineering Contradiction:
Improvesimplicity of implementationVSAvoidautomation efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent implements a feedback mechanism by continuously monitoring browser processing events (script execution, DOM updates, resource loading) and using this information to dynamically determine when the page is actually ready for automation. The state determiner receives feedback from processing events and adjusts the readiness assessment accordingly, replacing static time-based waiting with dynamic event-based detection.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent replaces the mechanical time-based waiting system with an event-driven detection system. Instead of relying on predetermined time intervals, the system uses a state determiner that monitors actual processing events (script completion, resource loading, DOM changes) to determine page readiness, substituting temporal measurement with event-based detection.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If a long predefined waiting time is used to ensure page processing completion, then the reliability of task completion improves, but the waiting time increases significantly

Engineering Contradiction:
Improvecertainty of task completionVSAvoidwaiting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The state determiner continuously monitors processing events and provides feedback about the actual state of page loading and execution. This feedback mechanism allows the system to determine with high reliability when the page is truly ready, avoiding both premature termination and excessive waiting. The feedback loop ensures accuracy while minimizing time loss.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary monitoring of processing events during the page load process, tracking script execution, resource loading, and DOM updates in advance. This preliminary action allows the system to prepare the readiness assessment before the page is actually needed, ensuring reliable determination of completion without requiring excessive waiting time.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If the browser monitors all queued processing tasks including asynchronous scripts and CSS transitions, then the accuracy of processing state determination improves, but the complexity of the monitoring system increases

Engineering Contradiction:
Improveaccuracy of processing state determinationVSAvoidcomplexity of monitoring system
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the monitoring task by focusing on specific processing events that indicate page readiness (script execution completion, resource loading, DOM updates) rather than monitoring all possible browser operations. The state determiner is designed to track only the events relevant to automation readiness, breaking down the complex monitoring problem into manageable segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The state determiner serves multiple functions: it monitors processing events, determines page readiness, and provides this information to automation scripts. This multi-functional design consolidates what would otherwise be separate systems into a single component, reducing overall complexity while maintaining high measurement precision.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Measurement precision

If the browser waits for all asynchronous tasks to complete before considering the page ready, then the accuracy of readiness determination improves, but the time required for automation increases

Engineering Contradiction:
Improveaccuracy of readiness determinationVSAvoidautomation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial action by determining page readiness based on the completion of critical processing events (scripts, DOM updates, resource loading) without requiring all possible asynchronous tasks to complete. This selective monitoring approach provides sufficient accuracy for automation while avoiding the excessive time required to wait for every conceivable task completion.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10540417B2Determining web page processing state
Publication Date: 2020.01.21 TUNGSTEN AUTOMATION CORPORATION
  • US10540417B2 patent drawing
  • US10540417B2 patent drawing
  • US10540417B2 patent drawing

AI summary

A method includes setting one or more parameters in a state determiner, each of the one or more parameters being based at least in part on one or more predefined processing events related to one or more queued processing tasks; determining a web page processing state of a browser based at least in part on the one or more parameters in accordance with one or more predefined criteria; and during processing of a web page by means of the browser: tracing predefined processing events that may cause creation of queued processing tasks with associated delays; invoking a delay converter to change the delays by one or more of absolute decrements, relative decrements and proportional decrements; and reducing a time that the start of execution of the one or more queued processing tasks are set to be delayed by the source code of the web page.