Distributed Systems: Pearson New International Edition

Principles and Paradigms
2e édition

VitalSource eBook (VitalBook) - En anglais 52,00 € DRM - Momentanément indisponible

Spécifications


Éditeur
Pearson Education
Édition
2
Auteur
Maarten Van Steen, Andrew Tanenbaum,
Langue
anglais
BISAC Subject Heading
COM048000 COMPUTERS / Systems Architecture / Distributed Systems & Computing
BIC subject category (UK)
UTR Distributed systems
Code publique Onix
05 Enseignement supérieur
Date de première publication du titre
01 novembre 2013
Subject Scheme Identifier Code
Classification thématique Thema: Systèmes distribués

VitalSource eBook


Date de publication
01 novembre 2013
ISBN-13
9781292038001
Ampleur
Nombre de pages de contenu principal : 640
Code interne
1292038004
Protection technique e-livre
DRM

Google Livres Aperçu


Publier un commentaire sur cet ouvrage

Sommaire


 

CONTENTS

 

1 INTRODUCTION

1.1 DEFINITION OF A DISTRIBUTED SYSTEM

1.2 GOALS

1.2.1 Making Resources Accessible

1.2.2 Distribution Transparency

1.2.3 Openness

1.2.4 Scalability

1.2.5 Pitfalls

1.3 TYPES OF DISTRIBUTED SYSTEMS

1.3.1 Distributed Computing Systems

1.3.2 Distributed Information Systems

1.3.3 Distributed Pervasive Systems

1.4 SUMMARY

 

2 ARCHITECTURES

2.1 ARCHITECTURAL STYLES

2.2 SYSTEM ARCHITECTURES

2.2.1 Centralized Architectures

2.2.2 Decentralized Architectures

2.2.3 Hybrid Architectures

2.3 ARCHITECTURES VERSUS MIDDLEWARE

2.3.1 Interceptors

2.3.2 General Approaches to Adaptive Software

2.3.3 Discussion

2.4 SELF-MANAGEMENT IN DISTRIBUTED SYSTEMS

2.4.1 The Feedback Control Model

2.4.2 Example: Systems Monitoring with Astrolabe

2.4.3 Example: Differentiating Replication Strategies in Globule

2.4.4 Example: Automatic Component Repair Management in Jade

2.5 SUMMARY

 

3 PROCESSES

3.1 THREADS

3.1.1 Introduction to Threads

3.1.2 Threads in Distributed Systems

3.2 VIRTUALIZATION

3.2.1 The Role of Virtualization in Distributed Systems

3.2.2 Architectures of Virtual Machines

3.3 CLIENTS

3.3.1 Networked User Interfaces

3.3.2 Client-Side Software for Distribution Transparency

3.4 SERVERS

3.4.1 General Design Issues

3.4.2 Server Clusters

3.4.3 Managing Server Clusters

3.5 CODE MIGRATION

3.5.1 Approaches to Code Migration

3.5.2 Migration and Local Resources

3.5.3 Migration in Heterogeneous Systems

3.6 SUMMARY

 

4 COMMUNICATION

4.1 FUNDAMENTALS

4.1.1 Layered Protocols

4.1.2 Types of Communication

4.2 REMOTE PROCEDURE CALL

4.2.1 Basic RPC Operation

4.2.2 Parameter Passing

4.2.3 Asynchronous RPC

4.2.4 Example: DCE RPC

4.3 MESSAGE-ORIENTED COMMUNICATION

4.3.1 Message-Oriented Transient Communication

4.3.2 Message-Oriented Persistent Communication

4.3.3 Example: IBM’s WebSphere Message-Queuing System

4.4 STREAM-ORIENTED COMMUNICATION

4.4.1 Support for Continuous Media

4.4.2 Streams and Quality of Service

4.4.3 Stream Synchronization

4.5 MULTICAST COMMUNICATION

4.5.1 Application-Level Multicasting

4.5.2 Gossip-Based Data Dissemination

4.6 SUMMARY

 

5 NAMING

5.1 NAMES, IDENTIFIERS, AND ADDRESSES

5.2 FLAT NAMING

5.2.1 Simple Solutions

5.2.2 Home-Based Approaches

5.2.3 Distributed Hash Tables

5.2.4 Hierarchical Approaches

