Cross-Origin Frame Communication via Hub Mediator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current web browsers face challenges in implementing cross-origin communication between frames, particularly when enforcing a same origin security policy, which restricts program code interaction between frames from different origins, making it difficult to provide integrated functionality in graphical user interfaces (GUI) desktop environments.

Innovation Solution

A cross-domain communication mechanism is established through a hub that acts as a message broker, allowing frames from different origins to communicate by using a subscribe and publish scheme, with tools like EasyXDM facilitating cross-origin communication, enabling frames to share messages, actions, and variables while managing application states and enforcing access permissions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a same origin security policy is enforced between frames, then security against malicious code is improved, but communication capability between frames from different origins deteriorates

Engineering Contradiction:
ImprovesecurityVSAvoidcommunication capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

A hub frame is introduced as an intermediary component that all application frames must communicate with. The hub acts as a trusted mediator that receives messages from applications, validates them against security policies, and routes them to appropriate destinations. This allows secure cross-origin communication by centralizing security enforcement in the hub rather than requiring direct trust between all frame pairs.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If direct cross-origin communication channels are established between all frame pairs, then communication flexibility is improved, but system complexity and security management deteriorate

Engineering Contradiction:
Improvecommunication flexibilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The communication system is segmented into two distinct layers: application frames that generate messages, and a central hub that manages message routing. Instead of implementing complex peer-to-peer communication logic in each frame, the system divides responsibilities by having applications focus on message production while the hub handles routing, validation, and distribution. This segmentation simplifies individual frame implementation while maintaining overall system flexibility.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If multiple cross-origin communication channels are established for each application, then communication capability is improved, but the number of communication channels and implementation complexity increases

Engineering Contradiction:
Improvecommunication capabilityVSAvoidnumber of communication channels
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The hub frame serves multiple functions simultaneously: it acts as a message broker, security validator, routing engine, and communication manager for all application frames. By implementing a universal hub that handles all communication needs, the system eliminates the need for separate dedicated communication channels between each frame pair. The hub's multi-functionality reduces the total number of communication channels from O(n²) potential frame-to-frame channels to just n channels from each frame to the hub.

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

Data Source

PatentUS10356126B2Communication between frames of a web browser
Publication Date: 2019.07.16 LIVESTAX
  • US10356126B2 patent drawing
  • US10356126B2 patent drawing
  • US10356126B2 patent drawing

AI summary

There is provided a method and apparatus of providing communication between frames of a web browser which is arranged to enforce a same origin security policy for communication between frames. The method comprises, receiving a hub document of a hub origin into a hub frame of the web browser. Receiving a first application document of a first application origin into a first application frame of the web browser, the first application origin being different to the hub origin. Communicating between the hub document and the first application document within the web browser using a cross origin communication mechanism.