Lo cal Error Recovery in SRM

Comparison of Two Approaches

ChingGung Liu Deb orah Estrin Scott Shenker and Lixia Zhang

Memb ers use propagation delays to schedule their request Abstr act SRM is a framework for reliable multicast de

livery In order to maximize the collab oration among the

and reply timers each memb er detecting a loss waits for a

group memb ers in error recovery b oth retransmission re

random time p erio d b efore sending the retransmission re

quests and replies are multicast to the entire group While

quest and similarly each memb er receiving a retransmis SRM eectively uses random timers to suppress duplicate

requests and replies the global nature of the request and

sion request waits for a random time p erio d b efore sending

replies means that every packet loss results in at least one

the reply When memb ers receive a retransmission re

request and reply message sent to the entire group

quest or resp ectively a reply message while waiting to To further improve the scalability of SRM one must lo

calize the scop e of error recovery trac In this pap er we

send one of their own they cancel their scheduled trans

present two approaches to lo cal recovery hopbased scop e

mission This enables SRM to suppress duplicate requests

control and use of lo cal recovery groups The rst approach

and replies and thus avoid the request and reply message uses hop count to limit the distribution of requests and

replies whereas the second approach connes error recov

implosion problem

ery trac using separatelyaddressed lo cal recovery groups

However each packet loss will result in at least one re

The lo cal recovery groups and hop count settings are au

quest and one reply message b eing sent to the entire mul tomatically created and dynamically adjusted based on ob

served loss patterns We use simulation exp eriments to ex

ticast group This limits the scalability of SRM as network

amine the p erformance of b oth approaches

and group size increases As suggested in the

premise of this pap er is that the error recovery mechanism

should isolate error recovery trac to the required scop e

Intro duction

In this pap er we present two dierent mechanisms to lo

calize the scop e of error recovery trac The hopscop ed

Scalable Reliable Multicast SRM is a framework

error recovery mechanism uses hop count to limit the dis

for reliable multicast delivery it guarantees data deliv

tance that request and reply messages can travel In con

ery to all memb ers in a multicast session The mecha

trast the groupscop ed error recovery mechanism connes

nisms needed to achieve this reliability can b e decomp osed

the propagation of error recovery trac by distributing it

into two parts session message exchange and receiver

to subsets of the group using separate multicast addresses

initiated error recovery Memb ers p erio dically exchange

Simulation results of these mechanisms suggest that they

session messages to rep ort current group state eg the

b oth reduce error recovery trac without intro ducing sig

highest received sequence numb er from each source so that

nicant overhead

losses can b e detected and to determine the propagation

Note that lo cal recovery is a p erformance optimization

delays b etween each pair of memb ers The error re

thus the mechanisms do not have to achieve the optimal or

covery mechanism is receiverinitiated and NAKbased

precise degree of lo cality the more lo cal the recovery the

receivers are resp onsible for detecting data losses and re

less recovery trac overhead there is In b oth mechanisms

questing retransmissions These retransmission requests

that we prop ose here a memb er may o ccasionally send

and the resulting replies are multicast to the entire group

its requests and replies to an inappropriate scop e While

such mistakes have a slight impact on the p erformance

ChingGung Liu is with the Fujitsu Lab oratories of America Inc e

mail charleyafujitsucom

of SRM in terms of the volume of error recovery trac

Deb orah Estrin is with the Computer Science DepartmentInformation

they have no impact on its correctness since all data losses

Sciences Institute University of Southern California email es

trinuscedu

are eventually recovered

Scott Shenker is with the Xerox Palo Alto Research Center email

The pap er is organized as follows Sections and de

shenkerxeroxcom

Lixia Zhang is with the Computer Science Department University of

scrib e the hopscop ed error recovery and the groupscop ed

California Los Angeles email lixiacsuclaedu

error recovery mechanisms resp ectively Section presents

This research was supp orted in part by the Advanced Research Pro jects

Agency monitored by Fort Huachuca under contracts DABTC

the simulation mo dels and analyzes the simulation results

and by the National Science Foundation under grant award No

and Section reviews related work We conclude in Section

NCR The views expressed here do not reect the p osition or

p olicy of the US government

with a short summary

1

Although the delay from a memb er and the delay to a memb er may b e

dierent SRM assumes the path b etween a pair of memb ers are symmet

2

SRM assumes most or all session memb ers not only the data source

ric thus each memb er determines its oneway delay to another memb er by

save all the application data If some memb ers do not save the data

taking half of its measured roundtrip delay This symmetry assumption

requested they simply do not participate in the error recovery pro cess

should cause no p erformance p enalty even when the paths are asymmet

3

ric b ecause the delay b etween memb ers is mainly used to dierentiate The discussion of lo calizing session messages is outside the scop e of

memb ers in setting their retransmission timers this pap er More information can b e found in

Request Hop Count HopScop ed Error Recovery

Each requester simply sets its request hop count large

The simplest way to control the scop e of requests and

enough to reach at least one memb er that is closer to the

replies is to limit the numb er of hops they travel We

source This memb er do es not necessarily share the same

wish to use the minimum hop counts p ossible in requests

data delivery path with the requester all that matters is

and replies To minimize the hop limit for request mes

that the upstream memb er is closer to the source than

sages our design takes the approach that a memb er ps re

the requester Hence the hop count to reach an upstream

quest extends just far enough to reach some other memb er

memb er for a memb er p regarding a source s in a session

q who is closer to the source If the loss o ccurred b etween

s

G d can b e set to

p

q and p then q will b e able to retransmit the lost packet

If the loss o ccurred elsewhere so that q missed the packet

s

d minfh j q G h h g

pq sq sp

p

as well then we only need to make sure that q will send

a request further up towards the source All that matters

where h is the distance in terms of the numb er of hops

pq

is that at least one request makes it across the lossy link

from p to q

ie link where the loss o ccurs and it is likely that this

comes from the closest memb er b ehind the lossy request r

ste

h memb ers request timer is set prop ortional link since eac e qu

source re requester

to the measured delay from the source replier re requester In the original SRM design a request is used to suppress qu e

st

as well as to ask for repair While lim

duplicate requests er

iting the hop count of the request message limits the over

head it generates it also diminishes its ability to suppress

Figure Multicasting requests with a limited hop count

other memb ers from sending the same requests Fortu

reduces the eectiveness of request suppression Scenario

nately the request hop count in our mechanism generally

in the string top ology

sp eaking is relatively small compared to the distance in

terms of the numb er of hops to the source Thus the re

Because a limited hop count reduces the eectiveness of

quest overhead p er loss is acceptable even though multiple

request suppression multiple requests regarding the same

requests for retransmitting the same data are generated

loss may b e generated In particular two scenarios illus

Moreover b ecause request timers are based on the propa

trated in Figure and are known to cause duplicate re

gation delay from the source a memb er far b ehind the lossy

quests In Figure the hop count to an immediate up

link may receive a reply b efore sending its own request

stream memb er is smaller than the hop count to an im

While we greatly limit the scop e of requests we require

mediate downstream memb er Therefore requests sent by

that a reply have sucient scop e to reach all memb ers who

upstream memb ers can not reach their downstream mem

share the same loss Since a replier do es not know where

b ers to suppress them from sending out the same requests

a packet is dropp ed it is dicult for the replier to de

In the worst case the request overhead within the loss re

cide how far the retransmission must go However if a

gion can b e two requests p er link one traveling upstream

requester assumes it is immediately b ehind the lossy link

and the other downward We consider such overhead ac

it can determine as we show b elow an upp er b ound on the

ceptable

hop count needed to reach all other memb ers b ehind the

requester p

The upp er b ound is called the proxy hop count

lossy link requester q

the requester acts as request proxy for memb ers

b ecause requester

When a replier receives a request who share the same loss source replier

s r requester

h hops away and the proxy hop count of

from a requester requester

requester is P then the repliers reply hop count

the requester

en by h P Note that the reply hop count is

is giv requester

an upp er b ound and the reply may reach memb ers who do

Figure Multicasting requests with a limited hop count

not share the loss

reduces the eectiveness of request suppression Scenario

Our hopscop ed error recovery requires a memb er to

in the star top ology

