Scheda insegnamento

  • Docente Antonio Corradi

  • Crediti formativi 8

  • SSD ING-INF/05

  • Lingua di insegnamento Inglese


L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Istruzione di qualità Parità di genere Imprese innovazione e infrastrutture Consumo e produzione responsabili

Anno Accademico 2020/2021

Conoscenze e abilità da conseguire

The class tends to enhance the capacity of orientating in the process of defining the strategies for a distributed system and applying them in different related applications. The students face the principles and the main problems of distributed large systems and are exposed to some standard and widely solutions, by following the class and via individual work. At the end, students are expected to be able to know the properties of most diffused middleware and the evolutions one can expect from that technology, by mastering the properties for designing a real application: most well spread strategies are presented and discussed.


The course covers several topics central in modern global data and processing infrastructures, such as Data Centers, MultiCloud Systems, federation of resources, etc. typically supporting Industry 4.0 and Smart city applications:

  • Advanced models for large distributed & cloud systems
  • Replication, group and many-to-many communication, and systems for QoS
  • Middleware for development and management of large distributed & cloud systems
  • Infrastructures for global data storage and processing

The topics can be organized as follows.

Advanced models for large distributed & cloud systems

  • Class Starting: general information and presentation
  • Goals, Basics, and Models: classifications, service and cloud models, parallelization models
  • Middleware & Cloud Models: definitions, categories, basic organization, and patterns for large distributed and cloud systems

Replication, group and many-to-many communication, and systems for QoS

  • Replication: models, strategies and protocols
  • Communication and groups: models, protocols and algorithms
  • Different consistency degrees and impact on service properties (BASE and CAP)
  • Systems and protocols for QoS
  • Multicast and MOM middleware

Middleware for large distributed & cloud systems

  • CORBA: middleware and operating environment
  • MOM: examples of very thin environments
  • OpenStack: an example of a widely-diffused cloud IaaS

Infrastructures for global data storage and processing

  • Global data storage: solutions for long-term and short-term data memorization
  • Global data processing: batching and streaming based big data processing in the cloud
  • Main properties for effective design projects


G. Coulouris, J. Dollimore, T. Kindberg: "Distributed Systems: concepts and Design", Addison-Wesley, (fifth edition) 2012.

M. Kleppmann:, "Designing Data-Intensive Applications“, O’Reilly, 2017

A.S. Tanenbaum, M. v. Steen "Distributed Systems: Principles and Paradigms", Prentice-Hall, (second edition) 2006 / 2013.

B. Forouzan, F. Mosharraf: “Computer Networks, a top down approach”, McGraw-Hill, 2011.

M.L. Liu, "Distributed Computing", Addison-Wesley, 2003.

D.L. Galli: "Distributed Operating Systems: Concepts and Practice", Prentice-Hall, 2000.

L. Peterson, B. Davie, "Computer Networks, A Systems Approach", (fifth edition) Morgan Kaufmann Series in Networking, 2011,

V.K. Garg, “Elements of Distributed Computing”, Wiley, 2002.

L. Carlson, “Programming for PaaS, A Practical Guide to Coding for Platform-as-a-Service”, O Reilly, 2013

J. Siegel, “Pure CORBA: a code-intensive reference”, (second edition), SAMS Publishing, 2002.

F. Halsall, “Multimedia Communications”, Addison-Wesley, 2001.

D.A. Chappel, T. Jewell, “Java Web Services”, O'Reilly, 2002.

E. Newcomer, “Understanding Web Services”, Addison-Wesley, 2002.

T. Erl et al., “Cloud computing : concepts, technology, & architecture”, Prentice Hall, 2013.

B. Wilder, “Cloud architecture patterns”, Beijing, 2013.

A. T. Velte et al., “Cloud computing: a practical approach”, McGraw-Hill, 2010.

J. Rhoton, “Cloud computing explained”, Recursive Press, 2009.

T. Fifield et al., “Openstack operations guide: set up and manage your OpenStack cloud”, O'Reilly, 2014.

S. Holla, “Orchestrating Docker”, Packt Publishing, 2015.

O. Hane, “Build your own PaaS with Docker”, Packt Publishing, 2015.

T.D. Nadeau and K. Gray, “SDN: software defined networks”, O'Reilly, 2013.

L. Carlson, “Programming for Paas”, O'Reilly, 2013.

T. White, “Hadoop: the definitive guide”, O'Reilly, 2012.

E. Sammer, “Hadoop operations”, O'Reilly, 2012.

K. Rankin, “DevOps troubleshooting”, Addison-Wesley, 2013.

D. Sui et al., “Crowdsourcing geographic knowledge”, Springer, 2013.

Z. Yan et al., “Semantics in mobile sensing”, Morgan & Claypool, 2014.

R. Copeland, “MongoDB applied design patterns”, O'Reilly, 2013.

Metodi didattici

This course tends to give importance and to leave room for discussion to develop critical project attitude: students are really encouraged to face topics, by stimulating classroom interaction and perspective exchange. Also, students are given discussion topics and they have to present some defense of their opinions.

Within the course, also additional space is provided for seminars and experience reporting about issues relevant for the course topics, usually given by people outside the academic environment coming from Industrial stakeholders, so to expose students to a ‘work' environment.
Those seminar contents are of deep importance in adding to the professional background of the computer engineering students, by offering reflections and insights toward the professional growth.

Modalità di verifica dell'apprendimento

The final test consists of a deep colloquium about all the most important and basic issues in the distributed systems area; the evaluation is mainly based on the capacity of orientating more than on the memory effort.
It is possible to have assigned a project about all these issues, recommended to the students in the path of Distributed Systems.

Again, the objective of all the lines is to develop a capacity of understanding and of identifying critical problems and issues toward solutions, and that skill is considered more than memorizing specific paths and answers.

Strumenti a supporto della didattica

All the contents are presented in class and via compulsory discussions.The slides on the Web site of the class are the main start for going into the topics. Students can go deep on selected areas they intend to focus on.

Web site of the course:

Students are not only encouraged but also forced to discuss on topics and to develop ideas and opinions on the main current areas of debate.

Also some classes are hands-on on specific topics in the lab to go into the practical knowledge you need in some areas: the hands-on are given by industrial parties.

Students are referred to papers and articles to choose from and go deep individually into chosen topics.

Link ad altre eventuali informazioni


Orario di ricevimento

Consulta il sito web di Antonio Corradi