Distributed systems

A.Y. 2014/2015
Lesson for
Overall hours
Learning objectives
The aim of this class is to present the basic distributed system technologies. The class discusses the main issues and design choices of a distributed system, the architectural principles, with a particular focus on interconnection networks, communication among processes, remote method invocation and remote procedure call mechanisms. In addition, basic methods and algorithms for controlling concurrency are introduced.

Course structure and Syllabus

Linea Crema
Active edition
Lessons: 48 hours
Professor: Foresti Sara
1. Introduction
definition of distributed system; goals (resource availability, distribution transparency, openness, scalability); types of distributed systems (computing systems, information systems, pervasive systems).
2. Architecture of distributed systems
system architectures (centralized, decentralized, hybrid); middleware approaches (interceptors, adaptive middleware); the feedback control model.
3. Processes
threads; virtualization; clients; servers; code migration.
4. Communication
basic concepts; Remote Procedure Call; Message Oriented Communication; Stream Oriented Communication; Multicast Communication.
5. Naming
basic concepts (name, identifier, address); flat, structured, and attribute-based naming systems.
6. Synchronization
clock synchronization (physical clocks, GPS); logical clocks (Lamport and Vector Clocks protocols); mutual exclusion (centralized, decentralized, distributed, token ring algorithms); global node positioning; election algorithms.
7. Consistency and Replication
data-centric models (continuous consistency, consistent ordering); client-centric models (eventual consistency, monotonic reads, monotonic writes, read your writes, writes follow reads); replica management; consistency protocols (continuous consistency, primary-based, replicated-write, cache coherence).
8. Fault tolerance
basic concepts (failure, redundancy); process resilience; reliable client-server communication; reliable group communication; distributed commit; recovery.
Lesson period
Second semester
Lesson period
Second semester
Assessment methods
Assessment result
voto verbalizzato in trentesimi