IP Library Granted Patent US 11,113,413
Granted Patent B2
US 11,113,413 · App. 16/112,035 · Granted Sep 7, 2021

Calculating differentially private queries using local sensitivity on time variant databases

Inventors: James Leonard Klucar, Jr. (Catonsville, MD); Kyle Lilly (Alexandria, VA); Joseph Regensburger (Grove City, OH); Steven Touw (Rockville, MD)
Assignee: IMMUTA, INC.
G06F21/6227G06F16/2455G06F16/24552G06F16/24554G06F21/6245
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,113,413
App. No.
16/112,035
Granted
Sep 7, 2021
Kind
B2
Abstract

Systems, methods, and manufactures for enhancing the determination of differential privacy query results. Implementations may include a database; a result cache; a processor; and a media storing instructions that, when executed by the processor, cause the system to perform operations that include obtaining a query of the database; determining that a specificity of the query exceeds a specificity threshold; determining that the result cache lacks any query results of previous queries that are substantially equivalent to the query; partitioning the database into a plurality of groups; determining a query result by executing the query on the plurality of groups; determining a sensitivity of the query and a nominal measurement of the query; determining a noisy result by adding noise to the query result based on the sensitivity and the nominal measurement; storing the noisy result in the result cache; and providing the noisy result in response to the query.

Claims (49)

1. A system for enhancing the determination of differential privacy query results, the system comprising:

a database;

a result cache;

one or more processors; and

a computer-readable data storage device storing program instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

obtaining a first query of the database;

determining that a specificity of the first query exceeds a specificity threshold;

determining that the result cache lacks any query results of previous queries that are substantially equivalent to the first query;

partitioning the database into a plurality of groups;

determining a query result by executing the first query on the plurality of groups;

determining a sensitivity of the query and a nominal measurement of the query;

determining a noisy result by adding noise to the query result based on the sensitivity of the query and the nominal measurement of the query;

storing the noisy result in the result cache with a hash value generated using the first query, the sensitivity of the query, and the nominal measurement of the query;

providing the noisy result in response to the first query;

determining in response to a subsequent query that the result cache includes query results substantially equivalent to the subsequent query based at least on the hash value; and

providing the noisy result from the result cache in response to the subsequent query.

2. The system of claim 1 further comprising determining whether a query is executed over a dataset with sufficient size to be divided into statistically equivalent groups.

3. The system of claim 2 , wherein determining if a query can be divided into statistically equivalent groups is measured using a statistical test of equivalence such as counting, ANOVA, or other tests for equivalence.

4. The system of claim 1 , wherein determining that the result cache lacks any query results of previous queries that are substantially equivalent to the first query comprises determining whether one or more of the query results of previous queries are stale.

5. The system of claim 4 , wherein determining whether one or more of the query results of previous queries are stale comprises determining that a predetermined period has passed since determination of the one or more query results of the previous queries.

6. The system of claim 1 , wherein adding noise to the query result comprises generating a randomized result using a Sample and Aggregate (SA) framework.

7. The system of claim 1 , wherein the database comprises a virtualized database comprising a single data structure configured to present a plurality of data sources as a single data source.

8. The system of claim 1 , wherein the virtualized database comprises personal information of individuals.

9. A system for enhancing the determination of differential privacy query results, the system comprising:

a database;

a result cache;

one or more processors; and

a computer-readable data storage device storing program instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

obtaining a first query of the database;

determining that a specificity of the first query exceeds a specificity threshold;

determining that the result cache lacks any query results of previous queries that are substantially equivalent to the first query;

partitioning the database into a plurality of groups;

determining a query result by executing the first query on the plurality of groups;

determining a sensitivity of the query and a nominal measurement of the query;

determining a noisy result by adding noise to the query result based on the sensitivity of the query and the nominal measurement of the query;

storing the noisy result in the result cache with a hash value generated using the first query, the sensitivity of the query, and the nominal measurement of the query;

providing the noisy result in response to the first query; and

maintaining the noisy result in the result cache for a predetermined period of time for providing in response to one or more subsequently obtained queries of the database based on the hash value and a second hash value of the one or more subsequently obtained queries.

10. The system according to claim 9 , comprising automatically scaling the added noise to obscure new observations qualified as outliers within the database.

11. The system according to claim 9 , wherein the added noise is proportional to a maximum sensitivity introduced by an entire dataset in the database.

12. The system according to claim 9 , wherein the determining the noisy result comprises:

drawing a sample from a stochastic distribution, the one or more samples centered at the nominal measurement of the query; and

adding noise to the sample.

13. The system of claim 9 further comprising determining whether a query is executed over a dataset with sufficient size to be divided into statistically equivalent groups.

14. The system of claim 13 , wherein determining if a query can be divided into statistically equivalent groups is measured using a statistical test of equivalence such as counting, ANOVA, or other tests for equivalence.

15. The system of claim 9 , wherein determining that the result cache lacks any query results of previous queries that are substantially equivalent to the first query comprises determining whether one or more of the query results of previous queries are stale.

16. The system of claim 15 , wherein determining whether one or more of the query results of previous queries are stale comprises determining that a predetermined period has passed since determination of the one or more query results of the previous queries.

17. The system of claim 9 , wherein the database comprises a virtualized database comprising a single data structure configured to present a plurality of data sources as a single data source.

18. The system of claim 9 , wherein the virtualized database comprises personal information of individuals.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded May 15, 2023
From: PACIFIC WESTERN BANK
To: IMMUTA, INC.
Reel/Frame 063641/0301 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THIRD INVENTOR'S LAST NAME TO REGENBURGER INSIDE THE ASSIGNMENT DOCUMENT AND ON THE COVER SHEET PREVIOUSLY RECORDED AT REEL: 056542 FRAME: 0405. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 21, 2021
From: KLUCAR, JAMES LEONARD, JR; LILLY, KYLE; REGENSBURGER, JOSEPH; TOUW, STEVEN
To: IMMUTA, INC.
Reel/Frame 056633/0948 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SECOND INVENTOR'S NAME INSIDE THE ASSIGNMENT DOCUMENT AND ON THE COVER SHEET PREVIOUSLY RECORDED AT REEL: 046931 FRAME: 0837. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 3, 2021
From: KLUCAR, JAMES LEONARD, JR; LILLY, KYLE; REGENSBERGER, JOSEPH; TOUW, STEVEN
To: IMMUTA, INC.
Reel/Frame 056542/0405 →
SECURITY INTEREST Recorded Dec 21, 2020
From: IMMUTA, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 054709/0922 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2018
From: KLUCAR, JAMES LEONARD, JR; LILY, KYLE; REGENSBERGER, JOSEPH; TOUW, STEVEN
To: IMMUTA, INC.
Reel/Frame 046931/0837 →
Continuity (2)
Provisional Application 62550060 · Aug 25, 2017
Related Publication 20190065775A1 · Feb 28, 2019