CODICE 86799 ANNO ACCADEMICO 2025/2026 CFU 6 cfu anno 2 COMPUTER ENGINEERING 11160 (LM-32) - GENOVA SETTORE SCIENTIFICO DISCIPLINARE ING-INF/05 LINGUA Inglese SEDE GENOVA PERIODO 1° Semestre PRESENTAZIONE The course provides the student with the technical and methodological tools to understand and describe the characteristics, functions and interactions of a Distributed System. OBIETTIVI E CONTENUTI OBIETTIVI FORMATIVI The course aims to provide an understanding of the principles on which the Internet and other distributed systems are based, their architecture, algorithms and design, and how they meet the demands of contemporary distributed applications, including the following topics: Distributed systems characterization; Coordination of distributed systems; Physical and logical clock synchronization; Distributed mutual exclusion; Election algorithms and protocols; Consistency of distributed systems; Data centric systems; Client centric systems; Consistency protocols; Resilience of distributed systems; Distributed process pooling and resilience; Reliable distributed communication services; Distributed operation commit; Recovery of faulty systems; Case studies: Hyperledger permissioned blockchains, Google distributed storage and computation, In memory Distributed Data Store, Office online collaboration platforms. OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO The course aims to provide an understanding of the principles on which the Internet and other distributed systems are based, their architecture, algorithms and design, and how they meet the demands of contemporary distributed applications, including the following topics: Distributed systems characterization; Coordination of distributed systems; Physical and logical clock synchronization; Distributed mutual exclusion; Election algorithms and protocols; Consistency of distributed systems; Data centric systems; Client centric systems; Consistency protocols; Resilience of distributed systems; Distributed process pooling and resilience; Reliable distributed communication services; Distributed operation commit; Recovery of faulty systems; Case studies: Hyperledger permissioned blockchains, Google distributed storage and computation, In memory Distributed Data Store, Office online collaboration platforms. PREREQUISITI Software platforms course. MODALITA' DIDATTICHE Lessons held in presence. PROGRAMMA/CONTENUTO 1. Distributed systems characterization 2. Coordination of distributed systems Physical and logical clock synchronization Distributed mutual exclusion Election algorithms and protocols 3. Consistency of distributed systems Data centric systems Client centric systems Consistency protocols 4. Resilience of distributed systems Distributed process pooling and resilience Reliable distributed communication services Distributed operation commit Recovery of faulty systems 5. Case studies Hyperledger platform for permissioned blockchains Office/Spreadsheet online collaboration platform Kubernetes platform for the management of containerized workloads and services TESTI/BIBLIOGRAFIA Testi Material provided during the course and made available through Aulaweb: https://2024.aulaweb.unige.it/course/view.php?id=2625 DOCENTI E COMMISSIONI PIERPAOLO BAGLIETTO Ricevimento: Personal appointment. Please send an email to ask and define it. MASSIMO MARESCA Ricevimento: In coda alle lezioni durante il periodo delle lezioni. Su appuntamento nellla restante parte dell'anno. LEZIONI INIZIO LEZIONI https://courses.unige.it/11160/p/students-timetable Orari delle lezioni L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy ESAMI MODALITA' D'ESAME Oral discussion. Please send an email to ask for an apointment. MODALITA' DI ACCERTAMENTO Oral discussion on the course topics. Home work to be developed at the end of the lab activity.