US 12,231,542 B2
Secure multi-party reach and frequency estimation
Craig Wright, Louisville, CO (US); Laura Grace Book, Mountain View, CA (US); Sheng Ma, Belmont, CA (US); Jiayu Peng, Sunnyvale, CA (US); Xichen Huang, Sunnyvale, CA (US); Benjamin R. Kreuter, Jersey City, NJ (US); Evgeny Skvortsov, Kirkland, WA (US); Arthur Asuncion, Mountain View, CA (US); and James Robert Koehler, Boulder, CO (US)
Assigned to GOOGLE LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Jun. 13, 2023, as Appl. No. 18/334,035.
Application 18/334,035 is a continuation of application No. 17/278,626, granted, now 11,784,800, previously published as PCT/US2020/041025, filed on Jul. 7, 2020.
Claims priority of provisional application 63/002,138, filed on Mar. 30, 2020.
Claims priority of provisional application 62/987,645, filed on Mar. 10, 2020.
Claims priority of provisional application 62/981,960, filed on Feb. 26, 2020.
Claims priority of provisional application 62/977,141, filed on Feb. 14, 2020.
Prior Publication US 2023/0421365 A1, Dec. 28, 2023
Int. Cl. H04L 9/08 (2006.01); G06F 16/22 (2019.01); G06F 16/23 (2019.01); G06F 21/62 (2013.01); G06N 7/01 (2023.01); H04L 9/00 (2022.01); H04L 9/06 (2006.01)
CPC H04L 9/0825 (2013.01) [G06F 16/2237 (2019.01); G06F 16/2379 (2019.01); G06F 21/6254 (2013.01); G06N 7/01 (2023.01); H04L 9/008 (2013.01); H04L 9/0643 (2013.01); H04L 9/085 (2013.01); H04L 9/0869 (2013.01); H04L 2209/08 (2013.01); H04L 2209/46 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of generating an encrypted data structure representative of a set of identifiers having attributes, comprising:
maintaining, by a data processing system, in a database, a set of device identifiers, each of the set of device identifiers comprising a device attribute;
generating, by the data processing system, a data structure using the set of device identifiers and a hash function by selecting a selected vector using the hash function and a device identifier of the set of device identifiers, wherein the data structure is a vector data structure having a plurality of coordinates corresponding to a respective plurality of counter registers;
updating, by the data processing system, for each of the set of device identifiers comprising the device attribute, a counter register of the respective plurality of counter registers of the vector data structure using the hash function;
encrypting, by the data processing system, the data structure to create an encrypted data structure, such that the encrypted data structure can be combined with a second encrypted data structure; and
transmitting, by the data processing system, the encrypted data structure to a worker computing device.