Patents by Inventor Thierry Cruanes

Thierry Cruanes 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: 20210357411
    Abstract: A query directed at a source table organized into a set of batch units is received. The query includes a pattern matching predicate that specifies a search pattern. A set of N-grams are generated based on the search pattern. A pruning index associated with the source table is accessed. The pruning index comprises a set of filters that index distinct N-grams in each column of the source table. The pruning index is used to identify a subset of batch units to scan for matching data based on the set of N-grams generated for the search pattern. The query is processed by scanning the subset of batch units.
    Type: Application
    Filed: July 29, 2021
    Publication date: November 18, 2021
    Inventors: Thierry Cruanes, Benoit Dageville, Ismail Oukid, Stefan Richter
  • Publication number: 20210357425
    Abstract: A method and apparatus managing a set of processors for a set of queries is described. In an exemplary embodiment, a device receives a set of queries for a data warehouse, the set of queries including one or more queries to be processed by the data warehouse. The device further provisions a set of processors from a first plurality of processors, where the set of processors to process the set of queries, and a set of storage resources to store data for the set of queries. In addition, the device monitors a utilization of the set of processors as the set of processors processes the set of queries. The device additionally updates a number of the processors in the set of processors provisioned based on the utilization/Furthermore, the device processes the set of queries using the updated set of processors.
    Type: Application
    Filed: July 26, 2021
    Publication date: November 18, 2021
    Inventors: Thierry Cruanes, Benoit Dageville, Marcin Zukowski
  • Patent number: 11176168
    Abstract: Example resource management systems and methods are described. In one implementation, a resource manager is configured to receive a query to process database data. A plurality of virtual processors is operatively coupled to the resource manager. Each virtual processor comprises at least one CPU core and one storage device. The resource manager is configured to allocate computing resources from the plurality of virtual processors to process the database data in response to the query.
    Type: Grant
    Filed: March 11, 2020
    Date of Patent: November 16, 2021
    Assignee: Snowflake Inc.
    Inventors: Benoit Dageville, Thierry Cruanes, Marcin Zukowski
  • Patent number: 11176136
    Abstract: Systems, methods, and devices, for managing data skew during a join operation are disclosed. A method includes computing a hash value for a join operation and detecting data skew on a probe side of the join operation at a runtime of the join operation using a lightweight sketch data structure. The method includes identifying a frequent probe-side join key on the probe side of the join operation during a probe phase of the join operation. The method includes identifying a frequent build-side row having a build-side join key corresponding with the frequent probe-side join key. The method includes asynchronously distributing the frequent build-side row to one or more remote servers.
    Type: Grant
    Filed: March 12, 2021
    Date of Patent: November 16, 2021
    Assignee: Snowflake Inc.
    Inventors: Florian Andreas Funke, Thierry Cruanes, Benoit Dageville, Marcin Zukowski
  • Patent number: 11170125
    Abstract: Systems, methods, and devices for generating a secure join of database data are disclosed. A method includes creating a secure view of datapoints of a consumer account and processing, using a secure user defined function (UDF), the datapoints of the consumer account and datapoints of a provider account to generate a secure join key. The secure join key comprises a hash string of the datapoints of the provider account and the datapoints of the consumer account, and wherein the datapoints of the consumer account are processed via the secure view. The method further includes executing a consumer function to analyze the hash string of datapoints of the secure join key for common data points.
    Type: Grant
    Filed: May 14, 2021
    Date of Patent: November 9, 2021
    Assignee: Snowflake Inc.
    Inventors: Justin Langseth, Matthew J. Glickman, Christian Kleinerman, Robert Muglia, Daniel Freundel, Thierry Cruanes, Allison Waingold Lee
  • Publication number: 20210342365
    Abstract: A method and apparatus managing a set of processors for a set of queries is described. In an exemplary embodiment, a device receives a set of queries for a data warehouse, the set of queries including one or more queries to be processed by the data warehouse. The device further provisions a set of processors from a first plurality of processors, where the set of processors to process the set of queries, and a set of storage resources to store data for the set of queries. In addition, the device monitors a utilization of the set of processors as the set of processors processes the set of queries. The device additionally updates a number of the processors in the set of processors provisioned based on the utilization/Furthermore, the device processes the set of queries using the updated set of processors.
    Type: Application
    Filed: July 16, 2021
    Publication date: November 4, 2021
    Inventors: Thierry Cruanes, Benoit Dageville, Marcin Zukowski
  • Patent number: 11163794
    Abstract: Example resource provisioning systems and methods are described. In one implementation, multiple processing resources are provided within a data warehouse. The processing resources include at least one processor and at least one storage device. At least one query to process database data is received. At least some of the processing resources may process the database data. When a processing capacity of the processing resources has reached a threshold processing capacity, the processing capacity is automatically scaled by adding at least one additional processor to the data warehouse.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: November 2, 2021
    Assignee: Snowflake Inc.
    Inventors: Benoit Dageville, Thierry Cruanes, Marcin Zukowski
  • Patent number: 11163768
    Abstract: Embodiments of the present disclosure may provide a dynamic query execution model with fault tolerance and failure recovery techniques. Embodiments of the present disclosure may utilize checkpoints to map processed output files to their corresponding input files. Therefore, if an error occurs in processing one or more files, the system may only need to reschedule processing of selected file(s).
    Type: Grant
    Filed: June 1, 2020
    Date of Patent: November 2, 2021
    Assignee: Snowflake Inc.
    Inventors: Thierry Cruanes, Igor Demura, Varun Ganesh, Prasanna Rajaperumal, Libo Wang, Jiaqi Yan
  • Patent number: 11163724
    Abstract: A system and method for pruning data based on metadata. The method may include receiving a query comprising a plurality of predicates and identifying one or more applicable files comprising database data satisfying at least one of the plurality of predicates. The identifying the one or more applicable files including reading metadata stored in a metadata store that is separate from the database data. The method further includes pruning inapplicable files comprising database data that does not satisfy at least one of the plurality of predicates to create a reduced set of files and reading the reduced set of files to execute the query.
    Type: Grant
    Filed: April 29, 2020
    Date of Patent: November 2, 2021
    Assignee: Snowflake Inc.
    Inventors: Thierry Cruanes, Benoit Dageville, Ashish Motivala, Marcin Zukowski
  • Patent number: 11163746
    Abstract: The subject technology determines whether a table is sufficiently clustered. The subject technology in response to determining the table is not sufficiently clustered, selects one or more micro-partitions of the table to be reclustered. The subject technology constructs a data structure for the table. The subject technology extracts minimum and maximum endpoints for each micro-partition in the data structure. The subject technology sorts each of one or more peaks in the data structure based on height. The subject technology sorts overlapping micro-partitions based on width. The subject technology selects based on which micro-partitions are within the tallest peaks of the one or more peaks and further based on which of the overlapping micro-partitions have the widest widths.
    Type: Grant
    Filed: March 12, 2021
    Date of Patent: November 2, 2021
    Assignee: Snowflake Inc.
    Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
  • Patent number: 11163757
    Abstract: Systems, methods, and devices for querying over an external table are disclosed. A method includes connecting a database platform to an external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes receiving a query comprising a predicate, the query directed at least to data in the external table. The method includes determining, based on metadata, one or more partitions in the external table comprising data satisfying the predicate. The method includes pruning, based on the metadata, all partitions in the external table that do not comprise any data satisfying the predicate. The method includes generating a query plan comprising a plurality of discrete subtasks. The method includes assigning, based on the metadata, the plurality of discrete subtasks to one or more nodes in an execution platform.
    Type: Grant
    Filed: March 12, 2021
    Date of Patent: November 2, 2021
    Assignee: Snowflake Inc.
    Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
  • Patent number: 11163756
    Abstract: Systems, methods, and devices for querying over an external table are disclosed. A method includes connecting a database platform to an external table such that the database platform has read access for the external table and does not have write access for the external table. The method includes receiving a query comprising a predicate, the query directed at least to data in the external table. The method includes determining, based on metadata, one or more partitions in the external table comprising data satisfying the predicate. The method includes pruning, based on the metadata, all partitions in the external table that do not comprise any data satisfying the predicate. The method includes generating a query plan comprising a plurality of discrete subtasks. The method includes assigning, based on the metadata, the plurality of discrete subtasks to one or more nodes in an execution platform.
    Type: Grant
    Filed: April 16, 2019
    Date of Patent: November 2, 2021
    Assignee: Snowflake Inc.
    Inventors: Subramanian Muralidhar, Benoit Dageville, Thierry Cruanes, Nileema Shingte, Saurin Shah, Torsten Grabs, Istvan Cseri
  • Patent number: 11157516
    Abstract: A method and apparatus managing a set of processors for a set of queries is described. In an exemplary embodiment, a device receives a set of queries for a data warehouse, the set of queries including one or more queries to be processed by the data warehouse. The device further provisions a set of processors from a first plurality of processors, where the set of processors to process the set of queries, and a set of storage resources to store data for the set of queries. In addition, the device monitors a utilization of the set of processors as the set of processors processes the set of queries. The device additionally updates a number of the processors in the set of processors provisioned based on the utilization/Furthermore, the device processes the set of queries using the updated set of processors.
    Type: Grant
    Filed: January 4, 2021
    Date of Patent: October 26, 2021
    Assignee: Snowflake Inc.
    Inventors: Thierry Cruanes, Benoit Dageville, Marcin Zukowski
  • Publication number: 20210326341
    Abstract: Systems, methods, and devices, for managing data skew during a join operation are disclosed. A method includes computing a hash value for a join operation and detecting data skew on a probe side of the join operation at a runtime of the join operation using a lightweight sketch data structure. The method includes identifying a frequent probe-side join key on the probe side of the join operation during a probe phase of the join operation. The method includes identifying a frequent build-side row having a build-side join key corresponding with the frequent probe-side join key. The method includes asynchronously distributing the frequent build-side row to one or more remote servers.
    Type: Application
    Filed: June 30, 2021
    Publication date: October 21, 2021
    Inventors: Florian Andreas Funke, Thierry Cruanes, Benoit Dageville, Marcin Zukowski
  • Publication number: 20210326354
    Abstract: A method, apparatus, and system for join operations of a plurality of relations that are distributed over a plurality of storage locations over a network of computing components.
    Type: Application
    Filed: June 25, 2021
    Publication date: October 21, 2021
    Inventors: Benoit Dageville, Thierry Cruanes, Marcin Zukowski, Allison Waingold Lee, Philipp Thomas Unterbrunner
  • Publication number: 20210326356
    Abstract: A method and apparatus managing a set of processors for a set of queries is described. In an exemplary embodiment, a device receives a set of queries for a data warehouse, the set of queries including one or more queries to be processed by the data warehouse. The device further provisions a set of processors from a first plurality of processors, where the set of processors to process the set of queries, and a set of storage resources to store data for the set of queries. In addition, the device monitors a utilization of the set of processors as the set of processors processes the set of queries. The device additionally updates a number of the processors in the set of processors provisioned based on the utilization/ Furthermore, the device processes the set of queries using the updated set of processors.
    Type: Application
    Filed: June 28, 2021
    Publication date: October 21, 2021
    Inventors: Thierry Cruanes, Benoit Dageville, Marcin Zukowski
  • Publication number: 20210326340
    Abstract: Joining data using a disjunctive operator is described. An example computer-implemented method can include receiving a query that includes a first disjunctive predicate involving a first table and a second table. The method may also include determining a first set of rows from the first table and generating a filter from the first set of rows. The method may also further include applying the filter to the second table to generate a second set of rows. Additionally, the method may also include joining the first set of rows and the second set of rows using a first disjunctive operator of the first disjunctive predicate to generate a first results set.
    Type: Application
    Filed: May 21, 2021
    Publication date: October 21, 2021
    Inventors: Thierry Cruanes, Florian Andreas Funke, Guangyan Hu, Jiaqi Yan
  • Publication number: 20210319025
    Abstract: A source table organized into a set of micro-partitions is accessed by a network-based data warehouse. A pruning index is generated based on the source table. The pruning index comprises a set of filters that indicate locations of distinct values in each column of the source table. A query directed at the source table is received at the network-based data warehouse. The query is processed using the pruning index. The processing of the query comprises pruning the set of micro-partitions of the source table to scan for data matching the query, the pruning of the plurality of micro-partitions comprising identifying, using the pruning index, a sub-set of micro-partitions to scan for the data matching the query.
    Type: Application
    Filed: June 25, 2021
    Publication date: October 14, 2021
    Inventors: Thierry Cruanes, Benoit Dageville, Ismail Oukid, Stefan Richter
  • Patent number: 11144550
    Abstract: The subject technology receives a query plan, the query plan comprising a set of query operations, the set of query operations including at least one aggregation and a join operation, the join operation including a build side and a probe side. The subject technology inserts an aggregation operator below the probe side of the join operation. The subject technology causes the build side of the join operation to generate a hash table. The subject technology causes the build side of the join operation to generate a bloom filter based at least in part on the hash table and provide information, corresponding to properties of the build side, to a bloom filter. Based at least in part on the information, the subject technology determines at least one property of the join operation to determine whether to switch the aggregation operator to a pass through mode.
    Type: Grant
    Filed: April 24, 2020
    Date of Patent: October 12, 2021
    Assignee: Snowflake Inc.
    Inventors: Bowei Chen, Thierry Cruanes, Florian Andreas Funke, Allison Waingold Lee, Jiaqi Yan
  • Publication number: 20210312070
    Abstract: A method of sharing data in a multi-tenant database includes generating a share object in a first account comprising a share role. The method includes associating one or more access rights with the share role, wherein the one or more access rights indicate which objects in the first account are accessible based on the share object. The method includes granting, to a second account, cross-account access rights to the share role or share object in the first account. The method includes receiving a request from the second account to access data or services of the first account. The method further includes providing a response to the second account based on the data or services of the first account.
    Type: Application
    Filed: June 22, 2021
    Publication date: October 7, 2021
    Inventors: Benoit Dageville, Thierry Cruanes, Martin Hentschel, Peter Povinec