Database Application Function Library Incremental Upgrade

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database systems require full restarts to upgrade application function libraries due to dependencies generated by loading these libraries into the primary database server's address space, making incremental updates impractical.

Innovation Solution

Loading only a metadata library into the primary server's address space, which registers application functions as database procedures, and loading the application function library into a secondary server's address space on demand, allowing for incremental upgrades without restarting the entire database system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the application function library is loaded into the primary database server's address space, then the application functions can be executed directly, but the system requires a full restart to upgrade the library

Engineering Contradiction:
Improvesystem continuityVSAvoiddowntime for upgrades
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the database system into primary server and secondary server components, each with separate address spaces. The application function library is loaded into the secondary server's address space, while the primary server maintains its own address space with a different library version. This segmentation allows independent upgrading of the application function library without requiring a full system restart, as each server can be updated separately while the other continues to operate.

Inventive Principle:
Principle #1Segmentation

2Ease of manufacture

If the application function library is loaded into the primary server's address space, then direct execution is enabled, but dependencies prevent incremental updates

Engineering Contradiction:
Improveease of upgradingVSAvoidsystem dependencies
Core Design Contradiction:
Ease of manufactureVSDevice complexity

Solution Approach 1:

The patent extracts the application function library from the primary server's address space and loads it into the secondary server's address space instead. This extraction removes the problematic dependencies that prevented incremental updates from the primary server, allowing the library to be upgraded independently. The primary server can continue operating with its existing library version while the secondary server runs the updated version.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the entire application function library is loaded, then all functions are available, but upgrading requires restarting the entire database system

Engineering Contradiction:
Improvemaintenance efficiencyVSAvoidoperational continuity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent implements a dynamic architecture where the application function library can be loaded and unloaded independently in different server address spaces. The system can dynamically switch between primary and secondary servers, allowing one server to be upgraded while the other continues to provide service. This dynamic approach enables incremental upgrades without requiring the entire database system to be restarted, improving both maintenance efficiency and operational continuity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10747524B2Upgrading an application function library
Publication Date: 2020.08.18 SAP SE
  • US10747524B2 patent drawing
  • US10747524B2 patent drawing
  • US10747524B2 patent drawing

AI summary

In one aspect, there is provided a method. The method may include loading, into a first address space of a primary server of a database, a metadata library of an application function library. The application function library may include an application function for performing operations on data held at the database. The metadata library may include a description of the application function. The primary server may determine, based on the metadata library, that executing a database query requires running the application function. The database query may be routed, based on the determination, to a secondary server of the database. The database query may be routed to trigger a loading the application function library into a second address space of the secondary server. Related methods and articles of manufacture are also provided.