A Deep Learning method for effective channel allotment for SDN based IOT

Due to advances in the field of internet of things (IoT), the transmission speed become very important and need to be discussed. Doing proper assignment of appropriate channels to the generated traffic in SDN based IoT can affect transmission speed enormously. Software Defined Networking has been evolved as a supporting technology to improve the performance of IoT networks and to increase transmission quality. Different machine learning algorithm can be used for prediction of network traffic and allocation of the channel is done for better assignment. Hence, in this paper CNNs based network traffic prediction and allocation of channel technique is proposed. This technique significantly improves the network performance.


Introduction
Now a day, Internet of things has arisen as a worldwide infrastructure to interface different heterogeneous devices by wired/ wireless communication methods. IOT uses layered architecture of 3 layers; Application Layer handles users demands (Application/Services),Network Layer handles transmission of data, Perception layer consists of sensing devices and physical Objects. [1].Software defined networking is new technology used in IOT to handle heterogeneous structure and resources along with secured services to IoT users. SDN technologies uses control plane and data plane where these two planes are physically separated [2]. The main idea behind SDN is to provide a separation between forwarding functions of hardware and management function in software (control Plane) [3]. Due to this new concept of SDN it promises to have flexible network required by the IoT users [4]. In order to make them more flexible and reliable to meet the need for the hour, SDN has opened new doors for the advancement of the control logic of networks. By creating SDN controller software new control logic is build and test easily in SDN also it is separated hardware from software [2]. Fig.1 shown Switches and SDN Controller.

Figure 1. SDN Controller and Switches
In SDN enabled IoT, the devices which are heterogeneous in nature as shown in fig.2 it sense and collect data in the sensing plane, and disburse the data to the gateway [5]. SDN enabled IoT is evolving as a scalable network architecture, which is capable enough to overcome the limitations of IP networks for transmission of data [6,7]. Indeed, SDN-based networks not only use IP destination address but also make use of several other components such as mac addressing, Network and Transport header of packets [8,9].SDN technologies uses control plane and data plane where these two are physically separated. The forwarding devices such as routers and switches only have the data plane and the central controller have the control plane. In SDN, the forwarding devices are considered as dummy devices that follow the transmission instructions dictated by the controller. With the SDN controller, the connecting devices do not require to exchange their respective channel states [10,11] Data Plane Data Plane Data Plane assignment procedure is carried out by the central controller. SDN is emerging as a promising technology which is inexpensive to provide the scalability and security needed for IoT based services [12]. In this paper, we used SDN enabled IoT, which is expected to route the network traffic in a smart manner by using under-utilized network resources to provide QoS to IoT users. However, the massive intensification of IoT based devices and IoT data traffic are forecasted to dwell huge strain on SDN enabled IoT environment [13]. In this paper, our emphasis is on assigning appropriate channels to SDN enabled Internet of Things (IoT) to avoid network congestion and to enhance transmission speed. Due to frequent changes in network traffic over Internet of Things, the assigned channels are required to be changed frequently to accommodate the upcoming network traffic dynamically [14]. This dynamic accommodation is a critical issue for the speedy allocation of the channels to dynamic traffic over IoT. In order to provide solution to this problem, we have attempted to propose machine learning based approaches which can efficiently predict the traffic load and assign the channels dynamically.

Deep Learning for Networking
Deep learning is an ML branch focused on a series of algorithms that create computational models to reflect abstractions of high-level data. In the sense that brains have a deep architecture [15], deep learning architectures are bio-inspired, and computers can imitate those deep architectures. To obtain an output y, the weighted sum of several inputs is fed into an activation function σ (•) with bias, usually a sigmoid function. By connecting many neuron elements to a layered architecture, a NN is then created. Perceptron consists of one input and one output layer, is the simplest NN [16]. Perceptron generate a value that is as close as possible to the expected one, a certain loss function, such as square error or cross entropy, must be created. The developed architecture is called a multi-layer perceptron that does not differ significantly from the current deep NNs (DNNs) or multi-layered hidden NNs that have achieved performance in computer vision, automatic speech recognition, and natural language processing. A simple DL model is a completely connected NN forward feed, where each neuron is connected to adjacent layers and in the same layer there is no connection. As an effective method for training such networks with gradient descent for optimization, the back propagation algorithm has been suggested.
Another evolving DNN architecture built from a completely linked feed forward network is Convolutional NN (CNN).Depending on the specifications of different cases; CNN explores the concept of designing complex DNN architectures. As shown in Fig.3, CNN's basic idea is to incorporate convolutional and pooling layers before feeding into a completely linked network. Each neuron in the convolutional layer only connects to sections of neurons in the previous adjacent layer. There are several features maps of these neurons that are arranged in a matrix form, and the neurons in each map share the same weights. In the pooling layer, the neurons are clustered to calculate the mean value (average pool) in the feature maps [17,18].

