A reliable on-demand routing protocol for mobile ad hoc networks with mobility prediction

A reliable on-demand routing protocol for mobile ad hoc networks with mobility prediction

Computer Communications 29 (2005) 123–135 www.elsevier.com/locate/comcom A reliable on-demand routing protocol for mobile ad hoc networks with mobili...

249KB Sizes 1 Downloads 75 Views

Computer Communications 29 (2005) 123–135 www.elsevier.com/locate/comcom

A reliable on-demand routing protocol for mobile ad hoc networks with mobility prediction Nen-Chung Wang*, Shou-Wen Chang Department of Computer Science and Information Engineering, Chaoyang University of Technology, Taichung 413, Taiwan, ROC Received 13 August 2004; revised 23 April 2005; accepted 9 May 2005 Available online 2 June 2005

Abstract A mobile ad hoc network (MANET) is a dynamically reconfigurable wireless network with no fixed infrastructures. In this paper, we propose a reliable on-demand routing protocol (RORP) with mobility prediction. In this scheme, we determine the duration of time between two connected mobile nodes by using the global positioning system (GPS), and discover a request region between the source node and the destination node for routing discovery. During routing discovery, we can find many routes from the source node to the destination node. Then we select the routing path that requires the longest duration of time for transmission to increase routing reliability. We also propose a GPSaided partial reconstruction process that selects a backup path for maintenance. When a link on a routing path will break, the route maintenance process is initiated. We use the information from two disconnected mobile nodes to plan a local request region and execute a local route discovery to find a backup path. Simulation results show that the proposed scheme outperforms FORP [27]. q 2005 Elsevier B.V. All rights reserved. Keywords: Global positioning system; Mobile ad hoc networks; Mobility prediction; Reliable routing; On-demand routing

1. Introduction A mobile ad hoc network (MANET) is a dynamically reconfigurable wireless network with no fixed infrastructures. This property ensures that MANETs are used in applications such as disaster recovery, law enforcement, or fast deployment of military units in unpopulated areas. There are three main issues in the design and operation of MANETs. First, MANETs are more unstable than wire networks because of the lack of a centralized entity. Therefore, it requires a more complicated algorithm to perform the functions of centralized entities. Second, mobility will cause network topology to change, which results in a great change in connection between two hosts. Finally, the connectivity between network nodes is not guaranteed, so intermittent connectivity is common. * Corresponding author. Tel.: C886 423 323 000; fax: C886 423 742 375. E-mail address: [email protected] (N.-C. Wang).

0140-3664/$ - see front matter q 2005 Elsevier B.V. All rights reserved. doi:10.1016/j.comcom.2005.05.003

In recent years, many routing protocols have been proposed for MANETs. We first review key routing protocols in MANETs in three broad categories: proactive routing protocols, reactive routing protocols, and locationbased routing protocols. In proactive routing protocols [7,16,17,19,20], each node must maintain path information from each node to the destination node and update its routing table entries periodically. The advantage of proactive protocols is that when a route is needed, it is always available. They are also called table driven protocols because routes are available as part of a well-maintained table. Although the optimal path can be found whenever a source node issues a request to communicate with another node, the proactive protocol has a lot of overhead when stale route entries are uploaded. There are many proactive routing protocols, such as destination sequenced distance vector (DSDV) [20], wireless routing protocol (WRP) [16], clusterhead gateway switch routing (CGSR) [17], fisheye state routing (FSR) [19], and optimized link state routing (OLSR) [7]. In reactive routing protocols [2,6,8,18,21,26], mobile nodes maintain path information for destinations only when they need to contact the source node or relay packets. The

124

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

source node will issue a search packet and transmit the packet using the flooding technique to look for the destination node. This flooding technique will consume a large amount of time because of many redundant retransmissions. As a result, the reactive protocol spends more time establishing a routing path than the proactive protocol in MANET. Although the shortest communication path can be constructed, a very large amount of search packets exist to find a routing path. There are also many reactive routing protocols, such as ad hoc on-demand distance vector (AODV) [21], dynamic source routing (DSR) [8], temporally order routing algorithm (TORA) [18], associativity-based routing (ABR) [26], signal stability-based adaptive (SSA) [6], and relative distance microdiscovery ad hoc routing (RDMAR) [2]. In location-based protocols [3,12,14,15], some routing protocols have been proposed which uses GPS. It is assumed that a mobile node knows its current physical location, and such location information can be exploited to facilitate routing. These protocols that have been proposed are based on a geographic model. Recent examples of this approach are GPS zone routing protocol (GZRP) [3], location-aided routing (LAR) [12], fully location-aware routing protocol (GRID) [14], and zone-based hierarchical link state (ZHLS) [15]. There have been many efforts given to designing reliable routing protocols [1,5,9,10,11,25]. A reliable path has more reliability than a command path. Because a reliable path can reduce control packets and eliminate delay time, it can increase the utilization of bandwidth in MANETs. There are many protocols that improve upon the original protocol to get more reliable routing paths [9,11]. Other protocols obtain stable paths in IP network [22,24]. In this paper, we propose a reliable on-demand routing protocol (RORP) with mobility prediction. In this scheme, we determine the duration of time between two connected mobile nodes by using the global positioning system (GPS) and discover a request region between the source node and the destination node for route discovery. We select the routing path with the longest duration of time for transmission to increase route reliability. In addition, when a link on a routing path is broken, the routing path will be disconnected. We also propose a GPS-aided partial reconstruction process that selects a backup path for route maintenance. The rest of this paper is organized as follows. Section 2 presents the preliminaries to the system. In Section 3, we propose a reliable on-demand routing protocol with mobility prediction. Section 4 describes the experimental results. Finally, concluding remarks are made in Section 5.

