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: 10817195
    Abstract: A method for brokering an exchange of data between a backend server, a first client, and a second client is provided. The method can include receiving, from the backend server and/or the first client coupled with the backend server, a message. The response to the receipt of the message can include posting the message to a message queue having a same topic as the message. The message can be posted to the message queue at least by appending the message to a key-value pair corresponding to the message queue. The key-value pair can be stored in the distributed data storage system. The message can be sent to a second client coupled with the backend server based at least on the second client having subscribed to the topic of the message queue. Related systems and articles of manufacture, including computer program products, are also provided.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: October 27, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10810124
    Abstract: A central processing unit (CPU) forming part of a computing device, initiates execution of code associated with each of a plurality of objects used by a worker thread. The CPU has an associated cache that is split into a plurality of slices. It is determined, by a cache slice allocation algorithm for each object, whether any of the slices will be exclusive to or shared by the object. Thereafter, for each object, any slices determined to be exclusive to the object are activated such that the object exclusively uses such slices and any slices determined to be shared by the object are activated such that the object shares or is configured to share such slices.
    Type: Grant
    Filed: November 13, 2017
    Date of Patent: October 20, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Publication number: 20200320107
    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: April 2, 2019
    Publication date: October 8, 2020
    Inventor: Ivan Schreter
  • Publication number: 20200319928
    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: Application
    Filed: April 2, 2019
    Publication date: October 8, 2020
    Inventor: Ivan Schreter
  • Publication number: 20200319929
    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: Application
    Filed: April 2, 2019
    Publication date: October 8, 2020
    Inventor: Ivan Schreter
  • Patent number: 10788998
    Abstract: A method for logging changes to data stored in a distributed data storage system can include responding to a request to change the data stored in the distributed data storage system by generating a log entry corresponding to the change. A replica of the data can be stored at each of a first computing node and a second computing node comprising the distributed data storage system. The log entry can be added to a first log stored at the first computing node and propagated to the second computing node to add the first log entry to a second log stored at the second computing node. A crash recovery can be performed at the first computing node and/or the second computing node based on the first log and/or the second log. Related systems and articles of manufacture, including computer program products, are also provided.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: September 29, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10768836
    Abstract: A method for page based data persistence can include storing data associated with a state machine at a computing node. The data can be stored by at least allocating a first data page for storing the data. In response to the allocation of the first data page, a first page reference to the first data page can be added to a first page list in an in-memory buffer at the computing node. When the in-memory buffer reaches maximum capacity, a second data page can be allocated for storing the first page list. A second page reference to the second data page can be added to a second page list in the in-memory buffer. Related systems and articles of manufacture, including computer program products, are also provided.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: September 8, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10754772
    Abstract: A method for reclaiming memory resources may include segmenting a plurality of memory resources in an in-memory database into a first resource partition and a second resource partition; generating, for the first resource partition, a first heap containing a first plurality of memory resources sorted based on an age of data occupying the first plurality of memory resources; generating, for the second resource partition, a second heap containing a second plurality of memory resources sorted based on an age of data occupying the second plurality of memory resources; and when a shortage of memory resources is detected, identifying, from the first heap, a first memory resource containing a least recently used data, identifying, from the second heap, a second memory resource containing a least recently used data, and reclaiming the first memory resource and/or the second memory resource. Related systems and articles of manufacture are also disclosed.
    Type: Grant
    Filed: June 14, 2016
    Date of Patent: August 25, 2020
    Assignee: SAP SE
    Inventors: Ivan Schreter, Daniel Booss
  • Patent number: 10754562
    Abstract: A method for providing block access on top of a key-value store comprising a distributed data storage system is provided. The method can include receiving, at a block device, a first input/output operation requesting one or more data blocks. The first input/output operation can be translated into a second input/output operation requesting one or more key-value pairs. The second input/output operation can be performed by at least sending the second input/output operation to the key-value store. Related systems and articles of manufacture, including computer program products, are also provided.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: August 25, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10747737
    Abstract: Disclosed herein are system, method, and computer program product embodiments for altering the data type of a column in a database. An embodiment operates by converting an original dictionary associated with a column into a new dictionary. The new dictionary stores the values of the original dictionary using a different data type. An index vector containing the keys of the original dictionary is then updated to contain the associated keys of the new dictionary. Because the size of the original dictionary is often substantially smaller than the number of rows in the associated column, this dictionary conversion decreases the computation cost to the database system of altering the data type of the column and reduces or even minimizes database downtime for users.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: August 18, 2020
    Assignee: SAP SE
    Inventors: Colin Florendo, Ivan Schreter, Panfeng Zhou, David Wein, Steffen Geissinger, Michael Muehle
  • Patent number: 10740036
    Abstract: Data records of a data set can be stored in multiple main part fragments retained in on-disk storage. Each fragment can include a number of data records that is equal to or less than a defined maximum fragment size. Using a compression that is optimized for each fragment, each fragment can be compressed. After reading at least one of the fragments into main system memory from the on-disk storage, an operation can be performed on the fragment or fragments while the in the main system memory.
    Type: Grant
    Filed: June 23, 2017
    Date of Patent: August 11, 2020
    Assignee: SAP SE
    Inventors: Ivan Schreter, Dirk Thomsen, Colin Florendo, Blaine French
  • Patent number: 10740317
    Abstract: Each of a plurality of database objects can be assigned to a specific message-passing worker of a plurality of message-passing workers, each executing on a first logical core that shares with at least a second logical core one or more resources of a physical processor core of a plurality of physical processor cores. The second logical core can execute a job worker of a plurality of job workers that implement procedural code. Exclusive write access can be provided to a database object of the plurality of database objects via a message-passing worker of the plurality of message-passing workers while read-only access is provided to any database object of the plurality of database objects via any of the plurality of job workers. Operations can be executed by the message-passing worker in an order in which request messages are received in a message queue of the message-passing worker.
    Type: Grant
    Filed: May 16, 2017
    Date of Patent: August 11, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10725987
    Abstract: The subject matter disclosed herein provides methods for the forced ordering of a dictionary based on row identifier values. A plurality of concurrent transactions can be handled in an in-memory database. At least one of the transactions can include at least one write operation to a dictionary. Each write operation can be assigned a row identifier (ID). At least one of the write operations can be written to the dictionary out of sequence. The sequence can be based on the row ID. Each row ID in the dictionary can be mapped to a corresponding value identifier in the dictionary. The dictionary can position the value identifiers so that the corresponding row IDs are in a sorted sequential order based on the row ID. Related apparatus, systems, techniques, and articles are also described.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: July 28, 2020
    Assignee: SAP SE
    Inventors: David Wein, Ivan Schreter, Mihnea Andrei, Martin Heidel, Frank Benkstein
  • Patent number: 10725846
    Abstract: A system and method of collecting debugging information for code running in a multi-threaded computing system. An association record is generated in an associative registry. The association record has a timestamp, an object pointer and/or further information. Upon detection of a bug, the computing system generates a debug report based on the association record and the detected bug, the debug reference comprising a reference type that references a portion of the code running in the multi-threaded computing system. Based on the debug reference, a lifecycle check of the portion of the code running in the multi-threaded computing system is generated, the lifecycle check annotating the bug within the portion of the code running in the multi-threaded computing system.
    Type: Grant
    Filed: April 2, 2019
    Date of Patent: July 28, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Publication number: 20200192888
    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: Application
    Filed: December 17, 2018
    Publication date: June 18, 2020
    Inventor: Ivan Schreter
  • Patent number: 10558495
    Abstract: Dictionary encoding in a table of a database system is initiated using a single page chain. The database system includes a plurality of processor cores and each page chain includes a plurality of chained pages. Thereafter, n additional page chains are generated for use by the dictionary encoding when the count of pages used by the dictionary encoding reaches a pre-determined limit. Generation of additional page chains is later ceased once the number of additional page chains n is equivalent to a number of available processor cores. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: February 11, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10552402
    Abstract: An operation on a row of a table of a database is initiated. Thereafter, a multi-version concurrency control (MVCC) object is accessed to identify blocks associated with the row position of the row using bitwise operations. Subsequently, a row state block computed based on the row position of the row is accessed to determine a row state for the row. At least one other block is accessed, based in part on the row state, to obtain at least one timestamp from the computed offset based on the row. Next, the at least one timestamp is stored or retrieved. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: February 4, 2020
    Inventors: Amarnadh Sai Eluri, Ivan Schreter, Andreas Tonder
  • Patent number: 10552069
    Abstract: A method can include caching, at a first computing node and a second computing node, a replica of an anchor object. The anchor object can link to a topology object storing elements comprising a distributed data storage system. The first computing node can reside in a first availability zone. The second computing node can reside in a second availability zone. The first availability zone and the second availability zone can be part of a data center. The first computing node and the second computing node can each store a data partition associated with a data container belonging to a tenant. A replica of the topology object can be cached at the first availability zone and the second availability zone. A query requiring data associated with the tenant can be executed based on the cached replica of the anchor objects and/or topology objects.
    Type: Grant
    Filed: July 6, 2018
    Date of Patent: February 4, 2020
    Assignee: SAP SE
    Inventor: Ivan Schreter
  • Patent number: 10545874
    Abstract: A method may include dividing, into a first portion of memory resources and a second portion of memory resources, a plurality of memory resources included in a cache coupled with a database. The plurality of memory resources included in the cache may store data from the database. The first portion of memory resources may be occupied by data assigned to a first weight class. The second portion of memory resources may be occupied by data assigned to a second weight class. The first portion of memory resources may be selected based at least on the first weight class and an age of at least some of the data occupying the first portion of memory resources. In response to the selection of the first portion of memory resources, the first portion of memory resources may be reclaimed. Related systems and articles of manufacture, including computer program products, are also provided.
    Type: Grant
    Filed: February 20, 2018
    Date of Patent: January 28, 2020
    Assignee: SAP SE
    Inventors: Daniel Booss, Ivan Schreter
  • Patent number: 10534764
    Abstract: A multi-level storage architecture and method of performing a partial merge are disclosed. A main store is partitioned into a passive main part and an active main part, the active main part being empty at a start of the partial merge, the passive main part storing encoded data records of the main store that are not subject to the partial merge. A values index corresponding to a sorted dictionary of the passive main part is set to a cardinality of n. The data records of a second level storage structure is merged into the active main part, the active main part having a dictionary that starts with a value of n+1, such that the merging into the active main part continues an encoding scheme according to the values index of the passive main part.
    Type: Grant
    Filed: September 9, 2016
    Date of Patent: January 14, 2020
    Assignee: SAP SE
    Inventors: Franz Faerber, Juchang Lee, Ivan Schreter