ARIES

A

Rearrangeable

Inexpensive

Edge-based

On-line

Steiner

Algorithm

Fred

Bauer

Anujan

Varma

July

Computer

Engineering

Department

University

of

California

Santa

Cruz

CA

E-mail

ffred,varmag@cse.ucsc.edu

Abstract

In

this

paper

we

propose

and

evaluate

ARIES

a

heuristic

for

updating

multicast

trees

dynamically

in

large

point-to-point

networks

The

algorithm

is

based

on

monitoring

the

accumulated

damage

to

the

multicast

tree

within

local

regions

of

the

tree

as

nodes

are

added

and

deleted

and

triggering

a

rearrangement

when

the

number

of

changes

within

a

connected

subtree

crosses

a

set

threshold

We

derive

an

analytical

upper-bound

on

the

competitiveness

of

the

algorithm

We

also

present

simulation

results

to

compare

the

average-case

performance

of

the

algorithm

with

two

other

known

algorithms

for

the

dynamic

multicast

problem

GREEDY

and

EBA

-LRB-

Edge-Bounded

Algorithm

-RRB-

Our

results

show

that

ARIES

provides

the

best

balance

among

competitiveness

computational

effort

and

changes

in

the

multicast

tree

after

each

update

This

research

is

supported

by

the

Advanced

Research

Projects

Agency

-LRB-

ARPA

-RRB-

under

Contract

No

and

by

the

NSF

Young

Investigator

Award

No

A

shortened

version

of

this

paper

will

appear

in

the

proceedings

of

INFOCOM

Introduction

Many

future

applications

of

computer

networks

such

as

distance

education

remote

collaboration

and

teleconferencing

will

rely

on

the

ability

of

the

network

to

provide

multicast

services

Multicasting

is

usually

supported

in

a

point-to-point

packet

network

by

setting

up

a

multicast

tree

connecting

the

members

of

the

multicast

group

Many

of

the

multicast

applications

also

require

the

network

to

support

dynamic

multicast

sessions

where

the

membership

of

the

multicast

group

changes

frequently

Supporting

such

applications

efficiently

requires

the

ability

to

alter

an

existing

multicast

tree

to

accommodate

membership

changes

as

nodes

join

and

leave

the

multicast

session

While

much

has

been

written

on

the

subject

of

establishing

a

static

multicast

tree

in

point-to-point

networks

-LSB-

-RSB-

algorithms

to

modify

an

existing

multicast

tree

by

adding

and

deleting

members

is

a

relatively

unexplored

area

of

research

Since

many

multicast

applications

are

delay-sensitive

the

efficiency

of

the

algorithm

used

to

maintain

the

multicast

tree

assumes

special

significance

This

paper

presents

a

new

efficient

heuristic

for

updating

the

multicast

tree

for

dynamic

multicast

groups

Previous

authors

have

established

that

determining

an

optimal

multicast

tree

for

a

static

multicast

group

may

be

modeled

as

the

NP-complete

Steiner

problem

in

networks

-LSB-

-RSB-

Consequently

its

explicit

solutions

are

prohibitively

expensive

For

example

two

popular

explicit

algorithms

the

spanning

tree

enumeration

algorithm

and

the

dynamic

programming

algorithm

-LSB-

-RSB-

have

algorithmic

complexities

of

O

-LRB-

-LRB-

n?p

-RRB-

-RRB-

and

O

-LRB-

-RRB-

respectively

where

n

is

the

number

of

nodes

in

the

graph

and

p

the

number

of

multicast

members

A

number

of

good

inexpensive

heuristics

exist

for

the

Steiner

problem

in

networks

and

have

been

reviewed

extensively

elsewhere

-LSB-

-RSB-

This

paper

addresses

the

problem

of

modifying

an

existing

multicast

tree

when

new

members

enter

or

existing

members

leave

the

multicast

group

The

problem

of

updating

the

multicast

tree

after

each

addition

and

deletion

is

known

as

the

on-line

multicast

problem

in

networks

This

paper

focuses

on

its

Steiner

equivalent

the

on-line

Steiner

problem

in

networks

-LSB-

-RSB-

If

the

m

multicast

members

added

or

deleted

are

represented

by

a

vector

R

rmg

where

each

element

of

vector

R

is

a

request

to

add

or

delete

a

member

the

on-line

multicast

problem

is

defined

formally

as

follows

GIVEN

A

simple

undirected

connected

graph

G

-LRB-

V

E

-RRB-

with

n

nodes

non-negative

edge

costs

p

multicast

members

Z

V

request

vector

R

rmg

and

existing

multicast

tree

T

-LRB-

V

-RRB-

V

V

and

E.

FIND

Multicast

trees

Tm

such

that

each

tree

Ti

's

members

are

those

of

tree

T

modified

by

requests

ri

and

Ti

's

cost

-LRB-

sum

of

edge

weights

-RRB-

is

minimum

among

all

possible

choices

for

tree

Ti

In

the

extreme

case

a

multicast

tree

may

be

completely

rebuilt

after

each

change

using

a

static

multicast

heuristic

This

approach

however

is

prohibitively

expensive

if

used

for

each

addition

and

deletion

In

addition

real-time

multicast

sessions

can

not

tolerate

large

changes

in

the

multicast

tree

after

each

update

This

is

because

data

packets

are

constantly

in

flight

within

the

multicast

tree

and

large

changes

to

the

tree

might

cause

an

unacceptable

disruption

in

the

packet

flow

An

ideal

multicast

algorithm

therefore

must

minimize

both

the

number

of

changes

between

successive

updates

and

the

cost

of

the

multicast

tree

formed

after

each

update

We

know

however

that

the

Steiner

problem

in

graphs

is

NP-complete

and

no

such

ideal

algorithm

exists

which

runs

in

polynomial

time

The

on-line

multicast

problem

was

first

presented

by

Waxman

-LSB-

-RSB-

and

has

received

little

attention

since

-LSB-

-RSB-

We

present

a

new

heuristic

for

the

on-line

Steiner

problem

balancing

heuristic

run-time

against

competitiveness

that

is

the

ratio

between

the

cost

of

the

heuristic

tree

and

the

cost

of

an

optimal

tree

The

cost

of

the

tree

is

taken

as

the

sum

of

the

weights

of

the

edges

in

the

tree

We

derive

analytical

bounds

on

the

competitiveness

of

the

new

heuristic

In

addition

we

also

compare

the

heuristic

with

previous

on-line

heuristics

by

simulation

on

a

large

number

of

random

test

graphs

representing

sparse

point-to-point

networks

with

low

to

medium

multicast

membership

We

restrict

our

analysis

to

sparse

networks

for

two

reasons

-LRB-

i

-RRB-

they

are

more

representative

of

real

point-to-point

networks

and

-LRB-

ii

-RRB-

they

are

inherently

more

difficult

to

solve

because

in

general

fewer

feasible

solutions

exist

in

a

sparse

network

than

in

a

dense

one

Similarly

the

simulated

multicast

groups

are

small

relative

to

the

size

of

the

network

reflecting

likely

multicast

applications

such

as

video-conferencing

or

distance

education

The

heuristics

are

compared

on

the

basis

of

three

criteria

competitiveness

CPU

time

and

differences

between

successive

trees

Note

that

our

results

are

not

specific

to

any

particular

type

of

network

such

as

the

Internet

or

ATM

networks

but

apply

to

both

connectionless

and

virtual-circuit-based

networks

Our

results

show

that

heuristic

ARIES

performs

extremely

well

often

producing

solutions

close

in

quality

to

those

generated

by

a

good

static

Steiner

heuristic

In

addition

it

often

outperformed

two

known

heuristics

the

Edge-Bounded

Algorithm

-LRB-

EBA

-RRB-

and

GREEDY

Further

the

algorithm

may

be

tuned

to

achieve

the

desired

tradeoff

between

performance

and

cost

The

difference

between

successive

trees

produced

by

ARIES

is

often

small

reducing

the

disruption

caused

by

rearrangements

The

remainder

of

this

paper

is

organized

as

follows

Section

reviews

previous

heuristics

for

the

on-line

Steiner

problem

and

summarizes

their

bounds

Section

describes

our

new

on-line

heuristic

and

Section

derives

an

upper

bound

on

its

competitiveness

Section

presents

simulations

results

comparing

our

algorithm

to

previous

on-line

heuristics

Finally

Section

concludes

the

paper

with

a

discussion

of

the

results

Previous

Algorithms

for

the

On-Line

Steiner

Problem

in

Net

works

This

section

summarizes

previous

algorithms

to

solve

the

on-line

Steiner

problem

We

use

the

following

basic

definitions

and

notations

in

the

paper

Z

is

the

set

of

multicast

nodes

S

is

the

set

of

non-multicast

nodes

V

Z

Pi

j

is

the

shortest

path

between

nodes

i

and

j

and

di

j

is

the

length

of

path

Pi

j.

Because

multicast

nodes

enter

and

leave

the

multicast

tree

over

time

the

node

sets

Z

and

S

also

vary

over

time

The

cost

of

a

tree

is

the

sum

of

its

edge

weights

Multicast

nodes

are

referred

to

as

members

and

non-multicast

nodes

as

non-members

The

distance

between

two

nodes

is

defined

to

be

the

distance

of

the

shortest

path

between

them

Likewise

the

distance

between

a

node

and

a

tree

is

the

minimum

among

the

shortest

paths

between

the

node

and

every

node

in

the

tree

Finally

the

distance

between

two

trees

is

the

distance

of

the

shortest

among

all

paths

between

any

node

in

one

tree

and

any

node

in

the

other

tree

In

his

original

paper

on

the

on-line

multicast

problem

-LRB-

referred

to

as

the

dynamic

multipoint

problem

-RRB-

Waxman

divides

on-line

heuristics

into

two

types

those

that

allow

rearrangement

of

the

tree

and

those

that

do

not

-LSB-

-RSB-

In

this

first

paper

and

a

subsequent

one

Waxman

and

Imase

describe

a

heuristic

of

each

type

-LSB-

-RSB-

We

summarize

both

heuristics

below

for

the

reader

's

convenience

Heuristic

GREEDY

The

non-rearrangement

on-line

heuristic

GREEDY

-LSB-

-RSB-

perturbs

the

existing

tree

as

little

as

possible

For

each

add

request

it

connects

the

new

member

to

the

nearest

tree

node

using

the

shortest

path

For

each

delete

request

GREEDY

deletes

only

leaf

nodes

If

this

deletion

creates

a

non-member

leaf

GREEDY

also

deletes

the

new

leaf

This

continues

until

no

non-member

leaves

remain

The

Edge

Bounded

Algorithm

The

rearrangement

heuristic

EBA

-LRB-

the

edge-bounded

algorithm

-RRB-

-LSB-

-RSB-

enforces

bounds

on

the

distance

between

nodes

in

the

tree

after

each

change

In

addition

every

tree

Ti

must

also

be

an

extension

tree

for

its

set

of

multicast

members

An

extension

tree

is

one

that

contains

all

multicast

members

and

for

which

the

degree

of

every

non-member

is

greater

than

two

EBA

starts

by

converting

the

original

graph

to

a

complete

distance

graph

In

a

distance

graph

every

edge

represents

the

shortest

path

between

nodes

The

original

tree

is

also

converted

to

its

distance

graph

equivalent

For

each

add

request

EBA

connects

the

new

member

by

its

shortest

edge

to

the

existing

tree

This

shortest

edge

represents

the

shortest

path

between

the

new

member

and

the

closest

tree

node

in

the

original

graph

EBA

then

tests

the

length

of

each

path

in

the

tree

from

the

new

member

to

every

node

in

the

tree

If

the

length

of

the

path

consisting

entirely

of

tree

edges

between

the

new

member

and

a

node

in

the

tree

does

not

fall

within

constant

k

times

the

length

of

the

shortest

path

in

the

original

graph

EBA

modifies

the

tree

as

follows

The

maximum-weight

tree

edge

in

the

path

between

the

new

node

and

the

offending

tree

node

is

deleted

breaking

the

tree

into

two

components

The

two

components

are

then

reconnected

by

adding

the

edge

between

the

two

nodes

This

edge

represents

their

shortest

path

If

the

new

tree

now

contains

non-members

of

degree

less

than

three

these

non-member

nodes

are

deleted

as

described

in

the

next

paragraph

Since

Imase

and

Waxman

use

constant

k

in

-LSB-

-RSB-

we

also

use

k

in

our

simulations

For

each

delete

request

EBA

's

actions

are

related

to

the

deleted

node

's

degree

with

respect

to

the

multicast

tree

If

the

node

has

degree

three

or

more

no

action

is

taken

If

the

node

has

degree

one

it

is

deleted

just

as

in

GREEDY

If

the

node

has

degree

two

it

and

its

adjacent

edges

are

deleted

splitting

the

tree

into

two

components

These

two

components

are

reconnected

by

the

path

between

the

node

's

neighbors

that

has

the

smallest

maximum

weight

edge

If

this

deletion

results

in

a

non-member

edge

of

degree

two

the

non-member

is

deleted

and

the

process

repeats

until

all

non-member

nodes

in

the

tree

have

degree

three

or

more

The

Geographic-Spread

Dynamic

Multicast

Heuristic

A

second

rearrangement

heuristic

is

Kadirire

's

GDSM

the

geographic-spread

dynamic

multicast

routing

algorithm

-LSB-

-RSB-

When

adding

nodes

this

heuristic

relies

on

exploring

four

explicit

connection

configurations

between

nodes

in

the

tree

and

the

new

member

For

each

add

request

it

identifies

the

closest

tree

node

to

the

new

member

and

the

closest

members

in

the

tree

on

either

side

of

the

closest

tree

node

The

heuristic

then

chooses

one

of

four

ways

to

connect

the

new

member

through

the

three

identified

nodes

If

more

than

one

cheapest

alternative

exists

GDSM

chooses

the

one

with

greatest

geographic

spread

-LSB-

-RSB-

For

each

delete

request

GDSM

behaves

exactly

as

GREEDY

does

60 80 100 120

140 160 180 200

Cost

-LRB-

Heuristic

-RRB-

Cost

-LRB-

Optimal

-RRB-

Added

Tree

Nodes

Upper

Bound

for

GREEDY

Lower

Bound

for

All

Non-rearrangement

Heuristics

Figure

Bounds

on

non-rearrangement

heuristics

competitiveness

for

add

requests

Bounds

for

On-Line

Heuristics

Waxman

and

Imase

-LSB-

-RSB-

provide

bounds

for

the

competitiveness

of

all

non-rearrangement

heuristics

in

general

and

GREEDY

in

specific

when

only

add

requests

are

honored

Here

competitiveness

is

defined

as

the

ratio

between

the

cost

of

a

multicast

tree

found

by

the

heuristic

and

that

of

an

optimal

tree

The

lower

bound

for

all

non-rearrangement

algorithms

is

-LRB-

ni

-RRB-

c

and

the

upper

bound

for

GREEDY

is

-LRB-

ni

-RRB-

where

ni

is

the

number

of

nodes

added

to

the

tree

while

processing

the

requests

ri

These

bounds

are

shown

in

Figure

Westbrook

-LSB-

-RSB-

provides

a

tighter

upper

bound

for

heuristic

GREEDY

when

only

add

requests

are

honored

This

upper

bound

is

O

-LRB-

-LRB-

dmax

Copt

ni

-RRB-

-RRB-

where

dmax

is

the

maximum

distance

between

members

along

the

tree

and

Copt

is

the

cost

of

an

optimal

tree

for

the

modified

multicast

group

Imase

and

Waxman

have

shown

that

no

such

finite

bound

exists

if

delete

requests

are

also

honored

-LSB-

-RSB-

A

rearrangeable

heuristic

however

can

have

a

finite

bound

for

competitiveness

for

both

add

and

delete

requests

Heuristic

EBA

's

upper

bound

is

where

ffi

is

EBA

's

constant

as

described

in

Section

In

both

our

simulations

and

Imase

and

Waxman

's

paper

ffi

and

the

upper

bound

is

therefore

-LSB-

-RSB-

member

deleted

member

Figure

A

tree

with

one

deleted

member

No

similar

bounds

are

given

for

GDSM

However

since

GDSM

is

a

non-rearrangement

heuristic

similar

to

GREEDY

we

assume

its

bounds

to

be

similar

to

GREEDY

's

Heuristic

ARIES

While

our

simulation

results

show

GREEDY

to

be

superior

to

EBA

in

terms

of

competitiveness

on

our

random

test

graphs

the

former

still

suffers

from

the

disadvantage

that

it

may

perform

poorly

for

delete

requests

A

superior

rearrangeable

heuristic

would

be

one

that

combines

GREEDY

's

light

computation

requirements

with

the

ability

to

force

a

rearrangement

when

the

solution

tree

's

competitiveness

has

degraded

beyond

a

certain

threshold

This

was

our

motivation

for

creating

heuristic

ARIES

Like

GREEDY

ARIES

does

the

minimum

necessary

modifications

for

each

add

and

delete

request

For

each

add

request

ARIES

joins

the

new

member

to

the

existing

tree

by

the

shortest

path

For

each

delete

request

ARIES

deletes

the

node

only

if

it

is

a

leaf

The

difference

lies

in

ARIES

's

rearrangement

mechanism

When

the

accumulated

damage

to

a

part

of

the

tree

is

judged

to

be

too

high

ARIES

rearranges

that

region

of

the

tree

as

described

in

the

next

paragraph

Formally

damage

to

the

entire

tree

is

measured

by

the

tree

's

degradation

factor

C

-LRB-

i

-RRB-

Copt

-LRB-

i

-RRB-

where

C

-LRB-

i

-RRB-

is

the

cost

of

the

modified

tree

after

request

ri

and

Copt

-LRB-

i

-RRB-

is

the

cost

of

an

optimal

Steiner

tree

after

this

same

request

ri

As

the

tree

is

modified

this

degradation

factor

will

tend

to

increase

Informally

ARIES

monitors

the

degradation

factor

of

the

heuristic

tree

and

rearranges

portions

of

the

tree

as

necessary

to

reduce

the

degradation

factor

In

the

example

given

in

Figure

the

grey

shaded

region

of

the

tree

is

that

portion

of

the

tree

most

affected

by

the

deletion

of

the

white

node

The

deleted

node

is

not

removed

from

the

tree

but

merely

marked

as

a

former

member

of

the

multicast

group

If

ARIES

judges

that

the

damage

to

the

tree

introduced

by

the

white

node

exceeds

a

given

threshold

only

the

grey

shaded

portion

of

the

tree

would

be

rearranged

sparing

the

majority

of

the

tree

from

disruption

during

the

rearrangement

In

this

way

the

effort

required

to

maintain

a

low

cost

tree

is

performed

only

on

the

most

likely

region

of

the

tree

Damage

to

the

tree

is

monitored

by

a

number

of

counters

within

multicast

member

nodes

that

register

the

number

of

changes

-LRB-

additions

or

deletions

-RRB-

in

their

immediate

vicinity

Each

member

node

has

one

counter

corresponding

to

each

of

its

edges

that

form

part

of

the

tree

When

a

member

node

is

deleted

or

a

new

node

added

the

node

sends

a

message

to

all

its

multicast

neighbors

to

increase

their

counters

by

one

Propagation

of

the

counter-update

messages

is

confined

to

regions

within

the

tree

bordered

by

multicast

members

so

that

rearrangements

can

be

confined

to

these

regions

as

well

A

rearrangement

is

triggered

when

the

value

of

a

counter

in

a

multicast

node

exceeds

a

chosen

threshold

We

will

later

formalize

the

concept

of

the

region

used

to

confine

the

rearrangements

Definitions

and

Notations

Having

outlined

the

basic

concepts

we

can

now

formalize

our

description

of

ARIES

We

begin

by

introducing

the

following

assumptions

and

definitions

W

assume

that

additions

and

deletions

occur

one

at

a

time

with

adequate

time

between

events

to

allow

each

node

's

edge

counters

to

settle

before

the

next

addition

or

deletion

event

We

further

assume

that

a

reliable

protocol

is

used

to

communicate

counter

updates

within

the

network

Let

G

-LRB-

t

-RRB-

denote

the

set

of

nodes

belonging

to

the

multicast

session

at

time

t.

Let

t

represent

the

time

the

multicast

session

was

first

set

up

In

general

the

multicast

tree

for

G

-LRB-

t

-RRB-

may

contain

four

different

types

of

nodes

at

any

time

t

Active

multicast

nodes

These

are

nodes

currently

belonging

to

the

multicast

group

G

-LRB-

t

-RRB-

A

node

i

G

-LRB-

t

-RRB-

is

defined

as

an

active

multicast

node

if

it

satisfies

one

of

the

following

conditions

-LRB-

a

-RRB-

Node

i

has

remained

a

member

of

the

multicast

group

since

the

group

was

first

set

up

that

is

i

G

-LRB-

o

-RRB-

for

all

o

in

the

interval

o

t

-LRB-

b

-RRB-

A

part

of

the

multicast

tree

containing

i

was

rearranged

since

the

most

recent

addition

of

i

to

the

multicast

group

We

refer

to

the

set

of

active

multicast

nodes

at

time

t

as

Z

-LRB-

t

-RRB-

or

simply

as

Z.

Deleted

nodes

These

are

nodes

that

were

once

part

of

the

multicast

group

but

were

since

deleted

A

node

i

G

-LRB-

t

-RRB-

is

defined

as

a

deleted

node

if

it

satisfies

the

following

condition

Let

o

t

be

the

last

time

i

was

a

member

of

the

multicast

group

Then

no

rearrangements

have

occurred

in

any

part

of

the

multicast

tree

containing

i

during

the

interval

-LRB-

o

t

-RRB-

We

use

D

-LRB-

t

-RRB-

or

simply

D

to

denote

the

set

of

deleted

nodes

at

time

t.

Appended

nodes

An

appended

node

is

one

that

was

added

to

the

group

after

it

was

formed

and

has

not

been

involved

in

a

rearrangement

since

it

was

added

Formally

a

node

i

G

-LRB-

t

-RRB-

is

defined

as

an

appended

node

if

the

following

condition

is

satisfied

Let

o

be

the

time

at

which

node

i

was

last

added

to

the

multicast

group

G

Then

no

rearrangements

have

occurred

in

any

part

of

the

multicast

tree

containing

i

during

the

interval

-LRB-

o

t

-RRB-

We

use

A

-LRB-

t

-RRB-

or

simply

A

to

denote

the

set

of

appended

nodes

at

time

t.

Non-multicast

nodes

These

are

nodes

currently

not

belonging

to

any

of

the

previous

three

categories

A

node

belongs

to

this

set

if

it

satisfies

one

of

the

following

conditions

-LRB-

a

-RRB-

Node

j

was

never

part

of

the

multicast

group

G

during

the

interval

-LRB-

t

-RRB-

or

-LRB-

b

-RRB-

node

j

was

last

deleted

from

G

at

time

o

t

and

a

rearrangement

occurred

in

a

part

of

the

multicast

tree

containing

j

after

time

o

We

refer

to

this

set

of

non-multicast

nodes

as

S-nodes

member

node

-LRB-

Z-node

-RRB-

non-member

node

-LRB-

S-node

-RRB-

modified

node

-LRB-

M-node

-RRB-

Figure

A

multicast

tree

containing

two

modified

regions

and

Thus

the

damage

to

the

multicast

tree

is

in

the

areas

surrounding

the

deleted

and

appended

nodes

We

use

modified

node

or

M-node

as

a

common

term

to

refer

to

both

these

types

of

nodes

That

is

the

set

of

modified

nodes

is

defined

by

M

-LRB-

t

-RRB-

D

-LRB-

t

-RRB-

-LSB-

A

-LRB-

t

-RRB-

Since

the

area

of

damage

to

the

multicast

tree

is

confined

to

the

modified

nodes

and

the

active

multicast

neighbors

surrounding

them

it

becomes

necessary

to

formalize

the

concept

of

multicast

neighbor

Definition

Two

nodes

i

j

Z

-LRB-

t

-RRB-

-LSB-

M

-LRB-

t

-RRB-

are

multicast

neighbors

in

T

if

and

only

if

either

-LRB-

i

-RRB-

i

and

j

are

directly

connected

through

an

edge

in

T

or

-LRB-

ii

-RRB-

the

path

between

i

and

j

in

T

passes

through

only

nodes

in

the

set

S

-LRB-

t

-RRB-

For

example

in

Figure

the

multicast

neighbors

of

node

a

are

b

c

d

e

and

f

If

rearrangements

are

performed

locally

they

should

be

applied

to

areas

where

the

damage

is

likely

to

be

maximum

The

following

definition

allows

grouping

of

M-nodes

into

regions

so

that

rearrangements

can

be

confined

within

one

or

more

of

the

regions

where

changes

have

occurred

Definition

A

modified

region

Ri

of

a

multicast

tree

T

is

a

subtree

of

T

defined

as

follows

Ri

contains

at

least

one

modified

node

in

the

set

M

If

a

modified

node

j

is

in

Ri

then

every

multicast

neighbor

of

j

in

T

is

also

in

Ri

If

two

nodes

j

and

k

belong

to

Ri

then

all

the

edges

in

the

path

between

j

and

k

in

T

are

included

in

Rj

Thus

for

a

given

M-node

j

the

modified

region

containing

j

is

the

maximalconnected

subtree

of

T

containing

only

S-nodes

or

M-nodes

as

its

internal

nodes

A

leaf

node

of

Ri

may

be

either

a

Z-node

or

a

pendant

M-node

in

T

while

an

internal

node

must

be

an

M-node

We

refer

to

a

modified

region

simply

as

region

for

convenience

When

a

local

rearrangement

is

performed

on

T

the

edges

in

the

region

are

the

candidates

for

rearrangement

For

example

the

modified

nodes

in

the

example

tree

of

Figure

form

two

modified

regions

and

Algorithm

Description

Having

introduced

the

concept

of

a

region

we

can

now

describe

the

details

of

the

algorithm

The

number

of

modified

nodes

in

each

region

is

monitored

by

a

set

of

counters

one

within

each

Z-node

belonging

to

the

region

Since

a

Z-node

can

be

part

of

as

many

distinct

regions

as

its

degree

the

maximumnumber

of

counters

needed

in

a

Z-node

is

equal

to

its

degree

When

the

multicast

tree

is

initially

set

up

the

counters

in

each

node

are

reset

to

zero

When

a

Z-node

is

deleted

or

a

new

node

added

each

Z-node

in

that

region

increment

its

counter

corresponding

to

the

region

This

can

be

achieved

in

a

distributed

system

by

the

modified

node

broadcasting

a

counter-update

message

to

all

the

Z-nodes

within

the

region

along

the

multicast

tree

The

pseudocode

of

ARIES

is

shown

in

Figure

Given

a

Steiner

tree

Ti

and

an

update

request

ri

the

objective

of

the

algorithm

is

to

determine

a

Steiner

tree

Ti

for

the

modified

multicast

group

after

the

update

Note

that

ri

can

either

be

an

add

request

or

a

delete

request

these

two

cases

are

handled

separately

If

the

request

is

an

add

the

new

node

v

is

connected

to

the

existing

tree

Ti

via

the

shortest

path

from

v

to

Ti

The

only

exception

to

this

is

the

trivial

case

when

v

is

an

S-node

in

the

existing

tree

The

new

node

is

then

marked

an

an

A-node

If

all

of

v

's

multicast

neighbors

are

currently

Z-nodes

then

a

new

region

is

formed

containing

node

v

and

its

multicast

neighbors

On

the

other

hand

if

v

is

already

part

of

a

region

at

least

one

of

the

multicast

neighbors

of

v

must

be

an

M-node

In

either

case

let

Rj

denote

the

region

containing

v.

Every

Z-node

u

within

region

Rj

has

a

counter

cu

j

whose

value

is

equal

to

the

number

of

M-nodes

within

Ri

each

of

these

counters

must

be

increased

by

when

v

is

added

to

the

multicast

tree

This

is

accomplished

by

broadcasting

a

counter-update

message

from

v

to

all

Z-nodes

within

the

region

With

delete

requests

the

situation

can

be

more

complex

First

if

the

node

being

deleted

is

a

leaf

node

of

the

multicast

tree

it

is

simply

marked

as

an

M-node

and

a

counter-update

message

is

transmitted

to

all

the

Z-nodes

in

the

region

as

in

the

case

of

the

add

operation

explained

in

the

previous

paragraph

Since

paths

to

deleted

leaf

nodes

can

be

removed

from

the

multicast

tree

with

little

effort

an

optional

pruning

algorithm

is

used

to

remove

any

inactive

subtrees

in

Ti

left

behind

by

the

deleted

node

This

step

is

optional

because

such

subtrees

will

automatically

be

removed

when

the

region

undergoes

a

rearrangement

When

the

node

being

deleted

v

has

a

degree

of

or

more

it

may

belong

to

more

than

one

region

Thus

when

v

is

deleted

all

regions

containing

v

must

be

merged

into

a

single

region

This

is

achieved

by

v

sending

counter-update

messages

to

all

Z-nodes

within

regions

it

is

currently

part

of

The

counter

increment

sent

to

a

Z-node

in

region

Rk

is

one

plus

the

sum

of

all

counters

in

v

excluding

that

representing

region

Rk

Thus

when

the

counters

are

updated

by

adding

the

increment

all

counters

corresponding

to

the

merged

region

are

now

set

to

the

total

number

of

M-nodes

within

the

region

After

processing

each

add

or

delete

request

the

algorithm

checks

to

see

if

the

quality

of

the

tree

has

degraded

beyond

a

threshold

This

checking

is

accomplished

simply

by

comparing

the

counter

values

for

the

region

enclosing

the

newly

modified

node

against

a

chosen

threshold

If

the

counter

values

reach

the

set

threshold

a

rearrangement

is

triggered

Although

any

static

Steiner

heuristic

can

be

used

to

perform

the

rearrangement

we

use

the

Kruskal

shortest-path

heuristic

-LRB-

KSPH

-RRB-

for

a

number

of

reasons

First

it

is

naturally

suited

to

constructing

multicast

trees

by

combining

fragments

of

the

tree

-LSB-

-RSB-

Second

the

algorithm

lends

itself

to

distributed

asynchronous

implementation

-LSB-

-RSB-

Finally

K-SPH

has

been

shown

to

Given

existing

tree

Ti

find

new

tree

Ti

taking

into

account

request

ri

case

ri

of

add

request

for

node

v

if

v

Ti

then

Join

node

v

to

Ti

by

shortest

path

to

closest

node

u

Ti

Ti

-LSB-

Pu

v

Node

v

joins

region

j

Rj

Rj

-LSB-

v

end

if

mark

node

v

as

an

A-node

Update

edge

counters

in

all

Z-nodes

of

Rj

Let

ck

j

node

k

's

edge

counter

for

Rj

for

all

Z-nodes

u

Rj

do

cu

j

cu

j

if

cu

j

threshold

u

Rj

then

rearrange

Rj

delete

request

for

node

v

Rj

mark

node

v

as

a

D-node

if

v

's

degree

then

for

all

active

nodes

u

Rj

do

cu

j

cu

j

perform

optional

pruning

algorithm

-LRB-

Figure

-RRB-

end

if

else

if

v

's

degree

then

Need

to

merge

regions

containing

node

v

into

one

for

all

Rk

with

v

Rk

do

Update

counters

in

each

region

containing

v

for

all

Z-nodes

u

Rk

do

cu

k

cu

k

X

m

k

cv

m

if

cu

j

threshold

u

Rj

then

rearrange

merged

region

end

if

end

case

Figure

Pseudocode

for

heuristic

ARIES

member

deleted

node

Before

rearrangementAfter

rearrangementBefore

deleting

E

Figure

Operation

of

ARIES

on

a

delete

request

be

among

the

best

of

Steiner

heuristics

in

terms

of

the

cost

of

the

multicast

trees

produced

in

our

previous

evaluations

-LSB-

-RSB-

Using

K-SPH

the

rearrangement

algorithm

proceeds

as

follows

If

Rj

is

the

region

in

which

the

rearrangement

was

triggered

the

algorithm

removes

all

the

D-nodes

and

edges

in

Rj

This

fragments

left

behind

are

then

combined

into

a

new

multicast

tree

by

the

K-SPH

algorithm

Note

that

each

of

the

A-nodes

in

Rj

forms

a

fragment

by

itself

K-SPH

combines

the

fragments

pairwise

starting

with

two

that

have

the

shortest

distance

between

them

and

repeating

the

procedure

until

a

single

fragment

remains

The

counters

corresponding

to

the

region

that

triggered

the

rearrangement

