Container Document Module Communication via Intermediary Server

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current browser systems prevent code from one domain from accessing or communicating with code from a different domain, restricting the ability of a document to interact with content hosted on another domain, which limits the functionality of container documents.

Innovation Solution

A system and method that utilizes a container server to identify and serve a module specification, enabling communication between modules from different domains through the use of inline frames (IFRAMES), allowing data to be shared and processed between the container document and external modules while maintaining security by isolating domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If browsers prevent code from one domain from accessing code from a different domain, then security is improved, but communication capability between domains deteriorates

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

Solution Approach 1:

The patent introduces an intermediary mechanism (container document system with inline frames) that mediates between domains. The container server acts as a mediator that receives module specifications from external domains, validates them, and serves them within the container document context, enabling controlled communication while maintaining security boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments the document into container documents and modules from different domains. By using inline frames to embed modules within container documents, the system creates distinct operational contexts that allow controlled interaction while maintaining domain separation for security.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If modules from different domains are allowed to communicate, then functionality is improved, but security risks increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidsecurity risks
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary validation of module specifications before serving them within container documents. The container server validates module specifications received from external domains before incorporating them, ensuring that only approved modules can communicate with the container document, thus preventing security risks in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The container server acts as an intermediary that controls and validates all communication between modules from different domains and the container document, allowing functionality while filtering out security risks through validation and approval mechanisms.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If container documents can include modules from various sources, then adaptability is improved, but system complexity increases

Engineering Contradiction:
ImproveadaptabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The container server provides universal functionality by handling module specification reception, validation, and serving for multiple external domains through a single standardized interface. This multi-functional approach allows the system to incorporate modules from various sources without proportionally increasing complexity.

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

Data Source

PatentUS9294334B2Controlling communication within a container document
Publication Date: 2016.03.22 GOOGLE LLC
  • US9294334B2 patent drawing
  • US9294334B2 patent drawing
  • US9294334B2 patent drawing

AI summary

A system that serves content in a container document. The system may include a container server, associated with a first source, the container server identifying a first module for use with a container document, receiving a module specification associated with the first module from a second source, and serving the container document with module data based on the module specification. The module data may reference a second module, the second module being associated with the first source to enable communication between the first and second sources.