Data governance system and method
Patent Information
- Application Number
- JP2023577420
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2021-12-31
- Filing Date
- 2022-06-07
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2042-06-07
AI Technical Summary
Existing data processing systems face challenges in efficiently verifying compliance of vast amounts of data assets with dynamic data governance policies, as manual association and verification of data assets with governance rules are cumbersome and inefficient, especially with data assets that frequently change.
A system that automatically associates data assets with applicable data governance policies and standards using attribute-based criteria, identifies responsible users for verification, and guides them through a workflow to certify compliance, enabling dynamic and efficient verification of data assets against data standards.
The system ensures dynamic and efficient verification of data asset compliance with data governance policies, maintaining updated associations and utilizing user certifications to manage large-scale compliance projects, thereby improving data governance efficiency.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] Related Applications This application claims the benefit of priority under 35 U.S.C. §119(e) to U.S. Provisional Patent Application No. 63 / 210,951, entitled "DATA GOVERNANCE SYSTEMS AND METHODS," filed on June 15, 2021, and U.S. Provisional Patent Application No. 63 / 295,693, entitled "DATA GOVERNANCE SYSTEMS AND METHODS," filed on December 31, 2021, each of which is incorporated by reference in its entirety herein.
[0002] Aspects of the present disclosure relate to data governance techniques for data managed by a data processing system. In particular, aspects of the present disclosure provide techniques for efficiently verifying that data assets managed by a data processing system comply with one or more data governance policies. [Background technology]
[0003] Modern data processing systems manage vast amounts of data (e.g., millions, billions, or trillions of data records) and how this data can be accessed (e.g., created, updated, read, or deleted). Data managed by a data processing system can be of any suitable type. For example, data managed by a data processing system can include transactions, documents, tables, files, or any other suitable type of data. As another example, data managed by a data processing system can include "metadata," which is data that includes information about other data (e.g., stored within the same data processing system and / or other data processing systems). For example, a data processing system may store metadata about credit card transaction data stored in a table in a credit card company's database. Non-limiting examples of such metadata include information indicating the size of the table in memory, when the table was created, when the table was last updated, the number of rows and / or columns in the table, where the table is stored, and who has permission to read, update, delete, or perform any other suitable operation on the data table. Summary of the Invention [Means for solving the problem]
[0004] Some embodiments provide a method for identifying whether data managed by a data processing system complies with a data governance policy. The data processing system stores data in a plurality of data assets each including one or more attribute-value pairs. The data governance policy includes one or more data standards, each indicating one or more rules that the data assets must satisfy to comply with the data standards. The method includes performing, using at least one computer hardware processor, receiving a user input indicating at least one criterion for including a data asset in a first data asset collection, automatically identifying data assets from among the plurality of data assets that comply with the at least one criterion to generate a first data asset collection, selecting a first data standard from the one or more data standards of the data governance policy, associating the first data standard with the first data asset collection, and identifying whether data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether the data assets in the first data asset collection satisfy the one or more rules specified by the first data standard.
[0005] In some embodiments, the at least one criterion indicates at least one value that at least one attribute in the data asset must take to comply with the at least one criterion. In some embodiments, the method further includes selecting a second data standard from among the one or more data standards for the data, associating the second data standard with the first set of data assets, and identifying whether data managed by the data processing system complies with a data governance policy, at least in part, by verifying whether data assets in the first set of data assets satisfy one or more rules specified by the second data standard.
[0006] In some embodiments, the method further includes updating the first data asset set using at least one criterion before verifying whether the data assets in the first data asset set satisfy one or more rules specified by the first data standard. In some embodiments, updating the first data asset set using at least one criterion includes identifying at least one data asset in the plurality of data assets that is not in the first data asset set and that meets the at least one criterion, and adding the at least one data asset to the data asset set in response to identifying the at least one data asset that meets the at least one criterion. In some embodiments, updating the first dynamic data asset set using at least one data asset criterion includes identifying at least one data asset in the first data asset set that no longer meets the at least one data asset criterion, and removing the at least one data asset from the first data asset set in response to identifying the at least one data asset that does not meet the at least one data asset criterion.
[0007] In some embodiments, associating the first data standard with the first data asset set includes receiving a user input through a graphical user interface (GUI) indicating a selection of the first data asset set from among the plurality of data asset sets, and associating the first data standard with the first data asset set in response to receiving the user input. In some embodiments, associating the first data standard with the first data asset set includes receiving a user input through a graphical user interface (GUI) indicating a selection of the first data standard, and associating the first data standard with the first data asset set in response to receiving the user input. In some embodiments, the GUI displays GUI elements representing the plurality of data asset sets, and the user input indicates the selection of the first data asset set by indicating a selection of one of the GUI elements. In some embodiments, the GUI displays information indicating one or more data assets that meet at least one criterion after the selection of the first data asset set. In some embodiments, the GUI includes an interface that allows a user to search for data assets that meet at least one criterion.
[0008] In some embodiments, the method further includes generating a first GUI that displays a list of at least some of the data assets in a first set of data assets, generating a first GUI that displays information about the first data standard, the information including an indication of the first set of data assets, receiving user input through the first GUI indicating a selection of a data asset in the list of at least some of the data assets, and generating a second GUI that displays information about the selected data asset in response to receiving the user input.
[0009] In some embodiments, verifying whether a data asset in the first set of data assets satisfies one or more rules indicated by the first data standard includes identifying a user who, for at least one of the data assets in the first set of data assets, identifies whether the at least one data asset satisfies one or more rules indicated by the first data standard based on at least one attribute of the at least one data asset; transmitting information about the at least one data asset and the first data standard to a computing device associated with the user and over a communications network; and receiving information indicating whether the at least one data asset satisfies one or more rules indicated by the first data standard from the computing device associated with the user over the communications network.
[0010] In some embodiments, verifying whether a data asset in the first data asset set satisfies one or more rules indicated by the first data standard includes: for each particular data asset of at least some of the data assets in the first data asset set, identifying a user who identifies whether the particular data asset satisfies one or more rules indicated by the first data standard based on at least one attribute of the particular data asset; transmitting information about the particular data asset and the first data standard to a computing device associated with the user and over a communications network; and receiving information indicating whether the particular data asset satisfies one or more rules indicated by the first data standard from a computing device associated with the user over a communications network. In some embodiments, the information indicating whether the particular data asset satisfies one or more rules indicated by the first data standard includes a certification by the user as to whether the particular data asset satisfies one or more rules indicated by the first data standard.
[0011] In some embodiments, verifying whether the data assets in the first data asset set satisfy one or more rules set forth by the first data standard includes automatically verifying whether the data assets satisfy one or more rules set forth by the first data standard. In some embodiments, the method further includes receiving a user input indicating at least one second criterion for including the data assets in the second data asset set, generating a second data asset set by automatically identifying, from among the plurality of data assets, data assets that satisfy the at least one second criterion for including the data assets in the second data asset set, selecting a second data standard from among the one or more data standards of the data governance policy, associating the second data standard with the second data asset set, and identifying whether data managed by the data processing system conforms to the data governance policy, at least in part, by verifying whether the data assets in the second data asset set satisfy one or more rules specified by the second data standard.
[0012] In some embodiments, the method further includes selecting a second data standard from among the one or more data standards of the data governance policy, associating the second data standard with the first set of data assets, and determining whether data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether data assets in the first set of data assets satisfy one or more rules specified by the second data standard. In some embodiments, associating the first data standard with the first set of data assets includes storing an indication of the first set of data assets in the first data standard. In some embodiments, the data managed by the data processing system includes information associated with data in an enterprise system.
[0013] Some embodiments provide a non-transitory computer-readable storage medium storing instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform a method for identifying whether data managed by a data processing system complies with a data governance policy. The data processing system stores the data in a number of data assets, each of which includes one or more attribute-value pairs. The data governance policy includes one or more data standards, each of which indicates one or more rules that a data asset must satisfy in order to comply with the data standard. The method includes receiving user input indicating at least one criterion for including a data asset in a first data asset set; generating the first data asset set by automatically identifying data assets from among a plurality of data assets that comply with the at least one criterion; selecting a first data standard from one or more data standards of a data governance policy; associating the first data standard with the first data asset set; and determining whether data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether the data assets in the first data asset set satisfy one or more rules specified by the first data standard.
[0014] Some embodiments provide a system for identifying whether data managed by a data processing system complies with a data governance policy. The data processing system stores data in a number of data assets, each of which includes one or more attribute-value pairs. The data governance policy includes one or more data standards, each of which indicates one or more rules that a data asset must satisfy in order to comply with the data standard. The system includes at least one computer hardware processor and at least one non-transitory computer-readable storage medium storing instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to: receive user input indicating at least one criterion for including a data asset in a first data asset set; generate a first data asset set by automatically identifying data assets from among a plurality of data assets that meet the at least one criterion; select a first data standard from one or more data standards of a data governance policy; associate the first data standard with the first data asset set; and determine whether data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether the data assets in the first data asset set satisfy one or more rules specified by the first data standard.
[0015] Some embodiments provide a method for identifying whether data managed by a data processing system complies with a data governance policy. The data processing system stores data in a number of data assets, each of which includes one or more attribute-value pairs. The data governance policy includes one or more data standards, each of which indicates one or more rules that a data asset must satisfy to comply with the data standard. The one or more data standards are associated with one or more sets of data assets, respectively. The one or more data standards include a first data standard associated with a first set of data assets of the one or more sets of data assets. The method includes using at least one computer hardware processor to access a first data asset from a first set of data assets associated with a first data standard; identifying a first user who attests based on data in the first data asset whether the first data asset satisfies one or more rules indicated by the first data standard; transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and over a communications network; obtaining from the first computing device and over the communications network a first input indicative of the first attestation by the first user regarding whether the first data asset satisfies one or more rules indicated by the first data standard; and identifying whether data managed by the data processing system complies with a data governance policy using the first input indicative of the first attestation.
[0016] In some embodiments, the at least one criterion indicates at least one value that at least one attribute in the data asset must take to comply with the at least one criterion. In some embodiments, the method further includes accessing a second data asset from the first set of data assets, identifying a second user attesting whether the second data asset satisfies one or more rules indicated by the first data standard based on the at least one attribute-value pair of the second data asset, transmitting information about the second data asset and the first data standard to a second computing device associated with the second user and through the communication network, obtaining from the second computing device and through the communication network a second input indicative of a second attestation by the second user regarding whether the second data asset satisfies one or more rules indicated by the first data standard, and using the second input indicative of the second attestation to identify whether data managed by the data processing system complies with a data governance policy.
[0017] In some embodiments, identifying a first user attesting to whether the first data asset satisfies one or more rules indicated by the first data standard includes identifying one or more users indicated by at least one attribute-value pair of the first data asset as responsible for managing the first data asset, and selecting the first user from the one or more users. In some embodiments, obtaining a first user input indicative of the first attestation includes obtaining the first user input through a GUI. In some embodiments, the method further includes obtaining, from the first computing device and over a communication network, information indicative of evidence of the first attestation by the first user regarding whether the first data asset satisfies one or more rules indicated by the first data standard.
[0018] In some embodiments, the method further includes tracking multiple certifications regarding whether data assets in the first set of data assets satisfy one or more rules indicated by the first data standard. In some embodiments, the method further includes generating a GUI element indicating an extent to which the certifications are complete. In some embodiments, the method further includes generating a first certification object for the first data asset and storing information indicative of the first certification in the first certification object. In some embodiments, the method further includes storing an association of the first data standard with the first data asset in the first certification object.
[0019] In some embodiments, the first attestation indicates that the first data asset complies with the first data standard, partially complies with the first standard, is undefined, does not comply with the first standard, or the first data standard does not apply to the first data asset. In some embodiments, the first set of data assets is associated with a second data standard of the one or more data standards, and the method further includes identifying a first user attesting whether the first data asset satisfies one or more rules indicated by the second data standard based on at least one attribute-value pair of the first data asset, transmitting information about the first data asset and the second data standard to a first computing device associated with the first user and through the communication network, obtaining a second input from the first computing device and through the communication network indicative of a second attestation by the first user regarding whether the first data asset satisfies one or more rules indicated by the second data standard, and using the second input indicative of the second attestation to identify whether data managed by the data processing system complies with a data governance policy.
[0020] Some embodiments provide a non-transitory computer readable storage medium storing instructions. The instructions, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform a method for identifying whether data managed by a data processing system complies with a data governance policy. The data processing system stores data in a plurality of data assets each including one or more attribute-value pairs. The data governance policy includes one or more data standards, each indicating one or more rules that a data asset must satisfy to comply with the data standard. The one or more data standards are each associated with one or more data asset sets. The one or more data standards include a first data standard associated with a first data asset set of the one or more data asset sets. The method includes accessing a first data asset from a first set of data assets associated with a first data standard; identifying a first user who attests based on data in the first data asset whether the first data asset satisfies one or more rules indicated by the first data standard; transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and over a communications network; obtaining from the first computing device and over the communications network a first input indicative of the first attestation by the first user regarding whether the first data asset satisfies one or more rules indicated by the first data standard; and using the first input indicative of the first attestation to identify whether data managed by the data processing system complies with a data governance policy.
[0021] Some embodiments provide a system for identifying whether data managed by a data processing system complies with a data governance policy. The data processing system stores data in a plurality of data assets, each of which includes one or more attribute-value pairs. The data governance policy includes one or more data standards, each of which indicates one or more rules that a data asset must satisfy to comply with the data standard. The one or more data standards are associated with one or more sets of data assets, respectively. The one or more data standards include a first data standard associated with a first set of data assets of the one or more sets of data assets. The system includes at least one computer hardware processor and at least one non-transitory computer readable storage medium storing instructions that, when executed by the at least one computer hardware processor, cause the at least one computer hardware processor to: access a first data asset from a first set of data assets associated with a first data standard; identify a first user who certifies, based on data in the first data asset, whether the first data asset satisfies one or more rules indicated by the first data standard; transmit information about the first data asset and the first data standard to a first computing device associated with the first user and over a communications network; obtain from the first computing device and over the communications network a first input indicative of the first certification by the first user regarding whether the first data asset satisfies one or more rules indicated by the first data standard; and identify whether data managed by the data processing system complies with a data governance policy using the first input indicative of the first certification.
[0022] Some embodiments provide a method for use in connection with governance of a plurality of data assets managed by a data processing system, the method including: accessing, using at least one computer hardware processor, a data governance policy including a first data standard; generating a first set of data assets, at least in part, by automatically selecting, from among a plurality of data assets managed by the data processing system, one or more data assets that conform to the at least one data asset criterion using the at least one data asset criterion; associating the first set of data assets with the first data standard; and verifying whether at least one of the one or more data assets in the first set of data assets conforms to the first data standard.
[0023] In some embodiments, at least one of the one or more data assets in the first data asset set includes a first data asset, and verifying includes identifying a first user attesting whether the first data asset complies with the first data standard based on at least one attribute of the first data asset. In some embodiments, the method further includes updating the first data asset set using the at least one data asset criterion. In some embodiments, updating the first data asset set using the at least one data asset criterion includes identifying one or more data assets in the plurality of data assets that are not in the first data asset set and that comply with the at least one data asset criterion, and adding one or more data assets to the first data asset set in response to identifying the one or more assets that comply with the at least one data asset criterion. In some embodiments, updating the first data asset set using the at least one data asset criterion includes identifying one or more data assets in the first data asset set that no longer meet the at least one data asset criterion, and removing one or more data assets from the first data asset set in response to identifying the one or more data assets that do not meet the at least one data asset criterion.
[0024] In some embodiments, the method further includes generating a second data asset set at least in part by automatically selecting, from among the plurality of data assets, one or more data assets that comply with the at least one other data asset criterion using the at least one other data asset criterion, associating the second data asset set with the first data standard, and verifying whether at least one of the one or more data assets in the second data asset set complies with the first data standard. In some embodiments, the data governance policy includes a second data standard, and the method further includes generating a second data asset set at least in part by automatically selecting, from among the plurality of data assets, one or more data assets that comply with the at least one other data criterion using the at least one other data asset criterion, associating the second data asset set with the second data standard, and verifying whether at least one of the one or more data assets in the second data asset set complies with the second data standard.
[0025] In some embodiments, the data governance policy includes a second data standard, and the method further includes associating the first set of data assets with the second data standard and verifying whether at least one data asset in the first data asset complies with the second data standard. In some embodiments, associating the first set of data assets with the first data standard includes storing an indication of the first set of data assets in the first data standard. In some embodiments, generating the first set of data assets using the first at least one data asset criterion includes identifying one or more data assets from among a plurality of data assets managed by the data processing system that comply with the at least one data asset criterion and including the identified one or more data assets in the first set of data assets.
[0026] In some embodiments, associating the first data asset set with the first data standard includes receiving user input through a graphical user interface (GUI) indicating that the first data asset set is to be associated with the first data standard. In some embodiments, the GUI displays GUI elements representing a plurality of data asset sets, and the user input indicates selection of the first data asset set by selecting one of the GUI elements. In some embodiments, the GUI displays information indicating one or more data assets that meet the at least one data asset criteria after selection of the first data asset set. In some embodiments, the GUI includes an interface that allows a user to search for data assets that meet the at least one data asset criteria.
[0027] In some embodiments, the first set of data assets includes a plurality of data assets, and the method further includes generating a first GUI displaying a list of at least some of the plurality of data assets of the first set of data assets, generating a first GUI displaying information about the first data standard, the information including an indication of the first set of data assets, receiving user input through the first GUI indicating a selection of a data asset in the list of at least some of the data assets, and in response to receiving the user input, generating a second GUI displaying information about the selected data asset. In some embodiments, the data governance policy includes a plurality of data standards, and the method further includes generating a first GUI displaying information about the data governance policy, the information about the data governance policy including an indication of the first data standard, generating a first GUI displaying information about the list of at least some of the plurality of data standards, the at least some data standards including the first data standard, receiving user input through the first GUI indicating a selection of the first data standard from the list, and in response to receiving the user input, generating a second GUI displaying information about the first data standard.
[0028] Some embodiments provide a system for use in connection with governance of a plurality of data assets managed by a data processing system, the system including at least one computer hardware processor and at least one non-transitory computer readable storage medium storing instructions that, when executed by the at least one computer hardware processor, cause the at least one hardware processor to: access a data governance policy including a first data standard; generate a first data asset set by, at least in part, automatically selecting one or more data assets that conform to the at least one data asset criterion from among a plurality of data assets managed by the data processing system using the at least one data asset criterion; associate the first data asset set with the first data standard; and verify whether at least one of the one or more data assets in the first data asset set conforms to the first data standard.
[0029] Some embodiments provide a non-transitory computer readable storage medium storing instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to: access a data governance policy comprising a first data standard, generate a first set of data assets by, at least in part, automatically selecting, from among a plurality of data assets managed by the data processing system, one or more data assets that comply with the at least one data asset criterion using the at least one data asset criterion, associating the first set of data assets with the first data standard, and verifying whether at least one of the one or more data assets in the first set of data assets complies with the first data standard.
[0030] Some embodiments provide a method, including using at least one computer hardware processor, verifying whether a data asset managed by a data processing system complies with a data governance policy including a first data standard associated with a first data asset, the verifying including identifying a first user attesting whether the first data asset complies with the first data standard based on at least one attribute of the first data asset, transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and using a communications network, obtaining from the first computing device using the communications network a first input indicative of a first attestation by the first user regarding whether the first data asset complies with the first data standard, and verifying whether the first data asset complies with the first data standard based on the input indicative of the first attestation.
[0031] In some embodiments, identifying a first user to certify whether the first data asset complies with the first data standard includes identifying the first user as responsible for management of the first data asset. In some embodiments, identifying the first user as responsible for management of the first data asset includes accessing information associated with the data asset indicating the first user is responsible for the first data asset.
[0032] In some embodiments, the first data standard is associated with a second data asset, and the method further includes identifying a second user attesting whether the second data asset complies with the second data standard based on at least one attribute of the second data asset, transmitting information about the second data asset and the first data standard to a second computing device associated with the second user and over the communications network, obtaining a second input from the second computing device over the communications network indicating a second attestation by the second user regarding whether the second data asset complies with the first data standard, and verifying whether the second data asset complies with the second data standard based on the second attestation.
[0033] In some embodiments, the data governance policy includes a second data standard associated with the second data asset, and the method further includes identifying a second user attesting whether the first data asset complies with the second data standard based on at least one attribute of the second data asset, transmitting information about the second data asset and the second data standard to a second computing device associated with the second user and over the communications network, obtaining a second input from the second computing device over the communications network indicating a second attestation by the second user regarding whether the second data asset complies with the second data standard, and verifying whether the second data asset complies with the second data standard based on the second attestation.
[0034] In some embodiments, the data governance policy includes a second data standard associated with the second data asset, and the method further includes identifying a first user attesting whether the first data asset complies with the second data standard based on at least one attribute of the second data asset, transmitting information about the second data asset and the second data standard to the first computing device and over the communications network, obtaining a second input from the first computing device over the communications network indicating a second attestation by the first user regarding whether the second data asset complies with the second data standard, and verifying whether the second data asset complies with the second data standard based on the second attestation.
[0035] In some embodiments, the method further includes generating a first attestation object and storing a first input indicative of the first attestation in the first attestation object. In some embodiments, the method further includes storing an association of the first data standard with the first data asset in the first attestation object. In some embodiments, obtaining a first user input indicative of the first attestation includes obtaining the first user input through a GUI. In some embodiments, the GUI displays information indicative of the association of the first standard with the first data asset. In some embodiments, the first attestation indicates that the first data asset complies with the first data standard, partially complies with the first standard, is undefined, is not applicable, or does not comply with the first standard. In some embodiments, the method further includes obtaining information indicative of evidence of the first attestation from the first computing device over a communication network.
[0036] Some embodiments provide a system, including at least one computer hardware processor and at least one non-transitory computer readable storage medium storing instructions that, when executed by the at least one computer hardware processor, cause the at least one hardware processor to perform: verifying, using the at least one computer hardware processor, whether a data asset managed by the data processing system complies with a data governance policy including a first data standard associated with a first data asset, the verifying including: identifying a first user attesting whether the first data asset complies with the first data standard based on at least one attribute of the first data asset; transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and over a communication network; obtaining, from the first computing device over the communication network, a first input indicative of a first attestation by the first user regarding whether the first data asset complies with the first data standard; and verifying whether the first data asset complies with the first data standard based on the input indicative of the first attestation.
[0037] Some embodiments provide a non-transitory computer readable storage medium storing instructions, the instructions, when executed by at least one computer hardware processor, causing the at least one computer hardware processor to verify, using the at least one computer hardware processor, whether a data asset managed by the data processing system complies with a data governance policy including a first data standard associated with a first data asset, the verifying including identifying a first user attesting whether the first data asset complies with the first data standard based on at least one attribute of the first data asset, transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and over a communications network, obtaining from the first computing device over the communications network a first input indicative of a first attestation by the first user regarding whether the first data asset complies with the first data standard, and verifying whether the first data asset complies with the first data standard based on the input indicative of the first attestation.
[0038] Some embodiments provide a method for processing data assets managed by a data processing system, the method including: accessing, using at least one computer hardware processor, a plurality of data standards, each of which specifies one or more rules that a data asset must satisfy in order to conform to the data standard; generating a plurality of data asset collections, each of which includes a collection of data, the generating including, for each data asset collection, automatically selecting, from among a plurality of data assets managed by the data processing system, one or more data assets that conform to the at least one data asset criterion using the at least one data asset criterion; associating each data asset collection with one or more of the plurality of data standards; and selecting at least one of the one or more data assets in each of the data asset collections according to the one or more associated data standards. The method includes identifying a user who certifies whether the data asset complies with the data standard based on at least one attribute of the data asset for each of one or more data assets in each of the data asset sets, identifying a computing device associated with the identified user, transmitting information about the data asset and the data standard to the identified computing device associated with the identified user and over a communications network, obtaining input from the computing device over the communications network indicative of the user's certification as to whether the data asset complies with the data standard, and verifying that the data asset complies with the data standard based on the input indicative of the certification.
[0039] In some embodiments, at least some of the users identified for the different sets of data assets are different. In some embodiments, the data processing system further includes a queue for each user, and the method further includes storing a queue of certifications performed by the respective users, the certifications including information about one or more of the data assets and one or more associated data standards.
[0040] The above is a non-limiting summary.
[0041] Various aspects and embodiments are described with reference to the following figures. It should be understood that the figures are not necessarily drawn to scale. Features that appear in more than one figure are designated by the same or similar reference numerals in all figures in which they appear. [Brief description of the drawings]
[0042] [Figure 1] FIG. 10 shows a system implementing conventional data governance techniques for data assets. [Figure 2A] 1 illustrates a diagram of a data processing system 100 in accordance with some embodiments of the techniques described herein. [Figure 2B] 2B illustrates an exemplary system for facilitating data governance in the data processing system 100 of FIG. 2A in accordance with some embodiments of the techniques described herein. [Figure 2C] 2C illustrates the system of FIG. 2B after updating the data assets in accordance with some embodiments of the techniques described herein. [Figure 2D] 2C illustrates an example of how the system of FIG. 2B obtains a certificate, according to some embodiments of the technology described herein. [Figure 2E] 1 illustrates an example graphical user interface (GUI) for a compliance project, according to some embodiments of the technology described herein. [Figure 2F]1 shows a diagram illustrating interactions between components of an exemplary system for facilitating governance in a data processing system 100, in accordance with some embodiments of the techniques described herein. [Diagram 3] 1 shows a diagram illustrating the generation of an example compliance project according to some embodiments of the techniques described herein. [Figure 4A] 2 illustrates an example of a data governance policy 232 and its constituent data standards 234, according to some embodiments of the technology described herein. [Figure 4B] 2 illustrates an example of a compliance project 238 and its constituent compliance reviews 122, according to some embodiments of the technology described herein. [Figure 5A] FIG. 2 illustrates an example environment 200 in which data processing system 100 may be used, in accordance with some embodiments of the technology described herein. [Figure 5B] 1 shows a block diagram illustrating aspects of an exemplary data processing system 100, in accordance with some embodiments of the techniques described herein. [Figure 6] 6 depicts a flowchart of another example process 600 for use with respect to governance of data assets managed by a data processing system, in accordance with some embodiments of the technology described herein. [Figure 7] 7 shows a flowchart of an example process 700 for verifying whether a data asset managed by a system complies with data governance policies, including data standards, associated with the data asset, according to some embodiments of the technology described herein. [Figure 8] FIG. 8 is a diagram of an example graphical user interface (GUI) 800 for displaying information about data governance policies, according to some embodiments of the technology described herein. [Figure 9] FIG. 9 is an example graphical user interface (GUI) 900 for displaying information about data standards, according to some embodiments of the techniques described herein. [Figure 10]FIG. 10 is a diagram of an example graphical user interface (GUI) 1000 that allows a user to select a set of data assets to associate with a data standard from a list of existing sets of data assets, according to some embodiments of the technology described herein. [Figure 11] FIG. 11 is a diagram of an example graphical user interface (GUI) 1100 that allows a user to create a new collection of data assets to associate with a data standard, according to some embodiments of the technology described herein. [Figure 12] FIG. 12 is a diagram of an example graphical user interface (GUI) 1200 that allows a user to create a new collection of data assets to associate with a data standard, according to some embodiments of the technology described herein. [Figure 13] FIG. 13 is an example graphical user interface (GUI) 1300 for displaying information about data standards, according to some embodiments of the techniques described herein. [Figure 14] FIG. 14 is an example graphical user interface (GUI) 1400 for displaying information about a compliance project, according to some embodiments of the technology described herein. [Figure 15] FIG. 15 is a diagram of an example graphical user interface (GUI) 1500 for displaying information about compliance screening, according to some embodiments of the technology described herein. [Figure 16] FIG. 16 is a diagram of an example graphical user interface (GUI) 1600 for displaying information about a certificate, according to some embodiments of the techniques described herein. [Figure 17] FIG. 17 is a diagram of an example graphical user interface (GUI) 1700 displaying information about multiple compliance projects, according to some embodiments of the technology described herein. [Figure 18]FIG. 18 is a diagram of an example graphical user interface (GUI) 1800 that displays information about the status of a compliance project's certification, in accordance with some embodiments of the technology described herein. [Figure 19] 19 is a diagram of an example graphical user interface (GUI) 1900 that allows a user to make edits to one or more certificates, in accordance with some embodiments of the technology described herein. [Figure 20] FIG. 20 is a diagram of an example graphical user interface (GUI) 2000 that enables a user to sign one or more certificates, in accordance with some embodiments of the technology described herein. [Figure 21] FIG. 21 is a diagram of an example graphical user interface (GUI) 2100 that displays information about certifications related to a data asset, according to some embodiments of the technology described herein. [Figure 22] 22 is a block diagram of an example computing system 2200 that may be used in implementing some embodiments of the techniques described herein. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0043] The inventors have developed a novel technique that allows for efficient verification of whether data assets managed by a data processing system comply with data governance policies.
[0044] A "data asset" may be any suitable collection of data managed by a data processing system. For example, a data asset may include one or more data records, one or more data sets, one or more documents, one or more transactions, one or more files, one or more tables, and / or a collection of any of the above. As another example, in some embodiments, a data asset may include one or more data entities. In some such embodiments, a data processing system may manage at least some data using data entities, which are used to organize data using an object-oriented paradigm. Similar to how object-oriented programming involves classes and their instances, a data processing system may be configured with definitions of data entities and manage data using instances of the data entities and the data entity definitions.
[0045] In some embodiments, a data asset may include data and information about the data. In some embodiments, the information about the data may be stored in attribute-value pairs. For example, a data asset may include one or more attributes having values, and the information about the data in the data asset may include values of the attributes. A data asset may be stored by a data processing system in any suitable format and / or using any suitable data structure, as aspects of the technology described herein are not limited in this respect.
[0046] In some embodiments, the data processing system may manage data assets for an organization, such as a multinational corporation (e.g., a financial institution, a utility company, an automobile company, an electronics company, etc.) or other company or organization. Large organizations may have vast amounts of data assets, and thus, in some embodiments, the data processing system may be used to manage large amounts (e.g., millions, billions, or trillions) of data assets for the organization.
[0047] For example, in some embodiments, the data processing system may be configured to manage millions or billions of data assets. In some such embodiments, the data processing system may be used for metadata management in an enterprise setting, whereby data assets store information about individual datasets (e.g., tables, transactions, documents, data records, etc.) stored across a globally distributed information technology (IT) infrastructure including many databases, data warehouses, data lakes, etc. In this regard, a data asset may store information about a corresponding dataset, such as, for example, when the dataset was created, where it is stored, its size, the identity of users authorized to edit the dataset, information identifying which application programs use the dataset, the sensitivity level of the data, etc. Large organizations (e.g., financial institutions such as banks or credit card companies, utility entities such as telephone companies or electric companies, etc.) typically manage millions or billions of such datasets, and therefore there may be millions or billions of data assets that store information about such datasets managed by the data processing system. In this application, the data processing system stores information (sometimes referred to as "metadata") about other data, and therefore this application may be referred to as "metadata management." However, it should be understood that the techniques described herein are not limited to data processing systems used for metadata management, but may be applied to any data processing system that uses data assets to manage data, whether the managed data is metadata or any other type of data.
[0048] Data governance, with respect to organizational data, refers to the processes, policies, procedures, and standards used to manage and / or regulate various aspects of organizational data, including, but not limited to, data quality and integrity, data security, data privacy, data versioning, data lineage and traceability of data changes, data availability and usability, and / or any other appropriate aspect of organizational data and / or its management.
[0049] An organization may implement data governance through establishing data governance policies that regulate data managed by a data processing system. In some embodiments, the technology described herein provides a system that allows members of an organization to specify one or more data governance policies, each including one or more data standards. A data governance policy may include any suitable number of data standards (e.g., at least one data standard, at least two data standards, at least five data standards, at least ten data standards, between one and fifty data standards, between ten and one hundred data standards, or any other suitable range within these ranges). In some embodiments, a data standard may specify one or more rules that a data asset must satisfy in order to comply with the data standard. By complying with a data standard, a data asset may at least partially comply with the data governance policy to which the data standard belongs (each data standard may be part of one or more data governance policies). The data governance policy and the data standards that constitute it may be stored by the data processing system in any suitable manner (e.g., in any suitable format, using any suitable data structure), as the aspects of the technology described herein are not limited in this respect.
[0050] As an illustrative example, a data governance policy may specify that social security numbers in data managed by a data processing system should conform to a consistent format. A data governance policy may include a data standard that requires social security numbers to be stored in the format "NNN-NN-NNNN", where N is an Arabic digit from 0 to 9. As another example, a data governance policy may specify that an application is to use data only from trusted sources. A data governance policy may include a data standard that specifies a list of trusted sources from which an application may use data. As another example, a data governance policy may specify that sensitive data must comply with one or more security standards, and the constituent data standards may require that data assets be stored on systems that are protected from external data access. Other examples of data governance policies and the constituent data standards are provided herein.
[0051] In practice, an organization may have multiple data governance policies and multiple data standards per policy, as discussed above. An organization may have millions or billions of data assets to which data governance policies and data standards may apply. For example, an organization such as a bank may have millions or billions of data assets (e.g., customer records, transaction records, and / or account records) stored in multiple different locations around the world. As another example, an organization such as a telephone company may have millions or billions of data assets (e.g., call records, data usage records, customer information, and account information) stored in multiple different locations around the world. Validating whether a large number (e.g., millions or billions) of data assets managed by a data processing system conform to various data governance policies and their constituent data standards is a major technical challenge. This challenge is further complicated by the fact that data assets are dynamic in that at least some of the data within the data assets may be updated. For example, if a data asset includes attribute-value pairs, one or more of the attribute values may be changed. As a result, a data asset may conform to one or more data standards at one point in time, but may not conform to one of these data standards at a later point in time. For example, a data asset's compliance with a particular data standard may depend on the value of an attribute of the data asset, and if that attribute value is changed, a previously compliant data asset may no longer be compliant (or vice versa).
[0052] FIG. 1 illustrates a diagram 10 of a system implementing a conventional data governance technique for a data asset 16. As illustrated in FIG. 1, the system includes a plurality of data governance rules, including data governance rules 12A, 12B, 12C, and 12D. A compliance manager 18 is responsible for manually associating each of the data governance rules 12A, 12B, 12C, and 12D with one or more of the millions of data assets 16 that may be managed by the system. The system illustrated by FIG. 10 may require the compliance manager 18 to associate each data asset with an applicable data governance rule. In the example of FIG. 1, the compliance manager 18 manually associates governance rule 12A with data asset 16A, governance rule 12B with data asset 16C, governance rule 12C with data asset 16D, and governance rule 12D with data asset 16F.
[0053] In a data processing system, there may be many (e.g., thousands, millions, or more) data assets to which data governance rules apply. Furthermore, data assets may be updated, such that the new data assets may need to be governed by another data governance rule and / or a data asset may no longer be governed by a data governance rule. For example, if governance rule 12A no longer applies to data asset 16A, the association would have to be manually removed. As another example, if data asset 16D is updated and governance rule 12B now applies to data asset 16D, data asset 16D would have to be manually associated with governance rule 12B. Thus, the system cannot dynamically associate data assets with applicable data governance rules in response to changes in the data assets. Furthermore, compliance manager 18 may not be able to associate a governance rule with all data assets to which the governance rule applies. In the example of FIG. 1, governance rule 12A may apply to data asset 16B. However, compliance manager 18 has not associated governance rule 12A with data asset 16B. Governance rule 12C may be applied to data asset 16E, however, compliance manager 18 has not associated governance rule 12C with data asset 16E.
[0054] In the system of FIG. 1, the compliance manager 18, having associated governance rules 12A, 12B, 12C, 12D with each data asset, is then also responsible for identifying whether the data assets comply with the governance rules with which they are associated. In a system in which thousands or even millions of associations of governance rules with data assets are made, it may be impossible for the compliance manager 18 to identify whether the data assets of the system comply with the governance rules applicable thereto. As shown in FIG. 1, the compliance manager 18 cannot provide any indication of whether the data assets comply with the governance rules applicable thereto. Furthermore, the compliance manager 18 may not have the knowledge for a particular data asset to identify whether the data asset complies with the governance rules applicable thereto. Thus, the system cannot effectively identify the compliance of the data assets with the governance rules.
[0055] To address the above-mentioned challenges, the inventors have developed a system that can efficiently verify whether data assets managed by a data processing system comply with a data governance policy and its constituent data standards. The system accomplishes this, in part, by using a process in which (1) the data processing system automatically associates data assets with applicable data governance policies and / or data standards (e.g., based on data within the data asset) and (2) the data processing system (a) automatically identifies users ("certifiers") who will review data assets for compliance with one or more data standards, and (b) guides the identified users through a workflow that enables the users to attest to whether a data asset complies with a data governance policy and its constituent standards.
[0056] In some embodiments, to associate data assets with applicable data governance policies and data standards, the system may be configured to generate a data asset collection and associate the data asset collection with one or more data standards. The data asset collection may be generated in any suitable manner. For example, in some embodiments, the system may be configured to generate the data asset collection using one or more criteria that may define the data asset collection such that the data collection includes assets that meet the one or more criteria and excludes data assets that do not meet the one or more criteria. For example, in some embodiments, the data collection may be automatically generated by using one or more criteria to select data assets that meet the one or more criteria from among a plurality of data assets managed by the data processing system.
[0057] In some embodiments, the criteria for including a data asset in a data asset set may include conditions on one or more attributes of the data asset. In some embodiments, the criteria may indicate, for each attribute, one or more values that the attribute in the data asset must take to meet the criteria. For example, the system may group data assets of the same type (e.g., credit score data assets, customer ID data assets, and / or debit account data assets) as indicated by their attribute values into the same data asset set. As another example, data assets that store information associated with a particular region or location (e.g., United States, Europe, Japan, etc.) as indicated by their attribute values may be grouped into the same data asset set. As yet another example, the system may group data assets associated with the same system or the same application as indicated by their attribute values into the same data asset set. As yet another example, the system may group data associated with a common security level (e.g., all assets containing personally identifiable information (PII)) as indicated by their attribute into the same data asset set. More generally, data assets may have attribute values, and the data assets may be grouped into data asset sets based on specified criteria for the attribute values (e.g., data assets having the same or similar values for one or more attributes are grouped into the same data asset set, data assets having one or more attributes that have a particular value or fall within a specified range of values are grouped into the same data asset set, etc.). In some embodiments, the system may be configured to group data assets into one or more data asset sets that do not group data assets, as the technology described herein is not limited in this respect.
[0058] In some embodiments, after one or more data asset collections are created, the system may dynamically update the data asset collection based on updates to the data assets managed by the data processing system. For example, the data processing system may remove a data asset from a data asset collection when the updated data asset no longer meets the criteria for inclusion in the data asset collection after the data asset is updated. As another example, the data processing system may add a data asset to a data asset collection if the updated data asset meets one or more criteria for inclusion in the data asset collection after the data asset is updated. Thus, associating data governance policies and data standards with data assets may be dynamic and constantly updated to reflect the most recent state of the data assets. In some embodiments, the system may be configured to periodically update the data asset collection. For example, the system may update the data asset collection according to a predetermined schedule. In some embodiments, the system may be configured to update the data asset collection in response to an event. For example, the system may update the data asset collection in response to user and / or system access to the data asset collection (e.g., in connection with verifying that assets in the data asset collection meet one or more data standards). In some embodiments, the system may be configured to update the set of data assets when a compliance project is created to identify compliance of the set of data assets. The system may be further configured to freeze the set of data assets after the set of data assets is created (e.g., until the compliance project is completed).
[0059] In some embodiments, to efficiently verify whether a data asset complies with a data standard associated with a collection of data assets that includes the data asset, the system automatically identifies a user who will attest whether the data asset complies with the applicable data standard. The system may use information from the data asset to identify the user. In some embodiments, a data asset may organize the data stored therein into one or more attributes, which may take on various numerical values, such as numbers, strings, or references to other data assets. One or more attributes of a data asset may directly or indirectly indicate a user responsible for the data asset. The system may automatically identify a user who will attest whether the data asset complies with the data standard using the attribute values of the data asset (e.g., data indicated by the data asset's "business data steward" attribute). The system may provide the identified user with information about the data asset and the applicable data standard (e.g., through a graphical user interface (GUI)). The identified user may (1) view information about the data standard (e.g., rules or requirements) and information about the data asset (e.g., attribute values of the data asset) and (2) certify whether the data asset complies with the data standard (e.g., satisfies the rules and / or requirements of the data standard). For example, the system may provide one or more workflows through which a user may view information about the data asset and the data standard and submit a certification. The system may further provide and / or prompt the user to provide evidence (e.g., files, descriptions, links, or other information) to support the submitted certification. The evidence may be used to later verify whether the certification is accurate.
[0060] In some embodiments, the data processing system described herein enables the definition and monitoring of large-scale compliance projects. The data processing system may use compliance projects to manage the validation of multiple data assets against one or more data standards. Compliance projects provide a mechanism by which a workflow can be implemented across multiple computing devices. The system may use the workflow to obtain information from users regarding whether a data asset conforms to one or more data standards. In some embodiments, the information may include a certification by a user regarding whether a data asset conforms to a data standard (e.g., by satisfying rules specified by the data standard). A compliance project may include multiple certifications regarding whether a data asset conforms to respective data standards and data governance policies. In some embodiments, the system may be configured to distribute the workflow to multiple different users associated with different computing devices. The system may thus distribute validation across multiple computing devices. The system may generate statistics regarding the progress of a compliance project (e.g., the percentage of certifications therein that are complete or incomplete). The Compliance Project therefore provides efficient tools and interfaces through which verification of conformance with data standards and data governance policies can be managed by data processing systems.
[0061] Described herein are improved techniques for data governance in a data processing system. In particular, the system maintains a dynamic association of data standards with data assets to which the data standards apply through a collection of data assets. The system updates the data assets based on changes to the data assets (e.g., based on changes to data asset attribute values). Thus, the system may maintain an updated association of data standards with applicable data assets. Additionally, the system uses information stored in the data assets to automatically identify users who certify whether a data asset complies with an applicable data standard. The system may use the identified users to manage compliance projects, through which validation that a data asset complies with a data standard may be efficiently performed by traditional data governance systems.
[0062] Some embodiments relate to a method for use in connection with governance of a plurality of data assets managed by a data processing system, the method including: using at least one computer hardware processor, accessing a data governance policy including a first data standard (e.g., by obtaining information about the first standard stored in a database system); generating a first set of data assets, at least in part, by automatically selecting, from among the plurality of data assets managed by the data processing system, one or more data assets that comply with the at least one data asset criterion using the at least one data asset criterion; associating the first set of data assets with the first data standard; and verifying whether at least one of the one or more data assets in the first set of data assets complies with the first data standard.
[0063] In some embodiments, at least one of the one or more data assets in the first data asset set includes a first data asset, and verifying includes identifying a first user (a person responsible for the first data asset) who certifies whether the first data asset complies with the first data standard based on at least one attribute of the first data asset.
[0064] In some embodiments, the method includes updating the first data asset set using at least one data asset criterion (e.g., to reflect a current state of data assets managed by the data processing system). In some embodiments, updating the first data asset set using the at least one data asset criterion includes identifying one or more data assets among the plurality of data assets that are not in the first data asset set and that meet the at least one data asset criterion, and in response to identifying the one or more data assets that meet the at least one data asset criterion, adding the one or more data assets to the first data asset set. In some embodiments, updating the first data asset set using the at least one data asset criterion includes identifying one or more data assets in the first data asset set that no longer meet the at least one data asset criterion, and in response to identifying the one or more data assets that do not meet the at least one data asset criterion, removing the one or more data assets from the first data asset set.
[0065] In some embodiments, the method includes, at least in part, generating a second data asset set by automatically selecting one or more data assets from among the plurality of data assets using the at least one other data asset criterion, which data assets conform to the at least one other data asset criterion, associating the second data asset set with the first data criterion, and verifying whether at least one of the one or more data assets in the second data asset set conforms to the first data standard.
[0066] In some embodiments, the data governance policy includes a second data standard, and the method further includes generating a second data asset set, at least in part, by automatically selecting, from among the plurality of data assets, one or more data assets that comply with the at least one other data asset criterion using the at least one other data asset criterion, associating the second data asset set with the second data standard, and verifying whether at least one of the one or more data assets in the second data asset set complies with the second data standard.
[0067] In some embodiments, the data governance policy includes a second data standard, and the method further includes associating the first set of data assets with the second data standard and verifying whether at least one data asset in the first set of data assets complies with the second data standard. In some embodiments, associating the first set of data assets with the first data standard includes storing an indication of the first set of data assets in the first data standard. For example, the first data standard may store a reference to the first set of data assets.
[0068] In some embodiments, generating the first data asset set using the first at least one data asset criterion includes identifying one or more data assets from among a plurality of data assets managed by the data processing system that meet the at least one data asset criterion, and including the identified one or more data assets in the first data asset set.
[0069] In some embodiments, associating the first data asset set with the first data standard includes receiving user input through a graphical user interface (GUI) indicating that the first data asset set is to be associated with the first data standard. In some embodiments, the GUI displays GUI elements representing a plurality of data asset sets, and the user input indicates selection of the first data asset set by selecting one of the GUI elements. In some embodiments, the GUI displays information indicating one or more data assets that meet at least one data asset criterion after selecting the first data asset set. In some embodiments, the GUI includes an interface that allows a user to search for data assets that meet at least one data asset criterion.
[0070] In some embodiments, the first set of data assets includes a plurality of data assets, and the method further includes generating a first GUI that displays a list of at least some of the plurality of data assets of the first set of data assets, generating a first GUI that displays information about the first data standard, the information including an indication of the first set of data assets, receiving user input through the first GUI indicating a selection of a data asset in the list of at least some of the data assets, and generating a second GUI that displays information about the selected data asset in response to receiving the user input.
[0071] In some embodiments, the data governance policy includes a plurality of data standards, and the method further includes generating a first GUI that displays information about the data governance policy, the information about the data governance policy including a display of the first data standard; generating a first GUI that displays a list of at least some of the plurality of data standards, at least some of the data standards including the first data standard; receiving user input through the first GUI indicating a selection of the first data standard from the list; and generating a second GUI that displays information about the first data standard in response to receiving the user input.
[0072] Some embodiments use at least one computer hardware processor to verify whether a data asset managed by a data processing system complies with a data governance policy including a first data standard associated with a first data asset, the verifying including identifying a first user (e.g., a person responsible for the first data asset) attesting whether the first data asset complies with the first data standard based on at least one attribute of the first data asset, transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and over a communication network, obtaining a first input from the first computing device over the communication network indicative of a first attestation by the first user regarding whether the first data asset complies with the first data standard, and verifying whether the first data asset complies with the first data standard based on the input indicative of the first attestation.
[0073] In some embodiments, identifying the first user to attest to whether the first data asset complies with the first data standard includes identifying the first user as responsible for management of the first data asset (e.g., based on an attribute value of the first data asset). In some embodiments, identifying the first user as responsible for management of the first data asset includes accessing information associated with the data asset that indicates the first user is responsible for the first data asset.
[0074] In some embodiments, the first data standard is associated with a second data asset, and the method further includes identifying a second user attesting whether the second data asset complies with the second data standard based on at least one attribute of the second data asset, transmitting information about the second data asset and the first data standard to a second computing device associated with the second user and using the communications network, obtaining a second input from the second computing device over the communications network indicating a second attestation by the second user regarding whether the second data asset complies with the first data standard, and verifying whether the second data asset complies with the second data standard based on the second attestation.
[0075] In some embodiments, the data governance policy includes a second data standard associated with the second data asset, and the method includes identifying a second user attesting whether the first data asset complies with the second data standard based on at least one attribute of the second data asset, transmitting information about the second data asset and the second data standard to a second computing device associated with the second user and over the communications network, obtaining a second input from the second computing device over the communications network indicating a second attestation by the second user regarding whether the second data asset complies with the second data standard, and verifying whether the second data asset complies with the second data standard based on the second attestation.
[0076] In some embodiments, the data governance policy includes a second data standard associated with the second data asset, and the method includes identifying a first user attesting whether the first data asset complies with the second data standard based on at least one attribute of the second data asset; transmitting information about the second data asset and the second data standard to the first computing device and using the communications network; obtaining a second input from the first computing device over the communications network indicating a second attestation by the first user regarding whether the second data asset complies with the second data standard; and verifying whether the second data asset complies with the second data standard based on the second attestation.
[0077] In some embodiments, the method includes generating a first certification object and storing a first input indicative of the first certification in the first certification object. In some embodiments, the method includes storing an association between the first data standard and the first data asset in the first certification object.
[0078] In some embodiments, obtaining a first user input indicative of the first attestation includes obtaining the first user input through a GUI. In some embodiments, the GUI displays information indicative of an association of the first standard with the first data asset. In some embodiments, the first attestation indicates that the first data asset complies with the first data standard, partially complies with the first standard, or does not complies with the first standard. In some embodiments, the method includes obtaining information indicative of evidence of the first attestation from the first computing device over a communications network.
[0079] The techniques described herein may be implemented in any of many ways, and the techniques are not limited to any particular implementation manner. Example implementation details are provided herein for illustrative purposes only. Furthermore, the techniques disclosed herein may be used individually or in any suitable combination, and aspects of the techniques described herein are not limited to the use of any particular technique or combination of techniques.
[0080] 2A illustrates a diagram of a data processing system 100 in accordance with some embodiments of the technology described herein. As shown in FIG. 2A, the data processing system 100 includes a data governance policy 102, a data asset 106, and a compliance project 120.
[0081] The data processing system 100 may be configured to govern the data assets 106 managed by the data processing system 100 using data governance policies 102. More specifically, each of the data governance policies 102 includes one or more constituent data standards. A data asset's conformance with a data governance policy may be determined based on the data asset's conformance with the data standards associated therewith. The data processing system 100 may include any number of data governance policies. In some embodiments, the data governance policies 102 may provide standards for the data assets of the data processing system 100, and the data standards of the data governance policies 102 may be specific rules that, if met, indicate conformance with the guidelines of the data governance policies 102. Exemplary data governance policies and their constituent data standards are described herein with reference to FIG. 4A.
[0082] As shown in FIG. 2A, data processing system 100 manages data assets 106. In some embodiments, data processing system 100 may be configured to manage thousands, millions, or billions of data assets. In some embodiments, each data asset may store a set of attribute values. For example, each data asset may store a set of attribute values. Although the example embodiment of FIG. 2A shows data assets 106 in data storage within data processing system 100, in some embodiments, at least some of data assets 106 may be stored in other systems. Data processing system 100 may be configured to access data assets stored in other systems.
[0083] In some embodiments, the data processing system 100 may be configured to use compliance projects 120 to identify compliance of data assets 106 with data governance policies 102. The data processing system 100 may be configured to create compliance projects to identify whether one or more of the data assets 106 comply with one or more data standards. In some embodiments, the data processing system 100 may be configured to create compliance projects to identify compliance with data governance policies. Compliance projects may enable a user (e.g., compliance manager 118) to manage a review of a data asset that must be performed to identify its compliance with a data governance policy. As described in more detail herein, in some embodiments, a compliance project may include a certification that a data asset complies with applicable data standards that are incorporated into one or more compliance reviews. The data processing system 100 may be configured to assign a certification to a user to perform the certification. Thus, the compliance projects 120 distribute the tasks involved in identifying compliance of a data asset 106 with a data governance policy 102 to various different users.
[0084] As shown in Figure 2A, various types of users interact with data processing system 100. Such users include compliance manager 118, policy manager 114, and certifiers 116A, 116B.
[0085] In some embodiments, policy manager 114 is responsible for creating data governance policies for data processing system 100. Policy manager 114 may create data governance policies and the data standards that constitute them. For example, policy manager 114 may create a data governance policy by (1) defining a data governance policy and (2) identifying one or more data standards to be included in the data governance policy (e.g., for use in identifying whether a data asset complies with the data governance policy). Policy manager 114 may define a data governance policy by naming and describing the data governance policy. Policy manager 114 may further name and define the data standards for the data governance policy. Policy manager 114 may further identify which data assets each data standard applies to and associate each data standard with its applicable data assets. As described herein with respect to FIG. 2B, policy manager 114 may associate data standards with data assets by associating the data standards with one or more collections of data assets (also referred to herein as "data asset collections").
[0086] In some embodiments, the compliance manager 118 is responsible for verifying whether a data asset 106 complies with the data governance policy 102. The compliance manager 118 may use compliance projects 120 to identify whether a data asset 106 complies with the data governance policy 102. More specifically, the compliance manager 118 may use compliance projects to manage certifications of whether a data asset complies with the data standards of the data governance policy 102. As described herein with respect to FIGS. 2D-2E, the certifications may be assigned to various different users (also referred to herein as “certifiers”) (e.g., certifiers 116A, 116B).
[0087] In a compliance project, the system of some embodiments may pair data assets with applicable data standards and provide them to certifiers 116A, 116B to certify whether the data assets conform to the applicable data standards. The certifiers 116A, 116B are responsible for reviewing the data assets and their applicable data standards and identifying whether the data assets conform to the applicable data standards. The certifiers 116A, 116B may provide input indicating their certification. In some embodiments, the system may further request the certifier 116A to provide evidence in addition to the certification, such as comments and / or supporting the certification.
[0088] FIG. 2B illustrates an exemplary system for facilitating data governance in the data processing system 100 of FIG. 2A, according to some embodiments of the techniques described herein. As described with respect to FIG. 2A, each of the data governance policies 102 includes a respective set of data standards. In the example of FIG. 2B, data governance policy 102A also includes data standard 104A and data standard 104B, and data governance policy 102B includes data standard 104C and data standard 104D. As indicated by the three dots in each of data governance policies 102A, 102B, data governance policies 102A, 102B may include one or more other data standards not shown in FIG. 2B. Each data governance policy may have any suitable number of data standards (e.g., 1, 2, 3, at least 5, at least 10, at least 20, 1 to 10, 5 to 20, 1 to 30, or any other suitable range within these ranges). 2B shows each data governance policy with a different set of data standards, in some embodiments, data governance policies may share data standards. For example, data standard 104A may be included in data governance policy 102B in addition to data governance policy 102A.
[0089] As an illustrative example, data governance policy 102A may specify that data input to an application must come from a trusted source. Data standard 104A of data governance policy 102A may indicate that data used by the application must come from a list of trusted sources, and data standard 104B may indicate that social security numbers used by the application must come from a particular database. Data governance policy 102B may specify that user identification numbers must conform to a standard format. Data standard 104C may indicate that social security numbers must have the format "NNN-NN-NNNN", where N is an Arabic digit from 0 to 9. Data standard 104D may indicate that telephone numbers must have the format "(NNN)NNN-NNNN", where N is an Arabic digit from 0 to 9. Data standards 102A, 102B, 104A, 104B therefore provide specific requirements for compliance that demonstrate conformance of data assets with data governance policies 102, 104.
[0090] As shown in FIG. 2B, the system organizes the data assets 106 into data asset collections 110A, 110B, 110C. The system may be configured to generate each data asset collection using a respective set of one or more data asset criteria. In the example of FIG. 2B, data asset collection 110A is generated using data asset criteria 112A, data asset collection 110B is generated using data asset criteria 112B, and data asset collection 110C is generated using data asset criteria 112C. The system may be configured to generate the data asset collections using the criteria sets by (1) identifying millions of data assets of data assets 106 that fit the criteria, and (2) including the identified data assets as members of the data asset collection. For example, data asset criteria 112A may include a criterion that the data asset is obtained from the United States for use in the application. Data asset criteria 112B may include a criterion that the data asset includes a social security number of a customer, and data asset criteria 112C may include a criterion that the data asset includes contact information for people in Brazil. The system may use the set of data asset criteria 112A, 112B, 112C to generate (1) a data asset collection 110A that includes data assets containing information obtained from the United States, (2) a data asset collection 110B that includes data assets containing social security numbers of customers, and (3) a data asset collection 110C that includes data assets containing contact information for people in Brazil. In the example of FIG. 2B , data asset collection 110A includes data assets 106A, 106B, and 106C, data asset collection 110B includes data assets 106C and 106D, and data asset collection 110C includes data asset 106E.
[0091] The data assets in data asset collections 110A, 110B, 110C satisfy corresponding data asset criteria 112A, 112B, 112C as indicated by the pattern portion of each data asset in data asset collections 110A, 110B, 110C. For example, data assets 106A, 106B, 106C satisfy data asset criteria 112A, which is indicated by a vertical line pattern. Data assets 106C, 106D satisfy data asset criteria 112B, which is indicated by a horizontal line pattern. Data asset 106C includes a vertical and horizontal line pattern because it satisfies data asset criteria 112A and data asset criteria 112B. Data asset 106E includes a diagonal line pattern because it satisfies data asset criteria 112C.
[0092] As shown in the example of FIG. 2B, in some embodiments, a data asset may be a member of multiple data asset sets. In FIG. 2B, data asset 106C is a member of both data asset set 110A and data asset set 110B. Continuing with the previous example, data asset 106C may include a social security number obtained in the United States and may be a member of both data asset set 110A and data asset set 110B. In some embodiments, the system may associate a data standard with multiple data asset sets. For example, the system may further associate data standard 104B with data asset set 110C.
[0093] The policy manager 114 may associate a data standard with a data asset collection to which the data standard applies. As shown in the example of FIG. 2B, the policy manager 114 may associate a data standard with a data asset collection by associating the data standard with the data asset criteria used to generate the data asset collection. For example, the policy manager 114 may associate a data standard with a data asset collection by selecting the data asset collection from a list. In another example, the policy manager 114 may (1) create a data asset criteria set that defines a new data asset collection and (2) associate the data standard with the new data asset collection. Thus, the policy manager 114 does not have to manually associate each data standard with each individual data asset 106. In the example of FIG. 2B, policy manager 114 associates data standard 104A with data asset set 110A via data asset reference 112A, data standard 104B with data asset set 110B via data asset reference 112B, data standard 104C with data asset set 110B via data asset reference 112B, and data standard 104D with data asset set 110C via data asset reference 112C.
[0094] As shown in Figure 2B, the system may be further configured to directly associate a data standard with a data asset in addition to or instead of associating a data standard with a data asset collection. In the example of Figure 2B, the policy manager 114 associates a data standard 104C with a data asset 106F. The system may use the association of data standard 104C and data asset 106F to determine whether the data asset 106F conforms to the data standard 104C. The data asset 106F does not belong to any of the data asset collections 110A, 110B, 110C shown in Figure 2B, as indicated by the lack of a pattern included therein.
[0095] As shown in FIG. 2B, the system uses data asset criteria as an abstraction layer between the data standards and the data assets to which the data standards apply. By creating this abstraction layer, the system provides dynamic associations between data standards and data assets. When a data asset no longer satisfies a set of data asset criteria corresponding to a data asset collection, the system may remove the data asset from the data asset collection, thereby disassociating the data asset from the data standards with which it is associated. Similarly, when a data asset is updated to conform to a set of data asset criteria corresponding to a data asset collection, the system may include the data asset in the data asset collection, thereby automatically associating the data asset with all applicable data standards.
[0096] In some embodiments, the data asset collections 110A, 110B, 110C may be dynamic. The system may be configured to update the components of each data asset collection in response to updates of the data assets. For example, the system may add one or more data assets to the data asset collection and / or remove one or more data assets from it based on whether the data assets meet one or more criteria that define the data asset collection. FIG. 2C illustrates the system of FIG. 2B after updating some data assets, in accordance with some embodiments of the techniques described herein. In the example of FIG. 2C, data asset 106E has been updated such that it no longer meets data asset criteria 112C and meets data asset criteria 112B. As a result, the components of data asset collection 110B have been updated to include data asset 106E, and the components of data asset collection 110C have been updated to not include data asset 106E. In some embodiments, the system may be configured to identify the components of the data asset collection periodically (e.g., hourly, daily, weekly, monthly, or other suitable period). In some embodiments, the system may be configured to identify the components of a data asset set in response to an action. For example, the system may identify the components of a data asset set when a compliance project is created. In other examples, the system may identify the components of a data asset set when a user requests to view information about the data asset set and / or associated data standards.
[0097] FIG. 2D illustrates an example of how the system of FIG. 2B obtains a proof of whether a data asset conforms to a data standard, according to some embodiments of the techniques described herein. As illustrated in FIG. 2D, the system pairs the data standard with the corresponding data asset in the proof, which is provided to the verifier 116A through the verifier's 116A proof queue 132. The proof queue 132 may be a set of proofs to be performed by the verifier 116A. For example, the system may store a queue of proofs to be performed by users. As illustrated in FIG. 2D, the system may be configured to generate a proof by pairing the data standard with one or more data assets in a data asset collection with which the data standard is associated (e.g., via corresponding data asset criteria). In the example of FIG. 2D, the system pairs data standard 104A with data asset 106A, data standard 104A with data asset 106C, and data standard 104B with data asset 106C. The system may be configured to identify this pairing based on the association between data standard 104A and data asset set 110A and the association between data standard 104B and data asset set 110B shown in FIG. 2B.
[0098] The system may be configured to add a certification to the certification queue 132 by (1) identifying whether the certifier 116A is responsible for making the certification, and (2) adding the certification to the certification queue 132 when the certifier 116A is identified as responsible for making the certification. In some embodiments, the system may be configured to identify that the certifier 116A is responsible for the certification based on information from a data asset involved in the certification. For example, the data asset may store an attribute indicating a user (e.g., a data steward) responsible for managing the data asset. In this example, the system may identify that the certifier 116A is responsible based on identifying the user indicated by the attribute as the certifier 116A. In some embodiments, the system may be configured to identify that the certifier 116A is responsible for the certification based on input from another user. For example, the compliance manager 118 may provide an input indicating that the certifier 116A is responsible for the certification. The system may be configured to transmit the information to a computing device associated with the certifier 116A. For example, the system may transmit the information to the computing device over a communications network (e.g., the Internet). The information includes information about the data standards and data assets paired in the certificates assigned to the certifier 116A.
[0099] FIG. 2D further illustrates an exemplary graphical user interface (GUI) through which the verifier 116A performs the certification. In the example of FIG. 2D, the GUI illustrates certification 140A of whether the data asset 106A complies with the data standard 104A. The GUI provides the verifier 116A with access to the data standard 104A and the data asset 106A, thereby enabling the verifier 116A to identify compliance. In some embodiments, the GUI may provide access to information about the data standard 104A. For example, the GUI may display a name and / or description of the data standard 104A. In other examples, the GUI may provide the verifier 116A with a link that, when selected, directs the user to a GUI that displays information about the data standard 104A. In some embodiments, the GUI may provide access information about the data asset 106A. For example, the GUI may display attribute values of the data asset 106A, a name of the data asset 106A, a description of the data asset 106A, and / or other information about the data asset 106A. In other examples, the GUI may provide the verifier 116A with a link that, when selected, takes the verifier 116A to a GUI that displays information about the data asset 106A.
[0100] As shown in FIG. 2D, the GUI includes a section where a user may enter certification information 142A for the certification 140A. The certification information 142A includes an input 144A indicating whether the data asset 106A complies with the data standard 104A. As shown in FIG. 2D, the certifier 116A may select "meets" or "does not meet" to indicate the certification. In some embodiments, the input 144A may allow a user to provide an input indicating that the data asset 106A complies with the data standard 104A, does not comply with the data standard 104A, partially complies with the data standard 104A, or that the data asset 106A is still under review. The certification information 142A further includes a comment 144B where the certifier 116A may enter other comments for the certification. In the example of FIG. 2D, the GUI provides a text field in which the user may enter the comment. In some embodiments, the user may provide the comment 144B through speech, text input, or any other suitable input mechanism. The certification information 142A further includes evidence 144C. In some embodiments, the certifier 116A may be requested to provide evidence 144C to support the certification regarding whether the data asset 106A meets the data standard 104A. In the example of FIG. 2D, the certifier 116A may upload a file to support the input 144A of whether the data asset 106A meets the data standard 104A. In some embodiments, the evidence 144C may include documents, files, screenshots, images, text, audio data, and / or other data as evidence of the certification 140A. The GUI of FIG. 2D further provides a “Send Certification” button 144D that the certifier 116A may select (e.g., after entering the certification information 142A) to send the certification 140A. In response to the selection of the button 144D, the system may update the certification 140A in the system. For example, the system may upload the certification information 142A into a data object that stores information about the certification 140A.
[0101] In some embodiments, the system may be configured to use the attestation 140A to verify whether the data asset 106A complies with the data standard 104A. The system may be configured to identify the data asset 106A as complying with the data standard 104A when the attestation information 142A indicates that the data asset 106A complies with the data standard 104A. The system may be configured to identify the data asset 106A as not complying with the data standard 104A when the attestation information 142A indicates that the data asset 106A does not comply with the data standard 104A. The system may be configured to identify the data asset 106A as partially complying with the data standard 104A when the attestation information 142A indicates that the data asset 106A partially complies with the data standard 104A. In some embodiments, the system may be configured to obtain the attestation information 142A from a computing device of the verifier 116A. In some embodiments, the system may be configured to generate an attestation object and store the attestation information 142A in the attestation object. The attestation object may provide a record of the validation for reference (eg, for review by the compliance manager 118).
[0102] FIG. 2E illustrates an exemplary graphical user interface for a compliance project 120A, according to some embodiments of the techniques described herein. In some embodiments, the system may provide the GUI illustrated in FIG. 2E to the compliance manager 118 for the compliance manager 118 to identify the conformance of a data asset with a data governance policy. For example, the system may create a compliance project 120A to identify whether a data asset conforms to a data governance policy 102A. In the example of FIG. 2E, the compliance project 120A includes compliance reviews 122A, 122B. The compliance review 122A is for identifying the conformance of a data asset with a data standard 104A, and the compliance review 122B is for identifying the conformance of a data asset with a data standard 104B. Exemplary techniques for generating a compliance project are described herein with respect to FIG. 3 and FIG. 7.
[0103] As shown in FIG. 2E, the compliance review 122A includes attestation 140. Attestation 140 may include attestations for each data asset in the set of data assets associated with data standard 104A. In the example of FIG. 2E, attestation 140 includes attestations 140A, 140B, and 140C. Attestation 140A includes a pairing of data standard 104A and data asset 106A and attestation information 142A. Attestation 140B includes a pairing of data standard 104A and data asset 106B and attestation information 142B. Attestation 140C includes a pairing of data standard 104A and data asset 106C and attestation information 142C. As shown in FIG. 2E, each of attestations 140A, 140B, and 140C is assigned to a respective certifier 116A, 116B, and 116A. The attestation information may be provided by the certifier as described herein with respect to FIG. 2D.
[0104] As shown in FIG. 2E, the compliance review 122B includes a certification 150. The certification 150 may include certifications for each data asset in the set of data assets associated with the data standard 104B. In the example of FIG. 2E, the certification 150 includes certifications 150A, 150B. The certification 150A includes a pairing of the data standard 104B and the data asset 106C and certification information 152A. The certification 150B includes a pairing of the data standard 104B and the data asset 106D. As shown in FIG. 2E, each of the certifications 150A, 150B is assigned to a respective certifier 116A, 116C. The certification information may be provided by the certifier as described herein with respect to FIG. 2D. The certification 150B does not include certification information because the certifier 116C may not have sent certification information. For example, the certification 150B may be in a certification queue for the certifier 116C, but has not yet been made by the certifier 116C. In other instances, the certifier 116C may not have selected the "Send Certification" button in the GUI to submit the certification information.
[0105] The GUI of FIG. 2E includes status indications for compliance project 120A and compliance review 122A, 122B. Project status 121A indicates the percentage of completion of the compliance review for compliance project 120A. In the example of FIG. 2E, 75% of the compliance review for compliance project 120A is complete. Review status 124A for compliance review 122A indicates it is 100% complete. This may indicate that all of the attestations 140 for compliance review 122A are complete. Review status 124B for review compliance review 122B indicates 50% complete. This may indicate that 50% of the attestations 150 for compliance review 122B are complete. In some embodiments, the system may use review status 124A, 124B to identify project status 121A. In the example of FIG. 2E, the system may average the 100% complete indication for review status 124A and the 50% indication for review status 124B to obtain a 75% indication for project status 121A.
[0106] FIG. 2F shows a diagram illustrating interactions between components of the data processing system 100 according to some embodiments of the techniques described herein. As shown in FIG. 2F, the data standards of the data governance policies 102A, 102B are associated with respective collections of data assets 106 through respective sets of data asset criteria 112. For example, the policy manager 114 may associate the data standards 104A, 104B, 104C, 104D with the data asset criteria as described herein with respect to FIG. 2B. The system may use the data asset collection to generate a compliance project 120. The compliance manager 118 may use the compliance project 120 to identify that the data assets comply with the data governance policies 102A, 102B as described herein with respect to FIG. 2E. As shown in FIG. 2E, each compliance project includes one or more compliance reviews, each of which includes one or more certifications. The certifier may submit certification information, which the system stores in the certification. The prover 116A transmits proof information 142A for the proof 140A as described herein with respect to FIG. 2C.
[0107] 3 shows a diagram illustrating the generation of an example compliance project 120A according to some embodiments of the techniques described herein. The process shown in FIG. 3 may be performed by a data governance system of the data processing system 100 described herein with respect to FIGS. 2A-2F. The system may generate the compliance project 120A to verify whether one or more data assets of a collection of data assets conform to one or more data standards.
[0108] As shown in FIG. 3, the system first generates a compliance project 120A. After generating the compliance project 120, the system uses the data governance system shown in FIG. 2B to identify an association between the data asset collection 110A and the data standard 104A. The system may be configured to use the association between the data asset collection 110A and the data standard 104A to identify assets to be reviewed in the compliance project 120A. In some embodiments, the system may be configured to identify data assets using data asset criteria 112A corresponding to the data asset collection 110A. The system may be configured to identify data assets 106A, 106B, and 106C as satisfying the data asset criteria 112A (e.g., the data assets include data obtained from the United States). The identified data assets may be those identified as being members of the data asset collection 110A at a certain point in time. For example, the system may use attributes of the data assets to identify whether the data assets are members of the data asset collection 110A at the time the compliance project 120A is generated. In other examples, the system may identify a data asset using previously identified members of the data asset collection 110A.
[0109] As shown in FIG. 3, each of data assets 106A, 106B, 106C is associated with one or more users. Data asset 106A is associated with user 202A, data asset 106B is associated with user 202B, and data asset 106C is associated with user 202C. In some embodiments, the system may identify a user responsible for the data asset using data within the data asset. For example, the data asset may include an attribute that identifies a user. In some embodiments, a user may be responsible for managing the data asset. For example, a user may be designated as a "business data steward" of the data asset. An identifier (e.g., a name, an identification number, or other identifier) may be stored as an attribute value within the data asset.
[0110] After identifying the association between the set of data assets 110A and the data standard 104A, the system identifies a user who will certify whether the data assets 106A, 106B, 106C conform to the data standard 104A. In some embodiments, the system may be configured to automatically identify a user (e.g., a business data steward) indicated by the attributes of each of the data assets 106A, 106B, 106C as the user who will certify whether the data assets 106A, 106B, 106C conform to the data standard 104A. As shown in FIG. 3, the system identifies (1) a certifier 116A who will certify whether the data asset 106A conforms to the data standard 104A, (2) a certifier 116B who will certify whether the data asset 106B conforms to the data standard 104A, and (3) a certifier 116B who will certify whether the data asset 106C conforms to the data standard 104A.
[0111] In some embodiments, the system may be configured to provide each user with information to perform a certification (e.g., as described herein with respect to FIG. 2D). In the example of FIG. 3, the system may provide the verifier 116A with information indicative of the data standard 104A and information (e.g., attribute values) about the data assets 106A and 106C. The system may provide the verifier 116B with information indicative of the data standard 104A and information (e.g., attribute values) about the data assets 106B. For example, the system may provide the certifications to the verifiers in their respective queues. The verifiers may perform the certifications using a GUI as described herein with respect to FIG. 2D.
[0112] FIG. 4A illustrates an example of a data governance policy 232 and its constituent data standards 234, according to some embodiments of the technology described herein. Data governance policy 232 may include other data standards not shown in FIG. 4B, as indicated by dots in data governance policy 232. Data governance policy 232 includes name 232A: "Sensitive data shall be handled and stored in accordance with any governing standards." Data governance policy further includes description 232B: "Sensitive data is data that meets one or six different criteria." In some embodiments, data governance policy 232 may further include a list of data standards for data governance policy 232. In some embodiments, data governance policy 232 may include references to data standards.
[0113] The data standard 234 includes a name 234A: "Sensitive information must be stored only in systems that do not have external data access." The data standard 234 includes a description 234B: "Datasets marked as 'Sensitive' must be stored only in systems that are certified by IT security to be protected from external data access." The data standard 234 includes a representation 234C of the proof of attestation required to confirm conformance with the data standard 234: "IT security certification must be linked for systems that store sensitive data sets and direct sources or target data sets that are not substantially transformed (as indicated by lineage)." The data standard 234 includes a list 234D of data asset sets with which the data standard 234 is associated (e.g., "Sensitive Data Sets"). As shown in the example of FIG. 4A, the data standard 234 is associated with a sensitive data set 237 of the data asset set through an association with a data asset criterion 236 corresponding to the sensitive data set 237. The data standard 234 may be associated with the data asset criterion 236 and / or the sensitive data set 237 as described herein in connection with FIG. 2B.
[0114] 4B illustrates an example of a compliance project 238 and its constituent compliance reviews 240 according to some embodiments of the technology described herein. Compliance project 238 may also include other compliance reviews not shown in FIG. 4B, as indicated by the dots. Compliance project 238 includes a name 238A: "Quarterly Data Handling Review." Compliance project 238 includes a description 238B: "Review handling of sensitive data sets and certify that they comply with all applicable data standards." In some embodiments, compliance project 238 may further include a list of compliance reviews that are part of compliance project 238.
[0115] Compliance assessment 240 includes name 240A: "Trade Confidential Data Set." Compliance assessment 240 includes description 240B: "Certify compliance with each applicable data standard for each data set marked as confidential." Compliance assessment 240 further includes a list 240C of data asset sets with which compliance assessment 240 may be associated. In the example of FIG. 2E, list 240C includes a data asset set, "Confidential Data Set." The data asset set may be associated with a data standard associated with compliance assessment 240. Compliance assessment 240 further includes a list 240D of certifications that are part of compliance assessment 240 (e.g., "Confidential Data Set 1" paired with "Data Standard A" and "Confidential Data Set 2" paired with "Data Standard A"). Certifications 240D include respective certification information and certifiers.
[0116] Figure 5A is a diagram illustrating an example environment 200 in which data processing system 100 may be used, in accordance with some embodiments of the techniques described herein. The example of Figure 5A is an implementation in which data processing system 100 is used for metadata management. It should be understood that the techniques described herein are not limited to application to a particular type of data, but may be used in any data processing system that uses data assets, regardless of whether the data being managed is metadata or any other type of data (e.g., transactions, files, data, records, tables, etc.).
[0117] 5A illustrates an enterprise system that includes systems 209A, 209B, and 209C. Systems 209A, 209B, and 209C may be distributed across multiple geographic locations (e.g., different cities, countries, continents, etc.). Each of systems 209A, 209B, and 209C may store large amounts of data (e.g., in one or more database systems, data warehouses, data lakes, etc.). For example, systems 209A, 209B, and 209C may be part of an enterprise system of a global bank, with system 209A in the United States, system 209B in Brazil, and system 209C in Europe.
[0118] As shown in the exemplary embodiment of FIG. 2A, each of the systems 209A, 209B, 209C includes a respective set of computing devices. For example, each of the systems may include one or more servers, user devices, and / or databases. During operation of the enterprise system, each of the systems 209A, 209B, 209C may generate and / or store large amounts of data (e.g., terabytes of data). For example, the enterprise system may be a credit card company system, where each of the systems 209A, 209B, 209C generates and / or stores transaction data, credit scores, and / or any other suitable data. In another example, the enterprise system may be a bank system, where each of the systems 209A, 209B, 209C generates and / or stores bank records, loans, account holders, and / or any other suitable data. In another example, the enterprise systems may be telephone company systems, with each of systems 209A, 209B, 209C generating and / or storing telephone calls, text messages, data usage, and / or any other suitable data.
[0119] In some embodiments, systems 209A, 209B, 209C may be configured to store data (e.g., of an enterprise system). Each of systems 209A, 209B, 209C may include a database, a data warehouse, a data lake, and / or any other database system. Systems 209A, 209B, 209C may be any suitable type of database system, either of the same type or of different types. For example, each of these systems may include one or more relational database systems (e.g., ORACLE, SQL SERVER, etc.). As another example, in some embodiments, each of these systems may include one or more other types of database systems (e.g., non-relational (e.g., NoSQL) database systems, multi-file systems, or any other suitable type of database system).
[0120] In the example embodiment of FIG. 2A, data processing system 100 stores information 207 that describes data stored in systems 209A, 209B, 209C. In this sense, information 207 can be considered metadata. Metadata can include any of many types of information about data stored in enterprise systems 209A, 209B, 209C. For example, metadata can include information about the systems that process the data, software applications running in the enterprise systems used to process the data, and / or the application's rules in storing the data. In another example, metadata can include information about data throughout enterprise software systems, such as how the data was generated, the size of the data, a description of the data, which users have permission to read, update, create, delete, or perform any other action on the data, and / or any other suitable information about the data.
[0121] In some embodiments, data processing system 100 may be configured to manage metadata using data assets. For example, data processing system 100 may store a data asset for each of a number of datasets (e.g., tables) stored by an enterprise system. Each such data asset may store information about the dataset (e.g., when the dataset was created or updated, where the dataset was stored, the size of the dataset, identities of users authorized to read, edit, delete, or perform any other suitable actions on the dataset, information identifying which software applications use the dataset, information identifying the sensitivity level of the data in the dataset, and / or any other suitable metadata). As another example, data processing system 100 may store a data asset for each column of a table in an enterprise system. Each such data asset may store information about the column (e.g., the meaning of values in the column, who has authority to read, write, update, and / or delete values in the column, the range of allowed values for entries in the column, and / or any other suitable metadata). As yet another example, data processing system 100 may store a data asset for each of a number of software applications configured to be executed by any system or device portion of the enterprise system. Such data assets may store information about a software application (e.g., what data sets the software application processes, where the application places its output, a description of the application's functionality, the version of the application, the application's dependencies on data and / or other applications, where the application's executable files can be found, and / or any other suitable metadata). As yet another example, data processing system 100 may store data assets for each of multiple system parts that are part of an enterprise system.
[0122] As can be seen from the above, in such a metadata management scenario, data processing system 100 may manage millions or even billions of such data assets, and therefore, it is important to efficiently verify whether the data assets conform to applicable data standards.
[0123] In some embodiments, data processing system 100 may be configured to obtain information about data from various systems 209A, 209B, 209C. For example, data processing system 100 may query databases of systems 209A, 209B, 209C for metadata of various systems 209A, 209B, 209C. In some embodiments, data processing system 100 may be configured to generate metadata using information obtained from systems 209A, 209B, 209C (e.g., by querying database systems for metadata). In some embodiments, data processing system 100 may be configured to store metadata about data stored in systems 209A, 209B, 209C. For example, systems 209A, 209B, 209C may each be a data lake, a data warehouse, a database system, or other types of systems. The metadata may be stored using data assets, as described herein.
[0124] In some embodiments, the data processing system 100 may be configured to store data governance policies and / or data standards as data assets of the data processing system 100. For example, the data processing system 100 may store the data governance policy 102A as a data asset. The data asset may include information (e.g., stored in one or more attribute fields). The data asset may store information indicative of the data standards 104A, 104B of the data governance policy 102A. For example, the data asset may store references to the data standards 104A, 104B, which may each be stored as a respective data asset managed by the data processing system 100. A data asset that stores a data governance policy (a "data governance policy set") may store information including a textual description of the data governance policy. For example, the data governance policy set may include a statement of the policy. A data asset that stores a data standard (a "data standard asset") may include a textual description of the degree of conformance with the data governance policy. For example, a data standard asset for data standard 104A may include a textual description of the degree of conformance associated with the data asset (eg, the data asset must be from an inclusion in a list of trusted sources).
[0125] The data processing system 100 may be configured to associate a data standard with one or more data asset collections, as described herein with respect to FIG. 2B. In some embodiments, the data processing system 100 may be configured to associate a data standard with a data asset collection by storing an association between the data standard and the data asset collection. For example, the system may store an association between the data standard 104A and the data asset collection 110A. The system may store a representation of the data asset collection 110A as part of the data standard asset of the data standard 104A. For example, the data standard asset may include a field that lists the associated data asset collection. The data standard asset of the data standard 104A may list the data asset collection 110A in that field. In some embodiments, the data standard asset may include a reference to the one or more data asset collections with which the data standard is associated.
[0126] In some embodiments, the data processing system 100 may be configured to dynamically update the components of the data asset set. The data processing system 100 may be configured to identify the components of the data asset set at a point in time by (1) selecting one or more assets using one or more criteria that define the data asset set, and (2) including the selected data assets in the data asset set. In some embodiments, the data processing system 100 may be configured to update the components of the data asset set when a data asset in the data asset set is scheduled to be attested (e.g., to provide an updated list of data assets to be attested). In some embodiments, the data processing system 100 may be configured to update the components of the data asset set periodically (e.g., daily, weekly, monthly, or at other suitable time intervals). In some embodiments, the data processing system 100 may be configured to update the components of the data asset set in response to a command (e.g., a command entered by a user).
[0127] In some embodiments, a user identified for pairing a data standard with a data asset may be responsible for attesting whether the data asset complies with the data standard. Data processing system 100 may be configured to transmit information about the data asset and the data standard to a computing device associated with the user. Data processing system 100 may be configured to receive input from the computing device indicative of a certification by the user regarding whether the data asset complies with the data standard. In some embodiments, data processing system 100 may be configured to generate a workflow through which a user may view information about and provide input about the data asset and the data standard. In some embodiments, data processing system 100 may be configured to provide a graphical user interface (GUI) that guides a user through the attestation process. The system may be configured to verify whether the data asset complies with the data standard based on the input indicative of the attestation.
[0128] In some embodiments, the system may be configured to generate a certification object. The certification object may store an association between an identified user and a pairing of a data standard and a data asset. For example, data processing system 100 may store an association between a user and a pairing of a data standard and a data asset in the certification object. In some embodiments, the certification object may be stored as a data asset of data processing system 100 ("certification data asset"). In some embodiments, data processing system 100 may be configured to track a status of a compliance review and / or compliance project using the certification object. The system may store the status and / or certification results in the certification object. The system may be configured to identify a status of the compliance review and / or compliance project based on a certification status therein (e.g., as indicated by the certification object). In some embodiments, the system may be configured to identify certification statistics for the compliance review and / or compliance project. The statistics may provide a view of the verification of compliance with data policies and / or data standards in data processing system 100. For example, a user may view information such as the number of compliance projects, the number of compliance reviews, the percentage of compliance reviews or projects that are complete, the percentage of compliance reviews or projects that are not complete, and other statistics.
[0129] 5B shows a block diagram illustrating aspects of an exemplary data processing system 100 in accordance with some embodiments of the techniques described herein. The data processing system 100 includes a graphical user interface (GUI) module 210, a data governance system 220, and a data persistence layer 230.
[0130] In some embodiments, GUI module 210 may enable a user to interact with data processing system 100 by generating various GUIs through which the user may interact with data processing system 100. GUI module 210 includes a definition user interface (UI) module 212, a compliance UI module 214, and a certification UI module 216.
[0131] In some embodiments, the definition UI module 212 may be configured to generate a GUI that allows for the definition of data governance policies, data standards, and data asset collections in the data processing system 100. The GUI may allow a policy manager (e.g., policy manager 114) to define a data governance policy. For example, the GUI may allow a policy manager to create a new data governance policy and define the data governance policy (e.g., guidelines or rules specified by the data governance policy). The GUI may allow a policy manager to generate one or more data standards as part of the data governance policy. The GUI may allow a policy manager to create a new data standard. The GUI may allow a policy manager to input the rules and / or requirements of the data standard (e.g., social security numbers shall conform to a standard format NNN-NN-NNNN, where N is an Arabic digit between 0 and 9). The GUI may allow a compliance manager (e.g., compliance manager 118) to provide input indicating an association of a data standard with one or more data asset collections. For example, the GUI may allow a compliance manager to select one or more data asset sets to which the data standard applies from a list of previously generated data asset sets.
[0132] In some embodiments, the definition UI module 212 may be configured to generate a GUI that allows the policy manager to create a new data asset collection. The GUI may allow the policy manager to provide input through the GUI indicating one or more criteria that data processing system 100 may use to generate the data asset collection. For example, the GUI may allow a user to specify criteria, including location, type of data asset, application, area, size, name, and / or other criteria, that data processing system 100 may use to generate the data asset collection.
[0133] In some embodiments, the definition UI module 212 may be configured to generate a GUI that displays information about a data governance policy. The GUI displays the name of the data governance policy, the rules specified by the policy, and / or one or more data standards of the data governance policy. In some embodiments, the GUI may allow a user to be directed to a data standard of the data governance policy (e.g., by providing a link to a GUI that displays information about the data standard). In some embodiments, the definition UI module 212 may be configured to generate a GUI that displays information about a data standard. The GUI may display the name of the data standard, the degree of compliance of the data standard, a data asset collection associated with the data standard, and / or the data governance policy to which the data standard belongs. The GUI may allow a user to view a list of data assets in a data asset collection. For example, the GUI may allow a user to select a data asset collection and, in response, display a list of data assets in the selected data asset collection.
[0134] In some embodiments, the compliance UI module 214 may be configured to generate a GUI that may enable a compliance manager (e.g., the compliance manager 118) to create a compliance project. The GUI may enable a user to provide input through the GUI indicating data governance policies and / or data standards to be verified in the compliance project. The GUI may further enable the compliance manager to create one or more compliance reviews for the compliance project. For example, the GUI may enable the compliance manager to select a data standard for which a compliance project is to be created. In another example, the GUI may enable the compliance manager to select a data asset for which a compliance project is to be created. The compliance UI module 214 may be configured to generate a GUI that may enable the compliance manager to view information about the compliance review of the compliance project. The GUI may display the name of the compliance project, an indication of the data standard (e.g., name, degree of compliance, etc.), an indication of the data asset (e.g., name), and / or other information.
[0135] In some embodiments, the compliance UI module 214 may be configured to generate a GUI (e.g., as depicted in FIG. 2E ) that allows a compliance manager to view information about a created compliance project. For example, the GUI may display the name of the compliance project, a list of compliance assessments for the compliance project, a list of certifications for the compliance project, a status of the compliance project (e.g., determined based on the status of its constituent compliance assessments), statistics about the compliance project (e.g., number of data assets, data standards, percent of certifications completed, percent of certifications incomplete, etc.), and / or other information about the compliance project. The GUI may provide the compliance manager with a graphical view of the status of the compliance project. For example, the GUI may display graphical elements that indicate the status of one or more compliance assessments that are part of the compliance project and / or the status of the compliance project as a whole. In some embodiments, the compliance UI module 214 may be configured to generate a GUI that allows a compliance manager to view information about the compliance assessment. For example, the GUI may display a list of certifications for the compliance assessment, data standards associated with the assessment, and / or data assets associated with the compliance assessment.
[0136] In some embodiments, the certification UI module 216 may be configured to generate a GUI (e.g., as described herein with respect to FIG. 2D ) through which the certifier may perform the certification. The GUI may allow the certifier to view information about the data standard and the data asset. For example, the GUI may allow the certifier to be directed to a GUI that displays information about the data standard (e.g., the degree of compliance) and a GUI that displays information about the data asset (e.g., attribute values). The GUI may be configured to allow a user to input information as part of the certification. For example, the GUI may allow the certifier to provide a textual statement, attach files, display references to other data assets, and / or provide other information. In some embodiments, the GUI may provide the certifier with a list of options from which the certifier can select to provide inputs indicative of the certification. For example, the list of options may include inputs that the data asset complies with the data standard, the data asset does not comply with the data standard, the data asset partially complies with the data standard, the certification is not defined, or the data standard does not apply. In some embodiments, this GUI may enable a certifier to create a ticket to resolve a non-compliant data asset (eg, if the data asset does not comply with a data standard).
[0137] 5B, the module for the GUI 210 may send a data request 216 to a data governance system 220. The data governance system may provide data 218. The module 210 may use the data 218 to populate the GUI with information. For example, the module 210 may use the data 218 to display information about a data governance policy, a data standard, a data asset collection, a data asset, a compliance project, or a compliance review.
[0138] As shown in FIG. 2F, the data governance system 220 of the data processing system 100 includes a definition module 222, a compliance module 224, and a certification module 226.
[0139] In some embodiments, the definition module 222 may be configured to generate a data governance policy, constituent data standards, and / or a collection of data assets. The definition module 222 may be configured to associate a collection of data assets with a data standard (e.g., as described herein with respect to FIG. 2B). In some embodiments, the definition module 222 may be configured to store the data governance policy and / or the data standard as a data asset of the data processing system 100. The definition module 222 may be configured to store, for example, information about the data governance policy (e.g., statement of rules, name, constituent data standards) as attribute values in the data asset. The definition module 222 may be configured to store, for example, information about the data standard (e.g., name, description of degree of compliance, list of associated collection of data assets, and / or reference to data governance policy) as attribute values of the data asset.
[0140] In some embodiments, the definition module 222 may be configured to generate the data asset collection. The definition module 222 may be configured to generate the data asset collection using one or more criteria (e.g., indicated by user input through a GUI). The definition module 222 may be configured to use the one or more criteria to select one or more of the data assets managed by the data processing system 100 that match the one or more criteria. The definition module 222 may be configured to include the selected data assets in the data asset collection. In some embodiments, the definition module 222 may be configured to update the data asset collection. After selecting data assets in the data asset collection, the definition module 222 may be configured to update the data asset collection by (1) identifying one or more of the data assets that match the one or more criteria, and (2) including the identified data assets in the data asset collection. The identified data assets may differ from data assets previously in the data asset collection (e.g., due to updates to one or more data assets).
[0141] In some embodiments, the definition module 222 may be configured to store an association between a data standard and one or more data asset sets. For example, the definition module 222 may store a list of the data asset sets in a field of a data standard asset. In some embodiments, the definition module 222 may be configured to store a reference to the data asset set in a field of a data standard asset.
[0142] In some embodiments, the compliance module 224 may be configured to manage validation of conformance with data governance policies and / or data standards. The compliance module 224 may be configured to generate compliance projects and their constituent compliance reviews (e.g., compliance project 238 and compliance reviews 122, 246). The compliance module 224 may be configured to pair data standards with the data assets to which they apply. The compliance module 224 may be configured to pair data standards with the data assets by (1) identifying a set of data assets associated with the data standard (e.g., via the definition module 222) and (2) pairing the data standard with each of the data assets in the set of data assets. The compliance module 224 may further be configured to identify a user for pairing the data standard with the data asset. The compliance module 224 may be configured to automatically identify a user involved in (e.g., attesting to) the pairing of the data standard with the data asset using information from the data asset (e.g., an attribute value indicative of a user responsible for the data asset).
[0143] In some embodiments, the compliance module 224 may be configured to generate a compliance project. In some embodiments, the compliance module 224 may be configured to generate a compliance project for managing validation of conformance with a data governance policy. The compliance project may include a compliance review for each data standard of the data governance policy. For example, the compliance project may include a compliance review for each data standard of the data governance policy. In another example, the compliance project may include a compliance review for each set of data assets associated with the data standards of the data governance policy. The compliance module 224 may further be configured to generate an attestation object for each pairing of a data asset with an applicable data standard. The compliance module 224 may identify a user to attest that the data asset conforms to the applicable data standard.
[0144] In some embodiments, the compliance module 222 may be configured to identify information about a compliance project. For example, the compliance module 222 may be configured to identify a status of a compliance project and / or its constituent compliance reviews. The compliance module 222 may be configured to identify a status of a compliance review based on a status of one or more certifications in the compliance review. For example, the compliance module 222 may identify a number of completed or incomplete certifications in the compliance review and / or compliance project, and based thereon, the compliance module 222 may identify a status of the compliance review and / or compliance project. The compliance module 222, in some embodiments, may identify a certification as complete when a certification of whether or not a data asset complies with a data standard is identified (e.g., as indicated by an input from a computing device). In some embodiments, for data assets that do not comply with and / or are partially compliant with a data standard, the compliance module 222 may request that an action be taken to identify the certification as complete. For example, the compliance module 222 may request that a ticket be created for the non-compliant and / or partially compliant data assets.
[0145] In some embodiments, the attestation module 226 may be configured to obtain a certification of whether a data asset complies with a data standard. In some embodiments, the attestation module 226 may be configured to obtain the attestation by obtaining input (e.g., received through a GUI generated by the attestation UI module 216) indicating a certification by a user regarding whether a data asset complies with a data standard. The attestation module 226 may be configured to generate an attestation object that stores information indicating the attestation. In some embodiments, the attestation object may further store a status of the attestation (e.g., completed or incomplete) identified by the attestation module 226. In some embodiments, the attestation module 226 may be configured to guide a verifier through a process flow for performing the attestation. For example, the process flow may provide the verifier 202C with information about the data standard, the data asset, and the mechanism through which the verifier can demonstrate the attestation. The attestation module 226 may further store information related to the attestation. For example, the attestation module 226 may store in the attestation object data as evidence of the attestation and / or a statement from the verifier regarding the attestation.
[0146] In some embodiments, the data governance system 220 may be configured to access data stored by the data processing system 100 (e.g., in the data persistence layer 230). As shown in FIG. 5B, the data governance system 220 may be configured to send a data request 226 to the data persistence layer 230 and receive data responsive to the data request 226. In some embodiments, the data governance system 220 may be configured to send a query for the data. For example, the data governance system 220 may send an SQL query for the data. In some embodiments, the data 228 may be data specified by the request. For example, the data 228 may be one or more values requested in the query.
[0147] In some embodiments, the queries may be customized to be vendor-specific. For example, different vendors (e.g., MICROSOFT, ORACLE, IBM, POSTGRESQL, etc.) may implement different dialects of SQL and / or provide extensions to the SQL standard. In such a situation, an executable query may be generated for a target database system (e.g., ORACLE) using syntax and / or commands implemented by the target database system (e.g., using any specialized syntax and / or commands implemented by ORACLE). Additionally or alternatively, the query may include optimizations for queries that may be supported by the target database system. Thus, in some embodiments, queries for one type of database (e.g., executable SQL queries for a MICROSOFT SQL SERVER database) may differ from queries for another type of database (e.g., executable SQL queries for IBM DB2), even though both queries are generated from the same underlying intermediate representation.
[0148] As shown in FIG. 5B , the data persistence layer 230 stores the data assets 106, the data governance policies 102, the data standards 104, the compliance projects 120, the compliance reviews 122, and the certifications 130. In some embodiments, the data persistence layer 230 may include a data store for storing data. In some embodiments, the data store may include a relational database system, whereby the data may be stored in tables of the relational database system. However, the data store is not limited to being a relational database system, as the data store may be configured to store data in any suitable manner. For example, the data store may include an object-oriented database, a distributed database, a NoSQL database, and / or any other suitable database. In some embodiments, the data governance policies 102, the data standards 104, the compliance projects 120, the compliance reviews 122, and / or the certifications 130 may be stored as data assets.
[0149] In some embodiments, each of the data persistence layers 230 may include one or more storage devices that store data in one or more formats of any suitable type. For example, the storage device portion of the data store may store data using one or more database tables, spreadsheet files, plain text files, and / or files in any other suitable format (e.g., mainframe native format). The storage devices may be of any suitable type and may include one or more servers, one or more database systems, one or more portable storage devices, one or more non-volatile storage devices, one or more volatile storage devices, and / or any other device configured to electronically store data. In embodiments in which the data store includes multiple storage devices, the storage devices may be located in one physical location (e.g., in one building) or may be distributed across multiple physical locations (e.g., multiple buildings, different cities, states, or countries). The storage devices may be configured to communicate with each other using one or more networks of any suitable type, and aspects of the technology described herein are not limited in this respect.
[0150] In some embodiments, the data persistence layer 230 may be configured to store data assets as data entity instances. A data asset may therefore be a data entity instance defined by a data entity. For example, the data processing system 100 may include data entities that define data governance policies, data standards, compliance projects, compliance reviews, and / or certifications. Information about the data governance policies, data standards, compliance projects, and compliance reviews may be stored in the respective data entity instances.
[0151] In some embodiments, data assets 106 may include data assets managed by data processing system 100. Data assets 106 may store, for example, metadata about data sets of a system (e.g., an enterprise system). In some embodiments, data governance policy 102 may include a definition of a data governance policy. For example, data governance policy 102 may include a statement of rules for data assets. Data governance policy 102 may include data standards that constitute it. For example, data governance policy 102 may include data standards 104 that constitute data governance policy 102.
[0152] In some embodiments, a data standard 104 includes a definition of the data standard (e.g., a name and / or rules or standards). A data standard 104 may further include a list of an associated collection of data assets. A data standard 104 may further include a reference to a data governance policy and compliance projects and / or reviews against which the data standard 104 has been validated. A data standard 104 may further include a description.
[0153] In some embodiments, a compliance project 120 may include information about the data governance policies to which the compliance project pertains. A compliance project 120 may include a list of compliance reviews for the compliance project 120. A compliance project 120 may include data standards and / or certifications that are part of the compliance project 120. A compliance project 120 may further include a status of the compliance project 120. In some embodiments, a compliance project 120 includes information about users (e.g., project owners and / or certifiers) responsible for aspects of the compliance project.
[0154] In some embodiments, a compliance review 122 may include information about the data standard associated with the compliance review. A compliance review 122 may further include information about the data asset of the compliance review 122. For example, a compliance review 122 may include information from and / or a reference to the data asset. A compliance review 122 may further include a status. In some embodiments, a compliance review may include information about the user (e.g., project manager) responsible for the compliance review.
[0155] In some embodiments, a certification 130 may include information about the data asset and data standard that is the subject of the certification 130. For example, a certification may include information about the degree of compliance with a data standard and information about the data asset. A certification may include a reference to the data standard and / or the data asset. In some embodiments, a certification includes a status of the certification (e.g., completed, incomplete, started, in progress). In some embodiments, a certification includes an indication of the certifier who will be performing the certification.
[0156] 6 illustrates a flowchart of an example process 600 for use in connection with governance of data assets managed by a data processing system (e.g., data processing system 100) in accordance with some embodiments of the techniques described herein. Process 600 may be performed by any suitable computing device. For example, process 600 may be performed by data processing system 100 described herein with respect to FIGS. 2A-2F.
[0157] Process 600 begins at block 602, where the system accesses a data governance policy that includes a data standard. The system may be configured to access the data governance policy by accessing information that defines the data governance policy. For example, the system may access the data governance policy by accessing information from a data asset that stores information about the governing data governance policy (e.g., a description and list of constituent data standards). As an illustrative example, the system may send a request (e.g., a query) to a data persistence layer to obtain information about the data governance policy. The information may include information about the data standards.
[0158] In some embodiments, the system may be configured to generate a data standard for a data governance policy. For example, the system may be configured to generate the data standard by generating a new data asset associated with the data governance policy. The new data asset may store information about the data standard for the data governance policy. The system may then access the generated data standard.
[0159] Process 600 then proceeds to block 604, where the system generates a data asset collection by selecting from the data assets using one or more data asset criteria. In some embodiments, the data assets may be data assets managed by a data processing system (e.g., data processing system 100). The system may be configured to select from the data assets by (1) identifying one or more data assets that meet the one or more criteria, and (2) selecting the identified booter assets. For example, the system may perform a search using the one or more criteria to identify the data assets. As an illustrative example, in the case of a banking system, the one or more criteria may include: (1) the data asset is a "credit score" data asset, and (2) the data asset stores information about U.S. residents. In this example, the system may identify a "credit score" data asset for U.S. residents. The system may include the identified data asset in the data asset collection.
[0160] In some embodiments, the data asset set may have been previously generated, and in block 604, the system may be configured to update the data asset set. The system may be configured to update the data asset set by (1) identifying one or more data assets that meet one or more criteria, and (2) selecting the identified data assets. The identified data assets may differ from the data assets previously included in the data asset set (e.g., as a result of updating the data assets). The system may be configured to update the data asset set to include the identified data assets. Thus, the data asset set may reflect the current state of the data assets.
[0161] In some embodiments, the system may be configured to obtain one or more criteria. The system may be configured to obtain the one or more criteria by receiving user input (e.g., through a GUI) indicating the one or more criteria. For example, the system may receive user input indicating a selection in a search and / or filter GUI indicating the one or more criteria.
[0162] Next, process 600 proceeds to block 606, where the system associates the data asset set with the data standard. In some embodiments, the system may be configured to associate the data asset set with the data standard by storing an association of the data asset set with the data standard. For example, the system may store a reference to the data asset set within the data standard (e.g., in a data standard asset of the system). In some embodiments, associating the data asset set with the data standard may include associating the data standard with a data asset criteria set that was used to generate the data asset set. For example, the system may store a reference to the data asset criteria set in the data standard.
[0163] In some embodiments, the system may be configured to associate the data asset set with the data standard in response to a command. The command may be a user input indicating a command to associate the data asset set with the data standard. For example, the system may receive a user input indicating the command through a GUI. In response to receiving the command, the system may associate the data asset set with the data standard. In some embodiments, the system may be configured to receive a user input indicating a selection of the data asset set from a list of one or more data asset sets (e.g., previously generated by the system). For example, the system may receive a selection of a GUI element representing the data asset set from a selection of GUI elements representing the respective data asset sets.
[0164] Process 600 then proceeds to block 608, where the system verifies whether one or more data assets in the set of data assets conform to the data standard. The system may be configured to verify whether a data asset in the set of data assets conforms to the data standard by performing process 700 described herein with respect to FIG.
[0165] 7 illustrates a flowchart of an example process 700 for verifying whether a data asset managed by a system complies with a data governance policy, including data standards, associated with the data asset, in accordance with some embodiments of the technology described herein. Process 700 may be performed by any suitable computing device. For example, process 700 may be performed by data processing system 100 described herein with respect to FIGS. 2A-2F.
[0166] Process 700 begins at block 702, where the system identifies a user who will certify whether a data asset complies with a data standard. In some embodiments, the system may be configured to identify the user using information from the data asset. For example, the data asset may include an attribute value that indicates a person responsible for the data asset. The system may identify the user as the person indicated by the attribute value. The system may then automatically identify the person who will be the certifier.
[0167] In some embodiments, the system may be configured to generate a compliance project that includes one or more compliance reviews (e.g., as described herein with respect to FIG. 3). The system may identify users to match them to pairings of data assets with data standards in the compliance review. Users may be assigned pairings to attest to.
[0168] Next, process 700 proceeds to block 704, where the system transmits information about the data assets and data standards to a computing device. The computing device may be associated with a user. In some embodiments, the system may be configured to transmit information about the data assets and data standards to the computing device over a communications network (e.g., the Internet).
[0169] In some embodiments, the system may be configured to obtain information about data assets and data standards. The system may be configured to obtain the information by sending a request (e.g., a query) to a database system (e.g., data persistence layer 230) that stores the data assets and data standards. The system may be configured to receive the information about the data assets and data standards in response to sending the request.
[0170] Process 700 then proceeds to block 706, where the system obtains input from the computing device indicative of a certification by the user regarding whether the data asset complies with the data standard. In some embodiments, the system may be configured to provide the user (e.g., through a GUI and / or workflow) with one or more options. For example, the options may be that the data asset does not comply with the data standard, that it partially complies with the data standard, that it does not comply with the data standard, or that the data standard does not apply. The system may be configured to receive input indicative of a selection of an option. In some embodiments, the system may be configured to obtain certification information that includes input indicative of a certification by the user regarding whether the data asset complies with the data standard. In some embodiments, the certification information may also include other information, such as comments and evidence (e.g., files, documents, links, and / or other suitable evidence).
[0171] In some embodiments, the system may be configured to store a record of the attestation. In some embodiments, the system may be configured to store a record of the attestation in an attestation object. For example, an attestation object may include one or more fields and / or attributes. The system may be configured to store an indication of the attestation in the field or attribute.
[0172] Process 700 then proceeds to block 708, where the system verifies whether the data asset complies with the data standard based on the attestation. For example, the system may identify the data asset as complies with the data standard if the user provides attestation that the data asset fully or partially complies with the data standard. Otherwise, the system may identify the data asset as not complies with the data standard. In another example, the system may identify the data asset as complies with the data standard only if the user provides attestation that the data asset fully complies with the data standard. Otherwise, the system may identify the data asset as not complies with the data standard.
[0173] In some embodiments, the system may be configured to store information indicative of the certification in a certification object (e.g., that is part of a compliance review). In some embodiments, the system may be configured to update the status of the certification, the compliance review, and / or the compliance project based on the certification. For example, the system may update the percentage of completion of the compliance review, the compliance project, and / or the certification to indicate that the certification is complete.
[0174] 8 is a diagram of an example graphical user interface (GUI) 800 that displays information about a data governance policy, according to some embodiments of the technology described herein. The GUI 800 shows information including the name of the policy 802, "Handling Critical Data Elements (CDEs)," and a description of the policy 804. The GUI 800 also displays a list 806 of the data standards that make up the data governance policy. The list 806 includes a description 808 of the data standards.
[0175] 9 is a diagram of an example graphical user interface (GUI) 900 for displaying information about a data standard, according to some embodiments of the technology described herein. The GUI 900 displays a representation 902 of the data governance policy to which the data standard belongs (e.g., information about which is displayed in GUI 800 of FIG. 8 ). The GUI 900 displays the name 904 of the standard and a definition 906 of the standard. The GUI 900 displays a list 908 of a collection of data assets associated with the data standard. As shown in the example of FIG. 9 , when a data asset collection is selected from the list 908, the GUI 900 displays a list 910 of the assets of the data asset collection.
[0176] 10 is a diagram of an example graphical user interface (GUI) 1000 that allows a user to select a data asset set to associate with a data standard from a list of existing data asset sets, according to some embodiments of the techniques described herein. As indicated by graphical element 1002 indicating a selection of "select existing," GUI 1000 displays a list 1004 of previously generated data asset sets from which they may be selected for association with the data standard. GUI 1000 displays selection criteria 1005 associated with the listed data asset sets. As shown in the example of FIG. 10, once a data asset set is selected from list 1004, GUI 1000 displays a list 1006 of data assets for the selected data asset set.
[0177] 11 is a diagram of an example graphical user interface (GUI) 1100 that allows a user to create a new data asset collection for association with a data standard, according to some embodiments of the technology described herein. The GUI 1100 allows a user to create a new data asset collection, as indicated by GUI element 1102. The GUI 1100 allows a user to indicate an asset type 1104 and select a particular data asset 1106. The GUI 1100 displays a list of assets 1108 that will be included in the new data asset collection.
[0178] FIG. 12 is a diagram of another example graphical user interface (GUI) 1200 that allows a user to create a new data asset collection for association with a data standard, according to some embodiments of the technology described herein. As indicated by GUI element 1202, a user selects to create a new data asset collection. The GUI 1200 allows a user to indicate one or more criteria to use to generate the data asset collection. The GUI 1200 allows a user to indicate a data asset type 1204. In the example of FIG. 12, the type of data asset selected is "business data elements." The GUI 1200 allows a user to indicate a region criterion 1206 for the data asset collection. In the example of FIG. 12, the region indicated is "United States." The GUI 1200 further displays a list 1208 of data assets that will be included in the data asset collection based on the criteria indicated by the user.
[0179] 13 is a diagram of an example graphical user interface (GUI) 1300 displaying information about a data standard, according to some embodiments of the technology described herein. The GUI 1300 displays a representation 1302 of the data governance policy to which the data standard belongs. The GUI 1300 displays the name 1304 of the data standard, a definition 1306 of the data standard, and a description 1308 of the evidence required to show whether a data asset complies with the data standard. The GUI 1300 displays a list 1310 of a collection of data assets associated with the GUI 1300. As shown in FIG. 13, the GUI 1300 displays a list 1312 of data assets in the collection of data assets selected from the list 1310.
[0180] 14 is a diagram of an example graphical user interface (GUI) 1400 displaying information about a compliance project, according to some embodiments of the technology described herein. The GUI 1400 displays a name 1402 of the compliance project, a description 1404 of the compliance project, and a time period (e.g., the time period during which the compliance project will be completed) 1406 of the compliance project. The GUI 1400 further displays a project owner 1407 of the compliance project. The GUI 1400 displays a list 1408 of compliance assessments that are part of the compliance project. The list includes a description 1410 of each compliance assessment, the name of the standard 1412 associated with the compliance assessment, and a status 1414 of the compliance assessment. As shown in FIG. 14, the status 1414 may be a graphical element that indicates a current state of the compliance project.
[0181] FIG. 15 is a diagram of an example graphical user interface (GUI) 1500 displaying information about a compliance assessment, according to some embodiments of the technology described herein. The GUI 1500 displays a representation 1502 of the compliance project of which the compliance assessment is a part. The GUI 1500 displays the name 1504 of the compliance assessment, a description 1506 of the compliance assessment, and a time period 1508 of the compliance assessment (e.g., the time period during which the compliance assessment will be completed). The GUI 1500 further displays the project owner 1507 of the compliance assessment and / or the compliance project of which the compliance assessment is a part. As shown in FIG. 15, the GUI 1500 displays a list 1510 of certifications that are performed as part of the compliance assessment. The list 1510 includes a certification identifier 1512 and the name 1514 of the data asset for which the certification is to be performed. The GUI 1500 displays a status 1516 (e.g., as determined from the certification) of whether the data asset complies with the standard or not.
[0182] FIG. 16 is a diagram of an example graphical user interface (GUI) 1600 displaying information about a certification, according to some embodiments of the technology described herein. The GUI 1600 displays information about the compliance project for which the certification is being created, including the name of the compliance project 1602, the duration of the compliance project 1604, and the name of the compliance review of which the certification is a part 1606. The GUI 1600 further displays information about the personnel involved in the certification, including the compliance project owner 1608, and one or more subject matter experts 1610. The GUI 1600 further displays information 1310 about the data standard for which the certification is to be performed. As shown in FIG. 16, the information 1610 about the data standard includes the name of the data standard, the name of the data governance policy to which the data standard belongs, a description of the data standard (e.g., requirements of the rules of the data standard), and a description of the evidence required to certify that a data asset complies with the data standard. The GUI 1600 further displays certification information 1612. Certification information 1612 includes status (e.g., "asset under review") and comments (e.g., "I reviewed the data and this data set is correctly listed as containing PII"). GUI 1600 provides GUI portion 1614 through which a user can submit a certification. For example, a user can provide a statement attesting that the data asset associated with the certification does or does not comply with the data standard associated with the certification.
[0183] FIG. 17 is a diagram of an example graphical user interface (GUI) 1700 displaying information about ongoing compliance projects, according to some embodiments of the technology described herein. The GUI 1700 displays a list 1702 of ongoing compliance projects. The list may be an expandable list where, when a compliance project is selected, the GUI 1700 displays compliance assessments for that compliance project. For example, in the example of FIG. 17, the GUI 1700 displays a list 1706 of compliance assessments for a selected compliance project in the list 1702. The GUI 1700 further displays a GUI element 1704 indicating the status of the compliance project and a GUI element 1708 indicating the status of the compliance assessment. The GUI 1700 further displays a list 1710 of certifications for ongoing compliance projects. The list 1710 may be separated by status (e.g., "not started," "ticket required," "completed," etc.).
[0184] FIG. 18 is a diagram of an example graphical user interface (GUI) 1800 displaying information about the status of certifications of compliance projects, according to some embodiments of the technology described herein. The GUI 1800 provides an interface through which a user may view certifications (e.g., all certifications or certifications related to one or more compliance reviews). The GUI 1800 provides filters 1808 through which a user may filter the certifications. For example, as shown in FIG. 18, the GUI 1800 may allow a user to filter the displayed certifications based on compliance projects (e.g., does not meet data standards, not applicable, partially meets data standards, undefined, meets data standards, as shown in FIG. 18). The GUI 1800 may further allow a user to filter based on the status of the certification (e.g., requires attention or signed off) and subject matter expert. The GUI 1800 displays a list 1802 of certifications based on selected criteria. The GUI 1800 displays a list 1804 of assets for which each certification should be made and a list 1810 of standards to be certified for each certification. The GUI 1800 also displays a list 1806 of the status of the listed certificates.
[0185] FIG. 19 is a diagram of an example graphical user interface (GUI) 1900 that allows a user to edit one or more certifications selected from the GUI 1800 of FIG. 18 in accordance with some embodiments of the techniques described herein. The GUI 1900 allows a user to edit attributes of the selected certification. The attributes include comments, certification rating, project owner, review owner, subject matter expert, and text evidence. In the example of FIG. 19, the user has selected comments 1902 and certification rating 1904. The GUI 1900 provides selectable options 1906 that the user may use to indicate the certification rating. The GUI 1900 provides a text input 1908 for the user to provide comments for the selected certification.
[0186] 20 is a diagram of an example graphical user interface (GUI) 2000 that allows a user to sign off on one or more certifications, in accordance with some embodiments of the technology described herein. The GUI 2000 displays a list 2002 of selected certifications. The GUI 2000 provides the user with the option 2008 to sign off on the selected certifications or to submit the certification.
[0187] 21 is a diagram of an example graphical user interface (GUI) 2100 for displaying information about a data asset, in accordance with some embodiments of the technology described herein. The GUI 2100 displays a name 2102 of the data asset. The GUI 2100 further displays a list 2104 of certifications related to the data asset. The GUI 2100 displays a list 2106 of data standards for the certifications. The GUI 2100 further displays a list 2108 of statuses for the certifications in the list 2104.
[0188] Exemplary Computer System 22 illustrates an example of a suitable computing system environment 2200 on which the technology described herein may be implemented. The computing system environment 2200 is only one example of a suitable computing environment and is not intended to suggest any limitation to the scope of use or functionality of the technology described herein. The computing environment 2200 should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment 2200.
[0189] The technology described herein is operational with many other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and / or configurations that may be suitable for use with the technology described herein include, but are not limited to, personal computers, server computers, handheld or laptop devices, multiprocessor systems, microprocessor-based systems, set-top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, etc.
[0190] A computing environment may execute computer-executable instructions such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The techniques described herein may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
[0191] 22, an exemplary system for implementing the techniques described herein includes a general purpose computing device in the form of a computer 2200. Components of the computer 2210 may include, but are not limited to, a processing unit 2220, a system memory 2230, and a system bus 2221 that couples various system components including the system memory to the processing unit 2220. The system bus 2221 may be any of several types of buses, including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, MicroChannel Architecture (MCA) bus, Enhanced ISA (ELISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus, also known as Mezzanine bus.
[0192] Computer 2210 typically includes a variety of computer readable media. Computer readable media may be any available media that can be accessed by computer 2210, including both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may include computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store the desired information and that can be accessed by computer 2210. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information transport media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer-readable media.
[0193] The system memory 2230 includes computer storage media in the form of volatile and / or nonvolatile memory such as read only memory (ROM) 2231 and random access memory (RAM) 2232. A basic input / output system 2233 (BIOS), containing the basic routines that help to transfer information between elements within the computer 2210, such as during start-up, is typically stored in the ROM 2231. The RAM 2232 typically contains data and / or program modules that are immediately accessible to and / or presently being operated on by the processing unit 2220. By way of example, and not limitation, FIG. 22 illustrates operating system 2234, application programs 2235, other program modules 2236, and program data 2237.
[0194] The computer 2210 may also include other removable / non-removable volatile / non-volatile computer storage media. By way of example only, FIG. 22 illustrates a hard disk drive 2241 that reads from or writes to a non-removable non-volatile magnetic medium, a flash drive 2251 that reads from or writes to a removable non-volatile memory 2252, such as a flash memory, and an optical disk drive 2255 that reads from or writes to a removable non-volatile optical disk 2256, such as a CD ROM or other optical medium. Other removable / non-removable volatile / non-volatile computer storage media that may be used in the exemplary operating environment include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, etc. The hard disk drive 2241 is typically connected to the system bus 2221 through a non-removable memory interface, such as interface 2240, and the magnetic disk drive 2251 and optical disk drive 2255 are typically connected to the system bus 2221 by a removable memory interface, such as interface 2250.
[0195] The drives and associated computer storage media discussed above and illustrated in FIG. 22 provide storage of computer readable instructions, data structures, program modules and other data for the computer 2210. In FIG. 22, for example, hard disk drive 2241 is illustrated as storing operating system 2244, application programs 2245, other program modules 2246, and program data 2247. Note that these components may be the same as or different from operating system 2234, application programs 2235, other program modules 2236, and program data 2237. Operating system 2244, application programs 2245, other program modules 2246, and program data 2247 are given different numbers here to illustrate that, at a minimum, they are different copies. Actors may enter commands and information into the computer 2210 through input devices such as a keyboard 2262 and pointing device 2261, commonly referred to as a mouse, trackball, or touch pad. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 2220 through a user input interface 2260 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port, or universal serial bus (USB). A monitor 2291 or other type of display device is also connected to the system bus 2221 via an interface, such as a video interface 2290. In addition to a monitor, computers may also include other peripheral output devices such as speakers 2297 and printer 2296, which may be connected through an output peripheral interface 2295.
[0196] The computer 2210 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 2280. The remote computer 2280 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 2210, although only a memory storage device 2281 is illustrated in FIG. 22. The logical connections depicted in FIG. 22 include a local area network (LAN) 2281 and a wide area network (WAN) 2283, but may also include other networks. Such networking environments are commonplace in offices, enterprise-wide computer networks, intranets and the Internet.
[0197] When used in a LAN networking environment, the computer 2210 is connected to the LAN 2281 through a network interface or adapter 2280. When used in a WAN networking environment, the computer 2210 typically includes a modem 2282 or other means for establishing communications over the WAN 2283, such as the Internet. The modem 2282 may be internal or external and may be connected to the system bus 2221 via the actor input interface 2260 or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 2210, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation, FIG. 22 illustrates remote application programs 2285 as residing on the memory device 2281. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
[0198] Having described several aspects of at least one embodiment of the technology described herein, it is to be appreciated that various alterations, modifications, and improvements will readily occur to those skilled in the art.
[0199] Such modifications, variations, and improvements are intended to be part of this disclosure and are intended to be within the spirit and scope of this disclosure. Furthermore, although advantages of the technology described herein have been set forth, it should be understood that not every embodiment of the technology described herein includes every described advantage. Some embodiments may not implement any feature described herein as an advantage, and in some cases, one or more of the described features may be implemented to achieve further embodiments. Thus, the above description and drawings are for illustrative purposes only.
[0200] The above embodiments of the technology described herein can be implemented in any of many ways. For example, the embodiments can be implemented using hardware, software, or a combination thereof. When implemented in software, the software code can be executed on any suitable processor or collection of processors, whether provided on one computer or distributed across multiple computers. Such a processor can be implemented as an integrated circuit, where one or more processors are within an integrated circuit component, including commercially available integrated circuit components known in the art under names such as CPU chips, GPU chips, microprocessors, microcontrollers, or coprocessors. Alternatively, the processor can be implemented in custom circuits such as ASICs or semi-custom circuits resulting from constructing programmable logic devices. As a further alternative, the processor can be part of a larger circuit or semiconductor device, whether commercially available, semi-custom, or custom. As a specific example, some commercially available microprocessors have multiple cores, such that one or a subset of the cores can be configured as a processor. However, the processor can be implemented using circuits in any suitable format.
[0201] Further, it should be understood that a computer may be implemented in any of many forms, such as a rack-mounted computer, a desktop computer, a laptop computer, or a tablet computer, etc. Furthermore, a computer may be implemented in devices not generally considered to be computers, but having suitable processing capabilities, including a personal digital assistant (PDA), a smart phone, or any other suitable portable or fixed electronic device.
[0202] A computer may also have one or more input and output devices. These devices may be used, among other things, to present a user interface. Examples of output devices that may be used to provide a user interface include a printer or display screen for visually presenting output and a speaker or other sound generating device for audibly presenting output. Examples of input devices that may be used in a user interface include a keyboard and pointing devices such as a mouse, touchpad, and digitizing tablet. As another example, a computer may receive information entered through speech recognition or in other audible formats.
[0203] Such computers may be interconnected by one or more networks in any suitable form, including as a local area network or as a wide area network such as an enterprise network or the Internet. Such networks may be based on any suitable technology and operate according to any suitable protocol, and may include wireless networks, wired networks, or fiber optic networks.
[0204] Also, the various methods or processes outlined herein may be coded as software executable on one or more processors utilizing any one of a variety of operating systems or platforms. Moreover, such software may be written using any of a number of suitable programming languages and / or programming or scripting tools, and may be compiled as executable machine language code or intermediate code that runs on a framework or virtual machine.
[0205] In this regard, aspects of the technology described herein may be embodied as a computer-readable storage medium (or multiple computer-readable media) (e.g., a computer memory, one or more floppy disks, compact disks (CDs), optical disks, digital video disks (DVDs), magnetic tapes, flash memories, circuit configurations in field programmable gate arrays or other semiconductor devices, or other tangible computer storage media) encoded with one or more programs that, when executed on one or more computers or other processors, perform methods for implementing the various embodiments described above. As is clear from the above examples, a computer-readable storage medium may retain information for a sufficient time to provide computer-executable instructions in a non-transitory form. Such one or more computer-readable storage media may be transportable such that the stored one or more programs can be loaded into one or more different computers or other processors to implement various aspects of the technology as described above. As used herein, the term "computer-readable storage medium" encompasses only non-transitory computer-readable media that can be considered to be a manufacture (i.e., product) or machine. Alternatively or additionally, the techniques described herein may be implemented as a computer-readable medium other than a computer-readable storage medium, such as a propagated signal.
[0206] The terms "program" or "software" are used herein in a general sense to refer to any type of computer code or set of computer-executable instructions that can be utilized to program a computer or other processor to perform various aspects of the technology described herein. Furthermore, in accordance with one aspect of this embodiment, it should be understood that one or more computer programs that, when executed, perform the methods of the technology described herein need not reside on one computer or processor, but may be modularly distributed across several different computers or processors to perform various aspects of the technology described herein.
[0207] Computer-executable instructions may be in many forms, such as program modules, executed by one or more computers or other devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
[0208] Also, the data structures may be stored in the computer-readable medium in any suitable form. For simplicity of illustration, the data structures may be shown with fields that are related through their locations in the data structure. Such relationships may similarly be achieved by assigning storage of the fields to locations in the computer-readable medium that convey the relationship between the fields. However, any suitable mechanism may be used to establish relationships between information in the fields of the data structures, including the use of pointers, tags, or other mechanisms for establishing relationships between data elements.
[0209] Various aspects of the technology described herein may be used alone, in combination, or in a variety of configurations not specifically discussed in the embodiments described above, and therefore, its application is not limited to the details and arrangements of components set forth in the above description or illustrated in the drawings. For example, aspects described in one embodiment may be combined in any manner with aspects described in other embodiments.
[0210] Additionally, the techniques described herein may be implemented as methods, examples of which are provided herein, including with reference to Figures 3 and 7. The acts performed as part of any of the methods may be in any suitable order. Thus, despite being shown as sequential acts in the example embodiments, embodiments may be constructed in which acts are performed in a different order than shown, which may include performing some acts simultaneously.
[0211] Additionally, some actions are described as being performed by an "actor" or "user." It should be understood that an "actor" or "user" need not be a single individual, and in some embodiments, actions attributed to an "actor" or "user" may be performed by an individual in combination with a team of individuals and / or computer-assisted tools or other mechanisms.
[0212] The use of ordinal numbers such as "first," "second," "third," etc. to modify claim elements in the claims does not, of itself, imply any priority, precedence, or ordering of one claim element relative to another, or the temporal order in which method operations are performed, but rather is merely used as a label to distinguish one claim element having a particular name from other elements having the same name (other than the use of the ordinal number).
[0213] Also, the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting. The use herein of "including," "including," "having," "containing," "involving," and variations thereof, implies the inclusion of the items listed thereafter and equivalents thereof, as well as additional items.
Claims
1. 1. A method of determining whether data managed by a data processing system complies with a data governance policy, the data processing system storing the data in a plurality of data assets each including one or more attribute-value pairs, the data governance policy including one or more data standards, each indicating one or more rules that a data asset must satisfy in order to comply with the data standard, the method comprising: Using at least one computer hardware processor, receiving a user input indicating at least one criterion for including a data asset in a first data asset collection; generating the first set of data assets by automatically identifying data assets from among the plurality of data assets that meet the at least one criterion; selecting a first data standard from the one or more data standards of the data governance policy; Associating the first data standard with the first set of data assets; determining whether the data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether data assets in the first set of data assets satisfy one or more rules specified by the first data standard; The method of claim 1,
2. The method of claim 1 , wherein the at least one criterion indicates at least one value that at least one attribute in a data asset must take in order to meet the at least one criterion.
3. selecting a second data standard from the one or more data standards for the data; Associating the second data standard with the first set of data assets; determining whether the data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether the data assets in the first set of data assets satisfy one or more rules specified by the second data standard; The method of claim 1 further comprising:
4. 2. The method of claim 1, further comprising: updating the first set of data assets using the at least one criterion before verifying whether the data assets in the first set of data assets satisfy the one or more rules specified by the first data standard.
5. Updating the first set of data assets using the at least one criterion includes: identifying at least one data asset in the plurality of data assets that is not within the first set of data assets and that meets the at least one criterion; in response to identifying the at least one data asset that meets the at least one criterion, adding the at least one data asset to the collection of data assets; The method of claim 4 , comprising:
6. Updating the first dynamic data asset set using the at least one data asset criterion includes: identifying at least one data asset in the first set of data assets that no longer meets the at least one data asset criterion; in response to identifying the at least one data asset that does not meet the at least one data asset criterion, removing the at least one data asset from the first set of data assets; The method of claim 4 , comprising:
7. Associating the first data standard with the first set of data assets includes: receiving a user input through a graphical user interface (GUI) indicating a selection of the first data asset set from among a plurality of data asset sets; in response to receiving the user input, associating the first data standard with the first set of data assets; The method of claim 1 , comprising:
8. Associating the first data standard with the first set of data assets includes: receiving user input through a graphical user interface (GUI) indicating a selection of the first data standard; in response to receiving the user input, associating the first data standard with the first set of data assets; The method of claim 1 , comprising:
9. 9. The method of claim 8, wherein the GUI displays GUI elements representing a plurality of data asset sets, and the user input indicates a selection of the first data asset set by indicating a selection of one of the GUI elements.
10. The method of claim 8 , wherein the GUI displays information indicative of one or more data assets that meet the at least one criterion after selection of the first set of data assets.
11. The method of claim 8 , wherein the GUI includes an interface that allows a user to search for data assets that meet the at least one criterion.
12. generating a first GUI displaying a list of at least some of the data assets in the first set of data assets; generating a first GUI displaying information about the first data standard, the information including an indication of the first set of data assets; receiving, through the first GUI, a user input indicating a selection of a data asset in the list of the at least some data assets; in response to receiving the user input, generating a second GUI that displays information about the selected data asset; The method of claim 1 further comprising:
13. Verifying whether the data assets in the first data asset set satisfy the one or more rules indicated by the first data standard includes, for at least one of the data assets in the first data asset set, Identifying a user that identifies whether the at least one data asset satisfies the one or more rules indicated by the first data standard based on at least one attribute of the at least one data asset; transmitting information about the at least one data asset and the first data standard to a computing device associated with the user and over a communications network; receiving, over the communications network from the computing device associated with the user, information indicating whether the at least one data asset satisfies the one or more rules indicated by the first data standard; The method of claim 1 , comprising:
14. Verifying whether the data assets in the first data asset set satisfy the one or more rules indicated by the first data standard includes, for each particular data asset of at least some of the data assets in the first data asset set: Identifying a user that identifies whether the particular data asset satisfies the one or more rules indicated by the first data standard based on at least one attribute of the particular data asset; transmitting information about the particular data asset and the first data standard to a computing device associated with the user and over a communications network; receiving, over the communications network from the computing device associated with the user, information indicating whether the particular data asset satisfies the one or more rules indicated by the first data standard; The method of claim 1 , comprising:
15. 15. The method of claim 14, wherein the information indicating whether the particular data asset satisfies the one or more rules indicated by the first data standard includes a certification by the user as to whether the particular data asset satisfies the one or more rules indicated by the first data standard.
16. 2. The method of claim 1, wherein verifying whether the data assets in the first set of data assets satisfy the one or more rules indicated by the first data standard comprises automatically verifying whether the data assets satisfy the one or more rules indicated by the first data standard.
17. receiving user input indicating at least one second criterion for including the data asset in a second set of data assets; generating the second set of data assets by automatically identifying data assets from among the plurality of data assets that meet the at least one second criterion for including the data assets in the second set of data assets; selecting a second data standard from among the one or more data standards of the data governance policy; Associating the second data standard with the second set of data assets; determining whether the data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether data assets in the second set of data assets satisfy one or more rules specified by the second data standard; The method of claim 1 further comprising:
18. selecting a second data standard from among the one or more data standards of the data governance policy; Associating the second data standard with the first set of data assets; determining whether the data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether the data assets in the first set of data assets satisfy one or more rules specified by the second data standard; The method of claim 1 further comprising:
19. The method of claim 1 , wherein associating the first data standard with the first set of data assets comprises storing an indication of the first set of data assets in the first data standard.
20. The method of claim 1 , wherein the data managed by the data processing system includes information associated with data in an enterprise system.
21. At least one non-transitory computer readable storage medium storing processor executable instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform a method for identifying whether data managed by a data processing system complies with a data governance policy, the data processing system storing the data in a plurality of data assets each including one or more attribute-value pairs, the data governance policy including one or more data standards, each indicating one or more rules that a data asset must satisfy in order to comply with the data standard, the method including: receiving a user input indicating at least one criterion for including a data asset in a first data asset collection; generating the first set of data assets by automatically identifying data assets from among the plurality of data assets that meet the at least one criterion; selecting a first data standard from the one or more data standards of the data governance policy; Associating the first data standard with the first set of data assets; determining whether the data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether data assets in the first set of data assets satisfy one or more rules specified by the first data standard; At least one non-transitory computer readable storage medium comprising:
22. 1. A system for determining whether data managed by a data processing system complies with a data governance policy, the data processing system storing the data in a plurality of data assets each including one or more attribute-value pairs, the data governance policy including one or more data standards, each indicating one or more rules that a data asset must satisfy in order to comply with the data standard, the system: at least one computer hardware processor; When executed by the at least one computer hardware processor, the at least one computer hardware processor receiving a user input indicating at least one criterion for including a data asset in a first data asset collection; generating the first set of data assets by automatically identifying data assets from among the plurality of data assets that meet the at least one criterion; selecting a first data standard from the one or more data standards of the data governance policy; Associating the first data standard with the first set of data assets; determining whether the data managed by the data processing system complies with the data governance policy, at least in part, by verifying whether data assets in the first set of data assets satisfy one or more rules specified by the first data standard; At least one non-transitory computer-readable storage medium storing instructions for performing the method of the present invention; Including, the system.
23. 1. A method for determining whether data managed by a data processing system complies with a data governance policy, the data processing system storing the data in a plurality of data assets each including one or more attribute-value pairs, the data governance policy including one or more data standards each indicating one or more rules that a data asset must satisfy in order to comply with the data standard, the one or more data standards being associated with one or more data asset sets respectively, the one or more data standards including a first data standard associated with a first data asset set of the one or more data asset sets, the method comprising: Using at least one computer hardware processor, accessing a first data asset from the first set of data assets associated with the first data standard; Identifying a first user who attests, based on data in the first data asset, whether the first data asset satisfies one or more rules set forth by the first data standard; transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and over a communications network; obtaining, from the first computing device and over the communications network, a first input indicative of a first attestation by the first user as to whether the first data asset satisfies the one or more rules indicated by the first data standard; using the first input indicative of the first attestation to determine whether the data managed by the data processing system complies with the data governance policy; The method of claim 1,
24. 24. The method of claim 23, wherein the at least one criterion indicates at least one value that at least one attribute in a data asset must take in order to meet the at least one criterion.
25. accessing a second data asset from the first set of data assets; Identifying a second user who attests whether the second data asset satisfies the one or more rules set forth by the first data standard based on at least one attribute-value pair of the second data asset; transmitting information about the second data asset and the first data standard to a second computing device associated with the second user and over the communications network; obtaining, from the second computing device and over the communications network, a second input indicative of a second attestation by the second user as to whether the second data asset satisfies the one or more rules indicated by the first data standard; using the second input indicative of the second attestation to determine whether the data managed by the data processing system complies with the data governance policy; 24. The method of claim 23, further comprising:
26. Identifying the first user attesting to whether the first data asset satisfies the one or more rules indicated by the first data standard includes: Identifying one or more users indicated by the at least one attribute-value pair of the first data asset as being responsible for management of the first data asset; selecting the first user from the one or more users; 24. The method of claim 23, comprising:
27. 24. The method of claim 23, wherein obtaining the first user input indicative of the first attestation comprises obtaining the first user input through a GUI.
28. 24. The method of claim 23, further comprising obtaining, from the first computing device and over the communications network, information indicative of evidence of the first certification by the first user regarding whether the first data asset satisfies the one or more rules indicated by the first data standard.
29. 24. The method of claim 23, further comprising tracking multiple attestations as to whether data assets in the first set of data assets satisfy the one or more rules set forth by the first data standard.
30. 30. The method of claim 29, further comprising generating a GUI element indicating an extent to which the certification is complete.
31. generating a first attestation object for the first data asset; storing information indicative of the first attestation in the first attestation object; 24. The method of claim 23, further comprising:
32. 32. The method of claim 31, further comprising storing an association of the first data standard with the first data asset in the first certification object.
33. 24. The method of claim 23, wherein the first attestation indicates that the first data asset conforms to the first data standard, partially conforms to the first standard, is undefined, does not conform to the first standard, or the first data standard does not apply to the first data asset.
34. The first set of data assets is associated with a second data standard of the one or more data standards, and the method further comprises: Identifying the first user attesting whether the first data asset satisfies one or more rules set forth by the second data standard based on the at least one attribute-value pair of the first data asset; transmitting information about the first data asset and the second data standard to the first computing device associated with the first user and over the communications network; obtaining, from the first computing device and over the communications network, a second input indicative of a second attestation by the first user as to whether the first data asset satisfies the one or more rules indicated by the second data standard; using the second input indicative of the second attestation to determine whether the data managed by the data processing system complies with the data governance policy; 24. The method of claim 23, further comprising:
35. 1. At least one non-transitory computer readable storage medium storing processor executable instructions that, when executed by at least one computer hardware processor, cause the at least one computer hardware processor to perform a method for identifying whether data managed by a data processing system complies with a data governance policy, the data processing system storing the data in a plurality of data assets each including one or more attribute-value pairs, the data governance policy including one or more data standards each indicating one or more rules that a data asset must satisfy in order to comply with the data standard, the one or more data standards being respectively associated with one or more data asset sets, the one or more data standards including a first data standard associated with a first data asset set of the one or more data asset sets, the method including: accessing a first data asset from the first set of data assets associated with the first data standard; Identifying a first user who attests, based on data in the first data asset, whether the first data asset satisfies one or more rules set forth by the first data standard; transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and over a communications network; obtaining, from the first computing device and over the communications network, a first input indicative of a first attestation by the first user as to whether the first data asset satisfies the one or more rules indicated by the first data standard; using the first input indicative of the first attestation to determine whether the data managed by the data processing system complies with the data governance policy; At least one non-transitory computer readable storage medium comprising:
36. 1. A system for determining whether data managed by a data processing system complies with a data governance policy, the data processing system storing the data in a plurality of data assets each including one or more attribute-value pairs, the data governance policy including one or more data standards each indicating one or more rules that a data asset must satisfy in order to comply with the data standard, the one or more data standards being associated with one or more sets of data assets respectively, the one or more data standards including a first data standard associated with a first set of data assets of the one or more sets of data assets, the system comprising: at least one computer hardware processor; When executed by the at least one computer hardware processor, the at least one computer hardware processor accessing a first data asset from the first set of data assets associated with the first data standard; Identifying a first user who attests, based on data in the first data asset, whether the first data asset satisfies one or more rules set forth by the first data standard; transmitting information about the first data asset and the first data standard to a first computing device associated with the first user and over a communications network; obtaining, from the first computing device and over the communications network, a first input indicative of a first attestation by the first user as to whether the first data asset satisfies the one or more rules indicated by the first data standard; using the first input indicative of the first attestation to determine whether the data managed by the data processing system complies with the data governance policy; At least one non-transitory computer-readable storage medium storing instructions for performing the method of the present invention; Including, the system.