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: 11514064Abstract: 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: GrantFiled: May 13, 2022Date of Patent: November 29, 2022Assignee: Snowflake Inc.Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
-
Publication number: 20220350677Abstract: 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: ApplicationFiled: January 12, 2022Publication date: November 3, 2022Inventors: Chen Luo, Alexander Miller, William Waddington
-
Patent number: 11468032Abstract: 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: GrantFiled: January 29, 2021Date of Patent: October 11, 2022Assignee: Snowflake Inc.Inventors: Alexander Miller, William Waddington
-
Patent number: 11461327Abstract: 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: GrantFiled: April 8, 2022Date of Patent: October 4, 2022Assignee: 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: 11442917Abstract: 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: GrantFiled: April 29, 2021Date of Patent: September 13, 2022Assignee: Snowflake Inc.Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
-
Patent number: 11436212Abstract: 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: GrantFiled: November 10, 2021Date of Patent: September 6, 2022Assignee: Snowflake Inc.Inventors: Chen Luo, Alexander Miller, William Waddington, Zhaohui Zhang
-
Publication number: 20220269676Abstract: 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: ApplicationFiled: May 13, 2022Publication date: August 25, 2022Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
-
Patent number: 11403275Abstract: 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: GrantFiled: October 26, 2021Date of Patent: August 2, 2022Assignee: Snowflake Inc.Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
-
Patent number: 11379492Abstract: 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: GrantFiled: September 17, 2021Date of Patent: July 5, 2022Assignee: Snowflake Inc.Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
-
Publication number: 20220197886Abstract: 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: ApplicationFiled: March 10, 2022Publication date: June 23, 2022Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
-
Publication number: 20220188325Abstract: 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: ApplicationFiled: March 5, 2021Publication date: June 16, 2022Inventors: Leonidas Galanis, Alexander Miller, William Waddington, Khaled Yagoub
-
Patent number: 11360989Abstract: 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: GrantFiled: August 31, 2021Date of Patent: June 14, 2022Assignee: Snowflake Inc.Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
-
Publication number: 20220092050Abstract: 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: ApplicationFiled: November 10, 2021Publication date: March 24, 2022Inventors: Chen Luo, Alexander Miller, William Waddington, Zhaohui Zhang
-
Publication number: 20220092051Abstract: 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: ApplicationFiled: January 29, 2021Publication date: March 24, 2022Inventors: Alexander Miller, William Waddington
-
Publication number: 20220067016Abstract: 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: ApplicationFiled: October 26, 2021Publication date: March 3, 2022Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
-
Patent number: 11243820Abstract: 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: GrantFiled: May 31, 2021Date of Patent: February 8, 2022Assignee: Snowflake Inc.Inventors: Chen Luo, Alexander Miller, William Waddington
-
Publication number: 20220004552Abstract: 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: ApplicationFiled: September 17, 2021Publication date: January 6, 2022Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
-
Publication number: 20210397615Abstract: 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: ApplicationFiled: August 31, 2021Publication date: December 23, 2021Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
-
Patent number: 11163746Abstract: 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: GrantFiled: March 12, 2021Date of Patent: November 2, 2021Assignee: Snowflake Inc.Inventors: Jiaqi Yan, Thierry Cruanes, Jeffrey Rosen, William Waddington, Prasanna Rajaperumal, Abdul Munir
-
Patent number: 11138214Abstract: 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: GrantFiled: January 31, 2020Date of Patent: October 5, 2021Assignee: Snowflake Inc.Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes