Renamed *Instance to *Node for better readability and to avoid conflict with notion of Karaf instance.
Added cluster service and trivial store implementations.
diff --git a/core/api/src/main/java/org/onlab/onos/cluster/ClusterStore.java b/core/api/src/main/java/org/onlab/onos/cluster/ClusterStore.java
new file mode 100644
index 0000000..7d4b71f
--- /dev/null
+++ b/core/api/src/main/java/org/onlab/onos/cluster/ClusterStore.java
@@ -0,0 +1,40 @@
+package org.onlab.onos.cluster;
+
+import java.util.Set;
+
+/**
+ * Manages inventory of controller cluster nodes; not intended for direct use.
+ */
+public interface ClusterStore {
+
+ /**
+ * Returns the local controller instance.
+ *
+ * @return local controller instance
+ */
+ ControllerNode getLocalNode();
+
+ /**
+ * Returns the set of current cluster members.
+ *
+ * @return set of cluster members
+ */
+ Set<ControllerNode> getNodes();
+
+ /**
+ * Returns the specified controller instance.
+ *
+ * @param nodeId controller instance identifier
+ * @return controller instance
+ */
+ ControllerNode getNode(NodeId nodeId);
+
+ /**
+ * Returns the availability state of the specified controller instance.
+ *
+ * @param nodeId controller instance identifier
+ * @return availability state
+ */
+ ControllerNode.State getState(NodeId nodeId);
+
+}