Distributed systems : an algorithmic approach /: an algorithmic approach. (2014)
- Record Type:
- Book
- Title:
- Distributed systems : an algorithmic approach /: an algorithmic approach. (2014)
- Main Title:
- Distributed systems : an algorithmic approach
- Further Information:
- Note: Sukumar Ghosh.
- Authors:
- Ghosh, Sukumar
- Contents:
- Preface Acknowledgments Author Section I: Background Materials Introduction What Is a Distributed System? Why Distributed Systems Examples of Distributed Systems Important Issues in Distributed Systems Common Subproblems Implementing a Distributed System Parallel versus Distributed Systems Bibliographic Notes Exercises Interprocess Communication: An Overview Introduction Processes and Threads Client–Server Model Middleware Network Protocols Ethernet Wireless Networks OSI Model IP Transport Layer Protocols Interprocess Communication Using Sockets Naming Domain Name Service Naming Service for Mobile Clients Remote Procedure Call Implementing RPC Sun ONC/RPC Remote Method Invocation Messages Transient and Persistent Messages Streams Web Services Event Notification Virtualization: Cloud Computing Classification of Cloud Services MapReduce Hadoop Mobile Agents Basic Group Communication Services Concluding Remarks Bibliographic Notes Exercises Section II: Foundational Topics Models for Communication Need for a Model Message-Passing Model for Interprocess Communication Process Actions Channels Synchronous versus Asynchronous Systems Real-Time Systems Shared Variables Linda Modeling Mobile Agents Relationship among Models Strong and Weak Models Implementing a FIFO Channel Using a Non-FIFO Channel Implementing Message Passing Using Shared Memory Implementing Shared Memory Using Message Passing Impossibility Result with Channels Classification Based on Special Properties ReactivePreface Acknowledgments Author Section I: Background Materials Introduction What Is a Distributed System? Why Distributed Systems Examples of Distributed Systems Important Issues in Distributed Systems Common Subproblems Implementing a Distributed System Parallel versus Distributed Systems Bibliographic Notes Exercises Interprocess Communication: An Overview Introduction Processes and Threads Client–Server Model Middleware Network Protocols Ethernet Wireless Networks OSI Model IP Transport Layer Protocols Interprocess Communication Using Sockets Naming Domain Name Service Naming Service for Mobile Clients Remote Procedure Call Implementing RPC Sun ONC/RPC Remote Method Invocation Messages Transient and Persistent Messages Streams Web Services Event Notification Virtualization: Cloud Computing Classification of Cloud Services MapReduce Hadoop Mobile Agents Basic Group Communication Services Concluding Remarks Bibliographic Notes Exercises Section II: Foundational Topics Models for Communication Need for a Model Message-Passing Model for Interprocess Communication Process Actions Channels Synchronous versus Asynchronous Systems Real-Time Systems Shared Variables Linda Modeling Mobile Agents Relationship among Models Strong and Weak Models Implementing a FIFO Channel Using a Non-FIFO Channel Implementing Message Passing Using Shared Memory Implementing Shared Memory Using Message Passing Impossibility Result with Channels Classification Based on Special Properties Reactive versus Transformational Systems Named versus Anonymous Systems Complexity Measures Concluding Remarks Bibliographic Notes Exercises Representing Distributed Algorithms: Syntax and Semantics Introduction Guarded Actions Nondeterminism Atomic Operations Fairness Central versus Distributed Schedulers Concluding Remarks Bibliographic Notes Exercises Program Correctness Introduction Correctness Criteria Safety Properties Liveness Properties Correctness Proofs Quick Review of Propositional Logic Brief Overview of Predicate Logic Assertional Reasoning: Proving Safety Properties Proving Liveness Properties Using Well-Founded Sets Programming Logic Predicate Transformers Concluding Remarks Bibliographic Notes Exercises Time in a Distributed System Introduction Physical Time Sequential and Concurrent Events Logical Clocks Vector Clocks Physical Clock Synchronization Preliminary Definitions Clock Reading Error Algorithms for Internal Synchronization Algorithms for External Synchronization Concluding Remarks Bibliographic Notes Exercises Section III: Important Paradigms Mutual Exclusion Introduction Solutions on Message-Passing Systems Lamport’s Solution Ricart–Agrawala’s Solution Maekawa’s Solution Token-Passing Algorithms Suzuki–Kasami Algorithm Raymond’s Algorithm Solutions on the Shared-Memory Model Peterson’s Algorithm Mutual Exclusion Using Special Instructions Solution Using Test-and-Set Solution Using Load-Linked and Store-Conditional Group Mutual Exclusion Concluding Remarks Bibliographic Notes Exercises Distributed Snapshot Introduction Properties of Consistent Snapshots Cuts and Consistent Cuts Chandy–Lamport Algorithm Two Examples Lai–Yang Algorithm Distributed Debugging Constructing the State Lattice Evaluating Predicates Concluding Remarks Bibliographic Notes Exercises Global State Collection Introduction Elementary Algorithm for All-to-All Broadcasting Termination-Detection Algorithms Dijkstra–Scholten Algorithm Termination Detection on a Unidirectional Ring Credit-Recovery Algorithm for Termination Detection Wave Algorithms Propagation of Information with Feedback Distributed Deadlock Detection Resource Deadlock and Communication Deadlock Detection of Resource Deadlock Detection of Communication Deadlock Concluding Remarks Bibliographic Notes Exercises Graph Algorithms Introduction Routing Algorithms Computation of Shortest Path Distance-Vector Routing Link-State Routing Interval Routing Prefix Routing Graph Traversal Spanning Tree Construction Tarry’s Graph Traversal Algorithm Minimum Spanning Tree Construction Graph Coloring (D + 1)-Coloring Algorithm Cole–Vishkin Reduction Algorithm for Tree Coloring Maximal Independent Set: Luby’s Algorithm Concluding Remarks Bibliographic Notes Exercises Coordination Algorithms Introduction Leader Election Bully Algorithm Maxima Finding on a Ring Election in Arbitrary Networks Election in Anonymous Networks Synchronizers ABD Synchronizer Awerbuch’s Synchronizers Concluding Remarks Bibliographic Notes Exercises Section IV: Faults and Fault-Tolerant Systems Fault-Tolerant Systems Introduction Classification of Faults Specification of Faults Fault-Tolerant Systems Masking Tolerance Nonmasking Tolerance Fail-Safe Tolerance Graceful Degradation Detection of Failures in Synchronous Systems Tolerating Crash Failures Double and Triple Modular Redundancy Tolerating Omission Failures Stenning’s Protocol Sliding Window Protocol Alternating Bit Protocol How TCP Works Concluding Remarks Bibliographic Notes Exercises Distributed Consensus Introduction Consensus in Asynchronous Systems Bivalent and Univalent States Consensus i … (more)
- Edition:
- 2nd edition
- Publisher Details:
- Boca Raton : Chapman & Hall/CRC
- Publication Date:
- 2014
- Extent:
- 1 online resource, illustrations (black and white)
- Subjects:
- 004.36
Electronic data processing -- Distributed processing
Computer algorithms - Languages:
- English
- ISBNs:
- 9781482248128
9781466552982
9781466553002 - Related ISBNs:
- 9781466552975
- Notes:
- Note: Includes bibliographical references and index.
Note: Description based on CIP data; item not viewed. - Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.143896
- Ingest File:
- 02_098.xml