measure its distances in terms of the numb er of hops to

all the other memb ers in the same session The distance

The scenario illustrated in Figure can cause much

is measured by exchanging session messages Since session

higher request overhead All the requesters in Figure

messages are p erio dic the measurement is also p erio dically

cho ose r as the replier They multicast their requests with

refreshed We will discuss the algorithm to determine the

a hop count value that is big enough to reach r but not big

request and proxy hop counts in Section and Section

enough to reach one another for duplicate suppression In

The detailed mechanism is describ ed in Section

the worst case the numb er of requests p er loss within the

4

In a step replyrelying hopscop ed error recovery mechanism loss region is equal to the numb er of requesters Therefore

is suggested but without a sp ecic metho d to measure the request and

to minimize the numb er of duplicate requests requesters

reply hop counts Our prop osed mechanism can also b e used to measure

the request and reply hop counts in have to set their request hop counts large enough not only

h the replier but also to reach one another for sup to reac source s

s pression Π

r

The characteristic of this scenario in Figure is that

s

ultiple requesters do not cho ose one another as repliers m π

u u

retransmission For example b oth p and q request r

for r

is closer to the source than p and q Because the who π s v p

w w t in general replier selection is autonomous and indep enden π s

v

memb er will not know the selection of other memb ers a π s

p π s

wever two memb ers p and q are very likely to b e in

Ho q q

the scenario describ ed in Figure if they fall within the

following three conditions

p requests someone closer to the source than q

Figure Request and reply hop counts Thick lines rep

q requests someone closer to the source than p and

resent data delivery path circles represent the regions of

their request scop es overlap with each other

request and reply scop es

To check Conditions and a memb er p needs to cal

culate the distance from source s to its intended replier

s

with p An upstream memb er should b e proxy for its

denoted by d

p

downstream memb ers to request retransmission If q

s s

d minfh j r G h d g

is downstream of p then h h is equal to h

sr pr

sp pq sq

p p

However b ecause a memb er may b e one hop away

s

If d h then p concludes that it do es not request

sq

p

from its rsthop router h h may b e two hops

sp pq

s

memb er q for retransmission Similarly if d h then

sp

q

greater than h We refer to the downstream distance

sq

s

p concludes that it is not the intended replier for memb er

of p regarding a source s as D

p

q For Condition p concludes that their request scop es

s s

s

overlap if d d minfh h g Therefore memb er

pq q p

maxfh j q G D

p q

pq

p

p can compute the required hop count to suppress other

s

requests as d

h h h h h g

p

sp sq sp pq sq

s

p and u are siblings ones path from s is not a subset

d maxfh j q G

pq

p

of the other and u requests p for repair In other

s s s s

d h d h d d minfh h gg

sq sp pq q p

words p is closer to source s than u and p is within the

p q p q

radius of us request hop count To b e more sp ecic

The request hop count of p regarding source s denoted by

s

s s

s p is within the radius of d Therefore p has to b e

u

is the maximum of d and d ie

p p p

proxy for u as well as us downstream memb ers We

s

s s

s

refer to this distance as D

maxfd d g

p

p p p

s s s

The request hop count is calculated on a p ersource basis

g j u G D maxfh maxfD D

pu

u u p

under the assumption that sourcesp ecic multicast distri

s

bution trees are used Issues related to the use of other h h h d g

sp su up

u

typ es of multicast trees are left for future study

p and v are also siblings and v is within the radius of

s

ps request hop count h although v is not

pv

p

s

Proxy Hop Count

ps intended replier d h p has to b e proxy for

sv

p

v and v s downstream memb ers b ecause v s requests

A requester sets its proxy hop count so as to reach other

may b e suppressed by p We refer to this distance as

memb ers that share the same loss Since a requester has

s

Since v s requests are suppressed by p p do es D

p

no knowledge of the underlying network top ology it can

s s

in computing D not have to consider D

p v

only estimate an upp er b ound of its proxy hop count

A requester only has to consider memb ers farther away

s s s

g j v G D maxfh maxfD D

pv

v v p

from the source than itself in determining its proxy hop

count There are four kinds of relationship b etween a re

s

s

d h h g

sv pv

p p

quester and a memb er farther from the source They are

demonstrated in Figure by memb er pairs fp q g fp ug

p and w are also siblings but they are not within the

fp v g and fp w g

request hop counts of each other ie w do es not ask

p for repair and its requests are not suppressed by p

p and q have an upstreamdownstream relationship

Therefore w sends its own requests and p do es not

That is The path from s to p is a subset of the path

need to proxy for w

from s to q In this case q most likely shares losses

The proxy hop count is calculated on a p ersource basis

5

Sally Floyd help ed identify this pathological case in an earlier version

of this pap er A requester p can determine its proxy hop count regarding

s s

s

the rst reply and the relayed reply overlap thus memb ers and D source s P by taking the maximum of its D

p p p

s

within the overlapp ed area receive duplicate replies Since from all memb ers from which it hears session messages D

p

the distance b etween a replier and a requester h is rela

s s s

s

g D D P maxfD

tively small in the average case multicasting a reply with a

p p p p

hop count of h P should not intro duce signicantly more

A replier r determines its reply hop count triggered by

overhead in terms of network bandwidth Therefore in our

s

an incoming request from p regarding a loss from s as

r

hopscop ed error recovery a replier uses h P for its reply

hop count If multiple requests are received the replier

s s

h P

r p

r p

takes the maximum P value received in its calculation

One question regarding the hopscop ed error recovery

mechanism is that the hopscop ed packets may prevent

Mechanism Description and Discus

multicast pruning in densemo de multicast routing pro

sion

to cols such as DVMRP and PIMDM

Memb ers exchange session messages to measure the dis

As a result hopscop ed multicast packets b ecome lo cally

tance in terms of the numb er of hops from and to other

broadcast ie they reach all the routers within the hop

memb ers Additional information is carried in each session

limit including those that are not on the multicast routing

s s

message In particular memb er p includes h d d

sp

p p

tree However in SRM b ecause each memb er p erio dically

s s

and maxfD D g for each source s and h for each

pq

p p

multicasts global session messages those session messages

memb er q in its session messages The distance b etween

causes branches that reach no memb ers to b e pruned o

each pair of memb ers is used to compute the request and

Therefore hopscop ed request and reply trac is contained

proxy hop counts

within the multicast tree

The computation of request and proxy hop counts is p er

Ideally a request should reach a few neighb ors who have

formed iteratively A memb er recomputes its request and

the requested data and a reply should reach only those

proxy hop counts when a new session message is received

memb ers who lost the same packet However b ecause

It takes as few as two session cycles for a memb er to

hopscop ed multicast trac radiates in all directions the

compute its request hop count The computation of the

bandwidth overhead can b e signicant in some cases es

proxy hop count takes several session cycles to converge

p ecially in case of the reply trac For example the reply

b ecause it dep ends on results from other memb ers D to

from memb er r in Figure propagates upstream as well as

b e sp ecic In order to capture session dynamics the com

downstream to recover a loss In the next section we con

putation of request and proxy hop counts is timestamp ed

sider the use of separate multicast groups to more precisely

and aged so obsolete results will b e timed out

control the scop e of error recovery trac

When a packet loss is detected a requester multicasts

a request within the radius of its request hop count The

request message carries distance from the source to the in

GroupScop ed Error Recovery

tended replier d and the proxy hop count d is used

to determine request suppression A memb er suppresses

A local recovery group consists of a set of memb ers who

its scheduled request if the received request is intended to

share common data losses to at least some degree Mem

reach someone closer to the source Otherwise the sched

b ers share the same losses b ecause they share one or more

uled request should b e sent The replier uses the proxy

lossy links along the data delivery path from a source

hop count to determine the reply hop count Normally

Because we assume sourcesp ecic multicast distribution

at least one request from memb ers b ehind the lossy link

trees the creation of lo cal groups is on a p ersource basis

reaches a memb er with the requested data and triggers a

However our mechanism do es not limit memb ers to a sin

reply However if no reply is received due to packet loss

gle lo cal group p er source Multiple lo cal groups can b e

or underestimated request hop count the requester sends

asso ciated with a source where each group is resp onsible

