IP Library Granted Patent US 11,593,510
Granted Patent B1
US 11,593,510 · App. 16/401,102 · Granted Feb 28, 2023

Systems and methods for securely sharing and processing data between parties

Inventors: Andrew Knox (Brooklyn, NY); Michael Randolph Corey (New York, NY); William Patrick Hesch (San Francisco, CA); Erik Taubeneck (Brooklyn, NY)
Assignee: Meta Platforms, Inc.
G06F21/6245H04L9/0869H04L2209/46
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 11,593,510
App. No.
16/401,102
Granted
Feb 28, 2023
Kind
B1
Abstract

Systems, methods, and non-transitory computer-readable media can determine a first dataset provided by a first party, wherein the first dataset includes a set of vectors that are each associated with a user identifier. A second dataset provided by a second party can be determined, wherein the second dataset includes a set of vectors that are each associated with a user identifier. One or more vectors in the first dataset can be matched to vectors in the second dataset based on a secure multi-party computation without revealing respective graph information of the first party or the second party. Respective mappings between vectors in the first dataset to a set of shared universal identifiers can be provided to the first party. Respective mappings between vectors in the second dataset to the set of shared universal identifiers can be provided to the second party.

Claims (47)

1. A computer-implemented method, comprising:

determining, by a computing system, a first dataset provided by a first party, wherein the first dataset includes first vectors that are each associated with a first user identifier;

determining, by the computing system, a second dataset provided by a second party, wherein the second dataset includes second vectors that are each associated with a second user identifier;

matching, by the computing system, the first vectors in the first dataset to the second vectors in the second dataset based on a secure multi-party computation without revealing respective graph information of the first party or the second party, wherein the matching comprises:

mapping, by the computing system, the first vectors that are matched to the second vectors to a set of shared universal identifiers;

mapping, by the computing system, the first vectors that are not matched to the second vectors to first universal identifiers that are not shared with the second party; and

mapping, by the computing system, the second vectors that are not matched to the first vectors to second universal identifiers, different from the first universal identifiers, that are not shared with the first party;

performing, by the computing system, a reach analysis as another secure multi-party computation based on (i) respective mappings of the first vectors in the first dataset to the set of shared universal identifiers and the first universal identifiers and (ii) respective mappings of the second vectors in the second dataset to the set of shared universal identifiers and the second universal identifiers; and

determining, by the computing system, information based on the reach analysis, wherein the information provides at least a count of unique users that were reached between the first user identifiers included in the first dataset and the second user identifiers included in the second dataset.

2. The computer-implemented method of claim 1 , wherein the first vectors in the first dataset that match the second vectors in the second dataset are mapped to the same shared universal identifiers.

3. The computer-implemented method of claim 2 , wherein the shared universal identifiers correspond to a join-key for joining the first vectors in the first dataset with the second vectors in the second dataset.

4. The computer-implemented method of claim 1 , wherein the first vectors in the first dataset that are unmatched are mapped to the first universal identifiers, and wherein the mapping to the first universal identifiers are accessible only to the first party.

5. The computer-implemented method of claim 1 , wherein the second vectors in the second dataset that are unmatched are mapped to the second universal identifiers, and wherein the mapping to the second universal identifiers are accessible only to the second party.

6. The computer-implemented method of claim 1 , wherein the set of shared universal identifiers includes one or more padding vectors to which none of the first vectors in the first dataset and none of the second vectors in the second dataset are mapped.

7. The computer-implemented method of claim 1 , wherein each of the first vectors and each of the second vectors includes a set of attributes corresponding to personally identifiable information.

8. The computer-implemented method of claim 7 , wherein an ordering of the set of attributes for the first vectors in the first dataset and the second vectors in the second dataset is pre-defined.

9. The computer-implemented method of claim 8 , wherein the first vectors in the first dataset are matched to the second vectors in the second dataset based on the set of attributes corresponding to personally identifiable information.

10. The computer-implemented method of claim 1 , wherein the mappings between the first vectors in the first dataset to the set of shared universal identifiers and the mappings between the second vectors in the second dataset to the set of shared universal identifiers are used to perform a lift analysis for a randomized control trial.

11. A system comprising:

at least one processor; and