are

reset

to

zero

once

the

rearrangement

is

completed

Figure

illustrates

the

operation

of

the

algorithm

with

respect

to

a

delete

request

The

numbers

in

the

figure

denote

counter

values

within

nodes

Initially

there

is

a

single

modified

region

in

the

multicast

tree

containing

the

deleted

node

F

the

counters

in

C

D

and

E

corresponding

to

this

region

have

a

value

of

When

node

E

is

deleted

the

region

expands

to

include

nodes

A

and

B

and

the

counters

in

A

B

C

D

corresponding

to

this

region

are

updated

to

If

the

threshold

is

set

as

a

rearrangement

is

now

triggered

The

rearrangement

algorithm

removes

the

nodes

E

and

F

and

all

the

edges

within

the

region

leaving

behind

four

disconnected

nodes

A

B

C

D

The

nodes

are

reconnected

using

K-SPH

to

obtain

the

new

tree

The

choice

of

the

threshold

to

trigger

a

rearrangement

affects

the

behavior

of

the

algorithm

significantly

A

larger

threshold

reduces

the

frequency

of

rearrangements

but

may

cause

large

variations

in

the

cost

of

the

multicast

tree

in

comparison

to

that

of

an

optimal

tree

In

addition

if

rearrangements

are

performed

infrequently

more

work

may

be

needed

each

time

the

rearrangement

algorithm

is

invoked

In

the

next

section

we

derive

an

analytical

upper

bound

on

the

competitiveness

of

the

algorithm

as

a

function

of

the

threshold

value

selected

Pruning

Algorithm

After

each

delete

operation

the

multicast

tree

may

be

further

pruned

by

removing

subtrees

consisting

of

only

deleted

nodes

The

optimization

is

initiated

by

each

D-node

that

is

currently

a

leaf

of

the

multicast

tree

The

procedure

is

performed

iteratively

until

no

D-nodes

remain

as

leaves

of

the

tree

Each

D-node

that

is

currently

a

leaf

of

the

multicast

tree

sends

a

message

to

its

neighbor

in

the

tree

Any

S-nodes

in

the

tree

with

a

degree

of

receiving

such

a

message

simply

relay

it

along

the

tree

The

message

terminates

when

it

reaches

a

Z-node

an

M-node

or

an

S-node

with

more

than

two

incident

edges

in

the

tree

Depending

on

the

type

of

node

where

the

message

terminates

the

following

actions

are

performed

by

the

terminating

node

If

the

message

reaches

a

Z-node

say

x

the

entire

path

from

x

to

the

leaf

node

that

originated

the

message

is

removed

from

the

tree

The

counter

in

x

corresponding

to

the

path

is

reset

to

zero

If

the

message

terminates

at

an

M-node

say

y

the

path

from

y

to

the

originating

leaf

node

is

removed

as

in

the

previous

case

In

addition

y

broadcasts

a

counter

update

message

to

all

the

nodes

in

its

region

This

decrements

their

counters

by

one

Finally

if

the

terminating

node

is

an

S-node

say

s

the

path

from

s

to

the

originating

node

is

removed

as

in

the

above

cases

In

addition

s

is

now

marked

as

a

D-node

Since

the

number

of

modified

nodes

in

the

region

enclosing

the

originating

leaf

node

remains

unchanged

no

counter-update

messages

are

generated

in

this

case

It

is

easy

to

see

that

when

performed

iteratively

the

above

distributed

algorithm

removes

all

inactive

subtrees

from

the

multicast

tree

Pseudocode

for

this

pruning

algorithm

is

shown

in

Figure

A

Distributed

Version

of

ARIES

Heuristic

ARIES

was

described

in

this

section

as

a

centralized

algorithm

for

clarity

To

be

practical

however

the

algorithm

must

have

a

distributed

implementation

The

rearrangement

heuristic

we

have

chosen

heuristic

K-SPH

already

has

a

published

distributed

implementation

-LSB-

-RSB-

The

remaining

portion

of

ARIES

may

be

implemented

as

shown

by

the

finite

state

machine

in

Figure

Each

tree

node

would

run

the

finite

state

machine

shown

When

a

node

joins

the

multicast

tree

it

enters

the

state

wait

Inactive

nodes

leave

this

state

only

when

directed

to

by

an

active

node

to

participate

in

the

execution

of

the

distributed

algorithm

Active

nodes

leave

the

wait

state

and

enter

state

update

counter

when

they

receive

an

update

message

from

a

modified

node

If

the

updated

edge

counter

meets

or

exceeds

the

threshold

value

it

then

enters

the

rearrange

state

While

in

this

state

the

node

initiates

and

participates

in

a

distributed

Steiner

heuristic

such

as

distributed

K-SPH

-LSB-

-RSB-

to

rearrange

the

nodes

and

edges

in

the

modified

region

At

the

conclusion

of

a

rearrangement

participating

nodes

return

to

state

wait

Algorithm

Analysis

We

now

turn

to

an

analysis

of

heuristic

ARIES

to

evaluate

its

worst-case

behavior

Our

primary

objective

is

to

derive

an

upper

bound

on

its

competitiveness

between

rearrangements

Between

rearrangements

ARIES

behaves

the

same

as

GREEDY

and

shares

its

bounds

From

Imase

and

Waxman

-LSB-

-RSB-

we

know

that

the

upper

bound

considering

only

add

requests

is

-LRB-

ni

-RRB-

where

ni

is

the

number

of

nodes

in

the

tree

after

request

ri

However

no

such

finite

bounds

exist

for

GREEDY

with

respect

to

delete

requests

In

this

section

we

derive

an

upper

bound

for

the

competitiveness

of

ARIES

considering

both

adds

and

deletes

We

show

that

starting

from

an

optimal

solution

the

ratio

of

the

cost

of

the

multicast

tree

produced

by

ARIES

to

that

of

while

D-nodes

with

degree

remain

in

Ti

do

u

D-node

with

degree

c

while

u

an

S

or

D-node

of

degree

do

if

u

D

then

c

c

delete

u

and

its

adjacent

edge

u

neighbor

-LRB-

u

-RRB-

end

while

Ri

u

's

region

case

u

of

type

Z

cu

i

type

D

or

A

if

c

then

broadcast

counter

increment

of

c

to

all

Z-nodes

in

Ri

type

S

Modify

u

's

type

to

type

D

c

c

if

c

then

broadcast

counter

increment

of

c

to

all

Z-nodes

in

Ri

end

case

end

while

Figure

Pseudocode

for

the

pruning

algorithm

an

optimal

Steiner

tree

at

any

time

before

a

rearrangement

is

triggered

is

given

by

C

-LRB-

t

-RRB-

Copt

-LRB-

t

-RRB-

cth

where

cth

is

the

counter

threshold

that

triggers

a

rearrangement

We

first

prove

that

in

steady

state

the

counters

in

Z-nodes

corresponding

to

a

modified

region

have

all

the

same

value

the

number

of

modified

nodes

in

the

region

Theorem

Let

Ri

be

a

modified

region

in

the

multicast

tree

T

containing

ni

modified

nodes

and

let

j

be

a

Z-node

within

Ri

Let

cj

i

be

the

value

of

the

counter

in

node

j

corresponding

to

the

path

connecting

it

to

the

rest

of

the

nodes

in

Ri

When

all

the

messages

have

converged

since

the

last

change

to

the

multicast

group

cj

i

is

equal

to

ni

the

number

of

modified

nodes

in

Ri

Proof

The

proof

is

by

induction

on

the

number

of

modified

nodes

in

the

region

ni

Base

step

ni

In

this

case

all

multicast

neighbors

of

the

modified

node

x

are

Z-nodes

Consider

the

counter

in

each

of

these

neighbors

corresponding

to

the

edge

connecting

them

to

x.

Each

of

these

counters

must

be

zero

before

x

was

modified

because

there

are

no

other

multicast

neighbors

in

modified

state

that

are

accessible

through

this

edge

In

addition

all

the

counters

in

x

must

also

be

zero

before

the

change

occurred

Since

all

multicast

neighbors

of

x

increment

their

counters

by

in

response

to

the

change

the

theorem

is

proved

for

ni

waitinitDistributed

ARIES

donecounter

threshold

updatemessage

rearrange

update

counter

counter

threshold

rearrangement

algorithm

K-SPH

Figure

The

finite

state

machine

in

member

nodes

corresponding

to

a

distributed

implementation

of

ARIES

Inductive

step

Now

assume

that

a

state

change

increases

ni

by

one

This

may

be

the

result

of

Adding

an

A-node

that

is

not

currently

part

of

the

multicast

tree

converting

an

S-node

currently

in

the

multicast

tree

to

an

A-node

or

deleting

a

Z-node

from

the

tree

Let

x

be

the

node

undergoing

the

state

change

If

all

of

x

's

multicast

neighbors

are

Z-nodes

the

base

step

applies

Therefore

assume

at

least

one

of

the

multicast

neighbors

is

a

Z-node

Consider

case

first

adding

an

A-node

that

is

not

currently

part

of

the

multicast

tree

In

this

case

x

will

be

connected

to

the

existing

multicast

tree

T

along

its

shortest

path

to

T

Assume

this

path

terminates

on

T

at

a

node

y

along

an

edge

e

incident

to

y

Since

ni

y

must

be

either

an

S-node

or

an

M-node

and

is

already

part

of

a

region

Ri

Furthermore

node

y

is

not

an

active

node

and

forwards

counter

update

messages

on

to

the

rest

of

the

region

Thus

it

follows

that

a

counter

increment

of

will

be

propagated

from

x

to

all

the

active

multicast

nodes

in

Ri

along

the

tree

T

Now

consider

case

converting

an

S-node

currently

in

the

multicast

tree

to

an

A-node

Since

ni

at

least

one

of

x

's

multicast

neighbors

must

belong

to

a

region

Ri

In

addition

all

of

x

's

multicast

neighbors

that

are

M-nodes

must

belong

to

the

same

region

Ri

since

they

were

multicast

neighbors

before

x

was

added

to

the

multicast

group

Since

x

was

an

S-node

all

of

its

counters

were

zero

before

the

state

change

occurred

Hence

a

counter

increment

of

will

reach

every

active

multicast

node

in

Ri

Finally

consider

case

deleting

a

Z-node

from

the

tree

Since

x

is

an

active

multicast

node

and

ni

x

is

already

part

of

at

least

one

region

Ri

In

the

general

case

x

may

have

two

types

of

incident

edges

that

are

part

of

the

tree

T

edges

connecting

x

to

its

modified

multicast

neighbors

and

those

connecting

it

to

its

active

multicast

neighbors

Each

of

the

former

type

of

edges

must

belong

to

a

distinct

region

Let

ek

be

edges

of

the

former

type

incident

to

x

and

let

ek

ek

em

edges

of

the

latter

type

Let

Rk

be

the

regions

containing

ek

respectively

and

let

nk

be

the

corresponding

number

of

M-nodes

in

the

regions

On

deleting

x

the

regions

Rk

are

merged

into

a

single

region

Let

cx

j

j

m

be

the

counter

value

of

node

x

corresponding

to

its

edge

in

region

Rj

before

the

state

of

x

changed

Then

by

induction

hypothesis

cx

j

nj

j

k

and

cx

j

for

k

j

m

When

node

x

is

marked

for

deletion

every

active

multicast

node

in

region

j

receives

a

counter

increment

of

k

X

i

cx

i

cx

j

and

its

new

counter

value

becomes

nj

k

X

i

cx

i

cx

j

k

X

i

ni

Since

this

is

the

total

number

of

modified

nodes

in

the

new

region

created

by

merging

Rk

and

x

the

theorem

is

proved

for

case

This

concludes

the

proof

of

Theorem

It

is

easy

to

see

that

the

theorem

holds

even

when

the

optional

pruning

step

of

the

algorithm

is

applied

since

any

change

in

the

number

of

M-nodes

in

the

region

is

broadcast

to

all

the

counters

in

the

Z-nodes

at

the

periphery

of

the

region

Each

update

to

the

multicast

group

can

cause

the

cost

of

the

multicast

tree

grown

incrementally

by

the

algorithm

to

diverge

from

that

of

an

optimal

Steiner

tree

The

following

theorem

provides

an

upper

bound

on

the

cost

of

the

multicast

tree

after

a

sequence

of

updates

relative

to

an

optimal

Steiner

tree

for

the

active

multicast

nodes

at

that

time

We

will

later

derive

a

different

bound

based

on

the

sizes

of

the

individual

regions

within

the

incremental

multicast

tree

Theorem

Let

T

-LRB-

-RRB-

be

an

optimal

Steiner

tree

for

a

network

at

time

for

a

given

multicast

group

G

-LRB-

-RRB-

and

let

T

-LRB-

t

-RRB-

be

the

corresponding

tree

at

t

after

a

sequence

of

additions

and

deletions

Let

C

-LRB-

t

-RRB-

be

the

solution

cost

of

T

-LRB-

t

-RRB-

and

Copt

-LRB-

t

-RRB-

be

the

corresponding

cost

of

an

optimal

Steiner

tree

for

G

-LRB-

t

-RRB-

at

time

t

If

no

rearrangements

have

occurred

in

the

interval

-LRB-

t

-RRB-

Copt

-LRB-

t

-RRB-

C

-LRB-

t

-RRB-

m

-LRB-

t

-RRB-

dmax

-LRB-

t

-RRB-

-LRB-

-RRB-

where

m

-LRB-

t

-RRB-

is

the

total

number

of

modified

nodes

in

T

-LRB-

t

-RRB-

and

dmax

-LRB-

t

-RRB-

is

the

maximum

distance

between

two

multicast

neighbors

in

T

reached

during

the

interval

-LRB-

t

-RRB-

Proof

We

will

first

prove

the

theorem

ignoring

the

pruning

step

of

the

algorithm

and

later

extend

the

result

to

cover

the

pruning

step

Let

tk

be

the

instants

in

the

interval

-LRB-

t

-RRB-

at

which

updates

to

G

occurred

with

tk

t.

Let

C

-LRB-

ti

-RRB-

and

Copt

-LRB-

ti

-RRB-

represent

the

values

of

C

and

Copt

respectively

after

the

update

at

the

time

ti

We

will

show

inductively

that

if

Eq

-LRB-

-RRB-

is

satisfied

at

time

ti

then

it

is

also

satisfied

at

time

ti

Since

in

the

basic

algorithm

a

modified

node

is

never

removed

from

the

tree

until

a

rearrangement

occurs

the

number

of

modified

nodes

can

never

decrease

with

an

update

to

the

multicast

group

Thus

m

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

for

every

i

k

with

Eq

-LRB-

-RRB-

is

trivially

satisfied

at

time

Consider

the

update

at

time

ti

i

By

induction

hypothesis

Copt

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

-LRB-

-RRB-

The

update

at

time

ti

may

be

either

an

add

or

a

delete

operation

We

will

consider

these

two

cases

separately

If

the

operation

is

an

add

let

x

be

the

new

member

node

that

was

added

to

G

-LRB-

t

-RRB-

If

x

was

not

part

of

T

-LRB-

ti

-RRB-

it

will

now

be

connected

to

T

-LRB-

ti

-RRB-

along

its

shortest

path

Let

dx

be

the

distance

of

this

shortest

path

Then

dx

dmax

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

dx

C

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

-LRB-

-RRB-

Since

adding

a

node

to

the

multicast

group

can

in

no

case

decrease

the

cost

of

an

optimal

Steiner

tree

Copt

-LRB-

ti

-RRB-

Copt

-LRB-

ti

-RRB-

Therefore

from

Eq

-LRB-

-RRB-

Copt

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

Substituting

for

C

-LRB-

ti

-RRB-

from

Eq

-LRB-

-RRB-

this

becomes

Copt

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

Since

m

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

and

dmax

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

it

follows

that

Copt

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

-LRB-

-RRB-

Now

if

the

appended

node

x

was

part

of

the

tree

at

time

-LRB-

ti

-RRB-

that

is

if

x

S

-LRB-

ti

-RRB-

-LSB-

D

-LRB-

ti

-RRB-

then

C

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

and

Copt

-LRB-

ti

-RRB-

Copt

-LRB-

ti

-RRB-

Thus

Eq

-LRB-

-RRB-

is

again

satisfied

Next

consider

the

case

when

the

update

at

time

ti

is

a

delete

operation

Then

m

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

and

C

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

Let

x

be

the

node

that

was

deleted

from

G

-LRB-

ti

-RRB-

Assume

if

possible

that

an

optimal

Steiner

tree

at

time

ti

has

cost

Copt

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

In

this

case

we

can

append

x

to

such

a

tree

along

a

path

that

has

a

cost

of

at

most

dmax

-LRB-

ti

-RRB-

resulting

in

a

Steiner

tree

for

G

-LRB-

ti

-RRB-

with

cost

less

than

C

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

Since

this

contradicts

the

induction

hypothesis

we

conclude

that

Copt

-LRB-

ti

-RRB-

C

-LRB-

ti

-RRB-

m

-LRB-

ti

-RRB-

dmax

-LRB-

ti

-RRB-

This

concludes

the

proof

of

Theorem

We

can

now

extend

Theorem

to

the

case

when

the

optimization

procedure

to

prune

inactive

subtrees

is

added

to

the

algorithm

Note

that

it

is

easy

to

extend

the

proof

if

the

subtree

that

was

removed

did

not

consist

of

any

of

the

multicast

nodes

in

the

original

Steiner

tree

at

time

For

example

if

a

node

x

was

added

to

the

tree

at

time

ti

and

later

deleted

at

time

tj

ti

it

is

easy

to

see

that

at

any

time

t

tj

both

C

-LRB-

t

-RRB-

and

Copt

-LRB-

t

-RRB-

are

not

affected

by

these

updates

However

it

is

non-trivial

to

show

that

Eq

-LRB-

-RRB-

holds

even

when

a

node

initially

part

of

the

multicast

group

G

-LRB-

-RRB-

is

removed

from

the

tree

as

part

of

the

optimization

step

The

effect

of

the

optimization

step

is

to

remove

one

or

more

D-nodes

in

a

region

of

the

multicast

tree

Since

the

regions

in

T

are

edge-disjoint

it

is

sufficient

to

prove

the

result

considering

the

effect

of

the

pruning

procedure

in

a

single

region

Lemma

Let

T

-LRB-

-RRB-

be

an

optimal

Steiner

tree

for

a

network

at

time

for

a

given

multicast

group

G

-LRB-

-RRB-

and

let

T

-LRB-

t

-RRB-

be

the

corresponding

tree

at

t

after

a

sequence

of

additions

and

deletions

that

did

not

trigger

the

optimization

step

Let

T

-LRB-

t

-RRB-

be

the

tree

obtained

by

pruning

the

inactive

edges

in

a

region

R

of

T

-LRB-

t

-RRB-

with

cost

C

-LRB-

t

-RRB-

and

Copt

-LRB-

t

-RRB-

the

the

corresponding

cost

of

an

optimal

Steiner

tree

for

G

-LRB-

t

-RRB-

at

time

t

If

no

rearrangements

have

occurred

in

the

interval

-LRB-

t

-RRB-

Copt

-LRB-

t

-RRB-

C

-LRB-

t

-RRB-

m

-LRB-

t

-RRB-

dmax

-LRB-

t

-RRB-

-LRB-

-RRB-

where

m

-LRB-

t

-RRB-

is

the

total

number

of

M-nodes

in

T

-LRB-

t

-RRB-

and

dmax

-LRB-

t

-RRB-

is

the

maximum

distance

between

two

multicast

neighbors

in

T

during

the

interval

-LRB-

t

-RRB-

Proof

The

proof

is

by

contradiction

Consider

the

set

of

M-nodes

that

were

removed

from

T

-LRB-

t

-RRB-

as

a

result

of

the

pruning

This

set

in

general

consists

of

nodes

that

were

added

to

the

multicast

group

during

the

interval

-LRB-

t

-RRB-

as

well

as

nodes

in

the

original

multicast

tree

T

-LRB-

-RRB-

that

remained

in

G

throughout

the

interval

-LRB-

t

-RRB-

Of

the

nodes

in

the

second

category

we

can

further

partition

this

set

into

two

subsets

the

first

containing

those

nodes

that

caused

the

conversion

of

an

S-node

into

an

M-node

and

the

second

containing

those

that

did

n't

Let

us

denote

these

subsets

by

P

and

Q

respectively

Note

that

each

node

in

Q

appears

on

a

subtree

in

the

original

tree

T

-LRB-

-RRB-

that

is

completely

removed

during

the

pruning

at

time

t.

Let

denote

the

cardinality

of

P

and

EQ

the

total

cost

of

the

edges

that

were

removed

when

nodes

in

Q

were

pruned

We

can

convert

the

sequence

of

updates

in

the

interval

-LRB-

t

-RRB-

into

an

equivalent

sequence

in

which

no

updates

of

the

pruned

nodes

occur

during

the

interval

-LRB-

o

-RRB-

and

only

the

pruned

nodes

are

updated

during

the

interval

-LRB-

o

t

-RRB-

Thus

the

pruning

at

time

t

removes

all

the

nodes

that

were

newly

added

to

M

during

the

interval

-LRB-

o

t

-RRB-

and

converts

of

the

S-nodes

into

M-nodes

Thus

m

-LRB-

t

-RRB-

m

-LRB-

o

-RRB-

ff

-LRB-

-RRB-

All

newly-introduced

edges

in

T

during

the

interval

-LRB-

o

t

-RRB-

are

removed

during

the

pruning

at

time

t

In

addition

edges

with

a

total

cost

of

EQ

are

removed

as

a

result

of

pruning

nodes

that

were

part

of

G

-LRB-

t

-RRB-

Hence

the

cost

of

the

tree

left

behind

after

pruning

is

given

by

C

-LRB-

t

-RRB-

C

-LRB-

