[ieee 2009 8th ifip annual mediterranean ad hoc networking workshop (med-hoc-net 2009) - haifa,...

6
Extrapolation-based and QoS-aware Real-Time Communication in Wireless Mobile Ad Hoc Networks Adnan Agbaria, Gidon Gershinsky, Nir Naaman, and Konstantin Shagin IBM Haifa Research Laboratory Haifa 31905, Israel Abstract—In mobile ad hoc networks (MANETs), it is increas- ingly important to devote attention to real-time and quality of service (QoS) issues. We present here a novel extrapolation-based and QoS-aware technology for providing soft real-time services in MANETs. The proposed technology combines elements of proactive and location-based techniques. Each node maintains a global view, which is periodically updated through state exchange among all the nodes. At any time, a node is able to extrapolate the location of a given node based on its velocity vector. Resource management, dynamic scheduling, velocity-based extrapolation, and multipath search techniques are employed to meet the real- time and QoS requirements despite network contention and frequent topology changes. We demonstrate this technology by presenting a real-time and QoS routing protocol. We evaluate the performance of the protocol and compare it to the performance of other well-known routing protocols. I. I NTRODUCTION Mobile wireless applications increasingly depend on com- munication technologies that provide QoS support, such as resource reservation, reliability, and security. For example, in the transportation domain, police cars need to communicate continuously in a predictive real-time fashion to perform collaborative tasks such as vehicle pursuit. Regular vehicles need a reliable and fast communication channel to report a dangerous road condition in real-time to the following vehi- cles, or to send an accident alert to a nearby ambulance. In the military domain, wireless real-time communication is required for combat troops in the field. Supporting a real-time traffic in any network is a challenge. Obviously, this challenge becomes more difficult in MANETs. Particularly, mobility, frequent out- of-range disconnects, high rate of errors in transmission, and packet collisions are only some of the reasons that make real- time and QoS communication in MANETs a difficult goal to achieve. As mentioned in [1], the hard guarantee of real-time in MANETs is impossible. We focus on providing soft real-time on data delivery, where some traffic may miss its deadline. A service model where no hard guarantees for data delivery on time is provided in [1]. For example, the data delivery sessions can be dropped and re-established due to disconnects caused by high mobility. In this paper we present a combination of state-of-the- art techniques for soft real-time and QoS communication in MANETs. Among those techniques are extrapolating the most efficient path between the source and destination, dynamic selection of the efficient routing path, scheduling the data transmissions according to their real-time and QoS require- ments along this path, resource management. To demonstrate our innovative technology, we present a real-time and QoS unicast routing protocol, called RUMAN (Real-time Unicast Mobile Ad-hoc Network). In RUMAN, every mobile node broadcasts its state, periodically or upon a significant change, to all the other nodes. The state message has a constant size and contains only location, velocity, and the amount of allocated resources of the sender node. As a result, each mobile node can extrapolate the connectivity graph of the system at any time. Upon a connection request between two nodes, RUMAN is responsible for creating and maintaining a QoS path for the connection so that every packet arrives at its destination within a specific time frame. Using the extrapolated connectivity graph, RUMAN finds all the candidate paths that fulfill the QoS requirements between the two nodes. RUMAN immediately starts to send the data packets along the multiple paths until it detects the most effective path among them. RUMAN addresses the high mobility by extrapolating the candidate paths and choosing the most effective path(s) from the connectivity graph. To support the extrapolation real-time traffic, RUMAN reduces the col- lisions among the mobile nodes by limiting the transmitted packets to a rate that does not exceed the maximum capacity of the shared medium among the mobile nodes within 2-hop neighbors. In addition, RUMAN manages the resources and schedules the message transmission at every node to support the desired traffic service. II. SYSTEM MODEL We assume a MANET system consisting of a set of mobile nodes that may communicate with each other using omni-directional antennas. We denote the mobile nodes by M 1 ,M 2 , ···. We assume that all mobile nodes have the same transmission range of r. Two nodes M i and M j can commu- nicate directly with each other if M i is within the transmission range of M j and vice versa. Let d() be the Euclidean distance function, we say that M i is a neighbor of another node M j if d(M i ,M j ) r. We denote by N i all the neighbors of M i , The 8th IFIP Annual Mediterranean Ad Hoc Networking Workshop 2009 978-1-4244-4661-2/09/$25.00 ©2009 IEEE 21

Upload: konstantin

Post on 01-Mar-2017

216 views

Category:

Documents


1 download

TRANSCRIPT

Extrapolation-based and QoS-aware Real-TimeCommunication in Wireless Mobile Ad Hoc

NetworksAdnan Agbaria, Gidon Gershinsky, Nir Naaman, and Konstantin Shagin

IBM Haifa Research LaboratoryHaifa 31905, Israel

Abstract—In mobile ad hoc networks (MANETs), it is increas-ingly important to devote attention to real-time and quality ofservice (QoS) issues. We present here a novel extrapolation-basedand QoS-aware technology for providing soft real-time servicesin MANETs. The proposed technology combines elements ofproactive and location-based techniques. Each node maintains aglobal view, which is periodically updated through state exchangeamong all the nodes. At any time, a node is able to extrapolatethe location of a given node based on its velocity vector. Resourcemanagement, dynamic scheduling, velocity-based extrapolation,and multipath search techniques are employed to meet the real-time and QoS requirements despite network contention andfrequent topology changes. We demonstrate this technology bypresenting a real-time and QoS routing protocol. We evaluate theperformance of the protocol and compare it to the performanceof other well-known routing protocols.

I. INTRODUCTION

Mobile wireless applications increasingly depend on com-munication technologies that provide QoS support, such asresource reservation, reliability, and security. For example, inthe transportation domain, police cars need to communicatecontinuously in a predictive real-time fashion to performcollaborative tasks such as vehicle pursuit. Regular vehiclesneed a reliable and fast communication channel to report adangerous road condition in real-time to the following vehi-cles, or to send an accident alert to a nearby ambulance. In themilitary domain, wireless real-time communication is requiredfor combat troops in the field. Supporting a real-time traffic inany network is a challenge. Obviously, this challenge becomesmore difficult in MANETs. Particularly, mobility, frequent out-of-range disconnects, high rate of errors in transmission, andpacket collisions are only some of the reasons that make real-time and QoS communication in MANETs a difficult goal toachieve.

As mentioned in [1], the hard guarantee of real-time inMANETs is impossible. We focus on providing soft real-timeon data delivery, where some traffic may miss its deadline. Aservice model where no hard guarantees for data delivery ontime is provided in [1]. For example, the data delivery sessionscan be dropped and re-established due to disconnects causedby high mobility.

In this paper we present a combination of state-of-the-art techniques for soft real-time and QoS communication inMANETs. Among those techniques are extrapolating the most

efficient path between the source and destination, dynamicselection of the efficient routing path, scheduling the datatransmissions according to their real-time and QoS require-ments along this path, resource management.

To demonstrate our innovative technology, we present areal-time and QoS unicast routing protocol, called RUMAN(Real-time Unicast Mobile Ad-hoc Network). In RUMAN,every mobile node broadcasts its state, periodically or upona significant change, to all the other nodes. The state messagehas a constant size and contains only location, velocity, and theamount of allocated resources of the sender node. As a result,each mobile node can extrapolate the connectivity graph of thesystem at any time. Upon a connection request between twonodes, RUMAN is responsible for creating and maintaining aQoS path for the connection so that every packet arrives at itsdestination within a specific time frame.

Using the extrapolated connectivity graph, RUMAN findsall the candidate paths that fulfill the QoS requirementsbetween the two nodes. RUMAN immediately starts to sendthe data packets along the multiple paths until it detects themost effective path among them. RUMAN addresses the highmobility by extrapolating the candidate paths and choosing themost effective path(s) from the connectivity graph. To supportthe extrapolation real-time traffic, RUMAN reduces the col-lisions among the mobile nodes by limiting the transmittedpackets to a rate that does not exceed the maximum capacityof the shared medium among the mobile nodes within 2-hopneighbors. In addition, RUMAN manages the resources andschedules the message transmission at every node to supportthe desired traffic service.

II. SYSTEM MODEL

We assume a MANET system consisting of a set ofmobile nodes that may communicate with each other usingomni-directional antennas. We denote the mobile nodes byM1,M2, · · ·. We assume that all mobile nodes have the sametransmission range of r. Two nodes Mi and Mj can commu-nicate directly with each other if Mi is within the transmissionrange of Mj and vice versa. Let d() be the Euclidean distancefunction, we say that Mi is a neighbor of another node Mj

if d(Mi,Mj) ≤ r. We denote by Ni all the neighbors of Mi,

The 8th IFIP Annual Mediterranean Ad Hoc Networking Workshop 2009

978-1-4244-4661-2/09/$25.00 ©2009 IEEE 21

i.e., Ni = {Mj | d(Mi,Mj) ≤ r}.1 We represent a MANETsystem with a corresponding graph. The nodes of the graphrepresents the mobile nodes. Two nodes are connected in thegraph only if they are neighbors.

We impose no limit on the maximum number of mobilenodes in the system but we assume that the mobile nodesare scattered in a given finite size area. A node can physicallymove within this area. It may move at any time in any directionand at any speed. New nodes may join and existing nodes mayleave at any time. Therefore, the link connectivity and networktopology change with nodes’ movement.

We assume that every node has access to a location servicesuch as Global Positioning System (GPS). Such a serviceprovides position, velocity, and time (PVT) information aboutthe node. In addition, we assume the standard communicationstack for the mobile nodes, where the MAC layer works withCSMA/CA transceiver. We assume that every mobile node hasa unique address for routing.

If a mobile node Mi wants to send data to another nodeMj , we say that Mi wants to establish a session with Mj . Weassume that a session s is associated with three parameters:the latency deadline (denoted Ds), the required bandwidth ortransmission rate (denoted Bs), and the lifetime (denoted Ls).Ds specifies the real-time requirement where every packet Pof s should arrive at the destination node within Ds. Whena session s is established between two nodes Mi and Mj ,a corresponding path called the session path, denoted γs, isdefined between Mi and Mj .

III. REAL-TIME AND QOS-AWARE COMMUNICATION

We outline the main state-of-the-art techniques of our pro-posed technology.

Extrapolation: By this technique, every mobile node canextrapolate the location of any other node in the system.It requires that every mobile node disseminates its locationand velocity periodically and whenever there are significantchanges in its velocity vector. The dissemination is done byan efficient broadcast routing protocol such as the multipointrelaying protocol [2]. Since we require that every node Mi

disseminates its state info only upon a significant changein its velocity vector, the period time between consecutivedisseminations at Mi could be quite long. As we see later,the overhead of those state info messages is small.

Bandwidth Management: As mentioned in [3], [4], thebandwidth management in MANETs is a key issue for pro-viding QoS communication. Consider Figure 1, when node Mi

wants to transmit a packet P , its transmission might collidewith that of other nodes in Ni, which includes Mj and Ml.Moreover, due to the hidden terminal problem and contentionin the wireless shared media, Mi may contend also with Mk,

1In practice, the transmission range does not behave exactly as a diskdue to various physical phenomena. However, for the description of theprotocol it does not matter, and on the other hand, a disk assumption greatlysimplifies the formal model. In any case, our simulation results are carriedon a simulator that simulates a real transmission range behavior includingdistortions, background noise, unidirectional links, etc.

where the packet may collide at Mj . Therefore, Mi contendswith all the nodes in

⋃∀Mj∈Ni

Nj . We define the contentionregion of Mi, denoted by Ci =

⋃∀Mj∈Ni

Nj .

Fig. 1. Several nodes may contend with Mi

As mentioned in [3], the bandwidth for a QoS connectioncan be evaluated. Therefore, if we assume that the maximumbandwidth of a contention region Ci is B bps, then by limitingthe transmission rate to B we improve the QoS transmissionsin Ci, by keeping data contention low. We define B to bethe maximum transmission rate of a wireless channel in theMANET system.

We say that a mobile node Mi participates in a particularsession s if a path γ of s includes Mi. Let Si be the setof all the sessions in which Mi participates. Let bi be thetransmission rate of the node Mi. The value of bi equalsthe sum of required bandwidth of all sessions in whichMi participates, i.e., bi =

∑∀s∈Si

Bs. To guarantee a QoSconnection for every session s, therefore, we need to allocateat least Bs bandwidth in Ci at every node Mi in γs. Theallocated bandwidth in Ci should not exceed the thresholdB. Hence, upon a new session s at Mi, Mi decides whetherto allocate a new bandwidth for s according to the availablebandwidth in Ci. We define the available bandwidth of Mi inCi, denoted by ABi, as ABi = B − (

∑Mj∈Ci

bj). We needto ensure the condition that ABi ≥ 0 at every node Mi.

Session Management: The available bandwidth conditionABi ≥ 0 should hold at every node. However, due to mobility,this condition may not hold. Once ABi becomes negative,we select one or more sessions in Mi to suspend until ABi

becomes nonnegative. Notice that when a session becomesinactive, a notification is send to the source node. The openquestion is which session we shall select to suspend first.For example, is it the newest session or the oldest one?Another issue that should be considered is how to suspend theminimum number of sessions that satisfies the above condition.The mobile nodes of the same contention region may need tocoordinate among themselves to achieve this goal.

Laxity-based Transmission: The end-to-end delay betweenMi and Mj is the total delay from the time Mi generates apacket to the time Mj receives it. The end-to-end delay in-cludes the transmission, propagation, and the queueing delays.The transmission delay is the time required to transmit datainto the wireless channel. This delay depends on the availablebandwidth and can be estimated easily. The propagation delaydepends on the velocity of propagation of the signal acrossthe transmission media. This kind of delay can be neglected.The queueing delay refers to the time a packet has to wait inthe queue(s). This delay depends on the communication stack

22

layers, where each layer has a different queuing policy. Giventwo neighbors Mi and Mj , let E(Mi,Mj) be the expectedend-to-end delay between Mi and Mj . As mentioned in [5],if we know the allocated bandwidth in Ci and Cj , E(Mi,Mj)can be estimated. Assuming a path γ between two nodes Mi

and Mj , then the expected end-to-end delay between Mi andMj along γ, denoted E(Mi,Mj , γ), is the sum of the expectedend-to-end delay along every two consecutive neighbor nodesin γ.

Given a session s between Mi and Mj with a latencydeadline of Ds. Assume that a packet P of s arrives at nodeMk, where Mk ∈ γs, after time Tk. P still needs aboutE(Mk,Mj , γs) to reach Mj along γs. Upon the arrival of Pat Mk, the condition Ds − Tk ≥ E(Mk,Mj , γs) should holdto guarantee that P arrives within Ds. Mk may be involvedin more than one session; therefore, it may have severalwaiting packets. Furthermore, Mk should apply a real-timetransmission policy that gives the packets with lower delayrequirements a higher priority. To identify the packets with thelowest end-to-end delay, we define the laxity of a packet P atMk, denoted by Xk(P ), to be (Ds − Tk − E(Mk,Mj , γs)).To better support real-time traffic in all the sessions, we set ascheduling policy to send the packets according to their laxity.Mk starts to send the packet with the least laxity, which is themost urgent packet.

In our technique, a node Mi applies a real-time transmissionscheduling as follows. Once a packet P , Xk(P ) is calculatedimmediately. Then, P is inserted in a queue. The queue isan ordered queue where the packet with the lowest laxity isthe first packet for transmission. Then, Mi sends the packetsfrom the queue using the token bucket mechanism to limitthe transmission of every session s to Bs. Actually, we createa token bucket for every session s to control and limit thetransmission of s up to Bs. By using token buckets, weguarantee not to exceed the capacity of the wireless networkmedia. So, we avoid congestion and reduce contentions torealize the QoS requirements.

IV. THE RUMAN PROTOCOL

In this section we demonstrate our techniques by presentingRUMAN. Figure 2 presents an overview of the RUMANcomponents. For each session, there is a special componentto deal with it. This component has three main modules:Session Management to manages the session such as routing;Controller to decide how and whether to transmit a packet;and Token Bucket controls the transmission rate.

Upon a request for a new session s between Mi and Mj ,the source node Mi creates a session component to dealwith the request. Using the Predictor component, the SessionManagement of s finds up to α paths (α > 0) such thatevery path γ meets the following session requirements: (1)∀Mk ∈ γ, ABk ≥ Bs; (2) E(Mi,Mj , γ) ≤ Ds; and (3) γremains available for a specific period of time. If the sessionrequirements hold, Mi sends the first packets along the αpaths until it finds γs, which is the path that has the firstacknowledgment message from the destination. Potentially,

Fig. 2. The components of RUMAN

γs is the most current efficient path. If during the sessionlifetime γs becomes disconnected, Mi replaces it with one ofthe remaining α paths, if possible. Otherwise, Mi repeats theprocess of searching for a new set of α paths.

When a message of s arrives at node Mk, Mk creates aRUMAN component for s. The Controller module at Mk keepstracking if the session requirements hold for every message.Before transmitting a data packet P , RUMAN queues itin the Message Queue component. Then, the RT Schedulercomponent sends P according to the laxity policy as describedlater. P is transmitted through the Token Bucket component.

We outline the important data structures and messages usedby RUMAN. As mentioned before, the list Si contains all thesessions that Mi participates on. In addition to {Ds, Bs, Ls},a session s ∈ Si contains Γs, a list of all the possible pathsfor s; Ψs, a list of all the acknowledged paths for s; Υs,a list of all the suspected paths that are deleted from Ψs;and the session path γs. Moreover, the vector Hi contains theupdated state info from the other nodes. Hi is used to buildthe connectivity graph Gi of the system at Mi. In addition,RUMAN uses the following messages: 〈STATE, info〉 – thestate info message that Mi broadcasts where info containsthe location and velocity; 〈REQ, P,Bs,Ds, Ls, sid, γ, pid〉 –the source node of s sends the first packet P as a requestmessage until it finds γs where sid is the session ID andpid is the path ID of γ; 〈DATA, P, sid, pid〉 – once γs isdetermined, the source node sends P as a data message withsid and pid; 〈ACK, sid, pid〉 – once the destination receives aREQ message along a path γ, it immediately sends an ACK γ(using sid and pid, this message is routed back to the source);〈NACK, sid, pid〉 – if a REQ message with a path γ encountersany problem at any node Mk ∈ γ, Mk sends back the NACKmessage to the source node of s; 〈REESTABLISH, sid, pid〉 –if a node Mk ∈ γs cannot pass the DATA message, it sendsa REESTABLISH message to the source node. As we showlater, the established session path γs may become disconnectedor suspended.

Creating and Maintaining a Session: Assume that Mi

wants to establish a session s with Mj . Figure 3 presentsthe main operations performed by Mi to establish and main-tain s. Regarding s, Mi may exist in one of the followingstates: Initialized, Searching, or Active. The Initialized state

23

indicates that Mi completed the initialization. The Searchingstate indicates that Mi is looking for γs. The Active stateindicates that Mi has found γs.

Fig. 3. Mi’s state diagram regarding s

When Mi receives a START command to create a newsession s, it moves to the Initialized state. Using Gi, Mi

extrapolates all the possible paths to Mj . Mi removes all thepaths that do not meet the three session requirements. As aresult, Γs = {γ | (Mi �→ Mj) ∧ (E(Mi,Mj , γ) ≤ Ds) ∧(∀Mk ∈ γ, (ABk ≥ Bs) ∧ d(Mk, Nextγ(Mk),Λ) ≤ r)}where 0 ≤ Λ < Ls. Then, Mi keeps at most α paths withthe smallest value of E(Mi,Mj , γ). For every path γ ∈ Γs,its ID is determined to be the rank of γ in Γs. Notice thatE(Mi,Mj , γ) can be estimated using the collected state infomessages and the number of nodes in γ. After setting thevalue of the transmission delay and the propagation delay,we use the vector Hi to estimate the queueing delay at everynode along the path. Since the vector Hi contains the allocatedbandwidth bk of every node Mk ∈ γ, we were able to estimatethe queueing delay by RUMAN and thus E(Mi,Mj , γ) [5].

In the Searching state and upon receiving a SEND(P ) com-mand, Mi sends P along the paths of Γs as REQ messages.∀γ ∈ Γs, Mi expects to receive either a NACK or an ACKmessage. If neither ACK nor NACK arrives for a path γ, γ isdeleted from Γs due to a timeout. The timeout value is set tobe more than the expected round-trip time between the sourceand distinction nodes.

After determining γs, Mi moves to Active. Upon receivinga SEND(P ) command, Mi sends P as a DATA messageafter verifying the connectivity of γs. If Mi receives eithera REESTABLISH message or extrapolates that γs becomesdisconnected, it removes γs from Ψs. Then, it sets γs to bethe next acked path. However, if Ψs is empty, Mi moves toeither the Initialized state or the Searching state according toΓs. Note that in the Active state, Mi may still receive eitherACK/NACK messages.

Dealing with Arriving Messages: Assume now that nodeMk receives a REQ message. REQ is the only message that

contains the full path. Figure 4 shows the behavior of Mk

upon receiving this message with a path γ for s.

Fig. 4. Mk’s behavior upon receiving REQ

If Mk is the destination of s, it adds s to Sk if this messageis the first seen message of s. If γ has not been seen yet, itadds γ to Ψs. Lastly, it sends ACK for γ to the source nodeMi. If Mk is not the destination, it checks if s has been seenyet. If not, it accepts s only if the three session requirementshold: ABk ≥ Bs, d(Mk, Nextγ)) ≤ r, and Xk(P ) ≥ 0. IfMk accepts s, it allocates a bandwidth of Bs for s, adds s toSk, adds γ to Γk, and forwards the message to the next nodeof γ. Otherwise, it sends NACK to Mi. Moreover, if s hasbeen seen and accepted by Mk, it adds γ to Γk if needed andforwards it.

