Patents by Inventor Prasanna Rajaperumal
Prasanna Rajaperumal 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: 20240078135Abstract: Embodiments of the present disclosure may provide dynamic and fair assignment techniques for allocating resources on a demand basis. Assignment control may be separated into at least two components: a local component and a global component. Each component may have an active dialog with each other; the dialog may include two aspects: 1) a demand for computing resources, and 2) a total allowed number of computing resources. The global component may allocate resources from a pool of resources to different local components, and the local components in turn may assign their allocated resources to local competing requests. The allocation may also be throttled or limited at various levels.Type: ApplicationFiled: April 27, 2023Publication date: March 7, 2024Inventors: Thierry Cruanes, Igor Demura, Varun Ganesh, Prasanna Rajaperumal, Libo Wang, Jiaqi Yan
-
Patent number: 11914602Abstract: 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: October 27, 2022Date of Patent: February 27, 2024Assignee: Snowflake Inc.Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
-
Patent number: 11914591Abstract: Systems, methods, and devices for sharing materialized views in multiple tenant database systems. A method includes defining a materialized view over a source table that is associated with a first account of a multiple tenant database. The method includes defining cross-account access rights to the materialized view to a second account such that that second account can read the materialized view without copying the materialized view. The method includes modifying the source table for the materialized view. The method includes identifying whether the materialized view is stale with respect to the source table by merging the materialized view and the source table.Type: GrantFiled: March 26, 2020Date of Patent: February 27, 2024Assignee: Snowflake Inc.Inventors: Prasanna Rajaperumal, Thierry Cruanes, Allison Waingold Lee, Igor Demura, Jiaqi Yan, Benoit Dageville
-
Publication number: 20240028592Abstract: Embodiments of the present disclosure may provide a dynamic query execution model. This query execution model may provide acceleration by scaling out parallel parts of a query (also referred to as a fragment) to additional computing resources, for example computing resources leased from a pool of computing resources. Execution of the parts of the query may be coordinated by a parent query coordinator, where the query originated, and a fragment query coordinator.Type: ApplicationFiled: September 29, 2023Publication date: January 25, 2024Inventors: Thierry Cruanes, Igor Demura, Varun Ganesh, Prasanna Rajaperumal, Libo Wang, Jiaqi Yan
-
Publication number: 20240020295Abstract: Systems, methods, and devices for incrementally refreshing a materialized view are disclosed. A method includes generating a materialized view based on a source table. The method includes merging the source table and the materialized view to generate a merged table to identify whether an update has been executed on the source table that is not reflected in the materialized view. The method includes, in response to detecting an update made to the source table that is not reflected in the materialized view, applying the update to the materialized view.Type: ApplicationFiled: September 28, 2023Publication date: January 18, 2024Inventors: Thierry Cruanes, Benoit Dageville, Prasanna Rajaperumal, Jiaqi Yan
-
Publication number: 20230418818Abstract: Systems, methods, and devices for sharing materialized views in multiple tenant database systems. A method includes defining a materialized view over a source table that is associated with a first account of a multiple tenant database. The method includes defining cross-account access rights to the materialized view to a second account such that that second account can read the materialized view without copying the materialized view. The method includes modifying the source table for the materialized view. The method includes identifying whether the materialized view is stale with respect to the source table by merging the materialized view and the source table.Type: ApplicationFiled: September 8, 2023Publication date: December 28, 2023Inventors: Prasanna Rajaperumal, Thierry Cruanes, Allison Waingold Lee, Igor Demura, Jiaqi Yan, Benoit Dageville
-
Publication number: 20230409574Abstract: A system for a materialized table (MT) refresh using multiple processing pipelines includes at least one hardware processor coupled to memory storing instructions. The instructions cause the at least one hardware processor to perform operations including determining dependencies among a plurality of intermediate MTs generated from a source MT. The source MT uses a table definition with a query on one or more base tables and a lag duration value. A graph snapshot of dependencies among the plurality of intermediate MTs is generated. Processing pipelines are configured. Each of the processing pipelines corresponds to a subset of the plurality of intermediate MTs indicated by the graph snapshot. Responsive to detecting an instruction for a refresh operation on the source MT, refreshes on corresponding intermediate MTs of the plurality of intermediate MTs in each processing pipeline of the processing pipelines are performed to complete the refresh operation on the source MT.Type: ApplicationFiled: July 31, 2023Publication date: December 21, 2023Inventors: Tyler Arthur Akidau, Fabian Hueske, Tyler Jones, Daniel Mills, Leon Papke, Prasanna Rajaperumal, Daniel E. Sotolongo
-
Publication number: 20230401199Abstract: A method includes retrieving a plurality of materialized tables (MTs). Each of the plurality of MTs includes a lag duration and refers to a corresponding base table of a plurality of base tables. The lag duration indicates a maximum time period that a result of a prior refresh of a query on the corresponding base table can lag behind a current time instance. A plurality of time instances for the MT is determined based on the lag duration and a number of prior refreshes of the corresponding base table. A plurality of aligned time instances for the plurality of MTs is determined based on the plurality of time instances for each of the plurality of MTs. Refresh operations are scheduled for the plurality of MTs at one or more of the plurality of aligned time instances that are within the maximum time period.Type: ApplicationFiled: July 17, 2023Publication date: December 14, 2023Inventors: Tyler Arthur Akidau, Tyler Jones, Daniel Mills, Leon Papke, Prasanna Rajaperumal, Daniel E. Sotolongo
-
Patent number: 11809408Abstract: Systems, methods, and devices for incrementally refreshing a materialized view are disclosed. A method includes generating a materialized view based on a source table. The method includes merging the source table and the materialized view to generate a merged table to identify whether an update has been executed on the source table that is not reflected in the materialized view. The method includes, in response to detecting an update made to the source table that is not reflected in the materialized view, applying the update to the materialized view.Type: GrantFiled: September 7, 2022Date of Patent: November 7, 2023Assignee: Snowflake Inc.Inventors: Thierry Cruanes, Benoit Dageville, Prasanna Rajaperumal, Jiaqi Yan
-
Patent number: 11809428Abstract: Embodiments of the present disclosure may provide a dynamic query execution model. This query execution model may provide acceleration by scaling out parallel parts of a query (also referred to as a fragment) to additional computing resources, for example computing resources leased from a pool of computing resources. Execution of the parts of the query may be coordinated by a parent query coordinator, where the query originated, and a fragment query coordinator.Type: GrantFiled: August 31, 2022Date of Patent: November 7, 2023Assignee: Snowflake Inc.Inventors: Thierry Cruanes, Igor Demura, Varun Ganesh, Prasanna Rajaperumal, Libo Wang, Jiaqi Yan
-
Patent number: 11762855Abstract: Provided herein are systems and methods for a database object (e.g., materialized table) configuration including using the database object for incremental maintenance of query results. For example, a method includes creating a materialized table using a table definition. The table definition includes a query on one or more base tables and a lag duration value. The lag duration value indicates a maximum time period that a result of a prior refresh of the query can lag behind a current time instance. A delta set for the one or more base tables is determined. The delta set includes at least one change applied to the one or more base tables since the prior refresh of the query. The delta set is merged with the materialized table to perform an incremental update of the materialized table.Type: GrantFiled: September 13, 2022Date of Patent: September 19, 2023Assignee: Snowflake Inc.Inventors: Tyler Arthur Akidau, Fabian Hueske, Tyler Jones, Daniel Mills, Leon Papke, Prasanna Rajaperumal, Daniel E. Sotolongo
-
Patent number: 11755568Abstract: Provided herein are systems and methods for a database object (e.g., materialized table) configuration including scheduling refreshes of the materialized table. For example, a method includes determining a dependency graph for a first MT. The dependency graph comprises a second MT from which the first MT depends. The first MT includes a query on one or more base tables and a lag duration value. The lag duration value indicates a maximum time period that a result of a prior refresh of the query can lag behind a current time instance. A tick period is selected for a set of ticks based on the lag duration value. The set of ticks corresponds to a set of aligned time instances. Refresh operations are scheduled for the first and second MTs at corresponding time instances from the set of aligned time instances. The corresponding time instances are separated by the tick period.Type: GrantFiled: September 13, 2022Date of Patent: September 12, 2023Assignee: Snowflake Inc.Inventors: Tyler Arthur Akidau, Tyler Jones, Daniel Mills, Leon Papke, Prasanna Rajaperumal, Daniel E. Sotolongo
-
Publication number: 20230222121Abstract: Methods, systems, and computer programs are presented for providing a cluster view method of a database to perform compaction and clustering of database objects, such as database materialized view. A cluster view system identifies a materialized view including data from one or more base tables, a portion of the data of the materialized view including stale data. The cluster view system performs an integrated task within a maintenance operation on a database, the integrated task including compacting the materialized view, the maintenance operation including clustering the materialized view, and stores the compacted and clustered materialized view in the database.Type: ApplicationFiled: February 27, 2023Publication date: July 13, 2023Inventors: Varun Ganesh, Saiyang Gou, Prasanna Rajaperumal, Wenhao Song, Libo Wang, Jiaqi Yan
-
Patent number: 11687373Abstract: Embodiments of the present disclosure may provide dynamic and fair assignment techniques for allocating resources on a demand basis. Assignment control may be separated into at least two components: a local component and a global component. Each component may have an active dialog with each other; the dialog may include two aspects: 1) a demand for computing resources, and 2) a total allowed number of computing resources. The global component may allocate resources from a pool of resources to different local components, and the local components in turn may assign their allocated resources to local competing requests. The allocation may also be throttled or limited at various levels.Type: GrantFiled: October 28, 2022Date of Patent: June 27, 2023Assignee: Snowflake Inc.Inventors: Thierry Cruanes, Igor Demura, Varun Ganesh, Prasanna Rajaperumal, Libo Wang, Jiaqi Yan
-
Publication number: 20230087933Abstract: Queries executed against a materialized view can execute up to orders of magnitude faster than equivalent queries on a source (or base) table. However, although a query can reference a materialized view directly, a user (e.g., query author) may not know about a relevant materialized view. Moreover, if a source table has multiple materialized views generated, the user may not know which materialized view to reference in the query. Thus, embodiments of the present disclosure provide techniques for automatically rewriting queries directed to a source table to utilize existing materialized views.Type: ApplicationFiled: November 28, 2022Publication date: March 23, 2023Inventors: Shrainik Jain, Allison Waingold Lee, Boyung Lee, Prasanna Rajaperumal, Jiaqi Yan, Yongsik Yoon
-
Publication number: 20230079405Abstract: Embodiments of the present disclosure may provide dynamic and fair assignment techniques for allocating resources on a demand basis. Assignment control may be separated into at least two components: a local component and a global component. Each component may have an active dialog with each other; the dialog may include two aspects: 1) a demand for computing resources, and 2) a total allowed number of computing resources. The global component may allocate resources from a pool of resources to different local components, and the local components in turn may assign their allocated resources to local competing requests. The allocation may also be throttled or limited at various levels.Type: ApplicationFiled: October 28, 2022Publication date: March 16, 2023Inventors: Thierry Cruanes, Igor Demura, Varun Ganesh, Prasanna Rajaperumal, Libo Wang, Jiaqi Yan
-
Publication number: 20230071465Abstract: 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: October 27, 2022Publication date: March 9, 2023Inventors: Jeffrey Rosen, Abdul Munir, Jiaqi Yan, William Waddington, Prasanna Rajaperumal, Thierry Cruanes
-
Patent number: 11593368Abstract: A cluster view method of a database to perform compaction and clustering of database objects, such as database materialized view is shown. The database can comprise a cache to store changes to storage units of tables of the database objects. The cluster view method can implement clustering to remove data based on the cache and clustering to group the data of the materialized view.Type: GrantFiled: April 29, 2022Date of Patent: February 28, 2023Assignee: Snowflake Inc.Inventors: Varun Ganesh, Saiyang Gou, Prasanna Rajaperumal, Wenhao Song, Libo Wang, Jiaqi Yan
-
Publication number: 20230028008Abstract: 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: ApplicationFiled: September 7, 2022Publication date: January 26, 2023Inventors: Thierry Cruanes, Igor Demura, Varun Ganesh, Prasanna Rajaperumal, Libo Wang, Jiaqi Yan
-
Publication number: 20230004552Abstract: Systems, methods, and devices for incrementally refreshing a materialized view are disclosed. A method includes generating a materialized view based on a source table. The method includes merging the source table and the materialized view to generate a merged table to identify whether an update has been executed on the source table that is not reflected in the materialized view. The method includes, in response to detecting an update made to the source table that is not reflected in the materialized view, applying the update to the materialized view.Type: ApplicationFiled: September 7, 2022Publication date: January 5, 2023Inventors: Thierry Cruanes, Benoit Dageville, Prasanna Rajaperumal, Jiaqi Yan