IP Library › Granted Patent US 12,361,026
Granted Patent B2
US 12,361,026 · App. 18/597,046 · Granted Jul 15, 2025

Query alerts generation for virtual warehouse

Inventors: Praveen Kandukuri (Ashburn, VA); Syed Salim (North Potomac, MD); Karamchandradatt Hardatt (Glen Allen, VA); Nagender Gurram (Glen Allen, VA); Ganesh Bharathan (Henrico, VA); Yudhish Batra (Glen Allen, VA)
Assignee: Capital One Services, LLC
G06F16/283G06F16/24534G06F16/2457G06F16/248G06F16/256
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,361,026
App. No.
18/597,046
Granted
Jul 15, 2025
Kind
B2
Abstract

Methods, systems, and apparatuses for generating notifications corresponding to queries submitted for execution by virtual warehouses are described herein. A request to execute a query may be received. An execution plan, for the query, may be identified. A processing complexity for the query may be predicted based on the query and the execution plan. A notification may be generated based on the processing complexity meeting an alert threshold. A user device may display the notification. A response to the notification comprising a selection of a first virtual warehouse, of a plurality of virtual warehouses, to execute the query may be received.

Claims (77)

1. A computing device comprising:

one or more processors; and

memory storing instructions that, when executed by the one or more processors, cause the computing device to:

receive, from a user device, a request to execute a query on at least one of a plurality of data warehouses;

predict, based on an execution plan for the query, a processing complexity of the query, wherein the processing complexity of the query indicates a quantity of computing resources required to execute the query;

determine, based on the processing complexity of the query and for each of a plurality of virtual warehouses, a plurality of predicted processing times, wherein each predicted processing time of the plurality of predicted processing times predicts how long a given virtual warehouse of the plurality of virtual warehouses will take to execute the query;

select, based on the plurality of predicted processing times, a first virtual warehouse, of the plurality of virtual warehouses, to execute the query, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources;

modify, based on the plurality of predicted processing times and based on first computing resources available to the selected first virtual warehouse:

the query, and

a quantity of the first computing resources used to execute one or more other queries executing on the first virtual warehouse; and

cause the first virtual warehouse to execute the modified query.

2. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

identify the plurality of virtual warehouses;

determine an operating status of the plurality of virtual warehouses; and

determine processing capabilities of the plurality of virtual warehouses, wherein the instructions, when executed by the one or more processors, cause the computing device to determine the plurality of predicted processing times further based on the operating status and the processing capabilities.

3. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the computing device to modify the query by causing the computing device to remove one or more wildcard characters from the query.

4. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

cause output of a notification that comprises a cost corresponding to execution of the query, wherein the cost is based on the processing complexity of the query.

5. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, further cause the computing device to select the first virtual warehouse by causing the computing device to:

identify the plurality of virtual warehouses;

determine an operating status of the plurality of virtual warehouses;

determine processing capabilities of the plurality of virtual warehouses; and

select, based on the operating status, the plurality of predicted processing times, and the processing capabilities, the first virtual warehouse.

6. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

modify, based on the processing complexity of the query, a quantity of computing resources available to one or more servers that provide the first virtual warehouse.

7. The computing device of claim 1 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

determine a frequency of queries during a time period; and

modify, based on the frequency, a size of the plurality of virtual warehouses.

8. A method comprising:

receiving, from a user device, a request to execute a query on at least one of a plurality of data warehouses;

predicting, based on an execution plan for the query, a processing complexity of the query, wherein the processing complexity of the query indicates a quantity of computing resources required to execute the query;

determining, based on the processing complexity of the query and for each of a plurality of virtual warehouses, a plurality of predicted processing times, wherein each predicted processing time of the plurality of predicted processing times predicts how long a given virtual warehouse of the plurality of virtual warehouses will take to execute the query;

selecting, based on the plurality of predicted processing times, a first virtual warehouse, of the plurality of virtual warehouses, to execute the query, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources;

modifying, based on the plurality of predicted processing times and based on first computing resources available to the selected first virtual warehouse:

the query, and

a quantity of the first computing resources used to execute one or more other queries executing on the first virtual warehouse; and

causing the first virtual warehouse to execute the modified query.

9. The method of claim 8 , further comprising:

identifying the plurality of virtual warehouses;

determining an operating status of the plurality of virtual warehouses; and

determining processing capabilities of the plurality of virtual warehouses, wherein determining the plurality of predicted processing times is further based on the operating status and the processing capabilities.

10. The method of claim 8 , wherein the modifying the query comprises removing one or more wildcard characters from the query.

11. The method of claim 8 , further comprising:

causing output of a notification that comprises a cost corresponding to execution of the query, wherein the cost is based on the processing complexity of the query.

