The seminar has its focus on core concepts, models and algorithms of distributed systems. The following lists technologies and concepts for advanced distributed systems.
Seminar methodology: Creative Extension Principle (van Roy, Haridi).
Modeling problems, time, temporal logic, events, causality, concurrency, failure models
Peter Wegners statements on the algorithmic power of interaction
Use of advanced partitioning for scalability. Transparency vs. cost. Google techtalk on scalability. Linden Labs integrated VW proposal. Partitioning principles and trade-offs.
Concepts of event based systems, engineering, interaction models, security, transactions. Bundling and notification scopes.
Concepts of causality in events, complex events, event detection and hierarchies, end-to-end event processing, semantics of events and composite events, CPE languages.
The work of George Hohpe. Scalability, MOMs, Messaging.
See the paper on b2b patterns below.
Enterprise and distributed search approaches. Security and distribution.
Failure modes in distributed systems (Birman). Group communication algorithms and the concept of replication and membership.
Tuple-Spaces, Web architecture etc.
Eros/keykos,E, Teatime (ACM paper), DHT in p2p
Read paper for next session
Use knowledge from paper to discuss and enhance the problem case in the next session.
Pick one topic which was fascinating and write a 10 page pager on it
Gero Mühl, Ludger Fliege, Peter R.Pietzuch, Distributed Event-based Systems.
Gregor Hohpe, Bobby Woolf, Enterprise Integration Pattern
IBM Systems Journal on MMOGs
Luckhard, complex event systems
Ken Birman, Reliable Distributed Systems
Google Tech-talk on Scalable Systems (Conference)
Peter Wegner, Why interaction systems are algorithmically more powerful
Ulrich Grude, Petri-Netze, eine informelle Einführung in die Grundideen (Konzept von concurrency als Unabhängigkeit)
Peter van Roy, Seif Haridi, Concepts, Technologies and Models of Programming
Frank Buschmann, Kevlin Henney, Douglas C. Schmidt, Pattern-Oriented Software Architecture - A pattern language for distributed computing.