Finally, we present the flow oriented routing protocol (FORP) [27]. 2.1. Expected region and request region We will introduce some notations and terminologies that are used in location-aided routing (LAR) [12]. We first need to find an expected region. If the source node S wants to find a path to the destination node D, we assume that node S knows that node D was at location P at time t0. Let t1 be the current time. Because node S knows that the information of node D includes velocity, node S may assume that the expected region is a circular region of radius v (t1Kt0). In general, it is also possible to define v to be the maximum speed or some other measure of the speed distribution. An example of an expected region is shown in Fig. 1. We must determine the request region after we determine the expected region. We use a request region that is rectangular. As shown in Fig. 2, we assume that node S knows the average speed v of node D. Consequently, node S can plan the expected region. We define the request region as a rectangular area that includes the current location of node S. The request region is the rectangle whose corners are S, P, Q, and R. When the source node S wants to search a path to the destination node D, node S sends a route request (RREQ) packet to its neighboring nodes. When a node receives a RREQ packet, it discards the RREQ packet if that node is not within the rectangle specified by the four corners included in the route request. In this case, the source node S wants to send data to the destination node D. Node S sends a RREQ packet to its neighboring nodes. We assume that node I receives a RREQ packet. Because node I is located in the rectangular request region, node I forwards the packet to its neighbors. On the other hand, if node J receives a RREQ packet, node J discards the packet because node J is not located in the request region. 2.2. Duration of time In this section, we introduce the mobility prediction method. This method uses the location information provided

2. Preliminaries In this section, we first introduce the expected region and the request region. Then we describe the duration of time.

Fig. 1. An example of an expected region.

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

E ( xd , y d + r )

P( x s , y d + r )

125

Q( x d + r , y d + r )

r

F ( xd + r , y d )

D( xd , yd )

Expected region Request region

I ( xi , yi )

J (x j, y j ) S ( xs , ys )

R( x d + r , y s ) Fig. 2. The request region.

by GPS. We assume a free space propagation model [23] in which the signal strength solely depends on the distance to the transmitter. We also assume that all nodes have their clocks synchronized by using the GPS clock. If we know the motion parameters of two nodes, we can calculate the duration of time these two nodes remained connected. These parameters include speed, direction, and radio range and can be obtained from GPS. We assume that two nodes A and B are within the same transition range r of each other. We let (x1, y1) be the coordinate of mobile node A and (x2, y2) be the coordinate of mobile node B. We let v1 and v2 be the mobility speeds and q1 and q2 (0%q1, q2!2p) be the moving directions. Therefore, we can obtain the duration of time Dt by using the following equation [23]: pffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi Kðab C cdÞ C ða2 C c2 Þr 2 K ðad K bcÞ2 Dt Z (1) a2 C c2 Note that aZ v1 cos q1 K v2 cos q2 , bZx 1Kx 2, cZ v1 sin q1 K v2 sin q2 , and dZy1Ky2. In addition, the

C

5

equation cannot be applied when v1Zv2 and q1Zq2, and when Dt is N. In order for the information from the GPS to be utilized, the packets must include extra fields. When a source node sends a RREQ packet, the packet appends its location, direction, and speed. The next hop neighbor of the source node receives the RREQ packet to predict the duration of time between itself and the source node. If node B is the next hop of the packet for node A, node A will insert its location information in the packet so node B will be able to compute the duration of time between node A and node B. 2.3. Flow oriented routing protocol (FORP) FORP [27] is an on-demand routing protocol. It applies GPS to allow all nodes get their own information. By using the information to calculate the duration of time, this protocol can get a stable path to send data packets, resulting in a decrease of overhead packets. An example is shown in Fig. 3. In Fig. 3(a), when the source node A wants to transmit data to the destination

C

6 5

E B

7 F

7 3

A

E

B

F

4

6

D

5

4

link

S

D

(a)

link Flow-SETUP

Flow-REQ (b)

Fig. 3. FORP transmission process: (a) Flow-REQ. (b) Flow-SETUP.

126

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

node F, node A sends flow-REQ to destination node F. Node B receives flow-REQ from node A and calculates the link expiration time (LET) between node A and node B. In this example, the destination node F receives two flow-REQ packets. One packet contains path (A, B, C, E, F) with link expiration times (LETs) which are equal to (4, 5, 6, 7), and the other packet contains path (A, B, D, E, F) with LETsZ(4, 3, 5, 7). Note that the route expiration time (RET) is equal to the minimum of the set of LETs for the route. Thus, node F can get the RET for both routes. The RET of the path (A, B, C, E, F) is 4, and the RET of the path (A, B, D, E, F) is 3. In Fig. 3(b), path (A, B, C, E, F) is more stable since it has a longer RET than the other path. Node F reply a flowSETUP packet from the destination node to the source node. Node A sends data by using the path that sends the flow-SETUP packets. When a path is broken, it sends a flow-handoff message form the destination node to the source node to discover the path via flooding in the same way as the flow-REQ. It can discover another path to replace the broken path. FORP defines the critical time TcZRETKTd. Td as the delay experienced by the latest packet which has arrived along the path. Thus, the protocol applies the information that was obtained by GPS to get a more reliable path.

