0% found this document useful (0 votes)
18 views

A Cluster-Based Approach For Routing in Dynamic Networks

This document summarizes a research paper that proposes a new cluster-based approach for routing in dynamic networks. The approach divides the network into overlapping clusters, where a change in topology corresponds to a change in cluster membership. This clustering aims to reduce overhead from topology updates and speed up route recalculation compared to conventional routing protocols. The paper reviews existing routing protocols and their limitations in dynamic networks before introducing the new cluster-based methodology.

Uploaded by

yujay.w.lin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

A Cluster-Based Approach For Routing in Dynamic Networks

This document summarizes a research paper that proposes a new cluster-based approach for routing in dynamic networks. The approach divides the network into overlapping clusters, where a change in topology corresponds to a change in cluster membership. This clustering aims to reduce overhead from topology updates and speed up route recalculation compared to conventional routing protocols. The paper reviews existing routing protocols and their limitations in dynamic networks before introducing the new cluster-based methodology.

Uploaded by

yujay.w.lin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

A Cluster-based Approach for Routing in Dynamic Networks*

P. K r i s h n a N. H. V a i d y a , M. C h a t t e r j e e , D. K. P r a d h a n
High Performance Networking D e p a r t m e n t of C o m p u t e r Science
Digital E q u i p m e n t Corporation Texas A & M U n i v e r s i t y
L i t t l e t o n , M A 01460 College S t a t i o n , T X 77843
[email protected] {vaidya,mitrajit,pradhan}@cs.tamu.edu

Abstract An important issue in dynamic networks is the de-


The design and analysis of routing protocols is an sign and analysis of routing schemes. This paper inves-
important issue in dynamic networks such as packet ra- tigates the consequence of mobility and disconnections
dio and ad-hoc wireless networks. Most conventional of mobile hosts on the design and performance of rout-
protocols emhibit their least desirable behavior for highly ing protocol in a dynamic network. Due to the limited
dynamic interconnection topologies. We propose a new range of the wireless transreceivers, a mobile host can
methodology for routing and topology information main- communicate with another host only within a limited
tenance in dynamic networks. The basic idea behind the geographical region around it. Thus, it may be neces-
protocol is to divide the graph into a number of overlap- sary for a mobile host to require the aid of other mobile
ping clusters. A change in the network topology corre- hosts in forwarding data packets to their destination.
sponds to a change in cluster membership. We present The routing information will thus be maintained at the
algorithms for creation of clusters, as well as algorithms mobile hosts to assist in forwarding packets to other
to maintain them in the presence of various network hosts. The problem here is the complexity of updating
events. Compared to emisting and conventional rout- the routing information in such a dynamic network.
ing protocols, the proposed cluster-based approach in- 1.1 P r e v i o u s W o r k
curs lower overhead during topology updates and also Numerous routing protocols have been proposed
has quicker reconvergence. The effectiveness of this ap- in recent years. One of the most popular tech-
proach also lies in the fact that emisting routing proto- niques for routing in communication networks is via
cols can be directly applied to the network - replacing distributed algorithms for finding shortest paths in
the nodes by clusters. weighted graphs [5, 7, 14, 22, 23, 21, 27]. These dis-
tributed algorithms differ in the way the routing tables
1 Introduction at each host are constructed, maintained and updated.
Dynamic networks consist of mobile hosts which can The primary attributes for any routing protocol are :
communicate with each other over the wireless links (di- • Simplicity : Simple protocols are preferred for im-
rect or indirect) without any static network interaction. plementation in operational networks [25].
In such networks the mobile host has the capability to
communicate directly with another mobile host in its • Loop-free : At any moment, the paths implied from
vicinity. The mobile hosts also have the capability to the routing tables of all hosts taken together should
forward (relay) packets. Examples of such networks are not have loops. Looping of data packets results in
ad-hoc wireless local area networks [4, 15, 19, 25] and considerable overhead.
packet radio networks [3, 16, 18, 24]. The term ad-hoc
network is in conformance with current usage within the • Convergence characteristics : Time required to con-
IEEE 802.11 subcommittee [4]. verge to new routes after a topology change should
Example applications of such networks range from not be high. Quick convergence is possible by re-
conference rooms to battlefields. To communicate with quiring the nodes to frequently broadcast the up-
each other, each mobile user needs to connect to a static dates in the routing tables.
network (wide area network, satellite network). How- • Storage overhead : Memory overhead incurred due
ever, there might be situations where connecting each to the storage of the routing information should be
mobile user to a static network may not be possible due lOW.
to lack of facilities, or it may be expensive. In such sit-
uations, it would be preferable for the mobile users to • Computational and transmission overhead : It is
set up communication links between themselves without particularly important to limit these two in mobile
any static network interaction [15]. wireless networks because the bandwidth of a wire-
less link is limited, and because mobile devices are
*Research reported is supported in part by AFOSR under typically low-power in order to be portable, and
grant F49620-94-1-0276, Texas Advanced Technology Program hence do not have the resources for many trans-
under grants 009741-052-C and 999903-029. missions and lengthy computations.

ACM SIGCOMM 49 Computer Communication Review


Conventional routing protocols can be broadly classified tenance is achieved by using hop-by-hop acknowledge-
as distance vector and link state protocols. Distance ment. However, due to such relaxed maintenance mea-
vector routing uses the classical distributed Bellman- sures, the hosts can be using poor (long) routes when
Ford algorithm [1, 12, 16, 21]. Each host maintains for better (shorter) routes are available. This will degrade
each destination a set of distances through each of its the network performance.
neighbors. In order to maintain up-to-date information, A loop-free routing protocol for dynamic networks
each host periodically broadcasts to each of its neigh- is proposed in [5]. Routing optimality is of secondary
bors, its current estimate of the shortest path to every importance. Rather, their goal is to maintain connec-
other host in the network. For each destination, the tivity between the hosts in a fast changing topology.
host determines a neighbor to be the next hop for that A distributed routing protocol for mobile packet radio
destination if the neighbor has the shortest path to the networks is proposed by Corson et al. [3]. Similar to [5],
destination. routing optimality is of secondary importance. Instead
Link state routing generally requires each host to of maintaining distances from all sources to a destina-
have knowledge of the entire network topology [23]. tion, the protocol guarantees route maintenance only
However, there are link state algorithms (e.g., Nim- for those sources that actually desire routes. This prop-
rod [2]) in which nodes maintain only partial informa- erty helps in reducing the topology update overhead.
tion about the network topology. To maintain consis- However, because of the query-based synchronization
tent information, each host monitors the cost of each approach to achieve loop-free paths, the communication
communication link to each of its neighbors, and pe- complexity could be high.
riodically broadcasts an update of this information to 1.2 P r o p o s e d A p p r o a c h
all other hosts in the network. Based on this informa- This paper presents a new methodology for routing
tion of the cost of each link in the network, each host and topology information maintenance in dynamic net-
computes the shortest path to each possible destination works [19]. Our approach is motivated by our study
host. The processing overhead and the network band- of existence of clusters (size greater than 2) in random
width overhead of link state protocols are generally more graphs. The basic idea behind the approach is to divide
than distance vector protocols. the graph into number of overlapping clusters. A change
The problems in using conventional routing protocols in the network topology corresponds to a change in the
in a dynamic network have been discussed in great detail cluster membership. The performance of the proposed
in [15, 25]. For completeness sake, we briefly list the routing approach (reconvergence time, and topology up-
problems in the following. date overhead) will then be determined by the average
• Existing protocols could place a heavy computa- cluster size in the network.
tional burden on mobile computers in terms of bat- For future reference, let us formally define clusters.
tery power, and the wireless networks in terms of
network bandwidth. Definition 1 A k-cluster is defined by a subset of nodes
which are mutually 'reachable' by a path of length at
• Convergence characteristics of these protocols are most k for some fi~ed k. A k-cluster with k = 1 is a
not good enough to suit the needs of dynamic net- clique. []
works.
This work deals with clusters of k -- 1, i.e., 1-
The protocol described in [25] addresses some of the clusters. (Hereafter, we refer to a 1-cluster simply as
above stated problems by modifying the Bellman-Ford cluster.) Each cluster is identified by its members.
routing algorithm. They use sequence numbers to pre-
vent routing table loops, and, settling-time data for Definition 2 The size, S(C) of a cluster C is the num-
damping out fluctuations in route table updates. The ber of nodes in C . •
convergence on the average is rapid, however, the worst
case convergence is large. Moreover, their protocol re- D e f i n i t i o n 3 Edges of a cluster are the edges between
quires frequent broadcasts of the routing table by the nodes that are members of the cluster.
mobile hosts. The overhead of the frequent broadcasts
goes up as the population of mobile hosts increases. Definition 4 A graph is cluster-connected if it satisfies
Another scheme based on distance vector path-finding the following two conditions :
algorithm was proposed in [24]. Although loops are l~ The union of the clusters covers the whole graph.
avoided completely, all the nodes end up sending an For a connected graph, there is a path f r o m each node
update message to their neighbors during a topology to every other node through the edges of the clusters in
update operation. In dynamic networks, where topol- the graph. []
ogy updates are frequent, the update overhead may be
very high. This paper is a preliminary investigation into cluster-
Johnson proposed a new routing method for ad- based approaches for dynamic networks. The protocol
hoc networks based on separate route discovery and presented in this paper does not solve every possible
route maintenance protocols [15]. The concept of Ad- routing problem. A number of different issues remain
dress Resolution Protocol (ARP) is extended to discover to be studied:
routes. However, if proper measures are not taken, the • Extensions of the protocols to support concurrent
network performance can degrade due to the propaga- events. This paper deals with discrete events.
tion of redundant route discovery requests. Route main- • Algorithms to create and maintain clusters such that

