Patents by Inventor Steffen Geissinger

Steffen Geissinger 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: 20190012262
    Abstract: Provided are a device and method of managing data stored in memory. The device may include a buffer for storing data blocks including a head data block, a tail data block, and intermediate data blocks. Non-used blocks may be further included in the buffer between the head data block and the tail data block. The device may further include a controller for managing the data blocks within the buffer. The managing may include determining a shift direction for the data blocks based on a distribution of the data blocks within the buffer, shifting at least one data block from among the data blocks in the determined direction, and shifting the one or more non-used blocks in an opposite direction from which the at least one data block is shifted. As a result of the shifting, the data blocks may be aggregated within the buffer.
    Type: Application
    Filed: September 14, 2018
    Publication date: January 10, 2019
    Inventors: Burak Kurt, Steffen Geissinger, Anil Akay
  • Patent number: 10127260
    Abstract: As part of a database system comprising a combination of on-disk storage and in-memory storage, a plurality of records that comprise a table are stored in a plurality of fragments that include at least a delta fragment and a main fragment retained in the on-disk storage. Each fragment has visibility data structures to enable multi-version concurrency control. Each fragment can be compressed using dictionary compression and n-bits compression. The fragments are loaded into main system memory in the in-memory storage from the on-disk storage if they are accessed for read operations or write operations and are not already in memory. A plurality of lockless read and write operations are concurrently performed, while providing snapshot isolation, on the at least one of the plurality of fragments while the at least one of the plurality of fragments is in the main system memory.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: November 13, 2018
    Assignee: SAP SE
    Inventors: Anil Kumar Goel, Ivan Schreter, Juchang Lee, Mihnea Andrei, Steffen Geissinger, Thomas Legler
  • Publication number: 20180293276
    Abstract: A method can include: generating a query execution plan for a query including a plurality of operations that operate on data from a relational database and data from a non-structured query language (NoSQL) database, the generating comprising optimizing the query by: identifying a first operation that operate on data from the relational database and an intermediate result output by a second operation, the second operation outputting the intermediate result by operating on the data from the NoSQL database; and determining a fixed datatype for the intermediate result, an indication of the fixed datatype being included in the query execution plan; and executing, based on the query execution plan, the query, the executing of the query comprising converting the intermediate result to the fixed datatype, the converting enabling the first operation to operate on the intermediate result output by the second operation along with the data from the relational database.
    Type: Application
    Filed: April 10, 2017
    Publication date: October 11, 2018
    Inventors: Jin Uk Bae, Stefan Baeuerle, Christian Bensberg, Steffen Geissinger, Ki Hong Kim, Taehyung Lee, Jaeyun Noh, Di Wu, Long Zhang
  • Publication number: 20180276122
    Abstract: Methods, systems, and computer-readable storage media for determining that a transaction of a plurality of transactions performed in at least a portion of a system includes a delete operation, the plurality of transactions being managed by a secondary transaction manager and including a subset of all transactions performed in the system, in response to the delete operation, inserting a clean-up entry in the secondary transaction manager, attaching the clean-up entry to a subsequent transaction in order to determine and assign a time to the cleanup-entry that is used to subsequently trigger garbage collection, and selectively comparing the time to a most-recently-reported minimum read timestamp that is periodically reported to the secondary transaction manager from a primary transaction manager of the system, wherein the clean-up entry is executed in response to determining that the time is less than the most-recently-reported minimum read timestamp.
    Type: Application
    Filed: March 27, 2017
    Publication date: September 27, 2018
    Inventors: Christian Bensberg, Steffen Geissinger
  • Publication number: 20180232412
    Abstract: Technologies are described for facilitating database system recovery in a distributed database environment having a master node and at least one slave node. The master node maintains an in-memory reference that includes transaction identifiers and their corresponding commit identifiers. When a slave node requests that a commit identifier be assigned to a transaction, the transaction and commit identifiers for the transaction are added to the in-memory reference. The commit identifier is sent by the master node to the slave node. The slave node writes a log entry to a commit log that includes the transaction identifier and the assigned commit identifier. If the database system is interrupted before the slave node writes the commit log entry, the slave node can request the commit identifier for the transaction from the master node, which retrieves the identifier from the in-memory reference.
    Type: Application
    Filed: February 10, 2017
    Publication date: August 16, 2018
    Applicant: SAP SE
    Inventors: Christian Bensberg, Steffen Geissinger, Juchang Lee, Chang Gyoo Park, Kyu Hwan Kim, Deok Koo Kim
  • Publication number: 20180137172
    Abstract: Systems and methods are described for implementation by a computing system having a non-uniform memory access (NUMA) architecture comprising a plurality of NUMA nodes. A query of a document store storing a collection of slices each comprising one or more documents is received from a client. Thereafter, it is determined which of the slices within the document store are required for execution of the query. An execution plan is then generated, using the query, that comprises a plurality of nodes each specifying at least one database operation to execute a portion of the query. The execution plan assigns one of the plurality of NUMA nodes to each slice determined to be required for execution of the query. The database operations specified by the nodes of the execution plan are then executed using the corresponding assigned NUMA nodes for the associated slice. Data responsive to the query is then provided to the client.
    Type: Application
    Filed: November 17, 2016
    Publication date: May 17, 2018
    Inventor: Steffen Geissinger
  • Publication number: 20180137166
    Abstract: A query is received from a client that specifies at least one database operation implicating data within a first database and within a second database. The first database can have a first transaction manager and the second database can have a second transaction manager. Thereafter, a plurality of transactions responsive to the query are initiated to access the data within the first database and the second database. Execution of the plurality of transactions is then coordinated using the first transaction manager and the second transaction manager. All changes specified by the at least one database operation are logged in a distributed log in the first database including changes implicating data stored within the second database. The distributed log is configured such that it is accessible by both of the first transaction manager and the second transaction manager.
    Type: Application
    Filed: November 17, 2016
    Publication date: May 17, 2018
    Inventors: Christian Bensberg, Steffen Geissinger, Thorsten Glebe
  • Publication number: 20180137144
    Abstract: A query is received from a client that specifies at least one database operation implicating data within a first database and within a second database. The second database includes a document store storing a collection of documents. Thereafter, a plurality of transactions responsive to the query are initiated to access the data within the first database and the second database. Execution of the plurality of transactions are coordinated between the first database and the second database. All changes specified by the at least one database operation are persisted in the first database including changes implicating data stored within the second database. Data responsive to the query can then be provided to the client.
    Type: Application
    Filed: November 17, 2016
    Publication date: May 17, 2018
    Inventor: Steffen Geissinger
  • Publication number: 20180137176
    Abstract: A query is received by a document store from a client. The query specifies at least one database operation implicating documents within the document store. At least one of the implicated documents has partially compressed objects in which only a portion of the document is compressed. Thereafter, the documents are scanned to identify the compressed objects and to identify decompression keys. The scanned compressed objects are then decompressed using the corresponding decompression keys. Data responsive to the query can then be provided to the client. lated apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: November 17, 2016
    Publication date: May 17, 2018
    Inventor: Steffen Geissinger
  • Publication number: 20180137185
    Abstract: A query is received from a client that specifies at least one database operation implicating data within a first database and within a second database. The first database has a first transaction manager and the second database has a second transaction manager. Thereafter, a plurality of transactions responsive to the query are initiated to access the data within the first database and the second database. Execution of the plurality of transactions are coordinated using the first transaction manager such that commits for both of the first database and the second database are handled by the first transaction manager. Data responsive to the query can then be provided to the client. Related apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: November 17, 2016
    Publication date: May 17, 2018
    Inventors: Christian Bensberg, Steffen Geissinger
  • Publication number: 20180137210
    Abstract: A database system can receive, from a client, a query specifying at least one database operation implicating data within a first database and within a second database. The first database can have a first transaction manager and the second database can have a second transaction manager. Thereafter, a plurality of transactions are initiated that are responsive to the query to access the data within the first database and the second database. The first transaction manager and the second transaction manager together coordinate execution of the plurality of transactions. All changes specified by the at least one database operation are persisted in persistence of the first database including changes implicating data stored within the second database. Data responsive to the query can then optionally be provided to the client. Related apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: November 17, 2016
    Publication date: May 17, 2018
    Inventors: Christian Bensberg, Steffen Geissinger
  • Publication number: 20180129655
    Abstract: A system for encoding and/or decoding documents for a document store is provided. In some implementations, the system performs operations comprising receiving a query related to at least a portion of a plurality of stored documents and retrieving one or more documents from the plurality of stored documents based on the query. The operations can further include generating a client-side dictionary including a plurality of definitions corresponding to a plurality of parameters (e.g., reference values for corresponding parameters) from the plurality of stored documents. The operations can also include providing the client-side dictionary and the one or more documents in response to the query. One or more of the operations can be implemented by a database server. Related systems, methods, and articles of manufacture are also described.
    Type: Application
    Filed: November 4, 2016
    Publication date: May 10, 2018
    Inventors: Steffen Geissinger, Christian Bensberg
  • Publication number: 20180129696
    Abstract: A system for storage, access, and/or pruning of documents of a document store is provided. In some implementations, the system performs operations comprising analyzing a plurality of parameters of a plurality of documents stored among a plurality of slices in a database and generating, based on the analyzing, statistics about the plurality of parameters including a range of document identifiers present in corresponding slices from the plurality of slices. The operations can further comprise pruning, based on the statistics, one or more slices of the plurality of slices, the pruning triggered in response to a query related to at least a portion of the plurality of stored documents. The operations can further comprise responding to the query based on slices that are not pruned. One or more of the operations can be implemented by a database server. Related systems, methods, and articles of manufacture are also described.
    Type: Application
    Filed: November 4, 2016
    Publication date: May 10, 2018
    Inventors: Christian Bensberg, Steffen Geissinger
  • Publication number: 20170336980
    Abstract: Provided are a device and method of managing data stored in memory. The device may include a buffer for storing data blocks including a head data block, a tail data block, and intermediate data blocks. Non-used blocks may be further included in the buffer between the head data block and the tail data block. The device may further include a controller for managing the data blocks within the buffer. The managing may include determining a shift direction for the data blocks based on a distribution of the data blocks within the buffer, shifting at least one data block from among the data blocks in the determined direction, and shifting the one or more non-used blocks in an opposite direction from which the at least one data block is shifted. As a result of the shifting, the data blocks may be aggregated within the buffer.
    Type: Application
    Filed: May 18, 2016
    Publication date: November 23, 2017
    Inventors: Burak Kurt, Steffen Geissinger, Anil Akay
  • Patent number: 9779104
    Abstract: Log records are accessed as part of a database operation in a database. The log records log insert, update, and delete operations in the database and include, for each row, a row position, a fragment identifier (ID), and a row ID. Thereafter, as part of the database operation, rows specified by the log records are located by: using the fragment identifier and the row position within the corresponding record of the log if the fragment with the corresponding fragment identifier is still available, otherwise, using the row identifier within the corresponding record of the log to look up the row position in an index of a corresponding row identifier column. The database operation is then finalized using the located rows. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: October 3, 2017
    Assignee: SAP SE
    Inventors: Mihnea Andrei, Ivan Schreter, David Wein, Shiping Chen, Panfeng Zhou, Steffen Geissinger
  • Patent number: 9774652
    Abstract: A system includes establishment of a WebSocket connection at a WebSocket endpoint of the system with a WebSocket client, registration of a callback at the WebSocket endpoint for an event associated with an update to data of the database, identification of an update to the data of the database at an HTTP endpoint of the system, sending, in response to the identification of the update, a trigger event from the HTTP endpoint, reception of the trigger event at the WebSocket endpoint, and execution of the callback by the WebSocket endpoint to transmit the update to the WebSocket client.
    Type: Grant
    Filed: June 20, 2014
    Date of Patent: September 26, 2017
    Assignee: SAP SE
    Inventors: Florian Foebel, Bjoern Friedmann, Boris Gruschko, Christian Mohr, Martin Strenge, Steffen Geissinger
  • Publication number: 20170177604
    Abstract: An encoded data object notation persistence format can be used in a variety of scenarios to advantage. The encoded format accommodates key name-value pairs and can employ dictionary compression to reduce the amount of storage needed to represent a data object. Searching and querying a collection of encoded data objects can be done more efficiently by taking advantage of the format.
    Type: Application
    Filed: December 16, 2015
    Publication date: June 22, 2017
    Applicant: SAP SE
    Inventors: Steffen Geissinger, Burak Kurt
  • Publication number: 20170177672
    Abstract: Flexible text searching for data objects can be implemented. For example, inexact matching of key name terms can be supported. An inverted index can be used to find data objects having key names with terms that are a superset of the key name term being searched. A similar index can be used for values, and the search results can be determined via an intersection. Pattern searching and other features can be supported. Text searching for schema-less collections of data objects can be supported for use in enterprise computing scenarios.
    Type: Application
    Filed: December 16, 2015
    Publication date: June 22, 2017
    Applicant: SAP SE
    Inventors: Steffen Geissinger, Frederik Transier
  • Publication number: 20170147618
    Abstract: A first block in a page chain can be assigned to a first dictionary for a first column of a database. The page chain can include a plurality of dictionary blocks allocated to a plurality of dictionaries of a plurality of columns including the first column such that the plurality of dictionary blocks is interleaved in the page chain. A new unique value to be added to the first column can be appended to an end of the first dictionary. The plurality of dictionaries can be loaded from the page chain into memory of one or more computers performing operations of a database management system. The loading can include scanning the page chain a single time and assigning the plurality of dictionary blocks to the respective dictionaries of the plurality of dictionaries.
    Type: Application
    Filed: November 23, 2015
    Publication date: May 25, 2017
    Inventors: STEFFEN GEISSINGER, Ivan Schreter
  • Publication number: 20170147225
    Abstract: First page data from one or more pages stored on a persistent storage can be loaded into a page buffer in a main system memory of one or more computing systems, and second page data that includes first dictionary values of a first dictionary for a first database column can be loaded and pinned into the page buffer in the main system memory. First contents of a first dictionary block containing first re-direction references to the first dictionary can be copied from the loaded first page data into a first in-memory array, and the first page data can be deallocated from the page buffer. The first re-direction references can direct to the first dictionary values of the first dictionary in the pinned second page data.
    Type: Application
    Filed: November 24, 2015
    Publication date: May 25, 2017
    Inventors: STEFFEN GEISSINGER, Ivan Schreter, Mihnea Andrei