32
INTERNET ROUTING AND RELATED TOPOLOGY ISSUES WALID BEN-AMEUR AND ERIC GOURDIN SIAM J. DISCRETE MATH. c 2003 Society for Industrial and Applied Mathematics Vol. 17, No. 1, pp. 18–49 Abstract. In most domains of the Internet network, the traffic demands are routed on a single- path defined as the shortest one according to a set of administrative weights. Most of the time, the values set by the administrator (or the default ones) are such that there are many paths of the same length between the extremities of some demands. However, if the shortest paths are not unique, it might become difficult for an Internet domain administrator to predict and control the traffic flows in the network. Moreover, the sequence order of packets can be changed when many paths are used leading to some end-to-end delays. It is hence an important issue to ensure that each shortest path is unique according to a given set of administrative weights. We show that it is possible to determine a set of small integer weights (smaller than 6 times the radius of the network) such that all links are used and every demand is routed on a unique shortest path. Above and beyond this uniqueness requirement, network administrators wishing to exploit the available resources would like to control the whole routing pattern. The problem they face consists of determining a set of weights enforcing a given routing policy. We formulate this problem using linear programs, and we show how integer weights can be computed by heuristics with guaranteed worst-case performances. Some conditions on the given routing, necessary for the existence of a solution, are derived. Both necessary and sufficient conditions are also provided, together with some other useful properties, in the case of particular graphs such as cycles and cacti. Key words. Internet network, shortest path routing, graph topology AMS subject classifications. 05C05, 05C38, 05C85, 65K05, 90B18 DOI. 10.1137/S0895480100377428 1. Introduction. During the last few years, Internet usage has grown rapidly and there are huge bandwidth requirements for most telecommunication services. Many telecommunication companies are even building their own Internet backbone network designed for large traffic volumes. The routing of the flows of traffic in an Internet network is completely determined by the choice of a routing protocol and the setting of its parameters. This latter task is devoted to a so-called network administrator or supervisor. The network administrator will usually set or try to set these routing parameters in order to achieve several goals: the first and most obvious one is to optimize the performances of the network. Although this criterion can be interpreted in many different ways, it most often reduces to avoid congestion and therefore to the ability to direct flow where network resources are available. However, this is not the only goal of the network administrator. One of his main duties is indeed to administrate, that is, to know exactly what is going on in the network and to know how to react when something goes wrong. Therefore, the natural trend is to keep things as simple as possible and to avoid the use of too many parameters. From a pure optimization point of view, there is no doubt that the most efficient way to avoid congestion, for instance, by keeping the maximum load as low as possible, would be to split the traffic freely over all the network. However, it is a maybe not so Received by the editors August 31, 2000; accepted for publication (in revised form) January 14, 2003; published electronically September 17, 2003. http://www.siam.org/journals/sidma/17-1/37742.html Institut National des T´ el´ ecommunications, 9 rue Charles Fourier, 91011 Evry, France (walid. [email protected]). France Telecom R&D, 38–40, rue du G´ en´ eral Leclerc, 92794 Issy–les–Moulineaux, France (eric. [email protected]). 18 Downloaded 12/05/14 to 141.209.144.122. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php

Internet Routing and Related Topology Issues

  • Upload
    eric

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES∗

WALID BEN-AMEUR† AND ERIC GOURDIN‡

SIAM J. DISCRETE MATH. c© 2003 Society for Industrial and Applied MathematicsVol. 17, No. 1, pp. 18–49

Abstract. In most domains of the Internet network, the traffic demands are routed on a single-path defined as the shortest one according to a set of administrative weights. Most of the time, thevalues set by the administrator (or the default ones) are such that there are many paths of the samelength between the extremities of some demands. However, if the shortest paths are not unique, itmight become difficult for an Internet domain administrator to predict and control the traffic flowsin the network. Moreover, the sequence order of packets can be changed when many paths are usedleading to some end-to-end delays. It is hence an important issue to ensure that each shortest pathis unique according to a given set of administrative weights. We show that it is possible to determinea set of small integer weights (smaller than 6 times the radius of the network) such that all linksare used and every demand is routed on a unique shortest path. Above and beyond this uniquenessrequirement, network administrators wishing to exploit the available resources would like to controlthe whole routing pattern. The problem they face consists of determining a set of weights enforcinga given routing policy. We formulate this problem using linear programs, and we show how integerweights can be computed by heuristics with guaranteed worst-case performances. Some conditions onthe given routing, necessary for the existence of a solution, are derived. Both necessary and sufficientconditions are also provided, together with some other useful properties, in the case of particulargraphs such as cycles and cacti.

Key words. Internet network, shortest path routing, graph topology

AMS subject classifications. 05C05, 05C38, 05C85, 65K05, 90B18

DOI. 10.1137/S0895480100377428

1. Introduction. During the last few years, Internet usage has grown rapidlyand there are huge bandwidth requirements for most telecommunication services.Many telecommunication companies are even building their own Internet backbonenetwork designed for large traffic volumes.

The routing of the flows of traffic in an Internet network is completely determinedby the choice of a routing protocol and the setting of its parameters. This lattertask is devoted to a so-called network administrator or supervisor. The networkadministrator will usually set or try to set these routing parameters in order to achieveseveral goals: the first and most obvious one is to optimize the performances of thenetwork. Although this criterion can be interpreted in many different ways, it mostoften reduces to avoid congestion and therefore to the ability to direct flow wherenetwork resources are available. However, this is not the only goal of the networkadministrator. One of his main duties is indeed to administrate, that is, to knowexactly what is going on in the network and to know how to react when somethinggoes wrong. Therefore, the natural trend is to keep things as simple as possible andto avoid the use of too many parameters.

From a pure optimization point of view, there is no doubt that the most efficientway to avoid congestion, for instance, by keeping the maximum load as low as possible,would be to split the traffic freely over all the network. However, it is a maybe not so

∗Received by the editors August 31, 2000; accepted for publication (in revised form) January 14,2003; published electronically September 17, 2003.

http://www.siam.org/journals/sidma/17-1/37742.html†Institut National des Telecommunications, 9 rue Charles Fourier, 91011 Evry, France (walid.

[email protected]).‡France Telecom R&D, 38–40, rue du General Leclerc, 92794 Issy–les–Moulineaux, France (eric.

[email protected]).

18

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 2: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 19

well-known result that an optimal solution of a multicommodity flow problem withknown capacities (at least if obtained by a simplex based method, which is most

often the case) will use a mean number of paths per demand between 1 and 1 + |E||K| ,

where |K| is the number of demands and |E| is the number of edges (see, e.g., [5]).For most real communication networks, the number of edges is about 2n (two timesthe number of vertices) and the number of demands is n(n − 1)/2. It follows that|E||K| is usually very small (from 0.2 for a 20 node network up to 0.05 for an 80 node

network) and almost all the demands are hence routed on a single-path. Of course, itis possible to build examples for which the difference between multipath routing andsingle-path routing is very large (see, e.g., [27, 5]), but this situation seldom occursin practical instances. Another important result related to routing is given in [13]. Itwas shown in this paper that any single-source multipath routing can be transformedinto a single-path routing with an increase in terms of link loads bounded by thevalue of the maximum demand. Moreover, when the network is a ring, an optimalmultisource multipath routing can be transformed into a single-path routing with anincrease in terms of link loads bounded by 3/2 times the maximum demand [35].

From a practical point of view, the optimal routing pattern obtained as a resultof an optimization process must be implemented in practice and therefore must becompatible with a given Internet routing protocol. Most of the backbone Internetnetworks still use some classical Internet routing protocols such as open shortest pathfirst (OSPF), RIP, or IS-IS [23, 24, 30, 32, 34] to route the demands. These protocolsare based on shortest path routing. Path length is defined as the sum of weightsassociated with the links of the path. These weights, often called administrativeweights, are managed by the network administrator. Ideally, the administrator wouldlike to modify some of the current routing paths in order to better exploit the availableresources. In practice, the administrator can only manipulate link weights (and notcomplete end-to-end routing paths) and the goal is therefore difficult to achieve. Thatis why the link weights are very often set to some default values such as 1, or theinverse of the link capacity. More advanced versions of OSPF allow indeed to split thetraffic on several shortest paths (load balancing) but the practical implementation ofthese mechanisms is complicated. For instance, in the ECMP (equal cost multipath)mechanism, the load balancing can only be even (same proportion of traffic on eachpath) and it can only be realized on shortest paths (i.e., equal length paths whichlength is also the shortest). In order to set up efficiently such a mechanism, theadministrator must set the weights in order that the all paths he has chosen beshortest path. Besides, in the optimization process, he must take into account thefact that the traffic can only be evenly splitted. Such an optimization problem is verydifficult to solve (NP-hard) [17, 19]. There are other difficulties implied by the trafficsplitting. Indeed, if the splitting is done on a packet per packet basis, the resequencingof packets must be handled at some point, in order for the network to support in-orderpacket delivery. On the other hand, if many paths are used for the same commodity,the size of the routing tables will also increase significantly. Even if the Internetrouting devices seem to become more and more efficient, the congestion of moderncommunication networks is still very often due to congestions occurring in the nodesrather than on the links. In fact, the transmission rates based on optical technologies(wavelength division multiplexing) increased considerably during the last few years,as compared to the evolution of node processors speed. Finally, the new routingparadigm based on the explicit definition of end-to-end tunnels (multiprotocol labelswitching (MPLS), tag switching, . . .) seem very promising in the sense that they allow

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 3: Internet Routing and Related Topology Issues

20 WALID BEN-AMEUR AND ERIC GOURDIN

much more flexibility in the management of the routing pattern. However, up to now,there does not seem to exist a consensus on the way to use these new protocols, whichare nonetheless still based to some extent on shortest path routing. Indeed, the hugenumber of control parameters offered in MPLS (ways to define the LSPs, constrainedbased routing, use of colored edges, . . .) is rather introducing a new complexity thaneasing the day-to-day network management problems. In this context, it is hence veryreasonable to consider that some network administrators will prefer to rely on simplerouting mechanisms based on existing and well-known protocols, which, if wisely used,can still achieve very good performances.

In this paper, we consider problems in which the demands are routed on uniqueshortest paths. This uniqueness requirement allows the network administrators toavoid all the technical difficulties related with the management of load balancing.The family of problems addressed in this paper are the ones a network administratormight encounter, such as trying not to waste available resources and, at the sametime, to impose some predefined routing strategy. For instance, one result that isdifficult to achieve consists of determining weights such that each routing path is theunique shortest path according to these weights.

Several results related to this domain are already available in the literature. Ageneral multipath routing was also studied in [37, 5]. An optimal multipath routingis computed by linear programming, and weights are deduced by duality in [37]. Amore general model computing weights for any multipath routing and integratingany set of practical linear constraints related to weights is given in [5]. It is alsoshown in [5] how a unique shortest path routing can be transformed into an optimalmultipath routing by adding a minimal number of paths (MPLS tunnels). Severalpapers propose methods to modify the link weights when the network state changes.The weights can depend on link loads, physical link lengths, costs, service classes,etc. [11, 24, 26, 34, 36, 40]. Some heuristics were proposed in [17, 19] to computeweights minimizing, in a certain sense, the network load. The routing here is basedon the equal cost splitting capability of OSPF: the traffic is evenly splitted betweenequal cost paths. The problem of finding an optimal even split of traffic was shown tobe difficult [17, 19]. Single-path routing, without weight consideration, has also beenstudied by many authors. Some solution methods based on cutting plane algorithmsare presented in [1, 20, 33]. Approximation algorithms are given in [13].

A comparison between different routing strategies in terms of congestion is donein [27]. A capacitated version of the problems addressed in this paper, where one hasto determine simultaneously the weights on the links and the capacities required toroute all traffic demands, has already been studied [3, 4]. In these papers, heuristics,meta-heuristics, and even exact methods have been proposed to solve the problem,and the resulting algorithms have been applied on some real network designs. Inthe papers cited above, the weight of each edge is supposed to belong to a finite andsmall set of real values. The meta-heuristic moves consist in changing the weights andcomputing the routing and the capacities that have to be installed on links. The exactmethod is based on a cutting plane algorithm that considers many families of validinequalities. Finally, the topology of many kinds of survivable networks, includingInternet networks, have been studied in [2]. More general models for Internet topologywere proposed in [9, 38, 15].

This paper is devoted to uncapacitated problems, which involve determining anoptimal set of administrative weights to achieve some predefined requirements on theusage of the network resources or on the paths used to route the demands. More

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 4: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 21

