IETF MANET Working Group                               C.-K. Toh

INTERNET DRAFT              School of Electrical & Computer Engg

                                 Georgia Institute of Technology

                                                      March 1999


"Long-lived Ad Hoc Routing based on the Concept of Associativity"



Status of this Memo

This document is an Internet-Draft and is NOT offered in accordance
with Section 10 of RFC2026, and will only exist as an Internet-Draft.
Please see "patent information" provided in Section 11 of this draft.

Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups.  Note that
other groups may also distribute working documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time.  It is inappropriate to use Internet- Drafts as reference
material or to cite them other than as "work in progress."

The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt

The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.

Abstract

This  document  describes  the   associativity-based   long-lived
routing (ABR) protocol for ad hoc mobile networks. It is a simple
and bandwidth-efficient distributed routing protocols which  does
not attempt to consistently maintain routing information in every
node. In an ad hoc wireless network where mobile hosts are acting
as  routers  and  where  routes  are  made inconsistent by mobile
hosts' movement, we propose an Associativity-based routing scheme
where  a  route  is  selected based on nodes having associativity
states that imply periods of spatial,  temporal,  connection  and
signal  stability. In this manner, the routes selected are likely
to  be  long-lived  and  hence  there  is  no  need  to   restart
frequently,   resulting  in  higher  attainable  throughput.  Our
proposed protocol is based on source-initiated on-demand routing.
Route  requests  are  broadcast  on a per-need basis. To discover
shorten the route discovery time when the association property is
violated,  the  localized-  query  and quick-abort mechanisms are
respectively incorporated  into  the  protocol.  The  association
property  also  allows  the  integration of ad hoc routing into a
base station oriented wireless  LAN  environment,  providing  the
fault  tolerance  in  times  of base station failures. This draft
will describe the protocol functions and information about packet
headers and routing tables.

-----------------------------------------------------------------

Table of Contents

-----------------------------------------------------------------

Abstract

1. Introduction

2. Property of Associativity

3. ABR Terminology

4. ABR Protocol Overview

5. Packet Formats
   5.1 BQ Control Packet
   5.2 REPLY Control Packet
   5.3 RN Control Packet
   5.4 LQ Control Packet
   5.5 RD Control Packet
   5.6 Data Packet Format

6. ABR Routing Metrics & Tables
   6.1 New Routing Metrics
   6.2 ABR Routing Table
   6.3 ABR Neighboring Table
   6.4 Control Packet Seen Table

7. ABR Protocol Description
   7.1 Route Discovery Phase
   7.2 Route Reconstruction Phase
   7.3 Route Deletion Phase

8. Acknowledgements & Retransmission
   8.1 Data Flow Acknowledgement
   8.2 Packet Retransmission

9. Other Issues
   9.1 Battery Life
   9.2 Asymmetric Wireless Link
   9.3 Route Caching
   9.4 Multicasting

10. References

-----------------------------------------------------------------

1. Introduction


The Associativity-Based  Long-lived  Routing  (ABR)  protocol  is
designed  for ad hoc wireless networks where mobile computers act
as routers and packet forwarders in a wireless  environment  with
no  base  stations. ABR protocol allows networks to be formed and
deformed quickly, without users'  intervention  and  without  the
need  for  fixed  network  infrastructures.  Unlike some existing
link-state and distance vector-based  approaches,  ABR  does  not
attempt  to  consistently  maintain  routing information in every
node. ABR is a source-initiated on-demand routing protocol and it
is  based on the concept of longevity of a route. A route is said
to be long lived if it remains valid over time and that the nodes
in the route does not constantly migrate outside the connectivity
range of its immediate upstream and downstream neighbors  in  the
route.  Longevity of a route is indicated by associativity and it
defines the spatial, temporal, connection and signal stability of
mobile hosts.

ABR is a compromise between broadcast and point-to-point  routing
and  it  uses the connection-oriented packet forwarding approach.
ABR only  maintains  routes  for  sources  that  actually  desire
routes.   Routing   decisions   are  performed at the destination
mobile host (MH) and only the best route will be selected  (based
on QoS  requirements) and  used while all other  possible  routes
remain  passive,  therefore  avoiding   packet   duplicates.  The
following sections shall  explain  the  concept  of associativity
and the principles behind ABR protocol.



