In-Browser Proxy for Cross-Domain Mashup Requests

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current browser-based mashup systems face significant development burdens due to cross-domain restrictions, which prevent applications from accessing data across different domains, especially in modern and multitenant database systems with diverse architectures, leading to unmanageable development requirements for handling multiple cross-domain interactions.

Innovation Solution

An in-browser proxy is implemented to enable cross-domain requests by executing within the browser, allowing a client application to access external domains while maintaining authorization and security, reducing the need for server-side interfaces and minimizing load on external servers by processing requests only when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If server-side proxies are used to enable cross-domain requests, then cross-domain access is achieved, but development complexity and server load increase significantly

Engineering Contradiction:
Improvecross-domain access capabilityVSAvoidserver-side interface development burden
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a browser-based intermediary (proxy) that mediates between client applications and external domains. This proxy runs in the browser and handles cross-domain request routing, eliminating the need for server-side proxies and reducing server development complexity while maintaining cross-domain access capability

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of having servers manage cross-domain access through server-side proxies, the patent inverts the approach by placing the proxy in the browser. The browser-based proxy receives requests from client applications and forwards them to external domains, reversing the traditional server-centric model and significantly reducing server-side development burden

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

2Reliability

If server-side proxies handle all cross-domain requests, then centralized control is maintained, but server load and response time increase

Engineering Contradiction:
Improvecentralized security controlVSAvoidrequest processing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The browser-based proxy acts as an intermediary that performs request routing and security validation locally in the browser before forwarding requests to external domains. This distributed intermediary approach reduces the load on centralized servers and decreases request processing time while maintaining security control

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple server-side interfaces are created for different cross-domain interactions, then specific domain access is enabled, but development and maintenance become unmanageable

Engineering Contradiction:
Improvedomain-specific access controlVSAvoidinterface development and maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The patent implements a universal browser-based proxy that handles multiple cross-domain interaction types through a single unified interface. The proxy can route requests to different external domains and manage various interaction patterns without requiring separate server-side interfaces for each domain, making development and maintenance manageable

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10079905B2Cross domain in-browser proxy
Publication Date: 2018.09.18 SALESFORCE INC
  • US10079905B2 patent drawing
  • US10079905B2 patent drawing
  • US10079905B2 patent drawing

AI summary

An in-browser proxy enables an application in a frame to make a cross domain request. The proxy executes within the browser, which has a first domain. The browser provides a frame in which a client application executes, which has a second domain. The request from the client application is a request for data access to the external domain. The proxy identifies a registration of the client application, and forwards the request to the external domain. The proxy receives a response to the request and provides the response back to the client application within the frame.