Distributed Systems


  • 6 April 2019: the lectures of 10 of April will not take place. The lecture of 11 of April will be about RMI labs. Although this is an additional lecture which is not part of the final exams please try to come to the lecture thanks Leonardo

Teacher:

ESSE3 Link

Lessons schedule:

  • Wednesday, 16:00 - 18:00 (Room AB1)
  • Thursday, 9am - 11am (Room AB1)

Students Office hours:

  • Please send an email to me and we can arrange a meeting

D1 – KNOWLEDGE AND UNDERSTANDING At the completion of the module the students should be able to understand: 1 the basic definitions and various types of distributed systems 2 various architectural styles, different architecture and middleware 3 processes and threads 4 different types of communications: RPC, message oriented, stream oriented and multicast 5 basic concepts of naming 6 the problems of synchronisation of processes and possible solutions 7 basic concepts related to consistency and replication 8 basic concepts related to fault tolerance and security in distributed systems 9 various types of distributed systems such as web based and coordination based.

D2 – APPLYING KNOWLEDGE AND UNDERSTANDING At the completion of the module the students should be able to: 1 design the architecture of a distributed system 2 implement and use thread and processes 3 apply processes and threads 4 apply various types of communications 5 use various types of naming systems 6 apply various solutions for process synchronisation 7 apply basic concepts for implementing fault tolerance and security in distributed systems

D3 MAKING JUDGEMENTS At the completion of the module the students should be able to: 1 critically evaluate the architecture of a distributed system 2 critically appraise the use of thread and processes 3 estimate the impact of using a type of communication 4 criticise various types of naming systems 5 criticise possible solutions for process synchronisation 6 critically evaluate all various fault tolerance and security mechanisms that can be applied in distributed systems

D4 - COMMUNICATION SKILLS Risultati attesi: At the completion of the module the students should be able to: 1 communicate ideas, problems and solutions for building distributed systems; 2 interact with other people and undertake workgroup activities

D5 - LEARNING SKILLS Risultati attesi: At the completion of the module the students should be able to: 1 read and understand new technologies available for building distributed systems


Contents

Title: INTRODUCTION Content: (i) Basic definitions; (ii) Goals when implementing a distributed system: Sharing, Transparency, Openness and Scalability; (iii) Scalability techniques.

Title: TYPES OF DISTRIBUTED SYSTEMS Content: (i) Types of distributed systems; (ii) Distributed computing systems; (iii) Distributed information systems; (iv) Distributed pervasive systems

Title:ARCHITECTURES Content: (i) Architectural styles; (ii) System architectures; (iii) Peer-to-peer; (iv) Hybrid architectures

Title:ARCHITECTURES Content: (i) Peer-to-peer; (ii) Hybrid architectures

Title: Processes Content: (i) Processes; (ii) Threads; (iii) Multithreaded clients; (iv) Multithreaded servers; (v) Virtualisation

Title: Client/Server anatomy Content: (i) Client anatomy; (ii) Server Anatomy; (iii) Server cluster organisation; (iv) Distributed server and IPv6

Title: Communication Content: (i) OSI model; (ii) Middleware definition; (iii) Types of Communication; (iv) Remote Procedure Calls

Title: Communication Content: (i) Berkeley Sockets; (ii) Message-Passing Interface; (iii) Message-queuing systems; (iv) Message brokers; (v) IBM’s WebSphere Message-Queuing System

Title: Security – Encryption Content: (i) Security: some basic definitions; (ii) Conventional Encryption; (iii) Public key encryption

Title: Digital Signatures and Authentication Protocols Content: (i) Message Authentication Codes; (ii) Hash functions; (iii) Authentication Protocols; (iv) Symmetric Encryption Authentication; (v) X.509 Authentication Service

Title: Naming Content: (i) Flat naming; (ii) Name Spaces; (iii) Domain Name Server

Title: SYNCHRONISATION Content: (i) Physical Clocks; (ii) Clock Synchronization Algorithms; (iii) Logical clocks.

Title: SYNCHRONISATION Content: (i) Mutual Exclusion; (ii) Leader Election

Title: CONSISTENCY AND REPLICATION Content: (i) Basic definitions about Consistency and replication; (ii) Data-centric consistency models; (iii) Client-centric consistency models

Title: FAULT TOLERANCE Content: (i) Introduction to fault tolerance; (ii) Process Resilience; (iii) Reliable client-server communication; reliable group communication; (iv) distributed commit

Title: Distributed object-based systems Content: (i) architecture; (ii) processes; (iii) Communication; (iv) Naming; (v) Synchronisation; (vi) Consistency and replication; (v) Fault tolerance; (vi) security

Title: Distributed file systems Content: (i) architecture; (ii) processes; (iii) Communication; (iv) naming; (v) Synchronisation; (vi) Consistency and replication; (v) Fault tolerance; (vi) security

Title: Distributed web based systems Content: (i) architecture; (ii) processes; (iii) Communication; (iv) naming; (v) Synchronisation; (vi) Consistency and replication; (v) Fault tolerance; (vi) security

Title: distributed-coordination based systems Content: student will read the chapter of Andrew S. Tanenbaum and give the lecture


The material can be found at the following link:

http://www.leonardomostarda.net/distributedSystems.html


Written exam is compulsory. Oral exam is not compulsory.

Exam marks must be registered during the exams dates. These are available on esse3.