Never Stale Caching for Identity Management Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing identity management systems face high query loads and resource taxation when recalculating user assignments for authorization decisions, especially in large deployments, due to frequent queries against relational databases, which hinders scalability.

Innovation Solution

Implementing a 'never stale caching' mechanism that uses graph processing to order nodes and traverse edges, allowing high-level nodes to cache attributes from lower-level nodes, with notifications triggering cache refreshes only upon relevant topology changes, thereby reducing the need for frequent recalculations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If frequent queries are made against relational databases to recalculate user assignments, then authorization decisions can be made with up-to-date information, but query load and resource usage increase significantly

Engineering Contradiction:
Improveauthorization decision accuracyVSAvoidsystem scalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system pre-calculates and caches effective properties (user assignments, roles, permissions) before they are needed for authorization decisions. When a user's profile or graph topology changes, the affected effective properties are proactively recalculated and stored in memory caches, so that subsequent authorization queries can be served immediately without database access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediate caching layer between the relational database and the authorization decision-making process. This cache acts as a mediator that holds pre-computed effective properties in memory, allowing fast retrieval without directly querying the database for every authorization check. The cache is updated asynchronously through a change propagation mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If full recalculation of effective properties is performed frequently, then cache data remains up-to-date, but resource taxation and processing time increase

Engineering Contradiction:
Improvecache stalenessVSAvoidrecalculation time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The system segments the recalculation process by identifying and updating only the specific effective properties that are affected by graph topology changes, rather than performing a full system-wide recalculation. When a change occurs in the graph (e.g., user attribute modification, relationship addition/removal), the system traces the impact through the graph schema to determine which specific effective properties need updating, recalculating only those segments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic update mechanism where the recalculation of effective properties is triggered on-demand based on actual graph topology changes rather than following a fixed schedule. The system monitors for changes in user profiles, graph structure, or relationships, and dynamically initiates recalculation only when necessary, adapting the update frequency to the actual state of the system.

Inventive Principle:
Principle #15Dynamics

3Reliability

If graph topology changes trigger immediate cache refreshes, then cached properties remain accurate, but notification overhead and processing latency increase

Engineering Contradiction:
Improvecache accuracyVSAvoidauthorization response time
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system creates and maintains copies of effective properties in memory caches that mirror the state of the underlying graph data. When graph topology changes occur, the system propagates these changes by updating the relevant cache copies rather than accessing the original graph structure for every authorization query. This copying mechanism allows fast read access to cached properties while maintaining accuracy through selective updates.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12117992B2Never stale caching of effective properties
Publication Date: 2024.10.15 PING IDENTITY INT INC
  • US12117992B2 patent drawing
  • US12117992B2 patent drawing
  • US12117992B2 patent drawing

AI summary

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.