• Out-of-Stock
Distributed systems. Rules and paradigms
search
  • Distributed systems. Rules and paradigms
ID: 47467
Tanenbaum Andrew S., van Steen Maarten
Delivery date unknown
 

Free shipping

free shipping in Poland for all orders over 500 PLN

 

Same day shipping

If your payment will be credited to our account by 11:00

 

14 days for return

Each consumer can return the purchased goods within 14 days


The book is devoted to distributed systems. It emphasizes these principles and paradigms, which form the basis for the popularity of the Internet, WWW and distributed computing. As for the rules, we discussed communication, processes, naming, synchronization, data compliance and replication, fault tolerance and information security. In terms of paradigms, object systems, distributed file systems, document processing systems and coordination based systems are presented. At the end of each chapter there is a summary of the problems addressed in it, as well as a set of tasks for self-solution.

The book is intended for IT students and teaching staff conducting classes in distributed systems.

Table of Contents


Preface
Tips for using the book

1. INTRODUCTION


1.1. Definition of a distributed system
1.2. Objectives
1.2.1. Connecting users and resources
1.2.2. Transparency
1.2.3. Openness
1 .2.4. scalability
1.3. Hardware issues
1.3.1. Multiprocessors
1.3.2. Homogeneous multi-computer systems
1.3.3. Heterogeneous multi-computer systems
1.4. Software issues
1.4.1. Distributed operating systems
1.4.2. Network operating systems
1.4.3. Mid-level software
1.5. Client-server model
1.5.1. Clients and servers
1.5.2. Application layers
1.5.3. Client-server architecture
1.6 Summary

2. COMMUNICATION


2.1. Layered reports
2.1.1. Lower level protocols
2.1.2. Transport protocols
2.1.3. Higher level protocols
2.2. Remote Procedure Call (RPC)
2.2.1. Basic RPC operations
2.2.2. Passing parameters
2.2.3. Extended RPC models
2.2.4. Example - DCE RPC
2.3. Calling a remote object
2.3.1. Distributed objects
2.3.2. Binding the customer to the object
2.3.3. Static and dynamic invocation of remote methods
2.3.4. Passing parameters
2.3.5. Example 1 - DCE remote objects
2.3.6. Example 2 - Java RMI
2.4. Communication based on messages
2.4.1. Durability and synchronism in communication
2.4.2. Transient communication based on messages
2.4.3. Communication lasted based on messages
2.4.4. Example - IBM MQSeries
2.5. Streaming communication
2.5.1. Backing up of continuous media
2.5.2. Streams and service quality
2.5.3. Synchronization of streams
2.6. Summary

3. PROCESSES


3.1.1. threads
3.1.1. Introduction to threads
3.1.2. Threads in distributed systems
3.2. customers
3.2.1. User interfaces
3.2.2. Software for client side transparency
3.3. servers
3.3.1. General design issues
3.3.2. Object servers
3.4 Wandering the code
3.4.1. Approaches to wandering the code
3.4.2. Wandering and local resources
3.4.3. Wandering in heterogeneous systems
3.4.4. Example - D'Agents
3.5. Program agents
3.5.1. Program agents in distributed systems
3.5.2. Agent technology
3.6. Summary

4. NEGLIGENCE


4.l. Nomenclature units
4.1.1. Names, identifiers and addresses
4.1.2. Name translation
4.1.3. Implementation of the namespace
4.1.4. Example - domain name system
4.1.5. Example - X.500
4.2. Locating mobile units
4.2.1. Nomenclature and locating units
4.2.2. Simple solutions
4.2.3. Methods based on headquarters
4.2.4. Hierarchical approaches
4.3. Deleting units without references
4.3.1. Problem of objects without references
4.3.2. Counting references
4.3.3. Writing references
4.3.4. Identifying unreachable units
4.4. Summary

5. SYNCHRONIZATION


