IP Library Granted Patent US 12,541,506
Granted Patent B2
US 12,541,506 · App. 18/765,585 · Granted Feb 3, 2026

Data clean room using defined access via native applications

Inventors: Rachel Frances Blum (South Orange, NJ); Justin Langseth (Kailua, HI); Michael Earle Rainey (Kennewick, WA)
Assignee: Snowflake Inc.
G06F16/242G06F16/2456G06F16/27
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,506
App. No.
18/765,585
Granted
Feb 3, 2026
Kind
B2
Abstract

Embodiments of the present disclosure may provide a data sharing system implemented as a local application of a distributed database. A query from a query template can be validated and executed against shared dataset that comprises portions of data from the database dataset and additional portions of data from another database of the distributed database.

Claims (37)

1 . A method comprising:

accessing a query from a query template shared with a data-consumer database account by a data-provider database account of a database system, the query comprising one or more fields;

validating that the query conforms with requirements of the query template by confirming that the query generated from the query template corresponds to a valid template from a plurality of templates;

bypassing a firewall of the data-provider database account in response to validating that the query conforming with the requirements of the query template, the bypassing of the firewall enabling access to at least a portion of a data-provider protected dataset;

executing the query on a shared dataset shared between the data-consumer database account and the data-provider database account that comprises the portion of the data-provider protected dataset joined with a portion of data from the data-consumer database account to generate results data; and

storing the results data.

2 . The method of claim 1 , further comprising generating a data clean room as a local application in the data-consumer database account, wherein providing access to the portion of the data-provider protected dataset is within the data clean room.

3 . The method of claim 2 , wherein the local application comprises an installer script to install a plurality of database objects on the data-consumer database account.

4 . The method of claim 3 , wherein the data-provider database account generates the local application and shares access with the data-consumer database account to the local application to install the local application on the data-consumer database account.

5 . The method of claim 1 , wherein validating that the query conforms with the requirements include validating that input values in editable fields of the query conform with input value ranges of the query template.

6 . The method of claim 5 , wherein the valid template including the editable fields for a user to input the input values for corresponding query parameters.

7 . The method of claim 1 , wherein the query template is provided by the data-provider database account and configured to generate the query for execution on the shared dataset.

8 . The method of claim 1 , wherein the firewall includes a data share policy managed by the data-provider database account.

9 . The method of claim 8 , wherein the data share policy comprises a row access policy that limits row data of the data-provider database that is available to the query from the data-consumer database account.

10 . The method of claim 9 , wherein the row access policy is implemented at a query processing time when the query is received by the data-provider database account.

11 . The method of claim 8 , further comprising providing access to the portion of the data-provider protected dataset to the data-consumer database account responsive to the firewall bypass.

12 . The method of claim 11 , wherein the data-provider protected dataset is protected by the data share policy managed by the data-provider database account.

13 . The method of claim 1 , further comprising rejecting the one or more fields in response to determining that the one or more fields are not valid, and halting processing of the query.

14 . The method of claim 1 , wherein the shared dataset is a joined table that is formed from one or more columns of the data-provider protected dataset joined with one or more other columns from the data-consumer database account.

15 . The method of claim 1 , wherein generating the query comprises replacing terms in the query template with terms input by the data-consumer database account.

16 . The method of claim 1 , wherein generating the results data comprises injecting noise data into results data.

17 . The method of claim 16 , wherein the noise data is injected according to differential privacy that implements a budget parameter that limits an amount of the noise data that is injected.

18 . The method of claim 1 , wherein the database is a distributed database.

19 . A computing system comprising:

a processor; and

a memory storing instructions that, when executed by the processor, execute operations comprising:

accessing a query from a query template shared with a data-consumer database account by a data-provider database account of a database system, the query comprising one or more fields;

validating that the query conforms with requirements of the query template by confirming that the query generated from the query template corresponds to a valid template from a plurality of templates;

bypassing a firewall of the data-provider database account in response to validating that the query conforming with the requirements of the query template, the bypassing of the firewall enabling access to at least a portion of a data-provider protected dataset;

executing the query on a shared dataset shared between the data-consumer database account and the data-provider database account that comprises the portion of the data-provider protected dataset joined with a portion of data from the data-consumer database account to generate results data; and

storing the results data.

20 . A non-transitory computer-readable storage medium, the computer-readable storage medium including instructions that when executed by a computer, cause the computer to perform operations comprising:

accessing a query from a query template shared with a data-consumer database account by a data-provider database account of a database system, the query comprising one or more fields;

validating that the query conforms with requirements of the query template by confirming that the query generated from the query template corresponds to a valid template from a plurality of templates;

bypassing a firewall of the data-provider database account in response to validating that the query conforming with the requirements of the query template, the bypassing of the firewall enabling access to at least a portion of a data-provider protected dataset;

executing the query on a shared dataset shared between the data-consumer database account and the data-provider database account that comprises the portion of the data-provider protected dataset joined with a portion of data from the data-consumer database account to generate results data; and

