IP Library Granted Patent US 12,287,782
Granted Patent B2
US 12,287,782 · App. 17/705,174 · Granted Apr 29, 2025

Sensitive data discovery for databases

Inventors: Christopher Robert Lumnah (North Providence, RI); Frank Schwaak (Recklinghausen, DE); Ganesa Sankar Balabharathi (San Ramon, CA); Michael Patrick Oglesby (Indianapolis, IN)
Assignee: Rubrik, Inc.
G06F16/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 12,287,782
App. No.
17/705,174
Granted
Apr 29, 2025
Kind
B2
Abstract

Techniques for database management are described. A database management system may transmit a request for a data management system of a database to provide a set of metadata attributes for structured data within the database, and may receive a set of metadata attributes for the structured data within the database. The data management system may perform a pattern matching procedure to evaluate the set of metadata attributes for the structured data within the database against one or more patterns associated with a data type to determine one or more locations within the database that include structured data of the data type. Based on the pattern matching procedure, the data management system may output an indication that the one or more locations within the database include structured data of the data type.

Claims (82)

1. A method, comprising:

transmitting, by a data management system, a request that a database management system for a database provide a set of metadata attributes for structured data within the database;

receiving, at the data management system based at least in part on transmitting the request, the set of metadata attributes for the structured data within the database;

performing, by the data management system, a pattern matching procedure to evaluate the set of metadata attributes for the structured data within the database against one or more patterns associated with a data type;

determining, by the data management system and based at least in part on the pattern matching procedure, that a plurality of locations within the database each comprise structured data of the data type;

outputting, by the data management system, a set of classification results for the database, the set of classification results indicating that the plurality of locations within the database each comprise structured data of the data type;

storing the set of classification results, wherein the set of classification results indicates that the plurality of locations within the database each comprise structured data of the data type;

receiving, by the data management system after outputting the set of classification results for the database, an indication that a first location included in the plurality of locations does not store structured data of the data type;

modifying, by the data management system, the set of classification results in response to receiving the indication that the first location included in the plurality of locations does not store structured data of the data type;

storing the modified set of classification results, wherein the modified set of classification results do not indicate that the first location stores structured data of the data type and indicate that one or more other locations included in the plurality of locations store structured data of the data type;

receiving, after storing the modified set of classification results, a request to restore a version of the database based at least in part on a snapshot of the database; and

performing a restoration procedure for the database in response to the request to restore the version of the database, wherein performing the restoration procedure for the database comprises:

masking data for the one or more other locations included in the plurality of locations based at least in part on the modified set of classification results indicating that one or more other locations included in the plurality of locations store structured data of the data type; and

refraining from masking data for the first location based at least in part on the modified set of classification results not indicating that the first location stores structured data of the data type.

2. The method of claim 1 , wherein:

determining that the plurality of locations within the database comprise structured data of the data type comprises determining, based at least in part on the pattern matching procedure, the plurality of locations within the database that comprise structured data of the data type; and

the set of classification results indicates the plurality of locations.

3. The method of claim 2 , wherein performing the pattern matching procedure comprises:

comparing the set of metadata attributes to the one or more patterns associated with the data type, wherein the set of metadata attributes comprises metadata attributes associated with respective locations within the database; and

determining, based at least in part on a match between at least a portion of a metadata attribute within the set of metadata attributes and a pattern of the one or more patterns, that a location associated with the metadata attribute comprises structured data of the data type.

4. The method of claim 1 , further comprising:

receiving, via a user interface for the data management system, one or more inputs that indicate the one or more patterns associated with the data type.

5. The method of claim 1 , wherein receiving the set of metadata attributes comprises:

receiving information that indicates a name of the database, a schema of the database, names of tables within the database, names of table columns within the database, data types within the database, or quantities of data stored at locations within the database, or any combination thereof.

6. The method of claim 1 , further comprising:

storing the set of metadata attributes at the data management system, wherein the pattern matching procedure comprises evaluating the stored set of metadata attributes against the one or more patterns.

7. The method of claim 1 , further comprising:

receiving an indication that structured data of the data type is to be removed from the database, wherein at least one of transmitting the request that the database management system provide the set of metadata attributes or outputting the indication that the plurality of locations within the database comprise structured data of the data type is in response to the indication that structured data of the data type is to be removed from the database.

8. The method of claim 1 , further comprising:

identifying an adverse event for the database, wherein at least one of transmitting the request that the database management system provide the set of metadata attributes or outputting the indication that the plurality of locations within the database comprise structured data of the data type is in response to identifying the adverse event for the database.

9. The method of claim 1 , further comprising:

storing, at the data management system, the snapshot of the database; and

storing, at the data management system, information that associates the modified set of classification results with a time of the snapshot, wherein the version of the database corresponds to the time of the snapshot.

10. The method of claim 9 , wherein:

masking the data for the one or more other locations included in the plurality of locations and refraining from masking the data of the first location are based at least in part on the information that associates the modified set of classification results with the time of the snapshot.

11. The method of claim 1 , wherein masking the data for the one or more other locations included in the plurality of locations comprises:

scrambling or refraining from restoring the data for the one or more other locations included in the plurality of locations.

12. The method of claim 1 , wherein transmitting the request that the database management system provide the set of metadata attributes is based at least in part on a backup schedule for the database.

13. The method of claim 1 , wherein the data type comprises:

personal identity information, personal financial information, personal medical information, personal biometric information, personal location information, or any combination thereof.

14. An apparatus, comprising:

at least one processor;

memory coupled with the at least one processor; and

instructions stored in the memory and executable by the at least one processor to cause the apparatus to:

transmit, by a data management system, a request that a database management system for a database provide a set of metadata attributes for structured data within the database;

receive, at the data management system based at least in part on transmitting the request, the set of metadata attributes for the structured data within the database;

perform, by the data management system, a pattern matching procedure to evaluate the set of metadata attributes for the structured data within the database against one or more patterns associated with a data type;

determine, by the data management system and based at least in part on the pattern matching procedure, that a plurality of locations within the database each comprise structured data of the data type;

output, by the data management system, a set of classification results for the database, the set of classification results indicating that the plurality of locations within the database each comprise structured data of the data type;

store the set of classification results, wherein the set of classification results indicates that the plurality of locations within the database each comprise structured data of the data type;

receive, by the data management system after outputting the set of classification results for the database, an indication that a first location included in the plurality of locations does not store structured data of the data type;

modify, by the data management system, the set of classification results in response to receiving the indication that the first location included in the plurality of locations does not store structured data of the data type;

store the modified set of classification results, wherein the modified set of classification results do not indicate that the first location stores structured data of the data type and indicate that one or more other locations included in the plurality of locations store structured data of the data type;

receive, after storing the modified set of classification results, a request to restore a version of the database based at least in part on a snapshot of the database; and

perform a restoration procedure for the database in response to the request to restore the version of the database, wherein, to perform the restoration procedure for the database, the instructions are executable by the at least one processor to cause the apparatus to:

mask data for the one or more other locations included in the plurality of locations based at least in part on the modified set of classification results indicating that one or more other locations included in the plurality of locations store structured data of the data type; and

refrain from masking data for the first location based at least in part on the modified set of classification results not indicating that the first location stores structured data of the data type.

15. The apparatus of claim 14 , wherein:

to determine that the plurality of locations within the database comprise structured data of the data type, the instructions are executable by the at least one processor to cause the apparatus to determine, based at least in part on the pattern matching procedure, the plurality of locations within the database that comprise structured data of the data type; and

the set of classification results indicates the plurality of locations.

16. The apparatus of claim 15 , wherein, to perform the pattern matching procedure, the instructions are executable by the at least one processor to cause the apparatus to:

compare the set of metadata attributes to the one or more patterns associated with the data type, wherein the set of metadata attributes comprises metadata attributes associated with respective locations within the database; and

determine, based at least in part on a match between at least a portion of a metadata attribute within the set of metadata attributes and a pattern of the one or more patterns, that a location associated with the metadata attribute comprises structured data of the data type.

17. The apparatus of claim 14 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

receive, via a user interface for the data management system, one or more inputs that indicate the one or more patterns associated with the data type.

18. The apparatus of claim 14 , wherein the instructions are further executable by the at least one processor to cause the apparatus to:

store, at the data management system, the snapshot of the database; and

store, at the data management system information that associates the modified set of classification results with a time of the snapshot, wherein the version of the database corresponds to the time of the snapshot.

19. A non-transitory computer-readable medium comprising instructions which, when executed by at least one processor of a data management system, cause the data management system to:

transmit, by the data management system, a request that a database management system for a database provide a set of metadata attributes for structured data within the database;

receive, at the data management system based at least in part on transmitting the request, the set of metadata attributes for the structured data within the database;

perform, by the data management system, a pattern matching procedure to evaluate the set of metadata attributes for the structured data within the database against one or more patterns associated with a data type;

determine, by the data management system and based at least in part on the pattern matching procedure, that a plurality of locations within the database each comprise structured data of the data type;

output, by the data management system, a set of classification results for the database, the set of classification results indicating that the plurality of locations within the database each comprise structured data of the data type;

store the set of classification results, wherein the set of classification results indicates that the plurality of locations within the database each comprise structured data of the data type;

receive, by the data management system after outputting the set of classification results for the database, an indication that a first location included in the plurality of locations does not store structured data of the data type;

modify, by the data management system, the set of classification results in response to receiving the indication that the first location included in the plurality of locations does not store structured data of the data type;

store the modified set of classification results, wherein the modified set of classification results do not indicate that the first location stores structured data of the data type and indicate that one or more other locations included in the plurality of locations store structured data of the data type;

receive, after storing the modified set of classification results, a request to restore a version of the database based at least in part on a snapshot of the database; and

perform a restoration procedure for the database in response to the request to restore the version of the database, wherein, to perform the restoration procedure for the database, the instructions, when executed the at least one processor, cause the data management system to:

mask data for the one or more other locations included in the plurality of locations based at least in part on the modified set of classification results indicating that one or more other locations included in the plurality of locations store structured data of the data type; and

refrain from masking data for the first location based at least in part on the modified set of classification results not indicating that the first location stores structured data of the data type.

Assignments (3)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2022
From: LUMNAH, CHRISTOPHER ROBERT; SCHWAAK, FRANK; BALABHARATHI, GANESA SANKAR; OGLESBY, MICHAEL PATRICK
To: RUBRIK, INC.
Reel/Frame 059407/0967 →
Continuity (1)
Related Publication 20230306129A1 · Sep 28, 2023
References Cited (5)
US 11599667B1 · Tutuianu · 2023 [cited by examiner]
US 20150143064A1 · Bhargava · 2015 [cited by examiner]
US 20160092475A1 · Stojanovic · 2016 [cited by examiner]
US 20210374116A1 · Narasimhadevara · 2021 [cited by examiner]
Stafford, Gary, “Employing Amazon Macie to Discover and Protect Sensitive Data in your Amazon S3-based Data Lake”, Programmatic Ponderings blog, published Mar. 15, 2021, 22 pages. (Year: 2021). [cited by examiner]