Key Characteristics of Distributed Systems