diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/FlowRuleProgrammableServerImpl.java b/drivers/server/src/main/java/org/onosproject/drivers/server/FlowRuleProgrammableServerImpl.java
index dbfe36b..1019c55 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/FlowRuleProgrammableServerImpl.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/FlowRuleProgrammableServerImpl.java
@@ -52,8 +52,9 @@
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.drivers.server.Constants.JSON;
 import static org.onosproject.drivers.server.Constants.MSG_DEVICE_ID_NULL;
-import static org.onosproject.drivers.server.Constants.PARAM_ID;
 import static org.onosproject.drivers.server.Constants.PARAM_CPUS;
+import static org.onosproject.drivers.server.Constants.PARAM_ID;
+import static org.onosproject.drivers.server.Constants.PARAM_NAME;
 import static org.onosproject.drivers.server.Constants.PARAM_NICS;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_RX_FILTER;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_RX_FILTER_FD;
@@ -362,8 +363,8 @@
 
             // Each rule has an ID and a content
             ObjectNode ruleNode = mapper.createObjectNode();
-            ruleNode.put("ruleId", nicRule.id().value());
-            ruleNode.put("ruleContent", nicRule.ruleBody());
+            ruleNode.put(PARAM_ID, nicRule.id().value());
+            ruleNode.put(PARAM_RULE_CONTENT, nicRule.ruleBody());
 
             ruleArrayNode.add(ruleNode);
         }
@@ -374,7 +375,7 @@
         }
 
         ObjectNode nicObjNode = mapper.createObjectNode();
-        nicObjNode.put("nicName", nic);
+        nicObjNode.put(PARAM_NAME, nic);
 
         ArrayNode cpusArrayNode = nicObjNode.putArray(PARAM_CPUS);
 
@@ -384,7 +385,7 @@
             ArrayNode ruleArrayNode = entry.getValue();
 
             ObjectNode cpuObjNode = mapper.createObjectNode();
-            cpuObjNode.put("cpuId", coreIndex);
+            cpuObjNode.put(PARAM_ID, coreIndex);
             cpuObjNode.putArray(PARAM_RULES).addAll(ruleArrayNode);
 
             cpusArrayNode.add(cpuObjNode);
diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerBasicSystemOperations.java b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerBasicSystemOperations.java
index eb4536f..124de16 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerBasicSystemOperations.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerBasicSystemOperations.java
@@ -37,8 +37,8 @@
 import static java.util.concurrent.CompletableFuture.completedFuture;
 import static org.onosproject.drivers.server.Constants.JSON;
 import static org.onosproject.drivers.server.Constants.MSG_HANDLER_NULL;
-import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.MSG_DEVICE_ID_NULL;
+import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.PARAM_TIME;
 import static org.onosproject.drivers.server.Constants.URL_SRV_TIME_DISCOVERY;
 import static org.slf4j.LoggerFactory.getLogger;
diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDevicesDiscovery.java b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDevicesDiscovery.java
index 346c8ca..ae3ed65 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDevicesDiscovery.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDevicesDiscovery.java
@@ -97,24 +97,9 @@
 import static org.onosproject.drivers.server.Constants.MSG_NIC_NAME_NULL;
 import static org.onosproject.drivers.server.Constants.MSG_NIC_PORT_NUMBER_NEGATIVE;
 import static org.onosproject.drivers.server.Constants.MSG_STATS_TIMING_DEPLOY_INCONSISTENT;
-import static org.onosproject.drivers.server.Constants.PARAM_ID;
 import static org.onosproject.drivers.server.Constants.PARAM_CAPACITY;
 import static org.onosproject.drivers.server.Constants.PARAM_CHASSIS_ID;
 import static org.onosproject.drivers.server.Constants.PARAM_CPUS;
-import static org.onosproject.drivers.server.Constants.PARAM_NICS;
-import static org.onosproject.drivers.server.Constants.PARAM_NAME;
-import static org.onosproject.drivers.server.Constants.PARAM_MEMORY;
-import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_HIERARCHY;
-import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_MODULES;
-import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_STATS_FREE;
-import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_STATS_TOTAL;
-import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_STATS_USED;
-import static org.onosproject.drivers.server.Constants.PARAM_MANUFACTURER;
-import static org.onosproject.drivers.server.Constants.PARAM_HW_VENDOR;
-import static org.onosproject.drivers.server.Constants.PARAM_SW_VENDOR;
-import static org.onosproject.drivers.server.Constants.PARAM_SERIAL;
-import static org.onosproject.drivers.server.Constants.PARAM_TIMING_STATS;
-import static org.onosproject.drivers.server.Constants.PARAM_TIMING_STATS_AUTOSCALE;
 import static org.onosproject.drivers.server.Constants.PARAM_CPU_CACHE_LEVEL;
 import static org.onosproject.drivers.server.Constants.PARAM_CPU_CACHE_LEVELS;
 import static org.onosproject.drivers.server.Constants.PARAM_CPU_CACHE_LINE_LEN;
