IP Library Granted Patent US 11,580,253
Granted Patent B1
US 11,580,253 · App. 15/900,212 · Granted Feb 14, 2023

System, method, and computer program for centralized consent management

Inventors: Troy C. Lyons (Plano, TX); Royee Barak (Sunnyvale, CA); Hod Cohen (Tel Aviv-Jaffa, IL); Anders Rolff (Bray, IE); Nir Pedhazur (Petah Tikva, IL); Allon Dafner (Gedera, IL)
Assignee: AMDOCS DEVELOPMENT LIMITED
G06F21/6245G06Q30/0201
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,580,253
App. No.
15/900,212
Granted
Feb 14, 2023
Kind
B1
Abstract

A system, method, and computer program product are provided for centralized consent management. In operation, the consent management system receives user selections from a user indicating which user data is capable of being utilized for analysis by a company. The consent management system stores the user selections of which user data is capable of being utilized for analysis by the company in a consent database. The consent management system generates a consent vector corresponding to the user selections of which user data is capable of being utilized for analysis by the company. Additionally, the consent management system associates the consent vector with a consent vector identification. Further, the consent management system tags incoming data with the consent vector identification to associate a user consent with the incoming data. The consent management system stores and encodes the incoming data. Moreover, the consent management system enforces consent restrictions by conditionally allowing access to the stored data by the company based on corresponding consent vector identifications.

Claims (63)

1. A method, comprising:

receiving, by a consent management system, user selections from a user indicating which user data the user consents to being accessed by one or more third parties;

storing, by the consent management system in a consent database, the user selections indicating which user data the user consents to being accessed by the one or more third parties;

generating, by the consent management system, a consent vector defining the user selections indicating which user data the user consents to accessed by the one or more third parties, wherein the consent vector records an intersection of the indications of which user data the user consents to being accessed by the one or more third parties and additional indications of which data programs, data sources, and data products the user consents to being utilized by the one or more third parties for accessing portions of the user data the user consents to being accessed by the one or more third parties;

associating, by the consent management system, an identifier with the consent vector for use in identifying the consent vector;

receiving, by the consent management system, incoming data associated with the user;

tagging, by the consent management system, the incoming data with the identifier of the consent vector to associate the user selections with the incoming data;

storing and encoding, by the consent management system, the incoming data tagged with the identifier of the consent vector;

enforcing, by the consent management system, consent restrictions by conditionally allowing access to the stored data by the one or more third parties based on the user selections associated with the incoming data via the tagging, including:

receiving, by the consent management system, a request from a third party of the one or more third parties to view the user data,

querying, by the consent management system, a consent vector database for the consent vector defining the user selections indicating which of the user data the user consents to being accessed by the one or more third parties,

receiving, by the consent management system in response to the query of the consent vector database, the identifier of the consent vector, and

using, by the consent management system, the identifier of the consent vector to filter the user data requested by the third party of the one or more third parties, and

returning, by the consent management system, the filtered user data to the third party of the one or more third parties;

recording, by the consent management system in a blockchain, that the filtered user data has been returned to the third party of the one or more third parties;

receiving, by the consent management system, a request that the user data be forgotten by the one or more third parties;

in response to the request that the user data be forgotten by the one or more third parties, searching, by the consent management system, the blockchain to determine that the filtered user data was previously returned to the third party of the one or more third parties; and

in response to determining that the filtered user data was previously returned to the third party of the one or more third parties, causing, by the consent management system, the third party of the one or more third parties to delete the filtered user data that was returned to the third party of the one or more third parties.

2. The method of claim 1 , wherein the consent vector includes a set of bits.

3. The method of claim 1 , wherein the consent vector includes a set of bits, where each bit is a true value or a false value indicating whether an entity is permitted to use a data item of the user data.

4. The method of claim 1 , wherein a change to the consent vector immediately impacts the user data that entities can access.

5. A computer program product embodied on a non-transitory computer readable medium, comprising computer code for:

receiving, by a consent management system, user selections from a user indicating which user data the user consents to being accessed by one or more third parties;

storing, by the consent management system in a consent database, the user selections indicating which user data the user consents to being accessed by the one or more third parties;

generating, by the consent management system, a consent vector defining the user selections indicating which user data the user consents to accessed by the one or more third parties, wherein the consent vector records an intersection of the indications of which user data the user consents to being accessed by the one or more third parties and additional indications of which data programs, data sources, and data products the user consents to being utilized by the one or more third parties for accessing portions of the user data the user consents to being accessed by the one or more third parties;

associating, by the consent management system, an identifier with the consent vector for use in identifying the consent vector;

