A state machine approach to dynamic reconfiguration of distributed applications
Alvin Lim · 2002
Many large and complex distributed applications execute for a long period of time and require dynamic reconfiguration that is graceful so as to reduce reduce the cost of downtime and increase the availability of critical operations. To make our reconfiguration facility efficient and general, we have the following design goals. First, processes should be allowed to interact arbitrarily without unnecessary restrictions. We avoid using transactions since they restrict the way processes can synchronize among one another. Second, we should not mandate quiescence of all affected processes before dynamic reconfiguration can begin. Third, a new configuration should be unconstrained by the properties of the old configuration. We model the behavior of each process (or resource) by a finite-state machine (FSM), known as a basic machine.>