Never Stale Caching for Identity Management Graphs
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If graph topology changes trigger immediate cache refreshes, then cached properties remain accurate, but notification overhead and processing latency increase
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.
Data Source
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.