2. Property of Associativity.

The rule of Associativity states that a MH's association with its
neighbor changes as it is migrating and its transiting period can
be identified by the associativity 'ticks'. The migration is such
that  after  this  unstable  period,  there  exists  a  period of
stability, where the MH will spend some dormant time  (this  does
not  imply  that  the  MH  is  not moving) within a wireless cell
before it starts to move outside the connectivity  range  of  its
neighbors.  Associativity ticks are updated by the MH's data-link
layer protocol. A MH periodically broadcasts beacons  identifying
itself   and   constantly  updates  its  associativity  ticks  in
accordance with other MHs sighted in its neighborhood.  A  MH  is
said  to  exhibit  a  high  state  of  mobility  when  it has low
associativity  ticks  with  its   neighbours.   However, if  high
associativity  ticks  are observed, the MH is in the stable state
and this is the ideal point to select the MH  to  perform  ad-hoc
routing.  Consequently,  if  all  the  MHs  in  a route have high
associativity ticks, an inter-dependent phenomenon  arises  where
'my'  degree   of  associativity  ticks  will  be  high  if 'you'
do  not  move  out  of  reachability and are in stable state. The
associativity threshold used to distinguish association stability
and instability is a function of the  beaconing  interval, mobile
host's  migration  speed  and  the  size  of  the  wireless cell.
Associativity ticks are reset when the neighbors or the MH itself
moves  out  of  proximity,  not when the communication session is
completed and the route made invalid. ABR associativity ticks are
not reset immediately if a node fails to receive a beacon from  a
neighboring node. If the beacon is not received after  'N'  times
the beaconing interval, then a decision is made that the property
of  association  stability  is  violated.  The choice of this 'N'
value is therefore critical. A smaller N may improve  sensitivity
but may result in a false alarm while a bigger N may lengthen the
response time to link failures/changes.


3. ABR Terminology

We will use some words which has some specific meaning in context
of ABR.

ABR     Associativity Based long-lived Routing using the
        principle of associativity.

MH      Mobile host.

SRC     Mobile host which desires a route.

DEST    Mobile host to which information sent by SRC will be
        received.

IN      Intermediate nodes between  SRC and DEST.

BQ      Broadcast query packet used by SRC when it requires a
        new route.

REPLY   This message is sent by the DEST node in response to a BQ.

SEQ No. It is used to uniquely to identify each BQ packet,
        so that no BQ packet will be broadcast more than once.

LQ      Localized Query control packet which is used during
        route reconstruction.

RRC     Route Reconstruction Phase.

RN      Route Notification control packet.

RD      Route Deletion control packet.


4. ABR Protocol Overview

The ABR protocol consists of three phases, which include ways how
new  routes  should  be  created whenever old routes are changed.
These  phases  are:  (a)  Route  Discovery   Phase,   (b)   Route
Reconstruction   (RRC)  Phase,  and  (c)  Route  Deletion  Phase.
Initially, when a SRC node desires a route, the  route  discovery
phase is invoked. When a link of an established route changes due
to movement of any node, the  RRC  phase  is  invoked.  When  the
source  no  longer desires the route, the route deletion phase is
initiated. The route discovery phase  consists  of  a  `broadcast
query  (BQ)'  and an `await reply' (REPLY) cycle. When a SRC node
requires a route, it will send a BQ control packet and will  wait
for  a  REPLY  from the DEST node. The DEST node selects the best
route among all possible routes discovered and replys back to the
SRC  node.  The RRC phase uses a localized query (LQ) approach to
discover partial  routes  and  route  notification  (RN)  control
packets  to  erase unwanted routes. The Route Deletion phase will
be used when a SRC node  no  longer  requires  a  route,  and  it
consists  of  a  route delete (RD) broadcast from the SRC node so
that all the intermediate nodes will  then  remove  the  specific
path entry from their routing tables.


5. Packets Formats

5.1 BQ Control Packet