5.1. Synchronization of clocks
5.1.1. Physical clocks
5.1.2. Clock synchronization algorithms
5.1.3. Application of synchronized clocks
5.2. Logic clocks
5.2.1. Time stamps for Lamport
5.2.2. Vector timers
5.3. Global status
5.4. Election algorithms
5.4.1. Tyrant's algorithm
5.4.2. The ring algorithm
5.5. Mutual exclusion
5.5.1. Centralized algorithm
5.5.2. Distributed algorithm
5.5.3. Ring algorithm with a token
5.5.4. Comparison of three algorithms
5.6. Distributed transactions
5.6.1. Transaction model
5.6.2. Classification of transactions
5.6.3. implementation of
5.6.4. Controlling concurrency
5.7. Summary

6. COHERENCE AND IGNITION


6.1. Introduction
6.1.1. Reasons for reproduction
6.1.2. Multiplying objects
6.1.3. Multiplication as a scaling technique
6.2. Coherence models geared to data
6.2.1. Close coherence
6.2.2. Linearity and sequential cohesion
6.2.3. Causal coherence
6.2.4. Cohesion FIFO
6.2.5. Cohesion weak
6.2.6. Coherence of deceleration
6.2.7. Cohesion of entry
6.2.8. Summary of cohesion models
6.3. Consistency models geared to the customer
6.3.1. Final coherence
6.3.2. Monotone reading
6.3.3. Saving monotone
6.3.4. Read your records
6.3.5. Records following the readings
6.3.6. implementation of
6.4. Dissemination reports
6.4. 1. Arrange copies
6.4.2. Distributing updates
6.4.3. Epidemic protocols
6.5. Cohesion protocols
6.5.1. Reports based on a basic copy
6.5.2. Reports of multiple entries
6.5.3. Cache compliance protocols
6.6. Examples
6.6.1. Orca
6.6.2. Lazy reproduction coherently causal
6.7. Summary

7. TOLERING, FAILURE


7.1. Introduction to tolerating failure
7.1.1. Basic concepts
7.1.2. Failure models
7.1.3. Failures masked by redundancy
7.2. Resilience of processes
7.2.1. Project issues
7.2.2. Failure masking and multiplication
7.2.3. Investigation into arrangements in defective systems
7.3. Reliable client-server communication
7.3.1. Communication from point to point
7.3.2. RPC semantics in emergency situations
7.4. Reliable group communication
7.4.1. Basic schematic of reliable transmission
7.4.2. Scalability in reliable transmission
7.4.3. Nondistribution
7.5. Distributed approval
7.5.1. Two-phase approval
7.5.2. Three-phase approval
7.6. Reconstruction
7.6.1. Introduction
7.6.2. Checkpoints
7.6.3. Logging messages
7.7. Summary

8. SAFETY


8.1. Introduction to safety
8.1.1. Security threats, principles and mechanisms
8.1.2. Project issues
8.1.3. Cryptography
8.2. Safe channels
8.2.1. authentication
8.2.2. Inviolability of messages and confidentiality
8.2.3. Secure group communication
8.3. Controlling access
8.3.1. General issues of access control
8.3.2. Firewalls
8.3.3. Secure mobile code
8.4. Safety management
8.4.1. Key management
8.4.2. Managing a secure group
8.4.3. Authorization management
8.5. Example - Kerberos
8.6. Example - SESAME
8.6.1. Components of the SESAME system
8.6.2. Privilege attribute certificate (PAC)
8.7. Example - electronic payment systems
8.7.1. Electronic payment systems
8.7.2. Security in electronic payment systems
8.7.3. Examples of protocols
8.8 Summary

9. SYSTEMS BASED ON DISTRIBUTED BUILDINGS


