Abstract:Current techniques for reconciling disconnected changes to optimistically replicated data often use version vectors or related mechanisms to track causal histories. This allows the system to tell whether the value at one replica dominates another or whether the two replicas are in conflict. However, current algorithms do not provide entirely satisfactory ways of repairing conflicts. The usual approach is to introduce fresh events into the causal history, even in situations where the causally independent values… Show more
“…In this case o = o r , a = a r , and b = b r and since these are assembled as the concatenation of the results of each recursive call, we have o = ⊥, a = ⊥, and b = ⊥ (recall the difference between the empty tree and the missing tree). It follows directly that a ∼ a , b ∼ b , a ∼ b , o ∼ a , and o ∼ b , which immediately satisfies local safety conditions (1), (2). Local safety condition (3) is satisfied because there cannot be a conflict at the root: there is no local conflict because o = X and a ∼ b, and there is no schema domain conflict because mdom(o, a, b) = dom(a r ) ∈ doms(S) and mdom(o, b, a) = dom(b r ) ∈ doms(S).…”
Section: Lemma 13mentioning
confidence: 74%
“…(1) (S,o,a,b,X , a, b), (4) (S, o, a, o, a, a, a), (2) (S, o, a, a, a, a, a), (S, o, o, b, b, b, b), (6) (S,o,a,⊥, ⊥, ⊥, ⊥), assuming a < o.…”
Section: Lemma 13mentioning
confidence: 99%
“…We cache this final merged state, o , at the end of each synchronization, to use as the o input for the next synchronization. 2 Schematically, the synchronizer may be visualized like the diagram on the left of Fig. 1.…”
Section: Basicsmentioning
confidence: 99%
“…Our algorithm generalizes straightforwardly to n simultaneously connected replicas, but the more realistic case where only a subset of the replicas may be connected at any given moment poses additional challenges. Some progress in this area is reported in[2] 2. In a multi-replica system, an appropriate "last shared state" would instead be calculated from the causal history of the system.…”
Increased reliance on optimistic data replication has led to burgeoning interest in tools and frameworks for synchronizing disconnected updates to replicated data. But good data synchronizers are challenging both to specify and to build.We have implemented a generic synchronization framework, called Harmony, that can be used to build state-based synchronizers for a wide variety of tree-structured data formats. A novel feature of this framework is that the synchronization process-in particular, the recognition of conflicts-is driven by the schema of the structures being synchronized.We formalize Harmony's synchronization algorithm, prove that it obeys a simple and intuitive specification, and illustrate, using simple address books as a case study, how it can be used to synchronize trees representing a variety of specific forms of application data, including sets, records, tuples, and relations.
“…In this case o = o r , a = a r , and b = b r and since these are assembled as the concatenation of the results of each recursive call, we have o = ⊥, a = ⊥, and b = ⊥ (recall the difference between the empty tree and the missing tree). It follows directly that a ∼ a , b ∼ b , a ∼ b , o ∼ a , and o ∼ b , which immediately satisfies local safety conditions (1), (2). Local safety condition (3) is satisfied because there cannot be a conflict at the root: there is no local conflict because o = X and a ∼ b, and there is no schema domain conflict because mdom(o, a, b) = dom(a r ) ∈ doms(S) and mdom(o, b, a) = dom(b r ) ∈ doms(S).…”
Section: Lemma 13mentioning
confidence: 74%
“…(1) (S,o,a,b,X , a, b), (4) (S, o, a, o, a, a, a), (2) (S, o, a, a, a, a, a), (S, o, o, b, b, b, b), (6) (S,o,a,⊥, ⊥, ⊥, ⊥), assuming a < o.…”
Section: Lemma 13mentioning
confidence: 99%
“…We cache this final merged state, o , at the end of each synchronization, to use as the o input for the next synchronization. 2 Schematically, the synchronizer may be visualized like the diagram on the left of Fig. 1.…”
Section: Basicsmentioning
confidence: 99%
“…Our algorithm generalizes straightforwardly to n simultaneously connected replicas, but the more realistic case where only a subset of the replicas may be connected at any given moment poses additional challenges. Some progress in this area is reported in[2] 2. In a multi-replica system, an appropriate "last shared state" would instead be calculated from the causal history of the system.…”
Increased reliance on optimistic data replication has led to burgeoning interest in tools and frameworks for synchronizing disconnected updates to replicated data. But good data synchronizers are challenging both to specify and to build.We have implemented a generic synchronization framework, called Harmony, that can be used to build state-based synchronizers for a wide variety of tree-structured data formats. A novel feature of this framework is that the synchronization process-in particular, the recognition of conflicts-is driven by the schema of the structures being synchronized.We formalize Harmony's synchronization algorithm, prove that it obeys a simple and intuitive specification, and illustrate, using simple address books as a case study, how it can be used to synchronize trees representing a variety of specific forms of application data, including sets, records, tuples, and relations.
“…We refer the interested reader to the survey in [22] and to the historical notes in [4]. After an initial focus on message passing systems, recent developments have improved causality tracking for replicated data: they addressed efficient coding for groups of related objects [14]; bounded representation of version vectors [1]; and the semantics of reconciliation [10].…”
Causality tracking mechanisms, such as vector clocks and version vectors, rely on mappings from globally unique identifiers to integer counters. In a system with a well known set of entities these ids can be preconfigured and given distinct positions in a vector or distinct names in a mapping. Id management is more problematic in dynamic systems, with large and highly variable number of entities, being worsened when network partitions occur. Present solutions for causality tracking are not appropriate to these increasingly common scenarios. In this paper we introduce Interval Tree Clocks, a novel causality tracking mechanism that can be used in scenarios with a dynamic number of entities, allowing a completely decentralized creation of processes/replicas without need for global identifiers or global coordination. The mechanism has a variable size representation that adapts automatically to the number of existing entities, growing or shrinking appropriately. The representation is so compact that the mechanism can even be considered for scenarios with a fixed number of entities, which makes it a general substitute for vector clocks and version vectors.
Increased reliance on optimistic data replication has led to burgeoning interest in tools and frameworks for synchronizing disconnected updates to replicated data. But good data synchronizers are challenging both to specify and to build.We have implemented a generic synchronization framework, called Harmony, that can be used to build state-based synchronizers for a wide variety of tree-structured data formats. A novel feature of this framework is that the synchronization processin particular, the recognition of conflicts-is driven by the schema of the structures being synchronized.We formalize Harmony's synchronization algorithm, prove that it obeys a simple and intuitive specification, and illustrate, using simple address books as a case study, how it can be used to synchronize trees representing a variety of specific forms of application data, including sets, records, tuples, and relations.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.