User Defined Data Source Function for Database Interoperability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems face compatibility issues due to incompatible output data from one database model being unable to serve as input for another, making it difficult for applications to seamlessly interact with different database management systems (DBMS) and external data sources, particularly in handling user-defined functions (UDFs) and transformation functions (UDTFs).

Innovation Solution

An API is provided that abstracts the system details needed to interact with DBMS and external data sources, using a hierarchy of classes to handle system interactions, allowing users to develop UDTFs without knowledge of specific DBMS or external data source syntax, thereby enhancing semantics integrity, reliability, and ease of use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If databases with different database models are used to store and process data, then data organization flexibility and specialized processing capabilities are improved, but data compatibility and interoperability between different database systems deteriorate

Engineering Contradiction:
Improvedata organization flexibilityVSAvoiddata compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent introduces a User Defined Data Source Function (UDDSF) as an intermediary layer between different database models. This UDDSF acts as a translator that converts data between different database models, enabling seamless interoperability while maintaining the unique characteristics of each database system. The UDDSF receives data from one database model, transforms it according to the target model's requirements, and outputs compatible data, thus resolving the compatibility issue without sacrificing organizational flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal data access interface through the UDDSF that can handle multiple database models (relational, hierarchical, network, etc.) through a single unified function. This universal interface allows applications to interact with different database systems using the same methodology, eliminating the need for model-specific access code and ensuring consistent data compatibility across diverse database architectures.

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

2Manufacturing precision

If applications directly interact with different DBMS and external data sources using specific syntax, then precise data access and control are improved, but system complexity and difficulty of development increase

Engineering Contradiction:
Improvedata access precisionVSAvoidsystem interaction complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The UDDSF serves as an intermediary that absorbs the complexity of interacting with different DBMS and external data sources. Instead of applications directly handling multiple syntaxes and protocols, they interact with the standardized UDDSF interface. The UDDSF internally manages the complexity of data source-specific syntax while presenting a unified, simplified interface to applications, thus maintaining precise data access without increasing apparent system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the system into distinct layers: the application layer that requires simplicity, and the UDDSF layer that handles complexity. By separating concerns in this manner, the complex interactions with multiple data sources are isolated in the UDDSF segment, while the application segment remains simple and easy to develop. This segmentation allows precise data access control at the UDDSF level without exposing complexity to the application layer.

Inventive Principle:
Principle #1Segmentation

3Reliability

If user-defined functions are developed with knowledge of specific DBMS syntax and system details, then functional correctness and reliability are improved, but ease of development and usability deteriorate

Engineering Contradiction:
Improvefunctional correctnessVSAvoidease of development
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The UDDSF acts as a mediator that shields developers from DBMS-specific syntax and system details. Developers write UDDSFs using a standardized, syntax-agnostic interface, and the UDDSF infrastructure automatically handles the translation to appropriate DBMS-specific operations. This ensures functional correctness through standardized interfaces while dramatically improving ease of development by eliminating the need to learn multiple DBMS syntaxes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The UDDSF infrastructure provides self-service by automatically generating the necessary DBMS-specific code and handling syntax transformations. Instead of requiring developers to manually write complex, syntax-specific code, the system automatically services the development needs by translating high-level UDDSF definitions into optimized, DBMS-specific implementations, thereby maintaining reliability while improving ease of development.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10360204B2User defined function, class creation for external data source access
Publication Date: 2019.07.23 ROCKET SOFTWARE
  • US10360204B2 patent drawing
  • US10360204B2 patent drawing
  • US10360204B2 patent drawing

AI summary

An example technique for defining a user function can include receiving a user defined function that gathers data from a data source external to a database and returns the data to the database. The example technique for defining the user function can also include creating an instance of a programming class that extends from an application programming interface (API). The instance of the programming class including the user defined function. The example technique for defining the user function can also include executing the user defined function provided by the instance of the programming class.