ICS362 – Distributed Systems

Welcome to Distributed Systems

Instructor: Dr. Ken Cosh

Schedule: M/W 12:30-14:00

Course Description:

This course provides an introduction to the basic issues in the design and implementation of distributed systems. Topics include communication, processes, naming, synchronisation, consistency and replication, fault tolerance and security.

Course Objectives:

On completion of this course students will be able to:

1 Discuss key elements to consider when managing Distributed Systems, such as security, fault tolerance, consistency and replication.

2 Compare differences between different Object Based Systems, File Systems, Web Based Systems and Co-ordination Based Systems.

Syllabus

References:

1) (Compulsary) Distributed Systems, Principles and Paradigms, 2nd Edition, Andrew S. Tanenbaum & Maarten Van Steen, 2007.

2) Distributed Systems, Concepts and Design, 4th Edition, George Coulouris, Jean Dollimore, Tim Kindberg, 2005.

Materials:

Week Content Hours(Lect/Lab)
1 Introduction* Definition of a Distributed System

* Goals

* Types of Distributed Systems

3 (3-0)
2 Architectures* Architectural Styles

* System Architectures

* Architectures vs Middleware

* Self Management in Distributed Systems

3 (3-0)
3 Threads* Threads

* Virtualisation

* Clients

* Servers

* Code Migration

3 (3-0)
4 Communication* Fundamentals

* Remote Procedure Call

* Message Oriented Communication

* Stream Oriented Communication

* Multicast Communication

3 (3-0)
5 Naming* Names, Identifiers and Addresses

* Flat Naming

* Structured Naming

3 (3-0)
6 Synchronisation* Clock Synchronisation

* Logical Clocks

* Mutual Exclusion

* Global Positioning of Nodes

* Election Algorithms

3 (3-0)
7 Midterm Review 3 (3-0)
8 Consistency & Replication* Introduction

* Data Centric Consistency Models

* Client Centric Consistency Models

* Replica Management

* Consistency Protocols

3 (3-0)
9 Fault Tolerance

* Introduction

* Process Resilience

* Reliable Client Server Communication

* Reliable Group Comunication

* Distributed Commit

* Recovery

3 (3-0)
10 Security

* Introduction

* Secure Channels

* Access Control

* Security Management

3 (3-0)
11 Distributed Object Based Systems

* Architecture

* Process

* Communication

* Naming

* Synchronisation

* Consistency & Replication

* Fault Tolerance

* Security

3 (3-0)
12 Distributed File Systems

* Architecture

* Process

* Communication

* Naming

* Synchronisation

* Consistency & Replication

* Fault Tolerance

* Security

3 (3-0)
13 Distributed Web Based Systems

* Architecture

* Process

* Communication

* Naming

* Synchronisation

* Consistency & Replication

* Fault Tolerance

* Security

3 (3-0)
14 Distributed Co-ordination Based Systems

* Architecture

* Process

* Communication

* Naming

* Synchronisation

* Consistency & Replication

* Fault Tolerance

* Security

3 (3-0)
15 Final Exam Review 3 (3-0)