QoS-Aware Adaptive Flow-rule Aggregation in Software-Defined IoT Niloy Saha, Sudip Misra, and Samaresh Bera Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur, 721302, India Email: niloysaha@ieee.org, s.bera.1989@ieee.org, smisra@sit.iitkgp.ernet.in Abstract—In this paper, we propose a QoS-aware adaptive flow-rule aggregation scheme in software-defined IoT (SDIoT) network with an aim to address flow-table overflow problem in SDN switches. The proposed scheme uses a key-based mechanism that is capable of fast aggregation and provides sufficient reduction in the number of flow rules, while having minimal impact on the QoS of IoT traffic. Further, we observe that it is necessary to adequately select a QoS path from multiple candidate paths, while considering the flow-table utilization at the switches. Accordingly, we present the Best-fit heuristic which takes into account the number of flow-rule insertions along with the bottleneck rule-capacity switch on a path, in order to minimize the total number of flow-rules in the network. Experimental results show that the proposed scheme is capable of reducing the average delay and packet drop by 35% and 12%, respectively, and improving the average throughput by 20% compared to the existing delay-based flow-aggregation scheme, while having comparable performance in terms of rule- aggregation. Index Terms—Software-Defined Networking, Quality of Ser- vice, Internet of Things, OpenFlow, Rule-compression I. I NTRODUCTION The evolution of Internet of Things (IoT) envisions a global interconnection of billions of smart objects such as laptops and smartphones, home appliances, and wireless sensor devices. With the number of smart networked devices projected to reach 27 billion by 2021 [1], sophisticated data and control networks are required to handle the massive data onslaught from devices that are extremely diverse in nature. Further, IoT systems are often geographically distributed and operate across a wide range of communication technologies. This suggests that IoT networks should be adaptable and flexible to changing operating conditions. The software-defined networking (SDN) paradigm [2] pre- cisely allows this flexibility by introducing programmability into the network. Recent advances in software-defined IoT (SDIoT) [3], [4] have shown the advantages of SDN in an IoT environment — in terms of simplification of network management, enabling diversified QoS for heterogeneous services, and resource utilization. In SDN, the control logic is separated from data-plane for- warding and is relocated to a logically centralized SDN con- troller. This allows fine-grained control of individual flows using rule-based forwarding, based on optimal decisions by the centralized controller. Such fine-grained control is especially useful in satisfying the diverse QoS requirements of IoT — in terms of delay, jitter, packet-loss, and throughput Figure 1: Example depicting flow-table overflow due to exact-match rules. Even though flows f 1 ,f 2 and f 3 ,f n are forwarded out the same ports 1 and n, respectively, separate rules are placed for forwarding them due to exact-matching. [5]. Rule-based forwarding in the data-plane is facilitated by OpenFlow, the de-facto standard in SDN [6]. The control logic and decisions of the centralized controller are translated by OpenFlow into simple flow-rules to be installed at the flow-table of switches. The flow-rules are in the form of match-action pairs, with each rule capable of matching on multiple fields such as ingress port, vlan id, ethernet, and tcp header fields. If a new flow matches any of the flow-rules in the flow-table, the corresponding action (such as output, modify, or drop) is applied. For every new flow that fails to find a match in the flow-table (table-miss), a packet-in message containing metadata about the flow is sent to the controller. After processing this message, an appropriate rule is placed in the flow-table at the switch to handle the new flow. The ability of SDIoT to satisfy diverse QoS requirements arises from fine-grained control over individual flows, which allows the controller to take optimized decisions. However, fine-grained control using such flow-rules requires exact matching on multiple header fields, which, in turn, leads to a combinatorial increase in the number of flow-rules with large number of flows. On the other hand, the flow-table in SDN switches can accommodate only upto a few thousand entries, due to limitations of expense and power [7]. In an IoT scenario, where billions are devices are expected to be connected, this may lead flow-table overflow problem, as shown in Figure 1. Recent studies [7]–[11] explored the flow-table overflow problem from different perspectives. Some of them [7], [8] focused on data-center networks (DCNs) in which proactively