Presentation is loading. Please wait.

Presentation is loading. Please wait.

Selective Anti-Entropy Weibin Zhao Henning Schulzrinne Internet Real-Time Laboratory Columbia University.

Similar presentations


Presentation on theme: "Selective Anti-Entropy Weibin Zhao Henning Schulzrinne Internet Real-Time Laboratory Columbia University."— Presentation transcript:

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

2 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 3 Approach Subsets of updates R x : all updates initially received by R x Θ(R x, {R x1, R x2, …, R xk }, R z ): SAE request Only specified subsets are solicited SAE types Select-one-direct: Θ(R x, {R z }, R z ) Select-one-indirect: Θ(R x, {R y }, R z ) Select-multiple: Θ(R x, {R y, R z }, R z ) Select-all: = CAE

4 4 Example: SAE vs. CAE R 2 = {a,b}, R 3 = {c,d} R 2 {a,b,c} R1R1 R 3 {a,c,d} R 1 {a,b,c} {a,b,c} {d} R 1 {a,b,c,d} R1R1 R 2 {a,b,c}R 3 {a,c,d} {a,b}{c,d} R 1 {a,b,c,d} CAE SAE Θ(R 1,{R 2 },R 2 )Θ(R 1,{R 3 },R 3 )

5 5 Parallel SAE Sessions All select-one-direct sessions In general, R x can run k SAE sessions s 1, s 2, …, s k in parallel if update subsets u 1, u 2, …, u k do not overlap, i.e., u 1  u 2  …  u k =  Example if u 1 = {R 2, R 4 }, u 2 = {R 3, R 5 }, then R 1 can run s 1 and s 2 in parallel

6 6 Multi-Scope Partial Replication State set divided into subsets: scopes Applications: directory services SLP directories & scopes UDDI registries & classifications R 1 (S 1,S 2,S 3 ) R 2 (S 1 )R 3 (S 1,S 2 )R 4 (S 2,S 3 ) R 6 (S 1,S 2 ) R 5 (S 3 ) R 7 (S 3 )

7 7 Summary Problem StateScopeID aS1S1 (R 6, t 1 ) bS2S2 (R 6, t 2 ) cS1S1 (R 6, t 3 ) Solution space Summary vector: replica, full replication Summary matrix: replica & scope, partial replication SAE + summary vector: replica, partial replication R 6 (S 1,S 2 ) R 2 (S 1 )R 3 (S 1,S 2 ) (1) (2) (3) a,c b? R 6 states (t 1 <t 2 <t 3 )

8 8 Safe SAE Sessions select-one-direct: Θ(R x, {R z }, R z ) Safe for all select-one-indirect: Θ(R x, {R y }, R z ) Safe if S(R x )  S(R y )  S(R z ) Safe: Θ(R 3, {R 1 }, R 6 ) S(R 3 )  S(R 1 ) = {S 1, S 2 } = S(R 6 ) Unsafe: Θ(R 3, {R 6 }, R 2 ) S(R 3 )  S(R 6 ) = {S 1, S 2 }  S(R 2 ) = {S 1 } select-multiple or select-all Safe if all select-one-indirect sessions are safe R 1 (S 1,S 2,S 3 ) R 2 (S 1 )R 3 (S 1,S 2 ) R 6 (S 1,S 2 )

9 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


Download ppt "Selective Anti-Entropy Weibin Zhao Henning Schulzrinne Internet Real-Time Laboratory Columbia University."

Similar presentations


Ads by Google