Stabilizing Replicated Search Trees
DISC '01 Proceedings of the 15th International Conference on Distributed Computing
A Composite Stabilizing Data Structure
WSS '01 Proceedings of the 5th International Workshop on Self-Stabilizing Systems
Snap-stabilizing prefix tree for peer-to-peer systems
SSS'07 Proceedings of the 9h international conference on Stabilization, safety, and security of distributed systems
Self-stabilizing labeling and ranking in ordered trees
SSS'11 Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems
Snap-Stabilizing optimal binary search tree
SSS'05 Proceedings of the 7th international conference on Self-Stabilizing Systems
On self-stabilizing search trees
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Self-stabilizing labeling and ranking in ordered trees
Theoretical Computer Science
Hi-index | 0.00 |
The ability of a system to recover from unexpected change in its environment or disruptions to its internal state is an indication of robust design and autonomous control. Recovery can be constrained by service availability requirements, so that even during periods of recovery, new service requests should be admitted and processed in a timely manner. Given that complex systems are constructed from many components, it is sensible to investigate how individual components can facilitate recovery and also satisfy availability requirements. The component presented in this paper is a search tree data structure that can recover from any disruption: it is a self-stabilizing data structure. No matter how severe the damage to its internal state, new operations on the data structure behave properly and the responses to operations are accurate indicators of any change to the search tree, even as the search tree recovery is underway. This paper resolves, for the first time, issues of dynamic allocation and pointer organization in a stabilizing data structure. After any sequence of O(m) operations in an arbitrary initial search tree of m nodes, the tree becomes balanced, all operations have O(lg n) running time, and free chains are adequate to supply new nodes for insertions. To meet availability constraints, operations have O(lg K) running time during periods of recovery, where K is the maximum number of items that the data structure can contain.