a sector-based scalable overlay multicast protocol … · a sector-based scalable overlay multicast...

7
A Sector-Based Scalable Overlay Multicast Protocol in Mobile Ad Hoc Networks* JU-Il LEE and YOUNG-CHUL SHIM Department of Computer Engineering Hongik University 72-1 Sangsudong, Mapogu, Seoul KOREA Abstract: - Multicast is an essential mechanism in ad hoc network application and many multicast protocols have been proposed. But most of them are network-layer protocols and require not only member nodes but also non-member nodes on multicast trees to maintain multicast routing state, which makes multicast routing complicated and less scalable. To overcome this problem, application-layer multicast, or overlay multicast, protocols have been proposed. In this paper we propose a new overlay multicast protocol, called SSOM, for ad hoc networks. Using the concept of sectors, SSOM builds a hierarchical multicast tree of two levels: high-level source-based trees for sources and low-level shared trees for receivers. SSOM handles both network dynamics and group dynamics efficiently. Performance of SSOM is analyzed through simulation. Key-Words: - Overlay multicast, Mobile network, Ad hoc network, Simulation 1 Introduction An ad hoc network consists of a collection of distributed nodes that communicate with one another over a wireless medium without assuming a pre-deployed infrastructure. Multicasting is an essential mechanism in ad hoc network applications and, therefore, there have been many research works on multicast routing in ad hoc networks[1]. But most of them are network-layer, or IP-based, multicast routing protocols and require all nodes to support multicast routing protocols to cope with network dynamics (node movements/failures) and group dynamics (member joins/leaves). These protocols require not only member nodes but also non-member nodes that are on multicast delivery trees to maintain and update multicast routing state. This makes multicast routing complicated and less scalable. To overcome these problems, application-layer multicast, or overlay multicast, has widely been studied in networks with infrastructure. In this approach, a multicast tree is built as a virtual network consisting of only participating member nodes on top of the physical network. * This research was supported by the MIC, Korea, under the ITRC support program supervised by the IITA and by the grant No.R01-2006-000-10073-0 from the Basic Research Program of the Korea Science & Engineering Foundation Each multicast link between member nodes is made through the unicast tunnel in the physical network and can go through several intermediate non-member nodes. With overlay multicast, non-member nodes do not need to support multicast and only the member nodes need to maintain multicast routing state. Therefore, the overall multicast state maintained in the network is reduced, which makes the overlay multicast less complicated and more scalable. Moreover, application-layer multicast protocols are independent of underlying unicast routing protocols and can adopt various mechanisms to handle group dynamics easily and efficiently. Recently the idea of overlay multicast has been applied to ad hoc networks. DDM and LGT proposed approaches to avoid maintaining multicast states in non-member nodes[2,3]. But they can be applied to only small multicast groups because a list of destination addresses should be explicitly included in each data packet. AMRoute builds a virtual mesh of member nodes and chooses subset of links to generate a shared multicast tree[4]. The multicast tree is periodically rebuilt by a core node whose role can migrate dynamically among member nodes. AMRoute takes care of group dynamics but not network dynamics. Therefore, AMRoute uses a static Proceedings of the 10th WSEAS International Conference on COMMUNICATIONS, Vouliagmeni, Athens, Greece, July 10-12, 2006 (pp273-279)

Upload: ledang

Post on 02-Aug-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

A Sector-Based Scalable Overlay Multicast Protocol

in Mobile Ad Hoc Networks*

JU-Il LEE and YOUNG-CHUL SHIM

Department of Computer Engineering

Hongik University

72-1 Sangsudong, Mapogu, Seoul

KOREA

Abstract: - Multicast is an essential mechanism in ad hoc network application and many multicast protocols have

been proposed. But most of them are network-layer protocols and require not only member nodes but also

non-member nodes on multicast trees to maintain multicast routing state, which makes multicast routing

complicated and less scalable. To overcome this problem, application-layer multicast, or overlay multicast,

protocols have been proposed. In this paper we propose a new overlay multicast protocol, called SSOM, for ad

hoc networks. Using the concept of sectors, SSOM builds a hierarchical multicast tree of two levels: high-level