o

-RRB-

EQ

-LRB-

-RRB-

Assume

if

possible

that

an

optimal

Steiner

tree

T

can

be

constructed

for

the

nodes

in

G

-LRB-

t

-RRB-

with

cost

C

C

-LRB-

t

-RRB-

m

-LRB-

t

-RRB-

dmax

-LRB-

t

-RRB-

Substituting

for

C

-LRB-

t

-RRB-

and

m

-LRB-

t

-RRB-

from

equations

-LRB-

-RRB-

and

-LRB-

-RRB-

respectively

this

becomes

C

C

-LRB-

o

-RRB-

EQ

-LRB-

m

-LRB-

o

-RRB-

-RRB-

dmax

-LRB-

t

-RRB-

-LRB-

-RRB-

Since

C

-LRB-

o

-RRB-

C

-LRB-

-RRB-

m

-LRB-

o

-RRB-

dmax

-LRB-

o

-RRB-

Eq

-LRB-

-RRB-

can

be

re-written

as

C

C

-LRB-

-RRB-

EQ

ffdmax

-LRB-

t

-RRB-

-LRB-

-RRB-

We

can

now

construct

an

optimal

Steiner

tree

for

the

initial

multicast

group

G

-LRB-

-RRB-

as

follows

T

contains

all

nodes

in

G

-LRB-

-RRB-

except

those

in

P

-LSB-

Q.

Therefore

starting

from

T

first

add

the

edges

that

were

removed

from

T

-LRB-

t

-RRB-

when

nodes

in

the

set

Q

were

pruned

When

these

edges

are

added

every

node

in

Q

would

be

connected

to

a

Z-node

in

T

and

the

cost

of

the

tree

increases

by

EQ

We

can

now

connect

each

member

node

non-member

node

modified

node

Figure

Example

in

the

proof

of

Lemma

of

the

nodes

in

P

along

its

shortest

path

to

the

tree

This

increases

the

cost

by

at

most

dmax

-LRB-

t

-RRB-

for

each

node

in

P

Thus

the

cost

of

the

Steiner

tree

obtained

is

less

than

C

EQ

ffdmax

-LRB-

t

-RRB-

By

Eq

-LRB-

-RRB-

this

is

less

than

C

-LRB-

-RRB-

Since

C

-LRB-

-RRB-

is

the

cost

of

an

optimal

Steiner

tree

for

G

-LRB-

-RRB-

this

results

in

a

contradiction

This

concludes

the

proof

of

Lemma

The

bound

in

Theorem

did

not

take

into

account

the

locations

of

the

updates

Partitioning

the

M-nodes

into

regions

allows

us

to

derive

our

main

result

a

bound

based

on

the

number

of

M-nodes

in

individual

regions

Theorem

Let

T

-LRB-

-RRB-

be

an

optimal

Steiner

tree

for

a

network

at

time

for

a

given

multicast

group

G

-LRB-

-RRB-

and

let

T

-LRB-

t

-RRB-

be

the

corresponding

tree

at

t

after

a

sequence

of

additions

and

deletions

Let

C

-LRB-

t

-RRB-

be

the

solution

cost

of

T

-LRB-

t

-RRB-

and

Copt

-LRB-

t

-RRB-

be

the

corresponding

cost

of

an

optimal

Steiner

tree

for

G

-LRB-

t

-RRB-

at

time

t

If

no

rearrangements

have

occurred

in

the

interval

-LRB-

t

-RRB-

C

-LRB-

t

-RRB-

Copt

-LRB-

t

-RRB-

cth

-LRB-

-RRB-

where

cth

is

the

counter

threshold

to

trigger

a

rearrangement

We

will

prove

this

theorem

considering

only

the

delete

operations

in

the

interval

-LRB-

t

-RRB-

Since

the

effect

of

add

operations

on

the

competitiveness

is

less

than

that

of

deletes

the

bound

also

holds

for

arbitrary

update

sequences

consisting

of

both

add

and

delete

operations

We

assume

that

the

optimization

step

of

the

algorithm

has

been

applied

with

the

result

that

no

deleted

nodes

appear

as

leaves

in

the

tree

T

-LRB-

t

-RRB-

Before

we

prove

the

theorem

we

first

prove

the

following

lemma

Lemma

Let

Ri

be

a

region

in

the

multicast

tree

T

-LRB-

t

-RRB-

at

time

t

after

a

sequence

of

delete

operations

in

the

interval

-LRB-

t

-RRB-

Let

Zi

zkg

be

the

set

of

Z-nodes

in

Ri

Then

any

Steiner

tree

in

T

-LRB-

t

-RRB-

for

the

nodes

in

Zi

must

have

a

minimum

cost

of

Ci

ni

-LRB-

-RRB-

where

Ci

the

total

cost

of

edges

in

Ri

and

ni

the

number

of

M-nodes

in

Ri

Proof

Since

the

proof

of

this

lemma

for

the

general

case

is

complex

we

start

with

a

simple

proof

for

the

case

ni

In

this

case

the

region

Ri

consists

of

one

M-node

say

x

and

k

Z-nodes

zk

as

illustrated

in

Figure

Assume

that

a

Steiner

tree

T

has

been

found

in

the

network

connecting

the

nodes

zk

with

cost

less

than

Ci

Since

x

is

not

a

leaf

node

in

the

tree

T

-LRB-

t

-RRB-

there

is

a

path

from

x

to

one

of

the

Z-nodes

in

the

region

say

zi

with

cost

Ci

We

can

append

this

path

to

the

Steiner

tree

T

to

obtain

a

subtree

connecting

nodes

x

zk

with

total

cost

Ci

This

shows

that

the

initial

solution

T

-LRB-

-RRB-

was

not

an

optimal

Steiner

tree

for

G

-LRB-

-RRB-

resulting

in

a

contradiction

Note

that

the

result

is

true

even

if

inactive

subtrees

were

pruned

off

the

node

x

during

the

interval

-LRB-

t

-RRB-

Now

consider

the

general

case

with

ni

Assume

again

that

a

Steiner

tree

T

has

been

found

connecting

the

nodes

zk

with

cost

C

Ci

-LRB-

ni

-RRB-

We

can

partition

the

edges

in

region

Ri

into

two

subsets

as

follows

Let

Ei

be

the

set

of

edges

belonging

to

segments

in

Ri

that

connect

two

M-nodes

and

Ei

the

set

containing

the

remaining

edges

in

Ri

The

edges

in

Ei

form

a

subtree

of

T

-LRB-

t

-RRB-

connecting

the

set

of

M-nodes

in

Ri

The

edges

in

Ei

connect

this

subtree

to

the

Z-nodes

in

the

region

Let

Ci

and

Ci

be

the

total

costs

of

the

edges

in

Ei

and

Ei

respectively

with

Ci

Ci

Ci

It

is

easy

to

see

that

any

path

from

a

Z-node

in

Ri

to

the

subtree

consisting

of

edges

in

Ei

must

have

distance

no

more

than

C

If

not

we

can

remove

this

path

from

Ri

and

add

the

edges

in

T

to

obtain

a

connected

graph

containing

all

the

Z

and

M-nodes

in

Ri

with

a

cost

lower

than

Ci

Similarly

it

can

be

shown

that

Ci

Ci

C.

Otherwise

we

can

add

to

Ei

the

Steiner

tree

T

and

a

path

from

the

subtree

formed

by

Ei

resulting

in

Steiner

tree

for

all

the

Z

and

M-nodes

in

Ri

with

a

cost

lower

than

Ci

Thus

Ci

Ci

C

-LRB-

-RRB-

Since

the

edges

in

Ei

form

a

subtree

of

T

with

at

least

ni

nodes

one

of

the

paths

in

this

subtree

between

two

closest

M-nodes

must

have

distance

greater

than

or

equal

to

Ci

ni

Removing

the

edges

on

this

path

disconnects

the

subtree

into

two

or

more

fragments

We

can

re-combine

these

fragments

into

a

Steiner

tree

connecting

the

M

and

Z-nodes

of

Ri

by

adding

to

these

fragments

-LRB-

i

-RRB-

all

edges

in

Ei

and

-LRB-

ii

-RRB-

edges

in

T

and

pruning

off

unnecessary

edges

The

cost

of

this

tree

is

less

than

or

equal

to

Ci

Ci

ni

C

-LRB-

-RRB-

Since

the

cost

of

the

Steiner

tree

so

constructed

must

be

no

more

than

Ci

we

have

Ci

Ci

ni

C

Ci

-LRB-

-RRB-

Using

the

inequality

in

Eq

-LRB-

-RRB-

and

simplifying

this

becomes

C

Ci

ni

-LRB-

-RRB-

This

concludes

the

proof

of

Lemma

Note

that

the

upper-bound

of

Eq

-LRB-

-RRB-

can

actually

be

reached

For

example

Figure

shows

a

region

that

is

a

linear

chain

consisting

of

two

Z-nodes

at

the

ends

and

ni

internal

M-nodes

If

each

segment

of

the

chain

has

a

weight

of

unit

The

total

cost

of

the

chain

is

ni

Assume

there

is

a

network

edge

between

the

two

Z-nodes

with

cost

-LRB-

ffl

-RRB-

Then

C

ffl

ni

-LRB-

-RRB-

member

node

deleted

node

Figure

An

example

where

the

lower

bound

of

Eq

-LRB-

-RRB-

is

actually

reached

We

can

now

prove

Theorem

Proof

of

Theorem

Let

Ri

i

k

be

the

regions

in

T

-LRB-

t

-RRB-

and

ni

be

the

number

of

M-nodes

in

Ri

Denote

by

Ci

the

cost

of

the

edges

in

Ri

and

by

Zi

the

set

of

Z-nodes

in

Ri

Let

nmax

max

i

k

ni

Since

no

rearrangements

occurred

during

the

interval

-LRB-

t

-RRB-

nmax

cth

Hence

we

need

to

show

that

C

-LRB-

t

-RRB-

Copt

-LRB-

t

-RRB-

nmax

where

Copt

-LRB-

t

-RRB-

is

the

cost

of

an

optimal

multicast

tree

Topt

-LRB-

t

-RRB-

for

the

multicast

group

G

-LRB-

t

-RRB-

Note

that

the

edges

in

the

regions

are

disjoint

from

each

other

In

addition

the

edges

in

-LSB-

-LSB-

Rk

form

a

subtree

connecting

all

the

Z-nodes

in

the

k

regions

as

well

as

the

M-nodes

Let

CZ

be

the

cost

of

an

optimal

Steiner

tree

T

for

the

nodes

in

-LSB-

-LSB-

Zk

Consider

any

optimal

Steiner

T

tree

for

the

multicast

group

G

-LRB-

t

-RRB-

at

time

t

with

cost

C.

Assume

that

we

add

to

T

the

edges

in

each

of

Ri

Since

the

nodes

in

-LSB-

-LSB-

Zk

are

connected

in

both

T

and

the

edges

in

-LSB-

-LSB-

Rk

we

must

have

Copt

-LRB-

t

-RRB-

