IP Library Granted Patent US 10,489,605
Granted Patent B2
US 10,489,605 · App. 15/960,486 · Granted Nov 26, 2019

Differentially private density plots

Inventors: Ishaan Nerurkar (Berkeley, CA); Christopher Hockenbrocht (Berkeley, CA); Mihai Maruseac (Berkeley, CA); Alexander Rozenshteyn (Berkeley, CA)
Assignee: LeapYear Technologies, Inc.
G06F21/6227G06F16/248G06F16/2455G06F17/16G06F17/18G06F21/6245G06F21/6254H04L63/105H04W12/02G06N5/045G06N20/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 10,489,605
App. No.
15/960,486
Granted
Nov 26, 2019
Kind
B2
Abstract

Techniques are described for responding to queries of a private database system. A request is received from a client device to perform a query of the private database system. A level of differential privacy corresponding to the request is identified comprising privacy parameters ε and δ. A set of data stored in the private database system and a set of operations corresponding to the query are identified. The set of operations comprises generating a density plot visualization for one or more subsets of the set of data. The set of data is segmented into disjoint regions. For each disjoint region, a density is identified, and the density is plotted in a differentially private density plot visualization using one or more graphical elements.

Claims (70)

1. A method, comprising:

receiving a request from a client device to perform a query of a private database system;

identifying a level of differential privacy corresponding to the request, the identified level of differential privacy comprising privacy parameters ε and δ;

identifying a set of data stored in the private database system and a set of operations to be performed on the set of data corresponding to the requested query;

modifying the set of operations based on the identified level of differential privacy such that a performance of the modified set of operations produces a result set that is (ε,δ)-differentially private;

performing the modified set of operations based on the identified level of differential privacy such that a performance of the set of operations produces a result set that is (ε,δ)-differentially private, where performing the modified set of operations comprises segmenting the result set into disjoint regions and for each disjoint region:

determining a density of the disjoint region; and

plotting the density for the disjoint region in a differentially private density plot visualization, the visualization using a graphical element determined responsive to the determined density; and

providing the differentially private density plot visualization to the client device for display on a hardware display of the client device.

2. The method of claim 1 , wherein segmenting the result set into disjoint regions comprises:

identifying loci corresponding to the request, the loci specifying boundaries of the disjoint regions; and

segmenting the set of data into the disjoint regions responsive to the identified loci.

3. The method of claim 1 , wherein determining the density of the disjoint region comprises:

performing a differentially private count for the disjoint region based on the identified level of differential privacy; and

determining the density of the disjoint region based on the differentially private count.

4. The method of claim 1 , wherein determining the density of the disjoint region comprises:

performing a two-dimensional private wavelet transform for the disjoint region; and

determining the density of the disjoint region based on the two-dimensional private wavelet transform.

5. The method of claim 1 , wherein the visualization distinguishes different densities using different variations of the graphical element.

6. The method of claim 1 , wherein determining the density of the disjoint region comprises:

comparing a differentially private count for the disjoint region to a threshold value; and

determining the density of the disjoint region responsive to the comparison.

7. The method of claim 6 , wherein the threshold value is based on confidence intervals on Laplace noise within the differentially private count performed upon each disjoint region.

8. A system comprising:

a processor for executing computer program instructions; and

a non-transitory computer-readable storage medium storing computer program instructions executable by the processor to perform operations comprising:

receiving a request from a client device to perform a query of a private database system;

identifying a level of differential privacy corresponding to the request, the identified level of differential privacy comprising privacy parameters ε and δ;

identifying a set of data stored in the private database system and a set of operations to be performed on the set of data corresponding to the requested query;

modifying the set of operations based on the identified level of differential privacy such that a performance of the modified set of operations produces a result set that is (ε,δ)-differentially private;

performing the modified set of operations based on the identified level of differential privacy such that a performance of the set of operations produces a result set that is (ε,δ)-differentially private, where performing the modified set of operations comprises segmenting the result set into disjoint regions and for each disjoint region:

