Congestion avoidance and control
SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
Shifting gears: changing algorithms on the fly to expedite Byzantine agreement
Information and Computation
Self-stabilizing depth-first search
Information Processing Letters
Adaptive protocols for information dissemination in wireless sensor networks
MobiCom '99 Proceedings of the 5th annual ACM/IEEE international conference on Mobile computing and networking
Fast protocol transition in a distributed environment (brief announcement)
Proceedings of the nineteenth annual ACM symposium on Principles of distributed computing
IEEE Transactions on Computers
An Adaptive Checkpointing Scheme for Distributed Databases with Mixed Types of Transactions
IEEE Transactions on Knowledge and Data Engineering
Adaptive Mutual Exclusion with Local Spinning
DISC '00 Proceedings of the 14th International Conference on Distributed Computing
Constructing Adaptive Software in Distributed Systems
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
Structural and algorithmic issues of dynamic protocol update
IPDPS'06 Proceedings of the 20th international conference on Parallel and distributed processing
Run-time switching between total order algorithms
Euro-Par'06 Proceedings of the 12th international conference on Parallel Processing
Self-stabilizing distributed protocol switching
ICDCN'08 Proceedings of the 9th international conference on Distributed computing and networking
Adaptive broadcast by fault-tolerant spanning tree switching
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
Adaptation is a desirable requirement in a distributed system. For many problems, there exists more than one protocol such that one protocol performs better in one environment while the other performs better in another. In such cases, adaptive distributed systems can be designed by dynamically switching between the protocols as the environment changes. In this work, we present distributed algorithms to switch from a BFS tree to a DFS tree and from a DFS tree to a BFS tree. For low network load, a BFS tree is a better choice for broadcast since it also minimizes delay, whereas for higher network load, a DFS tree may be more suitable to reduce the load on any one node. The proposed switching algorithms can handle arbitrary crash failures. They ensure that switching eventually completes in spite of failures with the desired tree as the output. Also, all messages are correctly broadcast in the absence of failures even in the presence of switching.