|
|
The lock manager relies heavily on a service called the Network Status Monitor to maintain the inherently stateful locking service within the stateless NFS environment. However, the status monitor, implemented as statd(1Mnfs), can also be used to support other kinds of stateful network services and applications. Normally, crash recovery is one of the most difficult aspects of network application development, and requires a major design and installation effort. The status monitor simplifies crash recovery.
The status monitor works by providing a general framework for collecting network status information. Implemented as a daemon that runs on all network machines, the status monitor provides a simple protocol that allows applications to monitor easily the status of other machines. Its use improves overall robustness, and avoids situations in which applications running on different machines (or even on the same machine) come to disagree about the status of a site -- a potentially dangerous situation that can lead to inconsistencies in many applications.
Applications use the status monitor to register interest in certain machines. The monitor then tracks the status of those machines, and when one of them recovers from a crash, it notifies the interested applications. Then the applications take whatever actions are necessary to reestablish a consistent state.
This approach provides the following advantages: