IP Library › Granted Patent US 12,563,105
Granted Patent B2
US 12,563,105 · App. 18/151,335 · Granted Feb 24, 2026

Detecting configuration gaps in systems handling data according to system requirements frameworks

Inventors: Evan Bates (Atlanta, GA); Jason L Sabourin (Dewitt, MI); Kevin Jones (Atlanta, GA); Patrick Glenn Murray (Kula, HI); Carman Kwong (Coquitlam, CA)
Assignee: OneTrust LLC
H04L63/306G06Q10/06311G06Q10/063114G06Q30/0203H04L63/0414G06Q30/018
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,563,105
App. No.
18/151,335
Granted
Feb 24, 2026
Kind
B2
Abstract

Methods, systems, and non-transitory computer readable storage media are disclosed for managing computing systems according to detect and correct configuration gaps with specific system requirements frameworks. Specifically, the disclosed system accesses a digital data repository to determine attribute values of data objects representing functions or infrastructure associated with handling target data for an entity. The disclosed system determines a digital representation of a system requirements framework that indicates controls associated with handling specific data types. Based on the attribute values and a gap rules set associated with the system requirements framework, the disclosed system determines configuration gaps to be addressed via control actions for installing controls in connection with various data assets or data processing operations. The disclosed system generates tasks to display via a graphical user interface of a computing device for applying modifications to the data assets and/or data processing operations to address the configuration gaps.

Claims (81)

1 . A method comprising:

extracting, by at least one computer processor utilizing a data extraction software application integrated with a digital data repository to access the digital data repository, attribute values of a plurality of data objects representing functions or infrastructure associated with handling target data for an entity;

determining, by the at least one computer processor and from the digital data repository, a digital representation of a system requirements framework comprising a plurality of controls associated with handling specific data types;

determining, by the at least one computer processor and by comparing the attribute values of the plurality of data objects to system requirement attribute values indicated by a gap rules set associated with the system requirements framework, a plurality of configuration gaps representing a plurality of control actions for installing controls in connection with one or more data assets or one or more data processing operations to match the attribute values to the system requirement attribute values;

generating, by the at least one computer processor for display via a graphical user interface of a computing device associated with the entity, one or more tasks for applying one or more modifications to the one or more data assets or the one or more data processing operations according to the plurality of configuration gaps; and

generating, in response to one or more client device interactions with the one or more tasks via the graphical user interface in connection with applying the one or more modifications to the one or more data assets of the one or more data processing operations, an updated graphical user interface displaying modifications to the one or more tasks.

2 . The method of claim 1 , wherein extracting the attribute values of the plurality of data objects comprises:

integrating the data extraction software application with the digital data repository and a third-party system via an application programming interface associated with the one or more data assets or the one or more data processing operations; and

extracting, utilizing the data extraction software application, the attribute values of the plurality of data objects in response to a selected option to initiate a review of the plurality of controls of the system requirements framework.

3 . The method of claim 1 , further comprising:

determining that a subset of the attribute values of the plurality of data objects correspond to one or more evidence objects indicating that at least a portion of a control of the plurality of controls is installed in connection with the one or more data assets or the one or more data processing operations; and

determining, based on the one or more evidence objects, that the control is installed in connection with the one or more data assets or the one or more data processing operations.

4 . The method of claim 3 , further comprising:

determining that a particular evidence object of the one or more evidence objects corresponds to an additional control of the plurality of controls; and

determining, based on the particular evidence object, that the additional control is installed in connection with the one or more data assets or the one or more data processing operations.

5 . The method of claim 1 , further comprising generating, in response to a selected option to initiate a review of the plurality of controls of the system requirements framework, an initial compliance score based on a percentage of the plurality of controls installed in connection with the one or more data assets or the one or more data processing operations.

6 . The method of claim 1 , wherein determining the attribute values of the plurality of data objects comprises:

detecting a missing attribute value for a data object of the plurality of data objects;

generating, in response to detecting the missing attribute value, an assessment comprising a computer-implemented questionnaire including one or more electronic questions associated with the missing attribute value of the data object;

executing the assessment by providing the assessment for display at one or more client devices; and

determining the missing attribute value for the data object based on a response to the assessment from the one or more client devices.

7 . The method of claim 6 , wherein:

executing the assessment comprises:

determining a first response to a first question of the one or more electronic questions provided to the one or more client devices;

skipping, based on the first response, a second question of the one or more electronic questions;

providing, based on the first response, a third question of the one or more electronic questions to the one or more client devices;

determining a second response to the third question; and

