Calculation functions of SDN controller for wireless backhaul infrastructure

The paper systematizes mathematical methods of SDN-controller work optimization. These methods will form the basis of the SDN controller main computational functions. They will allow increasing the efficiency of network resources usage; provide the fault-tolerance of infrastructure and high bandwidth of the transport network.


Introduction
The growing number of mobile devices and demand of traffic require wireless networks to maintain higher data rates.One of the methods to achieve such speeds in mobile networks is optimal reuse of network resources, which reduces the spatial placement and size of cells.To deploy a large number of small cells it is necessary to find optimal way of traffic transmission with high capacity.
It is expected that in 5th generation networks, whose appearance is projected in 2020, mobile devices and servers, directly combined with each other, will replace physical base stations.Devices will be able to exchange large amount of information across disparate communication nodes.The level of network management will be separated from the device of data transfer and become software implemented.Software defined networks (SDN) provide flexible and efficient management of data transmission.
Centralized controller performs the analysis of nodes workload, the search of optimal paths, and network reconfiguration for improving efficiency of SDN.Adding device configuration capabilities to such infrastructure allows full control of the wireless network.This article presents an analysis of SDN controller basic computing functions, which allow achieving efficient use of network resources, ensuring sustainable routing infrastructure and getting high capacity of backhaul paths.

Fig.1 Functions and computational procedures of SDN controller
This paper proposes the approach to controller SDN operation, where each individual network function is presented as a computational module with given input and output data.The paper contains all main computational methods ensuring the smooth operation of network applying SDN technology.Figure 1 shows controller basic computing functions and the methods used for their implementation.
The use of a particular method depends on the type of problem being solved.Control unit manages and determines the sequence of tasks of software modules.The following paragraphs will describe each function in detail.

SDN for backhaul with small cells
In the common LTE network, traffic from user equipment is sent from the input node to gateway node, which is usually located in the same place with the base station, via wireless communication paths.Thus, when multi-hop deployment, routing and forwarding are important aspects, as they have to work with nodes dynamic enable or disable in response to changes in traffic demands.
Software-defined networks provide performing forwarding of packets via a centralized controller by flexible and efficient way.Adding device configuration capabilities to such infrastructure allows full control of the wireless network.
The key contribution of this paper is a network architecture based on SDN that allows operating and controlling network with small cells.Main functions performed by SDN controller for network managing are identified and presented as a set of computational procedures.The paper also describes structure and coordination process of domain modules.Figure 2 shows the structure of organization and interaction of SDN network functional modules.
The main component of the architecture is SDN controller, which manages network configuration by cell nodes configuration, including flows rules, wireless communication links and power management configuration.It interacts with Backhaul Orchestrator, responsible for optimizing transit operations.
Network architecture uses the SDN controller Opendaylight (ODL) for nodes configuration management and processing of relevant traffic.For this purpose controller needs such components as Packet Handler, Path Calculator, Neighbourhood Mapper and advanced Orchestrator Interface.Additionally, extensions to the Openflowplugin (OPF) and to the OF libraries (native components in ODL) are needed.The dotted lines show the connections between modules and functions to which they apply.
• Packet Handler -handles packets sent by the controller.Dedicated information is sent to the Path Calculator responsible for the original path from the source to destination node, according to a given strategy of path calculation.
• Path Calculator -calculates the path between backhaul nodes, which are connected to the power and controls the new rules of traffic forwarding.It uses an auxiliary network graph that contains only active nodes.
• Neighborhood Mapper -infers the neighborhood and interference graph for each node/link from the Statistics Manager.Backhaul units send periodic signals to neighbors.The collected information is sent to the controller in the form of statistics, which can be used to infer interference and load of network links.
• Wireless Configuration Service -sends wireless specific configuration requests to the managed nodes through an OF protocol extension.
• Wireless Statistics Manager -collects statistics about wireless network from the managed nodes through the extension of Statistics Manager from OFP. Requests and statistics can have different types, defined by a bit mask field in the body of the request.
• Orchestrator Interface -used to interact with transit orchestrator for network reconfiguration.
• Metrics Collector -responsible for obtaining network performance parameters that cannot be extracted directly from the OF (e.g.communication link or delay).Calculated information collected in the available statistics.[1] Fig. 2 Structure of the organization and interaction of SDN network functional modules Thus, SDN network controller performs several important functions for network management.Each of these functions can be represented as a set of procedures that are performed in a computing environment.Performance and reliability of procedures depend on the organization of computing environment.

