DNS-Controlled Proxy for Browser Application State Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The phase-out of browser plug-ins by vendors to improve browser security has rendered it difficult to determine the installation state of desktop applications, necessitating additional user interactions for software downloads and installations.

Innovation Solution

A DNS-controlled proxy is used to establish secure connections between a browser and a web server, allowing the browser to determine the application state by sending a request for a test asset, which is forwarded through the proxy, enabling the detection of installed desktop applications without relying on browser plug-ins.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If browser plug-ins are used to determine application state, then the installation state of desktop applications can be determined, but browser security is compromised

Engineering Contradiction:
Improveapplication state detectionVSAvoidbrowser security
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a browser plug-in as an intermediary component that enables the web site to detect desktop application installation state without requiring the browser itself to have direct access to application information. The plug-in acts as a mediator between the browser environment and the desktop application registry, allowing secure detection while maintaining browser integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If browser plug-ins are phased out to improve browser security, then browser security is enhanced, but the ability to determine desktop application installation state is lost

Engineering Contradiction:
Improvebrowser securityVSAvoidapplication state detection
Core Design Contradiction:
Object-affected harmful factorsVSMeasurement precision

Solution Approach 1:

The patent introduces a browser plug-in as an intermediary component that enables the web site to detect desktop application installation state without requiring the browser itself to have direct access to application information. The plug-in acts as a mediator between the browser environment and the desktop application registry, allowing secure detection while maintaining browser integrity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If user intervention is required to download and install software, then installation state can be confirmed, but user interaction time increases

Engineering Contradiction:
Improveinstallation confirmationVSAvoiduser interaction time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary detection of desktop application installation state through a browser plug-in before the user is prompted to download or install software. By checking the application state in advance, the system can automatically proceed with software delivery if the application is already installed, eliminating the need for users to manually verify installation status and reducing interaction time.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10110564B2Detecting application state using a DNS-controlled proxy
Publication Date: 2018.10.23 ADOBE INC
  • US10110564B2 patent drawing
  • US10110564B2 patent drawing
  • US10110564B2 patent drawing

AI summary

Detecting an application state using a DNS-controlled proxy is described. In one or more embodiments, a proxy on a computer establishes a first secure connection with a browser and the proxy establishes a second secure connection with a web server. The proxy forwards a request for a test asset from the browser to the web server. In response to the request, the web server responds with the test asset, which is sent via the proxy to the browser. The browser attempts to load the test asset to determine if a desktop application is installed and running on the computer.