Salta ai contenuti. | Salta alla navigazione

Strumenti personali

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.