Functions and computational procedures of SDN controller
Controllers in software-defined network (SDN) played the role of network "brain".This is a program that acts as a strategic control point of SDN, directs control flows to switches/routers "down" (via southbound API) and to applications and business logic "up" (via northbound API) for the deployment of intelligent networks.[2] Let us consider in more detail the basic functions of the controller and computational procedures to implement them.

Analysis of network nodes load
This function provides analysis of statistical data about the traffic requirements in each network node.We analyze the amount of traffic that passes through nodes over time, the average time of request processing, latency and link capacity.Forecasting of network congestion and reorganization of its structure were conducted based on statistic data.
Analysis on nodes congestion going through such functional blocks of the controller:  Packet Handler  Path Calculator  Neighborhood Mapper  Wireless Statistics Manager  Metrics Collector Let us consider the basic approaches for analyzing the workload of network: a) External monitoring of node condition 1) In the method of external monitoring, relevant system centrally collects information about nodes and calculates response time of computing node.For this purpose, it sends node service request and measures the response time.If balancing system does not receive the answer from the computing unit after several consecutive requests, then the node is considered unavailable and it is excluded from the list available.If the node's time of answer increases significantly, it means that the corresponding node is overloaded.
2) Another method of the external monitoring is evaluation of computing node workload.It allows providing monitoring of response time and control of readiness of both the compute nodes, and applications that run on it.Response time of application is defined as the time between sending a request to provide information of readiness to transfer.
The described methods allow receiving data about the load of each node, expressed only in time of system request answer.The methods provide important information such as the state of the CPU, memory, I/O subsystem etc.

b) Internal monitoring of node condition
In this approach appears software agent that collects data about the node on which it is located.Such agent is installed on each node in a distributed system.Information about the individual components after a certain period is transmitted to a central balancing systems machine.The main difference from external monitoring methods is that all the components of a distributed computing system are actively involved in the process of collecting information on the workload.Computing nodes initiate the collection and processing of information about its load independently.
The advantage of this method is a significant decrease in the load on the communication environment (official data is transmitted in smaller portions, compared with using an external monitoring of computing nodes conditions).Another advantage is that this method provides a more detailed and objective information about the nodes and their components conditions.
The main disadvantage of external monitoring method is the presence of resident program on each node of computing system.Utilities agents use a number of computing node resources.[3] c) Dynamic load estimation method This method is based on the calculation of CPU, memory and bandwidth used by flows of different classes of service for each server and the entire distributed system.Monitoring can occur in three ways: • After each request; • After every fixed interval defined by static algorithm; • After not fixed intervals defined by dynamic algorithm.
Information obtained by the first method, is the largest by volume, so measurements are made after each received request.In the second method, the amount of information is constant, but it is necessary to determine the interval of its receiving to prevent it of being excessive or insufficient.In the third method, the amount of information depends on the control frequency spacing, which must adapt to traffic structure.
Calculation of each server load is performed by calculating its average usage of CPU, memory and network capacity.The received information used for load balancing process, first, to determine the origin of the imbalance, and secondly, to determine a new distribution of tasks by calculating the amount of work that is needed to move it.Hence, the quality of load balancing depends on the accuracy and completeness of the information.[4]

