An Efﬁcient Approach for Constructing Dynamic Multicast Trees
G. Aiello, S. Gaglio, P. Storniolo and A. Urso
Abstract
—In multicast transmissions network resources aremore efﬁciently used than multiple pointtopoint transmissions.However, the problem of creating optimal multicast trees,named the Steiner Tree problem in Networks (SPN), is NPcomplete, and to solve it heuristic methods are generallyused. In this paper we propose the adoption of the RandomNeural Network (RNN) model for the solution of the dynamicversion of the Steiner Tree Problem in Networks. The RandomNeural Network is adopted as a heuristic capable of improvingsolutions achieved by previously proposed dynamic algorithms.The RNN model is adapted in order to map the network characteristics during a dynamic multicast transmission. The proposedapproach is validated by means of extensive experiments.
I. INTRODUCTIONIn the last years multimedia networking applicationssuch as distance education, remote collaboration, videoondemand services and teleconferencing will becomewidespread, relying on the ability of the network to providemulticast services effectively and efﬁciently. The multicasttransmission refers to the capability of sending the same datatowards multiple destinations. A distribution tree connectingsource and destinations must be selected on the graph, whichrepresents the network topology. Two different criteria can beadopted for the optimization of the multicast tree. The ﬁrstexploits the concept of the shortest path and it is known as
”shortest path tree”
. The shortest path [1] can be deﬁned as the
”minimum cost path”
that connects two hosts inthe network. Another criterion of optimization consists of minimizing the cost of the overall tree. This is equivalent toﬁnd the optimal Steiner Tree and it is universally referred asthe Steiner Tree Problem in Networks
(SPN)
. This problemhas been proved to be NPComplete in its decisional version.However, there exist several heuristics [12] that allow todetermine suboptimal solutions in polynomial time. Theliterature presents, also, some postprocessing techniques [6],which are capable of improving previously determined solutions. A further classiﬁcation of the multicast problemconsists of the following two categories:
static multicast problem
, in which the destination subset is ﬁxed, and the best Steiner tree has to be determined;
dynamic multicast problem
, in which the destination subset can dynamicallychange because of join or delete requests. In this paper, wedeal with the dynamic multicast and we try to minimize thespanning tree cost during the overall session. We present the
”Real Time Random Neural Network” (RTRNN)
heuristic, a
S.Gaglio and G. Aiello are with DINFO, Dipartimento di IngegneriaInformatica, University of Palermo, Italy
gaglio@unipa.it
A.Urso and P. Storniolo are with ICARCNR, Istituto di Calcolo e Retiad Alte Prestazioni, Consiglio Nazionale delle Ricerche, Palermo, Italy
{
storniolo,urso
}
@pa.icar.cnr.it
postprocessing technique, which improves multicast trees inthe dynamic case. It is based on the Random Neural Network (RNN) [2], which its authors successfully applied to the staticcase of the SPN [3]. Random Neural Networks ﬁnd their ap plications in many NPcomplete problems, such as the Traveling Salesman Problem [5], function approximations [4],cognitive packet networks [7], etc., and their good capabilityof reinforcement learning has been demonstrated [7].In this paper, we show that the Random Neural Network model is applicable to the dynamic multicast problem,and we compare
RTRNN
with three well known dynamicheuristics:
Greedy Heuristic (GH)
[11],
Weighted Greedy Heuristic (WGH)
[11], and
Virtual Trunk Dynamic Multicast (VTDM)
[8]. The remainder of the paper is structured asfollows: in the next section the Random Neural Network model is introduced; in section III the application of the RNNto the dynamic multicast problem is described; section IV isdevoted to the experimental results. Finally, section V tracessome conclusions.II. T
HE
R
ANDOM
N
EURAL
N
ETWORK
M
ODEL
In the
Random Neural Network
model neurons are characterized by a state or potential
k
such that
k
i
≥
0
,
∀
i
∈
S
,where
S
represents the set of neurons that constitute thenetwork. The neuron potential depends on the potentials of other neurons through the exchange of
spikes
.
Spikes
areunitary amplitude signals that have the effect of increasingor decreasing the potentials of neurons in which they arrive.Spikes can be classiﬁed as:
excitatory spikes
represented by
+1
, and
inhibitory spikes
represented by
−
1
. Excitatoryspikes increase the potential of the target neurons, activatingthem, if disabled. Inhibitory spikes decrease the potentialof their target neurons; null potential means that neuron isdisabled, and an inhibitory spike does not produce any effect.A neuron with positive potential can randomly ﬁre either excitatory or inhibitory spikes. The interfering rate
r
i
, for sending signals to other neurons or outside the network,is exponentially distributed. When the neuron
i
ﬁres, thespike will arrive at neuron
j
with a probability
p
+
ij
if thespike is excitatory, and with a probability
p
−
ij
if the spike isinhibitory. Furthermore, a neuron
i
can ﬁre spikes outside thenetwork with a probability
d
i
. The probability assignment isconstrained by the following equation:
d
i
+
j
[
p
+
ij
+
p
−
ij
] = 1
(1)We deﬁne the rate, at which neuron
i
sends excitatory spikesto the neuron
j
, as
w
+
ij
=
r
i
p
+
ij
, and the rate, at whichthe neuron
i
sends inhibitory spikes to the neuron j, as
Fig. 1. A neuron set in RNN and thier change of spikes.
w
−
ij
=
r
i
p
−
ij
. The following two parameters describe theRNN model:
p
(
k,t
) =
Pr
[
K
(
t
) =
K
]
, q
i
(
t
) =
Pr
[
k
i
(
t
)
>
0]
(2)where
K
(
t
) = (
k
1
(
t
)
,k
2
(
t
)
,...,k
n
(
t
))
represents the vector of the network state, and
k
is a ﬁxed value of the network potential. Equations 2 represent, respectively, the distribution of probability of the network state and the marginal probability that neuron
i
is excited at
t
instant. In our heuristic we adopt the last parameter to select the neuronwhich is a potential Steiner vertex candidate. The timedependent behavior of the model is represented by an inﬁnitesystem of ChapmanKolmogorov equations for discrete statespace and continuous Markovian systems. Let
t
ﬁxed, thestationary probability distribution associated with the modelis the quantity produced in the following equations:
p
(
K
) = lim
t
→∞
Prob
[
K
(
t
) =
K
]
, q
i
= lim
t
→∞
Pr
[
k
i
(
t
)
>
0]
(3)If the neuron
i
is stable[4], the
q
i
quantity is given by:
q
i
=
λ
+
i
r
i
+
λ
−
i
(4)where
λ
+
i
and
λ
−
i
represent respectively the excitatory spikesand the inhibitory spikes that neuron
i
receives from othersneurons and from outside the network. Their formalizationis shown in the following equations:
λ
+
i
=
n
j
=1
q
j
r
j
p
+
ji
+ Λ
i
, λ
−
i
=
n
j
=1
q
j
r
j
p
−
ji
+
λ
i
(5)where
Λ
i
is the rate of exogenous excitatory signals thatarrive at neuron
i
,
λ
i
represents the rate of inhibitory spikesthat neuron
i
receives from outside the network. Both
Λ
i
and
λ
i
arrive at neuron
i
with a rate that satisﬁes the Poissondistribution with average value
1
/r
i
.A neuronal conﬁguration in RNN may be represented as inFigure 1.III. T
HE
RNN
MODEL FOR DYNAMIC
SPNThe Steiner Tree Problem can be deﬁned as the oneof ﬁnding the minimum cost tree, which spans the nodes belonging to a given subset of all the graph nodes. It can beconsidered as a problem of optimum interconnection, withinthe scope of an assigned topology.
A. The static multicast problem
Formally, the Steiner Tree problem in Networks may bedeﬁned as follows: Given:1) a weighted indirect, connected graph
G
= (
V,E,c
)
,where
c
:
E
→
R
+
is a weight function that mapssubset
E
in a set of positive real numbers;2) a set of destination vertices
Z
⊆
V
.Find: a
T
tree of minimum cost such that there is a path between every pair of vertices in
Z
.Multicast vertices may be connected via other nodes not belonging to the multicast set. Those nodes are called Steiner vertices. If

Z

=

V

, the SPN is equivalent to ﬁnd the Minimum Spanning Tree which is polinomially solvable by either Prim or Kruskal algorithms [12]. If

Z

= 2
, the problemsimply consists of connecting the nodes by the shortest path and it can be solved using the Dijkstra algorithm [1].Although trivial cases can be solved in polynomial time, ithas been proved that instances of the problem where
2
< z <

V

are NPcomplete, also in the case where the network is planar (with unitary edge costs) [13]. Some algorithmsthat solve small size instances in exponential time have been proposed in the past. However, for real applications, thereis the need of heuristics techniques that solve the problemin polynomial time, providing approximate solutions of theoptimal Steiner tree.
B. The dynamic multicast problem
The dynamic version of the multicast problem consistsof ﬁnding a sequence of optimal trees, after the executionof a sequence of operations representing node insertions or deletions. Operations are coded in a two componentvector
(
node,action
)
that represents the history of multicast session. We assume that each session starts with the source nodeonly. Starting from a sequence representing the multicastsession in the form
(
n,a
)
where
n
∈
V
is a node belongingto the network and
a
∈ {
0,1
}
is the action such as insertionor deletion, the dynamic multicast problem can be deﬁned as follows:Given:1) An indirect, connected graph
G
= (
V,E,c
)
where
E
is a set of edges and
c
:
E
→
R
+
is a weight functionmapping edges in
R
+
, the ”weight” can be deﬁned asthe cost of the link,2) A set of multicast nodes
Z
⊆
V
,3) A vector of requests
R
=
{
r
1
,r
2
,...,r
n
}
where
r
i
∈
R
is a pair
(
n
i
,a
i
)
.4) A multicast tree
T
(
V
′
,E
′
)
where
V
′
⊆
V
and
E
′
⊆
E
.Find: The sequence of trees
T
1
,T
2
,...,T
m
such thatnodesmember of each tree
T
i
are obtained from
T
modiﬁed
by requests
r
1
,r
2
,...,r
m
, and their cost (sum of weights of edges) is minimum between all the possible combinations of
T
i
.
C. Algorithm description
The goal of our algorithm is the efﬁcient updating of amulticast tree after each real time insertion or deletion of other multicast nodes. In order to apply the RNN to dynamicmulticast, we associate a physical meaning to the involved variables. A mapping of a computer network on a RNN can be carried out as follows:1) a neuron represents a node of the real network;2) the weight of the edge connecting neurons i and jdepends on the rate used by neuron
i
to send excitatoryspikes to neuron
j
and it is calculated, as in [5],according to the following equations:
w
+
ij
=
A
′
A
ij
if A
ij
=
∞
, w
−
ij
= 0
if A
ij
=
∞
(6)where
A
′
is the network link average cost,
A
ij
is thecost of link connecting node
i
to node
j
. If
A
ij
=
∞
,the link
< i,j >
does not exist. Therefore, since
w
+
ij
isinversely proportional to the cost of the link, it may beviewed as the link capability of transporting multicast packets;3) parameter
w
−
ij
may be simply viewed as a ﬂag indicating the existence in the network of a link connectingnode
i
to node
j
. Consequently,
w
−
ij
is computed asfollows:
w
−
ij
= 0
if A
ij
=
∞
, w
−
ij
= 1
if A
ij
=
∞
(7)4) the
k
i
potential of the
i
neuron is constant: this meansthat the random neural network is analyzed in steadystate;5) the marginal probability distribution
q
i
may be associated to the goodness of neuron
i
to be a potentialSteiner vertex candidate, and it is calculated accordingto:
q
i
=
j
q
j
·
w
+
ij
+ Λ
i
r
i
+
j
q
j
·
w
−
ij
+
λ
i
(8)In the equation 8 numerator represents the number of packetsentering node
i
, and denominator represents the number of packets that cannot reach node
i
; from the analysis of the previous equation it emerges that with a ﬁxed numerator, the probability that neuron
i
will be chosen as potential Steiner vertex candidate is inversely proportional to the the number of multicast packets that do not enter the
i
neuron. The
q
i
value depends on the current tree topology. If a neuron isa multicast node, it must receive all multicast packets and therefore
q
i
= 1
, which, according to [2], means neuroninstability.Let
X
be the set of Steiner vertices of
T
,
Z
the set of multicast nodes, and
Y
the set of vertices used for the neuralnetwork conﬁguration, the algorithm works as follows: initially, it builds a tree using one of the existing heuristics(Greedy Heuristic, Weighted Greedy Heuristic or VirtualTrunk Dynamic Multicast); then,
RTRNN
is applied and, if during its execution, an insertion request is received by node
i
, (meaning that node
i
must receive all multicast packets)
q
i
is set to 1. Afterwards node
i
will be inserted into the
Y
set;
RTRNN
will take this into account at the next iteration, and it will ﬁnd a new tree called
T
RNNtemp
, which will becomethe updated tree after the request will be satisﬁed. In order to calculate
T
RNNtemp
, a further temporary tree,
T
NEW
iscreated, primarily, to connect the
i
node to the tree, by meansof the shortest path between them; then all
q
j
s.t.
j /
∈
Y
arecalculated, in order to choose the neuron
k
corresponding tothe largest
q
k
. Such a node will be appended to
Y
as
best Steiner vertex candidate
. If during the
RTRNN
executiona disconnect request is received by the node
j
, it will belabeled as
“not for Z”
, the tree will be pruned and, if node
j
is not a leaf node, node
j
will be labeled as
Steiner vertex
.Afterwards, node
j
will be deleted from the
Y
set, and
q
j
will be set to 0 in order to compute all
q
k
s.t.
k /
∈
Y
and to choose the neuron
s
with the largest
q
s
. At the end of requests
RTRNN
is guaranteed to ﬁnd a tree better thanthe one found by the basic heuristic.In simulations described in the next section, the heuristic wasapplied as a continuous rearrangement algorithm. Furthermore, it is possible to disable
RTRNN
during a session,and to resume it whenever a certain number of operationsare executed or when some threshold on the tree cost isexceeded.We assume that one insertion or deletion request can besimultaneously received. Due to
RTRNN
model operationalcharacteristics, we adopt a
ForcingConnection
function.This function is needed when the subgraph induced bythe vertices in
U
=
X
∪
Y
and by their adjacent edges,is disconnected.
RTRNN
ﬁnds all the nodes causing thisdisconnection, and includes into the
U
set all the nodes alongthe shortest path between those nodes and the subgraphinduced by the tree.
D. Complexity analisys
In the proposed algorithm, as described in [3], weightsare initialized only once and the consequent complexity is
O
(

V

2
)
, where

