Cross-Domain Communication via URL Payload in Container Documents

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing browser programs restrict direct communication between modules hosted on different domains, preventing cross-domain interactions due to security restrictions and limitations, which is a challenge in scenarios like portal web pages that need to access content from different domains.

Innovation Solution

The system enables cross-domain communication by using inline frames (IFRAMES) within a container document to transfer payload data as text strings within the URL of transport modules, allowing modules from different domains to communicate without requiring server-level interactions, using periodic polling for data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If direct communication between modules from different domains is allowed, then cross-domain functionality is improved, but security restrictions are violated

Engineering Contradiction:
Improvecross-domain communication capabilityVSAvoidsecurity restriction compliance
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a container document as an intermediary layer that hosts modules from different domains. This container acts as a mediator that allows modules to communicate through shared access to the container's document object model (DOM), without requiring direct inter-domain communication. The container document URL can be modified to pass data between modules, enabling cross-domain functionality while maintaining security boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent shifts the communication paradigm from direct module-to-module communication to module-to-container communication. By changing the dimension of interaction from horizontal (direct peer communication) to vertical (through the container hierarchy), modules can indirectly exchange data by both accessing and modifying the container document's DOM structure and URL parameters.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If modules communicate via server-level interactions, then data exchange is reliable, but client-side autonomy is reduced

Engineering Contradiction:
Improvedata exchange reliabilityVSAvoidclient-side autonomy
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent enables modules to autonomously exchange data directly at the client side without requiring server mediation. Modules can read from and write to the container document's DOM and URL parameters, allowing them to self-serve their communication needs. This client-side autonomy eliminates the need for complex server-level interaction protocols while maintaining reliable data exchange through shared document access.

Inventive Principle:
Principle #25Self-service

3Device complexity

If URL modification is used for data transfer, then communication simplicity is improved, but data payload capacity is limited

Engineering Contradiction:
Improvecommunication mechanism simplicityVSAvoiddata payload capacity
Core Design Contradiction:
Device complexityVSQuantity of substance

Solution Approach 1:

The patent combines multiple communication channels within the container document ecosystem. While URL modification provides a simple direct communication path, the system also leverages the shared DOM structure, event handlers, and document properties as additional communication pathways. This merging of multiple channels allows the system to overcome URL length limitations by distributing data across different document elements and attributes.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS7958516B2Controlling communication within a container document
Publication Date: 2011.06.07 GOOGLE LLC
  • US7958516B2 patent drawing
  • US7958516B2 patent drawing
  • US7958516B2 patent drawing

AI summary

A system allows modules associated with different domains to communicate, such as within a container document. To transfer payload data from the first module associated with a first domain to a second module associated with a different domain, the first module adds the payload data as a text string to the URL of a transport module associated with the second domain. This way, the second module may directly access the modified transport module to obtain the payload data from its URL. The second module may likewise add other payload data as a text string to the URL of another transport module associated with the first domain, thereby enabling communication from the second domain to the first.