3. Reliable on-demand routing protocol (RORP) In this section, we propose a reliable on-demand routing protocol (RORP) with mobility prediction. The proposed RORP includes the route discovery process and the route maintenance process. 3.1. Tables for routing In order to make routing efficient, we use three kinds of tables in our routing protocol: the neighboring node table, the current path table, and the maintenance table. The details of these tables are described below. (a) Neighboring node table: A node will record in this table the information of other nodes that are within the transmission range if it can hear the ‘beacon packet’. The format of the table is hnode_ID, the location information of node_IDi. (b) Current path table: This table contains the current path that is used for the transmission of data. The format of the current path table is hseq_number, path_table, lifetimei. Here, the format of the path_table is hnode_IDi, Dti,iC1i. node_IDi is a node number in the MANET and Dti,iC1 is the duration of time between node_IDi and node_IDiC1 in the routing path. (c) Maintenance table: This table contains the location information that is used in our maintenance process. The format of the maintenance table is hSID, DID, the

location information of the last node and the next nodei. We can update the entry by sending a data packet. 3.2. Route discovery Before we introduce the route discovery process, we first describe the required packets in the proposed protocol as follow: (1) HELLO message: We need to find the neighboring nodes before we execute the route discovery process. Thus, we send a HELLO message to neighboring nodes. The purpose of the HELLO messages is to find the links of the neighboring nodes and to create the neighboring node table for each node. Therefore, a node will record in the neighboring node table the information of other nodes that are within the transmission range if it can hear the HELLO messages from its neighboring nodes. (2) Destination information packet: We assumed that the sender has advanced knowledge of the destination location and velocity. In the following, we present two methods to get location information of destination node in advance for implementation. The first one is flooding strategy. In this method, each possible destination node periodically floods a DestInfo(Destination ID, Destination Location) packet in MANET [4]. The second one is location service strategy. In this method, each mobile node periodically updates a small set of other nodes (its location servers) with its current location [13]. These two methods may increase the load at each node in the MANET. In addition, the GPS devices will increase the cost for implementation. Because the required destination information packet is just a small packet, the cost of the packets can be omitted. (3) Route request (RREQ) packet: When a source node needs to communicate with another node for which it has no routing information in its table, it sends a RREQ packet to its neighboring node. We define the format of the RREQ packet as follows: SID

DID

TYPE

SEQ

Location information

Path

LDT

HC

SID: source ID; DID: destination ID; TYPE: the type of packet; SEQ: sequence number; Location information: the information of a mobile node includes location, velocity and direction; Path: the listed ID of the routing path; LDT: the listed duration of time of the routing path; HC: hop counter.

(4) Route reply (RREP) packet: When a destination node can find a suitable path, the destination node reverses a route reply (RREP) packet to the source node. We define the format of the RREP

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

packet as follows: SID

DID

TYPE

Path

LDT

HC

SID: the original destination node becomes the SID; DID: the original source node becomes the DID; TYPE: the type of packet; Path: the listed ID of the routing path; LDT: the listed duration of time of the routing path; HC: hop count.

We describe here how to execute the route discovery process. We first define two parameters: the link duration time (LDT) and the route duration time (RDT). The LDT represents the duration of time between two nodes, which is calculated by using Eq. (1). When a node receives a RREQ packet, it first checks the DID to determine whether the entry is its own ID. If not, the mobile node uses the entry of the location information and its own location information to calculate the duration of time. If we can predict the LDT along each hop on the route, we will be able to predict the RDT. The RDT is equal to the minimum of the set of LDTs for the route. Thus, the RDT is the minimum duration of time along a routing path. If a source node wants to find a path to the destination node, we assume that the source node gets the information of the destination node before the routing process. Each node can know its information by using GPS. Thus, we determine the request region and expected region before we send the search packet. The method is described in Section 2.1. We must use two packets to search for the routing path. One is the RREQ packet and the other is the RREP packet. The proposed protocol is different from other protocols in that the RREQ packet and the RREP packet must append more entries to record the information of the previous node, which includes the coordinate, velocity, and transmission range. Then we can use the information in the packet to calculate the LDT between nodes. When a source node sends information to the destination node, it should first check its routing table to determine if it has a route to the destination node. If a route has been found, it will use the route to send the data packet immediately. Otherwise, a source node will broadcast a RREQ packet. The packet is sent to each node only within the request region. The packet contains a sequence number, source ID, destination ID, the list of node IDs, and the list of LDT appended by the intermediate nodes when the RREQ packet traversed through the network, and the information measured by GPS. Once a node receives a RREQ packet, it will forward the packet to all of its neighbors if its neighboring nodes are in the request region and if the packet contains a higher sequence number than any of the previously received RREQ packets. When an intermediate node receives a RREQ packet, if it has already received a RREQ packet with the same sequence number, it drops the redundant RREQ packet and does not rebroadcast it. The location information of the source node and the destination node is included in the entry of the RREQ packet in order to determine the request region.

127