a memory storing instructions that, when executed by the at least one processor, cause the system to perform:

determining a first dataset provided by a first party, wherein the first dataset includes first vectors that are each associated with a first user identifier;

determining a second dataset provided by a second party, wherein the second dataset includes second vectors that are each associated with a second user identifier;

matching the first vectors in the first dataset to the second vectors in the second dataset based on a secure multi-party computation without revealing respective graph information of the first party or the second party, wherein the matching comprises:

mapping the first vectors that are matched to the second vectors to a set of shared universal identifiers;

mapping the first vectors that are not matched to the second vectors to first universal identifiers that are not shared with the second party; and

mapping the second vectors that are not matched to the first vectors to second universal identifiers, different from the first universal identifiers, that are not shared with the first party;

performing a reach analysis as another secure multi-party computation based on (i) respective mappings of the first vectors in the first dataset to the set of shared universal identifiers and the first universal identifiers and (ii) respective mappings of the second vectors in the second dataset to the set of shared universal identifiers and the second universal identifiers; and

determining information based on the reach analysis, wherein the information provides at least a count of unique users that were reached between the first user identifiers included in the first dataset and the second user identifiers included in the second dataset.

12. The system of claim 11 , wherein the first vectors in the first dataset that match the second vectors in the second dataset are mapped to the same shared universal identifiers.

13. The system of claim 12 , wherein the shared universal identifiers correspond to a join-key for joining the first vectors in the first dataset with the second vectors in the second dataset.

14. The system of claim 11 , wherein the first vectors in the first dataset that are unmatched are mapped to the first universal identifiers, and wherein the mapping to the first universal identifiers are accessible only to the first party.

15. The system of claim 11 , wherein the second vectors in the second dataset that are unmatched are mapped to the second universal identifiers, and wherein the mapping to the second universal identifiers are accessible only to the second party.

16. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing system, cause the computing system to perform a method comprising:

determining a first dataset provided by a first party, wherein the first dataset includes first vectors that are each associated with a first user identifier;

determining a second dataset provided by a second party, wherein the second dataset includes second vectors that are each associated with a second user identifier;

matching the first vectors in the first dataset to the second vectors in the second dataset based on a secure multi-party computation without revealing respective graph information of the first party or the second party, wherein the matching comprises:

mapping, by the computing system, the first vectors that are matched to the second vectors to a set of shared universal identifiers;

mapping, by the computing system, the first vectors that are not matched to the second vectors to first universal identifiers that are not shared with the second party; and

mapping, by the computing system, the second vectors that are not matched to the first vectors to second universal identifiers, different from the first universal identifiers, that are not shared with the first party;

performing a reach analysis as another secure multi-party computation based on (i) respective mappings of the first vectors in the first dataset to the set of shared universal identifiers and (ii) respective mappings of the second vectors in the second dataset to the set of shared universal identifiers and the second universal identifiers; and

determining information based on the reach analysis, wherein the information provides at least a count of unique users that were reached between the first user identifiers included in the first dataset and the second user identifiers included in the second dataset.

17. The non-transitory computer-readable storage medium of claim 16 ,

wherein the first vectors in the first dataset that match the second vectors in the second dataset are mapped to the same shared universal identifiers.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the shared universal identifiers correspond to a join-key for joining the first vectors in the first dataset with the second vectors in the second dataset.

19. The non-transitory computer-readable storage medium of claim 16 , wherein the first vectors in the first dataset that are unmatched are mapped to the first universal identifiers, and wherein the mapping to the first universal identifiers are accessible only to the first party.

20. The non-transitory computer-readable storage medium of claim 16 , wherein the second vectors in the second dataset that are unmatched are mapped to the second universal identifiers, and wherein the mapping to the second universal identifiers are accessible only to the second party.

Assignments (2)
CHANGE OF NAME Recorded Nov 23, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058235/0904 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2019
From: KNOX, ANDREW; COREY, MICHAEL RANDOLPH; HESCH, WILLIAM PATRICK; TAUBENECK, ERIK
To: FACEBOOK, INC.
Reel/Frame 050000/0994 →
Cited By (4)
US 12,231,563 US 12,430,458 US 12,561,475 US 12,585,809