Title: Distributed Computing Principles and Applications