precisely, two problems will be addressed in this paper. In the first one, in order toconform to some Internet routing protocols, the weights on the links must be smallinteger values. In this problem, we assume that there is a traffic demand for each pairof nodes in the network. The aim is to compute link weights such that

1. the weights are integers and are as small as possible;2. the shortest path between each pair of nodes is unique;3. all the network links are used.

We show that it is possible to find weights satisfying these constraints, which arestrictly lower than 6 times the radius of the graph associated with the network.

The second problem is defined as follows: given a set of predefined routing pathsbetween some node pairs, we wish to compute weights which are compatible with thisset of routing paths. In other words, the computed weights must be such that theunique shortest path for each demand is, indeed, the one chosen in advance. The givenset of routing paths must satisfy some conditions to guarantee the existence of a com-patible set of weights. Three necessary conditions are provided. In the general case,linear mathematical programming formulations of the problem are proposed. We alsoshow how integer weights can be easily computed using a polynomial heuristic withworst-case guaranteed performance. In the case of some particular graphs (cycle, cac-tus, clique,. . .), simple necessary and sufficient conditions for existence of compatibleweights are given, and methods to explicitly derive these weights are presented.

The paper is organized as follows: the first problem is addressed in section 2, andsection 3 is devoted to the second problem. Computational results are discussed insection 4, and conclusions and perspectives are exposed in section 5.

2. How to get small integer weights and use all links.

2.1. Definitions and notation. Let G = (V,E) denote an undirected graphassociated with the Internet network considered, where V is the set of nodes (orvertices) and E the set of links (or edges). The number of nodes is denoted n. Thegraph G is assumed to be connected. Let R be the radius of G and C the set ofcentral vertices of G.

Recall that a central vertex v is such that the greatest distance from v to any othervertex, called eccentricity of v, is the lowest one. The eccentricity of a central vertexis exactly equal to the radius of the graph [6, 12]. Note that the word “distance” isused to express the number of edges on a path, whereas the word “length” representsthe sum of weights along the path. The formal definitions of these terms will be givenbelow.

Assume one particular central vertex has been chosen. Let T0 = (V,E0) bea rooted spanning tree of G obtained by a breadth-first search starting from thatcentral vertex. Assume the central vertex is indexed by 0. The remaining verticesof G are then ordered from 1 to n − 1 according to their marking order during thebreadth-first building process of T0. In what follows, the order of a vertex refers to itsorder in this building sequence. Figure 1 shows a tree T0 where the edges belongingto the tree are plotted in continuous lines and the other edges of G are plotted indotted lines. The order of the vertices are displayed in the figure.

Definition 2.1 (levels). We say that a vertex v is located at level i if the distancebetween v and 0 is equal to i. The level of a vertex i is denoted level(i).

The levels are illustrated at the left of the figure. As 0 is a central vertex, thenumber of levels is equal to the radius R. The unique path linking two vertices a andb in the rooted tree T0 is denoted P0(a, b).

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 5: Internet Routing and Related Topology Issues

22 WALID BEN-AMEUR AND ERIC GOURDIN

Levels 0

1 2 3

4 5 6 7 8 9

10 n-2 n-1

0P (4,6)

shortcuts

0

1

R

Fig. 1. Tree T0 obtained by breadth-first search.

Definition 2.2 (monotonous path). Given any vertices a and b of V , the pathP0(a, b) is said to be monotonous if it does not contain two vertices located on thesame level.

This is equivalent to saying that P0(a, 0) ⊂ P0(b, 0) or P0(b, 0) ⊂ P0(a, 0).Definition 2.3 (turning path). A nonmonotonous path is called a turning path.Thus, a turning path P0(a, b) is made of two monotonous paths P0(a, d) and

P0(b, d) where d is the vertex of P0(a, b) having the lowest level. This is due to thefact that, for any vertex v whose level is i ≥ 1, there is exactly one edge of E0 linkingv to the set of vertices whose level is i− 1.

Definition 2.4 (turning vertex). The vertex of lowest level in a turning path iscalled the turning vertex.

Definition 2.5 (distance on a path). The number of edges of any path P (a, b) inG is called the distance between the vertices a and b and is denoted δ(P (a, b)). Sincea path P0(a, b) in the tree T0 is unique, its distance is denoted δ0(a, b).

Definition 2.6 (length of a path). Assume a weight we is associated with eachedge e ∈ E. The length of a path P (a, b), denoted (P (a, b)), is the sum of the weightson its edges:

(a, b) =∑

e∈P (a,b)

we.

Again, since a path P0(a, b) is unique and there is no ambiguity in its definition, itslength is denoted 0(a, b). Note that if all weights are equal to 1, the distance and thelength of a path are equal.

Definition 2.7 (shortcuts). An edge of E \ E0 linking two vertices of P0(a, b)is called a shortcut of P0(a, b). The set of all shortcuts for a path P0(a, b) is denotedS0(a, b). The number of shortcuts is denoted k0(a, b) = |S0(a, b)|. As will be estab-lished, if k0(a, b) > 0, there is no ambiguity in defining a “highest” shortcut as theshortcut with end-points at the highest level.

The main result of this section consists of deriving a set of small integer weightssatisfying some particular constraints. This result is based on properties of breadth-first search trees.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 6: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 23

s1

b

a

d

si

1t

t i-1

t

t

i

i+1

Fig. 2. A turning path P0(a, b).

2.2. Properties of breadth-first search trees.

Lemma 2.8. If a and b are two adjacent vertices of G such that ab ∈ E \ E0,then the levels of a and b are equal or consecutive.

Proof. Without loss of generality, suppose that the level of b is not higher thanthe level of a. As a and b are adjacent, any path from n0 to b can be completed bythe edge ab to obtain a path from n0 to a. This clearly means that the level of a isat most equal to 1 plus the level of b.

Lemma 2.9. Let a and b be two vertices of G. For any vertex c of P0(a, b), thereare at most 2 edges in G \ T0 linking c to the other vertices of P0(a, b).

Proof. If P0(a, b) is monotonous, then we can deduce by Lemma 2.8 that thereis no edge in G \ T0 linking c to the other vertices of P0(a, b). Let us now assumethat P0(a, b) is a turning path, and let d be the turning vertex of P0(a, b). We denotes0, s1, . . . , sp the successive vertices of the path P0(a, d) starting from d (i.e., d = s0

and a = sp). Similarly, we denote t0, t1, . . . , tq the successive vertices of the pathP0(b, d) starting from d (see Figure 2). Obviously, for all i = 0, . . . ,minp, q, thetwo vertices si and ti are at the same level. Without loss of generality, let us supposethat the order of s1 is smaller than that of t1 (i.e., it has been encountered first inthe breadth-first process). Using a simple induction, we can deduce that for any twovertices si and ti, the order of si is smaller than that of ti.

Consider a vertex c of the path P0(a, b). First, we assume that c belongs to themonotonous subpath P0(a, d). According to our notation, vertex c corresponds to acertain si. As P0(a, d) is monotonous, there is no edge of G \T0 linking c to the othervertices of P0(a, d). By Lemma 2.8, c = si can only be adjacent to vertices on thelevels i − 1, i, and i + 1. Assume that q ≥ i + 1 (otherwise, the result is obtained),i.e., the path P0(b, d) includes all vertices at least up to ti+1. Hence the vertex c = siis at most linked to ti−1, ti,s and ti+1. Suppose that si is adjacent to ti+1. As theorder of si is lower than the order of ti, the tree T0 should contain the edge siti+1 andnot titi+1. Consequently, c is not adjacent to ti+1. Thus, c = si is at most linked toti−1and ti.

The case where c ∈ P0(b, d) can be treated in the same way.

Lemma 2.10. Consider a turning path P0(a, b) between two vertices a and b ofG. Let d be the turning vertex of P0(a, b). Denote by si (resp., ti) the ith vertex inthe subpath P0(a, d) (resp., P0(b, d) starting from vertex d). For all i such that thevertices si+1 and ti+1 exist, the graph G cannot contain at the same time the edges

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 7: Internet Routing and Related Topology Issues

24 WALID BEN-AMEUR AND ERIC GOURDIN

siti+1 and tisi+1.Proof. Suppose that the edge tisi+1 exists. By definition of T0, this means that

the order of si is lower than the order of ti. In this case, it is clear that we cannothave an edge siti+1 (again by definition of T0).

Lemma 2.11. For all a and b in V such that a = b, we have k0(a, b) ≤ δ0(a, b)−1.Proof. If P0(a, b) is monotonous, then k0(a, b) = 0 and the inequality is satisfied.

Let us focus on the case where P0(a, b) is a turning path. Let d be the turning vertexof P0(a, b). There is no edge in G \ T0 linking any two vertices of P0(a, d) or any twovertices of P0(b, d) since these paths are monotonous. Thus, k0(a, b) is given by thenumber of edges in G \ T0 between the two subpaths, excluding the turning vertex d.

First, we assume that δ0(a, d) < δ0(b, d). Applying Lemma 2.9 to all vertices ofP0(a, d)\d leads to k0(a, b) ≤ 2 × δ0(a, d). But 2 × δ0(a, d) < δ0(a, d) + δ0(b, d) =δ0(a, b), which means that k0(a, b) ≤ δ0(a, b)−1. By symmetry, the result is also validwhen δ0(a, d) > δ0(b, d).

Let us treat the case δ0(a, d) = δ0(b, d). The vertices a and b have the same level.It is easy to see that the one having the highest order cannot be linked to more than1 vertex of P0(a, b). Consequently, k0(a, b) ≤ 2 × δ0(b, d) − 1 = 2 × δ0(a, d) − 1 =δ0(a, b) − 1. Thus, the inequality of the lemma is still valid.

Definition 2.12. Let a, b, and c be three vertices of G such that c ∈ P0(a, b). Wedefine k0(a, c, b) as the number of edges of G \ T0 linking the vertices of P0(a, c)\cand the vertices of P0(a, b).

Note that any edge linking c to a vertex of P0(a, c) is taken into account in thedefinition of k0(a, c, b). On the other hand, the edges linking c to any vertex of P0(c, b)are not considered.

Lemma 2.13. If a, b, and c are three vertices of G such that c ∈ P0(a, b), thenk0(a, c, b) ≤ 2 × δ0(a, c).

Proof. This is shown by applying Lemma 2.9 to all the vertices of P0(a, c).Lemma 2.14. If a, b, and c are three vertices of G such that c ∈ P0(a, b), then

k0(a, b) = k0(a, c) + k0(b, c, a) and k0(a, c) + k0(c, b) ≤ k0(a, b).Proof. Any edge of G \ T0 between two vertices of P0(a, b) is linking either two

vertices of P0(a, c) or a vertex of P0(b, c)\c to any vertex of P0(a, b). This immedi-ately gives the equality k0(a, b) = k0(a, c) + k0(b, c, a). Combining this equality withthe inequality k0(b, c, a) ≥ k0(b, c) leads to k0(a, c) + k0(c, b) ≤ k0(a, b).

Any path between two vertices a and b in the tree T0 visiting n vertices v1, . . . , vnis obviously at least as long as the direct path P0(a, b). This result is formalized inthe two following propositions.

Proposition 2.15. Consider three vertices a, b, and c in T0.(i) Vertex c belongs to the path P0(a, b) if and only if δ0(a, c) + δ0(c, b) = δ0(a, b).(ii) Otherwise, δ0(a, c) + δ0(c, b) − δ0(a, b) = 2 δ0(i, c), where i is the last vertex

of P0(a, b) also belonging to P0(a, c) (see Figure 3).Proof. The first assertion is obvious. In the case where c does not belong to

the path P0(a, b), then there is a vertex i where the path P0(a, c) departs from thepath P0(a, b). (In other words, i is the last vertex common to the two paths.) HenceP0(a, c) = P0(a, v)∪P0(v, c). Similarly, since T0 is a tree, we have P0(c, b) = P0(c, v)∪P0(v, b). When counting all the edges from a to b going through c, the edges of P0(v, c)are counted twice:

δ0(a, c) + δ0(c, b) = δ0(a, i) + δ0(i, c) + δ0(c, i) + δ0(i, b) = δ0(a, b) + 2 δ0(i, c).

Note that in the second case, we could have simply stated that the quantity

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 8: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 25

b

c

ia

Fig. 3. A path departing from P0(a, b).

