Patents by Inventor William Waddington

William Waddington 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: 11514064
    Abstract: Resource provisioning systems and methods are described. In an embodiment, a system includes a plurality of shared storage devices collectively storing database data, an execution platform, and a compute service manager. The compute service manager is configured to determine a task to be executed in response to a trigger event and determine a query plan for executing the task, wherein the query plan comprises a plurality of discrete subtasks. The compute service manager is further configured to assign the plurality of discrete subtasks to one or more nodes of a plurality of nodes of the execution platform, determine whether execution of the task is complete, and in response to determining the execution of the task is complete, store a record in the plurality of shared storage devices indicating the task was completed.
    Type: Grant
    Filed: May 13, 2022
    Date of Patent: November 29, 2022
    Assignee: Snowflake Inc.
    Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
  • Publication number: 20220350677
    Abstract: The subject technology performs a locking operation on a first set of keys by a first statement of a first transaction. The subject technology determines that a conflict occurred between the first statement and a second transaction. The subject technology determines that the second transaction has yet to complete after a predetermined period of time. The subject technology performs a deadlock detection process where the subject technology stores a key and value in a table indicating the first transaction and the second transaction, detects, based at least in part on a graph traversal of the table starting from the first transaction, a cycle between the first transaction and the second transaction, and determines that the first transaction is a youngest transaction in the detected cycle. The subject technology ceases execution of the first transaction in response to the first transaction being a youngest transaction in a detected cycle.
    Type: Application
    Filed: January 12, 2022
    Publication date: November 3, 2022
    Inventors: Chen Luo, Alexander Miller, William Waddington
  • Patent number: 11468032
    Abstract: The subject technology receives a first transaction. The subject technology assigns a first read version to the first transaction, the first read version indicating a first version of the linearizable storage. The subject technology performs a read operation from the first transaction on a table in a database. The subject technology determines a first commit version identifier corresponding to first data resulting from the read operation. The subject technology, in response to determining that a particular write operation is absent from the first transaction, proceeding to execute a different transaction and foregoing to perform a commit process in connection with the first transaction.
    Type: Grant
    Filed: January 29, 2021
    Date of Patent: October 11, 2022
    Assignee: Snowflake Inc.
    Inventors: Alexander Miller, William Waddington
  • Patent number: 11461327
    Abstract: The subject technology receives a query, the query including a set of statements for performing the query. The subject technology populates a compilation context based at least in part the query. The subject technology provides the compilation context to a compiler. The subject technology invokes the compiler to perform a compilation process based on the compilation context, the compilation process comprising performing a lookup operation on a stored plan cache for an exact match based on information from the compilation context, the stored plan cache including a set of stored query plans, and determining whether the exact match of a particular query plan is found in the stored plan cache to avoid compiling the query using the compilation context.
    Type: Grant
    Filed: April 8, 2022
    Date of Patent: October 4, 2022
    Assignee: Snowflake Inc.
    Inventors: Thierry Cruanes, Xuelai Cui, Sangyong Hwang, Allison Waingold Lee, Boyung Lee, Nicola Dan Onose, William Waddington, Jiaqi Yan, Li Yan, Yongsik Yoon
  • Patent number: 11442917
    Abstract: Disclosed herein are systems and methods for incremental reclustering of database tables based on local maxima of partition overlap. In an embodiment, a database platform makes a determination, based on one or more incremental-reclustering criteria, to incrementally recluster a database table, which has a clustering key and which is stored across a plurality of partitions. In response to making the determination, the database platform selects a subset of the partitions, and at least incrementally reclusters the selected subset. The selecting of the subset includes identifying a local maximum of a quantity of overlapping partitions in the plurality of partitions with respect to a domain of the clustering key of the table, where the overlapping partitions overlap with respect to the clustering key.
    Type: Grant
    Filed: April 29, 2021
    Date of Patent: September 13, 2022
    Assignee: Snowflake Inc.
    Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
  • Patent number: 11436212
    Abstract: The subject technology inserts, by a first transaction, a new version of an object, the inserting corresponding to a first statement from the first transaction, the first statement including information indicating a first key, a first transaction identifier, a first statement number, and a first restart count. The subject technology performs, by a second transaction, a range read, the range read including information indicating the first key. The subject technology receives, after performing the range read, a set of conflicting transactions. The subject technology determines that a conflict occurred between the first transaction and a third transaction from the set of conflicting transactions.
    Type: Grant
    Filed: November 10, 2021
    Date of Patent: September 6, 2022
    Assignee: Snowflake Inc.
    Inventors: Chen Luo, Alexander Miller, William Waddington, Zhaohui Zhang
  • Publication number: 20220269676
    Abstract: Resource provisioning systems and methods are described. In an embodiment, a system includes a plurality of shared storage devices collectively storing database data, an execution platform, and a compute service manager. The compute service manager is configured to determine a task to be executed in response to a trigger event and determine a query plan for executing the task, wherein the query plan comprises a plurality of discrete subtasks. The compute service manager is further configured to assign the plurality of discrete subtasks to one or more nodes of a plurality of nodes of the execution platform, determine whether execution of the task is complete, and in response to determining the execution of the task is complete, store a record in the plurality of shared storage devices indicating the task was completed.
    Type: Application
    Filed: May 13, 2022
    Publication date: August 25, 2022
    Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
  • Patent number: 11403275
    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: October 26, 2021
    Date of Patent: August 2, 2022
    Assignee: Snowflake Inc.
    Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
  • Patent number: 11379492
    Abstract: Resource provisioning systems and methods are described. In an embodiment, a system includes a plurality of shared storage devices collectively storing database data, an execution platform, and a compute service manager. The compute service manager is configured to determine a task to be executed in response to a trigger event and determine a query plan for executing the task, wherein the query plan comprises a plurality of discrete subtasks. The compute service manager is further configured to assign the plurality of discrete subtasks to one or more nodes of a plurality of nodes of the execution platform, determine whether execution of the task is complete, and in response to determining the execution of the task is complete, store a record in the plurality of shared storage devices indicating the task was completed.
    Type: Grant
    Filed: September 17, 2021
    Date of Patent: July 5, 2022
    Assignee: Snowflake Inc.
    Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
  • Publication number: 20220197886
    Abstract: Disclosed herein are embodiments of systems and methods for selecting partitions for reclustering based on distribution of overlapping partitions. In an example, a database platform makes a determination to at least partially recluster a database table that includes data stored across a plurality of partitions. The database platform responsively selects a subset of the partitions. The selecting of the subset includes identifying a point on a domain of a clustering key that corresponds to a local maximum of overlapping partitions, and also includes selecting the subset from among a group of overlapping partitions. The group includes at least one partition that overlaps the identified point on the domain of the clustering key. Each partition in the selected subset is above a reduction goal of overlapping partitions. The database platform at least partially reclusters the selected subset based on the clustering key.
    Type: Application
    Filed: March 10, 2022
    Publication date: June 23, 2022
    Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
  • Publication number: 20220188325
    Abstract: A hybrid network-based database system for handling OLTP and OLAP queries using decoupled compute and storage devices. A set of decoupled compute instances perform transactions on an OLTP database, and the data is replicated to an OLAP database, which is managed by another set of decoupled compute instances. Further, in response to queries, the database system can retrieve data from the OLTP and OLAP database for merging and processing according to the query.
    Type: Application
    Filed: March 5, 2021
    Publication date: June 16, 2022
    Inventors: Leonidas Galanis, Alexander Miller, William Waddington, Khaled Yagoub
  • Patent number: 11360989
    Abstract: Resource provisioning systems and methods are described. In an embodiment, a system includes a plurality of shared storage devices collectively storing database data, an execution platform, and a compute service manager. The compute service manager is configured to determine a task to be executed in response to a trigger event and determine a query plan for executing the task, wherein the query plan comprises a plurality of discrete subtasks. The compute service manager is further configured to assign the plurality of discrete subtasks to one or more nodes of a plurality of nodes of the execution platform, determine whether execution of the task is complete, and in response to determining the execution of the task is complete, store a record in the plurality of shared storage devices indicating the task was completed.
    Type: Grant
    Filed: August 31, 2021
    Date of Patent: June 14, 2022
    Assignee: Snowflake Inc.
    Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
  • Publication number: 20220092050
    Abstract: The subject technology inserts, by a first transaction, a new version of an object, the inserting corresponding to a first statement from the first transaction, the first statement including information indicating a first key, a first transaction identifier, a first statement number, and a first restart count. The subject technology performs, by a second transaction, a range read, the range read including information indicating the first key. The subject technology receives, after performing the range read, a set of conflicting transactions. The subject technology determines that a conflict occurred between the first transaction and a third transaction from the set of conflicting transactions.
    Type: Application
    Filed: November 10, 2021
    Publication date: March 24, 2022
    Inventors: Chen Luo, Alexander Miller, William Waddington, Zhaohui Zhang
  • Publication number: 20220092051
    Abstract: The subject technology receives a first transaction. The subject technology assigns a first read version to the first transaction, the first read version indicating a first version of the linearizable storage. The subject technology performs a read operation from the first transaction on a table in a database. The subject technology determines a first commit version identifier corresponding to first data resulting from the read operation. The subject technology, in response to determining that a particular write operation is absent from the first transaction, proceeding to execute a different transaction and foregoing to perform a commit process in connection with the first transaction.
    Type: Application
    Filed: January 29, 2021
    Publication date: March 24, 2022
    Inventors: Alexander Miller, William Waddington
  • Publication number: 20220067016
    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: Application
    Filed: October 26, 2021
    Publication date: March 3, 2022
    Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
  • Patent number: 11243820
    Abstract: The subject technology performs a locking operation on a first set of keys by a first statement of a first transaction. The subject technology determines that a conflict occurred between the first statement and a second transaction. The subject technology determines that the second transaction has yet to complete after a predetermined period of time. The subject technology performs a deadlock detection process where the subject technology stores a key and value in a table indicating the first transaction and the second transaction, detects, based at least in part on a graph traversal of the table starting from the first transaction, a cycle between the first transaction and the second transaction, and determines that the first transaction is a youngest transaction in the detected cycle. The subject technology ceases execution of the first transaction in response to the first transaction being a youngest transaction in a detected cycle.
    Type: Grant
    Filed: May 31, 2021
    Date of Patent: February 8, 2022
    Assignee: Snowflake Inc.
    Inventors: Chen Luo, Alexander Miller, William Waddington
  • Publication number: 20220004552
    Abstract: Resource provisioning systems and methods are described. In an embodiment, a system includes a plurality of shared storage devices collectively storing database data, an execution platform, and a compute service manager. The compute service manager is configured to determine a task to be executed in response to a trigger event and determine a query plan for executing the task, wherein the query plan comprises a plurality of discrete subtasks. The compute service manager is further configured to assign the plurality of discrete subtasks to one or more nodes of a plurality of nodes of the execution platform, determine whether execution of the task is complete, and in response to determining the execution of the task is complete, store a record in the plurality of shared storage devices indicating the task was completed.
    Type: Application
    Filed: September 17, 2021
    Publication date: January 6, 2022
    Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
  • Publication number: 20210397615
    Abstract: Resource provisioning systems and methods are described. In an embodiment, a system includes a plurality of shared storage devices collectively storing database data, an execution platform, and a compute service manager. The compute service manager is configured to determine a task to be executed in response to a trigger event and determine a query plan for executing the task, wherein the query plan comprises a plurality of discrete subtasks. The compute service manager is further configured to assign the plurality of discrete subtasks to one or more nodes of a plurality of nodes of the execution platform, determine whether execution of the task is complete, and in response to determining the execution of the task is complete, store a record in the plurality of shared storage devices indicating the task was completed.
    Type: Application
    Filed: August 31, 2021
    Publication date: December 23, 2021
    Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
  • 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: 11138214
    Abstract: Resource provisioning systems and methods are described. In an embodiment, a system includes a plurality of shared storage devices collectively storing database data, an execution platform, and a compute service manager. The compute service manager is configured to determine a task to be executed in response to a trigger event and determine a query plan for executing the task, wherein the query plan comprises a plurality of discrete subtasks. The compute service manager is further configured to assign the plurality of discrete subtasks to one or more nodes of a plurality of nodes of the execution platform, determine whether execution of the task is complete, and in response to determining the execution of the task is complete, store a record in the plurality of shared storage devices indicating the task was completed.
    Type: Grant
    Filed: January 31, 2020
    Date of Patent: October 5, 2021
    Assignee: Snowflake Inc.
    Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes