8.1 Introduction

Recently, energy efficiency become a key factor in the design of access network driven by the desire to reduce the communication carbon footprint and network operator energy bills as well as to extend terminal battery life [1,2,3]. Particularly, this is a requirement of paramount importance for network operators who are constantly expanding their network infrastructure with new access technologies and a significant number of access points to satisfy the increasing number of customers.

Several studies forecast a dramatic growth of the Internet traffic due to streaming media services such as IPTV , Video-on-Demand (VoD ), and videoconferencing [4, 5]. Indeed, these services require network delivery paths with enough bandwidth (i.e., to ensure little delay variation and little packet loss). Therefore, one of the major challenges in access networks is to find routes that reduce the power consumption without compromising other performance indicators such as user throughput, mean packet delay, or percentage of packet loss.

With this recent dimension, the routing algorithms become highly complex with multi-objectives and multi-constraints.

Energy efficiency in access networks could be simply realized by implementing a bi-objective routing algorithm that considers both the available bandwidth and the link power consumption metrics instead of considering only the traditional bandwidth metric. In fact, the European Commission prepared a Code of Conduct (CoC) on energy consumption of broadband equipment [6]. This report specifies the maximum electricity consumption allowed for each link technology. According to this report, each technology has its proper power consumption independent of the related capacity. For instance, a fiber point-to-point with a capacity of 10 Gbps consumes around 8 W, whereas a fiber EPON with the same capacity consumes around 13.4 W. A simple heuristic is suggested to compute routing paths that are energy efficient and at the same time satisfy the user traffic requirements in terms of bit rate. This heuristic is based on the computation of the k paths according to the first metric and the selection of the best one according to a second metric. For this, a modified version of the Yen’s algorithm is used as it is the most pertinent algorithm for determining k paths without loops.

To this end, we advocate that Software-Defined Networking (SDN) is an essential tool to achieve our objective. In fact, SDN is a recent trend in communications networking, whereby the behavior of networking devices is controlled by a logically centralized controller. This trend is reshaping the way networks are designed, managed, and secured. In fact, SDN replaces manual and specific interfaces of networking devices with a programmable and open interface. This enables the automation of tasks such as networking devices configuration and traffic policy management [7]. Having a global view of network topology including the link available bandwidth and power consumption, the SDN controller is able to calculate the optimal routing path while considering different objectives and constraints. In this sense, networking devices in the data plane (e.g., routers, switches, radio cells, etc.) just need to be equipped with the OpenFlow (OF) protocol in order to apply rules coming from the SDN controller.

The holistic control functions such as routing path computation are done in the SDN controller (e.g., in a data center or high-performance server). Moreover, due to the flexibility offered by SDN , it is possible to implement two different routing approaches in the SDN controller and to apply these approaches depending on the context and network operator goals. In the first approach (i.e., GoGreen approach 1), the network operator may consider that ensuring the adequate bandwidth for the user traffic (e.g., video streaming) is prior to reducing network energy consumption. In this case, the algorithm determines the k paths with the best available bandwidth and then selects among them the one with the least energy consumption. In the second approach (i.e., GoGreen approach 2), the network operator may consider that minimizing energy consumption in network is more important than offering paths with high bandwidth for the user traffic (e.g., web browsing, sensor messages). For that, the algorithm determines the k paths with the least power consumption and then selects among them the path with the highest bandwidth.

The remainder of the chapter is organized as follows. Section 2 presents the context of our work and summarizes the related work. Section 3 provides a formal definition of bi-objective routing problem. Section 4 gives an overview of the proposed k-shortest path algorithms and describes the GoGreen routing algorithm. Section 5 evaluates the performances of the proposed algorithm through extensive simulations. Section 6 concludes the chapter.

8.2 Background

8.2.1 Future Access Networks