δ0(a, c) + δ0(c, b) − δ0(a, b) is even, i.e., equal to 2p with a certain positive integer p.This result easily generalizes to n intermediate vertices.

Corollary 2.16. Consider n+2 vertices of V, a = v0, v1, . . . , vn, vn+1 = b (notnecessarily all different).

(i) All the vertices v1, v2, . . . , vq belong to the path P0(a, b) and are encountered inthat precise order when going from a to b if and only if

∑ni=0 δ0(vi, vi+1) = δ0(a, b).

(ii) Otherwise, there is a positive integer p such that∑n

i=0 δ0(vi, vi+1)−δ0(a, b) =2 p.

Proof. This result is easily obtained by induction using the previousproposition.

2.3. Deriving admissible weights. In the problem considered here, it is as-sumed that the network topology is given (for instance, as a result of an optimizationprocess, or simply to reflect an existing network). We assume that a traffic demandis defined between each pair of nodes. Although this seems rather restrictive, such arequirement is always satisfied in practice on backbone networks, where each demandis in fact the aggregation of a huge number of individual traffic demands. Indeed,the problems considered in this paper are essentially relevant for such backbone net-works. The problem then consists of determining a set of link weights satisfying someconstraints.

As explained in the introduction, for consistency and manageability reasons, theshortest path between each pair of nodes must be unique. Second, each networklink must belong to at least one shortest path. In other terms, all the network linksare necessarily used to carry traffic. This requirement avoids leaving some resourcesunused. Additionally, it means that the traffic must be distributed over the all net-work, which is highly advisable for reliability reasons. Finally, we want the computedweights to be integers and be as small as possible. This is simply for technical reasons,since many routing protocols such as RIP, IS-IS, or even PNNI in the context of asyn-chronous transfer mode (ATM) networks [18] require the weights to have boundedinteger values ([0,15] for RIP, [0,63] for IS-IS, and [0,65535] for PNNI).

We now focus on two of the main contributions of the paper, namely, the con-struction scheme to derive a set of integer weights satisfying all the constraints suchthat all weights are strictly lower than 6 times the radius of the graph and the theoremon which this construction scheme is based.

Construction scheme.1. Compute a central vertex v (indexed by 0) of the graph G. (Recall that a

central vertex is a vertex such that the maximum distance from it to anyother vertex is minimal.)

2. Using a breadth-first search starting from v, build a tree T0.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 9: Internet Routing and Related Topology Issues

26 WALID BEN-AMEUR AND ERIC GOURDIN

3. Associate a weight w0 ≥ 3 with each edge of T0.4. Associate a weight we = w0×δ0(i, j)−k0(i, j) with each edge e = ij ∈ E \E0.

Using this polynomial construction scheme and taking w0 = 3, we obtain aweighted graph such that all desired properties are satisfied.

Theorem 2.17. Let G be a connected graph and R its radius. The weightsassociated with each edge according to the above construction scheme are such that

- the weight of every link is a positive integer ≤ 6R − 1,- every link of G belongs to at least one shortest path in the sense of these weights,- there is exactly one shortest path between any pair of vertices.The proof of Theorem 2.17 is rather technical. It is provided at the end of the

section as the natural consequence of a series of preliminary results.Note that the value of 6R− 1 is often low, even for large-size telecommunication

networks. We also know (see [7], for example) that if we consider random graphswhere an edge exists with a constant probability p, then almost all the graphs havea radius equal to 2. Thus, Theorem 2.17 gives us a set of weights which satisfy theInternet routing constraints and which are lower than 11 in almost all cases. Thisis valid for random graphs, but if we consider any deterministic graph, we can usethe fact that the radius is lower than half the number of vertices. This leads to theobvious corollary.

Corollary 2.18. For any connected graph G, there exist a set of weights whichsatisfy Internet routing constraints (those of Theorem 2.17) and which are lower than3N − 1.

From now on, we assume that G is a weighted graph and that the weights asso-ciated with the edges are defined according to the above construction scheme.

Proposition 2.19. Consider three vertices a, b, and c in T0. We then have

0(a, c) + 0(c, b) − 0(a, b) ≥ k0(a, c) + k0(c, b) − k0(a, b).

Moreover, if c /∈ P0(a, b), then

0(a, c) + 0(c, b) − 0(a, b) ≥ k0(a, c) + k0(c, b) − k0(a, b) + 2.

Proof. If c ∈ P0(a, b), then the left-hand side is equal to zero, and according tothe second part of Lemma 2.14, k0(a, c) + k0(c, b) − k0(a, b) is nonpositive. Thus, inthis case, the result holds. Assume now that c /∈ P0(a, b). This means that there isa vertex i ∈ P0(a, b) at which the path P0(a, c) departs from the path P0(a, b) (seeFigure 3). Applying the first part of Lemma 2.14, we derive the following expression:

k0(a, c) + k0(c, b) − k0(a, b) = k0(a, i) + k0(c, i, a) + k0(b, i) + k0(c, i, b) − k0(a, b).

On one hand, according to Lemma 2.14, we have k0(a, i) + k0(b, i) ≤ k0(a, b). On theother hand, according to Lemma 2.13, we have k0(c, i, a) ≤ 2 δ0(c, i) and k0(c, i, b) ≤2 δ0(c, i). We obtain

k0(a, c) + k0(c, b) − k0(a, b) ≤ 4 δ0(c, i).

Finally, according to Proposition 2.15, we have

0(a, c) + 0(c, b) − 0(a, b) = 2 w0 δ0(c, i) ≥ 6 δ0(c, i) ≥ 4δ0(c, i) + 2.

The last inequality is valid since δ0(c, i) ≥ 1. Hence, in the case where c /∈ P0(a, b),the second part of the proposition is established and the first part follows.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 10: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 27

Again, this result can easily be generalized by induction.Corollary 2.20. Consider n+2 vertices of V, a = v0, v1, . . . , vn, vn+1 = b (not

necessarily all different). We then have

n∑i=0

0(vi, vi+1) − 0(a, b) ≥n∑

i=0

k0(vi, vi+1) − k0(a, b).

Moreover, if one vertex vi does not belong to P0(a, b), or if the vertices v1, . . . , vn arenot encountered in this order when going from a to b, then

n∑i=0

0(vi, vi+1) − 0(a, b) ≥n∑

i=0

k0(vi, vi+1) − k0(a, b) + 2.

Proof. The first part of the corollary is easy to establish by induction on thenumber of vertices, using arguments similar to the proof of the second part.

We now provide the proof for the second part of the corollary. First, observethat, according to Proposition 2.19, the result is true for n = 1. Assume the resultis true for any set of at most n + 1 vertices. Consider n + 2 vertices of V , a =v0, v1, . . . , vn, vn+1 = b, and assume the assertion “all vertices v1, . . . , vn belong tothe path P0(a, b) and are ranked in that same order along the path” is false. This isequivalent to saying that either one or both the following two assertions are also false:

(i) “all vertices v1, . . . , vn−1 belong to the path P0(a, vn) and are encountered inthis order when going from a to vn”;

(ii) “vn belongs to P0(a, b)”.We will now compute the quantity

∆ =

n∑i=0

0(vi, vi+1) − 0(a, b) =

n−1∑i=0

0(vi, vi+1) + 0(vn, b) − 0(a, b)

in both cases.Assume assertion (i) is wrong. Then, according to the induction hypothesis, we

have

n−1∑i=0

0(vi, vi+1) − 0(a, vn) ≥n−1∑i=0

k0(vi, vi+1) − k0(a, vn) + 2.

It follows that

∆ ≥ 0(a, vn) + 0(vn, b) − 0(a, b) +

n−1∑i=0

k0(vi, vi+1) − k0(a, vn) + 2.

Applying the first inequality of Proposition 2.19, the result follows immediately.Assuming assertion (ii) is wrong, we apply the first inequality of the corollary to

obtain

∆ ≥ 0(a, vn) + 0(vn, b) − 0(a, b) +

n−1∑i=0

k0(vi, vi+1) − k0(a, vn).

As vn does not belong to P0(a, b), we can now apply the second inequality of Propo-sition 2.19, and again, the result follows.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 11: Internet Routing and Related Topology Issues

28 WALID BEN-AMEUR AND ERIC GOURDIN

0P (a,b)

a

bshortest pathshortest pathc

d

Fig. 4. Unique shortest path between a and b.

In order to derive the main result, we now characterize the shortest paths in graphG, according to the weights we.

Lemma 2.21. For any pair of vertices a and b, if path P0(a, b) is monotonous,then it is the unique shortest path between a and b.

Proof. First observe that, according to Lemma 2.8, the edges of E connect onlyvertices at consecutive levels or at the same level. Hence any path from a to b mustat least cross |level(a)− level(b)| = δ0(a, b) levels. As all the weights are nonnegative,any path using an edge outside the bounds defined by level(a) and level(b) is longerthan P0(a, b). Consider an edge e = ij ∈ E \ E0. According to Lemma 2.11, we havek0(i, j) < w0 k0(i, j) ≤ w0 δ0(i, j) − w0, and hence

we = w0 δ0(i, j) − k0(i, j) > w0.

It follows that any path between a and b using such an edge is necessarily longer thanP0(a, b).

Corollary 2.22. Consider the family of paths between the vertices a and b usingedges of T0 and any shortcut of P0(a, b). The unique shortest path among all thesepaths is

(i) P0(a, b) if k0(a, b) = 0,(ii) P0(a, c)∪cd∪P0(d, b), where cd is the highest shortcut for P0(a, b), if k0(a, b) >

0.Proof. First note that, if k0(a, b) = 0, then P0(a, b) is the unique path between a

and b among the ones considered. Assume now that k0(a, b) > 0. Consider a shortcutcd ∈ S0(a, b) such that P0(a, c) and P0(d, b) are monotonous (see Figure 4). Accordingto the previous lemma, the unique shortest paths between a and c on one hand andbetween d and b, on the other hand are, respectively, P0(a, c) and P0(d, b). Hence thelength of the shortest among all paths using the shortcut cd is

w0 δ0(a, c) + (w0 δ0(c, d) − k0(c, d)) + w0 δ0(d, b) = w0 δ0(a, b) − k0(c, d).

The minimum of all such values is achieved using the highest possible value of k0(c, d)for all shortcuts of P0(a, b), that is, k0(a, b). This value is only achieved by the pathusing the highest shortcut.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 12: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 29

Proposition 2.23. A shortest path in the whole graph G between two vertices aand b cannot contain an edge e = cd /∈ T0 such that c or d (or both) do not belong toP0(a, b).

Proof. We will establish this result by induction on the number k of edges of anypath P (a, b) using such an edge e = cd. The result is obviously true when k = 1.Assume it is true for all paths up to k − 1 edges. Consider a shortest path P (a, b)having k edges. Assume it contains an edge e = cd as described in the proposition.Without loss of generality, we can assume that the vertex c is encountered before din the path P (a, b). Both the subpaths of P (a, b) going from a to c and from d to bhave fewer than k edges. Applying the induction hypothesis, these subpaths can onlybe shortest if they do not contain edges other than shortcuts and edges of the treeT0. Hence, according to Corollary 2.22, the length of these subpaths is, respectively,w0δ0(a, c) − k0(a, c) and w0δ0(d, b) − k0(d, b). (Note that, for instance, if there isno shortcut between a and c, then we have k0(a, c) = 0 and the subpath is simplyP0(a, c).) Consequently, the length of the shortest path P (a, b) is

0(a, c) + 0(c, d) + 0(d, b) − k0(a, c) − k0(c, d) − k0(d, b) ≥ 0(a, b) − k0(a, b) + 2.

The inequality is obtained thanks to Corollary 2.20. Besides, 0(a, b)− k0(a, b) is thelength of a valid path from a to b, which is shorter than P (a, b). This shows thatthe shortest path P (a, b) cannot contain an edge e = cd which is not a shortcut ofP0(a, b).

We have proved that a shortest path can contain only shortcuts or edges of thetree T0. The result of Corollary 2.22 can hence be extended to all paths from a to b.It follows that there is exactly one shortest path between any pair of vertices. Besides,each edge ab ∈ E0 is a shortest path P0(a, b). Finally, if we take w0 = 3, then allweights are obviously positive and strictly lower than 6R, and proof of Theorem 2.17is hence established.

Observe that the shortest paths defined in Corollary 2.22 (see Figure 4) and basedon the weights of the construction scheme do not depend on the exact value of w0.They are the same for any value of w0 which is higher than 3. In other terms, thevector whose components are the δ0(x, y) is a sort of neutral element for the routingpaths of Theorem 2.17. In fact, we will see in the next section that, for a given set ofrouting paths, the set of weights compatible with them is a polyhedron.