Upon receiving an ACK message for a path γ, Mk removesγ from Γs to Ψs. It forwards the message if it is not the sourcenode. Upon receiving a DATA message, where the full pathis not included, Mk retrieves the full path using the attachedpath ID in DATA. Actually, the path ID of the DATA messageindicates that the corresponding full path has already arrivedand accepted by Mk.

If Mk does not receive data through γ for a specific periodof time, it moves γ from Ψs to Υs. Υs represents a trashcan for inactive paths. Since we cannot know the reason fornot receiving data on γ, we do not delete it immediately.For each path γ, we set a timeout for moving to Υs. Uponreceiving a data on γ, we reset this timeout. The timeout valueis proportional to the expected interval between arrivals of datapackets. As described in [4], the timeout value is derived fromBs, Ls, and the location of Mk relative to the source node ofs. If Ψs becomes empty, we deallocate the bandwidth reservedfor s, but not the whole session. The session is deleted uponthe Ls timeout.

If Mk is the destination of s, it delivers the data packet to theapplication layer. Otherwise, it retrieves γ from either Ψs orΥs according to the attached path ID. If γ ∈ Υs and Ψs = ∅,Mk tries to accept s again as described in Figure 4. However,if Mk fails to accept the session, it sends a REESTABLISHmessage to Mi. If Ψs �= ∅ and γ ∈ Υs, Mk moves γ back toΨs and forwards the DATA message to the next node alongγ. If the next node along γ is not a neighbor, Mk sends