@@ -137,8 +122,19 @@
 import static org.onosproject.drivers.server.Constants.PARAM_CPU_STATUS;
 import static org.onosproject.drivers.server.Constants.PARAM_CPU_THROUGHPUT;
 import static org.onosproject.drivers.server.Constants.PARAM_CPU_VENDOR;
+import static org.onosproject.drivers.server.Constants.PARAM_HW_VENDOR;
+import static org.onosproject.drivers.server.Constants.PARAM_ID;
+import static org.onosproject.drivers.server.Constants.PARAM_MANUFACTURER;
+import static org.onosproject.drivers.server.Constants.PARAM_MEMORY;
+import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_HIERARCHY;
+import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_MODULES;
+import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_STATS_FREE;
+import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_STATS_TOTAL;
+import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_STATS_USED;
 import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_WIDTH_DATA;
 import static org.onosproject.drivers.server.Constants.PARAM_MEMORY_WIDTH_TOTAL;
+import static org.onosproject.drivers.server.Constants.PARAM_NAME;
+import static org.onosproject.drivers.server.Constants.PARAM_NICS;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_HW_ADDR;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_PORT_TYPE;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_RX_FILTER;
@@ -156,18 +152,22 @@
 import static org.onosproject.drivers.server.Constants.PARAM_MON_MAX;
 import static org.onosproject.drivers.server.Constants.PARAM_MON_MIN;
 import static org.onosproject.drivers.server.Constants.PARAM_MON_UNIT;
+import static org.onosproject.drivers.server.Constants.PARAM_SERIAL;
 import static org.onosproject.drivers.server.Constants.PARAM_SPEED;
 import static org.onosproject.drivers.server.Constants.PARAM_SPEED_CONF;
 import static org.onosproject.drivers.server.Constants.PARAM_STATUS;
-import static org.onosproject.drivers.server.Constants.PARAM_TIMING_PARSE;
-import static org.onosproject.drivers.server.Constants.PARAM_TIMING_LAUNCH;
-import static org.onosproject.drivers.server.Constants.PARAM_TIMING_DEPLOY;
+import static org.onosproject.drivers.server.Constants.PARAM_SW_VENDOR;
 import static org.onosproject.drivers.server.Constants.PARAM_TIMING_AUTOSCALE;
+import static org.onosproject.drivers.server.Constants.PARAM_TIMING_DEPLOY;
+import static org.onosproject.drivers.server.Constants.PARAM_TIMING_LAUNCH;
+import static org.onosproject.drivers.server.Constants.PARAM_TIMING_PARSE;
+import static org.onosproject.drivers.server.Constants.PARAM_TIMING_STATS;
+import static org.onosproject.drivers.server.Constants.PARAM_TIMING_STATS_AUTOSCALE;
 import static org.onosproject.drivers.server.Constants.PARAM_TYPE;
 import static org.onosproject.drivers.server.Constants.SLASH;
+import static org.onosproject.drivers.server.Constants.URL_SERVICE_CHAINS_STATS;
 import static org.onosproject.drivers.server.Constants.URL_SRV_GLOBAL_STATS;
 import static org.onosproject.drivers.server.Constants.URL_SRV_RESOURCE_DISCOVERY;
