Hierarchical Lock Management with Self and Derived Lock Tracking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional systems are limited in providing locking support only for leaf nodes in hierarchical structures, failing to efficiently manage locks and derived locks for intermediate nodes, which is crucial for scenarios involving large hierarchies and concurrent access management.
Innovation Solution
A method and system that maintain a locking structure with 'self-locks' and 'derived locks' information for nodes, allowing efficient checks and updates, enabling locking of intermediate nodes and their descendants, and supporting locking of both leaf and intermediate nodes by tracking self-locks and derived locks in a hierarchical structure.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional locking mechanisms are used for hierarchical structures, then locking support is provided only for leaf nodes, but this limits the ability to efficiently manage locks for intermediate nodes and large hierarchies
Solution Approach 1:
The lock status information is segmented into two distinct components: self-lock status (indicating whether the node itself is locked) and derived-lock status (indicating whether any ancestor node is locked). This segmentation allows the system to efficiently track locks at any level of the hierarchy without requiring complex traversal of the entire tree structure.
Solution Approach 2:
The system pre-establishes parent-pointer relationships for each node, allowing efficient upward traversal to check ancestor lock status. This preliminary structural preparation enables O(h) complexity for lock status checks, where h is the height of the node, rather than requiring full hierarchy traversal.
2Reliability
If lock status is checked for all nodes in a large hierarchy, then complete lock enforcement is achieved, but performance and scalability deteriorate
Solution Approach 1:
The patent extracts only the necessary lock status information (self-lock and derived-lock booleans) from each node, rather than maintaining complete lock records for all ancestors. This extraction reduces the information storage requirement to constant space per node while enabling efficient lock status determination through simple boolean checks and upward parent traversal.
Solution Approach 2:
The system performs partial checking by only traversing upward to the nearest ancestor that has a self-lock, rather than checking all ancestors. When a node's derived-lock status is true, the system knows an ancestor is locked without needing to identify which specific ancestor, thus reducing the checking effort while maintaining complete lock enforcement.
3Quantity of substance
If minimal metadata is maintained for each node, then storage efficiency is improved, but the ability to track lock status across hierarchies is reduced
Solution Approach 1:
Each node maintains localized lock status information (self-lock boolean and derived-lock boolean) that is specific to its position in the hierarchy. This local quality approach allows each node to independently determine its lock status without requiring global hierarchy information, reducing storage requirements while preserving necessary lock status knowledge.
Solution Approach 2:
The lock status information is nested within the node structure itself, with each node containing references to its parent and its own lock status flags. This nested organization allows the system to build up lock status information from the bottom of the hierarchy by traversing parent pointers, maintaining complete lock information using only constant space per node.
Data Source
AI summary
An improved approach is described for handling locks and locking for hierarchical structures. The approach efficiently captures lock information for hierarchical nodes as well as for the enforcement of derived locks. Support is provided for locking of leaf nodes as well as for locking of intermediate nodes.