ACM SIGCOMM 50 Computer Communication Review


there is a l w a y s more than one boundary node between host can communicate with another host only within
any two overlapping clusters. This will add robustness a limited geographical region around it. This region is
during a boundary node failure. called the host coverage area - d being the radius. The
• Generalization of 1-clusters to k-clusters (where k > geographical area covered by a host coverage area is a
1). This will require design of more complex algorithms function of the m e d i u m used for wireless communica-
for cluster creation and maintenance. The interesting tion. A host H~ is in the vicinity of H~ if the distance
issue will be to determine if there is any performance between nodes u and v is less than or equal to d. An
improvement using k-clusters (where k > 1) instead of edge (u,v) connects node u and node v if the correspond-
1-clusters. ing hosts are in the vicinity and have a communication
• In this paper we restrict to single-level clustering, link established between them. A host m a y sometime
which will be more suitable for moderately sized net- be isolated where there is no other mobile hosts in its
works. For larger networks, a hierarchy of clusters needs vicinity. Such a host will be represented in the graph
to be looked into. by a disconnected node. A host H~I is connected to
Section 2 presents the problem of routing in dynamic another host H ~ if there exists at least one p a t h from
networks. Protocols to create and maintain the clusters node vl to v2.
are presented in Section 3. Section 4 presents the rout-
ing protocol based on clusters. Section 5 presents the
performance evaluation of the cluster-based approach.
Section 6 presents an overview of the other clustering
approaches in literature. Concusions are presented in
Section 7.

2 Preliminaries
The problem addressed in this paper can be defined
as follows: 18
Given: A dynamic network configuration.
Problem: Find a 'good' loop-free routing between each (a)
pair of mobile hosts in the network, where the topo-
logical connectivity is subject to frequent unpredictable c
changes.
The problem requires a loop-free distributed rout-
ing protocol which determines an acyclic route between ,i" i Di'. }
each pair of hosts whenever a change in the topology is j~
detected. The protocol is intended for use in networks i
.-" •
i i
i t
I
1~
.
: . $', ,,
where the rate of topological change is not so fast as to
make "flooding ''1 the only viable routing method, but A [ / /
71} '~-z-'"
not so slow as to make any static topology routing ap- , /
plicable. In a loop-free 2 route, the p a t h from one host to E
another does not traverse the same node twice. Loop-
free routing is desirable to minimize the consumption of (b)
resources during routing.
Our algorithm determines 'good' routes from one Figure 1: An Example of Clusters
host to another which are not necessarily the short-
est paths. In an environment of frequent topological
change, a ' g o o d ' route's length is comparable to the Similar to [3, 24], an underlying link-level protocol is
shortest route. Each host maintains a data-structure assumed which assures the following:
describing the network topology and some routing in- • A node is aware of all its neighbors at all times.
formation. The routing protocol adapts in a distributed
fashion to arbitrary changes in topology in the absence • All packets transmitted over a link are received cor-
of global topological knowledge. Let an undirected rectly and in proper sequence within a finite time.
graph, G = (V,E), represent a network of mobile hosts.
Each node u in the graph denotes a mobile host H~,. Due • All control messages are processed one at a time at
to the limited range of wireless transceivers, a mobile the nodes in the order in which they occur.

1 F l o o d i n g is an a l g o r i t h m w h e r e b y a node b r o a d c a s t s a mes- Ezample ~.I: The graph in Figure l(a) is formed based
sage packet to its neighbors, who in t u r n b r o a d c a s t the packet on geographical locations of 18 mobile hosts. In this
to all their neighbors, except the n e i g h b o r from which it was re- example, the graph is connected as each node is reach-
ceived. T h i s process goes on till the message packet reaches the able from every other node. It can be observed that
intended destination. T h i s h a p p e n s provided the destination is based on the positions, some nodes form clusters. The
connected to the node which originated the flood [3]. graph can be divided into nine clusters as shown in Fig-
~Loop-free r o u t i n g requires p r e v e n t i o n of loops in the r o u t i n g ure l(b). The clusters and their respective members
tables. We a s s u m e t h a t there is negligible a m o u n t of user traffic are as follows: A (1,2,3), B (3,4), C (4,5,6,7), D (7,8),
affected by the t e m p o r a r y loops. E (8,9,10,11), F (8,12), G (12,13,14,15), H (8,16) and

ACM SIGCOMM 51 Computer Communication Review