24

a REESTABLISH message to Mi. If Mk receives either aNACK or a REESTABLISH message, this indicates that afailure has occurred. As mentioned above, such a messageis generated if a node cannot participate in the session or thepath is disconnected during the transmission of an REQ or aDATA message.

V. PERFORMANCE ANALYSIS

We evaluate the performance of RUMAN and compareit with three well known protocols: (i) Ad hoc On-demandDistance Vector (AODV), (ii) Optimized Link State RoutingProtocol (OLSR), and (iii) Dynamic Source Routing (DSR).Although these protocols are not QoS protocols, we choosethem for several reasons. These protocols are standardizedwith published RFCs. Moreover, the results we collected showthe significant improvement of RUMAN upon these protocols,where many other QoS protocols are based on these protocols.

We use the NS-2 simulator to evaluate and compare per-formance of the routing protocols. NS-2 includes modules forsimulating wireless communication over IEEE 802.11 MACprotocol with the RTS/CTS feature. The bandwidth of thesimulated MAC layer is 2Mbps; the transmission range is 250meters. Two concurrent transmissions can collide, in whichcase, the messages will not be received by some of thenodes. The collision may occur without the transmitting nodedetecting the problem, a phenomenon known as the hiddenterminal problem. The nodes were placed at uniformly randomlocations in a square area of 1000×1000 m2. We model theurban inter-vehicle communication. A node is allowed to moveonly along grid lines (speed range between 1 to 10 m/s), whichrepresent roads. The distance between neighboring parallelgrid lines is 150 meters.

