Patents by Inventor Max Heimel

Max Heimel 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: 20240134844
    Abstract: A data platform including an error handling framework for loading of input data. The data platform generates input data columns based on an input file and generates result data columns based on the input data columns and evaluating expressions. The data platform detects projection errors during the generating of the result data columns and stores result error indicators in error indicator arrays of the result data columns based on the projection errors. The data platform generates filtered result data columns based on the result data columns and the result error indicator arrays of the result data columns and stores the filtered result data columns in a database of the data platform.
    Type: Application
    Filed: May 22, 2023
    Publication date: April 25, 2024
    Inventors: Abdullah Al Mahmood, Ruta Dhaneshwar, Max Heimel, Xin Huang, Canzhou Qu, Purav B. Saraiya, Konstantinos Zoumpatianos
  • Patent number: 11921708
    Abstract: The subject technology receives, at a first execution node, a first transaction, the first transaction to be executed on linearizable storage. The subject technology determines whether the first execution node corresponds to a rank indicating a leader worker. The subject technology, in response to the first execution node corresponding to the rank indicating the leader worker, performs, by the first execution node, an initialization process for executing the first transaction. The subject technology broadcasts a first read timestamp associated with the first transaction to a set of execution nodes, the set of execution nodes being different than the first execution node. The subject technology executes, by the first execution node, at least a first operation from the first transaction.
    Type: Grant
    Filed: August 31, 2022
    Date of Patent: March 5, 2024
    Assignee: Snowflake Inc.
    Inventors: Thierry Cruanes, Moritz Eyssen, Max Heimel, Lishi Jiang, Alexander Miller
  • Publication number: 20240070143
    Abstract: The subject technology receives, at a first execution node, a first transaction, the first transaction to be executed on linearizable storage. The subject technology determines whether the first execution node corresponds to a rank indicating a leader worker. The subject technology, in response to the first execution node corresponding to the rank indicating the leader worker, performs, by the first execution node, an initialization process for executing the first transaction. The subject technology broadcasts a first read timestamp associated with the first transaction to a set of execution nodes, the set of execution nodes being different than the first execution node. The subject technology executes, by the first execution node, at least a first operation from the first transaction.
    Type: Application
    Filed: August 31, 2022
    Publication date: February 29, 2024
    Inventors: Thierry Cruanes, Moritz Eyssen, Max Heimel, Lishi Jiang, Alexander Miller
  • Patent number: 11907221
    Abstract: Sub-plans are executed in parallel using a plurality of execution nodes, which can be part of a data platform. In particular, various embodiments identify sub-plans (e.g., fragments or portions of one or more child operators) of a root operator in a query plan such that the identified sub-plans that are candidates for execution on a single execution node, determine a cost estimate for causing the candidate sub-plans to be executed in parallel using multiple execution nodes, and cause the candidate sub-plans to be executed in parallel based on the cost estimate.
    Type: Grant
    Filed: May 31, 2022
    Date of Patent: February 20, 2024
    Assignee: Snowflake Inc.
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Patent number: 11880369
    Abstract: A top K query directed at a table is received. The table is organized into multiple storage units. The top K query comprises a first clause to sort a result set in order and a second clause that specifies a limit on a number of results provided in response to the query. A table scan operator identifies a first set of rows from the table based on a scan set determined for the table and provides the first set of rows to a top K operator. The top K operator determines a current boundary based on the first set of rows and provides the current boundary to the table scan operator. The table scan operator prunes the scan set based on the current boundary and identifies a second set of rows from the table based on the pruning.
    Type: Grant
    Filed: November 21, 2022
    Date of Patent: January 23, 2024
    Assignee: Snowflake Inc.
    Inventors: Max Heimel, Ismail Oukid, Linnea Passing, Stefan Richter, Juliane K. Waack
  • Publication number: 20230205770
    Abstract: Methods, systems, and computer programs are presented for scheduling and executing request plans using an opportunistic approach. An opportunistic scheduler generates a request plan for a request on a cloud data platform, the request plan comprising a plurality of operations and identifies a plurality of contingent operations from the plurality of operations of the request plan. The opportunistic scheduler schedules the plurality of contingent operations for execution and sets the scheduled plurality of contingent operations to execute at a specific position in the request plan. The opportunistic scheduler sets remaining operations for execution by any available thread as threads that are processing the request plan become available and processes the request plan according to the scheduled plurality of contingent operations.
    Type: Application
    Filed: February 28, 2023
    Publication date: June 29, 2023
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel, Max Jendruk
  • Publication number: 20230195729
    Abstract: Various embodiments provide for executing sub-plans in parallel using a plurality of execution nodes, which can be part of a data platform. In particular, various embodiments identify sub-plans (e.g., fragments or portions of one or more child operators) of a root operator in a query plan such that the identified sub-plans that are candidates for execution on a single execution node, determine a cost estimate for causing the candidate sub-plans to be executed in parallel using multiple execution nodes, and cause the candidate sub-plans to be executed in parallel based on the cost estimate.
    Type: Application
    Filed: May 31, 2022
    Publication date: June 22, 2023
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Patent number: 11615092
    Abstract: A database scheduler system can be implemented on a distributed database system. The system schedules operations in a lightweight approach that reduces idling and increases parallel processing of database operations for a query on data of the database. The system performs restarts of individual operators or fragments of a query without restarting the entire query.
    Type: Grant
    Filed: October 29, 2021
    Date of Patent: March 28, 2023
    Assignee: Snowflake Inc.
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel, Max Jendruk
  • Patent number: 11593379
    Abstract: A query directed at a table organized into a set of batch units is received. The query comprises a predicate for which values are unknown prior to runtime. A set of values for the predicate are determined based on the query. An index access plan is created based on the set of values. Based on the index access plan, the set of batch units are pruned using a pruning index associated with the table. The pruning index comprises a set of filters that index distinct values in each column of the table. The pruning of the set of batch units comprises identifying a subset of batch units to scan for data that satisfies the query. The subset of batch units of the table are scanned to identify data that satisfies the query.
    Type: Grant
    Filed: May 31, 2022
    Date of Patent: February 28, 2023
    Assignee: Snowflake Inc.
    Inventors: Max Heimel, Ismail Oukid, Linnea Passing, Stefan Richter, Juliane K. Waack
  • Publication number: 20220382782
    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.
    Type: Application
    Filed: July 27, 2022
    Publication date: December 1, 2022
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Publication number: 20220292098
    Abstract: A query directed at a table organized into a set of batch units is received. The query comprises a predicate for which values are unknown prior to runtime. A set of values for the predicate are determined based on the query. An index access plan is created based on the set of values. Based on the index access plan, the set of batch units are pruned using a pruning index associated with the table. The pruning index comprises a set of filters that index distinct values in each column of the table. The pruning of the set of batch units comprises identifying a subset of batch units to scan for data that satisfies the query. The subset of batch units of the table are scanned to identify data that satisfies the query.
    Type: Application
    Filed: May 31, 2022
    Publication date: September 15, 2022
    Inventors: Max Heimel, Ismail Oukid, Linnea Passing, Stefan Richter, Juliane K. Waack
  • Patent number: 11436253
    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.
    Type: Grant
    Filed: November 3, 2021
    Date of Patent: September 6, 2022
    Assignee: Snowflake Inc.
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Patent number: 11379480
    Abstract: Sub-plans are executed in parallel using a plurality of execution nodes, which can be part of a data platform. In particular, sub-plans (e.g., fragments or portions of one or more child operators) of a root operator are identified in a query plan such that the identified sub-plans that are candidates for execution on a single execution node, determine a cost estimate for causing the candidate sub-plans to be executed in parallel using multiple execution nodes, and cause the candidate sub-plans to be executed in parallel based on the cost estimate.
    Type: Grant
    Filed: January 11, 2022
    Date of Patent: July 5, 2022
    Assignee: Snowflake Inc.
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Patent number: 11372860
    Abstract: A query directed at a table organized into a set of batch units is received. The query comprises a predicate for which values are unknown prior to runtime. A set of values for the predicate are determined based on the query. An index access plan is created based on the set of values. Based on the index access plan, the set of batch units are pruned using a pruning index associated with the table. The pruning index comprises a set of filters that index distinct values in each column of the table. The pruning of the set of batch units comprises identifying a subset of batch units to scan for data that satisfies the query. The subset of batch units of the table are scanned to identify data that satisfies the query.
    Type: Grant
    Filed: August 31, 2021
    Date of Patent: June 28, 2022
    Assignee: Snowflake Inc.
    Inventors: Max Heimel, Ismail Oukid, Linnea Passing, Stefan Richter, Juliane K. Waack
  • Publication number: 20220058206
    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.
    Type: Application
    Filed: November 3, 2021
    Publication date: February 24, 2022
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Publication number: 20210397619
    Abstract: A query directed at a table organized into a set of batch units is received. The query comprises a predicate for which values are unknown prior to runtime. A set of values for the predicate are determined based on the query. An index access plan is created based on the set of values. Based on the index access plan, the set of batch units are pruned using a pruning index associated with the table. The pruning index comprises a set of filters that index distinct values in each column of the table. The pruning of the set of batch units comprises identifying a subset of batch units to scan for data that satisfies the query. The subset of batch units of the table are scanned to identify data that satisfies the query.
    Type: Application
    Filed: August 31, 2021
    Publication date: December 23, 2021
    Inventors: Max Heimel, Ismail Oukid, Linnea Passing, Stefan Richter, Juliane K. Waack
  • Patent number: 11188563
    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.
    Type: Grant
    Filed: April 22, 2021
    Date of Patent: November 30, 2021
    Assignee: Snowflake Inc.
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Publication number: 20210303593
    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.
    Type: Application
    Filed: April 22, 2021
    Publication date: September 30, 2021
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Patent number: 11023491
    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.
    Type: Grant
    Filed: October 22, 2020
    Date of Patent: June 1, 2021
    Assignee: Snowflake Inc.
    Inventors: Sebastian Breß, Moritz Eyssen, Max Heimel
  • Patent number: 10860609
    Abstract: A global and local row count limit associated with a limit query are received by a stop operator of a first execution node among a set of execution nodes that are assigned to process the limit query. Local distributed row count data is generated based on a local row count corresponding to a number of rows output by the first execution node in processing the query. Based on determining the local row count satisfies the local limit, the first execution node buffers rows produced in processing the query. The local distributed row count data is updated based on remote distributed row count data received from a second execution node. A stopping condition is detected based on determining the global limit is satisfied based on updated local distributed row count data and query processing by the first execution node based on detecting the stopping condition.
    Type: Grant
    Filed: April 22, 2020
    Date of Patent: December 8, 2020
    Assignee: Snowflake Inc.
    Inventors: Sebastian Breβ, Moritz Eyssen, Max Heimel