ICS362 Distributed Systems

Welcome to Distributed Systems.

Instructor: Dr. Vaide Narvaez

Schedule: Monday, Wednesday 10:00-11:30pm

Course Description

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

Course Objectives

The course will cover basic principles, architectures, and algorithms of distributed systems. The course is structured in four parts:

  1. foundations of distributed systems, focusing on system models;
  2. system infrastructure, such as operating system support, distributed file systems, and distributed shared memory;
  3. basic distributed algorithms (coordination and agreement);
  4. distributed data management, including distributed transactions and concurrency control.

Course Syllabus and Material

Course Syllabus

Week Content Exercises/Assignments/Additional Material
1 Lecture 1&2: Introduction to Distributed Systems
2 Lecture 1&2: System Models
  • Exercise: Synchronous and asynchronous systems
3 Lecture 1&2: Interprocess communication
4-5 Lecture 1: Distributed Objects Model, Remote Method InvocationLecture 2: Java RMILecture 3: Java RMI(cont)
6 Lecture 1&2: Concurrent Programming in Java

Important!!!: send me your ideas for projects ASAP!!!

7-8 Lecture: Distributed File Systems
  • Presentations on Distributed File Systems (28.07.2010)
9 No classes!!! (Time for projects!)
10 Lecture 1&2: Time and Global States
  • Projects progress review (16.08.2010)
  • Read Chapter 11 (except 11.6) from [1]
11 Lecture 1: Global States(cont)Lecture 2: Coordination and Agreement
  • Homework: Read Chapter 12 from [1]
12 Lecture 1&2: Coordination and Agreement (cont.)
13 Lecture 1: TransactionsLecture 2: Concurrency Control

Database Replication

  • Lecture on Database Replication on 10.09.2010 at 10am, small lab (make-up class)
14 Web Services & Cloud Computing
  • Presentations on Cloud Computing (15.09.2010)
15 Preparation for final exam
  • Projects Presentations

All Course Materials are Here!

Reading Material

Required textbook

  1. George Colouris, Jean Dolimore, Tim Kindberg, Distributed Systems: Concepts and Design. 4th edition, 2005 Pearson Education Limited.

Supplementary reading materials

  1. Andrew S. Tanenbaum and Maarten Van Steen, Distributed systems: Principles and Paradigms. 2nd edition, 2006 Prentice Hall.
  2. Kenneth P. Birman, Reliable Distributed Systems: Technologies, Web Services, and Applications, 1st edition, 2005 Springer.
  3. Sape Mullender, Distributed Systems, 2nd edition, 1993 Addison Wesley Publishing Company