Data Job Performance Optimizer for SAP ERP

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

It is challenging to determine which approach, either performing data operations in a data service tool or pushing them down to the data source, results in better performance, especially in database-based applications like SAP ERP, where reading is unpredictable due to the absence of indexes on special objects like cluster and pool tables.

Innovation Solution

A performance optimizer determines a new type of data job based on execution parameters, executes it twice, once at the data service tool and once with operations pushed down to the data source, collects performance results, and updates a result storage with a pushdown flag to indicate the optimal execution method for subsequent jobs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data operations are performed at the data service tool, then the operations can be executed with full control and flexibility, but the performance may be slower due to data transfer and processing overhead

Engineering Contradiction:
Improvecontrol flexibilityVSAvoiddata processing speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system dynamically switches between two execution modes (pushdown to data source vs. execution at data service tool) based on real-time performance benchmarking results. The performance optimizer adapts the execution strategy by selecting the mode that demonstrated better performance for similar operations, making the system flexible and responsive to different data scenarios.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention segments the data processing workflow into two distinct execution paths: (1) pushdown operations where data operations are executed at the data source, and (2) traditional operations where data is transferred to and processed at the data service tool. This segmentation allows the system to choose the optimal path based on performance characteristics.

Inventive Principle:
Principle #1Segmentation

2Productivity

If data operations are pushed down to the data source, then processing speed may improve by avoiding data transfer, but performance becomes unpredictable especially for database applications with special objects

Engineering Contradiction:
Improvedata processing speedVSAvoidperformance predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary benchmarking executions before actual data processing to establish performance characteristics. By executing test operations in both modes (pushdown and traditional) and measuring their performance, the system proactively determines the optimal execution strategy for future operations, eliminating the need to guess which approach will be faster.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The performance optimizer implements a feedback mechanism where benchmarking results from preliminary executions are used to guide subsequent operation execution. The system continuously learns from performance measurements and adjusts its strategy by storing benchmark results and using them to inform future execution mode selections, creating a closed-loop optimization system.

Inventive Principle:
Principle #23Feedback

3Productivity

If benchmarking is performed to determine the optimal execution approach, then performance optimization is achieved, but additional time and computational overhead is introduced

Engineering Contradiction:
Improveoverall system performanceVSAvoidbenchmarking execution time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs benchmarking selectively rather than for every single operation. By categorizing operations and using benchmark results from representative samples to guide similar operations, the system achieves performance optimization without the overhead of exhaustive benchmarking for each individual data operation.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

Benchmarking is performed in advance during system initialization or maintenance windows rather than in real-time before every operation. This preliminary benchmarking establishes performance baselines that are then used to guide operation execution, separating the optimization overhead from critical data processing paths.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250094183A1Performance optimizations for data operations
Publication Date: 2025.03.20 SAP SE
  • US20250094183A1 patent drawing
  • US20250094183A1 patent drawing
  • US20250094183A1 patent drawing

AI summary

Embodiments may be associated with a data source and a data service tool. A performance optimizer may determine a new type of data job to be executed based on a job execution parameter, perform a first execution of the new type of data job (such that data operations are performed at the data service tool), and collect first performance results. The performance optimizer then performs a second execution of the new type of data job (such that data operations are pushed down and performed at the data source) and collects second performance results. The first and second performance results are compared, and a result storage is updated with an indication of whether subsequent executions of the new type of data job will perform data operations at the data service tool or at the data source. The indication stored in the result storage may comprise, for example, a pushdown flag.