Platform-Independent UDFs via Standard Interface Wrappers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing technologies for user-defined functions (UDFs) in relational databases and data processing systems require manual reimplementations across different platforms due to varying internal data representations and application programming interfaces (APIs), leading to increased development and maintenance costs.

Innovation Solution

A standard UDF interface with platform-independent abstractions and platform-specific implementations allows for the creation and execution of UDFs across multiple platforms, using standard types and structures to define and manipulate data, along with automatic generation of platform-specific wrappers for seamless integration.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual reimplementation of UDFs is performed on each platform, then platform-specific compatibility is achieved, but development cost and maintenance overhead increase

Engineering Contradiction:
Improveplatform-specific compatibilityVSAvoiddevelopment cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent introduces an intermediary layer (wrapper class or translation layer) that sits between the platform-independent UDF definition and the platform-specific execution environment. This intermediary handles the conversion and adaptation of UDF calls to match each platform's specific API and data representation, allowing a single UDF definition to work across multiple platforms without manual reimplementation.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal UDF interface that can function across multiple different platforms. By defining UDFs in a platform-independent manner with standardized data structures and APIs, the same UDF can be executed on various database systems and data processing platforms, achieving multi-functionality and eliminating the need for separate implementations.

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

2Productivity

If manual reimplementation of UDFs is performed on each platform, then platform-specific optimization is achieved, but maintenance time and complexity increase

Engineering Contradiction:
Improveplatform-specific optimizationVSAvoidmaintenance time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The intermediary layer automatically handles platform-specific adaptations, eliminating the need for manual maintenance of multiple UDF versions. When changes are needed in the UDF logic, they are made in a single place and automatically propagated to all platforms through the intermediary, significantly reducing maintenance time and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of maintaining separate copies of UDFs for each platform, the patent uses a single master definition that is copied or translated into platform-specific forms automatically. This ensures consistency across platforms and reduces maintenance burden, as updates to the master definition are automatically reflected in all platform-specific implementations.

Inventive Principle:
Principle #26Copying

3Reliability

If platform-specific UDF implementations are used, then data representation compatibility is achieved, but development overhead increases

Engineering Contradiction:
Improvedata representation compatibilityVSAvoiddevelopment overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary translation layer that handles data representation conversions between the platform-independent UDF interface and platform-specific data formats. This intermediary automatically adapts data structures, types, and representations, ensuring compatibility across platforms while keeping the UDF definition simple and uniform.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent uses parameter changes and transformations in the intermediary layer to adapt UDF inputs and outputs to match platform-specific requirements. By dynamically adjusting data representations, types, and formats at the interface level, the system maintains data representation compatibility without requiring changes to the core UDF logic.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10613855B2Platform-independent user-defined functions for data access
Publication Date: 2020.04.07 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10613855B2 patent drawing
  • US10613855B2 patent drawing
  • US10613855B2 patent drawing

AI summary

The disclosed embodiments provide a system for processing data. During operation, the system obtains a user-defined function (UDF) that is defined using a standard UDF interface for accessing multiple platforms. Next, the system converts data in a platform into a standard form that is supported by the standard UDF interface using a platform-specific wrapper for the UDF and a platform-specific implementation of the standard UDF interface. The system then generates output data in the standard form by applying one or more operations to the data in the standard form. Finally, the system converts the output data into a platform-specific form that is supported by the platform and returns the output data in the platform-specific form.