Skip to content

Distributed Systems Principles and Paradigms

Best in textbook rentals since 2012!

ISBN-10: 0132392275

ISBN-13: 9780132392273

Edition: 2nd 2007 (Revised)

Authors: Andrew S. Tanenbaum, Maarten Van Steen

List price: $196.00
Blue ribbon 30 day, 100% satisfaction guarantee!
what's this?
Rush Rewards U
Members Receive:
Carrot Coin icon
XP icon
You have reached 400 XP and carrot coins. That is the daily max!

Description:

Today, virtually every computing system is part of a distributed system, or soon will be. Programmers, developers, and engineers need to understand the principles and paradigms underlying distributed systems -- and the real-world application of these principles. Now, Andrew S. Tanenbaum -- one of the worlds most well-respected experts on networking and operating systems -- presents a complete introduction to distributed principles and paradigms. Joined by colleague Martin van Steen, Tanenbaum identifies the seven key principles of distributed systems, and presents extensive examples of each.This 2nd/e ofnbsp;Distributed Systems: Principles and Paradigmspresents in-depth coverage of every…    
Customers also bought

Book details

List price: $196.00
Edition: 2nd
Copyright year: 2007
Publisher: Prentice Hall PTR
Publication date: 10/2/2006
Binding: Hardcover
Pages: 704
Size: 7.25" wide x 9.75" long x 1.25" tall
Weight: 2.596
Language: English