5.3 STRUCTURED NAMING

5.3.1 Name Spaces

5.3.2 Name Resolution

5.3.3 The Implementation of a Name Space

5.3.4 Example: The Domain Name System

5.4 ATTRIBUTE-BASED NAMING

5.4.1 Directory Services

5.4.2 Hierarchical Implementations: LDAP

5.4.3 Decentralized Implementations

5.5 SUMMARY

 

6 SYNCHRONIZATION

6.1 CLOCK SYNCHRONIZATION

6.1.1 Physical Clocks

6.1.2 Global Positioning System

6.1.3 Clock Synchronization Algorithms

6.2 LOGICAL CLOCKS

6.2.1 Lamport’s Logical Clocks

6.2.2 Vector Clocks

6.3 MUTUAL EXCLUSION

6.3.1 Overview

6.3.2 A Centralized Algorithm

6.3.3 A Decentralized Algorithm

6.3.4 A Distributed Algorithm

6.3.5 A Token Ring Algorithm

6.3.6 A Comparison of the Four Algorithms

6.4 GLOBAL POSITIONING OF NODES

6.5 ELECTION ALGORITHMS

6.5.1 Traditional Election Algorithms

6.5.2 Elections in Wireless Environments

6.5.3 Elections in Large-Scale Systems

6.6 SUMMARY

 

7 CONSISTENCY AND REPLICATION

7.1 INTRODUCTION

7.1.1 Reasons for Replication

7.1.2 Replication as Scaling Technique

7.2 DATA-CENTRIC CONSISTENCY MODELS

7.2.1 Continuous Consistency

7.2.2 Consistent Ordering of Operations

7.3 CLIENT-CENTRIC CONSISTENCY MODELS

7.3.1 Eventual Consistency

7.3.2 Monotonic Reads

7.3.3 Monotonic Writes

7.3.4 Read Your Writes

7.3.5 Writes Follow Reads

7.4 REPLICA MANAGEMENT

7.4.1 Replica-Server Placement

7.4.2 Content Replication and Placement

7.4.3 Content Distribution

7.5 CONSISTENCY PROTOCOLS

7.5.1 Continuous Consistency

7.5.2 Primary-Based Protocols

7.5.3 Replicated-Write Protocols

7.5.4 Cache-Coherence Protocols

7.5.5 Implementing Client-Centric Consistency

7.6 SUMMARY

 

8 FAULT TOLERANCE

8.1 INTRODUCTION TO FAULT TOLERANCE

8.1.1 Basic Concepts

8.1.2 Failure Models

8.1.3 Failure Masking by Redundancy

8.2 PROCESS RESILIENCE

8.2.1 Design Issues

8.2.2 Failure Masking and Replication

8.2.3 Agreement in Faulty Systems

8.2.4 Failure Detection

8.3 RELIABLE CLIENT-SERVER COMMUNICATION

8.3.1 Point-to-Point Communication

8.3.2 RPC Semantics in the Presence of Failures

8.4 RELIABLE GROUP COMMUNICATION

8.4.1 Basic Reliable-Multicasting Schemes

8.4.2 Scalability in Reliable Multicasting

8.4.3 Atomic Multicast

8.5 DISTRIBUTED COMMIT

8.5.1 Two-Phase Commit

8.5.2 Three-Phase Commit

8.6 RECOVERY

8.6.1 Introduction

8.6.2 Checkpointing

8.6.3 Message Logging

8.6.4 Recovery-Oriented Computing

8.7 SUMMARY

 

9 SECURITY

9.1 INTRODUCTION TO SECURITY

9.1.1 Security Threats, Policies, and Mechanisms

9.1.2 Design Issues

9.1.3 Cryptography

9.2 SECURE CHANNELS

9.2.1 Authentication

9.2.2 Message Integrity and Confidentiality

9.2.3 Secure Group Communication

9.2.4 Example: Kerberos

9.3 ACCESS CONTROL

9.3.1 General Issues in Access Control

9.3.2 Firewalls

9.3.3 Secure Mobile Code

9.3.4 Denial of Service

9.4 SECURITY MANAGEMENT

9.4.1 Key Management

9.4.2 Secure Group Management

9.4.3 Authorization Management

9.5 SUMMARY

 

