The Minimum Cost D-Geodiverse Anycast Routing with Optimal Selection of Anycast Nodes

Consider a geographical network with associated link costs. In anycast routing, network nodes are partitioned into two sets - the source nodes and the anycast (destination) nodes - and the traffic of each source node is routed towards the anycast node providing the minimum routing cost path. By considering a given geographical distance parameter D, we define an anycast routing solution as D-geodiverse when for each source node there are two routing paths, each one towards a different anycast node, such that the geographical distance between the two paths is at least D. Such a solution has the property that any disaster with a coverage diameter below $D$ affecting one routing path (but without involving neither the source node nor its entire set of outgoing links) cannot affect the other path, enhancing in this way the network robustness to natural disasters. The selection of the anycast nodes has an impact both on the feasibility and cost of a D- geodiverse anycast routing solution. Therefore, for a desired number of anycast nodes R, we define the minimum cost D- geodiverse anycast problem (MCD-GAP) aiming to identify a set of $R$ anycast nodes that obtain a minimum cost routing solution. The problem is defined based on integer linear programming and is extended to consider the existence of vulnerability regions in the network, i.e., by imposing the geographical distance $D$ only between network elements belonging to the same region. We present computational results showing the tradeoff between $D$ and $R$ in the optimal solutions obtained with and without vulnerability regions.


INTRODUCTION
Due to the rising risk of natural disasters (hurricanes, floods, earthquakes), disaster based failures are frequently disrupting telecommunication networks [1].When a disaster occurs, the typical assumption is that all network elements covered by the disaster are shut down.It is then important to minimize the disaster impact outside the disaster area (the pre-disaster problem) and network planning and management tools, as in [2], are important for mitigating the impact of disasters, and more generally of spatially correlated failures [3].The network preparedness to natural disasters can be improved through path geodiversity [4], i.e., to take into consideration the geographical diversity of the network topology when making routing decisions.In [5][6], a routing protocol is proposed able to provide multiple geographically diverse paths to end nodes.In [7][8], a path geodiversity strategy is exploited assuming that a pair of routing paths is First version of the paper was submitted while Dorabella Santos was with Instituto de Telecomunicações, Aveiro, Portugal.During the final version revision, she was with INESC-Coimbra which she joined on 1 Dec. 2018.defined for each pair of nodes, where the two paths are geographically separated by a minimum distance D. The separation is defined as the minimum distance between intermediate nodes of one path and of the other path [7] or between intermediate elements (nodes and links) of one path and all elements of the other path [8].The aim is that a disaster with a geographical coverage lower than D affecting intermediate elements of one path does not affect the other path.In [9][10], two close problems are addressed both considering a generalization of the min-cut and max-flow problems under geographic failures which are modelled as circular disks.Path geodiversity has also been exploited recently in the context of optical core networks [11][12][13].
These works, though, consider geodiversity routing for unicast communications.On the other hand, anycast routing is becoming increasingly important.Two major examples are Content Delivery Networking (CDN) and Software Defined Networking (SDN).In CDN, content is replicated over multiple data centers (DCs) and users retrieve content from the closest DC hosting it.The placement of content replicas on a supporting network is known as the Replica Placement Problem (RPP).In SDN, the network control plane is separated from the data plane and is based on a set of physically distributed SDN controllers.Then, in a logically centralized control plane, switches query the closest (primary) controller for routing decisions.The placement of controllers over the data plane network is known as the Controller Placement Problem (CPP).
Both CDN and SDN robustness against failures has been recently addressed.In [14], integer linear programming (ILP) and heuristic methods are proposed for the combined RPP and routing assignment in optical networks, where disasters are modeled as Shared Risk Groups (SRGs).In [15], a probability disaster model is assumed and a disaster-aware dynamic content-management algorithm is proposed to dynamically adapt the replica placement according to disaster probability updates so that the expected content loss is reduced at any time (see [16] for a more detailed survey).In [17][18][19], the CDN robustness to link cut attacks is studied which includes appropriate vulnerability measures [17][18] and a method to determine RPP Pareto-optimal solutions between user-to-replica distance and attack robustness [18].Different works have also addressed resilient CPP variants in the context of SDN.In [20], controllers are assumed to fail with a given probability and the average delays take into account failure probabilities.In [21], a CPP is proposed guaranteeing two node disjoint paths from each switch to its primary controller, and another CPP guaranteeing node disjoint paths from each switch to its primary and to its backup controller.In [22], the resilient capacitated CPP is addressed considering multiple controller failures where each switch has a given traffic load and controllers have an associated capacity.Assuming that an attacker knows the data plane topology but is unaware of the controller locations, the network vulnerabilities to centrality-based attacks are studied in [23] and the controller locations are proposed to be the nodes least chosen by the different attacks.In [24], CPP solutions are based on a failure correlation assessment of nodes (and links) and different types of minimal cut sets (composed of nodes and/or links) are considered to assess the network unavailability.Optimization methods are proposed in [25][26] to compute the most robust CPP solutions to malicious node attacks.
None of these works exploit geodiversity routing as a means to enhance the network preparedness to natural disasters.The closest work is [14] which studies the content placement, routing, and protection of paths on a datacenter over optical network scenario but SRGs modeling disasters must be known a priori.In SDN, [21] exploits the idea of having two node disjoint paths from each switch (one to its primary and another to its backup controller) to protect the SDN control plane to single node failures and geodiversity routing is a natural extension of such work.To the best of our knowledge, the selection of the anycast nodes exploiting the path geodiversity concept has not been addressed.
Consider a given network with associated link costs.In anycast routing, network nodes are partitioned into two setsthe source nodes and the anycast nodes -and the traffic of each source node is routed towards the anycast node providing the minimum routing cost path.For a given geographical distance D, we define an anycast routing solution as being D-geodiverse when for each source node there are two routing paths, each one towards a different anycast node, such that the geographical distance between the two paths is at least D. Similar to the unicast case, this solution has the property that any disaster with a coverage diameter below D affecting one routing path (but without involving neither the source node nor its entire set of outgoing links) cannot affect the other path.Then, for a desired number of anycast nodes R, we define the minimum cost D-geodiverse anycast problem (MCD-GAP) aiming to identify a set of R anycast nodes that obtain a minimum cost routing solution.MCD-GAP is defined based on integer linear programming and is extended to consider the existence of vulnerability regions in the network, i.e., by imposing the minimum geographical distance D only between network elements belonging to the same region.This paper is organized as follows.Section II defines the concept of a pair of -geodiverse paths in the anycast context.Section III describes the MCD-GAP through integer linear programming both with and without vulnerability regions.Section IV presents the computational results and analyses the tradeoff between the geographical distance D and the number of anycast nodes R in the optimal solutions.Finally, Section V presents the main conclusions of the work.