3. Achieving weights compatible with a set of routing paths. In thissection, we are concerned with the problem where all routing paths are given, butthe weights to put on the edges such that each of the given routing paths is a uniqueshortest path are unknown. Moreover, it is not even known if such weights exist.

Such a problem arises naturally in the context where the routing paths are pro-vided by a dimensioning process (such as, for instance, the one presented in [4]) orin many practical situations where some paths are imposed due to technical reasons(such as transmission delays, link loads, costs, etc.). If we assume that these givenrouting paths have to be realized by means of a classical Internet routing protocol,then each given path has to be a shortest path according to a set of edge weights. Inorder to avoid ambiguity in the choice of the path effectively used, we also requirethat each shortest path be unique. We use the term “compatibility” to characterizea set of edge weights realizing a set of given routing paths.

Definition 3.1 (compatibility). A set of edge weights is said to be compatiblewith a set of routing paths if each routing path is the unique shortest path between itsextremities according to the set of weights.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 13: Internet Routing and Related Topology Issues

30 WALID BEN-AMEUR AND ERIC GOURDIN

a

b

c

d

e

f

(a,b)Φ

(c,d)Φ

Fig. 5. Suboptimality condition.

We are thus concerned with the problem of determining a set of weights com-patible with a set of routing paths, if such a set exists, or confirming that no suchset exists. A similar problem was studied in [8] in the context of seismography. Theuniqueness constraint on the shortest path was not considered in [8], and the problemwas formulated as a quadratic problem. Another problem closer to ours was men-tioned in [16]. The authors assumed that the given routing paths are those definedas the shortest in terms of the number of hops, and the aim was to determine a set ofweights which is compatible with these paths (i.e., with the uniqueness guarantee).

In the rest of this section, some necessary conditions for the existence of com-patible weights are derived. The problem of determining compatible weights is thenformulated as a linear mathematical program possibly involving integer variables.Finally, some particular cases of graphs are studied in more detail.

3.1. Necessary conditions. Let G = (V,E) denote the graph associated withthe network. Denote by K the set of demands for which the routing paths are given.In our case, each demand is simply defined as a pair of nodes (a, b). If (a, b) ∈ K,then φ(a, b) denotes the routing path which is required to be the unique shortest pathbetween a and b. The set of all routing paths is denoted by Φ. We assume that theset E of G is exactly the set of edges that are contained in at least one of the requiredrouting paths.

The first necessary condition uses the so-called concept of suboptimality.

Definition 3.2 (suboptimality). A set of routing paths K satisfies the subopti-mality condition if, for all pairs of demands (a, b) and (c, d) in K having two verticese and f in common, then φ(a, b) and φ(c, d) share the same subpath between e andf .

The suboptimality condition for two paths is illustrated in Figure 5.

Proposition 3.3 (first necessary condition). If a set of weights is compatiblewith a given set of routing paths, then the set of paths satisfies the suboptimalitycondition.

Proof. If the suboptimality condition is not satisfied for a pair of routing pathsφ(a, b) and φ(c, d), then it is clear that they cannot both be unique shortestpaths.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 14: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 31

In the rest of this section, we assume that the suboptimality condition is satisfied.Note that, if x and y are two vertices of φ(a, b), the shortest path between x and ymust be the subpath of φ(a, b) linking x and y. Thus, we assume that φ(x, y) is alsogiven and that there is a demand between x and y.

Unfortunately, the suboptimality condition is not sufficient to guarantee the exis-tence of a compatible set of weights. A more elaborate condition can be derived usingthe notion of cyclic compatibility.

Definition 3.4 (cyclic compatibility). A set of routing paths K is said to satisfythe cyclic compatibility condition if each edge e, which is not a bridge, is contained inat least one cycle C such that all demands (a, b) ∈ K having both end-points in C arerouted exclusively on edges of C, i.e., φ(a, b) ⊂ C.

In other words, the edge e belongs to at least one cycle which routes all thedemands between its vertices. This condition is necessary for a set of weights to becompatible with a set of routing paths.

Theorem 3.5 (second necessary condition). If a set of weights is compatiblewith a given set of routing paths, then the set of paths satisfies the cyclic compatibilitycondition.

Proof. Let e be an edge which is not a bridge. e exists only if the graph is nota forest. Note that if the graph is a forest, then there is obviously a set of weightscompatible with the routing paths.

Suppose that there is a set of weights which is compatible with the set of routingpaths. Let C be a shortest cycle (in the sense of these weights) containing the edge e.Suppose that a and b are two vertices of C such that (a, b) ∈ K. Let P1(a, b) (resp.,P2(a, b)) denote the subpath of C between a and b containing (resp., not containing)e. First, assume that φ(a, b) contains e. If φ(a, b) = P1(a, b), then by uniquenessof shortest paths the length of P1(a, b) is strictly higher than the length of φ(a, b).Thus, we can replace P1(a, b) by φ(a, b) to obtain a new cycle containing e whoselength is lower than the length of C. As this is impossible by the definition of C, wecan deduce that φ(a, b) = P1(a, b) if e ∈ φ(a, b). In the same way, we can show thatφ(a, b) = P2(a, b) if e /∈ φ(a, b).

Figure 6 shows a graph and some routing paths satisfying the suboptimalitycondition. However, the cyclic compatibility is violated by edge 56. Indeed, any cycleC containing the edge 56 should contain only one of the two vertices 1 and 2. Supposethat C includes the vertex 1. If C satisfies the property of Definition 3.4, then it mustinclude the vertex 4 because 4 ∈ φ(1, 5). As 2 ∈ φ(6, 4), then the vertex 2 is also in C.This is impossible because C cannot contain at the same time 1 and 2. By symmetry,we can show that C does not include the vertex 2. In other words, there is no cycleC containing 56 and satisfying the property of cyclic compatibility.

In fact, even if the two previous conditions are satisfied, the existence of a setof weights which is compatible with the routing paths is not guaranteed. The graphof Figure 7, obtained from the previous one by insertion of a vertex 7 between thevertices 5 and 6 and adding an edge 73, satisfies the two conditions. However, there isno set of weights satisfying the requirements. Another condition which is an extensionof cyclic compatibility is violated here.

Definition 3.6 (generalized cyclic compatibility). A set of routing paths K issaid to satisfy the generalized cyclic compatibility condition if, for every pair of vertices(a, b) and every subset of edges E′ ⊂ E such that a and b are connected in G \ E′,there is at least one path p in G\E′ between a and b satisfying the following property:if c ∈ p, d ∈ p, and (c, d) ∈ K, then either φ(c, d) ⊂ p or φ(c, d) ∩ E′ = ∅.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 15: Internet Routing and Related Topology Issues

32 WALID BEN-AMEUR AND ERIC GOURDIN

1

5

6

2

5-6

2-3-51-4-5

4-2-63-1-6

34

Fig. 6. Cyclic compatibility violated by edge 56.

1

5

6

2

2-3-51-4-5

4-2-63-1-6

7

5-7-6

4 3

3-7

Fig. 7. Generalized cyclic compatibility is violated (E′ = 57, 76 and (a, b) = (5, 6)).

Theorem 3.7 (third necessary condition). If a set of weights is compatiblewith a given set of routing paths, then the set of paths satisfies the generalized cycliccompatibility condition.

Proof. Let (a, b) be a pair of vertices and E′ ⊂ E a set of edges such that a andb are connected in G \ E′. Assume that there is a set of weights which is compatiblewith the set of routing paths. Let p be a shortest path in G \ E′ linking a and b.Let c and d be any two vertices of p such that (c, d) ∈ K. If φ(c, d) ∩ E′ = ∅, thenφ(c, d) ⊂ p, otherwise p can be replaced by another path which is strictly shorter byuniqueness of shortest paths. Thus, we can deduce that φ(c, d) ⊂ p or φ(c, d) ∩ E′

= ∅.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 16: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 33

1-3-4

2-1-32-4-5

2-4-63-1-53-4-65-1-6

1 2

4

5

6

3

Fig. 8. No possible compatible weights.

It is easy to see that the generalized cyclic compatibility is violated by the routingpaths of Figure 7. If we take (a, b) = (5, 6) and E′ = 57, 76, then there is no pathp between 5 and 6 satisfying the property given in Definition 3.6.

In fact, even if the three necessary conditions are satisfied, the existence of a setof weights is not guaranteed. The graph of Figure 8 satisfies the three conditions.However, there is no set of weights compatible with the routing paths. This is shownby solving the linear programs presented in the next section.

3.2. Linear programs to compute the weights. We define S(a, b) as the setof elementary paths P between a and b other than φ(a, b). A variable yab gives theweight of φ(a, b). In the following two sections, we first focus on real weights, then wegive methods to obtain integer weights. Throughout this paper, we assume that theweights are ≥ 1.

3.2.1. Real weights. The problem of computing a set of weights which is com-patible with the routing paths φ can be formulated in a natural way as a linearprogram.

LP 1 =

Find (we)e∈E

subject to∑e∈φ(a,b) we = yab ∀(a, b) ∈ K,∑

e∈P we ≥ 1 + yab ∀(a, b) ∈ K,∀P ∈ S(a, b),we ≥ 1 ∀e ∈ E; yab ≥ 0 ∀(a, b) ∈ K.

(3.1)

By definition, we have∑

e∈φ(a,b) we = yab. The inequalities∑

e∈P we ≥ 1+yabexpress the fact that the weight of any path P is higher than the weight of φ(a, b). Asthe number of constraints of LP1 can be very high, we use a polynomial algorithm togenerate the “useful” constraints. Thus, at each iteration, we add new constraints andwe solve the new augmented linear program (see, for example, [29, 31] for a generaldescription of this kind of algorithm). When all the constraints are satisfied (eventhose that were not generated), we obtain a set of weights that is compatible with

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 17: Internet Routing and Related Topology Issues

34 WALID BEN-AMEUR AND ERIC GOURDIN

the routing paths. In some cases, for example, when the necessary conditions of theprevious section are not satisfied, LP1 has no solution.

For a set of weights given by solving the linear program at any iteration, we checkif there is a violated constraint for a pair of vertices (a, b) ∈ K. This is achievedby computing the two shortest elementary paths between a and b, in the sense ofweights (we)e∈E . We can use the Yen algorithm [21, 39], whose complexity is O(n3)or the algorithm of [25], whose complexity is lower than min

[O(n2), O(m log(n))

],

where m is the number of edges and n the number of vertices. We can generate theconstraints for all the pairs of vertices by applying one of the two algorithms to everypair of vertices. Another solution consists of using the algorithm of Dreyfus [14],which computes the two shortest paths (not necessarily elementary) between all thepair of vertices in fewer than O(n3) operations. Let us see exactly how can we generatea violated constraint by computing two shortest paths (not necessarily elementary)between two vertices a and b.

Proposition 3.8. For any set of weights, if there are violated constraints in theform of

∑e∈P we ≥ 1 + yab, then we can generate one of them by computing the two

shortest paths (not necessarily elementary) between a and b.Proof. Let T (a, b)be the shortest path between a and b in the sense of the weights

given by solving the linear program of the current iteration. As the weights are strictlypositive, T (a, b) is elementary. If T (a, b) = φ(a, b), then the constraint

∑e∈T (a,b) we ≥

1+ yab is violated and can be added to the current linear program. Next assume thatT (a, b) = φ(a, b).

In this case, let T ′(a, b) be the second shortest path between a and b. If T ′(a, b)is elementary, then two cases have to be considered. If

∑e∈T ′(a,b) we ≥ 1 + yab, then

we are sure that all the constraints∑

e∈P we ≥ 1+yab are satisfied. Otherwise, theinequality

∑e∈T ′(a,b) we ≥ 1 + yab is violated and can be added to the current linear

program.Now, let us suppose that T ′(a, b) is not elementary, and let T ′′(a, b) be the path

obtained from T ′(a, b) by eliminating the cycles. If T ′′(a, b) = φ(a, b), then the weightof T ′′(a, b) is strictly lower than the weight of T ′(a, b), which leads to a contradictionwith the assumption that T ′(a, b) is a the second shortest path. Otherwise, T ′′(a, b) =φ(a, b), which means that T ′(a, b) contains at least two more edges in addition to thoseof φ(a, b). As the weights are higher than 1, the constraint

