Patents by Inventor Lars Fricke

Lars Fricke 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: 9223829
    Abstract: A computer-implemented system and method for performing distinct operations on multiple tables of shared memory of parallel computing environments are disclosed. A distinct operation is executed on each table of a plurality of tables, each distinct operation eliminating duplicate data from each table, the executing creating a hierarchy of table pairs and distinct results, the distinct results comprising a reduced row set for each table. Duplicates on each reduced row set are detected to complete the distinct operation on the plurality of tables.
    Type: Grant
    Filed: December 30, 2010
    Date of Patent: December 29, 2015
    Assignee: SAP SE
    Inventors: Franz Faerber, Christian Bensberg, Lars Fricke
  • Publication number: 20150242400
    Abstract: Partitioning of a source table of a database to a target table is initiated. Thereafter, a replay table is generated that is populated with triggers for database operations performed on the source table for subsequent replay for the target partitions. Data is later moved (e.g., asynchronously moved, etc.) from the source table to the target table. The database operations are replayed on the target table T subsequent to the moving of the data using the replay table. In addition, the source table is dropped when all of the data has been moved to the target table and there are no operations requiring replay. Related apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: February 24, 2014
    Publication date: August 27, 2015
    Inventors: Christian Bensberg, Franz Faerber, Lars Fricke, Juchang Lee, Roland Sedler, Andreas Tonder, Emanuel Ziegler
  • Publication number: 20150242451
    Abstract: Partitioning of source partitions of a table of a database to target partitions is initiated. Thereafter, a transition partition specification is specified that identifies the source partitions and the target partitions. Data is then moved (e.g., asynchronously moved, etc.) from the source partitions to the target partitions. Concurrently with the moving of the data, operates are handled using the transition partition specification. Subsequently, the source partitions are dropped when all of the data has been moved to the target partitions and there are no open transactions accessing the source partitions. Related apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: February 24, 2014
    Publication date: August 27, 2015
    Inventors: Christian Bensberg, Lars Fricke, Juchang Lee, Michael Muehle, Thomas Peh, Wolfgang Stephan
  • Publication number: 20150149513
    Abstract: Tables in a distributed database can require redistribution, for example to provide improved collocation of tables or table partitions that require joining at a node of multiple nodes across which the distributed database is distributed. Based at least in part on a set of table redistribution parameters, a table redistribution plan can be generated to include redistribution of a table from a first node to a second node. The set of table redistribution parameters can include a grouping parameter indicating at least one other table with which the table should be collocated. The table redistribution plan can be executed to cause the moving of the table from the first node to the second node.
    Type: Application
    Filed: November 26, 2013
    Publication date: May 28, 2015
    Inventors: Johannes Beigel, Christian Bensberg, Hans-Joerg Leu, Lars Fricke
  • Publication number: 20150039588
    Abstract: A dynamic split node defined within a calculation model can receive data being operated on by a calculation plan generated based on the calculation model. A partition specification can be applied to one or more reference columns in a table containing at least some of the received data. The applying can cause the table to be split such that a plurality of records in the table are partitioned according to the partition specification. A separate processing path can be set for each partition, and execution of the calculation plan can continue using the separate processing paths, each of which can be assigned to a processing node of a plurality of available processing nodes.
    Type: Application
    Filed: October 20, 2014
    Publication date: February 5, 2015
    Inventors: Daniel Baeumges, Christian Bensberg, Lars Fricke
  • Publication number: 20140351291
    Abstract: A table creation request pertaining to a table in a database maintained on a multi-node data partitioning landscape that comprises a plurality of processing nodes can specify a number of partitions to be generated. At run time, a currently available number of processing nodes in the multi-node data partitioning landscape can be queried, and this currently available number of processing nodes can be compared with the specified number of partitions to be generated for the created table. The table can be generated with the specified number of partitions such that the generated partitions are located across the plurality of partitions according to a load balancing approach if the number of processing nodes equals the number of partitions to be generated or according to other information in the table request if the number of processing nodes does not equal the specified number of partitions.
    Type: Application
    Filed: August 6, 2014
    Publication date: November 27, 2014
    Inventors: Lars Fricke, Christian Bensberg
  • Publication number: 20140351254
    Abstract: An estimation algorithm can generate a uniqueness metric representative of data in a database table column that is split across a plurality of data partitions. The column can be classified as categorical if the uniqueness metric is below a threshold and as non-categorical if the uniqueness metric is above the threshold. A first estimation factor can be assigned to the column if the column is classified as categorical or a larger second estimation factor can be assigned if the column is non-categorical. A cost estimate for system resources required to perform a database operation on the database table can be calculated. The cost estimate can include an estimated total number of distinct values in the column across all of the plurality of data partitions determined using the assigned first estimation factor or second estimation factor and a number of rows in the table as inputs to an estimation function.
    Type: Application
    Filed: August 6, 2014
    Publication date: November 27, 2014
    Inventors: Lars Fricke, Sangyong Hwang
  • Patent number: 8880510
    Abstract: An estimation algorithm can generate a uniqueness metric representative of data in a database table column that is split across a plurality of data partitions. The column can be classified as categorical if the uniqueness metric is below a threshold and as non-categorical if the uniqueness metric is above the threshold. A first estimation factor can be assigned to the column if the column is classified as categorical or a larger second estimation factor can be assigned if the column is non-categorical. A cost estimate for system resources required to perform a database operation on the database table can be calculated. The cost estimate can include an estimated total number of distinct values in the column across all of the plurality of data partitions determined using the assigned first estimation factor or second estimation factor and a number of rows in the table as inputs to an estimation function.
    Type: Grant
    Filed: December 23, 2011
    Date of Patent: November 4, 2014
    Assignee: SAP SE
    Inventors: Lars Fricke, Sangyong Hwang
  • Patent number: 8880565
    Abstract: A table creation request pertaining to a table in a database maintained on a multi-node data partitioning landscape that comprises a plurality of processing nodes can specify a number of partitions to be generated. At run time, a currently available number of processing nodes in the multi-node data partitioning landscape can be queried, and this currently available number of processing nodes can be compared with the specified number of partitions to be generated for the created table. The table can be generated with the specified number of partitions such that the generated partitions are located across the plurality of partitions according to a load balancing approach if the number of processing nodes equals the number of partitions to be generated or according to other information in the table request if the number of processing nodes does not equal the specified number of partitions.
    Type: Grant
    Filed: December 23, 2011
    Date of Patent: November 4, 2014
    Assignee: SAP SE
    Inventors: Lars Fricke, Christian Bensberg
  • Patent number: 8868594
    Abstract: A dynamic split node defined within a calculation model can receive data being operated on by a calculation plan generated based on the calculation model. A partition specification can be applied to one or more reference columns in a table containing at least some of the received data. The applying can cause the table to be split such that a plurality of records in the table are partitioned according to the partition specification. A separate processing path can be set for each partition, and execution of the calculation plan can continue using the separate processing paths, each of which can be assigned to a processing node of a plurality of available processing nodes.
    Type: Grant
    Filed: December 23, 2011
    Date of Patent: October 21, 2014
    Assignee: SAP AG
    Inventors: Daniel Baeumges, Christian Bensberg, Lars Fricke
  • Publication number: 20140258300
    Abstract: A recipient node of a multi-node data partitioning landscape can receive, directly from a requesting machine without being handled by a master node, a first data request related to a table. A target node of a plurality of processing nodes can be identified to handle the data request. The determining can include the recipient node applying partitioning information to determine a target data partition of the plurality of data partitions to which the data request should be directed and mapping information associating each data partition of the plurality of data partitions with an assigned node of the plurality of processing nodes. The recipient node can redirect the data request to the target node so that the target node can act on the target data partition in response to the data request.
    Type: Application
    Filed: May 21, 2014
    Publication date: September 11, 2014
    Inventors: Daniel Baeumges, Lars Fricke, Christian Bensberg
  • Patent number: 8812564
    Abstract: An insertion of a record into a table that includes a primary key column and a second column that includes a global uniqueness constraint across all of a plurality of data partitions across which the table is split is initiated without checking that a value of the record in the second column is globally unique by contacting other partitions the one partition to which the record is to be added to. The insertion can be processed, at least in part by implementing a write lock on the one partition but without implementing a read lock on the other partitions. The write lock on the one partition can be released after the insertion is completed, after which the validity of the insertion can be verified, for example by examining the other parts and a delta partition corresponding to the table. The insertion can be undone if the insertion was not valid.
    Type: Grant
    Filed: December 20, 2011
    Date of Patent: August 19, 2014
    Assignee: SAP AG
    Inventors: Thomas Peh, Wolfgang Stephan, Andreas Tonder, Lars Fricke, Christian Bensberg
  • Patent number: 8762378
    Abstract: A recipient node of a multi-node data partitioning landscape can receive, directly from a requesting machine without being handled by a master node, a first data request related to a table. A target node of a plurality of processing nodes can be identified to handle the data request. The determining can include the recipient node applying partitioning information to determine a target data partition of the plurality of data partitions to which the data request should be directed and mapping information associating each data partition of the plurality of data partitions with an assigned node of the plurality of processing nodes. The recipient node can redirect the data request to the target node so that the target node can act on the target data partition in response to the data request.
    Type: Grant
    Filed: December 23, 2011
    Date of Patent: June 24, 2014
    Assignee: SAP AG
    Inventors: Daniel Baeumges, Lars Fricke, Christian Hensberg
  • Publication number: 20140172794
    Abstract: Data replication in a database includes identifying a source database system. The source database includes a main index file and a delta log file. To create a replica, one or more symbolic links to the source database system are generated. The symbolic links identify a path to a physical location of the source database. A replica of the source database is generated based on the symbolic links. The replica includes a copy of the main index file and delta log file. Information associated with the replica and the symbolic links is stored in a recovery log. Replica are provided transparently to most database engine components by re-using partitioning infrastructure. Components “see” replica as tables with a single partition; that partition is a local replica.
    Type: Application
    Filed: December 19, 2012
    Publication date: June 19, 2014
    Inventors: Christian BARTHOLOMÄ, Michael Mühle, Hans-Jörg Leu, Steffen Geissinger, Thorsten Glebe, Martin Heidel, Lars Fricke, Volker Diesel, Christian Bensberg
  • Publication number: 20130166589
    Abstract: A dynamic split node defined within a calculation model can receive data being operated on by a calculation plan generated based on the calculation model. A partition specification can be applied to one or more reference columns in a table containing at least some of the received data. The applying can cause the table to be split such that a plurality of records in the table are partitioned according to the partition specification. A separate processing path can be set for each partition, and execution of the calculation plan can continue using the separate processing paths, each of which can be assigned to a processing node of a plurality of available processing nodes.
    Type: Application
    Filed: December 23, 2011
    Publication date: June 27, 2013
    Inventors: Daniel Baeumges, Christian Bensberg, Lars Fricke
  • Publication number: 20130166556
    Abstract: A recipient node of a multi-node data partitioning landscape can receive, directly from a requesting machine without being handled by a master node, a first data request related to a table. A target node of a plurality of processing nodes can be identified to handle the data request. The determining can include the recipient node applying partitioning information to determine a target data partition of the plurality of data partitions to which the data request should be directed and mapping information associating each data partition of the plurality of data partitions with an assigned node of the plurality of processing nodes. The recipient node can redirect the data request to the target node so that the target node can act on the target data partition in response to the data request.
    Type: Application
    Filed: December 23, 2011
    Publication date: June 27, 2013
    Inventors: Daniel Baeumges, Lars Fricke, Christian Hensberg
  • Publication number: 20130166606
    Abstract: A table creation request pertaining to a table in a database maintained on a multi-node data partitioning landscape that comprises a plurality of processing nodes can specify a number of partitions to be generated. At run time, a currently available number of processing nodes in the multi-node data partitioning landscape can be queried, and this currently available number of processing nodes can be compared with the specified number of partitions to be generated for the created table. The table can be generated with the specified number of partitions such that the generated partitions are located across the plurality of partitions according to a load balancing approach if the number of processing nodes equals the number of partitions to be generated or according to other information in the table request if the number of processing nodes does not equal the specified number of partitions.
    Type: Application
    Filed: December 23, 2011
    Publication date: June 27, 2013
    Inventors: Lars Fricke, Christian Bensberg
  • Publication number: 20130166557
    Abstract: An estimation algorithm can generate a uniqueness metric representative of data in a database table column that is split across a plurality of data partitions. The column can be classified as categorical if the uniqueness metric is below a threshold and as non-categorical if the uniqueness metric is above the threshold. A first estimation factor can be assigned to the column if the column is classified as categorical or a larger second estimation factor can be assigned if the column is non-categorical. A cost estimate for system resources required to perform a database operation on the database table can be calculated. The cost estimate can include an estimated total number of distinct values in the column across all of the plurality of data partitions determined using the assigned first estimation factor or second estimation factor and a number of rows in the table as inputs to an estimation function.
    Type: Application
    Filed: December 23, 2011
    Publication date: June 27, 2013
    Inventors: Lars Fricke, Sang Yong Hwang
  • Publication number: 20130159659
    Abstract: Based on one or more first columns of a table partitioned at a first level over multiple first level partitions, a first partition criteria is evaluated for a data record. Each of the at least first level partitions is further partitioned into a same number of second-level partitions using a same second partitioning method for all first level partitions. One first level partition is identified for storage of the data record, for example by determining the one of the at least two data server processes using the first partition criteria and a first partitioning method that differs from the second partitioning method. Based on one or more second columns of the table, a second partition criteria is evaluated for the data record, and the data record is stored in one of the second-level partitions of the at least two first level partitions.
    Type: Application
    Filed: December 19, 2011
    Publication date: June 20, 2013
    Inventors: Boris Gelman, Hualin Wang, Daniel Baeumges, Lars Fricke, Christian Bensberg
  • Publication number: 20130159265
    Abstract: An insertion of a record into a table that includes a primary key column and a second column that includes a global uniqueness constraint across all of a plurality of data partitions across which the table is split is initiated without checking that a value of the record in the second column is globally unique by contacting other partitions the one partition to which the record is to be added to. The insertion can be processed, at least in part by implementing a write lock on the one partition but without implementing a read lock on the other partitions. The write lock on the one partition can be released after the insertion is completed, after which the validity of the insertion can be verified, for example by examining the other parts and a delta partition corresponding to the table. The insertion can be undone if the insertion was not valid.
    Type: Application
    Filed: December 20, 2011
    Publication date: June 20, 2013
    Inventors: Thomas Peh, Wolfgang Stephan, Andreas Tonder, Lars Fricke, Christian Bensberg