Search:
Distributed Systems - 477

The exam will take place in room BIN 2.A.10 at 10.15-12.00h, January 15th  

See upload section

Lecturer:

Name:

Prof. Abraham Bernstein, Ph. D., Dr. Panagiotis Karras

Email:

(Use “DS” in the “subject-line”!)

Phone:

+41 1 635 45 79

Office:

Binzmühlestrasse 14, 2.D.06

Office hours:

By appointment with Eveline Suter (<lastname>@ifi.unizh.ch)

Time:

Tuesday, 10:15 – 12:00 am

Location:

BIN 0.K.02 (subject to change)

Audience:

B.Sc. / M. Sc. / dipl. WI (5+)

Completion requirements:

50% of the points in assignments and passing grade in final exam

Teaching Assistants:

Jiwen Li, Jonas Luell,
Email: <lastname>@ifi.unizh.ch

Prerequisites:

“469 - Kommunikation und Verteilte Systeme” or similar course.

Language:

English
(The final exam can be written in both, English and German)

Slides:

available from here

Introduction

Computer systems are increasingly invading every niche of our life. In restaurants, PDAs are used in conjunction with wireless networks and servers to transfer orders directly from the table to the kitchen. In hospitals, accounting and security is increasingly supported by smartcards and RFID readers everywhere. In the financial industry a myriad of distributed computers control the money flow of the economy and support instant access to capital markets. And, last but not least, most of us constantly carry a cell-phone around that can be used for buying tickets, sending around messages, voting, sending messages to the public on big-screens in open-air concerts, … as well as placing phone calls.

But how can those computer systems be coordinated? How do they work together? Building on existing network infrastructure this course explains how distributed computer systems can be built. Starting from simple host to host communication it explains issues such as remote procedure calls, synchronous vs. asynchronous calls, as well as the functionality of complex middleware systems and techniques for referentially decoupled calls).

Specifically the course will cover the following subjects:

  • Foundations
    • system models for distributed computing
    • interprocess communication
  • Remote invocation and distributed objects
    • remote procedure calls (classical, marshalling, simple web services)
    • remote object systems
  • Temporal decoupling of calls
    • synchronous vs. asynchronous processing
    • messaging infrastructure
  • Referential decoupling of calls
    • name-space related messaging
    • tuple spaces
  • Middleware
    • distributed file systems
    • replication
    • distributed shared memory
    • web services and beyond (grids)
  • Peer to peer systems

To top

Course Structure

The course is organized in the traditional lecture style with integrated exercises. It will be complemented by (probably) 4 take-home assignments. Where possible we will try to include practical case studies.

Assigments

There will be three or four assignments. Possible subjects are:

 

More information will follow here during the term

Grading

The final grade will be based on the total number achieved, which will be calculated as follows:

total number of points = final exam points + 1/5 * assignment points.

Also, you will have to achieve 50% of the assignment points in order to be allowed to participate at the final exam.

To top

Supporting Material

Books

  • Distributed Systems: Principles and Paradigms
    by Andrew S. Tanenbaum and Maarten van Steen.
    Prentice Hall. 2002
    A new edition is about to be published (Sept 06).
  • Distributed Systems: Concepts and Design   Fourth Edition (!)
    by George Coulouris, Jean Dollimore and Tim Kindberg.
    Addison Wesley/Pearson Education, June 2005

Slides

To get access to the slides you need to log in with the usual password.

Example questions

Here we provide some example questions which might be representative for some exam questions. Some questions are not written out in full.

Time Table (tentative)

Date

Subject

Lecturer

Assignments

Tu 18.9.

Introduction; system models for distributed computing

AB

Tu 25.9.

Interprocess communication (IPC)

AB

Tu 2.10.

Remote procedure calls (RPC)
Distributed object systems (e.g., CORBA, RMI)

AB

Tu 9.10.

Web Services, WSDL, UDDI

PK/AB

Tu 16.10.

Naming, name spaces

PK/AB

Tu 23.10.

Messaging

AB/PK

Tu 30.10.

Coordination based systems 1: Algorithms

AB/PK

Tu 6.11.

Coordination based systems 2: Middleware

AB

Tu 15.11.

Distributes File Systems (e.g., NFS, Andrew, ...)

PK

Tu 20.11.

Peer 2 Peer computing, distributed hashes

AB

Tu 27.11.

Mobile Computing

AB

Tu 4.12.

Agent-based Systems

PK

Tu 11.12.

 -- buffer --

TBA

Tu 18.12.

Wrap-up

AB

Tu 15.01.

Exam

To top