diff --git a/src/main/java/net/onrc/onos/util/IDBConnection.java b/src/main/java/net/onrc/onos/util/IDBConnection.java
new file mode 100644
index 0000000..63f0dfe
--- /dev/null
+++ b/src/main/java/net/onrc/onos/util/IDBConnection.java
@@ -0,0 +1,5 @@
+package net.onrc.onos.util;
+
+public interface IDBConnection {
+
+}
diff --git a/src/main/java/net/onrc/onos/util/IDBOperation.java b/src/main/java/net/onrc/onos/util/IDBOperation.java
new file mode 100644
index 0000000..bb072a5
--- /dev/null
+++ b/src/main/java/net/onrc/onos/util/IDBOperation.java
@@ -0,0 +1,36 @@
+package net.onrc.onos.util;
+
+import net.floodlightcontroller.core.INetMapTopologyObjects.IDeviceObject;
+import net.floodlightcontroller.core.INetMapTopologyObjects.IFlowEntry;
+import net.floodlightcontroller.core.INetMapTopologyObjects.IFlowPath;
+import net.floodlightcontroller.core.INetMapTopologyObjects.IPortObject;
+import net.floodlightcontroller.core.INetMapTopologyObjects.ISwitchObject;
+import net.floodlightcontroller.util.FlowEntryId;
+import net.floodlightcontroller.util.FlowId;
+
+public interface IDBOperation {	
+	public ISwitchObject searchSwitch(String dpid);
+	public ISwitchObject searchActiveSwitch(String dpid);
+	public Iterable<ISwitchObject> getActiveSwitches();
+	public Iterable<ISwitchObject> getAllSwitches();
+	public Iterable<ISwitchObject> getInactiveSwitches();
+	public IDeviceObject searchDevice(String macAddr);
+	public IDeviceObject newDevice();
+	public void removeDevice(IDeviceObject dev);
+	public IPortObject searchPort(String dpid, short number);
+	public Iterable<IDeviceObject> getDevices();
+	public IFlowPath searchFlowPath(FlowId flowId);
+	public IFlowPath newFlowPath();
+	public void removeFlowPath(IFlowPath flowPath);
+	public IFlowPath getFlowPathByFlowEntry(IFlowEntry flowEntry);
+	public Iterable<IFlowPath> getAllFlowPaths();
+	public IFlowEntry searchFlowEntry(FlowEntryId flowEntryId);
+	public IFlowEntry newFlowEntry();
+	public void removeFlowEntry(IFlowEntry flowEntry);
+	public Iterable<IFlowEntry> getAllFlowEntries();
+	public IPortObject newPort();
+	public ISwitchObject newSwitch();
+	void removePort(IPortObject port);
+	void removeSwitch(ISwitchObject sw);
+	Iterable<IFlowEntry> getAllSwitchNotUpdatedFlowEntries();
+}