∑e∈T ′(a,b) we ≥ 1 + yab is

satisfied. Consequently, all the constraints∑

e∈P we ≥ 1+yab are also satisfied.As the separation problem is polynomial, the linear program LP 1 can be solved

in polynomial time using the ellipsoid algorithm [22]. Even if this remark has only atheoretical interest, the number of constraints that are added by constraint generationis generally not very large when the problem size is moderate (see the computationalresults section).

Since the problem LP1 does not necessarily have a solution, it can be more inter-esting to solve the problem LP2 defined below.

LP 2 =

Maximize∑

(a,b)∈K dab × εabsubject to∑

e∈φ(a,b) we = yab ∀(a, b) ∈ K,∑e∈P we ≥ εab + yab; ∀(a, b) ∈ K ∀P ∈ S(a, b),0 ≤ εab ≤ 1 ∀(a, b) ∈ K,

we ≥ 0 ∀e ∈ E, yab ≥ 0 ∀(a, b) ∈ K.

(3.2)

For every pair of vertices (a, b) ∈ K, a factor dab expresses the importance to

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 18: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 35

satisfy the constraints regarding the routing of (a, b). A variable 0 ≤ εab ≤ 1 indicatesif the constraints are satisfied. Thus,

∑(a,b)∈K dab× εab gives the amount of the total

satisfaction of the constraints. Obviously, if LP1 has a solution, then LP2 also has asolution where all the variables εab are equal to 1. Note that in LP 2 formulation we donot require the weights to be greater than 1. Some protocols can handle weights equalto 0. It is, however, possible to add to LP2 the constraints we ≥ 1 or any other linearconstraints related to weights. A nice and important property of LP 2 (as formulatedabove), is that one can get an optimal solution by linear programming containingonly 0/1 variables εab. Said another way, a demand will be either completely satisfied(εab = 1) or not satisfied (εab = 0). The proof of this property is straightforward.

In [16], another linear formulation of the problem was given. This formulationcontains O(n2) variables and O(n3) (n = |V |) constraints and is equivalent to LP1.Next, we give a formulation using the same variables as those of [16] but slightly fewerconstraints.

If the suboptimality condition is not satisfied, we know by Proposition 3.3 thatthere is no set of weights which is compatible with the routing paths. This con-dition can be checked in a polynomial time. Henceforth, we will assume that thesuboptimality condition is satisfied.

A variable yab is associated with each pair of vertices of G, even if (a, b) /∈ K.

We define K = (a, b) ∈ V × V such that ∃(c, d) ∈ K / a, b ⊂ φ(c, d). Notethat a, b ⊂ φ(c, d) means here that both vertices a and b are in the path φ(c, d).We have clearly K ⊂ K. In other terms, K is the set of pairs for which the routingpath is given in advance or can be directly deduced by suboptimality conditions fromother given paths. In both cases, we will continue to use φ(a, b) to denote the routingpath for (a, b) ∈ K.

The new linear problem is given below.

LP 3 =

Find (we)e∈E , (yab)(a,b)∈K

subject to∑e∈φ(a,b) we = yab ∀(a, b) ∈ K,

yab + 1≤ wac + ycb ∀(a, b) ∈ K, ∀c /∈ φ(a, b), ac ∈ E,yab ≤ wac + ycb ∀(a, b) /∈ K, ∀c ∈ V, ac ∈ E,

we ≥ 1 ∀e ∈ E, yab ≥ 0 ∀(a = b), yaa = 0 ∀a ∈ V.

(3.3)

Recall that the demands are undirected. However, we consider the constraintsyab+1 ≤ wac+ycb in both directions. In other terms, the constraints yba+1 ≤ wbd+yda(where bd ∈ E and d /∈ φ(a, b)) are also considered in LP 3.

One can easily see that the number of constraints of the linear program is O(|E||V |).Proposition 3.9. The number of variables of LP 3 is O(|V |2) and the number

of constraints is O(|V ||E|).Note that LP 1 can be seen as the projection of LP 3 onto a smaller subspace.

The number of facets of LP 1 seems to be difficult to estimate, but the number offacets of LP 3 is polynomial. In fact, there are many examples of polyhedrons withexponentially many facets which can be represented as a projection of polyhedrons inhigher dimensions but with a polynomial number of facets.

If the suboptimality condition is not satisfied, we know by Proposition 3.3 thatthere is no set of weights which is compatible with the routing paths. This con-dition can be checked in a polynomial time. Henceforth, we will assume that thesuboptimality condition is satisfied.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 19: Internet Routing and Related Topology Issues

36 WALID BEN-AMEUR AND ERIC GOURDIN

Theorem 3.10. When the suboptimality condition is satisfied, LP 1 and LP3 areequivalent.

Proof. Consider a solution of LP 1 and let us build a solution of LP 3. If (a, b) ∈ K,then yab is directly given by the value of the LP 1 solution. Otherwise, yab is definedas the weight of the shortest path between a and b in the sense of the weights of(LP1). Recall that G = (V,E) is supposed to be connected so yab is well defined. Letus see if the constraints of (LP3) are satisfied. If (a, b) ∈ K, ac ∈ E, and c /∈ φ(a, b),then wac + ycb is the weight of a path between a and b other than φ(a, b). As theweights are a solution of (LP 1), wac + ycb is necessarily higher than 1 + yab. When(a, b) /∈ K, the inequalities yab ≤ wac + ycb are satisfied by definition of the variablesy. Thus, we built a solution of (LP3) using a solution of (LP1).

Now, let us consider a solution of LP 3. We will show that it induces a solutionof LP 1. In other words, we want to prove that

∑e∈P we ≥ 1 + yab for any pair

(a, b) ∈ K and any path P ∈ S(a, b). This property will be shown by induction. Moreprecisely, we consider the following property: for any path P containing at most iedges and linking a and b, if (a, b) ∈ K and P = φ(a, b), then

∑e∈P we ≥ 1 + yab =

1 +∑

e∈φ(a,b) we, otherwise∑

e∈P we ≥ yab.

Let us begin with i = 1. If (a, b) ∈ K and the length of P is 1, then P =ab = φ(a, b) (by suboptimality and the definition of E). Thus, there is not any pathP = φ(a, b) of length 1. If (a, b) /∈ K and the length of P is 1, then P = ab and theinequality wab ≥ yab is satisfied because it is one of the constraints of LP3.

Now, suppose that the property is valid for i − 1 and let us show it for i. Let Pbe a path containing exactly i edges, if there is any. First, focus on the pairs (a, b)of K. If P = φ(a, b) contains only vertices from φ(a, b), then we can deduce by thesuboptimality condition that P contains in fact all the edges of φ(a, b) and is cyclic.As the weights are higher than 1, we have immediately

∑e∈P we ≥ 1 + yab. On the

other hand, if P contains at least one vertex that is not in φ(a, b), then we definec as the first vertex not in φ(a, b) encountered when we go through p from a to b.Let d be the predecessor of c in P . Obviously, we have d ∈ φ(a, b). We can writethat P = P1 ∪ dc ∪ P2, where P1 is the subpath going from a to d and P2 is a pathgoing from c to b. Both P1 and P2 contain fewer than i − 1 edges. By induction,in all the cases we have

∑e∈P1

we ≥ yad and∑

e∈P2we ≥ ycb. Adding up these two

inequalities leads to∑

e∈P we ≥ yad + wdc + ycb. Since the weights are a solution ofLP3, wdc + ycb ≥ ydb + 1. Consequently,

∑e∈P we ≥ yad + ydb + 1. Moreover, we

know that d ∈ φ(a, b). This implies that both (a, d) and (d, b) are in K. In otherwords, yad + ydb = yab. Combining this equality with the previous inequality leads to∑

e∈P we ≥ yab + 1.

Finally, suppose that (a, b) /∈ K and let c be the last vertex of P encounteredbefore b. If c = a, then a and b are adjacent and P contains this edge. This meansthat

∑e∈P we ≥ wab ≥ yab. Otherwise, let P ′ be the subpath of P linking a and

c. This path has exactly i − 1 edges, so by the induction hypothesis we can deducethat

∑e∈P ′ we ≥ yac. This implies that

∑e∈P we ≥ yac + wcb. On the other hand,

the weights are a solution of LP3, which leads toyba ≤ wbc + yca. Consequently, theinequality

∑e∈P we ≥ yab is again valid.

Thus, the property is proved and every solution of LP3 induces a solution ofLP1.

Note that even if the number of constraints and variables of LP3 is polynomial,solving LP3 can be more time consuming than solving LP1.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 20: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 37

Remarks. Some of the linear programs presented in this section (LP 1 and LP 2)can easily be extended to integrate many other technical constraints.

• Traffic demands can be routed using many paths to improve the use of networkcapacities. Thus, we can assume that n paths are given (instead of one path)for every demand and must be the n shortest paths between the extremities ofthe traffic demand. This requirement can be expressed very easily by addinglinear constraints (such as those of LP 1), which are determined by solvingsome n-shortest path problems.

• Sometimes, due to transmission delay limitations and the cost of the routingfunction, the paths having more than a given number of hops are eliminated.Thus, the constraints of LP 1 (

∑e∈P we ≥ 1 + yab) are needed only for paths

having a limited number of hops. The violated constraints can again bedetermined by solving the 2-shortest path problem, but we need to slightlymodify Yen’s or Dreyfus’s algorithms to integrate the hop constraint.

• The routing paths can be the output of a dimensioning procedure [4]. If weconsider survivability, we can also have imposed paths when there is an edgeor a node failure. The same kind of linear constraints are added to satisfy thisrequirement. We only have to delete the failing edge (or the edges incidentto a failing node) and to apply the same algorithms on the new graph.

• We assumed that E is the set of edges belonging to at least one of the givenrouting paths. In fact, it is possible to consider some other edges. This canbe done in LP 1 by adding variables we corresponding to edges that are notin E. We can also solve LP 3 and fix the weight we of an edge e = ab /∈ E aswe = yab + 1.

• The set of weights that are compatible with the routing path of a demand isa nonempty polyhedron. Moreover, a polyhedron is a convex set.Let us recall the well-known theorem of Helly. This theorem states that ifΩ is a finite family of convex sets in R

d such that any d + 1 or fewer of thesets of Ω intersect, then ∩Ω = ∅. This theorem can be applied here whered = |E|, Ω is the set of polyhedrons associated with each demand. By Helly’stheorem, we can deduce that we can find a set of weights compatible with allthe traffic demands if and only if there exists a solution for any |E| + 1 orfewer traffic demands. In other words, the compatibility of all sets containing|E| + 1 or fewer demands implies the existence of a set of weights which iscompatible with all demands.A stronger result can be obtained by considering another family of convex sets.For any demand (a, b) ∈ K and any path P ∈ S(a, b), we define γ(a, b, P ) asthe set of weights such that

∑e∈P we ≥ 1 +

∑e∈φ(a,b) we and we ≥ 1 for all

edges. The sets γ(a, b, P ) are convex sets. Helly’s theorem implies that thecompatibility problem has a solution if and only if any |E|+1 or fewer of thesets γ(a, b, P ) intersect. It is also possible to add lower and upper bounds forthe weights without breaking the convexity of the sets γ(a, b, P ). Then, theproperty described above is still valid.

3.2.2. Integer weights. An important constraint that is imposed by some pro-tocols is the integrality of weights. In this section, we will focus on methods that canbe used to find small integer weights. The set of integers is denoted N. An obvious wayto obtain this kind of weights consists in solving the following integer program IP 4.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 21: Internet Routing and Related Topology Issues

38 WALID BEN-AMEUR AND ERIC GOURDIN

IP 4 =

Minimize wmax

subject to∑e∈φ(a,b) we = yab ∀(a, b) ∈ K,∑

e∈P we ≥ 1 + yab ∀(a, b) ∈ K,∀P ∈ S(a, b),1 ≤ we ≤ wmax ∀e ∈ E,

we ∈ N ∀e ∈ E, yab ≥ 0 ∀(a, b) ∈ K.

(3.4)

It is also possible to provide another integer model by adding the integralityconstraint to LP 3 instead of LP 1. Let I be the value of the objective function of IP 4.Let LP 4 be the continuous relaxation of IP 4. We also define C as the value of theobjective function when LP 4 is solved.