When a node first receives the RREQ packet, it adds its own ID, the duration of time that was calculated by using its information, and the information in the RREQ packet to the RREQ packet. When a RREQ packet arrives at the destination node, it records all the nodes along the route it has traversed and the duration of time of each link along the route. When the destination node receives a RREQ packet, it determines the RDT by looking in the packet to find the minimum number of LDTs along the path of the RREQ packet. We suppose that there are many routing paths that can be used. Then the destination node selects the path with the maximum RDT to be the main routing path. The destination node sends a RREP packet to the source node along the decided path. We can find a routing path with the longest duration of time to increase routing reliability. Thus, we can use the more stable path to send data packets. The steps of the route discovery process are described below. The detailed route discovery process is shown in Algorithm 1. Step 1: Source node S broadcasts a RREQ packet to its neighboring nodes. After they receive the packet, the neighboring nodes calculate the duration of time and decide whether they are within the request region. If a neighboring node is in the request region, the node forwards the packet to its neighboring nodes and adds its ID and the LDT for the last link of the RREQ packet to the packet entry. Otherwise, the packet will be discarded if the node is not in the request region. Step 2: When the destination node D receives a RREQ packet, it waits for a waiting time to receive other RREQ packets. Node D determines the RDT of the routing path by using the minimum of the set of LDTs along the route. Then node D selects the path with the maximum RDT to be the main routing path. Node D sends a RREP packet to the source node S along the main routing path. Let us consider the example shown in Fig. 4. In Fig. 4(a), the source node A sends a RREQ packet to the destination node I. Nodes B, C, ., and H will forward the RREQ packet and append their own information, such as their own ID and the duration of time, to the RREQ packet. In this example, two RREQ packets arrive at node I. One packet contains path (A, B, C, D, E, I) with duration of time of LDTsZ(8, 7, 6, 8, 9). The other packet contains the path (A, F, G, H, I) with LDTsZ(5, 8, 7, 4). Node I can obtain the RDT evoked from the minimum LDT. In this case, the RDT of the path (A, B, C, D, E, I) is 6 and the RDT of the path (A, F, G, H, I) is 4. Thus, the RDT of the path (A, B, C, D, E, I) is larger than that of the path (A, F, G, H, I). Thus, the path (A, B, C, D, E, I) is more stable than the path (A, F, G, H, I). In Fig. 4(b), we select the path with the longest duration for routing to reverse a RREP packet. The source node A receives a RREP packet, and delivers the data packet along

128

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

(a)

(b)

8

E

9

D

7

8 5

7

B

G

8

8

F

H

7

G

Y

4

C

7

B

Rout Discovery Link

A

I

6

H

C

E

D

4

6

9

8

I

8

F

Y 5

Route Relay Link

A X

X

Fig. 4. Routing process. (a) The route discovery process. (b) The route reply process.

the routing path (A, B, C, D, E, I). Thus, we can get a more reliable routing path. In this case, we can predict that the main routing path will be disconnected after 6 time units. Thus, we can execute route maintenance in advance. Algorithm 1. Route discovery process Suppose n is the number of mobile nodes and N is the set of mobile nodes, NZ{N1,N2,.,Nn}. Assume that node Ni wants to find a path to node Nj, and node Nt receives the RREQ packet, where Ni,Nj,Nt2N, 1%i, j, t%n and isj. if (node Nt is in the request region) { if (node Nt is the destination node Nj) { (1) Node Nt counts down the waiting time to receive a RREQ packet. (2) Node Nt checks the entry of the LDT of the RREQ packet to find the RDT of path. (3) Node Nt selects the path of the maximum RDT as the main path and unicasts a RREP packet to the source node. If two paths have the same RDT, both of them selects the lower HC to reply the packet. (4) Each node receives the RREP packet and writes the entry to the current path table. (5) Node Ni starts to send the data. } else { (1) Node Nt calculates the duration of time and records the node_ID and the LDT to the RREQ packet. (2) Node Nt forwards the RREQ packet to the neighboring nodes. } } else Node Nt drops the RREQ packet.

3.3. Route maintenance Because of the high mobility of nodes, links between nodes are likely to break. Thus, we need to maintain the routing path. Route maintenance is usually classified into full reconstruction and partial reconstruction. In full reconstruction, a node will break the path when it does not receive a RREP packet. In this case, the node sends a route error (RERR) packet to the source node. When the source node receives the packet, it will reconstruct a new path to the destination node. Full reconstruction requires more control overhead to rebuild a routing path. In partial reconstruction, a node will break the path when it does not receive a RREP packet. In this case, the node will find a replacement route, making it unnecessary for it to send anything back to the source node. Because the replacement node is closer to the destination node than to the original source node, routing overhead can be reduced. Therefore, partial reconstruction spends less on overhead than full reconstruction. We propose a GPS-aided partial reconstruction maintenance process that uses GPS to find a backup path. When a main routing path has been found after a discovery packet is sent, our proposed route maintenance process will be executed. Each of the nodes on the main path will construct a maintenance table. The maintenance table records the source ID, destination ID, last node information, next node information, and replacement node ID. When a node sends a message to the destination node, it also sends its own information as measured by GPS to the next node. The node broadcasts the packet to neighboring nodes, so a node can get the information of the last node and the next node. An example is shown in Fig. 5(a). Node A sends information to node B. The information of node A includes the position, velocity, and direction. Then node B sends its information to node C. As shown in Fig 5(b), node A also receives the information from node B. For the same reason, node B can receive the information from node C. Thus, node

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

A

B

C

(a)

A

C

B

(b) Fig. 5. Data transmission process. (a) Node A sends its information to node B. (b) Node B sends its information to node A and node C.

B can get the information of the last node A and the information of the next node C. Thus, each node along the main path can get the information of the last node and the next node. We then use the information to do partial reconstruction. When a node finds that a path will break (the duration of time will expire), the node will find a backup path in advance. We use the information of the next node to determine a local request region. We send a local RREQ packet in the local request region to determine if there is another path that can be used to deliver the data packet. When a source node needs to maintain a routing path, it sends a local RREQ packet to find a replacement node. We define the format of the local RREQ packet as follows: BID

NBID

TYPE

SEQ

Location information

Path

LDT

HC

