Improved Adaptive Routing Algorithm in Distributed Data Centers

Currently, telecom operators use virtualization of network infrastructure based on Data Centers (DCs). But when a company grows to a certain size and one DC is not sufficient, there are questions how to further develop the network infrastructure. There is a need to expand existing DC boundaries or to add new elements in the network structure. In this paper, we propose improved adaptive routing algorithm in distributed networks of DCs with united service providers, which increases the efficiency of adaptive routing process during dynamic adding of nodes or communication links. The mathematical model and enlarged form of algorithm are shown in the work. In the paper, a comparison of the proposed algorithm with known analogies, such as modified Dijkstra's algorithm and paired transitions algorithm, is performed. To validate the correctness of proposed algorithm, we developed software for simulation of adaptive routing processes in networks of distributed DCs. Comparative analysis of adaptive routing algorithms in distributed networks of DCs with united service providers confirms the effectiveness of the proposed approach and reduces the complexity of constructing routing tables to the value O(mN).


Introduction
Computer network is a developing object, not only in terms of upgrading its elements, but also in terms of its physical expansion, e.g.adding new network elements (routers, switches and computers).This possibilities and complexity of their implementation are included in the concept of extensibility.Another characteristic is the scalability of the network, which determines network expansion without significantly reducing its performance.
A typical trend in the development of modern network structures is virtualization and scalability with the using of distributed DCs, as well as the complication of the interaction functions among remote components of the network.Improvement of network technologies requires providing of high-quality servicing of transmitted traffic, increasing of bandwidth and providing of flexible load balancing without reducing overall network performance.The load and the bandwidth of the network links among the DCs change dynamically, which can lead to frequent sending of service information about route changes.Changes in the characteristics of communication links, modification of the network structure, the inclusion of new nodes, and communication links lead to complete recalculation of the routing tables.One of the solutions to improve the quality of the networks functioning of distributed DCs is the accurate determination of optimal data transmission routes and the rapid switching of more loaded communication links to other free channels during dynamic adding of elements in network of DC.

Related Works
According to research Digital Consumer Survey [1] presented by Accenture, consumers usually use only one provider to manage communications and entertainment products.For ensuring of consumer preferences, it is necessary to use the services of several communication providers simultaneously [2].
These solutions are primarily aimed at reducing the cost of DC service to provide high quality services of network applications and various tasks in the field of big data processing [3] and [4].New routing methods and approaches based on the use of Software-Defined Networks (SDN) [5] and [6], the cooperation of communication providers, moving the network structure in the cloud, and the development of programmable network equipment are proposed in paper [7].Ideas of forming corporate network structure with different communication links among the base nodes are proposed in papers [8] and [9].
The solution of the task of adaptive routing in scalable and flexible networks of DC is considered in the work [10].Various scenarios of using backup routes for adaptive routing resilience of data flows in SDN are considered in the paper [11].To improve the quality of network services, new approaches of adaptive routing in SDN of DCs based on the OpenFlow protocol are presented in papers [12] and [13].
Various approaches to resource allocating in DC are described in paper [14].Resource allocation algorithms for data centers with a unified scheduler for all types of resources, algorithms for DC with specific schedulers for each type of resources, and similar algorithms from the OpenStack platform are compared; the comparison results are presented.Distribution algorithms of network resources for adaptive routing in hierarchical networks of DC are discussed in detail in the work [15].
In real cases, the task of finding optimal routes in networks of distributed DCs is complicated by multiple alternative embodiments, which leads to the need for docking links at the network nodes and the emergence node cost depending on connected links.The problem of optimal basic network construction among DCs that are served by different communication providers is an example of this.
In the simplest case, the complexity of routing tables construction in networks using classical Dijkstra's algorithm is O(N 2 ).If the number of links in network (M ) is lesser than the number of routers M < N 2 then the complexity of routing tables construction is O(N logN + M logN ).The implementation is based on a min-priority queue implemented by a Fibonacci heap and running in O(N logN + M ).The complexity of routing tables construction in networks of distributed DCs with multiple service providers using a modified Dijkstra's algorithm is O(N 3 ).It depends on adding a loop over all nodes for determining a link with the lowest metric between any two network nodes [16].
The fast rerouting traffic algorithm among DCs, that increases the efficiency of adaptive routing process during dynamic load changes on the communication links, was proposed in paper [17].The complexity of this algorithm is O(kmN ), where: k -number of executed paired transitions, m -number of service providers, N -number of DCs platforms in network.But using this algorithm is inefficient during dynamic adding of elements in network of distributed DCs, since the complexity of calculating the additional information to implement the paired transition is O(N 2 log 2 N ).