This packet is used during the route discovery phase and is  sent
by  the  SRC node. It is not a fixed length packet and its length
varies as it transits from one mobile node to another towards the
DEST. The various fields contained in this packet are:


+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TYPE | SRC ID | DEST ID | LIVE | INa ID| Route qualities |...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 INb ID| Route qualities | INn  ID | route qualities | SEQ NO|..
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                   /                \
   +-+-+-+                        /                  \
...| CRC |                       /                    \
   +-+-+-+                      /                      \
                               /                        \
                              /                          \
                             /                            \
                            /                              \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Neighbor's address: Corresponding associativity Ticks, Route|
|                     Relaying Load, Forwarding Delay.        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


The following explains the purpose of the individual fields:

TYPE    --- This indicates which control packet is sent.

SRC-ID  --- This indicates the source node IP address.

DEST-ID --- This indicates the destination where the packet
            should be received.

LIVE    --- Each IN will keep on increasing this hop-count
            value, so it reveals how many hops are between
            the SRC and DEST nodes.

INx     --- Intermediate nodes IP addresses.

SEQ NO  --- Sequence number. A numerical number used to prevent
            duplication of BQ packets.

CRC     --- Cyclic Redundancy Check.


5.2  REPLY Control Packet

This packet is used during the route discovery phase and is  sent
by  the DEST node in response to the BQ control packet. It is not
a fixed length packet and its size depends on the number of nodes
in the route selected.

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|TYPE|  SRC ID | DEST ID | INa ID | INb ID | ......| INn ID |....
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    .... | summary of route  qualities | CRC |
         +-+-+-+-+-+-+-+-+-+-++--+-+-+-+-+-+-+
         /                             \
        /                               \
       /                                 \
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |Aggregate degree of| route length | Aggregate Route  |.......
 |    Stability      |              |  Relaying Load   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

         +-+-+-+-+-+-+-+-+-+-+-+-+-+
    .....| Cumulative Forwarding   |
         | Delay                   |
         +-+-+-+-+-+-+-+-+-+-+-+-+-+


5.3 RN Control Packet

This route notification (RN) packet is invoked during  the  route
reconstruction phase and is sent by an immediate neighboring node
that has detected a link failure due to a node moving  away.  Its
packet length is fixed and it has the following format:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  TYPE | ORG ID | SRC ID | DEST ID | SEQ NO | STEP | DIR | CRC |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The meaning of each field is explained below:

ORG ID  ---  This refers to the pivoting node ID, and will be
             explained later.