The maximal interval between transmissions of state infomessages is 10 sec, α = 5, and the minimal time that twonodes remain neighbors in a path (Λ) is 2 sec. Each sessions exists for 300 to 500 seconds. Ds is set to 2 seconds. Thesize of a data packet is 1Kb. Each source generates packetsusing the Exponential (EXP) module of NS-2 according to thesession rate Bs. We measure the average latency and the ratiobetween the received and sent data packets.

In our first experiment there is one session from two nodes(not neighbors). Figure 5(a) and Figures 5(b) present theaverage latency and the ratio of received packets of the routingprotocols versus different session bandwidths. Figure 5(a)shows that the average latency in RUMAN is much lower thanin the other protocols. At the higher transmission rates, thedifference is about 40%. As transmission rate increases from250Kb/s to 500Kb/s, the latency grow significantly. This ismainly due to collisions between en-route packets. Collisionsare also responsible for the decrease in the ratio of successfullyreceived packets as the rate increases. By limiting the sessionrate, RUMAN avoids collisions, which allows nodes to receivemore packets within the deadline and at a lower latency.Figure 5(b) shows that RUMAN is indeed more reliable thanthe other protocols.

0 200 400 600 800 1000 12000

0.5

1

1.5

2

2.5

3

3.5

Rate (Kbps)

Late

ncy

(sec

onds

)

RUMANAODVOLSRDSR

(a)

0 200 400 600 800 1000 12000

0.2

0.4

0.6

0.8

1

Rates(Kbps)

Rat

io o

f rec

eive

d pa

cket

s

RUMANAODVOLSRDSR

(b)

Fig. 5. The average latency and reliability

In the next experiment there are several short sessions. Thistest represents a scenario where vehicles communicate forshort periods of time. Figure 6 presents the average latencyof the four routing protocols. The lower latency obtained byRUMAN is mainly due to the fact that RUMAN starts sendingthe data packets immediately. In addition, RUMAN sendsthe first packet through multiple paths and selects the fastestpath for transmission of subsequent messages. Figure 6(b)presents the average latency in an experiment where fourdifferent sessions are established. Each session has the sametransmission rate.

RUMAN AODV OLSR DSR0

0.02

0.04

0.06

0.08

0.1With short sessions

Late

ncy

(sec

onds

)

(a) With several short sessions

50 60 70 80 90 100 110 120 130 140 1500

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Rate (Kbps)

Late

ncy

(sec

onds

)

RUMANAODVOLSR

(b) With four different sessions

Fig. 6. The average latency

Although the results of Figure 6(b) are similar to theresults presented in Figure 5(a), the reason that RUMAN

