Patents by Inventor Carsten Thiel

Carsten Thiel 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: 20240111757
    Abstract: A method may include receiving a first transaction inserting a record into a database and a second transaction deleting the record from the database. A validity period for the record may be determined based on a first commit time at which the first transaction is committed and a second commit time at which the second transaction is committed. A current table and/or a history table of a system versioned table may be updated to include the record based on the validity period of the record. One or more temporal operations may be performed based on the system versioned table. For example, a time travel operation may be performed to retrieve, based on the system versioned table, one or more records that are valid at a given point in time. Related systems and computer program products are also provided.
    Type: Application
    Filed: December 6, 2023
    Publication date: April 4, 2024
    Inventors: Bernhard Scheirle, Andreas Tonder, Carsten Thiel, Guenter Radestock, Thomas Legler, Martin Heidel, Robert Schulze, Joern Schmidt, Rolando Blanco
  • Patent number: 11886424
    Abstract: A method may include receiving a first transaction inserting a record into a database and a second transaction deleting the record from the database. A validity period for the record may be determined based on a first commit time at which the first transaction is committed and a second commit time at which the second transaction is committed. A current table and/or a history table of a system versioned table may be updated to include the record based on the validity period of the record. One or more temporal operations may be performed based on the system versioned table. For example, a time travel operation may be performed to retrieve, based on the system versioned table, one or more records that are valid at a given point in time. Related systems and computer program products are also provided.
    Type: Grant
    Filed: September 22, 2021
    Date of Patent: January 30, 2024
    Assignee: SAP SE
    Inventors: Bernhard Scheirle, Andreas Tonder, Carsten Thiel, Guenter Radestock, Thomas Legler, Martin Heidel, Robert Schulze, Joern Schmidt, Rolando Blanco
  • Publication number: 20230086162
    Abstract: A method may include receiving a first transaction inserting a record into a database and a second transaction deleting the record from the database. A validity period for the record may be determined based on a first commit time at which the first transaction is committed and a second commit time at which the second transaction is committed. A current table and/or a history table of a system versioned table may be updated to include the record based on the validity period of the record. One or more temporal operations may be performed based on the system versioned table. For example, a time travel operation may be performed to retrieve, based on the system versioned table, one or more records that are valid at a given point in time. Related systems and computer program products are also provided.
    Type: Application
    Filed: September 22, 2021
    Publication date: March 23, 2023
    Inventors: Bernhard Scheirle, Andreas Tonder, Carsten Thiel, Guenter Radestock, Thomas Legler, Martin Heidel, Robert Schulze, Joern Schmidt, Rolando Blanco
  • Patent number: 11537578
    Abstract: A request for an entry of a dictionary having multiple dictionary blocks may be received, where the dictionary stores string values associated with corresponding value identifiers (IDs) for dictionary compression. One of the dictionary blocks may be selectively loaded into memory, and the dictionary block that has been loaded into memory may be searched. A value ID directory may be constructed in memory, where the value ID directory includes last value IDs for the dictionary blocks, and each of the last value IDs is mapped to an index of one of the dictionary blocks that includes a string value for that last value ID. A separator directory may also be constructed in memory, where the separator directory includes separators for the dictionary blocks, and each of the separators is mapped to an index of one of the dictionary blocks that includes a string value for that separator.
    Type: Grant
    Filed: April 20, 2018
    Date of Patent: December 27, 2022
    Assignee: SAP SE
    Inventors: Colin Florendo, Carsten Thiel, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel
  • Publication number: 20200387511
    Abstract: Disclosed herein are system, method, and computer program product embodiments for identifying and loading a relevant page of a dictionary into temporary memory. An embodiment operates by receiving a query to be executed. The query includes a value for executing the query. The server queries a dictionary to retrieve a value ID. The server executes a binary search on a helper vector of the dictionary based on the value. The helper vector includes a last value for each page of a dictionary. The server identifies a page of the dictionary including the value. The server loads the page into temporary memory and retrieves the value ID of the value from the page. The server executes the query on a column using the value ID.
    Type: Application
    Filed: May 13, 2020
    Publication date: December 10, 2020
    Inventors: Reza SHERKAT, Colin FLORENDO, Chaitanya GOTTIPATI, Bernhard SCHEIRLE, Carsten THIEL, Prasanta GHOSH
  • Patent number: 10769075
    Abstract: A system includes storage, in a volatile random access memory, of a first data block comprising an array of distinct values of a database table column, and first header data comprising a first pointer to the first data block, determination of a memory size associated with the first header data and the first data block, allocation of a first memory block of the non-volatile random access memory based on the determined memory size, determination of an address of the non-volatile random access memory associated with the allocated first memory block, and writing of an indicator of the number of distinct values of the array and a binary copy of the first data block at the address of the non-volatile random access memory.
    Type: Grant
    Filed: November 21, 2018
    Date of Patent: September 8, 2020
    Assignee: SAP SE
    Inventors: Carsten Thiel, Guenter Radestock, Martin Richtarsky, Bernhard Scheirle
  • Patent number: 10769034
    Abstract: Objects across multiple database manipulation language (DML) redo log records are cached, during continuous replay of redo log records on a secondary system, for the same table partition to enable reuse of such cached objects. Later, these cached objects can be reused as they are accessed during the sequential processing of DML redo records for a specific table partition.
    Type: Grant
    Filed: March 7, 2017
    Date of Patent: September 8, 2020
    Assignee: SAP SE
    Inventors: Sarika Iyer, Vivek Kandiyanallur, Martin Heidel, Rolando Blanco, Stephan Kottler, Carsten Thiel, Peter Steinemann, Jörn Schmidt, Colin Florendo, Michael Muehle, Chaitanya Gottipati
  • Patent number: 10761994
    Abstract: A system in which first header data and a first logical array are stored in a volatile random access memory, the first logical array stored in a first contiguous memory block, with each array position of the first logical array representing a position in a database table and storing a value identifier of a value associated with the position in the database table, and with the first header data indicating a number of bits used to encode the value identifiers and comprising a first pointer to the first contiguous memory block. A memory size associated with the first header data and the first contiguous memory block is determined, a first memory block of the non-volatile random access memory is allocated based on the determined memory size, an address of the non-volatile random access memory associated with the allocated first memory block is determined, and the number of bits and a binary copy of the first contiguous memory block are written at the address of the non-volatile random access memory.
    Type: Grant
    Filed: November 21, 2018
    Date of Patent: September 1, 2020
    Assignee: SAP SE
    Inventors: Carsten Thiel, Guenter Radestock
  • Patent number: 10740246
    Abstract: A system in which first header data, second header data, a first logical array and a second logical array are stored in volatile random access memory. Each array position of the first logical array represents an identifier of a database column value and stores an offset value associated with an array position of the second logical array, and each array position of the second logical array stores a row position of the database column value.
    Type: Grant
    Filed: November 21, 2018
    Date of Patent: August 11, 2020
    Assignee: SAP SE
    Inventors: Carsten Thiel, Guenter Radestock
  • Patent number: 10628325
    Abstract: A system includes a volatile random access memory storing first header data and a first data block, the first header data including descriptive information and a first pointer to the first data block, and a non-volatile random access memory. The system includes determination of a memory size associated with the first header data and the first data block, allocation of a first memory block of the non-volatile random access memory based on the determined memory size, determination of an address of the non-volatile random access memory associated with the allocated first memory block, and writing of the descriptive information and a binary copy of the first data block at the address of the non-volatile random access memory.
    Type: Grant
    Filed: November 21, 2018
    Date of Patent: April 21, 2020
    Assignee: SAP SE
    Inventors: Carsten Thiel, Guenter Radestock, Sebastian Seifert, Christian Lemke, Rolando Blanco, Muhammed Sharique, Surendra Vishnoi, Mihnea Andrei, Bernhard Scheirle
  • Publication number: 20190347207
    Abstract: A system in which first header data, second header data, a first logical array and a second logical array are stored in volatile random access memory. Each array position of the first logical array represents an identifier of a database column value and stores an offset value associated with an array position of the second logical array, and each array position of the second logical array stores a row position of the database column value.
    Type: Application
    Filed: November 21, 2018
    Publication date: November 14, 2019
    Inventors: Carsten Thiel, Guenter Radestock
  • Publication number: 20190347206
    Abstract: A system in which first header data and a first logical array are stored in a volatile random access memory, the first logical array stored in a first contiguous memory block, with each array position of the first logical array representing a position in a database table and storing a value identifier of a value associated with the position in the database table, and with the first header data indicating a number of bits used to encode the value identifiers and comprising a first pointer to the first contiguous memory block. A memory size associated with the first header data and the first contiguous memory block is determined, a first memory block of the non-volatile random access memory is allocated based on the determined memory size, an address of the non-volatile random access memory associated with the allocated first memory block is determined, and the number of bits and a binary copy of the first contiguous memory block are written at the address of the non-volatile random access memory.
    Type: Application
    Filed: November 21, 2018
    Publication date: November 14, 2019
    Inventors: Carsten Thiel, Guenter Radestock
  • Publication number: 20190347022
    Abstract: A system includes storage, in a volatile random access memory, of a first data block comprising an array of distinct values of a database table column, and first header data comprising a first pointer to the first data block, determination of a memory size associated with the first header data and the first data block, allocation of a first memory block of the non-volatile random access memory based on the determined memory size, determination of an address of the non-volatile random access memory associated with the allocated first memory block, and writing of an indicator of the number of distinct values of the array and a binary copy of the first data block at the address of the non-volatile random access memory.
    Type: Application
    Filed: November 21, 2018
    Publication date: November 14, 2019
    Inventors: Carsten Thiel, Guenter Radestock, Martin Richtarsky, Bernhard Scheirle
  • Publication number: 20190347208
    Abstract: A system includes a volatile random access memory storing first header data and a first data block, the first header data including descriptive information and a first pointer to the first data block, and a non-volatile random access memory. The system includes determination of a memory size associated with the first header data and the first data block, allocation of a first memory block of the non-volatile random access memory based on the determined memory size, determination of an address of the non-volatile random access memory associated with the allocated first memory block, and writing of the descriptive information and a binary copy of the first data block at the address of the non-volatile random access memory.
    Type: Application
    Filed: November 21, 2018
    Publication date: November 14, 2019
    Inventors: Carsten Thiel, Guenter Radestock, Sebastian Seifert, Christian Lemke, Rolando Blanco, Muhammed Sharique, Surendra Vishnoi, Mihnea Andrei, Bernhard Scheirle
  • Publication number: 20180260287
    Abstract: Objects across multiple database manipulation language (DML) redo log records are cached, during continuous replay of redo log records on a secondary system, for the same table partition to enable reuse of such cached objects. Later, these cached objects can be reused as they are accessed during the sequential processing of DML redo records for a specific table partition.
    Type: Application
    Filed: March 7, 2017
    Publication date: September 13, 2018
    Inventors: Sarika Iyer, Vivek Kandiyanallur, Martin Heidel, Rolando Blanco, Stephan Kottler, Carsten Thiel, Peter Steinemann, Jörn Schmidt, Colin Florendo, Michael Muehle, Chaitanya Gottipati
  • Publication number: 20180239788
    Abstract: A request for an entry of a dictionary having multiple dictionary blocks may be received, where the dictionary stores string values associated with corresponding value identifiers (IDs) for dictionary compression. One of the dictionary blocks may be selectively loaded into memory, and the dictionary block that has been loaded into memory may be searched. A value ID directory may be constructed in memory, where the value ID directory includes last value IDs for the dictionary blocks, and each of the last value IDs is mapped to an index of one of the dictionary blocks that includes a string value for that last value ID. A separator directory may also be constructed in memory, where the separator directory includes separators for the dictionary blocks, and each of the separators is mapped to an index of one of the dictionary blocks that includes a string value for that separator.
    Type: Application
    Filed: April 20, 2018
    Publication date: August 23, 2018
    Applicant: SAP SE
    Inventors: Colin Florendo, Carsten Thiel, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel
  • Patent number: 9977801
    Abstract: A request for an entry of a dictionary having multiple dictionary blocks may be received, where the dictionary stores string values associated with corresponding value identifiers (IDs) for dictionary compression. One of the dictionary blocks may be selectively loaded into memory, and the dictionary block that has been loaded into memory may be searched. A value ID directory may be constructed in memory, where the value ID directory includes last value IDs for the dictionary blocks, and each of the last value IDs is mapped to an index of one of the dictionary blocks that includes a string value for that last value ID. A separator directory may also be constructed in memory, where the separator directory includes separators for the dictionary blocks, and each of the separators is mapped to an index of one of the dictionary blocks that includes a string value for that separator.
    Type: Grant
    Filed: July 16, 2014
    Date of Patent: May 22, 2018
    Assignee: SAP SE
    Inventors: Colin Florendo, Carsten Thiel, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel
  • Patent number: 9069805
    Abstract: The disclosure generally describes computer-implemented methods, computer-program products, and systems for modeling and deploying decision services. One computer-implemented method includes during uptime processing: generating at least one shadow database table corresponding to a new business object (BO) persistency model, establishing change recording for at least one database table associated with an old BO persistency model, retrieving, as changed data and using at least one computer, changed BO data from the at least one database table, transforming, as transformed data, the changed data to correspond to the new BO persistency model, writing the transformed data to the generated at least one shadow database table, and retrieving, as further changed data, BO data from the at least one database table upon a determination that the BO data has changed in the at least one database table after a prior retrieval of the BO data from the at least one database table.
    Type: Grant
    Filed: November 16, 2012
    Date of Patent: June 30, 2015
    Assignee: SAP SE
    Inventors: Gerd M. Ritter, Carsten Thiel
  • Publication number: 20150142818
    Abstract: A request for an entry of a dictionary having multiple dictionary blocks may be received, where the dictionary stores string values associated with corresponding value identifiers (IDs) for dictionary compression. One of the dictionary blocks may be selectively loaded into memory, and the dictionary block that has been loaded into memory may be searched. A value ID directory may be constructed in memory, where the value ID directory includes last value IDs for the dictionary blocks, and each of the last value IDs is mapped to an index of one of the dictionary blocks that includes a string value for that last value ID. A separator directory may also be constructed in memory, where the separator directory includes separators for the dictionary blocks, and each of the separators is mapped to an index of one of the dictionary blocks that includes a string value for that separator.
    Type: Application
    Filed: July 16, 2014
    Publication date: May 21, 2015
    Inventors: Colin Florendo, Carsten Thiel, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel
  • Publication number: 20140143263
    Abstract: The disclosure generally describes computer-implemented methods, computer-program products, and systems for modeling and deploying decision services. One computer-implemented method includes during uptime processing: generating at least one shadow database table corresponding to a new business object (BO) persistency model, establishing change recording for at least one database table associated with an old BO persistency model, retrieving, as changed data and using at least one computer, changed BO data from the at least one database table, transforming, as transformed data, the changed data to correspond to the new BO persistency model, writing the transformed data to the generated at least one shadow database table, and retrieving, as further changed data, BO data from the at least one database table upon a determination that the BO data has changed in the at least one database table after a prior retrieval of the BO data from the at least one database table.
    Type: Application
    Filed: November 16, 2012
    Publication date: May 22, 2014
    Inventors: Gerd M. Ritter, Carsten Thiel