Adaptive Polymorphic Data Model for Client Application Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server systems face challenges in dynamically updating client application functionality without modifying the executable code, especially in scenarios where different users require distinct features without the need for multiple executable versions.

Innovation Solution

Implementing an adaptive polymorphic data model where a server generates and transmits data models to client applications, allowing for updates to the data model to enhance or change functionality without altering the client application's code, using object type definitions, metadata modules, and polymorphic entities to define and manage data objects and their interactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single executable client application is used for all users, then device complexity is reduced and ease of distribution is improved, but adaptability to different user needs deteriorates

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

Solution Approach 1:

The system segments the client application into two independent components: a fixed executable client application and a dynamic data control model. The data control model is further segmented into object type definitions, metadata modules, and polymorphic entities. This segmentation allows the executable code to remain simple and universal while the data control model provides user-specific customization without increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The data control model is designed to be dynamic and adaptable. Object type definitions can be modified to add or remove fields, metadata modules can be updated to change data representations, and polymorphic entities can adapt their behavior based on the current data model version. This dynamics enables the single executable application to serve multiple user needs without requiring code updates.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If multiple executable versions are created to satisfy different user features, then adaptability to different user needs is improved, but device complexity increases and maintenance difficulty worsens

Engineering Contradiction:
ImproveadaptabilityVSAvoidease of maintenance
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

The client application executable is designed with universal functionality to support all users. Instead of creating specialized executable versions for different user needs, the system uses a single multi-functional executable that adapts its behavior through the data control model. This universality maintains ease of manufacture and maintenance while achieving adaptability through configuration rather than code variation.

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

Solution Approach 2:

The data control model acts as an intermediary layer between the fixed executable client application and the backend server. It mediates all interactions by translating user-specific requirements into standardized communication patterns. This intermediary approach allows the executable to remain simple and easy to maintain while still satisfying diverse user needs through the flexible data control model.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If the client application code is modified to add new features, then functionality is improved, but reliability and stability of existing functionality deteriorate

Engineering Contradiction:
ImprovefunctionalityVSAvoidstability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary actions by establishing a comprehensive data control model framework that anticipates future functionality requirements. Object type definitions are designed with extensibility in mind, allowing new fields and attributes to be added without modifying the executable code. This preliminary structuring enables functionality enhancement while preserving the stability of existing features.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of modifying the original executable code to add features, the system uses copying and configuration of data control model elements. New object type definitions, metadata modules, or polymorphic entities can be copied and adapted from existing templates, ensuring that functionality is extended through configuration rather than code modification, thereby maintaining reliability and stability.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If a rigid data model is used, then manufacturing precision and data consistency are improved, but adaptability to changing requirements deteriorates

Engineering Contradiction:
ImproveadaptabilityVSAvoiddata consistency
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The data control model allows parameter changes at the data structure level without affecting the executable code. Object type definitions can modify field types, constraints, and relationships; metadata modules can change data representations; and polymorphic entities can adjust their behavior parameters. These parameter changes maintain data consistency through structured validation while providing adaptability to evolving requirements.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system applies local quality by allowing different parts of the data model to have different levels of rigidity. Core structural elements maintain strict consistency for reliability, while peripheral elements allow greater flexibility for adaptation. This localized approach to quality control enables the data model to be both consistent and adaptable simultaneously.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11803540B2Method and system for defining an adaptive polymorphic data model
Publication Date: 2023.10.31 ORACLE INT CORP
  • US11803540B2 patent drawing
  • US11803540B2 patent drawing
  • US11803540B2 patent drawing

AI summary

Some embodiments process data as defined by a polymorphic data model. A server may provide the polymorphic data model to a client application from a datastore. The functionality or features of the client application may be controlled as a function of the polymorphic data model. The client application may thus provide different functionalities when provided with different polymorphic data models. Updates to the polymorphic data model may be used to update the client application's functionality without any updates to the client application's executable code.