Preface
Introduction
Definition of a Distributed System
Goals
Making Resources Accessible
Distribution Transparency
Openness
Scalability
Pitfalls
Types of Distributed Systems
Distributed Computing Systems
Distributed Information Systems
Distributed Pervasive Systems
Summary
Architectures
Architectural Styles
System Architectures
Centralized Architectures
Decentralized Architectures
Hybrid Architectures
Architectures Versus Middleware
Interceptors
General Approaches to Adaptive Software
Discussion
Self-Management in Distributed Systems
The Feedback Control Model
Example: Systems Monitoring with Astrolabe
Example: Differentiating Replication Strategies in Globule
Example: Automatic Component Repair Management in Jade
Summary
Processes
Threads
Introduction to Threads
Threads in Distributed Systems
Virtualization
The Role of Virtualization in Distributed Systems
Architectures of Virtual Machines
Clients
Networked User Interfaces
Client-Side Software for Distribution Transparency
Servers
General Design Issues
Server Clusters
Managing Server Clusters
Code Migration
Approaches to Code Migration
Migration and Local Resources
Migration in Heterogeneous Systems
Summary
Communication
Fundamentals
Layered Protocols
Types of Communication
Remote Procedure Call
Basic RPC Operation
Parameter Passing
Asynchronous RPC
Example: DCE RPC
Message-Oriented Communication
Message-Oriented Transient Communication
Message-Oriented Persistent Communication
Example: IBM's WebSphere Message-Queuing System
Stream-Oriented Communication
Support for Continuous Media
Streams and Quality of Service
Stream Synchronization
Multicast Communication
Application-Level Multicasting
Gossip-Based Data Dissemination
Summary
Naming
Names, Identifiers, and Addresses
Flat Naming
Simple Solutions
Home-Based Approaches
Distributed Hash Tables
Hierarchical Approaches
Structured Naming
Name Spaces
Name Resolution
The Implementation of a Name Space
Example: The Domain Name System
Attribute-Based Naming
Directory Services
Hierarchical Implementations: LDAP
Decentralized Implementations
Summary
Synchronization
Clock Synchronization
Physical Clocks
Global Positioning System
Clock Synchronization Algorithms
Logical Clocks
Lamport's Logical Clocks
Vector Clocks
Mutual Exclusion
Overview
A Centralized Algorithm
A Decentralized Algorithm
A Distributed Algorithm
A Token Ring Algorithm
A Comparison of the Four Algorithms
Global Positioning of Nodes
Election Algorithms
Traditional Election Algorithms
Elections in Wireless Environments
Elections in Large-Scale Systems
Summary
Consistency and Replication
Introduction
Reasons for Replication
Replication as Scaling Technique
Data-Centric Consistency Models
Continuous Consistency
Consistent Ordering of Operations
Client-Centric Consistency Models
Eventual Consistency
Monotonic Reads
Monotonic Writes
Read Your Writes
Writes Follow Reads
Replica Management
Replica-Server Placement
Content Replication and Placement
Content Distribution
Consistency Protocols
Continuous Consistency
Primary-Based Protocols
Replicated-Write Protocols
Cache-Coherence Protocols
Implementing Client-Centric Consistency
Summary
Fault Tolerance
Introduction to Fault Tolerance
Basic Concepts
Failure Models
Failure Masking by Redundancy
Process Resilience
Design Issues
Failure Masking and Replication
Agreement in Faulty Systems
Failure Detection
Reliable Client-Server Communication
Point-to-Point Communication
RPC Semantics in the Presence of Failures
Reliable Group Communication
Basic Reliable-Multicasting Schemes
Scalability in Reliable Multicasting
Atomic Multicast
Distributed Commit
Two-Phase Commit
Three-Phase Commit
Recovery
Introduction
Checkpointing
Message Logging
Recovery-Oriented Computing
Summary
Security
Introduction to Security
Security Threats, Policies, and Mechanisms
Design Issues
Cryptography
Secure Channels
Authentication
Message Integrity and Confidentiality
Secure Group Communication
Example: Kerberos
Access Control
General Issues in Access Control
Firewalls
Secure Mobile Code
Denial of Service
Security Management
Key Management
Secure Group Management
Authorization Management
Summary
Distributed Object-Based Systems
Architecture
Distributed Objects
Example: Enterprise Java Beans
Example: Globe Distributed Shared Objects
Processes
Object Servers
Example: The Ice Runtime System
Communication
Binding a Client to an Object
Static versus Dynamic Remote Method Invocations
Parameter Passing
Example: Java RMI
Object-Based Messaging
Naming
Corba Object References
Globe Object References
Synchronization
Consistency and Replication
Entry Consistency
Replicated Invocations
Fault Tolerance
Example: Fault-Tolerant Corba
Example: Fault-Tolerant Java
Security
Example: Globe
Security for Remote Objects
Summary
Distributed File Systems
Architecture
Client-Server Architectures
Cluster-Based Distributed File Systems
Symmetric Architectures
Processes
Communication
RPCs in NFS
The RPC2 Subsystem
File-Oriented Communication in Plan 9
Naming
Naming in NFS
Constructing a Global Name Space
Synchronization
Semantics of File Sharing
File Locking
Sharing Files in Coda
Consistency and Replication
Client-Side Caching
Server-Side Replication
Replication in Peer-to-Peer File Systems
File Replication in Grid Systems
Fault Tolerance
Handling Byzantine Failures
High Availability in Peer-to-Peer Systems
Security
Security in NFS
Decentralized Authentication
Secure Peer-to-Peer File-Sharing Systems
Summary
Distributed Web-Based Systems
Architecture
Traditional Web-Based Systems
Web Services
Processes
Clients
The Apache Web Server
Web Server Clusters
Communication
Hypertext Transfer Protocol
Simple Object Access Protocol
Naming
Synchronization
Consistency and Replication
Web Proxy Caching
Replication for Web Hosting Systems
Replication of Web Applications
Fault Tolerance
Security
Summary
Distributed Coordination-Based Systems
Introduction to Coordination Models
Architectures
Overall Approach
Traditional Architectures
Peer-to-Peer Architectures
Mobility and Coordination
Processes
Communication
Content-Based Routing
Supporting Composite Subscriptions
Naming
Describing Composite Events
Matching Events and Subscriptions
Synchronization
Consistency and Replication
Static Approaches
Dynamic Replication
Fault Tolerance
Reliable Publish-Subscribe Communication
Fault Tolerance in Shared Dataspaces
Security
Confidentiality
Secure Shared Dataspaces
Summary
Suggestions for Further Reading and Bibliography
Suggestions for Further Reading
Introduction and General Works
Architectures
Processes
Communication
Naming
Synchronization
Consistency and Replication
Fault Tolerance
Security
Distributed Object-Based Systems
Distributed File Systems
Distributed Web-Based Systems
Distributed Coordination-Based Systems
Alphabetical Bibliography
Index