Patents by Inventor Thomas Neumann

Thomas Neumann 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: 10969762
    Abstract: A method of configuring at least one hazard zone to be monitored by at least one three-dimensional (3D) sensor includes fixing outer surfaces, where the at least one hazard zone is a volume defined by the outer surfaces, and is a zone in which a machine to be secured is located. Additionally, a check is made during the configuration or after the configuration whether the outer surfaces are visible to the at least one 3D sensor.
    Type: Grant
    Filed: June 5, 2019
    Date of Patent: April 6, 2021
    Assignee: SICK AG
    Inventors: Armin Hornung, Matthias Neubauer, Ingolf Braune, Shane MacNamara, Thomas Neumann
  • 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: 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
  • 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: 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
  • 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: 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
  • Patent number: 10789416
    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 consists of ASCII characters and some accented ASCII characters that are replaceable by ASCII characters, ƒ(S)=g(s1)g(s2) . . . g(sn), where g(si)=si when si is an ASCII character and g(si)=s?i when si is an accented ASCII character that is replaceable by the corresponding ASCII character s?i. 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: December 24, 2019
    Date of Patent: September 29, 2020
    Assignee: Tableau Software, Inc.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper
  • Patent number: 10762703
    Abstract: A method for visualizing 3D image data of a 3D sensor (10) with a plurality of 3D points which form a lateral 2D arrangement with a respective depth value, wherein connected segments (32) are formed from connected 3D points and the segments (32) are displayed, and wherein two respective 3D points are connected in the same segment (32) if they are laterally adjacent and also differ in their depth value by at most a depth threshold (z).
    Type: Grant
    Filed: May 21, 2019
    Date of Patent: September 1, 2020
    Assignee: SICK AG
    Inventors: Davide Impera, Thomas Neumann
  • Publication number: 20200201376
    Abstract: A manual controller for controlling a machine comprises a mounting platform and a control lever. The control lever is mounted in a joint on the mounting platform so that it can pivot about an axis. A position sensor detects the deflection of the control lever and generates a signal corresponding to the deflection. An evaluation and processing unit processes the signal from the position sensor and controls the machine according to the deflection. A return mechanism returns the control lever back to a starting position.
    Type: Application
    Filed: June 29, 2018
    Publication date: June 25, 2020
    Applicant: FERNSTEUERGERÄTE Kurt Oelsch GmbH
    Inventors: Thomas NEUMANN, Marcus SCHINKEL, Volker JAHN
  • 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
  • Patent number: 10642832
    Abstract: A database engine receives a human-readable database query that includes a subquery, and parses the database query to build an operator tree. The operator tree includes a subtree corresponding to the subquery. The database engine estimates the number of rows that will accessed when the subtree is executed and estimates the fraction of the cardinality of rows that will be filtered out by subsequent operations in the operator tree. In accordance with a determination that the estimated fraction exceeds a first threshold, the database engine inserts a domain constraint into the subtree that restricts rows retrieved by execution of the subtree, thereby forming a modified operator tree. The database engine executes the modified operator tree to form a final result set corresponding to the database query and returns the final result set.
    Type: Grant
    Filed: September 15, 2017
    Date of Patent: May 5, 2020
    Assignee: Tableau Software, Inc.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper
  • Publication number: 20200134254
    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 consists of ASCII characters and some accented ASCII characters that are replaceable by ASCII characters, ƒ(S)=g(s1)g(s2) . . . g(sn), where g(si)=si when si is an ASCII character and g(si)=s?i when si is an accented ASCII character that is replaceable by the corresponding ASCII character s?i. 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: December 24, 2019
    Publication date: April 30, 2020
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper
  • Patent number: 10540425
    Abstract: A method compares text strings having Unicode encoding. The method receives a first string S=s1 s2 . . . sn and a second string T=t1 t2 . . . 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 consists of ASCII characters and some accented ASCII characters that are replaceable by ASCII characters, ƒ(S)=g(s1) g(s2) . . . g(sn), where g(si)=si when si is an ASCII character and g(si)=si? when si is an accented ASCII character that is replaceable by the corresponding ASCII character si?. When S includes one or more non-replaceable non-ASCII characters, the first string weight concatenates 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: June 18, 2019
    Date of Patent: January 21, 2020
    Assignee: Tableau Software, Inc.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper
  • 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: 20190377322
    Abstract: A method is provided of configuring at least one hazard zone to be monitored by at least one 3D sensor, wherein the hazard zone is a volume defined by outer surfaces in which a machine to be secured is located; and wherein the outer surfaces are fixed by the configuration. In this process, a check is made during the configuration or after the configuration whether the outer surfaces are visible to at least one of the 3D sensors.
    Type: Application
    Filed: June 5, 2019
    Publication date: December 12, 2019
    Inventors: Armin HORNUNG, Matthias NEUBAUER, Ingolf BRAUNE, Shane MACNAMARA, Thomas NEUMANN
  • Publication number: 20190362549
    Abstract: A method for visualizing 3D image data of a 3D sensor (10) with a plurality of 3D points which form a lateral 2D arrangement with a respective depth value, wherein connected segments (32) are formed from connected 3D points and the segments (32) are displayed, and wherein two respective 3D points are connected in the same segment (32) if they are laterally adjacent and also differ in their depth value by at most a depth threshold (z).
    Type: Application
    Filed: May 21, 2019
    Publication date: November 28, 2019
    Inventors: Davide IMPERA, Thomas NEUMANN
  • Publication number: 20190303425
    Abstract: A method compares text strings having Unicode encoding. The method receives a first string S=s1 s2 . . . sn and a second string T=t1 t2 . . . 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 consists of ASCII characters and some accented ASCII characters that are replaceable by ASCII characters, ƒ(S)=g(s1) g(s2) . . . g(sn), where g(si)=si when si is an ASCII character and g(si)=si? when si is an accented ASCII character that is replaceable by the corresponding ASCII character si?. When S includes one or more non-replaceable non-ASCII characters, the first string weight concatenates 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: June 18, 2019
    Publication date: October 3, 2019
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper
  • Patent number: 10325010
    Abstract: Collating text strings having Unicode encoding includes receiving two text strings S=s1s2 . . . s and T=t1t2 . . . tm. When the two text strings are not identical, there is a smallest positive integer p for which the two text strings differ. The process looks up the characters sp and tp in a predefined lookup table. If either of these characters is missing from the lookup table, the collation of the text strings is determined using the standard Unicode comparison of the text strings spsp+1 . . . sn and tptp+1 . . . tm. Otherwise, the lookup table assigns weights vp and wp for the characters sp and tp. When vp?wp, these weights define the collation order of the strings S and T. When vp=wp, the collation of S and T is determined recursively using the suffix strings sp+1 . . . sn and tp+1 . . . tm.
    Type: Grant
    Filed: September 18, 2018
    Date of Patent: June 18, 2019
    Assignee: Tableau Software, Inc.
    Inventors: Thomas Neumann, Viktor Leis, Alfons Kemper