BID: break node ID; NBID: next node of the break node ID; TYPE: the type of packet; SEQ: sequence number; Location information: the information of a mobile node includes location, velocity and direction; Path: the listed ID of the routing path; LDT: the listed duration of time of the routing path; HC: hop count.

Once a source node receives the RREP packet, we build a maintenance table by sending data packets. If the LDT of a data packet decreases so that it is lower than the predicted time, we check the maintenance table to get the information of BID and NBID. Then we send the local RREQ packet to find the replacement node. The location information of the local RREQ packet records the information of BID and the information of NBID. Thus, we can use the location information of BID and NBID to plan a local request region and to send the local RREQ packet within the local request region. If we find a replacement node in the local request region, we update the current path table of each node by transmitting a data packet. If we cannot find a replacement node in the local request region, we send a RERR packet to the source node and restart the route discovery process. The steps of the route maintenance are described below. The detailed route maintenance process is shown in Algorithm 2.

129

Step 1: If a link is broken, the route maintenance process is initiated to avoid the loss of a message. Each of the nodes will construct a maintenance table. A node can know the information of the last node and the next node by broadcasting packets. When a node knows that the link will break, it uses its own information and the information of the next node to determine a local request region. Step 2: A node sends a local request packet in the local request region. When a node finds a backup path, it sends data along the backup path. If it does not find a replacement node, it sends a RERR packet to the source node and restarts the route discovery process. An example of route maintenance is shown in Fig. 6. The source node A sends a data packet to the destination node E. We assume that the link between node B and node C will break. When node B finds that the link between node B and node C will break, node B uses its own information and the information of the next node C to determine a local request region. Then node B sends a local RREQ packet to discover a backup path. In this example, node B sends a local RREQ packet to discover the routing path. It finds a replacement node D in the local request region. Then node B delivers data along the backup path (B, D, C) to the destination node E. If we cannot find a replacement node in the local request region, we use the last node of the broken path to send the RERR packet the source node. We utilize the RERR packet to restart the route discovery process. Because we use GPSaided partial reconstruction maintenance process to find a backup path, this method costs less control packet than that use a full reconstruction maintenance process. GPSaided partial reconstruction maintenance process can decrease the control overhead and the amount of delay time in the routing process.

E C

D B

A Fig. 6. An example of route maintenance.

130

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

Table 1 Parameters used in the simulations

4. Experimental results

Parameter

Values

Examined protocols Simulation area Number of nodes Mobility speed Mobility model Radio transmission range Data packet size Data sending rate

FORP, RORP 600 m!600 m 40–120 15–55 km/h Random waypoint model 100, 150 m 2M 2 kb

Algorithm 2. Route maintenance process Suppose that n is the number of mobile nodes and N is the set of mobile nodes, NZ{N1,N2,.,Nn}. Assume that node Ni wants to send a packet to node Nj, where Ni,Nj,Nt2N, 1%i, j, t%n, isj, and the link between node Ni and node Nj will break. if (the link of node Ni to node Nj will break) { (1) Node Ni saves the current packet. (2) Node Ni broadcasts the local RREQ packet to node Nj, counts down t seconds and waits for the local RREP packet to return. if (the local RREP packet is back in t seconds) { (1) Node Ni uses replacement path along to replace the path that will break. (2) Node Ni continues packet transmission. } else Node Ni sends a RERR packet to the source and restarts the route discovery process. }

(b) 130000

300000 250000 200000

Control overhead (packet)

Control overhead (packet)

(a) 350000

RORP FORP

150000 100000 50000 0 30

We conducted simulation experiments for the two routing protocols FORP and RORP. As shown in Table 1, we first made some assumptions on the parameters of the system architecture in the simulations. The simulation modeled a network in a 600 m!600 m area with 40–120 mobile nodes. The radio transmission range was assumed to be 100 or 150 m. The speed of each mobile node was assumed to be 15–55 km/h. The random waypoint mobility model [8] was employed in our simulations. Each node randomly selects a position and moves toward that location with a speed between the minimum and the maximum speed. Once it arrives at that position, it stays for a predefined time. After that time, it re-selects a new position and repeats the process. The simulations have been run for 600 s. The simulations evaluated the control overhead, the end-to-end delay, the number of packets dropped, and the packet delivery ratio with different number of mobile nodes and mobility speeds. The control overhead is the cost to build and maintain the routing path. The end-to-end delay is the delay for a packet form the time it was sent by the source till the time it was received at the destination. The number of packets dropped is the total number of packets dropped for routing. The packet delivery ratio is the ratio of the number of data packets received by a destination over the number of data packets delivered by the corresponding source. In the first simulation group, we assumed that the transmission range was 100 m. Fig. 7(a) shows the control overhead with different numbers of mobile nodes. The mobility speed was assumed to be 20 km/h. The control overhead included the RREQ packet overhead, RREP packet overhead, and RERR packet overhead. In general, the control overhead of FORP increased faster than that of RORP when the number of nodes increased. In this case, RORP had the lower control overhead than FORP. The

50

70 90 Number of nodes

110

130

110000

RORP FORP

90000

70000 50000 10

20

30 40 50 Mobility speed (km/h)

60

Fig. 7. Performance of control overhead within a 100 m transmission range. (a) Control overhead vs. number of mobile nodes with a mobility speed of 20 km/h. (b) Control overhead vs. mobility speed with 80 mobile nodes.

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

(b) 10000

(a) 350000 RORP FORP

300000

Control overhead (packet)

Control overhead (packet)

131

250000 200000 150000 100000 50000 0 30

50

70 90 Number of nodes

110

RORP FORP 8000