a second request globally and the corresp onding reply will

for error recovery for one or more lossy links For a sp ecic

b e sent globally as well

source the relationship among these lossy links is either

A dierent approach to reply scop e control would b e

ancestordescendant or siblings so that these lo cal recov

that when a replier resp onds to a request it multicasts its

ery groups are either p erfectly nested or totally disjoint as

reply with a hop count h where h is the distance to the

shown in Figure

original requester After receiving the reply the original

Our groupscop ed error recovery follows a basic SRM

requester relays the reply to other memb ers downstream

design principle of each memb er b eing an autonomous en

within the radius of its proxy hop count P However

tity That is each memb er makes its own decisions on

this step replyrelaying scheme intro duces additional de

whether to join or leave a lo cal group There is no central

lay in reply propagation which may cause additional du

ized co ordination among memb ers Memb ers use the error

plicate requests b eing sent Furthermore the scop es of

ngerprints to measure the degree of loss sharing with a

6

A session cycle time is the p erio d b etween two consecutive session lo cal group An error ngerprint is the sequence numb ers

messages sent by a memb er Since all memb ers send their session messages

of the last f losses in a lo cal group For example a mem

at the same rate a memb er should receive a session message from each

memb er during a session cycle time b er p shares losses with a lo cal group G if p lost more

to discover existing lo cal groups thus reduces the overhead

group creation On the other hand if the

source of unnecessary

waiting p erio d is short a new group can b e created quickly

and the overhead of the global error recovery is reduced

at the exp ense of group creation overhead Since an er

ror ngerprint is required for prop osing a lo cal group the

waiting p erio d b efore a memb er prop osing a group has to

b e long enough to cover f losses

Figure Memb ership of lo cal recovery groups are either

A memb er prop oses a new lo cal group in its request mes

p erfectly nested or totally disjoint

sage by including the prop osed multicast address and the

error ngerprint Since the prop osed lo cal group is not yet

created the memb er uses the sequence numb ers of its own

than half of the packets sp ecied in Gs error ngerprint

losses as the initial group error ngerprint The request

At the b eginning of a session data losses are recovered

prop osing a lo cal group is multicast globally to suppress

globally A memb er who suers noticeable data losses from

other group prop osals If a memb er has joined any lo cal

a source prop oses the creation of a lo cal recovery group in

group it is not allowed to prop ose additional lo cal groups

its retransmission request sent globally together with its

However it may join other groups as appropriate

error ngerprint The creation of the lo cal group is granted

A replier grants the creation of a new lo cal group in

by a replier in its reply Since the reply is sent globally

its reply The reply message includes the address and the

other memb ers who have a matching error ngerprint join

error ngerprint of the granted lo cal group This message

the lo cal group when they receive the reply These mem

is multicast globally to solicit memb ers who share the same

b ers are called the regular members or simply memb ers

losses Furthermore the replier joins the lo cal group as a

of the group and their subsequent requests are sent to the

help er which assures that there is at least one help er in

lo cal group Other memb ers selectively join a lo cal group

the new group

to help error recovery They are called helpers of the group

When a help er receives a request from a memb er of a lo cal

group the help er sends its reply to that same lo cal group

Joining a Lo cal Group as a Regular

A regular memb er in a lo cal group measures the extent

Memb er

to which it shares losses with that group It stays in the

group if the degree of loss sharing is high otherwise it

A memb er joins a lo cal group if it shares more than of

leaves the group If a regular memb er has joined multiple

the losses with the group where When

nested groups it always sends retransmission requests to

a reply granting a new lo cal group is received a memb er

the innermost group rst In cases the loss actually o c

joins the group if the similarity of its own losses and the

curred in an outer group another memb er who sees the

error ngerprint of the granted group exceeds

outer group as its innermost group should have detected

If a memb er joins multiple lo cal groups these groups

the loss and requested retransmission

must b e nested That is the memb ership of an inner group

Our groupscop ed error recovery follows the softstate

is a subset of the memb ership of an outer group It is im

approach Memb ership solicitation and losssharing mea

p ortant that all memb ers maintain a consistent view of

surement are p erio dically refreshed to capture session dy

group order so they can exercise these nested groups in

namics The mechanism is describ ed in detail in the fol

the same fashion and pro duce correct losssharing mea

lowing sections In particular we discuss the criteria for

surement The group order is also used in error recovery

prop osing granting joining and leaving lo cal groups

pro cess since a memb er always sends its requests to its in

nermost lo cal group rst One simple way to determine the

order of a lo cal group is by the sequence numb er of the re

Prop osing and Granting a Lo cal

ply granting the lo cal group The sequence numb er of the

Group

reply granting a lo cal group is called the order number of

A memb er prop oses a lo cal group if its error rate exceeds

the lo cal group To b e precise an order numb er consists of

where In the extreme case we can cho ose

the sequence numb er of the reply in the high order p ortion

to encourage all error recovery to b e handled by lo cal

and the lo cal group address in the low order p ortion We

groups If a memb er decides to prop ose a lo cal group it

assume a lo cal group address is unique within a session If

waits a p erio d of time b efore prop osing in order to learn of

multiple lo cal groups are created with the same sequence

existing lo cal groups If there is an existing lo cal group the

numb er their order numb ers are still unique Generally

memb er joins the existing lo cal group instead of prop osing

sp eaking a lo cal group granted later has a larger group

a new one Section discusses in more detail the joining

order numb er and a larger scop e Note that the original

pro cess The waiting p erio d can b e measured in terms of

session group is always the outermost group even though

time numb er of losses or numb er of received data packets

it do es not have an order numb er

A longer waiting p erio d increases the chance for a memb er

The order of nested groups may not reect their phys

ical scop es at a particular p oint of time a transient phe

7

A similar approach was prop osed in to solve the implosion of

multicast congestion feedback nomenon that will b e xed after the requests and replies

t If it receives multiple requests that are sent to dif

source source source source sen

ferent groups the replier addresses its reply to the group

umb er p p p p with the largest order n

G2 G2

Leaving a Lo cal Group

G1 G1 G1 G1

A memb er measures the degree of loss sharing in each lo

group it joins by the ratio of the numb er of its total

(a) (b) (c) (d) cal

losses over the numb er of received replies from the group

Figure Evolution of misplaced nested lo cal groups

For example the loss sharing can b e measured every m

replies received in a lo cal group To prevent oscillation

exp onentiallyweighted moving average is adopted If a

disseminate completely For example in Figure a new

memb ers losssharing ratio is smaller than it leaves the

memb er p may prop ose a new group G b efore learning of

lo cal group

the existing lo cal groups G Figure a and b p will

A help er leaves a lo cal group if its last k consecutive

b e solicited to join G later and then it will use G as the

scheduled replies for the lo cal group are suppressed As a

innermost lo cal group Figure c At this p oint of time

result there are at most k help ers in a lo cal group

the physical scop e of G is larger than that of G Even

If there is no error recovery trac in a lo cal group the

tually G will b e timed out and disapp ear Figure d

lo cal group should b e timed out to reduce group main

The group timeout scheme is discussed in Section and

tenance overhead Both help ers and memb ers determine

the memb ership solicitation scheme is discussed in Section

when a lo cal group is dormant and leave the group The

timeout p erio d can b e measured in terms of seconds or the

The threshold denes the tradeos b etween the num

numb er of received data packets

b er of nested lo cal groups and the error recovery p erfor

mance For large value more nested lo cal groups are

created and each group has a higher losssharing ratio and

Soliciting New Memb ers

achieves greater eciency for retransmission As a result

Since an error ngerprint is a snapshot of the group losses

the group maintenance overhead is higher and the error

a memb er who shares the ma jority of losses with a lo cal

recovery p erformance is b etter On the other hand for

group may unfortunately decide not to join when it learns

small fewer nested lo cal groups are maintained but the

ab out the group the rst time Furthermore when a new

losssharing ratio in each lo cal group is also lower In the

memb er joins an ongoing session it has no knowledge of

extreme case if we cho ose there is only one lo

the existing lo cal groups A scheme to p erio dically solicit

cal group in the session to recover all losses if we cho ose

new memb ers is necessary to capture new memb ers as well

