In today's world, distributed systems are everywhere. A distributed system is a collection of computing resources, including computers, devices, software components or applications, which are physically separated, but linked together to complete certain acts or tasks. Internet, intranet or mobile networks are examples of distributed network systems. More sophisticated ones include a cluster, a grid, and cloud infrastructure. Examples of distributed applications vary from client server applications, SOA-based systems to massive multiplayer online games. Thanks to social, mobile, and cloud applications, large-scale distributed systems have evolved into an indispensable technology platform and are a ubiquitous always-on environment for businesses, consumers, and private citizens around the world.
With the help of advanced technologies...