6000

4000 10

130

20

30

40

50

60

Mobility speed (km/h)

Fig. 8. Performance of control overhead within a 150 m transmission range. (a) Control overhead vs. number of mobile nodes with a mobility speed of 20 km/h. (b) Control overhead vs. mobility speed with 80 mobile nodes.

reason is that we used a request region to limit the transmission of packets. Fig. 7(b) shows the control overhead with different mobility speeds. We assumed that the number of mobile nodes was 80. The mobility speed varied from 15 to 55 km/h. When the speed of the mobile node increased, the routing path was more unreliable. The reason is that there were more chances for routes to break when the speed of the mobile node was faster. Thus, the number of rebroadcasts increased. Because our protocol can maintain a routing path in advance by using the proposed route maintenance process, the control overhead of RORP protocol was lower than that of FORP. In the second simulation group, the transmission range was assumed to be 150 m. The control overhead with different numbers of mobile nodes and mobility speeds is shown in Fig. 8(a) and (b), respectively. The control overhead of RORP protocol was lower than that of FORP. The reason is the same as that described above. As shown in Fig. 9(a) and (b), we simulated the end-toend delay with different numbers of mobile nodes and

(b) 300

25 20

End-to-end delay (ms)

End-to-end delay (ms)

(a) 30

RORP FORP

15 10 5 0 30

mobility speeds. The radio transmission range was assumed to be 100 m. The end-to-end delay was equal to the time of the routing process minus the time for data transmission. If the number of mobile nodes increased, then the length of the routing path also increased. Thus, the end-to-end delay increased when the number of mobile nodes increased. In Fig. 9(a) and (b), the end-to-end delay of FORP was larger than that of RORP. The reason is that RORP used partial maintenance to maintain the routing path. Therefore, the proposed RORP scheme can decrease the end-to-end delay. Fig. 10(a) and (b) show the end-to-end delay within a 150 m transmission range. Route maintenance was executed more frequently to reconstruct the path when the mobility speed increased. Thus, we needed to spend much end-to-end delay to execute route maintenance. In Fig. 10(a) and (b), the end-to-end delay of RORP is shown to be lower than that of FORP. It can be concluded that the maintenance process of RORP can decrease the end-to-end delay. In addition, as shown in Figs. 9(b) and 10(b), the end-to-end delay of RORP and FORP increased when the transmission range decreased. This is because that the routing path was easier to

50

70 90 Number of nodes

110

130

250 200

RORP FORP

150 100 50 0 10

20

30 40 Mobility speed(km/h)

50

60

Fig. 9. Performance of end-to-end delay within a 100 m transmission range. (a) End-to-end delay vs. number of mobile nodes with a mobility speed of 40 km/h. (b) End-to-end delay vs. mobility speed with 80 mobile nodes.

132

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

(b) 300

25 20

End-to-end delay (ms)

End-to-end delay (ms)

(a) 30

RORP FORP

15 10 5 0 30

50

70 90 Number of nodes

110

250 200 150 100 50 0 10

130

RORP FORP

20

30 40 50 Mobility speed(km/hr)

60

Fig. 10. Performance of end-to-end delay within a 150 m transmission range. (a) End-to-end delay vs. number of mobile nodes with a mobility speed of 20 km/h. (b) End-to-end delay vs. mobility speed with 80 mobile nodes.

In Figs. 11(a) and 12(a), with different numbers of mobile nodes, the number of packets dropped within a 100 m transmission range is larger than that within a 150 m transmission range. The reason is that it is more difficult to find a path from the source node to the destination node. In addition, a broken path can easily result in a smaller transmission range. In Figs. 11(b) and 12(b), with different mobility speeds, the number of packets dropped within a 100 m transmission range is larger than that within a 150 m transmission range. The reason is the same as that given above. Fig. 13(a) shows the packet delivery ratio with different numbers of mobile nodes. We assumed that the mobility speed was 20 km/h and the transmission range was 150 m. When the number of mobile nodes was lower, RORP had a lower packet delivery ratio. The reason is that it was more difficult to find a path from the source node to the destination node. The lower number of mobile nodes easily causes a broken path in a lower number of mobile nodes. The packet delivery ratio of RORP increased when the number of mobile nodes increased. The reason is that when the number of mobile nodes rapidly increased, a route path

(a) 300

(b) 400

Number of packets dropped

Number of packets dropped

break when the transmission range decreased. Furthermore, we used a partial routing maintenance process to maintain the routing path. RORP can obtain a lower routing delay time for routing. Therefore, the simulation results indicate RORP has a significant impact on the selection of a reliable path. Using Figs. 11 and 12, we present a comparison of the number of packets dropped with different numbers of mobile nodes, mobility speeds, and radio transmission ranges. In Figs. 11(a) and 12(a), the mobility speed was assumed to be 40 km/h. In Figs. 11(b) and 12(b), the number of mobile nodes was assumed to be 80. A lower number of packets dropped indicates a more reliable routing scheme. As shown in Fig. 11(a) and (b), the number of packets dropped of RORP is lower than that of FORP. Thus, RORP has a more reliable routing path. This is because RORP has a partial maintenance process that reduces the number of packets dropped. For the simulations on the number of packets dropped, the influence from mobility speeds is much more important than the influence from the number of mobile nodes. Because of the increase in mobility speed, there is more of a chance that the related routes will break.

250 200

RORP FORP

150 100 50 0 30

50

70 90 Number of nodes

110

130

350 300 250

RORP FORP

200 150 100 50 0 10

20

30 40 Mobility speed(km/h)