I (16,17,18). If the routing information is based on 3 Cluster Formation
clusters, routing from node 1 to node 16 will be done Our proposed routing protocol is based on the forma-
through the edges of the clusters A, B, C, D and F. tion of clusters. Hence, efficient cluster formation will
The graph in Figure l(b) is cluster-connected because, be the crux of a routing protocol of this nature. Clus-
i) the union of the clusters covers the whole graph, and ters should be formed in such a way that the resulting
il) there is a path from each node to every other node graph is cluster-connected (See Definition 4). Routing
using the cluster edges. [] from one node to another will consist of routing inside a
A topological change in the mobile host network cor- cluster and routing from cluster to cluster. A change in
responds to a change in the graph structure G ( V , E ) the dynamic network may or may not result in a change
to GI(W,EI). We outline four events that can cause in the cluster compositions. Here, we have assumed
changes in the graph (in the following HA and HB are clusters with k = 1 (See Definition 1). As mentioned
mobile hosts) : in Section 2, we have identified four different possible
A) HA switching ON: A host HA switching ON will in- types of changes in the dynamic network graph in the
clude itself in the graph and make connection with all occurence of a single event. We assume that each clus-
the hosts in its 'vicinity'. Hence, V ~ = V [J {A} and E ~ ter has an unique identifier, id. Each node maintains a
= E U {(u, A), s.t. Hu is connected to HA}. list of its neighbors, a list of clusters (Clus_List) in the
B) HA switching OFF: A host HA switching OFF will network, and a list of boundary, nodes (Bound_List) in
exclude itself from the graph and delete all its edges. the network. There can be multiple boundary nodes be-
Hence, V ' -- V - ( A } and E' ---- E - {(u,A), s.t. tween overlapping clusters. If there are multiple bound-
(u, ary nodes between clusters, the one 3 can also be used
C) HA gets connected to H s : Here, an edge between A with the biggest cluster set is chosen to be the bound-
ary node and is maintained in the Bound_List. Note
and B will be added to the graph. Hence, W -- V and that a node can be a boundary node for more than two
E ' = E U {(A,B)}. overlapping clusters.
D) HA gets disconnected from HB: Here, the edge be- In a connected network, Clus_List is the same in all
tween A and B will be removed from the graph. Hence, the nodes. It is not true in a partitioned network. This
Y' -- Y and E ' -- E - {(A,B)}. is because nodes in a partitioned network may not be
A routing protocol will change its routing informa- aware of all the clusters in the network. Unless other-
tion based on the above four types of changes in the wise mentioned, the following discussions of the proto-
graph. We now present some definitions and proper- cols consider a connected graph. Thus, unless otherwise
ties which will assist in describing the proposed routing mentioned, all the nodes in the network have the same
protocol. Clus_List. We now present the protocols for cluster up-
dates with each type of topological change. The proof of
Definition 5 The cluster set Sn of a node n is defined correctness for these protocols is presented in Appendix
as the set of all clusters in which n is a member. [] A.
3.1 H o s t HA s w i t c h e s O N
D e f i n i t i o n 6 If cluster-connectivity between any pair ! ! !
of nodes (n, n') is not affected due to removal of a cluster The new graph structure G (V ,E ) is formed with
C, then cluster C is redundant. D the added node. The new node A will result in at least
one new cluster so that with the cluster, node A can
route to the rest of the graph. However, if A connects
In other words, if two nodes initially cluster-connected
are no longer cluster-connected after the removal of a two disjoint subgraphs, it may result in more than one
added cluster. These new clusters are denoted by es-
cluster C, then cluster C is not redundant (i.e., non-
sential clusters and are determined by A itself. The ad-
redundant). For example, in Figure l(b), there are no
dition of new clusters may result in zero or one or more
redundant clusters. clusters being redundant. The two tasks performed dur-
ing the topological change are (i) addition of new clus-
Definition 7 A node is a boundary node if it is a mem- ters, and (ii) removal of redundant clusters. The goal
ber of more than one cluster. [] is to have a small number of clusters such that the net-
work remains cluster-connected. Note that although the
In Figure l(b), node 3 is a boundary node as it belongs algorithm tries to minimize the number of clusters, it
to two clusters, (1,2,3) and (3,4). However, node 1 is does not guarantee a minimum number of clusters. The
not a boundary node as it only belongs to (1,2,3). protocol initiated by new node A is shown in Table 1.
The new node A broadcasts a message to its neigh-
P r o p e r t y 1 Addition of each new node to the graph bors indicating its arrival. Upon receipt of the arrival
adds at least one new non-redundant cluster. However, message, the neighbors send a list of their neighbors,
when the new cluster is added to the graph, the new clus- and Clus_List to A. Based on the neighbor informa-
ter may cause one or more clusters to become redundant. tion received from its neighbors, A determines the possi-
[]
SFor simplicity, we retrict to single b o u n d a r y node. Using
At least one new cluster should be added to include the multiple b o u n d a r y n o d e s m a y be m o r e r o b u s t a n d also d i s t r i b u t e
new node. Otherwise, the graph will not remain cluster- the packet f o r w a r d i n g load. We believe o u r a l g o r i t h m s can be
connected after addition of the new node. e x t e n d e d to use multiple b o u n d a r y n o d e s w i t h m i n o r changes.

ACM SIGCOMM 52 Computer Communication Review


Table 1: Switch ON Procedure
Procedure Switch ON(A);
Begin;
1. A sends messages to its neighbors about its arrival;
2. Each neighbor sends list of its neighbors and Clus_List to A;
3. A determines those clusters that are included in the cluster set of
its neighbors and stores them in Local_List;
4. A uses the neighbor information and creates new clusters using
C r e a t e C l u s t e r s (A) and stores them in All_List ;
5. A executes F i n d Essentlal(A,AUList);
6. A assigns new ids to the Essential Clusters;
7. A appends the Essential Clusters to Local_List;
8. A executes F i n d R e d u n d a n t (Local__List) ;
9. A appends LocaL.List returned by F i n d R e d u n d a n t to Clus__List;
10. A determines new boundary nodes from the updated Clus_List ;
11. A broadcasts the updated boundary node list (Bound_List) and
cluster list (Clus__List) to its neighbors;
12. Updated boundary node list and cluster list is then propagated to rest
of the network by only the boundary nodes;
End;

Table 2: Create Clusters Function


Function C r e a t e C l u s t e r s ( A ) ;
Data S t r u c t u r e s :
Ci = / - t h Cluster;
Neighbor(n) = List of neighbors of node n that are also neighbors of A;
DONE(n) = Indicator of whether clusters including node n have been
already created or not.
Initialization:
1 < n < IV[, DONE(n) = FALSE;
All_List = {0}
i=l;
Begin;
1. For each node z in Neighbor(A) do
2. Ci = {$, A} ;
3. For each node y in Neighbor(z) do
4. if DONE(y) = FALSE
5. if Ci C Neighbor(y)
6. ~ = c~u{y} ;
7. else
8. All_List : All_List u C~ ; i : i + 1;
9. Ci= {z,y,A};
10. All_List = All._List u C{ ; i = i + 1;
11. DONE(z) = T R U E ;
End;

ACM SIGCOMM 53 Computer Communication Review


ble clusters using the C r e a t e C l u s t e r s function shown to the list of local clusters (Local_List). The list of lo-
in Table 2, and stores them in All_List. The clusters cal clusters (Local_List) is obtained from Clus_List (Step
that the C r e a t e C l u s t e r s function determines depends 3 of S w i t c h ON). Local dusters are those clusters in
heavily on the order in which each node is added to the Clus_List which are also included in the cluster set of
network. This function will not return the maximum A's neighbors.
clique for all the orders. This function uses a 'first-fit' Addition of the essential clusters may make one or
strategy to generate clusters, which does not necessarily more existing clusters redundant. The new node A then
produce m a x i m u m sized clusters. The time complexity executes the F i n d R e d u n d a n t function shown in Ta-
of the C r e a t e C l u s t e r s function is O(/93), where 7:) is ble 4. Node A first sorts the clusters in Local_List in as-
the m a x i m u m nodal degree 4. cending order of size. Clusters of same size are sorted in
the order of ascending ids. The F i n d R e d u n d a n t func-
P r o p e r t y 2 The clusters returned by the C l u s t e r tion then determines redundant clusters based on Defini-
C r e a t e function are characteristic of the order in which tion 6. The new duster list is then obtained by append-
each node is added to the network. [] ing the dusters remaining in Local_List after removing
the redundant clusters, to Clus_List. Node A then de-
Figure 2 illustrates an example where different node termines the list of boundary nodes (Bound_List) from
numbering (i.e., order in which a node is added to the the updated Clus._List. If there are multiple boundary
network) leads to two different sets of clusters being nodes between overlapping clusters, the one with the
created at the new node (Node 6) by the C r e a t e C l u s - biggest cluster set is chosen to be the boundary node.
t e r s function. Note that a cluster of the largest size may Node A then broadcasts the updated boundary node
or may not be determined by the algorithm s presented list (Bound_List) and cluster list Clus_List to its neigh-
in C r e a t e C l u s t e r s function. However, as has been bors. The neighbors then replace their cluster list and
shown later, the algorithm ensures the connectivity of boundary node list with the ones obtained from A. The
the new node with its neighbors through the clusters. updated boundary node list (Bound_List) and duster
list Clus.-List is then propagated to the rest of the net-
1,5,6 |

3,s,7 | 6qIt
3,4,6
-"
2 4
31
1,4,6

5,3,6
3'4'2'6]
6
t'"
2 4
work only by the boundary nodes.
If B is the upper bound on the number of boundary
nodes, and 79 the maximum nodal degree, the message
complexity of S w i t c h O N is O ( B + ~ ) . The number of
J ;:o°J boundary nodes, B, is upper bounded by the number of
nodes in the network, N.
5 5
Ezample 3.1: For an easier understanding, Figure 3
gives an example involving a network with 4 nodes. Fig-
~ Order --------------~- ure 3(a) has 4 nodes and two dusters, namely, (1,2,3)
and (2,3,4). When node 5 is switched ON, it sends mes-
(a) (b)
sages to nodes 1, 3, and 4 (Figure 3(b)). On receiving
information back from the nodes 1, 3 and 4, node 5
Figure 2: Different Clusters Created at New Node for forms clusters (1,3,5), (3,4,5) and (4,5) as seen in Fig-
Different Orders of Node Addition ure 3(c). It chooses (3,4,5) as the essential cluster and
then determines redundant clusters from the cluster list
Once, the clusters are created using C r e a t e C l u s - of {(1,2,3), (2,3,4), (3,4,5)}. In the redundant removal
t e r s , the new node A then executes the F i n d E s s e n t i a l phase, the new node 5 detects the d u s t e r (2,3,4) to be
function shown in Table 3. The F i n d E s s e n t i a l func- redundant. The final clusters are (1,2,3) and (3,4,5) as
tion sorts the clusters in All_List in a non-descending in Figure 3(d).D
order of their sizes. Initially all the clusters are marked
essential. Each essential cluster C is then examined to 3.2 H o s t HA s w i t c h e s O F F
find if a node (other than the new node A) in C is a When host HA turns OFF, its disappearance will
member of any other essential clusters. If so, it marks only be detected by its neighbors. The clusters in the
the cluster C as non-essential. This will ensure that a cluster-set of node A shrinks in size. The neighbors
node (other than the new node A) is a member of no of node A who are cluster-mates of the shrunken clus-
more than one essential cluster. Moreover, since the ter will ~expand' the cluster. By expanding a cluster,
clusters are sorted in a non-descending order of their we mean that the neighbor will determine new nodes
sizes, the F i n d E s s e n t i a l function returns the largest to become members of that cluster. Neighbors of node
clusters possible. The essential clusters determined by A that are not cluster-mates of A will not initiate any
F i n d E s s e n t i a l function are stored in Essential Clus- update procedures.
ters. There could be more than one node detecting the
The new node A assigns new cluster ids6 to the es- removal of a node. The S w i t c h O F F procedure is sim-
sential clusters. It then appends the essential clusters ilar to the S w i t c h O N procedure in the sense that
there are new clusters formed and redundant dusters
4 T h e m a x i m u m n o d a l degree could e i t h e r be a configured n u m - removed. Concurrent independent executions of the
b e r s u c h t h a t a n y n o d e will a d m i t at m o s t D n e i g h b o r s , or t h e
m a x i m u m n o d e degree o b s e r v e d in t h e n e t w o r k g r a p h . counter which increments whenever a n e w cluster id is assigned
S F i n d i n g t h e l a r g e s t size c l u s t e r is N P - H a r d [9]. by it. T h e id assigned to the n e w cluster is a combination of the
S U n i q u e ids c a n be g u a r a n t e e d if each n o d e m a i n t a i n s a local counter value and the node identifier.

ACM SIGCOMM 54 Computer Communication Review


Table 3: Find Essential Function
Function F i n d E s s e n t i a l ( A , All_List);
Begin;
1. Sort the clusters in All__List in a non-descending order of their sizes;
2. For each cluster CEAllList do
3. Mark(C) :=essential ;
4. For each cluster (Celist) A (Mark(C) =essential) do
5. For each n o d e ( n E C , ) A ( n # A ) do
6. For each cluster (C'EAll_List) A (C' • C) A (Mark(C') =essential) do
7. if (nEC')
8. Mark(C) :=non-essential;
9. break;
10. if (Mark(C) =essential)
11. Essential Clusters := Essential Clusters U C;
End;

Table 4: Find Redundant F u n c t i o n


Function Find Redundant(Locallist);
I n i t i a l i z a t i o n ; Set of nodes: S = {0}; T = {0};
Begin;
1. Sort the clusters in Local_List in non-descending order of their size.
Clusters of same size are sorted in non-descending order of their id;
2. For each cluster CE Local_List do
3. S = S u C ; / * Nodes in C are appended to S */
4. For each cluster C E Local_List do
s. T = (o};
6. VC' s.t., C' E Local_List, Mark(C I) = F A L S E ;
7. For each cluster C' e Local_List A(C' # C) A (Mark(C') = F A L S E )
8. if(T = {0})
9. T = T U C' ; / * Nodes in C' get appended to T */
10. Mark(C') = T R U E ;
11. else for each node (i E T)
12. For each cluster C " E Local_List A(C" # C) A
(Mark(C") = F A L S E )
13. if(i E C")
14. T = T U C " ; /* Nodes in C " get appended to T */
15. Mark(C 'l) = T R U E ;
16. if(T = S) /* Cluster-connectivity maintained */
17. LocaLList := Local_List- C ;
End;

ACM SIGCOMM 55 Computer Communication Review


:*., ,..,,':'"..
. ..-'"'1 ".. (4,5,6) shrinks to (4,5) (Figure 4(b)). Node 4 and 5 de-
..."" 1 "
tect node 6 switching OFF. Since, node 5 has the higher
identifier, it initiates the S w i t c h O F F procedure. Node
5 gets neighbor information and the cluster list from 3
and 4. It then expands the cluster (4,5) to (3,4,5) (Fig-
ure 4(c)). Node 5 now has {(1,2,3), (2,3,4), (3,4,5)} in
the cluster list. In the redundant removal phase, node
i 5 detects the cluster (2,3,4) to be redundant. The final
;",,3~/~ :i clusters are (1,2,3)and (3,4,5) as in Figure 4(d). []
""'""-........,.,":
.-'" 1 ' ." "" 1',

(a) (b)
r "-~
t,i
"2
J• -~ L
, (5'

..f" '. ...


:'" / "L

-., 4,, .J
",: ), -.
(a) (b)
i"
.... ======================= ........... ........
2 ;

(c) (d)

Figure 3: An Example of a Node Addition

S w i t c h O F F procedure could lead to violation of the -.-4] -4


cluster-connectivity condition. We use an arbitration (c) (d)
procedure to avoid concurrent independent executions.
We require the node (neighbor of A, say, B) that is a Figure 4: An Example of a Node Removal
cluster-mate of A in the most number of clusters, to
initiate the S w i t c h O F F procedure z. The execution
The message complexity of S w i t c h O F F is also
of the S w i t c h O F F procedure will expand those clus- O(B+'D), where, 13 is the upper bound on the number
ters in the cluster-set of A that node B is a member of.
of boundary nodes, and 7) the m a x i m u m nodal degree.
However, there still remain clusters in the cluster-set of
As stated earlier, the number of boundary nodes, B, is
A which do not contain B. In those remaining clus-
upper bounded by the number of nodes in the network,
ters, we determine the node (say, C) that is a member
of the most number of clusters. This process continues N.
till all the clusters in the cluster-set of A are covered. 3.3 Host H A gets connected to Host H B
Unlike node B, node C will not execute the S w i t c h
O F F procedure. However, node C will just try to ex- The new connection between hosts H A and H B could
pand the shrunken clusters of which it is a part of, and be detected simultaneously by both the nodes. W e re-
not remove any redundant clusters. The new boundary quire that only the node with the larger s identifier exe-
list (Bound_List) and the new cluster list (Clus_List) is cute the procedure to determine new clusters due to the
determined by C and broadcast to its neighbors. The new connection. This is possible because each node pe-
lists are then further propagated to the rest of the net- riodically sends a beacon which includes the node iden-
work only by the boundary nodes. tifier (Section 4.3). Let the node with the larger iden-
The procedure initiated by node B is shown in Ta- tifier be A, and the node with a smaller identifier be
ble 5. Let us illustrate it with an example. B. Node A then initiates the S w i t c h O N procedure.
Example 3.2: Figure 4 shows the cluster formations Node B becomes one of the neighbors taking part in the
when a node is turned OFF in a network. Figure 4(a) S w i t c h O N procedure by sending the neighbor list and
has six nodes with three clusters, namely, (1,2,3), (2,3,4) the cluster list to node A. The new cluster list and the
and (4,5,6). When node 6 is turned OFF, the cluster boundary node list is determined and propagated to the
rest of the network as explained earlier in Section 3.1.
71f there are multiple such nodes~ we use a tic-breaking test;
e.g., node with the larger ider~tifier. S A n y tie-breaking test will suffice.

ACM SIGCOMM 56 Computer Communication Review


Table 5: Switch OFF Procedure
Procedure Switch OFF(A,B);
Begin;
1. B requests the list of neighbors and Clus_List from the cluster mates
of the shrunken cluster(s);
2. The cluster mates send the list of their neighbors and Clus_.List to B;
3. B determines those clusters that are included in the cluster set of
its cluster mates and stores them in Local_List;
4. Using the neighbor information, B expands the cluster(s). The ids of the
cluster(s) do not change;
5. B appends the expanded cluster(s) to Local_List;
6. B executes F i n d R e d u n d a n t (Local_List) ;
7. B appends Local_List returned by F i n d R e d u n d a n t to Clus_List;
8. B determines new boundary nodes from the updated Clus__List ;
9. B broadcasts the updated boundary node list (Bound_List) and
cluster list (Clus_List) to its neighbors;
10. Updated boundary node list and cluster list are then propagated to rest
of the network by only the boundary nodes;
End;

3.4 H o s t HA d i s c o n n e c t s f r o m H o s t H B
Here, we identify two cases as follows.
Table 6: Clus_-List at Each Node
1. Node A was not a cluster-mate of node B: The Clus$erId Nodes
topological change will result in no change in any A 1,2,3
clusters in the network. B 3,4
C 4,5,6,7
2. Nodes A and B belong to same clusters: Here, the D 7,8
topological change will result in the shrinking of the E 8,9,10,11
involved clusters. Both A and B will detect that F 8,12
the link between them has broken. They will both G 12,13,14,15
initiate the S w i t c h O F F protocol. The S w i t c h H 8,16
O F F protocol comprises adding new clusters and I 16,17,18
removing redundant clusters. Concurrent indepen-
dent executions of the S w i t c h O F F protocol at
two different nodes could lead to violation of the
cluster-connectivity condition. We avoid indepen- then explain the route construction and maintenance
dent executions of the S w i t c h O F F protocols at procedures in the network.
two different nodes by requiring only the node with
the larger id (say, A) to execute the S w i t c h O F F
protocol. The other node with smaller id (say,
B) provides new ids to the shrunken clusters, up-
dates Clust._List, determines a new boundary node Table 7: Bound_List at Each Node
Clusterlds Node
list (Bound_List) and broadcasts both these lists A,B 3
to its cluster mates. The lists are then further B,C 4
propagated to the rest of the network only by the C,D 7
boundary nodes. Thus, node B (i.e., the node
with smaller id) does not remove any redundant D,E,F,H 8
clusters. Redundant cluster determination and re- F,G 12
moval is done only by A during its execution of the H,I 16
S w i t c h O F F protocol. The new cluster list and
the boundary node list is determined and propa-
.gated to the rest of the network as explained earlier
m Section 3.2. 4.1 Data Structures
As stated earlier, the following lists are maintained
at each node :
4 Routing Protocol
We first discuss the necessary data structures to be • Clus.List: This list provides the mapping between
maintained at each node for the routing protocol. We the clusters and their members.

ACM SIGCOMM 57 Computer Communication Review


• Bound_List: This list maintains the 'designated' nodes listen to this information and just update their
boundary nodes between overlapping clusters. As tables. In this manner, the information about each net-
stated earlier, there may be more than one bound- work event is distributed to all the nodes. Each node
ary node between overlapping clusters. Only one now has the topology information of the whole network.
among them is chosen to be the designated bound- For a connected network, the boundary nodes also form
ary node (Section 3). a connected network. In this network of boundary
nodes, two boundary nodes will have a link between
Using the information in Clus_List and Bound_List, each them if they have common clusters; e.g., boundary
node then generates the routing table .YouteTable used nodes 3 and 4 have a link between them. A shortest-
for routing packets. Each entry in the routing table con- path algorithm (e.g., Dijkstra's algorithm [1]) is run on
tains the destination identifier, the next hop node and this connected network of boundary nodes. If a cluster
the number of hops it takes to reach the destination via has multiple boundary nodes, the nodes in that cluster
that next hop node. The Clus_List and the Bound_List will choose the boundary node with the shortest path
for the network in Figure 1 are shown in Tables 6 and for a destination as the next hop node for the destina-
7. The ~outeTable for node 6 is shown in Table 8. tion, The next hop node and the number of hops for
each destination is maintained in the T-oute Table.
Each message packet contains the identifier of the
destination node in its header. When a node receives
Table 8: FouteTable at Node 6, Cluster C a message packet, it looks up the ~outeTable to deter-
DestNode N e m t H o p Hops mine the next hop node for the packet's destination.
4 3 The node then forwards the message packet to the next
4 3 hop node. This process of forwarding continues till the
4 2 packet reaches its destination.
- 1
- 1

- 0
4.2.2 Route Maintenance Phase
- 1
This phase begins when there is a change in the net-
7 2 work topology (host connection/disconnection, link fail-
7 3 ure/recovery). The route maintenance in our approach
i0 7 3 basically boils down to cluster maintenance. The pro-
ii 7 3 tocols for cluster maintenance have been explained pre-
12 7 3 viously. After a change in topology, all the nodes have
13 7 4 the complete topology information in the form of cluster
14 7 4 list (Clus_List) and boundary node list (Bound_List). If
15 7 4 all the nodes have a consistent view of the topology,
16 7 3 routing loops are not formed. However, due to long
17 7 4 propagation delays, network partitions, etc., some nodes
18 7 4 may have inconsistent topology information. This might
lead to formation of routing loops. However, these
loops are short-term, because they disappear within
bounded time (required to traverse the diameter of the
4.2 Protocol network) [23].
A routing protocol can be divided into two phases, The new cluster information will be propagated
namely, route construction and route maintenance. throughout the network. It should be noted that only
During the route construction phase, routes are con- the boundary nodes are responsible for broadcasting
structed between all pairs of nodes. The route mainte- and re-broadcasting any new information. This helps in
nance phase takes care of maintaining loop-free routes quick dissemination of information across the network.
in the face of unpredictable topological changes. Thus, the reconvergence of the cluster-based protocols
is very quick. Let us illustrate it with an example. Let
4.2.1 Route Construction Phase node 2 in Figure 1 disconnect. This event will be de-
tected by nodes 1 and 3. Since node 1 is not a bound-
The protocols to maintain clusters in the face of various ary node, it will just update its tables to indicate the
network events have been explained earlier. Upon re- change. Node 3 being the boundary node broadcasts
ceipt of new cluster information, a boundary node stores the new cluster information. Node 4, a boundary node,
the new cluster list in its Clus_List, the new boundary upon receipt of the new cluster information from node
list in its Bound_List, and then rebroadcasts the infor- 3, re-broadcasts it. This broadcast will be received by
mation. A boundary node has to forward the new in- nodes 3, 5, 6 and 7. Since node 3 has already broad-
formation only once 9. Nodes other than the boundary casted this cluster information, it neglects this informa-
tion. Nodes 5 and 6 being non-boundary nodes just
9 I n t h e p r e s e n c e o f noisy links, retransmisslons will b e n e c e s a r y . update their tables. However, node 7 being a boundary
H o w e v e r , as stated in S e c t i o n 2, w e a s s u m e a l l n k - l e v e l p r o t o c o l node, updates its tables and rebroadcasts the new clus-
that guarantees that packets transmitted o v e r a l l n k a r e r e c e i v e d ter information. Similarly, other boundary nodes 8, 12
correctly. and 16 upon receipt of the new cluster information re-

ACM SIGCOMM 58 Computer Communication Review


broadcast it so t h a t every node in the network has the • The routing algorithm behaves synchronously, so
new cluster information. The non-boundary nodes just that every host in the network executes a step of the
listen and update their tables and do not re-broadcast. algorithm simultaneously at fixed points in time.
• At each step, the host receives and processes all the
,'
/
h
',
'v"
4 inputs originated during the preceding step and, if
required, sends update messages at the same step.
', .a,

h • ~ .... ,,i'" We borrow the complexity computations of DBF,


ILS, and DUAL from [8]. Table 9 lists the protocols
with the complexities. The per packet cost of sending a
packet is listed in Table 10. The complexity parameters
Figure 5: Movements T h a t Cause Unnecessary Link are as follows:
Creations/Deletions
• N: Number of nodes in the network.
4.3 Implementation Details • E: Number of links in the network.
Each host periodically broadcasts a beacon which in-
cludes its identifier. If a host h receives a beacon from • d: Diameter of the network. The diameter of a net-
another host h ~ which is not in its current neighbor set, work is defined as the length of the longest shortest
it means that there is a prospective new link to be cre- path in hops between any two nodes.
ated. However, the S w i t c h O N procedure is not im-
mediately initiated. Only after a certain number of suc- • :D: M a x i m u m degree of a node.
cessive beacons are received from the same host is the
S w i t c h O N procedure initiated. This is to avoid un- • B: Upper bound on the number of unique boundary
necessary oscillations due to the host h I moving in and nodes in the network. Overlapping clusters m a y
out of host h's vicinity. Figure 5 shows the scenarios have more than one boundary node between them.
where the movement of h ~ could cause a sequence of However, only one of t h e m will be considered as the
unnecessary link creations/deletions. boundary node and will be used to pass messages
If a host h does not receive a certain number of con- between clusters. The other boundary nodes are
secutive beacons from its neighbor h', it will assume considered as non-boundary nodes. The procedure
that either h ~ has moved out of its vicinity or that h' is to select a boundary node has been described in
disconnected. Host h will then follow the procedure for Section 3.
host disappearance as explained in Section 3.2.
• x: Number of nodes affected by the topological
5 Performance Evaluation change.
5.1 Complexity • l: Diameter of the affected network segment.
This section compares the cluster-based approach's
worst-case performance with the performance of
Distributed Bellman-Ford (DBF) [1], Ideal Link
State (ILS) [8], Diffusing Update Algorithm (DUAL) [8],
NP [3] and flooding. The ILS protocol [8] requires that Table 9: Complexity Comparison
each topology change be transmitted to every node. Protocol TC CC
The DUAL protocol [8] is a distance-vector loop-free DBF [1] O(N) O(N ~)
algorithm based on internodal coordination spanning ILS [8] O(d) O(E)
multiple hops. DUAL is known to be the lowest com-
DUAL [81 O()x O(:Px)
plexity distance-vector algorithm. NP protocol [3] is a
source-initiated routing protocol that provides loop-free NP [3] O(1) O(x)
routing only to desired destinations in a dynamic net- Cluster O(d) O(B +:D)
work. Flooding does not have any control overhead due Flooding 0 0
to topology updates/maintenance. Everytime a node
wants to send a packet to a destination, the node broad-
casts the packet to its neighbors, who in turn broadcast Since flooding does not have any topology update
the packet to all their neighbors, except the neighbor overhead, the time complexity and communication com-
from which it was received. This process goes on till plexity of flooding is zero. However, the CC of flooding,
the message packet reaches the intended destination. for sending a packet is O(E) compared to O(d) for other
The performance metrics are the time complex- approaches. The complexities of DUAL and NP will be
ity (TC) and the communication complexity (CC). high if m ~ N (This is true in the situations when a node
T i m e complexity is defined as the number of steps re- fails or switches off.), i.e., when most of the nodes in the
quired for the network to reconverge after a topology network are affected by the topological change. In such
change. The number of messages required to accomplish cases, the diameter of the affected segment, l ~ d. The
the reconvergence is called the communication complex- performance of the duster-based approach depends on
ity. The assumptions made while making the compar- the number of boundary nodes and the m a x i m u m de-
isons are same as in [8]. They are as follows: gree of a node. We resort to simulations to determine

ACM SIGCOMM 59 Computer Communication Review


graphs. The routing overhead of the cluster-based ap-
proach is also determined..;outing overhead is the ra-
Table 10: Per Packet Cost of Sending a Data Packet tio of the path length between a source and a destina-
Protocol TC CC tion as determined by the cluster-based approach and
D B F [1] O(d) 0 d the actual shortest path length between them. Random
graphs are generated using the random graph generator
D U A L [81 O,d ' function presented in Appendix B. The clusters are de-
N P [3] O~,d' termined using the S w i t c h O N procedure described in
Cluster O(d) Ol Section 3.1. Input to the simulations are (i) N (number
Flooding O(d) O(E of nodes), and (ii) D (average degree in the network).

22
20 ~'~ N=I 0 --
the variation in the number of boundary nodes and the / \ N=20 .......
18 .j \ N=30 ........
cluster size, with the degree of the network. We will ~ % ~ ~ i ~ N=40 --
16
show through simulations that even for low nodal de-
grees, the number of boundary nodes in a network is Z 14
much less than the total number of nodes in the net- 12
work. We also determine the routing overhead of the 10
m
cluster-based approach. 8
Z 6
4O 4
N=lO 2
35 N=20 ......
N=30 ........ 0 i i , , i i ,i

3O N=40 ---~ 5 10 15 20 25 30 35 40
Degree
f
25 t
Figure 8: Variation of Number of Boundary Nodes with
_~ 2o Degree
0 /
~ 15
As shown in Figure 6, the average cluster size in-
10 /i ..'/':
creases as N increases. It also increases when D in-
.~.~:~::~;~ ...:............ creases. Figure 6 shows that there is a large region
of values of N and D where the average cluster size is
i , i i , i i
greater than 2. In these scenarios, clustering will bene-
5 10 15 20 25 30 35 40 fit.
Degree
3 , , , , , , ,

Figure 6: Variation of Average Cluster Size with Degree ~. Cluster - -


2.8 " \ ~ Flooding .......
2.6
5.2 Simulations
2.4
50 2.2
N=10 - -
45 N=20 ...... 2
N=30 ........ 0-
40 G)
N=40 1.8
35 1.6
30 1.4
O
"6 25 1.2
20 °.. ,
1
E 2 3 4 5 6 7 8 9
15 Degree
10
5 Figure 9: Variation of Average Path Length with De-
gree: N = I O
0 J i i i , i i

5 10 15 20 25 30 35 40
Degree
Figure 7 and Figure 8 illustrate the variation in the
number of clusters and the number of boundary nodes
Figure 7: Variation of Number of Clusters with Degree with node degree, respectively. Note that the number of
clusters and boundary nodes in the network decreases
Simulations are performed to determine average clus- as the node degree increases. Also note that they in-
ter size, and number of boundary nodes for random crease as the number of nodes in a network increases.

ACM SIGCOMM 60 Computer Communication Review


The maximum number of boundary nodes for a given N of nodes taking part in the topology-update oper-
occurs when D is low. However, the maximum number ation, thereby, reducing the network load during
of boundary nodes is much less than N. For example, in topology updates.
Figure 8, for N=10, the maximum number of boundary
nodes .is 5 (with D -- 2 ) . I n other words, in such a net- • The cluster creation and maintenance algorithms
work, if our cluster-based approach is used, the number have not been discussed in most of the literature
of nodes taking part in the topology update protocol will where if it is discussed, it either is specifically for
be less than 50% of the total number of nodes in the net- regular graph structures [17, 28], or employs a clus-
work. Figure 9 and Figure 10 illustrate the variation of ter controller (or leader) [26]. In this work we create
and maintain a small number of clusters (cliques)
6 in an arbitrary graph. The cluster graph is created
5.5
Cluster using a sequence of S w i t c h O N procedures (one
i Flooding ....... procedure call for each node being added). The
5
cluster is maintained in the face of different net-
4.5 work events by calling the appropriate algorithms
} , as explained in this work.
~. a.s • Cluster overlapping in some approaches requires
g a each node to be included in more than one clus-
~ 2.5
ter [26, 28]. However, in this work we do not re-
".\ quire all the nodes to be included in more than one
2 duster.
1.5
• Unlike the previous approaches, we require our
.1 clustering algorithms to create and maintain clus-
0 5 10 15 20 25 30
Degree ters such t h a t they satisfy the cluster-connectivity
criterion (Definition 4). Since, we require the
Figure 10: Variation of Average Path Length with De- network to be cluster-connected, we can apply
gree: N=30 any routing protocol directly by just replacing the
nodes by clusters. Thus, we can enjoy the advan-
average path length of the cluster-based approach and tages of a chosen routing protocol (loop-free routes,
flooding with degree for N=10 and N=30 respectively. etc.), and also the cluster-based approach (low
The average path length is computed as the average topology update overhead, etc.).
of the path lengths between each source and destina-
tion in the network. Flooding always determines the 7 Conclusion
shortest path between two nodes. Note that the average Proposed in this paper is a new methodology for rout-
path length determined by the cluster-based approach ing in mobile wireless networks. Simple distributed al-
is higher than the average path length determined by gorithms are proposed for cluster creation and mainte-
flooding. The routing overhead determined as the ra- nance. This paper shows that routing protocols based
tio of the path lengths determined by clustering and on clusters could obtain performance improvements over
flooding is observed to be less than 2 for both the cases previous approaches. Cluster-based protocols allow the
considered (N=10 and N=30). Compared to savings in network to enjoy the liberty of maintaining routes be-
network load due to updates, the routing overhead of tween all pairs of nodes at all times, without causing
the cluster-based approach is not high. much network overhead. Thus, a compromise on rout-
ing optimality as suggested in [3] to avoid network con-
6 Other Clustering Approaches gestion might not be required.
The problem of clustering in networks has been dis- Quick reconvergence in some protocols like DSDV[25]
cussed earlier in the literature [6, 10, 13, 17, 20, 26, 28]. is obtained by quick re-broadcast by each and every
Our work differs from the earlier works in the following recipient of the broadcast, causing degradation of the
respect: availability of the wireless medium. However, in our
approach, re-broadcast is done o n l y by the boundary
• .Clustering was proposed as a hierarchical approach nodes. Nodes other than boundary nodes just listen and
in earlier literature to limit the amount of rout- update their tables.
ing information stored at individual hosts, and dis- Similar to [3, 5] the cluster-based approach does not
tributed and processed in the network. The entire guarantee shortest path. This is due to the fact that the
network is thought of as a tree of hierarchies, in clusters are created using the first-fit approach, which
which each node at a higher level is made up of does not produce the maximum clusters in the graph.
one or more nodes from lower levels. Each host However, it has been shown that the routing overhead
has to take part in two updating procedures: one of the cluster-based approach is not high.
local within its cluster, and the other global with
other distant nodes. In this paper, clustering is re- Acknowledgments
stricted to a single level. The main advantage be- We would like to thank the anonymous referee whose
hind using our cluster-based approaches is the way exceptionally detailed review has benefitted this paper
we maintain the clusters, which limits the number a lot.

ACM SIGCOMM 61 Computer Communication Review


References [16] J. Jubin, J. D. Tornow, "The DARPA Packet Ra-
[1] D. Bertsekas, R. Gallager, Data Networks, Second dio Network Protocols," Proceedings of the IEEE,
Edition, Prentice Hall Inc., New Jersey, 1992. Vol.75, No. 1, pp. 21-32, January, 1987.
[2] I. Castineyra, N. Chiappa, M. Steenstrup, "The [17] F. Kamoun, "Design Considerations for Large
Nimrod Routing Architecture," RFC 1992, August, Computer Communication Networks," UCLA-
1996. ENG-7642, Computer Science Department, School
of Engineering and Applied Science, University of
[3] M. Scott Corson, A. Ephremides, "A Distributed California, Los Angeles, March, 1976.
Routing Algorithm for Mobile Wireless Networks,"
A C M Journal on Wireless Networks, Vol.1, No.l,
pp. 61-81, 1995. [18] P. R. Karn, H. E. Price, R. J. Diersing, "Packet
Radio in the Amateur Service," IEEE Journal on
[4] W. Diepstraten, G. Ennis, P. Bellanger, "DFWMAC Selected Areas in Communications, Vol. 3, No. 3,
- Distributed Foundation Wireless Medium Access pp. 431-439, May, 1985.
Control," IEEE Document P802.11-93/190, Nov.,
1993. [19] P. Krishna, M. Chatterjee, N. H. Vaidya, D. K.
Pradhan, "A Cluster-based Approach for Routing
[5] E. Gafni, D. P. Bertsekas, "Distributed Algorithms in Ad-Hoc Networks," Proc. USENIX Symposium
for Generating Loop-free Routes with Frequently on Location Independent and Mobile Computing, pp.
Changing Topology," IEEE Trans. on Communica- 1-8, April, 1995.
tions, Vol. COM-29, No. 1, pp. 11-18, January, 1981.
[6] J. J. Garcia-Luna-Aceves, "AnMysis of Routing [20] G. Lauer, "Hierarchial Routing Design for
Strategies for Packet Radio Networks," Proc. IEEE SURAN," Proceedings of ICC, pp. 93-101, 1986.
INFOCOM, pp. 292-302, May, 1985.
[21] J. M. McQuillan, D. C. Walden, "The ARPA Net-
[7] J. J. Garcia-Luna-Aceves, "A Unified Approach to work Design Decisions," Computer Networks, Vol.1,
Loop-free Routing Algorithm Using Distance Vec- No.5, pp. 243-289, August, 1977.
tors or Link States," Proc. ACM SIGCOMM Sym-
posium on Communication, Architectures and Pro- [22] J. McQuillan, "Adaptive Routing Algorithm for
tocols, pp. 212-223, September, 1989. Distributed Computer Networks," BBN Report
2331, BBN, Cambridge, MA, 1974.
[8] J. J. Garcia-Luna-Aceves, "Loop-Free Routing. Us-
ing Diffusing Computations," IEEE Trans. on Net- [23] J. M. McQuillan, I. Richer, E. C. Rosen, "The New
working, Vol. 1, No. 1, pp. 130-141, February, 1993. Routing Algorithm for ARPANET," IEEE Trans.
[9] M. R. Garey, D. S. Johnson, Computers and on Communications, Vol. 28, No. 5, pp. 711-719,
Intractability: A Guide to the Theory of NP- May, 1980.
Completeness, W. H. Freeman and Company, New
York, New York, 1979. [24] Shree Murthy, J.J. Garcia-Luna-Aveces, "A Rout-
ing Protocol for Packet Radio Networks," Proc.
[10] M. Gerla and J.T.-C. Tsai, "Multicluster, Mobile, A CM International Conference on Mobile Comput-
Multimedia Radio Networks," Wireless Networks, ing and Networking, pp. 86-95, November, 1995.
Vol. 1, pp. 255-256, 1995.
[25] C. Perkins, P. Bhagwat, "Highly Dynamic Destina-
[11] Alan Gibbons, Algorithmic Graph Theory, Cam- tion Sequenced Distance Vector Routing (DSDV) for
bridge University Press, Cambridge, Massachusetts, Mobile Computers," Proc. A C M SIGCOMM Sym-
1985. posium on Communication, Architectures and Pro-
[12] C. Hedrick, Routing Information Protocol, RFC tocols, pp. 234-244, September, 1994.
1058, June, 1988. (Available from nic.ddn.mil)
[26] C.V. Ramamoorthy, A. Bhide, J. Srivastava, "Reli-
[13] K. Ishida, "Space-Time Tradeoff in Hierarchical able Clustering Techniques for Large, Mobile Packet
Routing Schemes," T-esponsive Computer Systems, Radio Networks," Proc. IEEE INFOCOM, pp. 218-
edited by H. Kopetze and Y. Kakuda, Springer Ver- 226, May, 1987.
lag, NY, pp. 147-163, 1993.
[27] M. Schwartz, T. E. Stern, "Routing Techniques
[14] J. M. Jaffe, F. M. Moss, "A Responsive Routing used in Communication Networks," IEEE Trans. on
Algorithm for Computer Networks," IEEE Trans. Communications, pp. 539-552, April, 1980.
on Communications, pp. 1758-1762, July, 1982.
[15] David B. Johnson, "Routing in Ad Hoc Networks [28] Nachum Shacham, "Organization of Dynamic Ra-
of Mobile Hosts," Proc. of Workshop on Mobile dio Network by Overlapping Clusters: Architecture,
Computing Systems and Applications, pp. Decem- Considerations, and Optimization," Performance,
ber, 1994. December, 1984.

ACM SIGCOMM 62 Computer Communication Review


Appendix A: Proof of Correctness and they form a connected segment. On the other hand,
This appendix presents an outline of the proof of cor- some of the connected segments m a y not be connected
rectness for the algorithms presented in this paper. with other connected segments, and they form discon-
For the sake of convenience, let us introduce two nected segments (e.g., A, B and C in Figure l l ( a ) ) , R
terms, namely, root node and affected node. A root being the root node. In the worst case, a connected
node is a node that initiates the cluster update algo- segment is a node (e.g., C in Figure l l ( a ) ) . In such
rithm, whereas affected node is a node whose clusters a case, all affected nodes are disconnected from each
m a y be affected by the algorithm initiated by the root other. When the root node R switches ON or moves
node. For the various types of events, let us determine into the vicinity of the nodes in A, B and C, the root
the root node(s) and the affected node(s). node provides connectivity between the disconnected
segments through it. It should thus be ensured that
• S w i t c h O N : The new node is the root node. The the affected nodes in the disconnected segments become
neighbors of the new node are the affected nodes. cluster-connected after the execution of the F i n d Es-
s e n t i a l function at the root node (as in Figure ll(c)).
• S w i t c h O F F : The node n that is determined using This is because, even if there is a p a t h between these
the arbitration procedure explained in Section 3.2, disconnected segments through the root node, there m a y
'is the root node. The neighbors of the node n are not be any p a t h between t h e m using clusters. This will
the affected nodes. violate the cluster-connectivity criteria.
• C o n n e c t i o n b e t w e e n n o d e s A a n d B: The B B_.,
node (A or B) with the larger id is the root node.
The c o m m o n neighbors of A and B are the affected
( e,' : t' @ ~' /.
nodes. --

p.',
• D i s c o n n e c t i o n b e t w e e n n o d e s A a n d B: The r-,C ",/. C
( • ,' : I. ,,
node (say, A) with the larger id is the root node.
The neighbors of the root node are the affected
nodes. The node (say, B) other than the root node (a) Disconnected Segments (b) New node R

adds new clusters and does not remove any clusters.


Each algorithm comprises the following basic steps:
A lit ""3 - - - Connected Segment
• The root node gets from each affected node, the
affected node's neighbor information and its cluster
set.
(c) After Find Essential
• The root node determines the possible clusters us-
ing the C r e a t e C l u s t e r s function. Figure 11: Clusters formed by F i n d - E s s e n t l a l
• From these clusters, the root node determines the
essential clusters using the F i n d E s s e n t i a l func- L e m m a 2 The affected nodes in the different discon-
tion. nected segments become cluster-connected after the ez-
ecution of F i n d E s s e n t i a l function at the root node.
• The root node adds the essential clusters to list of
clusters it has obtained from the affected nodes. P r o o f : Steps 4-9 of the F i n d E s s e n t i a l function en-
The root node then determines and removes the re- sure that there is an essential cluster between at least
dundant clusters using the F i n d R e d u n d a n t func- one node in each connected segment and the root node.
tion. Thus, after the execution of the F i n d E s s e n t i a l , there
is cluster-connectivity between the affected nodes in dif-
• The new cluster information is then broadcast by ferent disconnected segments. []
the root node to the affected nodes. L e m m a 3 Nodes that were cluster-connected before the
network event occurred will remain cluster-connected af-
L e m m a 1 The root node has connectivity to each af- ter the removal of redundant clusters by the root node.
fected node through at least one of the clusters returned
by the C r e a t e C l u s t e r s function. Proof-" The root node executes the F i n d R e d u n d a n t
function to determine redundant clusters. This function
P r o o f : Step 2 of the C r e a t e C l u s t e r s (Table 2) func- determines redundant clusters based on Definition 6,
tion ensures t h a t at least one cluster is created with the which ensures that if a cluster is redundant, removal
root node and an affected node as its members. Thus, of the cluster does not affect the cluster-connectivity of
the root node will have connectivity to each affected the graph. []
node through at least one of the clusters. [] T h e o r e m 1 Given a cluster-connected graph, the graph
As shown in Figure 11, the root node along with the remains cluster-connected after any network event.
affected nodes form a star graph with the root node at
the center and the affected nodes at the fringes. Some P r o o f : The proof follows from L e m m a 1, L e m m a 2 and
of the affected nodes m a y be connected to each other, L e m m a 3. []

ACM SIGCOMM 63 Computer Communication Review


Table 11: Random Graph Generator Procedure
R a n d o m _ G r a p h _ G e n e r a t o r (N,D);
Begin;
1. Node list I = [1...N]; Edge list T -- 0 ;
2. Generate a sequence S of (N - 2) random
labels in the range [I,N];
3. while (ISI > 0)
4. Look for the smallest label ii in I that is
not in S;
5. T = T U ( i l , sl) ;
6. Remove il from I and sl from S ;
7. T=TU(Q,i2);
8. remaining = - (N - 1) ;
9. while ( r e m a i n i n g > O)
10. Randomly generate 2 labels (ij)
s.t., (i, j) ~t T ;
11. T = TU. ( i , j ) ;
12. remazn~ng : r e m a i n i n g - 1 ;
End;

Appendix B: Random Graph Generator


This appendix presents the algorithm used to gen-
erate random graphs. The random graph generator is
based on the 'labeling' algorithm presented in [11]. The
inputs to this graph generator are N and D, where N
is the number of nodes in the network, and D is the
average degree of the network. We use a 'labeling' algo-
rithm to generate random spanning trees with N nodes.
Then we randomly add ( - ~ - ( N - 1 ) ) links, so that the
average degree in the final network is D. The algorithm
is presented in Table 11.

ACM SIGCOMM 64 Computer Communication Review

You might also like