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).

  • Publication number: 20170322952
    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: Application
    Filed: May 9, 2016
    Publication date: November 9, 2017
    Inventors: Julian Schwing, Johannes Merx, Christoph Weyerhaeuser
  • Publication number: 20170322988
    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: Application
    Filed: May 9, 2016
    Publication date: November 9, 2017
    Inventors: Christoph Weyerhaeuser, Johannes Merx
  • Patent number: 9767151
    Abstract: A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes and that includes at least one hierarchy filter. Each hierarchy filter is a filter of at least one hierarchy table. Each calculation node defines one or more operations to execute on the database server. Thereafter, the database server instantiates the calculation scenario. The instantiating includes optimizing the calculation scenario by transforming at least one hierarchy filter and pushing down the at least one transformed hierarchy filter to a lower calculation node. The database server then executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server can subsequently provide the data set to the application server.
    Type: Grant
    Filed: November 18, 2013
    Date of Patent: September 19, 2017
    Assignee: SAP SE
    Inventors: Tobias Mindnich, Christoph Weyerhaeuser, Johannes Merx
  • Patent number: 9753981
    Abstract: A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes. The calculation nodes each define one or more operations to execute by a calculation engine on the database server. Thereafter, the database server instantiates a runtime model of the calculation scenario by accessing a local settings object stored with the calculation scenario that specifies local settings for the calculation scenario. Subsequently, the database server executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set. The data set can then be provided by the database server to the application server.
    Type: Grant
    Filed: March 11, 2014
    Date of Patent: September 5, 2017
    Assignee: SAP SE
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Joerg Schad, Julian Schwing
  • Patent number: 9715527
    Abstract: A database server receives a query from a remote application server that is associated with a calculation scenario. The calculation scenario defines a data flow model that includes one or more calculation nodes that each define one or more operations to execute on the database server. The database server can be a column-oriented database and at least one of the calculation nodes comprises at least one join operation. Thereafter, the database server instantiates the calculation scenario so that it is optimized by removing one or more join operations and associated branches within the calculation scenario. The database server then executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server then provides the data set to the application server.
    Type: Grant
    Filed: November 18, 2013
    Date of Patent: July 25, 2017
    Assignee: SAP SE
    Inventors: Tobias Mindnich, Christoph Weyerhaeuser, Johannes Merx
  • Publication number: 20170147637
    Abstract: Methods and apparatus, including computer program products, are provided for union node pruning. In one aspect, there is provided a method, which may include receiving, by a calculation engine, a query; processing a calculation scenario including a union node; accessing a pruning table associated with the union node, wherein the pruning table includes semantic information describing the first input from the first data source node and the second input from the second data source node; determining whether the first data source node and the second data source node can be pruned by at least comparing the semantic information to at least one filter of the query; and pruning, based on a result of the determining, at least one the first data source node or the second data source node. Related apparatus, systems, methods, and articles are also described.
    Type: Application
    Filed: November 19, 2015
    Publication date: May 25, 2017
    Inventors: Tobias Mindnich, Julian Schwing, Christoph Weyerhaeuser, Isil Pekel, Johannes Merx, Alena Bakulina
  • Publication number: 20170147636
    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: Application
    Filed: November 20, 2015
    Publication date: May 25, 2017
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Julian Schwing
  • Publication number: 20170139987
    Abstract: A calculation engine is described that executes calculation scenarios comprising a plurality of calculation nodes that each specify operations to be performed to execute the query. One of the nodes can be a semantic node that is used to modify a higher-level programming language query that stacks the calculation scenario on top of another semantic node based calculation scenario for operations that call for processing of non-processable key figures. Non-processable key figures being key figures that produce incorrect semantics when processed by higher-level calculation scenarios. Related apparatus, systems, methods, and articles are also described.
    Type: Application
    Filed: November 18, 2015
    Publication date: May 18, 2017
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Alena Bakulina
  • Publication number: 20170139989
    Abstract: A calculation engine of a database management system receives a calculation scenario. The calculation scenario comprises a query of a multiprovider that comprises a plurality of partitions. The calculation engine evaluates the query to identify a partition of the plurality of partitions that is not necessary for responding to the query. The calculation engine prunes the partition from the calculation scenario. The pruning comprises not loading or accessing the partition in the execution of the query and/or removing the filter constraint for the partition.
    Type: Application
    Filed: November 18, 2015
    Publication date: May 18, 2017
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Julian Schwing
  • Publication number: 20170139988
    Abstract: A stacked calculation view, defining a calculation scenario, having calculation views associated with high-level programming logic which can include complex analytical privileges. Resolving, using a high-level programming logic layer, a calculation view having associated high-level programming logic with the next calculation view in the stack to generate a sub-query. Converting the sub-query into a format readable by a database system and separating the part of the sub-query provided by the high-level programming logic from the sub-query to form a high-level programming logic filter in the database system format. Merge the high-level programming logic filter into the calculation scenario to provide a calculation scenario including high-level programming logic information in the database system format.
    Type: Application
    Filed: November 18, 2015
    Publication date: May 18, 2017
    Inventors: JOHANNES MERX, Tobias Mindnich, Christoph Weyerhaeuser
  • Publication number: 20170139982
    Abstract: A database server receives a request to perform a primary query on a table of a database. A first table query can be generated and can include a starting row identifier, ROW A, and a number of rows, n, for generating a data chunk from the table of the database. Multiple table queries can be performed each having a different starting row identifier and each defining the number of rows forming a data chunk. The primary query can be extended with the first table query in preparation for performing the primary query on the first data chunk.
    Type: Application
    Filed: November 18, 2015
    Publication date: May 18, 2017
    Inventors: Christoph Weyerhaeuser, Alena Bakulina, Tobias Mindnich, Johannes Merx, Julian Schwing
  • Patent number: 9619514
    Abstract: A query is received by a database server from a remote application server. The query is associated with a calculation scenario that defines a data flow model that includes one or more nodes that each define one or more operations for execution by a calculation engine on the database server. Thereafter, the database server instantiates a runtime model of the calculation scenario based on the nodes of the instantiated calculation scenario. Subsequently, one or more of the nodes are identified as being convertible into a relational database format. These nodes are then used to form a container node. An execution plan of the runtime model of the calculation scenario including the container node is built that is executed by the database server to result in a data set which is provided by the database server to the application server.
    Type: Grant
    Filed: June 17, 2014
    Date of Patent: April 11, 2017
    Assignee: SAP SE
    Inventors: Tobias Mindnich, Jeong Ae Han, Johannes Merx, Christoph Weyerhaeuser, Yongsik Yoon, Sung Heun Wi
  • Patent number: 9613094
    Abstract: A database server receives a query associated with a calculation scenario that defines a data flow model that includes one or more calculation nodes. Each calculation node defines one or more operations to execute on the database server, the database server comprising a column-oriented database. Thereafter, the database server instantiates the calculation scenario and executes the operations defined by the calculation nodes of the instantiated calculation scenario to result in a responsive data set having a result table with a row for each column in the column-oriented database implicated by the query having a constant value. The database server then provides the data set to the application server. Related apparatus, systems, methods, and articles are also described.
    Type: Grant
    Filed: October 29, 2013
    Date of Patent: April 4, 2017
    Assignee: SAP SE
    Inventors: Tobias Mindnich, Christoph Weyerhaeuser, Johannes Merx
  • Publication number: 20160371330
    Abstract: A calculation engine is described that executes calculation scenarios comprising a plurality of calculation nodes that specify operations to be performed to execute the query. One of the nodes can be a semantic node that is used to modify the query for operations requiring special handling including handling of hierarchy views. Related apparatus, systems, methods, and articles are also described.
    Type: Application
    Filed: June 16, 2015
    Publication date: December 22, 2016
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Julian Schwing, Daniel Patejdl
  • Publication number: 20160350368
    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: Application
    Filed: May 28, 2015
    Publication date: December 1, 2016
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Julian Schwing
  • Publication number: 20160350374
    Abstract: A query is received by a database server from a remote application server that is associated with a calculation scenario that defines a data flow model including one or more calculation nodes including stacked multiproviders. Subsequently, the database server instantiates the calculation scenario and afterwards optimizes the calculation scenario. As part of the optimization, the calculation scenario is optimized by merging the two multiproviders. Thereafter, the operations defined by the calculation nodes of the optimized calculation scenario 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: Application
    Filed: May 27, 2015
    Publication date: December 1, 2016
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Julian Schwing, Daniel Patejdl, Isil Pekel
  • Publication number: 20160217210
    Abstract: A database server receives a query from a remote application server that is associated with a calculation scenario. The calculation scenario defines a data flow model that includes one or more calculation nodes that each define one or more operations to execute on the database server. A top operator node of the calculation nodes specifies a plurality of attributes and the query requests a subset of the attributes specified by the top operator node; Thereafter, the database server instantiates the calculation scenario so that it is optimized by requesting only the subset of attributes. The database server then executes the operations defined by the calculation nodes of the optimized calculation scenario to result in a responsive data set. The database server then provides the data set to the application server.
    Type: Application
    Filed: January 28, 2015
    Publication date: July 28, 2016
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Isil Pekel, Johannes Merx, Daniel Patejdl
  • Publication number: 20160217182
    Abstract: A query that requests a filter attribute is received by a database server from a remote application server that is associated with a calculation scenario that defines a data flow model including one or more calculation nodes. Subsequently, the database server instantiates the calculation scenario. As part of the instantiation, the calculation scenario is optimized by (i) pushing down a filter attribute from a first node to a lowest available child node, (ii) removing the filter attribute from the first node, and (iii) removing non-required join-attributes from the instantiated calculation scenarios. Thereafter, the operations defined by the calculation nodes of the instantiated calculation scenario 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: Application
    Filed: January 28, 2015
    Publication date: July 28, 2016
    Inventors: Tobias Mindnich, Christoph Weyerhaeuser, Johannes Merx
  • Publication number: 20160140241
    Abstract: According to an aspect, a system for moving a filter in a query model to ensure query semantics includes a query engine configured to obtain a query model for a query to be executed on a database. The query engine includes a query optimizer configured to instantiate the query model by merging the query with the query model. The query optimizer includes a filter mover configured to move a filter to a point within the instantiated query model such that semantics for the query within the instantiated query model is ensured.
    Type: Application
    Filed: November 13, 2014
    Publication date: May 19, 2016
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Joerg Schad, Stefan Dipper
  • Publication number: 20160140175
    Abstract: According to an aspect, a database system for integrating calculation models into execution plans includes a first engine configured to parse a query to be applied on a database. The first engine is configured to invoke a second engine during query compilation. The second engine is configured to instantiate a calculation model based on the query, and the second engine is configured to derive a converted calculation model by converting the calculation model into a format compatible with the first engine. The first engine is configured to incorporate the converted calculation model into an execution plan during the query compilation and execute the query on the database according to execution plan.
    Type: Application
    Filed: November 13, 2014
    Publication date: May 19, 2016
    Inventors: Christoph Weyerhaeuser, Tobias Mindnich, Johannes Merx, Yongsik Yoon, Sung Heun Wi, Jeong Ae Han