IP Library Granted Patent US 11,269,920
Granted Patent B2
US 11,269,920 · App. 17/244,578 · Granted Mar 8, 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,269,920
App. No.
17/244,578
Granted
Mar 8, 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 provision a set of computing resources of a database system, the set of computing resources to process a set of queries of the database system and determines a utilization of the set of computing resources during processing of the set of queries. The device further updates the set of computing resources based on the utilization of the set of computing resources by the set of queries. Updating the set of computing resources includes updating a number of processors and a set of storage resources to process the set of queries of the database system, the set of storage resources being shared by each of the processors and processes the set of queries using the set of computing resources as updated.

Claims (59)

1. A data management system comprising one or more processors to:

provision a set of computing resources of a database system, the set of computing resources to process a set of queries of the database system;

determine a utilization of processing resources of the set of computing resources during processing of the set of queries;

determine a utilization of storage resources of the set of computing resources during processing of the set of queries;

update the set of computing resources based on the utilization of the processing resources and the storage resources of the set of computing resources by the set of queries, wherein updating the set of computing resources comprises independently updating a number of processors of the processing resources and an amount of storage of the storage resources to process the set of queries of the database system, the set of storage resources being shared by each of the processors; and

process the set of queries using the set of computing resources as updated.

2. The data management system of claim 1 , wherein the updating the number of processors includes at least one of increasing the number of the processors or decreasing the number of processors to process the set of queries.

3. The data management system of claim 1 , wherein the one or more processors are further to:

monitor utilization of a storage capacity of the set of storage resources as the set of queries are processed by the database system.

4. The data management system of claim 1 , wherein the utilization is selected from a group comprising a number of queries running concurrently, a percentage of maximum load, and query processing delay.

5. The data management system of claim 1 , wherein the one or more processors are further to:

determine an expected future utilization of the set of computing resources; and

update the computing resources based on the expected future utilization.

6. The data management system of claim 5 , wherein the one or more processors are to deactivate a portion of the set of computing resources in response to the expected future utilization.

7. The data management system of claim 1 , the one or more processors to deactivate a portion of the set of computing resources in response to a time period lapsing after assigning the portion of the set of computing resources.

8. The data management system of claim 1 , wherein the one or more processors are further to receive an additional query for the set of queries.

9. The data management system of claim 8 , wherein the one or more processors are further to determine a change in the set of processors in response to receiving the additional query.

10. The data management system of claim 1 , wherein the one or more processors are further to optimize at least one of the queries in the set of queries.

11. A method comprising:

provisioning a set of computing resources of a database system, the set of computing resources to process a set of queries of the database system;

determining, by a processing device, a utilization of processing resources of the set of computing resources during processing of the set of queries;

determine a utilization of storage resources of the set of computing resources during processing of the set of queries;

updating, by the processing device, the set of computing resources based on the utilization of the processing resources and the storage resources of the set of computing resources by the set of queries, wherein updating the set of computing resources comprises independently updating a number of processors of the processing resources and an amount of storage of the storage resources to process the set of queries of the database system, the set of storage resources being shared by each of the processors; and

processing the set of queries using the set of computing resources as updated.

12. The method of claim 11 , wherein updating the number of processors comprises at least one of increasing the number of the processors or decreasing the number of processors to process the set of queries.

13. The method of claim 11 , further comprising:

monitoring utilization of a storage capacity of the set of storage resources as the set of queries are processed by the database system.

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

15. The method of claim 11 , further comprising:

determining an expected future utilization of the set of computing resources; and

updating the computing resources based on the expected future utilization.

16. The method of claim 15 , further comprising:

deactivating a portion of the set of computing resources in response to the expected future utilization.

17. The method of claim 11 , further comprising:

deactivating a portion of the set of computing resources in response to a time period lapsing after assigning the portion of the set of computing resources.

18. The method of claim 11 , further comprising:

receiving an additional query for the set of queries.

19. The method of claim 18 , further comprising:

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

20. The method of claim 11 , further comprising:

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

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

provision a set of computing resources of a database system, the set of computing resources to process a set of queries of the database system;

determine, by the one or more processors, a utilization of processing resources of the set of computing resources during processing of the set of queries;

determine a utilization of storage resources of the set of computing resources during processing of the set of queries;

update, by the one or more processors, the set of computing resources based on the utilization of the processing resources and the storage resources of the set of computing resources by the set of queries, wherein updating the set of computing resources comprises independently updating a number of processors of the processing resources and an amount of storage of the storage resources to process the set of queries of the database system, the set of storage resources being shared by each of the processors; and

process the set of queries using the set of computing resources as updated.

22. The non-transitory computer-readable medium of claim 21 , wherein the updating the number of processors includes at least one of increasing the number of the processors or decreasing the number of processors to process the set of queries.

23. The non-transitory computer-readable medium of claim 21 , wherein the one or more processors are further to:

monitor utilization of a storage capacity of the set of storage resources as the set of queries are processed by the database system.

24. The non-transitory computer-readable medium of claim 21 , wherein the utilization is selected from a group comprising a number of queries running concurrently, a percentage of maximum load, and query processing delay.

25. The non-transitory computer-readable medium of claim 21 , wherein the one or more processors are further to:

determine an expected future utilization of the set of computing resources; and

update the computing resources based on the expected future utilization.

26. The non-transitory computer-readable medium of claim 25 , wherein the one or more processors are to deactivate a portion of the set of computing resources in response to the expected future utilization.

27. The non-transitory computer-readable medium of claim 21 , the one or more processors to deactivate a portion of the set of computing resources in response to a time period lapsing after assigning the portion of the set of computing resources.

28. The non-transitory computer-readable medium of claim 21 , wherein the one or more processors are further to receive an additional query for the set of queries.

29. The non-transitory computer-readable medium of claim 28 , wherein the one or more processors are further to determine a change in the set of processors in response to receiving the additional query.

30. The non-transitory computer-readable medium of claim 21 , wherein the one or more processors are further to optimize at least one of the queries in the set of queries.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2021
From: CRUANES, THIERRY; DAGEVILLE, BENOIT; ZUKOWSKI, MARCIN
To: SNOWFLAKE COMPUTING, INC.
Reel/Frame 056088/0926 →
CHANGE OF NAME Recorded Apr 29, 2021
From: SNOWFLAKE COMPUTING, INC.
To: SNOWFLAKE INC.
Reel/Frame 056099/0082 →
Continuity (5)
Continuation 16905599 · Jun 18, 2020
Continuation 16378371 · Apr 8, 2019
Continuation 14518826 · Oct 20, 2014
Provisional Application 61941986 · Feb 19, 2014
Related Publication 20210248160A1 · Aug 12, 2021