IEEETRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS,VOL.3,NO.l,JANUARY
this paper, we present a dynamic
systems whose information-
evolves with time as sites learn about the state of the system
of the algorithm
adapts itself to heterogeneous or fluctuating
of messages exchanged).
to the performance
discuss the impact of message loss and site failures on the algorithm
propose methods to tolerate these failures.
ance, mutual exclusion, performance,
In this paper, we consider the problem of mutual exclusion in
distributed systems. A distributed system consists of a collection
of geographically dispersed autonomous sites, say Sr Sz.
which are connected by a communication network. We assume that
the sites do not share any memory and communicate completely
by message passing. Message propagation delay is finite but unpre-
dictable and between any pair of sites messages are delivered in the
order they arc sent. For the ease of presentation, we initially assume
that the underlying communication network is reliable and sites do
not crash. Later, we discuss the consequences of message loss and
site failures on the operation of the algorithm and propose methods
for recovery from these failures.
Over the last decade, several algorithms to achieve mutual exclu-
sion in distributed systems have been proposed. Based upon their
underlying principle to achieve mutual exclusion, these algorithms
can be divided into two classes: token-based and nontoken-based.
Nontoken-based algorithms use two or more successive phases of
message exchanges to determine which site should enter the critical
section (CS) next [l],
[h], (81, .
Algorithms in , , [lo], , -
are token-based where
a unique token (also known as the PRIVILEGE message [ 121, ) is
shared among the sites such that possession of the token gives a site
the authority to execute its CS. Singular existence of token in these
algorithms implies the enforcement of mutual exclusion in distributed
systems. Out of all the existing algorithms, only the algorithms in [I],
, , , [ll],
, , and  have discussed fault-tolerant
of the Paper
of an algorithm describes which pro-
cesses maintain state information about what other processes and
from which processes a process must request permission before
it enters the critical section . Most existing mutual exclusion
algorithms for distributed systems use static information-structure
received March 28, 1989; revised December 12, 1990.
The author is with the Department of Computer and Information