Learn More
Generalized snapshot isolation extends snapshot isolation as used in Oracle and other databases in a manner suitable for replicated databases. While (conventional) snapshot isolation requires that transactions observe the "latest" snapshot of the database, generalized snapshot isolation allows the use of "older" snapshots, facilitating a replicated(More)
Data replication is an increasingly important topic as databases are more and more deployed over clusters of workstations. One of the challenges in database replication is to introduce replication without severely affecting performance. Because of this difficulty, current database products use lazy replication, which is very efficient but can compromise(More)
Database replication protocols have historically been built on top of distributed database systems, and have consequently been designed and implemented using distributed transac-tional mechanisms, such as atomic commitment. We present the database state machine approach, a new way to deal with database replication in a cluster of servers. This approach(More)
Bibliography 167 Index 179 Mystics exult in mystery and want it to stay mysterious. Scientists exult in mystery for a different reason: it gives them something to do. Preface This thesis concerns the optimal behaviour of agents in unknown computable environments, also known as universal artificial intelligence. These theoretical agents are able to learn to(More)
This paper presents Merlin, a new framework for managing resources in software-defined networks. With Merlin, administrators express high-level policies using programs in a declarative language. The language includes logical predicates to identify sets of packets, regular expressions to encode forwarding paths, and arithmetic formulas to specify bandwidth(More)
Replication is an area of interest to both distributed systems and databases. The solutions developed from these two perspectives are conceptually similar but differ in many aspects: model, assumptions, mechanisms, guarantees provided, and implementation. In this paper, we provide an abstract and " neutral " framework to compare replication techniques from(More)
Database replication protocols have historically been built on top of distributed database systems, and have consequently been designed and implemented using distributed transac-tional mechanisms, such as atomic commitment. We argue in this paper that this approach is not always adequate to eeciently support database replication and that more suitable(More)
Atomic broadcast primitives are often proposed as a mechanism to allow fault-tolerant cooperation between sites in a distributed system. Unfortunately, the delay incurred before a message can be delivered makes it diicult to implement high performance, scalable applications on top of atomic broadcast primitives. Recently, a new approach h a s b e e n(More)
Agreement problems, such as consensus, atomic broadcast, and group membership, are central to the implementation of fault-tolerant distributed systems. Despite the diversity of algorithms that have been proposed for solving agreement problems in the past years, almost all solutions are crash detection based (CDB). We say that an algorithm is CDB if i t uses(More)
Partial replication is a way to increase the scalability of replicated systems: updates only need to be applied to a subset of the system's sites, thus allowing replicas to handle independent parts of the workload in parallel. In this paper, we propose P-Store, a partially replicated key-value store for wide area networks. In P-Store, each transaction T(More)