IP Library Granted Patent US 12,117,992
Granted Patent B2
US 12,117,992 · App. 18/114,688 · Granted Oct 15, 2024

Never stale caching of effective properties

Inventor: Dirk John Hogan (West Linn, OR)
Assignee: Ping Identity International, Inc.
G06F16/2379G06F12/0875G06F16/9024G06Q10/105G06Q10/109G06F2212/1032G06Q10/067
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,117,992
App. No.
18/114,688
Granted
Oct 15, 2024
Kind
B2
Abstract

The technology disclosed relates to maintaining a cache of effective properties in an identity management system employing a graph. In particular, it relates to handling vertex/edge and/or graph topology updates in accordance with update notification requirements configured from a schema and, in conjunction with detecting updating of vertex/edge attributes and/or graph topology, recalculating effective attributes in accordance with the configured notification requirements.

Claims (66)

1. A computer-implemented method of updating caches in first class nodes with derived attributes harvested by traversing a directed graph in response to update notifications wherein the directed graph

includes a first class of terminal nodes, a second class of intermediate nodes, and a third class of attribute nodes, wherein an update notification is capable of being propagated to a plurality of second class nodes that are directly connected to one or more third class nodes;

the second class of nodes is multilayered, so that traversal between a first class node and a third class node traverses two or more second class nodes;

the first class node derives attributes from the third class nodes; and

the method including:

configuring, from a schema, a harvesting of derived attributes of the first class nodes from the third class nodes, including specifying a harvesting path in a first-class-node-to-third-class-node direction through the second class nodes;

configuring, from the schema, a notification requirement to be triggered by updating of attributes of the third class nodes, including specifying a notification path a third-class-node-to-first-class-node direction through the second class nodes to affected first class nodes affected by the updating;

detecting an update to an updated attribute of a third class node that triggers the configured notification requirement and notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting; and

refreshing the respective first class node caches with the updated attribute of the third class node, wherein the derived attributes in the first class node caches express a relationship between the first and third class nodes that can be retrieved from the first class node caches without traversing from the first to third class nodes.

2. The method of claim 1 , further including:

initializing the first class node caches with the derived attributes from the third class nodes by applying the configured harvesting of derived attributes.

3. The method of claim 1 , further including:

representing a hierarchical reporting structure corresponding to an organization chart in the second class nodes.

4. The method of claim 1 , further including:

detecting an update to an edge inter-connecting the second class nodes that triggers the configured notification requirement; and

notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting.

5. The method of claim 1 , further including:

detecting an update to an edge, which connects at least one of the second class nodes to at least one of the third class nodes, which further triggers the configured notification requirement; and

notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting.

6. The method of claim 1 , further including:

representing upcoming temporally triggered updates in second class nodes; and

periodically, daily or more often, scanning the second class nodes for temporally triggered updates and generating at least one of the configured notification requirements.

7. A tangible non-transitory computer readable storage media, including program instructions loaded into memory that, when executed on processors cause the processors to implement actions for updating caches in first class nodes with derived attributes harvested by traversing a directed graph in response to update notifications wherein the directed graph

includes a first class of terminal nodes, a second class of intermediate nodes, and a third class of attribute nodes, wherein an update notification is capable of being propagated to a plurality of second class nodes that are directly connected to one or more third class nodes;

the second class of nodes is multilayered, so that traversal between a first class node and a third class node traverses two or more second class nodes;

the first class node derives attributes from the third class nodes; and

the actions including:

configuring, from a schema, a harvesting of derived attributes of the first class nodes from the third class nodes, including specifying a harvesting path in a first-class-node-to-third-class-node direction through the second class nodes;

configuring, from the schema, a notification requirement to be triggered by updating of attributes of the third class nodes, including specifying a notification path in a third-class-node-to-first-class-node direction through the second class nodes to affected first class nodes affected by the updating;

detecting an update to an updated attribute of a third class node that triggers the configured notification requirement and notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting; and

refreshing the respective first class node caches with the updated attribute of the third class node, wherein the derived attributes in the first class node caches express a relationship between the first and third class nodes that can be retrieved from the first class node caches without traversing from the first to third class nodes.

8. The tangible non-transitory computer readable storage media of claim 7 , the actions further including:

