METHODS AND SYSTEMS FOR DISCOVERING AND CLASSIFYING APPLICATION ASSETS AND THEIR RELATIONSHIPS

Various methods, apparatuses/systems, and media for implementing a data discovery module are disclosed. A repository includes one or more memories that stores application code for each application among a plurality of applications. A processor is operatively connected to the repository via a communication network. The processor scans the application source code for each application among the plurality of applications; identifies, in response to scanning, all technical assets and their relationships within each application; harvests technical metadata from the technical assets and their relationships to identify what information is used, stored, created, and moved by the application; implements machine learning algorithms to automatically assign descriptive and administrative metadata at a field level; loads the assigned descriptive and administrative metadata into an enterprise data catalog; and creates, in response to loading, a knowledge map, thereby providing a fine-grain level understanding of data within the technical assets.

TECHNICAL FIELD

This disclosure generally relates to data governance, and, more particularly, to methods and apparatuses for discovering and classifying application assets and their relationships for the purpose of data lineage.

BACKGROUND

The developments described in this section are known to the inventors. However, unless otherwise indicated, it should not be assumed that any of the developments described in this section qualify as prior art merely by virtue of their inclusion in this section, or that those developments are known to a person of ordinary skill in the art.

Data governance may be of importance for a large organization, such as J.P. Morgan and Chase (JPMC). In JPMC, there may be a large number of applications deployed to production and they may intercommunicate in order to deliver a business value. Describing data to keep accurate inventory for these applications is fundamental to data governance. It may seek to provide capabilities to answer some basic questions, for example, what data may be needed and where (data requirements), what data may be currently available (data in place—where data is held/stored), where does the data come from and go to (data in motion—the lineage of how data moves between one place and another), where should the data come from (data authority—designation of data locations and systems of record (SOR) and authoritative data sources (ADS)), what data should be shared the most (reference data), etc. Conventional tools may only provide manual tracking which is error prone and may prove to be extremely difficult and time consuming to manually keep track of this data, thereby failing to ensure accurate inventory and lineage information.

Conventional tools also lack capabilities to get to finer grained assets and to the code as required for adequate data control. Further, in this application programming interface (API) first world, data in motion may need to be captured and related at the right grain of execution (API/Events). Conventional tools lack capabilities of capturing and relating the data in motion at the right grain of execution.

Thus, there is a need for an automation of this inventory in order to provide a more precise (“fine-grain”) understanding of data within the technical assets to solve today's data governance problem.

SUMMARY

The present disclosure, through one or more of its various aspects, embodiments, and/or specific features or sub-components, provides, among others, various systems, servers, devices, methods, media, programs, and platforms for implementing a language agnostic data discovery module for discovering and classifying application assets and their relationships for the purpose of data lineage, thereby providing a more precise (“fine-grain”) understanding of data within the technical assets, but the disclosure is not limited thereto.

The present disclosure, through one or more of its various aspects, embodiments, and/or specific features or sub-components, also provides, among others, various systems, servers, devices, methods, media, programs, and platforms for implementing a data discovery module for automated data lineage which can discover extensive detail about the components of the application, but the disclosure is not limited thereto. This automated data lineage solution, according to exemplary embodiments, allows more detailed view of how data is stored within an application (i.e., identifies all data stores held by the application, identifies all tables and columns within those data stores, etc.), how data moves within an application (i.e., which services and events utilize data from the data store, which APIs distribute data from the data store, etc.), how data moves between applications when adjoining applications are scanned (i.e., which APIs distribute data to other applications, which batch files are sent to other applications, etc.), but the disclosure is not limited thereto.

The present disclosure, through one or more of its various aspects, embodiments, and/or specific features or sub-components, also provides, among others, various systems, servers, devices, methods, media, programs, and platforms for implementing a data discovery module that automatically captures assets and their relationships at the right grain, identify technical assets and relationships (through code scanners), harvests physical data structure, labels datasets with conceptual taxonomies, provides sustainable evergreen solution, provides accurate inventory and lineage information, provides appropriate controls at the right unit of management, provides impact analysis, etc., but the disclosure is not limited thereto.