V

is the number of network neurons. Then,the initialization of
q
probabilities requires
O
(

V

)
as time,therefore the overall programming complexity is
O
(

V

2
)
.The largest complexity arises from determining the neuronwith the largest value of
q
and this requires a computationof all
q
for
(

V
−
Y

)
neurons requiring
O
(

V

2
)
as time.The computation of a Minimum Spanning Tree of a subgraph induced by vertices in
U
takes a
O
(

U

)
as time.For each insertion or deletion request, the computationaltime is just
O
(

V

2)
. The additional functions of
RTRNN
heuristic are negligible and the connection of a node to treeusing shortest path between the node and the tree, requiresa time of
O
(

V

2
)
using Dijkstra algorithm [1]. The overallcomputational complexity is thus
O
(

V
−
Y

V

2
)
whichmeans
O
(

V

3
)
.
Fig. 2. Cumulative Competitiveness for Steinlib Networks.
IV. E
XPERIMENTAL RESULTS
In order to validate the proposed algorithm, simulationsare carried out in which it is supposed that sessions begin just with the source node; afterwards, sessions continue withthe insertion or the deletion of the nodes that request either to join or to leave the multicast group. For the simulations, a setof requests equal to the 20% of the number network’s nodesis generated. Furthermore, whenever the cost of the treeexceeds a ﬁxed bound, an experimental measure to comparethe three heuristics with their improved version is carried out.In the dynamic case, because we did not know the optimalcosts, we compare the costs achieved by the RTRNN withthe costs obtained by the Stirring algorithm [6].The cumulative cost competitiveness graphs for both Steinlib [10] and BRITE networks [9], are shown in ﬁgures 2and 3. The Steinlib graphs represent a well known testbed in the literature, whilst BRITE networks are internet likegraphs. The competitiveness, shown in the charts, representsthe ratio between the cost produced by the heuristic and theoptimal cost. By optimal cost we mean the real best solutionfor the static case and the best found solution for the dynamiccase. Figure 2 shows the relevant improvement produced by
RTRNN
when applied to
GH
,
WGH
and
VTDM
.Both
GH
+
RTRNN
and
WGH
+
RTRNN
ﬁnd alwaysa Steiner tree such that
C
Heur
/C
Opt
≤
1
.
105
.Figure 3 shows that
RTRNN
applied to
BRITE
networksoutperforms the behavior obtained on Steinlib graphs; the
GH
+
RTRNN
curve converges at 100% for competitiveness values not much greater than 1.08. Likewise,
RTRNN
is able to improve considerably in real time the sequence of multicast trees found by
VTDM
.Figure 3 also shows that
RTRNN
obtains a better improvement when applied to
WGH
. Finally, although
WGH
presents a behavior worse than
GH
on Internetlike networks, RTRNN+WGH has a better behavior than
RTRNN
+
GH
.
RTRNN
, therefore, improves
WGH
more than
GH
, and ﬁnds multicast trees with cost distantfrom the optimum less than 8%. Another
RTRNN
feature isdue to the limited tree topology changes involved after eachoperation. This constitutes an advantage because a limited rerouting of packets is required. Namely, the tree topology changes, on average, after each operation are limited
Fig. 3. Cumulative Competitiveness for BRITE Networks.
between 1.5% and 3.5%, satisfying the constraint imposed by dynamic multicasting.V. C
ONCLUSIONS
In this paper a dynamic heuristic for the
SPN
has been proposed. The heuristic is based on the adoption of theRandom Neural Network Model for the solution of thedynamic version of the Steiner Tree Problem in Networks,and it is capable of improving the partial solutions obtained in real time.The heuristic has been tested on sets of sample graphs artiﬁcially generated and it has been demonstrated that
RTRNN
is an efﬁcient dynamic postprocessing method able also tosatisfy the constraints imposed by dynamic multicasting, asthe
real time dynamic
and the
limited rerouting of multicast packets
.R
EFERENCES[1] Dijkstra, E.W., A note on two problems in connections with graphs.
Numerische Mathemat.
, 1:269–271, 1959.[2] Gelenbe, E. , Random neural networks with negative and positivesignals and product form solution.
Neural computation
, 7:502–511,1989.[3] Gelenbe, E., Ghanwani, A., and SriniVasonr, V., Improved neuralheuristics for multicast routing.
IEEE Journal on selected areas incommunications
, 15:147–155, 1997[4] Gelenbe, E., Mao, Z. Hong, and Li, Y. Da, Function approximationwith spiked random neural networks.
IEEE Transaction on Neural Networks,
, 10:3–9, 1999.[5] Gelenbe, E., V.Koubi, and F.Pekergin, Dynamical random neuralnetwork approach to the travelling salesman problem.
Proc. IEEE Symp. Syst. Man, Cybern
, pages 630–635., 1993[6] Di Fatta, G. and Lo Re, G., Efﬁcient tree construction for the multicast problem.
Journal of the Brazilian Telecommunications Society,
.[7] Kokak, T., Seeber, J., and Terzioglu, H., Design and implementationof a random neural network rounting engine.
Illinois GALab
, 2003.[8] Lin, H. Chun and Lai, S.Chuan, Vtdm a dynamic multicast algorithm.
Proc. of IEEE INFOCOM ’98
, pages 1426–1432, 1998.[9] Medina, A., Lakhina, A., Malta, I., and J.Bayers. Brite universaltopology generator.
www.cspub.bu.edu/brite
.[10] Voss, S., Martin, A., and T.Koch. Steinlib library.
elib.zib.de/steinlib/steinlib.php
.[11] Waxman, B.M., Routing of multipoint connections.
IEEE Journal on selected areas in communications
, 6 n.9, 1988[12] Winter, P., Steiner problem in the networks: a survey.
Networks
,17:129–167, 1987[13] Garey M.R., Graham L.R., and Johnson D.S., The cpmlexity of computing Steiner minimal trees
Siam J. Apll. Math.
, vol32, pages835–859, 1977