IP Library Granted Patent US 12,561,313
Granted Patent B2
US 12,561,313 · App. 18/643,760 · Granted Feb 24, 2026

Query validation and processing in data clean rooms

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,561,313
App. No.
18/643,760
Granted
Feb 24, 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 (61)

1 . A method performed by executing instructions on at least one hardware processor, the method comprising:

causing enablement of a consumer database account to use a query template based on a received preapproval of the query template, the query template including one or more blanks or placeholders, the query template configured to enable values to be entered into the one or more blanks or the one or more placeholders and to be used to execute a query based on the entered values;

receiving a query generated by the consumer database account, the query including the query template with entered values into the one or more blanks or the one or more placeholders of the query template;

determining particular source provider data for responding to the query based on entered values in the query template;

assessing whether the particular source provider data for the query meets one or more data restrictions of visibility of a defined access clean room;

validating that the query is consistent with the query template based on the assessment that the particular source provider data meets the one or more data restrictions of visibility for the defined access clean room; and

in response to validating that the query is consistent with the query template:

generating, based on validating that the query is consistent with the query template, query results by executing the query; and

transmitting at least a portion of the query results to the consumer database account.

2 . The method of claim 1 , further comprising:

generating, at a provider database account, an installation file that, when processed, generates instances of the defined access clean room providing clean room functionality, defines parameters for the instances of the defined access clean room, generates one or more procedures for the instances of the defined access clean room, and controls visibility of objects across different consumer accounts;

providing the installation file to the consumer database account; and

installing, in the consumer database account, the installation file to generate an application instance of the defined access clean room.

3 . The method of claim 2 , wherein both the provider database account and the consumer database account reside in a distributed database.

4 . The method of claim 2 , wherein:

the provider database account resides in a first networked database platform; and

the consumer database account resides in a second networked database platform.

5 . The method of claim 4 , wherein the first networked database platform and the second networked database platform are in different geographic regions.

6 . The method of claim 2 , wherein the installing of the application instance in the consumer database account comprises executing an installer script that includes commands for installing one or more database objects in the consumer database account.

7 . The method of claim 2 , wherein the query is directed to a combination of source provider data shared by the provider database account and source consumer data shared by the consumer database account with the application instance.

8 . The method of claim 7 , wherein the query performs an overlap analysis of the shared source provider data and the shared source consumer data.

9 . The method of claim 8 , wherein the overlap analysis is with respect to a user- identifier column in both the shared source provider data and the shared source consumer data.

10 . The method of claim 2 , further comprising sharing, by the provider database account, source provider data within a defined access clean room, the sharing making the source provider data accessible to the consumer database account via the application instance.

11 . The method of claim 1 , further comprising:

sharing, by a provider database account, the query template with the consumer database account via an application instance; and

receiving preapproval of the query template by the consumer database account.

12 . The method of claim 10 , further comprising assessing whether the query meets data restrictions of visibility to the source provider data that is shared with the defined access clean room.

13 . The method of claim 1 , further comprising:

receiving a second query generated by the consumer database account based on the query template;

determining that the second query is not consistent with the query template; and

rejecting the second query based on determining that the second query is not consistent with the query template.

14 . The method of claim 1 , wherein generating the query results comprises injecting noise data into the query results to implement differential privacy, wherein an amount of the noise data injected is based on an epsilon value indicative of a privacy budget.

15 . A computer system comprising:

at least one hardware processor; and

one or more non-transitory computer readable storage media containing instructions that, when executed by the at least one hardware processor, cause the computer system to perform operations comprising:

causing enablement of a consumer database account to use a query template based on a received preapproval of the query template, the query template including one or more blanks or placeholders, the query template configured to enable values to be entered into the one or more blanks or the one or more placeholders and to be used to execute a query based on the entered values;

receiving a query generated by the consumer database account, the query including the query template with entered values into the one or more blanks or the one or more placeholders of the query template;

determining particular source provider data for responding to the query based on entered values in the query template;

assessing whether the particular source provider data for the query meets one or more data restrictions of visibility of a defined access clean room;

validating that the query is consistent with the query template based on the assessment that the particular source provider data meets the one or more data restrictions of visibility for the defined access clean room; and

in response to validating that the query is consistent with the query template:

generating, based on validating that the query is consistent with the query template, query results by executing the query; and

transmitting at least a portion of the query results to the consumer database account.

16 . The computer system of claim 15 , wherein the operations further comprise:

generating, at a provider database account, an installation file that, when processed, generates instances of the defined access clean room providing clean room functionality, defines parameters for the instances of the defined access clean room, generates one or more procedures for the instances of the defined access clean room, and controls visibility of objects across different consumer accounts;

providing the installation file to the consumer database account; and

installing, in the consumer database account, the installation file to generate an application instance of the defined access clean room.

17 . The computer system of claim 16 , wherein both the provider database account and the consumer database account reside in a distributed database.

18 . The computer system of claim 16 , wherein:

the provider database account resides in a first networked database platform; and

the consumer database account resides in a second networked database platform.

19 . The computer system of claim 18 , wherein the first networked database platform and the second networked database platform are in different geographic regions.

20 . One or more non-transitory computer readable storage media containing instructions that, when executed by at least one hardware processor of a computer system, cause the computer system to perform operations comprising:

causing enablement of a consumer database account to use a query template based on a received preapproval of the query template, the query template including one or more blanks or placeholders, the query template configured to enable values to be entered into the one or more blanks or the one or more placeholders and to be used to execute a query based on the entered values;

receiving a query generated by the consumer database account, the query including the query template with entered values into the one or more blanks or the one or more placeholders of the query template;

determining particular source provider data for responding to the query based on entered values in the query template;

assessing whether the particular source provider data for the query meets one or more data restrictions of visibility of a defined access clean room;

validating that the query is consistent with the query template based on the assessment that the particular source provider data meets the one or more data restrictions of visibility for the defined access clean room; and

in response to validating that the query is consistent with the query template:

generating, based on validating that the query is consistent with the query template, query results by executing the query; and

transmitting at least a portion of the query results to the consumer database account.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2024
From: BLUM, RACHEL FRANCES; LANGSETH, JUSTIN; RAINEY, MICHAEL EARLE
To: SNOWFLAKE INC.
Reel/Frame 067369/0346 →
Continuity (4)
Continuation 18162710 · Jan 31, 2023
Continuation 17816420 · Jul 31, 2022
Provisional Application 63366286 · Jun 13, 2022
Related Publication 20240346017A1 · Oct 17, 2024
References Cited (51)
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 et al. · 2021 [cited by applicant]
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 et al. · 2005 [cited by applicant]
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 et al. · 2017 [cited by applicant]
US 20170169253A1 · Curcio et al. · 2017 [cited by applicant]
US 20180218168A1 · Goel et al. · 2018 [cited by applicant]
US 20180357444A1 · Kammath et al. · 2018 [cited by applicant]
US 20190213185A1 · Arroyo · 2019 [cited by examiner]
US 20190362083A1 · Ortiz et al. · 2019 [cited by applicant]
US 20200311297A1 · Langseth et al. · 2020 [cited by applicant]
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]
“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. 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/765,585, filed Jul. 8, 2024, Data Clean Room Using Defined Access via Native Applications. [cited by applicant]
“U.S. Appl. No. 18/765,585, Non Final Office Action mailed Apr. 25, 2025”, 7 pages. [cited by applicant]