The SDN-MQTT for an interoperable smart home

. This paper presents the design of SDN-MQTT for a smart home. It is a system combining the SDN technology that solves many technological difficulties in traditional networks, and the MQTT protocol that is arguably the most widely used for resource constrained IoT devices. These two technologies enable heterogeneous IoT devices to be interoperable and interact without any problems. Our proposed work ensures two levels of interoperability.


Introduction
The Internet of Things (IoT) is an evolutionary technology that can solve several problems of science and engineering applications without humane intervention. Also, it's a vibrant technology able to build and develop huge smart systems to monitor and analyze various real-time IoT applications. The researchers [1] [2] have presented the IoT architecture from various perspectives. This architecture can be divided into several layers such as five, six layers, or more than that [1]. To ensure the interaction between these layers, guaranteeing the interoperability between these different heterogeneous components of the IoT stack is a serious challenge. The IoT interoperability can be viewed from different perspectives, Nora et al [3] [4] in their work presented the IoT interoperability in different views As shown in Fig.1: Device interoperability, Network interoperability, Syntactic interoperability, Semantic interoperability, and Platform interoperability.

•
Device interoperability: In the stack of IoT architecture, the infrastructure or sensing layer is composed of a variety of heterogeneous smart objects/things, which each device use different communication protocol and standard. Interoperability in this level is the ability to exchange information between these heterogeneous devices and these heterogeneous communication protocols; also, it is the capacity to integrate new devices into any IoT platform.

•
Network interoperability: The IoT network environment is characterized by its heterogeneous and dynamic nature. In order to ensure efficient exchange of messages between different IoT systems through different heterogeneous networks technologies such as ZigBee, WPAN, WiFi, WiMAX, 5G, and LTE, the interoperability in this level, should solve many problems such as addressing, routing, mobility and quality of service….
• Syntactic interoperability: Usually, this interoperability refers to the structure used encodings of information and the data formats exchanged between heterogeneous IoT systems.

•
Semantic interoperability: This interoperability can be represented as the capability of two or more systems to understand and interact with each other of the exchanged content meaningfully [5] [6]. The consideration of this interoperability level allows these systems to incorporate the external information received with other local information and handle them properly with respect to the semantics.

•
Platform interoperability: Refers to the ability of various platforms to interact and transmit knowledge efficiently, including through various information system architectures, territories, infrastructures, geographic regions, and culture. Due to the serious efforts of researchers, several solutions are developed to ensure interoperability, which enables wide IoT deployment. The SDN [7][8] (software define network) is one of these solutions to resolve the problem of heterogeneous networks used in IoT and to guarantee network interoperability. The SDN paradigm is a solution that allows flexible management and configuration of all heterogeneous equipment in a network and ensures high performance. It has been very successful with its solutions available for wired networks and wireless. Its main functionality is to decouple control and data planes. The control plane contains the SDN controller with network orchestration features; the majority of the computations are done there, it's the network brain. The data plane consists of the network devices e.g. routers/switches, which are responsible for forwarding the packets. Every packet they do not know how to act upon is forward to the controller. Another solution for ensuring interoperability is the MQTT (Message Queuing Telemetry Transport) to support the management of the heterogeneous data generated from different smart objects/things in the IoT perception layer. The MQTT is a publish/subscribe based messaging protocol that avoids direct connection between devices by relaying data through a central server called the broker. The broker is used to exchange messages as shown in Fig.2.
The development demands for daily life intelligence systems are becoming higher. The smart home prospect is seen as a promising sunrise sector, which presents various advantages [9] for human daily comfort. Our proposed system contributes to the development of the industry for managing the smart home. The proposed work is a combination of the two technologies already mentioned above the SDN technology and the lightweight MQTT publish/subscribe protocol. It's an integration of these two technologies to manage the smart house, on the one hand, SDN is used for handling the entire heterogeneous network used for connecting the different smart things, and on the other hand, the MQTT protocol is used to manage and to ensure the data generated to be exchanged flexibly between the different smart objects. Our contribution allows ensuring interoperability at two levels: the heterogeneous networks and the heterogeneous data.

Fig. 2. MQTT Publish/subscribe system
This paper is organized as follows: In section 2 we present some related work. In section 3 we describe the advantages of our proposed system, finally, we will draw certain conclusions with regard to our work.

Related work
The virtualization of home networks has been the subject of recent and important publications[10] [11]. Ke Xu et al [12] are presented the SDSH (Software Defined Smart Home Platform) as a platform to manage and virtualize a smart home, which is composed of three layers: smart hardware layer, controller layer, and external service layer. The controller SDN is installed in the second layer, which has the main goal to ensure compatibility with various smart devices in the first layer, moreover provides open APIs to connect with the third layer. Recently, several researchers [13] [14] proposed several kinds of research and solutions to handle smart home applying the core functionality of SDN and MQTT [15]. Moreover, [16] in their work to implement a system for IoT smart home, they integrate the protocol MQTT that is used to allow flexible communication between the resource-constrained devices( ZiWi nodes) in the proposed system. The communication between these ZiWi nodes past exclusively wireless via WiFi and ZigBee transceivers. In our work, we combine SDN and MQTT to implement a flexible management system of IoT smart home for handling network and data levels. The next section describes our system.

Proposed System
In recent years, the development of the various systems for IoT applications smart home is increasingly on improvement. Our contribution has the same goal; it is the SDN-MQTT for an interoperable smart home. Which consists of three layers as shown in fig.3: the smart infrastructure layer (IoT Devices), the network control layer (IoT Network), and the data management layer (IoT Data). The smart infrastructure layer contains smart objects/things; such as cameras, sensors, door locks, and energy management.... this layer is connected to the two other layers. The first one is the network control layer that handles the whole of the heterogeneous network used for interconnection between smart devices. The second is the data management layer, which his main goal is ensuring flexible communication, interaction, and an easily exchanging data between the smart things despite the heterogeneous technologies used for connection (Wifi, ZigBee, Bluetooth....). The data management layer uses a master MQTT broker that avoids any direct connection between smart devices; all interaction or exchange data pass via this master broker. Which makes the smart nodes more flexible.
Moreover, the control layer use SDN technology that is one of the technologies that has contributed most to the progress for handling the heterogeneous network used at home automation. The network control layer contains an SDN controller that has a global view of the entire network that allows the controller to manage all network traffic. Its main function is identical to that of a router. The network control layer is designed to guarantee an interoperable network, that allows adding any device without any problems, without touching or reconfiguring the existing network infrastructure. While the data management layer avoids all direct communication between smart things, any exchange of data past through the central MQTT broker that allows flexible management.
Consequently, our contribution allows managing the smart home automatically and intelligently and ensuring two levels of interoperability: network and data. As a result, that guarantees simple network management, flexible data exchange, and an interoperable smart home.

Conclusion
The IoT smart home should deal with several problems of interoperability such as the heterogeneous network used for connection, also the exchanging of data between the heterogeneous devices. To solve these problems, we propose the SDN-MQTT for an interoperable smart home. Which uses the network control layer with the SDN controller to handle the entire network and the data management layer with the MQTT master broker that allows any connection, interaction, or exchange data between devices to pass through this master broker. The combination of these two technologies; SDN paradigm and lightweight MQTT protocol makes it possible to manage and configure a heterogeneous network easily and allows all devices of the smart infrastructure to communicate and interact flexibly. Our proposed system is still in the simulation process where we compare it with works that are already suggested and presented in the literature.