According to an aspect of the present disclosure, a method for discovering and classifying application assets and their relationships by utilizing one or more processors and one or more memories is provided. The method is implemented by a processor on a computing device. The method may include: scanning application source code for each application among a plurality of applications; identifying, in response to scanning, all technical assets and their relationships within each application; harvesting technical metadata from the technical assets and their relationships to identify what information is used, stored, created, and moved by the application; implementing machine learning algorithms to automatically assign descriptive and administrative metadata at a field level; loading the assigned descriptive and administrative metadata into an enterprise data catalog; and creating, in response to loading, a knowledge map, thereby providing a fine-grain level understanding of data within the technical assets, but the disclosure is not limited thereto.

According to a further aspect of the present disclosure, the technical assets may include data stores, application programming interfaces (APIs) and services within each application, but the disclosure is not limited thereto.

According to yet another aspect of the present disclosure, the method may further include: automatically capturing the technical assets and their relationships at granular level.

According to a further aspect of the present disclosure, the method may further include: automatically performing data quality check for all discovered technical assets and their relationship; and initiating an application module workflow in response to a positive data quality check.

According to another aspect of the present disclosure, the knowledge map may include telemetry and reporting from the enterprise data catalog for automatic triggers, data risk score cards, and automated policy enforcement, but the disclosure is not limited thereto.

According to a further aspect of the present disclosure, the method may further include: labeling datasets from the technical assets with predefined conceptual taxonomies; publishing an event with payload based on the predefined conceptual taxonomies; and subscribing to the published event.

According to yet another aspect of the present disclosure, the method may further include: automatically updating the knowledge map in response to subscribing to the published event.

According to a further aspect of the present disclosure, the method may further include: automatically updating inventory of applications in response to subscribing to the published event.

According to another aspect of the present disclosure, a computing device or a system configured to implement an execution of a method for discovering and classifying application assets and their relationships is provided. The computing device or the system may include a display screen, a processor, a memory, and a communication interface coupled to each of the processor, the memory, and the display screen. When the method is being executed, the processor may be configured to: scan the application source code for each application among the plurality of applications; identify, in response to scanning, all technical assets and their relationships within each application; harvest technical metadata from the technical assets and their relationships to identify what information is used, stored, created, and moved by the application; implement machine learning algorithms to automatically assign descriptive and administrative metadata at a field level; load the assigned descriptive and administrative metadata into an enterprise data catalog; and create, in response to loading, a knowledge map, thereby providing a fine-grain level understanding of data within the technical assets, but the disclosure is not limited thereto.

According to yet another aspect of the present disclosure, the processor may be further configured to: automatically capture the technical assets and their relationships at granular level.

According to a further aspect of the present disclosure, the processor may be further configured to: automatically perform data quality check for all discovered technical assets and their relationship; and initiate an application module workflow in response to a positive data quality check.

According to an additional aspect of the present disclosure, the processor may be further configured to: label datasets from the technical assets with predefined conceptual taxonomies; publish an event with payload based on the predefined conceptual taxonomies; and subscribe to the published event.

According to yet another aspect of the present disclosure, the processor may be further configured to: automatically update the knowledge map in response to subscribing to the published event.

According to a further aspect of the present disclosure, the processor may be further configured to: automatically update inventory of applications in response to subscribing to the published event.

According to another aspect of the present disclosure, a non-transitory computer readable medium configured to store instructions for discovering and classifying application assets and their relationships implemented by a processor embedded within a computing device is disclosed. The instructions, when executed, may cause a processor to perform the following: scanning application source code for each application among a plurality of applications; identifying, in response to scanning, all technical assets and their relationships within each application; harvesting technical metadata from the technical assets and their relationships to identify what information is used, stored, created, and moved by the application; implementing machine learning algorithms to automatically assign descriptive and administrative metadata at a field level; loading the assigned descriptive and administrative metadata into an enterprise data catalog; and creating, in response to loading, a knowledge map, thereby providing a fine-grain level understanding of data within the technical assets, but the disclosure is not limited thereto.

