Diese Website verwendet nur technisch notwendige Cookies. In der Datenschutzerklärung können Sie mehr dazu erfahren.

Zum Hauptinhalt springen
Logo, Startseite der Hochschule der Medien
Veranstaltungsbeschreibung

113408a Verteilte Systeme

Zuletzt geändert:20.06.2023 / von Carlsburg
EDV-Nr:113408a
Studiengänge: Medieninformatik (Bachelor, 7 Semester), Prüfungsleistung im Modul Verteilte Systeme in Semester 3 4 6 7
Häufigkeit: W24/25; W25/26; W26/27
Dozent: Dr. Tobias Jordine
Sprache: Deutsch
Art: V, Ü
Umfang: 4 SWS
ECTS-Punkte: 5
Prüfungsform:
Bemerkung zur Veranstaltung: Deutsch Teilnehmerbeschränkung
Beschreibung: ****** Wichtiger Hinweis zum Wintersemester 2020/21 ***** Die Veranstaltung wird während der SARS-CoV-2-bedingten Beschränkungen im WIntersemester 2020 zunächst als synchroner Distance-Learning-Kurs geplant. Der Zugang erfolgt über das e-Learning-System Ilias. Es gilt der Stundenplan laut Starplan. Falls oder wenn wir uns wieder in Hörsälen treffen dürfen, gilt der jeweils in Starplan angegebene Raum. Im Ilias ist ein BBB Raum angelegt zum Besuch der Veranstaltung. Die Vorlesungsunterlagen finden Sie auf https://kriha.de/ds.html **********************************************************************
Die Vorlesung orientiert sich an aktuellen Entwicklungen im Bereich Verteilter Systeme, die durch den Schwerpunkt auf Skalierbarkeit gekennzeichnet sind. Sie richtet sich an Software Entwickler aber auch an Netzwerk-Spezialisten die die Grundlagen verteilter Systeme kennenlernen wollen. Die Vorlesung ist stark theoretisch ausgerichtet und legt in den ersten Veranstaltungen den Grundstein für ein systematisches Verständnis.

Das wissenschaftliche und didaktische Konzept der Veranstaltung ist unter https://kriha.de/DistributedSystemsLectures.html beschrieben, mit einem Fokus auf den Veränderungen in 15 Jahren.

Als Vorlesung ist die Veranstaltung klassisch strukturiert und theoretisch ausgerichtet. Praktische Paper-Pencil Übungen sollen die Kompetenz im Entwurf verteilter Systeme verbessern. Sie werden in Gruppen bearbeitet und sind stark auf Konzepte ausgerichtet. Obwohl es sich um eine Vorlesung mit hohem Stoffanteil handelt, ist der Stil stark diskursiv und mit vielen Diskussionen über alternative Designsichten durchsetzt. Studierende erwerben die Kompetenz Entwürfe kritisch zu hinterfragen und Alternativen zu erstellen. Praktische Projekte von Studierenden werden in Rahmen der Vorlesung vorgestellt und gemeinsam analysiert und diskutiert. Am Ende der Veranstaltung wird von den Studierenden die Kompetenz zur richtigen Beurteilung von Lösungen um Bereich Verteilter Systeme - unter Berücksichtigung von Skalierung, Sicherheit und Performanz - erwartet. Dazu gehört die Kompetenz auf Grund der erworbenen theoretischen Hintergründe Vorschläge auch kritisch zu hinterfragen. Einführung Verteilte Systeme
  • Bedeutung und Prinzipien der Verteilung
  • Verteilung in anderen Gebieten
  • Funktionsweise von Middleware
  • Middleware für verteilte Systeme
  • Topologien
Message Passing, Queuing Theory, Process und i/O Modelle
  • Architektur von C/S Systeme
  • Messages in C/S Systemen
  • Asynchronous Processing
  • Single threaded/multithreaded process models
DS Models
  • Fifo, Causal, total ordering
  • Reliable Broadcast Models
  • Delivery Guarantees und Failure Modes
  • Sockets und das Socket API
  • Socket Programmierung
Remote Procedure Calls
  • Die 8 Todsünden verteilter Systeme
  • Lokale vs. entfernte Aufrufe
  • Marshaling und Interface Definitionen
  • Beispiele von RPC Systemen
  • Java native interfaces/Marshaling
Services
  • DCE
  • CORBA
  • Web Services
  • SOA
  • Microservicesl
  • Serverless
Remote Objects (nur kurz und historisch)
  • Transparenz, Interfaces und Interface Definition Language
  • CORBA
  • Objekt Services
  • Java Remote Interfaces
  • Remote Bank Programmierbeispiel
  • Threading, Fehler in der Synchronisation
Theorie verteilter SystemeI
  • CAP, FLP Theoreme
  • Zeit und Kausalität
  • Replication und Konsistenz
  • Fehler und Protokolle
Distributed Services I
  • Objekt Services
  • Load Balancing und Availability
  • Message Queues
  • DHT und konsistent hashing
Distributed Services II
  • Persistenz
  • Transaktionsdienste und Modi
  • NOSQL
  • Protokolle für distributed consensus
Sicherheit in Verteilten Systemen I
  • Bedrohungen und Attacken
  • Passwortprobleme
  • Grundlagen der Cryptographie
  • Protokolle verteilter Sicherheit
Sicherheit in Verteilten Systemen II
  • Anonymität
  • Peer-to-Peer Sicherheit
  • Single-Sign-On Infrastruktur
  • Sicherheitsinfrastruktur
Componenten Frameworks (Historisch)
  • Defizite Verteilter Objekte
  • Componentenarchitektur
  • Separation of Context und Concerns
  • Beispiel EJB
Design Verteilter Applikationen
  • Grundlagen verteilten Designs
  • Informationsarchitektur vert. Systeme
  • Distributionsarchitektur
  • Cluster Technologie
  • Fehlertoleranz und Patterns
System Management
  • System Management Aufgaben
  • Verteiltes Management und Observability
  • Common Information Modell
  • Monitoring in DS
Peer-to-Peer Technologie
  • Edge of the Internet
  • P2P Architekturen
  • Distributed hashtables
  • Beispielarchitekturen: Blockchain, Kademlia
Ultra-large-scale Architectures
  • Design Patterns
  • Core Algorithms
  • Scaling tools and architectures
Übungen Paper-Pencil Übungen in Gruppen. Zeit jeweil 15-20 Minuten. Konzeptorientiert
Literatur: Literaturhinweise finden sich in den Unterlagen zu jeder Vorlesung. Siehe Internetquellen.

Weitere Literatur finden Sie in der HdM-Bibliothek.
Internet: lecture notes, exercises and discussions on distributed systems: http://www.kriha.de/krihaorg/distributedsystems.html