Lazy Hierarchical Permission Tree Caching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face inefficiencies and high costs when updating hierarchical navigation trees with thousands of nodes and user groups, leading to prolonged wait times for users as the entire cache is rebuilt upon permission changes.
Innovation Solution
A method that identifies 'dirty' nodes within the permission tree and reconstructs only the affected portions, using timestamp comparisons between the master navigation tree and permission trees to update node and tree timestamps, allowing for incremental updates without rebuilding the entire tree.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire navigation tree is invalidated and reconstructed from the cache upon permission changes, then permission updates are ensured to be complete and accurate, but user wait time increases to minutes and system resources are excessively consumed
Solution Approach 1:
The patent divides the navigation tree into multiple permission trees, each corresponding to a specific user group. When permission changes occur, only the affected permission trees are updated rather than the entire navigation tree. This segmentation allows selective invalidation and reconstruction of only the necessary portions, reducing user wait time while maintaining permission update completeness.
Solution Approach 2:
The patent implements timestamp comparison at the node level to identify 'dirty' nodes that require updates. By comparing timestamps between the master navigation tree and cached permission trees, the system determines exactly which portions need reconstruction. This local quality approach ensures that updates are applied precisely where needed, avoiding unnecessary full-tree reconstructions and minimizing user wait time.
2Reliability
If the entire permission tree is reconstructed when permissions are updated, then all user group permissions are synchronized with the master tree, but the system becomes unresponsive and users experience minutes of downtime
Solution Approach 1:
The patent performs preliminary timestamp comparisons to identify which permission trees and nodes require updates before actual reconstruction begins. By pre-assessing the update scope through timestamp matching between master tree nodes and cached permission tree nodes, the system prepares for minimal necessary reconstruction, maintaining responsiveness while ensuring permission synchronization.
Solution Approach 2:
The patent selectively invalidates only the specific permission trees or nodes that contain outdated timestamps, rather than discarding the entire permission tree cache. The system recovers and reconstructs only the affected portions by regenerating permission trees from the master navigation tree for user groups whose permissions have changed, preserving system responsiveness while maintaining synchronization.
3Loss of time
If timestamp comparison and selective reconstruction is implemented, then user wait time is reduced and system resources are conserved, but the complexity of the caching mechanism increases
Solution Approach 1:
The patent implements a feedback mechanism where timestamps are continuously compared between the master navigation tree and cached permission trees. This feedback loop automatically identifies 'dirty' nodes that require updates and triggers selective reconstruction only when necessary. The timestamp-based feedback system simplifies the complexity by providing an automatic, rule-based approach to determining update requirements, reducing the need for complex manual validation logic.
Data Source
AI summary
Embodiments disclosed herein provide a “lazy” approach in caching a hierarchical navigation tree with one or more associated permission trees. In one embodiment, only a portion of a cached permission tree is updated. One embodiment of a method may comprise determining whether a dirty node exists by comparing tree timestamps of the permission tree and the master tree. If the tree timestamp of the master tree is temporally more recent than the tree timestamp of the permission tree, the permission tree has a dirty node and the method may operate to check node timestamps of the master and permission trees. This process may be repeated until the dirty node is found, at which time a portion of the permission tree associated with the dirty node may be reconstructed, rather than the entire permission tree itself, thereby eliminating or significantly reducing access time to the cached permission tree.


