Proxy Server Instrumentation for Cross-Platform Mobile Web Debugging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Debugging mobile web applications across devices with different operating systems is limited, particularly for JavaScript debugging on Android devices, as existing methods are not effective in real-world conditions and are platform-dependent.

Innovation Solution

A cross-platform remote debugging framework that uses a proxy server to fetch and instrument webpages, allowing for debugging independent of the device's operating system, by inserting debugging code and manipulating breakpoints through the proxy server.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If native debugging methods are used on mobile devices, then debugging is limited to the specific operating system and browser, but portability and cross-platform debugging capability are lost

Engineering Contradiction:
Improvecross-platform debugging capabilityVSAvoiddebugging system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a proxy server as an intermediary between the mobile device and the debugging client. The proxy server fetches webpages, performs instrumentation by inserting debugging code, and forwards the instrumented pages to the device. This mediator enables cross-platform debugging by centralizing the instrumentation logic on the server side, allowing debugging clients on different platforms to connect to the same proxy server and debug the same application uniformly.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If debugging code is inserted directly into mobile applications, then debugging can be performed on the device, but the debugging process becomes dependent on the device's operating system and browser

Engineering Contradiction:
Improvedebugging accessibilityVSAvoidplatform independence
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

Instead of inserting debugging code directly into the mobile application on the device (bottom-up approach), the patent inverts the approach by performing instrumentation on the proxy server before the webpage reaches the device (top-down approach). The proxy server intercepts the webpage, injects debugging code into the HTML/JavaScript, and then serves the instrumented page to the mobile browser. This inversion allows the debugging infrastructure to remain platform-agnostic while still enabling easy debugging on the device.

Inventive Principle:
Principle #13The other way round (Inversion)

3Reliability

If extensive debugging is implemented during construction, then code quality improves, but many bugs remain undetected until real-world execution

Engineering Contradiction:
Improvecode qualityVSAvoidtime to detect bugs
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by performing instrumentation and preparing the debugging environment before the application is deployed to real-world conditions. The proxy server pre-loads webpages, pre-injects debugging code, and pre-establishes connection channels between the device and debugging client. This preliminary preparation ensures that when the application runs in real-world scenarios, bugs can be detected and debugged immediately without setup delays, thus reducing the time loss between bug occurrence and detection.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9819758B2Remote debugging into mobile web applications across devices
Publication Date: 2017.11.14 SAP SE
  • US9819758B2 patent drawing
  • US9819758B2 patent drawing
  • US9819758B2 patent drawing

AI summary

Disclosed herein are technologies for remote debugging in mobile web applications using a platform-independent debugging proxy server. Particularly, the debugging proxy server acts as an intermediary by fetching and performing instrumentation on a requested webpage by a target browser. This Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.