We obviously have C ≤ I. Thus, a lower bound for I is easily obtained bysolving LP 4. Moreover, an upper bound can also be deduced from this relaxation.Indeed, if B is the basis matrix used at an optimum when LP 4 is considered, thenit is clear that we can multiply the weights by det(B) (determinant of B) to obtaininteger weights. These weights can be reduced by dividing them by the greatestcommon divider which can be computed using the Euclidean algorithm. This methodis easy and gives an upper bound of I. However, the determinant can be high andthe quality of the bound is not always good.

Below we give another simple algorithm to compute integer weights. We will useagain the set K defined in the previous section as the set of pairs for which the routingpath is given in advance or can be directly deduced by suboptimality conditions fromother given paths. Let D(a, b) be the set of paths between a and b which are edgedisjoint with φ(a, b). The set of real numbers is denoted R.

A new linear program LP 5 is defined below.

LP 5 =

Minimize wmax

subject to∑e∈φ(a,b) we = yab ∀(a, b) ∈ K,∑

e∈P we ≥ yab + |P |+|φ(a,b)|2 ∀(a, b) ∈ K,∀P ∈ D(a, b),

0.51 ≤ we ≤ wmax ∀e ∈ E,we ∈ R ∀e ∈ E yab ≥ 0, ∀(a, b) ∈ K.

(3.5)

We used in LP 5 the notation |P | to designate the number of edges of a path P .To obtain integer weights, we propose the following simple heuristic.

Upper bound heuristic.1. Solve LP 5.2. Every edge weight is rounded to the nearest integer. If there is an ambiguity,

it is rounded to the lowest integer.Before showing how LP 5 can be solved, we have to prove the correctness of this

algorithm.Proposition 3.11. The solution given by the upper bound heuristic is a feasible

solution of IP 4.Proof. Let (we)e∈E be an optimal solution of LP 5 and (w′

e)e∈E the final solutionobtained after the rounding procedure.

Let us consider a pair of vertices (a, b) ∈ K and a path P ∈ D(a, b). By LP 5

constraints, we have∑

e∈P we −∑

e∈φ(a,b) we ≥ |P |+|φ(a,b)|2 . As |we − w′

e| ≤ 0.5 for

every edge e ∈ E, we can deduce that∑

e∈P w′e −

∑e∈φ(a,b) w

′e ≥ 0. Moreover, if∑

e∈P w′e−

∑e∈φ(a,b) w

′e = 0, then we necessarily have w′

e = we +0.5 when e ∈ φ(a, b)

and w′e = we−0.5 when e ∈ P . But we have decided to round the weights to the lower

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 22: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 39

integer when there is an ambiguity. Thus we cannot have∑

e∈P w′e−

∑e∈φ(a,b) w

′e = 0,

which implies that∑

e∈P w′e −

∑e∈φ(a,b) w

′e ≥ 1. This is valid for any (a, b) ∈ K and

any path P ∈ D(a, b). We can easily see that this leads to∑

e∈P w′e−

∑e∈φ(a,b) w

′e ≥ 1

for any (a, b) ∈ K and any P ∈ S(a, b).

The weights (w′e)e∈E are clearly higher than 1. All the constraints of IP 4 are

satisfied and the correctness is proved.

Let U be the value of the highest weight given by the upper bound heuris-tic. We clearly have C ≤ I ≤ U . The next proposition gives a guarantee onthe worst case performance of our heuristic. We define φmax as follows: φmax =max(a,b)∈K |φ(a, b)| = max(a,b)∈K |φ(a, b)|. We also use N to denote the number of

nodes.

Theorem 3.12. U ≤ Cmin(N2 , φmax) ≤ I.min(N2 , φmax).

Proof. Let U5 be the maximum weight of the optimal solution of LP 5. Therefore,we have U < U5+0.5. Moreover, using the fact that P and φ(a, b) are edge disjoint, we

can deduce that |P |+|φ(a,b)|2 ≤ N

2 . This implies that any solution of LP 4 (continuous

relaxation of IP 4) multiplied by N2 becomes a feasible solution of LP 5. Consequently,

we necessarily have U5 ≤ N2 C which leads to U < N

2 C + 0.5 ≤ N2 C + 0.5. As U is

an integer, we can deduce that U ≤ N2 C.

Let LP 6 be the linear program presented below:

LP 6 =

Minimize wmax

subject to∑e∈φ(a,b) we = yab ∀(a, b) ∈ K,∑

e∈P we ≥ yab + |φ(a, b)| ∀(a, b) ∈ K ∀P ∈ D(a, b),0.01 ≤ we ≤ wmax ∀e ∈ E,

we ∈ R ∀e ∈ E, yab ≥ 0 ∀(a, b) ∈ K.

(3.6)

This program can be obtained from LP 5 by changing we to we + 0.5. Let U6 bethe maximum weight of the optimal solution of LP 6. We clearly have U5 = U6 + 0.5.Moreover, any solution of LP 4 multiplied by φmax becomes a feasible solution ofLP 6. Consequently, U6 ≤ φmaxC. This leads to U5 ≤ φmaxC+0.5. Combining theprevious inequality with the inequality U < U5 + 0.5 implies that U < φmaxC + 1.As U is an integer, we can deduce that U ≤ φmaxC.

Note that the worst-case guarantee of the previous theorem can be reached insome cases. This occurs, for example, when the graph is a Hamilton cycle with anodd number of vertices and the routing paths are the shortest paths in sense of numberof hops. Indeed, we have I = 1 and U = N

2 = I.min(N2 , φmax).

However, it is sometimes possible to improve the results of the upper boundheuristic. To do this, we only have to decrease by 1 all the highest weights untilsome constraints of IP 4 become violated. In the case of the Hamilton cycle describedabove, we obtain weights equal to 1 if we proceed in this way.

Now, we have to show how LP 5 can be solved. In fact, it seems to be easier tofirst solve LP 6 and then to change the weights we to we + 0.5. LP 6 can clearly besolved by constraint generation. We first compute the shortest path P between a andb for every pair of vertices (a, b) ∈ K. If the shortest path P is different from φ(a, b),then we add the constraint

∑e∈P we ≥ yab+ |φ(a, b)|. If not, we compute the shortest

path P ′ in the graph obtained by eliminating the edges of φ(a, b). The constraint∑e∈P ′ we ≥ yab + |φ(a, b)| is added if it is violated.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 23: Internet Routing and Related Topology Issues

40 WALID BEN-AMEUR AND ERIC GOURDIN

In the next section, we will give some important particular graphs for whichthe suboptimality condition is sufficient to find a set of weights compatible with therouting paths.

3.3. Particular graphs. First, recall that the set of edges E of the graph G isexactly the set of edges that are contained in at least one routing path of a demandof K. We assume that the suboptimality condition (Proposition 3.3) is satisfied, andwe focus on particular kinds of graphs.

Lemma 3.13. If G = (V,E) is a cycle and the suboptimality condition is satisfied,then for any pair of vertices (a, b) which is not in K, it is possible to find a path betweena and b not violating the suboptimality condition.

Proof. As the graph is a cycle, there are only two simple paths between a andb. If one of them violates the suboptimality condition, then it necessarily containsa pair of nodes (c, d) of K such that a ∈ φ(c, d) and b ∈ φ(c, d). Consequently, theother path between a and b is a subpath of φ(c, d). As the suboptimality condition issatisfied by the routing paths of K, we can choose this path between a and b withoutviolating the condition.

Using the previous lemma, we can assume that K includes all the pair of verticesof G. Even if this is not necessary, we can define a routing path between every pairof vertices. Any set of weights that is compatible with all the routing paths is alsocompatible with any subset of these routing paths.

Proposition 3.14. Let G = (V,E) be a cycle. The routing paths are assumed tosatisfy the suboptimality condition. Suppose that for any edge ab, there exists at leastone vertex x such that φ(x, a) ∩ φ(x, b) = ∅. Then, the number of vertices n is oddand all the demands are routed on the minimum hop paths.

Proof. Let y be any vertex of G. The cycle is clockwise oriented.Let y′ (resp., y”) be the first vertex that precedes (resp., follows) y. Let z be

the first vertex encountered when going through the cycle (starting from y) such thaty′ /∈ φ(y, z). This vertex exists because y′ /∈ φ(y, y′′) = yy′′. We also define z′′ as thevertex that precedes. Clearly, we have φ(y, z) ∩φ(y, z′′) = ∅. In other words, for anyvertex y, there exists an edge zz” such that φ(y, z) ∩φ(y, z′′) = ∅. This edge is uniqueby virtue of the suboptimality condition.

On the other hand, we know by the proposition hypothesis that for any edge ab,there is at least one vertex x such that φ(x, a) ∩ φ(x, b) = ∅. Using the fact that thenumber of edges and the number of vertices are equal and combining the previousremarks leads to the fact that for any edge ab, there exists exactly one vertex x suchthat φ(x, a) ∩ φ(x, b) = ∅. This vertex is denoted xab.

Without loss of generality, assume that a, b, and xab are located on the cycle asshown on Figure 9 (clockwise). Let c (resp., y) be the vertex which follows b (resp.,xab). By definition of xab, we have c ∈ φ(xab, b) and c /∈ φ(y, b). As we know thatthere exists a unique vertex xbc such that φ(xbc, b) ∩ φ(xbc, c) = ∅, we can deducethat xbc = y. Consequently, the relative locations of a, b, and xab do not change byrotation.

Let d be the number of edges between xab and a (see Figure 9). Using the previousremark, this number does not depend on the identity of edge ab. Thus, the numberof edges between b and xab is given by n − d − 1. If d ≥ n − 1 − d + 1, then thereexists an edge ab and an edge ef such that e, f , and xef are in φ(xab, a). But this isclearly impossible according to the suboptimality assumption. Thus, we necessarilyhave 2d ≤ n−1. Similarly we can show that it is impossible to have n−1−d ≥ d+1,which means that 2d ≥ n − 1. In other words, n is odd and d = n−1

2 . Using the

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 24: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 41

x ab

a b

c

abx = y

n-d-1d +

Fig. 9. Cycle of Proposition 3.14.

definition of xab and d, we can deduce that all the demands are routed on the shortestpath in sense of the number of edges.

Before giving the main theorem of this section, we need to provide some defini-tions. If G = (V,E) is a cycle, we define δ0(G,φ) as the number of edges ab suchthat φ(x, a) ∩ φ(x, b) = ∅ for any vertex x = a, b. For any set of weights (we)e∈E andany pair of vertices (x, y), w (φ(x, y)) denotes the weight of φ(x, y) and w(φ(x, y)) theweight of the complementary path. Recall that K is the set of all pairs of vertices ofV .

Theorem 3.15. Let G = (V,E) be a cycle. If the routing paths satisfy thesuboptimality condition, then it is possible to determine a set of weights which iscompatible with these routing paths. Moreover, an example of such a set of weights isgiven as follows: wab = 1 if φ(x, a)∩φ(x, b) = ∅ for any vertex x = a, b and wab = w0

else, where w0 is a constant number such that w0 ≥ δ0(G,φ)+1. Using these weights,we have the following property: min(x,y)∈K

(w(φ(x, y)

)− w (φ(x, y))) ≥ w0−δ0(G,φ).

Proof. We will show by induction on δ0(G,φ) that the weights given asdescribed in the theorem satisfy the property min(x,y)∈K

(w(φ(x, y)

)− w (φ(x, y)))

≥ w0 − δ0(G,φ) ≥ 1. First, if δ0(G,φ) = 0, then we know by Proposition 3.14that the demands are routed through the minimum hops path. This means thatmin(x,y)∈K

(w(φ(x, y)

)− w (φ(x, y))) ≥ w0. Suppose that the property is satisfied

when δ0(G,φ) ≤ l0 − 1, and let us show it is also satisfied for δ0(G,φ) = l0 > 1. Letab be an edge of G such that φ(x, a) ∩ φ(x, b) = ∅ for any vertex x = a, b. This isequivalent to saying that φ(x, a) ⊂ φ(x, b) or φ(x, b) ⊂ φ(x, a). Let a′ and b′ be theother neighbors of a and b (Figure 10). Let G′ = (V ′, E′) be the cycle obtained bycontracting the edge ab into a vertex c. We will build a new set of routing paths φ′ inG′ based on the initial set of routing paths φ. For any vertices x, y = c of V ′, φ′(x, y)is exactly the same as φ(x, y) but taking into account the contraction of edge ab. Letx = c be any vertex of G′. We take φ′(x, c) = φ(x, a′) ∪ a′c if φ(x, a) ⊂ φ(x, b) andφ′(x, c) = φ(x, b′)∪ b′c otherwise. The suboptimality condition is satisfied by the newset of routing paths φ′. We obviously have δ0(G

′, φ′) = δ0(G,φ) − 1. Let w0 be anyconstant number such that w0 ≥ δ0(G,φ) + 1, and let us consider a set of weights ofG exactly as defined in the theorem. In the new graph G′, we take the same weightsas those of G for the edges xy when x, y = c. Otherwise, wa′c = wa′a and wb′c = wb′b.As w0 ≥ δ0(G,φ) + 1 ≥ l′(G′, φ′) + 1, we can deduce by induction hypothesis that

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 25: Internet Routing and Related Topology Issues