source-based trees for sources and low-level shared trees for receivers. SSOM handles both network dynamics

and group dynamics efficiently. Performance of SSOM is analyzed through simulation.

Key-Words: - Overlay multicast, Mobile network, Ad hoc network, Simulation

1 Introduction An ad hoc network consists of a collection of distributed

nodes that communicate with one another over a wireless

medium without assuming a pre-deployed infrastructure.

Multicasting is an essential mechanism in ad hoc network

applications and, therefore, there have been many research

works on multicast routing in ad hoc networks[1]. But

most of them are network-layer, or IP-based, multicast

routing protocols and require all nodes to support multicast

routing protocols to cope with network dynamics (node

movements/failures) and group dynamics (member

joins/leaves). These protocols require not only member

nodes but also non-member nodes that are on multicast

delivery trees to maintain and update multicast routing

state. This makes multicast routing complicated and less

scalable.

To overcome these problems, application-layer

multicast, or overlay multicast, has widely been

studied in networks with infrastructure. In this

approach, a multicast tree is built as a virtual network

consisting of only participating member nodes on top

of the physical network.

* This research was supported by the MIC, Korea, under the

ITRC support program supervised by the IITA and by the grant

No.R01-2006-000-10073-0 from the Basic Research Program of

the Korea Science & Engineering Foundation

Each multicast link between member nodes is made

through the unicast tunnel in the physical network

and can go through several intermediate non-member

nodes.

With overlay multicast, non-member nodes do

not need to support multicast and only the member

nodes need to maintain multicast routing state.

Therefore, the overall multicast state maintained in

the network is reduced, which makes the overlay

multicast less complicated and more scalable.

Moreover, application-layer multicast protocols are

independent of underlying unicast routing protocols

and can adopt various mechanisms to handle group

dynamics easily and efficiently.

Recently the idea of overlay multicast has been

applied to ad hoc networks. DDM and LGT proposed

approaches to avoid maintaining multicast states in

non-member nodes[2,3]. But they can be applied to

only small multicast groups because a list of

destination addresses should be explicitly included in

each data packet. AMRoute builds a virtual mesh of

member nodes and chooses subset of links to

generate a shared multicast tree[4]. The multicast

tree is periodically rebuilt by a core node whose role

can migrate dynamically among member nodes.

AMRoute takes care of group dynamics but not

network dynamics. Therefore, AMRoute uses a static

Proceedings of the 10th WSEAS International Conference on COMMUNICATIONS, Vouliagmeni, Athens, Greece, July 10-12, 2006 (pp273-279)

virtual mesh to build a shared multicast tree and

becomes inefficient after many member movements.

To overcome the inefficiency due to redundant paths

in AMRoute, an overlay multicast protocol called

PAST-DM was proposed[5]. Unlike AMRoute,

PAST-DM’s virtual topology constantly adapts to

changes in the underlying network topology because

it takes care of both group and network dynamics[6].

But because PAST-DM builds source-based trees,

maintaining many source-based trees incurs great

overhead as the number of sources grows. Recently a

new protocol called POM was proposed but its major

purpose is to build multiple prioritized multicast trees

and it cannot be applied to general situations[6].

In this paper we propose a new overlay multicast

protocol for ad hoc networks, called a Sector-based

Scalable Overlay Multicast(SSOM). SSOM builds

and maintains a hierarchical multicast tree consisting

of two levels. Source members (will be called

sources) build high level trees while non-source

members (will be called receivers) build low level

trees. Sources build source-based trees among

themselves. A receiver is connected to the closest

source. Receivers belonging to a source build a

shared tree with that source as the root. These

component multicast trees are built using the concept

of the sector. SSOM takes care of group dynamics

and network dynamics and eliminates the redundancy

problem in AMRoute. Receivers belong to only one

tree and SSOM avoids the problem of maintaining

multiple source-based trees in PAST-DM. We

compare the performance of the proposed protocol

with other protocols qualitatively and quantitatively.

The rest of the paper is organized as follows.

Section 2 explains the basic concepts of SSOM and

Section 3 describes detailed operation of SSOM.

Section 4 analyzes the performance of SSOM and is

