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

  • Patent number: 12602292
    Abstract: Systems and methods include reception of a first request to copy a database to a second tenant. In response to the first request, first metadata associating the second tenant with a first shard and a second shard of a database table is generated. A second request to access the first shard is received from a requestor associated with the second tenant and, in response to the second request, it is determined that the first shard is not stored in any of a plurality of storage nodes of a storage layer. In response to the determination, an instruction is issued to recover the first shard to a first storage node from a first backup location, and an identifier of the first storage node is returned to the requestor.
    Type: Grant
    Filed: July 7, 2023
    Date of Patent: April 14, 2026
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 12572434
    Abstract: Systems and methods include storage of shards of first database tables of a first tenant in a first plurality of storage nodes located in a first region, each shard associated with a first database table and a key range of the first database table, storage of shards of second database tables of a second tenant in a second plurality of storage nodes located in a second region, each shard associated with a second database table and a key range of the second database table, storage of backups of the shards of the first database tables of the first tenant in a plurality of backup locations located in a region different from the first region, and recovery of the backups of the shards of the first database tables of the first tenant from the backup layer to the second plurality of storage nodes.
    Type: Grant
    Filed: July 14, 2023
    Date of Patent: March 10, 2026
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 12481659
    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: Grant
    Filed: July 22, 2024
    Date of Patent: November 25, 2025
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 12468731
    Abstract: Systems and methods include storage of database table shards on a plurality of storage nodes. Each shard may be stored as multiple replicas, where each replica of a given shard is stored on a different storage node. In case of a failure of a given storage node, all shard replicas which were stored on the given storage node are copied from other storage nodes to new or existing storage nodes. A storage node may store shards of database tables associated with multiple tenants.
    Type: Grant
    Filed: June 27, 2023
    Date of Patent: November 11, 2025
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 12346224
    Abstract: Systems and methods include reception of a request to recover data of a first tenant to a point in time, determination of backups of first and second database table shards corresponding to the point in time, and generation of metadata associating a second tenant with the first and second shards and the backups. In response to a request to access the first second shards, it is determined based on the metadata that the first and second shards are not stored in a storage layer and, in response, the first shard is recovered to a first storage node from the backup of the first shard, the second shard is recovered to a second storage node from the backup of the second shard, and identifiers of the first storage node and the second storage node are returned.
    Type: Grant
    Filed: July 14, 2023
    Date of Patent: July 1, 2025
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Publication number: 20250021448
    Abstract: Systems and methods include reception of a request to recover data of a first tenant to a point in time, determination of backups of first and second database table shards corresponding to the point in time, and generation of metadata associating a second tenant with the first and second shards and the backups. In response to a request to access the first second shards, it is determined based on the metadata that the first and second shards are not stored in a storage layer and, in response, the first shard is recovered to a first storage node from the backup of the first shard, the second shard is recovered to a second storage node from the backup of the second shard, and identifiers of the first storage node and the second storage node are returned.
    Type: Application
    Filed: July 14, 2023
    Publication date: January 16, 2025
    Inventor: Ivan SCHRETER
  • Publication number: 20250021452
    Abstract: Systems and methods include storage of shards of first database tables of a first tenant in a first plurality of storage nodes located in a first region, each shard associated with a first database table and a key range of the first database table, storage of shards of second database tables of a second tenant in a second plurality of storage nodes located in a second region, each shard associated with a second database table and a key range of the second database table, storage of backups of the shards of the first database tables of the first tenant in a plurality of backup locations located in a region different from the first region, and recovery of the backups of the shards of the first database tables of the first tenant from the backup layer to the second plurality of storage nodes.
    Type: Application
    Filed: July 14, 2023
    Publication date: January 16, 2025
    Inventor: Ivan SCHRETER
  • Publication number: 20250013543
    Abstract: Systems and methods include storage a backup of a first shard of a first database table of a database in a first backup location, the first shard including a first key range of the first database table, storage of a backup of a second shard of the first database table in a second backup location, the second shard including a second key range of the first database table, reception of an instruction to recover the database, and, in response to the instruction, recovery of the first shard to a first storage node from the first backup location and, in parallel, recover the second shard to a second storage node from the second backup location.
    Type: Application
    Filed: July 7, 2023
    Publication date: January 9, 2025
    Inventor: Ivan SCHRETER
  • Publication number: 20250013539
    Abstract: Systems and methods include reception of a first request to copy a database to a second tenant. In response to the first request, first metadata associating the second tenant with a first shard and a second shard of a database table is generated. A second request to access the first shard is received from a requestor associated with the second tenant and, in response to the second request, it is determined that the first shard is not stored in any of a plurality of storage nodes of a storage layer. In response to the determination, an instruction is issued to recover the first shard to a first storage node from a first backup location, and an identifier of the first storage node is returned to the requestor.
    Type: Application
    Filed: July 7, 2023
    Publication date: January 9, 2025
    Inventor: Ivan SCHRETER
  • Publication number: 20250007535
    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 11, 2024
    Publication date: January 2, 2025
    Inventor: Ivan Schreter
  • Publication number: 20250005042
    Abstract: Systems and methods include storage of database table shards on a plurality of storage nodes. Each shard may be stored as multiple replicas, where each replica of a given shard is stored on a different storage node. In case of a failure of a given storage node, all shard replicas which were stored on the given storage node are copied from other storage nodes to new or existing storage nodes. A storage node may store shards of database tables associated with multiple tenants.
    Type: Application
    Filed: June 27, 2023
    Publication date: January 2, 2025
    Inventor: Ivan SCHRETER
  • Publication number: 20240378205
    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: July 22, 2024
    Publication date: November 14, 2024
    Inventor: Ivan Schreter
  • Patent number: 12119845
    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: October 10, 2023
    Date of Patent: October 15, 2024
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 12111683
    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: July 31, 2023
    Date of Patent: October 8, 2024
    Assignee: SAP SE
    Inventors: Ivan Schreter, Sergey Yurenev
  • Patent number: 12072885
    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: Grant
    Filed: May 27, 2021
    Date of Patent: August 27, 2024
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 12007998
    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: Grant
    Filed: May 27, 2021
    Date of Patent: June 11, 2024
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • 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