This is an old revision of the document!


Distributed Systems


  • Insert the date here: the course web site is now on-line

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 must be registered during the exams dates. These are available on esse3.