IP Library Granted Patent US 12,530,627
Granted Patent B2
US 12,530,627 · App. 18/643,787 · Granted Jan 20, 2026

Multi-party machine learning using a database cleanroom

Inventors: Orestis Kostakis (Redmond, WA); Justin Langseth (Kailua, HI)
Assignee: Snowflake Inc.
G06N20/00
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,530,627
App. No.
18/643,787
Granted
Jan 20, 2026
Kind
B2
Abstract

Embodiments of the present disclosure may provide a data sharing system implemented as a local application in a consumer database of a distributed database. The local application can include a training function and a scoring function to train a machine learning model on provider and consumer data, and generate output data by applying the trained machine learning model on input data. The input data can include data portions from a consumer database and a provider database that are joined to create a joined dataset for scoring.

Claims (45)

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

accessing, by a consumer database account, a provider-account shared-instance database provided by a provider database account, the provider-account shared-instance database comprising provider-account training data; and

initiating training, by the consumer database account, of a machine-learning-model instance of a machine learning model, the initiating of the training comprising:

creating the machine-learning-model instance of the machine learning model;

identifying a set union of the provider-account training data stored within the provider-account shared-instance database and consumer-account training data stored in the consumer database account, the identifying of the set union of the provider-account training data and the consumer-account training data stored in the consumer database account comprising executing a join function on the provider-account training data and the consumer-account training data to generate a combined training dataset; and

training the machine-learning-model instance subsequent to the creation of the machine-learning-model instance with at least the combined training dataset.

2 . The method of claim 1 , further comprising installing, by the consumer database account, the provider-account shared-instance database that comprises a shared instance of a provider account database in the consumer database account.

3 . The method of claim 2 , wherein the provider-account shared-instance database resides in the provider database account.

4 . The method of claim 2 , wherein the shared instance comprises a first schema, wherein data stored within the first schema is hidden from the consumer database account and the provider database account, and wherein a training function stored within the first schema is hidden from the consumer database account and the provider database account.

5 . The method of claim 4 , wherein the shared instance comprises a second schema, wherein the second schema comprises the machine-learning-model instance created by the training function, and wherein data stored within the second schema is hidden from the consumer database account and the provider database account.

6 . The method of claim 1 , wherein the provider-account shared-instance database comprises and a training function, the training being initiated by invoking the training function.

7 . The method of claim 1 , wherein the machine-learning-model instance is not accessible to be used by the consumer database account.

8 . The method of claim 1 , wherein the machine-learning-model instance is not accessible by the consumer database account.

9 . The method of claim 1 , wherein the machine-learning-model instance is trained with the identified set union of the provider-account training data and the consumer-account training data.

10 . The method of claim 9 , wherein the provider-account training data accessed locally by the consumer database account via the provider-account shared-instance database.

11 . The method of claim 6 , wherein an underlying functionality of the training function is not accessible to the consumer database account.

12 . The method of claim 4 , wherein:

the first schema further comprises provider-account scoring data and a scoring function;

an underlying functionality of the scoring function is not accessible to the consumer database account; and

the method further comprises:

generating consumer-account scoring data by inputting, into the machine-learning-model instance, consumer-account input data that is stored in the consumer database account; and

storing the consumer-account scoring data in the consumer database account.

13 . The method of claim 1 , wherein the machine-learning-model instance is also not accessible to the provider database account.

14 . The method of claim 1 , further comprising the provider database account revoking access to the machine-learning-model instance from the consumer database account.

15 . The method of claim 1 , wherein both the provider and the consumer database accounts reside in a distributed database.

16 . The method of claim 1 , wherein:

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

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

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

18 . The method of claim 5 , wherein the training of the machine-learning-model instance comprises:

invoking the training function, the invoking of the training function automatically triggering operations of creating the second schema, identifying the set union, and training of the machine-learning-model instance.

19 . 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:

accessing, by a consumer database account, a provider-account shared-instance database provided by a provider database account, the provider-account shared-instance database comprising provider-account training data; and

initiating training, by the consumer database account, of a machine-learning-model instance of a machine learning model, the initiating of the training comprising:

creating the machine-learning-model instance of the machine learning model;

identifying a set union of the provider-account training data stored within the provider-account shared-instance database and consumer-account training data stored in the consumer database account, the identifying of the set union of the provider-account training data and the consumer-account training data stored in the consumer database account comprising executing a join function on the provider-account training data and the consumer-account training data to generate a combined training dataset; and