the numb er of lo cal groups is equal to the num

as old memb ers whose snapshots happ ened to b e skewed

b er of lossy links and each group recovers losses over each

A lo cal group solicits new memb ers by p erio dic p olling

lossy link

Memb ers p erio dically send their requests to the next outer

group The group address order numb er and error nger

Error Recovery in a Lo cal Group

print of the inner group are carried in the p olling request

When a loss is detected a memb er sends its request to its to solicit new memb ers and help ers

innermost group rst If there is no reply it will expand Memb ers in the outer group join the inner group based

its request scop e by trying its next outer group until the on the comparison of their own losses and the innergroup

loss is recovered As describ ed earlier even if a request error ngerprint Since the p olling requests are sent to

to the innermost group do es not reach a help er memb ers the next outer group a new memb er joins lo cal groups

in the outer group should have detected the loss and sent one at a time in an outsidein fashion until it has joined all

their requests Therefore the ma jority of the losses are nested lo cal groups Note that the p erio dic p olling requests

recovered quickly and sending requests to an outer group scheduled by innergroup memb ers suppress one another

up on timeout should happ en rarely Since memb ers in the If a requester do es not receive a retransmission in its rst

inner group may rely on memb ers in the outer group to ask try the next repair request addressed to its outer group

for data repair a memb er ps scheduled request should not can also serve the purp ose of memb ership solicitation

b e suppressed by a request from a lo cal group G if p is not Our mechanism requires that a memb er joins an outer

a regular memb er in G p can b e a help er in G to receive a lo cal group b efore an inner lo cal group A help er do es

request sent to G In other words a request addressed to not solicit new comers into a lo cal group since a help er

a lo cal group should only suppress requests of other regular do es not maintain the order of nested lo cal groups If a

memb ers in that group memb er is solicited into an inner group without joining

The order numb er of the addressed group is included in prop er outer groups it cannot received replies triggered

the request message It is used by a replier to determine by requests from outer groups Consequently its losses

the destination group for the corresp onding reply A replier require multiple request iterations to recover resulting in

sends its reply to the lo cal group to which the request was longer recovery delay and higher bandwidth overhead

The same scheme is used to solicit new help ers If a average measured numb er of replies p er loss The recovery

replier in the outer group resp onds to a p olling request it delay is measured in terms of the oneway propagation de

joins the corresp onding inner group as a help er However lay from the data source In other words it is the interval

if the request can b e handled by a help er that is already in b etween a memb ers detection of a loss and reception of a

the inner group this help er is closer to the requester and retransmission divided by the oneway propagation delay

is most likely to resp ond rst Therefore a new help er will from the data source to the memb er

rarely need to join the inner group unless all help ers in the In our simulations we adopted a random timer adap

inner group have left tation mechanism to optimize the p erformance of the re

covery delay and the numb er of requests and replies p er

loss The general idea is to make the generation of re

Simulation Results and Discus quest and reply timers adaptive to the network and session

environment A memb er estimates the numb er of comp et

sion

ing requesters and repliers by interpreting feedback from a

session and uses the estimated values to tune its request

We b elieve the b ehavior of our prop osed mechanisms can

and reply timer parameters These parameters determine

b e b est understo o d by rst testing a variety of extreme

whether requests and replies are generated aggressively or

settings b efore moving on to more general scenarios In

conservatively Generally sp eaking adopting lo cal error

this section we rst explore our lo cal recovery mechanisms

recovery limits the numb er of comp eting requesters and

in three extreme but simple top ologies star string and

repliers which allows memb ers to send requests and replies

binary tree each with a single data source The star top ol

more aggressively and reduces recovery delays More dis

ogy represents a session where all memb ers have indep en

cussion is in

dent losses The string top ology represents a session where

downstream memb ers share the same losses with their up

Top ologies with Multiple Lossy Links

stream memb ers The binary tree top ology represents a

mixture of shared and indep endent losses in a session

The rst set of simulations assumed that all links have

Each top ology is tested with ve dierent session sizes

uniformlydistributed error rates

and We simulated the p erformance of ve

dierent mechanisms for each session size the global er

The Star Top ology

ror recovery the hopscop ed error recovery and the group

scop ed error recovery with three dierent degrees of loss

Figure a b and c show the simulation results in

sharing and We cho ose error

the star top ology Memb ers in the star top ology have inde

threshold to prop ose a lo cal group k threshold for

p endent losses hence there is no loss shared among mem

an inactive help er to leave a lo cal group m num

b ers and approximately one request message p er loss is

b er of losses in a losssharing measurement p erio d and

generated Since the distances b etween each pair of mem

f numb er of losses in an error ngerprint in all the

b ers are equal the hopscop ed error recovery p erforms ex

groupscop ed error recovery simulations Each simulation

actly like global error recovery Note that the numb er of

starts with a warmup p erio d and measures the error recov

available help ers for a sp ecic loss is large in the global

ery activities of the next data losses Data losses are

error recovery and the hopscop ed error recovery there are

generated by assigning an uniformlydistributed error rate

multiple replies generated p er loss Figure b

on each lossy link of the simulated top ologies and these

In the groupscop ed error recovery each memb er cre

error rates are xed throughout a single simulation The

ates its own lo cal group The requests and replies only

aggregated error rate among all links is of the traf

propagate within individual lo cal groups Because of the

c including data requests replies and session messages

constant numb er of help ers in a lo cal group k the re

The data rate is packets p er second The link delay is

quest and reply trac decreases by increasing session size

ms for links b etween routers and ms for links con

The numb er of lo cal groups in the groupscop ed error

necting group memb ers The session cycle time is

recovery is equal to the numb er of lossy links In general

seconds The warmup p erio d is dened as each lossy link

if there are n memb ers in a session the numb er of lo cal

exp eriencing at least losses The total simulation time

of total groups is equal to n Each lo cal group recovers

n

is roughly seconds

losses in the session and its scop e is roughly of the session

n

The p erformance is evaluated by three metrics the re

scop e Therefore we can estimate a lower b ound on the

quest trac the reply trac and the recovery delay The

request and reply trac in the groupscop ed error recovery

request trac is the pro duct of the average measured re

of the trac in the global error recovery Since this as

n

quest scop e and the average measured numb er of requests

estimated request and reply trac is a lower b ound it

p er loss The request scop e is a fraction of the global scop e

represents the greatest degree of savings p ossible The

and it is measured in terms of the numb er of hops that a

estimated values are plotted as gray curves in Figure a

request propagates For example in the global error recov

and b

ery the request scop e is equal to the global scop e since each

8

Upp er b ound estimates would need to take several other factors into

request is multicast to the entire session The reply trac

account For example the numb er of help ers and memb ership dynamics

in a lo cal group is the pro duct of the average measured reply scop e and the

| | | | | | | | | | | | | | 125 | | 225 | 6.0 |

|

200 | | 100 175 | 5.8 |

| 150 |

| 75 5.6 125 | | 100 |

50 | 5.4   75

| 

|  |  50    25    5.2   |            25     |   |    | 0 | | | | || | | | |0 | | | | || | | | | | | | |5.0 | | | | | || | | | | | 0 35 70 105 140 0 35 70 105 140 0 35 70 105 140 (a) session size (b) session size (c) session size

reply traffic % Star top ology recovery delay

request traffic %

| | | | | | | | | | | | | | 150 | | 150 | 4 |  

| |

125 125  |   3  |  |       100  100              |  |  |       75  75   2               |    |    50 50

|

1 25 | 25 | | | | 0 | | | | || | | | | |0 | | | | | || | | | | |0 | | | | | || | | | | 0 35 70 105 140 0 35 70 105 140 0 35 70 105 140 (d) session size (e) session size (f) session size

reply traffic % String top ology recovery delay

request traffic %

| | | | | | | | | | | | | | 150 | | 200 | 6 |

|

| 175 125 | | 150 5 | 100 |

 125

| | | 75  100 4 

|     |  75    50     |   |           50  3  |         25   |           25      | | | 0 | | | | || | | | | |0 | | | | | || | | | | | | |2 | | | | | || | | | | 0 35 70 105 140 0 35 70 105 140 0 35 70 105 140 (g) session size (h) session size (i) session size

reply traffic %

Tree top ology recovery delay request traffic %

β Global error recovery Group-scoped error recovery : = 33% Group-scoped error recovery : β = 50% Hop-scoped error recovery Group-scoped error recovery : β = 100%

represents the estimated lower bound of the group-scoped error recovery

Figure Simulation results of all links with uniformlydistributed error rates

The String Top ology numb er of requests p er loss is sublinear in terms of the

session size the average request trac decreases with the

In the string top ology downstream memb ers share losses

session size As describ ed earlier even if multiple requests

with all their upstream memb ers A downstream memb er

p er loss are presented in the hopscop ed error recovery the

can rely on its upstream memb ers to ask for repair in the

overall request trac is improved b ecause the scop e of each

hopscop ed error recovery As a result request trac is

request is small and a memb er far b ehind a lossy link may

reduced signicantly Figure d

receive a reply b efore even sending a request

Topology Star topology String topology Tree topology Topology Star topology String topology Tree topology Session size 8 16 32 64 128 8 16 32 64 128 8 16 32 64 128 Session size 8 16 32 64 128 8 16 32 64 128 8 16 32 64 128 Requests per loss 1.01 1.03 1.03 1.03 1.03 2.27 3.24 4.00 5.17 7.90 1.21 1.80 2.03 2.28 2.60 Requests per loss 5.21 6.52 9.40 14.55 27.40 8.65 16.18 31.71 61.35 119.5 5.49 6.81 8.62 10.44 11.36 Request hops 16 32 64 128 256 6.26 6.71 6.86 6.92 6.95 9.17 9.06 9.68 10.18 9.99 Request hops 1.00 1.00 1.00 1.00 1.00 1.42 1.65 1.95 2.34 2.93 1.23 1.32 1.46 1.51 1.62 Request traffic % 101.3 102.9 103.3 103.2 103.1 88.81 67.82 42.87 27.96 21.46 69.58 50.86 30.72 18.12 10.14

Request traffic % 32.56 20.36 14.69 11.35 10.69 77.02 83.28 96.41 112.2 136.6 42.30 28.16 19.64 12.33 7.17

Table The numb er of requests p er loss and the numb er of

Table The numb er of requests p er loss and the num

hops that a request travels in the hopscop e error recovery

b er of hops that a request travels in the groupscop e error

recovery with

Table shows the average numb er of requests p er loss

and the average numb er of hops that a request message

In the groupscop ed error recovery request messages travels in the hopscop ed error recovery The numb er of

propagate to all downstream memb ers for suppression and requests p er loss in the string top ology increases with the

a limited numb er of upstream neighb ors for retransmis session size but the numb er of hops that a request mes

sion A request may not reach any help ers if the scop e of sage travels remains constant However the increase in the

Therefore the estimated error recovery trac T can b e the request do es not cover the lossy link where the packet

P

n

i

was dropp ed When the length of the string increases the

calculated as T where i is the size of

i

n n

i

th

numb er of nested lo cal recovery groups increases and it is

the i lo cal group For the string top ology i n

more likely that requests from inner groups do not reach

i1

log nlog

2 2

The es For the tree top ology i

any help ers Therefore request trac go es up with the

timated lower b ounds of the error recovery trac in string

session size as shown in Figure d Table shows the av

and tree top ologies are

erage numb er of requests p er loss and the average numb er

of hops that a request message travels in the groupscop ed

n

X

error recovery with The numb er of requests p er

n

T T

str ing tr ee

loss and the average hops of a request in the string top ol

n i n

i

ogy increase with the session size thus the average request

trac increases with the session size

The estimated values are plotted as gray curves in Figure

In terms of reply trac since the hopscop ed error re

d e g and h

covery do es not regulate the direction in which the reply

messages propagate the hopscop ed error recovery should

p erform much worse than the groupscop ed error recovery

Top ologies with RandomlySelected

However in the groupscop ed error recovery a requester

Lossy Links

sends it second request to its outer group if the rst one

did not reach any help er Since an outergroup memb er

In the second set of simulations randomlyselected

may already ask for repair the second request from the

of the links have uniformlydistributed error rates which

innergroup memb er is very likely to trigger a duplicate re

makes one lossy link in the no de top ologies two lossy

ply Consequently the numb er of replies p er loss increases

links in the no de top ologies and so on The simulation

and the improvement limited in comparison with the hop

results are shown in Figure Both the hopscop ed and

scop ed error recovery Figure e

groupscop ed error recoveries outp erform the global error

The recovery delay in the hopscop ed error recovery de

recovery in terms of the request and reply trac except

creases with the session size since request messages only

for the hopscop ed error recovery in the star top ology

reach a small numb er of memb ers As a consequence mem

Generally sp eaking the hopscop ed error recovery p er

b ers send requests more aggressively and the recovery delay

forms b etter than the groupscop ed error recovery in terms

is reduced see the discussion of dynamic timer adaptation

of the request trac if memb ers have an upstream

in Section On the other hand memb ers have large esti

downstream relationship ie they share losses Down

mated timer parameters in b oth the global error recovery

stream memb ers can rely on the requests from their up

and the groupscop ed error recovery since requests reach all

stream memb ers to ask for retransmission therefore the

memb ers who share the loss However in the groupscop ed

hopscop ed error recovery generates less request trac in

error recovery only those memb ers whose innermost lo cal

the string and tree top ologies than the groupscop ed error

group covers the lossy link are eligible to request retrans

recovery Figure d and g

mission therefore the average delay increases with the ses

On the other hand since the hopscop ed error recovery

sion size Figure f

do es not regulate trac direction it do es not p erform well

in terms of the reply trac if the degree of connectivity

in the top ology is high For example in the star and tree

The Tree Top ology

top ologies the reply trac generated by the hopscop ed

The tree top ology is a mixture of the star and string top olo

error recovery p opulates in a much larger region than the

gies The average request trac decreases with the session

reply trac generated by the groupscop ed error recovery

size in the groupscop ed error recovery b ecause the num

Figure b and h Note that in the no de string

b er of nested lo cal groups is much smaller than it is in

top ology the reply trac in the hopscop ed error recovery

the string top ology Figure g As shown in Table

is close to b ecause the randomlyselected lossy links

b oth the numb er of requests p er loss and the request hops

are in the middle of the top ology Figure e

increases much more slowly with the session size

Interestingly the groupscop ed error recovery with small

The numb er of lo cal groups in the groupscop ed error re

eg not only generates more request and re

covery in the string and tree top ologies is prop ortional to

ply trac but also pro duces longer recovery delay than

For example if each lo cal group is resp onsible

the groupscop ed error recovery with large eg

for the error recovery of a single lossy links The numb er of

For small a memb ers error ngerprint matches

lo cal groups is equal to the numb er of lossy links in the ses

more easily with the error ngerprint of a lo cal group with

sion If a lo cal group is resp onsible for the error

which it do es not share losses If the lossy links are sparsely

recovery of two lossy links and the numb er of lo cal groups

distributed a memb er who joins a nonlosssharing group

is equal to half of the numb er of lossy links In general for

by accident is more likely to request retransmission from

a session of size n the numb er of lo cal groups is n the

remote help ers Therefore small pro duces more band

and numb er of lossy links covered by a lo cal group is

width consumption and longer recovery delay than large

the p ercentage of losses recovered by a lo cal group is

Figure f and i

n

| | | | | | | | | | | | | | | | | | 125 225 6.0 |

200 | | 100 175 | 5.8 |

| 150 | 75 | 5.6 125 | | 100 |

50 | 5.4  75 |

|  |  50 25    5.2    |       25    | | | 0 | | | | || | | | |0 | | | | || | | | | | | | |5.0 | | | | | || | | | | | 0 35 70 105 140 0 35 70 105 140 0 35 70 105 140 (a) session size (b) session size (c) session size

reply traffic % Star top ology recovery delay

request traffic %

| | | | | | | | | | | | | | | | | | 150 150 4

| | 125 125 3 | | |  100 100               | | |         75 75  2     | | 50 50 |

1

