According to the definition by George Coulouris et al., Distributed Systems comprise hardware and software components on networked computers which communicate and coordinate their actions by messages. Principles of distributed systems are behind many current infrastructures and services, examples including distributed authoring and collaboration applications, web search, social media and messaging, distributed digital libraries, or Grid- and Cloud-based services. In this lecture, we introduce models, goals, problems and techniques for designing distributed systems that share resources and responsibilities in networked environments in a reliable and efficient way.
Topics and Exercises
Models of Distributed Systems
Basics of Computer Networks
Middleware for Remote Procedure Calling and Remote Method Invocation
Approaches for Indirect Communication
Peer to Peer Architectures
Distributed Services for Data, Computation, Names, Time etc.
Coulouris, Dollimore, Kindberg, Blair: Distributed Systems – Concept and Design, 5th ed. Pearson Publishing.
Additional references and development frameworks will be announced in the lecture.