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: 11386078
    Abstract: A method can include receiving, at a node comprising a distributed trust data storage system, a request to execute a transaction modifying a portion of a data partition. Replicas of the data partition may be stored at a plurality of nodes comprising the distributed trust data storage system. In response to the request, the transaction can be sent to the plurality of nodes storing replicas of the data partition to modify the portion of the data partition. The transaction can be committed based on a threshold quantity of the plurality of nodes reaching a consensus by determining a same cryptographic hash for the transaction. The transaction can be committed by sending, to the plurality of nodes, an indication to add an entry corresponding to the transaction to a transaction log recording transactions executed on the portion of the data partition. Related systems and articles of manufacture are also provided.
    Type: Grant
    Filed: December 17, 2018
    Date of Patent: July 12, 2022
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 11320854
    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: April 1, 2020
    Date of Patent: May 3, 2022
    Assignee: SAP SE
    Inventors: Ivan Schreter, Sergey Yurenev
  • Publication number: 20220027372
    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: Application
    Filed: January 26, 2021
    Publication date: January 27, 2022
    Inventor: Ivan Schreter
  • Patent number: 11188241
    Abstract: A method for storing a key-value pair can include dividing the key-value pair into a first data record and a second data record. The first data record can include a key associated with the key-value pair. The second data record can include a portion of a value associated with the key-value pair. The second data record can be stored in a secondary data store based on a size of the second data record exceeding a threshold value. The first data record can be stored in an in-memory key-value store based on a size of the first data record not exceeding the threshold value. The first data record can include a reference to the second data record in the secondary data store. A query requiring the key-value pair can be executed by retrieving the first data record from the in-memory key-value store. Related systems and articles of manufacture are also provided.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: November 30, 2021
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 11163609
    Abstract: A system and method of allocating memory to a thread of a multi-threaded program are disclosed. A method includes determining one or more thread-local blocks of memory that are available for the thread, and generating a count of the available one or more thread-local blocks for a thread-local freelist. If a thread-local block is available, allocating one block of the one or more thread-local blocks to the thread and decrementing the count in the thread-local freelist. When the count is zero, accessing a global freelist of available blocks of memory to determine a set of available blocks represented by the global freelist. Then, the set of available blocks are allocated from the global freelist to the thread-local freelist by copying one or more free block pointers of the global freelist to a thread-local state of the thread. Blocks can also be deallocated.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: November 2, 2021
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 11157370
    Abstract: In an executing database instance including a plurality of database nodes, creation of a backup of the executing database instance includes creation of a current savepoint in one of the plurality of database nodes by storing first modified pages of a cache of the database node in a datastore of the database node, transmitting a confirmation after storing the first modified pages, repeatedly identifying second modified pages of the cache and storing the identified second modified pages in the datastore, receiving an instruction to enter a critical phase and stopping the repeated identifying and storing in response to the instruction, blocking updates to the database node and transmitting a second confirmation, and receiving a second instruction and, in response to receiving the second instruction, identifying third modified pages of the cache and storing the third modified pages of the cache in the datastore.
    Type: Grant
    Filed: October 27, 2016
    Date of Patent: October 26, 2021
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Publication number: 20210311521
    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: April 1, 2020
    Publication date: October 7, 2021
    Inventors: Ivan Schreter, Sergey Yurenev
  • Patent number: 11086832
    Abstract: The subject matter disclosed herein relates to out of memory error handling in a database system. A database operation can be received by an in-memory database. The database operation can be for a database object stored in a database table that can be represented as a plurality of pages that can be persisted in a page chain. The in-memory database can reserve out of memory space sufficient to load a predetermined number of pages in the page chain into memory. The in-memory database can iteratively process each page in the page chain until completion of the database operation. The iterative process can include loading the page from persistence into memory of the in-memory database, performing at least a portion of the database operation using the loaded page, and unloading the page from the memory of the in-memory database. Related apparatus, systems, techniques, and articles are also described.
    Type: Grant
    Filed: October 16, 2015
    Date of Patent: August 10, 2021
    Assignee: SAP SE
    Inventors: Panfeng Zhou, Colin Florendo, Ivan Schreter, Thorsten Glebe, David Wein
  • Patent number: 11079942
    Abstract: A method for controlling access to a shared filesystem stored in a distributed data storage system is provided. The method can include storing a file comprising a shared filesystem as an inode object and a series of data block objects comprising the shared filesystem. Responding to a request from a client to open the file can include generating, in the shared filesystem, a client object, an open file object, and a client index object. The client object can be linked to the open file object and the client index object. The open file object and the client index object can be further linked to the inode object to indicate the file being accessed by the client. Related systems and articles of manufacture, including computer program products, are also provided.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: August 3, 2021
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Publication number: 20210224280
    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: April 1, 2021
    Publication date: July 22, 2021
    Inventors: Franz Faerber, Juchang Lee, Ivan Schreter
  • Patent number: 11003665
    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: September 8, 2016
    Date of Patent: May 11, 2021
    Assignee: SAP SE
    Inventors: Franz Faerber, Juchang Lee, Ivan Schreter
  • Patent number: 10997164
    Abstract: A new unique value to be added to a column of a database table can be written to an in-memory array representing a dictionary of the column, and space can be allocated in at least one dictionary block on at least one page maintained on a persistent storage without writing the new unique value to the at least one dictionary block. A pending materialization bit for the at least one page can be set to identify the at least one page for deferred materialization.
    Type: Grant
    Filed: November 23, 2015
    Date of Patent: May 4, 2021
    Assignee: SAP SE
    Inventors: Steffen Geissinger, Ivan Schreter
  • Patent number: 10970175
    Abstract: An approach for providing flexible durability operations for a data storage application can include requests to perform logging operations of data storage application having an indication of a durability mode to use for the logging operation. The logging operation can be initiated according to the indication of the durability mode and a callback indicating log write completion can be called according to the indication of the durability mode.
    Type: Grant
    Filed: June 15, 2016
    Date of Patent: April 6, 2021
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10901789
    Abstract: A system and method of registering one or more objects in a container of a multi-threaded computing system. A method includes prefixing, to each object of the one or more objects, an object header having a version counter with an initial version count of zero. The method further includes for each object to be allocated to a thread of the multi-threaded computing system, allocating an object frame associated with each allocated object to the thread while maintaining the object header. The method further includes constructing each allocated object in the object frame after the object header, and initializing the object header of each allocated object by executing a store/store memory barrier and incrementing the version counter by a count of one to mark the associated allocated object as valid.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: January 26, 2021
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10901639
    Abstract: A system for allocating memory (e.g., heap) in multi-core processors is provided. In some implementations, the system performs operations comprising receiving, at a shared cache having a plurality of segments, a first data allocation including a plurality of data blocks, and allocating at least a first and second data block from the first allocation. First and second segments in the shared cache can each comprise a plurality of data slots (e.g., of equal length). Allocating the first and second data blocks can include storing the first data block in a data slot of the first segment and storing the second data block in a data slot of the second segment. The plurality of data slots which do not contain data may contain padding, and/or the data slots to which the first and second data blocks are allocated are not adjacent. Related systems, methods, and articles of manufacture are also described.
    Type: Grant
    Filed: February 8, 2017
    Date of Patent: January 26, 2021
    Assignee: SAP SE
    Inventors: Daniel Booss, Robert Kettler, Mehul Wagle, Harshada Khandekar, Ivan Schreter
  • Patent number: 10896062
    Abstract: A memory allocator assigns temporary memory limits to each of a plurality of processes requiring memory. Thereafter, at least one assigned temporary memory limit is changed during execution of a corresponding process. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: November 7, 2011
    Date of Patent: January 19, 2021
    Assignee: SAP SE
    Inventors: Ivan Schreter, Daniel Booss
  • Patent number: 10860553
    Abstract: Deleting a data record from the second level storage or main store is disclosed. A look-up is performed for the data record in the first level storage, where the data record is defined by a row identifier. If the row identifier is found in the first level storage, a look-up is performed for an updated row identifier representing an update of the data record in the second level storage and the main store, the update of the data record being defined by an updated row identifier. If the updated row identifier is found in the second level storage, an undo log is generated from the first level storage to invalidate a row identifier of the row identifier. A flag is generated representing an invalid updated row identifier, and a redo log is generated to restore the data record in the first level storage.
    Type: Grant
    Filed: August 21, 2017
    Date of Patent: December 8, 2020
    Assignee: SAP SE
    Inventors: Franz Faerber, Juchang Lee, Ivan Schreter
  • Patent number: 10853351
    Abstract: A system and method of logless atomic data movement. An internal transaction is started within a multi-level storage architecture, the internal transaction to merge data from the first level storage structure to the second level storage structure. Committed data is read from a first level storage structure of the multi-level storage architecture as specified by the internal transaction. The committed data from the first level storage structure is inserted into a second level storage structure in a bulk insertion process, and the committed data is marked as being deleted from the first level storage. The internal transaction is then committed to the multi-level storage architecture when the committed data has been inserted into the second level storage structure.
    Type: Grant
    Filed: March 13, 2017
    Date of Patent: December 1, 2020
    Assignee: SAP SE
    Inventors: Franz Faerber, Juchang Lee, Ivan Schreter
  • Patent number: 10824673
    Abstract: A system includes a non-volatile random access memory storing a column store main fragment of a column of a database table, and a processing unit to read the column store main fragment from the non-volatile random access memory. A volatile random access memory storing a column store delta fragment of the column of the database table may also be included, in which the processing unit is to write to the column store delta fragment. According to some systems, the stored column store main fragment is byte-addressable, and is copied from the volatile random access memory to the non-volatile random access memory without using a filesystem cache.
    Type: Grant
    Filed: September 5, 2017
    Date of Patent: November 3, 2020
    Assignee: SAP SE
    Inventors: Oliver Rebholz, Ivan Schreter, Abdelkader Sellami, Daniel Booss, Gunter Radestock, Peter Bumbulis, Alexander Boehm, Frank Renkes, Werner Thesing, Thomas Willhalm
  • Patent number: 10817196
    Abstract: A method for generating a data directory can include allocating a first page for storing a first segment of a log recording changes applied to data subsequent to a checkpoint. When the first page reaches maximum capacity, a second page can be allocated for storing a second segment of the log. A third page can be allocated for storing a first page list that includes a first page reference to the second data page. A fourth page serving as a restart page can be updated. The fourth page can store a second page list of data pages storing the data directory. The fourth page can be updated to add, to the second page list, a second page reference to the data page. Crash recovery at the computing node can be performed based on the data directory. Related systems and articles of manufacture are also provided.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: October 27, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter