IP Library Granted Patent US 12,259,856
Granted Patent B2
US 12,259,856 · App. 18/045,788 · Granted Mar 25, 2025

Managing and providing a rule independent data model

Inventors: Jason Christopher Miller Randal (Naperville, IL); Derrick Spell (Oswego, IL)
Assignee: CARET HOLDINGS, INC.
G06F16/212G06F16/2365G06F16/2379G06F16/248
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,259,856
App. No.
18/045,788
Granted
Mar 25, 2025
Kind
B2
Abstract

A rule independent and view agnostic data model is provided. The data model retains contexts for data associated with a resource through a lifecycle of the resource. A set of the data that corresponds to a particular context can be returned through interfaces to users and/or workflows for any given point in time in the lifecycle and/or for any given event during the lifecycle. Each set of data is associated with an event in the lifecycle. Particular data within a given set of data for a resource can be resolved to provide a particular context using a durability property feature set on entities of the data in the data model to reference past data maintained for other past events associated with the entities during of the lifecycle of the resource.

Claims (49)

1. A method, comprising:

defining a data structure that comprises sets of data associated with a resource, each set of data corresponding to an event in a lifecycle of the resource and each set of data comprises entity identifiers for entities and entity data for each corresponding entity;

maintaining a durability property feature on first entities for each set of data, each durability property feature assigned a type value that determines a location for obtaining the entity data associated with a corresponding first entity within the data structure;

managing a collection of data structures for a plurality of resources as a data store;

providing an interface for updating and querying the data store, wherein the interface permits creation of a new instance of the data structure, deletion of a particular data structure, and modification to values maintained in the sets of data for any given data structure of the data store;

receiving a specific event or a specific time period for a certain lifecycle of a certain resource through an application programming interface (API) or the interface; and

providing, by the API or the interface, certain fact sets for corresponding entities associated with the specific event or the specific time period from a corresponding data structure associated with the certain resource as the certain fact sets existed within the data store for the specific event or for the specific time period.

2. The method of claim 1 further comprising:

receiving, by the interface, search criteria for a search of the data store, the search criteria comprises at least one durability property feature assigned a particular type value and associated with a particular entity identifier for a particular entity;

searching, by the interface, the data store with the search criteria; and

returning, by the interface, search results corresponding to the search criteria and the entity data associated with the particular entity based on the searching.

3. The method of claim 1 further comprising:

receiving, by the interface, update criteria that comprises a resource identifier for a particular resource, a new event, particular entity identifiers for particular entities, entity data for the particular entities, and the durability property feature assigned a particular type value and associated with certain particular entity identifiers;

searching, by the interface, the data store with the resource identifier and identifying a particular data structure associated with the particular resource; and

updating, by the interface, the particular data structure with a new set of data, the new set of data comprises the particular entity identifiers, the durability property feature assigned the particular type value for the certain particular entity identifiers, and the entity data for the particular entities.

4. The method of claim 1 further comprising:

receiving, by the interface, a resource identifier for a new resource;

receiving, by the interface, a particular event, particular entity identifiers for particular entities, the durability property feature assigned a particular type value and associated with certain particular entity identifiers, and entity data corresponding to the particular entity identifiers; and

creating and inserting, by the interface, a new data structure into the data store, wherein the new data structure comprises the resource identifier, the particular event and a new set of data associated with the particular event, wherein the new set of data comprises the particular entity identifiers, the durability property feature assigned the particular type value for the certain particular entity identifiers, and the entity data corresponding to each of the particular entity identifiers.

5. The method of claim 1 further comprising, providing the interface to services associated with workflows as an Application Programming Interface (API) processed by the services from the workflows.

6. The method of claim 1 further comprising, providing the interface as a user interface to a user.

7. The method of claim 1 , managing further includes maintaining each data structure as a linked list for corresponding events in a corresponding lifecycle of a corresponding resource.

8. The method of claim 7 , wherein managing further includes process queries and updates to each linked list through the API processed by services and through a user interface provided to users.

9. A method, comprising:

receiving search criteria that comprises a resource identifier for a resource, an event, an entity identifier for an entity, and a durability condition set on the entity identifier;

identifying a data structure that defines fact sets for the resource by searching a data store using the resource identifier;

obtaining first fact sets from the data structure based on the event;

obtaining a second fact set from the data structure using the entity identifier and a type value assigned to the durability condition to locate a different event from the event for the entity identifier within the data structure based on the type value and obtain the second fact set for the entity identifier;

returning the first fact sets and the second fact set as search results for a search of the data store defined by the search criteria; and

updating certain ones of the first fact sets in the data structure using updated values associated with the search criteria.

10. The method of claim 9 , wherein receiving further includes receiving the search criteria via an Application Programming Interface (API) associated with services of workflows.

11. The method of claim 9 , wherein receiving further includes receiving the search criteria from a user that provides the search criteria through a user interface.

12. The method of claim 9 , wherein identifying further includes obtaining the data structure from the data store as a linked list associated with the resource, wherein the linked list corresponding to particular events in a lifecycle of the resource and each event corresponding to unique fact sets for the resource.

13. The method of claim 9 further comprising:

receiving a new identifier for a new resource;

receiving a particular event, particular entity identifiers for particular entities, third fact sets associated with the particular entities, and the durability condition assigned a type value and set on certain particular entity identifiers;

creating a new instance of the data structure and populating a new entry within the new instance with the new identifier, the particular event, the particular entity identifiers, the durability condition set on the certain particular entity identifiers, and the third fact sets corresponding to the particular entity identifiers; and

inserting the new instance of the data structure into the data store.

14. The method of claim 9 further comprising, processing the method as a cloud-based service to an enterprise associated with the data store.

15. A system, comprising:

at least one server system comprising at least one server having at least one server processor and a server non-transitory computer-readable storage medium having server executable instructions;

the at least one server executable when executed by the at least one server processor from the server non-transitory computer-readable storage medium causes the at least one server processor to perform operations comprising:

maintaining a data store as a collection of data structures for lifecycles of resources, each data structure comprises fact sets for events associated with a corresponding lifecycle of a corresponding resource, each entry in a corresponding data structure associated with a particular event in the corresponding lifecycle and each entry further comprises entity identifiers for entities, each entity identifier associated with a particular fact set, at least one entity identifier associated with a durability condition with an assigned type value that references a past fact set for a corresponding entry identifier associated with a particular event for which a corresponding entry identifier's fact set is to be obtained within the corresponding data structure;

providing an Application Programming Interface (API) to services associated with workflows to search, create and modify each data structure using corresponding resources, the events, the entity identifiers, and the durability conditions and their assigned type values associated with certain entity identifiers;

providing a user interface to user-operated devices for users to search, create, and modify the collection of data structures the resources, the events, the entity identifiers, and the durability conditions and their assigned type values associated with the certain entity identifiers;

receiving a specific event or a specific time period for a certain lifecycle of a certain resource through the API or the user interface; and

providing, by the API or the user interface, certain fact sets for corresponding entities associated with the specific event or the specific time period from the corresponding data structure associated with the certain resource as the certain fact sets existed within the data store for the specific event or for the specific time period.

16. The system of claim 15 , wherein the user interface is one or more of a mobile application and browser pages hosted on the at least one server system and accessible to the users through browsers.

17. The system of claim 15 , wherein at least one data structure for at least one resource comprises two or more entity identifiers associated with different types values assigned the durability condition and set on the two or more entity identifiers, each type value of the durability condition references a unique fact set within the corresponding data structure for each of the two or more entity identifiers.

Assignments (11)
RELEASE OF PATENT SECURITY INTEREST RECORDED AT R/F 071107/0650 Recorded May 13, 2026
From: ACQUIOM AGENCY SERVICES LLC
To: CARET HOLDINGS, INC.
Reel/Frame 075619/0607 →
RELEASE OF PATENT SECURITY INTEREST RECORDED AT R/F 066538/0718 AND CORRECTED AT R/F 066947/0212 Recorded May 13, 2026
From: ACQUIOM AGENCY SERVICES LLC
To: CARET HOLDINGS, INC.
Reel/Frame 075623/0317 →
RELEASE OF PATENT SECURITY INTEREST RECORDED AT R/F 061715/0333 Recorded May 13, 2026
From: ACQUIOM AGENCY SERVICES LLC
To: CARET HOLDINGS, INC.
Reel/Frame 075573/0214 →
RELEASE OF PATENT SECURITY INTEREST RECORDED AT R/F 065478/0131 Recorded May 13, 2026
From: ACQUIOM AGENCY SERVICES LLC
To: CARET HOLDINGS, INC.
Reel/Frame 075573/0260 →
SECURITY INTEREST Recorded May 4, 2026
From: CARET HOLDINGS, INC.
To: THE HUNTINGTON NATIONAL BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 074552/0233 →
SECURITY INTEREST Recorded May 14, 2025
From: ROOT, INC.; CARET HOLDINGS, INC.
To: ACQUIOM AGENCY SERVICES LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 071107/0650 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE CORRECT APPLICATION NUMBER IS 17/929,552 PREVIOUSLY RECORDED AT REEL: 66538 FRAME: 718. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Mar 22, 2024
From: ROOT, INC.; CARET HOLDINGS, INC.
To: ACQUIOM AGENCY SERVICES, LLC, AS THE ADMINISTRATIVE AGENT
Reel/Frame 066947/0212 →
SECURITY INTEREST Recorded Feb 23, 2024
From: ROOT, INC.; CARET HOLDINGS, INC.
To: ACQUIOM AGENCY SERVICES, LLC, AS THE ADMINISTRATIVE AGENT
Reel/Frame 066538/0718 →
SECURITY INTEREST Recorded Nov 7, 2023
From: ROOT, INC.; CARET HOLDINGS, INC.
To: ACQUIOM AGENCY SERVICES LLC, AS THE ADMINISTRATIVE AGENT
Reel/Frame 065478/0131 →
SECURITY INTEREST Recorded Nov 10, 2022
From: ROOT INC.; CARET HOLDINGS, INC.
To: ACQUIOM AGENCY SERVICES, LLC, AS ADMINISTRATIVE AGENT
Reel/Frame 061715/0333 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2022
From: SPELL, DERRICK; RANDAL, JASON CHRISTOPHER MILLER
To: CARET HOLDINGS, INC.
Reel/Frame 061383/0786 →
Continuity (1)
Related Publication 20240119030A1 · Apr 11, 2024
References Cited (5)
US 9798787B1 · Beard · 2017 [cited by examiner]
US 11831521B1 · Dhake · 2023 [cited by examiner]
US 20060195460A1 · Nori · 2006 [cited by examiner]
US 20130339471A1 · Bhargava · 2013 [cited by examiner]
US 20200226002A1 · MacLeod · 2020 [cited by examiner]