25

outperforms the other protocols is different. In Figure 6(b),RUMAN does not allow new sessions to start sending dataunless they have the required allocated bandwidth. We startedfour sessions simultaneously. The endpoints of the sessionsare chosen so that the session paths pass through the samecontention region. Given the high rate of 150 Kbps for eachsession, the first three sessions will allocate all the availablebandwidth in the area where the four paths are supposedto pass. Consequently, RUMAN delays the fourth sessionuntil resources are available. As a real-time routing protocol,RUMAN prefers to delay sessions, rather than degrade thelatency of all the sessions as the other routing protocols.

Figure 7 shows that the overhead of the control messagesin RUMAN equals to the overhead of the control messagesin AODV and OLSR. In each protocol, each node has about12% control messages. These results are taken from the test ofFigure 5 with 128 Kb of session bandwidth. These results showthat although RUMAN achieves significantly lower latencyand higher reliability than the other protocols, the overhead ofthe state info messages is still reasonable when compared tothe other protocols. However, this overhead is mainly affectedby the number of nodes and the mobility pattern of the system.

0

1

2

3

4

5

6

7

8

9

RUMN AODV OLSR

Pac

kets

per

no

de

per

sec

on

d

Application messages

Control messages

Fig. 7. The fraction of control messages

VI. RELATED WORK

