IP Library Granted Patent US 12,254,111
Granted Patent B2
US 12,254,111 · App. 17/646,727 · Granted Mar 18, 2025

Information security systems and methods for early change detection and data protection

Inventors: Sridhar Raghunathan (Chennai, IN); Kevin Tran (Frisco, TX); Jyotsana Utsav (Frisco, TX)
Assignee: Bank of America Corporation
G06F21/6227G06F16/2358G06F16/285G06F40/40
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,254,111
App. No.
17/646,727
Granted
Mar 18, 2025
Kind
B2
Abstract

A system includes a memory and a processor. The memory stores classification models that indicate a data classification to apply to data columns of one or more databases. The processor is configured to periodically access one or more databases and determine that a data table has been newly created or modified. The processor is further configured to determine whether a data column of the data table has an existing data classification, and in response to determining that the data column does not have an existing data classification, determine from the plurality of classification models a particular classification model to use for the data column. The processor is further configured to send instructions to a classification server to apply a particular data classification of the particular classification model to the data column in the classification database.

Claims (94)

1. A system for automatically applying data type classifications to data, the system comprising:

a plurality of data servers, each data server comprising one or more databases;

a classification server comprising a classification database;

a memory configured to store a plurality of classification models, wherein:

each classification model is associated with one or more column attributes and a data type classification that applies to data columns that are associated with the one or more column attributes; and

the data type classification indicates a type of data that is stored in a data column;

a processor communicatively coupled to the memory, the processor configured to:

determine, by periodically analyzing the one or more databases, that a data table has been newly created or modified;

extract a data column from the data table that has been newly created or modified;

determine that the data column does not have an existing data type classification;

in response to determining that the data column does not have an existing data type classification, determine from the plurality of classification models, a particular classification model to use for the data column by:

determining one or more column attributes associated with the data column;

determining from the plurality of classification models the particular classification model that is associated with the one or more column attributes of the data column; and

apply a particular data type classification associated with the particular classification model to the data column by:

sending the particular data type classification to the classification server, wherein the particular data type classification is applied to the data column in the classification database of the classification server.

2. The system of claim 1 , wherein the particular data type classification is a privacy classification this is operable to restrict access to the data column.

3. The system of claim 1 , wherein the column attributes of the data column and the column attributes of the plurality of classification models comprise:

a column name;

a datatype;

a data size; and

creator information.

4. The system of claim 1 , wherein determining from the plurality of classification models, by comparing data attributes of the data column to data attributes of the plurality of classification models, the particular classification model to use for the data column comprises utilizing natural language processing (NLP).

5. The system of claim 1 , wherein the one or more databases are pre-production development databases.

6. The system of claim 1 , wherein determining that a data table has been newly created or modified comprises:

accessing a time stamp of the data table, the time stamp indicating a time that the data table was created or modified;

determining a time of a previous access of the data table; and

comparing the time of the time stamp to the time of the previous access of the data table.

7. The system of claim 1 , wherein the plurality of data servers comprise:

a SQL server;

an Oracle server;

a Hive server;

a Teradata server; or

a Hadoop server.

8. A method for automatically applying data type classifications to data, the method comprising:

accessing one or more databases stored in a plurality of data servers;

accessing a plurality of classification models, wherein:

each classification model is associated with one or more column attributes and a data type classification that applies to data columns that are associated with the one or more column attributes; and

the data type classification indicates a type of data that is stored in a corresponding data column;

determining, by periodically analyzing the one or more databases, that a data table has been newly created or modified;

extracting a data column from the data table that has been newly created or modified;

determining that the data column does not have an existing data type classification;

in response to determining that the data column does not have an existing data type classification, determining from the plurality of classification models a particular classification model to use for the data column by:

determining one or more column attributes associated with the data column;

determining from the plurality of classification models the particular classification model that is associated with the one or more column attributes of the data column; and

applying a particular data type classification associated with the particular classification model to the data column by:

sending the particular data type classification to the classification server, wherein the particular data type classification is applied to the data column in the classification database of the classification server.

9. The method of claim 8 , wherein the particular data type classification is a privacy classification this is operable to restrict access to the data column.

10. The method of claim 8 , wherein the column attributes of the data column and the column attributes of the plurality of classification models comprise:

a column name;

a datatype;

a data size; and

creator information.

11. The method of claim 8 , wherein determining from the plurality of classification models, by comparing data attributes of the data column to data attributes of the plurality of classification models, the particular classification model to use for the data column comprises utilizing natural language processing (NLP).

12. The method of claim 8 , wherein the one or more databases are pre-production development databases.

13. The method of claim 8 , wherein determining that a data table has been newly created or modified comprises:

accessing a time stamp of the data table, the time stamp indicating a time that the data table was created or modified;

determining a time of a previous access of the data table; and

comparing the time of the time stamp to the time of the previous access of the data table.

14. The method of claim 8 , wherein the plurality of data servers comprise:

a SQL server;

an Oracle server;

a Hive server;

a Teradata server; or

a Hadoop server.

15. A system comprising:

a memory configured to store a plurality of classification models, wherein:

each classification model is associated with one or more column attributes and a data type classification that applies to data columns that are associated with the one or more column attributes; and

the data type classification indicates a type of data that is stored in a corresponding data column;

a processor communicatively coupled to the memory, the processor configured to:

periodically access one or more databases stored in one or more data servers;

determine, by periodically analyzing the one or more databases, that a data table has been newly created or modified;

determine that a data column of the data table does not have an existing data type classification;

