IP Library Granted Patent US 12,235,813
Granted Patent B2
US 12,235,813 · App. 18/469,363 · Granted Feb 25, 2025

Systems and methods for continuous data profiling

Inventors: James B. Cushman, II (Longboat Key, FL); Vadim Vaks (Holland, PA); Satyender Goel (Chicago, IL)
Assignee: Collibra Belgium BV
G06F16/215G06F16/2282G06F16/2457G06F16/252
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,235,813
App. No.
18/469,363
Granted
Feb 25, 2025
Kind
B2
Abstract

The present disclosure is directed to continuous data profiling (CDP). Entities may house large amounts of disorganized and/or duplicative data. To organize and standardize data across a data set, the data may be profiled. However, profiling large data set can be inefficient and give rise to security problems, as profiling datasets typically requires exporting a dataset to a third-party profiling runtime environment. To remedy these issues, the present disclosure is directed to a continuous data profiling platform that comprises a CDP manager communicatively coupled to a client's database. The CDP manager provides access to a CDP API that may install CDP tools on a client's native database environment, enabling the database management system to profile datasets within the client's native database environment, which results in a more efficient use of computing resources and more secure process of profiling datasets.

Claims (79)

1. A method of continuously profiling data, the method comprising:

receiving at least one input stream of data;

profiling the at least one input stream of data by,

identifying at least one attribute in the at least one input stream of data, wherein the at least one attribute is associated with a series of features,

determining a profiling score for the at least one attribute based on a source of the at least one input stream of data and an aggregation of the series of features,

determining the at least one attribute is indicative of an address, and

in response to determining the at least one attribute is indicative of the address, processing the at least one attribute through an address library engine that adds the at least one attribute to a library of addresses;

generating a profiled set of data based on the profiling of the at least one input stream of data, wherein the profiled set of data includes the profiling score for the at least one attribute; and

storing the profiled set of data in at least one client database.

2. The method of claim 1 , further comprising:

retrieving at least one set of profiling rules and at least one set of processing rules that correspond to the at least one attribute;

comparing the at least one attribute with the at least one set of profiling rules and the at least one set of processing rules to validate information included in the at least one attribute;

in response to determining that the information included in the at least one attribute is profiled according to the at least one set of processing rules, storing the information for the at least one attribute into at least one profiled format according to the at least one set of processing rules, wherein the information is provisioned via at least one API gateway; and

processing the at least one attribute through at least one set of rules engines.

3. The method of claim 1 , further comprising:

in response to determining that the at least one attribute is indicative of a name, processing the at least one attribute through a name engine that associates the at least one attribute with associated names included in a listing of associated names.

4. The method of claim 1 , further comprising:

receiving at least one set of continuous data profiling tools from a continuous data profiling manager, wherein the continuous data profiling manager is a frontend software application communicatively coupled to the at least one client database.

5. The method of claim 1 , further comprising:

connecting at least one continuous data profiling (CDP) manager application to the at least one client database; and

receiving at least one instruction or at least one function via the at least one continuous data profiling (CDP) manager application.

6. The method of claim 5 ,

wherein the at least one function is a first function for generating a statistical table of profiled data,

wherein the at least one function is a second function for generating a change-data-store table of profiled data,

wherein the at least one function is a third function for managing at least one profiling process, and

wherein the at least one function is a fourth function for managing at least one profile trigger that is compared to the at least one input stream of data.

7. A system comprising:

one or more processors; and

one or more memories storing instructions that, when executed by the one or more processors, cause the system to perform a process for continuously profiling data, the process comprising:

receiving at least one input stream of data;

profiling the at least one input stream of data by,

identifying at least one attribute in the at least one input stream of data, wherein the at least one attribute is associated with a series of features,

determining a profiling score for the at least one attribute based on a source of the at least one input stream of data and an aggregation of the series of features,

determining the at least one attribute is indicative of an address, and

in response to determining the at least one attribute is indicative of the address, processing the at least one attribute through an address library engine that adds the at least one attribute to a library of addresses;

generating a profiled set of data based on the profiling of the at least one input stream of data, wherein the profiled set of data includes the profiling score for the at least one attribute; and

storing the profiled set of data in at least one client database.

8. The system according to claim 7 , wherein the process further comprises:

retrieving at least one set of profiling rules and at least one set of processing rules that correspond to the at least one attribute;

comparing the at least one attribute with the at least one set of profiling rules and the at least one set of processing rules to validate information included in the at least one attribute;

in response to determining that the information included in the at least one attribute is profiled according to the at least one set of processing rules, storing the information for the at least one attribute into at least one profiled format according to the at least one set of processing rules, wherein the information is provisioned via at least one API gateway; and

processing the at least one attribute through at least one set of rules engines.

9. The system according to claim 7 , wherein the process further comprises:

in response to determining that the at least one attribute is indicative of a name, processing the at least one attribute through a name engine that associates the at least one attribute with associated names included in a listing of associated names.

10. The system according to claim 8 , wherein the process further comprises:

receiving at least one set of continuous data profiling tools from a continuous data profiling manager, wherein the continuous data profiling manager is a frontend software application communicatively coupled to the at least one client database.

11. The system according to claim 7 , wherein the process further comprises:

connecting at least one continuous data profiling (CDP) manager application to the at least one client database; and

receiving at least one instruction or at least one function via the at least one continuous data profiling (CDP) manager application.

12. The system according to claim 11 ,

wherein the at least one function is a first function for generating a statistical table of profiled data,

wherein the at least one function is a second function for generating a change-data-store table of profiled data,

wherein the at least one function is a third function for managing at least one profiling process, and

wherein the at least one function is a fourth function for managing at least one profile trigger that is compared to the at least one input stream of data.

13. A non-transitory computer-readable medium storing instructions that, when executed by a computing system, cause the computing system to perform operations for continuously profiling data, the operations comprising:

receiving at least one input stream of data;

profiling the at least one input stream of data by,

identifying at least one attribute in the at least one input stream of data, wherein the at least one attribute is associated with a series of features,

determining a profiling score for the at least one attribute based on a source of the at least one input stream of data and an aggregation of the series of features,

determining the at least one attribute is indicative of an address, and

in response to determining the at least one attribute is indicative of the address, processing the at least one attribute through an address library engine that adds the at least one attribute to a library of addresses;

generating a profiled set of data based on the profiling of the at least one input stream of data, wherein the profiled set of data includes the profiling score for the at least one attribute; and

storing the profiled set of data in at least one client database.

14. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

retrieving at least one set of profiling rules and at least one set of processing rules that correspond to the at least one attribute;

comparing the at least one attribute with the at least one set of profiling rules and the at least one set of processing rules to validate information included in the at least one attribute;

in response to determining that the information included in the at least one attribute is profiled according to the at least one set of processing rules, storing the information for the at least one attribute into at least one profiled format according to the at least one set of processing rules, wherein the information is provisioned via at least one API gateway; and

processing the at least one attribute through at least one set of rules engines.

15. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

in response to determining that the at least one attribute is indicative of a name, processing the at least one attribute through a name engine that associates the at least one attribute with associated names included in a listing of associated names.

16. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

receiving at least one set of continuous data profiling tools from a continuous data profiling manager, wherein the continuous data profiling manager is a frontend software application communicatively coupled to the at least one client database.

17. The non-transitory computer-readable medium of claim 13 , wherein the operations further comprise:

connecting at least one continuous data profiling (CDP) manager application to the at least one client database; and

receiving at least one instruction or at least one function via the at least one continuous data profiling (CDP) manager application,

wherein the at least one function is a first function for generating a statistical table of profiled data,

wherein the at least one function is a second function for generating a change-data-store table of profiled data,

wherein the at least one function is a third function for managing at least one profiling process, and

wherein the at least one function is a fourth function for managing at least one profile trigger that is compared to the at least one input stream of data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 21, 2023
From: COLLIBRA NV; CNV NEWCO B.V.; COLLIBRA B.V.
To: COLLIBRA BELGIUM B.V.
Reel/Frame 064981/0663 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 18, 2023
From: CUSHMAN, JAMES B., II; VAKS, VADIM; GOEL, SATYENDER
To: COLLIBRA NV
Reel/Frame 064940/0533 →
Continuity (2)
Continuation 17364849 · Jun 30, 2021
Related Publication 20240004849A1 · Jan 4, 2024
References Cited (26)
US 7433960B1 · Dube · 2008 [cited by applicant]
US 9705963B2 · Schornack · 2017 [cited by applicant]
US 10089362B2 · Cammert · 2018 [cited by applicant]
US 10291637B1 · Bardenstein · 2019 [cited by applicant]
US 11218499B2 · Bardenstein · 2022 [cited by applicant]
US 11782889B2 · Cushman, II · 2023 [cited by examiner]
US 11921885B2 · Le · 2024 [cited by examiner]
US 20010014868A1 · Herz · 2001 [cited by applicant]
US 20090177597A1 · Dube · 2009 [cited by applicant]
US 20150254165A1 · Baril · 2015 [cited by applicant]
US 20160048565A1 · Cammert · 2016 [cited by examiner]
US 20190222601A1 · Bardenstein · 2019 [cited by applicant]
US 20200230499A1 · Buser · 2020 [cited by applicant]
US 20210319027A1 · Goel · 2021 [cited by examiner]
US 20220150266A1 · Bardenstein · 2022 [cited by applicant]
US 20230004539A1 · Cushman, II · 2023 [cited by examiner]
US 20230136094A1 · Du · 2023 [cited by examiner]
US 20230416283A1 · Johnson · 2023 [cited by examiner]
US 20240004849A1 · Cushman, II · 2024 [cited by examiner]
US 20240013878A1 · Shi · 2024 [cited by examiner]
US 20240095219A1 · Joyce · 2024 [cited by examiner]
CN 101855647A · 2010 [cited by applicant]
CN 108701258A · 2018 [cited by applicant]
EP 3499360A1 · 2019 [cited by applicant]
International Search Report and Written Opinion of the International Searching Authority for International Application No. PCT/EP2022/068962 dated Sep. 20, 2022, 14 pages. [cited by applicant]
Mehta, Chintan et al., “Indexing in MYSQL 8” In: “MYSQL8 Administrator's Guide: Effective Guide to Administering High-Performance MYSQL 8 SOLUTIONS”, Feb. 15, 2018, 42 Pages. [cited by applicant]