IP Library Granted Patent US 11,861,032
Granted Patent B2
US 11,861,032 · App. 17/714,785 · Granted Jan 2, 2024

Adaptive differentially private count

Inventors: Liam Damewood (Walnut Creek, CA); Oana Niculaescu (Berkeley, CA); Alexander Rozenshteyn (Berkeley, CA); Ann Yang (Berkeley, CA)
Assignee: Snowflake Inc.
G06F21/6227G06F16/245
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,861,032
App. No.
17/714,785
Granted
Jan 2, 2024
Kind
B2
Abstract

A differentially private security system communicatively coupled to a database storing restricted data receives a database query from a client. The database query includes an operation, a target accuracy, and a maximum privacy spend for the query. The system performs the operation to produce a result, then injects the result with noise sampled from a Laplace distribution to produce a differentially private result. The system iteratively calibrates the noise value of the differentially private result using a secondary distribution different from the Laplace distribution and a new fractional privacy spend. The system ceases to iterate when an iteration uses the maximum privacy spend or a relative error of the differentially private result is determined to satisfy the target accuracy, or both. The system sends the differentially private result to the client.

Claims (58)

1. A method for performing an adaptive differentially private count operation on a set of data stored by a database, the method comprising:

receiving a request from a client device to perform a query on the set of data stored by the database, the request identifying a target accuracy and a maximum privacy spend;

performing a count operation on the set of data to produce a result;

perturbing the result to produce a differentially private result using a noise value, the noise value being sampled from a first probability distribution based on a fractional privacy spend, the fractional privacy spend comprising a first fraction of the maximum privacy spend;

iteratively calibrating the noise value of the differentially private result based on a secondary distribution different from the first probability distribution and based on a new fractional privacy spend, the new fractional privacy spend comprising a second fraction of the maximum privacy spend, the new fractional privacy spend being larger than fractional privacy spends of preceding iterations, the iterations of calibrating the noise value occurring until

a relative error of the differentially private result is less than or equal to the target accuracy; and

sending, to the client device, the differentially private result.

2. The method of claim 1 , wherein iteratively calibrating the noise value of the differentially private result based on the secondary distribution comprises, for an iteration:

generating the new fractional privacy spend larger than the fractional privacy spends of preceding iterations;

generating a new noise value sampled from the secondary distribution based on the new fractional privacy spend;

incorporating the new noise value into the differentially private result; and

determining whether the differentially private result is less than or equal to the target accuracy.

3. The method of claim 2 , wherein determining whether the differentially private result is less than or equal to the target accuracy comprises:

estimating the relative error of the differentially private result; and

comparing the relative error to the target accuracy.

4. The method of claim 2 , wherein the new fractional privacy spend is generated as a multiple of a preceding fractional privacy spend of a preceding iteration.

5. The method of claim 2 , wherein the new fractional privacy spend is generated as a function of a difference between the target accuracy and the relative error of the differentially private result of a preceding iteration.

6. The method of claim 1 , wherein the secondary distribution is a mixture distribution determined responsive to a plurality of functions.

7. The method of claim 1 , wherein iteratively calibrating the noise value of the differentially private result is responsive to the relative error of the differentially private result exceeding the target accuracy.

8. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations for performing an adaptive differentially private count operation on a set of data stored by a database, the operations comprising:

receiving a request from a client device to perform a query on the set of data stored by the database, the request identifying a target accuracy and a maximum privacy spend;

performing a count operation on the set of data to produce a result;

perturbing the result to produce a differentially private result using a noise value, the noise value being sampled from a first probability distribution based on a fractional privacy spend, the fractional privacy spend comprising a first fraction of the maximum privacy spend;

iteratively calibrating the noise value of the differentially private result based on a secondary distribution different from the first probability distribution and based on a new fractional privacy spend, the new fractional privacy spend comprising a second fraction of the maximum privacy spend, the new fractional privacy spend being larger than fractional privacy spends of preceding iterations, the iterations of calibrating the noise value occurring until