| |  25  25 | | | 0 | | | | || | | | | |0 | | | | | || | | | | |0 | | | | | || | | | | 0 35 70 105 140 0 35 70 105 140 0 35 70 105 140 (d) session size (e) session size (f) session size

reply traffic % String top ology recovery delay

request traffic %

| | | | | | | | | | | | | | 150 | | 200 | 6 |

| | 175 125 150 | 5 | | 100 | 125 

| | | 75 100 4   |  | 75   50   | |      50 3

|       

|  25          25  | | | 0 | | | | || | | | | |0 | | | | | || | | | | | | |2 | | | | | || | | | | 0 35 70 105 140 0 35 70 105 140 0 35 70 105 140 (g) session size (h) session size (i) session size

reply traffic %

Tree top ology recovery delay request traffic %

β Global error recovery Group-scoped error recovery : = 33% Group-scoped error recovery : β = 50%

Hop-scoped error recovery Group-scoped error recovery : β = 100%

Figure Simulation results of of the links with uniformlydistributed error rates

An Mb onelike Top ology quest and reply trac and longer recovery delay than the

hopscop ed error recovery

q1 q2 Error recovery Group-scoped Group-scoped Group-scoped mechanisms Global Hop-scoped β = 33% β = 50% β = 100% s2 r1 r2 Request scope % 113.14% 86.77% 55.92% 49.64% 39.24% r3 source Reply scope % 139.75% 97.69% 59.24% 48.82% 40.08% r6 Recovery delay 5.15 4.21 4.47 4.80 4.80 s 1 r r5 7

s r4

able Simulation results of the Mb onelike top ology 3 T s4 p 1 p3

p2

Figure shows the average measured request and re

Figure An Mb onelike top ology Lossy links are colored

ply scop es of individual memb ers The scop e is measured

in gray and placed at lo cal area networks

in terms of the numb er of hops that requests and replies

travel The hopscop ed error recovery p erforms in b etween

The lo cal error recovery mechanisms were also simulated the global error recovery and the groupscop ed error recov

in an Mb onelike top ology shown in Figure No des con ery however the improvement in the reply scop e is insignif

nected with thick lines symb olize the Mb one Other no des icant The request and reply scop es in the groupscop ed

represent lo cal area networks Session memb ers are repre error recovery go down as go es up A large means

sented by black no des and one of them s is selected as higher degree of loss sharing As a consequence fewer

the data source The lossy links are represented by gray memb ers are in each lo cal group and less error recovery

lines We assume most of the losses are at lo cal area net bandwidth is wasted On the other hand large causes

works The simulation results are shown in Table In more lo cal groups b eing created than small There are

general the groupscop ed error recovery generates less re lo cal groups b eing used for error recovery in the sim

| | | | | | | 40 | | 40 |

30 | 30 |

20 | 20 |

10 | 10 | | | 0 | || | |0 | | | | | | | || | | | | s1 s2 s3 s4 p1 p2 p3 q1 q2 r1 r2 r3 r4 r5 r6 r7 average 0 20 40 60 80 100 session member time %

(a) (a)

request hops request hops

| | | | | | | 40 | | 40 |

30 | 30 |

20 | 20 |

10 | 10 | | | 0 | || | |0 | | | | | | | || | | | | s1 s2 s3 s4 p1 p2 p3 q1 q2 r1 r2 r3 r4 r5 r6 r7 average 0 20 40 60 80 100 session member time % reply hops (b) reply hops (b)

Global error recovery Global error recovery Hop-scoped error recovery Hop-scoped error recovery Group-scoped error recovery : β = 33% Group-scoped error recovery : β = 33% Group-scoped error recovery : β = 50% Group-scoped error recovery : β = 50% Group-scoped error recovery : β = 100% Group-scoped error recovery : β = 100%

1% of the simulation time is roughly equal to

Average request and reply scop es of individual

Figure 6.25 simulated seconds and 25 data losses

memb ers in the Mb onelike top ology

Figure Error recovery trac dynamics in the Mb one

like top ology

ulation with lo cal groups in the simulation

with and lo cal groups in the simulation with

and reply scop es are relatively short in the groupscop ed

error recovery b ecause once a memb er joined a lo cal group

In Figure a p p and p have relatively large request

its request and reply trac is reduced The convergence

scop es when is small eg and b ecause their

time dep ends on the numb er of nested lo cal groups and

lo cal group includes remote memb ers in other lo cal area

their sequence of creation If the innermost group is created

networks q and r have relatively large request scop es in

rst the convergence is fast If the group with the largest

b oth the hopscop ed and the groupscop ed error recoveries

scop e is created rst this group has to b e shrunk b efore

b ecause their requests have to propagate across the Mb one

the second nested group can b e created Only memb ers

to reach help ers On the other hand q has relatively small

without joining any lo cal groups can prop ose the creation

request scop es b ecause its requests only has to reach q

Therefore it takes longer time to converge In the hop

r r have relatively large requests scop es b ecause they

scop ed error recovery memb ers require several session cy

are involved in the scenario sketched in Figure They

cles to calculate the correct request and proxy hop counts

have to extend their request hop counts to suppress one

Generally sp eaking the convergence time of request scop e

another

is approximately two session cycles The computation of

The reply scop e shown in Figure b dep ends on the

proxy scop e relies on the results from other memb ers the

origin of the request A memb er with a small reply scop e

convergence takes more than two session cycles

means most of the incoming requests are from its lo cal area

| | | | |

| |

work a memb er with a large reply scop e means most of net 40

|

For example the incoming requests are across the Mb one 30

|

s s p p and q have relatively large reply scop es in

20

|

veries b oth the hopscop ed and the groupscop ed error reco 10

|

which means their replies resp ond to requests from remote 0 | | | | | || | | | |

0 20 40 60 80 100

b ers across the Mb one On the other hand the reply mem time %

request hops

scop es of q and r are relatively small b ecause they only

Global error recovery

ver losses of their downstream memb ers

resp onsible to reco Hop-scoped error recovery

work Note that r s reply scop e within their lo cal area net β Group-scoped error recovery : = 33%

Group-scoped error recovery : β = 50%

very covers the entire top ology

in the hopscop ed error reco Group-scoped error recovery : β = 100%

the hopscop ed error recovery do es not regulate

b ecause 1% of the simulation time is roughly equal to

direction Resp onse to remote requesters happ ens

trac 6.25 simulated seconds and 25 data losses

rarely in the groupscop ed error recovery As a result the

Figure Request trac dynamics of r r s state is reset

average reply scop e is much smaller than it is in the global

in the middle of the simulation

error recovery

Figure shows the measured request trac and reply

To further understand the b ehavior of convergence time trac during the simulation It is measured in terms of the

of a new memb er joining an ongoing session we manually numb er of hops The convergence p erio ds of the request

|

60 | |

reset the state of memb er r during the next simulation 50 |

|

r starts with global error recovery after its state is reset

40

30 |

It calculates its request hop count based on the incoming 20 |

|

very or learns session messages in the hopscop ed error reco 10 |

0 | || | | | | | |

existing lo cal groups in the groupscop ed error re of the src h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 average

session member

very to restore its state The measured request trac is co (a)

request hops

shown in Figure

| 60 | |

50 |

|

A Random Top ology with Sparsely 40

30 |

|

Memb ership distributed 20

10 | | 0 | || | | | | | | src h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h12 h13 h14 h15 average session member h4 h reply hops h3 5 (b) h6 h2 Global error recovery h7 h1 Hop-scoped error recovery Group-scoped error recovery : β = 33% h Group-scoped error recovery : β = 50%

src 8 Group-scoped error recovery : β = 100%

Figure Average request and reply scop es of individual

h9

memb ers in the random top ology h15 h10

h14 ws the measured request and reply scop es h h11 Figure sho

13 h12

of individual memb ers Note that memb er h has large

Figure A top ology with rich connectivity and sparsely

request scop e in the groupscop ed error recovery b ecause

distributed memb ership The lossy links are colored in gray

it shares losses with all other memb ers Its requests are

are placed around the middle of the top ology

p opulated in a lo cal group which consists of all session

memb ers

Figure shows a random top ology used in our next sim

ulation exp eriment The top ology consists of routers

Discussion

interrouter links and memb ers We place lossy