initializing the first class node caches with the derived attributes from the third class nodes by applying the configured harvesting of derived attributes.

9. The tangible non-transitory computer readable storage media of claim 7 , the actions further including:

representing a hierarchical reporting structure corresponding to an organization chart in the second class nodes.

10. The tangible non-transitory computer readable storage media of claim 7 , the actions further including:

detecting an update to an edge inter-connecting the second class nodes that triggers the configured notification requirement; and

notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting.

11. The tangible non-transitory computer readable storage media of claim 7 , the actions further including:

detecting an update to an edge, which connects at least one of the second class nodes to at least one of the third class nodes, which further triggers the configured notification requirement; and

notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting.

12. The tangible non-transitory computer readable storage media of claim 7 , the actions further including:

representing upcoming temporally triggered updates in second class nodes; and

periodically, daily or more often, scanning the second class nodes for temporally triggered updates and generating at least one of the configured notification requirements.

13. A system including a processor, memory coupled to the processor and program instructions from the memory that, when executed on processors cause the processors to implement actions for updating caches in first class nodes with derived attributes harvested by traversing a directed graph in response to update notifications wherein the directed graph

includes a first class of terminal nodes, a second class of intermediate nodes, and a third class of attribute nodes, wherein an update notification is capable of being propagated to a plurality of second class nodes that are directly connected to one or more third class nodes;

the second class of nodes is multilayered, so that traversal between a first class node and a third class node traverses two or more second class nodes;

the first class node derives attributes from the third class nodes; and

the actions including:

configuring, from a schema, a harvesting of derived attributes of the first class nodes from the third class nodes, including specifying a harvesting path in a first-class-node-to-third-class-node direction through the second class nodes;

configuring, from the schema, a notification requirement to be triggered by updating of attributes of the third class nodes, including specifying a notification path in a third-class-node-to-first-class-node direction through the second class nodes to affected first class nodes affected by the updating;

detecting an update to an updated attribute of a third class node that triggers the configured notification requirement and notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting; and

refreshing the respective first class node caches with the updated attribute of the third class node, wherein the derived attributes in the first class node caches express a relationship between the first and third class nodes that can be retrieved from the first class node caches without traversing from the first to third class nodes.

14. The system of claim 13 , the actions further including:

initializing the first class node caches with the derived attributes from the third class nodes by applying the configured harvesting of derived attributes.

15. The system of claim 13 , the actions further including:

representing a hierarchical reporting structure corresponding to an organization chart in the second class nodes.

16. The system of claim 13 , the actions further including:

detecting an update to an edge inter-connecting the second class nodes that triggers the configured notification requirement; and

notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting.

17. The system of claim 13 , the actions further including:

detecting an update to an edge, which connects at least one of the second class nodes to at least one of the third class nodes, which further triggers the configured notification requirement; and

notifying the affected first class nodes to refresh respective first class node caches consistent with the configured harvesting.

18. The system of claim 13 , the actions further including:

representing upcoming temporally triggered updates in second class nodes; and

periodically, daily or more often, scanning the second class nodes for temporally triggered updates and generating at least one of the configured notification requirements.

Assignments (5)
RELEASE OF SECURITY INTEREST AT R/F 65335/0890 Recorded Nov 14, 2025
From: BLUE OWL CAPITAL CORPORATION
To: PING IDENTITY CORPORATION (FORMERLY KNOWN AS FORGEROCK INC.)
Reel/Frame 073564/0791 →
SECURITY INTEREST Recorded Nov 13, 2025
From: PING IDENTITY CORPORATION; PING IDENTITY INTERNATIONAL, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 073557/0093 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2024
From: FORGEROCK, INC.
To: PING IDENTITY INTERNATIONAL, INC.
Reel/Frame 066358/0483 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Oct 24, 2023
From: FORGEROCK, INC.
To: BLUE OWL CAPITAL CORPORATION (FORMERLY KNOWN AS OWL ROCK CAPITAL CORPORATION), AS COLLATERAL AGENT
Reel/Frame 065335/0890 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2023
From: HOGAN, DIRK JOHN
To: FORGEROCK, INC.
Reel/Frame 062813/0095 →
Continuity (2)
Continuation 17018074 · Sep 11, 2020
Related Publication 20230222115A1 · Jul 13, 2023