STEP    ---  This 1-bit flag could take two values:

             STEP=0 implies that `backtracking' process is
             performed one hop at a time, towards the SRC.

             STEP=1 implies that the RN packet will be
             propagated straight back to the SRC node.

DIR     ---  This one-bit flag is used to indicate in which
             direction the RN control packet is propagating
             (i.e., towards the SRC or DEST).


5.4 LQ Control Packet

This Localized Query (LQ) packet is  initiated  by  the  upstream
neighbor of the node which has moved away and has invalidated the
discovered and selected route.  This  packet  is  therefore  used
during the route reconstruction phase. The main purpose of the LQ
process is to quickly locate  alternate  partial  routes  without
resorting  to a full route reconstruction by the SRC node. Hence,
the LQ process localizes mobility to regions close to the  origin
of  mobility.  Note  that  the new partial route is also selected
based on associativity, so that this route is likely to be  long-
lived. The LQ control packet has a format shown below:

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TYPE  | SRC ID | DEST ID | LIVE | INa ID |route qualities |...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

+-+-+-+-+-+-+-+-+-+-+-+-+
 INb ID |route qualities|........
+-+-+-+-+-+-+-+-+-+-+-+-+

            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       .....| INn ID| route qualities | SEQ NO  | CRC |
            +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                    /                 \
                   /                   \
                  /                     \
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  | Neighbor's address:   Corresponding associativity Ticks, Route|
  | Relaying Load, Forwarding  Delay                              |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


5.5 RD Control Packet

ABR employs both  soft  and  hard  state  for  deleting  unwanted
routes.  The  hard  state  approach  involves sending an explicit
Route  Delete  (RD)  control  packet  via  broadcast.   Localized
broadcast  cannot  be used here since the route length can change
over time and the SRC node may not necessarily be aware about the
new route length after one or more RRCs. The soft state approach,
however, monitors traffic activity and if no traffic  related  to
an  active route is obseverd over a threshold level, the route is
automatically expired and is deleted from the  route  entry.  The
format for RD control packet is illustrated below:

        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        | TYPE | SRC ID | DEST ID | LIVE | SEQ NO | CRC |
        +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Note that meaning of each field is  similar  to  those  explained
earlier.


5.6 Data Packet Format

Since a long packet header results  in  low  channel  utilization
efficiency,  in  ABR,  each  data  packet  will  only contain the
neighboring node routing information, not all nodes in the route.
Each  IN  will  renew  the next-hop  information contained in the
header before propagating the packet upstream or downstream.  The
purpose  of  the  individual  fields  of  the  packet  header  is
summarised below:

    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |  SRC  ID | DEST ID | SEQ NO | Service Type| LAST IN |....
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       ..... | CURRENT IN  | CRC | Data  |
             +-+-+-+-+-+-+-+-+-+-+-+-+-+-+


SRC ID        ---   Used to support packet forwarding.

DEST ID       ---   Used for route identification.

SEQ No.       ---   Packet duplicates prevention and uniqueness.

Service Type  ---   Allow specification of packet priority.

LAST IN       ---   Passive packet acknowledgement.

NEXT IN       ---   Packet duplicates prevention and routing.

CURRENT IN    ---   Acknowledgement and routing.


6.  ABR Routing Metrics & Tables

6.1 New Routing Metrics

Conventional routing qualities are  characterized  by:  (a)  fast
adaptability to link changes, (b) minimum-hop path to destination
(c) end-to-end  delay  (d)  loop  avoidance  (e)  link  capacity.
However,  fast adaptability to changes in network topology is not
necessarily a plus.  It  often  results  in  an  excessive  radio
bandwidth  consumption  due  to excessive broadcast. ABR uses the
following new routing metrics:

     a. Longevity of a route,
     b. Relaying load of INs supporting existing routes,
     c. Knowledge of link capacities of the selected route.

The longevity of  a  route  is  important  as  the  merits  of  a
shorter-hop  but  short-lived  route  will  be  denigrated due to
frequent data flow  interruptions  and  the  need  for  RRCs.  In
addition,  fair  relaying load distribution is important in an ad
hoc mobile network since no one particular MH should be  unfairly
burdened to support many ad hoc routes and to perform many packet
relaying functions.  This  also  alleviates  the  possibility  of
network congestion. Finally, since the associativity of a MH with
its neighbors also reflects the number  of  contenders  within  a
wireless  cell,  the  approximate  aggregated  throughput for the
selected route can be made known to  the  mobile  user  prior  to
transmission.  This  therefore  allows the user to either proceed
with or abort the transmission.


6.2 ABR Routing Table

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Dest  Node |   SRC node | Incoming node | Outgoing node | Hop|
  |Address    |   Address  | Address       |   Address     |    |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Na       |   Nx       |   Nz          |   Nj          | 4  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-|
  |  Nk       |   Ny       |   Ni          |   No          | 3  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Total no. of active routes supported (Relay Load)       | 2  |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The routing table of a node supporting existing routes  is  shown
in  the table above. The table reveals that every node supporting
on-going routes will  map  incoming  packets  from  a  particular
upstream  node  to  the  corresponding out-going downstream node.
Every node will also keep track of its distance  (hop  count)  to
the  DEST  and  a record of the total routes that it is currently
supporting.


6.3 ABR Neighboring Table

The neighboring table is usually updated by the data  link  layer
protocol, which will generate, receive and interpret beacons from
the neighboring MHs or BSs and pass this information  up  to  the
higher  protocol  layers.  Nomadic collaborative applications can
then utilize the neighboring table information  to  update  their
participants'  present  and  absent  lists.  The  structure  of a
neighboring table is shown below.

  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |Neighbors  | Associativity Ticks |Forwarding Delay (ms)|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Na      |        5            |         40          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   Nb      |        15           |         25          |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


6.4. Control Packet 'Seen' Table

While the BQ query process is activated via  a  radio  broadcast,
the  LQ query process is  invoked via a local broadcast. To avoid
MHs from processing and relaying the same BQ,  RD  or  LQ  packet
twice,  BQ,  RD  and LQ 'seen' tables are needed. If the received
control packet type, route identifier and sequence  number  match
an  entry  in  the seen table list, then the packet is discarded.
The contents of these seen tables will be erased after a  certain
time-out  period.  This  time-out  period  must be long enough to
allow a MH's neighbors to forward the control  packet (BQ, RD  or
LQ)  to their corresponding neighbors. On the other hand, because
the REPLY and RN control packets  utilize  'directed'  broadcast,
`seen' tables for these packets are not necessary.


