Principles and applications of swarm intelligence for adaptive routing in telecommunications networks

Frederick Ducatelle, Gianni A. Di Caro, Luca M. Gambardella
2010 Swarm Intelligence  
In the past few years there has been a lot of research on the application of swarm intelligence to the problem of adaptive routing in telecommunications networks. A large number of algorithms have been proposed for different types of networks, including wired networks and wireless ad hoc networks. In this paper we give an overview of this research area. We address both the principles underlying the research and the practical applications that have been proposed. We start by giving a detailed
more » ... cription of the challenges in this problem domain, and we investigate how swarm intelligence can be used to address them. We identify typical building blocks of swarm intelligence systems and we show how they are used to solve routing problems. Then, we present Ant Colony Routing, a general framework in which most swarm intelligence routing algorithms can be placed. After that, we give an extensive overview of existing algorithms, discussing for each of them their contributions and their relative place in this research area. We conclude with an overview of future research directions that we consider important for the further development of this field. 2 Frederick Ducatelle, Gianni A. Di Caro, Luca M. Gambardella actions of a number of units interacting with one another and with their environment at the local level. In this paper, we refer to the latter also as SI design. In recent years, SI design has been applied to a wide variety of problems in combinatorial and continuous optimization, telecommunications, robotics, etc., often with excellent results (e.g., see [10, 28, 35, 37, 39, 41] for extensive literature reviews). Two of the most popular and successful examples of the SI approach are Ant Colony Optimization (ACO) [35] [36] [37] and Particle Swarm Optimization (PSO) [59] [60] [61] . ACO takes inspiration from the pheromone-mediated ability of ant colonies to find shortest paths between their nest and sources of food [35, 47] to define a metaheuristic for combinatorial optimization based on the use of ant-like agents and stigmergic communication of artificial pheromone information. PSO translates the flocking behavior of birds into a framework based on information-sharing particle-like agents to find extremal points in optimization problems. In this paper, we focus on the application of SI design to one particular class of optimization problems, namely adaptive routing in telecommunications networks. Routing is the task of directing flows or units of data from their source to their destination while optimizing one or more criteria. Examples of optimization criteria are the average or maximum delay experienced by data packets or the variability in delay. An adaptive routing algorithm is one that modifies its routing solution online, in order to account for changes in the network, such as variations in the data traffic load or in the network topology. The typical structure and functioning of telecommunications networks -in which the global routing strategy is the collective result of decentralized decisions made by individual nodes based on local observations -maps surprisingly well to the typical distributed approach advocated in the SI paradigm. Consequently, a lot of successful adaptive routing algorithms have been developed based on SI ideas. Our aim here is to discuss the relationships between SI design and the design of network routing algorithms, and to provide an overview of the theory and practice in this field. Since the large majority of existing SI routing algorithms refers to the ACO framework, we mainly focus on this class of implementations of the SI paradigm. Nevertheless, we also describe other SI approaches, such as, for example, bee-inspired algorithms [43, 44] . The rest of this paper is organized as follows. First, in Section 2, we explain the problem of routing in telecommunications networks. In particular, we discuss typical challenges that are present in different types of networks, and describe traditional approaches to routing. Next, in Section 3, we hold a high level discussion about the application of SI to routing. Then, in Section 4, we discuss AntNet, a prototypical example of a SI algorithm for routing in wired networks, and we derive from it a basic recipe for the construction of SI routing algorithms. Subsequently, in Section 5, we look at this recipe from a different point of view, and present the general Ant Colony Routing framework. This will provide the reader with a deeper insight into the basic workings of the approach and open the door for new Swarm intelligence for routing in telecommunications networks 3 applications of these ideas. After that, we give an overview of existing SI algorithms for routing. In Section 6, we discuss algorithms for wired networks, and in Section 7, we discuss algorithms for wireless networks. Finally, in Section 8, we conclude the paper discussing future developments that we consider important for this field. Routing in telecommunications networks A telecommunications network can be seen as a graph G = (N, E), whereby the nodes N represent routers or end user devices in the network, and the edges E represent the communication links that are available between them [22, 104] . Links can be directed or undirected and can be heterogeneous in terms of physical implementation (wired or wireless), transmission capacity, propagation time, reliability, etc. Data load is injected into the network concurrently at source nodes, and needs to be forwarded to assigned destination nodes. The task of a routing algorithm is to find paths through the network graph that connect source and destination nodes, while optimizing predefined criteria and possibly satisfying certain constraints. Routing path information is commonly stored at the nodes in so-called routing tables. The best solution for the routing problem can vary, when there are changes to the network graph, such as, for example, the appearance or disappearance of links or nodes, or when there are variations in the network data load. A routing algorithm can either choose to ignore this variability and calculate one set of routes that will be used without change, in which case we speak of static routing, or it can choose to adapt and update its routes while the network is in use, in which case we speak of dynamic or adaptive routing. Most existing routing algorithms are at least to some degree adaptive, and in what follows we will focus on this class of algorithms. The problem of adaptive routing is most naturally solved with a distributed approach. This is because centralized approaches have, in general, inherent limitations in terms of scalability and fault-tolerance. Moreover, in most existing networks nowadays, nodes have at least some capabilities for both network monitoring and data processing, so that the network can form a distributed monitoring and computing system. In this system, nodes locally monitor the network status, exchange this information with their neighbors, and autonomously calculate the routing tables to be used to forward data. A wide range of different routing algorithms exist in the literature. They can be classified according to several criteria. One criterion concerns whether data need to be routed to a single destination (unicast), a group of destinations (multicast), or all nodes in the network (broadcast). Here we mainly restrict the discussion to unicast routing, which is the most widely employed in practice. Another important criterion concerns the nature of the technology that is used to create the network. Especially the distinction between the use of wired and wireless links to connect the nodes is relevant. Wired
doi:10.1007/s11721-010-0040-x fatcat:b6n3djko2fbgxdggoraiauwh4y