A Cluster-Based Approach For Routing in Dynamic Networks
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
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
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.
(a) (b)
r "-~
t,i
"2
J• -~ L
, (5'
-., 4,, .J
",: ), -.
(a) (b)
i"
.... ======================= ........... ........
2 ;
(c) (d)
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.
- 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-
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 , , , , , , ,
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.
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