50

60

Fig. 11. Performance of number of packets dropped within a 100 m transmission range. (a) Number of packets dropped vs. number of mobile nodes with a mobility speed of 40 km/h. (b) Number of packets dropped vs. mobility speed with 80 mobile nodes.

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

(b) 400 Number of packets dropped

Number of packets dropped

(a) 300 250 200

RORP FORP

150 100 50 0 30

133

50

70 90 Number of nodes

110

350 300

RORP FORP

250 200 150 100 50 0 10

130

20

30 40 Mobility speed(km/h)

50

60

Fig. 12. Performance of number of packets dropped within a 150 m transmission range. (a) Number of packets dropped vs. number of mobile nodes with a mobility speed of 40 km/h. (b) Number of packets dropped vs. mobility speed with 80 mobile nodes.

(b) 100

95

RORP FORP

Packet delivery ratio (%)

Packet delivery ratio (%)

(a) 100

90 85 80 75 30

50

70 90 Number of nodes

110

130

RORP FORP

95 90 85 80 75 10

20

30 40 Mobility speed (km/h)

50

60

Fig. 13. Performance of packet delivery ratio within a 150 m transmission range. (a) Packet delivery ratio vs. number of mobile nodes with a mobility speed of 20 km/h. (b) Packet delivery ratio vs. mobility speed with 80 mobile nodes.

protocol. However, with an increase in routing waiting time between 1 and 3 s, the number of packets dropped was lower and more stable. In this situation, the destination node could receive many RREQ packets to select a more stable path. Thus, the routing waiting time can decrease stability. In our simulations, we used 1 s as the routing waiting time.

200 RORP Number of packets dropped

in the request region can be easily found. In addition, the proposed GPS-aided route maintenance process was used to increase the packet delivery ratio. Fig. 13(b) shows the packet delivery ratio with different mobility speeds. We assumed that the number of mobile nodes was 80 and the transmission range was 150 m. When mobile nodes moved at higher mobility speeds, both protocols decreased the packet delivery ratio. The packet delivery ratio of RORP was a little lower than that of FORP. The packet delivery ratio of RORP decreased when the mobility speed increased. The reason is that the routing path was easy to break when the mobility speed increased. Fig. 14 shows the number of packets dropped with different routing waiting times. We assumed that the number of mobile nodes was 80, the mobility speed was 40 km/h, and the transmission range was 150 m. The routing waiting time is the time that the destination node waits for the receipt of the RREQ packet when the first RREQ packet reaches the destination node. We observed that the number of packets dropped was high when the routing waiting time was lower than 1 s. The reason is that when the routing waiting time was low, the destination node could not receive many RREQ packets to get a more stable path in our

150

100

50

0

0

0.5

1

1.5

2

2.5

3

Routing waiting time (sec) Fig. 14. Number of packets dropped vs. routing waiting time with 80 mobile nodes and a mobility speed of 40 km/h.

134

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135

5. Conclusions and future work In this paper, we proposed a reliable on-demand routing protocol (RORP) with mobility prediction in MANETs. We can use GPS to get the information for each node in advance and utilize this information to improve routing efficiency. Reactive routing protocols find a route using the flooding technique, which causes a waste of bandwidth and affects network performance. Thus, we utilize the information obtained by GPS to plan a request region. These packets are sent in the request region. We also calculate the duration of time between two nodes and select the path with the longest duration of time for routing. This can decrease the number of control overhead. We also proposed a GPS-aided partial reconstruction process that selects a backup path for maintenance before a link breaks. Simulation results showed that the proposed scheme outperforms FORP [27]. In the future, we will extend our protocol to solve some QoS issues, such as power and bandwidth, in MANETs. First, the mobile equipments have limited power by batteries, it’s very important to reduce the number of packets transmitted/received/processed at each node. Secondly, we will consider the bandwidth issue for MANETs. The bandwidth reservation is required for supporting real-time and multimedia service. Acknowledgements This work was supported by the National Science Council of Repablic of China under grants NSC-92-2213E-324-025 and NSC-93-2218-E-324-001. References [1] S. Abhyankar, D.P. Agrawal, Distributed mobility-aware route selection for wireless ad hoc networks, Proceedings of the 4th IEEE Computing and Communications Conference April, 2002 pp. 241–247. [2] G. Aggelou, R. Tafazolli, RDMAR: a bandwidth-efficient routing protocol for mobile ad hoc networks, Proceedings of the Second ACM International Workshop on Wireless Mobile Multimedia (WoWMoM), August, 1999 pp. 26–33. [3] A. Boukerche, S. Rogers, GPS query optimization in mobile and wireless networks, Proceedings of the Sixth IEEE Symposium in computers and communications, July, 2001 pp. 198–203. [4] Y.-S. Chen, K.-C. Lai, MESH: multi-eye spiral-hopping routing protocol in a wireless ad hoc network, IEICE Transactions on Communications E84-B (8) (2001) 2237–2248. [5] C.-Y. Chin, E.H.-K Wh, G.-H. Chen, Stability aware cluster routing protocol for mobile ad hoc networks, Proceedings of the 2002 IEEE International Conference on parallel and Distributed Systems, December, 2002 pp.471–479. [6] R. Dube, C.D. Rais, K.Y. Wang, S.K. Tripathi, Signal stability-based adaptive routing (SSA) for ad hoc mobile networks, IEEE Personal Communications 4 (1997) 36–45. [7] P. Jacquet, P. Muhlethaler, T. Clausen, A. Laouiti, A. Qayyum, L. Viennot, Optimized link state routing protocol for ad hoc networks, Proceedings of the 2001 IEEE INMIC, December, 2001 pp. 62–68. [8] D.B. Johnson, D.A. Maltz, Dynamic Source Routing in Ad Hoc Wireless Networks, Kluwer, 1996.

