Server-Side Cross-Model Filtering for Data Queries

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems face inefficiencies in processing queries that filter across unlinked data models, consuming substantial client resources and network bandwidth due to the need for explicit association and data fetching between dimensions.

Innovation Solution

Implementing a system architecture where associations between dimensions of different data models are established, allowing the majority of query execution to occur on the backend, thereby reducing client resource usage and optimizing network bandwidth by generating calculated dimensions and performing joins on these dimensions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the client fetches tuples from the first data model and queries the second data model based on each fetched tuple, then the query can filter across unlinked data models, but the client processing resources and network bandwidth are consumed substantially

Engineering Contradiction:
Improvecross-model filtering capabilityVSAvoidclient processing resources
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The server acts as an intermediary that receives the filter condition from the client, translates it into a query against the first data model, fetches the relevant tuples, and then uses these tuples to query the second data model. This intermediary approach allows cross-model filtering while moving the heavy lifting to the server, reducing client resource consumption.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of the client performing the filtering operation by fetching and processing data locally, the inversion occurs where the server performs the filtering operation. The client sends the filter condition to the server, and the server handles the complex cross-model query execution, reversing the traditional client-side processing paradigm.

Inventive Principle:
Principle #13The other way round (Inversion)

2Adaptability or versatility

If the client fetches tuples from the first data model and queries the second data model based on each fetched tuple, then the query can filter across unlinked data models, but the network bandwidth is consumed substantially

Engineering Contradiction:
Improvecross-model filtering capabilityVSAvoidnetwork bandwidth
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The server serves as an intermediary that manages the data retrieval process. It receives the filter condition, translates it into appropriate queries against the first data model, and only transfers the necessary filtered tuples to the server for further processing against the second data model. This reduces the overall network bandwidth consumption compared to client-side processing.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The server performs preliminary filtering action by first querying the first data model with the provided filter condition and obtaining only the relevant tuples before proceeding to query the second data model. This preliminary action reduces the amount of data that needs to be transferred and processed over the network.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If associations between dimensions of different data models are established, then query execution can occur on the backend, but the system complexity increases

Engineering Contradiction:
Improvequery execution efficiencyVSAvoidsystem architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The server implements a universal query processing mechanism that can handle filters across any combination of data models and dimensions. The system maintains a flexible association framework that allows dimensions from different data models to be linked, enabling the server to execute complex queries efficiently without requiring separate specialized processing for each scenario.

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

Data Source

PatentUS11200236B2Server-side cross-model filtering
Publication Date: 2021.12.14 SAP IRELAND LTD
  • US11200236B2 patent drawing
  • US11200236B2 patent drawing
  • US11200236B2 patent drawing

AI summary

A system includes reception of a filter on a first dimension of a first data model, determination of an association between a second dimension of the first data model and a first dimension of a second data model, generation of a calculated dimension based on the second dimension, the rows of the calculated dimension being identical to the rows of the first dimension, application of the filter to the rows of the calculated dimension to generate filtered rows of the calculated dimension, execution of an inner join between the filtered rows of the calculated dimension and a fact table of the second data model to generate a result table including one or more measure values of the second data model, and generation of a visualization including the result table.