Several approaches for providing realtime and QoS inMANETs have been proposed in the literature. Hughes et al.describe event-based real-time middleware for VANET [6].They use a proximity-based event propagation technique toguarantee real-time constraints within the defined proximitiesonly. Unlike our work that guarantees real-time communi-cation between any two mobile nodes, their work providesreal-time delivery support only within pre-defined cells. Shahand Nahrstedt [7] present a predictive location-based QoSrouting protocol for MANETs. In addition to location-basedpredictability, our approach uses reservation, scheduling, andother features for providing real-time traffic in MANETs.

One of the key goals of our work is to reduce contentionsamong mobile nodes by means of bandwidth allocation andreservation. There are many works that use such approachfor supporting QoS requirements in MANETs. The basic stepfor resource reservation in wireless systems is the TDMA-based MAC layer approach. Shah and Nahrstedt [8] show acentralized solution for distributing the network flow in thesystem to guarantee the required QoS. This solution works for

the MAC IEEE 802.11. Cerda et al. [3] present a mechanismfor bandwidth management and distribution in MANETs tosupport the QoS guarantees. As in our case, this mechanismworks with the routing protocol layer. The authors showpromising performance for the mechanisms with AODV andOLSR. In addition, Xiao et al [9] propose a framework thatcombines bandwidth reservation for high priority traffic witha service differentiation for low-priority traffic. However, thisframework does not take into account the characteristics ofMANETs and all the drawbacks of the IntServ and DiffServremain.

