A distributed computing system is a collection of individual
computing devices that can communicate with each other. Although this definition
encompasses a wide range of computer systems, we will focus on what is
known as a loosely coupled distributed system, such as a local-area cluster
of workstations or the Internet. In such systems, processors communicate via message
passing over a network and may cooperate to run a distributed algorithm for
a common purpose such as sharing resources.
Distributed computing systems are often
represented using graph notation to indicate connectivity. In
such a graph, the nodes are processors, the edges are communication links between processors, and
arrows indicate direction of communication over a link. The pattern of
connections provided by the links in a computer network is known as the network topology.