II. PAIR OF -GEODIVERSE ANYCAST PATHS
For a given set of anycast nodes on a given geographical network, a pair of D-geodiverse anycast paths starting at a given source node is a pair of node disjoint routing paths, each one towards a different anycast node, and whose minimum distance is at least D. Consider the example of Fig. 1 with 8 nodes (1 to 8) and 11 links (a to k) whose geographical routes are represented as graph edges.In this example, consider the source node 1 and the anycast nodes 3, 5 and 8 (highlighted in gray).In Fig. 2a, the minimum distance is the minimum distance between node 5 and link b.In this case, any disaster with a geographical coverage below can only affect both paths if it covers either the source node 1 or simultaneously links a and e.Otherwise, source node 1 will always be able to communicate with an anycast node.In Fig. 2b, the minimum distance is the distance between nodes 5 and 8 and in Fig. 2c, the minimum distance is the minimum distance between node 4 and link a.Assuming < < , if the required D is lower than , all solutions are feasible and the best solution is the one whose total link cost in both paths is minimal.Otherwise, the feasible solutions are the ones whose minimum distance is not lower than D. If > , none of the solutions is feasible for these anycast nodes.In this case, either a different set of anycast nodes can enable the existence of a pair of D-geodiverse anycast paths for node 1 or a feasible solution is always to consider node 1 as an anycast node.The geographical distance between two links and , denoted by ( , ), is the minimum distance between any point of one link and any point of the other link.Since the geographical distance between two links and is always lower or equal to the geographical distance between any end node of and any end node of , to guarantee the minimum distance D between two routing paths, we only need to consider the distances between links.
Nevertheless, special care is required for the links incident to the source node.In a pair of routing paths, one of these links must belong to one path and another of these links must belong to the other path and, by the previous definition, the distance between these links is 0 (they share the source node).In this case, we define their distance based on their non-common end nodes.Consider two links a and b sharing source node whose end nodes are ( , ) and ( , ) , respectively.Consider = ( , ) and = ( , ) as the distance between the end nodes of links a and b, respectively.The distance from to is defined as = ( , ) if ( , ) < , or = +∞ otherwise.Similarly, the distance from to is defined as = ( , ) if ( , ) < , or = +∞ otherwise.Then, the geographical distance ( , ) is defined as ( , ) = min( , ).
Fig. 3a shows one example of a source node s connected to three neighbor nodes: node 1 through link , node 2 through link and node 3 through link .Consider first the pair of links and .In Fig. 3b, the minimum distance from node 1 (the non-common end node of link a) to link b is shorter than the distance from node 1 to the source node s.On the other hand, the minimum distance from node 2 to link a is .So, ( , ) = min( , +∞) = .In the other two link pairs ( and , and ), the minimum distance between the non-common end node of one link and the other link is always its distance to the source node and, so, ( , ) = ( , ) = +∞.In practice, considering these distances infinite is equivalent to ignoring their distance.The reason is that if both links are in the two routing paths, the minimum coverage disaster that shuts down the noncommon end node of one link and the other link also shuts down the source node and such a disaster cannot be protected (recall that a disaster involving the source node cannot be protected by any pair of anycast paths).Consider a geographical network with a set of nodes N and a set of links L. Since the geographical distances, as defined before, depend on the source node ∈ , we define set for a given minimum distance D and for each node ∈ composed by the pairs of links p and q such that ( , ) < , i.e., is the set of link pairs that cannot belong simultaneously to both routing paths (one in each path).The different sets differ between them only on the pairs of links sharing the source node s.These sets will be used in next section to define the appropriate geodiversity constraints.Note that, by default, each set includes all pairs of links with a common end node when this node is not the source node s (their geographical distance is 0, which is always below D).For reasons that will be clear in the next section, we exclude these link pairs from each set .

