Extension Framework for Isolated Data Model Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In complex business intelligence (BI) systems with multiple heterogeneous data stores, end users are limited in customizing data models and queries, leading to potential data model corruption and disruption of BI application functionality, especially in multi-user environments.

Innovation Solution

A method and system that extend access to a data model in a data analytics computer data processing system by loading an extension framework into a programmatically isolated process address space, establishing a communicative channel, and selecting API functions to invoke operations on the data model, while filtering access based on security policies and user roles.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If end users are permitted direct access to the data model for customization, then user customization capability is improved, but data model integrity and system stability deteriorate due to potential corruption and disruption

Engineering Contradiction:
Improveuser customization capabilityVSAvoiddata model integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces an extension framework that acts as an intermediary layer between end users and the data model. This framework provides a controlled interface through which users can extend functionality and customize behavior without directly accessing or modifying the underlying data model structures. The framework mediates all interactions, ensuring that customizations are applied safely through predefined mechanisms rather than direct manipulation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system is segmented into distinct layers: the core data model layer that maintains integrity, and an extension framework layer that handles user customizations. By separating these concerns, the patent allows user-specific extensions to be developed and executed in isolation from the core data model, preventing user actions from directly impacting or corrupting the shared data model while still enabling extensive customization capabilities.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If end users can execute custom logic against the data model, then query capability and functionality are improved, but system stability deteriorates due to potential erroneous execution disrupting other users

Engineering Contradiction:
Improvequery capabilityVSAvoidsystem stability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system segments execution contexts by providing each end user with an isolated process address space. This segmentation ensures that custom logic executed by one user operates in isolation from others, so that erroneous execution or crashes by one user cannot disrupt the system stability or affect other users' operations. Each user's custom query logic runs in its own protected environment while still accessing the shared data model through controlled interfaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The extension framework serves as an intermediary that manages and controls the execution of user-customized logic. It provides a sandboxed environment where custom queries can be executed against the data model with proper isolation and error containment. The framework mediates between the user's custom logic and the core system, ensuring that execution errors are contained and do not propagate to disrupt system-wide stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If basic operations are aggregated into macros for user customization, then ease of operation is improved, but functionality and logic capability deteriorate due to limitations in macro capabilities

Engineering Contradiction:
Improveease of customizationVSAvoidfunctionality
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The extension framework provides dynamic functionality that evolves from simple macro aggregation to full programmatic customization. Users can begin with basic operations and progressively develop more complex custom logic as needed. The system dynamically adapts to user needs by allowing escalation from simple macro-based customizations to sophisticated programmatic extensions with access to the complete data model, enabling the functionality to grow with user expertise and requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The extension framework is designed to be universal, supporting multiple levels and types of customization within a single unified system. It can handle everything from simple macro aggregations to complex programmatic logic, serving both novice users who need basic ease of operation and advanced users who require full functionality. This multi-functional approach eliminates the need for separate systems for different customization needs.

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

Data Source

PatentUS12177255B2Extension framework for data analytics
Publication Date: 2024.12.24 GOOGLE LLC
  • US12177255B2 patent drawing
  • US12177255B2 patent drawing

AI summary

Extending access to a data model includes loading into a programmatically isolated process address space of a computer, an instance of an extension framework computer program and executing in the framework, computer program logic configured to establish a communicative channel between the isolated process address space and a data analytics computer data processing system executing in a separate process address space. Thereafter, within the framework a directive may be received to access a data model managed in the data analytics computer data processing system. In response, a function may be selected in respect to an API to the data analytics computer data processing system corresponding to the received directive. Finally, the selected API function may be invoked over the communicative channel and a result derived from the data model may be received in the framework from over the communicative channel in response to the selected API function.