Web Browser Extension Asynchronous Blocking via Callback Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web browser architecture does not allow browser extensions to perform asynchronous blocking operations, limiting their ability to effectively manage webpage content and events in a timely and efficient manner.

Innovation Solution

A method is introduced where the web browser receives an extension-provided callback function with an indicator for asynchronous blocking operations, allowing it to call this function with a web-browser-provided callback only after authorization, enabling asynchronous blocking capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If web browser extensions use current browser architecture to monitor events and take actions, then they can block webpages based on predefined conditions, but they cannot perform asynchronous blocking operations

Engineering Contradiction:
Improveasynchronous blocking operation capabilityVSAvoidbrowser architecture complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the blocking operation into two distinct phases: a blocking decision phase where the extension determines whether to block, and an asynchronous execution phase where the actual blocking operation occurs. This is achieved by separating the event monitoring function from the blocking execution function, allowing the extension to return immediately after making a blocking decision while the actual blocking occurs asynchronously through callback mechanisms. This segmentation resolves the contradiction by enabling asynchronous operations without fundamentally restructuring the entire browser architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces callback functions as intermediary mechanisms that mediate between the extension and the browser's event handling system. The browser provides callback functions to extensions, and extensions provide callback functions back to the browser, creating a bidirectional communication channel. This intermediary layer allows asynchronous blocking operations to occur without requiring direct synchronous interaction between the extension and browser core, thus enabling new functionality while maintaining architectural integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If web browser extensions perform synchronous blocking operations, then they can control webpage rendering in real-time, but they cannot efficiently manage complex asynchronous operations

Engineering Contradiction:
Improveoperation efficiencyVSAvoidblocking operation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having the extension make the blocking decision synchronously and immediately, before the actual blocking operation begins. The extension evaluates the blocking condition, determines whether blocking is necessary, and returns the decision to the browser immediately. The actual blocking operation then proceeds asynchronously in the background. This preliminary decision-making phase allows the extension to maintain real-time control over whether blocking occurs, while the asynchronous execution improves efficiency by not blocking the main thread.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback mechanisms through callback functions that provide status updates and results of asynchronous blocking operations. When an asynchronous blocking operation is initiated, the browser calls back to the extension with the result of the operation. This feedback loop allows the extension to monitor and manage complex asynchronous operations efficiently, knowing the outcome without having to continuously poll or wait synchronously. The feedback mechanism bridges the time gap between initiating the block and completing the block.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If web browser architecture allows extensions to perform asynchronous operations, then operation efficiency improves, but authorization and security management become more complex

Engineering Contradiction:
Improveextension operation flexibilityVSAvoidauthorization security
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies dynamics by making the authorization model flexible and adaptable based on the type of operation being performed. Rather than a static authorization system, the browser dynamically determines what operations an extension can perform based on the event context, the extension's manifest permissions, and the specific operation type (synchronous vs. asynchronous blocking). This dynamic authorization approach allows extensions to perform asynchronous operations efficiently when authorized, while maintaining security through context-aware permission checking. The system adapts its security requirements based on the operational context rather than imposing uniform restrictions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS12147581B2Enabling web browser extensions to perform asynchronous blocking operations
Publication Date: 2024.11.19 ISLAND TECH INC
  • US12147581B2 patent drawing
  • US12147581B2 patent drawing

AI summary

Enabling a web browser extension to perform an asynchronous blocking operation by configuring the web browser to receive from a web browser extension an extension-provided callback function and an indicator, where the extension-provided callback function is configured to perform an asynchronous blocking operation, where the indicator indicates that the extension callback function relates to an asynchronous blocking operation, where the extension-provided callback function is configured to receive a web-browser-provided callback function as a parameter of the extension-provided callback function, and where the extension-provided callback function is configured to call the web-browser-provided callback function after performing the asynchronous blocking operation, and configuring the web browser to call the extension-provided callback function with the web-browser-provided callback function as a parameter of the extension-provided callback function call if the indicator indicates that the extension callback function relates to an asynchronous blocking operation.