Towards Socialaware Routing in Dynamic
Communication Networks
Thang N. Dinh, Ying Xuan, My T. Thai
Computer & Information Science & Engineering Department,
University of Florida, Gainesville, FL 32611.
Email:{tdinh, yxuan, mythai@cise.ufl.edu}
AbstractMany communication networks such as Mobile Ad
Hoc Networks (MANETs) involve in human interactions and
exhibit properties of social networks. Hence, it is interesting to
see how knowledge from social networks can be used to enhance
the communication processes. We focus on the use of identifying
modular structure in social networks to improve the efficiency
of routing strategies. Since nodes mobility in a network often
alters its modular structure and requires recomputing of modules
from scratch, updating the modules is the main bottleneck in
current socialaware routing strategies where nodes often have
limited processing speed. Towards realtime routing strategies,
we develop an adaptive method to efficiently update modules
in a dynamic network in which a novel compact representation
of the network is used to significantly reduces the network size
while preserving essential network structure.
Index TermsSocial Networks, Routing, Modular Structure,
Dynamic Networks, Adaptive Algorithm
I. INTRODUCTION
Mobile Ad hoc Networks (MANETs), dynamic and self
configuring networks of mobile devices, have been widely
used in practice and become a popular research topic. Due to
mobile nodes, unstable links and timedependent topology of
a MANET, designing an efficient routing scheme on MANETs
has emerged as the most challenging but profitable problem.
Existing routing protocols can be classified into two cat
egories: proactive TableDriven and reactive OnDemand.
Tabledriven protocols [1] [2] employ routing tales, which
contain the best approximated shortest paths between nodes,
and direct messages accordingly. Whenever mobility occurs
the routing tables are required to be updated and propagated
throughout the network to maintain a consistent network view.
This results in a huge amount of communication overhead
and bandwidth consumption, especially when the network
topology changes rapidly.
By contrast, reactive OnDemand schemes, which only ini
tiate the path discovery process on receiving message delivery
requests (Figure 1), obtain better performance and thus seize
plenty of attraction since the last decade [3] [4]. Naive on
demand forwarding schemes in which nodes flood duplicated
copies of messages to neighbors, can provide the highest
delivery ratio. However, they inevitably raise the problem
of buffer overflow and bandwidth exhaustion. Therefore, to
devise a routing scheme with the small message redundancy,
small delivery latency, as well as reasonable delivery ratio,
is the main objective of the recent researches toward this
problem.
Among various path discovery strategies proposed in this
scope, Social Patten based algorithms have shown their great
potentials recently. The reason is that while MANETs serve
as communication networks among mobile devices, they often
exhibit properties of social networks when the devices (e.g.,
mobile phones) are carried by human beings, and then the
communications indicate human interactions. In contrast with
the rapid changes of nodes' locations in MANETs, the changes
of the social relationships among these device carriers are
much less frequent. Moreover, recent real traces for MANETs
[5] [6] reveal that there exist groups of individuals, where a
majority of individual interactions take place within the same
group. This resembles the Community Structure (also known
as modular structure) in social network, which are grouping of
nodes into modules with dense connections inside each module
but fewer connections crossing modules.
^;=,^ n
Ikt
4
~ \ I
Fig. 1. Message forwarding in a MANET
Multiple routing strategies [7] [8] [9] [10] based on the dis
covery of modular structure have provided ignilik.ill perfor
mance enhancement compared to traditional schemes. Specif
ically, with the modular structure of the network detected,
only the nodes within the same module will be selected as
intermediate nodes [7], which avoids the unnecessary message
forwarding through nodes belonging to other modules. In this
line of works, the forwarding strategy is determined as soon
as the modular structure of the network is identified. For a
complete view of algorithms to identify modular structure in
networks, we refer to the comprehensive survey in [11].
Together with the network topology, the modular structure
also changes through time, although with a slower speed.
Hence, the routing performance would also degrade if routing
are performed using a fixed and obsolete modular structure.
Therefore, how to accurately and '. '**iq'1' identify modular
structures in dynamic network topologies is the kernel problem
to be solved in this paper.
In spite of the fruitful existing modular structure detection
schemes, to enhance both the detection accuracy and efficiency
in dynamic networks is nontrivial. In previous approaches,
[12][14] network modules are identified separately at each
time point by running modular structure identification algo
rithms many times. The main disadvantage of this approach
is that recomputing modular structure of the network from
scratch may result in prohibitive computational costs, particu
larly in case of nodes with limited processing speed. In addi
tion, it may be infeasible since it requires global information.
Moreover, recomputing modular structure independently may
lead to substantial and unexpected variation in comparison
to the previous modular structure which would cause mass
propagation overhead from these updates.
To overcome the above limitations, we propose a graph
based approach in which we use modular structure found in
previous states of the network as a guide to adaptively identify
modules in the next state. Adaptively updating modules in
dynamic networks not only avoids recomputing them from
scratch for each time point but also produces consistent mod
ular structures with minimum changes in the routing tables.
The key in our approach to reduce the running time and
computational cost is a compact network representation with
significantly smaller size such that the modular structure of
compact networks is as same as that of the original networks.
The structure information is embedded in this compact rep
resentation to allow detection of modules at next time point.
Several experiments with real data sets show that our approach
performs extremely well, especially in term of the running
time. The updating process only need the information about
the changing part of the network that can be accumulated
whenever mobility occurs. In other words, our approach can be
implemented in a distributed manner which we will investigate
in further work.
The rest of the paper is organized as follows. Section
II presents the preliminaries and the problem definition. In
section III, we discuss the construction of compact network
representation together with detailed analytical results. Section
IV analyzes how network structure affected when elemental
changes such as adding, removing new nodes, links happen
and presents an adaptively updating algorithm. Section V
shows the experimental evaluation. Finally, the conclusion and
future work are discussed in Section VI.
II. PRELIMINARIES AND DEFINITIONS
In our network devices/nodes are carried by people and
relationships among people are reflected via communications
links between nodes. We model the network using a weighted
and undirected graph G = (V, E). Each vertex v E V
represents a mobile node (or a person who carries the device)
in the network. Each edge (u, v) E E is associated with a
weight w(u, v) that measures how often two nodes u, v in the
each others' communication ranges.
As people form communities, nodes in the network can
be partitioned into modules. A modular structure C
{C, C2,..., C0} is a division of network into disjoint sets
of nodes C,. To quantify the strength of C, we use the most
widely accepted quantitative measurement [15] modularity Q
which is defined as follows:
4t 1
k) (
i=~\ il
vol2 (C)
4m2 /
where X, Y is the total weights of links whose one end
belongs to X and the other belongs to Y; vol(C,) is the total
weight of links that have at least one endpoint in C,; m is the
total weights of links in the network. The modularity measure
the difference between the fraction of links that fall within
modules and the expected fraction of links that fall within
modules in a random network with same nodes' degrees. The
modularity can be applied for both unweighted and weighted
networks which is a plus comparing to other approaches. Due
to the modularity definition, if we scale all the edge weights
by a same factor, the modular structure of the network and
corresponding modularity value will not be affected. This is
because the weights of edges (u, v) at a given point can be
simply set to the sum of all durations that two nodes u, v
encounter instead of theirs frequency of meeting.
Assume that the state of the network is given by Go
(V, E) at the beginning time to and it changes into Gi
(Vi, Ei) at time ti. We say the network evolves from Gi 1
to G' during the [ti1,ti] interval. Denote AV' the set of
added or removed nodes when the network evolves evolves
from Gi 1 to Gi i.e. the symmetric difference Vi V 1.
Similarly, we denote AEi E Q Ei 1 the set of added
or removed links when the network evolves from Gi 1 to
Gi. Given the network Gi1 (V1, E1) at time ti1
and the changes (AVi, AEi) in the network between ti1
and ti, one can easily deduce Gi(Vi, Ei) from the formulas
Vi Vi1 AVyi and Ei Ei1 AE.
Given a network and its sequences of changes over time:
GO (V0, E), (AV1, AE1),...,(AEi, AEi),...,our con
tribution is to devise an online algorithm to efficiently detect
the modules in the network at every time point without
recomputing them from scratch, i.e. adaptively update modules
over time. Our algorithm consists of two main steps: (1) com
press the network into a compact representation and (2) run
module identification algorithm on the compact representation
to update the modular structure. We next present our compact
representation method.
III. COMPACT REPRESENTATION OF A NETWORK
Given a network G = (V, E) and its modular structure
C = {Ci, C2,...., C} where each disjoint subset of nodes
C, is called a module. Our goal is to construct a new network
G' = (V', E') with equivalent structure to G but contains a
significantly smaller number of nodes and links. Each node
\\ B
,,141
I
21 2
8
(a) Original network (b) Compact representation of the
network
Fig. 2. Compact representation of a network
xi e V' corresponds to each module C, E G. We add an edge
(xi, zj) into E' for every two adjacent modules C, Cj i.e.
there is at least one edge (u, v) E E such that u E C,, v E Cj.
The weight of (x xj) is set to the sum of weights of all
edges crossing C, Cj. Moreover, for each module C,, we
add a selfloop (xi, xi) into E' with an weight equals to
the sum of all edges with both ends belong to C,. Note
that under this construction, each node x is a module in
G', i.e. the corresponding modular structure of G' will be
C' {CW ,C,...,C'k} where C = {xi}. Figure 2 gives
an example of compact representation of a network with 3
modules.
The algorithm to construct the compact representation is
presented in the Algorithm 1. The notation mb(u) in the line
11 gives the index of the module that contains u as a member.
Note that we will use this compact representation to adaptively
update the modular structure. Thus the compact representation
must preserve the modular structure of the original network G
which we prove next.
Algorithm 1 Compact representation of a network
1: Input: G (V,E) andC {C1, C2, ,Ckc}.
2: Output: Compact representation G' (V', E').
3: Initialize G' = (V', E') (, ), =
4: for each module Ci in C do
5: V' x
6: C' {x, C' C'
7: E (xi,Xi),w(xi ) = ICi,C'i
8: end for
9: Vi,j : w(xi,xj) 0
10: for all (u,v) C E do
11: i mb(u), j mb(v)
12: w(xi, Xj) w(xi, xj)+ w(u, v)
13: end for
14: return G' = (V', E')
A. Structure Preservation
Lemma 1: The compact representation G'
G = (V, E) preserves the modularity, i.e Q(C')
Proof: From the definition (1), we have:
9(C') zC(o C
^^ 1m' 1
M/'
(V', E') of
SQ(C).
vol2 (C)
4m2 )
By the construction of G', we have :
vol(0j')
w(XiXi)=\\d1, d\\
2 h IC + E 1',Cj
2h1c, (C + C ,C ll
Svol(Ci)
m' 1 vol(C)
i
W(Ua V)
2Evol(C)
(4)
m (5)
From (2), (3), (4), and (5), it follows that Q(C') = (C) 0
Theorem 1: If modular structure C maximizes the modular
ity in G (V, E), then C' {C0, C, .. ., C } obtained in the
construction of compact representation G' (V', E') using
Algorithm 1 will be the modular structure with maximum
modularity in G'.
Proof: Let C* {C,C*,...,C0} be the modular
structure with maximum modularity in G'. We will prove that
Q(C*) = (C'). Since each node in G' corresponds to a
module in G, each Cj e C* can be decomposed into a union
of modules in C'. There exists a partition I {II, 12,..., It}
of {1,2,..., k} such that C] = Uis, cC0, Vj ..t.
Construct a modular structure C" {C', C',. .., 0C} of
G (V, E) corresponding to C* of G' by assigning C'~
Uij 0C,, Vj 1= ...t. Using similar proof showed in Lemma
1, we can easily obtain that Q(C") = (C*).
Since Q(C') Q(C) > Q(C") (Lemma 1) and Q(C")
Q(C*) > Q(C'). We have Q(C') = (C*). U
B. Size of the Compact Representation
Now, we show that the size of the compact representation
G' is significantly smaller than that of the original network G.
Note that we can measure not only the strength of the modular
structure with modularity but also the strength of each module
in the network. The modularity of a module C is defined as
(C) C,CI vol2(c)
mn 4m2 *
Lemma 2: If there is a module with negative modularity in
a modular structure of a network G (V, E), we can construct
a new modular structure with higher modularity in which all
modules have nonnegative modularity.
Proof: Assume that there exists a module C in the
modular structure C {CO,C2,...,Ck} with Q(C)
m 4M < 0. For each module C e C, denote A(C)
the set of modules adjacent to the module C.
We prove that there is an module C, adjacent to C so that
merging C and C, will result in a new modular structure with
higher modularity.
We prove by contradiction. Assume that merging C with
any of its adjacent modules will not increase the modularity.
We calculate the change in modularity if we move a group of
nodes S from its module C, D S to a new module Cb (Ca n
Cb ) :
AQ s C, (l Sb ICa\S, S1)
2 vol(S) (vol(Cb) vol(C\S))
Following (6) we have for all Ci AE(C):
AQCC,c 1 C', C 1vol(C')vol(C) < 0
Take the sum over all C' E N, we obtain:
S i
D( U( (C', )
c'teA
1
= (vol(C)
m
S 2m vol(C)vol(C) < 0
vol(C)vol( U (C') < 0
C CAr
1
IC, Cl) vol(C)vol(V\C)< 0
2m2
= 2Q(C) > 0
Thus we obtain a contradiction.
Hence, for any module in the modular structure with nega
tive modularity, we can merge it with one of its neighbors
to have a new modular structure with higher modularity.
Repeat the merging until there are no modules with negative
modularity or there is only one module left in the modular
structure noting that after merging, the number of modules
decrease by one and we have at most IV modules at the
beginning. In the first case, all modules will have nonnegative
modularity. In the second case, it is easy to check that the
modularity of a modular structure with one module is zero.
This yields the lemma. m
Theorem 2: The size of a compact representation con
structed by the Algorithm 1 is at most half of that in the
original network.
Proof: Remove all isolated nodes from the network as
they have no contribution to the modularity. We prove that
each module in the network should contain at least two nodes.
Assume that there exists a module C, that contains only
a single node. Because IIC,C, 0 and vol(C,) > 0
the modularity Q(C,) = IIc vol( 1 < 0 which is
contradicted to the Lemma 2.
Since, the number of nodes in the compact representation
equals the number of modules in the original network. This
yields the proof. U
In some social networks [16][18], the distribution of the
module size s follows the powerlaw form P(s) = c.s for
some constant a w 2 at least for a wide range of s. If the
network has n nodes then the average number of modules k
will be
S
Fig. 4. Removing intermodules links usually results in more separated
modules. However, in this case removing yellow intermodules links make
modules merged.
When a = 2 the denominator in the Equation 7 can be
n
approximated by In n and the sum I c.ss in the numerator
s2
is bounded by a constant. Hence, the average size of the
compact representation is upperbounded by O( ) which
guarantee a speed up factor of at least O(logn) for our
adaptive algorithm presented in next section.
IV. ADAPTIVELY UPDATE EVOLVING MODULES
We first discuss about how changing in network topology
caused by nodes' mobility affects the modular structure of the
network. Assume that we have a network G (V, E) and
its modular structure C {C1, C2,..., C}. The connection
inside a module is denser than connection between modules.
We use the terms intramodule links to refer to links with both
ends belong to a module and intermodules links to refer to
ones crossing some modules. Intuitively adding intramodule
links or removing intermodules links will make modules
"stronger" and the modular structure more "clear'. Vice versa,
removing intramodule links or adding intermodules links will
make the existing module structure less clear.
In fact, removing intermodules links may cause merging
of modules as shown in Figure 4. When two modules have
less sIIII. tIII," caused by other modules, they become more
attractive to each other and can be combined as one. Other
0 S
9
* 0
S '...
..
'o
Fig. 5. Adding intramodule links usually strengthen the module. However,
in this case adding 6 white links into the light blue module make it split into
two.
n
n x I:c.s o
c.s .s
s= 1
n
nx Sa
s2
1
s2
where s is the average module size of the network.
possible striking fact is that splitting of the module when
adding intralinks. Figure 5 show an example in that adding
(7) 6 more white links make the module split into two smaller
ones. From the quantitative aspect, one can verify that adding
an intramodule link will not always increase the modularity
of the module. Assume that we have a module C, that cannot
r
D, ,, D,' C
C D6
/ t . _
(a) Original modular structure (b) Compact representation after (c) New modular structure
new nodes join in
Fig. 3. Illustration for Algorithm 2: (a) The original modular structure consists of 3 modules (b) The compact representation of the network after adding
new nodes a, b and connecting a to x, y, z, t and b to t. Then, x, y, z, t are moved out of their modules. (c) The new modular structure derived from the
modular structure of the compact representation
be divided further in order to increase the modularity. Among
all possible bisections of C,, consider {X, Y = C\X} that
X, Y are the most loosely connected e.g. X, Y are obtained
through the sparsest cut in the subgraph induced by C,. In the
case of new links crossing X and Y, they will enhance the
local structure of C,. Otherwise, adding new links that both
ends belong to X or Y will make the connection inside either
subcomponent X or Y stronger but weaken the structure of C,
thus leading to the splitting of X and Y. Similar observations
can be seen for adding and removing vertices.
The behavior of splitting modules makes it extremely chal
lenging to adaptively update evolving modules, especially on
the compact representation where each module is represented
by only one node. The main difficulty is that the compact
representation itself cannot reflect all the phenomena in the
original network. For example, we cannot represent splitting
of modules or moving of nodes into other modules using
the compact representation. To overcome this limitation, we
exclude nodes that are suspected to change their memberships
from their modules and assign them to new singleton modules
so that they can freely join other modules in the compact
representation.
A. Algorithm
The algorithm for Modules Identification in Evolving Net
works (MIEN) is presented in Algorithm 2. The presented
algorithm is a general approach such that it allows the use
of any existing algorithm A on modules identification. The
selection of algorithm A is a trade off between running time
and quality of detected modular structure. For example, if we
use extremal optimization methods in the place of A, the
obtained modular structure will be nearly optimal, however,
the running time will be hardly tolerable. Towards routing
purpose, we sacrifice a little in the quality to guarantee a
fast response and lowcomputing solution. We select A as the
wellknown CNM algorithm [17] which is capable of detecting
modular structure of the network in O(nlog2 n) where n is
the network size.
The sketch of the algorithm is as follows. After identifying
the initial modular structure of Go = (V, EO) with algorithm
A, our algorithm involves in three main steps at each state
t of the network: (1) Combine changes in the network at
time t into the previous compact representation to produce a
temporary compact representation; (2) Apply algorithm A on
that temporary representation to obtain its modular structure;
(3) Interpret the obtained modular structure of the compact
representation to get the actual modular structure of the
network.
We update the compact representation according to the
given change (AVt, AEt) as in lines 8 to 19. We need to
handle four type of changes: removing of nodes (Vt 1nAVt),
adding new nodes (AVt\Vt 1), removing links (Et nAEt)
and adding new links (AEt\Et 1). Let S denote the set of
nodes that are likely changing their modules. S consists of
newly removed or added nodes or the ones incident to recently
added or removed links. We move all nodes in S out of theirs
module, assign each of them to a new singleton module in
the compact representation, and update the weights of links
incident to those new nodes as shown in lines 12 to 15.
After the changes in links and nodes are fully incorporated
into the compact representation, we run the algorithm A again
on the modified compact representation G' (V', E') to
obtain the module structure of G'.
Finally, we use the obtained modular structure in G'
(V', E') to get the modular structure in Gt (Vt, Et). Since
a node in the compact representation G' represents a module
in the network, a module in G' can be seen as an union of
modules in the original network. For example, if a module in
G' consists of two nodes x and xj, then the corresponding
module in G will be the union of Ct1 \ S and Ct' \ S
where S is the set of newly added/removed nodes or incident
to changed links defined at line 7. In the case xi xj represent
single nodes in G, we simply merge those nodes into a module.
Figure 3 shows an example of updating the compact
representation when changes occur. At the beginning, the
static algorithm A detects 3 modules in the network as
shown in Figure 3(a). In Figure 3(b) the compact repre
sentation changes accordingly when the network has two
new nodes a, b, marked with white circles, and new links
(a, x); (a, y); (a, z); (a, t); (b, t). For links with unit weights
we ignore the links' labels for simplicity. Note that x, y, z, t
are moved out of their original modules as they are incident to
new links so that they can join other modules. Running A on
the compact representation gives us a new 4 modules as shown
in Figure 3(b). In Figure 3(c), we run algorithm A directly on
the new network instance (recomputing modules from scratch)
and obtain 4 modules which are exactly the same with the one
obtained on the compact representation.
B. Complexity
The Algorithm 2 includes two parts: maintaining the com
pact representation and running the algorithm A on the com
pact representation. Since constructing the compact represen
tation of the network at time to using Algorithm 1 takes
O(IVo + EOI) and updating the compact representation at
time t also takes linear time in term of the changes in the
network (AVt, AEt), the first part can be done in linear time.
Hence, the first part can be done in linear time
The running time of the second part depends on the selection
of the algorithm A and the size of the compact network
representation. The algorithm A can be chosen as fast as
O(nlog2 n) in the case of CNM. The size of the compact
representation is at most the number of modules in the
original network that is small in comparison to the original
network size. Moreover, updating the compact representation
can introduce at most vol(S) new nodes and links into the
compact representation. Hence, at each time t we only need
to run the algorithm A on a compact network that size is
proportional to the amount of changes AVt + I AEt instead
of running A on the complete network Gt (Vt, Et).
In the worst case, when all nodes are excluded from their
modules, i.e. S Vt, the compact representation will be
exactly the original network and the complexity will equal
that of the algorithm A adding the overhead O(IVtl + IEt)
for updating the compact representation. Hence, if the network
changes too much since the last time point, we should divide
the long evolving duration into smaller ones, but not too small
due to the overhead of updating the compact representation
and running A.
V. EXPERIMENTS
We conducted several experiments to evaluate the per
formance of routing based on dynamic modular structure,
compared to that using a fixed modular structure. In addition,
we show that our algorithm to identify dynamic modules are
much more efficient than recomputing modular structure from
scratch.
A. Performance of Forwarding Strategies Using Dynamic
Modular Structure
We use a synthetic scenario to measure the performance of
different forwarding strategies. In our scenario, we assume
that 47 students in a class A and 90 students in a class
B carry mobile devices and form a MANET for sending
messages. Students in the same class meet each other more
often than that from different classes. Specifically, a student
Algorithm 2 MIEN Modules Identification in Evolving
Networks
1: Input: GO (Vo, Eo), (AV1, AEl), ..., (AV, AE')
2: Output: Modular structure C1, C2,..., C,
3: Find the modular structure Co {C1, C2, ..., ,Co} of
Go = (Vo, Eo) using the selected algorithm A.
4: G' (V',E')  Compact representation of (G,C)
using Algorithm 1.
5: for t 1 to s do
6: Let Ct 1 be the modular structure of the network at time
t 1 and C' be the modular structure of the compact
representation G' (V', E')
7: Let S (AVt U {ul 3(u, v) E AEt}) n Vt
8: for all C, Ct 1 do
9: C, = \ S
10: Update weight w(xi, xi) in G'
11: end for
12: for all u E S do
13: Create a new module C'() { b()} in G
14: Compute weights of links from Xmb(u) to its neigh
bors in G'
15: end for
16: for all (u, ve) E AEt do
+w(U, v) (, v) E AEt\Et1
17:" _w(u,) (u,v) Etl\AEt
18: i  mb(u), j  mb(v)
19: w(xi, Xj) = w(xi, Xj) + A,,
20: end for
21: Run A on  A(G') = {C', C' ... ,C'}
22: Get modular structure Ct {Ct, C, ..., Cft} from f.
23: G' (V', E')  Compact representation of (Gt, Ct)
24: end for
250
200
0 150
100
Q loo
Nodes
Fig. 6. Distribution of nodes' degrees
meet another student in the same class with probability 0.8
and a student in the other class with probability 0.2. After
the first half of the experiment duration, the students in
class B are split into two smaller classes due to its large
size. New classes called C and D have 44 and 46 students
respectively. To replicate the properties of social networks, we
generate meeting between students following the preferential
attachment principle [19]. The distribution of node degrees is
shown in Figure 6 where the degree of a node equals to the
times that it meets other nodes in the network. We evaluate
WAIT
DLABEL
LABEL
MCP
FLOODING algorithm achieve the maximum possible delivery
ratio.
WAIT
LABEL
Z DLABEL
MCP
_/
1 11 21 31 41 51 61 71 81
Time To Live
Fig. 7. Message Delivery Ratio
the following four forwarding algorithms:
WAIT: The source node waits until it meets the destina
tion and sends the message.
FLOODING: A node keeps forwarding the message to
every node it meets until the maximum number of hops
reached.
LABEL: A node forwards the message to nodes in the
same module with the destination [7]
DLABEL: The version of the label algorithm utilizing
dynamic modular structure identified by our algorithm.
Our algorithm correctly identifies modular structure of
the network before and after the splitting of students in
the class B.
For each algorithm, we measure:
Delivery Ratio: The proportion of messages that have
been delivered successfully over the total number of
created messages.
AverageDeliveryTime: Average time needed for a mes
sage to be delivered. Undelivered messages will not be
considered.
Redundancy: The average number of duplicated messages
for each originally created message.
Although WAIT and FLOODING are naive forwarding strate
gies, they provide lower bound and upper bound for delivery
ratio, deliverytime and message redundancy as we will discuss
in next paragraphs.
We generate 1000 messages sending requests uniformly
distributed throughout the experiment duration. To avoid the
circulating of duplicate messages in the network, we control
forwarding algorithms by three main parameters: hoplimit,
timetolive, and maxcopies. A message in the network cannot
travel more than hoplimit hops or exist in the network longer
than timetolive, otherwise it will be discarded. A node can
not forward more than maxcopies of a same message to
other nodes. Through experiments we set both hoplimit and
maxcopies to 5 since it is the smallest value to make the
Fig. 8. Average Delivery Time
350
0
300
Z 250
200
z
50
0 
50 
LABEL
DLABEL
MCP
Time To Live
Fig. 9. Average Number of Duplicate Messages
Figure 7 shows the deliveryratio at different values of time
tolive. The value of timetolive is measured in percentages
of the experiment duration. DLABEL has a better delivery
ratio than that of LABEL and both of them approach the best
deliveryratio of FLOODING when timetolive increases.
DLABEL also gets messages delivered faster than LABEL
as shown in Figure 8. The reason is that the fixed modular
structure used in LABEL can get messages forwarded to
wrong modules if the destinations change their modules within
the experiment duration. Thanks to more accurate modular
structure, the gap between DLABEL and FLOODING is only
half of that in the case of LABEL.
Despite of the worst deliveryratio, the WAIT strategy has
the lowest number of duplicate messages (at most one for
every message created) Since the number of duplicated
messages for WAIT is too small we remove it from the graph
of duplicated messages in the Figure 9. The LABEL and
DLABEL show a better compromise between the delivery ratio
and redundancy of sent messages, compared to the aggressive
forwarder FLOODING. The number duplicate messages gen
erated by DLABEL is slightly larger than LABEL. This is
reasonable with the better deliveryratio and deliverytime of
DLABEL.
Among four algorithms, DLABEL is the best choice as
its deliveryratio, deliverytime are only after those of the
FLOODING while the duplicate message is much more rea
sonable. DLABEL also shows the improvement in perfor
mance over the LABEL strategy which uses a fixed modu
lar structure proving the efficiency of our dynamic modular
structure algorithm.
B. Performance of Dynamic Modular Structure Identification
Algorithm
Again, note that modular structure identification is the fun
damental step for socialaware routing algorithms [7] [8] [9]
[10]. Improving the identification algorithms to allow online
updating modules will enhance routing quality while decrease
the computational overhead for node to handle. We will show
in the experiments (1) the quality of detected modular structure
and (2) the running time of our approach in comparison with
computing modular structure from scratch.
II II15
(a) Partition Quality
(b) Speed up factor
Dec96 Jul97 May98 Mar99 Jan00 Nov00 Sep01 Jul02 Jan03
Date
(a) Size of the Network and its Compact Representation
SCNM Algornthm
OurApproach MIEN
0 58
Dec96
Jul97 May98 Mar99 Jan00 Nov00 Sep01 Jul02 Jan03
Date
(b) Modularity at each time point
Fig. 10. Comparing partition quality and running time of CNM and our
improved algorithm
We test the performance of our approach with CNM algo
rithm [17] which is one of fastest modular structure identi
fication algorithm. Such a fast algorithm is more suitable for
routing purpose as other more exact algorithms usually require
extensive computing power. We show that our approach is
faster in ,igMiliik.i magnitude in the case of identifying
modules in dynamic networks.
To illustrate the power of our approach, we choose two
social networks namely ENRON email network [20] and the
citation network of arXiv eprint provided in the KDD Cup
2003 [21]. Both networks exhibit modular structure property
due to high values of modularity (Figure 10(a)) notes that
networks with modularity higher than 0.3 are considered to
have modular structure [15].) Time information are extracted
in different ways for each network. In the email network, a
link between the sender and the receiver is timed to the point
the email sent. Based on timing information, we construct two
snapshots of the email network at two time points; the later is
one week after the former. Two snapshots have approximately
103 links. Two snapshots of the arXiv networks are also
constructed in a same way. Each snapshot includes around
3 x 104 nodes and 3 x 105 links.
SCNM Algorithm
OurApproach MIEN
Dec96 Jul97 May98 Mar99 Jan00 Nov00 Sep01 Jul02 Jan03
Date
(c) Running Time
Fig. 11. Modules Identification of the ArXiv Network Through Time. Module
structure of the network is identified every month between Jan 1997 and
Jan 2003 using CNM and MIEN algorithms. The quantitative measurement
modularity and running time is measured at every time point.
For each data set, modules in the first snapshot of the
network are identified using CNM algorithm [17]. Then we
run our approach on the second snapshot using the information
about the modules identified by CNM. To demonstrate the
effectiveness of our approach, we compare it with the results
obtained by running CNM directly on the second snapshot.
We observe that the modules identified by our approach
in the second snapshots show high similarity in the structure
with the results of running CNM directly, meanwhile the
computation cost is significantly reduced as the size of com
pact representation is much smaller than that of the original
network.
We show the quality of the detected modular structure and
the speedup achieved by our approach in Figure 10. The
difference in modularity is small, which suggests that our
approach results are consistent with the results of the selected
algorithm CNM, while with much smaller time cost.
We further perform an intensive experiment on the Arxiv
network. We identify modules in the network every month in
the duration between Jan 1997 and Jan 2003. The number of
nodes and links in the network are shown in Figure 11(a).
The size of the network increases linearly and the number
of links steps up slightly faster. The compact representation
shows its advantages with substantial reduction in size. The
modularity and running time at each time point are presented
in Figures 11(b) and 11(c). The running time of the CNM
algorithm increases almost linearly in terms of the size of
the network that confirms to the known average O(nlog2 n)
complexity of CNM. Because of running on the small size
compact representation, the MIEN algorithm is dramatically
faster as shown in Figure 11(c).
The graph for the modularity (Figure 11(b)) is a rough line
that shows the ,igmlik.iiii changes in memberships at each
time point. The CNM produces inconsistent modular structure
between consecutive time points. Only small changes in the
network can result in large changes in assigning nodes to
modules. In the other hand, the MIEN algorithm results in
a smoother graph showing the stability of module detection
algorithm. Moreover, predicting the trend of module structure
in the network is also easier with MIEN algorithm than with
using CNM algorithm for many separate times.
VI. CONCLUSION
In this paper, we have proposed a general approach for
adaptively updating modules in dynamic networks which is
the key in socialaware routing strategies. We show that using
modules information of the network at a given time can
help 'predicting' effectively the modules of network later.
Our algorithm is especially designed for very large and
rapidly changing networks. The approach shows enormous
improvement in term of running time compared to running
one of the fastest module identification method CNM and
promises tremendous application as it can be integrated to
many different modules identification algorithms. Still the
approach needs to be further explored to develop a distributed
solution which can be deployed in real MANETs.
[2] L. Qin and T. Kunz. Survey on mobile ad hoc network routing protocols
and crosslayer design. August 2004.
[3] S. Lee, M. Gerla, and C. Toh. A simulation study of tabledriven and on
demand routing protocols for mobile ad hoc networks. IEEE Network,
1999.
[4] Samir R. Das and Charles E. Perkins. Performance comparison of two
ondemand routing protocols for ad hoc networks. pages 312, 2000.
[5] James Scott, Richard Gass, Jon Crowcroft, Pan Hui,
Christophe Diot, and Augustin Chaintreau. CRAWDAD data
set cambridge/haggle (v. 20090529). Downloaded from
http://crawdad.cs.dartmouth.edu/cambridge/haggle, May 2009.
[6] Nathan Eagle and Alex (Sandy) Pentland. CRAWDAD
data set mit/reality (v. 20050701). Downloaded from
http://crawdad.cs.dartmouth.edu/mit/reality, July 2005.
[7] Pan Hui and Jon Crowcroft. How small labels create big improvements.
In PERCOMW '07: Proceedings of the Fifth IEEE International Confer
ence on Pervasive Computing and Communications Workshops, pages
6570, Washington, DC, USA, 2007. IEEE Computer Society.
[8] Elizabeth M. Daly and Mads Haahr. Social network analysis for routing
in disconnected delaytolerant manets. In MobiHoc '07: Proceedings
of the 8th ACM international symposium on Mobile ad hoc networking
and computing, pages 3240, New York, NY, USA, 2007. ACM.
[9] Augustin Chaintreau, Pan Hui, Christophe Diot, Richard Gass, and
James Scott. Impact of human mobility on opportunistic forwarding
algorithms. IEEE Transactions on Mobile Computing, 6(6):606620,
2007. FellowCrowcroft, Jon.
[10] Pan Hui, Jon Crowcroft, and Eiko Yoneki. Bubble rap: socialbased
forwarding in delay tolerant networks. In MobiHoc '08: Proceedings
of the 9th ACM international symposium on Mobile ad hoc networking
and computing, pages 241250, New York, NY, USA, 2008. ACM.
[11] Santo Fortunato and Claudio Castellano. Community structure in graphs,
2007.
[12] J. Hopcroft, O. Khan, B. Kulis, and B. Selman. Tracking evolving
communities in large linked networks. Proceedings of the National
Academy of Sciences of the United States of America, 101(Suppl
1):52495253, 2004.
[13] G. Palla, A. Barabasi, and T. Vicsek. Quantifying social group evolution.
Nature, 446(7136):664667, April 2007.
[14] P Pollner, G. Palla, and T. Vicsek. Preferential attachment of communi
ties: the same principle, but a higher level. Europhysics Letters, 73:478,
2006.
[15] M. E. J. Newman and M. Girvan. Finding and evaluating community
structure in networks. Physical Review E (Statistical, Nonlinear and
Soft Matter Physics), .**' ' 2004.
[16] M. E. J. Newman. Fast algorithm for detecting community structure in
networks, September 2003.
[17] Aaron Clauset, M. E. J. Newman, and Cristopher Moore. Finding
community structure in very large networks. Phys. Rev. E, 70(6):066111,
Dec 2004.
[18] A. Arenas, L. Danon, A. DiazGuilera, P. M. Gleiser, and R. Guimera.
Community analysis in social networks, 2003.
[19] AlbertLaszlo Barabasi and Reka Albert. Emergence of scaling in
random networks. Science, 286(5439):509512, October 1999.
[20] J. Sun, S. Papadimitriou, P. S. Yu, and C. Faloutsos. Graphscope:
Parameterfree mining of large timeevolving graphs. KDD, August
2007.
[21] Arxiv citation datasets. KDD Cup 2003, in Conjunction with
the Ninth Annual ACM SIGKDD Il. .i, . I.. I .11 1.11,. i /
kddcup/datasets.html, 2003.
REFERENCES
[1] S. Sesay, Z. Yang, and J. He. A survey on mobile ad hoc wireless
network. Information Technology Journal, 3(2), 2004.