-import static org.onosproject.drivers.server.Constants.URL_SERVICE_CHAINS_STATS;
 import static org.slf4j.LoggerFactory.getLogger;
 
 /**
@@ -891,6 +891,9 @@
         Collection<CpuStatistics> cpuStats = Lists.newArrayList();
 
         JsonNode cpuNode = objNode.path(PARAM_CPUS);
+        if (cpuNode.isMissingNode()) {
+            return cpuStats;
+        }
 
         for (JsonNode cn : cpuNode) {
             ObjectNode cpuObjNode = (ObjectNode) cn;
@@ -972,6 +975,9 @@
         }
 
         JsonNode memoryNode = objNode.path(PARAM_MEMORY);
+        if (memoryNode.isMissingNode()) {
+            return getZeroMemoryStatistics(deviceId);
+        }
         ObjectNode memoryObjNode = (ObjectNode) memoryNode;
 
         // Fetch memory statistics
@@ -1016,6 +1022,9 @@
         Collection<PortStatistics> nicStats = Lists.newArrayList();
 
         JsonNode nicNode = objNode.path(PARAM_NICS);
+        if (nicNode.isMissingNode()) {
+            return nicStats;
+        }
 
         for (JsonNode nn : nicNode) {
             ObjectNode nicObjNode = (ObjectNode) nn;
@@ -1070,18 +1079,17 @@
             return timinsgStats;
         }
 
-        // If no timing statistics are present, then send zeros
-        if (objNode.get(PARAM_TIMING_STATS) == null) {
+        // Get timing statistics
+        JsonNode timingNode = objNode.path(PARAM_TIMING_STATS);
+        if (timingNode.isMissingNode()) {
+            // If no timing statistics are present, then send zeros
             return getZeroTimingStatistics();
         }
+        ObjectNode timingObjNode = (ObjectNode) timingNode;
 
         DefaultTimingStatistics.Builder timingBuilder =
             DefaultTimingStatistics.builder();
 
-        // Get timing statistics
-        JsonNode timingNode = objNode.path(PARAM_TIMING_STATS);
-        ObjectNode timingObjNode = (ObjectNode) timingNode;
-
         // The unit of timing statistics
         String timingStatsUnit = get(timingNode, PARAM_MON_UNIT);
         if (!Strings.isNullOrEmpty(timingStatsUnit)) {
@@ -1127,6 +1135,23 @@
     }
 
     /**
+     * Return a memory statistics object with zero counters.
+     * This is useful when constructing MonitoringStatistics
+     * objects that do not require memory statistics.
+     *
+     * @param deviceId a device ID
+     * @return MemoryStatistics object
+     */
+    private MemoryStatistics getZeroMemoryStatistics(DeviceId deviceId) {
+        return DefaultMemoryStatistics.builder()
+                    .setDeviceId(deviceId)
+                    .setMemoryUsed(0)
+                    .setMemoryFree(0)
+                    .setMemoryTotal(0)
+                    .build();
+    }
+
+    /**
      * Return a timing statistics object with zero counters.
      * This is useful when constructing MonitoringStatistics
      * objects that do not require timers.
diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerHandshaker.java b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerHandshaker.java
index b141533..f57e589 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerHandshaker.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerHandshaker.java
@@ -40,8 +40,8 @@
 import static org.onosproject.drivers.server.Constants.JSON;
 import static org.onosproject.drivers.server.Constants.PARAM_CONNECTION_STATUS;
 import static org.onosproject.drivers.server.Constants.MSG_HANDLER_NULL;
-import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.MSG_DEVICE_ID_NULL;
+import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.URL_SRV_PROBE_CONNECT;
 import static org.onosproject.drivers.server.Constants.URL_SRV_PROBE_DISCONNECT;
 import static org.slf4j.LoggerFactory.getLogger;
diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerInterfaceConfig.java b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerInterfaceConfig.java
index b7fd93f..820a657 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerInterfaceConfig.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerInterfaceConfig.java
@@ -38,8 +38,8 @@
 import java.util.TreeSet;
 
 import static com.google.common.base.Preconditions.checkNotNull;
-import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.MSG_DEVICE_ID_NULL;
+import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.net.device.DeviceInterfaceDescription.Mode;
 import static org.slf4j.LoggerFactory.getLogger;
 
diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerQueueConfig.java b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerQueueConfig.java
index f50a169..f040a6e 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerQueueConfig.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerQueueConfig.java
@@ -48,8 +48,8 @@
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_MAX_RATE;
 import static org.onosproject.drivers.server.Constants.PARAM_QUEUES;
 import static org.onosproject.drivers.server.Constants.PARAM_TYPE;
-import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.MSG_DEVICE_ID_NULL;
+import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.URL_NIC_QUEUE_ADMIN;
 import static org.slf4j.LoggerFactory.getLogger;
 
diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerTableStatisticsDiscovery.java b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerTableStatisticsDiscovery.java
index f106d83..9aa65d9 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerTableStatisticsDiscovery.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerTableStatisticsDiscovery.java
@@ -41,18 +41,18 @@
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.drivers.server.Constants.JSON;
-import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.MSG_DEVICE_ID_NULL;
-import static org.onosproject.drivers.server.Constants.MSG_NIC_TABLE_SIZE_NEGATIVE;
-import static org.onosproject.drivers.server.Constants.MSG_NIC_TABLE_INDEX_NEGATIVE;
+import static org.onosproject.drivers.server.Constants.MSG_DEVICE_NULL;
 import static org.onosproject.drivers.server.Constants.MSG_NIC_TABLE_COUNTER_NEGATIVE;
+import static org.onosproject.drivers.server.Constants.MSG_NIC_TABLE_INDEX_NEGATIVE;
+import static org.onosproject.drivers.server.Constants.MSG_NIC_TABLE_SIZE_NEGATIVE;
 import static org.onosproject.drivers.server.Constants.PARAM_ID;
 import static org.onosproject.drivers.server.Constants.PARAM_NICS;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_TABLE;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_TABLE_ACTIVE_ENTRIES;
+import static org.onosproject.drivers.server.Constants.PARAM_NIC_TABLE_MAX_SIZE;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_TABLE_PKTS_LOOKED_UP;
 import static org.onosproject.drivers.server.Constants.PARAM_NIC_TABLE_PKTS_MATCHED;
-import static org.onosproject.drivers.server.Constants.PARAM_NIC_TABLE_MAX_SIZE;
 import static org.onosproject.drivers.server.Constants.URL_RULE_TABLE_STATS;
 import static org.slf4j.LoggerFactory.getLogger;
 
diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/devices/nic/DefaultNicFlowRule.java b/drivers/server/src/main/java/org/onosproject/drivers/server/devices/nic/DefaultNicFlowRule.java
index 0f2b2b9..b056916 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/devices/nic/DefaultNicFlowRule.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/devices/nic/DefaultNicFlowRule.java
@@ -170,7 +170,7 @@
         }
 
         // This action provides basic rule match counters
-        // this.actions.add(new NicRuleAction(NicRuleAction.Action.COUNT));
+        this.actions.add(new NicRuleAction(NicRuleAction.Action.COUNT));
     }
 
     @Override
