# Evolution towards Smart and Software-Defined Internet of Things
## 4 Smart Software-Defined IoT
### Software-Defined Network  
The traditional architecture for IoT is struggling to cope with the requirements of the expanding technology. Conventional network structures are specialized in their functions. Their roles are pre-defined, and they are hard-coded for the job they are intended for. Due to resource constraints, it is not feasible to specify and feed multiple rules and complex roles for various dedicated tasks pre-hand [58]. This makes them less adaptive and devoid of the flexibility desired to shoulder the upcoming demands of IoT.  
Software-Defined Networking brings the kind of control, flexibility, and adaptability that promises a stable IoT structure. Through the separation of the control plane from the data plane, SDN enables it to achieve its targets through traditional infrastructure. This approach is highly attractive as it is cumbersome, and in some situations not even feasible, to replace the entire structure for implementing new technologies. When the control plane operates independently, it offers a high degree of flexibility and eases to configure changes to the system and maintain adaptability and cater expansion.  
[PERSON] et al. [59] proposed Multinetwork Information Architecture (MINA) which is a layered SDN controller approach towards IoT that addresses the problem of heterogeneity of the system. It increases interoperability by enabling multi networking in Software-Defined Networking. MINA has a multilayer architecture, where the data collection component collects Network and Device information from IoT multi-network and stores it into databases used by layer components on the left. Layers provide abstraction as it hides the details of network devices which enables tasks completion flexibly.  
The task-resource mapping layer decides which device and application should be used to complete the task. Lower level flow and network layers decide which networks should be used and how the application flows should be routed across the network. The applications of MINA extend to smart homes which are a cluster of heterogeneous devices and networks. MINA makes the system flexible and an efficient manager of tasks, flows, networks, and resources. The main disadvantage is that security and privacy issues are not explicitly addressed.  
[PERSON] et al. [60] proposed a software-defined system (SDsys) as a promising solution to mitigate the challenges of the traditional IoT and especially the data security. SDIoT uses SDN to abstract all the controls and management operations from the underlying devices. A complete package is included in SDsys covering software-defined network (SDN), security (SDsec), and storage (SDstore). The physical layer has a sensor cluster that contains all assets and devices as well as a database cluster that contains information about each sensor and also stores raw data from each sensor.  
Middleware contains IoT controllers, SDN-C, SDStore-C, and SDSec-C. Westbound APIs are used to communicate with other controllers to scale. The Data-as-a-Service (DaaS) layer contains user applications that facilitate the access and interaction with stored data by the end-users using the Northbound APIs. A disadvantage is the energy-efficient scheduling and Quality-of-Service(QoS) per-flow features are not catered for in this solution.