Semantic Data Framework for Cross-Domain Browser Visualization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current solutions for accessing and synthesizing data across multiple domains in a browser-based web environment are restricted by the same-origin policy, limiting dynamic user configurations and preventing effective data visualization, especially with data sources computed at query time.

Innovation Solution

A schema-independent method for modeling data from diverse sources, where a server transforms data into a semantic format and transmits it to a client for visualization, enabling cross-domain data synthesis and visualization across multiple domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a pre-built aggregated data warehouse is used to access data across domains, then data access is enabled, but all information domains must be known at design time and dynamic user-based configurations at run-time are prevented

Engineering Contradiction:
Improvedynamic user-based configurationsVSAvoiddata warehouse setup complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system transitions from static pre-built data warehouses to dynamic run-time data access. Users can dynamically configure and access data from multiple domains at run-time without requiring all domains to be known at design time, enabling flexible adaptation to new data sources and configurations

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

A server acts as an intermediary between the client application and multiple domain data sources. The server receives data from selected domains, transforms it into a semantic data format, and transmits it to the client, enabling cross-domain data access without requiring the client to directly access multiple domains

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If same-origin policy headers are used to enable cross-domain communication, then cross-domain data access is enabled, but coordination between data sources and consumers is required and static configuration prevents easy dynamic inclusion of new domains

Engineering Contradiction:
Improvedynamic domain inclusionVSAvoidcoordination complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The server serves as a mediator that eliminates the need for direct coordination between multiple domains and the client application. The server handles all cross-domain data access, transformation, and synthesis, allowing domains to be dynamically included without coordination overhead

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service dynamic domain inclusion where users can add new data domains at run-time without requiring coordination with domain owners or complex configuration changes. The server automatically handles the integration of new domains through its data transformation and synthesis capabilities

Inventive Principle:
Principle #25Self-service

3Reliability

If JSONP calls are used for cross-domain communication, then cross-domain data loading is enabled, but this exploits security vulnerabilities and is not a safe or long-term option

Engineering Contradiction:
Improvecross-domain communication safetyVSAvoidcross-domain data access capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The server acts as a secure intermediary that provides cross-domain data access through legitimate server-to-server communication protocols. This eliminates the need to exploit browser security vulnerabilities while maintaining full cross-domain data access capability through proper authentication and authorization mechanisms

Inventive Principle:
Principle #24Intermediary (Mediator)

4Adaptability or versatility

If iframe elements are used to access cross-domain information, then cross-domain information is accessible to users, but it cannot be accessed to the underlying shared program memory for synthesis with other data

Engineering Contradiction:
Improvedata synthesis capabilityVSAvoiddata access simplicity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The server acts as an intermediary that retrieves cross-domain data and transmits it to the client application in a format suitable for program memory access and synthesis. This enables both user-facing cross-domain information display and backend data synthesis operations without the restrictions of iframe isolation

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The server provides universal data access functionality that serves multiple purposes: it enables user-facing cross-domain information display, provides data for program memory synthesis, and supports various data formats and protocols. This single component replaces multiple specialized solutions

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

Data Source

PatentUS11563795B2Language-agnostic graph-based combinatorial application framework
Publication Date: 2023.01.24 EXAPTIVE
  • US11563795B2 patent drawing
  • US11563795B2 patent drawing
  • US11563795B2 patent drawing

AI summary

A computer-implemented schema-independent method of modeling data from diverse sources is described. A server transmits to a client computer a blueprint for visualizing and interacting with data, wherein the blueprint defines an application, for visualizing and interacting with data. The application may operate on the client computer within a web browser and may include program code or scripts that operate within the web browser and transmit data and commands to and from the server. In response to receiving a data fetch message from the application, the server receives data from a selected one of a plurality of domains. The server then transforms the received data into a semantic data format. The transformed data is then stored by the server as a first data set. The first data set can then be transmitted to the client computer for further processing and visualization by the application using the blueprint.