determining the missing attribute value of the data object comprises determining the missing attribute value based on the first response or the second response.

8 . The method of claim 1 , wherein determining the plurality of configuration gaps comprises:

determining a gap rule of the gap rules set based on one or more control actions of the plurality of control actions for installing one or more controls in connection with the one or more data assets or the one or more data processing operations; and

determining a configuration gap by applying the gap rule to the attribute values of the plurality of data objects to determine whether the attribute values comply with the system requirements framework by comparing the attribute values of the plurality of data objects to the system requirement attribute values.

9 . The method of claim 1 , further comprising:

detecting a triggering event comprising a change to the digital representation of the system requirements framework or a change to an attribute value of a data object of the plurality of data objects by monitoring data sources corresponding to the plurality of data objects;

determining automatically, in response to the triggering event, whether the change to the digital representation of the system requirements framework or the change to the attribute value of the data object results in one or more additional configuration gaps; and

generating, for display on the graphical user interface, one or more additional tasks for applying the one or more modifications to the one or more data assets or the one or more data processing operations according to the one or more additional configuration gaps.

10 . The method of claim 1 , wherein determining the plurality of configuration gaps comprises performing a plurality of iterations to process the plurality of data objects in connection with the system requirements framework, wherein an iteration of the plurality of iterations comprises:

determining a set of attribute values of a data object of the plurality of data objects; and

determining a configuration gap in response to determining that the data object does not comply with the system requirements framework based on the set of attribute values of the data object and the gap rules set.

11 . A non-transitory computer readable medium comprising instructions that, when executed by at least one processor, cause the at least one processor to:

extract, by utilizing a data extraction software application integrated with a digital data repository to access the digital data repository, attribute values of a plurality of data objects representing functions or infrastructure associated with handling target data for an entity;

determine, from the digital data repository, a digital representation of a system requirements framework comprising a plurality of controls associated with handling specific data types;

determine, by comparing the attribute values of the plurality of data objects to system requirement attribute values indicated by a gap rules set associated with the system requirements framework, a plurality of configuration gaps representing a plurality of control actions for installing controls in connection with one or more data assets or one or more data processing operations to match the attribute values to the system requirement attribute values;

generate, for display via a graphical user interface of a computing device associated with the entity, one or more tasks for applying one or more modifications to the one or more data assets or the one or more data processing operations according to the plurality of configuration gaps; and

track progress of the one or more tasks by monitoring changes to the one or more data assets or the one or more data processing operations in connection with the system requirements framework by generating, in response to one or more client device interactions with the one or more tasks via the graphical user interface in connection with applying the one or more modifications to the one or more data assets of the one or more data processing operations, an updated graphical user interface displaying modifications to the one or more tasks.

12 . The non-transitory computer readable medium of claim 11 , wherein the instructions that, when executed by the at least one processor, cause the at least one processor to determine the plurality of configuration gaps by:

determining a plurality of attribute values based on the gap rules set; and

determining the plurality of configuration gaps by comparing the attribute values of the plurality of data objects to the plurality of attribute values corresponding to the gap rules set.

13 . The non-transitory computer readable medium of claim 11 , wherein the instructions that, when executed by the at least one processor, cause the at least one processor to:

determine the attribute values of the plurality of data objects by:

integrate the data extraction software application with the digital data repository and a third-party computing system via an application programming interface associated with the one or more data assets or the one or more data processing operations; and

extracting, utilizing the data extraction software application, the attribute values of the plurality of data objects in response to a selected option to initiate a review of the plurality of controls of the system requirements framework; and

determine that a control of the plurality of controls is installed in connection with the one or more data assets or the one or more data processing operations in response to determining that a subset of the attribute values of the plurality of data objects correspond to one or more evidence objects associated with the control.

14 . A system comprising:

one or more non-transitory computer readable media comprising a digital data repository; and

at least one processor configured to cause the system to:

perform a plurality of iterations to process a plurality of data objects representing functions or infrastructure associated with handling target data for an entity by:

extracting, by utilizing a data extraction software application integrated with the digital data repository to access the digital data repository, attribute values of the plurality of data objects;

determining, from the digital data repository, a digital representation of a system requirements framework comprising a plurality of controls associated with handling specific data types; and

determining, by comparing the attribute values of the plurality of data objects to system requirement attribute values indicated by a gap rules set associated with the system requirements framework, a plurality of configuration gaps representing a plurality of control actions for installing controls in connection with one or more data assets or one or more data processing operations to match the attribute values to the system requirement attribute values;

