|Angaben auf dieser Seite beziehen sich noch auf das letzte Semester, werden aber bis spätestens Vorlesungsbeginn aktualisiert.|
Tuesday, 14:00 – 15:45
B.Sc. / M. Sc. / dipl. WI (5+)
50% of the points in assignments and passing grade in final exam
“469 - Kommunikation und Verteilte Systeme” or similar course.
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:
- 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
- distributed file systems
- distributed shared memory
- web services and beyond (grids)
- Peer to peer systems
The course is organized in the traditional lecture style with integrated exercises. It will be complemented by 3 take-home assignments. Where possible we will try to include practical case studies.
The final grade will be determined based on your performance in the individual assignments and the final exam. The different weights are given below:
final exam: 70%
assignment 1: 10%
assignment 2: 10%
assignment 3: 10%
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 (2nd Edition)
by Andrew S. Tanenbaum and Maarten van Steen.
Prentice Hall. 2007
- Distributed Systems: Concepts and Design Fourth Edition (!)
by George Coulouris, Jean Dollimore and Tim Kindberg.
Addison Wesley/Pearson Education, June 2005
Time Table (tentative)
Introduction; system models for distributed computing
Interprocess communication (IPC)
Remote procedure calls (RPC)
Ass 1 out
Web Services, WSDL, UDDI
Naming, name spaces
Distributes File Systems (e.g., NFS, Andrew, ...)
Ass 1 in
MapReduce, Hadoop, and other Cluster-computing Paradigms
Ass 2 out
Coordination Based Systems: Messaging
Coordination based systems
Ass 3 out
Peer 2 Peer computing, distributed hashes
Mobile Computing,Middleware Agent-based Systems
Ass 3 in
Exam - Room BIN-2.A.01