Figure 8.1 shows an example of future access network architectures design [2]. It is divided into three parts, namely access, backhaul, and core networks. The access network represents the first contact of the user’s terminal with 5G network and ensures the data traffic delivery between the user and the backhaul network. It includes heterogeneous access technologies such as LTE, DSL, fiber, and Wi-Fi . The aggregation network typically aggregates traffic coming from multiple access technologies and ensures the data traffic delivery to the core network. It includes heterogeneous technologies such as fiber and ethernet. The core network provides access to other packet data networks such as Internet. The future access network provides the following functions: (i) removing boundaries between mobile and fixed aggregation networks, (ii) having SDN-capable networking devices (routers, switches, optical termination units, etc.) and data forwarding in data plane, and (iii) setting up an SDN controller that has global network visibility.

Fig. 8.1
figure 1

Future access networks architecture

8.2.2 Related Work

Energy-efficient routing in networks has been largely addressed in the literature. Here, we limit our discussion to the studies that are relevant to backhaul networks. The studies reported in [8,9,10] were among the first studies concerned about the energy efficiency of nodes and links management in backbone networks. The basic idea of [8, 9] consists in routing the data packets over a given subset of network links during low traffic periods by means of coordinated strategy between routers. In this way, the links not included in routing paths can be powered off without causing issues in network availability. In [8], authors estimated the power consumption of nodes and links and suggested a new routing algorithm able to exploit the traffic information to minimize network consumption. In [9], authors proposed an Energy-Aware Routing (EAR) strategy to save energy in IP network during low traffic hours by allowing a subset of IP router interfaces be put in sleep mode. They propose to elect a set of routers (Exporter routers) that calculate the Shortest Path Trees (SPTs) used to fix the routing paths. The rest of routers (Importer routers) take as a reference these pre-calculated SPTs, modify their SPTs accordingly, and determine the links that have to be switched off. In [10], the authors proposed an algorithm that aims at reducing the network power consumption by adapting the network capacity to the current traffic demand. In their algorithm, the links are switched off when they are underutilized or in IDLE state. However, the idle links are switched on when they are required to guarantee a proper reaction to faults or changes in the traffic pattern. Recently, [11, 12] proposed a heuristic approach for the same problem and used the SDN concept in order to achieve their goal. Their algorithms turn on the top of an SDN controller and aim at turning off idle nodes and concentrate traffic on the smallest possible set of links. In all these works, a homogeneous topology (i.e., routers are connected via the same type of link technology, typically fiber links) assumption is taken. In our context, the topology is more realistic where heterogeneous link technologies (e.g., Fiber, Ethernet, 4G, Wi-Fi, WiMAX, etc.) between heterogeneous networking devices (e.g., smartphone, server, Wi-Fi access point, DSLAM, eNodeB, router, etc.) are deployed. In such realistic topology, the power consumption differs from one link to another. In our work, we try to reduce the network power consumption by suggesting an energy-aware routing algorithm. We consider that our solution is complimentary to the approach of turning off equipment. Together, the network can realize a large energy saving.

8.3 Mathematical Formulation

8.3.1 Network Model

The network is modeled as a directed weighted graph G = (V,E), where \( V = \left\{ {1,2, \ldots ,n} \right\} \) is the set of nodes and E is the set of links. \( n = \left| V \right| \) and \( m = \left| E \right| \) represent the number of nodes and edges in graph G, respectively. Two positive weights \( w\left( {i,j} \right) = \left( {w_{ij}^{b} ,\;w_{ij}^{p} } \right)\; \in \;{\mathbb{N}} \times {\mathbb{N}} \) are associated with each edge \( \left( {i,j} \right) \). The weights \( w_{ij}^{b} \) and \( w_{ij}^{p} \) denote the available bit rate and power consumption of link \( \left( {i,j} \right) \). These metrics belong to different categories. The power consumption is an additive metric (i.e., the path cost is the sum of the power consumption of individual links along the path), whereas the available bit rate metric is a concave one (i.e., the path cost is the minimum of the available bit rate metric of individual links along the path).

