Computer Science 441

Principles of Distributed Systems

Gregory M. Kapfhammer


flickr photo shared by Patrick Brosset under a Creative Commons ( BY-NC ) license

Color Scheme

Key Concept

Corresponding Diagram

In-Class Discussion

In-Class Activity

Details in the Textbook

Software Architectures

Layered

Object-based

Data-centered

Event-based

Client-Server Interactions

Idempotent messages

Layers

User interface

Processing

Data

Persistent Services

Data is always available

Case study: tuple spaces and JavaSpaces

Trade-offs in performance

See page 41 and Figure 2-5

"Thin" and "Fat" Clients

Discuss the trade-offs in these organizations

Clients and servers?

Distributed Hash Tables

Centralized versus decentralized architectures

Structured versus unstructured

A DHT can give us the needed structure!

Organize our data with keys and values

Maps keys to specific nodes in the DHT


flickr photo shared by Innisfree Hotels under a Creative Commons ( BY-NC ) license

Peers and super-peers

Interceptors and adaptors

See Figure 2-15 for more details

Self-* Computing

Autonomic Computing

See Figure 2-16 for more details

See Figure 2-19 for more details

Prediction accuracy versus trace length

Questions about system organization?