a sector-based scalable overlay multicast protocol … · a sector-based scalable overlay multicast...
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)