awareness over all systems that make up a distributed system. This is particularly
true when dealing with concurrency, fault tolerance, and recovery. Problems in
these areas are magnified when dealing with large distributed systems.
Controlling the concurrency of processes (whereby two or more processes