receiving, by the consent management system, incoming data associated with the user;

tagging, by the consent management system, the incoming data with the identifier of the consent vector to associate the user selections with the incoming data;

storing and encoding, by the consent management system, the incoming data tagged with the identifier of the consent vector;

enforcing, by the consent management system, consent restrictions by conditionally allowing access to the stored data by the one or more third parties based on the user selections associated with the incoming data via the tagging, including:

receiving, by the consent management system, a request from a third party of the one or more third parties to view the user data,

querying, by the consent management system, a consent vector database for the consent vector defining the user selections indicating which of the user data the user consents to being accessed by the one or more third parties,

receiving, by the consent management system in response to the query of the consent vector database, the identifier of the consent vector, and

using, by the consent management system, the identifier of the consent vector to filter the user data requested by the third party of the one or more third parties, and

returning, by the consent management system, the filtered user data to the third party of the one or more third parties;

recording, by the consent management system in a blockchain, that the filtered user data has been returned to the third party of the one or more third parties;

receiving, by the consent management system, a request that the user data be forgotten by the one or more third parties;

in response to the request that the user data be forgotten by the one or more third parties, searching, by the consent management system, the blockchain to determine that the filtered user data was previously returned to the third party of the one or more third parties; and

in response to determining that the filtered user data was previously returned to the third party of the one or more third parties, causing, by the consent management system, the third party of the one or more third parties to delete the filtered user data that was returned to the third party of the one or more third parties.

6. The computer program product of claim 5 , wherein the consent vector includes a set of bits.

7. The computer program product of claim 5 , wherein the consent vector includes a set of bits, where each bit is a true value or a false value indicating whether an entity is permitted to use a data item of the user data.

8. A consent management system, comprising:

a non-transitory memory storing instructions; and

one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to perform a method comprising:

receiving, by the consent management system, user selections from a user indicating which user data the user consents to being accessed by one or more third parties;

storing, by the consent management system in a consent database, the user selections indicating which user data the user consents to being accessed by the one or more third parties;

generating, by the consent management system, a consent vector defining the user selections indicating which user data the user consents to accessed by the one or more third parties, wherein the consent vector records an intersection of the indications of which user data the user consents to being accessed by the one or more third parties and additional indications of which data programs, data sources, and data products the user consents to being utilized by the one or more third parties for accessing portions of the user data the user consents to being accessed by the one or more third parties;

associating, by the consent management system, an identifier with the consent vector for use in identifying the consent vector;

receiving, by the consent management system, incoming data associated with the user;

tagging, by the consent management system, the incoming data with the identifier of the consent vector to associate the user selections with the incoming data;

storing and encoding, by the consent management system, the incoming data tagged with the identifier of the consent vector;

enforcing, by the consent management system, consent restrictions by conditionally allowing access to the stored data by the one or more third parties based on the user selections associated with the incoming data via the tagging, including:

receiving, by the consent management system, a request from a third party of the one or more third parties to view the user data,

querying, by the consent management system, a consent vector database for the consent vector defining the user selections indicating which of the user data the user consents to being accessed by the one or more third parties,

receiving, by the consent management system in response to the query of the consent vector database, the identifier of the consent vector, and

using, by the consent management system, the identifier of the consent vector to filter the user data requested by the third party of the one or more third parties, and

returning, by the consent management system, the filtered user data to the third party of the one or more third parties;

recording, by the consent management system in a blockchain, that the filtered user data has been returned to the third party of the one or more third parties;

receiving, by the consent management system, a request that the user data be forgotten by the one or more third parties;

in response to the request that the user data be forgotten by the one or more third parties, searching, by the consent management system, the blockchain to determine that the filtered user data was previously returned to the third party of the one or more third parties; and

in response to determining that the filtered user data was previously returned to the third party of the one or more third parties, causing, by the consent management system, the third party of the one or more third parties to delete the filtered user data that was returned to the third party of the one or more third parties.

9. The consent management system of claim 8 , wherein the consent vector includes a set of bits.

10. The consent management system of claim 8 , wherein the consent vector includes a set of bits, where each bit is a true value or a false value indicating whether an entity is permitted to use a data item of the user data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2018
From: LYONS, TROY C.; BARAK, ROYEE; COHEN, HOD; ROLFF, ANDERS; PEDHAZUR, NIR; DAFNER, ALLON
To: AMDOCS DEVELOPMENT LIMITED
Reel/Frame 046807/0322 →
Continuity (3)
Provisional Application 62571710 · Oct 12, 2017
Provisional Application 62563548 · Sep 26, 2017
Provisional Application 62462806 · Feb 23, 2017
Cited By (1)
US 12,373,586