42 WALID BEN-AMEUR AND ERIC GOURDIN

x

b’

b

a’

a

x

b’a’

c

Fig. 10. Contraction of edge ab.

min(x,y)∈V ′×V ′(w(φ′(x, y)

)− w (φ′(x, y))) ≥ w0 − l′(G′, φ′). As the weight of edge

ab is 1, the previous inequality leads to min(x,y)∈V×V

(w(φ(x, y)

)− w (φ(x, y))) ≥

w0 − l′(G′, φ′) − 1 = w0 − δ0(G,φ).To prove the above theorem, we contracted an edge ab for which φ(x, a)∩φ(x, b) =

∅ for any vertex x = a, b. The number of edges ef for which there exists x such thatφ(x, e)∩ φ(x, f) = ∅ does not change by contracting ab. Thus, if we contract all suchedges we will obtain a cycle similar to those of Proposition 3.14. We can deduce thatthe number of edges ef for which there exists x such that φ(x, e)∩φ(x, f) = ∅ is an oddnumber. Recall that all the cycle edges belong to at least one routing path. As anycycle having three vertices cannot contain any edge ab for which φ(x, a)∩ φ(x, b) = ∅for every vertex x = a, b, we can deduce that the number of edges ef for which thereexists x such that φ(x, e) ∩ φ(x, f) = ∅ is at least equal to 3. These remarks arebrought together in the following corollary.

Recall that we assumed that a routing path is given for every pair of vertices ofthe cycle.

Corollary 3.16. Let G = (V,E) be a cycle. If a routing path φ(a, b) is givenfor any pair of vertices of the cycle and if the suboptimality condition is satisfied, thenthe number of edges ef for which there exists x such that φ(x, e) ∩ φ(x, f) = ∅, givenby n− δ0(G,φ), is an odd number at least equal to 3.

The suboptimality of the routing paths is sufficient to find a set of compatibleweights for many other particular graphs. Some of them are defined below.

Definition 3.17. We define a hat-cycle as a graph which consists of an elemen-tary cycle C and some vertices such that

- every vertex x which is not in the cycle has exactly two neighbors; moreover,these two neighbors constitute an edge of C;

- for any edge ab of C, there is at most one vertex x /∈ C which is adjacent toboth a and b.

An example of a hat-cycle is shown in Figure 11.Proposition 3.18. Let G = (V,E) be a hat-cycle. If the routing paths satisfy

the suboptimality condition, then there exists a set of weights which is compatible withthese routing paths.

Proof. We will show the proposition by induction on the number of vertices that

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 26: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 43

Fig. 11. A hat-cycle.

are not in C. If this number is nought, then the graph is a cycle and the result is givenby Theorem 3.15. Suppose that the proposition is proved if this number is lower thann0 − 1, and let us show it when this number is equal to n0. Note that by definition ofa hat-cycle, n0 cannot be higher than the number of vertices of C. Let x be one of thevertices of G\C and y, z its two neighbors. By suboptimality, the routing path φ(y, z)is made up of the edge yz. Let G′ be the graph obtained by eliminating the edge yz.We also define a new set of routing paths φ′ in G′ using the initial routing paths andreplacing yz by yx ∪ xz. Suboptimality is still satisfied. By induction hypothesis,we can find a set of weights (we) e∈E which is compatible with the routing paths φ′.Now, if we go back to our initial graph G, we can take for the edge yz a weight whichis slightly lower than wyx +wxz. For the other edges, we choose the weights given byinduction. All the constraints are satisfied and the proposition is shown.

Proposition 3.19. If G = (V,E) is a tree or a clique, then the suboptimalitycondition is sufficient to guarantee the existence of a set of compatible weights.

Proof. In both cases, we can take a weight equal to 1 for all the graph links.

This property is still satisfied even by some incomplete cliques as shown below.

Proposition 3.20. If G = (V,E) is a graph of n vertices where the degree ofany vertex is at least n− 2, then the suboptimality condition is sufficient to guaranteethe existence of a set of compatible weights.

Proof. Let (a, b) be any pair of vertices of G. If a and b are adjacent, then bysuboptimality φ(a, b) = ab. In the other case, both a and b are adjacent to all theother vertices of the graph. This is due to the fact that all the degrees are higherthan n− 2. Using this remark and the suboptimality condition implies that φ(a, b) ismade up of exactly two links ax and xb, where x is a vertex of G. In other words,all the routing paths of φ include either one link or two links. Let us define a set ofweights as follows: if an edge xy does not belong to any two-link routing path, thenwxy = 1, else wxy = 2

3 . If a and b are adjacent, then it is clear that the shortestpath between them in the sense of these weights is unique and is given by the edgeab. Next assume that a and b are not adjacent. As said before, φ(a, b) = ax ∪ xb.The weights of both ax and xb are equal to 2

3 . Note that the weight of φ(a, b) is givenby 4

3 and there is clearly no other path between a and b which has a strictly lowerweight. Thus, we have to show that there are no paths other than φ(a, b) havinga weight equal to 4

3 . Let us prove this property by contradiction. Any other pathbetween a and b whose weight is 4

3 is necessarily made up two links ay and yb where

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 27: Internet Routing and Related Topology Issues

44 WALID BEN-AMEUR AND ERIC GOURDIN

y = x. This implies that both ay and by are contained in some two-link routing pathsof φ. Moreover, any two-link routing path containing ay has necessarily the form ofsome φ(a, z) or φ(z, y). As a and b are not adjacent, a is adjacent to all the othervertices. Thus, ay cannot be contained in any φ(a, z). Let us assume that φ(z, y)includes ay. This clearly means that z and y are not adjacent and y is adjacent toall the other vertices. We also know that b is adjacent to all the vertices other thana and φ(a, b) does not include by. Combining these two remarks implies that thereis not any two-link routing path containing by. This contradicts the assumption thatwby = 2

3 . Thus, the shortest path between any two vertices a and b is always uniqueand is nothing other than the routing path φ(a, b). This proves the proposition andgives, by the way, an example of compatible weights.

In fact, even if the graph is, in a certain sense, made up of some of the particulargraphs described in this section, then it still satisfies the same property. This isestablished in the next theorem.

Recall that E is the set of edges used by at least one routing path φ(a, b) where(a, b) ∈ K. We will use in the next theorem the notion of a “block,” which is definedas a bridge or a maximal (in sense of inclusion) two-connected induced subgraph ofG [6, 12].

Theorem 3.21. If the suboptimality condition is satisfied, then it is possibleto determine a set of compatible weights if every block of G belongs to one of thefollowing graph classes: bridges, cycles, hat-cycles, cliques, and incomplete cliques(those of Proposition 3.20).

Proof. This theorem is, in fact, a direct consequence of the propositions of thissection and the definition of blocks. If G is not connected, then the result can bededuced by applying the theorem to all the connected components of G. If the graphis connected, then its block graph is a tree. We also know by definition that any twoblocks have at most one common vertex [6, 12]. Using these remarks and what wasshown in this section gives us the proof of the theorem.

A sample graph similar to those described in the previous theorem is presented inFigure 12. Finally, note that the graphs called cactus [6] and defined as the connectedgraphs all of whose blocks are elementary cycles or bridges satisfy the condition ofthe previous theorem.

4. Computational results. The construction scheme proposed in section 2 wascoded in C and run on a Sun Enterprize 450 with four 250 MAZE CPUs and 1 gigabyteof RAM. Some of the linear programs of section 3 were solved using a CPLEX LinearOptimizer 6.0 [10]. Random graphs with n vertices were obtained by generating eithera given number m of edges or a given number of edges corresponding to a given graphdensity d. Note that density is often defined as the ratio m

n(n−1)/2 . However, as we

focus here on connected graphs, we use the following definition:

m = n− 1 + d ∗ (n(n− 1)/2 − (n− 1)) .

Hence, a density of 0% corresponds to a tree, and a graph with a density 100% isa complete graph. In all cases, we make sure that the graph generated is connected(either by first generating a tree for the low density graphs or by using repeatedly theLEDA graph generator [28] until the connectivity requirement is satisfied).

The common objective of all the algorithms proposed in this paper is to obtaina set of weights such that all demands are routed on a single shortest path. In a firststep, we used the construction scheme proposed in section 2 to build a breadth searchtree and deduce the corresponding weights. As a byproduct, we also obtain a routing

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 28: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 45

Fig. 12. Suboptimality is sufficient to find compatible weights here.

path (defined as the single shortest path) between each pair of nodes. One of theaims of the construction scheme is to obtain low value weights. In order to evaluatehow well this aim is reached, we then use some of the linear programs of section 3 inwhich the objective is precisely, given a set of routing paths, to minimize the valueof the maximum weight. Note that, in practice, it would be necessary to check ifthe solution set is not empty, i.e., if there exists a set of weights compatible with therouting paths. In the case of our experimental study, we already have a compatibleset of weights. In our computational experiment, three mathematical programs aresolved for each instance:

IP4 is solved to obtain the reference optimal value I;LP4 is the continuous relaxation of IP4 that gives a lower bound C;LP6 is solved to give the upper bound U (section 3.2.2).

Note that each run is limited to one hour of computing time. 10 instances aregenerated for each graph size n and each density d. When some instances could notbe solved in this limited time, only the successful instances are taken into account tocalculate the average values, and these values are reported in brackets in Tables 1 and2. The missing entries in these tables correspond to cases in which no instance couldbe solved in the required time limit. When the number of successful instances is lowerthan 10, this number is reported in Table 3 below, instead of the regular entry.

In the first batch of computational experiments, 15 series of 10 instances weregenerated. Each series is defined by a number of vertices (n = 10, 30, 50) and adensity (d = 0, 25, 50, 75, 100). For each problem, the radius of the graph is computed,

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 29: Internet Routing and Related Topology Issues

46 WALID BEN-AMEUR AND ERIC GOURDIN

Table 1Dense graphs (average results over 10 instances).

n Density m Radius Maximum weight6× radius− 1 Tree C I U

10 0 % 9 2.8 15.8 3.0 1.0 1.0 1.010 25 % 18 2.0 11.0 9.9 3.3 3.5 6.310 50 % 27 1.7 9.2 7.6 2.7 3.5 4.310 75 % 36 1.2 6.2 5.6 2.2 3.0 3.310 100 % 45 1.0 5.0 5.0 1.0 1.0 1.030 0 % 29 4.9 28.4 3.0 1.0 1.0 1.030 25 % 130 2.0 11.0 11.0 5.4 (6.0) 10.430 50 % 232 2.0 11.0 10.9 4.8 (5.0) 7.630 75 % 333 1.4 7.4 6.8 2.8 (3.7) 4.130 100 % 435 1.0 5.0 5.0 1.0 1.0 1.050 0 % 49 5.7 33.2 3.0 1.0 1.0 1.050 25 % 343 2.0 11.0 11.0 6.1 - 11.350 50 % 637 2.0 11.0 11.0 5.3 - (8.5)50 75 % 931 1.8 9.8 8.6 (3.8) - -50 100 % 1225 1.0 5.0 5.0 1.0 1.0 1.0

Table 2Sparse graphs (average results over 10 instances).

n Density m Radius Maximum weight6× radius− 1 Tree C I U

10 0 % 9 2.8 15.8 3.0 1.0 1.0 1.010 16 % 15 2.1 11.6 9.4 3.2 3.3 5.510 30 % 20 2.0 11.0 9.9 3.5 3.5 5.710 58 % 30 1.3 6.8 6.1 2.3 3.2 3.530 0 % 29 4.9 28.4 3.0 1.0 1.0 1.030 3 % 45 3.6 20.6 19.3 6.3 6.5 14.430 7 % 60 3.0 17.0 16.2 5.8 (6.2) 14.430 15 % 90 2.5 14.0 13.0 5.6 (6.2) 11.250 0 % 49 5.7 33.2 3.0 1.0 1.0 1.050 2 % 75 4.4 25.4 20.9 7.0 7.0 17.750 4 % 100 3.7 21.2 19.3 6.8 (6.9) 17.750 8 % 150 3.0 17.0 16.7 6.8 - 15.2

