Patents by Inventor Viktor Leis

Viktor Leis 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: 20240134894
    Abstract: A method executes at a computer system to retrieve data from a database. Upon receiving a database query, the computer system translates the query into an intermediate representation, and estimates a compilation time to compile the intermediate representation into machine executable code. The query execution time to retrieve a result set is also estimated. In accordance with a determination that the query execution time and compilation time satisfy an interpretation criterion, the computer system invokes a byte code interpreter to interpret the intermediate representation and retrieve the result set from the database. In accordance with a determination that the query execution and compilation times satisfy one of a plurality of compilation criteria, the computer system compiles the intermediate representation to form machine code and executes the machine code to retrieve the result set from the database. In some cases, the query intermediate representation is optimized prior to compilation.
    Type: Application
    Filed: October 17, 2023
    Publication date: April 25, 2024
    Inventors: Thomas NEUMANN, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Patent number: 11946902
    Abstract: In example implementations, an apparatus is provided. The apparatus includes a dielectrophoresis (DEP) separator, an electrical field generator, a tracking system, and a controller. The DEP separator is to separate a plurality of different particles. The electrical field generator is coupled to the DEP separator to apply a frequency to the DEP separator. The tracking system is to track a movement of a type of particles in the DEP separator. The controller is in communication with the electrical field generator to control the frequency and the tracking system to track the separation. The controller is to calculate a cross-over frequency from a cross-over frequency distribution for the type of particles based on a frequency sweep performed on the type of particles and the movement of the type of particles that is tracked.
    Type: Grant
    Filed: October 11, 2018
    Date of Patent: April 2, 2024
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Viktor Shkolnikov, Yang Lei, Daixi Xin
  • Patent number: 11927520
    Abstract: A particle monitoring system may include a flow passage, a particle imager to image a targeted particle within the flow passage, electrodes supported proximate the flow passage, a power source connected to the electrodes and a controller to cause the power source to charge to electrodes so as to (1) apply an electric field balanced with respect to gravity so as to hold, levitate and rotate a targeted particle within the flow passage during imaging and (2) release the targeted particle following the imaging.
    Type: Grant
    Filed: May 30, 2019
    Date of Patent: March 12, 2024
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Viktor Shkolnikov, Daixi Xin, Yang Lei
  • Patent number: 11789988
    Abstract: A method is executed at a computer system to retrieve data from a database. Upon receiving a database query, a database engine of the computer system parses the query to form an operator tree including a plurality of join operators. For one of the plurality of clauses, the database engine adds to the operator tree a respective node that specifies a mark join operator, a single join operator, an inner join operator, or an outer join operator. Specifically, the database engine adds the mark join operator when the clause includes one of a predetermined set of predicate subqueries, and adds the single join operator when the clause includes a scalar subquery. The database engine performs one or more optimization passes on the operator tree to form an optimized execution plan, and executes the optimized execution plan to retrieve a result set from the database.
    Type: Grant
    Filed: July 8, 2021
    Date of Patent: October 17, 2023
    Assignee: Tableau Software, Inc.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Patent number: 11720561
    Abstract: A method dynamically selects query execution operators. A database engine receives a query, parses the query to form a query execution tree, and compiles the tree to form a first executable plan that includes in-memory operators. The database engine executes the first plan, including executing in-memory operators in parallel. While executing a first in-memory operator, insufficient memory is detected. In response, the database engine aborts the execution, and recompiles the query tree in two ways, forming a second executable plan that replaces the first in-memory operator with a first spooling operator. The first spooling operator executes within a fixed volatile memory budget and swaps to non-volatile memory according to the budget. A third executable plan retains the first in-memory operator, but schedules it to run serially. The database engine selects either the second plan or the third plan, and executes the selected plan to return results for the query.
    Type: Grant
    Filed: April 12, 2022
    Date of Patent: August 8, 2023
    Assignee: Tableau Software, Inc.
    Inventors: Michael Schreier, Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Patent number: 11704347
    Abstract: A method executes at a computer system to retrieve data from a database. Upon receiving a database query, the computer system translates the query into an intermediate representation, and estimates a compilation time to compile the intermediate representation into machine executable code. The query execution time to retrieve a result set is also estimated. In accordance with a determination that the query execution time and compilation time satisfy an interpretation criterion, the computer system invokes a byte code interpreter to interpret the intermediate representation and retrieve the result set from the database. In accordance with a determination that the query execution and compilation times satisfy one of a plurality of compilation criteria, the computer system compiles the intermediate representation to form machine code and executes the machine code to retrieve the result set from the database. In some cases, the query intermediate representation is optimized prior to compilation.
    Type: Grant
    Filed: July 6, 2021
    Date of Patent: July 18, 2023
    Assignee: Tableau Software, Inc.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Patent number: 11514048
    Abstract: A method implements optimization of database queries by computing domain cardinality estimates. A client sends a database query to a server. The method parses the query to identify data columns. For each of the data columns, the method computes a lower bound and an upper bound of distinct data values using a pre-computed table size. The method also computes a patch factor by applying a pre-computed function to a ratio between a number of distinct data values that appear exactly once in a data sample and a number of distinct data values in the sample. Based on the patch factor, the lower bound, and the upper bound, the method computes an estimate of distinct values for each of the data columns. The method subsequently generates an execution plan for the query according to the computed estimates, executes the execution plan, and returns a result set to the client.
    Type: Grant
    Filed: November 3, 2020
    Date of Patent: November 29, 2022
    Assignee: TABLEAU SOFTWARE, INC.
    Inventors: Sebastian Hofstetter, Moritz Kaufmann, Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis, Manuel Then
  • Publication number: 20220237193
    Abstract: A method dynamically selects query execution operators. A database engine receives a query, parses the query to form a query execution tree, and compiles the tree to form a first executable plan that includes in-memory operators. The database engine executes the first plan, including executing in-memory operators in parallel. While executing a first in-memory operator, insufficient memory is detected. In response, the database engine aborts the execution, and recompiles the query tree in two ways, forming a second executable plan that replaces the first in-memory operator with a first spooling operator. The first spooling operator executes within a fixed volatile memory budget and swaps to non-volatile memory according to the budget. A third executable plan retains the first in-memory operator, but schedules it to run serially. The database engine selects either the second plan or the third plan, and executes the selected plan to return results for the query.
    Type: Application
    Filed: April 12, 2022
    Publication date: July 28, 2022
    Inventors: Michael SCHREIER, Thomas Neumann, Viktor Leis, Alfonss Kemper, Tobias Muehlbauer, Jan Finis
  • Patent number: 11301469
    Abstract: A method dynamically selects query execution operators. A database engine receives a query, parses the query to form a query execution tree, and compiles the tree to form a first executable plan that includes in-memory operators. The database engine executes the first plan, including executing in-memory operators in parallel. While executing a first in-memory operator, insufficient memory is detected. In response, the database engine aborts the execution, and recompiles the query tree in two ways, forming a second executable plan that replaces the first in-memory operator with a first spooling operator. The first spooling operator executes within a fixed volatile memory budget and swaps to non-volatile memory according to the budget. A third executable plan retains the first in-memory operator, but schedules it to run serially. The database engine selects either the second plan or the third plan, and executes the selected plan to return results for the query.
    Type: Grant
    Filed: September 4, 2020
    Date of Patent: April 12, 2022
    Assignee: TABLEAU SOFTWARE, INC.
    Inventors: Michael Schreier, Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Publication number: 20220043846
    Abstract: A method is executed at a computer system to retrieve data from a database. Upon receiving a database query, a database engine of the computer system parses the query to form an operator tree including a plurality of join operators. For one of the plurality of clauses, the database engine adds to the operator tree a respective node that specifies a mark join operator, a single join operator, an inner join operator, or an outer join operator. Specifically, the database engine adds the mark join operator when the clause includes one of a predetermined set of predicate subqueries, and adds the single join operator when the clause includes a scalar subquery. The database engine performs one or more optimization passes on the operator tree to form an optimized execution plan, and executes the optimized execution plan to retrieve a result set from the database.
    Type: Application
    Filed: July 8, 2021
    Publication date: February 10, 2022
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Patent number: 11211943
    Abstract: A method compares text strings having Unicode encoding. The method receives a first string S=s1s2 . . . sn and a second string T=t1t2 . . . tm, where s1, s2, . . . , sn and t1, t2, . . . , tm are Unicode characters. The method computes a first string weight for the first string S according to a weight function ƒ. When S consists of ASCII characters, ƒ(S)=S. when S includes one or more non-replaceable non-ASCII characters, the first string weight ƒ(S) is a concatenation of an ASCII weight prefix ƒA(S) and a Unicode weight suffix ƒU(S). The method also computes a second string weight for the second text string T. Equality of the strings is tested using the string weights.
    Type: Grant
    Filed: September 29, 2020
    Date of Patent: December 28, 2021
    Assignee: TABLEAU SOFTWARE, INC.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper
  • Publication number: 20210334298
    Abstract: A method executes at a computer system to retrieve data from a database. Upon receiving a database query, the computer system translates the query into an intermediate representation, and estimates a compilation time to compile the intermediate representation into machine executable code. The query execution time to retrieve a result set is also estimated. In accordance with a determination that the query execution time and compilation time satisfy an interpretation criterion, the computer system invokes a byte code interpreter to interpret the intermediate representation and retrieve the result set from the database. In accordance with a determination that the query execution and compilation times satisfy one of a plurality of compilation criteria, the computer system compiles the intermediate representation to form machine code and executes the machine code to retrieve the result set from the database. In some cases, the query intermediate representation is optimized prior to compilation.
    Type: Application
    Filed: July 6, 2021
    Publication date: October 28, 2021
    Inventors: Thomas NEUMANN, Viktor Leis, Alfons Kemper, Tobias MUEHLBAUER, Jan Finis
  • Patent number: 11080260
    Abstract: A method includes performing, by a data structure processor, concurrent read and write operations into a hierarchical data structure that includes a mutable tier including extendible hashing, a hash table, and an immutable tier including a concise hash table (CHT) bitmap. Writers acquire latches on the hierarchical data structure elements that the latches modify. The hierarchical data structure elements are directly accessed by readers without acquiring latches. A modify operation is executed by a writer for one or more levels of the hierarchical data structure. When removed portions of the hierarchical data structure are no longer referenced, tracking is performed by use of a combination of a global state value and a copied local state value.
    Type: Grant
    Filed: July 27, 2018
    Date of Patent: August 3, 2021
    Assignee: International Business Machines Corporation
    Inventors: Ronald J. Barber, Viktor Leis, Guy M. Lohman, Vijayshankar Raman, Richard S. Sidle
  • Patent number: 11068520
    Abstract: A method is executed at a computer system to retrieve data from a database. Upon receiving a database query, a database engine of the computer system parses the query to form an operator tree including a plurality of join operators. For each of the plurality of clauses, the database engine adds to the operator tree a respective node that specifies a mark join operator, a single join operator, an inner join operator, or an outer join operator. Specifically, the database engine adds the mark join operator when the respective clause includes one of a predetermined set of predicate subqueries, and adds the single join operator when the respective clause includes a scalar subquery. The database engine performs one or more optimization passes on the operator tree to form an optimized execution plan, and executes the optimized execution plan to retrieve a result set from the database.
    Type: Grant
    Filed: February 6, 2018
    Date of Patent: July 20, 2021
    Assignee: TABLEAU SOFTWARE, INC.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Patent number: 11055331
    Abstract: A method executes at a computer system to retrieve data from a database. Upon receiving a database query, the computer system translates the query into an intermediate representation, and estimates a compilation time to compile the intermediate representation into machine executable code. The query execution time to retrieve a result set is also estimated. In accordance with a determination that the query execution time and compilation time satisfy an interpretation criterion, the computer system invokes a byte code interpreter to interpret the intermediate representation and retrieve the result set from the database. In accordance with a determination that the query execution and compilation times satisfy one of a plurality of compilation criteria, the computer system compiles the intermediate representation to form machine code and executes the machine code to retrieve the result set from the database. In some cases, the query intermediate representation is optimized prior to compilation.
    Type: Grant
    Filed: September 8, 2017
    Date of Patent: July 6, 2021
    Assignee: TABLEAU SOFTWARE, INC.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Publication number: 20210049176
    Abstract: A method implements optimization of database queries by computing domain cardinality estimates. A client sends a database query to a server. The method parses the query to identify data columns. For each of the data columns, the method computes a lower bound and an upper bound of distinct data values using a pre-computed table size. The method also computes a patch factor by applying a pre-computed function to a ratio between a number of distinct data values that appear exactly once in a data sample and a number of distinct data values in the sample. Based on the patch factor, the lower bound, and the upper bound, the method computes an estimate of distinct values for each of the data columns. The method subsequently generates an execution plan for the query according to the computed estimates, executes the execution plan, and returns a result set to the client.
    Type: Application
    Filed: November 3, 2020
    Publication date: February 18, 2021
    Inventors: Sebastian HOFSTETTER, Moritz Kaufmann, Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehibauer, Jan Finis, Manuel Then
  • Publication number: 20210012058
    Abstract: A method compares text strings having Unicode encoding. The method receives a first string S=s1s2 . . . sn and a second string T=t1t2 . . . tm, where s1, s2, . . . , sn and t1, t2, . . . , tm are Unicode characters. The method computes a first string weight for the first string S according to a weight function ƒ. When S consists of ASCII characters, ƒ(S)=S. when S includes one or more non-replaceable non-ASCII characters, the first string weight ƒ(S) is a concatenation of an ASCII weight prefix ƒA(S) and a Unicode weight suffix ƒU(S). The method also computes a second string weight for the second text string T. Equality of the strings is tested using the string weights.
    Type: Application
    Filed: September 29, 2020
    Publication date: January 14, 2021
    Inventors: Thomas NEUMANN, Viktor Leis, Alfons Kemper
  • Publication number: 20200401592
    Abstract: A method dynamically selects query execution operators. A database engine receives a query, parses the query to form a query execution tree, and compiles the tree to form a first executable plan that includes in-memory operators. The database engine executes the first plan, including executing in-memory operators in parallel. While executing a first in-memory operator, insufficient memory is detected. In response, the database engine aborts the execution, and recompiles the query tree in two ways, forming a second executable plan that replaces the first in-memory operator with a first spooling operator. The first spooling operator executes within a fixed volatile memory budget and swaps to non-volatile memory according to the budget. A third executable plan retains the first in-memory operator, but schedules it to run serially. The database engine selects either the second plan or the third plan, and executes the selected plan to return results for the query.
    Type: Application
    Filed: September 4, 2020
    Publication date: December 24, 2020
    Inventors: Michael SCHREIER, Thomas NEUMANN, Viktor LEIS, Alfons KEMPER, Tobias MUEHLBAUER, Jan Finis
  • Patent number: 10831736
    Abstract: A method includes performing a lookup using a key into a root node of a multi-tier data structure, to find a partition for performing an insert. A lookup for the key is performed on a first level index that is part of a linked data structure. A payload or reference is added to the linked data structure based on data structure criterion, otherwise the key and the payload are added to the linked data structure if the key is not found. A new first level index is created and added to the linked data structure upon the linked data structure remaining unchanged. The key and the payload or reference are added to the new index. Based on merge criterion, a new second level index is created and a portion of content from selected first level and second level indexes are merged for combining into the new second level index.
    Type: Grant
    Filed: March 27, 2015
    Date of Patent: November 10, 2020
    Assignee: International Business Machines Corporation
    Inventors: Ronald J. Barber, Viktor Leis, Guy M. Lohman, Vijayshankar Raman, Richard S. Sidle
  • Patent number: 10824625
    Abstract: A method implements optimization of database queries by computing domain cardinality estimates. A client sends a database query to a server. The method parses the query to identify data columns. For each of the data columns, the method computes a lower bound and an upper bound of distinct data values using a pre-computed table size. The method also computes a patch factor by applying a pre-computed function to a ratio between a number of distinct data values that appear exactly once in a data sample and a number of distinct data values in the sample. Based on the patch factor, the lower bound, and the upper bound, the method computes an estimate of distinct values for each of the data columns. The method subsequently generates an execution plan for the query according to the computed estimates, executes the execution plan, and returns a result set to the client.
    Type: Grant
    Filed: December 28, 2018
    Date of Patent: November 3, 2020
    Assignee: Tableau Software, Inc.
    Inventors: Sebastian Hofstetter, Moritz Kaufmann, Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis, Manuel Then