According to yet another aspect of the present disclosure, the instructions, when executed, may further cause the processor to perform the following: automatically capturing the technical assets and their relationships at granular level.

According to a further aspect of the present disclosure, the instructions, when executed, may further cause the processor to perform the following: automatically performing data quality check for all discovered technical assets and their relationship; and initiating an application module workflow in response to a positive data quality check.

According to an additional aspect of the present disclosure, the instructions, when executed, may further cause the processor to perform the following: labeling datasets from the technical assets with predefined conceptual taxonomies; publishing an event with payload based on the predefined conceptual taxonomies; and subscribing to the published event.

According to yet another aspect of the present disclosure, the instructions, when executed, may further cause the processor to perform the following: automatically updating the knowledge map in response to subscribing to the published event.

According to a further aspect of the present disclosure, the instructions, when executed, may further cause the processor to perform the following: automatically updating inventory of applications in response to subscribing to the published event.

DETAILED DESCRIPTION

FIG. 1is an example system for use in accordance with the embodiments described herein. The system100is generally shown and may include a computer system102, which is generally indicated.

As described herein, various embodiments provide optimized processes of implementing a data discovery module for discovering and classifying application assets and their relationships for the purpose of data lineage, thereby providing a more precise (“fine-grain”) understanding of data within the technical assets, but the disclosure is not limited thereto.

Referring toFIG. 2, a schematic of an exemplary network environment200for implementing a data discovery device is illustrated. In an exemplary embodiment, the data discovery device is executable on any networked computer platform, such as, for example, a wireless mobile communication device, i.e., a smart phone.

According to exemplary embodiments, the above-described problems associated with conventional method and systems may be overcome by implementing a DDD202as illustrated inFIG. 2by implementing a data discovery module for discovering and classifying application assets and their relationships for the purpose of data lineage, thereby providing a more precise (“fine-grain”) understanding of data within the technical assets, but the disclosure is not limited thereto.

The data discovery device (DDD)202may be the same or similar to the computer system102as described with respect toFIG. 1. The DDD202may store one or more applications that can include executable instructions that, when executed by the DDD202, cause the DDD202to perform actions, such as to transmit, receive, or otherwise process network messages, for example, and to perform other actions described and illustrated below with reference to the figures. The application(s) may be implemented as modules or components of other applications. Further, the application(s) can be implemented as operating system extensions, modules, plugins, or the like.

The communication network(s)210may be the same or similar to the network122as described with respect toFIG. 1, although the DDD202, the server devices204(1)-204(n), and/or the client devices208(1)-208(n) may be coupled together via other topologies. Additionally, the network environment200may include other network devices such as one or more routers and/or switches, for example, which are well known in the art and thus will not be described herein.

The server devices204(1)-204(n) may be hardware or software or may represent a system with multiple servers in a pool, which may include internal or external networks. The server devices204(1)-204(n) hosts the databases206(1)-206(n) that are configured to store metadata sets, data quality rules, and newly generated data.

The plurality of client devices208(1)-208(n) may also be the same or similar to the computer system102or the computer device120as described with respect toFIG. 1, including any features or combination of features described with respect thereto. Client device in this context refers to any computing device that interfaces to communications network(s)210to obtain resources from one or more server devices204(1)-204(n) or other client devices208(1)-208(n).

According to exemplary embodiments, the client devices208(1)-208(n) in this example may include any type of computing device that can facilitate the implementation of the DDD202that may be configured for implementing a data discovery module for discovering and classifying application assets and their relationships for the purpose of data lineage, thereby providing a more precise (“fine-grain”) understanding of data within the technical assets, but the disclosure is not limited thereto.

