IP Library › Granted Patent US 11,023,594
Granted Patent B2
US 11,023,594 · App. 15/986,734 · Granted Jun 1, 2021

Locally private determination of heavy hitters

Inventors: Yaacov Nissim Kobliner (Brookline, MA); Uri Stemmer (Cambridge, MA); Raef Bahi Youssef Bassily (San Diego, CA); Abhradeep Guha Thakurta (Santa Cruz, CA)
Assignee: Georgetown University
G06F21/602G06F21/6245H04L9/0643H04L2209/08
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,023,594
App. No.
15/986,734
Granted
Jun 1, 2021
Kind
B2
Abstract

Technologies are disclosed for computing heavy hitter histograms using locally private randomization. Under this strategy, “agents” can each hold a “type” derived from a large dictionary. By performing an algorithm, an estimate of the distribution of data can be obtained. Two algorithms implement embodiments for performing methods involving differential privacy for one or more users, and usually are run in the local model. This means that information is collected from the agents with added noise to hide the agents' individual contributions to the histogram. The result is an accurate enough estimate of the histogram for commercial or other applications relating to the data collection of one or more agents. Specifically, the proposed algorithms improve on the performance (measured in computation and memory requirements at the server and the agent, as well as communication volume) of previously solutions.

Claims (36)

1. A method, implemented by a computing device comprising one or more hardware processors, for calculating heavy hitters of a multiplicity of types having M-bit binary representations, comprising:

defining, by the one or more hardware processors, a heavy-hitter criterion, η, for a frequency of a prefix to classify a node corresponding to the prefix as a heavy hitter;

looping over row j in a binary prefix tree data structure from 1 to M, wherein row j of the binary prefix tree data structure comprises nodes corresponding to most significant j-bit binary prefixes of the M-bit binary type representations:

receiving, from each user device of a plurality of user devices, a local differentially private report on only a most significant j-bits of an M-bit binary type representation, of the M-bit binary type representations, associated with the user device;

processing nodes k in row j of the binary prefix tree data structure comprising:

calculating a frequency f(j,k) of node (j,k) from the received reports using a frequency oracle;

pruning all nodes in row j having frequencies less than a heavy hitter criterion; and

if j<M, for each remaining node in row j, creating child nodes; and

determining a heavy hitters distribution using the frequency oracle.

2. The method of claim 1 , wherein each user device in a population G of n user devices holds a type, the types having M-bit binary representations.

3. The method of claim 2 , further comprising selecting a plurality of groups G 1 to G M from the population G of n user devices.

4. The method of claim 3 , wherein at least one of the groups G 1 to G M comprises all members of the population G.

5. The method of claim 3 , wherein each group G j in the plurality of groups G 1 to G M comprises a fraction of 1/M of the population G.

6. The method of claim 3 , wherein each member of the population G is a member of exactly one group G j in the plurality of groups G 1 to G M .

7. The method of claim 5 , further comprising sending requests to each user device in the group G j to send a local differentially private report on the most significant j-bits in the M-bit binary representations of the types held by each user device.

8. The method of claim 1 , wherein determining the heavy hitters distribution using the frequency oracle comprises:

identifying all remaining nodes of row M as the heavy hitters.

9. The method of claim 1 , wherein the types comprise one or more of: URLs accessible using a browser, music selections accessible from a music server, and new words appearing in e-mails.

10. A method, implemented by a computing device, comprising one or more hardware processors, for calculating heavy hitters of a multiplicity of types, each user device in a population G of n user devices holding a type, the types having M-bit binary type representations, the method comprising:

configuring a binary prefix tree data structure to have M+1 rows numbered downwards from j=0 to M, row j=0 comprising a single node corresponding to the M-bit binary type representations of the multiplicity of types, each successive row j in the binary prefix tree data structure comprising 2 j nodes, each node in row j corresponding to a most significant j-bit prefix of a unique M-bit binary type representation of the multiplicity of the M-bit binary type representations;

defining, by the one or more hardware processors, a heavy-hitter criterion, for a frequency of a prefix to classify a node corresponding to the prefix as a heavy hitter;

selecting a plurality of groups G 1 to G M from the population G of n user devices;

looping over nodes k in row j of the binary prefix tree data structure from 1 to M:

receiving local differentially private reports on only the most significant j-bits in the M-bit binary representations of the types held by each user device;

looping for all nodes marked as heavy hitters in row j of the binary prefix tree data structure:

calculating a frequency f(j,k) of node (j,k) from the received local differentially private reports using a frequency oracle;

comparing the frequency f(j,k) to the heavy-hitter criterion η;

if f(j,k)<η, removing the marking of heavy hitter from node (j,k); and

if j<M and if f(j,k)≥η, marking child nodes (j+1,2k) and (j+1,2k+1) as heavy hitters; and

if j<M, removing all heavy hitter markings from nodes in row j; and

determining a heavy hitters distribution using the frequency oracle applied to type data from all n users at only nodes in row M marked as heavy hitters.

11. The method of claim 10 , wherein at least one of the groups G 1 to G M comprises all members of the population G.

12. The method of claim 10 , wherein each group G j in the plurality of groups G 1 to G M comprises a fraction of 1/M of the population G.

13. The method of claim 12 , wherein each member of the population G is a member of exactly one group G j in the plurality of groups G 1 to G M .

14. The method of claim 13 , further comprising sending requests to each user device in the group G j to send a local differentially private report on the most significant j-bits in the M-bit binary representations of the types held by each user device.

15. The method of claim 10 , wherein the types comprise one or more of: URLs accessible using a browser, music selections accessible from a music server, and new words appearing in e-mails.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2021
From: KOBLINER, YAACOV NISSIM
To: GEORGETOWN UNIVERSITY
Reel/Frame 055164/0397 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 5, 2021
From: BASSILY, RAEF BAHI YOUSSEF; THAKURTA, ABHRADEEP GUHA
To: THE REGENTS OF THE UNIVERSITY OF CALIFORNIA
Reel/Frame 055165/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2019
From: STEMMER, URI
To: PRESIDENT AND FELLOWS OF HARVARD COLLEGE
Reel/Frame 048865/0491 →
Continuity (2)
Provisional Application 62509630 · May 22, 2017
Related Publication 20180336357A1 · Nov 22, 2018
Cited By (2)
US 12,417,314 US 12,621,272