# A New SDN-Based Routing Protocol for Improving Delay in Smart City Environments
## 2 Background and Related Work
### Machine Learning-Based Routing Algorithms  
Currently, Machine Learning is a widely used Artificial Intelligence (AI) method for a broad assortment of tasks, like classification, in a variety of application spheres such as computer vision, security and network communications. In this section, we present the relevant research works designed for routing strategies using ML algorithms. [PERSON] et al. [22] proposed a mobility prediction-based routing scheme to ensure reliable and timely data dissemination in VANETs. The SDN controller predicts the vehicle arrivals and connections using the artificial neural network. Road Side Unit (RSU)/Base Station (BS) uses the prediction to integrate a stochastic urban traffic model for estimating the successful transmission and average delay. Depending on the location of the source vehicle and destination vehicle, the controller or the RSU/BS built routing paths with minimum delay. Vehicle-to-Infrastructure (V2I), as well as Vehicle-to-Vehicle (V2V) channels, can transmit simultaneously via different spectrum access technologies. On the other hand, [PERSON] et al. [23] suggested a new routing solution called neural network-based routing (NeuRoute). The routing protocol uses Deep Feed Forward Neural Network (DFFNN) to learn and build routes. It inputs collected path decisions history, the network state, and the predicted traffic matrix to train step of neural routing network. The network state consists of all links costs and their available capacities. After training the model, the protocol can route new arriving flows based on the traffic matrix and the network state as an input. [PERSON] and [PERSON] [24] suggested a new routing solution entitled A Machine Learning-based routing preplan for SDN. This solution works on three phases: flow feature extraction, user requirement prediction, and route selection. As indicated in the solution's name, the process considers planning routing based on relevant features extracted from users' history data and clustered using a semisupervised clustering algorithm. The core idea is to predict the user's requirements, then plan frontwards routing policies that ensure reducing delay. The solution employs the extreme learning method to optimize the network structure and discards old data post the training. [PERSON] et al. [25] incorporated a Naive Bayes classifier in the Least Loaded (LL) routing algorithm. The ML algorithm provides extra information obtained from record historical network state information and the link traffic load information to LL routing that decides the best candidate route. Another usage case was proposed by [PERSON] [26], which integrated the Bayesian Machine Learning algorithm in Flow Prediction in SDN Switches. The algorithm allows switches to predict the traffic to reduce unnecessary communications between switches and the controller. Therefore, the switches determine processes generating flows and use them to assign a packet with the unknown flow to match it with the appropriate one. To resolve the Routing and Wavelength Assignment (RWA) problem in the context of optical Wavelength-Division Multiplexing (WDM) networks, [PERSON] et al. [27] transformed this issue into an ML-based classification problem where ML classifier provides RWA solution based on an input traffic matrix. Moreover, [PERSON] et al. [28] introduced the TIme-relevant DEep reinforcement learning (TIDE) protocol as an optimized routing strategy on SDN modified architecture that contained three logic planes: data plane, control plane, and AI plane. In the AI plane, an RNN-based deep reinforcement learning method operates to output a near-optimal routing strategy according to the varying traffic distribution. However, a smart agent can output a near-optimal routing solution for the underlying network without any prior knowledge. [PERSON] et al. [29] proposed a load balancing routing scheme boosted by ML. The protocol uses network state information (NSI) in the form of queue length to train the neural network and to make route predictions.