Networks of computers are everywhere. The Internet is one, as are the many networks
of which it is composed. Mobile phone networks, corporate networks, factory networks,
campus networks, home networks, in-car networks – all of these, both separately and in
combination, share the essential characteristics that make them relevant subjects for
study under the heading distributed systems. In this book we aim to explain the
characteristics of networked computers that impact system designers and implementors
and to present the
main concepts and techniques that have been developed to help in the
tasks of designing and implementing systems that are based on them.
We define a distributed system as one in which hardware or software components
located at networked computers communicate and coordinate their actions only by
passing messages. This simple definition covers the entire range of systems in which
networked computers can usefully be deployed.