Patents by Inventor PIT FENDER

PIT FENDER 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: 11314736
    Abstract: Techniques described herein proposes a Dependent Grouping Column Rewrite that simplifies a grouping operation by excluding dependent grouping columns from a group by clause. A non-blocking aggregation function is applied to dependent grouping columns in at least select clauses. Such a simplified grouping operation reduces memory pressure, speeds up grouping operations, and saves compute time, as grouping columns that have no additional effect on the grouping operation are excluded from processing (e.g., hashing and key matching).
    Type: Grant
    Filed: January 16, 2020
    Date of Patent: April 26, 2022
    Assignee: Oracle International Corporation
    Inventors: Pit Fender, Benjamin Schlegel, Matthias Brantner
  • Patent number: 11294894
    Abstract: Herein are techniques that extend a software system to embed new guest programing languages (GPLs) that interoperate in a transparent, modular, and configurable way. In embodiments, a computer inserts an implementation of a GPL into a deployment of the system. A command registers the GPL, define subroutines for the GPL, generates a guest virtual environment, and adds a binding of a dependency to a guest module. In an embodiment, a native programing language invokes a guest programing language to cause importing intra- or inter-language dependencies. An embodiment defines a guest object that is implemented in a first GPL and accessed from a second GPL. In an embodiment, dependencies are retrieved from a virtual file system having several alternative implementation mechanisms that include: an archive file or an actual file system, and a memory buffer or a column of a database table.
    Type: Grant
    Filed: August 30, 2019
    Date of Patent: April 5, 2022
    Assignee: Oracle International Corporation
    Inventors: Pit Fender, Harshad Kasture, Alexander Ulrich, Benjamin Schlegel, Matthias Brantner, Hassan Chafi
  • Patent number: 11269874
    Abstract: The present invention relates to data manipulation language (DML) acceleration. Herein are database techniques to use value range analysis and range-limited execution operators when a value is excluded. In an embodiment, a computer receives a data access request that specifies an expression that includes operator(s), including a particular operator that has argument(s) that has only three possible values. Before detecting the actual value of a particular argument, the computer detects that a particular value of the three possible values is excluded for the particular argument. Responsively, an implementation of the particular operator that never accepts the particular value for the particular argument is selected. Applying the expression to fulfil the data access request entails invoking the selected implementation of the particular operator.
    Type: Grant
    Filed: March 19, 2020
    Date of Patent: March 8, 2022
    Assignee: Oracle International Corporation
    Inventors: Pit Fender, Benjamin Schlegel, Alexander Ulrich
  • Publication number: 20220043820
    Abstract: Approaches herein transparently delegate data access from a relational database management system (RDBMS) onto an offload engine (OE). The RDBMS receives a database statement referencing a user defined function (UDF). In an execution plan, the RDBMS replaces the UDF reference with an invocation of a relational operator in the OE. Execution invokes the relational operator in the OE to obtain a result based on data in the OE. Thus, the UDF is bound to the OE, and almost all of the RDBMS avoids specially handling the UDF. The UDF may be a table function that offloads a relational table for processing. User defined objects such as functions and types provide metadata about the table. Multiple tables can be offloaded and processed together, such that some or all offloaded tables are not materialized in the RDBMS. Offloaded tables may participate in standard relational algebra such as in a database statement.
    Type: Application
    Filed: October 20, 2021
    Publication date: February 10, 2022
    Inventors: Pit Fender, Benjamin Schlegel, Matthias Brantner
  • Patent number: 11231935
    Abstract: Vectorized sorted-set intersection is performed using conflict-detection single instruction, multiple data (SIMD) instructions. A first ordered subset of values of a first ordered set of distinct values and a second ordered subset of values of a second ordered set of distinct values is loaded into a register. A first value in the register that matches another value in the register (i.e., common values) is identified by performing an SIMD instruction. The first value is then stored in a result set representing a merge-sort result set between the first ordered set of distinct values and the second ordered set of distinct values.
    Type: Grant
    Filed: April 13, 2020
    Date of Patent: January 25, 2022
    Assignee: Oracle International Corporation
    Inventors: Benjamin Schlegel, Pit Fender, Matthias Brantner, Hassan Chafi
  • Patent number: 11222070
    Abstract: Techniques are described herein for a vectorized hash table that uses very efficient grow and insert techniques. A single-probe hash table is grown via vectorized instructions that split each bucket, of the hash table, into a respective upper and lower bucket of the expanded hash table. Further, vacant slots are indicated using a vacant-slot-indicator value, e.g., ‘0’, and all vacant slots follow to the right of all occupied slots in a bucket. A vectorized compare instruction determines whether a value is already in the bucket. If not, the vectorized compare instruction is also used to determine whether the bucket has a vacant slot based on whether the bucket contains the vacant-slot-indicator value. To insert the value into the bucket, vectorized instructions are used to shift the values in the bucket to the right by one slot and to insert the new value into the left-most slot.
    Type: Grant
    Filed: February 27, 2020
    Date of Patent: January 11, 2022
    Assignee: Oracle International Corporation
    Inventors: Benjamin Schlegel, Martin Sevenich, Pit Fender, Matthias Brantner, Hassan Chafi
  • Publication number: 20210390089
    Abstract: Techniques related to code dictionary generation based on non-blocking operations are disclosed. In some embodiments, a column of tokens includes a first token and a second token that are stored in separate rows. The column of tokens is correlated with a set of row identifiers including a first row identifier and a second row identifier that is different from the first row identifier. Correlating the column of tokens with the set of row identifiers involves: storing a correlation between the first token and the first row identifier, storing a correlation between the second token and the second row identifier if the first token and the second token have different values, and storing a correlation between the second token and the first row identifier if the first token and the second token have identical values. After correlating the column of tokens with the set of row identifiers, duplicate correlations are removed.
    Type: Application
    Filed: August 27, 2021
    Publication date: December 16, 2021
    Inventors: Pit Fender, Felix Schmidt, Benjamin Schlegel, Matthias Brantner, Nipun Agarwal
  • Patent number: 11200234
    Abstract: Approaches herein transparently delegate data access from a relational database management system (RDBMS) onto an offload engine (OE). The RDBMS receives a database statement referencing a user defined function (UDF). In an execution plan, the RDBMS replaces the UDF reference with an invocation of a relational operator in the OE. Execution invokes the relational operator in the OE to obtain a result based on data in the OE. Thus, the UDF is bound to the OE, and almost all of the RDBMS avoids specially handling the UDF. The UDF may be a table function that offloads a relational table for processing. User defined objects such as functions and types provide metadata about the table. Multiple tables can be offloaded and processed together, such that some or all offloaded tables are not materialized in the RDBMS. Offloaded tables may participate in standard relational algebra such as in a database statement.
    Type: Grant
    Filed: June 14, 2019
    Date of Patent: December 14, 2021
    Assignee: Oracle International Corporation
    Inventors: Pit Fender, Benjamin Schlegel, Matthias Brantner
  • Patent number: 11169804
    Abstract: Techniques for maintaining d-heap property and speeding up retrieval operations, such as top or pop, by vectorizing the d-heap and utilizing horizontal aggregation SIMD instructions across the retrieval operations. A d-heap is vectorized by storing it in a contiguous memory array containing a beginning-most side and end-most side. Horizontal aggregation SIMD instructions are utilized to aggregate the values of the vectorized d-heap. Thus, the number of comparisons required in order to find the maximum or minimum key value within a single node of the d-heap is reduced resulting in faster retrieval operations.
    Type: Grant
    Filed: September 24, 2018
    Date of Patent: November 9, 2021
    Assignee: Oracle International Corporation
    Inventors: Benjamin Schlegel, Harshad Kasture, Pit Fender, Matthias Brantner, Hassan Chafi
  • Patent number: 11169995
    Abstract: Techniques related to relational dictionaries are disclosed. In some embodiments, one or more non-transitory storage media store a sequence of instructions which, when executed by one or more computing devices, cause performance of a method. The method involves storing a code dictionary comprising a set of tuples. The code dictionary is a database table defined by a database dictionary and comprises columns that are each defined by the database dictionary. The set of tuples maps a set of codes to a set of tokens. The set of tokens are stored in a column of unencoded database data. The method further involves generating encoded database data based on joining the unencoded database data with the set of tuples. Furthermore, the method involves generating decoding database data based on joining the encoded database data with the set of tuples.
    Type: Grant
    Filed: November 21, 2017
    Date of Patent: November 9, 2021
    Assignee: Oracle International Corporation
    Inventors: Pit Fender, Seema Sundara, Benjamin Schlegel, Nipun Agarwal
  • Publication number: 20210318886
    Abstract: Vectorized sorted-set intersection is performed using conflict-detection single instruction, multiple data (SIMD) instructions. A first ordered subset of values of a first ordered set of distinct values and a second ordered subset of values of a second ordered set of distinct values is loaded into a register. A first value in the register that matches another value in the register (i.e., common values) is identified by performing an SIMD instruction. The first value is then stored in a result set representing a merge-sort result set between the first ordered set of distinct values and the second ordered set of distinct values.
    Type: Application
    Filed: April 13, 2020
    Publication date: October 14, 2021
    Inventors: Benjamin Schlegel, Pit Fender, Matthias Brantner, Hassan Chafi
  • Publication number: 20210294603
    Abstract: Techniques are provided for lazy push optimization, allowing for constant time push operations. A d-heap is used as the underlying data structure for indexing values being inserted. The d-heap is vectorized by storing values in a contiguous memory array. Heapify operations are delayed until a retrieve operation occurs, improving insert performance of vectorized d-heaps that use horizontal aggregation SIMD instructions at the cost of slightly lower retrieve performance.
    Type: Application
    Filed: March 18, 2020
    Publication date: September 23, 2021
    Inventors: Harshad Kasture, Matthias Brantner, Hassan Chafi, Benjamin Schlegel, Pit Fender
  • Publication number: 20210294795
    Abstract: The present invention relates to data manipulation language (DML) acceleration. Herein are database techniques to use value range analysis and range-limited execution operators when a value is excluded. In an embodiment, a computer receives a data access request that specifies an expression that includes operator(s), including a particular operator that has argument(s) that has only three possible values. Before detecting the actual value of a particular argument, the computer detects that a particular value of the three possible values is excluded for the particular argument. Responsively, an implementation of the particular operator that never accepts the particular value for the particular argument is selected. Applying the expression to fulfil the data access request entails invoking the selected implementation of the particular operator.
    Type: Application
    Filed: March 19, 2020
    Publication date: September 23, 2021
    Inventors: Pit Fender, Benjamin Schlegel, Alexander Ulrich
  • Patent number: 11126611
    Abstract: Techniques related to code dictionary generation based on non-blocking operations are disclosed. In some embodiments, a column of tokens includes a first token and a second token that are stored in separate rows. The column of tokens is correlated with a set of row identifiers including a first row identifier and a second row identifier that is different from the first row identifier. Correlating the column of tokens with the set of row identifiers involves: storing a correlation between the first token and the first row identifier, storing a correlation between the second token and the second row identifier if the first token and the second token have different values, and storing a correlation between the second token and the first row identifier if the first token and the second token have identical values. After correlating the column of tokens with the set of row identifiers, duplicate correlations are removed.
    Type: Grant
    Filed: February 15, 2018
    Date of Patent: September 21, 2021
    Assignee: Oracle International Corporation
    Inventors: Pit Fender, Felix Schmidt, Benjamin Schlegel, Matthias Brantner, Nipun Agarwal
  • Publication number: 20210271711
    Abstract: Techniques are described for a vectorized queue, which implements a vectorized ‘contains’ function that determines whether a value is in the queue. A three-phase vectorized shortest-path graph search splits each expanding and probing iteration into three phases that utilize vectorized instructions: (1) The neighbors of nodes that are in a next queue are fetched and written into a current queue. (2) It is determined whether the destination node is among the fetched neighbor nodes in the current queue. (3) The fetched neighbor nodes that have not yet been visited are put into the next queue. According to an embodiment, a vectorized copy operation performs vector-based data copying using vectorized load and store instructions. Specifically, vectors of data are copied from a source to a destination. Any invalid data copied to the destination is overwritten, either with a vector of additional valid data or with a vector of nonce data.
    Type: Application
    Filed: February 27, 2020
    Publication date: September 2, 2021
    Inventors: Benjamin Schlegel, Martin Sevenich, Pit Fender, Matthias Brantner, Hassan Chafi
  • Publication number: 20210271710
    Abstract: Techniques are described herein for a vectorized hash table that uses very efficient grow and insert techniques. A single-probe hash table is grown via vectorized instructions that split each bucket, of the hash table, into a respective upper and lower bucket of the expanded hash table. Further, vacant slots are indicated using a vacant-slot-indicator value, e.g., ‘0’, and all vacant slots follow to the right of all occupied slots in a bucket. A vectorized compare instruction determines whether a value is already in the bucket. If not, the vectorized compare instruction is also used to determine whether the bucket has a vacant slot based on whether the bucket contains the vacant-slot-indicator value. To insert the value into the bucket, vectorized instructions are used to shift the values in the bucket to the right by one slot and to insert the new value into the left-most slot.
    Type: Application
    Filed: February 27, 2020
    Publication date: September 2, 2021
    Inventors: Benjamin Schlegel, Martin Sevenich, Pit Fender, Matthias Brantner, Hassan Chafi
  • Publication number: 20210263930
    Abstract: A partial group by operator is a group by operator that implements a fallback mechanism. The fallback mechanism is triggered whenever memory pressure reaches a certain threshold. When the fallback mechanism is triggered, a row is included in an output of the partial group by operator without including an aggregation value for a grouping value for the row to an aggregation data structure. A final group by operator computes a final aggregate value of all results, including pre-grouped results and passed through results, from the partial group by operator.
    Type: Application
    Filed: February 21, 2020
    Publication date: August 26, 2021
    Inventors: Pit Fender, Benjamin Schlegel, Nipun Agarwal
  • Publication number: 20210232402
    Abstract: Techniques are provided for vectorizing Heapsort. A K-heap is used as the underlying data structure for indexing values being sorted. The K-heap is vectorized by storing values in a contiguous memory array containing a beginning-most side and end-most side. The vectorized Heapsort utilizes horizontal aggregation SIMD instructions for comparisons, shuffling, and moving data. Thus, the number of comparisons required in order to find the maximum or minimum key value within a single node of the K-heap is reduced resulting in faster retrieval operations.
    Type: Application
    Filed: April 9, 2021
    Publication date: July 29, 2021
    Inventors: Benjamin Schlegel, Pit Fender, Harshad Kasture, Matthias Brantner, Hassan Chafi
  • Publication number: 20210224257
    Abstract: Techniques described herein proposes a Dependent Grouping Column Rewrite that simplifies a grouping operation by excluding dependent grouping columns from a group by clause. A non-blocking aggregation function is applied to dependent grouping columns in at least select clauses. Such a simplified grouping operation reduces memory pressure, speeds up grouping operations, and saves compute time, as grouping columns that have no additional effect on the grouping operation are excluded from processing (e.g., hashing and key matching).
    Type: Application
    Filed: January 16, 2020
    Publication date: July 22, 2021
    Inventors: Pit Fender, Benjamin Schlegel, Matthias Brantner
  • Patent number: 11061901
    Abstract: Techniques are described herein for influencing plan generation in context of the two phase query optimization approach. Types of pruning criteria including method pruning criteria, total cost pruning criteria, and permutation pruning criteria exist in cost-based plan generators to determine what parts of a query statement should be offloaded to a query offload engine. Method pruning criteria is responsible to determine an optimal joining method. Total cost pruning criteria compares accumulated costs with a lowest plan cost determined so far. Permutation pruning criteria is responsible for selecting the cheapest query execution plan from all considered query execution plans. Each type of pruning criteria is modified to favor offload engine execution upon request.
    Type: Grant
    Filed: July 23, 2019
    Date of Patent: July 13, 2021
    Assignee: ORACLE INTERNATIONAL CORPORATION
    Inventors: Pit Fender, Benjamin Schlegel, Nipun Agarwal