Merged AST for Lightweight Data Model Extensions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional approaches for extending data models in database systems are inefficient in terms of technical resources, as they require the generation of multiple abstract syntax trees (ASTs) and corresponding runtime data objects, leading to increased processor and memory consumption.

Innovation Solution

The implementation of merged abstract syntax trees (ASTs) is used to generate a single mixed runtime data object, reducing the number of ASTs and runtime data objects, thereby optimizing resource usage by merging view and extension ASTs and providing a single mixed runtime data object for consumption by runtime components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional approaches are used to extend data models by generating separate view AST and extension AST, then data model extensions can be implemented, but technical resources (processors, memory) are consumed inefficiently

Engineering Contradiction:
Improvedata model extension capabilityVSAvoidtechnical resource consumption
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent merges the view AST and extension AST into a single merged AST structure. Instead of maintaining separate ASTs for views and extensions, the system integrates them into one unified AST that contains both view definitions and extension definitions, thereby reducing the number of data structures that need to be managed and consumed by runtime components.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The merged AST serves multiple functions simultaneously - it represents both the base view and its extensions within a single structure. This universal structure eliminates the need for separate processing paths for views and extensions, allowing runtime components to process both types of definitions through a unified mechanism.

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

2Adaptability or versatility

If separate view AST and extension AST are provided for extended views, then data model extensions are supported, but multiple runtime data objects are generated consuming additional technical resources

Engineering Contradiction:
Improveview extension supportVSAvoidnumber of runtime data objects
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent consolidates multiple runtime data objects into a single mixed runtime data object that is generated from the merged AST. Instead of creating separate runtime data objects for views and extensions, the system produces one unified runtime data object that contains both view and extension information, thereby reducing the quantity of objects that need to be instantiated and managed.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If code pushdown approach is implemented to move data model and calculations to database level, then data-intensive calculations are performed efficiently, but extensions require additional processing resources

Engineering Contradiction:
Improvedata-intensive calculation performanceVSAvoidprocessor consumption for extension processing
Core Design Contradiction:
ProductivityVSUse of energy by stationary object

Solution Approach 1:

The patent merges extension processing with the existing code pushdown infrastructure by integrating extension AST into the view AST processing pipeline. This allows extensions to be processed alongside views using the same database-level computation engine, eliminating the need for separate extension processing resources and maintaining efficient data-intensive calculation performance.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11693826B2Lightweight extension of core data services
Publication Date: 2023.07.04 SAP SE
  • US11693826B2 patent drawing
  • US11693826B2 patent drawing
  • US11693826B2 patent drawing

AI summary

Implementations of the present disclosure include receiving, by a parser, a view source file and an extension source file, the view source file defining a view on data stored in a database, the extension source file defining an extension to the view, parsing, by the parser, the view source file to provide a view abstract syntax tree (AST) and the extension source file to provide an extension AST, providing, by the parser, a merged AST based on the view AST and the extension AST, generating a mixed runtime data object using the merged AST, and providing the mixed runtime data object for consumption by at least one runtime component.