Teaching‎ > ‎Courses‎ > ‎

Distributed Systems and Computer and Network security


Prof. Roberto Baldoni

Office Hours:

Office Hours: by appointment please send an email to direttore@cis.uniroma1.it with subject: REQUEST FOR APPOINTMENT 

via Ariosto 25, Room B112

Rules for registering at the exam

  • Students enrolled at Sapienza Univ. in academic year later than 2014-15 are required to fill out this form in order to sign up for "Distributed Systems" exam which is a 6 credit part of the "Distributed systems and Computer & network security" exam. Students of former academic years please sign up directly through Infostud .
  • DEADLINE FOR REGISTERING AT THE EXAM OF JAN 9th is JANUARY 4th. After Jan 4th the form will not be accessible anymore.
  • Additionally, students enrolled at Sapienza University in Academic Year 2014-15 please sign up through Infostud to "Distributed systems and Computer & network security" course (12 credits) for enabling the registration of the final mark (12 CFU course) once you passed both 6-credits exams, namely "Distributed Systems" and "Computer & network security".
  • Final mark of "Distributed systems and Computer & network security" course will be Ceiling( average ( "distributed systems" mark,"Computer & network security" mark))


  • Next Exam of Distributed System Course will take place July 12th 2017 ;

Week Schedule :


Room b2 (Via Ariosto)

Wednesday Room 105 (Palazzo Poste) 10.15am-11.45am
Thursday Room b2 (Via Ariosto) 8.30am -10.00am

Teaching Assistants

Silvia Bonomi, homepage

Leonardo Aniello, homepage

Main Textbook

  • [T1] R. Guerraoui, L. Rodriguez, "Introduction to reliable and secure secure distributed computing", Springer, 2011.
  • [T2] George Coulouris, Jean Dollimore and Tim Kindberg, Gordon Blair "Distributed Systems: Concepts and Design (5th Edition)". Addison - Wesley, 2012.
  • [S] Slides

Suggested Readings

  • [T3] Mullender "Distributed Systems", Addison - Wesley, 2002.
  • [T4] Tanembaun, Van Steen, "Distributed Systems: Principles and Paradigms"

Preliminary Program

Slides and additional material
Introduction Fundamental Concepts of a Distributed Systems: hardware, software and communication technologies. From system specification to system implementation slides, T1

Basic Abstractions


Processes: events, histories, failures, distributed computations, distributed algorithms, safety and liveness properties. T1
System models : Synchronous, Asynchronous, Eventually synchronous T1
Point-to-point communication channels : fair loss, stubborn, perfect. T1, slides (pdf)
Failure detectors: perfect failure detectors, eventually perfect failure detectors, leader elections with failure detectors. T1
Clock Synchronization: Physical clock synchronization, logical clock synchronization. slides (pdf)
Distributed Computations Ordering events: happened-before relation, vector and logical clocks. Application of Logical Time: Causal Communication. T1, slides (pdf), "Fundamentals of Distributed Computing: A practical tour of vector clocks"


Registers: non-atomic operations, specification (safe, regular, atomic), basic protocols T1, slides (pdf)
Consensus: definition, FLP impossibility result, non-uniform flooding consensus, uniform flooding consensus, rotating coordinator protocol. Application of consensus: Total order protocol, non-blocking atomic commitment. T1, slides (pdf)


Specification and Protocols: non-uniform (regular) Reliable Broadcast, uniform reliable broadcast, Causal Broadcast, Total Order Broadcast, hierarchy of total order broadcast. Probabilistic broadcast.

T1, slides (pdf), slides(pdf),

paper: "A guided tour on total order communication"

Replication Software Replication : Primary backup, active replication. slides (pdf)
paper: "Fault Tolerance by Replication in distributed systems" (pdf)
Handling Byzantine Failures broadcast-convergecast message pattern for replicated systems, Byzantine consistent broadcast, Byzantine reliable broadcast, Leader election.

T1, slides (pdf)

Information Diffusion Publish/Subscribe Systems. Communication paradigm, event routing, SIENA.

T2 (Chapter 6), slides (pdf), Siena (pdf)

CAP theorem Scalabiliy argument, NOSQL systems, CAP theorem, CP System: Google BigTable, AP System: Dynamo, the Google Infrastructure

CAP, BigTable, Dynamo, Google Infrastructure T2 (chapter 21)

Exam Text (sample1)

Exam Test (sample2)