Cloud data consolidation and processing system
Disclosed are some implementations of systems, apparatus, methods and computer program products for processing consent information. A data consolidation system obtains, from each of two or more computing systems, a corresponding set of data objects such that two or more sets of objects are obtained. Each data object is associated with a corresponding individual and includes consent information indicating whether the individual consents to an action in relation to corresponding contact information of the individual. Consent information is extracted, for at least one individual, from the sets of data objects such that two or more sets of consent information are collected, the sets of consent information including a first set of consent information corresponding to a first computing system and a second set of consent information corresponding to a second computing system. A set of consolidation rules configurable to consolidate the consent information for at least one individual is identified and applied to the sets of consent information such that a set of aggregated consent information is obtained. At least a portion of the set of aggregated consent information can then be provided to at least one computing system.
1 . A method, comprising:
obtaining, by a data consolidation system, from each of two or more computing systems, a corresponding set of data objects such that two or more sets of data objects are obtained, the two or more sets of data objects being associated with a corresponding individual of a plurality of individuals, a first data object of the two or more sets of data objects including a first set of consent information indicating, for a first computing system of the two or more computing systems, whether the individual consents to an action in relation to corresponding contact information of the individual, and a second data object of the two or more sets of data objects including a second set of consent information indicating, for a second computing system of the two or more computing systems, whether the individual consents to the action in relation to the corresponding contact information of the individual, the first computing system corresponding to a first tenant of a multi-tenant database system and the second computing system corresponding to a second tenant of the multi-tenant database system;
obtaining, by the data consolidation system, consent information, for the individual, from the two or more sets of data objects, such that two or more sets of consent information including the first set of consent information and the second set of consent information are collected;
storing, by the data consolidation system at least a portion of the two or more sets of consent information in data storage in a common format defined by a common information model (CIM) using translation metadata indicating a mapping between fields of the two or more sets of data objects and the common format such that the first set of consent information is stored in association with a first tenant identifier corresponding to the first tenant and the second set of consent information is stored in association with a second tenant identifier corresponding to the second tenant, the data storage including a data lake or data warehouse;
extracting the first set of consent information from the data storage;
extracting the second set of consent information from the data storage;
identifying, by the data consolidation system, a set of consolidation rules configurable to consolidate the consent information for the individual across the two or more computing systems, the set of consolidation rules governing a manner in which conflicting consent information is resolved and consolidated, the set of consolidation rules including at least a first consolidation rule indicating a priority of at least a subset of the first set of consent information in relation to at least a subset of the second set of consent information, the subset of the first set of consent information including a first value originating or derived from a field of a first database object corresponding to the first tenant identifier, the subset of the second set of consent information including a second value originating or derived from a field of a second database object corresponding to the second tenant identifier;
applying, by the data consolidation system, the set of consolidation rules to the two or more sets of consent information such that a set of aggregated consent information is obtained, wherein applying the set of consolidation rules includes:
applying, by a first server, at least one consolidation rule of the set of consolidation rules to the first set of consent information; and
applying, by a second server, at least one consolidation rule of the set of consolidation rules to the second set of consent information,
wherein applying the at least one consolidation rule to the first set of consent information and applying the at least one consolidation rule to the second set of consent information are performed in parallel; and
providing, by the data consolidation system, at least a portion of the set of aggregated consent information to at least the first computing system, the portion of the set of aggregated consent information indicating, according to the set of consolidation rules, for the two or more sets of data objects, whether the individual consents to the action in relation to the corresponding contact information of the individual.
2 . The method of claim 1 , wherein:
translating, by the data consolidation system, the portion of the two or more sets of consent information from a tenant model format to the common format using the translation metadata, the translation metadata indicating a mapping between the tenant model format and the common format, wherein the tenant model format includes one or more fields of a tenant data model and the common format includes one or more fields of the CIM; and
storing the portion of the two or more sets of consent information in the common format.
3 . The method of claim 1 , further comprising:
translating at least a portion of the set of aggregated consent information from the common format to the tenant model format using the translation metadata, the translation metadata indicating a mapping between the tenant model format and the common format, the tenant model format including one or more fields of a tenant data model and the common format including one or more fields of the CIM;
wherein providing the portion of the set of aggregated consent information comprises providing the portion of the set of aggregated consent information in the tenant model format.
4 . The method of claim 1 , wherein the first consolidation rule indicates a priority of a first field of the first set of consent information in relation to a second field of the second set of consent information.
5 . The method of claim 1 , the set of consolidation rules indicating a hierarchy among tenants including the tenant and the second tenant.
6 . The method of claim 1 , the set of consolidation rules indicating a direction in which consent information is to be propagated among tenants including the tenant and the second tenant.
7 . The method of claim 1 , wherein applying the set of consolidation rules is performed according to a user profile of the individual, the user profile storing a residence address of the individual, the residence address including a country or state in which the individual resides.
8 . The method of claim 1 , wherein each of the two or more sets of data objects includes data objects storing information associated with entities including one or more of: a customer, a lead, a contact, or a person.
9 . The method of claim 1 , the set of consolidation rules comprising a tree or an other hierarchical structure.
10 . The method of claim 1 ,
wherein a trust relationship is established between the data consolidation system and the two or more computing systems, the trust relationship indicating, for a corresponding tenant, whether the corresponding tenant has access to specific data or services offered by the data consolidation system;
wherein providing at least the portion of the set of aggregated consent information comprises: filtering the set of aggregated consent information according to the trust relationship.
11 . The method of claim 1 , wherein obtaining, by the data consolidation system, from each of the two or more computing systems, a corresponding set of data objects is performed automatically periodically, responsive to an event detected by the data consolidation system, or responsive to a command received by the data consolidation system.
12 . The method of claim 1 , wherein providing, by the data consolidation system, at least the portion of the set of aggregated consent information to at least the first computing system comprises:
storing at least portion of the set of aggregated consent information in storage accessible by the first computing system.
13 . The method of claim 1 , wherein providing is performed responsive to a query received, via an application programming interface (API) of the data consolidation system, from the first computing system.
14 . The method of claim 1 , wherein obtaining, by the data consolidation system, from each of two or more computing systems, a corresponding set of data objects comprises: obtaining the first data object from the first computing system via an application programming interface (API) of the data consolidation system.
15 . The method of claim 1 , the first database object and second database object being stored in the common format in the data storage, the set of consolidation rules being implemented independent from one or more formats in which the consent information is stored by the two or more computing systems.
16 . The method of claim 1 , wherein: the first set of consent information is extracted from the data storage by the first server; and the second set of consent information extracted from the data storage by the second server.
17 . A system including a processor and memory, the system comprising:
a database system implemented using a server system, the database system configurable to cause:
obtaining, by a data consolidation system, from each of two or more computing systems, a corresponding set of data objects such that two or more sets of data objects are obtained, the two or more sets of data objects being associated with a corresponding individual of a plurality of individuals, a first data object of the two or more sets of data objects including a first set of consent information indicating, for a first computing system of the two or more computing systems, whether the individual consents to an action in relation to corresponding contact information of the individual, and a second data object of the two or more sets of data objects including a second set of consent information indicating, for a second computing system of the two or more computing systems, whether the individual consents to the action in relation to the corresponding contact information of the individual, the first computing system corresponding to a first tenant of a multi-tenant database system and the second computing system corresponding to a second tenant of the multi-tenant database system;
obtaining, by the data consolidation system, consent information, for the individual, from the two or more sets of data objects, such that two or more sets of consent information including the first set of consent information and the second set of consent information are collected;
storing, by the data consolidation system, at least a portion of the two or more sets of consent information in data storage in a common format defined by a common information model (CIM) using translation metadata indicating a mapping between fields of the two or more sets of data objects and the common format such that the first set of consent information is stored in association with a first tenant identifier corresponding to the first tenant and the second set of consent information is stored in association with a second tenant identifier corresponding to the second tenant, the data storage including a data lake or data warehouse;
extracting the first set of consent information from the data storage;
extracting the second set of consent information from the data storage;
identifying, by the data consolidation system, a set of consolidation rules configurable to consolidate the consent information for the individual across the two or more computing systems, the set of consolidation rules governing a manner in which conflicting consent information is resolved and consolidated, the set of consolidation rules including at least a first consolidation rule indicating a priority of at least a subset of the first set of consent information in relation to at least a subset of the second set of consent information, the subset of the first set of consent information including a first value originating or derived from a field of a first database object corresponding to the first tenant identifier, the subset of the second set of consent information including a second value originating or derived from a field of a second database object corresponding to the second tenant identifier;
applying, by the data consolidation system, the set of consolidation rules to the two or more sets of consent information such that a set of aggregated consent information is obtained, wherein applying the set of consolidation rules includes:
applying, by a first server, at least one consolidation rule of the set of consolidation rules to the first set of consent information; and
applying, by a second server, at least one consolidation rule of the set of consolidation rules to the second set of consent information,
and wherein applying the at least one consolidation rule to the first set of consent information and applying the at least one consolidation rule to the second set of consent information are performed in parallel; and
providing, by the data consolidation system, at least a portion of the set of aggregated consent information to at least the first computing system, the portion of the set of aggregated consent information indicating, according to the set of consolidation rules, for the two or more sets of data objects, whether the individual consents to the action in relation to the corresponding contact information of the individual.
18 . The system of claim 17 , the database system further configurable to cause:
translating the portion of the two or more sets of consent information from a tenant model format to the common format using the translation metadata, the translation metadata indicating a mapping between the first format and the common format, the tenant model format including one or more fields of a tenant data model and the common format including one or more fields of the CIM; and
storing the portion of the two or more sets of consent information in the common format.
19 . The system of claim 17 , the database system further configurable to cause:
translating at least a portion of the set of aggregated consent information from the common format to the tenant model format using the translation metadata, the translation metadata indicating a mapping between the tenant model format and the common format, the tenant model format including one or more fields of a tenant data model and the common format including one or more fields of the CIM;
wherein providing the portion of the set of aggregated consent information comprises providing the portion of the set of aggregated consent information in the tenant model format.
20 . The system of claim 17 , wherein the first consolidation rule indicates a priority of a first field of the first set of consent information in relation to a second field of the second set of consent information.
21 . A non-transitory computer-readable medium comprising computer-readable code, the computer-readable code configurable to cause:
obtaining, by a data consolidation system, from each of two or more computing systems, a corresponding set of data objects such that two or more sets of data objects are obtained, the two or more sets of data objects being associated with a corresponding individual of a plurality of individuals, a first data object of the two or more sets of data objects including a first set of consent information indicating, for a first computing system of the two or more computing systems, whether the individual consents to an action in relation to corresponding contact information of the individual, and a second data object of the two or more sets of data objects including a second set of consent information indicating, for a second computing system of the two or more computing systems, whether the individual consents to the action in relation to the corresponding contact information of the individual, the first computing system corresponding to a first tenant of a multi-tenant database system and the second computing system corresponding to a second tenant of the multi-tenant database system;
obtaining, by the data consolidation system, consent information, for the individual, from the two or more sets of data objects, such that two or more sets of consent information including the first set of consent information and the second set of consent information are collected;
storing, by the data consolidation system, at least a portion of the two or more sets of consent information in data storage in a common format defined by a common information model (CIM) using translation metadata indicating a mapping between fields of the two or more sets of data objects and the common format such that the first set of consent information is stored in association with a first tenant identifier corresponding to the first tenant and the second set of consent information is stored in association with a second tenant identifier corresponding to the second tenant, the data storage including a data lake or data warehouse;
extracting the first set of consent information from the data storage;
extracting the second set of consent information from the data storage;
identifying, by the data consolidation system, a set of consolidation rules configurable to consolidate the consent information for the individual across the two or more computing systems, the set of consolidation rules governing a manner in which conflicting consent information is resolved and consolidated, the set of consolidation rules including at least a first consolidation rule indicating a priority of at least a subset of the first set of consent information in relation to at least a subset of the second set of consent information, the subset of the first set of consent information including a first value originating or derived from a field of a first database object corresponding to the first tenant identifier, the subset of the second set of consent information including a second value originating or derived from a field of a second database object corresponding to the second tenant identifier;
applying, by the data consolidation system, the set of consolidation rules to the two or more sets of consent information such that a set of aggregated consent information is obtained, wherein applying the set of consolidation rules includes:
applying, by a first server, at least one consolidation rule of the set of consolidation rules to the first set of consent information; and
applying, by a second server, at least one consolidation rule of the set of consolidation rules to the second set of consent information,
and wherein applying the at least one consolidation rule to the first set of consent information and applying the at least one consolidation rule to the second set of consent information are performed in parallel; and
providing, by the data consolidation system, at least a portion of the set of aggregated consent information to at least the first computing system, the portion of the set of aggregated consent information indicating, according to the set of consolidation rules, for the two or more sets of data objects, whether the individual consents to the action in relation to the corresponding contact information of the individual.
22 . The non-transitory computer-readable medium of claim 21 , the computer-readable code comprising computer-readable instructions further configurable to cause:
translating the portion of the two or more sets of consent information from a tenant model format to the common format using the translation metadata, the translation metadata indicating a mapping between the first format and the second format, wherein the tenant model format includes one or more fields of a tenant data model and the common format includes one or more fields of the CIM; and
storing the portion of the two or more sets of consent information in the common format.
23 . The non-transitory computer-readable medium of claim 21 , the computer-readable code comprising computer-readable instructions further configurable to cause:
translating at least a portion of the set of aggregated consent information from the common format to the tenant model format using the translation metadata, the translation metadata indicating a mapping between the tenant model format and the common format, the tenant model format including one or more fields of a tenant data model and the common format including one or more fields of a common data model;
wherein providing the portion of the set of aggregated consent information comprises providing the portion of the set of aggregated consent information in the tenant model format.