Verteilte Systeme: Kommunikationsmodelle, Replikation, Konsistenzmodelle, Failover und Verfügbarkeit