7. ABR Protocol Description

The ABR protocol consists of three phases,

   a. Route Discovery Phase,
   b. Route Reconstruction (RRC) Phase,
   c. Route Deletion Phase.

Initially,  when  a  source  node  desires  a  route,  the  route
discovery  phase  is  invoked.  When  a link of established route
changes due to SRC, DEST, INs or subnet-bridging MH's  migration,
the  RRC  phase is invoked. When the source no longer desires the
route, the route deletion phase is initiated.


7.1 Route Discovery Phase

The route discovery phase allows an  approximation  of  the  data
throughput  associated  with  the  selected route to be computed.
This is achieved through the knowledge of associativity ticks  of
neighbors  in  the  route  and  the  relaying  load  of  nodes of
supporting the route. The route discovery  phase  consists  of  a
this is elaborated below.

Initially, all nodes except those of the DEST's neighbor have  no
routes to the DEST. A node desiring a route to the DEST broadcast
a BQ message, which is propagated throughout the ad-  hoc  mobile
network in search of MHs which have a route to the DEST. Once the
BQ query has been broadcast by the SRC, all INs that receive  the
query  will  check  if it has previously processed the packet. If
affirmative, the query packet will be  discarded,  otherwise  the
node  will check if it is the DEST. If it is not the DEST, the IN
appends its MH address/identifier at the  IN  Ids  field  of  the
query  packet and broadcasts it to its neighbors (if it has any).
The associativity ticks with its neighbor will also be  appended,
along with the route relaying load and forwarding delay. The next
succeeding IN will then  erase  its  upstream  node's  neighbors'
associativity  ticks entries and retain only those concerned with
itself and its upstream node. In this manner,  the  query  packet
reaching the DEST will only contain the intermediate MH's address
and their associativity ticks. So after some time DEST will  know
all  the  possible routes and their qualities. It can then select
the best route and send a REPLY packet back to the SRC,  via  the
selected  route.  This  causes the INs in the route to mark their
routes to DEST as valid and this means all other possible  routes
will  be  inactive  and  will  not relay packets destined for the
DEST.When  the  REPLY  packet  reaches  the  SRC,  the  route  is
established.

7.1.1 ABR Route Selection Rules & QoS

ABR route selection is performed at the DEST node.  After  a  SRC
node  generates  the  BQ,  the DEST node will at a later point in
time  receives  information  about  all  possible routes. It then
selects the best route and informs the nodes in the route and the
SRC about this selected route. Nodes in the route  will therefore
have  their  route  entry 'set to be active' by the REPLY packet.
Given a set of possible routes from the SRC to the DEST node,  if
a   route   consists  of  MHs  having  high  associativity  ticks
(therefore indicating high connection stability), then that route
will  be  chosen  by  the DEST, despite other shorter-hop routes.
However, if the overall degrees of association stability  of  two
or more routes are the same, then the route with the minimum hops
will be chosen. If multiple  routes  have  the  same  minimum-hop
count,  then the route with the least cumulative forwarding delay
is selected. In ABR, there exists flexibility in terms  of  route
selection  based  on  which  QoS  parameter  is viewed to be more
important than others. High association stability is chosen to be
the  most  important  factor  to  be  considered  first  since it
determines how long the other QoS  paramters  can  be  maintained
before the route is invalidated by MHs' movements.


7.2 Route Reconstruction Phase