determine one or more tasks associated with correcting the plurality of configuration gaps by matching the attribute values to the system requirement attribute values;

provide the one or more tasks for display via a graphical user interface of a computing device associated with the entity; and

generate, in response to one or more client device interactions with the one or more tasks via the graphical user interface in connection with applying one or more modifications to the one or more data assets of the one or more data processing operations in response to a client device interaction with the one or more tasks for display, an updated graphical user interface displaying modifications to the one or more tasks.

15 . The system of claim 14 , wherein the at least one processor is further configured to cause the system to extract the attribute values of the plurality of data objects in response to a selected option to initiate a review of the plurality of controls of the system requirements framework.

16 . The system of claim 14 , wherein the at least one processor is further configured to cause the system to:

detect, based on a subset of the attribute values of the plurality of data objects, a plurality of evidence objects corresponding to a control of the plurality of controls; and

determine, based on the plurality of evidence objects, that the control is installed in connection with the one or more data assets or the one or more data processing operations.

17 . The system of claim 14 , wherein the at least one processor is further configured to cause the system to:

generate, based on the gap rules set associated with the system requirements framework, an initial compliance score based on a percentage of the plurality of controls installed in connection with the one or more data assets or the one or more data processing operations; and

provide the initial compliance score with the one or more tasks for display via the graphical user interface of the computing device associated with the entity.

18 . The system of claim 14 , wherein the at least one processor is further configured to cause the system to determine the attribute values of the plurality of data objects by:

detecting, by the data extraction software application integrated with the digital data repository, a missing attribute value for a data object of the plurality of data objects;

generating, by an assessment software application in response to detecting the missing attribute value, an assessment comprising a computer-implemented questionnaire including one or more electronic questions associated with the missing attribute value of the data object;

executing the assessment by providing the assessment for display at a client device; and

determining the missing attribute value for the data object based on a response to the assessment from the client device.

19 . The system of claim 14 , wherein the at least one processor is further configured to cause the system to determine the plurality of configuration gaps by:

determining a gap rule corresponding to an attribute value for a data object of the plurality of data objects; and

determining a configuration gap by comparing one or more attribute values of the plurality of data objects to the gap rule.

20 . The system of claim 14 , wherein the at least one processor is further configured to cause the system to:

detect a triggering event comprising a change to the digital representation of the system requirements framework or a change to an attribute value of a data object of the plurality of data objects;

determine automatically a configuration gap in response to the triggering event; and