III. MINIMUM COST -GEODIVERSE ANYCAST PROBLEM
Consider the set of nodes N and the set of links L of a geographical network.Each link ∈ connecting two nodes is modelled by two opposite arcs ( , ) and ( , ) where and are the link end nodes.Consider the network modelled by a directed graph = ( , ) where is set of all arcs of the network and is the cost of using arc ( , ) ∈ on each routing path.Arc costs can have different meanings but in most CDN and SDN works represent delays so that the routing cost minimization aims to minimize the average routing delay.For a desired geographical distance D and number of anycast nodes R, the MCD-GAP aims to select anycast nodes such that for each other node in the network there is a pair of D-geodiverse anycast paths and the total routing cost is minimized.

A. MCD-GAP without Vulnerability Regions
For each node ∈ and the minimum geographical distance D, consider the set of link pairs as defined in Section II.MCD-GAP is formulated as an integer linear programming (ILP) model with the following variables: binary variable that is 1 if node is selected as an anycast node, or 0 otherwise ∈ {0,1} binary variable that is 1 if node is the destination node of the first path of source node , or 0 otherwise ∈ {0,1} binary variable that is 1 if node is the destination node of the second path of source node , or 0 otherwise ∈ {0,1} binary variable that is 1 if arc ( , ) belongs to the first path of source node , or 0 otherwise ∈ {0,1} binary variable that is 1 if arc ( , ) belongs to the second path of source node , or 0 otherwise Consider ( ) as the set of all neighboring nodes of , i.e., all nodes that are connected to by an arc in .Also consider the binary parameters , for all , ∈ , which are equal to 1 when = and equal to 0 when ≠ .An ILP model defining MCD-GAP is given by: Subject to: + ≤ ∈ , ∈ \{ } (6) , ∈ {0,1} ∈ , ( , ) ∈ , ∈ {0,1} ∈ , ∈ ∈ {0,1} ∈ The objective function ( 1) is the minimization of the total cost of all pairs of routing paths.Constraints (2) guarantee that a total of nodes are selected as anycast nodes.
Constraints (3)(4) are the path conservation constraints for the two routing paths of each source node ∈ .Constraints (3) guarantee that variables define the first routing path from node s to the destination node i (i.e., the node i such that = 1).Constraints (4) are the equivalent to constraints (3) for the second routing path from node s to the node i such that = 1.If both destination nodes are the source node s (i.e., when = 1 and = 1) constraints (3) let variables be set to 0 and constraints (4) let variables be set to 0, which means that constraints (3-4) let both routing paths be empty.Constraints (5) guarantee that the two routing paths cannot share any node besides the source node s (i.e., the two routing paths are node disjoint).
Constraints (6-8) guarantee a proper selection of destination nodes for all pairs of routing paths.Constraints (6) guarantee that all destination nodes are anycast nodes.If the source node s is an anycast node, constraints (7) guarantee that it is also the destination node of its two routing paths (recall that in this case, constraints (3-4) allow the routing paths to be empty).Otherwise, constraints (8), together with constraints (6), guarantee that the destination nodes are two different anycast nodes for each source node s.
Constraints (9-10) are the geodiversity constraints, i.e., they guarantee that all pairs of routing paths are Dgeodiverse.For each node ∈ and each pair of links ( , ) ∈ , if one of the arcs of link p is in the first path (constraints (9)) or in the second path (constraints (10)), none of the arcs of link q can be in the second path nor in the first path, respectively.Otherwise, if one of the arcs of link q is in the first path (constraints (10)) or in the second path (constraints ( 9)), none of the arcs of link p can be in the second path nor on the first path, respectively.Finally, constraints (11)(12)(13) are variable domain constraints.
Depending on value D, the number of link pairs of sets (and, consequently, the number of constraints (9-10)) can be too large.The node disjoint constraints (5) are a compact set of constraints guaranteeing that the pairs of links sharing a common end node cannot be simultaneously in the pair of routing paths.Therefore, such link pairs do not need to be included in sets (as described at the end of Section II).Our computational tests showed that this approach not only reduces the solution runtime of many problem instances but also reduces the number of instances that cannot be solved to optimality due to out-of-memory issues.
Nevertheless, this ILP model has the symmetry problem that makes it hard to be solved for all our instances of interest.This problem is due to the fact that each pair of routing paths is represented by two mathematical solutions, one solution where variables and represent the paths in one order and another where the same variables represent the paths in the reverse order.We mitigated the symmetry problem with the following variable elimination rule.For each source node ∈ , we take the first pair of links ( , ) ∈ with s as a common end node.If such link pair does not exist, we do nothing.If it exists, since both links cannot be simultaneously used, we impose (without any lack of generality) that they can be used only in the first routing path of source node s by setting to 0 the four variables ( , , and ) associated with the second routing path.Our computational tests showed that this variable elimination rule further reduces the solution runtime of many problem instances and solves the out-of-memory issues of almost all of the problem instances.

