1 / 9

Selective Anti-Entropy

Selective Anti-Entropy. Weibin Zhao Henning Schulzrinne {zwb,hgs}@cs.columbia.edu Internet Real-Time Laboratory Columbia University. Introduction. Anti-Entropy Asynchronous replication, eventual consistency Peer-wise session Exchange differences, summary vector

oshin
Download Presentation

Selective Anti-Entropy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Selective Anti-Entropy Weibin Zhao Henning Schulzrinne {zwb,hgs}@cs.columbia.edu Internet Real-Time Laboratory Columbia University

  2. Introduction • Anti-Entropy • Asynchronous replication, eventual consistency • Peer-wise session • Exchange differences, summary vector • Complete anti-entropy (CAE) • Reconcile all inconsistent states • Selective anti-entropy (SAE) • Selectively reconcile inconsistent states

  3. Approach • Subsets of updates • Rx: all updates initially received by Rx • Θ(Rx, {Rx1, Rx2, …, Rxk}, Rz): SAE request • Only specified subsets are solicited • SAE types • Select-one-direct: Θ(Rx, {Rz}, Rz) • Select-one-indirect: Θ(Rx, {Ry}, Rz) • Select-multiple: Θ(Rx, {Ry, Rz}, Rz) • Select-all: = CAE

  4. Example: SAE vs. CAE • R2 = {a,b}, R3 = {c,d} CAE R2 {a,b,c} R3 {a,c,d} {d} {a,b,c} R1 R1 {a,b,c} R1 {a,b,c,d} R2 {a,b,c} R3 {a,c,d} SAE {a,b} {c,d} Θ(R1,{R2},R2) Θ(R1,{R3},R3) R1 {a,b,c,d} R1

  5. Parallel SAE Sessions • All select-one-direct sessions • In general, Rx can run kSAE sessions s1, s2, …, sk in parallel if update subsets u1, u2, …, uk do not overlap, i.e., u1 u2  …  uk =  • Example • if u1= {R2, R4}, u2 = {R3, R5}, then R1 can run s1 and s2 in parallel

  6. Multi-Scope Partial Replication • State set divided into subsets: scopes • Applications: directory services • SLP directories & scopes • UDDI registries & classifications R1(S1,S2,S3) R2(S1) R3(S1,S2) R4(S2,S3) R5(S3) R6(S1,S2) R7(S3)

  7. Summary Problem (2) • Solution space • Summary vector: replica, full replication • Summary matrix: replica &scope, partial replication • SAE + summary vector: replica, partial replication R2(S1) R3(S1,S2) a,c a,c b? (3) (1) R6(S1,S2) R6 states (t1<t2<t3)

  8. Safe SAE Sessions • select-one-direct: Θ(Rx, {Rz}, Rz) • Safe for all • select-one-indirect: Θ(Rx, {Ry}, Rz) • Safe if S(Rx)  S(Ry)  S(Rz) • Safe: Θ(R3, {R1}, R6) S(R3)  S(R1) = {S1, S2} = S(R6) • Unsafe: Θ(R3, {R6}, R2) S(R3)  S(R6) = {S1, S2}  S(R2) = {S1} • select-multiple or select-all • Safe if all select-one-indirect sessions are safe R1(S1,S2,S3) R2(S1) R3(S1,S2) R6(S1,S2)

  9. Conclusions • Advantages of SAE • Generalize CAE: select-all = CAE • Fine control of received subsets of updates • Perform multiple SAE sessions in parallel • Support multi-scope partial replication efficiently • Prerequisite of SAE • membership information of the replica set • Generic Anti-entropy Request • Anti-entropy type: selective or complete • Each entry: lower & upper bound timestamps

More Related