In this course we will discuss:
- the basic characteristics of distributed systems;
- architectures of distributed systems;
- problems related to the communication in distributed systems;
- methods and techniques to address such problems;
- different types of middleware;
- software patterns for distributed systems;
- an introduction to graph theory and graph algorithms.
The course focuses on generic concepts, techniques, methods, and open standards for distributed systems.
We do not (explicitly) discuss the implementation of distributed systems via a particular programming language or software platform.
Recommended prior knowledge:
- Basic knowledge of data transmission (signals, signal encoding, channels, etc.);
- Basic knowledge of computer network topologies;
- Good knowledge of the ISO/OSI model;
- Good knowledge of the Internet protocol stack (esp. UDP, TCP, IP, and HTTP).