training the machine-learning-model instance subsequent to the creation of the machine-learning-model instance with at least the combined training dataset.

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:

accessing, by a consumer database account, a provider-account shared-instance database provided by a provider database account, the provider-account shared-instance database comprising provider-account training data; and

initiating training, by the consumer database account, of a machine-learning-model instance of a machine learning model, the initiating of the training comprising:

creating the machine-learning-model instance of the machine learning model;

identifying a set union of the provider-account training data stored within the provider-account shared-instance database and consumer-account training data stored in the consumer database account, the identifying of the set union of the provider-account training data and the consumer-account training data stored in the consumer database account comprising executing a join function on the provider-account training data and the consumer-account training data to generate a combined training dataset; and

training the machine-learning-model instance subsequent to the creation of the machine-learning-model instance with at least the combined training dataset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2024
From: KOSTAKIS, ORESTIS; LANGSETH, JUSTIN
To: SNOWFLAKE INC.
Reel/Frame 067283/0689 →
Continuity (4)
Continuation 18162695 · Jan 31, 2023
Continuation 17816421 · Jul 31, 2022
Provisional Application 63366308 · Jun 13, 2022
Related Publication 20240273417A1 · Aug 15, 2024
References Cited (38)
US 9825963B2 · Kurian et al. · 2017 [cited by applicant]
US 10628415B1 · Rajaperumal et al. · 2020 [cited by applicant]
US 11216580B1 · Holboke · 2022 [cited by examiner]
US 11651287B1 · Kostakis et al. · 2023 [cited by applicant]
US 12020128B2 · Kostakis et al. · 2024 [cited by applicant]
US 20060248592A1 · Agrawal et al. · 2006 [cited by applicant]
US 20100274785A1 · Procopiuc et al. · 2010 [cited by applicant]
US 20160078245A1 · Amarendran et al. · 2016 [cited by applicant]
US 20190286620A1 · Al-haimi et al. · 2019 [cited by applicant]
US 20200089886A1 · Oetken · 2020 [cited by applicant]
US 20200125453A1 · Kommera · 2020 [cited by examiner]
US 20210089819A1 · Tschiatschek · 2021 [cited by examiner]
US 20210125051A1 · Linton · 2021 [cited by examiner]
US 20210406386A1 · Ortiz et al. · 2021 [cited by applicant]
US 20220114249A1 · Grancharov · 2022 [cited by examiner]
US 20220138342A1 · Avanes et al. · 2022 [cited by applicant]
US 20230409968A1 · Kostakis et al. · 2023 [cited by applicant]
U.S. Appl. No. 17/816,421 U.S. Pat. No. 11,651,287, filed Jul. 31, 2022, Privacy-Preserving Multi-Party Machine Learning Using a Database Cleanroom. [cited by applicant]
U.S. Appl. No. 18/162,695 U.S. Pat. No. 12,020,128, filed Jan. 31, 2023, Multi-Party Machine Learning Using a Database Cleanroom. [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,421, Non Final Office Action mailed Oct. 12, 2022”, 18 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,421, Response filed Jan. 12, 2023 to Non Final Office Action mailed Oct. 12, 2022”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Preliminary Amendment filed Feb. 3, 2023”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,421, Notice of Allowance mailed Feb. 8, 2023”, 5 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Second Preliminary Amendment Filed Feb. 9, 2023”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,421, PTO Response to Rule 312 Communication mailed Mar. 8, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 17/816,421, Corrected Notice of Allowability mailed Apr. 12, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Non Final Office Action mailed Apr. 18, 2023”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Response filed Jun. 28, 2023 to Non Final Office Action mailed Apr. 18, 2023”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Examiner Interview Summary mailed Jun. 30, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Final Office Action mailed Jul. 24, 2023”, 13 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Examiner Interview Summary mailed Oct. 20, 2023”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Response filed Oct. 21, 2023 to Final Office Action mailed Jul. 24, 2023”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Non Final Office Action mailed Nov. 16, 2023”, 14 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Examiner Interview Summary mailed Feb. 14, 2024”, 2 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Response filed Feb. 14, 2024 to Non Final Office Action mailed Nov. 16, 2023”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 18/162,695, Notice of Allowance mailed Mar. 6, 2024”, 5 pgs. [cited by applicant]