11.07.2015 Views

IEEE Paper Template in A4 (V1) - International Journal of Computer ...

IEEE Paper Template in A4 (V1) - International Journal of Computer ...

IEEE Paper Template in A4 (V1) - International Journal of Computer ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>International</strong> <strong>Journal</strong> <strong>of</strong> <strong>Computer</strong> Applications <strong>in</strong> Eng<strong>in</strong>eer<strong>in</strong>g Sciences[VOL I, SPECIAL ISSUE ON CNS , JULY 2011] [ISSN: 2231-4946]A Novel Communication Model to ImproveAODV Protocol Rout<strong>in</strong>g ReliabilityAli Nakhaee 1 , Ali Harounabadi 2 , Javad Mirabed<strong>in</strong>i 31 <strong>Computer</strong> Eng<strong>in</strong>eer<strong>in</strong>g Department, Islamic Azad University Dezful Branch, Dezful Iran2,3<strong>Computer</strong> Eng<strong>in</strong>eer<strong>in</strong>g Department, Islamic Azad University Tehran center Branch, Tehran Iran1 nakhaee.89@gmail.com2 a.harounabadi@gmail.com3 j.mirabed<strong>in</strong>i@gmail.comAbstract— By grow<strong>in</strong>g the use <strong>of</strong> real-time application onmobile devices, there is a challenge to provide reliablerout<strong>in</strong>g algorithm among these devices. We propose a newmethod <strong>in</strong> route selection for Ad hoc On demand DistanceVector (AODV) rout<strong>in</strong>g protocol which <strong>in</strong>creases thereliability <strong>of</strong> the selected route. In this scheme for eachnode along route discovery, we determ<strong>in</strong>e two parameters,to calculate the routes reliability. To ensure the correctness<strong>of</strong> our method, we create a Colored Petri Net for theprotocol. By apply<strong>in</strong>g the model, results show that therout<strong>in</strong>g reliability is <strong>in</strong>creased <strong>in</strong> comparison withstandard AODV.Keywords— Mobile AdHoc Networks, Rout<strong>in</strong>g, Reliability,Coloured Petri NetsI. INTRODUCTIONMobile ad hoc network (MANET) is an autonomoussystem <strong>of</strong> mobile nodes. It does not use any pre exist<strong>in</strong>g<strong>in</strong>frastructure and there is no centralized adm<strong>in</strong>istration.A node can send a message to a dest<strong>in</strong>ation node beyondits transmission range by us<strong>in</strong>g other nodes as relaypo<strong>in</strong>ts and thus a node can function as a router. Due thearbitrary movement <strong>of</strong> nodes In MANET, the networktopology may change rapidly at unpredictable times[1,2].Because <strong>of</strong> MANET constra<strong>in</strong>ts, conventional rout<strong>in</strong>gprotocols are not appropriate for MANETs. Manyrout<strong>in</strong>g protocols such as Ad-hoc On-demand DistanceVector rout<strong>in</strong>g (AODV)[3], Dynamic Source Rout<strong>in</strong>g(DSR)[4], Temporally Ordered Rout<strong>in</strong>gAlgorithm(TORA)[5] that are specific to mobilenetwork<strong>in</strong>g have been proposed.But most <strong>of</strong> rout<strong>in</strong>g protocols focus on rout<strong>in</strong>g hops<strong>in</strong>stead <strong>of</strong> concentrat<strong>in</strong>g on provid<strong>in</strong>g reliable routeswhen select<strong>in</strong>g routes. These protocols will <strong>in</strong>crease theprobability <strong>of</strong> us<strong>in</strong>g potentially unreliable routes. Thedirect consequence <strong>of</strong> select<strong>in</strong>g the route with them<strong>in</strong>imal hops is that routes will be broken frequentlyand it will require additional time to reconfigure theroute from source to dest<strong>in</strong>ation, which results <strong>in</strong><strong>in</strong>creased amounts <strong>of</strong> flood<strong>in</strong>g control packets. Hence,frequent routes break<strong>in</strong>g will badly affect the utilizationand throughput <strong>of</strong> ad hoc networks [6].We propose a new method <strong>in</strong> route selection forAODV protocol which <strong>in</strong>creases the reliability <strong>of</strong>selected route. In this scheme for each node along routediscovery, we determ<strong>in</strong>e two parameters, queue mean(qmean) and maximum queue (maxq) to calculate thereliability <strong>of</strong> routes. Number qmean shows the averagequeue length <strong>of</strong> nodes <strong>in</strong> the path. Number maxq showsthe maximum queue length <strong>of</strong> the nodes <strong>in</strong> the path.Every node along route discovery, records thisparameters <strong>in</strong> Route REQuest (RREQ) packet. In thedest<strong>in</strong>ation node, a new parameter is generated from<strong>in</strong>puts <strong>of</strong> each route which is called "Reliability Value".We will show that if we use these parameters andmodify the selection criteria <strong>in</strong> AODV, based on theproposed method, the route reliability will be improved.The rest <strong>of</strong> this paper is organized as follows. Section2 expla<strong>in</strong>s the novel selection criteria <strong>in</strong> AODV rout<strong>in</strong>gprotocol.Section 3 we create a formal model <strong>of</strong> the modifiedAODV protocol to determ<strong>in</strong>e if <strong>in</strong>deed the protocolprovides the def<strong>in</strong>ed service correctly [7].coloured petri nets(CPNs) [8] are a suitable model<strong>in</strong>glanguage for verification task, as they can convenientlyexpress non-determ<strong>in</strong>ism, concurrency and differentlevels <strong>of</strong> abstraction that are <strong>in</strong>herent <strong>in</strong> rout<strong>in</strong>gprotocols [7].Simulation results are given <strong>in</strong> section4. F<strong>in</strong>ally,Section 5 concludes the paper.II. ADHOC ON DEMAND DISTANCE VECTOR PROTOCOL– AODVAODV is a typical reactive rout<strong>in</strong>g protocol. It createsroutes <strong>in</strong> an on-demand fashion and builds routes us<strong>in</strong>ga route request/route reply query cycle. Also weconsider packets queue length <strong>in</strong> each node, whenrout<strong>in</strong>g is performed. Number Q_len shows queuelength <strong>in</strong> each node.When a source node needs to send data packets to adest<strong>in</strong>ation node, it first checks its route table to see if ithas an unexpired route to the dest<strong>in</strong>ation. If it does, it241 | P a g e


