the flooding algorithm redundancy, to tolerate
clustering inaccuracies. If conventional criteria were
used, the clustering algorithm would create highly
unstable clusters, which would include passing-by
moving nodes, and would route query packets based
on this error prone information.
4 SEARCHING ALGORITHMS
The searching algorithms were developed as an
evolution of the basic source routing flooding
algorithm (SR). In SR the lookup operation is started
with a query message originated by a source node,
which carries a unique identification (Q
id
), the
source node address (n
source
), a resource
identification pattern to locate (R
id
), and the path (P).
This message is successively resent by each node, as
long as it has not been received before and the hop
limit is not reached. Each sender appends its
identification to P. Nodes maintain a local table
indexed by source node id, with last query' ids
received. A hit message is sent to the source node
when any local information satisfies the query. Hits
are routed to the query's node source using the path
included in the query message.
This paper proposes 1.5-hop and 2.5-hop
algorithms that enhance SR flooding phase, reducing
its overhead, and the hit message routing, improving
its resilience to node movement and failure. SR is
modified in three ways:
(a) The number of active nodes is reduced using
the clustering node information. A node can be: a
BGL if it receives a beacon selecting it; a non-BGL
if it selects a BGL but is not selected a BGL; or
isolated if it does not select a BGL. An unstable
node with one or more stable nodes in its
neighborhood selects for BGL the node with the
highest µ value, strictly for flooding purposes. Two
approaches are presented above;
(b) Query message size is reduced by removing
all non-BGLs and isolated nodes' ids before the last
BGL from the path field (P). The partial path is
stored and pruned, each time the message passes on
a BGL. In case of node failure, the node can always
use the BGL list (stored in the query message) to
recover the route to the source node;
(c) When hit messages follow the query reverse
path, unicast is used and their sending is confirmed.
When a link fails, the node looks at its neighbor list,
and neighbor's BGL list, looking for any node on the
reverse path. As a last resort, when no information is
available, the node that detects the failure starts a hit
message flooding. The hit message is treated as a
special query packet, looking for a node id within
the remaining query path list, which does not receive
any reply. Hit flooding stops when the message
reaches a node whose neighbor's (or the node itself)
are part of the remaining path. Therefore, contrary to
SR, the proposed algorithm is able to survive to
extreme mobility, and is able to route hit messages
over failed or moving nodes.
A. 1.5-hop searching algorithm
BGL and isolated nodes always broadcast
queries one time (though isolated delay message
transmission). A non-BGL delays the query sending
for a fixed delay plus a jitter interval, and lists the
visited BGL on a local variable. While the timer is
active, the node continues to receive replicas of the
query message resent by neighbors. It just extracts
the query path list (P), and updates the visited BGL
list with the node's address and the nodes's BGL
address. When the timer goes off, the node checks to
see if all its neighbors' BGLs and his own BGL are
already listed. If they are not, then it resends the
message to cover the missing BGLs. Otherwise, it
drops the message.
Since BGLs do not delay the message and
isolated nodes do, search path goes preferentially
over BGL nodes. For cluster-tree borders defined by
non-BGLs, the timer's jitter limits the number of
retransmissions that occur on dense networks. The
faster non-BGL on an area transmits the query to the
destination BGL (or non-BGL for BGLs separated
by two non-BGLs), which retransmits it. The BGL is
added to the visited BGL list of other non-BGLs on
the same area suspending their transmissions.
The algorithm improves SBA (Peng, 00) and
ABC-QS (Choi, 02): It reduces the searching delay
while crossing a connected set of stable nodes
because BGLs never delay a query message; it
reduces the message size (the number of BGL is
lower than the number of nodes); it bases search
paths preferentially over stable nodes, less likely to
disappear; and it degrades more gracefully in the
presence of transmission errors. It handles
transmission errors similarly to SBA and ABC-QS:
nodes keep sending a query message as long as a
BGL does not appear on the path. Therefore, it only
fails to reduce the load if none of the neighbor
members of a BGL cluster retransmit the query
message. This behavior improves the algorithm
effectiveness for high network loads (due to the
higher collision rate) and for high mobility
conditions.
The algorithm does not guarantee total coverage
on unstable networks, because it does not take into
account unstable nodes in the neighborhood that did
not yet transmit a beacon.
B. 2.5-hop searching algorithm
SEARCHING FOR RESOURCES IN MANETS - A cluster based flooding approach
107