B. MCD-GAP with Vulnerability Regions
MCD-GAP, as defined by the previous ILP model, assumes that a disaster can happen at any geographical area of the network and, therefore, requires all pairs of anycast paths to be geographically separated by at least D in all their extension.In practice, the probability of natural hazards is not uniform and network operators might want to tailor the network robustness to the different hazard types and regions of their networks, which are referred as vulnerability regions.Moreover, the network operator might consider a different minimum geographical separation between each pair of paths for each vulnerability region, depending on its hazard type.So, consider a set of V vulnerability regions and a minimum geographical distance associated to each region = 1 … .The aim is that each pair of paths must be node disjoint outside regions and must be -geodiverse inside each vulnerability region = 1 … .
The proposed ILP model can consider vulnerability regions by only redefining sets .We first compute the links belonging to each vulnerability region as the ones that are incident on nodes belonging to the region and/or intersect the region (each link can belong to multiple regions).Then, for each node ∈ , the set is composed by all pairs of links ( , ) that belong to the same region v such that ( , ) < . If a pair of links belongs to more than one vulnerability region, we impose the largest minimum geographical distance among all involved regions.

IV. COMPUTATIONAL RESULTS
We have conducted a set of computational tests in order to assess the efficiency of branch-and-cut methods to solve the MCD-GAP and to analyze the tradeoff between the geographical distance D and the number of anycast nodes R in the optimal solutions.The ILP model was implemented in C++ using CPLEX 12.6 callable libraries running 8 threads.All problem instances were solved on a 16 core server with 64 GB of RAM running Windows OS.In the tests, we have used Germany50 network (Fig. 4a) with 50 nodes, 88 links and an average node degree of 3.52 (information available at sndlib.zib.de) and CORONET CONUS network (Fig. 5a) with 75 nodes, 99 links and an average node degree of 2.64 (information available at monarchna.com/topology.html).In both cases, all distances were computed considering that links follow the shortest path over the terrestrial surface.With these assumptions, the graph diameter (the longest shortest path between any two nodes) is 934 km for Germany50 and 6472 km for CORONET CONUS.For the instances with vulnerability regions, we have considered publicly available natural hazard maps for the countries harboring the two networks.For Germany50, we considered the Germany seismic hazard map [27].An approximation of the two most hazardous regions (level VI-VIII in [27]) was used to define the two vulnerability regions shown in Fig. 4b.For CORONET CONUS, we considered the USA natural hazard risk map which jointly considers risk maps for earthquakes, floods, tornados and hurricanes (available at http://alertsystemsgroup.com/earthquake-earlywarning/informative-maps).Approximations of the most hazardous regions were considered to define the three vulnerability regions shown in Fig. 5b: the left region is most prone to earthquakes, the middle region is most prone to tornados and the right region is most prone to hurricanes.
In the computational tests, we have assumed five different values for the geographical distance: D = 20, 40, 60, 80 and 100 Km for the smallest Germany50 and D = 60, 120, 180, 240 and 300 Km for the largest CORONET CONUS.For comparative analysis, the instances with vulnerability regions consider the same value of D in all regions (i.e., = for all = 1 … ).For each value of D, we have solved the problem instance for all meaningful values of R, i.e., for R = 2…|N| -1.Fig. 6 presents the optimal cost values of all Germany50 feasible problem instances without vulnerability regions (Fig. 6a) and with vulnerability regions (Fig. 6b).For comparison reasons, we repeat in Fig. 6c the results with and without vulnerability regions for D = 40 and 100 Km (the pairs of values D and R not present in these figures are the ones whose problem instances are infeasible).The results of Fig. 6a and 6b show some expected conclusions.Firstly, the optimal solution cost increases with larger geographical distances D: when requiring more geographically separated pairs of anycast paths, they become longer and, therefore, the average cost of all pairs of anycast paths becomes higher.Secondly, the optimal solution cost decreases with higher number of anycast nodes R: with more anycast nodes, there are more possible destination nodes nearby each source node and, therefore, the average cost of all pairs of anycast paths becomes lower.Finally, the minimum number of anycast nodes R increases with larger values of D: when requiring more geographically separated pairs of anycast paths, more nodes must be selected as anycast nodes (recall the discussion in Section II with the example of Fig. 2).
Comparing the results with and without vulnerability regions, we reach two key conclusions.Firstly, for the pairs of values D and R such that both cases are feasible, there are cost gains in considering vulnerability regions.Moreover, these cost gains are higher for higher values of D (in Fig. 6c, the cost differences is small for D = 40 Km and become very large for D = 100 Km).Secondly, the minimum required number of anycast nodes R is lower for each value of D when vulnerability regions are considered (i.e., we obtain the same robustness level to natural disasters with fewer anycast nodes).Moreover, this reduction is higher for higher values of D (in Fig. 6c, the minimum number of anycast nodes reduces from 3 to 2 when D = 40 Km and 18 to 6 when D = 100 Km).So, the more robust against natural disasters the operator aims for its network, the more important it is to consider vulnerability regions.A careful characterization of the vulnerability regions lets the operator get either more robust solutions for the same number of anycast nodes or lower number of anycast nodes to reach the same desired robustness to natural disasters.
Concerning the efficiency of CPLEX while solving the Germany50 instances, our tests have shown that the 32-bit CPLEX version is, on average, more efficient than the 64-bit CPLEX version, as long as the required memory does not explode.By default, we have solved all instances with the 32-bit version.Six of all instances ended by out-of-memory: the instances without vulnerability regions for D = 100 Km and R from 14 to 19.These instances were then solved successfully with the 64-bit version.Fig. 7 presents the CPLEX runtime values (in seconds) of all Germany50 instances.The instances without geographical regions are separated in: the hardest cases of D = 80 and 100 Km (Fig. 7a) and the easiest cases of D = 20, 40 and 60 Km (Fig. 7b).The instances with geographical regions are presented together for all cases (Fig. 7c).
These results include the runtime values of the infeasible problem instances.These results show that, without vulnerability regions, the instances become very hard to solve for larger values of D. For D up to 60 Km, the worst runtime is under 50 seconds (Fig. 7b) and becomes 1030 seconds for D = 80 Km and almost 20500 seconds (around 5 hours and 40 minutes) for D = 100 Km (Fig. 7a).On the other hand, the instances with vulnerability regions are much easier (Fig. 7c) in all cases although, once again, the runtime values are higher for larger values of D.
Fig. 8 presents the optimal cost values of all CORONET CONUS feasible problem instances for the cases without (Fig. 8a) and with vulnerability regions (Fig. 8b).Once again, we repeat in Fig. 8c the results with and without vulnerability regions now for D = 120 and 300 Km.These results exhibit the same trends but with greater differences than the previous Germany50 results.The results of Fig. 8c show that for the smaller value of D = 120 Km, the minimum number of anycast nodes is R = 14 with a cost of 223008 without vulnerability regions (the anycast nodes of the optimal solution shown in Fig. 9a).On the other hand, with the vulnerability regions the minimum number of anycast nodes is R = 10 with a cost of 266560 while this cost is reduced to 200217 if R = 11 and to 126362 if R = 14 (in the latter case, the anycast nodes of the optimal solution are shown in Fig. 9b).So, by considering the vulnerability regions, the operator can obtain the same robustness against natural disasters with: (i) a cost reduction of 10.2% (from 223008 to 200217) and at the same time a reduction on the number of anycast nodes from 14 to 11 or (ii) a cost reduction of 43.3% (from 223008 to 126362) with the same number of 14 anycast nodes.
The optimal anycast nodes presented in Fig. 9 highlight a very interesting observation.To fulfil the geodiversity requirements, anycast nodes are mainly located on the network parts containing closer nodes and shorter links in the whole network (Fig. 9a) or only inside the vulnerability regions (Fig. 9b).When the vulnerability regions are considered, since outside these regions there are no geodiversity requirements, anycast nodes are placed more uniformly throughout the network obtaining in this way the huge cost reduction of 43.3% as already observed.Fig. 10 presents the CPLEX runtime values (in seconds) of all CORONET CONUS instances without (Fig. 10a) and with vulnerability regions (Fig. 10b).All instances were now successfully solved by the 32-bit CPLEX version.These instances are easier to solve than the Germany50 ones since the worst runtime value is below 22 (and 19) seconds among all problem instances without (and with) vulnerability regions.Note that the ILP models of CORONET CONUS instances are much larger (more variables and constraints) than the ones of Germany50 instances (usually, larger ILP models are harder to solve).In this case, the average node degree of CORONET CONUS is much lower than the one of Germany50, which implies that the number of possible paths between pairs of nodes is smaller which, in turn, makes the problems easier to solve.As a final observation, unlike Germany50 where the highest runtime values were for the larger values of D, for CORONET CONUS the highest runtime values are for the smallest values of .

V. CONCLUSIONS
In this work, we have exploited path geodiversity in anycast communications as a means to enhance the network robustness against natural disasters.We have defined and solved the minimum cost D-geodiverse anycast routing problem with optimal selection of anycast nodes, based on integer linear programming, and extended it to consider the existence of vulnerability regions.We have presented computational results based on two well-known network topologies using real information of their hazard regions.
We were able to compute the optimal solutions for all parameters of interest.The results showed that, in general, improving the robustness to natural disasters increases the routing costs and requires a higher minimum number of anycast nodes.More importantly, a careful characterization of the vulnerability regions allows the operator to achieve either improved robustness with the same cost and number of anycast nodes or reduced number of anycast nodes and routing costs for the same robustness.Finally, anycast nodes in optimal solutions are mainly located on the network parts containing closer nodes and shorter links in the whole network, if no vulnerability regions are considered, or only inside vulnerability regions, otherwise.

Fig. 2
Fig. 2 presents 3 pairs of anycast paths (thick links) with the minimum distance between each pair highlighted in red.In Fig.2a, the minimum distance is the minimum distance between node 5 and link b.In this case, any disaster with a geographical coverage below can only affect both paths if it covers either the source node 1 or simultaneously links a and e.Otherwise, source node 1 will always be able to communicate with an anycast node.In Fig.2b, the minimum distance is the distance between nodes 5 and 8 and in Fig.2c, the minimum distance is the minimum distance between node 4 and link a.Assuming < < , if the required D is lower than , all solutions are feasible and the best solution is the one whose total link cost in both paths is minimal.Otherwise, the feasible solutions are the ones whose minimum distance is not lower than D. If > , none of the solutions is feasible for these anycast nodes.In this case, either a different set of anycast nodes can enable the existence of a pair of D-geodiverse anycast paths for node 1 or a feasible solution is always to consider node 1 as an anycast node.

Fig. 3 .
Fig. 3. Geographical distance betweek links incident to the source node s.

Fig. 6 .
Fig. 6.Optimal costs of Germany50 without (a) and with (b) vulnerability regions.In (c), the costs with (labelled with *) and without vulnerability regions for D = 40 and 100 Km.

Fig. 8 .
Fig. 8. Optimal costs of CORONET CONUS without (a) and with (b) vulnerability regions.In (c), the costs with (labelled with *) and without vulnerability regions for D = 120 and 300 Km.