Web Browser Input Event Processing via Dual Thread Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Web browsers often appear unresponsive to users when processing user input events due to interleaving these events with long-running tasks, leading to delays in rendering the user interface.

Innovation Solution

Implementing a system where user events are processed in both a main thread and a secondary thread, with the secondary thread prioritized to provide early user interface responses by handling default actions such as scrolling or zooming, while the main thread processes event handlers and completes rendering independently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If user events are processed in the main thread along with other long-running tasks, then the browser can handle multiple functions, but the user interface appears unresponsive and rendering is delayed

Engineering Contradiction:
Improvebrowser functionalityVSAvoiduser interface responsiveness
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent divides user event processing into two separate threads: the main thread handles complex event handlers and scripting, while a secondary thread handles default user event actions. This segmentation allows the secondary thread to provide rapid UI responses without being blocked by long-running tasks in the main thread, thereby resolving the contradiction between maintaining full browser functionality and ensuring responsive user interface rendering.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If the secondary thread processes user events with default actions, then early UI rendering is achieved, but thread complexity increases

Engineering Contradiction:
Improverendering delayVSAvoidthread management
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts the default user event handling logic from the main thread and places it in a secondary thread. This extraction allows the secondary thread to independently process common user events (such as scrolling and zooming) without interfering with the main thread's complex task execution. The separation reduces rendering delays while the modular design keeps thread management complexity manageable by assigning specific, well-defined responsibilities to each thread.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9542245B2Processing user input events in a web browser
Publication Date: 2017.01.10 MALIKIE INNOVATIONS LTD
  • US9542245B2 patent drawing
  • US9542245B2 patent drawing
  • US9542245B2 patent drawing

AI summary

A method and computing device are provided for processing user events received via a user interface, such as a touchscreen, in multiple threads. When a user event is received for a target element in a webpage, the user event is dispatched to both a main browser thread and a secondary thread. The secondary thread processes user events in accordance with established default actions defined within the browser, while the main thread processes the user events in accordance with any event handlers defined for that target element. The main thread processing may be delayed by other interleaved task, and the secondary thread may be given priority over the main thread. When the secondary thread completes processing, an updated webpage is displayed. When the main thread subsequently completes processing, its updated rendering of the webpage is displayed. The secondary thread thus provides an early user interface response to the user event.