The exam will take place in room BIN 2.A.10 at 10.15-12.00h, January 15th |
12/10/07
New Slides Posted!
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, |
Prerequisites: | “469 - Kommunikation und Verteilte Systeme” or similar course. |
Language: | English |
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
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.
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) | 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 |