Distributed Systems

Models

Models

Models are used to provide abstract, simplified, consistent description of some aspect of interest of distributed system design.

Physical Models

1970s-80s, early distributed systems

1990s, Internet-scale distributed systems

Contemporary distributed systems

Architectural Models

Architectural Elements

Building blocks:

Communicating Entities

System-oriented perspective

Problem-oriented perspective

Interfaces

Communication Paradigms

Direct Communication: coupled senders/receivers

Examples: Remote Invocation

Indirect Communication: allow decoupling of senders/receivers

Uncoupling

Examples: Indirect Communication

Roles and Responsibilities

Napster

Napster Architecture

Placement

P2P and multiple servers

Web proxy

Architectural Patterns

Layering

Layers in Distributed Systems

Tiered architecture

Three-tier Architecture

Fundamental Models

Interaction Models

Performance of communication channels

Performance

Computer clocks and timing events

Synchronous System model

Synchronous model

Asynchronous system model

Asynchronous

Event Ordering

Event Ordering

Failure Models

Define and classifies faults

Failures

Omission failures

Communication channel omission failures

Arbitrary failures

Timing failures

Timing Failures

Reliable Communication

Security Models

Threats

Addressing threats

Questions

2.1 Provide three specific and contrasting examples of the increasing levels of heterogeneity experienced in contemporary distributed systems as defined in Section 2.2. page 39

2.2 What problems do you foresee in the direct coupling between communicating entities that is implicit in remote invocation approaches? Consequently, what advantages do you anticipate from a level of decoupling as offered by space and time uncoupling? Note: you might want to revisit this answer after reading Chapters 5 and 6. page 43

2.3 Describe and illustrate the client-server architecture of one or more major Internet applications (for example, the Web, email or netnews). page 46

the Web: a client (i.e. a browser) opens TCP connections in order to send HTTP requests. A Web server, listening on port 80, responds with a HTTP response.

2.4 For the applications discussed in Exercise 2.1, what placement strategies are employed in implementing the associated services? page 48


Edit this page.