links around the middle of the top ology and one lossy link

In conclusion we found that the groupscop ed error recov

close to the source so memb ers have shared losses as well

ery p erforms b etter than the hopscop ed error recovery in

as indep endent losses

terms of the reply trac The hopscop ed error recovery

p erforms b etter than the groupscop ed error recovery in

of the request trac except in the star top ology Error recovery Group-scoped Group-scoped Group-scoped terms

mechanisms Global Hop-scoped β = 33% β = 50% β = 100%

Since the size of a request message is much smaller than

Request scope % 105.86% 86.05% 40.90% 34.10% 25.00%

the size of a reply message it is more imp ortant to reduce

Reply scope % 128.36% 109.23% 49.40% 37.38% 23.88%

the reply trac than to reduce the request trac and so

Recovery delay 6.33 3.63 3.56 3.58 3.35

the groupscop ed error recovery app ears to provide a b et

ter solution in terms of the trac reduction However the

Table Simulation results of the random top ology with

numb er of duplicate requests increases with the numb er of

sparselydistributed memb ership

nested groups issues related to this scenario are left for

future study

The simulation results are shown in Table Since the

If we consider other sources of overhead intro duced by

degree of connectivity of routers are high the request and

these two approaches it app ears that the groupscop ed er

reply delivery paths may dier from the data delivery path

ror recovery imp oses more overhead on session memb ers

In other words memb ers is more likely to nd some close

as well as the underlying multicast routing For example

siblings to recover lost packets Rememb er that we adopt a

groupscop ed error recovery requires the host to send p eri

dynamic timer adjustment mechanism to optimize the er

o dic IGMP messages to refresh the multicast delivery path

ror recovery timer If requests and replies only propagate

for each lo cal group Issues related to the overhead of

to near neighb ors the recovery timers are smaller than they

multicast group management are left for future study

are in the global error recovery Therefore the recovery de

lays in b oth the hopscop ed and groupscop ed error recov

eries are smaller than the recovery delay in the global error

Related Work

recovery Note that the reduction of error recovery trac

is limited in the hopscop ed error recovery b ecause its re There have b een several other treatments of error recov

quests and replies travel more hops in the top ology with ery for reliable multicast transp ort In con

rich connectivity and sparselydistributed memb ership trast to our prop osal which assumes session memb ers are

autonomous these previous works require various degree wards a lo cal replier Instead of forwarding requests up

of static conguration centralized co ordination or router stream towards the source a router forwards a request to

supp ort wards its lo cal replier if the incoming request is not received

Hofmann prop osed a lo cal group concept from the replier link Since the replier link is a downstream

A session is split into subgroups and each subgroup com link of the router this router is at the turning p oint of the

bines memb ers in a lo cal region A subgroup is represented request delivery path Eventually the request reaches a

by a lo cal group controller which provides lo cal loss retrans replier and triggers a reply The reply is rst unicast to

mission The establishment of lo cal groups is supp orted by the turning p oint and then it is multicast downstream from

a communication service named Group Distance Service the turning p oint

A memb er searches and joins the closest lo cal group If

no suitable group exists the memb er will establish a new

lo cal group and app oint itself as the controller

Conclusion

Towsley et al examined the approach of using sep

arate multicast groups to recover individual losses in re

We prop osed two dierent approaches to reduce error re

liable multicast communication Lost packets are catego

covery trac in SRM In the hopscop ed error recovery

rized into groups the retransmission of a lost packet is

memb ers calculate the required hop counts for their re

multicast to the group it b elongs to Receivers dynami

quests and replies based on distance information exchanged

cally join and leave those groups to recover packet losses

in session messages Since the information is piggybacked

Holbro ok et al suggested a hierarchic logging server

on their session messages the overhead imp osed by the

structure to reduce error recovery trac in a multicast

hopscop ed error recovery is relatively small However the

session The distribution and hierarchy of logging servers

hopscop ed error recovery do es not regulate the direction

is statically congured Receivers contact their lo cal sec

of trac propagation If the top ology of a session is star

ondary server for retransmission instead of the remote pri

shap ed the hopscop ed error recovery do es not p erform

mary servers to avoid NAK implosion and to minimize

much b etter than the global error recovery

recovery latency and bandwidth A server either unicasts

Groupscop ed error recovery b ounds the scop e of error

or multicasts a retransmission based on the numb er of re

recovery trac by using separate multicast groups Mem

quests it receives

b ers that share the same losses join a lo cal recovery group

TMTP congures session memb ers in the same sub

thus the error recovery trac is only distributed within

net into domains and organizes these domains into a hi

the lo cal group Groupscop ed error recovery requires in

erarchic control tree to improve the scalability of error re

dividual memb ers to maintain and manage multiple lo cal

covery Memb ers in a domain request the domain manager

groups Therefore more overhead is imp osed on memb ers

for retransmission A domain manager is also resp onsible

as well as on the underlying multicast routing

for error recovery of its children managers in the control

There remain several op en issues In the hopscop ed er

tree The scop e of retransmission is restricted by using

ror recovery maintaining a pair of request and reply hop

the TTL eld The control tree is selforganized and it is

counts for individual sources do es not intro duce signi

built dynamically as domain managers join and leave the

cant overhead However maintaining multiple lo cal groups

session

for individual sources in the groupscop ed error recovery

RMTP adopts a similar hierarchic structure to

may not b e acceptable Further research should investi

avoid message implosion A set of designated receivers

gate group aggregation across sources A lo cal group is

DR is selected statically in a session DRs are capa

asso ciated with one or more lossy links Sources who share

ble of retransmitting lost data The hierarchy of DRs is

the delivery path eg sharedtree multicasting and the

constructed dynamically Each receiver selects its least up

lossy links along the path could b e considered the same in

stream DR as the ACK pro cessor AP and p erio dically

terms of error recovery and so error recovery from these

sends its receiving state to the AP to request retransmis

sources should b e handled by a single lo cal group

sions A retransmission is either unicast or multicast based

Another scenario that we have not fully understo o d is

on the numb er of incoming requests

the convergence time of the groupscop ed error recovery

PGM makes use of the router supp ort to maintain a

in the presence of network dynamics For example if

tree hierarchy among routers When a packet is lost a re

the network top ology changes memb ers in a lo cal group

quest is unicast hopbyhop upstream towards the source

may not share the same lossy links ie they do not share

Intermediate routers build retransmit states in order to re

losses anymore Another example of network dynamics is

memb er where to forward the corresp onding reply Eventu

trac congestion Data losses due to congestion changes

ally the request will hit the source or a memb er on the re

the error rates and the lo cations of lossy links in a session

quest forwarding path who has the requested packet which

Since lo cal groups are asso ciated with lossy links changes

triggers a reply multicast hopbyhop downstream towards

in error rates and lo cations of lossy links aect the loss

the requester

sharing b ehavior within lo cal groups Memb ers have to

Papadop oulos et al elab orated further on the router

readjust themselves adaptive to these networks dynamics

forwarding mo del to lo calized the scop e of error recovery

so that the new memb ership in the lo cal group represents

trac Each router selects a replier link which p oints to

a set of memb ers who share the same losses The study of

the convergence time of memb ership readjustment can help Dante DeLucia and Katia Obraczka A Multicast Congestion

Control Mechanism for Reliable Multicast Proceedings of IEEE

us to b etter understand the tolerance to network dynamics

ISCC

in our groupscop ed scheme

ChingGung Liu Deb orah Estrin Scott Shenker and Lixia

Zhang Timer Adjustment in SRM Technical report USC Finally one might consider combining these two

University of Southern California July

approaches by using hopscop ed request messages in lo cal

ChingGung Liu Deb orah Estrin

groups since the hopscop ed error recovery pro duces b etter

Scott Shenker and Lixia Zhang Recovery Timer Adaptation in

SRM ftpcatarinausceducharle ypa per stimerps request trac reduction However requests in our hop

ChingGung Liu Error Recovery in Scalable Reliable Multi

scop ed scheme are addressed to the global session group

cast PhD Dissertation University of Southern California

with a sp ecic hop count and that hop count is determined

Decemb er

S Deering Host extensions for IP multicasting RFC by measuring how far is the closest upstream neighb or If

