Patents by Inventor Michael Schreier

Michael Schreier 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: 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
  • 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: 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: 10795887
    Abstract: A database engine receives a query and parses the query to form a first intermediate query. The engine compiles the first intermediate query to form a first executable plan that includes in-memory operators that execute within memory without swapping to secondary memory. While executing a first in-memory operator in the first executable plan, the engine detects insufficient memory and aborts execution of the first executable plan. The engine optimizes the first intermediate query to form a second intermediate query, and compiles the second intermediate query to form a second executable plan. The second plan includes spooling operators that execute within fixed memory budgets and are configured to swap to the secondary memory when needed. The engine executes the second executable plan, including the spooling operators, to retrieve results from the database that are responsive to the query. The engine then returns the retrieved results.
    Type: Grant
    Filed: August 18, 2017
    Date of Patent: October 6, 2020
    Assignee: Tableau Software, Inc.
    Inventors: Michael Schreier, Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Patent number: 10521430
    Abstract: A method dynamically selects query execution operators for a database engine. The database engine receives a query and parses the query to form a query execution tree. The engine creates a first executable plan that includes in-memory operators, which execute within the volatile memory. While executing a first in-memory operator, the engine detects insufficient memory to complete the execution and aborts the execution. The engine then recompiles the query execution tree to form a second executable plan, which includes spooling operators. Each spooling operator executes within a fixed volatile memory budget. The engine executes the second executable plan, including the plurality of spooling operators, to identify a set of results from the database that is responsive to the query, and returns the results.
    Type: Grant
    Filed: July 14, 2017
    Date of Patent: December 31, 2019
    Assignee: Tableau Software, Inc.
    Inventors: Michael Schreier, Thomas Neumann, Viktor Leis, Alfons Kemper, Tobias Muehlbauer, Jan Finis
  • Publication number: 20080152014
    Abstract: A method and processor to encode and/or decode a video stream exploiting frame-level parallelism. Frames of the video stream are encoded and/or decoded using M processing units where each processing unit processes one different frame at a time. Each processing unit writes the reconstructed frame to a frame buffer. A processing unit can start the encoding and/or decoding process once sufficient data of the previous reconstructed frame are available.
    Type: Application
    Filed: December 14, 2007
    Publication date: June 26, 2008
    Applicant: ON DEMAND MICROELECTRONICS
    Inventors: Ralf Michael Schreier, Florian Seitner
  • Patent number: 6927513
    Abstract: An electromechanical linear actuator assembly having in-line axial load support of its screw drive shaft is provided. The bearing support structure provides a single in-line ball bearing accommodated within a hardened end fitting and a screw pivot recess in the axial screw drive shaft. For axial loading in an opposite direction, a number of smaller ball bearings are provided around the outer periphery of the screw shaft in a groove, and are retained within the hardened end fitting by a bearing retainer. End rod support bearings providing heat compensation and lubrication fluid transfer are also provided. A braking mechanism having increased life and more consistent load engagement is also provided. Further, integrated electronics may be provided for position sensing and power efficiency control.
    Type: Grant
    Filed: June 30, 2003
    Date of Patent: August 9, 2005
    Assignee: Bear Linear LLC
    Inventor: Dennis Michael Schreier
  • Publication number: 20040061382
    Abstract: An electromechanical linear actuator assembly having in-line axial load support of its screw drive shaft is provided. The bearing support structure provides a single in-line ball bearing accommodated within a hardened end fitting and a screw pivot recess in the axial screw drive shaft. For axial loading in an opposite direction, a number of smaller ball bearings are provided around the outer periphery of the screw shaft in a groove, and are retained within the hardened end fitting by a bearing retainer. End rod support bearings providing heat compensation and lubrication fluid transfer are also provided. A braking mechanism having increased life and more consistent load engagement is also provided. Further, integrated electronics may be provided for position sensing and power efficiency control.
    Type: Application
    Filed: June 30, 2003
    Publication date: April 1, 2004
    Applicant: Bear Linear LLC
    Inventor: Dennis Michael Schreier