Patents by Inventor Michael Haubenschild

Michael Haubenschild 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: 11475005
    Abstract: A database engine includes one or more computing devices, each having one or more processors and memory. The memory stores programs configured for execution by the processors. The database engine receives a database query from a client, and parses the database query to build a query operator tree. The query operator tree includes a plurality of query operators. The database engine performs one or more optimization passes on the query operator tree, including a deduplication optimization pass, to form an optimized execution plan. The deduplication optimization pass includes determining that a first query operator is equivalent to a second query operator during a traversal of the query operator tree, and replacing the second query operator with a link to reuse results from the first query operator. The database engine executes the optimized execution plan to retrieve a result set from the database and returns the result set to the client.
    Type: Grant
    Filed: October 6, 2020
    Date of Patent: October 18, 2022
    Assignee: TABLEAU SOFTWARE, INC.
    Inventors: Adrian Vogelsgesang, Michael Haubenschild, Richard L. Cole, Jan Finis, Manuel Then, Tobias Muehlbauer, Thomas Neumann
  • Patent number: 11068538
    Abstract: Techniques herein are for navigation data structures for graph traversal. In an embodiment, navigation data structures that a computer stores include: a source vertex array of vertices; a neighbor array of dense identifiers of target vertices terminating edges; a bidirectional map associating, for each vertex, a sparse identifier of the vertex with a dense identifier of the vertex; and a vertex array containing, when a dense identifier of a source vertex is used as an offset, a pair of offsets defining an offset range, for use with the neighbor array. The source vertex array, using the dense identifier of a particular vertex as an offset, contains an offset, into a neighbor array, of a target vertex terminating an edge originating at the particular vertex. The neighbor array contiguously stores dense identifiers of target vertices terminating edges originating from a same source vertex.
    Type: Grant
    Filed: February 1, 2019
    Date of Patent: July 20, 2021
    Assignee: Oracle International Corporation
    Inventors: Michael Haubenschild, Sungpack Hong, Hassan Chafi, Korbinian Schmid, Martin Sevenich, Alexander Weld
  • Publication number: 20210019319
    Abstract: A database engine includes one or more computing devices, each having one or more processors and memory. The memory stores programs configured for execution by the processors. The database engine receives a database query from a client, and parses the database query to build a query operator tree. The query operator tree includes a plurality of query operators. The database engine performs one or more optimization passes on the query operator tree, including a deduplication optimization pass, to form an optimized execution plan. The deduplication optimization pass includes determining that a first query operator is equivalent to a second query operator during a traversal of the query operator tree, and replacing the second query operator with a link to reuse results from the first query operator. The database engine executes the optimized execution plan to retrieve a result set from the database and returns the result set to the client.
    Type: Application
    Filed: October 6, 2020
    Publication date: January 21, 2021
    Inventors: Adrian Vogelsgesang, Michael Haubenschild, Richard L. Cole, Jan Finis, Manuel Then, Tobias Muehlbauer, Thomas Neumann
  • Patent number: 10795888
    Abstract: A database engine receives a database query from a client. The database engine parses the database query to build a query operator tree that includes a plurality of query operators. The database engine performs one or more optimization passes on the query operator tree, including a deduplication optimization pass, to form an optimized execution plan. The deduplication optimization pass includes: creating a list of query operators via a first traversal of the query operator tree, determining a first query operator that is equivalent to a second query operator, based on a hash map, via a second traversal of the query operator tree, and substituting, via a third traversal of the query operator tree, the second query operator with a tree node that links to the first query operator. The database engine executes the optimized execution plan to retrieve a result set from the database, and returns the result set.
    Type: Grant
    Filed: December 21, 2018
    Date of Patent: October 6, 2020
    Assignee: Tableau Software, Inc.
    Inventors: Adrian Vogelsgesang, Michael Haubenschild, Richard L. Cole, Jan Finis, Manuel Then, Tobias Muehlbauer, Thomas Neumann
  • Publication number: 20200201860
    Abstract: A database engine receives a database query from a client. The database engine parses the database query to build a query operator tree that includes a plurality of query operators. The database engine performs one or more optimization passes on the query operator tree, including a deduplication optimization pass, to form an optimized execution plan. The deduplication optimization pass includes: creating a list of query operators via a first traversal of the query operator tree, determining a first query operator that is equivalent to a second query operator, based on a hash map, via a second traversal of the query operator tree, and substituting, via a third traversal of the query operator tree, the second query operator with a tree node that links to the first query operator. The database engine executes the optimized execution plan to retrieve a result set from the database, and returns the result set.
    Type: Application
    Filed: December 21, 2018
    Publication date: June 25, 2020
    Inventors: Adrian Vogelsgesang, Michael Haubenschild, Rick Cole, Jan Finis, Manuel Then, Tobias Muehlbauer, Thomas Neumann
  • Publication number: 20190163704
    Abstract: Techniques herein are for navigation data structures for graph traversal. In an embodiment, navigation data structures that a computer stores include: a source vertex array of vertices; a neighbor array of dense identifiers of target vertices terminating edges; a bidirectional map associating, for each vertex, a sparse identifier of the vertex with a dense identifier of the vertex; and a vertex array containing, when a dense identifier of a source vertex is used as an offset, a pair of offsets defining an offset range, for use with the neighbor array. The source vertex array, using the dense identifier of a particular vertex as an offset, contains an offset, into a neighbor array, of a target vertex terminating an edge originating at the particular vertex. The neighbor array contiguously stores dense identifiers of target vertices terminating edges originating from a same source vertex.
    Type: Application
    Filed: February 1, 2019
    Publication date: May 30, 2019
    Inventors: Michael Haubenschild, Sungpack Hong, Hassan Chafi, Korbinian Schmid, Martin Sevenich, Alexander Weld
  • Patent number: 10235474
    Abstract: Techniques herein are for navigation data structures for graph traversal. In an embodiment, navigation data structures that a computer stores include: a source vertex array of vertices; a neighbor array of dense identifiers of target vertices terminating edges; a bidirectional map associating, for each vertex, a sparse identifier of the vertex with a dense identifier of the vertex; and a vertex array containing, when a dense identifier of a source vertex is used as an offset, a pair of offsets defining an offset range, for use with the neighbor array. The source vertex array, using the dense identifier of a particular vertex as an offset, contains an offset, into a neighbor array, of a target vertex terminating an edge originating at the particular vertex. The neighbor array contiguously stores dense identifiers of target vertices terminating edges originating from a same source vertex.
    Type: Grant
    Filed: February 27, 2017
    Date of Patent: March 19, 2019
    Assignee: Oracle International Corporation
    Inventors: Michael Haubenschild, Sungpack Hong, Hassan Chafi, Korbinian Schmid, Martin Sevenich, Alexander Weld
  • Publication number: 20180246986
    Abstract: Techniques herein are for navigation data structures for graph traversal. In an embodiment, navigation data structures that a computer stores include: a source vertex array of vertices; a neighbor array of dense identifiers of target vertices terminating edges; a bidirectional map associating, for each vertex, a sparse identifier of the vertex with a dense identifier of the vertex; and a vertex array containing, when a dense identifier of a source vertex is used as an offset, a pair of offsets defining an offset range, for use with the neighbor array. The source vertex array, using the dense identifier of a particular vertex as an offset, contains an offset, into a neighbor array, of a target vertex terminating an edge originating at the particular vertex. The neighbor array contiguously stores dense identifiers of target vertices terminating edges originating from a same source vertex.
    Type: Application
    Filed: February 27, 2017
    Publication date: August 30, 2018
    Inventors: Michael Haubenschild, Sungpack Hong, Hassan Chafi, Korbinian Schmid, Martin Sevenich, Alexander Weld