VII. CONCLUSIONS

In this work, we have presented an innovative technol-ogy bases on combining state-of-the-art techniques for forproviding real-time and QoS communication in MANETs.This technology uses proactive and location-based routingapproaches - taking the best from each mechanism as requiredfor timely and efficient data delivery in MANET systems. Italso employs resource reservation, dynamic scheduling, andsessions management to address the runtime changes in thesystem and to enable extrapolate communication. We havedemonstrated this technology by presenting the RUMAN pro-tocol. Our simulation results on NS-2 confirm that RUMANnot only achieves the lowest latency among other consideredrouting protocols, but also supports high reliability in sendingmessages compared to those protocols.

REFERENCES

[1] G.-S. Ahn, A. T. Campbell, A. Veres, and L.-H. Sun, “Supporting ServiceDifferentiation for Real-Time and Best-Effort Traffic in Stateless WirelessAd Hoc Networks (SWAN),” IEEE Transactions on Mobile Computing,vol. 1, pp. 192–207, July-September 2002.

[2] A. Qayyum, L. Viennot, and A. Laouiti, “Multipoint Relaying: AnEfficient Technique for Flooding in Mobile Wireless Networks,” Tech.Rep. RR-3898, INRIA, March 2000.

[3] C. et al., “A Reservation Scheme Satisfying Bandwidth QoS Con-straints for Ad-Hoc Networks,” in Wireless Systems and Mobility inNext Generation Internet, vol. Volume 3427/2005, pp. 176–188, SpringerBerlin/Heidelberg, February 2005.

[4] Q. Xue and A. Ganz, “Ad Hoc QoS On-Demand Routing (AQOR)in Mobile Ad Hoc Networks,” Journal of Parallel and DistributedComputing, vol. 63, pp. 154–165, February 2003.

[5] C. Sweet, “Performance Analysis of the IEEE 802.11 Wireless LANStandard,” Master’s thesis, University of Maryland, 1999.

[6] B. Hughes, R. Meier, R. Cunningham, and V. Cahill, “Towards Real-TimeMiddleware for Vehicular Ad Hoc Networks,” in Proceedings of the 1stACM Workshop on Vehicular Ad Hoc Networks, (Philadelphia, PA, USA),October 2004.

[7] S. H. Shah and K. Nahrstedt, “Predictive Location-Based QoS Routingin Mobile Ad Hoc Networks,” in Proceedings of IEEE InternationalConference on Communications (ICC 2002), (New York, NY), April2002.

[8] S. H. Shah and K. Nahrstedt, “Guaranteeing Throughput for Real TimeTraffic in Multi-hop IEEE 802.11 Wireless Networks,” in Proceedingsof IEEE International Conference on Military Communication, (AtlanticCity, NJ), October 2005.

[9] H. Xiao, W. Seah, A. Lo, and K. Chua, “A Flexible Quality of ServiceModel for Mobile Ad Hoc Networks,” in Proceedings of the IEEEVehicular Technology Conference, (Tokio, Japan), May 2000.

26