Nakhaee et. al.sends data packets us<strong>in</strong>g this route immediately.Otherwise, route discovery procedure beg<strong>in</strong>s. Wemodified the procedure as follows:Step1: A source node starts to flood RREQ packets toits neighbor<strong>in</strong>g nodes <strong>in</strong> a MANET until they arrive attheir dest<strong>in</strong>ation node. We add two numbers qmean andmaxq to these RREQ packets.Step2: If the <strong>in</strong>termediate node N receives a RREQpacket and it is not the dest<strong>in</strong>ation, then the new values<strong>of</strong> maxq and qmean are calculated <strong>in</strong> node N. And<strong>in</strong>formation <strong>of</strong> node N is added to the RREQ packetwhich is appended to packet fields. After that, node Nreforwards the packet to all the neighbor<strong>in</strong>g nodes <strong>of</strong>itself.In node N, maxq is changed if the maximum queuelength <strong>in</strong> the node is higher than the current maxq <strong>in</strong> theRREQ received message. Equation (1) shows how tocalculate qmean <strong>in</strong> the node N.(1)Step3: If node N receives a RREQ packet and node Nis the dest<strong>in</strong>ation, it waits a period <strong>of</strong> time. Therefore,the dest<strong>in</strong>ation node may receive many different RREQpackets from the source. Then it calculates the value <strong>of</strong>reliability value for each path from source to thedest<strong>in</strong>ation us<strong>in</strong>g the <strong>in</strong>formation <strong>in</strong> each RREQ packet.Equation (2) shows how to calculate reliability value(R_degree). F<strong>in</strong>ally, dest<strong>in</strong>ation node sends a RouteREPly (RREP) packet along the path which has amaximum reliable value.(2)Variable nohop presents hop numbers <strong>in</strong> rout<strong>in</strong>g.We exceeds with present<strong>in</strong>g a CPN model formodified AODV protocol. Our model is based on themodel which is presented by xiong et al. We considerAODV protocol has four states [9]: RoutCheck: Check the route table to see if the nodehas an exist<strong>in</strong>g and valid path to the dest<strong>in</strong>ation. RREQInit: Initiate RREQ message when necessary. RREQProcess: Process the <strong>in</strong>com<strong>in</strong>g RREQmessage and output proper results.RREPProcess: Process the <strong>in</strong>com<strong>in</strong>g RREP messageand output proper resultsIII. CPN MODEL OF A MANET WITH AODV ROUTINGPROTOCOLA. Colored Petri NetsColoured Petri Nets were <strong>in</strong>troduced by Kurt Jensen<strong>in</strong> 1987 as a developed model <strong>of</strong> Petri Nets. ColouredPetri Nets are appropriate tools for mathematical andgraphical model<strong>in</strong>g. Coloured Petri Nets have numerousapplications, and lots <strong>of</strong> research has taken place withrespect to model<strong>in</strong>g, describ<strong>in</strong>g and analyz<strong>in</strong>g systems,which have synchronized, asynchronized, distributed,parallel, non-determ<strong>in</strong>istic or random natures. In fact,Petri Nets are models which could represent theperformance and state <strong>of</strong> the system at the same time.A formal def<strong>in</strong>ition <strong>of</strong> CPN is as follows [8]:A Coloured PN (CPN) is a 6-tuplewhere1) P = denotes a f<strong>in</strong>ite and non empty set<strong>of</strong> Places.2) T = denotes a f<strong>in</strong>ite and non empty set<strong>of</strong> Transition.3) C is a colour function that assigns a f<strong>in</strong>ite and nonemptyset <strong>of</strong> colors to each place and a f<strong>in</strong>ite and nonemptyset <strong>of</strong> modes to each transition.4) Denote the backward and forward<strong>in</strong>cidence functions def<strong>in</strong>ed by , such thatDenotes a function def<strong>in</strong>ed on P, describ<strong>in</strong>g the<strong>in</strong>itial mark<strong>in</strong>g such thatB. CPN Model for Modified AODV Rout<strong>in</strong>g ProtocolThe hierarchy page (Jensen) <strong>of</strong> our CPN model isdepicted <strong>in</strong> Figure 1. It expla<strong>in</strong>s the overall organization<strong>of</strong> the modules compris<strong>in</strong>g the CPN model <strong>of</strong> ourMANET. Page Prime#1 is the top level <strong>of</strong> our Model fora MANET. And the second level (page Node#2) is thenode template for implement<strong>in</strong>g AODV protocol. Herewe can create model for any MANET composed <strong>of</strong>nodes as many as allowed by <strong>in</strong>stantiat<strong>in</strong>g this nodetemplate us<strong>in</strong>g CPN TOOLS [10]. The third level hasthree pages (page RREQInit#4, page RREQProcess#5and RREPProcess#6), each <strong>of</strong> which is named by anAODV state as given <strong>in</strong> [9]. Page SendMsg#3 sendsnode messages <strong>in</strong> the network.Fig. 1. The hierarchy pageIf we want to create a node <strong>in</strong>stance <strong>in</strong> a MANET, wecan simply do it by <strong>in</strong>stantiat<strong>in</strong>g the node template. Likean object <strong>in</strong> an object oriented programm<strong>in</strong>g language,every <strong>in</strong>stantiated node has its own local variables andprovides <strong>in</strong>terface to the outside world. In our CPN242 | P a g e