Accordingly, the client devices208(1)-208(n) may be mobile computing devices, desktop computing devices, laptop computing devices, tablet computing devices, virtual machines (including cloud-based computers), or the like, that host chat, e-mail, or voice-to-text applications, of other document collaborative software for example.

One or more of the devices depicted in the network environment200, such as the DDD202, the server devices204(1)-204(n), or the client devices208(1)-208(n), for example, may be configured to operate as virtual instances on the same physical machine. For example, one or more of the DDD202, the server devices204(1)-204(n), or the client devices208(1)-208(n) may operate on the same physical device rather than as separate devices communicating through communication network(s)210. Additionally, there may be more or fewer DDDs202, server devices204(1)-204(n), or client devices208(1)-208(n) than illustrated inFIG. 2.

FIG. 3illustrates a system diagram300for implementing a DDD with a data discovery module (DDM) in accordance with an exemplary embodiment.

As illustrated inFIG. 3, the DDD302including the DDM306may be connected to a server304, and a repository312via a communication network310. The DDD302may also be connected to a plurality of client devices308(1)-308(n) via the communication network310, but the disclosure is not limited thereto. According to exemplary embodiments, the DDM306may be implemented within the client devices308(1)-308(n), but the disclosure is not limited thereto. According to exemplary embodiments, the client devices308(1)-308(n) may be utilized for software application development and machine learning model generations, but the disclosure is not limited thereto.

According to exemplary embodiment, the DDD302is described and shown inFIG. 3as including the DDM306, although it may include other rules, policies, modules, databases, or applications, for example. According to exemplary embodiments, the repository312may be embedded within the DDD302. Although only one repository312is illustrated inFIG. 3, according to exemplary embodiments, a plurality of repositories312may be provided. The repository312may include one or more memories configured to store application source code for each application among a plurality of applications, login information, data files, data content, API specification definition file (e.g., in JSON format) etc., but the disclosure is not limited thereto. For example, the repository312may include one or more memories configured to store information including: applications (i.e., Java applications) rules, programs, production requirements, configurable threshold values defined by a product team to validate against service level objective (SLO), machine learning models, log data, hash values, etc., but the disclosure is not limited thereto. According to exemplary embodiments, the DDM306may be configured to be storage platform agnostic—configured to be deployed across multiple storage layers.

According to exemplary embodiments, the DDM306may be configured to receive continuous feed of data from the repository312and the server304via the communication network310.

As will be described below, the DDM306may be configured to scan the application source code for each application among the plurality of applications; identify, in response to scanning, all technical assets and their relationships within each application; harvest technical metadata from the technical assets and their relationships to identify what information is used, stored, created, and moved by the application; implement machine learning algorithms to automatically assign descriptive and administrative metadata at a field level; load the assigned descriptive and administrative metadata into an enterprise data catalog; and create, in response to loading, a knowledge map, thereby providing a fine-grain level understanding of data within the technical assets, but the disclosure is not limited thereto.

The plurality of client devices308(1)-308(n) are illustrated as being in communication with the DDD302. In this regard, the plurality of client devices308(1)-308(n) may be “clients” of the DDD302and are described herein as such. Nevertheless, it is to be known and understood that the plurality of client devices308(1)-308(n) need not necessarily be “clients” of the DDD302, or any entity described in association therewith herein. Any additional or alternative relationship may exist between either or more of the plurality of client devices308(1)-308(n) and the DDD302, or no relationship may exist.

One of the plurality of client devices308(1)-308(n) may be, for example, a smart phone or a personal computer. Of course, the plurality of client devices308(1)-308(n) may be any additional device described herein. According to exemplary embodiments, the server304may be the same or equivalent to the server device204as illustrated inFIG. 2.

The process may be executed via the communication network310, which may comprise plural networks as described above. For example, in an exemplary embodiment, either one or more of the plurality of client devices308(1)-308(n) may communicate with the DDD302via broadband or cellular communication. Of course, these embodiments are merely exemplary and are not limiting or exhaustive.

