Patents by Inventor Johannes Merx

Johannes Merx has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11893026
    Abstract: A calculation engine of a database management system is described that determines a multiprovider includes a first data source and a second data source that each require different approaches for operation optimization. The calculation engine can split the multiprovider into a first node corresponding to a first operation compatible with the first data source and a second node corresponding to a second operation compatible with the second data source. The calculation engine can perform the first operation at the first data source to produce a first result and perform the second operation at the second data source to produce a second result. The calculation engine can then merge the first result and the second result according to a third operation, and perform such third operation at the first data source.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: February 6, 2024
    Assignee: SAP SE
    Inventors: Julian Schwing, Christoph Weyerhaeuser, Johannes Merx, Davide Corradi, Timo Hochberger
  • Patent number: 11455308
    Abstract: Described herein includes a calculation scenario of a calculation engine that efficiently partitions data for processing at separate hosts, including in parallel, and unions intermediate results from such separate processing when required for further processing. Such parallel processing of partitions can allow for faster processing times, and such unioning of data only when required for further processing can limit the transferring of data that results in slower processing.
    Type: Grant
    Filed: November 17, 2016
    Date of Patent: September 27, 2022
    Assignee: SAP SE
    Inventors: Julian Schwing, Johannes Merx, Christoph Weyerhaeuser
  • Patent number: 11442934
    Abstract: A method, a system, and a computer program product for executing a query. A query associated with a calculation scenario defining a data flow model that includes one or more calculation nodes is received. Each calculation node corresponds to an operation being performed on one or more database tables stored at a database. The calculation nodes include one or more nodes specifying a window function operation. The window function operation including one or more first attributes and one or more second attributes. A calculation engine executes the calculation scenario by performing, using at least one of the first and second attributes, the window function operation on the database tables stored at the database. Based on the execution of the calculation scenario, a result data set is generated and provided by the database server to the application server.
    Type: Grant
    Filed: March 27, 2020
    Date of Patent: September 13, 2022
    Assignee: SAP SE
    Inventors: Michael Ludwig, Johannes Merx, Matthias Vigelius, Christoph Weyerhaeuser
  • Patent number: 11372863
    Abstract: A calculation engine of a database management system is described. The calculation engine may receive a query associated with a calculation scenario that defines a data flow model. The data flow model may include one or more calculation nodes, each of which corresponding to an operation performed on one or more database tables stored at a database. The one or more calculation nodes may include at least one calculation node corresponding to a ranking filter operation. The calculation engine may execute the query including by executing the calculation scenario. The executing of the calculation scenario may include performing the ranking filter operation to generate a result corresponding to at least a portion of rows included in a first partition of a database table stored at the database. Related systems, methods, and articles of manufacture are provided.
    Type: Grant
    Filed: December 11, 2019
    Date of Patent: June 28, 2022
    Assignee: SAP SE
    Inventors: Michael Ludwig, Johannes Merx, Christoph Weyerhaeuser, Julian Schwing
  • Patent number: 11360977
    Abstract: Implementations of the present disclosure include receiving, by a query processing server, a first query, the first query including a syntax indicating that precision loss is allowed, processing, by the query processing server, the first query to provide a first QEP, optimization of which would result in precision loss in a generated query result, determining that the syntax is provided, and in response, optimizing the first QEP to provide an optimized QEP, executing the optimized QEP to generate a query result that includes data stored within a database system, the query result having reduced accuracy relative to a query result that would be generated based on the first QEP, and providing the query result as output from the database system.
    Type: Grant
    Filed: April 1, 2019
    Date of Patent: June 14, 2022
    Assignee: SAP SE
    Inventors: Johannes Merx, Taehyung Lee, Sung Heun Wi, Jin Uk Bae, Ki Hong Kim, Stefan Baeuerle, Florian Scheid
  • Patent number: 11188540
    Abstract: Described herein includes a calculation scenario of a calculation engine that efficiently filters and joins data for processing. The calculation engine enhances the performance of the join operations by allowing join inputs to be pre-filtered more effectively. Such join operations can allow for faster processing times, and a reduction in the amount of data to be joined, resulting in more efficient processing.
    Type: Grant
    Filed: April 4, 2018
    Date of Patent: November 30, 2021
    Assignee: SAP SE
    Inventors: Alena Bakulina, Johannes Merx, Julian Schwing, Christoph Weyerhaeuser
  • Publication number: 20210303583
    Abstract: A method, a system, and a computer program product for executing a query. A query associated with a calculation scenario defining a data flow model that includes one or more calculation nodes is received. Each calculation node corresponds to an operation being performed on one or more database tables stored at a database. The calculation nodes include a first calculation node corresponding to a ranking filter operation. A calculation engine executes the calculation scenario and performs the ranking filter operation to generate a data structure storing a plurality of rows of the database tables. Based on the executing of the calculation scenario, a result data set including at least one row from the plurality of rows is generated and provided by a database server to an application server.
    Type: Application
    Filed: March 27, 2020
    Publication date: September 30, 2021
    Inventors: Michael Ludwig, Johannes Merx
  • Publication number: 20210303562
    Abstract: A method, a system, and a computer program product for executing a query. A query associated with a calculation scenario defining a data flow model that includes one or more calculation nodes is received. Each calculation node corresponds to an operation being performed on one or more database tables stored at a database. The calculation nodes include one or more nodes specifying a window function operation. The window function operation including one or more first attributes and one or more second attributes. A calculation engine executes the calculation scenario by performing, using at least one of the first and second attributes, the window function operation on the database tables stored at the database. Based on the execution of the calculation scenario, a result data set is generated and provided by the database server to the application server.
    Type: Application
    Filed: March 27, 2020
    Publication date: September 30, 2021
    Inventors: Michael Ludwig, Johannes Merx, Matthias Vigelius, Christoph Weyerhaeuser
  • Patent number: 11113285
    Abstract: Described herein includes a calculation scenario of a calculation engine that efficiently partitions data for processing at separate hosts, including in parallel, and unions intermediate results from such separate processing when required for further processing. Such parallel processing of partitions can allow for faster processing times, and such unioning of data only when required for further processing can limit the transferring of data that results in slower processing.
    Type: Grant
    Filed: April 4, 2018
    Date of Patent: September 7, 2021
    Assignee: SAP SE
    Inventors: Davide Corradi, Johannes Merx, Julian Schwing, Christoph Weyerhaeuser
  • Patent number: 11106666
    Abstract: A query that requests a filter attribute is received by a database server from a remote application server that is associated with at least one calculation scenario that includes calculation nodes having relational operators and calculation nodes having non-relational operators. The calculation nodes having relational or non-relational operators are optimized by a calculation engine model optimizer and the calculation nodes having relational operators are further optimized by a relational database optimizer. Thereafter, the operations defined by the optimized calculation nodes can be executed to result in a responsive data set. Next, the data set is provided to the application server by the database server.
    Type: Grant
    Filed: May 28, 2015
    Date of Patent: August 31, 2021
    Assignee: SAP SE
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Julian Schwing
  • Publication number: 20210182299
    Abstract: A calculation engine of a database management system is described. The calculation engine may receive a query associated with a calculation scenario that defines a data flow model. The data flow model may include one or more calculation nodes, each of which corresponding to an operation performed on one or more database tables stored at a database. The one or more calculation nodes may include at least one calculation node corresponding to a ranking filter operation. The calculation engine may execute the query including by executing the calculation scenario. The executing of the calculation scenario may include performing the ranking filter operation to generate a result corresponding to at least a portion of rows included in a first partition of a database table stored at the database. Related systems, methods, and articles of manufacture are provided.
    Type: Application
    Filed: December 11, 2019
    Publication date: June 17, 2021
    Inventors: Michael Ludwig, Johannes Merx, Christoph Weyerhaeuser, Julian Schwing
  • Patent number: 11023468
    Abstract: Methods and apparatus, including computer program products, are provided for first and last aggregation. In one aspect, there is provided a method, which may include receiving, by a calculation engine, a query; detecting, by the calculation engine, whether the query includes a first aggregation and/or a last aggregation over at least one group and at least one keyfigure; optimizing the received query, when the detecting indicates the received query includes the first aggregation and/or the last aggregation, wherein the optimizing further comprises initiating execution of the received query by at least: performing a single read of a table, detecting, from the single table read, at least one group, and indicating, in the detected at least one group, the first aggregation in the at least one keyfigure and/or the last aggregation in the at least one keyfigure; and returning, for the at least one detected group, the indicated first aggregation and/or the indicated second aggregation.
    Type: Grant
    Filed: November 20, 2015
    Date of Patent: June 1, 2021
    Assignee: SAP SE
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Julian Schwing
  • Patent number: 10831784
    Abstract: A calculation engine of a database management system is described. In some implementations, the calculation engine receives a calculation scenario including a plurality of calculation views comprising one or more relational operations. The calculation engine determines whether a first calculation view includes a second calculation view configured as an operand of one of the relational operations of the first calculation view, and also determines whether the second calculation view comprises a non-relational operation. The calculation engine further converts the plurality of calculation views into a calculation plan via merging the first calculation view with the second calculation view when the first calculation view is determined to comprise the second calculation view as an operand, and replacing the second calculation view with a view search operation when the second calculation view is determined to comprise the non-relational operation.
    Type: Grant
    Filed: May 9, 2016
    Date of Patent: November 10, 2020
    Assignee: SAP SE
    Inventors: Julian Schwing, Johannes Merx, Christoph Weyerhaeuser
  • Publication number: 20200320082
    Abstract: A calculation engine of a database management system is described that determines a multiprovider includes a first data source and a second data source that each require different approaches for operation optimization. The calculation engine can split the multiprovider into a first node corresponding to a first operation compatible with the first data source and a second node corresponding to a second operation compatible with the second data source. The calculation engine can perform the first operation at the first data source to produce a first result and perform the second operation at the second data source to produce a second result. The calculation engine can then merge the first result and the second result according to a third operation, and perform such third operation at the first data source.
    Type: Application
    Filed: April 2, 2019
    Publication date: October 8, 2020
    Inventors: Julian Schwing, Christoph Weyerhaeuser, Johannes Merx, Davide Corradi, Timo Hochberger
  • Publication number: 20200311081
    Abstract: Implementations of the present disclosure include receiving, by a query processing server, a first query, the first query including a syntax indicating that precision loss is allowed, processing, by the query processing server, the first query to provide a first QEP, optimization of which would result in precision loss in a generated query result, determining that the syntax is provided, and in response, optimizing the first QEP to provide an optimized QEP, executing the optimized QEP to generate a query result that includes data stored within a database system, the query result having reduced accuracy relative to a query result that would be generated based on the first QEP, and providing the query result as output from the database system.
    Type: Application
    Filed: April 1, 2019
    Publication date: October 1, 2020
    Inventors: Johannes Merx, Taehyung Lee, Sung Heun Wi, Jin Uk Bae, Ki Hong Kim, Stefan Baeuerle, Florian Scheid
  • Patent number: 10713244
    Abstract: A calculation engine of a database management system is described. In some implementations, the calculation engine receives a calculation scenario including a plurality of join operations defining an intersection between at least two nodes. The calculation engine optimizes a first join which is of a certain cardinality, and for which no attributes are requested, other than a join attribute. The optimization includes determining whether a static filter is present for a first node or a second node of the first join, and pruning the first node and/or the second node from the hierarchical join when the attribute is not requested from the first node or the second node and/or when the static filter is not present for the first node or the second node. Related systems, methods, and articles of manufacture are also described.
    Type: Grant
    Filed: May 9, 2016
    Date of Patent: July 14, 2020
    Assignee: SAP SE
    Inventors: Julian Schwing, Johannes Merx, Christoph Weyerhaeuser
  • Patent number: 10628418
    Abstract: According to an aspect, a system includes a query engine configured to obtain a multi-provider query model for a query specifying a filter to be applied on provider partitions. The obtained multi-provider query model incorporates a pruning plan. The query engine includes a query optimizer configured to execute the pruning plan during optimization of the multi-provider query model. The pruning plan determines if each of the provider partitions includes content that is required to execute the filter based on pruning information. The query optimizer configured to reduce a scope of the query by excluding at least one provider partition that is determined as not required to execute the filter.
    Type: Grant
    Filed: November 13, 2014
    Date of Patent: April 21, 2020
    Assignee: SAP SE
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Joerg Schad, Julian Schwing, Daniel Patejdl
  • Patent number: 10558652
    Abstract: A method may include executing a calculation scenario at a database. The calculation scenario may include a parent multiprovider aggregating data from a child multiprovider. The calculation scenario may be executed by mapping a first count keyfigure of the child multiprovider to a first sum keyfigure of the parent multiprovider if the child multiprovider aggregates data from part providers but not from multiproviders. A second sum keyfigure of the child multiprovider may be mapped to the first sum keyfigure of the parent multiprovider if the child multiprovider aggregates data from multiproviders but not from any part providers. The first count keyfigure of the child multiprovider may be mapped to a second count keyfigure of the parent multiprovider and the second sum keyfigure of the child multiprovider may be mapped to the first sum keyfigure of the parent multiprovider if the child multiprovider aggregates data from part providers and multiproviders.
    Type: Grant
    Filed: July 14, 2017
    Date of Patent: February 11, 2020
    Assignee: SAP SE
    Inventors: Julian Schwing, Johannes Merx, Christoph Weyerhaeuser
  • Patent number: 10552388
    Abstract: Described herein includes finding and replacing, including automatically, at least one null value in a table for allowing processing of the table with an ABAP-based application. In some implementations, the null values are replaced with replacement values that are compatible with further processing of the data in the table. For example, a replacement value can be a string providing information or a value, such as for performing a calculation.
    Type: Grant
    Filed: January 10, 2017
    Date of Patent: February 4, 2020
    Assignee: SAP SE
    Inventors: Davide Corradi, Daniel Patejdl, Christoph Weyerhaeuser, Johannes Merx, Julian Schwing
  • Patent number: 10521431
    Abstract: A calculation engine of a database management system is described. In an exemplary implementation, the calculation engine receives a calculation scenario. The calculation scenario includes one or more relational operations and one or more non-relational operations of a multiprovider, the multiprovider utilizing a plurality of database partitions. The calculation engine processes the one or more non-relational operations via the multiprovider. After processing the one or more non-relational operations, the calculation engine converts the one or more relational operations. This converting comprises filtering first data from the plurality of partitions to form second data and forming third data by performing a union operation on the second data. Thereafter, the third data is filtered to form fourth data. Related systems, methods, and articles of manufacture are also described.
    Type: Grant
    Filed: May 9, 2016
    Date of Patent: December 31, 2019
    Assignee: SAP SE
    Inventors: Christoph Weyerhaeuser, Johannes Merx