k

X

i

Ci

CZ

C

-LRB-

t

-RRB-

-LRB-

-RRB-

That

is

when

the

cost

of

a

minimal

Steiner

tree

is

subtracted

from

Copt

-LRB-

t

-RRB-

Pki

Ci

the

result

must

be

greater

than

or

equal

to

the

cost

of

the

tree

at

time

t.

Dividing

the

terms

in

Eq

-LRB-

-RRB-

by

Copt

-LRB-

t

-RRB-

and

rearranging

we

get

C

-LRB-

t

-RRB-

Copt

-LRB-

t

-RRB-

Pki

Ci?CZ

C

-LRB-

t

-RRB-

-LRB-

-RRB-

Consider

the

term

Pki

Ci?CZ

C

-LRB-

t

-RRB-

Since

Pki

Ci

C

this

can

be

written

as

Pki

Ci

CZ

C

-LRB-

t

-RRB-

Pki

Ci

CZ

Pki

Ci

CZ

CZ

Pki

Ci

-LRB-

-RRB-

By

Lemma

CZ

k

X

i

Ci

ni

Therefore

Eq

-LRB-

-RRB-

can

be

written

as

Pki

Ci

CZ

C

-LRB-

t

-RRB-

k

X

i

Ci

ni

k

X

i

Ci

k

X

i

Ci

nmax

k

X

i

Ci

ni

ni

-LRB-

-RRB-

Substituting

in

Eq

-LRB-

-RRB-

we

get

C

-LRB-

t

-RRB-

Copt

-LRB-

t

-RRB-

ni

-LRB-

-RRB-

This

concludes

the

proof

of

Theorem

Note

that

the

theorem

provides

us

a

way

to

limit

the

disparity

between

the

incremental

solution

and

the

optimal

solution

by

setting

a

threshold

for

the

counters

for

triggering

a

rearrangement

If

the

rearrangement

algorithm

leaves

behind

an

optimal

Steiner

tree

the

bound

in

Eq

-LRB-

-RRB-

holds

at

any

point

in

time

for

a

given

counter

threshold

In

practice

however

the

rearrangements

must

be

done

using

a

heuristic

algorithm

and

the

bound

may

not

hold

at

all

times

Nevertheless

the

theorem

provides

valuable

insight

into

the

behavior

of

the

algorithm

Performance

Evaluation

Having

proved

an

analytical

upper

bound

on

the

competitiveness

of

solutions

produced

by

ARIES

we

now

turn

to

its

average

behavior

Since

the

analytical

upper

bound

provides

little

insight

into

the

algorithm

's

average

behavior

we

simulated

ARIES

on

a

large

number

of

random

test

networks

We

found

that

in

practice

the

competitiveness

of

the

solutions

produced

by

ARIES

were

much

better

than

the

upper

bound

In

fact

the

majority

of

the

solutions

found

were

within

of

the

best

solution

found

by

a

static

Steiner

heuristic

The

details

of

our

simulations

follow

Evaluation

Methodology

We

simulated

our

heuristic

on

randomly

generated

sparse

test

networks

each

with

multicast

members

We

also

simulated

heuristics

GREEDY

and

EBA

and

include

their

results

for

comparison

We

chose

to

use

random

networks

because

our

choice

of

suitable

existing

networks

was

very

limited

Instead

we

generated

random

networks

as

described

below

We

consider

our

graphs

to

be

sparse

because

each

has

less

than

of

the

possible

edges

present

in

a

complete

graph

We

chose

multicast

members

for

two

reasons

-LRB-

i

-RRB-

we

believe

it

likely

that

a

multicast

group

will

consist

of

a

minority

of

graph

nodes

and

-LRB-

ii

-RRB-

multicast

members

in

a

graph

presents

a

difficult

problem

for

Steiner

heuristics

Each

heuristic

received

requests

to

add

or

delete

a

multicast

member

for

each

test

network

The

probability

of

an

add

request

is

related

to

t

the

number

of

nodes

in

the

tree

by

the

function

-LSB-

-RSB-

-LRB-

t

-RRB-

-LRB-

t

-RRB-

-LRB-

-RRB-

t

The

value

of

determines

the

equilibrium

point

at

which

the

probability

of

an

add

or

delete

is

equally

likely

In

our

simulations

was

set

to

the

fraction

of

multicast

members

As

a

result

each

test

network

received

approximately

the

same

number

of

addition

and

deletion

requests

In

our

simulations

each

request

was

presented

to

the

network

only

after

the

previous

request

was

completely

serviced

The

test

graphs

were

generated

to

resemble

real

networks

in

a

manner

similar

to

that

of

Doar

-LSB-

-RSB-

Each

of

the

nodes

is

distributed

across

a

Cartesian

coordinate

plane

with

minimum

and

maximum

coordinates

-LRB-

-RRB-

and

-LRB-

-RRB-

creating

a

forest

of

nodes

spread

across

this

plane

The

nodes

are

then

connected

by

a

random

spanning

tree

This

tree

is

generated

by

iteratively

considering

a

random

edge

between

nodes

and

accepting

those

edges

that

connect

distinct

components

The

remaining

redundant

edges

of

the

graph

are

chosen

by

examining

each

possible

edge

-LRB-

x

y

-RRB-

and

generating

a

random

number

r

If

r

is

less

than

a

probability

function

P

-LRB-

x

y

-RRB-

based

on

the

distance

between

x

and

y

then

the

edge

is

accepted

Each

edge

's

distance

is

its

rectilinear

distance

We

used

the

probability

function

P

-LRB-

x

y

-RRB-

e?dx

y

where

dx

y

is

the

rectilinear

distance

between

nodes

x

and

y

-LSB-

-RSB-

The

parameters

and

govern

the

density

of

the

graph

Increasing

increases

the

number

of

connections

to

nodes

far

away

and

increasing

increases

the

number

of

edges

from

each

node

After

some

experimentation

we

chose

and

for

generating

the

graphs

used

in

this

simulation

These

values

produced

graphs

of

realistic

density

and

degree-distribution

Each

heuristic

was

implemented

on

top

of

our

Steiner

problem

simulation

platform

designed

to

provide

the

level

playing

field

upon

which

to

base

comparisons

It

supplies

the

basic

graph

manipulation

routines

used

by

the

heuristics

such

as

adding

and

deleting

edges

Simulation

Results

In

this

section

we

present

our

simulation

results

for

heuristic

ARIES

For

comparison

we

also

include

simulation

results

for

heuristics

GREEDY

and

EBA

The

metrics

we

use

are

competitiveness

CPU

time

and

the

number

of

edges

that

are

different

between

successive

multicast

trees

Competitiveness

is

defined

to

be

the

ratio

between

the

heuristic

tree

cost

and

the

cost

of

the

static

heuristic

K-SPH

for

each

test

case

Ideally

we

should

be

comparing

heuristic

results

to

the

optimal

tree

for

each

case

but

this

is

impractical

Competitiveness

-LRB-

Heuristic/K-SPH

-RRB-

Cumulative

Percentage

of

Cases

greedy

eba

Figure

The

cumulative

distribution

of

competitiveness

for

each

heuristic

CPU

Seconds

Cumulative

Percentage

of

Cases

greedy

eba

Figure

The

cumulative

distribution

of

CPU

time

for

each

heuristic

Instead

we

use

static

heuristic

K-SPH

as

our

benchmark

Our

second

criterion

CPU

time

is

measured

by

the

CPU

seconds

on

an

IBM

for

a

serial

implementation

of

the

algorithms

Our

third

criterion

the

difference

between

successive

trees

is

measured

by

the

number

of

edges

that

are

different

between

successive

trees

Figure

presents

the

cumulative

distribution

for

the

competitiveness

for

four

variants

of

heuristic

ARIES

as

well

as

heuristics

GREEDY

and

EBA

Each

variant

of

ARIES

uses

a

different

threshold

value

and

For

example

in

each

region

of

the

tree

may

have

at

most

five

modified

nodes

without

triggering

a

rearrangement

As

seen

in

Figure

all

of

ARIES

's

variants

occupy

the

favorable

upper

half

As

rearrangements

ares

postponed

longer

ARIES

's

cumulative

distribution

becomes

closer

to

that

of

GREEDY

It

is

noteworthy

that

EBA

has

the

worst

overall

performance

of

any

heuristic

This

is

because

the

heuristic

runs

on

a

complete

distance

graph

This

means

that

each

Steiner

tree

resembles

a

merged

shortest

path

tree

when

translated

back

to

its

real-world

equivalent

and

we

know

merged

shortest-path

trees

to

be

sub-optimal

-LSB-

-RSB-

This

disadvantage

is

exaggerated

because

EBA

requires

internal

non-member

nodes

to

have

degree

greater

than

two

Figure

complements

Figure

by

presenting

the

cumulative

distributions

for

CPU

seconds

Heuristic

GREEDY

has

the

lightest

computation

requirements

and

finishes

all

cases

well

within

the

CPU

seconds

shown

By

comparison

within

the

same

CPU

time

ARIES

's

least

expensive

variant

completed

of

its

cases

while

the

most

expensive

variant

completed

only

of

its

cases

However

heuristic

EBA

completed

just

of

its

cases

Again

heuristic

EBA

displays

the

worst

behavior

This

is

for

at

least

two

reasons

-LRB-

i

-RRB-

EBA

requires

up-to-date

distance

information

for

both

the

graph

and

the

tree

and

-LRB-

ii

-RRB-

EBA

frequently

rearranges

the

tree

Although

distance

information

for

the

original

graph

may

be

pre-computed

distance

information

for

the

current

tree

requires

additional

computational

effort

for

each

request

Because

EBA

rearranges

the

tree

in

roughly

half

its

cases

its

computational

effort

per

request

becomes

significant

EBA

requires

similar

computational

effort

for

processing

each

request

By

contrast

most

of

the

total

CPU

time

for

ARIES

is

concentrated

in

its

rearrangements

Figure

completes

the

comparison

of

heuristics

by

displaying

the

number

of

edges

that

are

different

between

successive

trees

for

all

fifty

test

networks

This

criterion

would

be

important

to

applications

seeking

the

smallest

possible

change

between

multicast

trees

such

as

video

conferencing

and

real-time

data

broadcasts

Heuristic

GREEDY

changes

successive

trees

the

least

accomplishing

each

change

using

no

more

than

four

edges

The

ARIES

variants

appear

next

followed

by

heuristic

EBA

All

of

the

ARIES

variants

change

successive

trees

by

four

or

less

edges

for

over

of

the

test

cases

EBA

changes

only

of

its

cases

using

four

or

less

edges

This

is

so

because

of

the

edge

changes

necessary

to

make

the

tree

an

extension

tree

after

each

request

For

our

fifty

test

networks

the

two

most

promising

variants

of

ARIES

were

and

Both

cases

strike

a

middle

ground

between

frequent

rearrangements

and

degradation

in

tree

quality

Their

competitiveness

is

roughly

equivalent

even

though

rearranges

the

graph

less

frequently

than

For

the

rest

