IP Library Granted Patent US 12,536,194
Granted Patent B2
US 12,536,194 · App. 18/296,444 · Granted Jan 27, 2026

Monitoring resources of a virtual data warehouse

Inventors: Thierry Cruanes (San Mateo, CA); Benoit Dageville (Foster City, CA); Marcin Zukowski (San Mateo, CA)
Assignee: SNOWFLAKE INC.
G06F16/273A61F5/566G06F9/4881G06F9/5016G06F9/5044G06F9/5083G06F9/5088G06F16/148G06F16/1827G06F16/211G06F16/221G06F16/2365G06F16/24532G06F16/24545G06F16/24552G06F16/2456G06F16/2471G06F16/254G06F16/27G06F16/283G06F16/951G06F16/9535G06F16/9538H04L67/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 12,536,194
App. No.
18/296,444
Granted
Jan 27, 2026
Kind
B2
Abstract

Example resource management systems and methods are described. The method includes providing a plurality of processors and a plurality of cache memories in association with a virtual data warehouse management system, wherein each of the plurality of processors is associated with a stateless node. The method includes monitoring a performance of at least one processor of the plurality of processors to process database data. The method includes detecting a failure associated with the stateless node to process the database data responsive to monitoring the performance of the at least one processor of the plurality of processors to process the database data. The method includes replacing the stateless node with a different node without recreating a particular state.

Claims (48)

1 . A virtual data warehouse management system, comprising:

a database manager executable by the one or more processors; and

a plurality of processors operatively coupled to the database manager, wherein:

each processor of the plurality of processors is associated with a stateless node that is not associated with state information indicative of either a particular state of the stateless node or data being cached by the stateless node, and

the database manager further to:

monitor a performance of at least one processor of the plurality of processors to process database data;

detect a failure associated with the stateless node to process the database data responsive to monitoring the performance of the at least one processor of the plurality of processors to process the database data; and

replace the stateless node with a different node without recreating a particular state.

2 . The virtual data warehouse management system of claim 1 , wherein the database data is stored in one or more cache memories and further comprising a metadata manager to determine an organization of the database data within the one or more cache memories based on metadata associated with the database data.

3 . The virtual data warehouse management system of claim 2 , wherein the database manager to:

allocate work to the at least one processor of the plurality of processors to process the database data.

4 . The virtual data warehouse management system of claim 3 , wherein the work is allocated to the at least one processor of the plurality of processors based on how frequently the database data is accessed.

5 . The virtual data warehouse management system of claim 3 , wherein the database manager to allocate the work to a plurality of virtual data warehouse instances to process a query.

6 . The virtual data warehouse management system of claim 2 , wherein the plurality of processors is coupled to one or more storage devices, which are external to and separate from the plurality of processors.

7 . The virtual data warehouse management system of claim 6 , wherein the one or more storage devices comprise a virtual database.

8 . The virtual data warehouse management system of claim 1 , wherein the database manager is external to and separate from computing resources of the plurality of processors.

9 . The virtual data warehouse management system of claim 1 , wherein the one or more storage devices comprise a plurality of virtual data stores.

10 . The virtual data warehouse management system of claim 9 , wherein the one or more storage devices comprise a logical mapping between the plurality of virtual data stores.

11 . A method, comprising:

providing a plurality of processors and a plurality of cache memories in association with a virtual data warehouse management system, wherein each of the plurality of processors is associated with a stateless node that is not associated with state information indicative of either a particular state of the stateless node or data being cached by the stateless node;

monitoring a performance of at least one processor of the plurality of processors to process database data;

detecting a failure associated with the stateless node to process the database data responsive to monitoring the performance of the at least one processor of the plurality of processors to process the database data; and

replacing the stateless node with a different node without recreating a particular state.

12 . The method of claim 11 , wherein the database data is stored in one or more cache memories and further comprising:

determining an organization of the database data within the one or more cache memories based on metadata associated with the database data.

13 . The method of claim 12 , further comprising:

allocating work to the at least one processor of the plurality of processors to process the database data.

14 . The method of claim 13 , wherein the work is allocated to the at least one processor of the plurality of processors based on how frequently the database data is accessed.

15 . The method of claim 13 , further comprising allocating the work to a plurality of virtual data warehouse instances to process a query.