followed by the conclusion in Section 5.

2 Basic Concept of the Protocol In this section we explain the basic concepts of the

proposed protocol, SSOM, including a hierarchical

tree, the concept of the sector, and states maintained

at member nodes.

2.1 Hierarchical Tree The multicast tree for a group with multiple sources

is built as a hierarchical tree of two levels as in

Figure 1. The high level consists of source-based

trees among sources and the low level consists of

shared trees of receivers built around sources.

Among the multiple sources a receiver connects to

the geographically closest source by belonging to the

shared tree built with this closest source as the root.

A data packet generated by a source is first sent to all

other sources along a source-based tree and then

delivered from these sources to all the receivers using

the shared trees. The reason for using source-based

trees for sources is to make the packet delivery

among them efficient. Because we assume that the

number of sources is not large and sources join and

leave infrequently, the overhead for maintaining

these source-based trees is not high. By making each

receiver belong to only one shared tree, we make the

operation of receiver join/leave/movement much

more efficient than in PAST-DM.

2.2 Concept of Sector Source-based trees among sources and shared trees

among receivers are built using the sector concept as

in Figure 2. A sector is defined using geographic

location of members in a 2 dimensional plane. If a

member is in charge of a sector, it is responsible of

data delivery and the operation of member join/leave

Fig. 2 A sector-based tree

S3-Q2 R2

R4

R1

R3 R5

S3

S3-Q1

S3-Q3 S3-Q4

Fig. 1 A hierarchical tree

R

R R R

R R

R

R

R

R R

R

R R

R

R

S

4

S

1

R

S

2

R S

3

Proceedings of the 10th WSEAS International Conference on COMMUNICATIONS, Vouliagmeni, Athens, Greece, July 10-12, 2006 (pp273-279)

within that sector.

A sector is defined using the coordinates of the

upper left corner and lower right corner of a

rectangular area. For example, S3’s sector is the whole plane and it is represented as ((-∞,∞), (∞,-∞)).

If S3’s current position is (100,200), R1’s sector is

((100,200), (∞,-∞)) and called S3-Q4 in the figure. If

R1’s position is (150,180), R3’s sector is ((100,180),

(150, -∞)) and called R1-Q3.

A member node, M, divides its sector into 4

sub-sectors as S3 divides its sector into S3-Q1,

S3-Q2, S3-Q3, and S3-Q4 in Figure 2. M selects the

geographically closest node, C, in a sub-sector as its

child in that sub-sector and delegates that sub-sector

to C. In Figure 2, S3 delegates S3-Q1 to R4, S3-Q2

to R2, and S3-Q4 to R1. Likewise R1 delegates

R1-Q3 to R3 and R1-Q4 to R5.

The purpose of introducing the sector concept is to

limit the out-degree of member nodes in trees,

unambiguously define the parent-child relationship

among members, and, therefore, make the tree

maintenance efficient.

2.3 States Maintained at Member Nodes A source node has its location and stores the identity

and location for each of its child receivers and

grandchild receivers. It also maintains a routing table

for high-level source-based trees. This routing table

is updated by exchanging S-PATH packets among

sources when a source joins, leaves, or moves its

location significantly. An S-PATH packet consists of

following fields.

- Group address: the address of the multicast group

- Address of the originating source: the address of the

root source of the source-based tree that the current

S-PATH is sent for

-List of sources: the source that receives this S-PATH

should make paths to the sources in this list

Now we explain how S-PATH packets are used to

update a routing table for high-level trees. In Figure

3-a, S4 wants to update the source-based tree with

itself as a root. S4 divides the whole area into 4

sectors and chooses S5 and S1 as its child in the

sectors S4-Q1 and S4-Q2, respectively. S4 sends

S-PATH packets to S5 and S1 as follows.

- S4→S5: G1, S4, {}

/* G1 is the group address */

- S4→S1: G1, S4, {S2, S3}

Upon receiving an S-PATH packet, S1 finds that it

has two sources, S2 and S3, divides its sector into 4

sub-sectors, chooses the child in each sector, and

sends to them S-PATH packets as follows.

- S1→S3: G1, S4, {}