FIG. 4illustrates a system diagram for implementing a DDM ofFIG. 3in accordance with an exemplary embodiment. As illustrated inFIG. 4, the system400may include a DDD402within which a DDM406may be embedded, a repository412, a server404, client devices408(1)-408(n), and a communication network410. According to exemplary embodiments, the DDD402, DDM406, repository412, the server404, the client devices408(1)-408(n), and the communication network410as illustrated inFIG. 4may be the same or similar to the DDD302, the DDM306, the repository312, the server304, the client devices308(1)-308(n), and the communication network310, respectively, as illustrated inFIG. 3.

According to exemplary embodiments, the repository312,412may also be a private cloud-based repository that supports user authentication, repository security, and integration with existing databases and developments as well as stores open API specification definition file (i.e., in JSON format) corresponding to an application, but the disclosure is not limited thereto.

As illustrated inFIG. 4, the DDM406may include a scanning module414, an identifying module416, a harvesting module418, an implementing module420, a loading module422, a creating module424, an executing module426, a publishing module428, a subscribing module430, an updating module432, and a communication module434. According to exemplary embodiments, the repository412may be external to the DDD402may include various systems that are managed and operated by an organization. Alternatively, according to exemplary embodiments, the repository412may be embedded within the DDD402and/or the DDM406.

According to exemplary embodiments, the DDM406may be implemented via user interfaces, e.g., web user interface, a build automation tool used primarily for Java projects, private Jenkins, etc., but the disclosure is not limited thereto, and may be integrated with a private cloud platform via the DDM406and an authentication service, but the disclosure is not limited thereto. The user interface may be operatively connected to a system of record in one end and an open source platform for analytics and dashboard in another end.

The process may be executed via the communication module434and the communication network410, which may comprise plural networks as described above. For example, in an exemplary embodiment, the various components of the DDM406may communicate with the server404, and the repository412via the communication module and the communication network410. Of course, these embodiments are merely exemplary and are not limiting or exhaustive.

According to exemplary embodiments, the communication network410and the communication module434may be configured to establish a link between the repository412, the client devices408(1)-408(n) and the DDM406.

According to exemplary embodiments, each of the scanning module414, identifying module416, harvesting module418, implementing module420, loading module422, creating module424, executing module426, publishing module428, subscribing module430, updating module432, and the communication module434may be implemented by microprocessors or similar, they may be programmed using software (e.g., microcode) to perform various functions discussed herein and may optionally be driven by firmware and/or software.

Alternatively, according to exemplary embodiments, each of the scanning module414, identifying module416, harvesting module418, implementing module420, loading module422, creating module424, executing module426, publishing module428, subscribing module430, updating module432, and the communication module434may be implemented by dedicated hardware, or as a combination of dedicated hardware to perform some functions and a processor (e.g., one or more programmed microprocessors and associated circuitry) to perform other functions.

Also, according to exemplary embodiments, each of the scanning module414, identifying module416, harvesting module418, implementing module420, loading module422, creating module424, executing module426, publishing module428, subscribing module430, updating module432, and the communication module434may be physically separated into two or more interacting and discrete blocks, units, devices, and/or modules without departing from the scope of the inventive concepts.

According to exemplary embodiments, each of the scanning module414, identifying module416, harvesting module418, implementing module420, loading module422, creating module424, executing module426, publishing module428, subscribing module430, updating module432, and the communication module434of the DDM406may be called by corresponding API, but the disclosure is not limited thereto.

According to exemplary embodiments, the scanning module414may be configured to scan application source code for each application among a plurality of applications. The identifying module416may be configured to identify, in response to scanning, all technical assets and their relationships within each application.

According to exemplary embodiments, the harvesting module418may be configured to harvest technical metadata from the technical assets and their relationships to identify what information is used, stored, created, and moved by the application.

