Data Agent Sidecar for Dynamic Filter and Projection Push Down

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data access systems face inefficiencies when dealing with diverse data sources, as they often require applications to perform transformations like filtering and projection on data after retrieval, leading to increased network traffic and computational load, and lack flexibility in handling data sources with varying transformation capabilities.

Innovation Solution

The implementation of a data agent sidecar that determines which transformations can be performed by the data source and which cannot, allowing it to push down supported transformations to the data source while performing unsupported transformations itself, thereby reducing network traffic and computational load and enabling seamless integration with various data sources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications perform transformations after retrieving data from diverse data sources, then data access flexibility is maintained, but network traffic and computational load increase

Engineering Contradiction:
Improvedata access flexibilityVSAvoidcomputational load
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system performs transformations (filtering, projection) at the data source before data retrieval, rather than after retrieval. The data access sidecar pushes down transformation requests to the data source, so that only transformed, necessary data is transmitted over the network, reducing both computational load and network traffic

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A data access sidecar is introduced as an intermediary component between the application and diverse data sources. The sidecar dynamically determines which transformations each data source supports and orchestrates the transformation process, maintaining flexibility while optimizing performance by pushing transformations down to capable data sources

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If applications perform transformations after retrieving data, then data processing capability is maintained, but network traffic increases

Engineering Contradiction:
Improvedata processing capabilityVSAvoidnetwork traffic
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Transformations are executed at the data source before data transmission. The sidecar pushes down projection and filtering operations to the data source, so that only the necessary, transformed data subset is sent over the network, reducing network traffic while maintaining full data processing capability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system extracts and pushes down transformation operations (filtering, projection) from the application layer to the data source layer. Only the essential, transformed data is transmitted over the network, separating the transformation logic from the data transmission path

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If the system pushes down transformations to data sources, then network traffic is reduced, but system complexity increases

Engineering Contradiction:
Improvenetwork trafficVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The data access sidecar serves as an intermediary that manages the complexity of pushing transformations down to diverse data sources. It dynamically determines which transformations each data source supports and orchestrates the process, shielding the application from complexity while achieving network traffic reduction

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adapts transformation pushdown based on the capabilities of each data source. The sidecar evaluates which transformations are supported by the target data source and pushes down only those that are supported, making the system flexible and adaptable rather than rigid and complex

Inventive Principle:
Principle #15Dynamics

4Adaptability or versatility

If applications handle all transformations, then data source capability differences are managed, but application complexity increases

Engineering Contradiction:
Improvedata source compatibilityVSAvoidapplication complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The data access sidecar is introduced as an intermediary that handles the complexity of managing diverse data source capabilities. It dynamically determines which transformations each data source supports and orchestrates the transformation process, shielding the application from complexity while maintaining full data source compatibility

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system segments transformation handling responsibilities between the data access sidecar and the application. The sidecar manages the complexity of pushing transformations down to data sources and handling capability differences, while the application focuses on business logic, reducing overall application complexity

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20240061854A1Dynamic filter and projection push down
Publication Date: 2024.02.22 SAP SE
  • US20240061854A1 patent drawing
  • US20240061854A1 patent drawing
  • US20240061854A1 patent drawing

AI summary

Data sources provide access to data. The data stored by the data source may be transformed before use by an application. Different data sources support different transformations. A data agent sidecar for the application accepts work orders from the application and submits work orders to data sources. A work order identifies a data source from which data is requested. The work order optionally includes one or more transformations to be applied to the data from the data source. The data agent sidecar determines, for the data source from which data is requested, which transformations can be performed by the data source and which transformations are not supported by the data source. The data transformations that can be performed by the data source are included in the work order to the data source. The remaining data transformations are performed by the data agent sidecar.