16 . The method of claim 11 , wherein the plurality of processors is coupled to one or more storage devices, and wherein the one or more storage devices are external to and separate from the plurality of processors.

17 . The method of claim 16 , wherein the one or more storage devices comprise a virtual database.

18 . The method of claim 11 , wherein the allocating work to the plurality of processors is performed by a database manager that is external to and separate from computing resources of the plurality of processors.

19 . The method of claim 11 , wherein the one or more storage devices comprise a plurality of virtual data stores.

20 . The method of claim 19 , wherein the one or more storage devices comprise a logical mapping between the plurality of virtual data stores.

21 . A non-transitory computer-readable medium having instructions stored thereon that, when executed by a processor, cause the processor to:

provide a plurality of processors in association with a virtual data warehouse management system, wherein each of the plurality of processors is associated with a stateless node that is not associated with state information indicative of either a particular state of the stateless node or data being cached by the stateless node;

monitor a performance of at least one processor of the plurality of processors to process database data;

detect a failure associated with the stateless node to process the database data responsive to monitoring the performance of the at least one processor of the plurality of processors to process the database data; and

replace the stateless node with a different node without recreating a particular state.

22 . The non-transitory computer-readable medium of claim 21 , wherein the database data is stored in one or more cache memories and wherein the processor is further to determine an organization of the database data within the one or more cache memories based on metadata associated with the database data.

23 . The non-transitory computer-readable medium of claim 22 , wherein the processor is further to allocate work to the at least one processor of the plurality of processors to process the database data.

24 . The non-transitory computer-readable medium of claim 23 , wherein the work is allocated to the at least one processor of the plurality of processors based on how frequently the database data is accessed.

25 . The non-transitory computer-readable medium of claim 23 , wherein the processor is to allocate the work to a plurality of virtual data warehouse instances to process a query.

26 . The non-transitory computer-readable medium of claim 21 , wherein the plurality of processors is coupled to one or more storage devices, and wherein the one or more storage devices are external to and separate from the plurality of processors.

27 . The non-transitory computer-readable medium of claim 26 , wherein the one or more storage devices comprise a virtual database.

28 . The non-transitory computer-readable medium of claim 21 , wherein to allocate the work to the plurality of processors, the processor uses a database manager that is external to and separate from computing resources of the plurality of processors.

29 . The non-transitory computer-readable medium of claim 21 , wherein the one or more storage devices comprise a plurality of virtual data stores.

