Never stale caching of effective properties
AssigneePing Identity International, Inc.
InventorDirk John Hogan
Life of this patent
Estimating the term…
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.
Claims18
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.
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.
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.
Dependencies are inferred from the claim text.