In the ABR protocol, the selected route  is  more  likely  to  be
long-lived  due  to  the  property  of  associativity. However,if
unexpected moves by MHs do occur, the RRC procedure will  attempt
to  quickly locate an alternate valid route without resorting  to
broadcast query unless necessary. The RRC phase requires the  use
of  localized  query  (LQ)  and  route  notification (RN) control
packets. The route maintenance phase of the ABR protocol performs
the following operations:

     a.  Partial Route Discovery,
     b.  Invalid Route Erasure,
     c.  Valid Route Update,
     d.  New Route Discovery (Worst case).

The route reconstruction phase will take into  account  movements
by  SRC,  DEST,  INs  and  concurrent  nodes.  It is important to
realize that concurrent node movements do occur  and  ultimately,
there  should only be one RRC that will eventually succeed unless
the network is partitioned.

7.2.1. SRC Node Movements

This will invoke a BQ_REPLY process, in order  to  derive  a  new
route.  ABR  is a source-initiated on-demand routing protocol. So
long  as  SRC  node's  movement  does  not  result   in   loosing
connectivity  with its downstream neighbor, this BQ_REPLY process
can be avoided. If the SRC node  moves  after  the  route  is  no
longer in use or active, then no BQ_REPLY is generated.

7.2.2. DEST Node Movements

When the DEST  moves,  the  DEST's  immediate  upstream  neighbor
(called  a  pivoting  node)  will  erase the route, and then will
perform a LQ[H]  process  to  ascertain  if  the  DEST  is  still
reachable.  'H'  here  refers  to the hop count from the upstream
node to the DEST. If the DEST receives the LQs,  it  will  select
the  best  partial  route  and  send a REPLY back to the pivoting
node, otherwise the LQ_TIMEOUT period will  be  reached  and  the
pivoting  node  will  backtrack to the next upstream node. During
the backtrack, the new pivoting node will erase the route through
that link and perform a LQ[H] process until the new pivoting node
is greater than the half route length away from the DEST or  when
a  new  partial route is found. If no partial route is found, the
pivoting node will send  a  RN[1]  packet  back  to  the  SRC  to
initiate a BQ process.


7.2.3. Intermediate Node (IN) Movements

7.2.3.1 Upper-arm Nodes' Migration

Upper arm  refers  to  the  case  when  the  INs  and  DEST  node
contribute to half of the route length from SRC to DEST. When any
such IN moves, its immediate upstream node (i.e.  pivoting  node)
removes  its  outgoing  node  entry  and its immediate downstream
neighbor propagates a RN[1]  packets  toward  the  DEST,  thereby
deleting  all  the  subsequent  downstream nodes' invalid routing
entries. A new partial route to the DEST needs to be  found.  The
pivoting  node to locate alternate partial routes invokes a LQ[H]
process. The DEST will then select the best  route  and  it  will
send  a  REPLY to the pivoting node, and all INs between DEST and
pivoting node will update their routing tables.

7.2.3.2 Lower-arm Nodes' Migration

Lower arm refers to the case when the SRC and INs  contribute  to
half  the route length from SRC to DEST. If any of INs move, then
a RN[1] packet will be propagated downstream  towards  the  DEST,
and  the  pivoting node will perform a LQ[H] and waits the DEST's
REPLY. If no REPLY is received a RN[0]  packet  is  sent  to  the
upstream  node  and  the new pivoting node then invokes the LQ[H]
process again, but with a different value of H.The cycle proceeds
until the new pivoting node is the SRC (where the BQ process will
be iniated to discover a new route) or a  partial  route  to  the
DEST is found. 'H' here refers to the on under localized query.


7.2.3.3 Concurrent Nodes' Movements

Race  conditions  exist  due  to  multiple  invocations  of   RRC
processes  as  a  result of concurrent movements by SRC, DEST and
INs. The following explains  why  the  ABR  routing  protocol  is
immune  to 'multiple-RRC' conflicts and how only one RRC is valid
ultimately.

a. DEST-Moves RRC interrupted by Upstream INs' Moves

