Patents by Inventor Kai Stammerjohann

Kai Stammerjohann 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: 20230394039
    Abstract: A system includes reception of a query specifying a database table, an aggregate function, a plurality of grouping columns and an aggregation column, determination of whether a tuple of a first row of the grouping columns in the database tables is unique in the grouping columns, storage, if it is determined that the tuple of the first row of the grouping columns is unique in the grouping columns, of a result set entry including the tuple and an aggregation value determined based on a value of the aggregation column in the first row, and, if it is determined that the tuple of the first row of the grouping columns is not unique in the grouping columns, determination of a key based on the tuple and performance of a hash lookup using the key.
    Type: Application
    Filed: June 1, 2022
    Publication date: December 7, 2023
    Inventors: Frederik TRANSIER, Kai STAMMERJOHANN
  • Patent number: 11106673
    Abstract: A method, a system and a computer program product for execution of queries. A first query is executed using a first query execution plan to generate a first result data by applying a first query operator to a first data stored in a first storage location. The first result data is provided to a second query execution plan for execution of a second query. The second query is executed on a second data stored in a second storage location in accordance with the second query execution plan. The second query execution plan includes a second query operator. Based on the execution of the second query, a second result data is generated in accordance with the second query execution plan by at least applying the second query operator to at least the provided first result data.
    Type: Grant
    Filed: December 4, 2018
    Date of Patent: August 31, 2021
    Assignee: SAP SE
    Inventors: Christian Bensberg, Kai Stammerjohann, Frederik Transier, Martin Richtarsky
  • Publication number: 20200175008
    Abstract: A method, a system and a computer program product for execution of queries. A first query is executed using a first query execution plan to generate a first result data by applying a first query operator to a first data stored in a first storage location. The first result data is provided to a second query execution plan for execution of a second query. The second query is executed on a second data stored in a second storage location in accordance with the second query execution plan. The second query execution plan includes a second query operator. Based on the execution of the second query, a second result data is generated in accordance with the second query execution plan by at least applying the second query operator to at least the provided first result data.
    Type: Application
    Filed: December 4, 2018
    Publication date: June 4, 2020
    Inventors: Christian Bensberg, Kai Stammerjohann, Frederik Transier, Martin Richtarsky
  • Patent number: 10621153
    Abstract: In one respect, there is provided a method. The method can include processing a first data chunk to generate a first intermediate result. A key map can be generated based on a determination that a quantity of the key-value pairs in the first intermediate result exceeds a threshold. The key map can be generated to include keys in the first intermediate result. A second data chunk can be processed to generate a second intermediate result. The second data chunk can be processed based on the key map. The processing of the second data chunk can include omitting a key-value pair in the second data chunk from being inserted into the second intermediate result based on a key associated with the key-value pair being absent from the key map. A preview of the processing of the dataset can be generated based on the first intermediate result and the second intermediate result.
    Type: Grant
    Filed: May 16, 2017
    Date of Patent: April 14, 2020
    Assignee: SAP SE
    Inventors: Frederik Transier, Kai Stammerjohann, Nico Bohnsack
  • Publication number: 20180336230
    Abstract: In one respect, there is provided a method. The method can include processing a first data chunk to generate a first intermediate result. A key map can be generated based on a determination that a quantity of the key-value pairs in the first intermediate result exceeds a threshold. The key map can be generated to include keys in the first intermediate result. A second data chunk can be processed to generate a second intermediate result. The second data chunk can be processed based on the key map. The processing of the second data chunk can include omitting a key-value pair in the second data chunk from being inserted into the second intermediate result based on a key associated with the key-value pair being absent from the key map. A preview of the processing of the dataset can be generated based on the first intermediate result and the second intermediate result.
    Type: Application
    Filed: May 16, 2017
    Publication date: November 22, 2018
    Inventors: Frederik Transier, Kai Stammerjohann, Nico Bohnsack
  • Publication number: 20170147393
    Abstract: A system provides determination of a first plurality of the plurality of data records assigned to a first processing unit, identification of a first record of the first plurality of data records, the first record associated with a first key value, determination of a first partition based on the first key value, allocation of a first memory block associated with the first partition, the first memory block comprising a first two or more memory locations, generation of a mapping between the first record and a first one of the first two or more memory locations, identification of a second record of the first plurality of data records, the second record associated with a second key value, determination of the first partition based on the second key value, and generation of a mapping between the second record and a second one of the first two or more memory locations.
    Type: Application
    Filed: November 20, 2015
    Publication date: May 25, 2017
    Inventors: Kai Stammerjohann, Nico Bohnsack, Frederik Transier
  • Patent number: 9569497
    Abstract: A new dictionary can be created for a result column in a query plan operation executed on a database. The result column can be generated by multiple worker jobs running in parallel to read tasks from a shared queue as part of a query plan operation that includes a group-by column within an input set of input columns. The group-by column can include an original dictionary for all values contained within the group-by column If the new dictionary has fewer entries than the original dictionary for the group-by column such that mapping is required between old value identifiers within the group-by column and new value identifiers within the result column, the old value identifiers are renamed to the new value identifiers using a mapping vector.
    Type: Grant
    Filed: June 10, 2014
    Date of Patent: February 14, 2017
    Assignee: SAP SE
    Inventors: Stephan Kottler, Nico Bohnsack, Kai Stammerjohann
  • Patent number: 9177025
    Abstract: According to some embodiments, a system and method for a parallel join of relational data tables may be provided by calculating, by a plurality of concurrently executing execution threads, hash values for join columns of a first input table and a second input table; storing the calculated hash values in a set of disjoint thread-local hash maps for each of the first input table and the second input table; merging the set of thread-local hash maps of the first input table, by a second plurality of execution threads operating concurrently, to produce a set of merged hash maps; comparing each entry of the merged hash maps to each entry of the set of thread-local hash maps for the second input table to determine whether there is a match, according to a join type; and generating an output table including matches as determined by the comparing.
    Type: Grant
    Filed: January 15, 2013
    Date of Patent: November 3, 2015
    Assignee: SAP SE
    Inventors: Christian Bensberg, Christian Mathis, Frederik Transier, Nico Bohnsack, Kai Stammerjohann
  • Publication number: 20150149401
    Abstract: A new dictionary can be created for a result column in a query plan operation executed on a database. The result column can be generated by multiple worker jobs running in parallel to read tasks from a shared queue as part of a query plan operation that includes a group-by column within an input set of input columns. The group-by column can include an original dictionary for all values contained within the group-by column If the new dictionary has fewer entries than the original dictionary for the group-by column such that mapping is required between old value identifiers within the group-by column and new value identifiers within the result column, the old value identifiers are renamed to the new value identifiers using a mapping vector.
    Type: Application
    Filed: June 10, 2014
    Publication date: May 28, 2015
    Inventors: Stephan Kottler, Nico Bohnsack, Kai Stammerjohann
  • Patent number: 9009155
    Abstract: A system, method and medium may provide determination of a first plurality of a plurality of data records assigned to a first processing unit, identification of a first record of the first plurality of data records, the first record associated with a first key value, generation of a first dictionary entry of a first dictionary for the first key value, storage of a first identifier of the first record as a tail identifier and as a head identifier in the first dictionary entry, storage an end flag in a first shared memory location, the first shared memory location associated with the first record, identification of a second record of the first plurality of data records, the second record associated with the first key value, replacement of the tail identifier in the first dictionary entry with a second identifier of the second record, and storage of the first identifier in a second shared memory location, the second shared memory location associated with the second record.
    Type: Grant
    Filed: October 15, 2012
    Date of Patent: April 14, 2015
    Assignee: SAP SE
    Inventors: Nico Bohnsack, Kai Stammerjohann, Frederik Transier
  • Publication number: 20130290327
    Abstract: A system, method and medium may provide determination of a first plurality of a plurality of data records assigned to a first processing unit, identification of a first record of the first plurality of data records, the first record associated with a first key value, generation of a first dictionary entry of a first dictionary for the first key value, storage of a first identifier of the first record as a tail identifier and as a head identifier in the first dictionary entry, storage an end flag in a first shared memory location, the first shared memory location associated with the first record, identification of a second record of the first plurality of data records, the second record associated with the first key value, replacement of the tail identifier in the first dictionary entry with a second identifier of the second record, and storage of the first identifier in a second shared memory location, the second shared memory location associated with the second record.
    Type: Application
    Filed: October 15, 2012
    Publication date: October 31, 2013
    Inventors: Nico Bohnsack, Kai Stammerjohann, Frederik Transier
  • Publication number: 20130138628
    Abstract: According to some embodiments, a system and method for a parallel join of relational data tables may be provided by calculating, by a plurality of concurrently executing execution threads, hash values for join columns of a first input table and a second input table; storing the calculated hash values in a set of disjoint thread-local hash maps for each of the first input table and the second input table; merging the set of thread-local hash maps of the first input table, by a second plurality of execution threads operating concurrently, to produce a set of merged hash maps; comparing each entry of the merged hash maps to each entry of the set of thread-local hash maps for the second input table to determine whether there is a match, according to a join type; and generating an output table including matches as determined by the comparing.
    Type: Application
    Filed: January 15, 2013
    Publication date: May 30, 2013
    Inventors: Christian Bensberg, Christian Mathis, Frederik Transier, Nico Bohnsack, Kai Stammerjohann
  • Patent number: 8370316
    Abstract: According to some embodiments, a system and method for a parallel join of relational data tables may be provided by calculating, by a plurality of concurrently executing execution threads, hash values for join columns of a first input table and a second input table; storing the calculated hash values in a set of disjoint thread-local hash maps for each of the first input table and the second input table; merging the set of thread-local hash maps of the first input table, by a second plurality of execution threads operating concurrently, to produce a set of merged hash maps; comparing each entry of the merged hash maps to each entry of the set of thread-local hash maps for the second input table to determine whether there is a match, according to a join type; and generating an output table including matches as determined by the comparing.
    Type: Grant
    Filed: December 23, 2010
    Date of Patent: February 5, 2013
    Assignee: SAP AG
    Inventors: Christian Bensberg, Christian Mathis, Frederik Transier, Nico Bohnsack, Kai Stammerjohann
  • Publication number: 20120011144
    Abstract: According to some embodiments, a data structure may be provided by separating an input table into a plurality of partitions; generating, by each of a first plurality of execution threads operating concurrently, a local hash table for each of the threads, each local hash table storing key—index pairs; and merging the local hash tables, by a second plurality of execution threads operating concurrently, to produce a set of disjoint result hash tables. An overall result may be obtained from the result set of disjoint result hash tables. The data structure may used in a parallel computing environment to determine an aggregation.
    Type: Application
    Filed: December 23, 2010
    Publication date: January 12, 2012
    Inventors: Frederik Transier, Christian Mathis, Nico Bohnsack, Kai Stammerjohann
  • Publication number: 20120011108
    Abstract: According to some embodiments, a system and method for a parallel join of relational data tables may be provided by calculating, by a plurality of concurrently executing execution threads, hash values for join columns of a first input table and a second input table; storing the calculated hash values in a set of disjoint thread-local hash maps for each of the first input table and the second input table; merging the set of thread-local hash maps of the first input table, by a second plurality of execution threads operating concurrently, to produce a set of merged hash maps; comparing each entry of the merged hash maps to each entry of the set of thread-local hash maps for the second input table to determine whether there is a match, according to a join type; and generating an output table including matches as determined by the comparing.
    Type: Application
    Filed: December 23, 2010
    Publication date: January 12, 2012
    Inventors: Christian Bensberg, Christian Mathis, Frederik Transier, Nico Bohnsack, Kai Stammerjohann