Patents by Inventor Anil Kumar Goel

Anil Kumar Goel 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: 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
  • Patent number: 11379494
    Abstract: Partitioning of temporal databases can implement distributed storage of temporal data via time-based or space-based techniques to improve performance of operators on the database. A variety of operators can be supported for the partitioned tables, including temporal aggregation, time travel, and temporal join. The use of checkpoints can greatly increase performance in a variety of scenarios. The described partitioning techniques can be applied in a parallel execution context to great benefit. The partitioning can also reduce local memory footprint, facilitating in-memory database processing.
    Type: Grant
    Filed: August 6, 2014
    Date of Patent: July 5, 2022
    Assignee: SAP SE
    Inventors: Martin Kaufmann, Norman May, Elias Yousefi Amin Abadi, Anil Kumar Goel, Chang Ge, Andreas Luethi, Puspanantha Shanmuganathan, Donald Kossmann
  • Patent number: 11080271
    Abstract: A transaction management service layer monitors a plurality of read and write transactions being executed by the data engines by way of client libraries at each of a plurality of data engines. In addition, the transaction management server layer maintains and coordinates transaction timestamp and sequence numbers that are shared by the plurality of data engines. The transaction management service layer identifies and resolves conflicts among the plurality of transactions. The transaction management service layer is a separate and independent service that is isolated from other components of the plurality of data engines. Related apparatus, systems, techniques and articles are also described.
    Type: Grant
    Filed: September 9, 2016
    Date of Patent: August 3, 2021
    Inventors: Juchang Lee, Chang Gyoo Park, Francis Gropengiesser, Anil Kumar Goel, Deok Koo Kim, SunHo Lee
  • Patent number: 10824622
    Abstract: A system, computer-implemented method, and a computer-readable storage medium for determining estimations to statistical questions. Data statistics used in evaluating estimations to statistical questions are gathered from multiple sources in a database management system. A statistical question comprising, for example, cardinality estimations is received, wherein the question is posed by different database components, such as query optimizer, or execution engine. Estimation for the statistical question is computed, where the estimation is based on multiple data statistics and without using the data referred to in the question.
    Type: Grant
    Filed: February 25, 2014
    Date of Patent: November 3, 2020
    Assignee: SAP SE
    Inventors: Anisoara Nica, Anil Kumar Goel
  • Patent number: 10671572
    Abstract: A system includes reception of a first write request from a client including a first key and a first one or more stream, payload pairs associated with the first key, copying of the first key and the first one or more stream, payload pairs to a first buffer of a volatile memory, storage of data of the first buffer in one or more blocks of a raw block non-volatile memory device, providing of the first buffer to a stream store server, reception of the first buffer at the stream store server, adding of the first key and the first one or more stream, payload pairs to a second buffer of the volatile memory, in key-order, storage of the data of the second buffer in a filesystem storage device, according to stream, and transmission of an indication of the durability of the key to the tail store server.
    Type: Grant
    Filed: June 14, 2016
    Date of Patent: June 2, 2020
    Assignee: SAP SE
    Inventors: Nathan Auch, Scott MacLean, Peter Bumbulis, Jeffrey Pound, Anil Kumar Goel
  • Patent number: 10366106
    Abstract: Disclosed herein are system, method, and computer program product embodiments for quorum-based replication of data records. In one embodiment, a read request for reading a record is received from a user node on a replica node of a cluster of replica nodes. The record is then determined not committed on the replica node. In response to the determination, an update message indicative of whether the number of replica nodes on which the record is durable exceeds a threshold is received on the replica node. In response to the number of replica nodes exceeds the threshold, a value of the record on the replica node is transmitted to the user node.
    Type: Grant
    Filed: December 9, 2016
    Date of Patent: July 30, 2019
    Assignee: SAP SE
    Inventors: Hua Fan, Jeffrey Pound, Peter Bumbulis, Anil Kumar Goel, Scott MacLean, Nathan Auch, Eric Garber
  • Patent number: 10360145
    Abstract: A system includes writing of log data in chunks over a first range of heap log sequence positions of a heap log stored in the non-volatile memory system, and writing of a heap anchor marker in a first anchor stream of a transaction log stored in the non-volatile memory system, at a first transaction log sequence position of the transaction log, wherein the first anchor stream is associated with a first stream of the transaction log, and the heap anchor marker identifies the first range of heap log sequence positions of the heap log.
    Type: Grant
    Filed: June 13, 2016
    Date of Patent: July 23, 2019
    Assignee: SAP SE
    Inventors: Jeffrey Pound, Nathan Auch, Peter Bumbulis, Anil Kumar Goel, Scott MacLean, Eric Garber
  • Patent number: 10346387
    Abstract: A method includes a primary storage unit receiving a first write request including a first key and a first value; persisting the first value in a first non-volatile memory in association with the first key; broadcasting the first write request and a first set of globally-durable keys to secondary storage units; receiving, from the secondary storage units, an acknowledgement of the first write request and a first set of locally-durable keys, each of the first sets of locally-durable keys including the first key; the primary storage unit receiving a second write request including a second key and a second value; persisting the second value in the first non-volatile memory in association with the second key; and broadcasting the second write request and a second set of globally-durable keys to the secondary storage units, the second set of locally-durable keys including the first key. A system is also disclosed.
    Type: Grant
    Filed: June 13, 2016
    Date of Patent: July 9, 2019
    Assignee: SAP SE
    Inventors: Peter Bumbulis, Jeffrey Pound, Nathan Auch, Anil Kumar Goel, Matthias Ringwald, Thomas Bodner, Scott MacLean
  • Patent number: 10152501
    Abstract: Disclosed herein are system, method, and computer program product embodiments for rollover strategies in an n-bit dictionary compressed column store. An embodiment operates by receiving a new value for addition to a compressed column store. It is determined that a maximum storage capacity for tokens in the compressed column store has been reached for the data dictionary. The compressed column store is converted into a composite store including the existing compressed column store and a newly created flat store. The new value is stored in the flat storage portion of the composite store.
    Type: Grant
    Filed: October 11, 2016
    Date of Patent: December 11, 2018
    Assignee: SYBASE, INC.
    Inventors: Muhammed Sharique, Anil Kumar Goel, Minhnea Andrei
  • 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
  • Patent number: 10089342
    Abstract: A compression manager may store, within an index vector, a plurality of value identifiers (IDs), each value ID representing a value within a database. A page generator may designate a number of the value IDs as defining a page within the index vector, so that the index vector includes a plurality of pages, each page including the number of value IDs. The page generator may store the index vector in a secondary memory of a main memory database. An iterator may access a requested value ID, and a page loader may load a corresponding page of the index vector that contains the requested value ID into the main memory database.
    Type: Grant
    Filed: July 10, 2014
    Date of Patent: October 2, 2018
    Assignee: SAP SE
    Inventors: Reza Sherkat, Guenter Radestock, Ivan Schreter, Colin Florendo, Mihnea Andrei, Anil Kumar Goel
  • Publication number: 20180239788
    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: Application
    Filed: April 20, 2018
    Publication date: August 23, 2018
    Applicant: SAP SE
    Inventors: Colin Florendo, Carsten Thiel, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel
  • Patent number: 10042886
    Abstract: A method and system, the system including a plurality of machines each having a processor and a main memory component; a shared distributed storage facility storing a set of data and accessible by the plurality of machines over a communication network; a controller to select, in response to a state of a query execution plan comprising a plurality of executable jobs for the set of data, which one of a set of scheduling algorithms to execute; an execution engine to execute the selected scheduling algorithm to determine, for each job in the plurality of jobs, which server to schedule to execute the respective job; and providing an indication of the scheduling of the servers determined to be schedules for the execution of the jobs.
    Type: Grant
    Filed: August 3, 2015
    Date of Patent: August 7, 2018
    Assignee: SAP SE
    Inventors: Pooya Saadat-Panah, Anisoara Nica, Nathan Auch, Peter Bumbulis, Anil Kumar Goel, Jeffrey Pound
  • Publication number: 20180165343
    Abstract: Disclosed herein are system, method, and computer program product embodiments for quorum-based replication of data records. In one embodiment, a read request for reading a record is received from a user node on a replica node of a cluster of replica nodes. The record is then determined not committed on the replica node. In response to the determination, an update message indicative of whether the number of replica nodes on which the record is durable exceeds a threshold is received on the replica node. In response to the number of replica nodes exceeds the threshold, a value of the record on the replica node is transmitted to the user node.
    Type: Application
    Filed: December 9, 2016
    Publication date: June 14, 2018
    Inventors: Hua Fan, Jeffrey Pound, Peter Bumbulis, Anil Kumar Goel, Scott MacLean, Nathan Auch, Eric Garber
  • Patent number: 9977801
    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: July 16, 2014
    Date of Patent: May 22, 2018
    Assignee: SAP SE
    Inventors: Colin Florendo, Carsten Thiel, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel
  • Patent number: 9965513
    Abstract: Disclosed herein are system, method, and computer program product embodiments for determining row visibility states. An embodiment operates by initializing a result bitmap for rows based on visible row state values of row state bitmaps corresponding to the rows, wherein values of the result bitmap indicate whether the row are visible or not visible; determining one or more rows whose corresponding visible row state values indicate that the one or more rows are not visible; and determining whether to update the result bitmap to indicate that the one or more rows are visible based on one or more versioned row state values, wherein the one or more versioned row state values indicate whether the corresponding rows are not visible or possibly visible.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: May 8, 2018
    Assignee: SAP SE
    Inventors: Juchang Lee, Mihnea Andrei, Colin Florendo, Ivan Schreter, Anil Kumar Goel
  • Publication number: 20180075083
    Abstract: A transaction management service layer monitors a plurality of read and write transactions being executed by the data engines by way of client libraries at each of a plurality of data engines. In addition, the transaction management server layer maintains and coordinates transaction timestamp and sequence numbers that are shared by the plurality of data engines. The transaction management service layer identifies and resolves conflicts among the plurality of transactions. The transaction management service layer is a separate and independent service that is isolated from other components of the plurality of data engines. Related apparatus, systems, techniques and articles are also described.
    Type: Application
    Filed: September 9, 2016
    Publication date: March 15, 2018
    Inventors: Juchang Lee, Chang Gyoo Park, Francis Gropengiesser, Anil Kumar Goel, Deok Koo Kim, SunHo Lee
  • Patent number: 9891831
    Abstract: The subject matter disclosed herein provides methods for the dual storage of data using an in-memory array and an on-disk page structure. An in-memory array holding a column of data can be maintained. One or more pages can be maintained. Each of the one or more pages can have one or more rows for storing the column of data. Random access can be provided to a subset of the one or more rows by at least loading the subset of rows from the one or more pages to the in-memory array without loading all of the rows from the one or more pages. Related apparatus, systems, techniques, and articles are also described.
    Type: Grant
    Filed: November 25, 2014
    Date of Patent: February 13, 2018
    Assignee: SAP SE
    Inventors: Thomas Legler, David Wein, Ivan Schreter, Mihnea Andrei, Anil Kumar Goel, Guenter Radestock
  • Patent number: 9881041
    Abstract: A delta store giving row-level versioning semantics to a non-row-level versioning underlying store is described. An example method includes establishing a column-based in-memory database including a main store and a delta store, where the main store allows only non-concurrent transactions on a same table and the delta store has a plurality of row-visibility bitmaps implementing a row-level versioning mechanism that allows concurrent transactions on the same table. A local RID space is established for a table fragment, that for each table in the database, the data of the table is stored in one or more main table fragment in the main store and in one or more delta table fragments in the delta store. Each table fragment has a local RID space, and the local RID space is a collection of one-based contiguous integer local RIDs (Row IDs) describing local positions of the rows of the table fragment.
    Type: Grant
    Filed: December 20, 2013
    Date of Patent: January 30, 2018
    Assignee: Sybase, Inc.
    Inventors: Mihnea Andrei, Anil Kumar Goel, Colin Florendo, Rolando Blanco, David Edward DeHaan
  • Publication number: 20170357574
    Abstract: A system includes writing of log data in chunks over a first range of heap log sequence positions of a heap log stored in the non-volatile memory system, and writing of a heap anchor marker in a first anchor stream of a transaction log stored in the non-volatile memory system, at a first transaction log sequence position of the transaction log, wherein the first anchor stream is associated with a first stream of the transaction log, and the heap anchor marker identifies the first range of heap log sequence positions of the heap log.
    Type: Application
    Filed: June 13, 2016
    Publication date: December 14, 2017
    Inventors: Jeffrey Pound, Nathan Auch, Peter Bumbulis, Anil Kumar Goel, Scott MacLean, Eric Garber