DISTRIBUTED SYSTEMS Principles and Paradigms

Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN

Chapter 1
Introduction

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Definition of a Distributed System (1)
A distributed system is: A collection of independent computers that appears to its users as a single coherent system.

Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

Definition of a Distributed System (2)

Figure 1-1. A distributed system organized as middleware. The middleware layer extends over multiple machines, and offers each application the same interface.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved. 0-13-239227-5

2e. (c) 2007 Prentice-Hall. Portability. 0-13-239227-5 . supercomputers. location and Administration Tanenbaum & Van Steen. storage • • • Transparent ( Hide the fact that resources are distributed across a network) Open Interoperability. extensible • • Scalable Size. All rights reserved. Inc.Goals of Distributed Systems • • To make resources easily accessible Share printers. Distributed Systems: Principles and Paradigms.

All rights reserved.Problems • • Design difficult: Operating systems. loss of data Tanenbaum & Van Steen. (c) 2007 Prentice-Hall. Inc. 2e. Distributed Systems: Principles and Paradigms. programming languages. administration • • Security Network: Disconnect. 0-13-239227-5 .

Inc. Different forms of transparency in a distributed system (ISO. Tanenbaum & Van Steen. Distributed Systems: Principles and Paradigms. (c) 2007 Prentice-Hall. 1995). All rights reserved. 2e.Transparency in a Distributed System Figure 1-2. 0-13-239227-5 .

0-13-239227-5 . All rights reserved. (c) 2007 Prentice-Hall.Scalability • • • Size: more users & resources Geographic location Administration Tanenbaum & Van Steen. Distributed Systems: Principles and Paradigms. Inc. 2e.

Examples of scalability limitations. Inc. (c) 2007 Prentice-Hall. Tanenbaum & Van Steen.Scalability Problems Figure 1-3. All rights reserved. 0-13-239227-5 . 2e. Distributed Systems: Principles and Paradigms.

and spreading across the system e. (c) 2007 Prentice-Hall. 0-13-239227-5 . (DNS). g. Distributed Systems: Principles and Paradigms. Inc. WWW • • Replication Replicate components across the system • • Caching (copy of a resource) Consistency problems (how much to tolerate?) Tanenbaum & Van Steen.Scaling Techniques Three techniques for scaling: • Hiding Communications latencies • Avoid waiting as much as possible (Asynchronous communication) • • Distribution Splitting a component of the system into smaller parts. All rights reserved. 2e.

Scaling Techniques (1) Figure 1-4. Distributed Systems: Principles and Paradigms. Inc. The difference between letting (a) a server or (b) a client check forms as they are being filled. All rights reserved. (c) 2007 Prentice-Hall. 2e. Tanenbaum & Van Steen. 0-13-239227-5 .

(c) 2007 Prentice-Hall. 0-13-239227-5 . Tanenbaum & Van Steen. Distributed Systems: Principles and Paradigms. 2e. All rights reserved. An example of dividing the DNS name space into zones. Inc.Scaling Techniques (2) Figure 1-5.

(c) 2007 Prentice-Hall. • The network is homogeneous. Inc. All rights reserved. 2e. • The network is secure. • There is one administrator. • The topology does not change. 0-13-239227-5 .Pitfalls when Developing Distributed Systems False assumptions made by first time developer: • The network is reliable. • Transport cost is zero. Tanenbaum & Van Steen. Distributed Systems: Principles and Paradigms. • Latency is zero. • Bandwidth is infinite.

Distributed Computing Systems Distributed Information Systems Distributed Pervasive Systems Tanenbaum & Van Steen.Types of Distributed Systems 1. All rights reserved. 2. (c) 2007 Prentice-Hall. Inc. Distributed Systems: Principles and Paradigms. 0-13-239227-5 . 2e. 3.

Distributed Systems: Principles and Paradigms.Distributed Computing Systems Distributed Computing Systems • Cluster computing • • • Homogeneity (same OS & network) E. All rights reserved. (c) 2007 Prentice-Hall. 0-13-239227-5 . Linux-based Beowulf Heterogeneity (no assumptions) Resources from different organizations are brought together to allow the collaboration of a group of people or institutions Grid Computing • • Tanenbaum & Van Steen.g. Inc. 2e.

Tanenbaum & Van Steen. (c) 2007 Prentice-Hall. 0-13-239227-5 . All rights reserved. An example of a cluster computing system. Distributed Systems: Principles and Paradigms.Cluster Computing Systems Figure 1-6. 2e. Inc.

0-13-239227-5 . (c) 2007 Prentice-Hall. Distributed Systems: Principles and Paradigms. resource discovery. allocation & scheduling of tasks • Application Layer: consists of applications that operate within a virtual organization Tanenbaum & Van Steen. Inc. perform specific operation • Collective layer: Handling access to multiple resources. to allow sharing of resources • Connectivity layer: Consists of Communication & security protocols to support Grid transactions • Resource Layer: manage a single resource. 2e. e.Grid Computing A layered architecture of Grid Computing: • Fabric layer: provides interfaces to local resources. All rights reserved.g.

A layered architecture for grid computing systems. Distributed Systems: Principles and Paradigms. 0-13-239227-5 . 2e. Tanenbaum & Van Steen.Grid Computing Systems Figure 1-7. Inc. All rights reserved. (c) 2007 Prentice-Hall.

0-13-239227-5 . Inc. (c) 2007 Prentice-Hall. Distributed Systems: Principles and Paradigms. 2e.Distributed Information Systems Distributed Information Systems • Transaction Processing Systems • Enterprise Application Integration Tanenbaum & Van Steen. All rights reserved.

