EFFICIENT ONLINE ALGORITHMS FOR MULTICASTING WITH … · 2020-04-07 · Chapter 1 Introduction This...
Transcript of EFFICIENT ONLINE ALGORITHMS FOR MULTICASTING WITH … · 2020-04-07 · Chapter 1 Introduction This...
EFFICIENT ONLINE ALGORITHMS FOR MULTICASTING WITH BANDWIDTH AND DELAY GUARANTEES
S pyros Angelopoulos
A thesis submitted in conformity with the requirements for the degee of Master of Science
Graduate Department of Computer Science University of Toronto
Copyright @ 1999 by Spyros Angelopoulos
National Library Bibliothèque nationale du Canada
Acquisitions and Acquisitions et Bibliographie Services services bibliographiques
395 Wellington Street 395. rue Wdlingtarr Oüawa ON K I A ON4 OUawaON K1A W U Canada Canada
The author has granted a non- exclusive licence ailowing the National Library of Canada to reproduce, loan, distribute or sell copies of this thesis in microfonn, paper or electronic formats.
The author retains ownership of the copyright in this thesis. Neither the thesis nor substantial extracts fkom it may be printed or otherwise reproduced without the author's permission.
L'auteur a accordé une kence non exclusive permettant à la Bibliothèque nationale du Canada de reproduire, prêter, distribuer ou vendre des copies de cette thèse sous la forme de microfiche/film, de reproduction sur papier ou sur format électronique.
L'auteur conserve la propriété du droit d'auteur qui protège cette thèse. Ni la thèse ni des exttaits substantiels de celle-ci ne doivent être imprimés ou autrement reproduits sans son autorisation.
Abstract
Efficient Online Algorithms for Multicasting with Bandwidth and Delay Guarantees
S pyros Angelopou los
Master of Science
Graduate Department of Computer Science
University of Toronto
1999
This work proposes a novel paradigm for online multicasting with bandwidth and delay
guarantees. We first address the issue of online maintenance of multicast trees, namely the case
where the topology of the multicast network is confined t o trees. Next, motivated by examples
tha t demonstrate the inefficiency of tree-based multicast graphs, we waive this requirement.
Instead, multicast information is delivered to the participants by means of dedicated virt ual
circuits. Our solutions observe the following guidelines: i) Satisfaction of bandwidth and delay
requirements irnposed by individual users; ii) Feasibility with respect to constraints such as the
capacity of links; iii) Online handling of join/leave requests; iv) Dual objectives, i.e., maxirniza-
tion of total admitted users while keeping the overall cost sufficiently smd; v) Performance
guarantees related to the cost incurred by each admitted user; vi) Provably low timecomplexity;
and vii) Efficient reclaiming of resources. Previous research has failed to comply with several
of the above specifications.
Contents
Introduction 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Motivation and Background 3
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 PreviousWork 6
. . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Definitions and Problem Statement 11
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Network Modd 11
. . . . . . . . . . . . . . . . . 1.3.2 Multicast Groups and the Multicast Graph 12
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.3 Optimization Objectives 15
. . . . . . . . . . . . . . . . 1.3.4 The Delay-Constrained Steiner Tree Problern 16
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 An overview of the algorithms 17
. . . . . . . . . . . . . . . . . . . . 1.41 Tree vs . Non-Acyclic Multicast graphs 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 .4.2 Design Considerations 19
. . . . . . . . . . . . . . . . 1.4.3 High-level Description of the Join Algorithms 21
. . . . . . . . . . . . . . . 1.4.4 High-level Description of the Leave Algorithms 24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Contributions 25
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Outline 27
2 Tree-based Algorit hms 29
. . . . . . . . . . . . . . . . . . . 2.1 Constrained Path Optimization in QoS Routing 30
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 Problem Definition 30
. . . . . . . . . . . . . . 2.1.2 Exact Solutions For Generai Weight Assignment 31
. . . . . . . . . . . . 2.1.3 Exact Solutions W hen Edge Weights Are The Same 32
. . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.4 Approximation Algonthms 32
. . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.5 Extension to Multigraphs 34
. . . . . . . . . . . . . . . . 2.2 TreeBased Algotithms for the BD-MCAST problem 36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Motivation 36
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Definition of Parameters 37
. . . . . . . . . . . . . . . . . . . . . . . . . . 2.3 Treebased BD-MCAST Algorithms 44
. . . . . . . . . . . . . . . . . . . . 2.3.1 Overview of the TREEJOIN Algorithm 44
. . . . . . . . . . . . . . . . . 2.3.2 Computing Near-Optimal Connection Paths 46
. . . . . . . . . . . . . . . . . . . . . . . . . 2.3.3 The UPDATEPATH procedure 55
. . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.4 The TREELEAVE Algorithm 57
. . . . . . . . . . . . 2.3.5 A Join Algorithm for the Online DSTEINER Problem 59
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4 Conclusions 64
3 When Circuits Appear: The CIRCUIT Algorithm 68
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Introduction 67
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Definition of Parameters 69
. . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Overview of the VCJOIN algorithm 81
. . . . . . . . . . . . . . . . . . . . . . 3.4 Finding Optimal Feasible Virtual Circuits 84
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Algorithm Description 84
. . . . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Correctness of OPTIMALVC 88
3.4.3 Implementation Issues and Time Complexity of OPTIMALVC . . . . . . . 90
. . . . . . . . . . . . . . . . . . . 3.5 Pinding Near-Optimal b i b l e Virtual Circuits 92
3.5.1 Description o f t h e Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 92
3.5.2 Correctness of APPROXVC . . . . . . . . . . . . . . . . . . . . . . . . . . 96
3.5.3 Cornplexity Ana lys i so fA~~~oxVC . . . . . . . . . . . . . . . . . . . . . 100
3.5.4 Virtual Circuits with Minimal Joining Paths . . . . . . . . . . . . . . . . 102
3.6 Updating the Multicast Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
3.7 The Leave Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.8 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4 Extensions and Future Work 110
4.1 Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
. . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Extension to Directeci Graphs 111
4.1.2 Deaiing with Bandwidth Variation . . . . . . . . . . . . . . . . . . . . . . 112
4.1.3 The OfRine BD-MCAST Problem . . . . . . . . . . . . . . . . . . . . . . . 114
4.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -116
. . . . . . . 4.2.1 Enforcing Multicast Trees of High Capacity and Smail Delay 117
4.2.2 Rearranging the Multicast Tree . . . . . . . . . . . . . . . . . . . . . . . . 118
4.2.3 Distributed Implementation of BD-MCAST Algorithms . . . . . . . . . . 118
4.2.4 Exploiting Hierarchical Routing Schemes . . . . . . . . . . . . . . . . . . 119
4.2.5 Cornpetitive Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
4.3 A Note in Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Chapter 1
Introduction
This work is focused on the design of efficient online algorithms for multicast communication
wit h bandwidth and delay guarantees. In multicast routing, messages originated from a source
are concurrently sent to multiple destinations, which are part of the same multicast group.
Many emerging applications, such as video on-demand, and video-conferencing, strongly rely
on the ability of the underlying network to support multicast communication. T h e broad range
of applications t h a t caU for multicast capabilities has motivated signifiant research in the area,
and a number of protocols has been proposed and analyzed in t h e literature.
Multicast routing involves the identification and creation of connections through which data
reach the destinations. Existing research has focused, alrnost exclusively, on distribution trees
which span the source and the destinations of a rnulticast group. In conventional versions of
t he rnulticast problem, the major optimization objective is t o minimize the cost of resources
required t o accommodate the connections. In addition, routing must meet some requirements
for quality, and comply with practical limitations, such as the availability of resources.
We first investigate the effect of irnposing dual guarantees on the delivery of multicast traffic.
T h e guarantees refer t o the minimum amount of dedicated bandwidth, as well as to the delay
of the path through which multicast d a t a reach a particular destination. We show tha t the
satisfaction of such rquirements affects various design considerations. This rnakes the problem
more challenging compared t o the single metric, unconstrained versions of multicasting. For
instance, the cost associateci with the amount of resources reserved by the algorithms ïs not the
only optimization goal; i t is equally, or even more important, to ensure tha t a d a t i v e l y large
number of users are admitted into the multicast group, while their QoS guarantees are met.
We propose two families of algorit hms t ha t deal with t h e online version of the above problem;
recall that , in the online framework, the algorithms do not have amy knowledge about future
requests for admission to o r disconnection from the multicast group. The first family conforms
to the "traditional" approach to the multicast problem, namely, the maintenance of a tree
subnetwork through which multicast traffic is propagated. In the second set of algorithms
we present, this constraint is waived. Specificaily, the multicast traffic is delivered through
dedicated connections, t o each individual destination; therefore, the connections rnay create
circuits, as opposed to multicast trees, where no cycles appear. We argue tha t the latter
approach can increase the number of successfully served requests.
The rernaining of the Chapter is structured as follows: We first ptesent, in Section 1.1,
the motivation behind our work, and introduce some general concepts and terminology. in
Section 1.2 we d'iscuss previous work related t o the multicast problem. The problem in study
is introduced, and formally defined in Section 1.3. Section 1.4 iilustrates the intuition behind
our solutions, and gives a n overview of the proposed algorithms. Finally, Our contributions are
presented in Section 1.5 and the outline of the work is given in Section 1.6.
1.1 Motivation and Background
With the advent of new technologies, such as optical fibers and switching devices, a new gen-
erat ion of hig h-speed networks has emerged. In addition, recent advances in audiovisual tech-
nologies have given rise to new distnbuted real-time applications. Typical examples of such
applications include video-conferencing, tele-education, and cornputer supporteci coilaborative
work. Several of those applications have been implemented, and are expected to become, in
the near future, commonly used twk.
Al1 of the above illustrations share a common attribute: they rely, t o a large extent, on
the existence of an underlying multicast service, Moreover, the applications define specific
requirements with respect t o the performance of the latter service. For instance, low end-teend
transmission delay is a prerequisite in video-conferencing. Multicasting algorithms, therefore,
should provide certain guarantees on the quality of the delivered information, to effkctively
support the above applications.
Multicasting can be considered as a communication service tha t allows an application to
transmit information, in a n efficient way, to a set of end users. We use the terms source and
destinations to denote the origin and recepients, respectiveiy, of multicast data. The term
multicast gmup describes the set of aU destinations and includes, by convention, the source. in
addition, every multicast group is identifieci by a unique, location-independent address.
Multicast d a t a transmitted from the source propagates through a selective subset of nodes
and links of the current network, a b cailed the multicast network. The multicast network
provides source-destination connectivity for a11 members of the multicast grou p. In addition,
a certain amount of resources has to be reserved on links and nodes of the mutticast network,
in order to support the desired delivery of traffic. The term ^resources", here, is generic in
scope, and can be related, for instance, to the bandwidth allocateà along links, or to the total
memory requirements for storing the routing tables at the nodes, or both. In the context of
this work, the term resources is equivalent t o the bandwidth, and we ignore all other possible
manifestations i t may have. The wst incurred by the multicast algorithm is determined by
the total amount of bandwidth tha t is aiiocated on Iinks of the multicast network. The term
clearly describes considerations of financiai nature, since bandwidth is a commodity tha t is not
available in abundance, in real networks, neither is given for free. We refer to the authority
that manages the network and provides the connections as the network pmuider.
In its simplest formulation, the multicast routing problem k also known as the Steiner l k e
Problern. The input to t h e problem is a network, represented by a weighted, undirected graph,
and a set of nodes that corresponds to the source and destinations. We seek the minirnum-
weight subgraph of the input graph that spans these nodes. It is not difficult t o perceive tha t
the subgraph sought is always a tree. The Steiner Tree Problem was one of the first seven
problems shown NP-Cornplete by Karp [15], meaning tha t we can not opt for optimal solutions
in polynomial time. Comprehensive surveys tha t address the problem of computing Steiner
Trees can be found in [12] [38].
The problem of designing efficient multicast algocithms becomes more involved when every
individual member of the group defines Quality of Service (QoS) parameters with respect t o the
quality on the delivery of multicast traffic to different destinations. QoS is a broad concept, and
may include performance metrics such as packet-loss ratio, bandwidth, end-teend delay, etc.
In the problem a t hand we assume tha t the QoS parameters, as specified by the members, are:
i) the end-to-end delay t h a t a multicast packet can experience on the route from the source to
the destination; and ii) t h e minimum required bandwidth, which corresponds t o the minimum
rate of multicast traffic delivery requested by t he destination. The former parameter is crucial
in real-time applications, where information has to be received within a specific time window, or
the functionality of the service is compromisecl. The latter parameter is critical in applications
that impose strict bounds on the number of packers received per time unit. An example of a n
application that faiis into this category is the transmission of video data. A challenging aspect
of the problem is t h e fact that t he above QoS requirements may exhibit significant variations,
among users.
An additional stress imposed on the design of multicast algorithms stems from the fact tha t
users are aUowed to join or leave the multicast group, at any atbitrary point of time. Hence,
an efficient multicast algorithm should feature the ability to process the requests issued by the
user on-fine. In t h e on-line version of the problem, the algorithm is oblivious of the future
requests. Each request is sewed individually, and the decisions made by the algorithm may
have an impact on the overali performance, o r even the ability to successfully handte subsequent
requests. In particular, there is no secure information about the nodes tha t will issue further
requests, or the exact time the requests arise, or the exact values of the corresponding QoS
parameters.
The on-line sequence of decisions affects the overali performance of the algorithm with re-
spect to the total cost of the solution. Moreover, the on-line framework introduces an additional
optimization objective: we aim at maximizing the number of users successfuUy admitteci in the
multicast group. Frorn the point of view of the network provider, the above metric is related
to the profit attained, assuming tha t all users bid for participation t o the multicast group on
equal terms. Hence, the on-line nature of the problern raises also issues of admission contml:
the algorithm may reject admission of a user in the multicast group, even when the requested
QoS can be provided, on the basis tha t such an admission may prohibit the sat'Lsfaction of
future requests.
An additional issue that largely affects the efficiency and functionality of a multicast aigo-
rithm is the need for low time-complexity. This requirement refleds the constraints i m p d
on the user response-time, since users expect notification of acceptance or rejection within
some bounded, and relatively s m d , period of time, Notice a b , t h a t networks are evolving
in size, and scalabiity is compromised in case the complexity for serving the requests is high.
The problem is becoming even more perplexed and challenging in an environment of duai $OS
guarantees, since multiple parameters a re in conflicting, t rade-off relationship.
1.2 Previous Work
The significance of multicasting in emerging applications has motivateci extensive research in
the area. However, the previous work on the problem we investigate is only marginal. In this
Section, we review the related work, and comment on i t s relevance t o the problem in question.
As mentioned in the previous Section, the simplest formulation of the multicast issue is the
Steiner Tree Problem. Efficient approximation algorithms have been studied, for both the on-
line and off-line settings. Kou, Markowski and Berman provide in [17] a heuristic which yields
a Steiner Tree of cost at most twice the cost of the optimal solution. Some other known heuris-
tics [21] [3 11 also achieve the same guarantees. An improvement to the above approximation is
due to Zelikowsky [39]. The cost incurred by his solution ïs within 11/6 the cost of the optimal
t ree.
Algorithms with provable performance guarantees have been proposed for the online version
of the Steiner Tree Problern as well. In a seminal paper 1131, Imase and Waxman proved
the existence of a simple online algorithm for serving join requests, with total cost within a
rogarithmic factor from the optimal offline solution. T h e algorithm operates in a greedy way,
by maintaining a multicast tree that spans the current set of participants. When a join request
is isçued, the minimum-weight path from the current tree t o the participant is sought. Unlike
t h e join-only version, the case where both join a n d leave requests a re issued does not exhibit
similar worst-case behavior.
Notice t h a t t h e above algorithms are expected to perform, in practice, better than the
worst-case bounds suggest. However, t hey can not be applied in t he context of t he problem we
consider, since t hey do not t ake into consideration the bandwidt h-delay characteristics on the
links of the network. In other words, their focus is on optimizing a given cost function, without
taking into account the QoS requirements.
A different category of algorithms, also known as delay-comtmined algorithms, a t tempts
to provide some guarantee with respect to the end-to-end delay between t h e source and the
destinations. In particular, t h e delay can not exceed a fixed, predetermined bound A. T h e
minirnization of t h e delay is not a requirement here; i t is sufficient t o satisfy t h e given bound.
Algorithms t h a t fa11 in this category aim at constructing a multicast tree of srnall cost, while
obsewing the upper bound on the delay.
Several delay-constrained heuristics have been proposed during the past few years. For a
detailed survey and a relative cornparison of delay-constrained algorithms, t h e interested reader
is referred to [9]. An early heuristic for computing constrained Steiner Trees was proposed by
Kompella, Pasquale and Polyzos [16], assuming t h a t both the link delay values and the bound
A are integers. T h e complexity incurred by the heuristic is dominated by t h e construction of
a constrained closure graph which requires time 0(An3), where n is the number of nodes in
t he network. Thus, the complexity is pseudopolynomial, since i t depends o n t h e characteristics
of t he links. For instance, if A is not polynomial on n, then the time to construct the tree
is not polynomial either. T h e polynomial dependence of t he cornplexity o n A constitutes a
serious shortcoming, which manifests more clearly when the link delays and t h e bound A take
non-integer values. In t ha t case, t he authors of [16] propose a scaling of t h e fractionai values
t o get integers. However, in some cases, t h e granularity of the delay values can be very small,
w hich im plies t hat the scaled delay values increase significantly-
In [37], Widyono proposed a family of heuristics for constructing deiay-const rained Steiner
trees. The heuristics rely o n a constrained variation of the Bellman-Ford algorithm which is
presented in the same report. T h e latter algorithm is used to identify the constrained, minimum-
cost paths from the source to ali other nodes of the network, namely, paths of least cost subject
t o the deiay bound. The most efficient of t h e heuristics proposed by Widyono, the Constrained
Adaptive Ordering (CAO) heuristic, connects a new member t o the existing tree by means of
the constrained, minimum-cost path, with end nodes the source and the user. Although the
approach is interesting and weldmotivated, the major drawback of the algorithms is the absence
of complexity bounds. In fact, the constrained Beliman-Ford algorithm can incur, in worst case,
exponential running time, which is certainly undesirable.
A third heuristic for computing constrained Steiner trees is due to Zhu, Parsa and Garcia-
Luna-Aceves [40], known as the Bounded Shortest Multicast Algorithm, o r BSMA. The atgo-
rithrn operates as foUows. An initial Steiner tree that does not violate the delay bound is first
computed. The tree is subjec:ed to a series of reconstructions, which proceed iteratively. At
each iteration, the algorithm attempts t o reduce the cost of the current tree, without violating
the delay bound. The algorithm terminates when no further cost improvement can be effected.
BSMA employs a k-shortest path algorithm, in order to implement the reconstruction of the
tree. The total complexity is of order 0(kn3 logn). Notice tha t k is not known a priori, and
i t may assume large values, in case of large and densely connected networks. However, i t is
possible t o trade-off the value of k and the cost of the resulting tree. Thus, BSMA can achieve
polynomial cornplexity at the expense of a solution of increased cost.
A simple, in concept, delay-constrained Steiner tree heuristic was presented by Sun and
Langendoerfer in [30]. The heuristic cornputes initialiy a n unconstrained, minimum cost Steiner
tree. In case where t h e end-teend delay from the source to some destination exceeds t he
predetermined bound, t h e path from the source to that particular destination is replaceci by
the minimum delay path. T h e heuristic runs in t ime 0(n2) , since it uses Dijkstra's algorithm
t o compute both the delay-constrained, and t he unconstrained trees.
Rouskas and Baldine s tudy in [27] a variation of the constrained Steiner tree problem, in
which t h e optimization objectives are tied exclusively to t he delay experienced by packets- The
requirements posed by t h e problem definition in their sett ing are as follows: i) t he delay on
the paths from the source to every destination has to be bounded above by A; and u) t he
variation among the delay along those paths has also to be bounded by some predetermined
value 6. Their work ignores t he cost-optimization component, and is bound to delay-sensitive
applications, where requests a re served at any expense.
Notice tha t , with t h e exception of [37], ali t he heuristics mentioned above address t he
offline (static) version of t h e problem, and can not be applied t o the oniine (dynamic) setting.
In addition, they do not take into consideration t he bandwidth requirements t ha t users may
exhibit. Accordingly, t he cost incurred by the above heuristics is expresscd in t e rms of the overall
weight of the links of t he multicast tree- However, such a cost met ric does not necessarily re0ect
the actual amount of resources, Le., bandwidth, required t o accommodate t he users. Indeed, one
would expect t ha t only a fraction of t he available resources on a specific link should be dedicated
for multicast t r a f k , within a specific group. T h e mode1 on which the above-discussed work is
based assumes tha t either t he totality or zero resources ïs used by the multicast atgorithm, o n
a specific link.
Multicast routing in networks where users issue discrete bandwidt h requests was previously
studied by Faloutsos, Pakna j and Sevcik [6]. Their algorithm can handle online requests, and
the contribution of each edge of the multicast tree to the total cost is a (generic) function of
the ailocated bandwidt h, This metric is conceptudy closer t o the real meaning of the *CU&" of
a multicast tree; however, the work does not investigate the extension where delay constraints
are imposed by users.
Finaily, a recent heuristic for online, delay-constrained multicasting is due to Hong, Lee
and Park [I 11. Their approach is based on a greedy strategy in which every new participant is
connecteci to the current tree by means of a minimum-cost path, such t h a t the dday from the
source t o the new member is bounded by A. The problem of identieing such paths, known as
Constmined Shortest Path Pmblem, is NP-hard as well; to cope with this, the authors of [Il]
employ a technique based on the Lagrangian reiaxation method.
Unfortunately, t h e heuristic proposed by Hong et al. is built on the faise premise t h a t i t is
unli kely t o find efficient solutions to the Constrained Shortest Path Problem within polynomial
time. In fact, as we will see in Chapter 2, there exist approximation aigorithms for the above
problem tha t compute, in polynomial time, a path of cost at most (1 + é) tirnes the cost of the
optimal one, where E is any (smali) constant.
In addition, t h e heuristic mentioned above exhibit some serious drawbacks. In particular:
i) It does not guarantee bounded time-complexity, In worst case, a join request can incur ex-
ponential running time; ii) The greedy step, namely the identification of smd-cost constrained
paths, does not provide performance guarantees, In other words, there is no estimation of how
close t o the optimal the cost of the path computed by the Lagrangian-relaxation technique is;
iii) The delay requirement of al1 participants is uniform, and equal t o A; and iv) The band-
width requirements and constraints a re ignore& Accordingly, the cost of the multicast tree is
a function of the weight assignment o n the links of t h e network, and not a function of utilized
resources [Il].
We conclude t h e review of previous work with a noteworthy remark: AU previous research
on delay-constraineà multicasting has focused o n multicast trees. As will become evident in a
while, however, multicast trees do not n e c e s s d y yield optimal solutions when dual constraints
are considered. This observation motivates our work on algorithms for the oniine multicast
problem that are not confined in creating rnulticast trees.
1.3 Definitions and Problem Staternent
1.3.1 Network Mode1
The communication network is represented as a connected, undirected graph G = (V, E), with
n = IV1 and m = [El being the nurnber of nodes and edges in G, respectively- Every edge
e E E is associateci with two weights, c(e) and d(e ) , that correspond to the capacity and delay
characteristics of t h e edge e. T h e capacity of a Link, c(e) , is defined as the maximum amount of
bandwidth that is available on tha t link. The Link's delay, d ( e ) , represents the total delay tha t
a d a t a packet experiences on t h a t iink due to: switching, queuing, processing and transmission
operations tha t occur in the transmitting node, as well as to the propagation of the packet
through the link. We assume tha t both delay and capacity are taking non-negative integer
values, since we can scale the edge characteristics t o integer values.
A path P fmm node v; to node vj in G is a sequence of consecutive edges in G, such tha t
the first and last edges in this sequence are adjacent to v; and v, respectively. A subpth of
P, /mm node vf to node v: is a path from vi t o u: tha t includes only edges of the path P. We
define the capacity of Pl denoted by c(P) , as the minimum capacity among aiI the edges in the
path. The delay of P, denoted by d ( P ) , is the sum of the delays of ail links t h a t appear in P.
1.3.2 Multicast Groups and the Multicast Graph
A multicwt gmup or multicast session consists of a source node s E V, which acts as the
generator of the multicast t r a c , and a set M of destinations, or mepients, with M =G V.
Since the source is triviaiiy a recipient, we use alternatively the terms participants o r users
or mernôers when refemng to either the source or the destinations of the multicast group.
Let k = 1 M U sl denots the total number of participants. We also use, for convenience, the
terms gmup or session instead of rnulticast group and multicast source respectiveiy, when it
is clear from the context. Each group is assigned a unique group address. Multiple groups,
with different sources and destinations can exist throughout the netwotk. We make use of the
notation g; t o refer to the group with id i.
Every potential member v of a particular multicast group defines two discrete Quality of
Service (QoS) parameters: i) The minimum required bandwidth b,, which corresponds t o the
minimum rate of rnulticast tr&c delivery that u requires; and ii) the mazimum delay &, which
represents the maximum permitted delay that a multicast packet following a path from the
source s to u can experience. The above parameters describe the quality on the delivery of
rnulticast traffic required by user v. The multicast algorithm is responsible for satisfjring b t h
requirements, upon admission of a user to the group. This is accomplished by allocating the
necessary resources, i.e., sufficient bandwidth on selective links, and by directing the multicast
traffic t hrough paths of acceptable delay.
Moreover, the multicast groups are dynamic, in the sense that the set of their participants
is subject t o changes in the evolution of time. Nodes tha t request subscription ta a group
can do so by issuing a join wues t , while current participants may issue a leave mquest to
disconnect from the group. We can formulate the activity associated with membership changes
as a sequence of join and leave requests. The format and the semantics of such requests are
defined below:
join(v, g;, b,, 4) : Connect o to the source of group g; by means of a path that guarantees
minimum bandwidth of at least 6, and a total delay for packets deiivered to u of at most
d,. If such a path does not exkit, reject the request-
leave(v, gi): Node v ceases being a participant of group g;.
Notice that the join/leave sequence of requests is processed by the algorithm in an online
fashion. Moreover, the algorithms we propose do not rely on any kind of assumptions about
the probability distribution of those requests.
Let M be the current set of participants for a multicast group with source S. The connection
puth for a participant u f M, denoted by Pu, is defined as a path from s to u that provides
a connection to u of suscient bandwidth (at least bu), and acceptable delay (at most du).
Multicast da ta generated by the source and destinateci to u propagate through Pu.
For the multicast traffic to be delivered to the destinations, a certain amount of bandwidth
has to be allocated on the edges of the connection paths. A crucial observation here is that
the minimum bandwidth required on an edge e rnight be less than the sum of the arnounts of
bandwidth associateà with the requirements of all members v E M, for which the connection
path P, includes e. This is due to the fact that some of the connection paths may share an
identical subpath from the source s up to an intermediate vertex z, which implies the possibility
of sharing bandwidth among the connection paths on some of the edges of this common subpath.
We can formalize the above informa1 discussion as follows: Let P be the set of connec-
tion paths corresponding t o destinations in M. For every edge e = (2, y), define P,(e) =
{P: (e), . . . , ~:(e) ) as a collection of sets of connection paths in P. Any two paths in the same
set, Say E(e), with 1 5 i < 1, have ezactly the same subpath from s to node z, and include edge
e in this shared subpath. P,(e) is defined in a similar way. This classification of connection
paths gives rise to a definition of bandwidth allocation in which not ail connection paths in
C ( e ) or e ( e ) require bandwidth on edge e; instead, it is suffiuent to aüocate bandwidth equal
to the maximum required bandwidth of users served by connection paths in P',(e) and P',(e),
respectively-
The following reiationships summarize the resource allocation on the edges of our network
model, as well as the basic property of the connection paths, Here, b(e) denotes the o v d
bandwidth that is aiiocated on edge e, and v denotes nodes in M.
Eq. (1.1) describes the contribution of users in each one of the classes of paths c(e) and
e(e). to the allocation of bandwidth for edge e . On the other hand (1.2) formulates the
requirements of a connection path, with respect to capacity and total delay. A connection path
Pu is called feasible iff i t satisfies the properties describeci by (1-1) and (1.2).
An edge e is said t o be underloaded iff b(e) < ce, namely the total bandwidth assigned t o the
connection paths that use e does not exceed its capacity, otherwise e is said to be overlorrded.
The multicast gmph GM = (VM, EM), is defined as the union of the connection paths for
al1 the current members of the multicast group. The multicast graph is called feasible iff al1
connection paths are feasible and, in addition, al1 of its edges are underloaded. In this work,
we propose algorithms for online construction and maintenance of feasible multicast graphs.
We can now define the optimization goals in our problem.
1.3.3 Optirnization Objectives
The cost of the multicast graph is defined as follows:
The Iast equation suggests that, in the mode1 we consider, the cost of a feasible multicast
graph is defined in terms of the bandwidth t h a t is allocated on its edges, in other words, the
overali cost depends on the atlocated resources, which refiects the prke a network provider has
to pay in order to accommodate a group of multicast users, in a r ed network.
Although the cost is an important measure of the quality of a solution, i t is not the primary
optimization objective. Instead, we aim at mdmiz ing the number of requests that can be
served without violating the feasibiity property. Notice that any online algorithm can trivially
handle the leave requests: it is sufficient t o change the membership of the leaving node, and no
further changes to the multicast graph need to occur- However, as we WU see in subsequent
sections, deallocating the excess bandwidth that becomes available after a node leaves the group
is a technique that yields more efficient results.
Consider a sequence of join requests, r = ri, r z , . . . , rj that are processeci by an online
algorithm for the problern in question. It might be the case that not al1 the requests can be
satisfied, due to lack of resources, i.e., there does not exist a connection path from the source to
the potential member which does not overload any edges in the multicast graph. Indeed, such
a scenario is expected t o arise frequently in heterogeneous service networks, where the QoS
requirements of multicast participants can vary significantly. Moreover, the order in which the
requests are generated affects the structure of the multicast graph, as well as the allocation of
resources, while it has an impact on the total number of the successfuiiy handled requests.
We define t h e admission success mtio a for a particular online algorithm ALG, and a
sequence r of requests as follows: if kuC is the total number of requests in r t h a t are successfully
processed by ALG, and koPT is the maximum number of requests a n optimal ofline algorithm
can satisfy, when the cost of t h e multicast graph is not taken into consideration, then
The central optimization goal in the problem we consider is designing protocols tha t guar-
antee satisfactory admission succes ratio, and result in multicast graphs of s m d cost. In
subsequent sections, we refer t o the problem as the BD-MCAST problem, which stands for
multicasting with bandwidth and delay guarantees.
1.3.4 The Delay-Constrained Steiner Tree Problem
The definition of cost in the BD-MCAST problem formulation corresponds t o the total band-
width allocated on edges of t he multicast graph, under the assumption tha t feasibility is pre-
served. Such a definition is meaningful only when users define explicitly the minimum required
bandwidth, as one of their QoS requirements. Instead, if the QoS requirements of the users are
limited to the delay of the connection path, then we have t o resort t o an alternative definition
of the solution cost.
Assume tha t each edge e of the network G is asçociated with a weight w(e) and a delay
d ( e ) . Assume also tha t a join request for a specific multicast group, issued by some potential
mem ber v , defines a unique QoS parameter d, as the maximum tolerated delay of a connection
path from s t o v. Notice t h a t the join request in this mode1 does not specify the minimum
bandwidth on t h e connections. A join request for node v is called jeasible if there exists a path
from the source to v in G such tha t the total delay of the path is at most 4.
Let r = ri, r z , . .. , r k be asequence of join requests, and let ALG be an online algorithm tha t
serves this sequence. In particular, for each request ri, ALG has to provide a sourcedestination
connection path Pi. Define by GM, with GM standing for multicast graph, as the union of al1
connection paths P;. Then the cost incurred by ALG is the total weight of edges in MG.
cost(ALG) = w (c) cEEx
Define OPT as the optimal offline dgorithm tha t yields the minimum cost for ail sequences of
join requests. Formdy, the cost of OPT is defined as the total weight of a subgraph G' of G,
with the following property: for each node v; tha t issued request r;, there exists a path from s
to vi in G, of delay at most A,. Let cos t (0PT) denote the cost of the optimal algorithm.
In the Join-only Online Delay-Constrnined Steiner Pmblem, symbolicdy DSTEINER prob-
lem, the objective is t o design online algorithms tha t minimize the ratio cost(A LG)/cost(OPT),
for any sequence of join requests. The definition can be extended to include leave requests as
well.
1.4 An overview of the algorithms
1.4.1 Tree vs. Non-Acyclic Multicast graphs
Before proceeding to the presentation of Our algorithms, it would be instructive t o demonstrate
the effect of the QoS requirements in the design of algorithms for the BD-MCAST problem. The
fact tha t each member is associateci with two discrete requirements, bandwidth and delay, not
onty contributes to the complexity of the problem, but also affects the topology of the multicast
graph. Here, we ilfustrate the impact of the dual requirements on the topology of the multicast
graph and suggest a generic framework for the problem in consideration.
As mentioned in Section 1.2, previous research in multicasting has aimed at multicast graphs
tha t are trees. Several reasons motivate such a design decision, the most signi6cant being the
following: i) Trees exhibit a topological regularity tha t simplifies the implementation of the
algorithms; ü) They support a simple and efficient mechanism for ACN/NACK transmission and
identification; and iii) from the combinatorial point of view, t he optimal solution is guaranteed
to be a tree, provided tha t edges are associateci with a single metric.
When the focus is on satisfying both packet rate (bandwidth) and delay requirements,
however, it is not hard to see tha t the optimal solution is not necessarily a tree. In particular,
the admission success ratio of any algorithm for the BD-MCAST problem, when confineci in
creating tree multicast graphs only, can be arbitrarily smaiier than the corresponding ratio of
t h e optimal algorithm. Such a case is depicted in Fig. 1.1. Any algorithm restricted on tree
multicast graphs should allocate resources solely on one of t h e k paths tha t connect the source
to node v . This implies, by the choice of member requirements, t ha t only one member can be
admitted into the multicast group. In contrast, an algorithm t h a t allows multicast graphs with
cycles wiil reserve al1 k paths from s to v, and wiil thus satisfy the QoS requirements of al1 k
users.
Similarly, the multicast graph t h a t yields the minimum connection cost for a group of users
of a specific size is not necessarily a tree. Fig. 1.2 illustrates a scenario where the cost of
a multicast tree is substantialiy latger than the cost of the optimal non-tree multicast graph.
Notice t hat a ieasible multicast tree must include al1 boldfaced edges, which results in bandwidth
allocation on 1 edges. If the assumption of a tree multicast graph is waived, the algorithm can
exploit the k distinct paths tha t connect s to v. The rnulticast tree, therefore, suffers from
a cost overhead t h a t manifests itself when the values of Bi, B2,. . . , Bk are very close t o each
other, and 1 assumes large values ( the boldfaced path from s t o u consists of a large number of
Figure 1.1: illustration of a scenarïo where the admission success ratio is small. Boldfaced nodes are the potential members of the multicast group. The bandwidth and delay requirements of users appear in parentheses, and they are such tha t Bi < . . . < B k , and dl < d2 . . . < dk.
T h e capacity, and delay characteristics of the edges are also shown in parentheses.
e&=) -
Motivated by the above examples, we propose two algorithms for the BD-MCAST problem.
T h e first algorithm, caiîed TREE, r s t r i c t s the multicast graph to trees, implying tha t the source-
destination connection paths do not form cycles. In the second algorithm, caiied CIRCUIT, the
multicast graph is not confineci to any specific topology; instead, the connection paths are
allowed t o create circuits.
1.4.2 Design Considerations
Since the problem at hand is quite involved, we suggest the following guidelines regarding the
design of efficient BDMCAST algorithms:
Figure 1.2: Illustration of a scenario where the cost incurred by the online algorithm far exceeds the cost of the optimal offline aigorithm. Requests are the same as in Fig 1.1. The boldfaced edges correspond to the 1 edges of the s-v path, and their bandwidth and delay characteristics are ( B k , d l ) -
0 Satisfaction of QoS requirernents and feasibility. Every single destination receives traffic
from the source by means of a connection path of sufficient resources, and acceptable
end-teend delay. No edge in the network is allowed to allocate bandwidth tha t exceeds
its capacity.
0 Optimization goals. Maximizing the admission success ratio is the primary optimiza-
tion criterion. Furthermore, the op t imd algorithm will require the minimum amount of
resources t o achieve the maximum admission of users.
0 Scalability. A major issue in designing multicast algonthms is the need for low time-
cornplexity. This is a requirement which orîginates at constraints on the user-response
time, as weli as to scalabiity reasons.
Reclaiming of resoumes. Subsequently to a member leave from the group, the algorithm
must deallocate any excess bandwidth. This task has to be accomplished in a way tha t
does not violate the s a t i d a b i t y of t h e QoS requirements of the remaining users.
Toplogical Cowtnrints on the Multicast Gmph. As mentioned above, unlike common
multicasting problerns, the optimal solution for the BD-MCAST problem is not always
a tree. Stili, design considerations may favor the tree-based approach- In this case, we
have to guarantee that, throughout the execution, the algorithm does not violate the tree
structure, Le., no connection path introduces circuits.
Flezibility. The BD-MCAST algorithm should be flexible to incorporate additional de-
mands, and thus be suitable for an environment that is not totaily in accordance with
the mode1 we have defined. For instance, the proposed algorithms can operate, with min-
imal modifications, in networks where each edge is associated with a bandwidth variation
parameter, or in networks represented by directed graphs, e-g, in a wireless environment.
1.4.3 High-level Description of the Join Algorithms
Although only the TREE algorithm imposes constraints on the structure of the multicast graph,
the two proposed algonthms share some common design features. Specificdy, they both foi-
low the greedy approach, since the join requests are sewed by providing a connection path of
sufficient delay and alrnost-minimum cost. Recall that each edge of the multicast graph, a t any
point of time, is associated with a certain amount of allocated bandwidth. Hence, the cost of
a new connection path is related to the additional amount of bandwidth t ha t has to be dl*
cated for the bandwidth requirement of the new mernber to be accommodated. Unlike simpler
versions of the multicast problem, Le., with only one metric t o optimize, in this demanding
scenario of dual QoS parantees , finding the best pussible connection path for every individual
request turns out t o be a complicated and challenging problem.
In the work presented in the following chapters, we rely on efficient algorithms for routing
individual, cost-efficient, delay-bounded connections to users joining the rnulticast group. The
problem of identifying such paths is known as the Constmined Shortest Path pmblem. In
general cases, the problem is NP-hard [8], however, for some special cases, exact solutions can
be found in polynomial tirne. As we will see in Section 3.4, the instance of online BD-MCAST
falls into this category of special cases, assuming non-acyclic multicast graphs. Thus, optimal
connections can be com puted efficiently. Moreover, we describe how é-appmzimation algorit hms
for the Constrained Shortest Path problern can be employed, in order t o serve the connection
requests. Three reasons motivate this approach: i) Approximation algorithrns provide efficient
solutions t o the problem, regardless of assumptions on the topology of rnulticast graph, Le.,
maintenance of a multicast tree or a generic multicast graph; ii) They exhibit better worst-case
tirne complexity, without compromising the quality of the solution. In large-scale networks,
this implies improvements in scalability; and üi) the approximation algorithms, as opposed to
the exact ones, can be applied to generaiizations of the BD-MCAST problem, enhancing the
flexibility of the proposecl solutions.
A crucial observation tha t applies t o both TREE and CIRCUIT algorithms concerns the
structure of the connection paths, and the resource allocation policy- Let GM be t h e current
multicast graph, and let non-member node v issue a join request with QoS parameters 6, and 6.
A connection path from the source s t o v can be viewed as the union of two discrete subpaths:
i) a path consisting exclusively of edges that do not belong to GM, and which connects v to
some node u of GM; and ii) a path from u t o s which contains some of the edges of GM. For
the rest of this section, we denote those two paths by Pt and Pz, respectively.
Clearly, an amount of bandwidth equal t o b, has t o be allocated on aii edges of Pl, in order
to meet the bandwidth b, required by v. An efficient resource allocation policy on edges of P2
is not straightforward, Informaliy, the bandwidth required to be ailocated on Pz depends on
how "closelyn P2 follows an dready established connection path. There are two extreme cases:
Case (i): Path Pz is identical to a subpath of an existing connection path, and the
bandwidth already allocated on al1 edges of that subpath is at feast 6,- In th i s case, no
additional resources on Pz are required to serve user u.
Case (ii): Path Pz does not share edges with a current connection path, which implies
that additional bandwidth q u a i to b, k required t o be allocated along Pz.
When the multicast graph is topologically confined to trees, Case (ii) never arises, except
if P2 = 0. This is due to the resources already allocated on ali edges of the tree, and to the
fact that P2 is a tree path from an intermediate node to the source. On the other side, Case
(i) describes an instance in which sufficient bandwidth is available on the edges of the tree, and
n o additional resources have to be allocated on that portion of the connection path.
In general cases, it is expected that the connection path for the new member u wili exploit
the currently allocated resources only partially. More precisely, the algorithm will request
some additional resource allocation of amount between O and 6, on edges of Pz, in order t o
accommodate the user's required bandwidth 6,. FoUowing the definition of [6], we refer to the
cost incurred by this additional allocation as overrouting cost.
Similarly, when the algorithm does not restrict the multicast graph t o acyclic graphs, the
general case d l involve Pz containing some, but not necessarily ail the edges of an already
established connection path. The new participant can exploit aiiocated resources only on a
subpath of P2 from the source to a n intermediate node, provided tha t this subpath shares
edges with a previously established connection path. iiere, the overrouting cost refers to the
additional bandwidth allocated on tha t common, shared subpath of Pz.
We have already explained the need for low time-complexity multicast algorithms. The
inherent complexity of BD-MCAST imposes a significant stretch on the design of fast algorithms.
Both TREE and CIRCU~T algorithms run in low-order polynornial time on the number of nodes
and edges; in k t , the complexity of serving a joia request is proven t o be asymptotically equd
to the compIexity of routing a single-source, single-destination connection of minimum cost and
bounded delay, when eapproxirnations are considered. This is accomplished by mapping the
topoIogical constraints as well as specific parameters, such as t h e overrouting cost for specific
paths, to an auziliary graph. An eapproximation algorithm fo r the Constrained Shortest Path
problem proposed by Hassin [IO] is then run over the a u x i t i w graph, and the path deduced
is re-mapped t o an actual connection path in the initial graph. Detaiis of the above procedure
will be presented in Chapter 2 and Chapter 3.
1.4.4 High-level Description of the Leave Algorithms
We conclude t h e overview of Our algorithms by describing how leave requests are served. When
a current member of the group, Say node v , issues a leave request, three actions a re performed:
i) t h e membership of u is updated, t o reflect the fact that u is no longer a member of the group;
ii) exces bandwidth, if any, is deallocated; and üi) çome structural changes to the multicast
graph may occur.
Membership update is a straightforward task in out model, since a user u deletes the mul-
ticast group i t leaves from the List of groups t o which i t is subscribed. On the other hand,
bandwidth deailocation requires knowledge of the contribution of individual connection paths
to the total bandwidth allocated on a specific edge- Returning excess bandwidth t o the pool
of available resources has t o be accomplished in a way that guarantees the satisfaction of the
QoS requirements of the remaining users. Hence, an ideal resource deallocation procedure WU
identify the maximum amount of bandwidth that can be dedocated, subsequently t o the Ieave,
so that the bandwidth tequirements of all other destinations are still met.
F indy , a node's leave may trigger some simple reconstruction of the multicast graph. In
t he case of Tree-based algorithms, the reconstruction involves a simple "pruning" of the ttee,
if the leaving node is a leaf in the current multicast tree. Similar structural updates occur
in the CIRCUIT algorithm. Specifically, the connedion path of a leaving node is partially
pruned, Le., edges of the connection path that are not used by other connections are deleted
from the multicast graph. Notice, however, that in Our mode1 these are the only cases where
reconstruction is applied, It turns out that pruning does not affect the sequence of packets in
environments where the order of the delivered packets is crucial, e.g. in ATM networks or in
more general cases of circuit-switching networks. Extensions to other type of environments, Le-,
IP multicasting, are aIso possible and require only minor modifications.
1.5 Contributions
The remaining work addresses the problem of designing efficient algorithms fo r the online BD-
MCAST problem. Motivated by the examples of Subsection 1.4.1, we study both cases where
the multicast graph is confined to the tree structure, and the case where the multicast graph is
not topologicaliy restricted. To the best of our knowledge, it is the first time that the problem
is investigated in the latter perspective. As already mentioned, we cal1 the corresponding set
of algorithms TREE and CIRCUIT, respectively.
The algorithms deal with both join and leave versions of the problem, in the online setting.
We do not assume any a priori knowledge on the sequence of requestç issueci by the users. In
the event of a join request, the algorithm computes a feasible connection path, provided t h a t
such a path exists. If no feasible connection is can be found, the user is denied admission to
the multicast group. Our apptoach satisfies t h e following properties, in accordance with t h e
guidelines suggested in Su bsection 1.4.2:
1 . Feasibility and QoS: Both TREE and CIRCUIT algorithms uphold the feasibility of t h e
multicast graph. Thus, the bandwidth d o c a t i o n abides by the edge-capacity constraint.
In addition, we prove tha t every destination admitted in the group receives the multicast
information through a connection path tha t guarantees the satisfaction of both bandwidth
and delay guarantees imposed by the user.
2. Eficiency: We prove strong results on the cost incurred by the connection paths in o u r
algorithms. In particular, we propose two join algorithms for both multicast trees and
generic multicast graphs. The first algorithm is optimal, and identifies a connection of
minimum cost, in terms of the additional bandwidth tha t has t o be allocated. The second
algorithm is an r-approximation, nameiy, for any constant r, the algorithm computes
connection paths of cost at most (1+c) times the optimal cost. We advocate the superiority
of the last algorithm, when scalability and flexibility are issues of crucial importance.
3. Low complezity. Unlike most related work, the running tirne of d l join and leave algo-
rithms ïs a low-order polynomial on the number of nodes in the network.
4 . Eficient reclaiming of msources: The algonthms for handling leave requests, apart from
effecting the disconnection of the leaving user from the rnulticast group, perform also
deallocation of the excess bandwidth. We show how t o reclaim the maximum amount of
resources, without violating the QoS for the remaining participants.
5 . Observation of the t o p o l d ~ l constmints: T h e TREE algorithm is designed in a way
tha t no circuits appear, throughout its execution, for any sequence of requests. No such
restriction is imposed on CIRCUIT.
6 . Ezfension to the DSTEINER problem: The TREE dgorithm can be applied, with some
minor modifications, to the online, tree-constrained DSTEINER problem. We argue that
the algorithm exhibits the same performance guarantees as TREE. In contrast, we compare
our solutions to the D~TEI- heuristic proposed in [ll]. We prove that the latter violates
feasibility, by providing a counterexample scenario.
7 . Flezibility: T h e BD-MCAST algorithms presented in this work can easiiy be extended to
incorporate additional requirements, or restrictions. For instance, we show how they can
be appiied in networks tha t are modeled by directed graphs, i.e., in mobiie networks.
Moreover, the approximation join algorithms can operate in networks where a bandwidth
variation parameter is defined for every individual link.
We conclude the Introduction by outIining the structure of this work.
Chapter 2 is focused on the presentation of the TREE algorithm. First, we address a
degenerate case of t he BD-MCAST problem, namely the problem of efficient routing with delay
guarantees, also known as the Constrained Shortest Path problem. We present and analyze an
approximation algorithm for computing feasible connection paths, in the event of a join request.
We also describe an algorithm for serving leave requests, and reclaiming resources.
Chapter 3 is motivated by the observation tha t multicast trees do not guarantee satisfactory
admission success ratio, due to t h e topological constraint. We waive this requirement, and
introduce a framework that aiiows us to apply previous work on the Constraint Shortest Path
problern, in the context of the BD-MCAST problem. The structure of thii Chapter goes dong
similar lines to that of Chapter 2: We derive both optimal and approximation algorithms for
identifying feasible connection paths when a join request is risen. We provide formd proofs
of both the correctness and performance of the latter algorithms. Last, we show how to serve
leave requests and efficiently reclaim cesources made a d a b l e due to the d'isconnection.
Finally, Chapter 4 investigates extensions and outlines some of the antiüpated future work
on open issues of the BD-MCAST problem.
Chapter 2
Tree- based Algorit hms
In t h i s Chapter, we present our first approach t o the oniine BD-MCAST problem. We propose
a set of algorithms for serving join and leave requests, under the constraint that the multicast
graph maintains the tree structure. Namely, the union of al1 connection paths defines a tree
that spans the current set of destinations. Al1 actions associated with the processing of join
and leave requests abide by the above requirement. This implies that no circuits are introduced
during the update of the multicast graph,
We begin Our discussion by addressing, in Section 2.1, the related, though less complicated
problem of efficient routing with delay requirements. We review and extend some previous work,
which, later, we apply t o the design of algorithms for the BD-MCAST problem. Section 2.2 k
focused on the presentation and analysis of tree-based BD-MCAST algorit hms. We propose an
algorithm for serving join requests which identifies feasible connection paths of near-optimal
cost. We also demonstrate an extension of the approximation algorithm, for s e ~ n g join requests
in the context of the online, tree-restricted DSTEINER problem. We prove that a previous
approach [Il] t o the latter problem, unlike Our solutions, violates feasibiiity. We conclude by
addressing the issue of leave requests, and we suggest an efficient procedure for reclairning
CHAPTER 2. TREE-BASED ALCORITHMS
resources in t h e event of disconnections from the current tree.
2.1 Constrained Path Optïmïzation in QoS Routing
A departing point in t h e investigation of BD-MCAST algorithms is the issue of QoS routing
with delay guarantees, in networks. In this section we formulate the problem, and extend some
of the existing work. The algorithms we discuss are providing a powerful tool for identifying
feasibIe, cost-efficient connections for instances of the BD-MCAST probtem.
2.1.1 Problem Definition
Unicast routing wit h QoS guarantees can be viewed as a degenerate case of multicasting: here,
information originated from a source s is delivered to a unique destination d, via a connection
path p. Suppose tha t the network is represented by an undirected graph G = (V, E), with
IV] = n, IEl = m. Each edge e E E is associated with delay dfe) and weight w(e), which
corresponds to the administration cost of e. Both weight and delay assume non-negative, integer
values. The Constmined Shortest Path pmblem, dso known as Shortest Weight-Constmined
Path problem [8] consists of identifying a path from s to d of minimum total weight, while
observing t h e end-to-end delay constraint, Le., the total delay of the connection path can not
exceed a predetermined bound D. For the sake of brevity, we refer t o the problem as the CSP
problem, in what follows.
The CSP problem has attracted significant interest due t o its applications in QoS routing.
The problem was introduced by Joksh [14], and research on efficient algorithms culminated
in Hassin's [IO] and Phillips' [24] papers. We review some of the exact and approximation
algorithms proposeci in the literature, and investigate extensions of importance in the design of
our multicast algorithms.
2.1.2 Exact Solutions For General Weight Assignment
Since the problem in consideration is NP-hard [83, we can not hope for polynomial-time exact
solutions. However, the pro blem admits pseudopolynomial solutions, namely algorit hms wit h
running time po1ynornia.l on both input size and edge metrics [14] [18] [IO].
The exact algorithm is based on dynamic programming [IO], as describecl below. Let
1 , 2 , , . . .n be a numbering of nodes in G, such that the node with id 1 is t he source, and
node n is the destination. We denote by WC, dijl the deiay and weights of edge e = (i, j ) , with
i # j, respectively, and by Off the weight of the optimal sdution, i.e, the sum of weights on
edges of the optimal path. Let also gj(c) be the delay of a shortest 1-j path, with respect to
end-to-end delay bound D, whose total weight is at rnost c.
Algorit hm OPTIMALCSP
Input: Bound D on end-to-end delay. Output: Cost of the optimal 1 - n path, oo if no path of delay < D exists.
Notice tha t OPT is not known beforehand, but it satisfies OPT = min{clg,(c) D ) .
Therefore, gj(c) is cornputed for c = 1 and j = 2, . . ., n, subsequently for c- 2 and j = 2,. . . , n
and so on, until the first value of c for which g,(c) 5 D is reached. A t tha t point, OPT is
assigned the value of c. The cornplexity of OPTI~MALCSP is O (m - O PT), which is considered
prohibitive in cases where the edges of the graph assume large weight values, and thus OPT is
expected t o be high as weli.
2-1-3 Exact Solutions When Edge Weights Are The Same
The algorithm of t h e previous section can be extended to provide exact solutions, within poly-
nomial time, in the restricted case where ail edge weights are t h e same. Let W be t h e uniform
weight of ali edges. Define gj(c) as the delay of a shortest-delay 1-j path of c hops. Here, c
corresponds t o the number of edges in the path, and not t o the total weight, as in t h e general
case, i.e., c = 1,2, . . . , n - 1. Hence, the dynamic programming procedure describeci in the
previous Subsection can be appiied, with OPT denoting the number of hops of the optimal
path, which is at most n - 1. The minimum weight sought is then qua1 t o W -Off, while the
complexity of the algorithm is O(m - O f f ) = O(mn).
Algorit hm UNIFORMCSP
Input: Bound D on end-teend delay. Output: Number of h o p h of the optimal 1-n path. The cost sought is then
qua1 t o h W, where W is t he uniform edge weight .
2.1.4 Approximation Algorithms
Building on the exact algorithm of Subsection 2.1.2, Hassin proposed in [IO] two efficient al-
gorithms for the CSP problern with arbitrary weights. The first algorithm is pseudopolyne
mial, i.e., i ts worst-case running time is a function of the edge weights. It has complexity
O(1og log U ( m ( n / ~ ) + log log U)), where U is an upper bound on the weight of the optimal
path. For instance, a trivial value for U is the sum of the n - 1 largest edge weights, o r the
total weight of the shortest s-d path. The polynomial complexity of the algorithm is achieved
by employing rounding and scaling techniques [28] on the edge weights. In the same paper [IO],
Hassin also p r o p d a Fully Polynomial-Time Aemation Scheme (FPTAS) for the prob-
lem in question, namely an eapproximation algorithm whose complexity depends only on the
number of input variables and 1/c. The running time of the aigorithm is 0(m(n2/e) log(n/c)).
Another FPTAS for the CSP prob1em is due to Phillips [24]. Her algorithm employs
Dijkstra-based techniques developped in the context of the Network Inhibition problem, also de-
fined and ivestigated in [24]. T h e running time of Phillips' algorithm is 0(rnr(+(n2/~) log(n/c)),
which outperforms Hassin's FPTAS, at the expense of a substantiaily more invoived implemen-
tation. However, i t is superior t o Hassin's pseudopolynomial algorithm only when there exïsts
a constant c such tha t m > cn log(n/~) / log log U.
It should be stressecl t hat the abovementioned FPTAS's provide satisfactory approxim*
tion of the optimai solution. Specificaliy, for arbitrarily small constant c, the output path
has weight at most (1 + c) times the optimal weight. In addition, the running time of the
algorithms is bounded by a smd-degree polynomial on m, n. Indeed, we can not opt for a
better approximation for a NP-hard problem than a FPTAS. The second observation regards
Hassin's pseudopolynomial algorithm: The algorithm exhibits a dependency on edge-weights
which, from the theoretical point of view, is not beneficial. However, its complexity deterio-
rates, in practice, only for substantially large edge-weights, i-e, weights for which the expression
log log U dominates the time complexity. Otherwise, i t is expected tha t this algorithm, although
pseudopolynomial, performs better than Hassin's FPTAS.
Notice tha t al1 CSP algorithms presented so far d o not rely on any assumption on the struc-
ture of the input graph. A natural question one can pose is whether their running time can
be improved, assuming topological knowIedge of the graph, without compromising the perfor-
mance guarantees. Recall t h a t scdability is becoming an issue of increasing importance, as
networks grow in size: users impose strict constraints on the system response time tha t may
be hard t o be met by poorly scaling algorithrns. Recently, Orda [23] suggested improvements
to the time complexity of eapproximation algorithms for the CSP problern, by exploiting the
hierarchical, aggregated topology of modern broadband networks. In particular, he proposeci
a new algorithm, assuming the existence of an underlying hierarchical process t h a t aggregates
the network state information. Such a process is encountered, for example, in the PNNI Rec-
ommendation [36] [35L The algorithm maintains the complexity of standard, unconstrained
shortest-pat h algortihms, such as the widely-known Dijkstra's algorit hm.
2.1.5 Extension to Multigraphs
The need for scalable CSP algorithms manifests to even a larger extent when the network is
represented by a muftigmph, Le., a graph in which two nodes can be connected by means of
more than one undirecteci edges. These edges may be assigned different weight and delay values.
Although a multigraph is not usualiy considered as a mode1 of the physical network topology,
it can be used t o represent a virtual network. For instance! the CIRCUIT algorithm which is
described in Chapter 3 is based on application of a CSP algorithm over an auxiliaty, search
multigraph. Informally, the search multigraph is defined in a way tha t captures information
on existing connection paths, and it directs the search for a new connection path when a join
request is issued.
There exists a standard procedure for extending any CSP algorithm t o multigraphs. Let we,
dij be the weight and the delay of a n edge e = (vi,uj), vi7vj E V. Denote by n, m, the number
of nodes and edges in a multigraph G, respectively. We substitute every edge e = (vil vj) in G
by a path v;, vij, vj7 where vij is a new node introduced in the graph. The new edges (viy vij),
and (vjy u,) have both weight and delay q u a 1 t o ce/2 and dJ2, respectively. The construction
(a) Edge fayout in a multigraph. Nodes v i @) Substitution of edges by patbs of length and y are connecteci by thhe edgcs, er,el 2- and es.
Figure 2.1: Transformation of a multigraph t o a simple graph. The CSP algorithm can be applied, when al1 multi-edges are replaceci by simple paths, as depicted in (b).
is illustrateci in Fig 2.1.
Clearly, this transformation results in a simple graph that has nm nodes and 2m edges. It
is also easy to argue that the application of the CSP algorithm on the modified graph wiU yield
the path sought. Therefore, if T(n, m) is the complexity of a CSP algorithm with simple graphs
as input, then the complexity of the same algorithm when applied to rnultigraphs is bounded
above by T (nm, 2m).
The procedure descri bed above enables any CSP algorti hm, designed for simple grap hs,
to operate in multigraphs as weIl. On the other hand, individual algorithms may incorporate
the application in multigraphs in their design. In this case, only a small, or no overhead
in the asyptmotic time-complexity is observeci. Examples of t his class of algorit hms include
Hassin's pseudopolynornial algrotihm, which can be applied t o multigraphs without tequiring
any additional changes at all.
2.2 Zkee-Based Algorit hms for the BD-MCAST problem
2.2.1 Motivation
As we showed in Subsection 1.4-1, the optimal multicast graph for the BD-MCAST problem,
in terms of admission success ratio and cost, is not necessarily a tree. Nevertheless, several
design considerations advocate research on tree-based algorithms as solutions to the BD-MCAST
problern. We briefly review some of the most significant reasons tha t motivate Our work on
multicast trees for the problem at hand. Later, in Chapter 3, we extend the algorithms t o the
general case of multicast graphs with cycles.
First, previous research in multicasting is almost exclusively focused on the construction of
efficient multicast trees. This is largely attributed to the tree structure of the optimal solution
for a simpler version of the rnulticast issue, including the Steiner Tree problem, as discussed in
Section 1.1. Thus, any cornparison of our algorithms with existing work presupposes tha t tree
multicasting is investigated.
Not surprisingly, the vast majority of protocols designecl to operate over the Internet rely on
the construction of multicast trees. Examples inciude the Distance-Vector Multicast Routing
Protocol (DVMRP) [34], Multicast extensions t o Open Shortest-Path First (MOSPF) [22],
Protocol-Independent Multicast (PIM) [5] and Core-Based Trees (CBTs) [2]. In addition, a t
present, the multicast overlay for the internet, known as MBone, consists of routers with only
tree-based mulicast capabiiities. In fact, routers a re not currently able t o distinguish between
different members of the same multicast group.
Moreover, trees exhibit a topological regularïty tha t facilitates the implementation of opera-
tions crucial to the functionality of real networks. For instance, a simple depth-first search in a
tree answers the issue of assigning a unique id (label) to the nodes of the network; the problem
is known as the addressing or naming problem. Another wd-known example is Leader Election,
where all nodes have t o agree unanimousfy on selecting a unique node as the "leader" [l]. Fur-
thermore, issues such as the diitributed irnplementation of protocols, as weil as fault-tolerance
can be simplifieci assuming the existence of a tree-structureci underlying network.
Finally, it should be noted that the routing information stored in multicast routers is sig-
nificantly reduced when the multicast graph is a tree. In addition, there elast efficient, e s y -
to-implement compact routing schemes for tree graphs [333. This implies that the memory
requirements of multicast routers can be reduced, a feature which is certainly attractive in the
design of protocols for Wide Area Networks (WANs).
2.2.2 Definition of Parameters
Before proceeding to the description of the TREE algonthm, we first define the parameters
that appear in the discussion of Our algorithms. We also provide explanations about their
interpretation in the context of the problem in study. For simplicity of notation, we assume
that al1 join and leave requests pertain to the same multicast group.
At any given point of time, the TREE algorithm maintains a multicast graph that corre-
sponds t o a tree Tl denoted as the multicast tme. The tree is rooted a t the source s and spans
al1 current members of the multicast group, Le., users that were admitted to the multicast
group in the past, and have not requested yet to l ave the group. We denote the set of nodes,
and edges of T by V ( T ) and E(T) , respectively. Let also parent(v) denote the parent of a node
v E V(T) and chiLdren(v) the list of the children of v in the tree. Apparently, parent(s) = 0
and children(1) = 0, in case L is a leaf of T . In order to provide source-destination connectivity
T may include nodes that are not members of the multicast group. We refer to such nodes as
intermediate nodes.
The tree T defines a unique path from the source s to a node v V(T) that consists
exclusively of tree edges. Let &(s, v) denote the path from s t o v such tha t for any edge
e E PT(sl v ) i t is e E E(T). We di this path the tree path /m s to v. The delay and capacity
of this path is equal t o ~ e E P r ( s , u ) d(e) , and mineEpT(i,v) c(e), respectively. For convenience, we
use the notation dT(v) and cT(v) to denote the delay, and capacity of the tree path from the
source s to node o.
Each edge e in network graph G is associateci with a variable allocated(e), which corresponds
to the bandwidth tha t is currently ailocated on e. By definition, banwidth is ailocated only
on edges of the rnulticast tree T, therefore crllocated(e) # O if and only if e E E(T) . Since the
bandwidth allocated on edge e can not exceed the capacity c(e) of e, we must guarantee the
requirement allocated(e) 5 c(e).
Let e be an edge of the multicast tree T, and b be a positive integer with b 5 c(e). Define
the ovemuting cost of e under request b as the additional amount of bandwidth that has to be
allocated on e, so tha t the total amount of bandwidth on e equals b. Formally,
O if allocated(e) > 6 overcost (el b) =
b - allocated(e) otherwise
Notice that the overrouting cost for an edge e is defined for a request b that does not exceed
the capacity of the edge, since in the latter case the request cannot be satisfied. The definition
can be extended to include this case if we define overcost(e, b) as infinity, whenever b > c(e).
The notion of the overrouting cost can be extended, to indude not only individual tree
edges but tree paths as well. Suppose u is a tree node, and let b be a positive integer such tha t
b 5 cT(u). The Iast inequality suggests that al1 edges on the tree-path from s t o u have capacity
at least b. Define the ovemuting cost of u under request b, denoted by overcost(v, b), as the
sum of the overrouting cost of aii edges e under request b, where e is a n edge of the tree-path
from s t o v. Namely,
if the assumption that b is at m a t equal to the capacity of each edge on the tree-path
from s t o u does not hold, the overrouting cost for v is defined to be equal to infinity. Such
a definition is consistent with the extension of overrouting cost t o edges for which the request
exceeds their capacity.
Suppose tha t a join request join(u, bu, &) is issued by node u, and the current multicast
tree is T. Recd tha t bu and d, are the bandwidth and delay guarantees requested by user
u. The request is served by providing a connection path frorn s to u, denoted by P,, which
satisfies the QoS guarantees of u, under the assumption that such a feasible path exists. The
connection path comprises two distinct consecutive paths:
1. The joining path, denoted by Pj(u, v ) , where u E T is a node of the multicast tree. This
path consists exclusively of edges that do not belong t o the edges E(T) of the tree T.
Indeed, if u is not a tree node, then any online dgorithrn t h a t serves the join request should
provide a non-empty joining path. The joining path is empty when u is a n intermediate
node of T, and thus u does not require a connection to t h e tree.
2. The tree-path from source s t o node u, namely the path PT(s, v ) , where v is the end node
of the joining path Pj(u, v ) . This path consists exclusively of tree edges.
The above characterization implies tha t the joining path effectively identifies the connection
path, since the tree path from the source to a particular tree node is unique. In addition, the
bandwidth assignment associated with serving a join request is simplified. Specifically, an
amount of bandwidth q u a 1 to bu is allocated on all edges of t h e joining path; this allocation
reflects the fact t ha t no other pteviously established connection paths share edges with the
joining path. On the other hand, each edge e on the tree path requires additional bandwidth
allocation equal t o the overrouting cost overcost(e, b,), since resources on the tree edges are
shared among several connection paths.
The connection path Pu = Pj(u, u) U fi($, v ) , which serves the join request of u, is cailed
feasible if and only if the following two inequalities hold:
The above set of inequalities characterizes the connection paths from s to v which support the
QoS requested by user u, in terms of capacity and end-to-end delay. Recall t h a t c(P) and d(P)
denote the capacity and delay of a path P.
The cost of a feasible connection path Pu refers to the additional bandwidth allocated on
the edges of the network in order to establish Pu, and therefore is defined as
cost(Pu) = (number of edges in Pj(u, v ) ) bu + overcost(s, v)
The first term in Eq. (2.5) corresponds to the amount of bandwidth assigneci to edges of the
joining path, while the second term corresponds t o the overrouting cost of the tree-path from
the source to node v.
Table 2.1 summarizes the notation used throughout this chapter. Some additional parame-
ters and d a t a structures wiil be defined in forthcoming sections, as needed.
1 Svmbol 1 . . I I Y
d(e),c(e) ' Delay and capacity of edge e E E, respectively. T Current Multicast tree. s Source of the multicast traffic and root of 2'.
. r I - u 1 Next node to issue a ioin or leave reauest. 1 w') EtTl
Set of nodes of T. Set of edges of 2".
k tree ( v )
Number of current participants in the rnulticast group. A flag which is set when u is a tree node.
bu, d, p'
Bandwidth and deiay requirements of node u (in case of join request). Connection path from u to s, in case u requests t o join the group.
PT (s, v) f i(% 0 )
d~ ( 4 . C T ( V )
allocated(e)
Tree path h m the source to node v E V(T). Joining path from node u to some node u E V(T). Delay of the path PT(s, u), for node u E V(T). Capacity of the path &(s, u) , for node v E V(T). Current amount of bandwidth allocated on e. .
overcost (el b) ouercost(v, 6) cost ( Pu)
- - - - - -
Table 2.1: Explanation of symbols and parameters used throughout the Chapter.
Overrouting cost of edge e under request b. Overrouting cost of node v E V(T) under request 6. Total cost of the connection path for a join request issued by u. . - -
G'(Vr, E') LRA[e] R
We illustrate the above definitions by means of a specific example. Figure 2.2 depicts a network
-
Auxiliary search graph, used by the join algorithm to find the connection path. T h e Local Requirements Array for edge e. T h e Global Requirements Array.
of LO nodes, each one bearing a unique id. Boldfaced edges and nodes represent edges and
nodes of the current rnulticast tree T, respectively. The node with id 1 is the source of the tree.
Suppose also that T has been constructed as a result of a sequence of join requests, described
in Table 2.2. The latter table a h provides the joining paths, computed during the procesçing
of each join request.
The tree is constructed in steps, with new edges and nodes being added after a successfully
served join request. Initiaiiy, the tree consists only of the source (node 1). After the first
request, the tree consists of nodes {l, 2,4) and edges ((1,2), (2,4)). The second request adds
Table 2.2: Sequence of join requests for the network G of Fig. 2.2.
node 5 and edge (2,s) to the rnulticast tree. The expansion of the multicast tree proceeds in
Joining path (4.2.1)
New participant u 4
a similar fashion, until we reach the instance depicted in the exampie. Following our notation,
bu 1 d, 10 1 14
we have V ( T ) = (1 ,2 ,3 ,4 ,5 ,6 ) and E (T) = { ( 1 , 2 ) , (1 ,3 ) , ( 2 , 4 ) , (2,5), (3,6)).
Figure 2.2: Example of a network G and the ernbedded current multicast tree T . Boldiaceci edges and nodes are part of T.
Table 2.3 demonstrates the values of the parameter allocated(e), for every edge e E E(T)
of the multicast tree. Notice that the values depend on the sequence of requests. In addition,
the table provides the values of the parameter overcost(e, b), for each edge e E E(T) , and for a
value of request b equal to 20. The purpose of this computation will become evident in a while,
when a new node u issues a request with 6, = b = 20.
1 Tree Edge e 1 allocated(e) 1 ouercost(e, 6) , with b = 20 ]
Table 2.3: Values of allocated(e) and overcost(e, 20), for al1 e E E(T) , for the multicast tree of Fig 2.2-
In addition, according to the definition of the overrouting cost, for a node u E V ( T ) and
request b = 20, as suggested by %. (2,2), and given the values of Table 2.3, we have the
ouercost (2,20) = 2
mercost(3,20) = 3
mercost(4,20) = 12
ouercost (5,20) = 4
overcost(6,20) = 11
Suppose now that a new join request is issued by node 10, with bandwidth and delay require-
ments equal to 20 and 21, respectively. T h e online algorithm wiil serve the request by providing
a feasible connection path. Let u s consider some possible connections:
O Node I O connects to T via the joining path (10,9,4). The tree path is path (1,2,4). The
path is not feasible, however, since the capacity of edge (2,4) on the tree pat h is 15 < 20.
Thus, node 10 can not join the multicast group by connecting to node 4.
0 Node 10 connects t o T via the joining path (10,9,5). The total delay of the connection
path is 20, and the delay requirement is satisfied. The tree path is (1,2,5), an the total
CHAPTER 2- TREE-BASED ALGORITHMS
cost of the connection k
number of edges in (10,9,5) 20 + overcost(5,20) = 2 - 20 -f- 4 = 44
Node 10 cannot connect to node 6 by means of the joining pa th tha t consists of the single
edge (6, IO), because the corresponding connection path, namely path (1,3,6, IO), has
delay 22 > 21. However, i t may be connected via the joining path (10,9,6). In the latter
case, the tree path is (1,3,6) and the total cost incurred by the connection path is
number of edges in (10,9,6) - 20 + wercost(6,20) = 2 20 t 11 = 51
There are of course other possible connection paths that can be identified in the example
given. The objective of Our algorithms, as described at the sequel, is t o compute feasible paths
of optimal (or near-optimal) cost-
2.3 Tkee-based BD-MCAST Algorithms
2.3.1 Overview of the TREEJOIN Algorithm
In this section we present a high-level description of the TREEJoIN algorithm, which serves join
requests with QoS guarantees. Suppose that T is the current multicast tree and u has issued
the last join request. The proposed algorithm follows the sc+called greedy approach and consists
of two steps, described below.
1 . Computation of a connection p t h of smdl cost: In this s tep the algorithm finds a
feasible connection path Pu of small cost, where the c w t of the connection path is defined
by Eq. (2.5). If no feasible path is found, then the user is refused acceptance to the
CHAPTER 2. TREE-BASED ALGORITHMS
multicast group. Procedure FINDPATH performs this task, as describeci below.
2. Perform upùates acmss edges and nodes of Pu: After path Pu is identified, Pu is
traversed from s to u. On each edge, and node of Pu the required updates are performed.
The updates include allocation of additiond bandwidth, and inclusion of edges of the
joining path in the multicast tree, to ensure tha t a feasible connection path from s t o u
is estabüshed. Procedure UPDATEPATW is responsible for performing such updates.
Input: The current multicast tree T and a join request rj = join(u, bu, &). Output: An updated multicast tree Tt, if u is admitted in the group.
Otherwise, a notification of rejection.
1 If Pu = FINDPATH(T, u)=NIL then 2 REJECT the request
else 3 UPDATEPATH(P,).
The crux in the design of efficient join algorithms Lies on the computation of feasible connec-
tion paths of sufficiently smaU cost. In unconstrained versions of the multicast issue, minimum
cost connections are easily identified by applying some shortest path algorithrn, e-g., Dijkstra's
algorithm. In BD-MCAST, such a task is cornplicated, due to the restrictions irnposed by the
delay requirement. To overcome this obstacle, we resort to approximation CSP algorithms,
as discussed in Subsection 2.1.4. Specifically, the FINDPATH algorithm, presented in Subsec-
tion 2.3.2, provides a feasible connection path of cost within a factor of at most (1 +c) the cost
of the optimal feasible connection path. The algorithm exhibits a low-degree polynomial time
complexity, and can be applied t o provide solutions t o the DSTEINER problem: this extension
is investigated in Subsection 2.3.5.
To arrive to the identification of a connection path, we employ a technique which consists
of creating an awiIiary, or seurch gmph G', based on the current multicast tree, and the
values of some of its associated structures and variables; algorit hm FI~PATHAUX performs
the construction of Gr. The problem is then reduced to a CSP instance, on this search graph,
with end nodes the source and the new participant. The selected path is uniquely mapped to
a connection path in G tha t satisfies the desired properties. We elaborate on the details of this
technique in what foliows.
2.3.2 Computing Near-Optimal Connection Paths
The algorithm FINDPATH cornputes optimal feasible connection paths and has two input pa-
rameters: the current multicast tree T, and the join request issued by a user u in the net-
work. It returns the connection path Pu sought, expressecl as a pair of joining and tree paths
[P,(u, v ) , PT(s, v ) ] , for some node v E V(T). As mentioned already, this output format facili-
tates the update procedure.
If u happens t o be a node of T, Le., u is an intermediate node in T, and if the tree-path
PT(s, u) haç sufficient capacity and smaii delay to accommodate the request, then the node can
be trivially admitted to the multicast group. In such a case, the connection path Pu is identical
to the tree path, or, equivalently, the joining-path component of the connection is empty. These
actions are performed in steps 2-4 of the FINDPATH algorithm. The nontrivial case arises when
u is not an intermediate tree node. Then, any s-u connection path will include a non-empty
joining-path component. Let Pu be the optimal connection path serving the request of user u, -b-
assuming for the moment that such a connection exists- Then, there exists u E V(T) such that
The purpose of the auxiliary graph is to direct the search for a connection path, aiming
Algorit hm FINDPATH 1 Input: The c u r e n t multicast tree T, and a join request 9 = join(u, bu, 6). Output: A connection path Pu. Returns NIL if no feasible path is found.
1 For al1 v E T do compute mercost(v, bu) and ~ ( v )
2 If u E V(T) t hen
3 If cT(u) > bu and dT(u) < d, then return [0, &(s, u)]
else 4 return NIL l
5 G' = F~PATHAux(T, U, bu, 6) 6 P' (u, S) = APPROXCSP(U, S, du, E )
% APPROXCSP runs on G'
7 If P ( u , s) = 0 then return NIL else
8 Starting from u, traverse P ( u , s) until a node u' E T is reached. Let P(u, v') be the path consisting of the traverseci edges.
9 Map P'(u, v*) into a path P(u, v') in G
10 Return [P(u, v') , PT (s, u')]
at three goals: feasibility, cost-efficiency, and observation of the topological constraint, Le.,
maintenance of a tree multicast network. Hence, edges of G that can not support the desired
QoS, in terms of capacity and delay, are not included in G'. Notice that edges with both adjacent
nodes being tree nodes are excluded from the search graph. This is due to the constraint irnposed
on the topology of the multicast graph: If such an edge appeared in a connection path, then the
tequirement of maintaining a multicast tree would be violated. Observe also tha t tree edges do
not appear in G'; instead, every node w E V(T) , is connected t o the source, in C, by means of
an edge of the form el = (s, w ) . The inclusion of the latter edge is effected only if cT(w) 2 bu
and dT(w) 5 du (steps 9-11 of FINDPATHAUX).
The construction of G' implies that edges of the joining path P,(u, u) uniquely define a path
in G' t hat traverses the same sequence of nodes as Pj (u, v ) ; denote by P ( u , v ) such a path in
CHAPTER 2. TREE-BASED ALCORITHMS 48
G'. Equivalently, path P(u, v ) can be uniquely mapped to the joining path Pj(u, v). Such a
mapping is performed in step 9 of FINDPATH.
The choice of the weight and delay values, for the edges of G', appears t o be, a t first
sight, counterintuitive. For instance, one would expect that edges of the form e' = (s, w ) , with
w E V ( T ) , t o be associated with weight, and delay values equal t o overcost(w, A) and dT(w),
respectively, in accordance with the cost and delay contribution of the tree path &(s, w).
hstead, those cost and delay values are shared between the fs, w ) edge and adjacent to node w
edges with an end node that does not belong t o T, as steps 6-8 and steps 9-11 of FINDPATHAUX
illustrate, The purpose of this construction is to guarantee a connection path that does not
introduce circuits, hence presenring the tree topology of the multicast graph.
Input: The current multicast tree T, user u, QoS requirements bu,&. Output: An aud i a ry graph Gt = (Vt , E') used by FINDPATH.
O Initially V t = V and Er = 0 For all edges e = (vi, vj) , for which 60th vi and vj do not belong t o T, do
I f c(e) 2 bu and d(e) 5 d, then define et = (v;, v j) with w(e') = bu and d(et) = d(e)
Et = EF u {e t )
For al1 edges e = (v;, ~ j ) , for which v; E T and vj 4 T d o
If c(e) 2 bu and d(e) < d, and cT(v;) 2 bu and dT(vi) 5 du then
define et = (v;, v j ) , wit h w(et) = bu + overcost(ui, b,)/2,
and d(e') = d(e) + dT(v;)/2
E' = E'u {e t )
For al1 nodes v E V(T) , with ~ ( v ) 2 bu and dT(o) 5 du d o
define et = (s, v) , with w(et) = ottercost(v, b,)/2 and d(eF) = dT(u)/2
Et = Et u {et)
As a result of the construction of the auxiliary graph, path P ( u , v) in G' has overall weight
and delay tha t exceeds the cost and delay of the joining path Pj(ul v ) by overcost(v, bu)/2 and
dT(v ) /2 , respectively. On the other hand, edge e' = (s, v ) is assigned weight and delay values
equal t o overcost(v, bu)/2 and dT(v ) /2 . Consequently, the union of q ( u , v), and e' = (8, v )
defines a path in G' of delay and weight equal to the actual delay and cost of the connection path
PT(s, u) U P,(u, v ) . If this path is selected by the CSP algorithm, then the mapping procedure
of steps 8-10 will identify an optimal, feasible connection for node u.
The unbalancecl distribution of weight and delay values on edges of G' serves a subtle,
however crucial purpose: the connection computed by the CSP algorithm always preserves
feasibility. Indeed, the CSP procedure may return a s-u path tha t does not conform with the
tree structure of the multicast network- In such a case, the connection computed in steps 8-10
exhibits delay at lemt d T ( v ) / 2 ' less tha t the total delay of the path computed in step 6 of
FINDPATH; since the latter path is guaranteed to be feasible, so is the identified connection
In contrast, if the straightforward assignment was suggested, the following undesireci scenario
could be risen: a feasible path is identified by CSP, however, the mapping procedure returns a
path of delay greater than &. In Subsection 2.3.5, we provide an example tha t illustrates this
pitfali, in the context of the DSTEINER problem.
Ezample :
We aus t ra te the construction of G' by FINDPATH, by means of an example, depicted in
Fig 2.3. T h e auxiliary graph refers to the example of page 41, assuming tha t node 10 issues a
new join request, wit h bandwidth and delay requirements 20 and 21, respectively. Boldfaced
nodes represent nodes in T. Boldfaced edges correspond to edges of the form e' = (s, v ) , where
u E V(T).
'Here, v is the fist tree node, assuming a traversal of the path computed in step 6 of FINDPATH, starting from u.
[ Edge in G 1 Weight 1 Delay ]
Figure 2.3: The auxiliary graph Gr, for the example of page 41, as constructed by FINDPATHAUX.
It should be noted that the connection path is derived by a single caii t o the CSP algorithm.
It turns out that the algorithm maintains the tirne complexity of a single source-destination
CSP problem.
The following lemma provides a connection between the cost and delay of a connection path
in G, and the weight and deIay of its corresponding path in G'.
Lemma 2.1 Let T 6e the current multicast tree and join(u, bu, du) 6e a join request issued by
node u. Suppose that Pu is a feasible connection path serving the join riequest. Then Pu is
mapped to a path Pu in Gr that has weight equal to the cost of Pu and delay equal to the delay
of pu=
PROOF
Since Pu is a s-u connection path, there exists v E V(T) such that Pu = Pj (u, v ) U PT(s, v ) .
The joining path Pj(u1 u) corresponds to a path q(u, v ) in Gr because, by construction of Gr,
both paths traverse the same sequence of nodes. Alço, Pj(ul v ) includes only one edge adjacent
CHAPTER 2. TREE-BASED ALGORITHMS
t o v, which in conjunction with step 7 of FINDPATHAUX implies that
where cost((P,(u, v)) is the contribution of Pj(u, v) t o the total cost of Pu as in Eq. (2.5).
On the other hand, the tree path PT(s, v) is represented by the edge e' = (s, v) in G'. The
weight and the delay values of t h k edge are overcost(v, bu)/2 and dT(v)/2, respectively. Then,
by (2.6) and (2.7), the total weight and delay of q ( u , v ) U {e') are
cost(P') + overcost (v , bu) and d(Pj (u, v ) ) + &(v)
respectively. But the above expressions are equivaient to the total weight and delay of the
connection path Pu, and the lemma is thus proven. 0
We prove the foiiowing theorem to demonstrate the correctness, and efficiency of Our algo-
rithm.
Theorem 2.1 Let T be the current rnulticust tme, and join(u, bu, u,) a join request issued by
node u. Then
i) Let Pu be the optimal connection p t h for node u 's join request such that the tree topology
of the rnulticast gmph is pmsenied. Algorithm FINDPATH mturns a feasible connection
path, whose cost is at most ( 1 + E ) times the cost of Pu.
ii) If no fecrsible path ezists, then FINDPATH returns NIL.
We assume that v is not a node of T; otherwise an optimal path is found in step 2 of the
algorithm (since in this case there exkts only one feasible connedion that preserves the tree
top010gy of GM).
Part à): Since Pu is a feasible connection path, there exists v E V(T) such that P, = Pi (u, v) U
PT(s, u). In addition, Pu satisfies the properties (2.3) and (2.4). Then, by construction of the
auxiliary graph, Pj(tt, v ) corresponds to a path q ( u , v ) in Gr from u to u of weight
overcost (u, 6,) w ( q ( u , v ) ) = ((number of edges in P j (u, v)) - 6, + 2
and delay
where the weight and delay factors overcost(v, b,)/2 and dT(v ) /2 are due to the assignment of
weights and delays in step 7 of FINDPATHAUX ,respectively.
Also, an edge et = (s, v ) connects the source s and the tree node u, because node u satisfies
the conditions of steps 9-11 of FINDPATHAUX: This is implied by (2.3) and (2.4)- Step 10 of
the same algorithm indicates that et has weight and delay in G' equal to:
overcost (v , bu) w (e') = d~ (4
2 and d(ef) = -
2
Equations (2.9) and (2.10) suggest that the path q(u, v) u {e') has total delay d(Pj(u, u) + dT ( v ) ) , which is at most &, based on (2.3). Thus, APPROXCSP wiU return a non-empty path,
in step 6 of FINDPATH; denote this path as P'(u, s). The weight of the path computed by
APPROXCSP is at most (1 + c) tirnes t h e weight of t h e pa t h q (a, v ) U {et) , t herefore
w ( m a 4) s (1 + 4 ( w ( q ( u , v ) ) + 44) I
< ( 1 + E ) - {(nurnber of hops in Pj(u1 v ) - bu) + overcost(u, bu)) (2.11)
where the last expression is derived by (2.8) and (2.10).
In s t ep 8 of FINDPATH P(u , s) is traversed, start ing from node u, until a node v' E VfT)
is reached. Let P(u, v') be t he path consisting of t h e traversed edges. Since P ( u , o') passes
through v*, i t will include a n edge with v' as one of i ts adjacent nodes. T h e weight and delay of
such an edge is at lest overcost(vœ)/2 and dT(v')/2, repsectively. But those d u e s correspond
to the weight and delay values of edge (s, v*) in G'. Hence, the total delay of P'(u, v') u (s, u')
is at most q u a 1 to the delay of P ( u , s ) , which in tu rn is at most &, because the last p a t h is
computed by APPROXCSP. Similarly, t h e tota l weight of P'(u, v*) U (s, v') is ut most equal to
the total weight of P(u , s ) .
In addition, P ( u , u') U (s, v') is mapped to the connection path [ Q u , u'), &(u, u*) ] , nameiy
the returned connection path. By Lemma 2.1, the paths P ( u , v')u(s, v*) and [P(u, v'), Pr(u, v')]
have the same total weight-delay and cost-delay characteristics, respectively. We conclude that
the algorithm returns a connection path of cost and delay t ha t does not exceed the totat cost
and delay of P ( u , s ) . We already showed tha t the delay of P'(u,s) is at most &, thus t h e
algorithm returns feasible paths. FinaUy, a cornparison of equations (2.5) and (2.11) yields t h e
result on t h e weight of t h e connection path found by FINDPATH.
Part ii): If no feasible connection path from u to s t h a t preserves the t ree topology of t h e
multicast graph exists, then for any pa th of the form Pu = Pj (u, v ) U l+ (s, u) , with v E V(T) ,
either (2.3) o r (2.4) d o not hold.
Assume, by way of contradiction, tha t the algorithm retums a non empty path, of the form
[P(u, v* ) , PT(s, v ) ] for some v' E V ( T ) (step 10). Then, the algorithm cornputes a non-empty
path of delay at most &, in s t ep 6. Applying the same arguments used in proving Part (i), it
follows t hat the delay of the returned path is at most 6, Thus, t h e returned path observes the
user's delay constraint, as expressed by (2.3).
Moreover, consider the path P ( u , v*) computed in step 8 of the algorithm. Step 6 of
F I N D P A T H A ~ guarantees t h a t ~ ( u ' ) 2 bu, which implies tha t the tree-component of t h e
connection path, namely path PT(s, v'), has capacity at least bu. Also, di edges of the path
P'(u, v*) have capacity a t least bu, as in steps 2 4 of FINDPATHAUX. Finally, observe tha t path
P'(u, u*) translates into path P(u, v*), (step 9 of FINDPATH) , which means tha t the latter path
has capacity at least 6, as well-
We conclude tha t both the tree and joining path components of the connection path iden-
tified by the algorithm have enough capacity to accomodate t h e request of user u, as (2.4)
suggests. Hence, a feasible s-u path tha t preserves the tree topology of the multicast graph
exists, which is a contradiction. 0
Tirne Complexity of FINDPATH
The construction of the auxiliary graph requires time O(m): There are O(m) edges in G' that
correspond to some edge in G, and a n additional O(n) edges t ha t connect the source to tree
nodes in G'. For the inclusion of the former edges in G', i t is enough t o inspect the characteristics
of each edge e E E, as weU as t h e properties of its adgacent nodes, whether one of the nodes
or both belong to t h e tree. The characteristics of a n edge of t h e form (s, v), v E V(T), are
computed based on the values of ouercost(v, bu) and cT(v). T h e whole construction can be
accomplished in O(n + m) = O(m) time.
T h e contribution of FINDPATH t o the overall complexity is estimated as follows: Step 1
can be accomplished by a predorder traversal in O(m) time. Steps 2-4 require at m a t O(n)
time, since a tree node v uniquely defines the tree-path from s t o v. Step 6 accounts for the
complexity of an +approximation algorithm for the CSP problem. Steps 7-10 map the path in
G' to a feasible connection path in G, and require O(m) time, since the path includes a total
number of edges at most m.
T h e above analysis suggests tha the identification of an optimal feasible connection path,
within an approximation factor of E, requires time asymptotically equal to the complexity of
the CSP problern. For instance, one can apply Hassin's approximation algorithms [IO] to derive
a FPTAS for the problem in question, with complexity 0(m(n2/s) log(n/e)). Alternativelly,
chosing Hassin's pseudopolynomial aigorithm for the CSP problern, an o v e r d complexity of
order O(log log U ( m ( n / ~ ) + log log U)) is incurred-
2.3.3 The UPDATEPATH procedure
Subsequently t o the identification of a feasible connection path, multicast-related information
stored in edges and nodes of the connection path has t o be updated. This task is accomplished
by the UPDATEPATH procedure, which is describecl in this Subsection.
Two are the main functions of UPDATEPATH: First, t h e connection path ïs establiihed,
namely its nodes and edges join the set of tree-nodes and edge-nodes, respectively. This gives
rise t o a n updated multicast tree: the next join o r leave request will perform on the updated tree.
Second, data structures used by the F~NDPATH procedure, such as the aiiocated bandwidth on
the tree edges, o r the delay of the tree-path from the source t o intermediate tree nodes, are
updated.
In order t o handle both allocation and reclaiming of resources efficiently t h e algorithm stores
the Global Requirements A m y R, which contains information on the bandwidth requirements
of aU current participants. In particular, each entry of R is associateci with two fields: The
"key" field, which refers to the id of a particular node, and the "valuen field, which corresponds
to the bandwidth requirement of tha t node. The array is structured as a balanceci binary search
tree on the keys of each entry, and its information is accessible to other algorithms, such as the
TREELEAVE algorithm, which is described in the next Subsection.
An additional auxiliary data structure is defined for every edge e of the rnulticast tree- The
Local Requirements Array, denoted by LRA[e], contains information on users whose connection
paths employ edge e. The array is structured as a maz-heap [32], with ''key" field the id of
a current member and "valuen field its bandwidth requirernent. The max-heap supports the
findmax operation in constant time, as well the iwer t and delete operations in logarithmic time
on the number of the array entries. Similarly to the Global Requirements Array, the purpose
of LRA is to perforrn efficient resource reclaiming, when a member leaves the mukicast group.
The algorithrn exploits the connection path's format to perform the required type of updates
along the nodes and edges of the path. The only update associated with the tree path PT(s, v )
is the increase of aliocated bandwidth on every edge by the overrouting cost for that edge under
request bu. The latter cost reflects the minimum additional amount of banwidth that has to be
allocated in order to accomodate the join request of user u.
Recall tha t the joining path consists exclusively of edges outside the current multicast tree.
Therefore, updates along Pj(u, v ) ensure that nodes of this path becorne part of the (updated)
multicast tree. Every new tree node w is associated with the tree-delay from s to w , which can
be easily computed based on the corresponding delay of w'parent.
For the same reasons, an amount of bandwidth equal t o 6, k allocated on all edges of the
joining path, since no other connection path shates edges with Pj(u9 v ) .
Input: T,connection path P,o€theform[Pj (u ,o ) ,~ (v ,~ ) ] with v E V(T) , and user's bandwidth requirement bu.
Output: Updated multicast tree T'.
Traverse -(s, v) from source s to node v.
1 For every edge e in the traversal do
2 allocated(e) = allocated(e) + mercost (el b,)
3 insert (LRA[e], (u, 6,)) Traverse Pj (u, o ) from node u to node u.
4 For every node w in the traversal, with w # v do
5 Let e = (2, w ) be edge of the traversal, and x is t raversed before w
6 set tree(w)
7 ~ T ( w ) = d~ (4 + 44 8 alloçated(e) = 6, 9 insert(LRA[e], (u, bu))
10 insert(R, (u, bu))
Finally, an entry that corresponds to the newly addmited node is inserted in both R and
LRA[e], for al1 edges e of the connection path.
To estirnate the time complexity, it is enough to observe that the update procedure traverses,
overall, at most 2n nodes and edges. On each edge or node, the actions performed by the
algorithm account for O(1ogL) complexity, where k is the current number of mernbers in the
group. Hence, the time complexity of UPDATEPATH is O(n log k).
2.3.4 The TREELEAVE Algorithm
We conclude the presentation of tree-based solutions by dkcussing the algorithm that serves
the leave requests. RecalL that a current participant of the multicast group can request, at an
arbitrary point of time, a disconnection from the tree. The processing of the requests involves
CHAPTER 2, TREE-BASED ALGORITHMS
two discrete tasks:
Input: A leave request leaue(u) , issued by node u. Output: An updated multicast tree. The algorithm a b performs
reclairning of resources.
Traverse! &(s, v) from u to u.
For every edge e in the traversal do
Delete(LRA[e], u)
If LRA[e] is empty then do
reclaim bandwidt h equal to allocated(e)
reset tree(u)
else w=FindMax(L RA[e])
b,=GetBW(u) % Returns the bw requirements of u in LRA[e]
If 6, > 6, then allocated(e) = allocated(e) - (6, - 6,)
Delete(R,u)
7 k e Pruning: If the leaving node u is also a leaf in Tl then certain edges of T might be redun-
dant subsequently t o the node's leave. To identify such redundancies, the algorit hm traverses
the tree path from u to s, starting from u, and examines the Local Bandwidth Requirements
Array of each edge e on the traversal. If LRA[e] contains a single entry (which corresponds
t o user u), then one of the adjacent to e nodes is d'kconnected from the tree. In addition, the
amount of bandwidth allocated on e returns t o the pool of available resources.
Resource Reallocrrtion: When pruning is accomplished, the traversai of the u-s tree path
has reached a n edge, Say e, which is used by the connection paths of ut Ieast two members
(including u), Clearly, the removal of this edge or any of its adjacent nodes from the tree is
prohibited, because it would result in potential disconnection of some participants from the
source. Instead, we focus on the deailocation of the maximum ailowed fraction of the aiïocated
bandwidth, without violating the QoS gurantees for t he remaining users. Specificaily, the
algorithm first identifies the user other than u with the highest contribution to the resource
allocation on edge e. If this contribution accounts for a value greater t han bu, then no reclaim
of resources can take place- Otherwise, consider ali users other than u whose connection paths
include edge e. Then, the difference between bu and the maximum bandwidth requerement of
the above users represents the maximum amount of resources that can be reclaimed on e. As
in the case of tree pruning, the above discussion involves operations o n the Local Bandwidth
Requirements Array of e. The procedure is repeated until the traversal reaches the source of
the tree.
Time complexity: The Delete operations in both R and LRA[e] can be implemented in
log k time, where k is the number of current participants in the multicast group. The FindMax
and GetBW opertions on LRA[e] require constant time (recali that LRA[e] is structured as a
max-heap). Al1 other actions performed on each node account only for a constant. Since any
path consists of at most n nodes, the overall complexity is O (n log n).
2.3.5 A Join Algorithm for the Online DSTEINER Problem
The approximation algorithm describecl in Su bsection can be modifiai to provide near-optimal
connection paths in the context of the online DSTEINER problem (defined in Subsection 1.3.4).
Here, we discuss this extension, and we demonstrate scenarios where a previously prosposeci
algorithm fails to preserve the feasibility property [Il].
Recall t h a t in DSTEINER bandwidth requirements is not an issue. Instead, the cost of the
multicast t ree is defined as the total weight ofedges included in the tree. Any edge e contributes
either its weight w(e) , if i t is a tree edge, o r zero, if i t is not a tree edge, t o the total cost. This
implies t h a t t h e cost of t h e connection pa th is determineci by the cost of the joining path: the
tree-path component does not incur additionai cost, since i ts edges are considered t o be already
"bought" .
T h e proposed algorithm strongly tesembles the FINDPATH algorithm and is based o n t h e
construction of a search graph similar t o the auxiiiary graph created by FINDPATHAUX. We
highlight the modifications made and explain their significance.
Since bandwidth is of no concern, we eliminate aU constraints related t o the capacity of
edges and paths. O n the other side, the assignment of delay values to edges of G' is not
affected.
0 T h e weight assignment of edges in G' is changed t o reflect the contribution of a n edge e
to the total cost of the connection path: If e does not belong to the edge set of T, i t s
weight in Gt is set t o w(et) = w(e) (step 7 in DSTEINERAUX). In contrast, any t ree pa th
is attribut4 zero weight: al1 edges e' of the form e' = (s, v), where v is a tree node, are
assigned zero weight (step 10 in DSTEINERAUX). T h e intuition behind this assignment is
t h a t the connection path can foiiow a tree path for free.
T h e pseudocode for t h e algorithm DSTEINERTREEis given below. Notice t ha t the only differ-
ence between DSTEINERTREE and FINDPATH is the eiimination of capacity-related constraints.
In addition, no computation of overrouting costs takes place, since this concept becomes obso-
lete.
As mentioned in Section 1.2, Hong et al. proposed in [Il] a heuristic for a version o f
the online DSTE~NER problem. Their definition of the problem restricts the join requests to
uniform delay requirements, i.e., the total delay of a connection path can not exceed a f i x d ,
predetermined bound A. T h e heuristic does not provide provable performance guarantees, and
Input: The current multicast tree T, user u, QoS requirement 4. Output: An auxiliary graph G' = (V', Et) used by the aigorithm
DSTEINER.
Algorit hm DSTEINERAUX
d
Initially V' = V , and E' = 0 For al1 edges e = (vi , v j ) , for which both ui and wj do not belong t o T, do
I f d ( e ) 5 d, then
define ef = (v;, v j ) with weight w(e3 = w ( e ) , d(ef ) = d(e)
E' = E' u {e')
For all edges e = (vi , v j ) , for which vi E T and uj T do I f d ( e ) 5 du then
define e' = (vi, v j ) , with w (et) = w (e ) , and d(er) = d(e ) + dT (v;) /2
E' = E' u {er )
For all nodes v E V ( T ) with dT(v) < du do
define e' = (s, u) , with w(e3 = O and d(e f ) = &(v) /2
E' = Et u {et )
in worst case, the time complexity is exponential on the number of nodes in the network.
To compute the connection paths, the authors of [Il] employ an a u d i a r y graph Gr, which
they cali "star graph", similar to the concept of search graph introduced in DSTEINERTREE. In
particular, edges et of the form e' = (s, v ) , with v E V(T), in G' are assigneci a delay value equal
t o the total delay of the tree path from s t o W. Edges adjacent to only one tree node appear
in G' with deiay equal t o their delay in G. Then, a CSP heuristic is run, in G', to identify
a path from s t o u of delay less than A. The computed path is then mapped to an actual
connection path in G. Note that the CSP heuristic employed in [Il] may require exponential
time, in worst-case.
In what follows, we describe a simple scenario in which the heuristic of [Il] violates feasibiity.
In contrast, we make use of the same example to demonstrate the correctness of DSTEINERTREE.
Input: T h e current multicast tree T and join request r, = join(u, &). Output: A connection path Pu. Returns NIL if no feasible path is found.
3 reject request
5 P(u, S) = APPROXCSP(U, S, 4, E )
% APPROXCSP runs on G' 6 If P'(u, s) = 0 then reject request
7 Starting from u, traverse P'(u, s) untii a node v' E T is reached. Let P ( u , v*) be the path consisting of the traversed edges.
8 Map P ( u , v*) into a path P(u, v') in G
9 Return [P(u, v') , PT (s, v')]
The scenario is depicted in Fig. 2.4. Boldfaced edges and nodes represent edges and nodes in
the current multicast tree, respectively. Thus, T consists of nodes 1,3,7,8 and node 9, with node
1 being the source, Suppose t h a t node 5 is the next node to issue a join request, with delay
requirement equal t o 25.
Fig 2.5 illustrates the auxiiiary "star" graph , and the weight and delay assignment created
by the heuristic of [Il]. Fig 2.6, on the other hand, describes the auxiliacy graph G', and the
corresponding edge characteristics, as created by DSTEINERAUX. Notice the difference in the
assignment of delay values, in the two auxiiiary graphs.
Consider the following case: The algorithm of [Il] runs a CSP heuristic in G', with end
nodes 1 and 5 ( s and d respectively), and delay bound equal to the delay requirement of node
5, namely 25. The heuristic selects the path (1,2,7,6,5), in G', which then is mapped to the
Figure 2.4: An example of an input graph, for which guarantee feasi biiity.
Edge Weight Delay 5 2
the heuristic p r o p d in [ll] fails
connection path (1,3,7,6,5), in G, of total delay 20 + 20 + 5 + 5 = 40 > 25, and feasibdity is
violated.
In contrast, let us examine the behavior of Our algorithm, for the sarne scenario. Edges (2,7)
and (6,7) have delay equal to 2 + 30/2 = 17 and 5 + 30/2 = 20, respectively. This means tha t
t he delay of path (1,2,7,6,5), in G', is greater than 25, and the CSP algorithm will never select
such a path. Although the knowledge of the approximation constant é: is essential to identify
the exact path, we do know, a priori, tha t the computed connection path preserves feasibility.
I t should be stressed tha t the instance considered in the exampk does not correspond to an
artificially created pathological scenario. Similar cases are expected to arise in heterogeneous
environments, especially when edges exhibit significant variations in their weight and delay
values.
Up t o now we investigated the join operation in the DSTEINER problem. We can easily
provide a n algorithm for serving leave requests as well. In particular, if the leaving node u is a
leaf node in the tree, then the pruning technique can be applied t o remove redundant edges from
t h e multicast tree. If u is an intermediate node, no changes to t h e multicast tree occur. For
Figure 2.5: The auxiliary graph Gr, for the network of Fig 2.4, as generated by the heuristic proposed in [Il].
further details, we refer the reader t o the discussion of Subsection 2.3.3 and Subsection 2.3.4.
2.4 Conclusions
In this Chapter, we presented and analyzed BD-MCAST algorithms tha t maintain a tree-
structured multicast graph. First, we explained the motivation behind the investigation of
tree-based rnulticast algorit hms. We identified the Constrained Shortest Pat h probiem as an
issue related t o the problem in question, and reviewed previous work on it. We proceeded
to the presentation of an efficient join algorithm, which yields a b i b l e connection path of
cost at most 1 + E times the cost of t h e optimal feasible path. The complexity of the latter
algorithm was proven t o be identical to the complexity of t he selected CSP algorithm. The
join algorîthm was supplemented by an update procedure which is responsible for maintaining
u p t e d a t e multicast-related information throughout the network. An efficient leave algorithm
was also proposed, focusing on the reclaiming of the maximum amount of bandwidth without
disrupting the quality of service for the remaining participants of the group. Finaily, we showed
[ Edge 1 Weight 1 Delay 1
Figure 2.6: The auxiliary graph Gr for the network of Fig 2.4, as generated by algorithm DSTEINERAUX.
how the proposed solution can be extended, with slight modifications, to address the Delay-
Constrained Steiner Tree problem, and demonstrated how previous work [Il] fails to uphold
feasi bility.
Chapter 3
When Circuits Appear: The CIRCUIT
Algorit hm
In this Chapter, we continue Our study of multicast algorithms for the BDMCAST problem. As
opposed to the tree-based solutions, investigated in Chapter 2, no constraint on the topology
of the multicast graph is risen. Multicast information is delivered t o users through dedicated
connection paths, o r virtual cimuits, which are unrestricted in shape: they only abide by the
delay and bandwidth requirements of the corresponding user, for the QoS guarantees to be
provided.
Following similar reasoning as in the discussion of the TREE algorithm, we propose an
approximation algorithms for identifying efficient connection paths. In addition, we provide
a n optimal algorithm for computing minimum-cost connections. We argue tha t the former
algorithm can at tain better scalability and robustness. We also prove the performance of each
algorithm, in terms of the total amount of resources reserved by the computed connection
path. To achieve those goals, we take advantage of solutions t o the CSP ptoblem, presented
in Section 2.1. Unlike the tree case, the need for efficient CSP algonthms t h a t operate on
multigraphs emerges. In addition, an efficient procedure for reclairning resources, in the event
of leave requests, is proposed. Aii algorit hms are analyzed with respect t o worst-case asymptotic
complexity, and it is shown tha t Our solutions operate within low-order polynomial time.
3.1 Introduction
In Subsection 1.4.1, we commented on the effect of dual QoS requirements on the design of
BD-MCAST algorithms- In particular, we showed t h a t there exkt scenarios where any onilne
algorithm, when confined in creating multicast trees, performs poorly in terms of both admission
success ratio and cost. This feature is certainly undesirable in environments where one o r both
of the above performance measures are crucial. In this Chapter, we abandon t h e requirement
on the maintenance of a multicast tree, throughout the execution of the algorithm. Instead,
we alfow the connection paths to create cycles or, in other words, no topological constrained is
applied on the multicast graph.
One could argue tha t the examples demonstrating the inefficiency of tree algorithms (see
Fig 1.1 and Fig. 1.2) correspond t o extreme, adversary scenarios. In a sense, they do so,
however i t should be stressed tha t their purpose is t o illustrate the reasons behind the potential
inefficiency of tree-based algorithms. We can easily come up with generic scenarios that a re
not tied t o a particular network configuration. For instance, suppose that the first user, Say ul,
t ha t connects t o the multicast group has very relaxed delay requirernents. Then, i t is highly
probable that a tree-based algorithm wiil provide a connection path for ul t h a t includes edges
of high delay. Suppose now tha t a second user, Say u* also requests a connection to the group,
but this time the user specifies substantially more strict delay requirements. Suppose also tha t
all connection paths from uz t o the source s consisting of edges of small enough delay have
t o cross the current tree and, specifically, the connection path of ul. Then, u2 is not likely
t o be admitted in the group, should the multicast graph maintain the multicast-tree property.
However, a feasible connection path for the user could be identified, if we waive the tr-
requirement. InforrnaUy, the tree edges in the previous example partition the graph in such a
way tha t fast Links can not be used by other connections without violating the tree structure of
the multicast graph. In a highly heterogeneous environment, where requests exhibit significant
variations in terms of the requirements' d u e s , similar cases are expected t o be frequently
observed.
The introduction of circuits in the multicast graph relieves us from the burden of enforcing
any specific structure on it; O n the other hand, i t gives rise to some implementation issues
t ha t should be taken into consideration. One of them relates t o the routers' capabi t ies . In
particular, t h e network should be able t o provide individual end-teend connections, for each
potential member of the group. ATM routers support this requirement, by routing information
t o each one of the users through dedicated ltirtual circuits. In contrast, Internet routers, i.e.,
MBone routers, do not currently provide such kind of support. This is due t o the inability
of Internet routers to d-cr iminate between users that connect to the same multicast group.
Therefore, t he CIRCUIT algorithm is more suitable for circuit switched networks, in general,
and ATM systems, in particular.
As one would expect, the proposed generalization does not come for free: The complexity
of the solutions we present in t he sequel exceeds the complexity of the TREE algorithm. The
increase is attributed to the inherent difficulty of finding a connection path of small cost, when
the layout of t h e path is not restncted as i t happens to be in t h e tree setting: more combinations
a r e possible, hence more time is required t o find an optimal o r near-optimal connection. Still,
the CIRCUIT algorithm exhibits a complexity at most klog k times the complexity of TREE,
for serving both join and leave requests, where k is the number of current participants. Thus,
the complexity remains a low-order polynomial on the number of nodes. Another issue related
t o CIRCUIT is the memory requirements, since the d a t a structures used by CIRCUIT are more
corn plex and storage-demanding, compareci t o the t ree-case. Nevert heless, t hese issues are of
secondary importance when we focus on attaining satisfactory admission success ratio, hence we
consider the extension t o generai multicast graphs an interesting and worth to be investigated
problern.
3.2 Definition of Parameters
Before proceeding to the discussion of CIRCUIT, we define the parameters that appear in the
algorithm, t o facilitate the subsequent discussion- Similarly t o the ônalysis of TREE, we as-
sume tha t al1 nodes are requesting connection t o or disconnection from the same multicast
group. This assumption simptifies the presentation, while the extension t o multiple groups is
st raightforward.
An any point of time, the CIRCUIT algorithm maintains a collection of distinct connection
paths, one for each current member of the multicast group. The current multicast grrrph,
denoted by GM, consists of the union of ail connection paths, with no constrainis imposed
on i ts topology. The rnulticast graph has a set of nodes VM and a set of edges EM, with
VM E V and EM Ç E. We denote by k the number of the current participants in t h e multicast
group. Apparently, IVM! < k, because, apart from participants, the multicast graph contains
non-member nodes, also called intemediate nodes. Al1 nodes in the network have unique id's,
and every connection path Pu is assigned the id of the corresponding participant.
Multicast d a t a is disseminated through the connections, and information destinated to par-
ticipant u is delivered ezclusively via the connection path P,. The connections may intetsect at
intermediate nodes or even overlap with some edges, howewer, they are handled by t h e routers
as discrete virtual cirmrits. As in the previous Chapter, we use the terms "connection pathn
and "virtual circuitn interchangingly, t o denote the path that delivers multicast information to
a particular user,
Let Pu be the virtuai circuit for user u, and let v be an intermediate node on tha t path. We
denote by P,(s, v) the subpath of Pu from s to v , Le-, the path with end nodes s and v which
consists of adjacent edges of P,, in accordance with the definition of Subsection 1.3.1. Also, we
say tha t node v priecedes node w in Pu, for two nodes u and w of the connection path Pu, if in
a traversal of Pu, starting from the source, v is visited before W .
Every edge e in GM is associatecl with a variable allocated(e), which measures the currently
allocated bandwidth on e. By definition, bandwidth is allocated only on edges of the current
multicast graph, hence allocated(e) # O o e E EM- Naturally, the capacity c(e) of edge e
defines an upper bound on the allocated bandwidth over that edge. As a result, allocated(e) < c(e) . Also, the variable available(e) describes the maximum available bandwidth tha t can be
allocated on e. Clearly, auailable(e) = c(e) - allocated(e). Notice tha t auailable(e) is subject
t o changes over time, as the number of current participants in the multicast group changes over
time, and the multicast graph evolves in topoIogy.
Consider now a node u of G M , and let Pu = {P,,, Pu2 . . ., Pu,) with f 5 k, be the set of
virtual circuits tha t traverse v in GM. We define the equivalence relationship -y on P, as
follows:
PUi .-,Pu, iff Pui(s,v) Pu,(s,v), with 15 i , j < f
In other words, two connection paths in P, are related with respect to -,, if and only if their
subpaths from s t o v are identical. The equivalence relationship partitions the paths of P, into
classes of paths (Ci, CV, . . .Cc), where r 1. We denote by Cu the collection of al1 classes
defined on node v. Thus, if Pui -, P,, then Pu, and Pu, belong to the same cl- C$, for
some q with 1 q 5 r. For every clas C:, denote by &(s, V ) the subpath from s t o v of any
randomly selected path of this class. We denote this path a repmsentative p t h for class C$.
What is the interpretation of t he above classification? Recall tha t according to the definition
of BD-MCAST, the sharing of resources among several connections is permissible only on a
common subpath of these connections, from the source to some intemediate node; once the
connections "splitn, no resources sharing is possible, even if the connection paths happen to
overlap over some edge, after t he "splitting" has occurred. The partition of paths traversing a
particular node v into classes serves precisely this purpose: It provides a framework for grouping
the connection paths which can share bandwidth, so that the cost incurred by the connections
is diminished- - - --
Ezample : We illustrate the above definitions by means of a specific example. Figure 3-1
depicts a network of 10 nodes, each one bearing a unique id. Boldfaced nodes represent current
participants in t h e multicast group, The node with id 1 is the source of the multicast traffic,
Suppose that a sequence of join requests, describeci in Table 3.1, has taken place. The latter
table also provides the virtual circuits, as computed during the processing of each join request.
T h e rnulticast graph is constructed in steps, with new edges and nodes being added after a
successfully served join request. InitiaUy, the tree consists only of the source (node 1)- After
the f irst request, issued by node 8, the multicast graph consists of nodes (1,2,5,8,9) and edges
{( i ,2) , (2,5), (5 ,9) , (9,8)). The second request does not add any nodes or edges t o the multicast
tree, since the virtual circuit for node 5 overlaps with the virtual circuit for node 8. The
expansion of t he multicast graph proceeds in a similar fashion. When di 4 requests are processeci
we have V ( T ) = {l, 2?3,5,6,8,9) and E(T) = ((1.2), (1,3), (2 ,5 ) , (3,5), (5,6), (5,9), (8,911.
Let us focus on node 5 of the multicast graph, assuming tha t ali 4 requests have occurred
and have been serveci. Notice t h a t the virtuai circuits for participants 5 and 8 share the same
Figure 3.1: A network G and t he
Edge Capacity Delay
, ( 1 ~ 2 ) 30 5 20 4
capacity and delay values of its edges.
Table 3.1: Sequence of join requests appfied on the network G of Fig. 3.1.
[ New participant u b, du Virtual Circuit
subpath from the source to node 5, namely path (1,2,5). Hence, they define a class on the
1 8
latter node. A second class on the same node is due to the vittual circuits for destinations 6
and 9, which share the subpath (1,3,5). Thus, we can Say that two classes are defined on node
IO
5, denoted by {5,8) and {6,9)- In other words, Cs = { {5 ,8 ) , {6,9)). The representative paths
for the two classes are paths (1,2,5) and (1,3, S), respectively.
25
Moreover, every class C$ of connection paths for node v is associateci with certain addi-
(1,2,5,9,8)
tional parameters: The cnpacity (respectiuely delay) of c h s Cz corresponds to the capacity
(respectively delay) of the representative path of the class. Symboücaiiy, c(C$) = c(Fq(s, v ) )
and d(C$) = d ( e ( s , v ) ) .
Let e = (v , tu) be the edge of the representative path Fq (s, v ) which is adjacent t o node v ,
with node w preceding v in Fq(s, v ) . The olloattcd Lndwidth on e for claps C$, denoted by
allo~ated,,~(e) is defined as the contribution of virtual circuits in class C! t o the ailocation of
resources on edge e. More precisely, this contribution is determined by the maximum bandwidth
requirement of users with connections in C:. Notice tha t the latter connections are sharing
bandwidth equal t o allocate&,(e) on edge e.
The above definition implies tha t we can compute t h e mrrently d o c a t e d bandwidth for
some edge e = ( v , w ) by summing up the aliocated bandwidth on e for al1 classes of connections
defined on t h e end nodes u and W . More formally,
Example : Referring to the example of Fig. 3.1, for the sequence of requests depicted in Ta-
ble 3.1, let u s compute allocated(e), for edge e = (5,9). According to the terminology of
the definition, we have v = 9 and w = 5. Two classes a re defined on node 9: class (8) and
class {6,9); let those classes be indexed by indices 1 and 2, respectively. Notice tha t classes
defined on node 5 do not contribute to the bandwidth allocation on edge e, in other words,
~ l l o c a t e d ~ , ~ ( e ) = 0, for al1 class indices q for node 5. Thus, we have:
allocated(e) = allocatedgll (e) + allocatedglp(e) + O = 10 + 12 = 22
Table 3.2 presents t h e values of allocated(e), for al1 edges e of the network of our exarnple
such tha t allocated(e) # O. The table also presents the amount of available resources on those
edges, namely the values of auailable(e) .
Edge e 1 allocated(e) 1 available(e)
f 15 1 15
Table 3.2: Values of allocated(e), and available(e), for edges e of the example network, as described by Fig, 3.1, for the sequence of requests depicted in Table 3.1.
It would be instructive to pinpoint a key difference between multicast trees and generic
multicast graphs. In multicast trees, for any node v of the tree, aU connection paths traversing
v have identical subpaths from s to v. Hence, there exists only one class of paths for node v , for
any instance of the muiticast tree. In contrast, in a generic multicast graph, seueml classes of
connections may be defined for a node v E VM: the smaller the number of such classes, the more
"overlapped" the layout of connections is and, therefore, the better exploitation of resources
can be achieved. In other words, the transition from multicast trees to genetal multicast graphs
is manifested as a passage from a single t o multiple classes of connections.
In the presentation of the TREE algorithm we introduced the concept of overrouting cost
as a basic tool for identifying connection paths of small cost. Foiiowing t h e same reasoning, we
define a similar concept, this tirne in the context of the CIRCUIT setting.
In particular, let e = (v, w ) be an edge of the representative path for class C:, adjacent t o
v , with w preceding v in Fq(s, v). Let aIso b be a positive integer. Define the ovemuting cost
of e for class C$ under repuest 6, denoted by ~vercost, ,~(e, 6) as follows:
The meaning of the above definition should be further explaineci: In the first case, the allocated
bandwidth on e for class C,9 is sufficient enough to accommodate the request b. In the second
case, a partial amount of bandwidth, ailocated on e and associated with the class C$ is a d a b l e
and can thus be exploiteci. In addition, the increase will not affect feasibility. In other words,
there exist enough available resources on the edge, as the second condition indicates, and a h
the request b does not exceed the capacity of e, as iilustrated by the 3rd condition.'
Finally, if one of the abovementioned conditions does not hold, the request on e can not
be satisfied by the class: we formalize this notion of unsatisfiability by attributing to the
overrouting cost a value equal to infinity.
The next step is to generalize the concept of overrouting cost to a class of paths. The
generalization is based on the foiiowing property, which will also be of use in the presentation
of the algorithms.
The Containment Property:
Suppose that v E VM and let b be a positive integer. Let also Cz be class defined on v, Then,
for ony node w in F,(s, v ) , there exists a unique class in the collection C,, Say c$, such that
'Notice that this condition is redundant in the füst case.
The valïdity of the above statement can be confirmed, by o b s e ~ n g tha t aU paths in
have t h e same subpath from s to node v by the definition of the class, and, hence, the same
subpath from s to w as weil.
Based on the above property, we can now provide an extension of the definition of over-
routing cost. Let e be edges on the path Fq (s, v ) of t h e form (z, y), with node y preceding
node z in the above path. Define the ovemuting cost of class C$ under request 6, denoted by
overcost(C$, 6) as the sum of the overrouting costs of a.ü edges e in the representative path for
class C$ under request 6, where q' is çuch t h a t C$ c CI'.
Conceptualiy, the overrouting cost of a class Cz under request b corresponds to the additional
amount of bandwidth tha t must be allocated on edges of the representative path of the class,
so that a total amount of bandwidth equai to b is available t o be used by every connection path
of the class, on the subpath from s to v.
Example :
To illustrate the concept of overrouting cost, refer t o the example of Fig 3.1, for the sequence
of requests described by Table 3.1. Let the class in consideration be the singleton (81, defined
on node 8, and let b = 20. According to the containment property, the ciass is contained in the
class {8,5) defined on nodes 9, and 5 and 2. The classes can be tracecl by following the edges
of the representative path (1,2,5,9,6). To c o m p t e the overrouting cost for the above defined
class, for 6 equal t o 20, we have t o sum up the overrouting costs defined on the edges of the
representative path. It is not difficult t o see tha t
where the computation proceeds by traversing t h e edges of t h e representative pa th (1,2,5,9,8)
starting from node 8-
In contrast, t he overrouting cost for class (8) defined on node 8 is equal to 00, since t h e
capacity of edge (8,9) is 16 < 20.
Table 3.3 contains t he overrouting cost for aU defined classes and b = 20. We omit t h e
nodes that d o not define any class at aU, Le., nodes t ha t do not beIong to t h e current multicast
graph.
Table 3.3: Overrouting costs for dl classes defined on nodes of t he multicast graph, under request b = 20. T h e example refers t o Fig 3.1.
We now describe a decomposition of connection paths in t h e context of t h e CIRCUIT algo-
rithm. Suppose t h a t a join request jUin(u, bu, &) is issued by node u and the current multicast
graph is GM. T h e request is served by providing a connection path, Le., a virtual circuit from s
t o u, denoted by Pu, which satisfies t he QoS guarantees requested by u.? The connection pa th
consists of two distinct, consecutive paths:
The overlapping p t h , denoted by Pm(s,v), for some node v E VM a n d a c l a s C$ E
'An implicit asnimption in the foiiowing discussion is that such a feasi'b1e path in CM exists.
C,. The overlapping pa th is identical t o t h e representative path of a class of current
connections o n W . According to Our notation t he class in question is c. We c d this class
t he friend class for connection Pu .3
Notice t h a t specifying the friend class Cz is enough to identify t h e overlapping path. HOW-
ever, the knowledge of node v , o n itself, is not sufficient to provide a unique identification-
Moreover, resources already docated d o n g the edges of t h a t pa th can be exploiteci by
t he new connection.
0 T h e joining path, denoted by Pj(u, u), where v E VM. Unlike t he characterization of the
joining path t h a t was presented in the previous chaptet, here, t h e joining path may contain
several edges and nodes of t he current multicast graph. T h e joining path consists of edges
on which a minimum additional reservation of bu units of bandwidth is necessitateci. The
joining path is said t o be minimal if every node w on the joining path, with node v
excepted, satisfies the following property: for every d a s s C$ E C,, it is C$ n CY = 0;
namely, no one of the classes defined o n node w has representative path t ha t comprises
the whole overlapping path.
For instance, consider, once again, the network represented by Fig. 3.1, for the sequence of
requests described by Table 3.1. Let u be a new request issued by node 10, with bandwidth and
delay requirements equal to 17 and 40 respectively. There exists a variety of virtual circuits
t ha t could serve t h e latter request, Let u s focus, o n t he following two Uustrative cases:
0 Case 1: T h e overlapping path is identical to the representative pa th of class (81, defined
'The name has its base an the "sharing property" that the connection path and its friend dass satisfy: we are, however, aware that a definition of reai-iife Cnuidship based exdusivdy on the above criterion is, at best,
on node 9, namely the path (1,2,5,9). The joining path consists of the single edge (9, IO),
and is trivially minimal.
0 Case 2: The overlapping path is identical t o the representative path of class {8,5), defined
on node 5. The joining path consists of edges (9,lO) and (5,9). According t o the definition,
the joining path is not minimal. This is due to the fact that class (81, defined on node
9, is contained in class {8,5), defined on node 5. Hence, the requirement regarding the
intersection of classes in consecutive nodes of the joiniag path is not met, and the joiaing
path is not minimaI.
Let u s elaborate on the motivation and the implications of the above decomposition. The
definition of the connection path as the union of two distinct paths is not unknown to us: the
same approach was applied in the presentation and analysis of TREE. The primary objective
is to provide a framework for estimating the cost of a connection path, in terms of shared
and non-shared bandwidth. Additionally, the decomposition facilitates the design of bot h the
update procedure and the aIgorithm for serving leave requests.
In particular, the definition characterizes the overlapping path as the part of the connection
which allows utilization of the existing resources; those resources are docated on the edges of
the friend class' representative path. This observation gives rise t o an exact estimation of the
cost incurred by the overlapping path: it is q u a 1 to the overrouting cost of the friend class for
the bandwidth request of the new member u.
On the other hand, any kind of resources sharing on edges of a minimal joining path is, by
definition, prohibited. This is due to the arrangement of connection paths into classes, for ail
nodes of the joining path, Le., there exists no class, defined on some node of the joining path,
whose representative path contains the overlapping path. The definition of BD-MCAST imme-
diately suggests that no resources sharing can occur in the minimal joining path. Accordingly,
an amount of bandwidth equal to the bandwidth request of t h e new participant u has to be
reserved on edges of the latter path.
The above discussion describes the minimality of the joining path as an essential and de-
sirable property of the virtual circuit. Indeed, we can not o p t for a more efficient allocation
of resources along a spebfic connection path, after we have identified its minimal joining-path
component. Alternatively, knowledge of the minimal joining path implies that the mazimal over-
lapping path is known as wd, which in turn determines the optimal cesource allocation, Le,
the maximal sharing of resources.
However, it might be the case that a particular algorithm does not provide guarantees with
respect to the computation of minimal joining paths. In other words, an amount of bandwidth
equal ta bu is reserved on edges of the joining path, whereas a better allocation strategy is
feasible. For instance, the approximation scheme presented in Section 3.5 suffers from this
shortcoming, as opposed t o the optimal algorithm discussed in the next ~ e c t i o n . ~ Although
this problem is not critical t o the functionality and correctness of Our algorithms, it may be the
cause of premature edge congestion. We will present effective solutions to this problem, in the
context of the approximation scheme for finding near-optimal connections.
The connection path Pu = Pj(u, v ) u P,(s, v), which serves the join request of node u is
called feasible if and only if it satisfies the following set of properties:
d(Pj(u, v)) + d(P,(s, v)) < d,
available(e) 2 bu, for al1 edges e of Pj (u, v )
overcost(C$) < w where Cz is the friend class for P,
' However, we show how to overcome the de!iaency in Subsection 3.5-4.
T h e first inequality formalizes t he satisfaction of t h e delay requirement imposed by the user.
T h e remaining relationships are related to the feasib'ity of the pat h, wit h respect t o the band-
width requirernent. Specifically, ail edges of the joining path should maintain enough cesources
to allow an additionai ailocation equal t o bu; this condition is reflected in (3.5). Finaliy, as
suggested by t he definition, the overrouting cost of t he friend class fo r request bu has t o be l e s
t han infinity, for t he overlapping pa th to uphold feasibiiity.
T h e cost of a feasible connection p t h Pu refers to the amount of bandwidth allocated on
edges of t h e network in order to estabiiih the f ea s ib i t y of the connection, and is e q u d to
cost(P,) = (number of edges in Pj (u, u) ) - bu + ouercost(Cz, bu) (3-7)
The first term in Eq. (3.7) corresponds t o t he amount of bandwidth assigned to edges of
t he joining path, whereas t he second te rm represents t h e overrouting cost of t he friend class of
t he connection path.
Table 3.4 summarizes t he notation used throughout this Chapter.
3.3 Overview of the VCJOIN algorithm
We proceed t o a high-level description of the VCJOIN algorithm, which serves join requests by
providing virtual circuits with QoS guarantees. Suppose t h a t GM is t h e current multicast graph,
and non-member u has issued the las t join request. Like the TREEJOiN algorithm, VCJOIN
follows the greedy approach, by seeking a feasible connection pa th of optimal o r near-optimal
cost- Unlike algorithms for tree-based multicasting, t h e evolution of t h e multicast graph is not
constrained by considerations of topological nature,
We distinguish two main phases in t he join algorithm:
Symbol
G = (V, E) y d(e) 9
--
Explanation Input graph, with n = IV1 nodes and rn = IEl edges. Delay and capacity of edge e E E, respectively.
GM s VM, EM u
--- 1 Cv 1 A cIass of mths . in the collection C. .. 1
. -
Current multicast graph. Source of the multicast t r d c . Set of nodes and edges in GM, respectively. Next node to issue a ioin or leave reauest.
k MGnode ( v )
bu, d,
. p u cl,
--- --
Number of current participants in the multicast group. A flag which is set when u E VM. Bandwidth and delay requirements of node u (in case of join request). Connection path (virtuai circuit) from u to S.
A collection of classes of paths, defined on node v E VM.
L -- p'(% 4 c (Cz ) , d ( c ) ~ l loca te&,~(e ) allocated (e) ouercost,,,(e, 6 ) overcost (C& 6) =(s, v )
Table 3.4: Explanation of symbols and parameters used throughout the Chapter
- - - - -
T h e representative path of class CV. T h e capacity and d d a y of the representative path of C$. T h e d o c a t e d bandwidth on e due t o paths in C:. Current amount of bandwidth allocated on e. Overrouting cost of edge e for claas C$ under request 6. Overrouting cost of class Cz under request b. T h e overlapping path for connectim Pu, where Cz is t h e friend class. - - - - - - - -
rn Computation of connection p a t b of small cost: In this phase, a connection path of small
enough cost is sought, where the cost is defined by Eq. (3.7). If no feasible connection is
found, the user is rejected admittance to the mulcticast group. These tasks are accom-
piiihed by the FINDVC algorithm.
- e ( u , 4
Perfom updates across edges and n d e s of Pu: Once Pu is identified, traverse Pu from s t o
u, updating the d a t a structures associateci with nodes, and edges of the connection. The
updates include doca t ion of the required bandwidth on the edges of the new connections,
as well as inclusion of the new virtual circuit in the appropriate class, for all traversed
nodes. Algorithm UPDATEVC is responsible for performing these updates.
Joining path from node u to some node v E VM. 1
auailable(e) cost ( Pu) G'(Vf, E3
T h e amount of bandwidth available on edge e. Total cost of the connection path for a join request issuecl by u. Auxiliary search graph, used by the join algorithm t o find the connection path.
Input: T h e current multicast graph GM and a join request rj = juin(u, bu, 4). Output: An updated multicast graph Gb, if 2~ is admitted in the group.
Otherwise, a notification of rejection.
1 If (Pu = FINDVC(GM, u))==NIL then
2 RFJECT the request
eise
3 UPDATEVC(P,),
The structure of the remaining chapter resembles the structure of Chapter 2. We propose
two closely related, but different approaches to efficient computation of feasible virtual circuits.
The first algorithm, called OPTIMALVC, cornputes a feasible virtual circuit of minimum CO&,
and is discussed in the next Section. The second algorithm, c d e d APPROXVC provides a
feasibIe virtual circuit of cost within (1 + é) times the cost of the optimal v i r tud circuit;
this algorithm is presented in Section 3.5. The algorithms are proven t o achieve the above
performance guarantees regardless of the current multicast graph and the request parameters.
In addition, they both exhibit a low-degree polynomial complexity, though each one exceeding
the complexity of the corresponding t r e b a s e d algorithm by a factor of at most klog k, where
k is the number of current participants, Notice, however, that this upper bound is a very
pessimistic, worst-case result. Similar to the TREE case, the approximation aigorithm features
desired qualities, such as enhanced flexibity and low tirne-complexity, when compared t o the
optimal one. FinaIiy, we demonstrate how efficient reclaiming of resources can be implemented,
by describing a procedure for serving leave requests.
3.4 Finding Optimal Feasible Virtual Circuits
In this Section, we address the problem of computing optimai v i r tud circuits t o accommodate
join requests. The algorithm we propose has two input parameters: the current multicast graph
GM and a join request 'kued by a non-member node u. The returned path ïs a feasible virtual
circuit, provided that such a feasible connection exists. The virtual circuit is expressed in
terms of the joining path, Pj(u, v ) , and the overlapping path (u, v ) , for some node u E VM
and some class C$ E Cu. As mentioned in Section 3.2, the path decomposition provides an
illustration of the algonthm's function and facilitates the update procedure.
3.4.1 Algorithm Description
The departing point in the presentation of OPTIMALVC is the creation of an auxiliary, search
graph Gr based on the current multicast graph and the values of selective data structures asse
ciated with it. The motivation behind the creation of the auxiliary graph stems from consider-
ations aIready addressed in the context of the TmE algorithm: It translates the contribution
of an edge E E to the total cost of a connection path that includes e, into the weight of an
edge e' E Et. By assigning suitable weight and delay values on the edges of G', the problem of
identifying the joining-path component of the virtual circuit we are seeking is reduced into a
set of instances of the CSP probIem, addressed, in detail, in Section 2.1).
As it can be observed, every edge ef € Et has the same delay values as the corresponding
edge e in E, namely, the edge tha t connects the adjacent to e' nodes in G. The weight of
et, denoted by w(et), is set to the bandwidth requirement of the user requesting admission,
provided that there are available resources on the edge (step 2 in OPTVCAUX). &al1 that an
amount of bandwidth equal to 6, is required ezclusiuely along edges of the joining path; thus,
it seems natural to expect Gr to be employed for the purpose of computing the joining-path
Algorit hm OPTVCAUX
Input: GM, user u, QoS requirements 6, and &. Output: An auxiliaty graph G' = (V', E3 used by the algorithm OPTIMALVC.
O Initially V' = V, and E' = 0 1 For ail edges e = (vi, q), with e E E do
2 If availtzble(e) 2 bu and d(e) < d, t hen 3 define e' = (vi, vj) with weight w(ef) = bu, d(e') = d(e)
4 E' = E u {e') - - - - - - - - - - - - - - -
component of the virtual circuit.
We iliustrate the construction of G' by means of an example, depicted in Fig, 3.2, T h e auxil-
iary graph refers t o the example of page 72, assuming tha t node 10 'ksues a new join request, with
bandwidth and delay requirements equal t o 20 and 40, respectively. As OPTVCAUX suggests,
t o construct the auxiliary graph we have to take into consideration the variable available(e), for
alI edges e of the multicast graph: the values of this variable are provided in Table 3.2. Notice
tha t edges e in G for which available(e) < 20, or c(e) < 20 do not appear in G', in accordance
with s tep 2 of OPTVCAUX. AU edges in G' have weight equaI to the bandwidth requirement of
the potential new participant, and the same delay with the corresponding edgeç of G.
Let us now provide, in rough terms, a description of OPTIMALVC. Later, we will present a
forma1 proof of its correctness. Consider the optimal connection path PZ, which serves the join
request, assuming for the moment tha t such a path exists. Then, there exists a node v* E VM,
such tha t PI = Pj(u, v*) U &(s, v* ) , for some index g*, such t ha t t he class C$ is containeci
in the collection Cv- of classes defined on v*. Since < is feasible, aii edges of wül have
capacity at least 6, and delay at most 4. Those requirements are reflected in steps 2 and
Figure 3.2: The auxiliary graph Gt, for the example of page 72, as constructed by OPTVCAUX.
6 of OPTVCArrX and OPTIMALVC, respectively. Notice the absence of any topology-related
constraints on the construction of Gr. Unlike the tree-based algorithm, edges in EM appear
in Et as well: This observation merely iiiustrates the fact that no restriction is applied on the
relative Iayout of virtual circuits in the multicast graph.
The computation of the overlapping path in OPTIMALVC is implicit. Recall that the
overlapping-path component of the optimal virtual circuit, according to Our definitions and
notations, is defined as the representative path f>,e (s , v') of class c$. The delay overhead
attributed to this path equals d ( ~ : : ) , whüe its cost overhead equals the overrouting cost of
the above class, for request bu, that h overcost (~$ , bu). Since P;: is feasible, its overlapping
path has to be feasible as weil, implying that its associated overrouting cost assumes a non-
infinite value. The delay overhead attributed to the friend class is taken into account in step
7 of OPTIMALVC: when UNIFORMCSP is invoked, for end-node v* and candidate class c$,
the maximum permitted end-to-end delay is reduced by I(c$), to compensate for the delay
Input: T h e current multicast graph GM and join request rj = join(u, b,, 6). Output: A connection pa th P, of the form [Pj(u, v ) , Pm(s, y)], with v E VM
a n d Cz E Cu, for some index p. Returns NIL if no ieasible path is found.
O P z 0 % initialize t he set of candidate paths
1 For al1 v E VM do
2 For aU q such tha t Cz E Cv do 84 cornpute ouercost(C~, bu)
3 Gr = OPTVCAUX(G~, u, bu, 4) 4 For al1 u E VM do 5 For aU q with C$ €Cu do
8 If ouercost(C$, 6,) < oo and d ( c ) < 4, do
7 q ( ~ , V)=UNIFORMCSP(U, V , & - d(C!)) % U N I F O ~ C S P runs o n Gr
8 P = p ~ P ' ( u , v )
9 If P = 0 then return NIL
else 10 Find v' E VM and index q' such t h a t w(q . (u , v * ) ) +
+ouercost(~$, bu) = min, among paths in P.
11 Map pat h <. (u, v') in Gr t o t h e path P(u, u*) in G
12 Return [P(u, u') , & (s, v*)]
incurred on the representative path of t h e friend class. Notice tha t al1 edges in Gr have uniform
weights, equal t o bu, which dictates t h e application of the polynomial-time, exact algorithm
UNIFORMCSP, as discussed in Subsection 2.1.2. Similarly, in step 10, the overrouting cost
overcos t (~$ , bu) is added to t he joining path CO&, to yield the total connection cost, and the
path with t he minimum such cost is selected.
Once the joining path and the friend class are determined, the computation of t he virtual
circuit sought is trivial. In step I l , the path selected in the previous s t ep is re-mapped to a
joining path in the input graph G. A11 nodes in t h e path q ( u , v ) in C indicate t he nodes
appearing in the joining path we are searching for: The joining path consists of edges in E
that connect preciseiy those nodes. Finally, v' and q* uniquely identify the overlapping path,
namely the representative path of the friend c l a s Fq. (s, v').
3.4.2 Correctness of OPTIMALVC
The following theorem formalizes the above discussion and establishes the correctness of the
proposed algorit hm.
Theorem 3.1 Let GM be the cumnt rnulticast gmph, and rj = join(u, bu, vu) be a join request
issued by node u. Then
i) Let Pu be the optimal feasible virtual circuit for mquest rj. Algorithm OPTIMAL VC mturns
a feasible virtual cimuit of minimum cost, i.e,, it cornputes an optimal, feasible virtual
circuit.
ii) If no such feasible path ezists, then OPTIMAL VC retums NIL.
PROOF
Part i): Let Pu be a feasible virtual circuit for request rj, then there exist v f VM, and index
q, such t ha t Pu = Pj(u, U) u e v ( s , v ) , with C,Q E Cy. The paths Pj(u, v) and PQ,(s, V ) satisfy
t h e properties describeci by (3.4), (3.5), and (3.6).
By (3.5), and steps 3 and 4 of OPTVCAUX, i t follows tha t there exists a path from u to
v in Gr, tha t traverses the same set of nodes as Pj (u, v); let us denote t h h path by q ( u , v).
Furthermore, since every edge in Gr has the same delay value as its associated edge in G, we
have d ( q ( u , v ) ) = d(Pj(u,u)). By (3.4), the delay of path q ( u , v ) is at most d, - d(Cz).
The last k t , in conjunction with (3.6), implies t h a t OPTIMALVC invokes UNIFORMCSP with
arguments u, v , d, - d(C$) in step 7 of OPTIMALVC, and that, after the for-loop of step 4
terminates, P is non-empty. ffence, UNIFORMCSP does not reject the request, and will execute
al1 s teps subsequent t o s tep 9.
Since P # 0, O P T i m V C wiii al- execute s tep 10. I t wili thus select a path c . (u , v* ) ,
among paths in P, such t hat C$ E Cu. a n d u> (P'(u, v*) ) + mercost (c$ , bu) is minimum among
au paths in P and all pairs of nodes in VM and dass indices. Thus, the weight of q . (u , v')
will be such tha t
w (P,. (u, v * ) ) + oue rcos t (~$ , bu) 5
I w (9 (u, v) ) + overcost(C,P, 6,)
< (number of edges in q ( u , v ) - bu) + overcost(Cv, 6,) -
= (number of edges in Pj(u,v)) -bu) +overcost(C~,b,) (3-8)
where t he last equality follows by t he fact t h a t q ( u , v ) a n d Pj(u, v) have t h e same number of
edges in G' and G respectively. T h e proof for par t (i) follows by observing t h a t (3.8) describes
t he cost of the optimal virtual circuit for request rj-
Part ii): If no feasibIe virtual circuit for serving request rj exists, then one o r more of the
conditions described by (3.4), (3.6) and (3.5) do not hold,
Assume, by way of contradiction, t h a t t h e algorithm returns a feasible virtual circuit, Say
Pu, of the form [P(u, v*), &m(s, v*)], for some v' E VM and some index g* such th& C$ E C,..
Then, after the for-loop of s tep 9 completes its execution, t h e set P will be non-empty, which
im plies t he following properties:
1) C$ E C, and ove rcos t (~$ , bu) < oo (by s t ep 6 of t he algorithrn).
2) (u, v*) has delay at most d, - d(C$), because the path is derived by application of
UNIFORMCSP.
3) For every edge e' of P;;. (u, v'), the available resources on its corresponding edge e in G
satisfy the condition available(e') 2 bu, by construction of Gr.
The Arst and last properties suggest that (3.5) and (3.6) are, respectively, satisfied. Hence,
the computed virtual circuit is feasible with respect to edge capacity constraints.
Moreover, by construction of Gr, every edge of Gr has the sanie detay with the corresponding
edge in G, thus the delay of P, is equal to d(c . (u , u*)) + d(C$), which, by property (2), can
not exceed du. Therefore, the constraint on the delay of the virtual circuit, as expresseci
by (3.4), is met and the algorithm cornputes a feasible virtual circuit, which contradicts our
initial assumption. O
3.4.3 Implementation Issues and Tirne Complexity of OPTIMALVC
We now focus on some implementation details and present a worst-case time complexity analysis
of OPTIMALVC.
Every node v in the current multicast graph stores each class C$ of the collection Cu,
represented as a maz-heap. More precisely, the rnax-heap for CuQ contains an entry for every
virtual circuit that belongs to the class: the key-field of the entry is identical to the id of the
virtual circuit, whereas the value-field stores the bandwidth requirement of the corresponding
connection. Moreover, node v has access to the description of the representative path, for
e x h one of the classes in Cu. The max-heap supports the operation FindMaz(C$), which
returns the id of the path with the maximum bandwidth requirements, among those contained
in Cz. Also, the operation Insert(C& Pu, bu) (respectively, Delete(C& P,)),which inserts the
connection path Pu t o (respectively, deletes Pu from) class C$ can be implemented in O(1og k)
time (recall t ha t k is the number of current participants in the multicast group). The same
complexity is incurred by the boolean Find(P,,Cz) operation, which returns true o r false,
depending on whether P, belongs t o C:.
T h e computation of the overrouting cost overcost(C:, b,), which takes place in steps 1 and
2 of OPTIMALVC can be accomplished by traversing the representative path of class C$, as
specified by the definition (see page 74 of Section 3.2). At every node visited by the traversal,
the computation involves a number of Find and FindMux operations which does not exceed
the number of distinct classes defined for the node in hand. Since there are at most n nodes on
every connection path, the computation of the overrouting cost for a specific class and a specific
request requires time O(nk log k). Hence, steps 1 and 2 of the algorithm can be accomplished
in time 0 ( n 2 k l o g k).
Step 3, the construction of the auxiiiary graph, as weil as steps 10-12, the seIection of the
optimal virtual circuit, can be carried ou t in time O(m). As i t occurred in the tree-based solu-
tion, i t is the execution of the CSP algorithm that dominates the complexity of OPTIMALVC.
In particular, there are at most k - n calls of WNIFORMCSP with the analysis of Subsection 2.1.2
indicating an asymptotic running time of order 0(krnn2), for steps 3-8 of OPTIMALVC. Thus,
the overall complexity incurred by the algorithm is O (max{n2k log k, kmn2)), o r quivalently
O (kmn2) , since k 5 n 5 rn + 1.
I t should be stressed tha t the above bound is derived by the worst-case analysis of a pes-
simistic case, which rnay arise only in adversarial instances of the problem. Indeed, it is highly
unexpected tha t the current multicast graph contains the entirety of the network nodes, o r t h a t
every node contains an order of k distinct classes; both such cases were taken into consideration
in the above analysis. In practice, the algorithm is expected t o exhibit a much better complexity
than the one indicated by the upper bound. Nevertheless, the algorithm features a low-order
polynomial on n complexity, even for pat hological scenarios, w hich is particularly attractive
given the intrinsic complexity of the problem and the performance guarantees attained.
Findhg Near-Optimal Feasible Voirtual Circuits
3.5.1 Description of the Algorithm
The algorithm presented and andyzed in the previous Section provides feasible virtual circuits
of optimal cost. Optimality is achieved by essentialiy reducing the problem to a set of instances
of the CSP problem, in which all edges bear identical weights. The number of such CSP
instances is related to the number of nodes in the current multicast graph, as well as to the
number of distinct classes defined on every node. Thus, an optimal solution can be found,
at the expense of increased time complexity. A reasonable compromise would be to relax the
optimality criterion, by seeking é-approximate solutions, with é being a small constant. In
th i s section, we adopt the paradigm of near-optimal, feasible connection paths, introduced first
in the context of t r e b a s e d algorithrns, to generic multicast graphs. The resulting algorithm
attains improved scalability and robustness, when compared to the optimal solution, without
diverging from the objective of finding virtual circuits of small cost.
Let us first illustrate the intuition behind the APPROXVC algorithm. Following the well-
motivated approach adopted in the design of joining aigorithms for both tree and generic
multicast graphs, an auxiliary, search graph Gr is constructed. The search graph is tied to
a particular join request, and its construction is baseci on the the current rnulticast graph and
on the contents of some of the da ta structures associatecl with it. The construction of Gr stems
from considerations explained extensively in previous sections: It provides a network where
CSP algorithms can be applied to yield a feasible virtual circuit of satisfactorily small coçt.
Input: The current multicast graph GM, user u, QoS requirements b,,du. Output: An auxiliary graph Gf = (V', E') used by APPROXVC
O Initiaiiy V' = V and Ef = 0 1 For dl edges e = (ui, vj) with e E E do
2 If available(e) 2 bu and d(e) 5 d, then
3 define ef = (u;, vj) with w(e') = bu and d(e7 = d(e)
4 E' = Ef u (e')
5 For ail nodes v E VM do
6 For ail q with C$ E C, do 7 If overcost(C$, b,) < oo and d(C$) 5 d, then
8 Define e', = (v , s), with w(ei) = wercost(C$, bu) and d(ei) = d(C$).
9 E' = Ef u ( e t )
The algorithm for computing E-approximate connections is, in a matter, rerniniscent of the
algorit hm FINIS' AT HO^ Subsection 2.3.2. Unli ke the auxiliary graph employed by OPTIMALVC,
here, a node v of the multicast graph GM may be connected to the source, by means of a set
of edges of the form e', = (s, v) , , where q is index such that C$ E C,,. The choice of classes that
contribute such an edge to the construction of Gr is determined by feasibility criteria, narnely,
the edge is present only if ouercost(Cz, bu) < cm and d(C$) 5 du. As one would expect, the
latter expressions are the weight and delay values, respectively, of edge e', = (s, c),. That is to
Say, the characteristics of the edges (s, v ) , are identical to the coht and delay overhead, incurred
by the representative path of class C$, should the selected virtual circuit use C$ as its friend
class.
We illustrate the construction of G' by APPROXVCAUX, by rneans of an example, depicted
in Fig 3.3. The auxiliary graph refers to the example of page 72, assuming that node 10 issues
Algorithm APPROXVC
Input: The current multicast graph GM and join request rj = join(u, bu, du). Output: A connection path Pu. Returns NIL if no feasible path is found.
1 For al1 v E GM do 2 For al1 q such that C: E C, do
compute overcost(C& 6,)
3 G' = APPROXVCAUX(GM, u, bu, 6) 4 P(u, S) = APPROXCSP(U, S, 6, E )
% APPRoXCSP runs on multigraph Gr 5 If P(u, s) = 0 then return NIL
else 6 Let e' = (s, w ) with w E V' be edge in P(u , s)
Ife' is of the form (s, w) , then
7 Map path P ( u , w ) = P'(u, s) - {e') into P(u, w) in G.
8 Return [P(u, w), P'(s, w)]
else 9 Map path P ( u , s) into P(u, s) in G 10 Return [P(u, s) , 01
a new join request, with bandwidth and delay requirernents q u a 1 to 20 and 40, respectively.
Boldfaced edges correspond to edges of the form e' = (s, o),, where u E VMl and q is a clas
index, for classes defined on node v . For convenience, we use the name of the class t o distinguish
between multiple edges that connect the same end-nodes in the multigraph. We aiso resort to
Table 3.3, which contains the overrouting cost values we need t o construct the auxiliary graph.
The introduction of the above edges and has the following implications on the design of the
approximation join algorit hm:
Since the weight values assigneci on edges vary, we can not rely on exact CSP algorithms,
because of the exponential complexity they incur in worst-case scenarios.
1 Edee in Gr 1 Weinht 1 Delav 1
Figure 3.3: The auxiiiary graph G', for the example of page 72, as constructeci by APPROXVCAUX.
a The construction gives rise to a multigraph G', with two nodes being connected by (pos-
sibly) a multipiicity of edges of varying characteristics. We resort to Our discussion of
Subsection 2.1.5 for eapproximation solutions to the CSP problem on multigraphs.
a A last, and certainly more subtle effect of the application of the approximation algorithm
Iies on the fact that the joining path, as determined by the algorithm, is not necessarily
minimal. Recall that according t o the definition of Section 3.2, the joining path is said to
be minimal if and only if no previously aiiocated resources along the edges of the joining
path can be exploiteci to accommodate the new request. Instead, a separate allocation of
bandwidth equal to bu is required on every edge of the joining path. In contrast, the pro-
posed algorithm may result in providing a virtual circuit whose joining-path component
is not minimal: This implies a potential waste of resources due to reservation of excess,
unnecessary resources on some of the joining path edges. Aithough this does not consti-
tute a serious impediment in the cost-efficiency of individual connections, it may trigger
undesired long-term effects, such as edge congestion. We show a simple but effective way
to circumvent this problem, in section 3.5.4.
3.5.2 Correctness of APPROXVC
Here, we establish the correctness of the proposeci aigorithm. The foiiowing theorern addresses,
in addition, the issue of the quaiïty of the computed virtual circuit, with respect to its total
cost.
Thêorern 3.2 Let GM be the currient rnulticost p p h , and t j = join(u, bu, vu) be a join mquest
issued by node u. Then:
i) Let Pu be the optimal feasible virtual circuit for mquest ri. Algorithm APPROXVC returns
a feasible virtual circuit of cost at most (1 + e ) times the cost of Pu.
ii) If no such feasible path ezists, then APPROXVC mturns NIL.
PROOF
Part i): Since Pu is a feaçible connection path, there exist u E VM and index q, such that
CU E Cu is the friend class of Pu and Pu = e(u, v ) U Pm(s, v ) . Accordingly, paths Pj (u, v ) and
E u ( s , v ) satisfy the properties dacribed by (3.4), (3.5), and (3.6). The cost incurred by the
optimal virtual circuit is given by (3.7).
By (3.5) and step 2 of APPROXVCAVX, there exists a path from u to u in Gt, which traverses
the same sequence of nodes as Pj(ul u) ; let us denote this path by q ( u , v). Moreover, evew
edge of q ( u , v) has t he same delay as the corresponding edge in Pj(ul v ) , namely the edge
t h a t connects the same set of adjacent nodes in G. Hence, d ( q ( u , u ) ) = d(Pj(u,v))- A h ,
by properties (3.6), and (3.4), and steps 7-9 of APPROXVCAUX, it foUows that there exists en
edge of the form e', = (s, v) in Gtl of weight w (et) = overcost(C~, bu) and d(eo) = d ( C t ) =
d(PW(s, v ) ) -
Therefore, i t turns out t h a t the path q ( u , v ) u {et} , in G' has total delay q u a 1 t o
and total weight equal to
w ( e (u, u)) + w (ek) = (number of edges of q ( u , v ) ) - bu + ovcrcost (Cv, 6,)
= (number of edges of Pj(u, v ) ) 4, + overcost(C~, bu) (3.10)
where the last expression is identical to the tota l cost of t he optimal v i r t u d circuit Pu, as
defined by (3.7). Expressions (3.9) and (3.10) suggest t h a t there exists a path in G' of tota l
delay at most du and total weight equal t o t he cost of Pu. Hence, t he CSP approximation
algorithm does not return NIL, t h a t is to Say, P ( u , s) # 0.
Suppose t h a t t here exists a n edge of t he form e;, = (s, w ) , ~ , in P ( u , s) , for some index q'; If
no such edge exists, the proof proceeds in a simiiar way. Notice t ha t ali edges of t h a t particular
form, for various combinations of nodes v a n d indices q, a r e adjacent to the source. Thus, only
one such edge can be contained in P ( u , s). Notice also t h a t t he remaining edges, namely edges
of P(u , w), a r e due to s tep 2 of APPROXVCAUX. This implies t h a t available(e) 2 bu, for ali
e E P(u, tu), thus (3.5) is satisfied. In addition, steps 7-9 of APPROXVCAUX suggest tha t
Therefore t he overlapping pa th P,t(s, to) computed by t h e dgor i thm satisfies (3.6). Notice here
t h a t the friend dass for t he returned connection path is c$.
It remains t o prove tha t the computed virtual circuit observes the delay requirement. As
explained above, every edge in P'(u, w ) has the same delay value as the corresponding edge in
G', thus d(P'(u, w ) ) = d(P(u, w ) ) . Moreover, by step 8 of APPROXVCAUX,
d(Fqf(s, ut)) = d(e3 = d ( ~ $ )
and summarizing, the total delay of the returned path is equal t o
because the delay expresseci by (3.11) is the delay of the path returned by the approximation
CSP algorithm, in s tep 4. Thus, the computed path is feasible with respect to total delay, and
a bserveç (3.4).
Finally, we demonstrate the efficiency of the solution, in terms of the total cost of the
computed virtual circuit. The latter cost is equal t o
(number of e d g s in P(u, w ) ) bu + overcost(C$, bu) =
(number of edges in P ( u , w)) bu + ouercost(C&, bu) =
= to (P'(u, w)) + w (e') =
= w(P(., 4)
The result foliows by observing tha t the latter weight is at most (1 + E ) times the weight of
the optimal virtual circuit Pu.
Part ii): Suppose, by way of contradiction tha t the algorithm returns a feasible connection
pat h, whereas no such feasible connection exists, given the current multicast graph and the join
request. Also, suppose t h a t t he computed path is of the form [P(rr, w ) , F'(s, w)] , with w E VM,
CU, E C,, and Fq (s, 70) # 0. The proof for the special case where the overlapping path does not
exist goes along similar lines.
The following properties are implied by the existence of such a virtual circuit:
1) There exists an edge ei = (s, w ) ~ such t ha t ouercost(c, bu) < oo. Thus, condition (3.6)
is satisfied.
2) Evecy edge e' in P'(u, w ) is appended in G' in step 2 of APPROXVCAUX. Let e be the
corresponding edge of e' in G'. Then available(e) >_ bu, and al1 edges of the computed
joining path preserve (3.5).
3) By construction of G', and specificaliy step 2 of APPROXVCAUX, we have d ( P ( u , w ) ) =
d(P(u, ut)). In addition, d(Fq(s, m ) ) = d(ei) = d(C$) , by step 8 of APPROXVCAUX. W e
then have
d(P(u , w ) ) + d(C,Q) =
= d ( f ' (u , w ) ) + d(Pq(s, w ) )
= d(P'(u, pu)) + d(e i )
and the latter delay is bounded by 6, because i t represents the overall delay on the path
computed by APPROXCSP, and such a path exists, otherwise the algorithm would return
NIL. We conclude t h a t the computed path observes the delay constrained i m p d by the
user.
CHAPTER 3. WHEN CIRCUITS APPEAR: THE CIRCUIT ALGORITHM 100
The above facts indicate tha t [P(u, ut), Fq(s, TU)] is a feasible path, a contradiction to Our
initial assurnption- O
3.5.3 Complexity Analysis of APPROXVC
We now provide the tirne-complexity analysis of APPROXVC. The implementation relies on
the same collection of d a t a structures describeci in Subsection 3.4.3. A h , the complexity
incurred by some steps of our algorithm has already been discussed in the context of the optimal
virtuai circuit algorithm. For instance, we already know t h a t step 2 of APPRoxVC, namely
the computation of the overrouting coût for aU classes and request 6, can be accomplished in
O (n2 k log k) time.
The approximation join algorithm exhibits two key differences when compareci to the opti-
mal:
a The auxiliary graph Gr is a multigraph, with at most k edges connecting two adjacent
nodes. This is due t o edges of the form (s, u),: the precise number of such edges, for a
fixed node v E VMl is bounded by the number of distinct classes on node v .
a The approximation CSP algorithm is invoked only once in APPROXVC, as o p p d to the
substantially larger number of calis t o OPTIMALCSP t h a t were required in the execution
of OPTIMALVC. O n the other side, we have to take into consideration the multigraph
property of Gr, since the multipiicity of edges affects the complexity of solving a CSP
problem on such an input graph.
In Subsection 2.1.5, we proposed a technique for extending any CSP algorithm, designed for
simple graphs, t o multigraphs- h a l l that t he technique increases the zwyrnptotic complexity
of the algorithm by a multiplicative factor equal t o the number of edges of the multigraph.
Specifically, if T (n , m) is the tirne complexity of a CSP algorit hm, assuming simple graphs as
inputs, the complexity of the same algorithm, when applied to multigraphs is bounded above
by T ( n m , 2m).
By inspecting the join algorithm, we observe that the complexity of APPROXVC k deter-
mined by the cornputation of overrouting costs (step 2), as well as by the CSP algorîthm invoked
in step 4. Notice, dso, t ha t the APPROXVCAUX procedure generates an auxiliary graph that
has at most m + nk edges. Summatizing, the total worst-case cornplexjty is equal to
0 (max{n2k log k, T ( n ( m + nk) , 2(m + n k ) ) ) )
where T(n , nz) corresponds to the complexity incurred by the CSP algorithm, for a simple graph
of n nodes and m edges.
Notice, however, that there some of the approximate CSP algorithms incorporate the a p
plicabili ty to multigrap hs in t heir design. For instance, one of Hassin's pseudopolynomial alg*
r i t h m [IO], as we commented in S u bsection 2.1.4, does not discriminate between simple graphs
and multigraphs. The complexity of that particular algorithm is O (log log U ( m ( n / c ) + log log U) ) ,
where (/ is an upper bound on the weight of the optimal solution. The application of this al-
gorithm yields a bound on the cornplexity of APPROXVC tha t is asymptotically wual to
0 (max{n2k log k, log log U ( ( m + nk) ( n / c ) + log log U)))
Since we expect the term loglog U to be fairly small, compared to n, when edges as-
sume bandwidth and delay weights typical to the corresponding characteristics in real net-
works, APPROXVC is promises better scalability benefits in a real-network environment than
OPTIMALVC-
3.5.4 Virtual Circuits with Minimal Joining Paths
When describing the APPROXVC algorithm, in Section 3.5.1, we rnentioned tha t t h e joining-
path component of the nmal circuit computed by the dgor i thm is not necessarily minimal.
Here, we investigate the effect of this shortcoming o n the efficiency of Our solutions, a n d propose
a simple, bu t effective way to transform the virtual circuit computed by APPROXVC into a
connection with minimal joining path.
1 Algorit hm MINIMALJP
Input: A virtual circuit of t h e form [Pi(u, - v ) , Pm(s, v)], with CY E C,, Output: A new decornposition [ q ( u , w ) , P;(S, w ) ] , C$ E Cu-
Traverse Pj (u, v), s tar t ing from node v.
Let w be the currently visited node, a n d e = (w, t), with z preceding w in Pj (u, v ) .
1 Search for index q' such t h a t C$ E C, and Fqt(s, w ) = Fq(s, v ) U P,(v, w )
2 Compute overcost (c$ , b,)
3 Continue until you reach the last node in the traversal t ha t satisfies t h e
condition of s tep 1. Return [Pj(u, w ) , pf,(s, v ) U Pj ( v , w) ] .
T h e algorithm aims at identifying a maximal subpath of t h e joining path which could be
considered as part of t he overlapping path instead. This is accomplished by performing a
traversal of t h e joining path s tar t ing with node v. FoUowing t h e s tandard notation, we denote
by C; t he friend class of t he virtual circuit serving the last join request. Let w be the node
currently visited by the modification procedure. Suppose &O t h a t there exists index q' such
t h a t C$ E C, such tha t the representative path for class C$ is identical to t h e union of t he
overlapping path, that is, path Fq(s, v ) , and the subpath of t h e joining path so fat traversed
by hdINIMAL.JP, denoted by Pj(u, w) . T h e implication of t he last statement is t h a t resource
sharing can take place not only ovet edges of h(s, v ) , as the join algorithm suggests, but dong
the path Fq(s, V ) U Pj(v , ut). Aiternatively, it means tha t path Pj(v, tu) can be appended to
the representative path of the friend class, to yield a new overlapping path. Hence, instead of
dedicating an amount of bandwidth equal t o bu, for exclusive use by the virtual circuit serving
the new member u, we c m exploit existing resources avaiiable on a part of the joining path. The
computation of the overrouting cost of the appropriate class on w, under request 6, is motivated
by the above observation: This cost determines the additionai bandwidth idlocation which takes
place during the update of the multicast structure, as wiil be describecl in the sequel. Notice
tha t the procedure for modifying the two components of the virtual circuit upholds feasibity,
since it involves exclusively edges of the feasible virtual circuit, as computed by APPROXVC.
The traversal of the joining path continues until a node is reached for which no class satisfy-
ing t he property of step 1 can be found. In such a case, we can not expect t o attain benefits due
t o existing resources reserved along edges of the unvisited joining path. Namely, the new virtual
circuit is responsible for exclusive use of bandwidth equal t o 6, over the edges of the unvisited
path. The procedure terminates by assigning the traverseci path as part of the overlapping
path.
Notice tha t if the virtual circuit is identified by the OPTIMALVC algorithm, the modification
pass does not affect its decomposition into joining and overlapping paths. If such a modification
occurred, it would irnply a n improvement on the overall cost of the connection path, which
contradicts the optimality of OPTIMALVC.
Finally, i t is not difficult to perceive tha t the modification does not affect, asymptoticaliy,
the complexity of the APPROXVC algorithm. Let z and w be two nodes visited by the procedure,
in tha t order, such that z and w are the nodes adjacent t o edge e. Suppose a h that the classes
specified in the execution of step 1 are CL1 and CE, respectively. Then, overcost(C~,b,) can be
computed by summing ooercost(Czl, 6,) and cwercostw,, (e), in accordance with the definition
of Section 3.2, page 74. To calculate the overrouting cost of edge e, we first Iocate the desirable
class, i.e., the class observing the property of step 1 of the procedure, in 0 ( k ) t h e . Since we can
access allocate&,, (e) in constant t ime (recall that classes are structured as max-heaps), the
computation requires time O(k) . Thus, the overail complexity is of order O(nk) , substantiaily
less than the complexity incurred by the computation of the virtuai circuit.
Updating the Multicast Graph
Subsequently to the identification of a feasible virtual circuit, multicast-related information, as-
sociated with edges and nodes of the multicast graph has t o be updated. The update procedure
must be viewed as an integral part of the join algorithms, for two reasons: i) both correctness
and consistency of the join algorithms strongly depend on the existence of a n underlying u p
da te mechanism. Inconsistencies during updates may give rise to erroneous computation of the
virtual circuits, and jeopardize essential properties such as feasibility; and ii) the algorithms
employ multicast-specific data structures, which are storing information related to the alioca-
tion of resources throughout the network. Thus, a cursory update can lead to an unrealistic
estimation of the total amount of resources required to accommodate the requests.
Two are the main functions of UPDATEVC: First, the virtual circuit is estabfished, and
nodes or edges previously outside t h e multicast graph become now part of it. This action
involves a series of node insertions into the appropriate classes and gives rise t o a new multicast
graph: the next join or leave request will refer t o the updated multicast graph. Second, d a t a
structures usecl by the F~NDVC algorithm, such as the allocated and available bandwidth on
edges or the total delay of a cIass, a re updated.
As mentioned repeatedly throughout the Chapter, the format of the connection path, namely
Input: GM, virtual circuit Pu of the form [Pj(u, u), P,(s, v ) ] , with Cz E C,, and user's bandwidth requirement bu-
Output: Updated multicast graph G h .
Traverse Fq (s, v) from source s t o node v.
For every edge e = (wl, w2) in the traversal with wl preceding w2 do
Find C z E C, such t h a t Q C Cz
I n s e r t ( C z , Pu, bu)
allocated(e) = alhcated(e) + w e r ~ o s t , , ~ (e, b,)
available(e) = available(e) - ouercost, ,,, (e, bu)
Traverse Pj(u, v ) from node u t o node u.
For every edge e = (ml, w2) in the traversal, with wl preceding wp in Pj(ir, V ) do
set MGnode(w2) 41
Create a new class Cw consisting only of P., and set Pr (s, w2) = = pu (s, ~ 2 ) -
Set d(CI , ) = d(PU(s, w2) )
Set allocated(e) = bu and available(e) = c(e) - bu
its decomposition into joining and overlapping components, facilitates the update procedure.
Notice tha t the two paths incur different types of updates. In particular, the additional band-
width allocation takes into account the sharing of resources, for edges of the overlapping path,
whereas every edge of the joining path reserves additional bandwidth equal to bu.
We describe in detail the update actions associateci with each path component, The al-
gorithm first traverses the overlapping path. For the currently visited node, denoted in the
pseudocode by w2, it first identifies t h e unique class which contains the friend class of the
connection path, according t o the containment property, as describeci in Section 3.2- This par-
ticular class can be found by comparing the representative paths of al1 classes on wz with the
subpath from s t o w2 of the overlapping path: once the two paths are identical, the class sought
is found. According to the definition, Pu should become a member of this class; in step 3, Pu
is indeed inserted in the appropnate class. It should be stressed tha t the Insert operation
also updates implicitly the ~ r i a b i e allocate&,,(e), where e is the adjacent t o node w* edge
as traversed by the algorithm. This is due to the fact tha t the value of allocate&,,, ( e ) is
identical t o the maximum bandwidth requirement of paths in ciass Cg , or, alternatively, the
"value" fieid of the root, in the max-heap representation of the class. For that reason, we do
not explicitly include this update in the set of actions performed by UPDATEVC- We also know
the exact minimum amount of bandwidth that edge e has t o reserve, for use by paths of class
Cg: it is equal to the overrouting cost for the class under request 6,. The variable associated
with the available amount of resources is then decreased accordingly.
The updates occurring along edges of the joining path slightly differentiate from the update
of overlapping path, although the underlying approach remaitis effectively the same- Recall
that the joining path is considered to be minimal, therefore, for every node wz in the path Pu
cannot be a member of an already existing class. Hence, a new class is created, containing P,
as its single path. The aliocated bandwidth for the class is set to bu, to specify the amount
of resources used exclusively-for the moment-by user u. Later requests may be served by
connections that take advantage of such resources.
Notice that the virtual circuit is inserted into the proper class for nodes of the overlapping
path. On the other hand, a new class has to be created for nodes of the joining path. The
update mechanism guarantees that the partition of paths into classes is consistent with the
class definition.
To estimate the time complexity, it is sufficient to observe that on every node of the virtual
circuit traversed by the algorithrn, i) the representative path of every class is a c c d , at worst
case; and ii) an Insert operation is applied to only one class. The cost incurred by such
CHAPTER 3. WHEN CIRCUITS APPEAR: THE CCRCUIT ALGORITHM
operations is O(k + log k), hence the o v e d complexïty is O(n(k + log k)) = O(nh).
3.7 The Leave Algorithm
We conclude the presentation of BD-MCAST algorithms for general multicast graphs, by ad-
dressing the issue of serving leave requests, R e d 1 t hat a current participant of the group, say u,
can request disconnection from the multicast group, at any arbitrary point of tirne. To process
the request, the leave procedure traverses the virtnal circuit Pu dedicated to u. Throughout the
traversal, the algorithm determines the minimum amount of bandwidth that can be reclaimed
without violating the feasibility of the remaining virtual circuits. In addition, Pu is deleted
from al1 classes defined on nodes of the connection, Thus, subsequently to the member's leave,
the virtual circuit P, ceases t o exist.
Let u s elaborate on the details of the VCLEAVE algorithm. Assume that wl is the current
node visited by the traversal and e îs its adjacent edge, as specified in the pseudocode. In step 2,
the unique class on node ut1 that contains Pu is sought. Since u abandons the multicast group,
Pu is deleted from the latter class, as illustratecl in step 4. The removal may affect the minimum
amount of bandwidth required t o support the feasibiity of the remaining connections of the
class; such a case arises when the removed virtual circuit accounts for the maximum bandwidth
requirement among ad connections of the class. The above observation explains the purpose of
step 3: The maximum bandwidth requirement among paths of the ciass, denoted by c u r r e n t h ,
is found, before the deletion of Pu is effected. If after the deletion the class is empty, an amount
of bandwidth equal to currenthw returns to the pool of amilable rexiurces (step 6). Moreover,
if the collection of al1 classes of the node is empty, then no virtual circuit passes through the
node, thus its membership to the current multicast graph is reset.
In case, however, the class identifiai in step 2 is not ernpty, foilowing the deletion of the
Input: GM and a leave request rr issued Dy u. Output: Updated multicast graph GL. T h e aigorithm also performs reclaiming
of resources.
Traverse Pu from u to S.
For every edge e = (wl, w2) in t h e traversal, with w2 preceding w l in Pu do
Find Cgl E C,, such that P, E Cz; Set current-bw = FindMaz(C%,)
Delete(Cz , Pu) If Cz; = 0 then
reclaim bandwidt h equal to current-bw
If C,, = 0 then reset MGnale(wi)
else
requiredhw = FindMaz(C2, )
set allocated,,,,, ( e ) = allocate&l,pl (e) - (currentbw - r e q u i r e d h )
set available(e) = available(e) - (currentbw - requiredhw)
connection, some partial resource deallocation may be possible. This is determined by finding
t h e maximum bandwidth requirement among paths in the chss, subsequently to t h e deletion of
Pu; t he variable requireddw stores this amount. Notice t ha t currenthw 5 requiredhw, and
the difference currentdw - required-bw specifies t he maximum amount of resources t hat can be
reclaimed, should the feasibility of the remaining paths be upheld. The reclaiming introduces a
decrease t o the aiiocated bandwidth of the specïfic edge, as weii as a corresponding increase of
the resources available on that edge. The updates a r e described in steps 10 and If , respectively.
Finally, we give an upper bound of the worst-case asymptotic complexity incurred by
VCLEAVE. We refer the reader to the discussion on the d a t a structures u s e d by the algo-
rithms of Subsection 3.4.3. Step 2 can be carried out in O(k log k) time, since at m a t k Find
operations are involved. Steps 3 and 4 require O(1) and O(1ogk) time, respectively (by the
properties of the max-heap). Logarithmic on k complexity is also attributed t o step 9. The
remaining steps can be executed in constant time. The overall complexity overhead of the
VCLEAVE is t herefore O(nk log k) .
3.8 Conclusions
In this Chapter we defined a new paradigm for online multicasting with bandwidth and delay
guarantees. Motivated by examples tha t demonstrate the inefficiency of multicast trees, we
abandoned the requirement of maintaining tree-structured multicast graphs. We defined the
concept of CZass as an effective means for formalizing t h e efficient packing of feasible virtual cir-
cuits. We provided bot h optimal and near-optimal join algorit hms, wit h provable performance
guarantees and low-degree polynomial complexity. Both algorithms observe the minimality
of the joining path. As in the case of tree-based BD-MCAST, the join algorithms were s u p
plemented by an update procedure, for guaranteeing upto-date muiticast-specific information.
Finally, we showed how t o perform efficient reclaiming of resources, subsequently t o a member's
leave.
Chapter 4
Extensions and Future Work
This Chapter is focused on extensions of BD-MCAST algorithms, and on directions for future
research, as motivated by Our work. In particular, Section 4.1 describes how the solutions
can be applied, with simple modifications, to: i) environments tha t are represented by directed
networks; ii) networks where edges are associatecl with a bandwidth variation parameter; and iii)
environments where offline BI)-MCAST algorithms are required. On the other hand, Section 4.2
identifies several issues for further research, including: i) the construction of backbone multicast
trees with high link capacity and s m d delay; ii) the reconstruction of multicast networks, in
dual QoS environments, iii) a distributed implementation of the proposed algorithms; iv) the
exploitation of the hierarchical, aggregated topology of modern broadband networks in order
t o improve the scalabiity of the solutions; and v) on-line cornpetitive analysis issues.
4.1 Extensions
4.1.1 Extension to Directed Graphs
In this section we provide simple, bu t effective extensions of our algorithms to networks t h a t are
represented by directed graphs. Such a generalization is not a n issue of secondary importance,
but rather an essential requirement, a n d is rnotivated by the fact t h a t undirected graphs fail t o
capture the directivity of traffic in real networks. Specificaüy, the two opposite, directed links
t ha t connect the s ame pair of nodes ( a h called pear links in what folIows) a re not expected
to have t he same capacity and/or delay values. In fact, the characteristics of pear links are
likely to vary significantly. T h e diversity of those characteristics is largely due to upgrading and
maintenance procedures t h a t frequently occur in real networks; it can not be guaranteed, neither
it is always desirable t h a t t he peer links will be identical in terms of total capacity and delay.
Furt hermore, faults occurring in one of t h e pear links do not necessarily affect the functionaiity
of the opposite link, as i t is assumed in the undirected-graph model. Previous research has
indicated t ha t multicast-related problems are harder to approach when the underlying network
is assurneci t o be represented by directed, rather than undirected graphs [25] [19].
We present the minimal modifications t o both TREE and CIRCUIT aigorithms t h a t allow
them t o be applied in directed networks. These changes d o not affect t he performance rneasures
of Our solutions, such as t h e quality of individual connections, or the asymptotic time complex-
ity. T h e extensions a r e b d on the fact t h a t Hassin's [IO] algorithms for t he CSP problem are
not restricted t o undirected graphs, b u t can aIso operate over directed graphs.
0 Modifying the TREE algorithm: In the presence of directed edges, t h e multicast graph is
constrained t o a tree-structurcd graph. In particular, t he multicast graph is a n arhmscence,
namely, a directed graph with the source s as its root, in which there exists only one elementary
CHAPTER 4. EXTENSIONS AND FUTURE WORK 112
path from s t o each one of the current participants. To maintain a n arborescence tha t p a r a n t e e s
the QoS requirements of the user, the join aigorithm seeks an optimal, o r near-optimal feasible
direct path from the source s - t o the new participant, say u. When such a path is identified, the
algorithm traverses the directed edges of the joining path and invalidates ail opposite edges. In
other words, the aigorithm assumes that such edges no longer appear in t h e physical network.
Indeed, if the latter edges were used in subsequent joins, the resulting multicast graph would
not necessarily be an arborescence.
Modifying the CIRCUIT algorithm: In Chapter 3, we introduced the concept of a class of
paths as a tool for aliowing connection paths to share resources on common edges. The same
paradigm can be applied in directed graphs. In particular, consider a node v of the current
multicast graph, and let Pu; and Pu, be two virtual circuits tha t pass through v. T h e two
paths belong t o the same class, defined on node v , if and only if their dimcted subpaths from
the source s t o node v are identical- Notice tha t every directed edge is associated with distinct
variables that m e s u r e the currently allocated, as well as the available bandwidth on that edge.
In contrast, peer edges are sharing the same set of variables, when the underlying network is
undirected. The latter merely ilustrates the fact that the capacity of a certain undirected edge
is used to accommodate traffic through the edge on both directions. In this context, Eq (3.1),
which sums the contribution of a U virtual circuits, and for both directions, to the allocation of
bandwidth on a specific edge, becomes obsolete in the directed-graph setting.
4.1.2 Deding with Bandwidth Variation
So far we extensively commented on one of the advantages of approximation algorithms, over
optimal ones, for identifying feasible connection paths: the improved scalabiity. Specifically,
the application of approximation CSP algorithms t o the design of BD-MCAST algorithms im-
proves the overail time complexity, without compromising the efficiency of the solutions. The
approximation techniques feature an additionai attractive property: they yield algonthms that
are more robust and more adaptive t o specification changes, than the corresponding optimal
algorithms.
Consider, for instance, the following version of the BD-MCAST problem. Every edge in the
network is associateci with a hndwidth variation, denoted by u(e). The d u e of the bandwidth
variation may change over time; for example, it may depend on the current congestion of the
edge. When a potential participant u 'hues a join request with bandondth requirement equal
to b,, a feasible connection path Pu has t o be provided. Moreover, the the modified problem
specifies that an amount of bandwidth q u a 1 to b, + u(e ) is required on each edge e of the
connection path. The above requirement implies that edges of the joining path, for both TREE
and CIRCUIT algorithms, are not contributing on an uniform b a i s t o the total cost of the
connection path. A further implication is that the auxihary graphs, as created by the optimal
algorithms, will be assigneci non-uniform ways, which in turn prohibits the application of exact
CSP algorithms, since the corresponding problem is NP-hard.
In contrast, the BD-MCAST algorithms that built on approximate CSP solutions, namely,
FPTAS for the CSP problem, as discussed in Subsection 2.1.4, are immune to the above mod-
ification. This is attributed to the construction of the auxiliary graph, in the latter class of
algorithms: Edges assume, by construction, non-uniform weights, so the new specification does
not introduce any additional restrictions. The only chance concerns the exact assignrnent of
weights on the edges of the search graph, since in t h k case, the bandwidth variation has to be
taken into consideration.
CHAPTER 4. EXTENSIONS AND FUTURE WORK
4.1.3 The OfHine BD-MCAST Problem
Our study of the BD-MCAST problem has focuseci, so far, exclusively on online algorithms,
namely algorithms that are serving each request individuaily, and are oblivious of future re-
quests. The adaptation of the online framework is motivated by real networks, since the network
provider does not have secure information about the sequence of requests. In the offline, as
opposed to the online version of the problem, the algorithm has complete knowledge of the
sequence of requests. The optimization objective remains the same: the dgorithrn aims a t
maximizing the number of users adrnitted in the multicast group, without violating feasibility.
In addition, for the maximum number of successfully admitteci users, t h e multicast graph of
minimum total cost is sought. Although in a real network environment requests a re served
in online fashion, the offline version of the problem is not insignificant, for the following rea-
sons: i) Offfine algorithms can be applied t o reconstruct the multicast graph, in case its quality
has degraded throughout the on-line service of requests; and ii) The network provider, may
occasionally buffer requests arriving within a certain time window (the width of this window
strongly depends on the complexity attained by the join/leave algorithms). Requestç issued
within a single window are then processed off-line.
Any online BD-MCAST algorithm can be applied in the offline setting, by serving every
request individually, as if t he sequence of requests was not known beforehand. T h e obvious
drawback of this approach is tha t i t ignores information provided by the knowledge of the
sequence. An alternative heuristic is t o arrange the requests in a specific order, and subsequently
invoke the online algorithm, with the modified sequence as input. Similar techniques have b e n
previously used in the Literature. For instance, when no delay requirements are imposed on
the quality of the provided service, Faloutsos et. al. [6] are serving the requests in decreasing
order of bandwidth requirements. T h e intuition behind the ordering is t h a t once the connection
paths for users requesting high amounts of bandwidth are established, the connection paths for
t he remaining, less demamding requests can take advantage of the already allocated resources.
Informally, nodes with relaxed bandwidth requirements can attach to connection paths of high
d o c a t e d bandwidt h, and hence acquire the resources desired.
An obstacle tha t emerges when considering the ordering of requests, in the context of the
BD-MCAST probiem, is related to the dual QoS guarantees. In particular, there is no clear
way of defining an efficient ordering function in terms of the bandwidth a n d delay guarantees.
One may picture the requests as points in the two-dimensional space, where the two dimensions
correspond t o the values of the bandwidth and delay guarantees. There might exist points with
strict bandwidth and relaxed delay requirements, and vice versa; whether the former requests
should be served before the latter is hard t o argue. In an ideal scenario, the early-served requests
should be characterized by high bandwidth and low delay requirements. Subsequent requests
could then take advantage of existing connection paths. We thus propose a hybridic heuristic,
in which the requests are arranged in groups, each one corresponding to a specific range of
bandwidth requests. The groups are arranged in decreasing order of the associated bandwidth
values, while requests inside each group are ordered in increasing delay requirement values. The
reordered sequence ïs then provided to the online algorithm, and served accordingly-
Another 'issue tha t is raised, when studying offline algorithrns, is the hardness of approxima-
tion for the problem in question. To the best of Our knowledge, no previous work has addressecl
t he offline BD-MCAST problem, when the primary optimization goal is t o admit as many users
as possible without violating feasibiity. When, however, the objective Lies on the minimiza-
tion of cost for admitting a certain group of users, then we can provide lower bounds on the
performance of any offline algorithm. In paticular, consider the foliowing problem, which is
closely related to the DSTEINER problem: The instance consists of a graph with edges being
CHAPTER 4. EXTENSIONS AND FUTURE WORK 116
assigned weight and delay values, a certain node s designated as t he source, a n d a set D of
destinations. We seek the minimum-weight tree t h a t spans D, such that the delay from the
source to every destination is bounded by some known d u e A. In [20], Manyem and Staiimann
provide an approximation-preserving reduction of t h e Minimum Set Cover problem [8] t o the
problem defined above, even for instances restricted to graphs with edges of unit weight and
de!ay. Notice tha t the cost incurred by the minimum-weight tree t h a t spans D is equal t o the
total bandwidth d o c a t e d on the edges of the tree, if we assume t h a t dl destinations request
unit bandwidt h d o n g the edges of their connection pa t hs.
We use the following result on the hardness of approximating the Minimum Set Cover
probiem [?]:
T heorem 4.1 (Feige9Q6) Unless N P C DT I M E (nbglOgn ) , the Minimum Set Cuver pmblem,
with a universe of s i e k , cannot be appmximated to better than a log n factor.
Feige's theorem implies tha t no offline algorithm can approximate the BD-MCAST problem
within a logacithmic factor, when the objective is t o minimize the cost incurred by the multicast
graph, u n l e s N P Ç D T I M E ( ~ ' o ~ ' o ~ " ). I t would be instructive t o contrast this result with
the offline Steiner Tree problem, for which there exist efficient algorithms t h a t achieve an
approximation ratio of at most 2 [39] [l?].
4.2 Future Work
In this Section we sketch our directions for future research related to the BD-MCAST problem
and some of its variations. It should be stressed tha t , for many of the issues addressecl, better
insight can be gained only by extensive simulation analysis of the algorithms. In this context,
we consider experimental results as the predominant component in our future work.
4.2.1 Enforcing Multicast 'Rees of High Capacity and S m d Delay
One of the potential problerns that may atise throughout the s e ~ c e of join and teave requests
is the emergence of 'lcutoffn multicast graphs. Namely, t he sequence of requests may result in
a multicast graph of deterïorated quality, which prohibits the satisfaction of further requests.
Tree-based algorithms are expected to be more prone t o such a drawback than algorithms t h a t
maintain a non-acyclic multicast network. In addition, the problem may manifest itseif to a
iarger extent during the early stages of the construction of the rnulticast tree-
To illustrate the implications of the above remark, consider the following scenario. The
sequence of requests consists of two groups: The first group corresponds to join requests of
relaxed bandwidth and delay requirements, whereas the second group contains requests t h a t
a r e characterized by relatively strict requirements, Moreover, suppose t h a t the second group
outnumbers the first, and t h a t its requests are preceded by the first group, in the online sequence.
If the above set of requests is given as input t o the TREE algorithm, then i t is Likely that, after
t h e requests of the first group will be served, the multicast tree will contain edges of small
capacity and large delay. Our discussion of Subsection 1.4.1 and Section 3.1 suggests t h a t the
chances tha t such a tree can accommodate the requests of the second group are significantly
reduced.
A simple heuristic t o circumvent the above problem enforces the maintenance of multicast
trees with edges of high capacity and small delay. This can be accomplished by increasing,
by a certain amount, the bandwidth requirement of relaxed requests, so t ha t subsequent, and
more demanding requests will be not rejected due to capacity constraints on the tree edges.
Notice tha t the increase of the bandwidth requirement is oniy virtual and does not affect t he
actual allocation of resources on the edges of the established connection path. Informaliy, t he
request is routed as if i t was real, in order to introduce high capacitated edges t o the multicast
tree. Following the same reasoning, the delay requirement of non-demanding requests can be
decreased accordingly, so tha t edges of high delay overhead are less iikely to be included in the
multicast ttee.
T h e recommended solution relies on the assumption tha t a classification of requests as
"strictn or "relaxecl" can be effected. In real networks, such information may be avaiiable, and
the network provider may be able t o identify a certain request as beionging to a particular
group, according t o the values of its requirements. For instance, the ATM mode1 defines five
distinct classes of traffic, each one corresponding to certain specific t r a c characteristics
4.2.2 Rearranging the Multicast Ttee
Throughout the presentation of Our algorithms, we assumed that the online algorithm does not
perform any reconstruction on the current multicast graph. More specificaliy, the multicast
graph resulted €rom the service of a join request is a subgraph of the multicast graph prior t o
the service. Similarly, the rnulticast network at the time instance where a leave request is issued
is a subgraph of the multicast network after the request is served. Efficient rearrangement of
the rnulticast subnetwork is a complex 'mue, even for simple versions of the multicast problem,
such as the Steiner Tree problem. We refer the reader t o [13] and (31 for a study of online
Steiner algorit hms t hat perform rearrangernents.
4.2.3 Distributed Implementation of BD-MCAST Algorithms
The algorithms presented in Our study are centralized, since they rely on centraliied solutions
t o the CSP problem. A natural improvement is to provide a distributed version of CIRCUIT,
while presewing the performance guarantees. This task is complicated by the fact tha t the CSP
approximations considered in this work employ dynamic programrning, which does not favor
a distributed implementation. Alternatively, one could reside to the distributeci CSP heuristic
proposed by Salama et al. [26]. Although the Iatter algorithm does not exhibit strict guarantees
such as Hassin's FPTAS [IO], i t m e t s Our criteria for efficiency, and low time complexity.
4.2.4 Exploiting Hierarehical Routing Schemes
We currently investigate improvements to the complexity of our algorithms, by exploiting the
hierarchical, aggregated topology of modern broadband networks. In particsular, one can assume
the existence of a n underlying hierarchical process that aggregates the network's s ta te informa-
tion. Such a process is encountered, for example, in the PNNI Recommendation [36] [35]. The
objective is to guarantee a complexity for the join algorithrn, tha t will approach the complex-
ity of standard, unconstrained shortest-path algorithms, such as the widely-known Dijkstra's
algorithm. Recently, Orda [23], suggested similar improvements to the time complexity of
+approximation algorithms for the CSP problem.
4.2.5 Competitive Analysis
Competitive Analysis was introduced by Sleator and Tarjan [29] as a generic technique for
proving performance guarantees for online algorithms. In general terms, the online algorithm
is compared to the optimal, offline aigorithm for the problem at hand; the latter is also called
the adversary. T h e objective is to prove bounds on the ratio of the costs incurred by the online
algorithm and the adversary, which apply for every possible sequence of requests. The bounds
depend strongly on asçumptions concerning the power of the adversary. Not surprisingly, we
have been able to prove that there exist no online BD-MCAST algorithms, deterministic or
randomized, for which non-trivial bounds can be claimed. In other words, there &t adversarial
scenarios where the performance of any online algorithm degrades arbitrarily, when compared
to the performance of the adversary; this is due t o the inherent complexity, and hardness of the
problem. We currently investigate relaxed versions of BD-MCAST, where cornpetitive andysis
might be a challenging issue. For a comprehensive study of recent research in the area of online
computation, the interested reader is referred t o [QI.
4.3 A Note in Conclusion
This work presented a new paradigm for on-line multicasting with bandwidth and delay guaran-
tees. We showed how efficient, QoS routing algorithms can be used to address the multicasting
'issue. As the requirements imposed by the end-user evolve, several challenging problems in
the area of network design emerge. It is Our belief tha t research in approximation and online
algorithms has much to offer t o the development of efficient solutions to such problems, where
naive heuristics are likely to fail.
Bibliography
[l] Gheorghe Antonoiu and Pradip K. Srimani. A Self-Stabilizing Leader EIection Aigorithm
for Tree Graphs. Journal of Pamllel and Distributed Computing, W(2) :227-232, May 1996.
[2] T. Ballardie, P. Francis, and J. Crowcroft. Core Based Trees (CBT): An Architecture
for Scalable Interdomain Routing. in Pmceedings of SIGCOMMT93, pages 85-95, San
Francisco, CA, 1993.
131 Fred Bauer and Anujan Varma. ARIES: A Rearrangeabie Inexpensive Edge-Based On-fine
Steiner Algorithm. IEEE Journal on Selected Areas in Communications, 15 (3) :382-397,
April 1997.
[4] A.B. Borodin and R. El-Yaniv. Online Computation and Competitive .4nalysis. Cambridge
University Press, 1998.
[5] D. Estrin, D. Farinacci, A. Helmy, D. Thaler, S. Deering, M. Handley, V. Jacobsen, C. Liu,
P. Sharma, and L. Wei. RFC 2362: Protocol Independent Multicast-Sparse mode (PM-
SM) : Protocol Specification, June 1998.
[6] Michalis Faloutsos, Rajesh Pankaj, and Kenneth C. Sevcik. Multicast Routing with Hetere
geneous Quaiity. In The Fourth IEEE Workshop on the Architecture and Implementation
of High Performance Communication Systems (HPCS'97), 1997.
[7] Urie1 Feige. A Threshold of ln n for Approximating Set Cover. In P m e d i n g s of The
Twenty-Eighth Annual ACMSymposium On The Theory Of Computing @TOC '96), pages
314-318, New York, USA, May 1996. ACM Press.
[8] Michael R. Garey and David S. Johnson. Cornputers and Intractubility: A Guide to the
77zeory of NP-Completeness. Freeman, New York, NY, 2nd edition, 1983-
[9] D.S. Reeves HI Salama and YI Viniotis- Evalnation of Multicast Routing Algorithrus for
Real-Time Communication on High-Speed Networks. IEEE Journal on Selected Areas in
Communications, 15(3):332-345, April 1997.
[IO] R. Hassin. Approximation Schemes for the Restricted Shortest P a t h Problem. Mathematics
of Operutions Research, 17:3642, 1992.
[I l ] S. Hong, H. Lee, and B. Park. An Efficient Multicast Routing Algorithm for Delay-
Sensitive Applications with Dynamic Membership. In Proceedings of the Seventeenth IEEE
INFOCOM, San Francisco, California, 1998.
[12] Frank K. Hwang, Dana S. Richards, and Pawel Winter. The Steiner Tme Problem. Num-
ber 53 in Annals of Discrete Mathematics. Elsevier Science Publishers B. V., Amsterdam,
1992.
[13] Makoto lmase and Bernard M. Waxman. Dynamic Steiner Tree Probiem. SIAM Journal
on Discrete Mathematics, 4(3):369-384, August 1991.
[14] H.C. Joksh. The Shortest Route Probiem with Constraints. J. Math. Anal. Appl., 14:191-
197, 1966.
[15] Richard M. Karp. Reducibility Among Combinatorid Problems. In R. E. Miller and J. W.
Thatcher, editors, Complezity of Cornputer Computations, pages 85-103, New York, 1972.
Plenum Press,
[16] V. P. Kompella, J. C. Pasquale, and G. C. Polyzos- Multicasting for Multimedia Applica-
tions. fn Pmceedings of the Eleventh IEEE INFOCOM, pages 2078-2085, 1992.
[17] L- Kou, G . Markowsky, and L. Berman. A Fast Aigorithm for Steiner Trees. Acta infm-
matica, 15:141-145, 198 1 .
[18] Eugene L Lawler. Combinaton'al Optimizution: Networks and Matmids, chapter 4,6.3 and
7.11. Holt, Rinehart and Winston, New York, 1976.
1191 R. Pankaj M. Faloutsos and K. Sevcik. Bounds for the On-line MuIticast Problem in
Directed Graphs. In P m . of the 4th Intern. Colloquium on Structuml, information and
Communication Cornplezity (SIROCCO '97), Monte Verita, Ascona, Switzerland, 1997.
Carleton University Press-
[20] Prabhu Manyem and Matthias F. M. Stalimann. Some Approximation Results in Mui-
ticasting. Technical Report TR-96-03, Department of Corn puter Science, North Carolina
State University, February 21 1996.
[21] Kurt Mehlhorn. A Faster Approximation Algonthm for the Steiner Problem in Graphs.
Information Pmessing Letters, 27(3):125-128, March 1988.
[22] John Moy. Multicast Routing Extensions for OSPF. Commu~icutions of the ACM,
3?(8) :6 1-66, August 1994.
[23] Ariel Orda. Routing with End to End QoS Guarantees in Broadband Networks. In Pmceed-
ings of the Seventeenth IEEE INFOCOM, pages 27-34, San Francisco, California, 1998.
[24] Cynthia A. Phiiiïps. The Network Inhibition Problem (Extended Abstract). In Prrrceedings
of the Tmenty-Fiph Annual A CM Symposium on the Theory of Computing, pages 776-785,
San Diego, California, 16-18 May 1993.
[25] S. Ramanathan. An Algorithm for MuIticast Tree Generation in Networks with Asyrn-
metric Links. In Proceedings of IEEE INF0COM996, pages 337-344. IEEE Press, 1996.
[26] H.F. Salama D.S- Reeves and Y. Viniotis. A Distributed Algorithm for Delay-Constrained
Unicast routing. in Pmceedings of IEEE Infmom '96, Japan, March 1996.
[27] George N. Rouskas and nia Baldine. Multicast Routing with End-to-End Delay and Delay
Variation Constraints. IEEE Journal on Selected Areas in Communications, 15(3):34û-
356, April 1997.
[28] S. Sahni. Generai Techniques for Corn binatorial Approximation. Technical Report 76-6,
Dept. Computer Sci,, Univ. Minnesota, Minneapolis, MN, June 1976.
[29] Daniel D. Sleator and Robert E. Tarjan. Amortized Efficiency of List Update and Paging
Rules. Communications of the A CM, 28(2):202-208, February 1985.
[30] Q. Sun and H. Langendoerfer. Efficient Multicast Routing for Delay-Sensitive Applications.
In P m . Second Worksiiop Pmtocols Multimedia Systems (PROMS795), pages 452458, San
Diego, California, October 1995.
[31] H. Takahashi and A. Matsuyamya. An Approximate Solution for the Steiner Problem in
Graphs. Math Japnica, 24(6):573-577, February 1980.
[32] Robert Endre Tarjan. Data Structures and Network Algorithms, volume 44 of CBMS-NSF
Reg. Conf. Ser. Appl. Math- SIAM, 1983.
[33] J. Van Leeuwen and R. B. Tan. Interva1 Routing. The Computer Journal, 30(4):298-307,
August 1987.
[34] D. Waitzman, C. Partridge, and S. E- Deering. RFC 1075: Distance Vector Multicast
Routing Protocol, November 1988.
[35] ATM Forum PNNI WG. Draft Private Network-Network Interface Specification Version
1 .O, March 1996. ATM Forum/BTD-MNNI-02.
[36] ATM Forum PNNI WG. Private Network-Network Interface Specification Version 1.0,
March 1996. ATM Forum/BTD-MNNI-01.
[37] Ron Widyono. The Design and Evaiuation of Routing Algorithms for Real-time Channels,
Technical Report TR-94-024, International Computer Science Institute, Berkeley, CA, June
1994.
[38] P. Winter- Steiner Problem in Networks: A Survey. Networks, 17:129-167, 1987.
[39] AIexander Zelikovsky- An 1 l/&Approximation Algorithm for the Network Steiner Prob-
lem. Algorithmica, 9:463-470, 1993.
[40] Q. Zhu, M. Parsa, and J. J. Garcia-Luna-Aceves. A Source-Based Algorithm for Delay-
Constrained Minimum-Cost Multicasting. In Prroceedings of the 14th Annual Joint Confer-
ence of the IEEE Computer and Communications Socàeties (INFOCOM'95), pages 377-
385, Los Alarnitos, CA, USA, April 1995.