Problem Statement
To improve the efficiency of distributed DCs, the most important task is to choose a routing algorithm, which will provide optimal route search with the different properties of one or another data center platform.Currently, adaptive routing algorithms are often used.These algorithms provide automatic updating of routing tables after a network reconfiguration.Finding the optimal data transmission routes is quite a difficult task, especially in the case of a dynamic change in the configuration of a network of distributed DCs serviced by various telecommunications providers.To solve this problem, we formulate the following theorems:

Mathematical model of the network of distributed
Theorem 1.The shortest paths and length estimates are not changed during adding of node DC i for all nodes non-incident to node i (there is not link e i,k x ).
• Proof: New node DC i is not included in the shortest path to node DC j .Path to this node DC j does not contain link e i,k x .So, new path to node DC j contains this link, has length estimate d j,i x ≥ d j and the optimal routes tree is not changed for all nodes non-incident to node DC i .

• Conclusion 1:
The optimal routes tree is not changed for node DC i during adding of node DC k that has communication link with nodes DC i and DC j as well as d i < d j .
• Based on the proposed mathematical model and proved theorems, we propose the improved paired transitions algorithm, that calculates the best routes to each node in the network of distributed DCs without complete rebuilding optimal routes tree during dynamic adding of nodes or communication links.

Improved Adaptive Routing Algorithm
This part considers the work of the improved adaptive routing algorithm in networks of distributed DCs during dynamic adding of nodes or communication links.The enlarged algorithm takes the following form.
Step 1.Initial values are assigned.The links weights w i,j x and the costs of connections DCCost x i for each DC for each service provider in the network are determined.
Step 2. The optimal routes tree in network of distributed DCs is built.
Step 3. Based on the statistical data, lists of paired transitions are formed for each vertices-leaf, when considering costs of connected providers.These lists are attached to the node that is incident to the considered link and has lower node level in the tree.
Step 4. For each node that is not leaf of tree, paired transitions are made considering costs of connected providers.The best values of the potentials for future generations and their own interfaces are chosen.This step is made to form the lists of paired transitions during changes of links weight.
Step 5.For each link, the search of the point of entry in optimal route tree w i,j x,t and the point of entry in set of replacement w i,j x,s is made.
Step 6. Are there packets for transmission?
• If yes, then move to Step 7.
• If no, then move to Step 9.
Step 7. The packets along available optimal routes are transferred.The transmission flag is set.
Step 8. Is transmission flag true?
• If yes, then move to Step 15.
• If no, then move to Step 6.
Step 9.The routing information determines if adding of nodes or links in the network structure of distributed DCs have occurred: • If yes, then move to Step 10.
• If no, then move to Step 6.
A. If there is adding of node DC k connected by communication links with nodes DC i and DC j , and d i < d j (DC i node level is lower in the optimal routes tree than the level of node DC j ), then: • The optimal routes tree for node DC i is not changed.
• The optimal routes tree for each node non-incident to node DC i is not changed.
• Potential of node DC j (route r j to node DC j ), considering new links e i,k x and e k,j x , is not changed.Initial optimal routes tree is not changed.
The route with minimal length is selected from available routes d i + w i,k x and d j + w k,j x .This route is added in optimal routes tree.Move to point 5.
• Potential of node DC j (route d j to node DC j ), considering new links e i,k x and e k,j x , is decreased (d i + w i,k x + w k,j x < d j ).Links e i,k x and e k,j x are included in optimal routes tree.For each node DC m incident to node DC j new potential are determined.If potential of node DC m is decreased, then link e j,m x is included in optimal routes tree.The initial link to node DC m is deleted from optimal routes tree.
• For each link that belongs to optimal routes tree, available links for paired transitions are determined.Their point of entry in the optimal route tree and the point of entry in the set of replacement are performed.
• Through set of replacement links, new replacement paths are built.They are included in the set of replacement for each node that has changed the shortest path and node DC k .
B. If there is adding of new link e i,j x with weight w i,j x , and DC i node level is lower in the optimal routes tree than the level of node DC j , then: • Length estimate for node DC j is not changed.
The optimal routes tree is not changed.If link e i,j x consists in paired transition with other link for node DC j , then it is included in the set of nodes consisted in paired transition for node DC j and new available replacement routes through link e i,j x are built.Nothing else is changed.
• Length estimate for node DC j is decreased.The link e i,j x is included in optimal routes tree.For each node except DC i , incident to node DC j , new length estimates are performed.For those nodes for which the estimates are reduced, the corresponding incident link is included in the optimal routes tree.The link included previously in the optimal routes tree to that node is removed.Step 11.
Using the list of paired transitions, the following check is performed: should the paired transition be made?
-If yes, then move to Step 12.
-If no, then move to Step 13.
Step 12.To each node that has in its routes list, the link with changed metric minimal length path is determined.This path is written in the optimal routes tree.
Step 13.The new optimal routes tree considering changes is built.
Step 14. Routing tables are formed.
Step 15.Is a sign of end of router operation true?
• If yes, then move to Step 16.