August

a hopscop ed request is sent to a lo cal group it can only

Brian Neil Levine and JJ GarciaLunaAceves A Comparison

guarantee a resp onse if the requester knows b oth how to

of Known Classes of Reliable Multicast Proto cols Proceeding s

of International Conference on Network Protocols ICNP set the hop count and how to cho ose the appropriate lo cal

Octob er

group Our hopscop ed error recovery only provides the

A Mankin A Romanow S Bradner and V Paxson IETF

former information The requester would analyze session

Criteria for Evaluating Reliable Multicast Transp ort and Appli

cation Proto cols RFC messages determine an appropriate hop count but then

Katia Obraczka Multicast Transp ort Mechanisms A Survey

the target upstream neighb or might not b e a memb er of

and Taxonomy To appear in IEEE Communications Maga

that lo cal group More research has to b e done to ensure

zine

M Hofmann T Braun and C Carle Multicast communi that either the closest upstream neighb or joins the same

cation in large scale networks Proceeding s of Third IEEE

lo cal group or the requester only considers memb ers in the

Workshop on High Performance Communication Subsystems

same lo cal group in computing its request hop count

HPCS Mystic Connecticut August

Markus Hofmann A Generic Concept for Large Scale Multi

cast Proceedings of International Zurich Seminar on Digital

Communication IZS Springer Verlag February

References

Markus Hofmann Adding Scalability to Transp ort Level Mul

ticast Proceeding s of Third COST Workshop Multime

Sally Floyd Van Jacobson ChingGung Liu Steve Mc

dia Telecommunications and Applications Springer Verlag

Canne and Lixia Zhang A Reliable Multicast Framework for

Barcelona Spain Novemb er

Lightweight Session and Application Layer Framing Proceed

Sneha Kasera Jim Kurose and Don Towsley Scalable Reliable

ing of ACM SIGCOMM August

Multicast Using Multiple Multicast Groups CMPSCI Techni

Sally Floyd Van Jacobson ChingGung Liu Steve Mc

cal Report TR Octob er

Canne and Lixia Zhang A Reliable Multicast Framework

Hugh W Holbro ok Sandeep K Singhal and David R Cheriton

for Lightweight Session and Application Layer Framing

LogBased ReceiverReliable Multicast for Distributed Interac

IEEEACM Transactions on Networking Volume Number

tive Simulation Proceedings of ACM SIGCOMM August

D Clark and DTennenhouse Architectural Considerations for

R Yavatkar J Grio en and M Sudan A Reliable Dissemina

a New Generation of Proto cols Proceedings of ACM SIG

tion Proto col for Interactive Collab orative Applications Pro

COMM Pages Septemb er

ceedings of ACM Multimedia

D Clark M Lamb ert and L Zhang NETBLT A High

John C Lin and Sanjoy Paul RMTP A Reliable Multi

Throughput Transp ort Proto col Proceedings of ACM SIG

cast Transp ort Proto col Proceedings of IEEE INFOCOM

COMM Pages August

Pages April

Sridhar Pingali Don Towsley and James Kurose A Compari

S Paul K K Sabnani J C Lin and S Bhattacharyya Re

son of senderinitiated and ReceiverInitiated Reliable Multicast

liable Multicast Transp ort Proto col RMTP To appear in

Proto cols Proceedings of ACM SIGMETRICS

IEEE Journal on Selected Areas in Communications special

J Nonnenmacher M Lacher M Jung E Biersack and G Carle

issue on Network Support for Multipoint Communication

How bad is Reliable Multicast without Lo cal Recovery Pro

Tony Sp eakman Dino Farinacci Steve Lin and Alex Tweedly

ceeding of IEEE INFOCOM March

PGM Reliable Transp ort Proto col Sp ecication Internet

Suchitra Raman Steve McCanne and Scott Shenker Asymp

Draft draftspeakmanpgmspec txt January

totic Behavior of Global Recovery in SRM Proceedings of ACM

C Papadop oulos G Parulkar and G Varghese An Error

SIGMETRICS PERFORMANCE June

Scheme for LargeScale Multicast Application Proceedings of

Puneet Sharma Deb orah Estrin Sally Floyd and Van Jacobson

IEEE INFOCOM March

Scalable Timers for Soft State Proto cols Proceedings of the

Kannan Varadhan Deb orah Estrin and Sally Floyd Impact

IEEE INFOCOM April

of Network Dynamics on EndtoEnd Proto cols Case Studies

Puneet Sharma Deb orah Estrin Sally Floyd and Lixia Zhang

in TCP and Reliable Multicast Technical report USC

Scalable Session Messages in SRM Using SelfConguration

University of Southern California

ftpcatarinauscedupub puneetshpa per sssmps

D Waitzman C Partridge and S Deering Distance Vector

Multicast Routing Proto col RFC Novemb er

S Deering Multicast Routing in a Datagram Internetwork

ChingGung Liu M ACM is currently a memb er of Re PhD Thesis Stanford University Palo Alto CA Decemb er

search Sta of Fujitsu Lab oratories of America Inc Sunnyvale CA

He received his PhD and MS from the University of Southern Cal

S Deering D Estrin D Farinacci V Jacobson C Liu and

ifornia in and and BS from National Taiwan University L Wei An Architecture for WideArea Multicast Routing

Taiwan in His research is fo cus on multicast routing transp ort

Proceeding of ACM SIGCOMM

and application He has b een working on the design and implementa

S Deering D Estrin D Farinacci V Jacobson C Liu and L

tion of PIM Proto col Indep endent Multicast and SRM for the past Wei The PIM Architecture for WideArea Multicast Routing

ve years

IEEEACM Transactions on Networking Volume Number

Dante DeLucia and Katia Obraczka Multicast Feedback Sup

pression Using Representatives Proceedings of IEEE INFO

Deb orah Estrin S M SM is a Professor of Computer COM

Science at the University of Southern California in Los Angeles where

she joined the faculty in Estrin received her PhD and

MS from the Massachusetts Institute of Technology and her

BS from UC Berkeley In Estrin received the National

Science Foundation Presidential Young Investigator Award for her

research in network interconnection and security Estrin is a CoPI

on the DARPA Virtual Internet Testb ed VINT pro ject and the

NSF Routing Arbiter pro ject at USCs Information Sciences Insti

tute where she sp ends much of her time sup ervising do ctoral student

research

Estrin is an active memb er of the IETF multicast routing related

working groups and a longtime memb er of the EndtoEnd research

group Estrin is a memb er of the ACM IEEEand AAAS She has

served on numerous panels for The National Science Foundation The

National Academy of Engineering and served on DARPAs Informa

tion Systems and Technology ISAT advisory b oard from

Estrin has served as an editor for the ACMIEEE Transaction on

Networks and the Wiley Journal of Internetworking Research and

Exp erience and as a memb er of the program committee for many

IEEE INFOCOM and ACM SIGCOMM conferences and she was

program CoChair of ACM SIGCOMM

Scott Shenker S SM is currently a Principal Scientist at

the Xerox Palo Alto Research Center He received his Sc B

from his Ph D in theoretical physics from

the and sp ent the academic year at

Cornell University as a PostDo ctoral Asso ciate His most recent

computer science research fo cuses on the design of integrated services

packet networks and the related issues of service mo dels scheduling

algorithms and reservation proto cols His recent economic research

addresses incentive compatibility and fairness in various cost sharing

mechanisms Besides computer networks and theoretical economics

his other research interests include chaos in nonlinear systems critical

phenomena distributed algorithms conservative garbage collection

and p erformance analysis

Lixia Zhang S M SM received the PhD degree in

Computer Sciences from the Massachusetts Institute of Technology

Cambridge in She is an Asso ciate Professor of Computer Sci

ence at the University of California Los Angeles where she joined

the faculty in January of Prior to that she was a memb er

of Research Sta at Xerox PARC engaged in research on advanced

networking technologies including high p erformance transp ort pro

to cols reliable multicast and integrated services supp ort over the

Internet She is the CoChair of the IETF RSVP Working Group a

memb er of the IETF Transp ort Area Directorate and was a memb er

of the Internet Architecture Board from to