Each edge \( \left( {i,j} \right) \in E \) has a capacity \( c_{ij} \) in Mbps. On edge \( \left( {i,j} \right) \) at a particular time index k, there is a traffic load \( l_{ij}^{k} \) (in Mbps). Thus, the available bit rate \( b_{ij}^{k} \) on the link \( \left( {i,j} \right) \) is calculated as follows:

$$ \varvec{b}_{{\varvec{ij}}}^{\varvec{k}} = \varvec{c}_{{\varvec{ij}}} - \varvec{l}_{{\varvec{ij}}}^{\varvec{k}} $$

A path in G from node \( i_{1} \in V \) to node \( i_{l} \in V \) is a sequence {\( \left( {i_{1} ,\;i_{2} } \right),\;\left( {i_{2} ,\;i_{3} } \right),\;\left( {i_{3 } ,\;i_{4} } \right), \ldots ,\left( {i_{l - 1} ,\;i_{l} } \right) \)} of links in E.

8.3.2 Link Energy Consumption Model

A network node in the access network has a number of interfaces. Each interface can have one or multiple ports. The power consumption of one port depends on the link technology in use.

8.3.3 Traffic Model

We model the traffic as a set of L flows. Each flow \( f \in F \) expects a specific bit rate \( b_{f} \) and has a specific delay constraint \( d_{f} \).

8.3.4 Problem Formulation

The aim is to minimize the power consumption of network nodes (i.e., switches, routers, etc.) over time, while guaranteeing QoS for the different traffic flows in aggregation network.

The problem can be formulated as follows:

GIVEN:

  • A physical topology represented by the graph G(V, E)

  • A set L of flows, each flow is associated with a couple of source–destination \( \left( {s,d} \right) \), is expecting a specific bit rate \( b_{f} \), and has a specific delay constraint \( d_{f} \).

FIND:

  • The optimal routing path for each flow that minimizes the network power consumption and at the same time ensures the adequate bit rate.

The goal is to jointly minimize the total network power consumption and ensure a good bandwidth for each video flow. In the following, we present in detail each term of the formulation.

8.3.4.1 Decision Variable

We introduce the binary variable \( x_{ij}^{f} \) to indicate whether the flow f is routed on link \( \left( {i, j} \right) \) or not, as follows:

$$ x_{ij}^{f} = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {{\text{if}}\;{\text{the}}\;{\text{flow}}\;f\;{\text{is}}\;{\text{routed}}\;{\text{on}}\;{\text{link}}\left( {i,j} \right)} \hfill \\ {0,} \hfill & {\text{Otherwise}} \hfill \\ \end{array} } \right. $$

8.3.4.2 Objective Functions

In our problem, we have two objectives: finding the path that ensures the highest bit rate for each flow and reducing the power consumption in the network.

The objective function related to maximizing the bit rate is given by the following equation:

$$ \begin{array}{*{20}l} {f\left( {x_{ij} } \right) = { \hbox{max} }\;\left( {w_{\text{path}}^{b} } \right)} \hfill & {\text{where}} \hfill & {w_{\text{path}}^{b} = \mathop {\hbox{min} }\limits_{{\left( {i,j} \right) \in E}} \left( {w_{ij}^{b} x_{ij}^{f} } \right)} \hfill \\ \end{array} $$

\( w_{\text{path}}^{b} \) represents the bit rate that a candidate path could offer for a given flow (i.e., path bit rate). Therefore, \( f\left( {x_{ij} } \right) \) selects the candidate path that offers the highest bit rate. Recall that the path bit rate \( w_{\text{path}}^{b} \) is the minimum of the available bit rate metric of individual links along the same path.

The objective function related to minimizing the power consumption at the network is

$$ g\left( {x_{ij} } \right) = \hbox{min} \sum\limits_{{\left( {i,j} \right) \in E}} {}_{ij}^{p} \;x_{ij}^{f} $$

