|
Consistency Models for Replicated Data |
|
|
1 | (18) |
|
|
|
|
1 | (1) |
|
|
2 | (1) |
|
Defining the Sequential Data Type |
|
|
2 | (2) |
|
|
4 | (6) |
|
Relaxing Inter-Client Operation Ordering |
|
|
7 | (3) |
|
|
10 | (4) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
16 | (3) |
|
|
17 | (2) |
|
Replication Techniques for Availability |
|
|
19 | (22) |
|
|
|
|
19 | (1) |
|
|
20 | (2) |
|
|
21 | (1) |
|
|
21 | (1) |
|
|
22 | (8) |
|
|
23 | (3) |
|
|
26 | (2) |
|
|
28 | (2) |
|
|
30 | (8) |
|
|
31 | (1) |
|
|
31 | (5) |
|
|
36 | (2) |
|
Recovery and Reconfiguration |
|
|
38 | (1) |
|
|
39 | (2) |
|
|
39 | (2) |
|
Modular Approach to Replication for Availability |
|
|
41 | (18) |
|
|
|
|
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) |
|
|
43 | (1) |
|
Implementation of Atomic Broadcast |
|
|
44 | (3) |
|
|
47 | (6) |
|
|
47 | (1) |
|
Partially Synchronous Systems |
|
|
47 | (3) |
|
Asynchronous System Augmented with Failure Detectors |
|
|
50 | (2) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
54 | (2) |
|
|
54 | (1) |
|
Group Communication in Dynamic Groups |
|
|
55 | (1) |
|
|
56 | (3) |
|
|
57 | (2) |
|
Stumbling over Consensus Research: Misunderstandings and Issues |
|
|
59 | (14) |
|
|
|
59 | (1) |
|
|
60 | (7) |
|
|
60 | (1) |
|
Eventually-Forever Assumptions |
|
|
61 | (1) |
|
|
62 | (1) |
|
The Consensus Impossibility Result |
|
|
63 | (2) |
|
|
65 | (1) |
|
|
66 | (1) |
|
|
67 | (4) |
|
The Application Interface |
|
|
67 | (2) |
|
Violation of Abstraction Boundaries |
|
|
69 | (1) |
|
|
70 | (1) |
|
|
70 | (1) |
|
Lack of Feedback from Practitioners |
|
|
71 | (1) |
|
Hidden Limitations in Algorithms |
|
|
71 | (1) |
|
|
71 | (2) |
|
|
72 | (1) |
|
Replicating for Performance: Case Studies |
|
|
73 | (18) |
|
|
|
|
73 | (2) |
|
|
75 | (3) |
|
|
76 | (1) |
|
|
77 | (1) |
|
|
78 | (1) |
|
|
78 | (6) |
|
Content Delivery Networks |
|
|
79 | (2) |
|
|
81 | (2) |
|
|
83 | (1) |
|
Replicating for Performance versus Consistency |
|
|
84 | (2) |
|
|
86 | (1) |
|
|
87 | (4) |
|
|
87 | (4) |
|
A History of the Virtual Synchrony Replication Model |
|
|
91 | (30) |
|
|
|
91 | (3) |
|
Distributed Consistency: Who Needs It? |
|
|
94 | (1) |
|
|
95 | (1) |
|
|
95 | (11) |
|
Resilient Objects in Isis V 1.0 |
|
|
98 | (3) |
|
|
101 | (1) |
|
The Isis Toolkit and the Virtual Synchrony Model |
|
|
102 | (2) |
|
A Design Feature Motivated by Performance Considerations |
|
|
104 | (2) |
|
|
106 | (2) |
|
Local Reads and Fast Updates |
|
|
106 | (2) |
|
|
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) |
|
|
112 | (2) |
|
Causal and Other Controversies |
|
|
114 | (1) |
|
What Next? Live Objects and Quicksilver Scalable Multicast! |
|
|
115 | (1) |
|
|
116 | (5) |
|
|
117 | (4) |
|
From Viewstamped Replication to Byzantine Fault Tolerance |
|
|
121 | (30) |
|
|
|
121 | (1) |
|
|
122 | (1) |
|
|
123 | (3) |
|
|
124 | (1) |
|
|
125 | (1) |
|
|
125 | (1) |
|
|
126 | (8) |
|
|
127 | (1) |
|
|
128 | (3) |
|
|
131 | (3) |
|
|
134 | (4) |
|
Differences from the Original |
|
|
134 | (1) |
|
|
134 | (1) |
|
|
135 | (1) |
|
Performance in the Normal Case |
|
|
136 | (1) |
|
Performance of View Changes |
|
|
137 | (1) |
|
|
137 | (1) |
|
Non-deterministic Operations |
|
|
138 | (1) |
|
Byzantine Fault Tolerance |
|
|
138 | (2) |
|
|
139 | (1) |
|
|
140 | (4) |
|
|
142 | (2) |
|
|
144 | (2) |
|
|
144 | (1) |
|
|
144 | (2) |
|
|
146 | (1) |
|
|
146 | (1) |
|
|
146 | (1) |
|
|
146 | (5) |
|
|
147 | (4) |
|
Implementing Trustworthy Services Using Replicated State Machines |
|
|
151 | (18) |
|
|
|
|
151 | (1) |
|
The State-Machine Approach |
|
|
152 | (1) |
|
Compromise and Proactive Recovery |
|
|
153 | (1) |
|
Service Key Refresh and Scalability |
|
|
154 | (2) |
|
|
155 | (1) |
|
|
156 | (1) |
|
|
156 | (2) |
|
|
156 | (1) |
|
|
157 | (1) |
|
|
157 | (1) |
|
|
158 | (2) |
|
|
160 | (2) |
|
Computing with Server Confidential Data |
|
|
162 | (1) |
|
|
163 | (6) |
|
|
165 | (4) |
|
State Machine Replication with Byzantine Faults |
|
|
169 | (16) |
|
|
|
169 | (1) |
|
|
170 | (8) |
|
|
170 | (3) |
|
|
173 | (2) |
|
|
175 | (3) |
|
Atomic Broadcast Protocols |
|
|
178 | (3) |
|
Consensus-Based Atomic Broadcast |
|
|
179 | (1) |
|
Sequencer-Based Atomic Broadcast |
|
|
179 | (1) |
|
|
180 | (1) |
|
|
181 | (1) |
|
Replicating Cryptographic Services |
|
|
181 | (1) |
|
Handling Responses Securely |
|
|
181 | (1) |
|
Preserving Causality of Requests |
|
|
182 | (1) |
|
|
182 | (3) |
|
|
183 | (2) |
|
Selected Results from the Latest Decade of Quorum Systems Research |
|
|
185 | (22) |
|
|
|
|
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) |
|
|
192 | (3) |
|
State-Machine-Replication Protocols |
|
|
195 | (10) |
|
|
205 | (2) |
|
|
205 | (2) |
|
From Object Replication to Database Replication |
|
|
207 | (12) |
|
|
|
|
207 | (1) |
|
Replication Model and Consistency |
|
|
208 | (2) |
|
|
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) |
|
|
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) |
|
|
217 | (2) |
|
|
218 | (1) |
|
Database Replication: A Tutorial |
|
|
219 | (34) |
|
|
|
|
|
|
219 | (2) |
|
|
219 | (1) |
|
Organization of the Chapter |
|
|
220 | (1) |
|
Basic Taxonomy for Replica Control Approaches |
|
|
221 | (12) |
|
|
223 | (2) |
|
|
225 | (3) |
|
|
228 | (2) |
|
|
230 | (2) |
|
|
232 | (1) |
|
|
233 | (4) |
|
Atomicity and Consistency |
|
|
233 | (2) |
|
|
235 | (2) |
|
|
237 | (1) |
|
|
237 | (10) |
|
|
238 | (1) |
|
|
239 | (1) |
|
Concurrency Control Mechanisms |
|
|
240 | (3) |
|
Architectural Alternatives |
|
|
243 | (2) |
|
Cluster vs. WAN Replication |
|
|
245 | (1) |
|
|
246 | (1) |
|
|
247 | (1) |
|
|
247 | (3) |
|
|
247 | (1) |
|
|
247 | (1) |
|
Lazy Replication Made Serializable |
|
|
248 | (1) |
|
|
248 | (1) |
|
|
249 | (1) |
|
Related Areas of Research |
|
|
249 | (1) |
|
|
250 | (3) |
|
|
250 | (3) |
|
Practical Database Replication |
|
|
253 | (34) |
|
|
|
|
|
|
|
253 | (1) |
|
An Architecture for Practical Database Replication |
|
|
254 | (3) |
|
Reflector: Replication-Friendly Database Support |
|
|
257 | (6) |
|
Reflection for Replication |
|
|
257 | (1) |
|
|
258 | (1) |
|
|
259 | (1) |
|
Base-Level and Meta-level Calls |
|
|
260 | (1) |
|
|
261 | (1) |
|
Existing Reflector Bindings |
|
|
261 | (2) |
|
GCS: Communication and Coordination Support |
|
|
263 | (4) |
|
Architectural and Algorithmic Issues |
|
|
264 | (2) |
|
|
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) |
|
|
275 | (1) |
|
|
276 | (1) |
|
|
277 | (5) |
|
|
282 | (5) |
|
|
283 | (4) |
Index |
|
287 | |