IP Library Granted Patent US 11,321,352
Granted Patent B2
US 11,321,352 · App. 17/361,210 · Granted May 3, 2022

Resource provisioning systems and methods

Inventors: Thierry Cruanes (San Mateo, CA); Benoit Dageville (Foster City, CA); Marcin Zukowski (San Mateo, CA)
Assignee: SNOWFLAKE INC.
G06F16/27G06F9/4881G06F9/5016G06F9/5044G06F9/5083G06F9/5088G06F16/148G06F16/1827G06F16/211G06F16/221G06F16/2365G06F16/2456G06F16/2471G06F16/24532G06F16/24545G06F16/24552G06F16/951G06F16/9535H04L67/1095H04L67/1097H04L67/2842
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 11,321,352
App. No.
17/361,210
Granted
May 3, 2022
Kind
B2
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.

Claims (43)

1. A system comprising:

a plurality of storage resources;

a processor, coupled to the plurality of storage resources, to:

monitor resource utilization of an execution platform based on a data processing

request, wherein the execution platform comprises a plurality of virtual warehouses that each share a plurality of remote storage devices;

determine whether an additional virtual warehouse is needed based on a current resource need for the execution platform; and

provision an amount of processing resources for the additional virtual warehouse independently of changing an amount of storage in the plurality of remote storage devices used by the execution platform.

2. The system of claim 1 , wherein each virtual warehouse of the execution platform comprises a cache configured to store data retrieved from the plurality of remote storage devices and a processor that is independent of the plurality of remote storage devices.

3. The system of claim 1 , wherein the processor further to monitor response rates for the data processing requests.

4. The system of claim 1 , wherein the processor further to deactivate the additional virtual warehouse in response to determining that the additional virtual warehouse is no longer needed.

5. The system of claim 1 , wherein the processor further to

receive a notice of an upcoming data processing request; and

provision a new virtual warehouse to execute the upcoming data processing request.

6. The system of claim 5 , wherein the processor further to deactivate the new virtual warehouse upon completion of the upcoming data processing request.

7. The system of claim 5 , wherein the processor further to

determine a predetermined time duration for the upcoming data processing request; and

deactivate the new virtual warehouse after the predetermined time duration.

8. The system of claim 1 , wherein the processor further to receive a request to perform a plurality of data processing activities and automatically provisioning a new virtual warehouse to execute the request in response to receiving the request.

9. The system of claim 1 , wherein the processor further to determine a plurality of discrete tasks to execute each of the data processing requests and assign the plurality of discrete tasks for each of the data processing requests to one or more virtual warehouses of the execution platform.

10. The system of claim 9 , wherein the processor further to generate a statement result for each of the data processing requests and communicate the statement result to a corresponding account.

11. A method comprising:

monitoring resource utilization of an execution platform based on a data processing requests, wherein the execution platform comprises a plurality of virtual warehouses that each share a plurality of remote storage devices;

determining whether an additional virtual warehouse is needed based on a current resource need for the execution platform; and

provisioning, with a processor, an amount of processing resources for the additional virtual warehouse independently of changing an amount of storage in the plurality of remote storage devices used by the execution platform.

12. The method of claim 11 , wherein each virtual warehouse of the execution platform comprises a cache configured to store data retrieved from the plurality of remote storage devices and a processor that is independent of the plurality of remote storage devices.

13. The method of claim 11 , further comprising deactivating the additional virtual warehouse in response to determining that the additional virtual warehouse is no longer needed.

14. The method of claim 11 , further comprising:

receiving a notice of an upcoming data processing request; and

provisioning a new virtual warehouse to execute the upcoming data processing request.

15. The method of claim 14 , further comprising deactivating the new virtual warehouse upon completion of the upcoming data processing request.

16. A non-transitory computer-readable medium storing instructions which, when executed by one or more second processors of a computing device, cause the one or more second processors to:

monitor resource utilization of an execution platform based on a data processing requests, wherein the execution platform comprises a plurality of virtual warehouses that each share a plurality of remote storage devices;

determine whether an additional virtual warehouse is needed based on a current resource need for the execution platform; and

provision, with a first processor, an amount of processing resources for the additional virtual warehouse independently of changing an amount of storage in the plurality of remote storage devices used by the execution platform.

17. The non-transitory computer-readable medium of claim 16 , wherein each virtual warehouse of the execution platform comprises a cache configured to store data retrieved from the plurality of remote storage devices and a processor that is independent of the plurality of remote storage devices.

18. The non-transitory computer-readable medium of claim 16 , wherein the instructions further cause the one or more second processors to:

receive a notice of an upcoming data processing request; and

provision a new virtual warehouse to execute the upcoming data processing request.

19. The non-transitory computer-readable medium of claim 16 , wherein the instructions cause the one or more second processors to:

deactivate the new virtual warehouse upon completion of the upcoming data processing request.

20. The non-transitory computer-readable medium of claim 16 , wherein the instructions cause the one or more second processors to:

receive a request to perform a plurality of data processing activities; and

automatically provision a new virtual warehouse to execute the request in response to receiving the request.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 8, 2021
From: DAGEVILLE, BENOIT; CRUANES, THIERRY; ZUKOWSKI, MARCIN
To: SNOWFLAKE COMPUTING INC.
Reel/Frame 058052/0078 →
CHANGE OF NAME Recorded Nov 8, 2021
From: SNOWFLAKE COMPUTING, INC.
To: SNOWFLAKE INC.
Reel/Frame 058055/0120 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2021
From: CRUANES, THIERRY; DAGEVILLE, BENOIT; ZUKOWSKI, MARCIN
To: SNOWFLAKE COMPUTING INC.
Reel/Frame 056694/0302 →
CHANGE OF NAME Recorded Jun 28, 2021
From: SNOWFLAKE COMPUTING INC.
To: SNOWFLAKE INC.
Reel/Frame 056701/0740 →
Continuity (4)
Continuation 16378371 · Apr 8, 2019
Continuation 14518826 · Oct 20, 2014
Provisional Application 61941986 · Feb 19, 2014
Related Publication 20210326356A1 · Oct 21, 2021