When the DEST moves and the while the RRC  is  in  progress,  any
upstream   INs  moves  will  cause  their  respective  downstream
neighbors' route to be deleted. The new pivoting node nearest  to
the  SRC  will perform the RRC and all other RRCs will be passive
when they hear the newer LQ broadcast for the same  route.  Hence
only one RRC is valid.

b. Upper-Arm IN RRC interrupted by Lower ARM INs Moves

This is the same as the above-mentioned case. The  same  argument
can  be  applied  to the case when a LQ process has to be aborted
and a RN [1] packet has to be sent to the SRC to invoke a BQ  but
is  hindered due to some upstream Ins movements. The new pivoting
node nearest to the SRC will swamp the  earlier  RRC  process  by
invoking a new LQ.

c. Lower-Arm IN RRC interrupted by Upper Arm INs Moves

While a lower arm IN RRC is taking place, any  movements  by  any
upper arm INs will not result in a LQ [H] or RN [1] process being
initiated since the lower arm IN has earlier sent RN  [1]  packet
downstream to erase invalid routes. If the RN [1] packet does not
succeed in propagating towards  the  DEST,  the  LQ  [H]  process
initiated  by  the  Lower  arm IN will also serve to delete these
invalid routes.

d. Lower/Upper-Arm IN RRC interrupted by DEST's Moves

This has no effect on the RRC, as  the  LQ  [H]  process  uses  a
localized  query  approach  to  locate the DEST. Once the DEST is
associatively stable and is reachable from the pivoting node, the
RRC process will be successful.

e. Lower/Upper-Arm IN RRC interrupted by SRC's Moves

While the lower or upper arm IN RRC is in progress, any moves  by
the  SRC  will  result in a BQ, which will swamp out all on going
LQ_REPLY_RN processes related to that  route.  Hence,  unfruitful
and  stale  RRCs  will  not  continue  and  a new route has to be
discovered via the BQ process.

f. SRC and DEST nodes moving away from INs

When this occurs, RRCs as a result of DEST and SRC moves will  be
initiated.  However,  the  BQ  process  initiated by the SRC will
again swamp out all unnecessary on-going RRCs.

g. DEST migrating into SRC's radio coverage range

When the DEST migrates, RRC is achieved via the LQ  [H]  process.
However, when the DEST is within the SRC's radio coverage, packet
duplicates result at the DEST since the DEST now receives packets
from  the  SRC  directly  and  also from the original SRC to DEST
route. Hence to avoid packet duplicates and  non-optimal  routes,
the  SRC,  on discovering that the DEST is within range and is in
stable state, will send a  RN  [1]  packet  downstream  to  erase
existing  route and will re-establish a new single hop route with
the DEST.


7.2.4 Subnet-Bridging MH Movements

The migration of a subnet-bridging MH beyond the  radio  coverage
of  its  neighboring  MHs  will  cause  the  mobile  subnet to be
partitioned.  If  an  existing  route  doesn't  span  across  the
fragmented subnets, the route is not affected and only the subnet
bridging MH's upstream and downstream neighbors  need  to  update
their  route  and  associativity  entries.  All  other MHs remain
ignorant and don't perform  any  route  updates.  However,  if  a
existing   routes   span   across  subnets,  then  the  route  is
invalidated as the DEST is no longer  reachable, despite  any  LQ
or  BQ  attempts.  Under such circumstances, the LQ_RN cycle will
eventually inform the SRC about partitioning and the SRC can then
invoke BQ query.


7.2.5 Route Erasure and Updates

In ABR, no  attempt  is  made  to  retain  alternate  routes,  as
maintaining them causes overhead. Only one route will be selected
and only one route is valid for a particular route  request.  The
avoidance   of  using  alternate  route  information  means  that
problems associated with looping due to INs having  stale  routes
are  absent  and  there  is  no  need  for  periodic network-wide
broadcast and route updates. To erase the  invalid  routes  RN[1]
and RN[0] packets are used, as explained in previous sections.


7.3 Route Deletion Phase

