Vector clock List of (node, counter) pairs Eg.[x,2]y,3]vs.[x,3y:4][z,1] [x,1y,3]vs.[z,1ly,3 Use timestamp p E.g. D(x, 1: tl, y,1]: t2) Remove the oldest version when reach a threshold
Vector clock • List of (node, counter) pairs E.g. [x,2][y,3] vs. [x,3][y,4][z,1] [x,1][y,3] vs. [z,1][y,3] • Use timestamp E.g. D([x,1]:t1,[y,1]:t2) • Remove the oldest version when reach a thresthold
Vector clock write handled by sx D1(SX,1) hand/ed by Sx D2([Sx,2]) Return all the objects write at the leaves handled by sy handled by Sz D3(Sx, 2 1.(Sy, 1) D4(.21.(Sz, 1/ D34(SX,2[Sy,1][SZ,1]) reconciled and written by Single new version D5([SX, 3] [Sy, 1[Sz, 1])
Vector clock Return all the objects at the leaves D3,4([Sx,2],[Sy,1],[Sz,1]) Single new version
Excution operations Two strategies a generic load balancer based on load balance easy not have to link any code specific directory to the node Achieve lower latency
Excution operations • Two strategies – A generic load balancer based on load balance • Easy ,not have to link any code specific – Directory to the node • Achieve lower latency
Puto operation client coordinator P2 Object with vector clo PN-1
Put() operation client coordinator PN-1 P2 w-1 responses P1 Object with vector clock
Cluster Membership Gossip protocol State disseminated in o(logN)rounds Increase its heartbeat counter and send its list to another every t seconds Merge operations
Cluster Membership • Gossip protocol • State disseminated in O(logN) rounds • Increase its heartbeat counter and send its list to another every T seconds • Merge operations