DISTRIBUTED SYSTEMS
Academic year and teacher
If you can't find the course description that you're looking for in the above list,
please see the following instructions >>
- Versione italiana
- Academic year
- 2022/2023
- Teacher
- CESARE STEFANELLI
- Credits
- 6
- Didactic period
- Primo Semestre
- SSD
- ING-INF/05
Training objectives
- The goal of this course is to provide an advanced knowledge about modern distributed systems, in terms of models, architectures, systems, methodologies, and tools.
The main acquired knowledge will be:
distributed systems design requirements;
distributed systems models and architectures;
communication paradigm;
fault tolerance;
naming systems;
middleware for supporting distributed services and applications (Web Services, Distributed Objects, Cloud Computing, mobile systems, …).
The basic acquired abilities (that are the capacity of applying the acquired knowledge) will be:
distributed systems analysis to understand main components and interactions;
understanding design requirements and being able to choose the better suited models, architectures, paradigms for a specific scenario;
identifying the best suited middleware for any specific application scenario;
being able to configure and install the most common and important middleware. Prerequisites
- The course requires the knowledge of the main areas studied in basic operating systems and computer network courses:
C and Java languages;
Unix System Programming
Unix Network Programming (socket); Course programme
- The course consists of 60 hours of teaching and labs:
Dystributed Systems introduction (10 hours). Dystributed systems introduction, definitions, main features, properties, challenges. Main models and architectures.
Communications in dystributed systems (6 hours). Main communication paradigms. Communication semantics and fault tolerance. Routing. Interaction models.
Naming systems (6 hours). Naming problem and naming services. Main solutions and examples.
Middleware (8 hours). Software infrastructures for supporting distributed services and applications. Definitions, properties and models. Middlewares taxonomy.
Middleware examples (18 hours): Web Services (SOAP e ReST), Object oriented mw, Cloud Computing, Mobile Computing, Middleware for Internet of Things (IoT).
Seminars:
Smartphone programming (6 hours) (iOS and Android).
Blockchain (6 hours). Didactic methods
- The course is organized as follow:
video recorded lessons uploaded on the Classroom site.
Focus group both online and in presence, to help students in studying Learning assessment procedures
- The aim of the exam is to verify at which level the learning objectives previously described have been acquired. The examination will be held in the form of an oral discussion.
Reference texts
- video lessons and slides available on the Classroom site with id: tx7pukb
Main bibliography:
M.Van Steen, A. Tanenbaum, Distributed Systems 3rd Edition (2017), freely available at the link: https://www.distributed-systems.net
G.Couloris, J. Dollimore, T. Kindberg, G. Blair, Distributed Systems – Concepts and Design, fifth edition, Addison Wesley, 2011.