When a discovered route is no longer desired, a route delete (RD)
broadcast  would  be  initiated  by  the SRC so that all INs will
update their routing table entries. A  full  broadcast  is   used
compared  to  directed  broadcast.  This  is so because the nodes
supporting a route  will  change  during  route  reconstructions,
hence using directed broadcast would be unsuitable unless the SRC
is always informed about changes to a route path.


8. Acknowledgements and Retransmission

8.1 Date Flow Acknowledgement

In ABR, a passive acknowledgement scheme is employed for  packets
in  transition.  When  a  node  receives  a  packet  and performs
relaying via a radio transmission to its neighbors, its  previous
neighbor  that  has  sent  it  the  packet  will  have  heard the
transmission  and  hence  this   is   indirectly   used   as   an
acknowledgement  to  the  packet  sent. On the other hand, active
acknowledgements will only be sent by the DEST as  it  no  longer
has a neighbor to relay the packet to. Hence this provides a data
flow acknowledgement mechanism for packet forwarding in an ad-hoc
mobile network.

8.2 Packet Retransmission

While the  data  flow  acknowledgement  scheme  allows  forwarded
packets  to  be  acknowledged,  there  are  situations  where the
acknowledgements never reach the intended receiver. This can be a
result  of radio interference which causes a sudden loss of radio
connectivity. Hence, if a MH has forwarded a packet  and  doesn't
receive  an  acknowledgement  within  a certain time interval, it
retransmits the packet for x times, after which  the  neighboring
MH  will  be considered as 'out-of-reach' and RRC procedures will
be invoked. If,  however,  the  radio  link  returns  before  the
retransmission  counter  expires,  the  packet forwarding process
continues.


9. Other Issues

9.1 Battery Life

There  are  many other issues that are not covered by this draft.
Issues  related  to  the effects of beaconing on battery life is
worth investigating and reporting. The author however recognizes
the  existence  of  power  management  schemes  in most notebook
computers today. It would be desirable to see what proportion of
a notebook power is consumed by  transmit,  receive, and   sleep
mode plus that by beaconing and the display and I/O devices.

9.2 Asymmetric Wireless Link

In the wireless world, it is common that two mobile transceivers
may not be able to communicate with one another in  full  duplex
mode due to the presence of asymmetric  wireless links. ABR  has
yet to be improved to overcome this limitation.

9.3 Caching

In the original ABR publication [1996], caching was not employed
in  order  to avoid maintaining the validity of the cache entry.
However, if the degree of mobility is such that routes would not
be invalidated that frequently, caching  may  appear attractive.

9.4 Multicasting

ABR  has  so  far  addressed  only unicast ad hoc routing with a
strong  emphasis  on  long-lived  routing. However, multicasting
support is important since most collaborative applications today
involves multiple parties.


10. References

[1] C.-K. Toh. A Novel Distributed Routing  Protocol  to  Support
    Ad-Hoc Mobile Computing.  Proceedings of  IEEE  International
    Phoenix Conference on Computers and Communications, March'96.
    (This is the first ABR publication.)

[2] C.-K. Toh. Wireless ATM and Ad Hoc Networks. Kluwer  Academic
    Press. December 1996.

[3] C.-K. Toh. Associativity-Based Routing for For Ad Hoc  Mobile
    Networks. Wireless Personal Communications  Journal,  Special
    Issue on Mobile Networking & Computing Systems, Vol. 4, No.2,
    March 1997.

[4] Elizabeth Royer & C.-K. Toh.  A  Review  of  Current  Routing
    Protocols for Ad Hoc Mobile Networks, IEEE Personal
    Communications Magazine, April 1999.


11. Patent Information

The invention cited in this draft is protected by a US patent
and permissions are required before any implementation of this
invention is allowed. Such persons must also provide contact
information to the author of this draft. Inclusively, any derivative
or extensions to this work will require permissions from the author.
Circulation of this draft is, however, unlimited.


Author's Address

    Questions about this document can be directed to the author
    at:

    C.-K. Toh
    Mobile Multimedia & HiSpeed Networking Laboratory
    School of Electrical and Computer Engineering
    Georgia Institute of Technology
    Atlanta, Georgia GA 30332, USA
    Tel: 404-894-7468 Fax: 404-894-7883
    cktoh@ece.gatech.edu