a central vertex is selected, and a breadth-first search tree is built. According to theconstruction scheme of section 2, a weight is then assigned to each edge of the graph.The computational results displayed in the tables are average results over the 10instances. The value of 6 × radius − 1 is also provided as a very basic bound, to becompared with the four other values.

The bound provided by the tree heuristic is better than 6 × radius − 1, but itis also much weaker than the values provided by the linear programs. It seems, inview of the few integer programs we were able to solve in less than an hour, that thelower bound C is rather close to the optimal integer value for the sparse graphs andstarts to deteriorate when the density increases up to a relative gap of 30% in theworst cases. On the contrary, the upper bound U behaves quite badly for the sparsegraphs with a relative gap reaching such values as 150% but becomes much tighterwhen the density increases, beating in absolute value the lower bound C. However,the combination of these two bounds allows us to obtain a good approximation of theoptimal value.

Regarding the density of the graphs, the maximum value of the weight seems to

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 30: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 47

Table 3CPU time (in seconds).

n Density m Tree C I U10 0 % 9 0.01 0.02 0.02 0.0210 25 % 18 0.01 0.21 0.39 0.2310 50 % 27 0.02 0.30 1.19 0.3710 75 % 36 0.02 0.37 1.05 0.5710 100 % 45 0.01 0.02 0.01 0.0230 0 % 29 0.01 0.73 0.73 0.7330 25 % 130 0.12 31.25 (4) 38.5530 50 % 232 0.16 150.18 (3) 171.5330 75 % 333 0.21 137.52 (9) 239.5230 100 % 435 0.22 0.66 0.67 0.6450 0 % 49 0.24 5.25 5.26 5.2550 25 % 343 0.35 606.21 (0) 821.0350 50 % 637 0.54 2973.37 (0) (4)50 75 % 931 0.77 (2) (0) (0)50 100 % 1225 0.93 4.76 4.74 4.73

increase rapidly from the value 1 for the tree and then slowly decreases back to thevalue 1, also optimal for the complete graph. The maximum value of the weight isalso related to the size of the graph since the values observed are larger for graphswith more nodes for a given level of density.

In the second batch of computational experiments, 12 series of 10 instances weregenerated. Each series is again defined by a number of vertices (n = 10, 30, 50) and anumber of edges proportional to the number of nodes with a coefficient of 1, 1.5, 2,and 3. The graphs generated in this batch are hence somewhat sparser than the onesof the first batch.

The observations made on the first batch are confirmed with the second batch.The peak point in the evolution of the maximum weights seems to be located some-where in the sparse graphs area, apparently very close to the trees.

Finally, in the third batch of computational experiments, the computing time ofthe various approaches are compared. The average computing time in seconds, overthe 10 instances, is reported in Table 3. When some instances required more thanthe one hour time limit, the number reported in brackets is the number of successfulinstances, i.e., the number of instances solved in less than an hour.

Although the tree heuristic and the linear programming approaches are defini-tively not designed for the same purpose, the results displayed in Table 3 show howmuch faster this simple heuristic can be. It almost never takes more than a second tobuild the breadth-search tree and obtain the bound. The more elaborate approachesbased on various linear programs address a more difficult and general problem, sincethey allow us to find weights corresponding to any given pattern of routing paths (ifsuch weights exist). As an obvious drawback, these methods are much more time-consuming and the computing time required even increases rapidly with the size ofthe problems. Even more so, for many problems, the exact solution (that is, the min-imum maximal weight of a set of integer weights) cannot be reached in a reasonableamount of time (with the proposed approach).

Finally, for some instances, we observed that I > C + 1. This implies that wecannot hope (in general) to deduce integer weights only by rounding the weights givenby LP 4.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 31: Internet Routing and Related Topology Issues

48 WALID BEN-AMEUR AND ERIC GOURDIN

5. Conclusion and open problems. In this paper, we solved some impor-tant problems related to Internet networks. The traffic demands are carried throughshortest paths in sense of a set of administrative link weights. We showed that wecan simultaneously use all the network resources (links), avoid routing ambiguities (aunique shortest path for each demand), and use a set of integer weights which arestrictly lower than 6 times the radius of the graph (and hence can be easily encodedon routers). Then, we studied the problem of computing a set of weights that iscompatible with a given set of routing paths. The routing paths can be the outputof a dimensioning procedure [4]. In other cases, they are imposed by technical andtopological constraints. We gave some necessary conditions that must be satisfied bythe routing paths to find compatible weights. Linear programs enabling the solutionof this problem were presented. Focus was on algorithms that can be used to com-pute integer weights. We also found many important particular graphs such as cycles,cacti, etc., for which the suboptimality condition is sufficient to find weights.

Many problems connected with those solved in this paper are still open. First, isit possible to have a general upper bound on the integer weights that is better thansix times the radius of the graph? Second, is there any general “simple” necessaryand sufficient condition that must be satisfied by the routing paths to guarantee theexistence of a set of compatible weights?

Computing a set of real weights compatible with some routing paths is a polyno-mial problem, but what is the complexity of this problem when the weights have tobe integers and as small as possible?

Another interesting problem that has not been addressed in this paper can bestated as follows: given a graph G = (V,E), can we find a minimal (in the car-dinal sense) set of values W = w1, w2, . . . that generates all the possible short-est routing paths on G? As we know that the set of weights that are compatiblewith a set of routing paths φ is either empty or is a nonempty polyhedron Pφ,the problem described above is equivalent to finding a minimal set W such thatPφ∩

(W |E| = W ×W × · · · ×W

) = ∅ for any set of routing paths φ for which Pφ = ∅.

REFERENCES

[1] C. Barnhart, C. Hane, and P. Vance, Using branch-and-price to solve origin-destinationinteger multicommodity flow problems, Oper. Res., 2 (2000), pp. 318–326.

[2] W. Ben-Ameur, Constrained length connectivity and survivable networks, Networks, 36 (2000),pp. 17–33.

[3] W. Ben-Ameur and E. Gourdin, Exact Algorithms for Internet Dimensioning, Technicalreport DE/DAC/OAT/30.99, France Telecom R&D, Issy-les-Moulineaux, France, 1999 (inFrench).

[4] W. Ben-Ameur, E. Gourdin, B. Liau, and N. Michel, Dimensioning of Internet networks,in Proceedings of the Second International Workshop on the Design of Reliable Commu-nication Networks, Munich, 2000, pp. 56–61.

[5] W. Ben-Ameur, E. Gourdin, B. Liau, and N. Michel, Routing strategies for IP networks,in Telektronikk Magazine, 2/3 (2001), pp. 145–158.

[6] C. Berge, Graphes et Hypergraphes, Dunod, Paris, 1970.[7] B. Bollabas, Random Graphs, Academic Press, London, 1985.[8] D. Burton and Ph.L. Toint, On an instance of the inverse shortest paths problem, Math.

Program., 53 (1992), pp. 45–61.[9] K. L. Calvert, M. B. Doar, and E. W. Zegura, Modeling Internet topology, IEEE Commu-

nications Magazine, 35 (1997), pp. 160–163.[10] ILOG, Inc., Using the CPLEX Linear Optimizer, Incline Village, NV,[11] E. Crawley, R. Nair, R. Rajagopalan, and H. Sandick, A Framework for QoS-Based

Routing in the Internet, IETF Request for comments 2386, 1998.[12] R. Diestel, Graph Theory, Springer, 1997.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p

Page 32: Internet Routing and Related Topology Issues

INTERNET ROUTING AND RELATED TOPOLOGY ISSUES 49

[13] Y. Dinitz, N. Garg, and M. X. Goemans, On the single-source unsplittable flow problem,Combinatorica, 19 (1999), pp. 1-25.

[14] S. E. Dreyfus, An appraisal of some shortest-path algorithms, ORSA J. Comput., 17 (1969),pp. 395–412.

[15] M. Faloutsos, P. Faloutsos, and C. Faloutsos, On power-law relationships of the internettopology, in Proceedings of SIGCOMM ’99, ACM, New York, 1999.

[16] A. Farago, A. Szentesi, and B. Szviatovszki, Allocation of administrative weights in PNNI,in Proceedings of Networks ’98, Italy, 1998, pp. 621–625.

[17] B. Fortz and M. Thorup, Internet traffic engineering by optimizing OSPF weights, in Pro-ceedings of the Nineteenth Annual Joint Conference of the IEEE Computer and Commu-nications Societies, Vol. 2, IEEE Press, Piscataway, NJ, 2000, pp. 519–528.

[18] ATM Forum, Private network-network interface, specification version 1.0, af-pnni-0055.00,1996.

[19] P. Gajowniczek, M. Pioro, M. Szentesi, and A. Harmatos, Solving an OSPF routingproblem with simulated allocation, in Proceedings of the First Polish-German TeletrafficSymposium, Dresden, 1998.

[20] J. Geffard, A 0-1 model for singly routed traffic in telecommunications, Annals Telecommu-nications, 56 (2001), pp. 140–149.

[21] M. Gondran and M. Minoux, Graphes et algorithmes, Eyrolles, Paris, 1995.[22] M. Grotschel, L. Lovasz, and A. Schrijver, The ellipsoid method and its consequences in

combinatorial optimization, Combinatorica, 1 (1981), pp. 169–197.[23] C. Hedrick, Routing Information Protocol, IETF Request for comments 1058, 1988.[24] C. Huitema, Le routage dans l’Internet, Eyrolles, 1995.[25] N. Katoh, T. Ibaraki, and H. Mine, An efficient algorithm for K shortest simple paths,

Networks, 12 (1982), pp. 411–427.[26] D. Lorenz and A. Orda, QoS routing in networks with uncertain parameters, IEEE/ACM

Transactions on Networking, 6 (1998), pp. 768–778.[27] D. Lorenz, A. Orda, D. Raz, and Y. Shavitt, How good can IP routing be?, Technical report

2001-17, DIMACS, Rutgers University, Piscataway, NJ, 2001.[28] K. Mehlhon, S. Naher, M. Seel, and C. Uhrig, Efficient Data Types and Algorithms, version

3.7., LEDA Software GmbH, Saarbrucken, Germany.[29] M. Minoux, Programmation Mathematique-Theorie et Algorithmes, Dunod, Paris, 1983.[30] J. Moy, OSPF Version 2, IETF Request for comments 1583, 1994.[31] G. L. Nemhauser and L. A. Wolsey, Integer and Combinatorial Optimization, John Wiley,

New York, 1988.[32] D. Oran, OSI IS-IS Intra-Domain Routing Protocol, IETF Request for comments 1142, 1990.[33] K. Park, S. Kang, and S. Park, An integer programming approach to the bandwidth packing

problem, Management Science, 42 (1996), pp. 1277–1291.[34] L. Peterson and B. Davie, Computer Networks, A Systems Approach, Morgan Kaufmann,

San Francisco, CA, 2000.[35] A. Schrijver, P. Seymour, and P. Winkler, The ring loading problem, SIAM J. Discrete

Math., 11 (1998), pp. 1–14.[36] Z. Wang and J. Crowcroft, Quality-of-service routing for supporting multimedia applica-

tions, IEEE J. Selected Areas Communications, 14 (1996), pp. 1228–1234.[37] Y. Wang, Z. Wang, and L. Zhang, Internet traffic engineering without full mesh overlaying,

in Proceedings of the Twentieth Annual Joint Conference of the IEEE Computer andCommunication Societies, Vol. 1, IEEE Press, Piscataway, NJ, 2001, pp. 565–571.

[38] B. M. Waxman, Routing of multipoint connections, IEEE J. Selected Areas Communications,6 (1988), pp. 1617–1622.

[39] J. Y. Yen, Finding the K shortest loopless paths in a network, Management Science, 17 (1971),pp. 712–716.

[40] J. Zinky, G. Vichniac, and A. Khanna, Performance of the revised routing metric in theARPANET and MILNET, In proceedings of the Military Communications Conference,Vol. 1, IEEE, 1989, pp. 219–224.

Dow

nloa

ded

12/0

5/14

to 1

41.2

09.1

44.1

22. R

edis

trib

utio

n su

bjec

t to

SIA

M li

cens

e or

cop

yrig

ht; s

ee h

ttp://

ww

w.s

iam

.org

/jour

nals

/ojs

a.ph

p