9.1. CORBA
9.1.1. Review of the CORBA standard
9.1.2. Communication
9.1.3. processes
9.1.4. naming
9.1.5. Synchronization
9.1.6. Sticky and multiplicative storage
9.1.7. Failure tolerance
9.1.8. Security
9.2. Distributed COM model
9.2.1. DCOM review
9.2.2. Communication
9.2.3. processes
9.2.4. naming
9.2.5. Synchronization
9.2.6. Multiplexing
9.2.7. Failure tolerance
9.2.8. Security
9.3. Globe system
9.3.1. Globe system overview
9.3.2. Communication
9.3.3. processes
9.3.4. naming
9.3.5. Synchronization
9.3.6. Multiplexing
9.3.7. Failure tolerance
9.3.8. Security
9.4. Comparison of CORBA, DCOM and Globe systems
9.4.1. General assumptions
9.4.2. Communication
9.4.3. processes
9.4.4. naming
9.4.5. Synchronization
9.4.6. Sticky and multiplicative storage
9.4.7. Failure tolerance
9.4.8. Security
9.5. Summary

10. DISTRIBUTED FILE SYSTEMS


10.1. Sun NFS network file system
10.1.1 Overview of the NFS system
10.1.2. Communication
10.1.3. processes
10.1.4. naming
10.1.5. Synchronization
10.1.6. Sticky and multiplicative storage
10.1.7. Failure tolerance
10.1.8. Security
10.2. The Coda filesystem
10.2.1. Overview of the Coda system
10.2.2. Communication
10.2.3. processes
10.2.4. naming
10.2.5. Synchronization
10.2.6. Sticky and multiplicative storage
10.2.7. Failure tolerance
10.2.8. Security
10.3. Other distributed file systems
10.3.1. Plan 9 - resources unified to files
10.3.2. XFS - a non-server file system
10.3.3. SFS - security scaling
10.4. Comparison of distributed file systems
10.4.1. General assumptions
10.4.2. Communication
10.4.3. processes
10.4.4. naming
10.4.5. Synchronization
10.4.6. Sticky and multiplicative storage
10.4.7. Failure tolerance
10.4.8. Security
10.5. Summary

11. DISTRIBUTED SYSTEMS BASED ON DOCUMENTS


11.1. World Web (WWW)
11.1.1. WWW review
11.1.2. Communication
11.1.3. processes
11.1.4. naming
11.1.5. Synchronization
11.1.6. Sticky and multiplicative storage
11.1.7. Failure tolerance
11.1.8. Security
11.2. The Lotus Notes system
11.2.1. Overview of the Lotus Notes system
11.2.2. Communication
11.2.3. processes
11.2.4. naming
11.2.5. Synchronization
11.2.6. Multiplexing
11.2.7. Failure tolerance
11.2.8. Security
11.3. Comparison of WWW and Lotus Notes systems
11.4. Summary

12. DISTRIBUTED SYSTEMS BASED ON COORDINATION


12.1. Introduction to coordination models
12.2. TIB / Rendezvous system
12.2.1. Overview of the TIB / Rendezvous system
12.2.2. Communication
12.2.3. processes
12.2.4. naming
12.2.5. Synchronization
12.2.6. Sticky and multiplicative storage
12.2.7. Failure tolerance
12.2.8. Security
12.3. Jini
12.3.1. Overview of the Jini system
12.3.2. Communication
12.3.3. processes
12.3.4. naming
12.3.5. Synchronization
12.3.6. Sticky and multiplicative storage
12.3.7. Failure tolerance
12.3.8. Security
12.4. Comparison of TIB / Rendezvous and Jini systems
12.5. Summary

13. LIST OF RECOMMENDATIONS AND BIBLIOGRAPHY


13.1. Suggestions for further reading
13.1.1. Introduction and general works
13.1.2. Communication
13.1.3. processes
13.1.4. naming
13.1.5. Synchronization
13.1.6. Consistency and multiplication
13.1.7. Failure tolerance
13.1.8. Security
13.1.9. Systems based on distributed objects
13.1.10. Distributed file systems
13.1.11. Distributed systems based on documents
13.1.12. Distributed systems based on coordination
13.2. Bibliography

Index
47467

Other products in the same category (16)