Network optimization by analyzing statistics
Network optimization problems are complex.Since the SDN controller must quickly respond to standard events, it is offered to perform outsourcing of computationally complex parts such as network optimization problem to another entity, which receives information about the topology of backhaul, traffic requirements, link configuration and power consumption statistics.Based on policies and configuration optimization algorithms, optimizer can calculate the trade-off between power consumption and network capacity/delay.
Network optimization is based on statistics obtained in the previous step.Today, there are many ways of network optimization, according to the parameters of quality of service.Most of these methods are based on improving QoS parameters through a more optimal use of network resources.Let us consider in more detail some of them.a) Dynamic method of nodes load balancing Input: the intensity of traffic, traffic class of service (application priority), the maximum value of delay, the maximum amount of losses, server current load, network capacity at current moment.Output: complex value of system imbalance; amount of released resources; efficient use of system resources.
The proposed method is based on calculating the CPU load, memory and bandwidth by flows of different classes of service.In addition, it introduces a complex value of server load imbalance, taking into account the weights for CPU, memory and network capacity.Thus, this method allows calculating the imbalance of all system servers, average duration of work with different balancing algorithms and efficient use of system resources.[4] b) Clustering method of network optimization Clustering means the grouping of similar data together.Clustering algorithm based on metrics selected by current user.An important advantage of clustering is that it allows the reuse of resources and, consequently, increases network capacity.Instead of using the system resource allocation for each cluster, many clusters can simultaneously use the same resource and divide it among themselves.[5] c) The method of optimizing network using ant algorithm optimal routing.This algorithm is used for objective estimation vector, which includes such metrics as delay, distance between jumps, cost, load and reliability.The network is represented as a graph G = (V, A), where Vthe set of vertices Aadjacency matrix.The result of this method is the best route for the transmission of the data stream. [6]

Adaptively power on or off nodes to provide localized capacity according to user demands
When SC nodes get powered off, rerouting might be required, as the given SC node might be used to relay traffic originated from other SC node.Users can be transmitted from one node to another if the first one is powered off and the demand for traffic in the area is too small to justify an additional energy.This requires a trade-off to be made in terms of the backhaul energy efficiency, latency of the traffic forwarding and network capacity, given the user demand requisites.By knowing the traffic demands, power consumption profile of the nodes, as well as connectivity options, the SDN controller can orchestrate the balance between energy and performance.[1]

Reorganization of the network and traffic redirection
The reorganization of the network structure is based on analysis functions data about nodes workload.It includes the grouping of subscribers by the type, amount of traffic and by spatial location, and choose the most optimal topology for each group.
Backhaul links might be subject to dynamic link outages, especially when operating at very high frequencies, where there are capacity requirements [7].A link can temporarily go from Non-Line-of-Sight to Outage, leading to changes in the BH topology and consequently, in the available capacity.When such events happen, the SDN controller can perform path recalculation between network nodes.For this, it is possible to use OpenFlow Fast Failover Group Tables to rapidly repair link failures locally.This requires the calculation of disjoint backup path towards the gateway at each node.If the failure that triggered the usage of another network path persists, the controller can recalculate new routes, based in the current topology and previously calculated energy optimization strategy.Reconfiguration of the network occurs by using the network orchestrator.

The forecasting of network load
For network load forecasting there are special models based on statistical data collected by the respective functional unit.Each controller feature is provided by appropriate set of methods.Let us consider the basic techniques that can be used to perform computing functions of SDN controller.
a) Method of short-term traffic forecasting This method uses adaptive forecast "horizon".It can significantly reduce forecasting error and computational cost compared with stationary "horizon".The use of this technique in network management systems can improve the quality of service and efficiency of network resources usage through preventing congestion.
Input data is the length of history, average values of flow intensities, the forecast "horizon" and the time interval on which the forecast is based.As the result, predicted value of stream intensity at a particular time will be obtained.[8] b) The model ARIMA forecasting traffic values This model is applied to autoregressive models that allow describing non-stationary rows.It allows warning about large influxes of network traffic in time.This model uses minimum number of options for building reliable and short-term forecasts.Input: a given period, the aggregation time, autocorrelation statistics of interval values.Output: traffic estimation a few steps ahead.[9] c) Logistic regression model It is used for solving classification problems.It allows response segmenting using thresholds, comparing it with an appropriate class label.This model is often used as a transition tool in the construction of neural networks.Input: Linear time row model.Output: the element of time row at a time.[10]

Conclusions
This paper provides an overview of basic computing functions of SDN controller.It proposes representation of each individual network function as a computational module with given input and output data.The paper also describes the structure and coordination process of backhaul domain modules using the proposed approach.The analysis of basic computational methods that ensure smooth operation of network with SDN technology is proposed.