According to exemplary embodiments, the implementing module420may be configured to implement machine learning algorithms to automatically assign descriptive and administrative metadata at a field level. The loading module422may be configured to load the assigned descriptive and administrative metadata into an enterprise data catalog.

According to exemplary embodiments, the creating module424may be configured to create, in response to loading, a knowledge map, thereby providing a fine-grain level understanding of data within the technical assets, but the disclosure is not limited thereto.

Appendix A and Appendix B (submitted with the U.S. Provisional Patent Application No. 63/134,314, filed Jan. 6, 2021, to which this application claims the benefit of priority) the entirety of each of which is incorporated herein by reference, provide further details of the methods implemented by each of the scanning module414, identifying module416, harvesting module418, implementing module420, loading module422, creating module424, executing module426, publishing module428, subscribing module430, updating module432, and the communication module434of the DDM406.

According to exemplary embodiments, the technical assets may include data stores, application programming interfaces (APIs) and services within each application, but the disclosure is not limited thereto.

According to exemplary embodiments, the DDM406may automatically capture the technical assets and their relationships at granular level. Exemplary relationships at granular level are illustrated in Appendix A.

According to exemplary embodiments, the executing module426may be configured to automatically perform data quality check for all discovered technical assets and their relationship; and initiate an application module workflow in response to a positive data quality check.

According to exemplary embodiments, the knowledge map may include telemetry and reporting from the enterprise data catalog for automatic triggers, data risk score cards, and automated policy enforcement, but the disclosure is not limited thereto. See, e.g., Appendix A and Appendix B.

According to exemplary embodiments, the DDM406may label datasets from the technical assets with predefined conceptual taxonomies and the publishing module428may publish an event with payload based on the predefined conceptual taxonomies. The subscribing module430may be utilized to subscribe to the published event. According to exemplary embodiments, the updating module432may automatically update the knowledge map in response to subscribing to the published event. According to exemplary embodiments, the updating module432may also automatically update inventory of applications in response to subscribing to the published event. See, e.g., Appendix A and Appendix B.

FIG. 5illustrates a flow diagram for discovering and classifying application assets and their relationships in accordance with an exemplary embodiment. It will be appreciated that the illustrated process500and associated steps may be performed in a different order, with illustrated steps omitted, with additional steps added, or with a combination of reordered, combined, omitted, or additional steps.

At step S502, the process500may scan application source code for each application among a plurality of applications.

At step S504, the process500may identify, in response to scanning, all technical assets and their relationships within each application. The technical assets may include data stores, application programming interfaces (APIs) and services within each application, but the disclosure is not limited thereto.

At step S506, the process500may harvest technical metadata from the technical assets and their relationships to identify what information is used, stored, created, and moved by the application.

At step S508, the process500may implement machine learning algorithms to automatically assign descriptive and administrative metadata at a field level.

At step S510, the process500may load the assigned descriptive and administrative metadata into an enterprise data catalog.

At step S512, the process500may create, in response to loading, a knowledge map, thereby providing a fine-grain level understanding of data within the technical assets, but the disclosure is not limited thereto. See, e.g., Appendix A and Appendix B. According to exemplary embodiments, the knowledge map may include telemetry and reporting from the enterprise data catalog for automatic triggers, data risk score cards, and automated policy enforcement, but the disclosure is not limited thereto. See, e.g., Appendix A and Appendix B.

According to exemplary embodiments, the process500may further include: automatically capturing the technical assets and their relationships at granular level.

According to exemplary embodiments, the process500may further include: automatically performing data quality check for all discovered technical assets and their relationship; and initiating an application module workflow in response to a positive data quality check.

According to exemplary embodiments, the process500may further include: labeling datasets from the technical assets with predefined conceptual taxonomies; publishing an event with payload based on the predefined conceptual taxonomies; and subscribing to the published event.

According to exemplary embodiments, the process500may further include: automatically updating the knowledge map in response to subscribing to the published event.

