IP Library Granted Patent US 12,541,534
Granted Patent B2
US 12,541,534 · App. 18/754,836 · Granted Feb 3, 2026

Using stateless nodes to process data of catalog objects

Inventors: Ashish Motivala (Foster City, CA); Benoit Dageville (Foster City, 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,541,534
App. No.
18/754,836
Granted
Feb 3, 2026
Kind
B2
Abstract

A system and method of using a stateless node to process data of a catalog object. The method includes accessing a catalog object comprising metadata associated with a dataset. The method includes distributing, by one or more processors, a task to a stateless node to cause the stateless node to process the dataset without storing information indicative of a particular state of the stateless node.

Claims (49)

1 . A system comprising:

a memory, and

one or more processors, operatively coupled to the memory, the one or more processors to:

access a catalog object comprising metadata associated with a dataset;

create a duplicate catalog object of the catalog object by copying the metadata associated with the dataset without copying a table of the dataset;

distribute a task to a stateless node to cause the stateless node to process the dataset without storing information indicative of a particular state of the stateless node; and

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

2 . The system of claim 1 , wherein the duplicate catalog object comprises a duplicate hierarchy of one or more generations of children.

3 . The system of claim 1 , wherein to copy the metadata, the one or more processors are further to copy an inventory of the dataset.

4 . The system of claim 1 , further comprising:

copy information regarding the dataset that enables identification of the dataset without requiring access to the dataset.

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

modify the dataset associated with the catalog object to generate modified data that is not visible to the duplicate catalog object of the catalog object.

6 . The system of claim 1 , the one or more processors are further to:

delete the duplicate catalog object of the catalog object in response to modifying the dataset associated with the catalog object.

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

identify the catalog object in a database based on a logical grouping of the dataset in the database.

8 . A method comprising:

accessing a catalog object comprising metadata associated with a dataset;

creating a duplicate catalog object of the catalog object by copying the metadata associated with the dataset without copying a table of the dataset;

distributing, by one or more processors, a task to a stateless node to cause the stateless node to process the dataset without storing information indicative of a particular state of the stateless node; and

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

9 . The method of claim 8 , wherein the duplicate catalog object comprises a duplicate hierarchy of one or more generations of children.

10 . The method of claim 9 , further comprising:

copying information regarding the dataset that enables identification of the dataset without requiring access to the dataset.

11 . The method of claim 8 , wherein to copy the metadata comprises:

copying an inventory of the dataset.

12 . The method of claim 8 , further comprising:

modifying the dataset associated with the catalog object to generate modified data that is not visible to the duplicate catalog object of the catalog object.

13 . The method of claim 8 , further comprising:

deleting the duplicate catalog object of the catalog object in response to modifying the dataset associated with the catalog object.

14 . The method of claim 8 , further comprising:

identifying the catalog object in a database based on a logical grouping of the dataset in the database.

15 . A non-transitory computer-readable storage medium comprising instructions which, when executed by one or more processors, cause the one or more processors to:

access a catalog object comprising metadata associated with a dataset;

create a duplicate catalog object of the catalog object by copying the metadata associated with the dataset without copying a table of the dataset;

distribute, by the one or more processors, a task to a stateless node to cause the stateless node to process the dataset without storing information indicative of a particular state of the stateless node; and

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

16 . The non-transitory computer-readable storage medium of claim 15 , wherein the duplicate catalog object comprises a duplicate hierarchy of one or more generations of children.

17 . The non-transitory computer-readable storage medium of claim 15 , wherein to copy the metadata the one or more processors are further to copy an inventory of the dataset.

18 . The non-transitory computer-readable storage medium of claim 15 , further comprising:

copy information regarding the dataset that enables identification of the dataset without requiring access to the dataset.

19 . The non-transitory computer-readable storage medium of claim 15 , wherein to copy the metadata the one or more processors are further to copy an inventory of the dataset.

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

modify the dataset associated with the catalog object to generate modified data that is not visible to the duplicate catalog object of the catalog object.

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

delete the duplicate catalog object of the catalog object in response to modifying the dataset associated with the catalog object.

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

identify the catalog object in a database based on a logical grouping of the dataset in the database.

Assignments (2)
CHANGE OF NAME Recorded Jul 10, 2024
From: SNOWFLAKE COMPUTING, INC.
To: SNOWFLAKE INC.
Reel/Frame 068259/0828 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2024
From: MOTIVALA, ASHISH; DAGEVILLE, BENOIT
To: SNOWFLAKE COMPUTING INC.
Reel/Frame 067887/0962 →
Continuity (8)
Continuation 18362769 · Jul 31, 2023
Continuation 17501833 · Oct 14, 2021
Continuation 16814443 · Mar 10, 2020
Continuation 16741693 · Jan 13, 2020
Continuation 15171859 · Jun 2, 2016
Continuation In Part 14518884 · Oct 20, 2014
Provisional Application 61941986 · Feb 19, 2014
Related Publication 20240346044A1 · Oct 17, 2024
References Cited (30)
US 6209128B1 · Gerard · 2001 [cited by examiner]
US 8566821B2 · Robinson et al. · 2013 [cited by applicant]
US 9489423B1 · Muthiah · 2016 [cited by examiner]
US 10353878B1 · Mohen · 2019 [cited by examiner]
US 10379942B2 · Hegde · 2019 [cited by examiner]
US 10853356B1 · McPherson · 2020 [cited by examiner]
US 10860237B2 · Susairaj · 2020 [cited by examiner]
US 20090268720A1 · Veenstra · 2009 [cited by examiner]
US 20120079490A1 · Bond · 2012 [cited by examiner]
US 20130012467A1 · Prijovic et al. · 2013 [cited by applicant]
US 20130124674A1 · Matsumoto · 2013 [cited by examiner]
US 20140344809A1 · Jin · 2014 [cited by examiner]
US 20150112969A1 · Prabhu · 2015 [cited by examiner]
US 20150193344A1 · Li · 2015 [cited by examiner]
US 20150339366A1 · Laiho · 2015 [cited by examiner]
US 20150370641A1 · Susairaj · 2015 [cited by examiner]
US 20160020907A1 · Mosko · 2016 [cited by examiner]
US 20160110435A1 · Martens et al. · 2016 [cited by applicant]
US 20160294938A1 · Jose Chiriyankandath · 2016 [cited by examiner]
US 20160321338A1 · Isherwood · 2016 [cited by examiner]
US 20170052851A1 · Sudarsanam · 2017 [cited by examiner]
US 20170177452A1 · Parab · 2017 [cited by examiner]
US 20170315877A1 · Kaplingat · 2017 [cited by examiner]
US 20220335005A1 · Fernandez et al. · 2022 [cited by applicant]
WO 2012071335A1 · 2012 [cited by applicant]
Koskinen, “IP Substitution as a Building Block for Fault Tolerance in Stateless Distributed Nework Services”,May 2001, Citeseer,pp. 1-93 (Year: 2001). [cited by examiner]
Non-Final Office Action Correspondence of U.S. Appl. No. 18/084,795 mailed Oct. 12, 2023, 45 pages. [cited by applicant]
Decision to Refuse a European Patent Application No. 17807511.5, mailed Jul. 11, 2024, 14 pages. [cited by applicant]
Brad Ganas: “How to use Snowflake”, Feb. 10, 2016, pp. 1-3, XP054979907; retrieved from the Internet: https://www.youtube.com/watch?v=WU30GByPatU [retrieved on Nov. 13, 2019]. [cited by applicant]
Kent Graziano et al: “Snowflake Fast Clone”, Snowflake blog, 18, Mar. 2016, pp. 1-8, XP055642116; retrieved from the Internet: https://www.snowflake.com/blog/snowflake-fast-clone [retrieved on Nov. 13, 2019]. [cited by applicant]