A Novel Communication Model to Improve AODV Protocol Rout<strong>in</strong>g ReliabilityNode Broadcast<strong>in</strong>g an Incom<strong>in</strong>g RREQ Message to itsNeighbor<strong>in</strong>g NodesIf a node receives a RREQ message, then it entersRREQProcess state, which is represented by thesubstitution transition RREQProcess <strong>in</strong> Fig. 3. Fig. 6shows the detailed <strong>in</strong>formation regard<strong>in</strong>g RREQProcess.[9]The actual function <strong>of</strong> subpage RREQProcess is to<strong>in</strong>itiate the correspond<strong>in</strong>g RREP message if possible orforward the RREQ message if necessary. Uponreceiv<strong>in</strong>g a RREQ message the transition BIDCheck isenabled, thus enter<strong>in</strong>g the RREQProcess state for therout<strong>in</strong>g protocol. If the received RREQ message is fresh(received for the first time), it is directed to the placeNewBid. Otherwise it is simply discarded. Thisfunctionality is achieved by the arc <strong>in</strong>scriptionarc_newbid(bid,sid,lst,sseq,did,dseq,preid,nohop,qmean,maxq).for detailed <strong>in</strong>formation on the implementation <strong>of</strong>this function refer to row6 <strong>in</strong> table1 <strong>in</strong> appendix. Afterthe place NewBid gets the token for a fresh RREQmessage, either the transition SendRREP or thetransition Broadcast2 is enabled. If the node is thedest<strong>in</strong>ation or has a valid route to the dest<strong>in</strong>ation,guard_sendRREP( ) returns true. Otherwise, the guardguard_broadcast2( ) returns true. For detailed<strong>in</strong>formation <strong>of</strong> these two functions refer to rows 7 and 8<strong>in</strong> table I. If its SendRREP’s turn, the node waits for atime period. (Determ<strong>in</strong>ed by place Timer). Therefore,the dest<strong>in</strong>ation node may receive many different RREQpackets from the source. For each received RREQmessage, function arc_setreliable () calculates itsreliability value and checks weather this value is higherthan the reliability value <strong>of</strong> the previously receivedmessage, if yes then it add the message to place Maxreliable.Otherwise it discards the received message. As a result<strong>of</strong> us<strong>in</strong>g this procedure the most reliable RREQ packetwould be selected.If the node isn’t the the dest<strong>in</strong>ation for the RREQmessage, transition Broadcast2 is enabled and performsthe follow<strong>in</strong>g tasks:1-<strong>in</strong>creases the number <strong>of</strong> hops by one2-calculates new qmean value3-change the value <strong>of</strong> maxq if necessaryAnd after these steps, transition Broadcast2 directs thereceived RREQ message to place out.3) Nodes Send their Messages to NetworkNodes send their messages to the network from placeout. Output arc from OUT connected to subpageSendMsg. Fig. 7 shows SendMsg subpage. SendMsgdeterm<strong>in</strong>es next node(s) that must be deliveredmessage(s). It`s functionality is accord<strong>in</strong>g to messagetype. If message type is Route Reply, message isdirected to transition SendRREP. This transitionforwards the message to the next node which must bedelivered this message. If message type is Rout Request,message is directed to transition SendRREQ. TransitionSendRREQ f<strong>in</strong>ds all neighbors for the current nodewhich broadcasts the RREQ message and deliver themessage to them. Transitions AddL<strong>in</strong>k and DeleteL<strong>in</strong>kand place topology specifies nodes mobility <strong>in</strong> thenetwork. Place topology keeps neighbors list for eachnode. Transition AddL<strong>in</strong>k models that a new l<strong>in</strong>kbetween two ad-hoc nodes arises, and transitionDeleteL<strong>in</strong>k models that an exist<strong>in</strong>g l<strong>in</strong>k between two adhocnodes disappears.Fig. 7. SendMsg subpageC. Global DeclarationsThe global declarations comprise the color sets andvariables for the AODV. Fig. 8 presents color sets andvariables. The color sets show data structures stor<strong>in</strong>gdifferent rout<strong>in</strong>g <strong>in</strong>formation such as route entry, RREQand RREP messages [9]. The color set RoutMsg def<strong>in</strong>esthe rout<strong>in</strong>g message. It conta<strong>in</strong>s the follow<strong>in</strong>g fields:BID: Broadcast ID.SID: Source node that <strong>in</strong>itiates RREQ message.(BID,SID) uniquely specifies a RREQ message.DID: Dest<strong>in</strong>ation node.INT: Distance from the sender that <strong>in</strong>itiates the message.The sender is DID for RREP message and SID forRREQ message.TYPE: Type <strong>of</strong> the message. Q means RREQ, and Pmeans RREP.DUMMY: only useful for RREP message. Next node towhich the message is sent. It is set to 99 if the messageis <strong>of</strong> type 99.DSEQ: Most recent recorded sequence number fordest<strong>in</strong>ation DID.PID: The immediately previous node from which thenode receives the message.Qmean: average queue length <strong>of</strong> the nodes <strong>in</strong> the path.Maxq: maximum queue length <strong>of</strong> the nodes <strong>in</strong> the path.The color set BufferREQ (l<strong>in</strong>e 9 <strong>in</strong> Fig. 8) def<strong>in</strong>esbuffered identification <strong>of</strong> RREQ message that a nodehas processed.245 | P a g e


Nakhaee et. al.The color set RoutTable (l<strong>in</strong>e 17 <strong>in</strong> Fig. 8) def<strong>in</strong>es thestructure <strong>of</strong> a route entry <strong>in</strong> route table. It conta<strong>in</strong>s thefollow<strong>in</strong>g fields:DID: Dest<strong>in</strong>ation <strong>of</strong> the route.NID: Next node on the route to DID.DSEQ: Most recent recorded sequence number fordest<strong>in</strong>ation DID.INT: Distance from the dest<strong>in</strong>ation DID, measured <strong>in</strong>the number <strong>of</strong> hops that need to be traversed to reachDID.LIFETIME: Rema<strong>in</strong><strong>in</strong>g time before the route expires.R_degree: Route reliability degree.colset INT = <strong>in</strong>t;colset LIFETIME, BID,DSEQ, SSEQ, DEST, DUMMY,Node_id,Q_len = INT;colset DID, SID, NID, PID = Node-id;colset Qmean, Rlb: realcolset TYPE = with P|Q;closet Maxq = Q_len;colset RoutMsg = productBID*SID*SSEQ*DID*DSEQ*PID*INT*TYPE*DUMMY*Qmean*Maxq;colset BufferREQ = product BID*SID*INT*PID*Qmean*Maxq;colset bufferReqList = List BufferREQ;var lst: bufferReqList;colset Topology = product Node-id * Node-id;colset AHTopology = List Topology;colset INTxINT = product INT*INT;colset INTxINTxINT = product INT*INT*INT;colset RoutTable = product DID*DSEQ*INT*NID*Rlb*LIFETIME;colset routTabList =list RoutTable;var routlst : routTablist;var wait, lifetime : TIME;var bid, sseq, dseq, hopn: INT;var rlb,rrlb: Rlb;var sid, did , selfid, preid : Node-id;var adhoc-topology : AHTopology;var bbid, ssid, ddid, ddseq : INT;var qmean : Qmean;var maxq,qlen : Q_len;var nohop, dest, n, nexthop : INT;var ptype: TYPE;var nid,pid : NID;var msg, routMsg : RoutMsg;var i: Node-id;Fig. 8. Color sets and variablesTABLE1– FUNCTIONS LISTNumber Function1 fun has_validRout(did,[])= false|has_validRout(did,(ddid,dseq,I,nid,lifetime)::rest)=if (did = ddidandalso lifetimeadd_rout(did,dseq,nohop,nid,0,routlst,rrlb)|2 =>routlst;fun arc_forward RREP(sid,selfid,bid,lifetime,did, dseq,n,hop,lst,rrlb)=If(sid selfid)then 1’(bid, sid, lifetime, did,dseq, selfid,nohop+1,p,rrlb,get_pid(bid, sid,lst))else emptyfun arc_newbid(bid,sid, lst,sseq, did,dseq,pried,nohop, qmean,maxq)=if has_id (bid, sid, lst)then emptyelse 1’(bid, sid, sseq, did, dseq, pried,nohop,q,99,qmean,maxq);fun guard_sendRREP(did,routlst,dseq,selfid)=if((dseq get_dseq(routlst)andalsohas_validrout(did,routlst))orelse(did=selfid))andalso (timerrlb1 orelselifetime>100) then 1elseif( did=ddid andalso rrlb


A Novel Communication Model to Improve AODV Protocol Rout<strong>in</strong>g Reliabilityremove_rout(did,(ddid,ddseqer,ii,nnid,lifetime)::rest)=if(did=ddid)then restelse(ddid,ddseqr,ii,nnid,lifetime)::remove_rout(did,rest);fun has_id(bid, sid,[])=false13 | has_id(bid, sid,(b,s,h,p)::rest)=if(bid=b andalsosid=s )then trueelse has_id(bid, sid, rest)fun arc_setreliable (did, selfid, bid, sid, dseq,14 preid,routlst,qmean,maxq)=if (did= selfid) thenif(set_reliability(set_qmean(qlen,qmean,nohop),maxq,rlb) then1`(bid,sid,0,did,dseq,selfid,1,p,preid,rlb)else emptyelseif(set_reliability1(set_qmean(qlen,qmean,nohop),maxq,rlb)) then1`(bid,sid,0,did,dseq,selfid,1+get_hop(did,routlst),p,preid, rlb)else emptyfun guard_sendRREP2( lifetime ,wait)=15 if (wait > lifetime) thentrueelsefalsefun set_qmean(qlen,qmean, hopno)=16 (((hopno -1) * qmean + (1/qlen))/hopno)::qmean ;17 fun set_maxq (maxq, qlen) =if (qlen>= maxq) then18qlen :: maxq;fun set_reliability(set_qmean(qlen,qmean,nohop), maxq,nohop,[])=if (nohop>1) then((3*qmean+2*1/maxq+1/nohop)/6 :: rlb;else(3*qmean +(1/nohop))/6 :: rlb ; |set_reliability (set_qmean(qlen,qmean,nohop),maxq, nohop,rlb)=if (nohop>1) thenif (((3*qmean+2*(1/maxq)+1/nohop)/6)>rlb)then((3*qmean+2*1/maxq+1/nohop)/6 :: rlb;else emptyelseif ( (3*qmean +(1/nohop))/6)>rlb)then(3*qmean +(1/nohop))/6) :: rlbelse empty19 fun set_reliability1(set_qmean(qlen,qmean,nohop), maxq,nohop,rlb)=if (nohop>1) then(((3*qmean+2*(1/maxq)+(1/nohop))/6)+rlb)/2):: rlb ;else(((3*qmean +(1/nohop))/6)+rlb)/2 :: rlb ;IV. SIMULATION AND COMPARISONWe present our CPN model for modified AODVprotocol and compared it with CPN model presented byxiong et al[9] for typical AODV protocol. We use CPNTools to run our simulation. Table II shows the number<strong>of</strong> broken routes <strong>in</strong> both typical AODV protocol andmodified AODV protocol where the variable parameteris time, show<strong>in</strong>g that modified AODV algorithm cangreatly decrease the broken numbers <strong>of</strong> routs.Fig. 9 shows the improvement rate <strong>of</strong> rout<strong>in</strong>greliability when compar<strong>in</strong>g modified AODV withtypical AODV, <strong>in</strong>dicat<strong>in</strong>g that the improvement becomemore significant when time <strong>in</strong>creases. The averageimprovement rate reaches about 80%.Total timeTypicalAODVProtocolModifiedAODVProtocolTABLEI IBROKEN ROUTE NUMBERS100 200 300 40014 23 34 39359V. CONCLUSION12500441460053We present a hierarchical CP net for a MANET whichis used AODV rout<strong>in</strong>g protocol. There exists for eachnode <strong>in</strong> the model a CPN subpage. Also we consider aCP net for the states that a node receiv<strong>in</strong>g, send<strong>in</strong>g, andprocess<strong>in</strong>g messages. In our model we use a newmethod to show network topology and also modifiedroute selection criteria <strong>in</strong> AODV protocol accord<strong>in</strong>g toaverage packet queue length and maximum packetqueue length <strong>in</strong> the nodes along the path. Our formalCPN models prove that if we use new selection criteria<strong>in</strong> rout<strong>in</strong>g the route reliability will be improvedconsiderably.Fig. 9. Performance improvement <strong>of</strong> routes reliability17247 | P a g e

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!