IP Library Granted Patent US 11,397,748
Granted Patent B2
US 11,397,748 · App. 17/501,426 · Granted Jul 26, 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/568
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,397,748
App. No.
17/501,426
Granted
Jul 26, 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 (47)

1. A method comprising:

provisioning a set of processors, the set of processors to process a set of queries, a set of storage resources shared by each of the set of processors to store data for the set of queries;

changing a number of the processors in the set of processors after monitoring a utilization of the set of processors as the set of processors that are processing the set of queries, wherein the changing of the number of processors is independent to a change in the set of storage resources; and

processing the set of queries using the changed set of processors.

2. The method of claim 1 , wherein the changing the number of processors includes increasing the number of processors in the set of processors.

3. The method of claim 1 , wherein the changing the number of processors includes decreasing the number of processors in the set of processors.

4. The method of claim 1 , further comprising:

monitoring a utilization of the set of processors as the set of queries are processed.

5. The method of claim 4 , wherein the utilization is selected from the group consisting of a number of queries running concurrently, a percentage of maximum load, and query processing delay.

6. The method of claim 1 , further comprising:

receiving an additional query for the set of queries.

7. The method of claim 6 , determining a change in the set of processors in response to receiving the additional query.

8. The method of claim 1 , further comprising:

optimizing at least one of the queries in the set of queries.

9. The method of claim 1 , wherein the set of queries are for a relational database.

10. The method of claim 9 , wherein the relational database is a structured query language database.

11. A method comprising:

provisioning a set of processors, the set of processors to process a set of queries, a set of storage resources shared by each of the set of processors to store data for the set of queries;

updating an amount of storage resources in the set of storage resources after monitoring a utilization of the set of storage resources as the set of processors are processing the set of queries, wherein the updating the amount of storage resources is independent to a change in the set of processors; and

processing the set of queries using the updated set of storage resources and the set of processors.

12. The method of claim 11 , further comprising:

changing an amount of storage resources by increasing the amount of storage resources in the set of storage resources.

13. The method of claim 11 , further comprising:

changing an amount of storage resources by decreasing the amount of storage resources in the set of storage resources.

14. The method of claim 11 , further comprising:

monitoring a utilization of the set of storage resources as the set of queries are processed.

15. The method of claim 14 , wherein the utilization is selected from the group consisting of a number of queries running concurrently, a percentage of maximum load, and query processing delay.

16. The method of claim 11 , further comprising:

receiving an additional query for the set of queries.

17. The method of claim 16 , further comprising:

determining a change in the set of storage resources in response to receiving the additional query.

18. The method of claim 11 , further comprising:

optimizing at least one of the queries in the set of queries.

19. A system comprising:

process to:

provision a set of processors, the set of processors to process a set of queries; and

change a number of the processors in the set of processors after monitoring a utilization of the set of processors as the set of processors that are used in processing the set of queries, wherein the changing of the number of processors is independent to a change in the set of storage resources; and

the set of processors to process the set of queries using the changed amount of storage resources.

20. The system of claim 19 , wherein the resource manager changes the number set of processors includes increasing the number of processors in the set of processors.

21. The system of claim 19 , wherein the resource manager changes the number of processors includes decreasing the number of processors in the set of processors.

22. The system of claim 19 , wherein the resource manager further to:

monitor a utilization of the set of processors as the set of queries are processed.

23. The system of claim 22 , wherein the utilization is selected from the group consisting of a number of queries running concurrently, a percentage of maximum load, and query processing delay.

24. 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:

provision a set of processors, the set of processors to process a set of queries, a set of storage resources shared by each of the set of processors to store data for the set of queries;

change a number of the processors in the set of processors after monitoring a utilization of the set of processors as the set of processors that are processing the set of queries, wherein the changing of the number of processors is independent to a change in the set of storage resources; and

process the set of queries using the changed set of processors.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2021
From: CRUANES, THIERRY; DAGEVILLE, BENOIT; ZUKOWSKI, MARCIN
To: SNOWFLAKE COMPUTING INC.
Reel/Frame 057796/0320 →
CHANGE OF NAME Recorded Oct 14, 2021
From: SNOWFLAKE COMPUTING INC.
To: SNOWFLAKE INC.
Reel/Frame 057813/0298 →
Continuity (6)
Continuation 17385754 · Jul 26, 2021
Continuation 16810645 · Mar 5, 2020
Continuation 16378371 · Apr 8, 2019
Continuation 14518826 · Oct 20, 2014
Provisional Application 61941986 · Feb 19, 2014
Related Publication 20220035834A1 · Feb 3, 2022