12. The method of claim 8 , further comprising:

identifying the plurality of virtual warehouses;

determining an operating status of the plurality of virtual warehouses;

determining processing capabilities of the plurality of virtual warehouses; and

selecting, based on the operating status, the plurality of predicted processing times, and the processing capabilities, the first virtual warehouse.

13. The method of claim 8 , further comprising:

modifying, based on the processing complexity of the query, a quantity of computing resources available to one or more servers that provide the first virtual warehouse.

14. The method of claim 8 , further comprising:

determining a frequency of queries during a time period; and

modifying, based on the frequency, a size of the plurality of virtual warehouses.

15. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors of a computing device, cause the computing device to:

receive, from a user device, a request to execute a query on at least one of a plurality of data warehouses;

predict, based on an execution plan for the query, a processing complexity of the query, wherein the processing complexity of the query indicates a quantity of computing resources required to execute the query;

determine, based on the processing complexity of the query and for each of a plurality of virtual warehouses, a plurality of predicted processing times, wherein each predicted processing time of the plurality of predicted processing times predicts how long a given virtual warehouse of the plurality of virtual warehouses will take to execute the query;

select, based on the plurality of predicted processing times, a first virtual warehouse, of the plurality of virtual warehouses, to execute the query, wherein each of the plurality of virtual warehouses comprises a respective set of computing resources;

modify, based on the plurality of predicted processing times and based on first computing resources available to the selected first virtual warehouse:

the query, and

a quantity of the first computing resources used to execute one or more other queries executing on the first virtual warehouse; and

cause the first virtual warehouse to execute the modified query.

16. The one or more non-transitory computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

identify the plurality of virtual warehouses;

determine an operating status of the plurality of virtual warehouses; and

determine processing capabilities of the plurality of virtual warehouses, wherein the instructions, when executed by the one or more processors, cause the computing device to determine the plurality of predicted processing times further based on the operating status and the processing capabilities.

17. The one or more non-transitory computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing device to modify the query by causing the computing device to remove one or more wildcard characters from the query.

18. The one or more non-transitory computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

cause output of a notification that comprises a cost corresponding to execution of the query, wherein the cost is based on the processing complexity of the query.

19. The one or more non-transitory computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, further cause the computing device to select the first virtual warehouse by causing the computing device to:

identify the plurality of virtual warehouses;

determine an operating status of the plurality of virtual warehouses;

determine processing capabilities of the plurality of virtual warehouses; and

select, based on the operating status, the plurality of predicted processing times, and the processing capabilities, the first virtual warehouse.

20. The one or more non-transitory computer-readable media of claim 15 , wherein the instructions, when executed by the one or more processors, cause the computing device to:

modify, based on the processing complexity of the query, a quantity of computing resources available to one or more servers that provide the first virtual warehouse.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2024
From: KANDUKURI, PRAVEEN; SALIM, SYED; HARDATT, KARAMCHANDRADATT; GURRAM, NAGENDER; BHARATHAN, GANESH; BATRA, YUDHISH
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 066670/0985 →
Continuity (3)
Continuation 17958971 · Oct 3, 2022
Continuation 17374479 · Jul 13, 2021
Related Publication 20240211492A1 · Jun 27, 2024
References Cited (51)
US 10133775B1 · Ramalingam et al. · 2018 [cited by applicant]
US 10515119B2 · Kirk et al. · 2019 [cited by applicant]
US 10776391B1 · Cruanes et al. · 2020 [cited by applicant]
US 10970303B1 · Denton et al. · 2021 [cited by applicant]
US 11048716B1 · Cseri et al. · 2021 [cited by applicant]
US 11194815B1 · Kumar · 2021 [cited by examiner]
US 11314741B2 · Marcel et al. · 2022 [cited by applicant]
US 11327970B1 · Li et al. · 2022 [cited by applicant]
US 11494413B1 · Kandukuri et al. · 2022 [cited by applicant]
US 11669529B2 · Kandukuri et al. · 2023 [cited by applicant]
US 11734304B2 · Cruanes et al. · 2023 [cited by applicant]
US 11775584B1 · Sharma · 2023 [cited by examiner]
US 11880364B2 · Jiang et al. · 2024 [cited by applicant]
US 11914595B2 · Kandukuri et al. · 2024 [cited by applicant]
US 20060095440A1 · Dettinger · 2006 [cited by examiner]
US 20090254916A1 · Bose et al. · 2009 [cited by applicant]
US 20120131591A1 · Moorthi et al. · 2012 [cited by applicant]
US 20120173515A1 · Jeong et al. · 2012 [cited by applicant]
US 20130117305A1 · Varakin et al. · 2013 [cited by applicant]
US 20140006384A1 · Jerzak et al. · 2014 [cited by applicant]
US 20140089495A1 · Akolkar et al. · 2014 [cited by applicant]
US 20170316007A1 · Vandenberg et al. · 2017 [cited by applicant]
US 20170316078A1 · Funke et al. · 2017 [cited by applicant]
US 20180032574A1 · Vandenberg · 2018 [cited by applicant]
US 20180121426A1 · Barsness · 2018 [cited by examiner]
US 20180173758A1 · Barsness · 2018 [cited by examiner]
US 20190042126A1 · Sen et al. · 2019 [cited by applicant]
US 20190324964A1 · Shiran et al. · 2019 [cited by applicant]
US 20200219028A1 · Papaemmanouil et al. · 2020 [cited by applicant]
US 20200264928A1 · Kalmuk · 2020 [cited by examiner]
US 20200349161A1 · Siddiqui et al. · 2020 [cited by applicant]
US 20200409949A1 · Saxena et al. · 2020 [cited by applicant]
US 20210089560A1 · Funke et al. · 2021 [cited by applicant]
US 20210279209A1 · Cseri · 2021 [cited by examiner]
US 20210334283A1 · Gladwin et al. · 2021 [cited by applicant]
Nadilytics—The Intelligence Platform on top of Snowflake. Retreived from https://www.nadilytics.com/, retrieved online May 14, 2021, at 4:25:15 pm. [cited by applicant]
Snowflake for Data Sharing, Snowflake Workloads, <https://www.snowflake.com/workloads/data-sharing/>>, date of publication unknown but, prior to Jul. 13, 2021, 3 pages, published Aug. 2020. [cited by applicant]
Data Governance is Worth the Time and Trouble, <<https://www.snowflake.com/trending/data-governance-framework>>, date of publication unknown but, prior to Jul. 13, 2021, 14 pages. [cited by applicant]
Working with Secuve Views, Snowflake Documention, <<https://docs.snowflake.com/en/user-guide/views-secure.html>>, date of publication unknown but, prior to Jul. 13, 2021, 3 pages, published Aug. 2020. [cited by applicant]
Data governance with Snowflake: 3 things you need to know, <<https://www.talend.com/resources/data-governance-snowflake-3-things-to-know/, date of publication unknown but, prior to Jul. 13, 2021, 11 pages. [cited by applicant]
GPDR: A quick way to reduce scope, <<https://www.talend.com/resources/anonymize-data/>>, date of publication unknown but, prior to Jul. 13, 2021, 6 pages. [cited by applicant]
Snowflake Data Exchange, <<https://resources.snowflake.com/solution-briefs/data-exchange-solution-brief>>, date of publication unknown but, prior to Jul. 13, 2021, 2 pages. [cited by applicant]
Jun. 14, 2019, Mushtaq, Data preprocessing in detail, <<https://developer.ibm.com/technologies/data-science/articles/data-preprocessing-in-detail/>>, 9 pages. [cited by applicant]
Wikipedia, Data pre-processing, <<https://en.wikipedia.org/wiki/Data_pre-processing>>, date of publication but, prior to Jul. 13, 2021, 4 pages. [cited by applicant]
Aug. 16, 2021, VentureBeat, Lazzaro, “How to migrate to Snowflake without getting ‘data drunk’,” <<https://venturebeat.com/2021/08/16/how-to-migrate-to-snowflake-without-getting-data-drunk/>>, 8 pages. [cited by applicant]
Zhao, et al., “SLA-based Profit Optimization Resource Scheduling for Big Data Analytics-as-a-Service Platforms in Cloud Computing Environments,” IEEE Transactions on Cloud Computing, Dec. 27, 2018. [cited by applicant]
Wided Mathlouthi, et al. “Agent-based modeling and simulation of pooled warehouse intelligent management” in Proceedings of the Conference on Summer Computer Simulation. Society for Computer Simulation International, Sa… [cited by applicant]
Benoit Dageville et al., “The Snowflake Elastic Data Warehouse” in Proceedings of the 2016 International Conference on Management of Data (SIGMOD '16) Association for Computing Machinery, website: <https://doi.org/10.11… [cited by applicant]
Getta J R et al., “Optimizing Global Query Processing Plans in Heterogeneous and Distributed Multidatabase Systems” Database and Expert Sytems Applications, 1999. Proceedings. Tenth International Workshop on Florence, I… [cited by applicant]
Oct. 26, 2022—(WO) Invitation to Pay Additional Fees and Partial International Search Report—App No. PCT/US2022/036658. [cited by applicant]
Working with Secure Views, Snowflake Documention, <<https://docs.snowflake.com/en/user-guide/views-secure.html>>, date of publication unknown but, prior to Jul. 13, 2021, 3 pages, published Aug. 2020. [cited by applicant]