DISTRIBUTED SYSTEMS
SISTEMI DISTRIBUITI
A.Y. | Credits |
---|---|
2022/2023 | 6 |
Lecturer | Office hours for students | |
---|---|---|
Stefano Ferretti | Monday, 14:00-16:00 |
Teaching in foreign languages |
---|
Course with optional materials in a foreign language
English
This course is entirely taught in Italian. Study materials can be provided in the foreign language and the final exam can be taken in the foreign language. |
Assigned to the Degree Course
Date | Time | Classroom / Location |
---|
Date | Time | Classroom / Location |
---|
Learning Objectives
The aim of the course is to provide the fundamentals for the design and implementation of distributed systems. The main metrics for the analysis of a distributed system will be introduced. The systemic-architectural aspects of distributed systems will be introduced, analyzing various models (client-server, multi-tier, peer-to-peer, etc). Furthermore, the course will deal with the main distributed algorithms used in different application contexts. Finally, the main solutions for the realization of modern distributed applications will be described and analyzed.
Program
01. Introduction
01.01 main concepts
01.02 main metrics
01.03 asynchronous amnd synchronous models
02 Distributed System architectures
02.01 Client/server
02.02 Peer-to-Peer
02.03 Hybrid solutions, edge computing
02.04 Complex systems
03 Main iIssues of distributed systems
03.01 global state and global ckock
03.02 communication and consensus
03.03 faul tolerance
03.04 replication and consistency
04 Distributed transactions and synchronization
04.01 Distributed locks
04.02 Message ordering
04.03 Distributed Commit (2PC, 3PC)
04.04 Distributed deadlock
04.05 Synchronization techniques
05 Peer-to-Peer systems
05.01 Overlay topologies and decentralization
05.02 Distributed Hash Tables
05.03 Data dissemination
05.04 BitTorrent
05.05 Spotify
05.06 Web Real Time Communication (WebRTC) Technologies
06 Distributed Ledgers, Blockchain, Decentralized File Systems
06.01 Distributed ledgers
06.02 Applications
06.03 Consensus schemes
06.04 Smart Contracts
06.05 Inter-Planetary File System (IPFS) and other decentralized file systems
07 Lab activities
07.01 WebRTC
07.02 Smart contracts
Bridging Courses
none
Learning Achievements (Dublin Descriptors)
Knowledge and understanding: the student will acquire the main knowledge on architectural models, main problems, and peculiar aspects of distributed systems.
Ability to apply knowledge and understanding: the student will be able to apply the knowledge acquired with the aim of designing distributed applications. He will also be able to design and implement prototype distributed systems.
Autonomy of judgment: the student will be able to evaluate the efficiency of a distributed system.
Communication skills: The student will be able to use the terminology of distributed systems appropriately. In addition, the student will be able to illustrate the descriptive characteristics and functionality of a system and distributed applications.
Learning skills: the student will learn the ability to design and implement systems based on descriptive requirements and specifications that specify the type of content and operations necessary for the management of a distributed application.
Teaching Material
The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it
Teaching, Attendance, Course Books and Assessment
- Teaching
Frontal lessons and laboratory activities
- Attendance
Not mandatory
- Course books
Provided material
Peer to Peer Systems and Applications, R. Steinmetz, K.Wehrle, LNCS 3485, Springer Verlag, 2005 (available online)
G. S. Coulouris, J. Dollimore, T. Kindberg, G. Blair; Distributed Systems Concepts and Design (5th ed.); Addison-Wesley; 2012
- Assessment
Project
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
Additional Information for Non-Attending Students
- Teaching
Material coming from frontal lessons and laboratory activities
- Attendance
Not mandatory
- Course books
Provided material
Peer to Peer Systems and Applications, R. Steinmetz, K.Wehrle, LNCS 3485, Springer Verlag, 2005 (available online)
G. S. Coulouris, J. Dollimore, T. Kindberg, G. Blair; Distributed Systems Concepts and Design (5th ed.); Addison-Wesley; 2012
- Assessment
Project, to be agreed with the teacher and oral discussion.
The grade is determined based on the quality of the project and oral discussion.
The quality of the project is evaluated based on the achievement of the objectives of the study, the ability to focus on the central aspects of the course, the ability to identify key performance metrics with respect to the case study, and their evaluation. (For example, in the design of a distributed system, the "beauty" of the graphical user interface will not be evaluated as much as the ability to measure the performance metrics of the system.)
The oral discussion will focus on topics related to the project, but it may range over all topics covered during the course.
- Disability and Specific Learning Disorders (SLD)
Students who have registered their disability certification or SLD certification with the Inclusion and Right to Study Office can request to use conceptual maps (for keywords) during exams.
To this end, it is necessary to send the maps, two weeks before the exam date, to the course instructor, who will verify their compliance with the university guidelines and may request modifications.
« back | Last update: 31/08/2022 |