10 DISTRIBUTED OBJECT-BASED SYSTEMS

10.1 ARCHITECTURE

10.1.1 Distributed Objects

10.1.2 Example: Enterprise Java Beans

10.1.3 Example: Globe Distributed Shared Objects

10.2 PROCESSES

10.2.1 Object Servers

10.2.2 Example: The Ice Runtime System

10.3 COMMUNICATION

10.3.1 Binding a Client to an Object

10.3.2 Static versus Dynamic Remote Method Invocations

10.3.3 Parameter Passing

10.3.4 Example: Java RMI

10.3.5 Object-Based Messaging

10.4 NAMING

10.4.1 CORBA Object References

10.4.2 Globe Object References

10.5 SYNCHRONIZATION

10.6 CONSISTENCY AND REPLICATION

10.6.1 Entry Consistency

10.6.2 Replicated Invocations

10.7 FAULT TOLERANCE

10.7.1 Example: Fault-Tolerant CORBA

10.7.2 Example: Fault-Tolerant Java

10.8 SECURITY

10.8.1 Example: Globe

10.8.2 Security for Remote Objects

10.9 SUMMARY

 

11 DISTRIBUTED FILE SYSTEMS

11.1 ARCHITECTURE

11.1.1 Client-Server Architectures

11.1.2 Cluster-Based Distributed File Systems

11.1.3 Symmetric Architectures

11.2 PROCESSES

11.3 COMMUNICATION

11.3.1 RPCs in NFS

11.3.2 The RPC2 Subsystem

11.3.3 File-Oriented Communication in Plan 9

11.4 NAMING

11.4.1 Naming in NFS

11.4.2 Constructing a Global Name Space

11.5 SYNCHRONIZATION

11.5.1 Semantics of File Sharing

11.5.2 File Locking

11.5.3 Sharing Files in Coda

11.6 CONSISTENCY AND REPLICATION

11.6.1 Client-Side Caching

11.6.2 Server-Side Replication

11.6.3 Replication in Peer-to-Peer File Systems

11.6.4 File Replication in Grid Systems

11.7 FAULT TOLERANCE

11.7.1 Handling Byzantine Failures

11.7.2 High Availability in Peer-to-Peer Systems

11.8 SECURITY

11.8.1 Security in NFS

11.8.2 Decentralized Authentication

11.8.3 Secure Peer-to-Peer File-Sharing Systems

11.9 SUMMARY

 

12 DISTRIBUTED WEB-BASED SYSTEMS

12.1 ARCHITECTURE

12.1.1 Traditional Web-Based Systems

12.1.2 Web Services

12.2 PROCESSES

12.2.1 Clients

12.2.2 The Apache Web Server

12.2.3 Web Server Clusters

12.3 COMMUNICATION

12.3.1 Hypertext Transfer Protocol

12.3.2 Simple Object Access Protocol

12.4 NAMING

12.5 SYNCHRONIZATION

12.6 CONSISTENCY AND REPLICATION

12.6.1 Web Proxy Caching

12.6.2 Replication for Web Hosting Systems

12.6.3 Replication of Web Applications

12.7 FAULT TOLERANCE

12.8 SECURITY

12.9 SUMMARY

 

13 DISTRIBUTED COORDINATION-BASED

SYSTEMS

13.1 INTRODUCTION TO COORDINATION MODELS

13.2 ARCHITECTURES

13.2.1 Overall Approach

13.2.2 Traditional Architectures

13.2.3 Peer-to-Peer Architectures

13.2.4 Mobility and Coordination

13.3 PROCESSES

13.4 COMMUNICATION

13.4.1 Content-Based Routing

13.4.2 Supporting Composite Subscriptions

13.5 NAMING

13.5.1 Describing Composite Events

13.5.2 Matching Events and Subscriptions

13.6 SYNCHRONIZATION

13.7 CONSISTENCY AND REPLICATION

13.7.1 Static Approaches

13.7.2 Dynamic Replication

13.8 FAULT TOLERANCE

13.8.1 Reliable Publish-Subscribe Communication

13.8.2 Fault Tolerance in Shared Dataspaces

13.9 SECURITY

13.9.1 Confidentiality

13.9.2 Secure Shared Dataspaces

13.10 SUMMARY

 

INDEX


Avez-vous une question à nous poser ?