According to exemplary embodiments, the process500may further include: automatically updating inventory of applications in response to subscribing to the published event.

According to exemplary embodiments, the DDD402may include a memory (e.g., a memory106as illustrated inFIG. 1) which may be a non-transitory computer readable medium that may be configured to store instructions for implementing a DDM406for discovering and classifying application assets and their relationships as disclosed herein. The DDD402may also include a medium reader (e.g., a medium reader112as illustrated inFIG. 1) which may be configured to read any one or more sets of instructions, e.g., software, from any of the memories described herein. The instructions, when executed by a processor embedded within the DDM406or within the DDD402, may be used to perform one or more of the methods and processes as described herein. In a particular embodiment, the instructions may reside completely, or at least partially, within the memory106, the medium reader112, and/or the processor104(seeFIG. 1) during execution by the DDD402.

For example, the instructions, when executed, may cause the processor104to perform the following: scanning application source code for each application among a plurality of applications; identifying, in response to scanning, all technical assets and their relationships within each application; harvesting technical metadata from the technical assets and their relationships to identify what information is used, stored, created, and moved by the application; implementing machine learning algorithms to automatically assign descriptive and administrative metadata at a field level; loading the assigned descriptive and administrative metadata into an enterprise data catalog; and creating, in response to loading, a knowledge map, thereby providing a fine-grain level understanding of data within the technical assets, but the disclosure is not limited thereto.

According to exemplary embodiments, the instructions, when executed, may further cause the processor104to perform the following: automatically capturing the technical assets and their relationships at granular level.

According to exemplary embodiments, the instructions, when executed, may further cause the processor104to perform the following: automatically performing data quality check for all discovered technical assets and their relationship; and initiating an application module workflow in response to a positive data quality check.

According to exemplary embodiments, the instructions, when executed, may further cause the processor104to perform the following: labeling datasets from the technical assets with predefined conceptual taxonomies; publishing an event with payload based on the predefined conceptual taxonomies; and subscribing to the published event.

According to exemplary embodiments, the instructions, when executed, may further cause the processor104to perform the following: automatically updating the knowledge map in response to subscribing to the published event.

According to exemplary embodiments, the instructions, when executed, may further cause the processor104to perform the following: automatically updating inventory of applications in response to subscribing to the published event.

According to exemplary embodiments as disclosed above inFIGS. 1-5, technical improvements effected by the instant disclosure may include platforms for implementing a data discovery module for discovering and classifying application assets and their relationships for the purpose of data lineage, thereby providing a more precise (“fine-grain”) understanding of data within the technical assets, but the disclosure is not limited thereto.

According to exemplary embodiments as disclosed above inFIGS. 1-5, technical improvements effected by the instant disclosure may include platforms for implementing a data discovery module for automated data lineage which can discover extensive detail about the components of the application, but the disclosure is not limited thereto. This automated data lineage solution, according to exemplary embodiments as illustrated inFIGS. 1-5, allows more detailed view of how data is stored within an application (i.e., identifies all data stores held by the application, identifies all tables and columns within those data stores, etc.), how data moves within an application (i.e., which services and events utilize data from the data store, which APIs distribute data from the data store, etc.), how data moves between applications when adjoining applications are scanned (i.e., which APIs distribute data to other applications, which batch files are sent to other applications, etc.), but the disclosure is not limited thereto.

According to exemplary embodiments as disclosed above inFIGS. 1-5, technical improvements effected by the instant disclosure may include platforms for implementing a data discovery module that automatically captures assets and their relationships at the right grain, identify technical assets and relationships (through code scanners), harvests physical data structure, labels datasets with conceptual taxonomies, provides sustainable evergreen solution, provides accurate inventory and lineage information, provides appropriate controls at the right unit of management, provides impact analysis, etc., but the disclosure is not limited thereto.

Although the present specification describes components and functions that may be implemented in example embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions are considered equivalents thereof.