8.3.4.3 Flow Conservation Constraints

We denote by \( A_{j}^{ - } = \left\{ {j \in V\;\left| {\;\left( {j, i} \right) \in E} \right.} \right\} \) and by \( A_{j}^{ + } = \left\{ {j \in V\;\left| {\;\left( {i,j} \right) \in E} \right.} \right\} \) the set of predecessor and successor nodes for any node \( j \in V \). The constraints specified in the following equation guarantee that each flow is transported from its origin to its destination.

$$ \sum\limits_{{j\; \in \;A_{j}^{ - } }} {x_{ij}^{f} } - \sum\limits_{{j\; \in \;A_{j}^{ + } }} {x_{ij}^{f} = \left\{ {\begin{array}{*{20}c} 1 & {{\text{if}}\;j = s} \\ { - 1} & {{\text{if}}\;j = d} \\ 0 & {\text{Otherwise}} \\ \end{array} } \right.} \quad \begin{array}{*{20}c} {\forall \;j\; \in \;V} & {\forall \;f\; \in \;F} \\ \end{array} $$

8.3.4.4 Node-Link Capacity Constraints

The following equation states that the total bit rate of flows affected to the same link \( \left( {i, j} \right) \) must be lower than the maximum link capacity to avoid congestion situation.

$$ \sum\limits_{f \in F} {} b_{f} \;x_{ij}^{f} \le \mu \;w_{ij}^{f} \quad \forall \left( {i,j} \right) \in V $$

8.3.4.5 Decision Variable Domain

$$ \begin{array}{*{20}l} {x_{ij}^{f} \; \in \left\{ {0, 1} \right\}} \hfill & {\forall \;f\; \in \;F} \hfill & {\forall \left( {i,j} \right) \in E} \hfill \\ \end{array} $$

In our problem, the selected routing path should provide the following: (i) presents the least power consumption and (ii) ensures the adequate bit rate. Our problem belongs to the class of Multiple Objective Combinatorial Optimization (MOCO) problems. It is known that MOCO problems are NP-hard and may be intractable (i.e., the number of efficient solutions may increase exponentially with the number of nodes) [13]. Thus, obtaining the optimal problem solution in large-scale scenarios cannot be viable. Therefore, to address our problem, we suggest a heuristic algorithm, called GoGreen routing algorithm, that has less computational complexity and enables us to find near-optimal solutions.

8.4 GoGreen Routing Algorithm

In order to design an efficient algorithm to solve the above problem, we first observe that an approach based on the use of k-shortest path algorithms would be an efficient heuristic for the solution of our problem. In the following, we give a small overview about the k-shortest path algorithms. Then, we present the suggested algorithm.

8.4.1 K-Shortest Path Algorithms

Routing in networks is usually associated with the computation of shortest paths. For instance, in the most widely used protocol Open Shortest Path First (OSPF ), each router runs the Dijkstra algorithm [14] to compute the shortest path from one router to other destinations using a given routing metric [15]. In Cisco equipments, the routing metric is defined to be the reference bandwidth (e.g., 10 Mbps) divided by the link bandwidth. However, Dijkstra is a single-shortest path algorithm (i.e., provides only one solution according to a given metric). Finding the path that minimizes the power consumption in network and offers the adequate bandwidth for the video delivery is a bi-objective problem. In this case, it is more relevant to compute a set of k-shortest paths between source and destination nodes to find the adequate path. The k-shortest path problem is a generalization of the single-shortest path problem in which k paths are determined in an increasing order of length. Epstein [16] focused on k-shortest path problem in which paths can contain loops. He proposed an algorithm that achieves the optimal time complexity \( O\left( {\left| E \right| + \left| V \right| \cdot { \log }\left| V \right| + k} \right) \). Finding k loop-less shortest path, such as in our context, has proved to be more challenging. Several studies have examined this problem [17,18,19,20]. Yen’s algorithm [19] is the most pertinent and fast k-shortest path algorithm without loops. It has a time complexity in \( O\left( {k \cdot \left| V \right| \left( {\left| E \right| + \left| V \right| \cdot { \log }\left| V \right|} \right)} \right) \). Therefore, we decided to use the Yen’s algorithm in our solution. However, as we do not compute paths based on the hop count metric, we modified the Yen’s algorithm in order to adapt to our case. Then, instead of looking for the k-shortest paths using the hop count metric, we compute the k paths that have the best available bandwidth or the least power consuming.

8.4.2 Algorithm Description

The GoGreen routing algorithm aims at reducing the network power consumption by considering both link available bandwidth and power consumption weights while computing the routing path. It is based on the computation of the k paths having the best weights using a modified version of Yen’s algorithm.

The proposed routing algorithm is summarized in Fig. 8.2. Some parameters are required to execute this algorithm, namely a graph of node G where each link is characterized with two weights \( \left( {w_{1} ;w_{2} } \right) \), a source–destination pair \( \left( {{\text{src}}; {\text{dst}}} \right) \) and the maximum number of the calculated shortest path k.

Fig. 8.2
figure 2

GoGreen routing algorithm

The algorithm starts by running Yen’s algorithm on the graph G. In the first step, the algorithm considers only the first weight w1 and calculates k candidate paths accordingly. In the case more than one feasible path is provided, the GoGreen algorithm sorts the candidate paths by the second weight \( w_{2} \) so that the first path has the best value of \( w_{2} \). After that, it selects the first path and returns it.

We identified two approaches to execute the proposed algorithm. In the first approach, we give priority to available bandwidth metric (i.e., \( w_{1} = w_{ij}^{b} \) and \( w_{2} = w_{ij}^{p} \)). In the second approach, the priority is given to power consumption metric (i.e., \( w_{1} = w_{ij}^{p} \) and \( w_{2} = w_{ij}^{b} \)).

  1. (1)

    Approach 1 (priority for available bandwidth metric): The GoGreen routing algorithm computes the k feasible shortest paths according to available bandwidth metric. In other words, the algorithm determines k paths that have the highest available bandwidth value. Recall that the bandwidth metric represents the minimum of the available bandwidth of individual links along this path. Then, among these candidate paths, it selects the path that presents the least end-to-end power consumption.

  2. (2)

    Approach 2 (priority for link power consumption metric): The GoGreen routing algorithm determines the k feasible shortest paths according to power consumption metric. After that, among the candidate paths, it selects the path with the highest available bandwidth. It is obvious, in this approach, that the priority is given to the power consumption of the path over its available bandwidth.

8.5 GoGreen Routing in SDN

GoGreen routing algorithm should be implemented in the SDN controller. One of the SDN controller features is his ability to have global view of the network topology including links properties (i.e., type, capacity, power consumption, etc.). As the SDN controller is hosted in a high-performance server or a data centre, processing and memory resources are no more constraints for using a k-shortest path algorithm. Figure 8.3 presents the exchanges between networking devices in the data plane with the SDN controller to establish the data path. When the edge node receives a packet data that is not associated with a specific flow entry, it encapsulates the packet header in an OF_PACKET_IN message and sends it to the SDN controller. This latter determines the source and destination associated with this packet and gets the network graph from its database. Then, it runs the GoGreen routing algorithm in order to compute a feasible path. After that, it prepares the OF_PACKET_OUT messages that are needed to prepare the routing path in the data plane. Finally, the SDN controller sends the OF_PACKET_OUT messages to networking devices belonging to the calculated path.

Fig. 8.3
figure 3

Data path establishment flow chart

The different steps related to the GoGreen routing algorithm execution in the SDN controller are depicted in Fig. 8.4. When the SDN controller receives an OF_PACKET_IN message, it analyzes the packet header. If the flow needs a specific bandwidth (e.g., the source IP address is subscribed in QoS service in the controller), the SDN controller determines the value of the parameter k (e.g., it can vary depending on network load) and run the GoGreen routing algorithm in mode approach 1. If the SDN controller decides that the new flow has no specific requirements in terms of QoS, then it determines the value of the parameter k and runs the GoGreen routing algorithm in mode approach 2. In both cases, the GoGreen routing algorithm execution results in a calculated routing path. After that, the SDN controller identifies the OF switches as well as their network interfaces that participate in this routing path. Then, it prepares and sends the OF_PACKET_OUT messages to the identified OF switches in order to install and configure the routing path in the data plane. If the routing path is installed successfully, the SDN controller updates its database with the new values of the “available bandwidth” metric associated with the links participating in this routing path.

Fig. 8.4
figure 4

GoGreen routing in SDN controller

8.6 Performances Evaluation

8.6.1 Simulation Setting

The performance of GoGreen routing algorithm is investigated through extensive simulations. We randomly generate a graph of 50 nodes with 300 links. For each link, we randomly associate two nodes. Each link is associated with two different weights: additive weight (i.e., power consumption) and concave weight (i.e., available bandwidth). Table 8.1 shows examples of link technologies used in access/aggregation networks, their maximal download bit rate (i.e., link capacity) as well as the maximum power consumption as specified in the CoC [6]. The link power consumption and capacity are randomly selected from this table. The load and available bandwidth on each link are initially set to zero and link capacity, respectively. After each path assignment, the load and available bandwidths of all links within the path are accordingly updated.

Table 8.1 Link technologies and their power consumption

The routing requests are generated according to Poisson distribution with the rate of λ. There are several types of multimedia traffic with different needs in terms of bandwidth utilization. Table 8.2 provides some examples of multimedia services and their requirement in terms of bit rates [21]. Therefore, for each routing request, we randomly assign a bit rate using a uniform distribution in the interval [500 kbps; 10 Mbps].

Table 8.2 Link technologies and their power consumption

8.6.2 Performance Metrics

We focus on the following metrics:

  • Success rate: it represents the percentage of routing requests where the calculated path ensures the required bit rate.

  • Total network power consumption: it is calculated as the sum of all path power consumption after assigning paths for all routing requests. The path power consumption is defined as the total power consumption of all links of the same path.

8.6.3 Simulation Results

In our simulations, Dijkstra bandwidth (i.e., Dijkstra algorithm using link available bit rate as a metric), Dijkstra energy (i.e., Dijkstra using link power consumption as a metric), and GoGreen routing are executed independently to find a feasible path. For each algorithm, we calculate total power consumption, energy gain, and success rate. Recall that Dijkstra bandwidth is the widely used algorithms in current routing protocols.

First, we take a look at the k parameter impact on the performance of the Dijkstra and GoGreen routing algorithms. For that, we vary the k value from 1 to 4 and we calculate the total power consumption and energy gain. The latter parameter is defined as the energy saving that our algorithm can realize compared to Dijkstra bandwidth. It is calculated as follows:

$$ {\text{energy}}\;{\text{gain}} = \frac{{{\text{power}}_{\text{GoGreen}} - {\text{power}}_{\text{Dijkstra}} }}{{{\text{power}}_{\text{Dijkstra}} }} $$

For the routing requests generation, we generated 1000 sampling events. At each event, we use the Poisson distribution (\( \lambda = 10\;{\text{requests}}/{\text{s}} \)) to generate a number of routing requests.

Figures 8.5 and 8.6 show the total power consumption and the energy gain, respectively, as a function of the parameter k for the four simulated algorithms. The total power consumption of Dijkstra bandwidth and Dijkstra energy is the same for all values of k. This can be explained by the fact that Dijkstra provides only one path and does not depend on the parameter k. Dijkstra bandwidth presents the highest power consumption compared to the rest of algorithms as it considers only the bandwidth as a metric. As expected, Dijkstra energy presents the least total power consumption as it searches, for each routing request, the path with the least power consumption. GoGreen routing algorithm considers both metrics: available bandwidth and power consumption.

Fig. 8.5
figure 5

Total power consumption

Fig. 8.6
figure 6

Energy gain versus k parameter

In GoGreen (approach 1), k-shortest path is determined by using the bandwidth metric. Among these k paths, the path with the least power consumption is selected. The total power consumption of GoGreen (approach 1) decreases when the parameter k increases. This is expected because when the k-shortest path algorithm produces more candidate paths, a path with a relatively good bandwidth and a lower power consumption will be selected. As we can see in Fig. 8.5, GoGreen (approach 1) can realize from 10% to of 20% energy saving when k varies from 2 to 4.

In GoGreen (approach 2), k-shortest path is determined by using the link power consumption metric. Among these k paths, the path with the highest bandwidth is selected. The total power consumption of GoGreen (approach 2) increases when the parameter k increases. In fact, when the k-shortest paths produce more candidate paths, a path with a better bandwidth and a higher power consumption will be selected. GoGreen (approach 2) can realize more than 50% of energy saving.

Figure 8.6 presents the energy saving that GoGreen routing in both approaches could achieve compared to Dijkstra bandwidth. As it is observed, GoGreen (approach 1) routing allows around 10% energy saving. Further, GoGreen (approach 2) routing allows more than 80% of energy saving.

In the second simulation set, we set the parameter k to 2 for GoGreen routing algorithms. Then, we investigate the λ parameter (i.e., flow arrival rate) impact on the performance of the Dijkstra bandwidth, Dijkstra energy, and GoGreen routing algorithm. For doing that, we vary the λ value from \( 0.01\;{\text{flows}}/{\text{s}} \) to \( 1\;{\text{flows}}/{\text{s}} \) and we calculate the total power consumption, energy gain, and the success rate.

Figure 8.7 shows the total power consumption as a function of parameter λ. We note that the gap between the total power consumption of GoGreen (approach 1) and that of Dijkstra bandwidth increases as λ increases. Total power consumption of GoGreen (approach 2) is almost equivalent to that of Dijkstra energy.

Fig. 8.7
figure 7

Total power consumption as a function of λ (k = 2)

For each traffic flow, we check if the bandwidth advanced by the computed path can satisfy the bandwidth required by the arriving flow. Therefore, the success rate is calculated as the sum of satisfied flow divided by the total number of flows. The success rate as a function of lambda is depicted in Fig. 8.8. As expected, the success rate decreases when lambda increases. Dijkstra bandwidth and GoGreen routing present a better success rate. Dijkstra energy presents the lowest success rate. Although this algorithm achieves the highest energy saving (80%), more than 90% of flows are not satisfied in terms of bandwidth. In fact, Dijkstra energy algorithm considers the link power consumption as the only routing metric while computing paths for each flow, without considering available bandwidth. As observed, GoGreen routing can save energy (around 10% compared to Dijkstra bandwidth) while having the same success rate as Dijkstra bandwidth. As GoGreen routing algorithm considers both the link power consumption and available bandwidth while computing paths, the flows requirement in terms of bandwidth are more likely to be satisfied.

Fig. 8.8
figure 8

Success rate as a function of λ (k = 2)

8.7 Conclusion

In this book chapter, we suggested a novel routing algorithm, called GoGreen routing, where the computed path respects the traffic requirement in terms of QoS and at the same time consumes less energy. It considers two metrics, namely link available bandwidth and power consumption. We also suggested two approaches depending on metric priority for network operators. In GoGreen (approach 1), the priority is given to the available bandwidth metric over power consumption. In GoGreen (approach 2), the link power consumption is prioritized. Through extensive simulations, we showed that GoGreen (approach 1) can reduce network power consumption and at the same time, ensures a good QoS comparable to what is achieved by Dijkstra algorithm when using a bandwidth-based metric.