• If no, then clear transmission flag and move to
Step 6.
Step 16.End of router operation.

Simulation Results
The improved adaptive routing algorithm allows you to build the best routes in networks of distributed DCs that are served by different communication providers during dynamic adding of nodes or communication links and does not produce a full recalculation of the routing tables.
As a criterion or metric of link weight, a composite metric is used, including the bandwidth and delay of the communication link.The available capacity of the communication link established the limit on the bandwidth of each communication link not exceeding 100 Mb•s −1 .To ensure high quality of the service in distributed network of DCs, according to the ITU-T recommendation [18], the maximum acceptable value for transmission delay for each communication link in the network cannot exceed 100 ms.
The distributed network of 8 DCs with 2 service providers including 18 communication links is shown in Fig. 1.Bold lines show the constructed optimal routes tree in this network of DCs.Let's consider various scenarios of the behavior and the work of the proposed adaptive routing algorithm in distributed DCs.During adding of node DC8, it is necessary to change the initial optimal routes tree to node DC8 and node DC7 incident to it.According to the Thm. 1, other routes are not changed.For node DC7 and node DC8 it is necessary to reform paired transitions list, recalculate the point of entry in optimal route tree and the point of entry in set of replacement, taking into account new links e 6,8 0 , e 7,8 0 , e 7,8 1 .Operation result of the algorithm during adding of node DC8 is shown in Fig. 2. Bold lines show the changed optimal routes tree.
According to the Thm.2, during adding of link e 5,6 1 optimal routes tree is not changed, because the esti-mate of path to node DC6 is the smallest.Operation result of the algorithm during adding of link e 5,6 1 is shown in Fig. 3. Bold lines show the optimal routes tree, which does not require changes.
To validate the correctness of proposed algorithm, we developed software for simulation of adaptive routing processes in networks among DCs.The software is written in C# by Microsoft Visual Studio with platform Microsoft .Net 4.0.The developed software allows you to build a model of network infrastructure, to find optimal routes tree in network of distributed DCs, to add new communication nodes or links, and to calculate statistic information.The use of the proposed algorithm has reduced the complexity of calculating the routing tables O(mN ), where: m -the number of service providers, Nthe number of DCs platforms in the network.Table 1 shows the efficiency of the proposed algorithm by the comparative analysis with modified Dijkstra's algorithm [16] and paired transitions algorithm [19].
Improved adaptive routing algorithm has lower complexity.Its operating time is less by 3-5% than modified Dijkstra's algorithm.Also, we can note the decrease of routes cost, for example for routes DC0-DC5 and DC0-DC7.Thus, the developed algorithm is effective for constructing the optimal routes in networks of distributed DCs that are served by united service providers during dynamic adding of nodes or communication links.