- S1→S2: G1, S4, {}

After exchanging these packets S4 and S1 updates

the routing table for the source-based tree with S4 as

a root as in Figure 3-b. For the packets originated

from S4, S4 sends them to S1 and S5. Upon

receiving these packets, S1 sends them to S2 and S3.

The figure also includes the routing state for the

source-based trees with S5 as a root.

A receiver has information on its location and

sector. It also stores the identity and location of

following nodes: children, grandchildren, parent,

grandparent, and its source to which it is connected.

Receivers that are children of a source in a shared

tree do not have grandparent. They store the identity

and location of the second closest source from itself.

To deliver a multicast packet, a receiver just needs to

send the packet to its children when it receives a

packet from its parent.

3 Operation of the Protocol In this section we explain how the proposed protocol

handles join, leave, and movements and failures.

S4

S2

S1

Routing Table of S1

GA SRC Q1 Q2 Q3 Q4

… … … … … …

G1 S4 S3 - S2 -

G1 S5 - - S2 -

Routing Table of S4

GA SRC Q1 Q2 Q3 Q4

… … … … … …

G1 S4 S5 S1 - -

G1 S5 S1 - - -

(a) (b)

Fig. 3 Routing in source-based trees

S5

S3

Proceedings of the 10th WSEAS International Conference on COMMUNICATIONS, Vouliagmeni, Athens, Greece, July 10-12, 2006 (pp273-279)

3.1 Join We explain join procedures for sources and receivers.

Source Join: A new source, S, wishing to join a

group finds the closest member through expanding

ring search and gets information on a source, T, on

the tree from this member. Because every member

knows at least one source, it notifies S of this source.

S sends a join request to T. T sends the list of all

sources on the tree to S and multicasts S’s identity

and location to all sources. Then S and all other

sources use S-PATH packets to update their

source-based trees as explained in the previous

section.

Now sources notify the existence of the new

source to all the receivers through the low-level

shared trees. If a receiver finds that the new source is

closer than its old source, it leaves from the shared

tree rooted at the old source and joins the shared tree

rooted at the new source.

Receiver Join: A new receiver, R, wishing to join a

group finds at least one source, S, as in the previous

case and sends a join request to S. Knowing the

location of all sources, S forwards the join request to

the source, T, that is closest from R. In many cases T

will be S itself. T finds the member, M, that will be

the parent of R in the shared tree rooted by itself

using the following algorithm.

checkParent(M, R) {

/* check if a member, M, is the parent of R */

among 4 sectors of M, find the sector Q to which

R belongs;

if (R is the only member in Q) {

M is the parent of R, so connect R to M;

return()}

find M’s child, C, in the sector Q;

if (dist(M,C) < dist(M,R))

/* C is still the proper child of M in Q */

checkParent(C, R)

/* find R’s parent within C’s sector */

else { /* R becomes the child of M in Q */

/* and C loses the parent-child link to R */

connect R to M as M’s child in Q;

reorganize(C); /* reshape the subtree rooted */

/* at C so that all the nodes in it become */

/* the child of a proper member */

/* in a proper sector */}}

If R joins a shared tree as a leaf member, the case is

very simple. But if R joins a tree as an intermediate

member, all the descendant members in the subtree

rooted at the member, which loses the parent-child

link to R, should be reorganized so that they satisfy

the sector concept. Figure 4 shows an example where

5 receivers join the source S1. In the figure join

requests are sent through the dotted lines and solid

lines are the virtual links of a shared tree.

3.2 Leave We explain the leave procedures for sources and

receivers.

Source Leave: A source, S, wishing to leave a group multicasts a LEAVE packet to all the sources

⒜ Before R2 leaves ⒝ After R2 leaves

Fig. 5 An example of receiver leave

S1

R2

R1 R3

R5 R4

S1

R1

R3

R5

R4

Fig. 4 Examples of receiver joins

(a) (b)

S1

R5

(c) (d)

R1

R1

R3

R2

R4

R1

R4

R3

R2

R2

R1

R2 R3

R4

R5

S1

S1 S1

