Vorlesung
"Verteilte Systeme (Distributed Systems)" Winter 23/24
- Contents: Basics of distributed systems, middleware, programming with Java RMI
- Prerequisites in terms of content: Operating Systems I
- Details (in German): Module description in unisono
- Link to information in unisono (data/time etc.): Lecture, Exercises
- Link to moodle course (recordings from summer term 2021)
Announcements
09.01.2025 | On Jan. 16th, 23rd and 30th, there is no lecture any more. The last exercise hour is on Jan. 16th. | |
26.09.2024 | All students who receive 6 LP for this course must perform an additional course achievement (successful processing of exercises). Among others, this is the case if you study - Bachelor Computer Science according to FPO-B 2021 (incl. dual studies and teaching) - Master Computer Science according to FPO-M 2021 (teaching degree only) - Master Business Informatics according to FPO 2019 but also if you study Computer Science according to the old PO 2012 and get 6 LP for it in your mentor's approval. IMPORTANT: You MUST register for the course achievement "4INFBA303-S Studienleistung Verteilte Systeme" in unisono before you submit the first exercise. You must do this in this semester even if you want to take the exam in a later semeste. | |
26.09.2024 | Note that this course is not eligible in the Master Studies Computer Science according to FPO 2021 (except teaching degree). | |
26.09.2024 | The lecture will be held in English, unless all participants can speak German! The exercise sheets and solutions will be published both in German and English. If you prefer slides in German, you can use this version (from winter term 2018!) |
|
|
26.09.2024 | Start of lecture: Thu. 10.10.2024, Start of exercises: Thu., 24.10.2024 |
Course Materials
- Complete set of slides (date 09.01.25): original size,
2
on 1
- Slides for individual sections (may be updated during the semester):
0. Organisation 10.10.24
Original size 2 on 1 1. Introduction
17.10.24
Original size 2 on 1 2. Middleware
24.10.24
Original size 2 on 1 3. Distributed Programming with Java RMI
07.11.24
Original size 2 on 1 4. Name Services
10.10.24
Original size 2 on 1 5. Process Management
28.11.24
Original size 2 on 1 6. Time and Global State
28.11.24
Original size 2 on 1 7. Coordination
05.12.24
Original size 2 on 1 8. Replication and Consistency
12.12.24
Original size 2 on 1 9. Distributed File Systems
12.12.24
Original size 2 on 1 10. Distributed Shared Memory
19.12.24
Original size 2 on 1 11. Fault Tolerance
09.01.25
Original size 2 on 1 12. Summary, Important Topics
09.01.25
Original size 2 on 1 - The slides in original size also include all animations, the 2 on 1 versions include additional notes and explanations.
Exercises / Solutions
No. |
Date of issue | Date of discussion | Exercise sheet | Solution | |
1 | 17.10. | 26.10. | Übungsblatt, Exercise sheet |
Lösung, Solution |
|
2 | 24.10. | 31.10. | Übungsblatt, Exercise sheet |
Lösung, Solution |
|
3 | 31.10. | 07.11. | Übungsblatt, Exercise sheet |
Lösung, Solution, Code |
|
4 | 07.11. | 14.11. | Übungsblatt, Exercise sheet, Code |
Lösung, Solution, Code |
|
5 | 14.11. | 21.11. | Übungsblatt, Exercise sheet, Code |
Lösung, Solution, Code |
|
6 | 21.11. | 28.11. | Übungsblatt, Exercise sheet |
Lösung, Solution |
|
7 | 28.11. | 05.12. | Übungsblatt, Exercise sheet, Code |
Lösung, Solution, Code |
|
8 | 05.12. | 12.12. | Übungsblatt, Exercise sheet, Code |
Lösung, Solution |
|
9 | 12.12. | 19.12. | Übungsblatt, Exercise sheet, Code |
Lösung, Solution |
|
10 | 19.12. | 09.01. |
Übungsblatt, Exercise sheet |
Lösung, Solution |
|
11 | 09.01. | 16.01. | Übungsblatt, Exercise sheet, Code |
|
Materials
- For Ch. 3: Distributed Programming with Java RMI
- Java SE API Documentation, Java EE API Documentation
- RMI Homepage, RMI Whitepaper, RMI Tutorial
- Policy files, Permission classes
- RMI over SSL
- Tutorial object activation (Java 8)
- Documentation for RMI/IIOP
- Example codes:
- Hello-World
- Hello-World with call-by-value parameter
- Hello-World with call-by-reference parameter
- Hello-World with callback
- Hello-World with result object
- Hello-World with result object, callback and remote class loading
- Hello-World over SSL
- Hello-World with objekt activation
- Hello-World with remote loading of stub classes (JDK 1.4)
- For Ch. 4: Name Services
- For Ch. 5: Process Management
- For Ch. 7: Coordination
Literature
- Distributed systems in general
- Andrew S. Tanenbaum, Marten van Steen. Verteilte Systeme, Grundlagen und Paradigmen. Pearson Studium, 2003.
- Ulrike Hammerschall. Verteilte Systeme und Anwendungen. Pearson Studium, 2005.
- George Coulouris, Jean Dollimore, Tim
Kindberg. Verteilte Systeme, Konzepte und Design, 3. Auflage. Pearson
Studium, 2002.
- Operating systems in general
- Andrew S. Tanenbaum. Moderne Betriebssysteme, 2. Auflage. Pearson Studium, 2003.
- William Stallings. Betriebssysteme Prinzipien und Umsetzung, 4. Auflage. Pearson Studium, 2003.
- Programming with Java RMI
- Jim Farley, William Crawford, David Flanagan. Java Enterprise in a Nutshell. OReilly 2002.
- Cay S. Horstmann, Gary Cornell. Core Java 2, Band 2 Expertenwissen. Sun Microsystems Press / Addison Wesley, 2008.
- Robert Orfali, Dan Harkey. Client/Server-Programming with Java and Corba. John Wiley & Sons, 1998.
- Torsten Langner. Verteilte Anwendungen mit Java. Markt + Technik, 2002.