Muutke küpsiste eelistusi

Replication: Theory and Practice [Pehme köide]

Edited by , Edited by , Edited by
  • Formaat: Paperback / softback, 290 pages, kõrgus x laius: 235x155 mm, kaal: 474 g, XV, 290 p., 1 Paperback / softback
  • Sari: Lecture Notes in Computer Science 5959
  • Ilmumisaeg: 02-Mar-2010
  • Kirjastus: Springer-Verlag Berlin and Heidelberg GmbH & Co. K
  • ISBN-10: 3642112935
  • ISBN-13: 9783642112935
  • Pehme köide
  • Hind: 71,86 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 84,54 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 290 pages, kõrgus x laius: 235x155 mm, kaal: 474 g, XV, 290 p., 1 Paperback / softback
  • Sari: Lecture Notes in Computer Science 5959
  • Ilmumisaeg: 02-Mar-2010
  • Kirjastus: Springer-Verlag Berlin and Heidelberg GmbH & Co. K
  • ISBN-10: 3642112935
  • ISBN-13: 9783642112935
Replication is a topic of interest in the distributed computing, distributed systems, and database communities. Although these communities have traditionally looked at replication from different viewpoints and with different goals (e.g., performance versus fault tolerance), recent developments have led to a convergence of these different goals. The objective of this state-of-the-art survey is not to speculate about the future of replication, but rather to understand the present, to make an assessment of approximately 30 years of research on replication, and to present a comprehensive view of the achievements made during this period of time.



