Software Development in Distributed Environments


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
  • Interprocess Communication
  • Middleware for Remote Procedure Calling and Remote Method Invocation
  • Approaches for Indirect Communication
  • Webservices
  • 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.

To top

Tobias Schreck
Univ.-Prof. Dipl.-Volksw. Dr.rer.nat. M.Sc.