30 . The non-transitory computer-readable medium of claim 29 , wherein the one or more storage devices comprise a logical mapping between the plurality of virtual data stores.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE RECEIVING PARTY DATA PREVIOUSLY RECORDED ON REEL 66065 FRAME 35. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 16, 2024
From: DAGEVILLE, BENOIT; CRUANES, THIERRY; ZUKOWSKI, MARCIN
To: SNOWFLAKE COMPUTING, INC.
Reel/Frame 066622/0428 →
CHANGE OF NAME Recorded Jan 10, 2024
From: SNOWFLAKE COMPUTING, INC.
To: SNOWFLAKE INC.
Reel/Frame 066270/0191 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2024
From: DAGEVILLE, BENOIT; CRUANES, THIERRY; ZUKOWSKI, MARCIN
To: SNOWFLAKE INC.
Reel/Frame 066065/0035 →
Continuity (6)
Continuation 17745451 · May 16, 2022
Continuation 16945095 · Jul 31, 2020
Continuation 16447416 · Jun 20, 2019
Continuation 14518884 · Oct 20, 2014
Provisional Application 61941986 · Feb 19, 2014
Related Publication 20230244693A1 · Aug 3, 2023
References Cited (166)
US 5787466A · Berliner · 1998 [cited by applicant]
US 6490590B1 · Fink · 2002 [cited by applicant]
US 6505227B1 · Mirchandaney · 2003 [cited by applicant]
US 6757689B2 · Battas · 2004 [cited by applicant]
US 7280998B1 · Aboujaoude · 2007 [cited by applicant]
US 7823009B1 · Tormasov · 2010 [cited by applicant]
US 7984043B1 · Waas · 2011 [cited by applicant]
US 8209697B2 · Kobayashi et al. · 2012 [cited by applicant]
US 8341363B2 · Chou · 2012 [cited by applicant]
US 8381015B2 · Kaminski · 2013 [cited by applicant]
US 8386540B1 · McAlister et al. · 2013 [cited by applicant]
US 8428087B1 · Vincent · 2013 [cited by applicant]
US 8516159B2 · Ananthanarayanan · 2013 [cited by applicant]
US 8516355B2 · Gale · 2013 [cited by applicant]
US 8560887B2 · Behrendt · 2013 [cited by applicant]
US 8640137B1 · Bostic et al. · 2014 [cited by applicant]
US 8706914B2 · Duchesneau · 2014 [cited by applicant]
US 8725875B2 · Supalov · 2014 [cited by applicant]
US 8935318B1 · Konerding et al. · 2015 [cited by applicant]
US 9152642B2 · Harrison et al. · 2015 [cited by applicant]
US 9171042B1 · Welton · 2015 [cited by applicant]
US 9208032B1 · McAlister · 2015 [cited by examiner]
US 9210100B2 · Van Der Linden et al. · 2015 [cited by applicant]
US 9253017B2 · Adlung et al. · 2016 [cited by applicant]
US 9292523B1 · Todd · 2016 [cited by applicant]
US 9335989B2 · Apte et al. · 2016 [cited by applicant]
US 9379982B1 · Krishna · 2016 [cited by examiner]
US 9417897B1 · Klompje et al. · 2016 [cited by applicant]
US 9602423B2 · Suchter et al. · 2017 [cited by applicant]
US 9747130B2 · Teather · 2017 [cited by applicant]
US 9852011B1 · Yemini et al. · 2017 [cited by applicant]
US 9880933B1 · Gupta et al. · 2018 [cited by applicant]
US 10282350B1 · Pathak · 2019 [cited by applicant]
US 11748338B1 · Paulus et al. · 2023 [cited by applicant]
US 20020038308A1 · Cappi · 2002 [cited by applicant]
US 20020120630A1 · Christianson et al. · 2002 [cited by applicant]
US 20030069973A1 · Ganesan et al. · 2003 [cited by applicant]
US 20030154236A1 · Dar · 2003 [cited by examiner]
US 20030158884A1 · Alford, Jr. · 2003 [cited by applicant]
US 20040098447A1 · Verbeke · 2004 [cited by applicant]
US 20040167904A1 · Wen et al. · 2004 [cited by applicant]
US 20040181522A1 · Jardin · 2004 [cited by applicant]
US 20040267965A1 · Vasudevan et al. · 2004 [cited by applicant]
US 20050068954A1 · Liu · 2005 [cited by examiner]
US 20050081210A1 · Day et al. · 2005 [cited by applicant]
US 20050210049A1 · Foster · 2005 [cited by applicant]
US 20060059173A1 · Hirsch et al. · 2006 [cited by applicant]
US 20060074872A1 · Gordon · 2006 [cited by applicant]
US 20060136354A1 · Bell et al. · 2006 [cited by applicant]
US 20060136761A1 · Frasier · 2006 [cited by applicant]
US 20070016555A1 · Ito et al. · 2007 [cited by applicant]
US 20070033247A1 · Martin · 2007 [cited by applicant]
US 20070124274A1 · Barsness et al. · 2007 [cited by applicant]
US 20070198656A1 · Mazzaferri et al. · 2007 [cited by applicant]
US 20070220320A1 · Sen · 2007 [cited by examiner]
US 20070276861A1 · Pryce et al. · 2007 [cited by applicant]
US 20070294692A1 · Zhao · 2007 [cited by applicant]
US 20080027788A1 · Lawrence et al. · 2008 [cited by applicant]
US 20080027920A1 · Schipunov et al. · 2008 [cited by applicant]
US 20080027965A1 · Garret et al. · 2008 [cited by applicant]
US 20080082644A1 · Isard · 2008 [cited by applicant]
US 20090019103A1 · Tommaney et al. · 2009 [cited by applicant]
US 20090182836A1 · Aviles et al. · 2009 [cited by applicant]
US 20090254516A1 · Meiyyappan et al. · 2009 [cited by applicant]
US 20090254532A1 · Yang et al. · 2009 [cited by applicant]
US 20090300043A1 · Maclennan · 2009 [cited by applicant]
US 20100005054A1 · Smith et al. · 2010 [cited by applicant]
US 20100031267A1 · Maessen et al. · 2010 [cited by applicant]
US 20100100888A1 · Tene et al. · 2010 [cited by applicant]
US 20100107170A1 · Stehley · 2010 [cited by applicant]
US 20100145929A1 · Berger · 2010 [cited by applicant]
US 20100153958A1 · Richards et al. · 2010 [cited by applicant]
US 20100174821A1 · Roach · 2010 [cited by examiner]
US 20100179940A1 · Gilder et al. · 2010 [cited by applicant]
US 20100185719A1 · Howard · 2010 [cited by examiner]
US 20100199042A1 · Bates · 2010 [cited by applicant]
US 20100293338A1 · Krishnaprasad · 2010 [cited by examiner]
US 20110145307A1 · Ananthanarayanan et al. · 2011 [cited by applicant]
US 20110161488A1 · Anderson et al. · 2011 [cited by applicant]
US 20110225167A1 · Bhattacharjee et al. · 2011 [cited by applicant]
US 20110225299A1 · Nathuji et al. · 2011 [cited by applicant]
US 20110302151A1 · Abadi et al. · 2011 [cited by applicant]
US 20120005307A1 · Das et al. · 2012 [cited by applicant]
US 20120047107A1 · Doddavula et al. · 2012 [cited by applicant]
US 20120079234A1 · Tarta · 2012 [cited by examiner]
US 20120101860A1 · Ezzat · 2012 [cited by applicant]
US 20120109888A1 · Zhang et al. · 2012 [cited by applicant]
US 20120110570A1 · Jacobson · 2012 [cited by applicant]
US 20120113801A1 · Robinson · 2012 [cited by examiner]
US 20120151358A1 · Joanny et al. · 2012 [cited by applicant]
US 20120158650A1 · Andre et al. · 2012 [cited by applicant]
US 20120166771A1 · Ringseth · 2012 [cited by applicant]
US 20120173824A1 · Iyigun et al. · 2012 [cited by applicant]
US 20120204187A1 · Breiter et al. · 2012 [cited by applicant]
US 20120233315A1 · Hoffman · 2012 [cited by applicant]
US 20120260050A1 · Kaliannan · 2012 [cited by applicant]
US 20120265881A1 · Chen · 2012 [cited by applicant]
US 20120296883A1 · Ganesh et al. · 2012 [cited by applicant]
US 20120311065A1 · Ananthanarayanan et al. · 2012 [cited by applicant]
US 20120323971A1 · Pasupuleti · 2012 [cited by applicant]
US 20120324069A1 · Nori · 2012 [cited by examiner]
US 20130007753A1 · Jain · 2013 [cited by applicant]
US 20130110778A1 · Taylor et al. · 2013 [cited by applicant]
US 20130110961A1 · Jadhav · 2013 [cited by applicant]
US 20130117305A1 · Varakin et al. · 2013 [cited by applicant]
US 20130124545A1 · Holmberg et al. · 2013 [cited by applicant]
US 20130132967A1 · Soundararajan · 2013 [cited by applicant]
US 20130145375A1 · Kang · 2013 [cited by applicant]
US 20130151884A1 · Hsu · 2013 [cited by applicant]
US 20130174146A1 · Dasgupta · 2013 [cited by applicant]
US 20130177239A1 · Ueda et al. · 2013 [cited by applicant]
US 20130198459A1 · Joshi · 2013 [cited by applicant]
US 20130201989A1 · Hu · 2013 [cited by examiner]
US 20130205028A1 · Crockett et al. · 2013 [cited by applicant]
US 20130205092A1 · Roy et al. · 2013 [cited by applicant]
US 20130218837A1 · Bhatnagar · 2013 [cited by applicant]
US 20130263117A1 · Konik et al. · 2013 [cited by applicant]
US 20130282795A1 · Tsao · 2013 [cited by applicant]
US 20130332614A1 · Brunk · 2013 [cited by applicant]
US 20140013059A1 · Joshi · 2014 [cited by applicant]
US 20140025638A1 · Hu · 2014 [cited by applicant]
US 20140052706A1 · Misra · 2014 [cited by examiner]
US 20140059226A1 · Messerli · 2014 [cited by applicant]
US 20140095646A1 · Chan · 2014 [cited by applicant]
US 20140109095A1 · Farkash · 2014 [cited by applicant]
US 20140115091A1 · Lee · 2014 [cited by applicant]
US 20140129718A1 · Ono · 2014 [cited by examiner]
US 20140136473A1 · Faerber · 2014 [cited by applicant]
US 20140149461A1 · Wijayaratne · 2014 [cited by applicant]
US 20140173594A1 · Ng et al. · 2014 [cited by applicant]
US 20140195558A1 · Murthy et al. · 2014 [cited by applicant]
US 20140298091A1 · Carlen · 2014 [cited by examiner]
US 20150074052A1 · Srinivasan · 2015 [cited by examiner]
US 20150106611A1 · Cao et al. · 2015 [cited by applicant]
US 20150121371A1 · Gummaraju · 2015 [cited by applicant]
US 20150149501A1 · Prakash et al. · 2015 [cited by applicant]
US 20150149503A1 · Wolrath et al. · 2015 [cited by applicant]
US 20150186226A1 · Oppermann · 2015 [cited by examiner]
US 20150234895A1 · Erdogan · 2015 [cited by applicant]
US 20160164716A1 · Dusi · 2016 [cited by examiner]
US 20160188628A1 · Hartman et al. · 2016 [cited by applicant]
US 20200244556A1 · Shevade · 2020 [cited by examiner]
US 20200334241A1 · Muralidhar et al. · 2020 [cited by applicant]
CN 101305365A · 2008 [cited by applicant]
CN 102496060 · 2012 [cited by applicant]
CN 203261358 · 2013 [cited by applicant]
JP 2005056077 · 2005 [cited by applicant]
JP 2009015534 · 2009 [cited by applicant]
JP 2009015534A · 2009 [cited by applicant]
JP 2012043098A · 2012 [cited by applicant]
JP 2002297428A · 2022 [cited by applicant]
WO 2006026659 · 2006 [cited by applicant]
WO 2013006157 · 2013 [cited by applicant]
WO 2013072232 · 2013 [cited by applicant]
WO 2013084078 · 2013 [cited by applicant]
Stokley et al., “Storage provisioning and allocation in a large cloud environment”, Sep. 2012, 2 pages. [cited by applicant]
Gupta et al., “MIRAGE: Storage provisioning in large data centers using balanced component utilizations”, Jan. 2008, 2 pages. [cited by applicant]
Casalicchio et al., “Autonomic resource provisioning in cloud systems with availability goals”, Aug. 2013, 10 pages. [cited by applicant]
Aiia Abouzeid et al: “HadoopDB”, Proceedings of the VLDB Endowment; [ACM Digital Library], Assoc. of Computing Machinery, New York, NY, vol. 2, No. 1, Aug. 1, 2009, pp. 922-933. [cited by applicant]
“Oracle9i Database New Features, Release 2 (9.2)” Mar. 2002. pp. 166. [cited by applicant]
Sergey Melnik et al: “Dremel: Interactive Analysis of WebScale Datasets”, Proceedings of the VLDB Endowment, vol. 3, 2010, Jan. 1, 2010, pp. 330-339. [cited by applicant]
David A Maluf et al: “NASA Technology Transfer System”, Space Mission Challenges for Information Technology (SMC-IT), 2011 IEEE Fourth International Conference on, IEEE, Aug. 2, 2011 (Aug. 2, 2011), pp. 111-117. [cited by applicant]
Hollmann J et al: “Empirical observations regarding predictability in user access-behavior in a distributed digital library system”, Parallel and Distributed Processing Symposium., Proceedings Internatio Nal, IPDPS 2002… [cited by applicant]
Machine translation of Office Action for Japanese Patent Application No. 2022-129785 mailed on Dec. 27, 2023. [cited by applicant]
Machine translation of Office Action for Chinese Patent Application No. 2019105957089 mailed on Feb. 24, 2024. [cited by applicant]
“European Patent Office—Office Action” regarding application No. 21188538.9, mailed: May 6, 2024, pp. 1-10. [cited by applicant]