This book is the outcome of the seminar entitled A 30-Year Perspective on Replication, which was held at Monte Verità, Ascona, Switzerland, in November 2007. The book is organized in 13 self-contained chapters written by most of the people who have contributed to developing state-of-the-art replication techniques. It presents a comprehensive view of existing solutions, from a theoretical as well as from a practical point of view. It covers replication of processes/objects and of databases; replication for fault tolerance and replication for performance - benign faults and malicious (Byzantine) faults - thus forming a basis for both professionals and students of distributed computing, distributed systems, and databases.
Consistency Models for Replicated Data
1(18)
Alan D. Fekete
Krithi Ramamritham
Introduction
1(1)
Contributions
2(1)
Defining the Sequential Data Type
2(2)
Strong Consistency
4(6)
Relaxing Inter-Client Operation Ordering
7(3)
Weak Consistency
10(4)
Transactions
14(1)
Discussion
15(1)
Conclusion
16(3)
References
17(2)
Replication Techniques for Availability
19(22)
Robbert van Renesse
Rachid Guerraoui
Introduction
19(1)
Model
20(2)
Environment
21(1)
Specification
21(1)
Fail-Stop Failure Model
22(8)
Primary-Backup
23(3)
Chain Replication
26(2)
Queries
28(2)
Crash Failure Model
30(8)
Quorums
31(1)
Stake Replication
31(5)
Broker Replication
36(2)
Recovery and Reconfiguration
38(1)
Conclusion
39(2)
References
39(2)
Modular Approach to Replication for Availability
41(18)
Fernando Pedone
Andre Schiper
Introduction
41(1)
Atomic Broadcast for State Machine Replication
42(1)
The Consensus Problem, or How to Implement Atomic Broadcast in a Modular Way
43(4)
Consensus
43(1)
Implementation of Atomic Broadcast
44(3)
Solving Consensus
47(6)
About System Models
47(1)
Partially Synchronous Systems
47(3)
Asynchronous System Augmented with Failure Detectors
50(2)
Discussion
52(1)
Generic Broadcast
53(1)
Dynamic Groups
54(2)
Group Membership Service
54(1)
Group Communication in Dynamic Groups
55(1)
Conclusion
56(3)
References
57(2)
Stumbling over Consensus Research: Misunderstandings and Issues
59(14)
Marcos K. Aguilera
Introduction
59(1)
Misunderstandings
60(7)
Asynchronous Systems
60(1)
Eventually-Forever Assumptions
61(1)
Eventual Guarantees
62(1)
The Consensus Impossibility Result
63(2)
Uses of Replication
65(1)
Correlated Failures
66(1)
Issues
67(4)
The Application Interface
67(2)
Violation of Abstraction Boundaries
69(1)
Ambiguities and Errors
70(1)
Unfriendly Formalisms
70(1)
Lack of Feedback from Practitioners
71(1)
Hidden Limitations in Algorithms
71(1)
Conclusion
71(2)
References
72(1)
Replicating for Performance: Case Studies
73(18)
Maarten van Steen
Guillaume Pierre
Introduction
73(2)
Replication Strategies
75(3)
Replica Placement
76(1)
Content Distribution
77(1)
Strategy Evaluation
78(1)
Replication Granularity
78(6)
Content Delivery Networks
79(2)
Edge-Server Computing
81(2)
Decentralized Wikipedia
83(1)
Replicating for Performance versus Consistency
84(2)
Replication Management
86(1)
Conclusions
87(4)
References
87(4)
A History of the Virtual Synchrony Replication Model
91(30)
Ken Birman
Introduction
91(3)
Distributed Consistency: Who Needs It?
94(1)
Goals in This
Chapter
95(1)
Historical Context
95(11)
Resilient Objects in Isis V 1.0
98(3)
Beyond Resilient Objects
101(1)
The Isis Toolkit and the Virtual Synchrony Model
102(2)
A Design Feature Motivated by Performance Considerations
104(2)
Dynamic Membership
106(2)
Local Reads and Fast Updates
106(2)
Partitionable Views
108(1)
Causally Ordered Multicast: cbcast
108(2)
Time-Critical Applications
110(1)
A Series of Commercial Successes, but Ultimately, a Market Failure
111(5)
How Replication Was Used
112(2)
Causal and Other Controversies
114(1)
What Next? Live Objects and Quicksilver Scalable Multicast!
115(1)
Closing Thoughts
116(5)
References
117(4)
From Viewstamped Replication to Byzantine Fault Tolerance
121(30)
Barbara Liskov
Introduction
121(1)
Prehistory
122(1)
Viewstamped Replication
123(3)
Replica Groups
124(1)
Architecture
125(1)
Approach
125(1)
The VR Protocol
126(8)
Normal Operation
127(1)
View Changes
128(3)
Recovery
131(3)
Discussion of VR
134(4)
Differences from the Original
134(1)
Two-Phase Commit
134(1)
Optimizations
135(1)
Performance in the Normal Case
136(1)
Performance of View Changes
137(1)
State Management
137(1)
Non-deterministic Operations
138(1)
Byzantine Fault Tolerance
138(2)
Approach
139(1)
The PBFT Protocol
140(4)
View Changes
142(2)
Discussion of PBFT
144(2)
Cryptography
144(1)
Optimizations
144(2)
Selecting the Primary
146(1)
Recovery
146(1)
Non-determinism
146(1)
Conclusions
146(5)
References
147(4)
Implementing Trustworthy Services Using Replicated State Machines
151(18)
Fred B. Schneider
Lidong Zhou
Introduction
151(1)
The State-Machine Approach
152(1)
Compromise and Proactive Recovery
153(1)
Service Key Refresh and Scalability
154(2)
Service Private Keys
155(1)
Proactive Secret Sharing
156(1)
Server Key Refresh
156(2)
Trusted Hardware
156(1)
Offline Keys
157(1)
Attack Awareness
157(1)
Processor Independence
158(2)
Replica Coordination
160(2)
Computing with Server Confidential Data
162(1)
Discussion
163(6)
References
165(4)
State Machine Replication with Byzantine Faults
169(16)
Christian Cachin
Introduction
169(1)
Building Blocks
170(8)
Broadcast Primitives
170(3)
Distributed Cryptography
173(2)
Byzantine Consensus
175(3)
Atomic Broadcast Protocols
178(3)
Consensus-Based Atomic Broadcast
179(1)
Sequencer-Based Atomic Broadcast
179(1)
Hybrid Atomic Broadcast
180(1)
Service Replication
181(1)
Replicating Cryptographic Services
181(1)
Handling Responses Securely
181(1)
Preserving Causality of Requests
182(1)
Conclusion
182(3)
References
183(2)
Selected Results from the Latest Decade of Quorum Systems Research
185(22)
Michael G. Merideth
Michael K. Reiter
Introduction
185(1)
Quorum Systems for Byzantine Faults
186(3)
Access Strategies and Load
187(1)
Probabilistic Quorum Systems
188(1)
Minimizing Delays of Quorums Accesses
189(2)
Uses of Byzantine Quorums in Protocols
191(14)
Read-Overwrite Protocols
192(3)
State-Machine-Replication Protocols
195(10)
Conclusion
205(2)
References
205(2)
From Object Replication to Database Replication
207(12)
Fernando Pedone
Andre Schiper
Introduction
207(1)
Replication Model and Consistency
208(2)
Generic Functional Model
209(1)
Object and Database Consistency
210(1)
From Object Replication to Database Replication: Multi-primary Passive Replication
210(1)
Deferred Update Database Replication
211(6)
Additional Definitions
212(1)
Atomic Commit-Based Termination
212(2)
Atomic Broadcast-Based Termination
214(1)
Reordering-Based Termination
215(1)
Generic Broadcast-Based Termination
216(1)
Final Remarks
217(2)
References
218(1)
Database Replication: A Tutorial
219(34)
Bettina Kemme
Ricardo Jimenez-Peris
Marta Patino-Martinez
Gustavo Alonso
Introduction
219(2)
Why Replication
219(1)
Organization of the
Chapter
220(1)
Basic Taxonomy for Replica Control Approaches
221(12)
Eager Primary Copy
223(2)
Eager Update Anywhere
225(3)
Lazy Primary Copy
228(2)
Lazy Update Anywhere
230(2)
Eager vs. Lazy
232(1)
Correctness Criteria
233(4)
Atomicity and Consistency
233(2)
Isolation
235(2)
Session Consistency
237(1)
Other Parameters
237(10)
Message Management
238(1)
Executing Writes
239(1)
Concurrency Control Mechanisms
240(3)
Architectural Alternatives
243(2)
Cluster vs. WAN Replication
245(1)
Degree of Replication
246(1)
Recovery
247(1)
Existing Systems
247(3)
Early Work
247(1)
Commercial Systems
247(1)
Lazy Replication Made Serializable
248(1)
Cluster Replication
248(1)
Other Issues
249(1)
Related Areas of Research
249(1)
Conclusions
250(3)
References
250(3)
Practical Database Replication
253(34)
Alfranio Correia Jr.
Jose Pereira
Luis Rodrigues
Nuno Carvalho
Rui Oliveira
Introduction
253(1)
An Architecture for Practical Database Replication
254(3)
Reflector: Replication-Friendly Database Support
257(6)
Reflection for Replication
257(1)
Processing Stages
258(1)
Processing Contexts
259(1)
Base-Level and Meta-level Calls
260(1)
Exception Handling
261(1)
Existing Reflector Bindings
261(2)
GCS: Communication and Coordination Support
263(4)
Architectural and Algorithmic Issues
264(2)
Existing GCS Bindings
266(1)
Replicator: Pluggable Replication Protocols
267(1)
Consistent Database Replication
268(14)
Replication with Conservative Execution
270(2)
Replication with Optimistic Execution
272(3)
Active Replication
275(1)
Hybrid Replication
276(1)
Evaluation
277(5)
Conclusions
282(5)
References
283(4)
Index 287