in response to determining that the data column does not have an existing data type classification, determine from the plurality of classification models, a particular classification model to use for the data column by:

determining one or more column attributes associated with the data column;

determining from the plurality of classification models the particular classification model that is associated with the one or more column attributes of the data column; and

apply a particular data type classification associated with the particular classification model to the data column by:

sending the particular data type classification to the classification server, wherein the particular data type classification is applied to the data column in the classification database of the classification server.

16. The system of claim 15 , wherein the particular data type classification is a privacy classification this is operable to restrict access to the data column.

17. The system of claim 15 , wherein the column attributes of the data column and the column attributes of the plurality of classification models comprise:

a column name;

a datatype;

a data size; and

creator information.

18. The system of claim 15 , wherein determining from the plurality of classification models, by comparing data attributes of the data column to data attributes of the plurality of classification models, the particular classification model to use for the data column comprises utilizing natural language processing (NLP).

19. The system of claim 15 , wherein determining that a data table has been newly created or modified comprises:

accessing a time stamp of the data table, the time stamp indicating a time that the data table was created or modified;

determining a time of a previous access of the data table; and

comparing the time of the time stamp to the time of the previous access of the data table.

20. The system of claim 15 , wherein the one or more data servers comprise:

a SQL server;

an Oracle server;

a Hive server;

a Teradata server; or

a Hadoop server.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2022
From: RAGHUNATHAN, SRIDHAR; TRAN, KEVIN; UTSAV, JYOTSANA
To: BANK OF AMERICA CORPORATION
Reel/Frame 058524/0727 →
Continuity (1)
Related Publication 20230214518A1 · Jul 6, 2023
References Cited (53)
US 6000945A · Sanchez-Lazer et al. · 1999 [cited by applicant]
US 7016894B2 · Saeki · 2006 [cited by applicant]
US 7050753B2 · Knutson · 2006 [cited by applicant]
US 7209923B1 · Cooper · 2007 [cited by applicant]
US 7246128B2 · Jordahl · 2007 [cited by applicant]
US 7346601B2 · Chaudhuri et al. · 2008 [cited by applicant]
US 7392474B2 · Chen et al. · 2008 [cited by applicant]
US 7490099B2 · Myers et al. · 2009 [cited by applicant]
US 7599909B2 · Aldridge · 2009 [cited by applicant]
US 7627432B2 · Wilkinson · 2009 [cited by applicant]
US 7668860B2 · Naibo et al. · 2010 [cited by applicant]
US 7685082B1 · Coletta et al. · 2010 [cited by applicant]
US 7716571B2 · Tien et al. · 2010 [cited by applicant]
US 7720886B2 · Ponessa · 2010 [cited by applicant]
US 7734566B2 · Caracas et al. · 2010 [cited by applicant]
US 7800613B2 · Hanrahan et al. · 2010 [cited by applicant]
US 7904451B2 · Cobb et al. · 2011 [cited by applicant]
US 7930262B2 · Friedlander et al. · 2011 [cited by applicant]
US 7953694B2 · Colossi et al. · 2011 [cited by applicant]
US 7967731B2 · Kil · 2011 [cited by applicant]
US 8065326B2 · Li et al. · 2011 [cited by applicant]
US 8095499B2 · Thanu · 2012 [cited by applicant]
US 8170841B2 · Pinto et al. · 2012 [cited by applicant]
US 8190422B2 · Ascoli et al. · 2012 [cited by applicant]
US 8275772B2 · Aphinyanaphongs et al. · 2012 [cited by applicant]
US 8301482B2 · Reynolds et al. · 2012 [cited by applicant]
US 8364724B2 · Stolte et al. · 2013 [cited by applicant]
US 8375041B2 · Webster et al. · 2013 [cited by applicant]
US 8566321B2 · Majumdar · 2013 [cited by applicant]
US 8650152B2 · Dettinger et al. · 2014 [cited by applicant]
US 8655918B2 · Chitnis et al. · 2014 [cited by applicant]
US 8700629B2 · Engel et al. · 2014 [cited by applicant]
US 8775230B2 · Casas et al. · 2014 [cited by applicant]
US 8782577B2 · Fischer et al. · 2014 [cited by applicant]
US 8805739B2 · Brown et al. · 2014 [cited by applicant]
US 8818838B1 · Sharma · 2014 [cited by applicant]
US 8874540B2 · Shepherd et al. · 2014 [cited by applicant]
US 8874552B2 · Jehuda · 2014 [cited by applicant]
US 8996555B2 · Kuchmann-Beauger et al. · 2015 [cited by applicant]
US 9330222B2 · White et al. · 2016 [cited by applicant]
US 9514213B2 · Wood et al. · 2016 [cited by applicant]
US 9710506B2 · Nath · 2017 [cited by applicant]
US 9798781B2 · Apps et al. · 2017 [cited by applicant]
US 9910910B2 · Riggs et al. · 2018 [cited by applicant]
US 9990380B2 · Riggs et al. · 2018 [cited by applicant]
US 10127596B1 · Franke et al. · 2018 [cited by applicant]
US 10204153B2 · Morimoto et al. · 2019 [cited by applicant]
US 10394532B2 · Bar-Or et al. · 2019 [cited by applicant]
US 10614165B2 · Ferrucci et al. · 2020 [cited by applicant]
US 10699051B1 · Zhang et al. · 2020 [cited by applicant]
US 20050192939A1 · Bird · 2005 [cited by examiner]
US 20200301895A1 · Harrison · 2020 [cited by examiner]
US 20220138229A1 · Vandeventer · 2022 [cited by examiner]