determining a density of the disjoint region; and

plotting the density for the disjoint region in a differentially private density plot visualization, the visualization using a graphical element determined responsive to the determined density; and

providing the differentially private density plot visualization to the client device for display on a hardware display of the client device.

9. The system of claim 8 , wherein segmenting the result set into disjoint regions comprises:

identifying loci corresponding to the request, the loci specifying boundaries of the disjoint regions; and

segmenting the set of data into the disjoint regions responsive to the identified loci.

10. The system of claim 8 , wherein determining the density of the disjoint region comprises:

performing a differentially private count for the disjoint region based on the identified level of differential privacy; and

determining the density of the disjoint region based on the differentially private count.

11. The system of claim 8 , wherein determining the density of the disjoint region comprises:

performing a two-dimensional private wavelet transform for the disjoint region; and

determining the density of the disjoint region based on the two-dimensional private wavelet transform.

12. The system of claim 8 , wherein the visualization distinguishes different densities using different variations of the graphical element.

13. The system of claim 8 , wherein determining the density of the disjoint region comprises:

comparing a differentially private count for the disjoint region to a threshold value; and

determining the density of the disjoint region responsive to the comparison.

14. The system of claim 13 , wherein the threshold value is based on confidence intervals on Laplace noise within the differentially private count performed upon each disjoint region.

15. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations including:

receiving a request from a client device to perform a query of a private database system;

identifying a level of differential privacy corresponding to the request, the identified level of differential privacy comprising privacy parameters ε and δ;

identifying a set of data stored in the private database system and a set of operations to be performed on the set of data corresponding to the requested query;

modifying the set of operations based on the identified level of differential privacy such that a performance of the modified set of operations produces a result set that is (ε,δ)-differentially private;

performing the modified set of operations based on the identified level of differential privacy such that a performance of the set of operations produces a result set that is (ε,δ)-differentially private, where performing the modified set of operations comprises segmenting the result set into disjoint regions and for each disjoint region:

determining a density of the disjoint region; and

plotting the density for the disjoint region in a differentially private density plot visualization, the visualization using a graphical element determined responsive to the determined density; and

providing the differentially private density plot visualization to the client device for display on a hardware display of the client device.

16. The non-transitory computer-readable storage medium of claim 15 , wherein segmenting the result set into disjoint regions comprises:

identifying loci corresponding to the request, the loci specifying boundaries of the disjoint regions; and

segmenting the set of data into the disjoint regions responsive to the identified loci.

17. The non-transitory computer-readable storage medium of claim 15 , wherein determining the density of the disjoint region comprises:

performing a differentially private count for the disjoint region based on the identified level of differential privacy; and

determining the density of the disjoint region based on the differentially private count.

18. The non-transitory computer-readable storage medium of claim 15 , wherein determining the density of the disjoint region comprises:

performing a two-dimensional private wavelet transform for the disjoint region; and

determining the density of the disjoint region based on the two-dimensional private wavelet transform.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the visualization distinguishes different densities using different variations of the graphical element.

20. The non-transitory computer-readable storage medium of claim 15 , wherein determining the density of the disjoint region comprises:

comparing a differentially private count for the disjoint region to a threshold value; and

determining the density of the disjoint region responsive to the comparison.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 6, 2023
From: LEAPYEAR TECHNOLOGIES, INC.
To: SNOWFLAKE INC.
Reel/Frame 063865/0245 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2019
From: MARUSEAC, MIHAI; ROZENSHTEYN, ALEXANDER; NERURKAR, ISHAAN; HOCKENBROCHT, CHRISTOPHER
To: LEAPYEAR TECHNOLOGIES, INC.
Reel/Frame 049724/0799 →
Continuity (3)
Continuation In Part 15203797 · Jul 7, 2016
Provisional Application 62249938 · Nov 2, 2015
Related Publication 20180239925A1 · Aug 23, 2018
Cited By (4)
US 12,223,083 US 12,373,598 US 12,450,388 US 12,625,885