storing the results data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2024
From: BLUM, RACHEL FRANCES; LANGSETH, JUSTIN; RAINEY, MICHAEL EARLE
To: SNOWFLAKE INC.
Reel/Frame 067924/0734 →
Continuity (3)
Continuation 17816420 · Jul 31, 2022
Provisional Application 63366286 · Jun 13, 2022
Related Publication 20240362206A1 · Oct 31, 2024
References Cited (55)
US 7421442B2 · Gelb et al. · 2008 [cited by applicant]
US 8655719B1 · Li et al. · 2014 [cited by applicant]
US 9825963B2 · Kurian et al. · 2017 [cited by applicant]
US 10628415B1 · Rajaperumal et al. · 2020 [cited by applicant]
US 10970419B1 · Blum et al. · 2021 [cited by applicant]
US 10999355B1 · Chu · 2021 [cited by examiner]
US 11216580B1 · Holboke et al. · 2022 [cited by applicant]
US 11347886B1 · Langseth et al. · 2022 [cited by applicant]
US 11989173B2 · Blum et al. · 2024 [cited by applicant]
US 12067005B2 · Blum et al. · 2024 [cited by applicant]
US 20050216451A1 · Enzler · 2005 [cited by examiner]
US 20080208649A1 · Ficery et al. · 2008 [cited by applicant]
US 20100274785A1 · Procopiuc et al. · 2010 [cited by applicant]
US 20150012838A1 · Hegstad et al. · 2015 [cited by applicant]
US 20160070708A1 · Labbi et al. · 2016 [cited by applicant]
US 20170161514A1 · Dettinger · 2017 [cited by examiner]
US 20170169253A1 · Curcio et al. · 2017 [cited by applicant]
US 20180218168A1 · Goel et al. · 2018 [cited by applicant]
US 20180357444A1 · Kammath · 2018 [cited by examiner]
US 20190213185A1 · Arroyo et al. · 2019 [cited by applicant]
US 20190362083A1 · Ortiz et al. · 2019 [cited by applicant]
US 20200311297A1 · Langseth · 2020 [cited by examiner]
US 20210084105A1 · Shadmon et al. · 2021 [cited by applicant]
US 20210357395A1 · Mccray et al. · 2021 [cited by applicant]
US 20230401200A1 · Blum et al. · 2023 [cited by applicant]
US 20230401201A1 · Blum et al. · 2023 [cited by applicant]
US 20240346017A1 · Blum et al. · 2024 [cited by applicant]
U.S. Appl. No. 17/816,420 U.S. Pat. No. 12,067,005, filed Jul. 31, 2022, Data Clean Room Using Defined Access via Native Applications. [cited by applicant]
U.S. Appl. No. 18/162,710 U.S. Pat. No. 11,989,173, filed Jan. 31, 2023, Query Validation and Processing in Data Clean Rooms. [cited by applicant]
U.S. Appl. No. 18/643,760, filed Apr. 23, 2024, Query Validation and Processing in Data Clean Rooms. [cited by applicant]
“U.S. Appl. No. 17/538,785, Non Final Office Action mailed Mar. 31, 2022”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 17/652,873, Non Final Office Action mailed Jun. 9, 2022”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Non Final Office Action mailed Sep. 27, 2022”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Response filed Dec. 27, 2022 to Non Final Office Action mailed Sep. 27, 2022”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Final Office Action mailed Jan. 12, 2023”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,710, Preliminary Amendment filed Feb. 3, 2023”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,710, Non Final Office Action mailed Apr. 5, 2023”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Response filed Apr. 12, 2023 to Final Office Action mailed Jan. 12, 2023”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,710, Examiner Interview Summary mailed Jun. 28, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,710, Response filed Jun. 28, 2023 to Non Final Office Action mailed Apr. 5, 2023”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,710, Final Office Action mailed Jul. 24, 2023”, 16 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Non Final Office Action mailed Sep. 1, 2023”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,710, Examiner Interview Summary mailed Oct. 19, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,710, Response filed Oct. 23, 2023 to Final Office Action mailed Jul. 24, 2023”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Response filed Nov. 29, 2023 to Non Final Office Action mailed Sep. 1, 2023”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Examiner Interview Summary mailed Dec. 1, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Final Office Action mailed Dec. 15, 2023”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Response filed Mar. 4, 2024 to Final Office Action mailed Dec. 15, 2023”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Examiner Interview Summary mailed Mar. 5, 2024”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,710, Notice of Allowance mailed Mar. 13, 2024”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,420, Notice of Allowance mailed May 30, 2024”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 18/643,760, Examiner Interview Summary mailed Apr. 18, 2025”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/643,760, Final Office Action mailed Jul. 21, 2025”, 7 pgs. [cited by applicant]
“U.S. Appl. No. 18/643,760, Non Final Office Action mailed Mar. 4, 2025”, 21 pgs. [cited by applicant]
“U.S. Appl. No. 18/643,760, Response filed Jun. 2, 2025 to Non Final Office Action mailed Mar. 4, 2025”, 10 pgs. [cited by applicant]