72667 - Middleware Systems

Academic Year 2018/2019

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 8028)

Learning outcomes

At the end of the course, the student knows the models of architecture, the main topics, and some specific aspects of distributed systems. The student could be able to design and implement some prototype of distributed systems and have acquired good knowledge of the popular middleware technologies deployed for supporting distributed, Internet-based applications. These technologies include J2EE, Web Service technologies and cloud computing services.

Course contents

Introduction: characterization of distributed systems, design goals, types of distributed systems.

Architectures: styles, middleware organization, system organization.

Communications: foundations, RPC, message oriented communications, multicast.

Coordination: clock synchronisation, logical and vector clocks, mutual exclusion, election, location systems, distributed event matching, gossip-based coordination.

Consistency and replication: data-centric and client-centric models, replica management, consistency protocols.

Fault tolerance: introduction, resilience, reliable communications, distributed commit, recovery.

Security: introduction, secure channels, access control, management.

Readings/Bibliography

A. S. Tanenbaum, M. van Steen; Distributed Systems Principles and Paradigms - Third Edition; Maarten van Steen; 2017

S. Mullender (Ed.); Distributed Systems (II edition); Addison-Wesley; 1994. [cap. 4, 5]

Teaching methods

Lessons and home work

Assessment methods

Design and implementation of a project for each group of students; the topic of the project is related to the content of the course. The topic of each project has to be discussed in advance with the teacher. The workload of the project is about one month of work for each student. The project will be evaluated during the exam by means of both an interactive demo in the lab and by the documentation of the project, to be submitted few days in advance. The guidelines for the documentation will be available at the beginning of the course. The exam continues with an oral discussion of the main aspect of the project. The exam ends with an oral discussion on the main topics of the course.

Teaching tools

No available slides. The animations will be available.

You can freely download a personalized copy of the textbook.

Office hours

See the website of Alessandro Amoroso

SDGs

Quality education Partnerships for the goals

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.