Trie Data Structure Access Control via Segmented Locking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing concurrency control technologies for trie data structures face challenges in preventing collisions and interference between processes while maintaining operation speed, particularly in concurrent access scenarios.
Innovation Solution
A method is introduced to divide the trie data structure into smaller groups, allowing independent access permission management, where nodes are locked and unlocked based on a predetermined traversal order and threshold values to determine anchor nodes, enabling efficient access control through iteration operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If concurrency control technology is applied to prevent collisions and interference between processes, then reliability is improved, but device complexity increases due to lock management mechanisms
Solution Approach 1:
The trie data structure is segmented into multiple independent groups, where each group can be independently locked and accessed. This segmentation allows fine-grained concurrency control where only the specific group being modified is locked, rather than locking the entire data structure, thus improving reliability while managing complexity through modular organization
2Reliability
If lock management is implemented for concurrency control, then reliability is improved, but productivity decreases due to lock acquisition and release overhead
Solution Approach 1:
Lock management is applied locally to specific groups within the trie rather than globally to the entire structure. Each group has its own lock state, allowing multiple operations to proceed simultaneously on different groups. This local approach prevents collisions (improving reliability) while minimizing lock overhead (maintaining productivity) by only locking the specific portion of data being accessed
Solution Approach 2:
The system applies partial locking by only locking the specific group that needs to be modified, rather than locking the entire trie structure. This partial action approach ensures collision prevention for the affected group while allowing other groups to remain accessible, thus maintaining overall operation speed while ensuring reliability
3Reliability
If the entire trie data structure is locked for access control, then reliability is improved, but productivity decreases due to complete access blocking
Solution Approach 1:
The trie is divided into multiple independent groups that can be independently locked. This segmentation enables selective locking where only the specific group being accessed is locked, while other groups remain accessible to concurrent operations. This resolves the contradiction by maintaining data structure stability through proper locking while preserving concurrent access speed through parallel operations on different groups
Solution Approach 2:
The lock management system dynamically adjusts which groups are locked based on the specific access pattern. Rather than static complete locking, the system dynamically locks only the necessary groups for the current operation, allowing maximum concurrency while ensuring data stability. This dynamic approach optimizes both reliability and productivity adaptively
Data Source
AI summary
A technology for controlling an access of a trie by managing node access permissions of processes that access a trie data structure and perform an operation is disclosed. Example embodiments include accessing a window initiating node in a trie, determining whether a next node is an anchor node while visiting lower nodes of the window initiating node in a predetermined traversal order, locking the next node when the next node is an anchor node, releasing a lock of the window initiating node when the window initiating node is an anchor node, and setting the next node as the window initiating node.