Related Work
There are many approaches proposed by the researchers and academicians for assigning the channel and for predicting the traffic in IoT environment. H. Skalli et al presented, non-overlapping technique for channel assignment s, and it was demonstrated the spectrum utilization in channel assignment. This technique claimed for improving the bandwidth available to the network users by reducing congestion over the link [19]. The work proposed by authors in [20] POCA represented as a proficient method to attain better performance over non-overlapping based channel assignment methods. In order to find solution for dynamic network topology, Anti-Coordination POCA termed as ACPOCA was proposed by Tang et al. [21]. The authors claimed that ACPOCA converge in a faster manner because of the local statistics available in the game.
The recent studies presented in [22,23,24] prove that using deep neural networks (DNNs) based approaches improved the convergence speed. N. Kato et al [24] used a supervised DNN model and the preliminary results reported better performance over a routing strategy OSPF (Open Shortest Path First) with respect to high throughput, and lesser delay. Tang et al. [25] had proposed real-time DNN based network traffic control approach with uniquely categorized inputs and outputs for representing the WMN (Wireless Mesh Network) based structure. The outcomes demonstrated significantly lesser packet loss rate, lower average delay as compared to existing routing approaches.
The work presented in [26] elaborated deep learning based technique for computing the routing paths. The proposed work improved the network traffic control. This work also used supervised learning paradigm. An application aware traffic control model was presented by G. Li et al in which network conditions and traffic behaviors were investigated [27].In control plane of SDN packet inspection scheme was introduced. A mechanism for classification of packets was also designed. Besides this, mathematical models were established for analyzing the network latency and network throughput. Simulation results had shown improvement in network throughput and latency in end-to-end communications.
K. Kogan et al had presented a classifier design for commercial systems for addressing the network traffic issues in SDN and OpenFlow [28]. They identified methods and provided research directions for efficient design to recognize the packets from network traffic and to channelize them appropriately. D. Adami et al deals with the architectural design of control application for data flows of different service oriented classes. The proposed control application made routing decisions better for transmission of traffic on OpenFlow networks [29]. Moreover, a packet inspection scheme was integrated to detect VoIP based traffic. Lastly, a functional validation was performed to achieve better utilization of networking resources to improve source-to-destination service performance.
However, many research endeavors have been made the researchers in the past to control the traffic and to allocate the suitable channels, but still there is scope for exploring better techniques which can accommodate huge traffic in dynamic environment of IoT and can provide fast and dynamic solutions to allocate network resources appropriately. Hence, the objective of this work is propose a machine learning based solution for assignment of channels to network traffic over SDN enabled IoT. The traditional algorithms consider channel allocation based on the current traffic loads. However, Internet of Things may have huge data traffic and the traffic load suddenly changes at any point of time. The conventional algorithms can channelize the IoT traffic to the channels inappropriately. As the channels predicted by them in a last time with heavy traffic load could be free now and the idle channels predicted by them in a previous time slot are extremely loaded now. This inappropriate prediction based on static algorithms may lead either to the wastage of channel capacity or traffic congestion over the links. Therefore, the static algorithms such as POCA (partial overlapping channel assignment) are not appropriate for SDN enabled IoT environment.

Convolution layers
Pooling layers Fully Output

Connected
This paper is organized into 5 sections. The introduction section provides detail on the background study, second section on existing work. The third section is elaborating the proposed methodology. The fourth section provides discussion on the results. The fifth section is summarizing the work offered in this paper.

Methodology
In proposed methodology, first of all, SDN enabled IoT is deployed as a heterogeneous infrastructure that comprises different kinds of connecting devices. The smart routers are deployed in the considered area on random basis, and each router provides services to the IoT devices present in the area of its dominion. Each router gathers data from the connecting devices, and then sends data to the doorway with multiple hop based transmission. The SDN controller has been deployed in the network to manage the packets dispatching process, deep neural networking based auto-learning process, channel allocation and related network complications.

Deep learning-based channel assignment
We are proposing a convolutional deep learning routing approach that allows selecting the paths dynamically for forwarding the data. The controller first exploits the traditional routing protocols to compute numerous paths for every source to destination (SD) duo, and then stores these routes. The central controller can select one route for every SD duo to establish a route combination for forwarding the packets. Then, the controller uses Convolutional deep neural networking model for each route combination to ascertain whether the route combination can lead to network congestion or the traffic will move smoothly.

