US 12,189,822 B2
Data clean room
Rachel Frances Blum, South Orange, NJ (US); Joshua James Chacona, North Hollywood, CA (US); Christian Kleinerman, Burlingame, CA (US); Justin Langseth, Kailua, HI (US); and William L. Stratton, Jr., Atlanta, GA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., Bozeman, MT (US)
Filed on Sep. 27, 2023, as Appl. No. 18/475,610.
Application 18/475,610 is a continuation of application No. 18/104,281, filed on Jan. 31, 2023, granted, now 11,809,600.
Application 18/104,281 is a continuation of application No. 17/160,924, filed on Jan. 28, 2021, granted, now 12,013,969.
Application 17/160,924 is a continuation of application No. 16/944,929, filed on Jul. 31, 2020, granted, now 10,970,419.
Prior Publication US 2024/0020416 A1, Jan. 18, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 21/62 (2013.01); G06F 16/22 (2019.01); G06F 16/2455 (2019.01)
CPC G06F 21/6254 (2013.01) [G06F 16/2282 (2019.01); G06F 16/2455 (2019.01); G06F 21/6263 (2013.01)] 21 Claims
OG exemplary drawing
 
1. A method comprising:
storing first party data associated with a first account in a network-based data system;
receiving second party data from a user without an account in the network-based data system;
storing the second party data in an enclave account in the network-based data system;
generating a data clean room for the first party data and the second party data, including:
executing a secure function using first party data in the first account in the network-based data system to generate a first result, including anonymizing identification information in the first party data,
sharing the secure function with the enclave account,
executing the secure function using the second party data to generate a second result, and
generating a cross reference table based on the first result and the second result, the cross reference table including anonymized matches of the first party data provided in the first account and the second party data provided in the enclave account and at least one dummy identifier for a non-matching record;
receiving a query request related to the first party data and the second party data in the data clean room;
executing a first portion of the query request to generate results of the first portion of the query request based on the cross reference table and the first party data;
sharing a secure query request and the results of the first portion of the query request with the enclave account, the secure query request including instructions to execute a second portion of the query request; and
receiving final results of the query request from the enclave account.