a relative error of the differentially private result is less than or equal to the target accuracy; and

sending, to the client device, the differentially private result.

9. The non-transitory computer-readable storage medium of claim 8 , wherein iteratively calibrating the noise value of the differentially private result based on the secondary distribution different from the first probability distribution comprises, for an iteration:

generating the new fractional privacy spend larger than the fractional privacy spends of preceding iterations;

generating a new noise value sampled from the secondary distribution based on the new fractional privacy spend;

incorporating the new noise value into the differentially private result; and

determining whether the differentially private result is less than or equal to the target accuracy.

10. The non-transitory computer-readable storage medium of claim 9 , wherein determining whether the differentially private result is less than or equal to the target accuracy comprises:

estimating the relative error of the differentially private result; and

comparing the relative error to the target accuracy.

11. The non-transitory computer-readable storage medium of claim 9 , wherein the new fractional privacy spend is generated as a multiple of a preceding fractional privacy spend of a preceding iteration.

12. The non-transitory computer-readable storage medium of claim 9 , wherein the new fractional privacy spend is generated as a function of a difference between the target accuracy and the relative error of the differentially private result of a preceding iteration.

13. The non-transitory computer-readable storage medium of claim 8 , wherein the secondary distribution is a mixture distribution determined responsive to a plurality of functions.

14. The non-transitory computer-readable storage medium of claim 8 , wherein iteratively calibrating the noise value of the differentially private result is responsive to the relative error of the differentially private result exceeding the target accuracy.

15. A system comprising:

a processor; and

a non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations for performing an adaptive differentially private count operation on a set of data stored by a database, the operations comprising:

receiving a request from a client device to perform a query on the set of data stored by the database, the request identifying a target accuracy and a maximum privacy spend;

performing a count operation on the set of data to produce a result;

perturbing the result to produce a differentially private result using a noise value, the noise value being sampled from a first probability distribution based on a fractional privacy spend, the fractional privacy spend comprising a first fraction of the maximum privacy spend;

iteratively calibrating the noise value of the differentially private result based on a secondary distribution different from the first probability distribution and based on a new fractional privacy spend, the new fractional privacy spend comprising a second fraction of the maximum privacy spend, the new fractional privacy spend being larger than fractional privacy spends of preceding iterations, the iterations of calibrating the noise value occurring until

a relative error of the differentially private result is less than or equal to the target accuracy; and

sending, to the client device, the differentially private result.

16. The system of claim 15 , wherein iteratively calibrating the noise value of the differentially private result based on the secondary distribution different from the first probability distribution comprises, for an iteration:

generating the new fractional privacy spend larger than the fractional privacy spends of preceding iterations;

generating a new noise value sampled from the secondary distribution based on the new fractional privacy spend;

incorporating the new noise value into the differentially private result; and

determining whether the differentially private result is less than or equal to the target accuracy.

17. The system of claim 16 , wherein determining whether the differentially private result is less than or equal to the target accuracy comprises:

estimating the relative error of the differentially private result; and

comparing the relative error to the target accuracy.

18. The system of claim 16 , wherein the new fractional privacy spend is generated as a multiple of a preceding fractional privacy spend of a preceding iteration.

19. The system of claim 16 , wherein the new fractional privacy spend is generated as a function of a difference between the target accuracy and the relative error of the differentially private result of a preceding iteration.

20. The system of claim 15 , wherein iteratively calibrating the noise value of the differentially private result is responsive to the relative error of the differentially private result exceeding the target accuracy.

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 Apr 8, 2022
From: DAMEWOOD, LIAM; NICULAESCU, OANA; ROZENSHTEYN, ALEXANDER; YANG, ANN
To: LEAPYEAR TECHNOLOGIES, INC.
Reel/Frame 059545/0899 →
Continuity (3)
Continuation 17173936 · Feb 11, 2021
Provisional Application 62975160 · Feb 11, 2020
Related Publication 20220229931A1 · Jul 21, 2022
Cited By (1)
US 12,314,418