(c) 2007 Prentice-Hall. Inc.Transaction Processing Systems (1) Figure 1-8. 2e. 0-13-239227-5 . Tanenbaum & Van Steen. Distributed Systems: Principles and Paradigms. All rights reserved. Example primitives for transactions.

• Durable: Once a transaction commits. All rights reserved. Tanenbaum & Van Steen. (c) 2007 Prentice-Hall. the changes are permanent. 0-13-239227-5 . 2e. • Consistent: The transaction does not violate system invariants. the transaction happens indivisibly. • Isolated: Concurrent transactions do not interfere with each other. Inc.Transaction Processing Systems (2) Characteristic properties of transactions: • Atomic: To the outside world. Distributed Systems: Principles and Paradigms.

Distributed Systems: Principles and Paradigms.Transaction Processing Systems (3) Figure 1-9. Inc. (c) 2007 Prentice-Hall. 2e. All rights reserved. 0-13-239227-5 . Tanenbaum & Van Steen. A nested transaction.

The role of a TP monitor in distributed systems. Distributed Systems: Principles and Paradigms. Inc. Tanenbaum & Van Steen. (c) 2007 Prentice-Hall. 2e. 0-13-239227-5 .Transaction Processing Systems (4) Figure 1-10. All rights reserved.

Middleware as a communication facilitator in enterprise application integration. Tanenbaum & Van Steen. All rights reserved. 2e. 0-13-239227-5 .Enterprise Application Integration Figure 1-11. Inc. (c) 2007 Prentice-Hall. Distributed Systems: Principles and Paradigms.

Distributed Systems: Principles and Paradigms. (c) 2007 Prentice-Hall. Inc. All rights reserved. 0-13-239227-5 . 2e.Enterprise Application Integration Types of communication Middleware: • Remote procedure call (RPC) • Remote method invocation (RMI) • Message oriented Middleware (MOM) Tanenbaum & Van Steen.

All rights reserved. Distributed Systems: Principles and Paradigms. mobile.Distributed Pervasive Systems • • • Default is instability Small. 2e. 0-13-239227-5 . wireless connection Lack of human administrative control Tanenbaum & Van Steen. battery-powered. (c) 2007 Prentice-Hall. Inc.

Tanenbaum & Van Steen.Distributed Pervasive Systems Requirements for pervasive systems • • • Embrace contextual changes. Inc. Encourage ad hoc composition. Distributed Systems: Principles and Paradigms. Recognize sharing as the default. (c) 2007 Prentice-Hall. All rights reserved. 2e. 0-13-239227-5 .

0-13-239227-5 . Distributed Systems: Principles and Paradigms.g. (c) 2007 Prentice-Hall. TV. Kitchen appliances Should be self-configuring & self-managin Tanenbaum & Van Steen. Inc. 2e. Video. PDA. All rights reserved.Home systems • • • Systems built around home networks E.

Electronic Health Care Systems (1) Questions to be addressed for health care systems: • Where and how should monitored data be stored? • How can we prevent loss of crucial data? • What infrastructure is needed to generate and propagate alerts? • How can physicians provide online feedback? • How can extreme robustness of the monitoring system be realized? • What are the security issues and how can the proper policies be enforced? Tanenbaum & Van Steen. 0-13-239227-5 . 2e. Inc. All rights reserved. Distributed Systems: Principles and Paradigms. (c) 2007 Prentice-Hall.

(c) 2007 Prentice-Hall. All rights reserved. using (a) a local hub or (b) a continuous wireless connection. 0-13-239227-5 . Monitoring a person in a pervasive electronic health care system. Distributed Systems: Principles and Paradigms.Electronic Health Care Systems (2) Figure 1-12. Inc. Tanenbaum & Van Steen. 2e.

Distributed Systems: Principles and Paradigms.Sensor Networks (1) Questions concerning sensor networks: • How do we (dynamically) set up an efficient tree in a sensor network? • How does aggregation of results take place? Can it be controlled? • What happens when network links fail? Tanenbaum & Van Steen. 2e. (c) 2007 Prentice-Hall. Inc. All rights reserved. 0-13-239227-5 .

Inc. (c) 2007 Prentice-Hall. 0-13-239227-5 . All rights reserved.Sensor Networks (2) Figure 1-13. while storing and processing data (a) only at the operator’s site or … Tanenbaum & Van Steen. 2e. Distributed Systems: Principles and Paradigms. Organizing a sensor network database.

Sensor Networks (3) Figure 1-13. Organizing a sensor network database. while storing and processing data … or (b) only at the sensors. Tanenbaum & Van Steen. Inc. (c) 2007 Prentice-Hall. All rights reserved. Distributed Systems: Principles and Paradigms. 0-13-239227-5 . 2e.

Cost: more complex software. performance & security • • • Tanenbaum & Van Steen. (c) 2007 Prentice-Hall. 0-13-239227-5 . All rights reserved. 2e. Distributed Systems: Principles and Paradigms. Inc.Summary • Distributed Systems (DS) consist of autonomous computers that work together to give the appearance of a single coherent system DS make it easier to integrate different applications running on different computers into a single system Well designed DS scale well with respect to the size of the underlying network.

Distributed Systems: Principles and Paradigms. (c) 2007 Prentice-Hall. data & control (distribution transparency) Many developers make wrong assumptions when developing DS Different types of DS Emerging class of DS. 2e. 0-13-239227-5 .Summary • • • • DS aim to hide distribution of processes. All rights reserved. Inc. ubiquitous computing (not managed through system administrator) Tanenbaum & Van Steen.