Proceedings of the 10th WSEAS International Conference on COMMUNICATIONS, Vouliagmeni, Athens, Greece, July 10-12, 2006 (pp273-279)

and these sources delete S from its routing table and

update their routing table for high-level trees by

exchanging S-PATH packets. S also multicasts its

intention to leave to all the receivers in its shared tree

and connects its direct children to the closest source

T through temporary links so that its descendants can

continue to receive packets. S requests T to

reorganize its direct children and can now leave. The

reorganization process is recursively performed to all

the receivers in the S’s shared tree in a top-down

fashion until all the receivers are connected to the

proper shared trees.

Receiver Leave: When a receiver, R, wishes to leave

a shared tree, it notifies its intention to leave to its

parent, P, and its direct children, Cs. P makes a

temporary link to all Cs so that packets can be

continuously delivered, selects among Cs the closest

node from itself as a new child node replacing R in

the corresponding sector. P then applies the

reorganize function to all Cs. Figure 5 shows an

example when a receiver leaves a shared tree.

3.3 Member Movements Sources and receivers notify its location by sending

UPDATE packets periodically and also when they

make big movements. A source’s location is sent to

all members. Using this information, sources update

their routing table for high-level source-based trees

and receivers decide whether they will change their

source and, therefore, the corresponding shared tree.

A receiver can change the shared trees only when it

receives a UPDATE packet from a source and finds

that a new source is closer. It sends a leave message

to leave the old shared tree and sends a join message

toward the new source to join the new shared tree.

A receiver sends its location to its parent and

children only. A receiver R initiates reorganization

of the subtree rooted at its child C when either C

leaves the sector that R is in charge of or C changes

the sub-sector within R’s sector. An example of this

case is shown in Figure 6. A receiver, R, can also

initiate reorganization of a subtree when it finds a

child, C, among its children such that C is closer to

R’s parent, P, than R is. In this case, P makes C its

child, changes the parent-child link with R to a

temporary link, and initiates reorganization of

subtrees rooted at C and R. An example of this case

is shown in Figure 7.

3.4 Member Failure Lack of UPDATE packets during a specified time

interval implies failure of a neighboring member.

Upon detecting the failure of a source, other sources

remove the failed source from their routing table for

the high-level trees and update routing tables by

exchanging S-PATH packets. Child receivers of a

failed source know the second closest source as its

grandparent, make a temporary link to it, and request

it to reorganize trees rooted at them.

Recovery from a failed receiver, R, is initiated by its

parent, P. Knowing all of R’s children, Cs, as its

grandchildren, P selects a receiver, C’, such that C’ is

the closest from P among Cs and makes C’ as its

child in the corresponding sector. Then P initiates

reorganization of all the trees rooted at Cs.

4 Performance Analysis Among multicast protocols mentioned in the

introduction, DDT and LGT can be used only for

Fig. 7 A receiver movement example 2

⒜ R1 move (b)After reorganization

S1

R1

R3

S1

R1

R3

R2 R2

Fig. 6 A receiver movement example 1

⒜ R4 moves ⒝ After reorganization

R2 R1

R5

R4

R2

R1

R3

R5

R4

S1 S1

R3

Proceedings of the 10th WSEAS International Conference on COMMUNICATIONS, Vouliagmeni, Athens, Greece, July 10-12, 2006 (pp273-279)

small size groups. So we make a qualitative

comparison of AMRoute, PAST-DM, and SSOM

that is the proposed protocol. AMRoute builds one

shared tree for the whole group. But because the

virtual mesh, on which the construction of the shared

tree is based, is static, the quality of the shared tree deteriorates gradually as nodes move, resulting in more link redundancy and longer delay. PAST-DM

solves this performance problem. But PAST-DM

builds source-based trees and the overhead to

maintain these source-based trees grows significantly

as the number of sources increases. SSOM builds

two-level hierarchical tree in order to reduce both

delay and overhead. Because SSOM’s tree is updated

as members join/leave and move, it solves the

performance problem of AMRoute. Because a

receiver in SSOM belongs to only one low-level

shared tree, the cost to maintain the multicast tree is

much smaller than in PAST-DM.

Because [5] shows that PAST-DM’s multicast tree

