water
Class Paxos

java.lang.Object
  extended by water.Paxos

public abstract class Paxos
extends java.lang.Object

(Not The) Paxos Used to define Cloud membership. See: http://en.wikipedia.org/wiki/Paxos_%28computer_science%29 Detects and builds a "cloud" - a cooperating group of nodes, with mutual knowledge of each other. Basically tracks all the nodes that *this* node has ever heard of, and when *all* of the other nodes have all heard of each other, declares the situation as "commonKnowledge", and a Cloud. This algorithm differs from Paxos in a number of obvious ways: - it is not robust against failing nodes - it requires true global consensus (a Quorum of All) - it is vastly simpler than Paxos


Field Summary
static boolean _cloudLocked
           
static boolean _commonKnowledge
           
static NonBlockingHashMap<H2ONode.H2Okey,H2ONode> PROPOSED
           
 
Constructor Summary
Paxos()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_commonKnowledge

public static volatile boolean _commonKnowledge

_cloudLocked

public static volatile boolean _cloudLocked

PROPOSED

public static NonBlockingHashMap<H2ONode.H2Okey,H2ONode> PROPOSED
Constructor Detail

Paxos

public Paxos()