14
1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing is a critical component in the routing design. While there are plenty of routing metrics and broadcast routing schemes in current literature, it remains an unsolved problem as to which metrics are compatible to a specific broadcast routing scheme. In particular, in the wireless broadcast routing context where transmission has an inherent broadcast property, there is a potential danger of incompatible combination of broadcast routing algorithms and metrics. This paper shows that different broadcast routing algorithms have different requirements on the properties of broadcast routing metrics. The metric properties for broadcast routing algorithms in both undirected network topologies and directed network topologies are developed and proved. They are successfully used to verify the compatibility between broadcast routing metrics and broadcast routing algorithms. This work provides important criteria in broadcast routing metric design. Index Terms—Broadcast routing, Routing protocols, Routing metric design. 1 I NTRODUCTION Broadcast routing is a critical component of network administration and management. It delivers and updates various network control information. Without effective broadcast routing, the whole network may degrade into chaos. Therefore, designing effective broadcast routing protocols is an important part in routing research and design. The definition of ”effective” broadcast routing, how- ever, varies according to the application scenarios. In an energy-critical sensor network, broadcast routing may need to minimize energy consumption or maximize net- work lifetime. In an information-sensitive military net- work, broadcast routing may need to guarantee timely and secure message delivery. In many other applica- tion scenarios, multiple performance factors, such as delay, packet loss rate, bandwidth, etc., may need be jointly considered for effective broadcast routing [1]. All these different performance requirements for broadcast routing are usually reflected in the design of routing metrics [2], which guide the broadcast tree calculation algorithms to prefer one broadcast tree over the others. However, many existing broadcast tree calculation algorithms [3], [4] are only known to find the opti- mal broadcast tree when the routing metric defines the weight of a broadcast tree as the simple sum of all the link weights. Many routing metrics [2] that accurately capture network performance requirements are not such simple link weight aggregation. Therefore, there arises the fundamental question of whether a broadcast tree calculation algorithm is guaranteed to find the optimal Chuan Han and Yaling Yang are with the ECE department, Virginia Tech, Blacksburg, VA, 24061. E-mail: [email protected] broadcast tree based on a certain routing metric defini- tion. Some existing works [5], [6], [7] have shown that, for unicast routing, if metrics are inappropriately com- bined with incompatible path calculation algorithms, the optimality of unicast routing can be compromised. Sim- ilar compatibility issues also exist in broadcast routing as shown by a simple example as follows. One important design goal of broadcast routing in sensor networks is to save transmission energy. A com- mon metric capturing the total broadcast routing energy consumption [8] is w(T )= X iNt(T ) max (i,j)E(T ) ε ij , (1) where N t (T ) is the set of transmitting nodes in the broadcast tree T , E(T ) is the set of links in T , and ε ij is the minimum energy consumption of transmitting a packet from node i to node j . While the metric definition in (1) is simple, finding the optimal broadcast tree based on this definition is very challenging. Consider the undirected network topology G consisting of four nodes r, i, j and k in Fig.1 (I), where the source node r of a broadcast session is marked as the black node, and the number associated with each edge is the ε ij in (1). By definition (1), the minimum energy broadcast tree is T 1 = {ri, rj, rk} in Fig.1 (II), whose total energy consumption is 3.5. However, following Prim’s algorithm [3], which is a well-known algorithm for calculating the minimum spanning tree (MST) for undirected graphs, the broadcast tree is T 2 = {ri, ij, jk} in Fig.1 (III), whose total energy consumption is 4.1. Hence, the combination of Prim’s algorithm and the broadcast routing metric (1) fails to find the optimal broadcast routing tree. The above example demonstrates the strong impact of routing metrics on the optimality of broadcast routing.

Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

1

Compatibility Study for Optimal Tree-basedBroadcast Routing

Chuan Han and Yaling Yang

Abstract—Broadcast routing is a critical component in the routing design. While there are plenty of routing metrics and broadcastrouting schemes in current literature, it remains an unsolved problem as to which metrics are compatible to a specific broadcastrouting scheme. In particular, in the wireless broadcast routing context where transmission has an inherent broadcast property,there is a potential danger of incompatible combination of broadcast routing algorithms and metrics. This paper shows that differentbroadcast routing algorithms have different requirements on the properties of broadcast routing metrics. The metric properties forbroadcast routing algorithms in both undirected network topologies and directed network topologies are developed and proved. Theyare successfully used to verify the compatibility between broadcast routing metrics and broadcast routing algorithms. This work providesimportant criteria in broadcast routing metric design.

Index Terms—Broadcast routing, Routing protocols, Routing metric design.

F

1 INTRODUCTION

Broadcast routing is a critical component of networkadministration and management. It delivers and updatesvarious network control information. Without effectivebroadcast routing, the whole network may degrade intochaos. Therefore, designing effective broadcast routingprotocols is an important part in routing research anddesign.

The definition of ”effective” broadcast routing, how-ever, varies according to the application scenarios. In anenergy-critical sensor network, broadcast routing mayneed to minimize energy consumption or maximize net-work lifetime. In an information-sensitive military net-work, broadcast routing may need to guarantee timelyand secure message delivery. In many other applica-tion scenarios, multiple performance factors, such asdelay, packet loss rate, bandwidth, etc., may need bejointly considered for effective broadcast routing [1]. Allthese different performance requirements for broadcastrouting are usually reflected in the design of routingmetrics [2], which guide the broadcast tree calculationalgorithms to prefer one broadcast tree over the others.

However, many existing broadcast tree calculationalgorithms [3], [4] are only known to find the opti-mal broadcast tree when the routing metric defines theweight of a broadcast tree as the simple sum of all thelink weights. Many routing metrics [2] that accuratelycapture network performance requirements are not suchsimple link weight aggregation. Therefore, there arisesthe fundamental question of whether a broadcast treecalculation algorithm is guaranteed to find the optimal

• Chuan Han and Yaling Yang are with the ECE department, Virginia Tech,Blacksburg, VA, 24061.E-mail: [email protected]

broadcast tree based on a certain routing metric defini-tion. Some existing works [5], [6], [7] have shown that,for unicast routing, if metrics are inappropriately com-bined with incompatible path calculation algorithms, theoptimality of unicast routing can be compromised. Sim-ilar compatibility issues also exist in broadcast routingas shown by a simple example as follows.

One important design goal of broadcast routing insensor networks is to save transmission energy. A com-mon metric capturing the total broadcast routing energyconsumption [8] is

w(T ) =∑

i∈Nt(T )

max(i,j)∈E(T )

εij , (1)

where Nt(T ) is the set of transmitting nodes in thebroadcast tree T , E(T ) is the set of links in T , and εij

is the minimum energy consumption of transmitting apacket from node i to node j.

While the metric definition in (1) is simple, finding theoptimal broadcast tree based on this definition is verychallenging. Consider the undirected network topologyG consisting of four nodes r, i, j and k in Fig.1 (I), wherethe source node r of a broadcast session is marked as theblack node, and the number associated with each edgeis the εij in (1). By definition (1), the minimum energybroadcast tree is T1 = {ri, rj, rk} in Fig.1 (II), whosetotal energy consumption is 3.5. However, followingPrim’s algorithm [3], which is a well-known algorithmfor calculating the minimum spanning tree (MST) forundirected graphs, the broadcast tree is T2 = {ri, ij, jk}in Fig.1 (III), whose total energy consumption is 4.1.Hence, the combination of Prim’s algorithm and thebroadcast routing metric (1) fails to find the optimalbroadcast routing tree.

The above example demonstrates the strong impact ofrouting metrics on the optimality of broadcast routing.

Page 2: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

2

rij

k

11

2.1 3.5

(I)

rij

k

11

2.1

(III)

rij

k

1

2.5

(II)

3.5

G T1 T2

2.5

Fig. 1. The network topology example

Unfortunately, in current literature, there is a lack of sys-tematic understanding about this incompatibility prob-lem. Hence, it is very easy for network engineers to com-bine incompatible routing metrics with optimal broad-cast algorithms, causing unexpected problems later.

In this paper, we fill in this critical technical void.Our work provides important guidelines to network de-signers so that the incompatibility issue between routingmetrics and optimal routing protocols can be resolvedat design stage. Our unique contribution is two-fold.Firstly, we propose a novel broadcast routing algebrathat is a framework used to investigate the broadcastrouting compatibility problem. Our algebra is differentfrom Sobrinho’s routing algebra [5]. Sobrinho’s routingalgebra can only operate over paths and hence can onlycapture unicast routing. Our broadcast routing algebra,on the other hand, can operate over arbitrary graphsand capture broadcast routing. Our routing algebra isalso highly flexible. It not only can capture traditionalrouting metrics that define broadcast tree weight aslinear link weight aggregation, but also can capture morecomplex non-linear routing metrics. Secondly, using thebroadcast routing algebra, we identify the necessary andsufficient routing metric properties for optimal broadcasttree (OBT) calculation algorithms, including Prim’s al-gorithm, the generic edge-adding algorithm, the genericedge-deleting algorithm and Edmonds’ algorithm. Theseproperties are used to judge the compatibility betweenthese algorithms and plausible broadcast routing met-rics.

The notation used in this paper is summarized inTable 1. The remaining part of this paper is organizedas follows. In Section 2, the broadcast routing algebrais introduced. Sections 3 and 4 provide the necessaryand sufficient metric properties required by broadcastrouting for undirected network topologies and directednetwork topologies, respectively. A distributed optimalbroadcast routing protocol is proposed in Section 5, andthe root-independence properties of OBTs are discussedin Section 6. The applications of the derived broadcastrouting metric properties are presented in Section 7.Finally, Section 8 concludes the whole paper.

2 BROADCAST ROUTING ALGEBRAThe analysis of the routing metric properties is based onour broadcast routing algebra that formulates the routingproblem in an algebraic manner. This section introducesthe broadcast routing algebra.

TABLE 1Notation

Symbol Definition= Equivalent to

A−(n) The set of arcs that terminate at node nE(G) The edge set of graph G

G = (N(G), E(G)) The graph whose node set is N(G) andedge set is E(G)

G1 ªG2 Remove the common edges of networktopologies G1 and G2 from G1

G1 ⊕G2 Merge of two network topologies G1

and G2

N(G) The node set of graph G∂(S) The edge cut of node set S≺ Lighter than¹ Lighter than or equivalent to Heavier thanaij The arc emanating from node i and

terminating at node jd−(n) The indegree of node n

eij The edge whose two end nodes are iand j

r The root node of graphw(T ) The weight of network topology T|S| The total number of elements in the set

S

2.1 Definition

Definition 1: The broadcast routing algebra is definedas

A = (Σ,¹,⊕,ª, w(·)), (2)

where

• Σ is the set of signatures describing the charac-teristics of all the subgraphs of an original graphG. These characteristics may include each link’scapacity, energy consumption, etc..

• The symbol ¹ is the preference order operator,where w(T1) ¹ w(T2) indicates that topology T1

is better than or equivalent to topology T2 underweight function w(·).

• The symbol ⊕ denotes the operator that joins twonetwork topologies. For any edge e1 ∈ E(G1) andnode n1 ∈ N(G1) in topology G1, and any edgee2 ∈ E(G2) and node n2 ∈ N(G2) in topology G2,we have e1, e2 in the edge set E(G1⊕G2) and n1, n2

in the node set N(G1 ⊕G2).• The symbol ª denotes the operator that removes

the common edges of the left and the right operandtopologies from the left operand topology. For anyedge e1 ∈ E(G1), e1 /∈ E(G2), and node n1 ∈ N(G1)in topology G1, we have e1 in the edge set E(G1 ªG2) and n1 in the node set N(G1 ªG2).

• The symbol w(·) denotes the weight function overthe signature of network topologies. With this rout-ing algebra, any routing metric is mathematicallyrepresented by the weight function w(·).

We further define w(a) ≺ w(b) as w(a) ¹ w(b) andw(a) 6= w(b), and let w(a) Â w(b) mean w(b) ≺ w(a).Any OBT algorithm essentially builds the best subgraphusing the ⊕ and/or ª operator. With the broadcast

Page 3: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

3

(II)

(I)

k

i

j

r

k

r

i

j

k

p1 p2 p

r

i

j k

l l

m

n o

r

i

j k

l

m

n o

T1 T2 T

(III)

r

i

jk

l

m

n

G1 G2 G

k

n

o

l

r

i

j k

l

m

n

Fig. 2. The broadcast routing algebra example

routing algebra, OBT algorithms can be expressed in analgebraic manner.

It is important to point out that, our broadcast routingalgebra is different from Sobrinho’s routing algebra. InSobrinho’s routing algebra, the ⊕ operation can onlycapture simple path concatenation as depicted in Fig.2(I). In our broadcast routing algebra, the ⊕ operation isthe more general graph union operation as depicted inFig.2 (II), where given two broadcast trees T1 and T2 thatshare a common node l, the ⊕ operation joins the twotrees and the resulting tree is T = T1 ⊕ T2. Moreover,the broadcast routing algebra also has an unique ªoperation as shown by the example in Fig.2 (III), whereª removes from its left operand topology the commonedges between its left and right operand topologies.

2.2 Properties

The broadcast routing algebra has the following proper-ties:

Σ is closed under ⊕: a⊕ b ∈ Σ for any a, b ∈ Σ;Σ is closed under ª: aª b ∈ Σ for any a, b ∈ Σ;¹ is complete: for any a, b ∈ Σ, either w(a) ¹ w(b) or

w(b) ¹ w(a) (or both);¹ is transitive: for a, b, c ∈ Σ, if w(a) ¹ w(b), w(b) ¹

w(c), then w(a) ¹ w(c);⊕ is idempotent: a⊕ a = a for any a ∈ Σ;⊕ is commutative: a⊕ b = b⊕ a for any a, b ∈ Σ;⊕ is associative: (a⊕b)⊕c = a⊕(b⊕c) for any a, b, c ∈ Σ;ª is non-commutative: aª b 6= bª a for some a, b ∈ Σ;ª is only left-associative but non-associative: aªbªc =

(aª b)ª c for any a, b, c ∈ Σ, but (aª b)ª c 6= aª (bª c)for some a, b, c ∈ Σ.

3 OPTIMAL BROADCAST ROUTING IN UNDI-RECTED NETWORK TOPOLOGIES

In our analysis of OBT algorithms’ requirements onrouting metrics, there are two different models of theunderlying networks: the directed graph model and theundirected graph model. The undirected graph modelis appropriate if all the links in the network are bidi-rectional and the two directions have the same signa-tures (a.k.a. characteristics). The directed graph modelis used to capture more complicated cases where thereare asymmetric links. Different OBT algorithms need tobe used for undirected and directed network topolo-gies, and these algorithms have different requirementson routing metric design. In this section, we focus onOBT algorithms for undirected network topologies. Inthe next section, we study OBT algorithms for directednetwork topologies.

Without loss of generality, we formulate the prob-lem of optimal broadcast routing in undirected networktopologies as the MST problem for undirected graphs.In the remainder of this section, we develop and provethe necessary and sufficient metric properties for whichPrim’s algorithm, the generic edge-adding algorithm andthe generic edge-deleting algorithm guarantee optimal-ity. Prim’s algorithm is based on subtrees, the genericedge-adding algorithm is based on subforests, and thegeneric edge-deleting algorithm is based on connectedsubgraphs. Many well-known MST algorithms, such asKruskal’s algorithm [3], Boruvka’s algorithm [4], theGHS algorithm [9] and the reverse-delete algorithm [10],etc., are special cases of the two generic algorithms.

3.1 Prim’s Algorithm3.1.1 Algorithm OverviewPrim’s algorithm starts by treating the root node r,which is the broadcast source node, as the initial partialspanning tree Tr. Then it progressively grows the partialspanning tree Tr by adding the best edge from the edgecut of the current Tr, until Tr spans the entire graph. Thecalculation of the best edge e∗ can be generalized basedon the binary operation ⊕ and the order relation ¹ asfollows:

e∗ = arg mine∈∂(Tr)

{w(Tr ⊕ e)}, (3)

where ∂(Tr) is the edge cut of Tr [11]. Here, the edgecut ∂(Tr) is the set of edges with one end in N(Tr) andthe other end in N(G) − N(Tr). Note that the originalPrim’s algorithm is only defined for linear metrics basedon linear link weight aggregation. The generalized com-putation of minimum weight edge in (3) extends Prim’salgorithm to cover both linear and non-linear metricdesigns.

3.1.2 Metric Properties and ProofThe required routing metric property for the generalizedPrim’s algorithm can be expressed by the followingdefinition.

Page 4: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

4

T

F

T

F’

T

F’

ei ei f

Tp T*

ei

(II)

rrr

(I) (III)

ei

T**

Fig. 3. Sufficient proof illustration for Prim’s algorithm

Definition 2: Right ⊕-isotonicity for trees: A weight func-tion w(·) of trees is said to be isotonic for ⊕ over a graphG if for any tree T ⊂ G, we have

w(T ⊕ e) ¹ w(T ⊕ e′) ⇒w(T ⊕ e⊕ F ) ¹ w(T ⊕ e′ ⊕ F ), (4)

for any edge e, e′ ∈ ∂(T ) and forest F such that bothT ⊕ e⊕ F and T ⊕ e′ ⊕ F are still trees.

Theorem 1: Given any connected and undirected net-work topology G whose root node is r, Prim’s algorithmproduces the MST, if and only if the broadcast routingmetric w(·) is right ⊕-isotonic for trees.

Proof:Sufficient condition:Let Tp be the Prim tree that is generated by Prim’s

algorithm. Denote e1, . . . , e|N(G)|−1 as the order inwhich Prim’s algorithm selects edges, where |N(G)| isthe total number of nodes in graph G. We next provethat if the broadcast routing metric satisfies the propertyin (4), Prim’s algorithm produces a MST.

Following the order e1, . . . , e|N(G)|−1, compare eachedge in E(Tp) with edges of a MST. If all the edgesin E(Tp) are the same as the edges in the MST, thenPrim’s algorithm produces the MST for the given metric.Otherwise, Tp starts to differ with the MST at someedge. Denote the MST that shares the largest number ofconsecutive common edges with Tp as T ∗ and the firstedge that Tp differs with T ∗ as ei. By Prim’s algorithm,the edge set {e1, e2, . . . , ei−1} is a tree. Denote thistree as T as shown in Fig. 3 (I). Tree T is a subgraphfor both Tp and T ∗. Consider adding edge ei to T ∗

as shown in Fig. 3 (II). Then, there must exist a cyclecontaining ei, and within the cycle there exists an edgef ∈ ∂(T ), f ∈ T ∗, f 6= ei. By Prim’s algorithm, it followsw(T⊕ei) ¹ w(T⊕f). Substituting f with ei, the resultingsubgraph T ∗∗ = T ∗⊕eiªf in Fig. 3 (III) is still a spanningtree. Since w(T ⊕ ei) ¹ w(T ⊕ f), by the property in (4),it follows that w(T ∗∗) ¹ w(T ∗). Since T ∗ is a MST, T ∗∗

is also a MST. The fact that T ∗∗ has one more commonedge ei with Tp than T ∗ contradicts the definition of T ∗.Hence, Tp is also a MST.

Necessary condition:We need to prove that if Prim’s algorithm produces the

MST on any network topology, then the metric satisfiesthe property in (4). This can be proved by showingthat its contrapositive is correct, i.e., if a metric does

e1

G

r

e2

e3 e3

(I) (II)

r e3

2 3r e e

(III)

e2

1 3r e e

e1

r

Fig. 4. The necessary condition proof example for Prim’salgorithm

not satisfy the property in (4), then there is at leastone network topology for which the algorithm does notguarantee optimality.

Consider the network topology G in Fig. 4 (I). Supposew(r⊕ e1) ¹ w(r⊕ e2) and the metric does not satisfy theproperty in (4). Note that r ⊕ e1 ⊕ e3 and r ⊕ e2 ⊕ e3

are trees, as shown in Fig. 4 (II) and (III), respectively.Since for the given metric the property in (4) does nothold, it is possible that w(r ⊕ e1 ⊕ e3) Â w(r ⊕ e2 ⊕ e3).Meanwhile, the tree produced by Prim’s algorithm isTp = r ⊕ e1 ⊕ e3 which is not the MST. Hence, forthe given metric, Prim’s algorithm does not producethe MST for this particular network topology. Therefore,for Prim’s algorithm to guarantee optimality on anynetwork topology, the metric must satisfy the propertyin (4).

3.2 Generic Edge-adding AlgorithmThere is a generic edge-adding algorithm on undirectedgraphs [3], [4]. It covers typical forest-based MST algo-rithms, e.g., Kruskal’s algorithm, Boruvka’s algorithm,and the GHS algorithm, etc.. These algorithms only differin their edge-adding orders.

3.2.1 Algorithm OverviewThe generic edge-adding algorithm starts by initializingforest F as F = F0 = (N(G), ∅), where ∅ is the emptyset. In each of the following steps, it picks one edge e∗

to add to F until F is a spanning tree of G. The edge e∗

is determined by first finding a node set S such that Fdoes not have any edge that belongs to the edge cut ofS. Here, the edge cut of S is the set of edges in G withone end in S and the other end in N(G)− S. The edgee∗ is then chosen from the edge cut of S [11], denotedas ∂(S), as follows:

e∗ = arg mine∈∂(S)

{w(F ⊕ e)}, (5)

where ∂(S) ∩ E(F ) = ∅ and S ⊂ N(G).The edge-adding process can be illustrated by an

example. Consider the undirected graph G in Fig.5 (I)and the initial forest F0 = (N(G), ∅). In the first stepshown in Fig.5 (II), e1 is chosen from ∂(S1), i.e., the edgecut of the node set S1. This results in a forest F = F0⊕e1.Note that in the next step, the node set S2 shown in Fig.5(III) cannot be chosen since ∂(S2)∩E(F0⊕e1) = {e1} 6= ∅.Instead, one can choose the node set S3 within ∂(S3)edge e2 as shown in Fig.5 (IV). This process continuesuntil the resulting forest is a spanning tree of G.

Page 5: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

5

G

S1

S2

S3

0 1F e

0 1F e

0 1 2F e e

(I) (II) (III) (IV)

e1 e2 e1 e2e1 e1 e2r rrr

Fig. 5. The generic edge-adding algorithm example

3.2.2 Metric Properties and ProofThe required routing metric property for the genericedge-adding algorithm can be expressed by the follow-ing definition.

Definition 3: Right ⊕-isotonicity for forests: A weightfunction w(·) of forests is said to be ⊕-isotonic for forestsover a graph G if for any forest F ⊂ G, given any nodeset S ⊂ N(G) satisfying ∂(S) ∩ E(F ) = ∅, we have

w(F ⊕ e) ¹ w(F ⊕ e′) ⇒w(F ⊕ e⊕ F ′) ¹ w(F ⊕ e′ ⊕ F ′), (6)

for any edge e, e′ ∈ ∂(S) and forest F ′ ⊂ G such thatF ⊕ e⊕ F ′ and F ⊕ e′ ⊕ F ′ are forests.

Theorem 2: Given any connected and undirected net-work topology G whose root node is r, the genericedge-adding algorithm produces the MST, if and onlyif the broadcast routing metric w(·) is right ⊕-isotonicfor forests.

Proof:Sufficient condition:Let Ta be the spanning tree generated by the generic

edge-adding algorithm. Denote e1, e2, ..., e|N(G)|−1 as theorder of adding edges, where |N(G)| is the total numberof nodes in the graph G. Suppose Ta is not a MST.Denote T ∗ as the MST that shares the largest numberof consecutive common edges with the edge sequencee1, e2, ..., e|N(G)|−1 of Ta. Denote the first edge in the se-quence that differs from T ∗ as ei. Let F be the forest con-sisting of edges e1, e2, ..., ei−1, i.e., F = {e1, e2, ..., ei−1}.Consider adding edge ei into the spanning tree T ∗. Then,there must exist a cycle containing ei. By the genericedge-adding algorithm and the tree property of T ∗, theremust exist an edge e′i ∈ E(T ∗) in the cycle, such thatw(F ⊕ ei) ¹ w(F ⊕ e′i), ei, e

′i ∈ ∂(S), ∂(S)∩E(F ) = ∅, S ⊂

N(G), where S is the selected node set before addingedge ei when running the algorithm. Deleting e′i fromT ∗⊕ei generates another spanning tree. By the propertyin (6), it follows that w(T ∗⊕eiªe′i) = w(F⊕ei⊕(T ∗ªFªe′i)) ¹ w(F⊕e′i⊕(T ∗ªFªe′i)) = w(T ∗⊕e′iªe′i) = w(T ∗).Since T ∗ is a MST, T ∗⊕eiªe′i is also a MST and it containsedge ei. Since T ∗ ⊕ ei ª e′i contains more consecutivecommon edges with Ta than T ∗, this contradicts thedefinition of T ∗. Hence, Ta is also a MST.

Necessary condition:We need to prove that if for any topology the spanning

tree Ta generated by the generic edge-adding algorithm

F F’F F’

e1

e2

F F’

e2

Ta

(I)

2F e FTa

(II) (III)

S e1

Fig. 6. The necessary condition proof example for thegeneric edge-adding algorithm

is a MST then the metric satisfies the property in (6).We prove it by showing that its contrapositive is correct,i.e., if there is at least one metric that does not satisfy theproperty in (6), there is at least one network topology forwhich Ta is not a MST.

Suppose, for a network topology, Ta is the spanningtree generated by the generic edge-adding algorithm, asshown in Fig.6 (I). By the generic edge-adding algorithm,it follows that w(F⊕e1) ¹ w(F⊕e2), e1, e2 ∈ ∂(S), ∂(S)∩E(F ) = ∅, where F is the partially generated forestbefore adding edge e1 and S is the selected node setbefore adding edge e1. Let F ′ = Ta ª e1 ª F as shownin Fig.6 (II). Since for the given metric the propertyin (6) is not guaranteed, it is possible that w(Ta) =w(F ⊕ e1⊕F ′) Â w(F ⊕ e2⊕F ′) as shown in Fig. 6 (III).That is Ta cannot be the MST of the original networktopology. Hence, if Ta is a MST, then the metric satisfiesthe property in (6).

Note that the above proof can be applied to anyspecific order of adding edges. Therefore, Theorem 2 alsoholds for typical edge-adding algorithms, e.g., Kruskal’salgorithm, Boruvka’s algorithm and the GHS algorithm.

3.3 Generic Edge-deleting AlgorithmSimilar to the generic edge-adding algorithm, there is ageneric edge-deleting algorithm on undirected graphs.Common edge-deleting algorithms, e.g., the reverse-deleting algorithm, are only special cases of the genericedge-deleting algorithm with particular edge deletingorders.

3.3.1 Algorithm OverviewThe generic edge-deleting algorithm starts by initializinga connected graph F as F = G. In each of the followingsteps, it deletes one edge e∗ from F , while still main-taining the connectivity of F . The edge deleting processproduces a tree when there is no edge to be deleted in Fany more. At each step, the algorithm first finds a cycleC in the current connected graph F . Then, the edge e∗

is selected as follows:

e∗ = arg mine∈E(C)

{w(F ª e)}, (7)

where C ⊆ F .The edge-deleting process can be illustrated by an

example. Consider the undirected graph G in Fig.7 (I).In the first step, as shown in Fig.7 (II), edge e1 withinthe cycle C1 in G is chosen and deleted. In the second

Page 6: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

6

G

(I) (II) (III)

e1 e2r

e1 e2r

e2r

G G 1e

C1

C2

Fig. 7. The generic edge-deleting algorithm example

step, as shown in Fig.7 (III), edge e2 within the cycle C2

in Gª e1 is chosen and deleted. This process continuesuntil there are no cycles in the graph.

3.3.2 Metric Properties and ProofThe required routing metric property for the genericedge-deleting algorithm can be expressed by the follow-ing definition.

Definition 4: Right ª-isotonicity for connected graphs: Aweight function w(·) of connected graphs is said to beright ª-isotonic for connected subgraphs over a graphG if for any connected subgraph F ⊂ G, given any cycleC in F , we have

w(F ª e) ¹ w(F ª e′) ⇒w(F ª eª F ′) ¹ w(F ª e′ ª F ′), (8)

for any edge e, e′ ∈ E(C) and subgraph F ′ in G such thatboth F ªeªF ′ and F ªe′ªF ′ are connected subgraphs.

Theorem 3: Given any connected and undirected net-work topology G whose root node is r, the generic edge-deleting algorithm produces the MST, if and only ifthe broadcast routing metric w(·) is right ª-isotonic forconnected subgraphs.

Proof:Sufficient condition:Let the spanning tree generated by the

generic edge-deleting algorithm be Td. Denotee1, e2, ..., e|E(G)|−|N(G)|+1 as the order of deletingedges, where |E(G)| is the total number of edgesin the graph G and |N(G)| is the total number ofnodes in the graph G. Suppose Td is not a MST.Denote T ∗ as the MST such that E(G) − E(T ∗) sharesthe largest number of consecutive common edgeswith the sequence e1, e2, ..., e|E(G)|−|N(G)|+1. Denotethe first edge that differs be ei, and let F be thesubgraph generated by deleting e1, e2, ..., ei−1 fromthe graph G. Note that ei ∈ E(T ∗). By the genericedge-deleting algorithm and the tree property ofT ∗, there must exist an edge e′i /∈ E(T ∗) such thatw(F ª ei) ¹ w(F ª e′i), ei, e

′i ∈ E(C), C ⊆ F , where

C is the selected cycle in F before deleting ei whenrunning the algorithm. By deleting ei from T ∗ andadding e′i to T ∗ ª ei, we get another spanning treeT ∗ ª ei ⊕ e′i. By the property in (8), it follows thatw(T ∗ ª ei ⊕ e′i) = w(F ª ei ª (F ª T ∗ ª e′i)) ¹w(F ª e′i ª (F ª T ∗ ª e′i)) = w(T ∗). Since T ∗ is a MST,

C

e1

e2

F

(I)

e2

Td

(II)

Td

(III)

e1

e2 e1

Fig. 8. The necessary condition proof example for thegeneric edge-deleting algorithm

T ∗ ª ei ⊕ e′i is also a MST and it does not contain edgeei. This contradicts the definition of T ∗. Hence, Td isalso a MST.

Necessary condition:We need to prove that if any spanning tree Td gen-

erated by the generic edge-deleting algorithm is a MST,then the metric satisfies the property in (8). We proveit by showing that its contrapositive is correct, i.e., if ametric does not satisfy the property in (8), there is atleast one network topology for which Td is not a MST.

Suppose, for a network topology, F is the partiallygenerated subgraph by the generic edge-deleting al-gorithm as shown in Fig.8 (I). Let e1 be the edge tobe removed by the generic edge-deleting algorithm,and Td be the spanning tree finally generated by thegeneric edge-deleting algorithm. Then, it follows thatw(Fªe1) ¹ w(Fªe2), e1, e2 ∈ E(C), where C ⊂ F . Sincefor the given metric the property in (8) is not guaranteed,it is possible that w(Td) = w(F ª e1 ª (F ª Td ª e1)) Âw(F ª e2 ª (F ª Td ª e1)) = w(Td ª e2 ⊕ e1) as shown inFig.8 (II) and (III). That is Td cannot be a MST. Hence, ifTd is a MST, then the metric satisfies the property in (8).

Again, note that the above proof can be applied toany specific order of deleting edges. Therefore, Theorem3 holds for all edge-deleting algorithms, e.g., the reverse-delete algorithm.

4 OPTIMAL BROADCAST ROUTING IN DI-RECTED NETWORK TOPOLOGIESIn a directed network topology, the link from node n1

to node n2 may have different characteristics comparingto the link from node n2 to node n1. The problem ofoptimal broadcast routing in directed network topologiescan be formulated as the minimum weight spanning r-arborescence problem for directed graphs. In graph the-oretic terminology, we define spanning r-arborescenceand partition subgraph of a directed graph as follows.

Definition 5: Given a connected and directed graph Dwhose root node is r, a spanning r-arborescence is adirected subgraph of D such that there exists exactly onedirected path from the root node r to any other non-rootnode.

Definition 6: Given a directed graph D whose rootnode is r, a partition subgraph is a subgraph D′ of Dsuch that the indegree of the root node r is equal to 0and the indegrees of other nodes are less than or equalto 1, i.e., d−(r) = 0, d−(n) ≤ 1,∀ n ∈ N(D′), n 6= r.

Page 7: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

7

The most well-known algorithm for solving the min-imum weight spanning r-arborescence problem is Ed-monds’ algorithm [12]. In this section, for directed net-work topologies, the necessary and sufficient metricproperty of the generalized Edmonds’ algorithm is de-veloped and proved.

4.1 Edmonds’ Algorithm

4.1.1 Overview of Edmonds’ AlgorithmThe core idea of Edmonds’ algorithm is summarized asfollows. Given a directed graph D, whose root node isr, remove all the inbound arcs of root node r, and de-note the resultant subgraph as D0. Edmonds’ algorithmproceeds to build the minimum r-arborescence spanningD0 following a three-phase procedure.

Initialization: Send D0 to Phase I as Phase I’s input.Phase I: Given the input graph Di for the ith iteration

of Phase I, create a directed graph Ti that includes allnodes in N(Di) and no arcs between nodes. Each nodein Ti, hence, is a separate arborescence. For each non-root node n whose indegree is 0, a new arc a∗ ∈ E(D0)is selected to be included in Ti. The new arc a∗ is selectedas follows:

a∗ = arg mina∈A(n)

{w(a)}, (9)

where A(n) = {a|a ∈ A−(n), n ∈ N(Di), n 6= r, d−(n) =0}, A−(n) is the set of arcs that terminate at node n, andd−(n) is the indegree of node n in Ti.

The above arc adding process ends when d−(n) = 1for any n ∈ N(Ti), n 6= r, i.e, the indegree of any non-root node in Ti is 1. If there is no circuit in Ti after thearc adding process, then go to phase III with Ti as itsinput. If there are circuits in Ti, then go to phase II andlet Ti and Di be its input.

Phase II: Given the input graph Ti and Di, pick acircuit Ci in Ti to eliminate as follows. Find a pair ofarcs (a∗c′c, a

∗nc) that can be used to break Ci by replacing

a∗c′c with a∗nc, where a∗c′c ∈ Ci, a∗nc ∈ Di and a∗nc /∈ Ti.Both a∗c′c and a∗nc are inbound arcs to node c ∈ N(Ci).Arcs a∗c′c and a∗nc are selected based on the followingequation:

(a∗c′c, a∗nc) = arg min

anc /∈Tiac′c∈Ci

{w(Ci ª ac′c ⊕ anc)}, (10)

where ac′c is any arc in Ci, Ciªac′c is the path generatedby deleting arc ac′c from Ci, and anc is an inbound arcto node c. Denote P ∗i as the path generated by breakingthe circuit Ci, i.e., P ∗i = Ci ª a∗c′c ⊕ a∗nc.

This circuit breaking operation can be illustrated byan example. Consider the circuit Ci in Fig.9 (I), wherethe circuit is the solid part of the graph. The circuit Ci

is broken by replacing ac′c by anc as shown in Fig.9 (II),where the resultant arborescence is the solid part of thegraph. The optimal circuit-breaking scheme is shown inFig.9 (III), where the resultant arborescence P ∗i is thesolid-line part of the graph.

Pi

*

(II) (III)(I)

Cin

c

c’

anc

*

ac’c

*

ac’c

anc

Fig. 9. Illustration for Edmonds’ algorithm

With (a∗c′c, a∗nc) identified, shrink the circuit Ci in Di to

a pseudo-node ni. Replace N(Ci) in Di by ni. Considerthe end nodes of the outbound arcs going out of nodes inCi. Their signatures remain unchanged. Set the inboundarc of ni as a∗nc and modify its signature to be thesignature of P ∗i , i.e., the signature of the path used toreplace the original circuit. Denote this newly generatedgraph through the shrinking operation as Di+1. Go tothe beginning of Phase I and let Di+1 be Phase I’s input.

Phase III: Given the input Tl after l iterations of phaseI and II, expand the pseudo-node ni to Pi in the reverseorder (i = l, l − 1, . . . , 1) of their generation sequencein phase II. The resulting subgraph Te is the minimumweight spanning r-arborescence of D0.

Note that the original Edmonds’ algorithm is onlydefined for linear link metric aggregation. The algorithmdiscussed in this section is extended to cover both linearand nonlinear link metric aggregation.

4.1.2 Metric Properties and ProofThe required routing metric property for Edmonds’ al-gorithm can be expressed by the following definition.

Definition 7: Right ⊕-isotonicity for partition subgraphs:A weight function w(·) of partition subgraphs is saidto be right ⊕-isotonic for partition subgraphs over adirected graph D if for any partition subgraphs D1, D2

of D, we have

w(D1) ¹ w(D2) ⇒ w(D1 ⊕D3) ¹ w(D2 ⊕D3), (11)

where D3 is also a partition subgraph of D such thatD1 ⊕D3, D2 ⊕D3 are still partition subgraphs of D.

Theorem 4: Given any connected and directed networktopology D whose root node is r, Edmonds’ algorithmproduces the minimum weight r-arborescence spanningD, if and only if the broadcast routing metric is right⊕-isotonic for partition subgraphs.

Proof:Sufficient condition:Consider a connected and directed network topology

D whose root node is r. We are going to prove that ifthe broadcast routing metric satisfies the property in (11),Edmonds’ algorithm produces the minimum weight r-arborescence spanning D.

First, we prove that if there is no circuit generated afterthe arc adding procedure in phase I, phase I producesthe minimum weight spanning r-arborescence Ti of itsinput graph Di. Let T ∗ be a minimum weight spanningr-arborescence and Te be the arborescence generated

Page 8: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

8

Te T*

aj

(II)

rrr

(I) (III)

T*

aj

jnj

nj

n

ja

ja j

aj

b

bj

Fig. 10. Sufficient proof illustration for Edmonds’ algo-rithm

by phase I of Edmonds’ algorithm. Assume Te 6= T ∗.There must exist some nodes ni, i = 1, . . . , m whoseinbound arc ai in Te is different from the inbound arcbi in T ∗ as shown in Fig. 10. By Edmonds’ algorithm,w(ai) ¹ w(bi). Starting from T ∗, replace b1 in T ∗ bythe corresponding a1 in Te. Denote the generated sub-graph as T ∗1 . By the property in (11), it follows thatw(T ∗1 ) = w(T ∗ ª b1 ⊕ a1) ¹ w(T ∗ ª b1 ⊕ b1) = w(T ∗).Similarly, replacing b2 by a2 in T ∗1 , we get T ∗2 that satisfiesw(T ∗2 ) ¹ w(T ∗1 ). By continuing this arc replacing process,we get a series of graphs T ∗1 , T ∗2 , · · ·T ∗m = Te that satisfyw(T ∗i+1) ¹ w(T ∗i ), i = 1, . . . , m− 1. Hence, it follows thatw(Te) ¹ w(T ∗). Since T ∗ is a minimum weight spanningr-arborescence, w(Te) = w(T ∗). Te is also a minimumweight spanning r-arborescence.

Denote T ei as the subgraph generated after expanding

the pseudo node ni to P ∗i in phase III. We next provethat T e

i is the minimum weight spanning r-arborescenceof Di through induction hypothesis. First, for the basecase, note that Tl is the minimum weight spanning r-arborescence of Dl and our hypothesis is satisfied. Then,assume that T e

i+1 is the minimum weight spanning r-arborescence of Di+1. We next show that T e

i is theminimum weight spanning r-arborescence of Di.

Let T 0i be an arbitrary spanning arborescence of Di.

By the fact that T 0i is a spanning arborescence, there

must exist an arc anc that emanates from some node n ∈N(Di)−N(Ci) and terminates at some node c ∈ N(Ci).Let Pn

i = Ci ª ac′c ⊕ anc be the subgraph generated byreplacing arc ac′c by arc anc, where ac′c ∈ Ci. Denotethe subgraph consisting of the inbound arcs of N(Ci) inT 0

i as Fi. If Pni = Fi, then w(Pn

i ) = w(Fi). If Pni 6= Fi,

there must exist some nodes in N(Ci) whose inboundarc aj in Fi is different from the inbound arc bj in Pn

i ,j = 1, 2, ..., t. By Edmonds’ algorithm, w(bj) ¹ w(aj).Starting from Fi, replace a1 in Fi by the corresponding b1

in Pni . Let the generated subgraph be F 1

i . By the propertyin (11), it follows that w(F 1

i ) = w(Fi ª a1 ⊕ b1) ¹ w(Fi ªa1 ⊕ a1) = w(Fi). Similarly, replacing a2 by b2 in F 1

i ,we get F 2

i that satisfies w(F 2i ) ¹ w(F 1

i ). By continuingthis arc replacing process, we get a series of graphsF 1

i , F 2i , · · ·F t

i = Pni that satisfy w(F j+1

i ) ¹ w(F ji ), j =

1, . . . , t− 1. Hence, it follows that w(Pni ) ¹ w(Fi).

Let T 1i = T 0

i ª Fi ⊕ Pni be the subgraph generated by

replacing Fi in T 0i by Pn

i . Since w(Pni ) ¹ w(Fi), it follows

r

a1

a2

a3

D

a3

a1

r

(I) (III)

a3r

(II)

1 3a a

a2

2 3a a

Fig. 11. The necessary condition proof example forEdmonds’s algorithm

that

w(T 1i ) = w(T 0

i ªFi⊕Pni ) ¹ w(T 0

i ªFi⊕Fi) = w(T 0i ). (12)

Shrink Pni in T 1

i into ni to get a new graph T 2i . By the

fact that T 0i is a r-arborescence of Di, T 2

i is still a r-arborescence of Di+1. Since T e

i+1 is the minimum weightspanning r-arborescence of Di+1, we have

w(T ei+1) ¹ w(T 2

i ). (13)

By Edmonds’ algorithm, the shrink and expansion op-erations do not change the weight of the signature of agraph, i.e., w(T e

i ) = w(T ei+1) and w(T 2

i ) = w(T 1i ). Hence,

from (12) and (13), we get

w(T ei ) ¹ w(T 0

i ). (14)

Since T 0i is an arbitrary spanning arborescence of Di,

T ei is the minimum weight spanning r-arborescence of

Di. Hence, by induction hypothesis, T ei is the minimum

weight spanning r-arborescence of Di. Hence, after ex-panding all the l circuits, Edmonds’s algorithm producesthe minimum weight r-arborescence of D0.

Necessary condition:Given any connected and directed network topology

D, whose root node is r, we next prove that if Edmonds’algorithm produces the minimum weight r-arborescencespanning D, then the broadcast routing metric satisfiesthe properties in (11). It can be proved by showing itscontrapositive is correct, i.e., if a broadcast routing metricdoes not satisfy the properties in (11), then there exists atleast one network topology where Edmonds’ algorithmdoes not guarantee optimality.

Consider the directed network topology D in Fig.11(I), where node r is the root node. Suppose w(a1) ¹w(a2). Assume the metric does not satisfy the prop-erty in (11). Since w(a1) ¹ w(a2), it is possible thatw(a1 ⊕ a3) Â w(a2 ⊕ a3) as shown in Fig.11 (II) and(III). Meanwhile, the output of Edmonds’ algorithm isT 2

e = a1 ⊕ a3, which is not optimal. Hence, Edmonds’algorithm fails to produce the minimum weight span-ning r-arborescence. Therefore, the property in (11) isthe necessary metric property for the statement that Ed-monds’ algorithm guarantees optimality on any networktopology.

5 DISTRIBUTED OPTIMAL BROADCAST ROUT-ING

Theorems 1, 2, 3, and 4 provide the necessary andsufficient metric properties for which Prim’s algorithm,

Page 9: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

9

the generic edge-adding algorithm, the generic edge-deleting algorithm and Edmonds’ algorithm guaranteeoptimality, respectively. It is important to note that al-though all these algorithms require knowledge of globaltopology, optimal broadcast routing protocols based onthese algorithms do not need to be centralized. In the fol-lowing, we outline a simple example of such distributedbroadcast routing protocols.

Similar to link-state routing protocols such asOSPF [13], every node periodically advertises its localconnectivity to the entire network. In this way, everynode can learn the global topology. For each possiblebroadcast root node, a node runs one of the OBT algo-rithms examined in the previous sections to compute thebroadcast tree. In the broadcast tree, the node identifiesits children and stores them as the outgoing links inits routing table. When each non-root node receives abroadcast routing packet, it checks the source addressof the packet and forwards the packet to the outgoinglinks according to its routing table. Since each node hasthe same view of the topology and runs the same OBTalgorithm, the forwarding information stored in eachnode’s routing table is consistent with the same uniquebroadcast tree and hence routing loops are avoided.

The uniqueness of the broadcast tree can be guar-anteed, since each node follows the same order ofadding/deleting edges/arcs. For instance, for the genericedge-adding algorithm, all the nodes follow the Kruskalalgorithm’s edge-adding order. For the generic edge-deleting algorithm, all the nodes follow the reverse-delete algorithm’s edge-deleting order. For Edmonds’algorithm, circuits are lexicographically ordered by theirnode identities, and all nodes break circuits following thesame lexicographic order. In all these algorithms, whenthere are multiple choices in adding edges, deletingedges, adding arcs or breaking circuits, the same tiebreaking rule is applied at each node. In this case, theresultant broadcast tree is the same at each node, evenif they run algorithms separately. Therefore, distributedoptimal broadcast routing is achieved.

6 ROOT-INDEPENDENCE PROPERTY

In optimal broadcast routing, each optimal broadcast treehas its own root node. In general, the optimal broadcasttree for one root node is different from the optimalbroadcast tree for another root node. The computationoverhead and storage overhead on the routers can behuge, if there are many broadcasting source nodes inthe network. Therefore, we are interested in developingmetric properties for which the computed broadcast treesare root independent, i.e., the MST or minimum weightspanning arborescence rooted at one node is the sameas a MST or minimum weight spanning arborescencerooted at another node.

In the following, we first study the root-independenceproperty of the MST, and then study the root-independence property of the minimum weight span-

ning arborescence. Before the formal analysis, we de-fine the root-independence of the metric and root-independence of the MST.

Definition 8: The metric w(·) is root independent, ifw(F1) = w(F2), where F1 and F2 are subgraphs that havedifferent root nodes and satisfy N(F1) = N(F2), E(F1) =E(F2).

Definition 9: A MST T = (N(T ), E(T )) based on met-ric w(·) is root independent, if it is a MST no matterwhich of its node is set as the root node.

Theorem 5: Given any connected and undirected net-work topology G whose root node is r, the MST isindependent of root node r, if and only if the metricdefinition is independent of root node r.

Proof:Sufficient condition:Let T ∗1 be one MST of the connected and undirected

network topology G1 whose root node is r1. It followsthat w(T ∗1 ) ¹ w(T1), where T1 is any spanning treerooted at r1. For network topology G1, change the rootnode from r1 to r2 6= r1. Denote the new networktopology as G2. Note that any spanning tree rooted at r1

can also be a spanning tree rooted at r2, and vice verse.Let T ∗2 be the spanning tree generated by changing theroot node of T ∗1 from r1 to r2. Since the metric definitionis independent of root node, for any r1-rooted spanningtree T1 of G1, we have a r2-rooted spanning tree T2 of G2

such that N(T1) = N(T2), E(T1) = E(T2), w(T1) = w(T2).It follows that w(T ∗2 ) = w(T ∗1 ) ¹ w(T1) = w(T2), i.e., T ∗2is a MST of G2. Therefore, the MST is independent ofthe root node.

Necessary condition:Given any connected and undirected network topol-

ogy with a root node, we need to prove that if the MST isindependent of the root node then the metric definitionis independent of the root node. This can be proved byshowing that its contrapositive is correct, i.e., for a metricwhose weight computation is related to the identity ofthe root node, there exists at least one topology, wherethe MST is dependent on the root node.

Suppose, for a network topology G1 whose root nodeis r1, T1 is a MST rooted at r1. For network topologyG1, change the root node from r1 to r2 6= r1. Denotethe new network topology as G2. Change the root noder1 of T1 to r2, and let the generated spanning tree asT2. Since the metric definition is dependent on the rootnode, it is possible w(T1) 6= w(T2). Therefore, the MST isdependent on the root node.

Theorem 6: Given any connected and directed networktopology D whose root node is r, the minimum weightspanning arborescence is dependent on the root node r.

Proof:In directed network topologies, the definition of mini-

mum weight spanning arborescence is dependent on theroot node r. For two nodes n1 and n2, the weight of thelink from n1 to n2 is generally different from the weightof the link from n2 to n1. Moreover, the link between n1

and n2 may be unidirectional rather than bidirectional.

Page 10: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

10

e1

G

r

e2 e3

(I) (II) (IV)

4F e

(III)

5F e

5 1 3F e e e

e4 e5

r

e2

e5

r

e2

e4

e1r

e2 e3

e5

e1r

e2 e3

e4

4 1 3F e e e

(V)

Fig. 12. The generic edge-adding algorithm example forthe minimum tree depth routing

For some node, there may not exist a spanning arbores-cence rooted at this node. Therefore, in the general case,the root-independence property does not hold for theminimum weight spanning arborescence.

7 CASE STUDY BASED ON COMPATIBILITYANALYSIS

In this section, we illustrate by examples about how toapply our analytical results in Sections 3 and 4 to judgethe compatibility between broadcast routing metrics andOBT algorithms.

7.1 Case 1: Minimum Tree-depth Broadcast RoutingConsider the minimum tree-depth broadcast routingthat aims at finding the minimum depth broadcast treerooted at a broadcast source node to minimize messagedelivery delay. In order to cover more general topolo-gies, we extend the depth metric to forests, connectedsubgraphs and partition subgraphs. The depth of asubgraph F is defined as follows:

w(F ) = maxT⊂F

depth(T ), (15)

where T is a component of F , and depth(T ) is thedepth of component T . The depth of a component Tis defined as the maximum number of edges along theshortest simple path from the root node to a leaf node.If broadcast source node does not belong to the tree T ,then the node in T that can minimize the depth of Tis picked as the local root node. If the broadcast sourcenode belongs to T , then this broadcast source node isthe root node.

7.1.1 Compatibility with Prim’s AlgorithmIt is easy to show that the depth metric definition in (15)satisfies the property in (4). Therefore, by Theorem 1,Prim’s algorithm can find the minimum depth broadcasttree.

7.1.2 Compatibility with the Generic Edge-adding Algo-rithmThe depth metric definition in (15) does not satisfy theproperty in (6). Consider the network topology G asshown in Fig.12 (I). Let F = (N(G), {e2}). Note thatw(F⊕e5) = 1 ≺ w(F⊕e4) = 2 as shown in Fig.12 (II) and(III), but w(F ⊕e5⊕e1⊕e3) = 3 Â w(F ⊕e4⊕e1⊕e3) = 2as shown in Fig.12 (IV) and (V). Therefore, it doesnot satisfy the property in (6). Therefore, by Theorem

a1

D

r

a2 a3

(I) (II) (IV)

4F a

(III)

5F a

5 1 3F a a a

a4 a5

r

a2

a5

r

a2

a4

a1r

a2 a3

a5

a1r

a2 a3

a4

4 1 3F a a a

(V)

Fig. 13. The Edmonds algorithm example for the mini-mum tree depth routing

2, the generic edge-adding algorithm cannot guaranteefinding the minimum depth broadcast tree. This can beverified by noticing that one possible tree generated bythe generic edge-adding algorithm is F ⊕ e5 ⊕ e1 ⊕ e3,which is not optimal.

7.1.3 Compatibility with the Generic Edge-deleting Al-gorithmIt is clear that the depth metric in (15) satisfies theproperty in (8). Therefore, by Theorem 3, the genericedge-deleting algorithm can find the minimum depthbroadcast tree.

7.1.4 Compatibility with Edmonds’ AlgorithmThe depth metric in (15) does not satisfy the propertyin (11). Consider the network topology D as shown inFig.13 (I). Let F = (N(D), {a2}). Note that w(F ⊕ a5) =1 ≺ w(F ⊕ a4) = 2 as shown in Fig.13 (II) and (III), butw(F⊕a5⊕a1⊕a3) = 3 Â w(F⊕a4⊕a1⊕a3) = 2 as shownin Fig.13 (IV) and (V). Therefore, the depth metric doesnot satisfy the property in (11). Therefore, by Theorem4, Edmonds’ algorithm cannot guarantee producing theminimum depth broadcast arborescence. This can be ver-ified by noticing that one possible Edmdonds’ algorithmoutput is F ⊕ a5 ⊕ a1 ⊕ a3, which is not optimal.

7.2 Case 2: Most Reliable Widest Bandwidth Broad-cast RoutingConsider a most reliable widest bandwidth metric whosedesign is based on the following two observations. First,to maximize the capacity of links over the broadcasttree T , it is desirable to design a metric maximizingthe bandwidth of the tree. The bandwidth of the treeis defined as the minimum bandwidth among all thelinks of the tree. Second, to ensure successful delivery ofa broadcast message, a proper broadcast routing metricshould minimize the probability that the broadcast mes-sage is lost by some nodes in the broadcast tree T . Thisprobability can be calculated as

1−∏

i∈E(T )

(1− pi) ≈∑

i∈E(T )

pi, (16)

where pi is the estimated packet loss rate for a link inthe broadcast tree, and the approximation is based onthe assumption that each link’s packet loss rate is smallenough. This is valid for most scenarios. Hence, it isreasonable to consider the following lexicographic metric

(b, p), (17)

Page 11: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

11

r e3

(IV)

r e3

2 3r e e

(V)

e2

1 3r e e

e1

r

e1

G

e2

e3

(I) (II)

r

2r e

(III)

e2

1r e

e1

r

Fig. 14. The Prim algorithm example for the most reliablewidest bandwidth broadcast routing