has better quality than AMRoute’s, we make

quantitative comparison of SSOM with only

PAST-DM in this paper. The comparison is made

through simulation using ns-2[7]. We assume an area

of 750m*500m. There are 30 mobile nodes whose

movement is simulated using the random way-point

model with the average pause time of 30 seconds and

the maximum node speed of 1m/s. The radio

transmission range of a node is 250m. Each source

sends packets at the rate of 8Kbps. Each simulation is

run for 500 seconds and we measured the goodput

ratio, the average delay, and the ratio of overhead

packets to total packets. The goodput ratio is the ratio

of the number of packets that successfully arrive at

receivers to the number of packets that are sent to

receivers. Figure 8 shows the simulation results. For

the simulation of each protocol, we set the number of

receivers 12 or 14 and increased the number sources

from 1 to 3. From figures we see that SSOM has

similar goodput ratio and average delay as PAST-DM

but exhibits much smaller overhead than PAST-DM

and, therefore, we can conclude SSOM performs

better than PAST-DM.

5 Conclusion An ad hoc network consists of a collection of

distributed nodes that communicate with one another

over a wireless medium without assuming a

pre-deployed infrastructure. Multicast is an essential

mechanism in ad hoc network applications and many

0%

15%

30%

45%

60%

1 2 3

Number of Sources

SSOM with 12 receivers

SSOM with 14 receivers

PAST-DM with 12 receivers

PAST-DM with 14 receivers

Fig. 8 Simulation results

88%

90%

92%

94%

96%

1 2 3 Number of Sources

0.00

0.05

0.10

0.15

0.20

1 2 3 Number of Sources

Overhead Ratio(%

)

Average Delay(secs)

GoodPut Ratio(%

)

Proceedings of the 10th WSEAS International Conference on COMMUNICATIONS, Vouliagmeni, Athens, Greece, July 10-12, 2006 (pp273-279)

multicast protocols have been proposed. But most of

them are network-layer protocols and, therefore,

require all the nodes to support a multicast routing

protocol. Moreover, they require not only member

nodes but also non-member nodes on multicast trees

to maintain multicast routing state, which makes

multicast routing complicated and less scalable. To

overcome this problem, application-layer multicast,

or overlay multicast, protocols have been proposed. In this paper we proposed a new overlay multicast

protocol, called SSOM, for ad hoc networks. Using the

concept of sectors, SSOM builds a hierarchical multicast

tree of two levels: high-level source-based trees for

sources and low-level shared trees for receivers. SSOM

handles both network dynamics and group dynamics

efficiently. It is shown that SSOM multicast trees exhibit

good performance without incurring too much overhead.

References: [1] Cordeiro, C.M., Gossain, H., Agrawal, D.P.,

Multicast over Wireless Mobile Ad Hoc

Networks: Present and Future Directions, IEEE

Network, Vol. 17, No. 1, 2003, pp.52-59

[2] Ji, L., Corson, M.S., Differential Destination

Multicast – A MANET Multicast Routing

Protocol for Small Groups, Proc. of INFOCOM,

2001, pp.1192-1201

[3] Chen, K., Nahrstedt, K., Effective

Location-Guided Tree Construction Algorithms

for Small Group Multicast in MANET, Proc. of

INFOCOM, 2002, pp.1180-1189

[4] Xie, J., Talpade, R.R., Mcauley, A., Liu, M.,

AMRoute: Ad Hoc Multicast Routing Protocol,

Mobile Networks and Applications, Vol. 7, 2002,

pp.429-439

[5] Gui, C., Mohapatra, P., Efficient Overlay

Multicast for Mobile Ad Hoc Networks, IEEE

WCNC’03, 2003, pp.1118-1123

[6] Xiao, L. et al, Prioritized Overlay Multicast in

Mobile Ad Hoc Environments, IEEE Computer,

Vol. 37, No. 2, 2004, pp.67-74

[7] The Network Simulator (ns-2),

http://www.isi.edu/nsnam/ns/

Proceedings of the 10th WSEAS International Conference on COMMUNICATIONS, Vouliagmeni, Athens, Greece, July 10-12, 2006 (pp273-279)