of

this

paper

we

use

as

our

representative

ARIES

variant

We

choose

this

variant

because

it

represents

the

best

balance

among

competitiveness

computational

effort

and

edges

changed

for

our

simulations

The

best

threshold

value

in

general

will

of

course

depend

on

the

problem

instance

The

next

two

figures

Figures

and

present

tree

cost

and

CPU

time

as

a

function

of

each

addition

or

deletion

request

for

one

example

network

of

the

fifty

test

networks

used

in

our

simulations

In

Figure

static

heuristic

K-SPH

is

the

lowest

curve

and

represents

the

baseline

ARIES

closely

follows

this

curve

Heuristic

GREEDY

deviates

moderately

from

K-SPH

's

curve

while

heuristic

EBA

shows

the

largest

Number

of

Edges

Changed

Percentage

of

Cases

greedy

eba

Figure

The

cumulative

distribution

of

edges

changed

for

each

heuristic

variation

In

Figure

static

heuristic

K-SPH

is

the

upper

curve

This

upper

curve

plots

the

CPU

time

necessary

to

recompute

each

case

using

the

static

heuristic

K-SPH

As

seen

in

the

figure

the

computational

requirement

of

ARIES

is

light

except

for

the

occasional

rearrangements

shown

by

spikes

in

the

curve

The

number

and

size

of

these

spikes

are

dependent

on

the

counter

threshold

chosen

Heuristic

EBA

by

contrast

performs

a

more

uniform

amount

of

work

for

most

requests

This

difference

can

be

more

clearly

seen

in

Figure

Here

heuristic

EBA

is

contrasted

with

heuristic

While

each

of

spikes

exceed

CPU

seconds

the

remaining

cases

fall

well

below

CPU

seconds

EBA

in

contrast

often

uses

five

times

as

much

CPU

time

as

for

the

same

request

This

same

difference

is

also

reflected

in

Table

In

Table

we

summarize

the

number

of

rearrangements

average

number

of

edges

changes

and

total

CPU

time

spent

for

each

of

the

ARIES

variants

EBA

and

GREEDY

Heuristic

EBA

rearranges

the

tree

most

times

with

the

highest

average

number

of

edges

different

between

successive

trees

However

this

disadvantage

is

balanced

by

its

modest

CPU

requirement

of

CPU

seconds

As

observed

above

this

CPU

time

is

distributed

more

evenly

over

the

requests

as

compared

to

the

ARIES

variants

ARIES

variants

perform

between

and

rearrangements

and

have

a

smaller

value

for

the

average

number

of

edge

changes

between

successive

trees

This

is

primarily

the

result

of

confining

rearrangements

within

modified

regions

ARIES

variants

require

the

most

CPU

seconds

overall

although

most

of

this

time

is

spent

during

rearrangements

Even

the

most

expensive

variant

of

ARIES

requires

less

than

of

the

CPU

time

of

static

K-SPH

We

find

this

to

be

an

acceptable

tradeoff

for

increased

competitiveness

In

addition

the

advantage

of

EBA

in

terms

of

its

lower

CPU

time

is

unlikely

to

hold

in

a

distributed

implementation

since

the

algorithm

can

not

be

extended

to

the

distributed

case

in

a

straightforward

manner

Heuristic

GREEDY

of

course

performs

no

rearrangements

has

the

minimum

value

in

terms

of

the

average

number

of

edges

Member

Addition

or

Deletion

Event

Tree

Cost

EBA

Greedy

ARIES

K-SPH

Figure

Tree

cost

for

one

example

graph

over

all

requests

Member

Addition

or

Deletion

Event

CPU

Time

-LRB-

in

Seconds

-RRB-

EBA

Greedy

ARIES

K-SPH

Figure

CPU

time

for

one

example

graph

over

all

requests

Member

Addition

or

Deletion

Event

CPU

Seconds

EBA

Figure

Comparison

of

CPU

time

of

heuristics

EBA

and

for

one

example

graph

over

all

requests

changed

between

successive

trees

and

requires

the

least

CPU

time

Concluding

Remarks

In

this

paper

we

proposed

and

evaluated

a

new

rearrangeable

heuristic

ARIES

for

the

on-line

multicast

problem

The

algorithm

is

based

on

monitoring

the

accumulated

damage

to

the

multicast

tree

within

local

regions

of

the

tree

as

nodes

are

added

and

deleted

and

triggering

a

rearrangement

when

the

number

of

changes

within

a

connected

subtree

crosses

a

set

threshold

We

presented

analytical

upper

bounds

on

the

competitiveness

of

the

algorithm

and

presented

simulation

results

using

competitiveness

CPU

time

and

differences

between

successive

trees

as

the

metrics

The

results

were

compared

with

those

from

two

previous

heuristics

GREEDY

and

EBA

Of

the

heuristics

evaluated

heuristic

ARIES

performed

closest

in

competitiveness

to

the

baseline

solutions

produced

by

the

static

Steiner

heuristic

K-SPH

It

also

lends

itself

to

tuning

by

varying

its

counter

threshold

that

triggers

a

rearrangement

The

quality

of

solutions

produced

by

ARIES

on

our

test

networks

on

average

was

considerably

better

than

the

worst-case

analytical

bound

In

addition

successive

trees

were

often

very

close

reducing

the

disruption

caused

by

large

rearrangements

Among

the

variants

of

ARIES

emerged

as

the

most

promising

for

our

test

networks

The

best-performing

variant

for

a

particular

case

will

of

course

depend

on

the

network

and

the

pattern

of

updates

to

the

multicast

tree

In

addition

to

our

description

of

heuristic

ARIES

as

a

centralized

heuristic

we

have

also

outlined

how

this

heuristic

could

be

implemented

as

a

distributed

asynchronous

algorithm

This

distributed

version

would

likely

have

the

greatest

practical

use

At

least

two

open

topics

remain

First

the

upper

bound

for

competitiveness

we

have

shown

assumes

Heuristic

Number

of

Average

Number

of

Total

CPU

Rearrangements

Edges

Changed

Seconds

Static

K-SPH

EBA

GREEDY

Table

The

message

and

convergence

bounds

for

distributed

K-SPH

that

the

multicast

tree

is

restored

to

an

optimal

tree

after

each

rearrangement

A

more

difficult

but

interesting

problem

would

be

to

bound

the

competitiveness

across

more

than

one

rearrangement

taking

into

account

the

sub-optimal

solutions

produced

by

the

rearrangement

algorithm

Second

we

have

only

sketched

a

distributed

implementation

of

ARIES

Admittedly

a

distributed

implementation

in

our

ideal

assumed

environment

would

be

straightforward

In

a

real

environment

however

network

nodes

may

enter

and

leave

the

multicast

group

simultaneously

Multiple

simultaneous

modifications

to

the

multicast

membership

could

result

in

race

conditions

under

which

the

distributed

algorithm

does

not

converge

Mechanisms

must

be

devised

to

coordinate

the

updates

in

a

consistent

manner

In

addition

counter

updates

need

to

be

communicated

to

tree

nodes

within

a

local

region

reliably

These

difficulties

however

are

not

unique

to

ARIES

but

arise

in

the

design

of

many

distributed

algorithms

ARIES

represents

a

balance

between

the

conflicting

demands

of

multicast

tree

quality

computational

requirements

and

distributed

implementation

complexities

Of

particular

interest

are

its

finite

theoretic

bounds

for

multicast

member

addition

and

deletion

This

coupled

with

its

good

average

case

behavior

make

ARIES

a

suitable

choice

for

real-world

on-line

multicast

routing

applications

References

-LSB-

-RSB-

F.

Bauer

and

A.

Varma

Degree-constrained

multicasting

in

point-to-point

networks

in

Proc

IEEE

INFOCOM

Boston

Apr.

pp.

-LCB-

-LSB-

-RSB-

F.

Bauer

and

A.

Varma

Distributed

algorithms

for

multicast

path

setup

in

data

networks

in

Proc

IEEE

GLOBECOM

Singapore

Nov.

to

appear

-LSB-

-RSB-

J.

Beasley

An

SST-based

algorithm

for

the

Steiner

problem

in

graphs

Networks

vol

pp.

-LCB-

-LSB-

-RSB-

L.

Berry

Graph

theoretic

models

for

multicast

communications

in

Traffic

theories

for

new

telecommunications

services

ITC

Specialists

Seminar

Adelaide

Australia

Sep.

pp.

-LCB-

-LSB-

-RSB-

K.

Bharath-Kumar

and

Jaffe

Routing

to

multiple

destinations

in

computer

networks

IEEE

Transactions

on

Communications

vol

no.

pp.

-LCB-

Mar.

-LSB-

-RSB-

M.

Doar

and

I.

Leslie

How

bad

is

naive

multicast

routing

in

Proc

IEEE

INFOCOM

San

Francisco

CA

Apr.

pp.

-LCB-

-LSB-

-RSB-

F.

Hwang

and

D.

Richards

Steiner

tree

problems

Networks

vol

pp.

-LCB-

-LSB-

-RSB-

M.

Imase

and

B.

Waxman

Dynamic

Steiner

tree

problem

SIAM

J.

Disc

Math.

vol

no.

pp.

-LCB-

Aug.

-LSB-

-RSB-

J.

Kadirire

Comparison

of

dynamic

multicast

routing

algorithms

for

wide-area

packet

switched

-LRB-

Asynchronous

Transfer

Mode

-RRB-

networks

in

Proc

IEEE

INFOCOM

Boston

Apr.

pp.

-LCB-

-LSB-

-RSB-

V.

Kompella

J.

Pasquale

and

G.

Polyzos

Multicasting

for

multimedia

applications

in

Proc

IEEE

INFOCOM

New

York

NY

May

pp.

-LCB-

-LSB-

-RSB-

M.

Smith

and

P.

Winter

Path-distance

heuristics

for

the

Steiner

problem

in

undirected

networks

Algorithmica

vol

no.

pp

-LCB-

-LSB-

-RSB-

H.

Takahashi

and

A.

Matsuyama

An

approximate

solution

for

the

Steiner

problem

in

graphs

Math

Japonica

vol

no.

pp

-LCB-

-LSB-

-RSB-

S.

Voss

Steiner

's

problem

in

graphs

Heuristic

methods

Discrete

Applied

Mathematics

vol

pp.

-LCB-

-LSB-

-RSB-

B.

Waxman

Routing

of

multipoint

connections

IEEE

Journal

on

Selected

Areas

in

Communications

vol

no.

pp.

-LCB-

Dec.

-LSB-

-RSB-

J.

Westbrook

and

D.

Yan

Greedy

algorithms

for

the

on-line

Steiner

tree

and

generalized

Steiner

problems

in

Algorithms

and

data

structures

Third

Workshop

WADS

Montreal

Quebec

Canada

Aug.

pp.

-LCB-

-LSB-

-RSB-

P.

Winter

Steiner

problem

in

networks

A

survey

Networks

vol

no.

pp.

-LCB-

multicast algorithms
on-line steiner problem
rearrangeable multicast algorithms