Patents by Inventor Ivan Schreter

Ivan Schreter 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: 20240048153
    Abstract: A method for compressing columnar data may include generating, for a data column included in a data chunk, a dictionary enumerating, in a sorted order, a first set of unique values included in the first data column. A compression technique for generated a compressed representation of the data column having a fewest quantity of bytes may be identified based at least on the dictionary. The compression technique including a dictionary compression applying the dictionary and/or another compression technique. A compressed data chunk may be generated by applying the compression technique to compress the data column included in the data chunk. The compressed data chunk may be stored at a database in a variable-size persistent page whose size is allocated based on the size of the compressed representation of the data column. Related systems and articles of manufacture are also provided.
    Type: Application
    Filed: October 10, 2023
    Publication date: February 8, 2024
    Inventor: Ivan Schreter
  • Patent number: 11880371
    Abstract: A system and method of query processing in a multi-level storage system having a unified table architecture. A query is received by a common query execution engine connected with the unified table architecture, the query specifying a data record. The common query execution engine performs a look-up for the data record based on the query at the first level storage structure. If the data record is not present at the first level storage structure, the common query execution engine performs separate look-ups in each of the second level storage structure and the main store.
    Type: Grant
    Filed: December 13, 2022
    Date of Patent: January 23, 2024
    Assignee: SAP SE
    Inventors: Franz Faerber, Juchang Lee, Ivan Schreter
  • Patent number: 11853332
    Abstract: A system and method of managing highly-volatile statistics of a multi-threaded application environment. The statistics are represented by one or more statistics objects. Each statistics object of the one or more statistics objects is prefixed with an object header having a version counter with an initial version count of zero. Each statistics object is associated with a statistics class instance, each statistics class instance being associated with an associative registry that is configured to allocate smallest possible objects of a size equal to or greater than to that of the statistics objects, the registry segmenting the statistics objects according to a size class. Each allocated statistics object is constructed in the object frame after the object header. Then, the object header of each allocated statistics object is initialized. Once allocated, objects can be deallocated.
    Type: Grant
    Filed: August 10, 2022
    Date of Patent: December 26, 2023
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Publication number: 20230376068
    Abstract: A thread executing a task at a node in a multi-socket computing system may access a first data structure to obtain a first calibration dataset for the node. The first thread may generate a timestamp based on the first calibration dataset and a first quantity of time measured by a clock at the first node. The real-time duration of the task may be determined based on the timestamp. The first thread may recalibrate the first clock by at least generating, based on the first quantity of time measured by the clock and a second quantity of time measured by a wall clock of an operating system of the multi-socket computing system, a second calibration dataset. The first thread may update the first data structure to include the second calibration dataset while a second thread accesses a second data structure to obtain calibration data.
    Type: Application
    Filed: July 31, 2023
    Publication date: November 23, 2023
    Inventors: Ivan Schreter, Sergey Yurenev
  • Patent number: 11824565
    Abstract: A method for compressing columnar data may include generating, for a data column included in a data chunk, a dictionary enumerating, in a sorted order, a first set of unique values included in the first data column. A compression technique for generated a compressed representation of the data column having a fewest quantity of bytes may be identified based at least on the dictionary. The compression technique including a dictionary compression applying the dictionary and/or another compression technique. A compressed data chunk may be generated by applying the compression technique to compress the data column included in the data chunk. The compressed data chunk may be stored at a database in a variable-size persistent page whose size is allocated based on the size of the compressed representation of the data column. Related systems and articles of manufacture are also provided.
    Type: Grant
    Filed: September 21, 2021
    Date of Patent: November 21, 2023
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 11762415
    Abstract: A thread executing a task at a node in a multi-socket computing system may access a first data structure to obtain a first calibration dataset for the node. The first thread may generate a timestamp based on the first calibration dataset and a first quantity of time measured by a clock at the first node. The real-time duration of the task may be determined based on the timestamp. The first thread may recalibrate the first clock by at least generating, based on the first quantity of time measured by the clock and a second quantity of time measured by a wall clock of an operating system of the multi-socket computing system, a second calibration dataset. The first thread may update the first data structure to include the second calibration dataset while a second thread accesses a second data structure to obtain calibration data.
    Type: Grant
    Filed: March 31, 2022
    Date of Patent: September 19, 2023
    Assignee: SAP SE
    Inventors: Ivan Schreter, Sergey Yurenev
  • Patent number: 11720451
    Abstract: A method may include performing, at multiple data partitions, a point-in-time recovery to a specified time by applying transactions that have committed at each data partition up to the specified time. Open transactions that have not been committed at each data partition at the specified time may be identified. A corresponding transaction coordinator may be queried for an outcome of the open transactions. Open transactions that affect a single data partition may be aborted. The point-in-time recovery may be performed at the transaction coordinator partitions by determining the outcome of the open transactions. The transaction coordinator partitions may abort any transaction that remains open subsequent to the point-in-time recovery. If the specified time may be greater than a safety threshold, data up to an earlier point-in-time than specified may be recovered depending on whether there are missing portions of transaction logs at the data partitions or the transaction coordinator partitions.
    Type: Grant
    Filed: May 27, 2021
    Date of Patent: August 8, 2023
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 11675778
    Abstract: A method may include responding to a transaction by sending, to a first data partition participating in the transaction, a first request to set a first transaction control block at the first data partition to a preparing state. In response to the transaction affecting multiple data partitions, a second request to set a second transaction control block at a second data partition to the preparing state may be sent to the second data partition. A third request to add the first data partition and the second data partition as participants of the transaction may be sent to the transaction coordinator. The transaction coordinator may determine, based on a first response of the first data partition and a second response of the second data partition, an outcome of the transaction. The transaction may be rolled back if the first response and/or the second response indicate an inability to commit the transaction.
    Type: Grant
    Filed: May 27, 2021
    Date of Patent: June 13, 2023
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Publication number: 20230113142
    Abstract: A system and method of query processing in a multi-level storage system having a unified table architecture. A query is received by a common query execution engine connected with the unified table architecture, the query specifying a data record. The common query execution engine performs a look-up for the data record based on the query at the first level storage structure. If the data record is not present at the first level storage structure, the common query execution engine performs separate look-ups in each of the second level storage structure and the main store.
    Type: Application
    Filed: December 13, 2022
    Publication date: April 13, 2023
    Inventors: Franz Faerber, Juchang Lee, Ivan Schreter
  • Publication number: 20230089082
    Abstract: A method for compressing columnar data may include generating, for a data column included in a data chunk, a dictionary enumerating, in a sorted order, a first set of unique values included in the first data column. A compression technique for generated a compressed representation of the data column having a fewest quantity of bytes may be identified based at least on the dictionary. The compression technique including a dictionary compression applying the dictionary and/or another compression technique. A compressed data chunk may be generated by applying the compression technique to compress the data column included in the data chunk. The compressed data chunk may be stored at a database in a variable-size persistent page whose size is allocated based on the size of the compressed representation of the data column. Related systems and articles of manufacture are also provided.
    Type: Application
    Filed: September 21, 2021
    Publication date: March 23, 2023
    Inventor: Ivan Schreter
  • Patent number: 11567942
    Abstract: A system and method of query processing in a multi-level storage system having a unified table architecture. A query is received by a common query execution engine connected with the unified table architecture, the query specifying a data record. The common query execution engine performs a look-up for the data record based on the query at the first level storage structure. If the data record is not present at the first level storage structure, the common query execution engine performs separate look-ups in each of the second level storage structure and the main store.
    Type: Grant
    Filed: April 1, 2021
    Date of Patent: January 31, 2023
    Assignee: SAP SE
    Inventors: Franz Faerber, Juchang Lee, Ivan Schreter
  • Patent number: 11556545
    Abstract: A method for providing optimized support for transactional processing and analytical processing with minimal memory footprint may include storing, on a data page in a disk of a database system, a portion of one or more columns of data from a database table. A metadata associated with the data page may be stored on a metadata page in the disk of the database system. The metadata may include one or more byte ranges on the data page at which the portion of the one or more columns of data is stored. The database system may execute one or more queries by accessing, based at least on the metadata associated with the data page, a portion of the data page storing the portion of the one or more columns of data required by the one or more queries. Related systems and articles of manufacture are also provided.
    Type: Grant
    Filed: January 26, 2021
    Date of Patent: January 17, 2023
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • 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: 20220391422
    Abstract: A system and method of managing highly-volatile statistics of a multi-threaded application environment. The statistics are represented by one or more statistics objects. Each statistics object of the one or more statistics objects is prefixed with an object header having a version counter with an initial version count of zero. Each statistics object is associated with a statistics class instance, each statistics class instance being associated with an associative registry that is configured to allocate smallest possible objects of a size equal to or greater than to that of the statistics objects, the registry segmenting the statistics objects according to a size class. Each allocated statistics object is constructed in the object frame after the object header. Then, the object header of each allocated statistics object is initialized. Once allocated, objects can be deallocated.
    Type: Application
    Filed: August 10, 2022
    Publication date: December 8, 2022
    Inventor: Ivan Schreter
  • Publication number: 20220391382
    Abstract: A method may include responding to a transaction by sending, to a first data partition participating in the transaction, a first request to set a first transaction control block at the first data partition to a preparing state. In response to the transaction affecting multiple data partitions, a second request to set a second transaction control block at a second data partition to the preparing state may be sent to the second data partition. A third request to add the first data partition and the second data partition as participants of the transaction may be sent to the transaction coordinator. The transaction coordinator may determine, based on a first response of the first data partition and a second response of the second data partition, an outcome of the transaction. The transaction may be rolled back if the first response and/or the second response indicate an inability to commit the transaction.
    Type: Application
    Filed: May 27, 2021
    Publication date: December 8, 2022
    Inventor: Ivan Schreter
  • Publication number: 20220391394
    Abstract: A method for caching partial data pages to support optimized transactional processing and analytical processing with minimal memory footprint may include loading, from disk to memory, a portion of a data page. The memory may include a first cache for storing partial data pages and a second cache for storing full data pages. The first portion of the data page may be loaded into the first cache. A data structure may be updated to indicate that the portion of the data page has been loaded into the first cache. When the data structure indicates that the data page has been loaded into the first cache in its entirety, transferring the data page from the first cache to the second cache. One or more queries may be performed using at least the portion of the data page loaded into the memory. Related systems and articles of manufacture are also provided.
    Type: Application
    Filed: May 27, 2021
    Publication date: December 8, 2022
    Inventor: Ivan Schreter
  • Publication number: 20220382650
    Abstract: A method may include performing, at multiple data partitions, a point-in-time recovery to a specified time by applying transactions that have committed at each data partition up to the specified time. Open transactions that have not been committed at each data partition at the specified time may be identified. A corresponding transaction coordinator may be queried for an outcome of the open transactions. Open transactions that affect a single data partition may be aborted. The point-in-time recovery may be performed at the transaction coordinator partitions by determining the outcome of the open transactions. The transaction coordinator partitions may abort any transaction that remains open subsequent to the point-in-time recovery. If the specified time may be greater than a safety threshold, data up to an earlier point-in-time than specified may be recovered depending on whether there are missing portions of transaction logs at the data partitions or the transaction coordinator partitions.
    Type: Application
    Filed: May 27, 2021
    Publication date: December 1, 2022
    Inventor: Ivan Schreter
  • Publication number: 20220382758
    Abstract: A method for processing a query may include receiving a query associated with one or more predicate columns and one or more aggregate columns. To respond to the query, one or more partial data pages including the one or more predicate columns but not the one or more aggregate columns may be loaded from disk to memory. For each partial data page, a first value occupying the one or more predicate columns may be evaluated to identify one or more rows satisfying a predicate associated with the query. A portion of a data page containing the aggregate columns may be loaded from disk into memory. A result of the query corresponding to a second value occupying the aggregate columns may be generated based on the portion of the data page loaded in the memory. Related systems and articles of manufacture are also provided.
    Type: Application
    Filed: May 27, 2021
    Publication date: December 1, 2022
    Inventor: Ivan Schreter
  • Patent number: 11442966
    Abstract: A system and method of managing highly-volatile statistics of a multi-threaded application environment. The statistics are represented by one or more statistics objects. Each statistics object of the one or more statistics objects is prefixed with an object header having a version counter with an initial version count of zero. Each statistics object is associated with a statistics class instance, each statistics class instance being associated with an associative registry that is configured to allocate smallest possible objects of a size equal to or greater than to that of the statistics objects, the registry segmenting the statistics objects according to a size class. Each allocated statistics object is constructed in the object frame after the object header. Then, the object header of each allocated statistics object is initialized. Once allocated, objects can be deallocated.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: September 13, 2022
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Publication number: 20220221897
    Abstract: A thread executing a task at a node in a multi-socket computing system may access a first data structure to obtain a first calibration dataset for the node. The first thread may generate a timestamp based on the first calibration dataset and a first quantity of time measured by a clock at the first node. The real-time duration of the task may be determined based on the timestamp. The first thread may recalibrate the first clock by at least generating, based on the first quantity of time measured by the clock and a second quantity of time measured by a wall clock of an operating system of the multi-socket computing system, a second calibration dataset. The first thread may update the first data structure to include the second calibration dataset while a second thread accesses a second data structure to obtain calibration data.
    Type: Application
    Filed: March 31, 2022
    Publication date: July 14, 2022
    Inventors: Ivan Schreter, Sergey Yurenev