e1

e2

r

G

(I)

e3

e1

r

(II)

0 1F e

r

(III)

0 2F e

e2

e1

r

(IV)

0 1 3F e e

r

(V)

0 2 3F e e

e2

e3 e3

Fig. 15. The generic edge-adding algorithm example forthe most reliable widest bandwidth broadcast routing

where b is the bandwidth of the tree, p is the packetloss rate of the tree. We have w(b1, p1) ¹ w(b2, p2) ifeither b1 > b2 or b1 = b2, p1 ≤ p2. The objective of themost reliable widest bandwidth broadcast routing is tofind the lowest packet loss rate spanning tree within allwidest bandwidth spanning trees.

7.2.1 Compatibility with Prim’s AlgorithmThe metric in (17) does not satisfy the required propertyin (4). Consider the network topology in Fig.14 (I). Letw(e1) = (10, 0.03), w(e2) = (8, 0.01), w(e3) = (5, 0.05).Note that w(r⊕e1) = (10, 0.03) ≺ w(r⊕e2) = (8, 0.01) butw(r⊕e1⊕e3) = (5, 0.08) Â w(r⊕e2⊕e3) = (5, 0.06), wherer⊕e1, r⊕e2, r⊕e1⊕e3, r⊕e2⊕e3 are shown in Fig.15 (II),(III), (IV), (V), respectively. Therefore, the most reliablewidest bandwidth metric does not satisfy the propertyin (4). By Theorem 1, Prim’s algorithm cannot guaranteeproducing the MST. This can be easily shown by noticingthat the algorithm output is r ⊕ e1 ⊕ e3, which is notoptimal.

7.2.2 Compatibility with the Generic Edge-adding Algo-rithmThe metric in (17) does not have the required propertyin (6). Consider the network topology G in Fig.15 (I).Let w(e1) = (10, 0.03), w(e2) = (8, 0.01), w(e3) = (5, 0.05).Note that w(F0⊕ e1) = (10, 0.03) ≺ w(F0⊕ e2) = (8, 0.01)but w(F0⊕e1⊕e3) = (5, 0.08) Â w(F0⊕e2⊕e3) = (5, 0.06),where F0 = (N(G), ∅), and F0 ⊕ e1, F0 ⊕ e2, F0 ⊕ e1 ⊕e3, F0⊕e2⊕e3 are shown in Fig.15 (II), (III), (IV), (V), re-spectively. Therefore, the most reliable widest bandwidthmetric does not satisfy the property in (6). By Theorem2, the generic edge-adding algorithm cannot guaranteeproducing the MST. This can be easily shown by noticingthat the algorithm output is F0 ⊕ e1 ⊕ e3, which is notoptimal.

7.2.3 Compatibility with the Generic Edge-deleting Al-gorithmThe metric in (17) does not have the required prop-erty in (8). Consider the network topology G in Fig.16

e1

e2

e3

r

e2

e3

r

e1 e3

r

G G G

(I) (II) (III)

e4 e4 e4 e2

r

e1

r

G G

(IV) (V)

e4 e4

1e

2e

1e

3e

2e

3e

Fig. 16. The generic edge-deleting algorithm example forthe most reliable widest bandwidth broadcast routing

r

a1

a2

a3

D

a3

a1

r

(I) (III)

a3r

(II)

1 3a a

a2

2 3a a

Fig. 17. The Edmonds algorithm example for the mostreliable widest bandwidth broadcast routing

(I). Let w(e1) = (5, 0.04), w(e2) = (10, 0.07), w(e3) =(5, 0.05), w(e4) = (10, 0.06). Then, we have w(G ª e2) =(5, 0.15) ≺ w(G ª e1) = (5, 0.18), w(G ª e4) = (5, 0.16) ≺w(G ª e3) = (5, 0.17). Note that although w(G ª e2) =(5, 0.15) ≺ w(G ª e1) = (5, 0.18), w(G ª e2 ª e3) =(5, 0.1) Â w(Gª e1 ª e3) = (10, 0.13), where Gª e1, Gªe2, Gª e1 ª e3, Gª e2 ª e3 are shown in Fig.16 (II), (III),(IV), (V), respectively. Therefore, the most reliable widestbandwidth metric does not satisfy the property in (8). ByTheorem 3, the generic edge-deleting algorithm cannotguarantee optimality. This can be shown by noticing thatthe MST of the given network topology is G ª e1 ª e3,while the output of the algorithm is Gª e2 ª e4, whichis not a MST.

7.2.4 Compatibility with Edmonds’ AlgorithmThe metric in (17) does not have the required property in(11). Consider the network topology D shown in Fig.17(I). Let w(a1) = (10, 0.03), w(a2) = (8, 0.01), w(a3) =(5, 0.05). Note that w(a1) ≺ w(a2), w(a1 ⊕ a3) =(5, 0.08) Â w(a2 ⊕ a3) = (5, 0.06), where a1 ⊕ a3, a2 ⊕ a3

are shown in Fig.17 (II), (III), respectively. Therefore, themost reliable widest bandwidth metric does not satisfythe property in (11). By Theorem 4, Edmonds’ algorithmdoes not guarantee optimality. This can be shown bynoticing that the algorithm output a1 ⊕ a3 is not theminimum weight spanning arborescence.

7.3 Case 3: Minimum Energy Broadcast RoutingLet us consider the minimum energy broadcast routing,whose metric is defined in (1).

7.3.1 Compatibility with Prim’s AlgorithmThe metric in (1) does not satisfy the property in (4).Consider the network topology G shown in Fig.18 (I).The numbers associated with the edges are the weightsof these edges. Let the partial spanning tree be Tr =({r, i}, {eri}) as shown by the bold part of Fig.18 (I).Note that w(Tr ⊕ eij) = 2 ≺ w(Tr ⊕ erj) = 2.5 as shown

Page 12: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

12

G

3.5

rij

k

1

2.1

1

2.5

Tr

(I)

ij

k

(V)

11

ijF e

(III)

ij 1

2.5

r rjT e

(VI)

rij

2.5

1

rjF e

(VII)

rij

3.5

11

r ij rk

ij rk

T e e

F e e

(VIII)

rij 1

2.5

3.5

*

r rj rk

rj rk

T e e

F e e

T

k

Tp=Ta

rij 11

(VIIII)

F

rij

(IV)

1r

(II)

11 ij

r ijT e

2.1

k k k k

rr

Fig. 18. The Prim algorithm and generic edge-adding algorithm example for minimum energy broadcast routing

in Fig.18 (II) and (III), but w(Tr ⊕ eij ⊕ erk) = 4.5 Âw(Tr⊕erj⊕erk) = 3.5 as shown in Fig.18 (VII) and (VIII).Hence, the metric in (1) does not satisfy the property in(4). Therefore, by Theorem 1, Prim’s algorithm cannotguarantee producing the minimum energy broadcastrouting tree based on the metric in (1). This can beverified by noticing that w(Tp) = 4.1 Â w(T ∗) = 3.5,where Tp is the Prim tree generated by Prim’s algorithmas shown in Fig.18 (VIIII) and T ∗ is the minimum energybroadcast tree as shown in Fig.18 (VIII).

7.3.2 Compatibility with the Generic Edge-adding Algo-rithmThe metric in (1) does not satisfy the property in (6).Again, consider the network topology G shown in Fig.18(I). Suppose the partial spanning forest generated by thegeneric edge-adding algorithm is F = (N(G), {eri}) asshown in Fig.18 (IV). Note that w(F ⊕ eij) = 2 ≺ w(F ⊕erj) = 2.5 as shown in Fig.18 (V) and (VI), but w(F ⊕eij ⊕ erk) = 4.5 Â w(F ⊕ erj ⊕ erk) = 3.5 as shown inFig.18 (VII) and (VIII). Hence, the metric does not satisfythe property in (6). Therefore, by Theorem 2, the genericedge-adding algorithm cannot guarantee producing theminimum weight broadcast routing tree based on themetric in (1). This can be verified by noticing that, for thegeneric edge-adding tree Ta and the minimum weightbroadcast routing tree T ∗, w(Ta) = 4.1 Â w(T ∗) = 3.5, asshown in Fig.18 (VIIII) and (VIII).

7.3.3 Compatibility with the Generic Edge-deleting Al-gorithmNote that the metric is based on trees and propertydefinition in Theorem 3 is based on connected graphswhich may contain cycles. It is impossible to find areasonable definition of the metric in (1) for a graphcontaining cycles. Therefore, the metric in (1) and theproperty definition in Theorem 3 are not compatible.Hence, the generic edge-deleting algorithm cannot findthe minimum energy broadcast routing tree.

7.3.4 Compatibility with Edmonds’ AlgorithmThe metric in (1) does not satisfy the required propertyin (11). Consider the connected and directed networktopology D whose root node is r as shown in Fig.19

k

rij

2

2.13.5

1 1

D

(II) (III)

k

rij

Te

k

rij

(V)

2.5

(I)

3.5

(IV)

2.5

1

k

rij 1 1

ijF a

1

3.5

*

rjF a T

2.1

1

k

rij

3.5

1

F

Fig. 19. The Edmonds algorithm example for the mini-mum energy broadcast routing