Convolutional neural networks for SDN controller
The deep neural networks are trained with the records obtained from SDN enabled IoT environment using traditional networking protocols for routing. The proposed Convolutional deep neural network is made of convolutional layers and fully connected layers. The neural networks will be updated periodically in the controller. Therefore, each router registers the patterns of network traffic and shares the information with the central controller. The information is consumed by the controller for determining the traffic patterns of switches and for providing input to the CNNs for choosing the path combinations. The controller can also utilize the feedback for constructing the new training data, and to update the CNNs periodically Therefore, each router registers the patterns of network traffic and shares the information with the central controller. The information is consumed by the controller for determining the traffic patterns of switches and for providing input to the CNNs for choosing the path combinations. The controller can also utilize the feedback for constructing the new training data, and to update the CNNs periodically. Find best route along with forwarding direction to the router 3) Collect traffic patterns P, latency L form each router 4) Find out congestion on selected path or not and accordingly create training set.

5)
End For for each updated interval 'Ut' do 3) Conduct the propagation process of CNNs by inputting the SD combinations to CNNs, and selecting the paths combination based on CNN learning, then instructing the forwarding rules on respective routers.

4)
Retrieving the patterns of traffic and the latency values from the routers.

5)
Forecasting again if the selected route is congested or smooth, construct the training dataset accordingly; 6) end for 7) Retraining the neural networks with the training data and updating the parameters of CNNs. 8) end for

CNN for SDN routers
The process in the SDN routers is very simple as shown in Algorithm 2 as compare to the process of SDN Controller in SDN enabled IoT. Each router forwards the data packets as per the rules dictated by the controller, and record the pattern of traffic. During the packet forwarding procedure, if the router is not able to locate the matched link for a packet due to its unavailability, then the router generates a path request message towards the controller. First of all, the path update request message is forwarded by the routers to the central controller and it indicates congestion over the channel. Once the controller gets the path update message from any router, it recomputed all the routes and updates to the corresponding router. In SDN enabled IoT, this process is controlled in a centralized manner. The controller adjusts the routes as per the traffic patterns of the routers and prevents congestion over channels. In this pattern, the routers can forward the packets over the efficient channels and utilize the channels in an appropriate manner.

Result and Discussion
In the simulated environment, the network has been organized in a square manner. The length and width are equal and proportionate to the no. of routers and devices in IoT environment. The bandwidth of each channel is set to 8 Mb/s. The deployment of routers has been initialized on random basis, and we have considered an assumption that the space between routers is larger than 10 m. The number of devices under the coverage of each router is not more than 100. Multiple channels, devices and radios are equipped with each router over IEEE 802.11g technology.The purpose behind the initial phase is to gain the appropriate data for the learning of our CNN based model. We are using conventional techniques to establish the communication among the routers with respect to changing traffic conditions and dynamic traffic loads, and for recording the data. The distribution has been visualized to see whether the data balanced or not before applying deep learning based model for traffic prediction. Once the training is initialized, the output of the trained CNN is measured in terms of throughput, accuracy of prediction, transmission rate and latency. In the training process of the Convolutional deep neural networks, the mean square error has been used as the stopping criterion. The comparison of the proposed mechanism of channel assignment with the existing conventional technique as shown in Fig. 5 with respect to throughput achieved. It is apparent from figure that the projected method provides better throughput even with the increase in nodes whereas the performance of the conventional technique has been degraded with the increase in number of nodes. The another parameter for performance measurement is transmission speed. It is one of the major evaluation criterion for the assignment of the channel. The channel which is least loaded and underutilized is selected by the proposed technique to provide better transmission rate. Fig.6 depicts the performance of the proposed CNN based model and the conventional method. The next parameter for performance evaluation is the average delay time. To reduce the network laterncy is also an important criterion for selecting a channel for forwarding the data over SDN enabled IoT. Fig. 7 depicts the average delay value generated by the conventional and our proposed CNN based method of channel allocation. Statistical technique RMSE score (root mean square error) is used for evaluating the performance of the proposed technique with the conventional technique as shown in Table 3. It is evident that the results obtained from the CNN based model produce more accuracy in predicting and assigning the appropriate channel.     Due to the increase in SDN-enabled IoT sensing data and fast sensitive requirements, machine learning-based techniques are generated that are sufficiently capable of meeting dynamic traffic needs. High transmission speed plays an extremely important role in assigning the channel to the traffic in SDN based IoT . However, researchers have made several research efforts, but there is a need to explore machine learning related techniques, taking into account the high data and computation needs of users. To predict traffic load and allocate the channel for transmitting the traffic over SDN allowed IoT, we have suggested deep neural networks. With the traditional POCA system, we have assessed the efficiency of our proposed technique in terms of network throughput, network latency, transmission rate and RMSE ratings. The findings show that our proposed approach outperforms the traditional method and offers a better solution for the allocation of channels. We will equate our approach with more models of deep learning in the future.