[9] T. Ken, S.J. Lee, G. Mario, A reliable, congestion controlled multicast transport protocol in multimedia multi-hop networks, Proceedings of the 5th International Symposium on Wireless Personal Multimedia Communications, October, 2002, pp. 252–256. [10] D. Kim, C.K. Toh, Y. Choi, Location-aware long-life route selection in wireless ad hoc networks, IEE Electronics Letters, 76(18)(2000) 1584–1586. [11] W.I. Kim, D.H. Kwon, Y.J. Suh, A reliable route selection algorithm using global positioning systems in mobile ad-hoc networks, Proceedings of the 2001 IEEE International Conference on Communications, June, 2001 pp. 3191–3195. [12] Y.B. Ko, N.H. Vaidya, Location-aided routing in mobile ad hoc networks, ACM Wireless Networks 6 (4) (2000) 307– 321. [13] J. Li, J. Jannotti, S.J. Douglas, D. Couto, D.R. Karger, R. Morris, A scalable location service for geographic ad hoc routing, Proceedings of the Sixth Annual International Conference on Mobile Computing and Networking, August, 2000 pp. 120–130. [14] W.-H. Liao, Y.-C. Tseng, J.-P. Sheu, GRID: a fully location-aware routing protocol for mobile ad hoc networks, Telecommunication Systems 18 (1) (2001) 37–60. [15] J.N. Mario, I.T. Lu, A peer-to-peer zone-based two-level link state routing for mobile ad hoc networks, IEEE Journal on Selected Areas in Communications 17 (8) (1999) 1415–1425. [16] S. Murthy, J.J. Garcia-Luna-Aceves, A routing protocol for packet radio networks, Proceedings of ACM First International Conference on Mobile Computing and Networking, Berkeley, CA, USA, November, 1995 pp. 86–95. [17] S. Murthy, J.J. Garcia-Luna-Aceves, An efficient routing protocol for wireless networks, ACM Mobile Networks and Applications, Special Issue on Routing in Mobile Communication Networks 1 (2) (1996) 183–197. [18] V. Park, M.S. Corson, A highly adaptive distributed routing algorithm for mobile wireless networks, Proceedings of the 1997 IEEE INFOCOM, Kobe, Japan, April, 1997 pp. 1405–1413. [19] G. Pei, M. Gerla, T.W. Chen, Fisheye state routing: a routing scheme for ad hoc wireless networks, Proceedings of the 2000 IEEE International Conference on Communications (ICC), New Orleans, LA, June, 2000 pp. 70–74. [20] C.E. Perkins, P. Bhagwat, Highly dynamic destination sequenced distance-vector routing (DSDV) for mobile computers, Proceedings of the ACM Special Interest Group on Data Communication, London, UK, September, 1994 pp. 234–244. [21] C.E. Perkins, E. Royer, Ad-hoc on-demand distance vector routing, Proceedings of the Second IEEE Workshop on Mobile Computing Systems and Applications, New Orleans, LA, USA, February, 1999 pp. 90–100. [22] J. Pu, M. Eric, C. Gholamali, Routing reliability analysis of partially disjoint paths, Proceedings of IEEE Pacific Rim Conference on Communication, Computers and Signal,August, pp. 79–82. [23] T.S. Rappaport, Wireless Communications: Principles and Practice, Prentice-Hall, Upper Saddle River, NJ, 1995. [24] P. Sonal, S. Arun, A. Tyagi, A reliable protocol for processing within IP-routed networks, Proceedings of the Eleventh IEEE International Conference on Computer Communications and Networks, October, 2002 pp. 84–89. [25] W. Su, S.J. Lee, G. Mario, Mobility prediction and routing in ad hoc wireless networks, International Journal of Network Management 11(1)(2001) 3–30. [26] C.K. Toh, A novel distributed routing protocol to support ad-hoc mobile computing, Proceedings of the fifteenth IEEE Annual International Phoenix Conference on Computers and Communications, March, 1996 pp. 480–486. [27] S. William, G. Mario, IPv6 flow handoff in ad hoc wireless networks using mobility prediction, Proceedings of the 1999 IEEE Global Telecommunications Conference (GLOBECOM), December, 1999 pp. 271–275.

N.-C. Wang, S.-W. Chang / Computer Communications 29 (2005) 123–135 Nen-Chung Wang received the B.S. degree in Information and Computer Engineering from Chung Yuan Christian University, Taiwan, in June 1990, and the M.S. and Ph.D. degrees in Computer Science and Information Engineering from National Cheng Kung University, Taiwan, in June 1998 and June 2002, respectively. Since August 2002, he joined the faculty of the Department of Computer Science and Information Engneering, Chaoyang University of Technology, Taiwan, as an Assistant Professor. He is a member of the Phi Tau Phi Society. His current research interests include computer networks, wireless networks, parallel and distributed computing, e-learning, and bioinformatics. Dr. Wang is a member of the IEEE Computer Society.

135

Shou-Wen Chang received the B.S. degree in Department of Computer Science and Information Engineering from Chung Hua University, Taiwan, in June 2001, and the M.S. degrees in Computer Science and Information Engineering from Chaoyang University of Technology, Taiwan, in June 2004. His research interests incude wireless networks, mobile computing, and parellel and distributed computing.