(I). The numbers associated with arcs are the weightsof these arcs. Let F be a partial spanning arborescenceforest as shown in Fig.19 (II). Note that w(aij) ≺ w(arj)and w(F ⊕ aij) = 4 Â w(F ⊕ arj) = 3 as shown in Fig.19(III) and (IV). Hence, the minimum energy broadcastrouting metric in (1) does not satisfy the property in (11).Therefore, Edmonds’ algorithm does not produce theminimum weight broadcast routing arborescence basedon the metric in (1). This conclusion can be verifiedby noticing that w(Te) = 4 Â w(T ∗) = 3, where Te

is the Edmonds arborescence generated by Edmonds’algorithm and T ∗ is the minimum energy broadcastrouting arborescence.

7.4 Case 4: Lexicographically Optimal BroadcastRouting based on Packet Loss Rate

Consider a broadcast routing metric finding the lexico-graphically optimal broadcast tree in terms of packetloss rate on each link. The metric is a sorted list of linkpacket loss rates of the considered network topology.Elements of the list are sorted in a decreasing order.Mathematically, the metric can be expressed as: w(a) =(a1, a2, ..., am), where m is the total number of links inthe network topology a, and a1 ≥ a2 ≥ ... ≥ am arethe packet loss rates of links. Consider two networktopologies a and b, and let w(a) = (a1, a2, ..., am), w(b) =(b1, b2, ..., bn). Define w(a) = w(b), if m = n, ai =bi, i = 1, 2, ..., m. Define w(a) ≺ w(b), if there exists anumber l such that ai = bi, 1 ≤ i ≤ l − 1, and eitherl−1 < min{m,n}, al < bl, or l−1 = m,m < n. We furtherdefine w(a) ¹ w(b) if either w(a) = w(b) or w(a) ≺ w(b).

Page 13: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

13

7.4.1 Compatibility with Prim’s AlgorithmIt is clear that the metric satisfies the property in (4).Therefore, by Theorem 1, Prim’s algorithm can find theoptimal broadcast tree.

7.4.2 Compatibility with the Generic Edge-adding Algo-rithmIt is clear that the metric satisfies the property in (6).Therefore, by Theorem 2, the generic edge-adding algo-rithm can find the optimal broadcast tree.

7.4.3 Compatibility with the Generic Edge-deleting Al-gorithmIt is clear that the metric satisfies the property in (8).Therefore, by Theorem 3, the generic edge-deleting al-gorithm can find the optimal broadcast tree.

7.4.4 Compatibility with Edmonds’ AlgorithmIt is clear that the metric satisfies the property in (11).Therefore, by Theorem 4, Edmonds’ algorithm can findthe optimal broadcast tree.

7.5 Case 5: Maximum Network Lifetime BroadcastRoutingConsider the broadcast routing metric which maximizesthe network lifetime [14]. It is defined as

mini∈N(T )

εi

max(i,j)∈E(T )

Pij, (18)

where N(T ) is the node set of the broadcast tree T , εi

is the residual energy of node i, E(T ) is the link set ofthe broadcast tree T , and Pij is the minimum powerconsumption of transmission from node i to node j.The broadcast routing metric definition given in (18) isessentially the minimum lifetime of all the links in thebroadcast tree T . Also note the fact that the underlyingnetwork topology is undirected when the residual en-ergy of each node is equal, and the underlying networktopology is directed when the residual energy of eachnode is different [14].

7.5.1 Compatibility with Prim’s AlgorithmNote that the property definition in Theorem 1 is basedon undirected network topologies. Therefore, when theresidual energy of each node is different, the metric in(18) is not compatible with the property definition inTheorem 1. When the residual energy of each node isequal, we further check if the metric in (18) satisfies theproperty in (4). Clearly, the minimization operation ofthe metric satisfies the property in (4). Therefore, wehave the following conclusions.• If the residual energy of each node is different,

Prim’s algorithm cannot find the maximum networklifetime broadcast tree based on the metric in (18).

• If the residual energy of each node is equal, Prim’salgorithm produces the maximum network lifetimebroadcast tree based on the metric in (18).

7.5.2 Compatibility with the Generic Edge-adding Algo-rithmSince the property definition in Theorem 2 is based onundirected network topologies, the metric in (18) is notcompatible with the property definition in Theorem 2when the residual energy of each node is different. Whenthe residual energy of each node is equal, we furthercheck if the metric in (18) satisfies the property in (6).Clearly, the minimization operation of the metric satisfiesthe property in (6). Therefore, we have the followingconclusions.• If the residual energy of each node is different,

the generic edge-adding algorithm cannot find themaximum network lifetime broadcast tree based onthe metric in (18).

• If the residual energy of each node is equal, thegeneric edge-adding algorithm produces the max-imum network lifetime broadcast tree based on themetric in (18).

7.5.3 Compatibility with the Generic Edge-deleting algo-rithmSince the property definition in Theorem 3 is basedon undirected network topologies, the metric in (18) isnot compatible with the property definition in Theorem3 when the residual energy of each node is different.When the residual energy of each node is equal, wefurther check if the metric in (18) satisfies the propertyin (8). It is clear that the minimization operation of themaximum network lifetime metric satisfies the propertyin (8). Therefore, we have the following conclusions.• If the residual energy of each node is different,

the generic edge-deleting algorithm cannot find themaximum network lifetime broadcast tree based onthe metric in (18).

• If the residual energy of each node is equal, thegeneric edge-deleting algorithm produces the max-imum network lifetime broadcast tree based on themetric in (18).

7.5.4 Compatibility with Edmonds’ AlgorithmSince the property definition in Theorem 4 is based ondirected network topologies and undirected topologiescan be transformed into directed network topologies, themetric in (18) is compatible with the property definitionin Theorem 4. Next, we check if the metric in (18) satisfiesthe property in (11). Clearly, the minimization opera-tion of the maximum network lifetime metric satisfiesthe property in (11). Therefore, we have the followingconclusions.• If the residual energy of each node is different, Ed-

monds’ algorithm produces the maximum networklifetime broadcast arborescence based on the metricin (18).

• If the residual energy of each node is equal, Ed-monds’ algorithm also produces the maximum net-work lifetime broadcast arborescence based on themetric in (18).

Page 14: Compatibility Study for Optimal Tree-based Broadcast Routing...1 Compatibility Study for Optimal Tree-based Broadcast Routing Chuan Han and Yaling Yang Abstract—Broadcast routing

14

8 CONCLUSION AND FUTURE WORK

In this paper, the potential incompatibility betweenbroadcast routing metrics and optimal broadcast tree cal-culation algorithms is identified. To theoretically modeland analyze this incompatibility problem, we propose anovel broadcast routing algebra. Our algebra can operateon arbitrary network topologies and capture broadcastrouting. Using our broadcast routing algebra, we de-velop and prove the necessary and sufficient propertiesof broadcast routing metrics which guarantee optimalbroadcast routing in both undirected network topologiesand directed network topologies. These properties areused to identify compatibility between broadcast routingmetrics and broadcast routing algorithms. The results inthis work serve as important guidelines for broadcastrouting design.

REFERENCES[1] I. F. Akyildiz, X. Wang, and W. Wang, “Wireless mesh networks:

a survey,” Comput. Netw. ISDN Syst., vol. 47, no. 4, pp. 445–487,2005.

[2] R. Baumann, S. Heimlicher, M. Strasser, and A. Weibel, “A surveyon routing metrics,” ETH Zrich, Tech. Rep. TIK Report 262, 2006.

[3] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Intro-duction to algorithms. Cambridge, MA, USA: MIT Press, 2001.

[4] D. Jungnickel, Graphs, Networks and Algorithms. Springer, 2007.[5] J. L. Sobrinho, “Algebra and algorithms for QoS path computation

and hop-by-hop houting in the internet,” in Proc. IEEE INFOCOM,2001.

[6] ——, “Network routing with path vector protocols: theory andapplications,” in Proc. ACM SIGCOMM, 2003.

[7] Y. Yang and J. Wang, “Design guidelines for routing metrics inmultihop wireless networks,” in Proc. IEEE INFOCOM, 2008.

[8] J. E. Wieselthier, G. D. Nguyen, and A. Ephremides, “On theconstruction of energy-efficient broadcast and multicast trees inwireless networks,” in Proc. IEEE INFOCOM, 2000.

[9] R. G. Gallager, P. A. Humblet, and P. M. Spira, “A distributed al-gorithm for minimum-weight spanning trees,” ACM Transactionson Programming Languages and Systems (TOPLAS), vol. 5, pp. 66–77, 1983.

[10] J. Kleinberg and va Tardos, Algorithm Design. Addison Wesley,2005.

[11] J. Bondy and U. Murty, Graph Theory. Springer, 2008.[12] A. Gibbons, Algorithmic Graph Theory. Cambridge University

Press, 1985.[13] J. Moy, “OSPF Version 2,” RFC 2328, April 1998.[14] I. Kang and R. Poovendran, “Maximizing network lifetime of

broadcasting over wireless stationary ad hoc networks,” Mob.Netw. Appl., vol. 10, no. 6, pp. 879–896, 2005.