Conclusion
In this paper, we proposed mathematical model and enlarged form of improved adaptive routing algorithm.This algorithm increases the efficiency of routing processes in distributed networks of DCs with united communication providers during dynamic adding of nodes or communication links.It doesn't need to perform a full recalculation of the routing tables what reduce the complexity of constructing routing tables to O(mN ).
To validate the correctness of the proposed algorithm, the software for simulation of processes adaptive routing in networks of distributed DCs is shown.
We considered examples of various work scenarios of adaptive routing algorithm in distributed DCs.The comparison table of improved adaptive routing algorithm with known analogies (modified Dijkstra's algorithm and paired transitions algorithm) validates the efficiency of the proposed algorithm.It has less complexity, operating time and shows lower routes cost.
Further development of the proposed approach is the implementation of integrated solution using the SDN technology based on OpenFlow protocol as a part of the DC management toolkit intended for hardware acceleration of processing data flows and building their optimal routing tables.In the future, this approach will ensure high self-organization of the network space of DC and the flexibility of managing data flows in networks of distributed DCs that is actual direction for telecom operators.Also, within the pilot studies, the hardware-software bench of dynamic adaptive routing in SDN on the basis of the equipment of HPE 2920-24G Aruba with support of OpenFlow protocol is designed.This experimental bench is planned to be used as a part of the campus network of RSREU.The received results of researches will be considered in the following scientific works.
DCs can be represented as a weighted undirected connected multigraph DCN et = (DC, DCCost, DCLinks, DCW eights, DCP rov), where: DC -the set of nodes (DC platforms), |DC| = N , DCCost -set of nodes weights (the cost of links connection to DC), |DCCost| = N m, DCLinks -set of edges (communication links), |DCLinks| = M , DCW eights -set of edges weights (the cost of communication links among DCs), DCP rov -set of service providers in network, |DCP rov| = m.

Fig. 2 :
Fig. 2: Operation result of algorithm during adding of node DC 8 .

Fig. 4 :Tab. 1 :
Fig. 4: Dependence diagram of the number of paired transitions on the index of network change.
Conclusion 2:It is necessary to determinate new shortest paths to nodes incident to node DC k during adding of node DC k that has communication link with nodes DC Let link e i,j x be included to path r i,k <> r i and r j,p <> r j .If this link does not reduce estimates of incident nodes DC i and DC j , i.e. d i,k x >= d i and d j,p x >= d j , then optimal routes tree is not changed, because link e i,j x influences on incident nodes from set DC. So, if the paths to nodes i and j have the shortest length, then link e i,j x is not included and optimal routes tree is not changed.If estimate of incident node reduces, for example DC j , then this estimate d j,p x is the estimate of shortest path to node DC j and link e i,j x is included in new optimal routes tree.There is no other shortest path r j to node DC j , except path r j,p included link e i,j x .This shortest path rj,p does not exist, if there are no shortest paths to all intermediate nodes DC k ∈ DC(DC i ) of this path.It is impossible to say that the shortest paths to other nodes of network remain unchanged.
i and DC j as well as d i < d j .Theorem 2. The shortest paths and length estimates for nodes from set DC(DC i ) are not changed during adding of new communication link e i,j x with weight c 2017 ADVANCES IN ELECTRICAL AND ELECTRONIC ENGINEERING w i,j x incident to nodes i and j.The node j has lower node level than node i.• Proof:• Conclusion: The optimal routes tree is not changed during adding of new communication link e i,j x with weight w i,j x incident to nodes i and j, if length estimates d i and d j are not changed.If the estimate of node DC i or DC j is changed, then it is necessary to determinate new shortest path for set of nodes not included in set DC(DC i ).