Synchronous Web Browser State Inspection via Recursive Service Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging client-side scripts in web browsers is challenging due to proprietary debug engines, making it difficult to integrate with integrated development environments (IDEs) and manage the execution of scripts across different browsers.

Innovation Solution

A browser-independent method is introduced that allows synchronous inspection of web browser state information by sending service requests through XMLHTTP requests, enabling recursive state information retrieval without disrupting the script's execution, allowing the browser to behave like a multi-threaded application responsive to state inspection requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a proprietary debug engine is used to debug JavaScript programs in a web browser, then debugging capability is provided, but integration with integrated development environment (IDE) becomes difficult and browser compatibility is reduced

Engineering Contradiction:
Improvedebugging capabilityVSAvoidbrowser compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent introduces a service as an intermediary between the web browser and the debugging system. Instead of modifying the browser with proprietary debug engines, the service acts as a mediator that receives debugging requests from external IDEs and communicates with the browser through standardized service requests, enabling cross-browser debugging without browser-specific modifications

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The debugging functionality is segmented into separate components: the web browser executes client-side scripts normally, while debugging operations are performed externally through service requests. This separation allows the browser to remain unchanged and compatible across different platforms, while debugging capabilities are provided through the external service infrastructure

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If synchronous service requests are used to inspect browser state information, then debugging control is improved, but script execution is disrupted

Engineering Contradiction:
Improvedebugging controlVSAvoidscript execution continuity
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements dynamic debugging by allowing the service to respond to synchronous requests with instructions that recursively invoke service requests. This creates a flexible debugging mechanism where the level of synchronization can be adjusted based on debugging needs, providing both control and minimal disruption to script execution

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The service provides feedback mechanisms where responses to service requests can include instructions for the browser to send additional service requests. This feedback loop enables iterative debugging while maintaining synchronous control, allowing developers to inspect state information without completely halting script execution

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7860927B2Inspecting web browser state information from a synchronously-invoked service
Publication Date: 2010.12.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US7860927B2 patent drawing
  • US7860927B2 patent drawing
  • US7860927B2 patent drawing

AI summary

The present invention provides a browser-independent method to inspect the state of any Web Browser from a service that has been invoked synchronously. The remote agent responds to the service request with instructions for the browser to synchronously and recursively invoke another service request with a specific portion of the browser state as the arguments. This allows the browser to continue operating in a synchronous manner, while appearing to behave like a multi-threaded application that is responsive to state inspection requests.