generate, for display on the graphical user interface, one or more tasks for applying the one or more modifications to the one or more data assets or the one or more data processing operations according to the configuration gap.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 20, 2023
From: BATES, EVAN; SABOURIN, JASON L; JONES, KEVIN; MURRAY, PATRICK GLENN; KWONG, CARMAN
To: ONETRUST LLC
Reel/Frame 063038/0128 →
Continuity (6)
Continuation In Part 17869144 · Jul 20, 2022
Continuation 17373534 · Jul 12, 2021
Continuation In Part 17191346 · Mar 3, 2021
Continuation In Part 16013037 · Jun 20, 2018
Provisional Application 63297404 · Jan 7, 2022
Related Publication 20230144362A1 · May 11, 2023
References Cited (109)
US 6356909B1 · Spencer · 2002 [cited by applicant]
US 8296244B1 · Heroux · 2012 [cited by applicant]
US 9729583B1 · Barday · 2017 [cited by applicant]
US 9992230B1 · Haverty et al. · 2018 [cited by applicant]
US 10860721B1 · Gentile · 2020 [cited by applicant]
US 11792222B2 · Murray et al. · 2023 [cited by applicant]
US 20010049793A1 · Sugimoto · 2001 [cited by applicant]
US 20010051913A1 · Avinash et al. · 2001 [cited by applicant]
US 20020023109A1 · Lederer, Jr. et al. · 2002 [cited by applicant]
US 20020059093A1 · Barton et al. · 2002 [cited by applicant]
US 20020107875A1 · Seliger et al. · 2002 [cited by applicant]
US 20020120472A1 · Dvorak et al. · 2002 [cited by applicant]
US 20020184068A1 · Krishnan et al. · 2002 [cited by applicant]
US 20030084014A1 · Sohrabi et al. · 2003 [cited by applicant]
US 20030229525A1 · Callahan et al. · 2003 [cited by applicant]
US 20030233258A1 · Cottrell et al. · 2003 [cited by applicant]
US 20040193907A1 · Patanella · 2004 [cited by applicant]
US 20050010819A1 · Williams et al. · 2005 [cited by applicant]
US 20050044418A1 · Miliefsky · 2005 [cited by examiner]
US 20050071185A1 · Thompson · 2005 [cited by applicant]
US 20050197952A1 · Shea et al. · 2005 [cited by applicant]
US 20050228688A1 · Visser et al. · 2005 [cited by applicant]
US 20060047561A1 · Bolton · 2006 [cited by applicant]
US 20070239495A1 · Osborn et al. · 2007 [cited by applicant]
US 20070250699A1 · Dube et al. · 2007 [cited by applicant]
US 20070288253A1 · Cobb et al. · 2007 [cited by applicant]
US 20080015913A1 · Courtney et al. · 2008 [cited by applicant]
US 20080040773A1 · AlBadarin · 2008 [cited by examiner]
US 20090119141A1 · McCalmont et al. · 2009 [cited by applicant]
US 20090265199A1 · Moerdler et al. · 2009 [cited by applicant]
US 20090299802A1 · Brennan · 2009 [cited by applicant]
US 20100106653A1 · Sandholm et al. · 2010 [cited by applicant]
US 20110173104A1 · Vernon et al. · 2011 [cited by applicant]
US 20110208663A1 · Kennis et al. · 2011 [cited by applicant]
US 20110251865A1 · Yuen et al. · 2011 [cited by applicant]
US 20120011077A1 · Bhagat · 2012 [cited by applicant]
US 20120041769A1 · Dalal et al. · 2012 [cited by applicant]
US 20120102543A1 · Kohli · 2012 [cited by applicant]
US 20130067078A1 · Banerjee et al. · 2013 [cited by applicant]
US 20130081101A1 · Baer · 2013 [cited by examiner]
US 20130104236A1 · Ray et al. · 2013 [cited by applicant]
US 20130124244A1 · Johnson et al. · 2013 [cited by applicant]
US 20130159277A1 · Liu et al. · 2013 [cited by applicant]
US 20130227697A1 · Zandani · 2013 [cited by applicant]
US 20130246217A1 · Denton et al. · 2013 [cited by applicant]
US 20130325731A1 · Guamery et al. · 2013 [cited by applicant]
US 20130340030A1 · Riley et al. · 2013 [cited by applicant]
US 20140039959A1 · Clarke et al. · 2014 [cited by applicant]
US 20140046863A1 · Gifford et al. · 2014 [cited by applicant]
US 20140090071A1 · Salehie et al. · 2014 [cited by applicant]
US 20140137257A1 · Martinez et al. · 2014 [cited by applicant]
US 20140365555A1 · Jwalanna · 2014 [cited by applicant]
US 20140373161A1 · Hudson · 2014 [cited by examiner]
US 20140380488A1 · Ray et al. · 2014 [cited by applicant]
US 20150172321A1 · Kirti et al. · 2015 [cited by applicant]
US 20150188949A1 · Mahaffey et al. · 2015 [cited by applicant]
US 20150237062A1 · Roytman et al. · 2015 [cited by applicant]
US 20160189198A1 · Mckenzie et al. · 2016 [cited by applicant]
US 20160358116A1 · Cline · 2016 [cited by examiner]
US 20160371369A1 · Cormack et al. · 2016 [cited by applicant]
US 20170032035A1 · Gao et al. · 2017 [cited by applicant]
US 20170103441A1 · Kolb et al. · 2017 [cited by applicant]
US 20170132203A1 · Kim et al. · 2017 [cited by applicant]
US 20170132313A1 · Kukla et al. · 2017 [cited by applicant]
US 20170243028A1 · LaFever et al. · 2017 [cited by applicant]
US 20170323265A1 · Burrows et al. · 2017 [cited by applicant]
US 20170337287A1 · Gill · 2017 [cited by applicant]
US 20170357502A1 · Barday · 2017 [cited by applicant]
US 20180285887A1 · Maung · 2018 [cited by applicant]
US 20190124120A1 · OReilly · 2019 [cited by applicant]
US 20190149565A1 · Hagi et al. · 2019 [cited by applicant]
US 20190303807A1 · Gueye · 2019 [cited by examiner]
US 20200019909A1 · Grimon · 2020 [cited by examiner]
US 20200275492A1 · Lei · 2020 [cited by examiner]
US 20210035116A1 · Berrington et al. · 2021 [cited by applicant]
US 20210345323A1 · Axmon · 2021 [cited by examiner]
US 20230267416A1 · Christensen · 2023 [cited by examiner]
CN 111949360A · 2020 [cited by examiner]
CN 212721184U · 2021 [cited by examiner]
CN 213365318U · 2021 [cited by examiner]
CN 113158549A · 2021 [cited by examiner]
WO 2001061593A1 · 2001 [cited by applicant]
WO WO2020185204A1 · 2020 [cited by examiner]
Tianyin Xu, “Systems Approaches to Tackling Configuration Errors: A Survey,” 2015, ACM Computing Surveys, vol. 47, No. 4, Article No. 70, pp. 1-41. (Year: 2015). [cited by examiner]
Michael Vierhauser, “Requirements monitoring frameworks: A systematic review” 2016, Information and Software Technology, 80, pp. 89-109. (Year: 2016). [cited by examiner]
Pietro Colombo, “Bridging the gap between requirements and design: An approach based on Problem Frames and SysML,” 2012, The Journal of Systems and Software 85, pp. 717-745. (Year: 2012). [cited by examiner]
Esayas, Samson, “Structuring Compliance Risk Identification Using the CO RAS Approach: Compliance as an Asset”, Nov. 2014, IEEE International Symposium on Software Reliability Engineering Workshops, pp. 281-286 (Year: 2… [cited by applicant]
U.S. Appl. No. 17/669,885, Aug. 28, 2024, Notice of Allowance. [cited by applicant]
Brown et al. “Multitenancy—Security Risks and Countermeasures”, Sep. 2012, 15th International Conference on Network-Based Information Systems, pp. 7-13 (Year: 2012). [cited by applicant]
U.S. Appl. No. 17/669,885, May 31, 2024, Office Action. [cited by applicant]
U.S. Appl. No. 18/469,893, Apr. 24, 2024, Office Action. [cited by applicant]
U.S. Appl. No. 18/469,893, Jul. 25, 2024, Notice of Allowance. [cited by applicant]
Capterra, “Proposal Management Software”, https://www.capterra.com/proposal-management-software/, Apr. 10, 2018, VA, USA. [cited by applicant]
Hayes et al., Expert system for development of request for proposal packages and evaluation of proposals, May 1989, Proceedings of the IEEE National Aerospace and Electronics Conference, vol. 3, pp. 1364-1369 (Year: 198… [cited by applicant]
Liu et al., Research and Design of Security Audit System for Compliance, Aug. 2012, International Symposium on Information Technologies in Medicine and Education, pp. 905-909 (Year: 2012). [cited by applicant]
Loopio, “Customer Success Story”, https://www.loopio.com, Apr. 10, 2018, Toronto, Canada. [cited by applicant]
Loopio, “RFP Software I Respond to RFPs with Loopio”, https://www.loopio.com, Apr. 10, 2018, Toronto, Canada. [cited by applicant]
Motahari-Nezhad et al., RFPCog: Linguistic-Based Identification and Mapping of Service Requirements in Request for Proposals (RFPs) to IT Service Solutions, Jan. 2016, 49th Hawaii International Conference on System Scie… [cited by applicant]
Qvidian, “Qvidian Proposal Automation Advantage: The inciteKnowledge Migration Opportunity”, Connect11 Conference, Apr. 11, 2011, FL, USA. [cited by applicant]
Song et al., “Enterprise Internal Controlling Risks and Prevention within ERP System”, Nov. 2011, International Conference on Information Management, Innovation Management and Industrial Engineering, pp. 41-44 (Year: 20… [cited by applicant]
Djemame et al., “A Risk Assessment Framework for Cloud Computing”, Jul. 2016, IEEE Transactions on Cloud Computing, vol. 4, No. 3, pp. 265-278 (Year: 2016). [cited by applicant]
U.S. Appl. No. 16/013,037, May 6, 2020, Office Action. [cited by applicant]
U.S. Appl. No. 16/013,037, Nov. 9, 2020, Notice of Allowance. [cited by applicant]
U.S. Appl. No. 17/191,346, Jul. 20, 2021, Office Action. [cited by applicant]
U.S. Appl. No. 17/191,345, Nov. 15, 2021, Notice of Allowance. [cited by applicant]
U.S. Appl. No. 17/373,534, Nov. 29, 2021, Office Action. [cited by applicant]
U.S. Appl. No. 17/373,534, Apr. 8, 2022, Notice of Allowance. [cited by applicant]
U.S. Appl. No. 17/869,144, Feb. 16, 2023, Office Action. [cited by applicant]
U.S. Appl. No. 17/869,144, Jun. 12, 2023, Notice of Allowance. [cited by applicant]