1.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 1 Contention-Aware Performance Analysis of Mobility-Assisted Routing Apoorva Jindal, Member, IEEE, and Konstantinos Psounis, Member, IEEE, Abstract—A large body of work has theoretically analyzed the performance of mobility-assisted routing schemes for intermittently connected mobile networks. However, the vast majority of these prior studies have ignored wireless contention. Recent papers have shown through simulations that ignoring contention leads to inaccurate and misleading results, even for sparse networks. In this paper, we analyze the performance of routing schemes under contention. First, we introduce a mathematical framework to model contention. This framework can be used to analyze any routing scheme with any mobility and channel model. Then, we use this framework to compute the expected delays for different representative mobility-assisted routing schemes under random direction, random waypoint and community-based mobility models. Finally, we use these delay expressions to optimize the design of routing schemes while demonstrating that designing and optimizing routing schemes using analytical expressions which ignore contention can lead to suboptimal or even erroneous behavior. Index Terms—Delay Tolerant Networks, Wireless Contention, Performance Analysis, Mobility-Assisted Routing. 31 I NTRODUCTION sparse, intermittently connected networks. However, re-Intermittently connected mobile networks (ICMNs) are cent papers [11, 17] have shown through simulations thatnetworks where most of the time, there does not exist this argument is not necessarily true. The assumptiona complete end-to-end path from the source to the of no contention is valid only for very low trafﬁc rates,destination1 . Even if such a path exists, it may be highly irrespective of whether the network is sparse or not. Forunstable because of topology changes due to mobility. higher trafﬁc rates, contention has a signiﬁcant impactExamples of such networks include sensor networks for on the performance, especially of ﬂooding-based routingwildlife tracking and habitat monitoring [1], military schemes. To demonstrate the inaccuracies which arisenetworks [2], deep-space inter-planetary networks [3], when contention is ignored, we use simulations to com-nomadic communities networks [4], networks of mobile pare the delay of three different routing schemes in arobots [5], vehicular ad hoc networks [6] etc. sparse network, both with and without contention, in Conventional routing schemes for mobile ad-hoc net- Figure 1. The plot shows that ignoring contention notworks like DSR, AODV, etc. [7] assume that a complete only grossly underestimates the delay, but also predictspath exists between a source and a destination, and incorrect trends and leads to incorrect conclusions. Forthey try to discover these paths before any useful data example, without contention, the so called sprayingis sent. Since, no end-to-end paths exist most of the scheme has the worst delay, while with contention, ittimes in ICMNs, these protocols will fail to deliver any has the best delay. Finally, note that a qualitativelydata to all but the few connected nodes. To overcome different type of intermittently connected network, thatthis issue, researchers have proposed to exploit node of non-sparse network which is intermittently connectedmobility to carry messages around the network as part due to severe mobility [26], will obviously suffer fromof the routing algorithm. These routing schemes are contention too.collectively referred to as mobility-assisted or encounter- Incorporating wireless contention complicates thebased or store-carry-and-forward routing schemes. analysis signiﬁcantly. This is because contention mani- fests itself in a number of ways, including (i) ﬁnite band- A number of mobility-assisted routing schemes for width which limits the number of packets two nodes canintermittently connected mobile networks have been exchange while they are within range, (ii) scheduling ofproposed in the literature [8–19]. Researchers have alsotried to theoretically characterize the performance of transmissions between nearby nodes which is needed to avoid excessive interference, and (iii) interference fromthese routing schemes [17, 20–25]. However, most of transmissions outside the scheduling area, which maythese analytical works ignore the effect of contention be signiﬁcant due to multipath fading [28]. So, we ﬁrston the performance arguing that its effect is small in propose a general framework to incorporate contention in the performance analysis of mobility-assisted routing• A. Jindal and K. Psounis are with the Department of Electrical Engineer- ing, University of Southern California, Los Angeles, CA, 90089. E-mail: schemes for ICMNs while keeping the analysis tractable. apoorvaj, kpsounis@usc.edu. This framework incorporates all the three manifestations 1. These networks are also referred to as delay tolerant or disruption of contention, and can be used with any mobility andtolerant networks. channel model. The framework is based on the well-
2.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 2 Epidemic Routing (No Contention) 600 Randomized Flooding (No Contention) and [12, 17] studied different spraying based schemes. Spraying Scheme (No Contention) Expected Delay (time slots) 500 Epidemic Routing (Contention) Randomized Flooding (Contention) [25, 34] are preliminary efforts of ours to analyze the per- Spraying Scheme (Contention) formance of routing schemes under contention. Speciﬁ- 400 cally, [25] studies the expected delay of epidemic routing 300 under the random walk mobility model and [34] stud- 200 ies randomized ﬂooding and a spraying based scheme 100 under the random waypoint mobility model. Here, we generalize our prior work and provide results for more 0 3.6% 4.8% 6.3% 8.6% 11.9% Expected Maximum Cluster Size 17.3% efﬁcient routing schemes under a more realistic mobility model.Fig. 1. Comparison of delay with and without contention Finally, we use these delay expressions to demonstratefor three different routing schemes in sparse networks. The that designing routing schemes using analytical expres-simulations with contention use the scheduling mechanism and sions which ignore contention can lead to inaccurate andinterference model described in Section 3. The expected max- misleading results. Speciﬁcally, we choose to study howimum cluster size (x-axis) is deﬁned as the percentage of total to optimally design spraying based schemes, since it hasnodes in the largest connected component (cluster) and is a been shown that they have superior performance [17].metric to measure connectivity in sparse networks [17]. The We compare the design decisions that result from anal-routing schemes compared are: epidemic routing [8], random- ysis with and without contention, and highlight theized ﬂooding [27] and spraying based routing [12]. scenarios where ignoring contention leads to suboptimal or even erroneous decisions.known physical layer model [29]. Prior work has used The outline of this paper is as follows: Section 2the physical layer model to derive capacity results, presents the network model used in the analysis. Sec-see, for example, [29–31], and has assumed an ideal- tion 3 presents the framework to incorporate con-ized perfect scheduler. We are interested in calculating tention in performance analysis, and then Sections 4the expected delay of various mobility-assisted routing and 5 ﬁnd the expected delay expressions for differentschemes under realistic scenarios, and for this reason we mobility-assisted routing schemes for the random direc-assume a random access scheduler. tion/random waypoint and community-based mobility We then use this framework to do a contention-aware models. Section 6 studies the impact of some approx-performance analysis for the following representative imations made during the analysis on its accuracy bymobility-assisted routing schemes for ICMNs: direct comparing the analytical results to simulation results.transmission [16] where the source waits till it meets the Section 7 then uses the expressions derived in the previ-destination to deliver the packet, epidemic routing [8] ous sections to demonstrate the inaccuracies introducedwhere the network is ﬂooded with the packet that is by ignoring contention in the design of routing schemes.routed, and different spraying-based schemes [12, 13, 23, Finally, Section 8 concludes the paper.24] where a small number of copies per packet areinjected into the network, and then each copy is routed 2 N ETWORK M ODELindependently towards the destination. We derive ex-pressions for the expected end-to-end packet delay for We ﬁrst introduce the network model we will be as-each of these schemes. suming throughout this paper. Table 1 summarizes the We ﬁrst derive delay expressions for the two most notation introduced in this section. We assume that therecommonly used mobility models, the random direction are M nodes moving in a two dimensional torus ofand the random waypoint mobility model. However, area N .2 The following two sections present the physicalreal world mobility traces have shown that random layer, trafﬁc and mobility models assumed in this paper.direction/random waypoint mobility models are not re-alistic [32, 33]. So, we also analyze these routing schemes 2.1 Physical Layer and Trafﬁc Modelfor the more realistic community-based mobility model 2.1.1 Radio Modelproposed by Spyropoulos et al [21]. The analysis for An analytical model for the radio has to deﬁne thethe community-based mobility model is similar to the following two properties: (i) when will two nodes bederivations for the random direction/random waypoint within each other’s range, (ii) and when is a transmissionmobility models. (Note that we include the analysis between two nodes successful. (Note that we deﬁne twofor the random direction/random waypoint mobility nodes to be within range if the packets they send tomodels because it is simpler, easier to understand and each other are received successfully with a non-zeronaturally extends to the derivations for the more com-plicated community-based mobility model.) 2. We assume the network area to be a two-dimensional torus Note that other papers have studied the performance because the mobility properties deﬁned in Section 2.2.2 which areof these routing schemes without contention in the net- needed for the analysis have been derived for the two-dimensional torus only. If these properties are known for other 2-D areas, thework. For example, [11, 21] studied the performance of analysis presented in this paper can be directly applied to these areasdirect transmission, [20–22] studied epidemic routing, also.
3.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 3 N Area of the 2D torus M Number of nodes in the network of real traces match with a time varying version of this K The transmission range community-based mobility model further proving that Θ The desirable SIR ratio this model captures real world mobility properties. So, sBW Bandwidth of links in units of packets per time slot we also present the delay analysis for different mobility- assisted routing schemes for the community-based mo- TABLE 1 bility model. Notation used throughout the paper.probability.) If one assumes a simple distance-based at- 2.2.1 Community-based Mobility Modeltenuation model without any channel fading or interfer- We ﬁrst deﬁne the family of Community-based mobilityence from other nodes, then two nodes can successfully models: The model consists of two states, namely theexchange packets without any loss only if the distance ‘local’ state and the ‘roaming’ state. The model alternatesbetween them is less than a deterministic value K (also between these two states. Each node inside the networkreferred to as the transmission range), else they cannot moves as follows: (i) Each node has a local community. Aexchange any packet at all. The value of K depends node’s movement consists of local and roaming epochs.on the transmission power and the distance attenuation (ii) A local epoch is a random direction movement re-parameter. However, in presence of a fading channel and stricted inside the node’s local community. (iii) A roaminginterference from other nodes, even though two nodes epoch is a random direction movement inside the entirecan potentially exchange packets if the distance between network. (iv) If the previous epoch of the node was athem is less than K, a transmission between them might local one, the next epoch is a local one with probabilitynot go through. A transmission is successful only when pl , or a roaming epoch with probability 1 − pl . (v) If thethe signal to interference ratio (SIR) is greater than some previous epoch of the node was a roaming one, the nextdesired threshold. epoch is a roaming one with probability pr , or a local We assume the following radio model: (i) Two nodes one with probability 1 − pr .are within each other’s range if the distance between The Community-based mobility model can be usedthem is less than K, and (ii) any transmission between to model a large number of scenarios by tuning itsthe two is successful only if the SIR is greater than a parameters. We choose a speciﬁc scenario closely resem-desired threshold Θ. Note that this model is not equiv- bling reality where there are r small communities. Thesealent to a circular disk model because any transmission communities are assumed to be small enough such thatbetween two nodes with a distance less than K is all nodes within a community are within each other’ssuccessful with a certain probability that depends on the range. We also assume that the nodes spend most of theirfading channel model and the amount of interference time within their respective communities. This scenariofrom other nodes. corresponds to the real scenario of different nodes shar- ing ﬁxed communities like several ofﬁce buildings on a2.1.2 Channel Model campus or several conference rooms in a hotel, whichThe analysis works for any channel model. is more realistic than a scenario where all nodes choose their community uniformly at random from the entire2.1.3 Trafﬁc Model network.Each node acts as a source sending packets to a ran-domly selected destination. 2.2.2 Mobility Properties We now deﬁne three properties of a mobility model.2.2 Mobility Model The statistics of these three properties will be used inWe will ﬁrst present the delay analysis for the ran- the delay analysis of different mobility-assisted routingdom direction/random waypoint mobility models [35] schemes.which are the most commonly used mobility models (i) Meeting Time: Let nodes i and j move accordingfor analysis as well as for simulations. However, the to a mobility model ‘mm’ and start from their stationaryreal world mobility traces show that mobility models distribution at time 0. Let Xi (t) and Xj (t) denote thewhich assume that all nodes are homogeneous and positions of nodes i and j at time t. The meeting timemove randomly all around the network, like the random (Mmm ) between the two nodes is deﬁned as the time itdirection and the random waypoint mobility models, are takes them to ﬁrst come within range of each other, thatnot realistic [32, 33]. Nodes usually have some locations is Mmm = mint {t : Xi (t) − Xj (t) ≤ K}.where they spend a large amount of time. Addition- (ii) Inter-Meeting Time: Let nodes i and j start fromally, node movements are not identically distributed. within range of each other at time 0 and then move outDifferent nodes visit different locations more often, and of range of each other at time t1 , that is t1 = mint {t : +some nodes are more mobile than others. Based on this Xi (t) − Xj (t) > K}. The inter meeting time (Mmm )intuition, Spyropoulos et al [21] proposed a more realis- of the two nodes is deﬁned as the time it takes themtic and analytically tractable community-based mobility to ﬁrst come within range of each other again, that is +model. Later, Hsu et al [36] showed that the statistics Mmm = mint {t − t1 : t > t1 , Xi (t) − Xj (t) ≤ K}.
4.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 4 (iii) Contact Time: Assume that nodes i and j come 3.1 Three Manifestations of Contentionwithin range of each other at time 0. The contact timeτmm is deﬁned as the time they remain in contact with Finite Bandwidth: When two nodes meet, they mighteach other before moving out of the range of each other, have more than one packet to exchange. Say two nodesthat is τmm = mint {t − 1 : Xi (t) − Xj (t) > K}. can exchange sBW packets during a unit of time. If they The statistics of the meeting time, inter-meeting time move out of the range of each other, they will have toand contact time for the random direction/random way- wait until they meet again to transfer more packets. Thepoint mobility models are studied by us in [37]. The number of packets which can be exchanged in a unit oftwo important properties satisﬁed by both these mobility time is a function of the packet size and the bandwidth ofmodels, which we use during the course of the analysis the links. We assume the packet size and the bandwidthare as follows: (i) the tail of the distribution of the meet- of the links to be given, hence sBW is assumed to be aing and the inter-meeting times is exponential, and (ii) given network parameter. We also assume that the sBWthe expected inter-meeting time is approximately equal packets to be exchanged are randomly selected fromto the expected meeting time. (Note that the latter is true amongst the packets the two nodes want to exchange3 .only if the corresponding stochastic process regenerates Scheduling: We assume an ideal CSMA-CA schedulingitself after each moving “epoch”. For random waypoint mechanism is in place which avoids any simultaneousthis is true by construction. For random direction we transmission within one hop from the transmitter andensure this is the case by forcing epoch lengths to be the receiver. Nodes within range of each other andlarge, see [37] for details.) having at least one packet to exchange are assumed to These statistics for the community-based mobility contend for the channel. For ease of analysis, we alsomodel are studied by us in [37, 38]. Nodes which share assume that time is slotted. At the start of the time slot,the same community have different statistics than nodes all node pairs contend for the channel and once a nodewhich belong to different communities. (Its easy to see pair captures the medium, it retains the medium for thethat nodes which share the same community meet faster entire time slot4 .and stay in contact for a longer duration.) The two Interference: Even though the scheduling mechanism isimportant properties which we use during the course of ensuring that no simultaneous transmissions are takingthe analysis are as follows: (i) The expected meeting time place within one hop from the transmitter and thefor nodes belonging to different communities is equal to receiver, there is no restriction on simultaneous trans-the expected inter-meeting time for these nodes. How- missions taking place outside the scheduling area. Theseever, note that the expected meeting and inter-meeting transmissions act as noise for each other and hence cantimes for nodes belonging to the same community are lead to packet corruption.not equal. (ii) Even though the overall statistics of the In the absence of contention, two nodes would ex-meeting and inter-meeting times for a community-based change all the packets they want to exchange whenevermobility model is not exponential, after conditioning on they come within range of each other. Contention willwhether the two nodes under consideration share the result in a loss of such transmission opportunities. Thissame community or not, the tail of the distribution of the loss can be caused by either of the three manifestations ofmeeting and inter-meeting times becomes exponential. contention. In general, these three manifestations are not independent of each other. We now propose a framework which uses conditioning to separate their effect and analyze each of them independently.3 C ONTENTION A NALYSIS 3. Note that assuming a random queueing discipline yields the sameThis section introduces a framework to analyze any rout- results as FIFO in our setting (yet simpliﬁes analysis). This is so becauseing scheme for ICMNs with contention in the network. a work conserving queue yields the same queueing delay for constant size packets irrespective of whether the queue service discipline isWe ﬁrst identify the three manifestations of contention FIFO or random queueing. In addition, due to packet homogeneity (allin Section 3.1 and then describe the framework. The packets are treated the same) the expected end-to-end delay will alsoproposed framework will work for any mobility model be the same. Of course, if packet homogeneity is lost, for example by assigning higher priority to packets that are closer to their destination,in which the process governing the mobility of nodes is the expected end-to-end delay will decrease as packets with a smallerstationary and the movement of each node is indepen- end-to-end service requirement will be serviced ﬁrst.dent of each other. However, for ease of presentation, 4. We do not describe the exact implementation of this CSMA- CA algorithm here as we ignore implementation imperfections. Thiswe ﬁrst present it for a mobility model with a uniform allows us to focus on the fundamental performance properties ofnode location distribution in Section 3.2 (commonly mobility-assisted routing schemes in ICMNs without worrying aboutused mobility models like random direction and random implementation details. Note that any such implementation would use control messages like RTS/CTS and random backoffs. For example, thewaypoint on a torus satisfy this assumption [21, 39]). We transmitters of all contending node pairs could use a backoff timerthen show how to extend it to mobility models with to arbitrate channel access. And, once a backoff timer expires, thea non-uniform node location distribution by presenting corresponding node pair could exchange RTS-CTS messages to inform the rest of the contending pairs to stay silent. Contrary to our analysis,the framework for the community-based mobility model such control packets may also collide or get lost but as we said we arein Section 3.3.1. ignoring such imperfections.
5.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 53.2 The Framework (i) Finite Bandwidth Ebw Event that ﬁnite link bandwidth allows exchangeLets look at a particular packet, label it packet A. Sup- of packet Apose two nodes i and j are within range of each other Event that i and j want to exchange s other S Es packets given there are S distinct packets inat the start of a time slot and they want to exchange the systemthis packet. Let ptxS denote the probability that they pR ex Probability that nodes i and j want to exchangewill successfully exchange the packet during that time a particular packet for routing scheme Rslot. First, we look at how the three manifestations (ii) Scheduling Esch Event that scheduling mechanism allows i and jof contention can cause the loss of this transmission to exchange packetsopportunity. Table 2 summarizes the extra notation used Ea Event that there are a nodes within one hop fromin this section. the transmitter and the receiver Finite Bandwidth: Let Ebw denote the event that Ec Event that there are c nodes within two hops but not within one hop from the transmitter and the receiverthe ﬁnite link bandwidth allows nodes i and j to Expected number of possible transmissions whoseexchange packet A. The probability of this event t(a, c) transmitter is within 2K distance from thedepends on the total number of packets which nodes transmitter ppkt Probability that two nodes have at least onei and j want to exchange. Let there be a total of S packet to exchangedistinct packets in the system at the given time (label (iii) Interferencethis event ES ). Let there be s, 0 ≤ s ≤ S − 1, other Einter Event that transmission of packet A is notpackets (other than packet A) which nodes i and j corrupted due to interference S Event that packet A is successfully exchangedwant to exchange (label this event Es ). If s ≥ sBW , IM −a inspite of the interference from M − a nodesthen the sBW packets exchanged are randomly selected outside the scheduling areafrom amongst these s + 1 packets. Thus, P (Ebw ) = E[x] Average number of interfering transmissions “P ” sBW −1 PS−1 P (Es ) + s=sBW ss+1 P (Es ) . S S ToP S P (ES ) BW s=0simplify the analysis, we make our ﬁrst approximation TABLE 2here by replacing the random variable S by its expected Notation used in Section 3.2value in the expression for P (Ebw )5 (see Equation given that nodes i and j exchanged this packet. Let there(1) for the ﬁnal expression for P (Ebw )). Note that be M − a nodes outside the transmitter’s schedulingsimulations results presented in Section 6 verify that area (this is equivalent to event Ea ). If two of thesethis approximation does not have a drastic effect on the nodes are within the transmission range of each other,accuracy of the analysis. then they can exchange packets which will increase the Scheduling: Let Esch denote the event that the schedul- interference for the transmission between i and j. Letsing mechanism allows nodes i and j to exchange packets. label the event that packet A is successfully exchangedThe scheduling mechanism prohibits any other trans- inspite of the interference caused by these M − a nodesmission within one hop from the transmitter and the as IM −a . Then, P (Einter | Ea ) = P (IM −a ).receiver. Hence, to ﬁnd P (Esch ), we have to determine Packet A will be successfully exchanged by nodes ithe number of transmitter-receiver pairs which have at and j only if the following three events occur: (i) theleast one packet to exchange and are contending with scheduling mechanism allows these nodes to exchangethe i-j pair. Let there be a nodes within one hop from packets, (ii) nodes i and j decide to exchange packet Athe transmitter and the receiver (label it event Ea ) and from amongst the other packets they want to exchange,let there be c nodes within two hops but not within and (iii) this transmission does not get corrupted due toone hop from the transmitter and the receiver (label interference from transmissions outside the schedulingit event Ec ). These c nodes have to be accounted for area. Thus,because a node at the edge of the scheduling area can Xbe within the transmission range of one of these c nodes ptxS = P (Ebw ) P (Ea , Ec )P (Esch | Ea , Ec )P (Einter | Ea )and will contend with the desired transmitter/receiver a,cpair. For example, transmission between nodes P and 0 1 sBW −1 E[S]−1 E[S] X E[S] X sBW P (Es )Q in Figure 2 is not allowed even though node Q is =@ P (Es ) + A s+1not within the scheduling area. Let t(a, c) denote the s=0 s=s BWexpected number of possible transmissions contending X P (Ea )P (Ec | Ea )P (IM −a ) × . (1)with the i-j pair. By symmetry, all the contending nodes a,c t(a, c)are equally likely to capture the channel. So, P (Esch |Ea , Ec ) = 1/t(a, c). Remark: Note that even though the proposed frame- Interference: Let Einter denote the event that the trans- work models the main factors contributing to contentionmission of packet A is not corrupted due to interference like bandwidth restrictions, random access scheduling, fading effects and interference from multiple nodes, 5. We incorporate the arrival process through E[S] in the analysis. it does not model everything. Speciﬁcally, it does notE[S] depends on the arrival rate through Little’s Theorem. Thus, after incorporate capture effects, losses due to packet colli-deriving the expected end-to-end delay for a routing scheme in termsof E[S], Little’s Theorem can be used to express the delay in terms of sions, losses due to ﬁnite queue buffers and auto-rateonly the arrival rate. adaptation at the physical layer. Even though it would be
6.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 6doable to incorporate these effects in the framework, this 2Kwould complicate the analysis quite a bit. Given that our AR AT 2 2 AT 1 AR 1end-goal is to analytically study the fundamental delay P Qproperties of mobility-assisted routing schemes under K Txcontention, we choose not to further complicate the y Rxcontention model in an effort to strike the right balance xbetween simplicity, analytical tractability, and realism. u1Instead, we only offer a qualitative discussion on howone could incorporate these effects in the framework inSection 3.3.2. A3 (x,y) Next, we ﬁnd expressions for the unknown values inEquation (1). Fig. 2. Tx and Rx denote the transmitter and the receiver. AT 1 and AR (AT and AR ) denotes the circular area within one hop 1 2 23.2.1 Finite Bandwidth (two hops) from the transmitter and receiver respectively. Thus E[S] A1 is the area within AT ∪AR and A2 is the area within AT ∪AR . 1 1 2 2To account for ﬁnite bandwidth, we have to ﬁnd P (Es ) Node-pair P and Q also contend with the desired transmitter(the probability that nodes i and j have s other packets and receiver even though Q is not within one hop from either Txto exchange given there are E[S] distinct packets in the or Rx. Finally, node u1 is a node within the scheduling area and Rsystem). Let pex be the probability that nodes i and j at a distance x from the transmitter and at a distance y from thewant to exchange a particular packet for the routing receiver. The shaded area represents A3 (x, y).scheme R. Now, since there are E[S] − 1 packets other „ « E[S] E[S] − 1than packet A in the network, P (Es ) = s that nodes i and j are already within the scheduling area. „ «` R ´s ` pex 1 − pR ´E[S]−s−1 . The value of pR depends on M −2 ex ex So, P (Ea) = (p1 )a−2 (1 − p1 )M −a . a−2the routing mechanism at hand because which packets Corollary 3.1: P (Ec | Ea ) = Mc (p2 )c (1 − p2 )M −a−c ` −a´should the two nodes exchange is dictated by the routingpolicy. Note that this is the only term affected by the where p2 = A2N 1 is the probability that a particular −Arouting mechanism in the analysis. We will derive its node lies within two hops from either the transmittervalue for different routing mechanisms in Section 4. or the receiver but not within the scheduling area, and “ √ ` 1 ´” A2 = 8π + 2 935 − 8cos−1 6 K 2 is the average value of the area within two hops from either the transmitter or3.2.2 Scheduling the receiver.To account for scheduling, we have to ﬁgure out P (Ea ) Lemma 3.2: t(a, c) = 1 + pa ppkt a − 1 + acpc ppkt ` `` ´ ´´ 2(the probability that there are a nodes within the A3 (x,y) RR where pa = x,y A1 f (x, y)dxdy is the probabilityscheduling area), P (Ec | Ea ) (the probability that out of that two nodes are within range of each other giventhe remaining M − a nodes, there are c nodes within that both of them are in the scheduling area, pc =two hops from the transmitter or the receiver but not in πK 2 −A3 (x,y) RR x,y A2 f (x, y)dxdy is the probability that twothe scheduling area) and t(a, c) (the expected number of nodes are within range of each other given that one ofpossible transmissions competing with the i-j pair). them is within the scheduling area and the other node is Each of the other M − 2 nodes (other than i and j) outside the scheduling area but within two hops from ei-are equally likely to be anywhere in the two dimen- ther the transmitter or the receiver, ppkt = 1− 1 − pR ` ex ´E[S]sional space because the mobility model has a uniform is the probability that two nodes have at least one packetstationary distribution. So, we use geometric arguments to exchange, f (x, y)is the probability that a node withinto ﬁgure out how many transmissions contend with the the scheduling area is at a distance x and y from thetransmission between i and j. transmitter and the receiver respectively, and A3 (x, y) is Lemma 3.1: P (Ea) = M −2 (p1 )a−2 (1 − p1 )M −a where ` ´ a−2 the average value of the area within the scheduling area A1p1 = N is the probability that a particular node lies and within one hop from a node at a distance x and ywithin the scheduling area, which has an average value “ from the transmitter and the receiver (see Figure 2). We √ ` 1 ´”equal to A1 = 2π + 4 9 2 − 2cos−1 3 K 2 . state the value of f (x, y) and A3 (x, y) in the proof. Proof: The node is equally likely to be anywhere in Proof: See Appendix.the two dimensional space. Consequently, p1 = Pr[a par-ticular node is within one hop of either the transmitter or 3.2.3 Interferencethe receiver] = Pr[a particular node is within one hop of The interference caused by other nodes depends on thethe transmitter] + Pr[a particular node is within one hop number of simultaneous transmissions and the distanceof the receiver] - Pr[a particular node is within one hop between the transmitters of these simultaneous transmis-of both the transmitter and the receiver]. Replacing the sions and the desired receiver. Given that there are M −adistance between the transmitter √ “ and the receiver by its ” nodes outside the scheduling area (event Ea ), let there be 2π+ 4 9 2 −2cos−1 ( 3 ) K 2 1expected value yields p1 = N . Recall x interfering transmissions at a distance of r1 , r2 , . . . , rx
7.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 7 4 “ ”−1 Qx Θr0from the desired receiver. Then, using the law of total i=1 1+ , where r0 is the distance between nodes 4 riprobability, we get i and j. Replacing r0 and x with their expected values and removing the condition on ri ’s by using the law of P (IM −a ) = X X P (IM −a | x, r1 , r2 , . . . rx ) × total probability yields the result. x r1 ,r2 ,...,rx Note that the transmitters of the simultaneous transmis- P (r1 , r2 , . . . , rx | x)P (x). (2) sions as well as the desired receiver will move duringWhile it is possible to calculate P (x) to substitute in the the message exchange. Thus, the amount of interfer-expression of P (IM −a ), the resulting expression will be ence at the receiver will vary. We ignore the effect ofvery complicated. Motivated by this, we replace x by its this variation as it will cause negligible change in theexpected value. (Simulations results presented in Section value of P (IM−a ) because of the following two reasons.6 verify that this approximation does not have a drastic (i) The density function of the distance between theeffect on the accuracy of the analysis.) desired receiver and the transmitters of simultaneous transmissions will still be dictated by Equation (3) if First, we compute E[x]. There are M2 ` −a´ possible these transmitters remain outside the scheduling areapairs of nodes, and for a particular pair of nodes to during the entire message exchange. (ii) In a sparseinterfere with the transmission between i and j, they network, the probability that a signiﬁcant number ofshould be within range of each other, have at least interfering transmitters move within the scheduling areaone packet to exchange, and the scheduling mecha- during the message exchange is negligible.nism should allow them to exchange packets. Hence,the expected number of interfering transmissions equals “P ”` Now, we have all the components to put together toπK 2 1 M −a ´ N ppkt a,c t(a,c) P (Ea )P (Ec | Ea ) 2 . ﬁnd ptxS in Equation (1). In Sections 4 and 5, we present Now we compute f (r) which denotes the probability case studies to demonstrate how the framework is useddensity function of the distance between any two nodes. for performance analysis of routing schemes.(Since each node is moving independently of each other,f (r) is the same for all the nodes.) 3.3 Extensions The following equation states the expression for f (r) Now we discuss how to remove certain simplifyingfor a 2D torus of area N (the derivation is contained assumptions we have used so far.in [40]): ( √ 3.3.1 Non-Uniform Node Location Distribution: 2πr N N r≤ 2 Community-based Mobility Model f (r) = 4r “ π “ √ ”” N √ N √ . (3) N 2 − 2cos −1 2r 2 < r < √N2 Equation (1) is independent of the mobility model, and hence still holds. However, to extend the framework P (IM −a | x, r1 , r2 , . . . rx ) is the complement of the out- to a mobility model with a non-uniform node locationage probability and depends on the channel model. The distribution, the values of P (Ea ), P (Ec | Ea ), t(a, c) andchannel model only affects this term in the entire anal- P (IM −a ) will have to be re-derived. In general, theseysis. The outage probabilities have been calculated for expressions will be evaluated after conditioning on theseveral realistic channel models including the Rayleigh- current transmitter and receiver location, and then, theRayleigh fading channel [41] (both the desired signal law of total probability would be used to remove theand the interfering signal are Rayleigh distributed), the condition.Rician-Rayleigh fading channel [42] (the desired signal For the community-based mobility model described inhas Rician and the interfering signal has Rayleigh distri- Section 2.2, we will condition over whether the currentbution), and the superimposed Rayleigh fading and log transmitter and receiver belong to the same communitynormal shadowing channel [43]. The results from these or to different communities and whether they meetpapers can be directly used here to make the framework within a community or outside. For nodes belonging towork for any of these channel models. The following the same community who meet within their commonlemma uses the result from [41] to derive P (IM−a ) for community, let pR txS1 denote the probability that thesethe Rayleigh-Rayleigh fading channel model. two nodes are able to successfully exchange a particular Lemma 3.3: For the Rayleigh-Rayleigh fading channel packet inspite of contention. The probability of nodes „ 4 «−E[x] Θ( 2K )model, P (IM −a ) = R 1+ 3 f (r)dr . belonging to different communities meeting within a r r4 community is negligible as the communities are very Proof: Kandukuri et al [41] evaluated the outage small. (Similarly, the probability of nodes belonging toprobability for the Rayleigh-Rayleigh fading channel “ R ”−1 the same community meeting within a community not ΘPito be 1 − x R , where P0 is the received Q i=1 1 + P R their own is also negligible.) If two nodes do not meet 0power from the desired signal and PiR is the received within any community, let pR denote the probability txS2power from the ith interferer. Assuming all the nodes that these two nodes are able to successfully exchangeare transmitting at the same power level and α = 4 in a particular packet inspite of contention (irrespective ofthe distance attenuation model, P (IM −a | x, r1 , r2 , . . . rx ) = whether the two nodes belong to the same community
8.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 8or different communities). The following lemma derives one could ﬁrst ﬁnd the probability that a particularthe value of pR . txS1 “P transmission rate is employed at a link, derive the value sBW −1 E[S] Lemma 3.4: pR P (Es ) + E[S]−1 ss+1 of ptxS conditioned on the value of the transmission rate, P txS1 = BW s=0 s=sBW E[S] ” „P M P 1 and then use the law of total probability to remove theP (Es ) × r a,c P r(Ek ) t(a,c,k) P (Ea | Ek )P (Ec | Ea , Ek ) k=2 condition.P (IM −a | Ek )), where: (a) Ek is the event that there are k nodes in the commu- 4 D ELAY A NALYSIS FOR P OPULAR M OBILITY ` M −2´ k−2 M −k 1−pr nity. P (Ek ) = k−2 πl πrr r where πl = 2−pl −pr M ODELS is the probability that a particular node is in the 1−pl In this section, we ﬁnd the expected end-to-end packet local state and πr = 2−pl −pr is the probability that a delay of four different mobility-assisted routing schemes particular node is in the roaming state. for intermittently connected mobile networks, when (b) P (Ea | Ek ), P (Ec | Ea , Ek ) and P (IM −a | Ek ) are nodes move according to the random direction or ran- derived in a manner similar to the derivation of the dom waypoint mobility models. For each routing scheme corresponding probabilities in Section 3.2.2. ```k´ ´ `a´ ´ R, we ﬁrst deﬁne the routing algorithm, then derive (c) t(a, c, k) = 1 + ppkt 2 − 1 + pa 2 + acpc . The val- the value of pR and ﬁnally derive the value of the ex ues of pa , pc and ppkt were derived in Lemma 3.2. expected end-to-end delay6 . Parameters that depend onSketch of Proof: The Lemma can be proved using geo- the mobility model, are denoted by using ‘mm’ as ametric and combinatorial arguments similar to the ones super- or sub-script.made in the proofs in Sections 3.2.2 and 3.2.3. The maindifference here is that now only M − k nodes are moving r 4.1 Direct Transmissionaccording to the random direction mobility model overthe entire network while the rest of the k nodes are Direct transmission is one of the simplest possible rout-within the transmission range of the transmitter and the ing schemes. Node A forwards a message to anotherreceiver as well as within the transmission range of each node B it encounters, only if B is the message’s destina-other. For more details, see [40].2 tion. We now analyze its performance with contention. dt 2 The value of pR is also derived in a similar fashion. txS2 Lemma 4.1: pex = M (M −1) . Proof: In direct transmission, each packet undergoes3.3.2 Other extensions: Capture, collisions, ﬁnite only one transmission, from the source to the destina-buffers, and auto-rate adaptation tion. A packet has node i as its source with probability 1 . The probability that j is the destination given i is theThis is a qualitative discussion on how one could further M source is M1 (the destination is chosen uniformly atextend the contention model to account for additional random from amongst the other M − 1 nodes). Thus, the −1real-world limitations. probability that i and j want to exchange a particularCapture: Two nodes within a distance K from each packet is equal to 2 (i is the source and j is the M (M −1)other can transmit/receive simultaneously due to fad- destination or vice versa).ing/shadowing effects. One could derive the probability mm Theorem 4.1: Let E[Ddt ] denote the expected delaythat capture occurs in a manner similar to the derivation of direct transmission. Then, E[Dmm ] = E[Mmm ] , where dt pdtof P (IM−a ). Then, one would incorporate this probabil- success E[Mmm ] is the expected meeting time of the mobilityity in the derivation of t(a, c). ´E[τmm ] model ‘mm’, pdt dt ` success = 1 − 1 − ptxS is the prob-Collisions: The collision probability of a link depends on ability that when two nodes come within range of eachthe local topology around this link. One could use results other, they successfully exchange the packet before goingfrom the literature, e.g. [44, 45], to ﬁnd the collision out of each other’s range (within the contact time τmm ).probability for a given topology for practical CSMA- Proof: The expected time it takes for the source toCA schemes like 802.11, then ﬁnd the probability of the meet the destination for the ﬁrst time is E[Mmm ] (thetopology occurring in the network, and ﬁnally remove expected meeting time). With probability 1 − pdt , the txSthe condition on the topology by using the law of total two nodes are unable to exchange the packet in one timeprobability. slot due to contention. They are within range of eachFinite Buffers: The expected number of packets in the other for E[τmm ] number of time slots. (We are makingqueue of a node can be easily calculated as a function of an approximation here by replacing τmm by its expectedE[S]. Then well known bounds like the Chernoff bound ´E[τmm ] value.) Thus pdt dt ` success = 1 − ptxS is the probabilitycould be used to ﬁnd the probability that the number of that the source and the destination fail to exchange thepackets in the queue exceed the buffer size. packet while they are within range of each other. ThenAuto-rate Adaptation: Depending on the SINR value on they will have to wait for one inter-meeting time to comethe link, the transmission rate of each link may vary. within range of each other again. If they fail yet again,A different transmission rate will obviously change the they will have to wait another inter-meeting time tovalue of sBW . Also, since each transmission rate corre-sponds to a different modulation scheme, the value of 6. Note that pR is the only parameter in the contention framework exΘ will also change. To incorporate auto-rate adaptation, which depends on the routing scheme.
9.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 9come within range. Thus, E[Ddt ] = E[Mmm ] + pdt´ mm success Proof: Let there be m copies of a particular packet in (1 − psuccess )E[Mmm ] + 2(1 − psuccess )2 E[Mmm ] + . . . = dt + dt +` the network. Then the probability that node i has a copy + (1−pdt success )E[Mmm ] + m is equal to M and the probability that node j does notE[Mmm ] + pdt . Since E[Mmm ] = E[Mmm ] for successboth random direction and random waypoint mobility have a copy given that node i has one is equal to (M −m) . M −1models, E[Ddt ] evaluates to E[Mmm ] . mm Thus, the probability that nodes i and j want to exchange pdt success the packet given that there are m copies of the packet4.2 Epidemic Routing in the network is equal to 2m(M −m) . Now, we ﬁnd the M (M −1) probability that there are m copies of the packet in theEpidemic routing [8] extends the concept of ﬂooding network. The copies of a packet keep on increasing tillto ICMN’s. It is one of the ﬁrst schemes proposed to the packet is delivered to the destination. The probabilityenable message delivery in such networks. Each node that the destination is the k th node to receive a copymaintains a list of all messages it carries, whose delivery of the packet is equal to M1 for 2 ≤ k ≤ M . Ais pending. Whenever it encounters another node, the −1 packet will have m copies in the network only if thetwo nodes exchange all messages that they don’t have destination wasn’t amongst the ﬁrst m − 1 nodes toin common. This way, all messages are eventually spread receive a copy. The amount of time a packet has m copiesto all nodes. The packet is delivered when the ﬁrst node mm in the network is equal to E[Depidemic (m)]. Hence, thecarrying a copy of the packet meets the destination. The probability that there are m copies of a packet in thepacket will keep on getting copied from one node to mm E[Depidemic (m)] network equals M −1 M1 Pi E[Dmm . Applying Pthe other node till its Time-To-Live (TTL) expires. For i=m −1 j=1 epidemic (j)]ease of analysis, we assume that as soon as the packet the law of total probability over the random variable mmis delivered to the destination, no further copies of the m and substituting the value of E[Depidemic (m)] from epidemicpacket are spread. Lemma 4.2 gives pex . To ﬁnd the expected end-to-end delay for epidemic Theorem 4.2: E[Mmm ] E[Depidemic ] = M −1 M1 mm Pi m=1 m(M −m)pepidemic . mm Prouting, we ﬁrst ﬁnd E[Depidemic (m)] which is the ex- i=1 −1 successpected time it takes for the number of nodes having a Proof: The probability that the destination is the ithcopy of the packet to increase from m to m + 1. node to receive a copy of the packet is equal to M1 −1 mm E[Mmm ] Lemma 4.2: E[Depidemic (m)] = m(M −m)pepidemic , where for 2 ≤ i ≤ M . The amount of time it takes for the ith success Pi ”E[τmm ] mm copy to be delivered is equal to m=1 E[Depidemic (m)]. “psuccess = 1 − 1 − pepidemic epidemic txS . Applying the law of total probability over the random Proof: When there are m copies of a packet in the mm variable i and substituting the value of E[Depidemic (m)]network, if one of the m nodes having a copy meets mm from Lemma 4.2 yields E[Depidemic ].one of the other M − m nodes not having a copy, thereis a transmission opportunity to increase the number ofcopies by one. Since ICMNs are sparse networks, we 4.3 Spraying a small ﬁxed number of copieslook at the tail of the distribution of the meeting time Another approach to route packets in sparse networkswhich is exponential for both the random direction and is that of controlled replication or spraying [12, 13, 23,the random waypoint mobility models. The time it takes 24]. A small, ﬁxed number of copies are distributed tofor one of the m nodes to meet one of the other M − m a number of distinct relays. Then, each relay routes itsnodes is equal to the minimum of m(M − m) exponen- copy independently towards the destination. By havingtials, which is again an exponential random variable with multiple relays routing a copy independently and inmean m(Mmm ] . Now when they meet, the probability E[M −m) parallel towards the destination, these protocols createthat the two nodes are able to successfully exchange the enough diversity to explore the sparse network morepacket is pepidemic . If they fail to exchange the packet, success efﬁciently while keeping the resource usage per messagethey will have to wait one inter-meeting time to meet low. +again. Since E[Mmm ] = E[Mmm ] for both the random Different spraying schemes may differ in how theydirection and the random waypoint mobility model, and distribute the copies and/or how they route each copy.both meeting and inter-meeting times have memoryless We study two different spraying based routing schemestails, the expected time it takes for one of the m nodes to here. These two differ in the way they distribute theirmeet one of the other M − m nodes again is still equal copies.to m(Mmm ] . Hence, E[Depidemic (m)] = pepidemic m(Mmm ] + E[M −m) mm success E[M −m)2psuccess (1−pepidemic ) m(Mmm ] +. . . = epidemic E[M E[Mmm ] 4.3.1 Source Spray and Wait success epidemic . The −m) m(M −m)psuccessvalue of pepidemic can be derived in a manner similar to Source spray and wait is one of the simplest spraying successthe derivation of pdt schemes proposed in the literature [12]. For this scheme, success in Theorem 4.1. Now, we ﬁnd the value of pepidemic and then ﬁnd the source node forwards all the copies (lets label the exthe expected end-to-end delay for epidemic routing (de- number of copies being sprayed as L) to the ﬁrst L mmnoted by E[Depidemic ]). distinct nodes it encounters. (In other words, no other Lemma 4.3: pepidemic ex = PM −1 2m(M −m) PM −1 1 node except the source node can forward a copy of the m=1 M (M −1) i=m M −1 1 m(M −m) packet.) And, once these copies get distributed, eachPi 1 . copy performs direct transmission. j=1 j(M −j)
10.
IEEE TRANSACTIONS ON MOBILE COMPUTING, ACCEPTED JULY 2008 10 First, we ﬁnd the value E[Dssw (m)], then we ﬁnd pssw mm ex Proof: The proof runs along the same lines as theand ﬁnally, we derive the expected end-to-end delay for proof of Lemma 4.3. mmsource spray and wait (denoted by E[Dssw ]). Theorem 4.4: E[Df sw ] = L pdest (i) i mm f sw mm m=1 E[Df sw (m)]. P P i=1 E[Mmm ] ( mm (M −1)pssw 1≤m<L Proof: The proof runs along similar lines as the proof Lemma 4.4: E[Dssw (m)] = success E[Mmm ] Lpssw m=L of Theorem 4.2. successwhere pssw = 1 − (1 − success pssw )E[τmm ] txS . Proof: See Appendix. 5 D ELAY A NALYSIS OF ROUTING S CHEMES ssw mm “ ” 2Lpdest (L) E[Dssw (L)] Lemma 4.5: pssw ex = M (M −1) PL mm + WITH THE C OMMUNITY - BASED M OBILITY“ mm ”k=1 E[Dssw (k)] 2 PL−1 PL ssw E[Dssw (m)] M −1 m=1 i=m pdest (i) i 8 “Q P mm E[Dssw (k)] k=1 ” , where M ODEL i−1 M −j−1 i < 1≤i<L In this section, we derive the expected delay valuespssw (i) = “j=1 M −1 M −1 is the dest : Qi−1 M −j−1 ” i=L for four different mobility-assisted routing schemes with j=1 M −1 the community-based mobility model. We ﬁrst analyzeprobability that the destination is the (i + 1)th node to direct transmission and epidemic routing as these tworeceive a copy of the packet. form the basic building block for all routing schemes. Proof: The proof runs along the same lines as the Then, we analyze two different spraying based schemes:proof of Lemma 4.3. fast spray and wait and fast spray and focus which differ Theorem 4.3: E[Dssw ] = L pssw (i) i mm mm m=1 E[Dssw (m)]. P P i=1 dest in the way they route each individual copy towards the Proof: The proof runs along similar lines as the proof destination after the spray phase. Note that the value ofof Theorem 4.2. pR for each routing scheme remains the same as derived ex4.3.2 Fast Spray and Wait in Section 4. The derivation of the expected delay for the community-based mobility model uses argumentsIn Fast Spray and Wait, every relay node can forward similar to the ones used in the derivation of the expecteda copy of the packet to a non-destination node which delay for the random direction / random waypoint mo-it encounters in the spray phase. (Recall that in source bility model. The proofs which are very similar are notspray and wait, only the source node can forward copies discussed to keep the exposition interesting. To simplifyto non-destination nodes.) There is a centralized mech- the presentation in this section, we assume that theanism which ensures that after L copies of the packet number of nodes sharing a community is equal acrosshave been spread, no more copies get transmitted to non- all r communities, that is the number of nodes sharing adestination nodes. Note that this is not a practical way to community is equal to M . Finally, we deﬁne the notation rdistribute copies, however we include it in the analysis related to the statistics of the mobility properties for thebecause it spreads copies whenever there is any oppor- community-based mobility model. Let E[Mcomm,same ]tunity to do so and hence has the minimum spraying + + (E[Mcomm,dif f ]), E[Mcomm,same ] (E[Mcomm,dif f ]) andtime when there is no contention in the network. Once E[τcomm,same ] (E[τcomm,dif f ]) denote the expected meet-these copies get distributed, each copy performs direct ing time, inter-meeting and contact time for nodes whichtransmission. We now derive the expected delay of fast belong to the same community (belong to different com-spray and wait with contention in the network. munities) respectively. Please refer to [37, 38] for their mm First, we ﬁnd the value E[Df sw (m)], then we ﬁnd pf sw ex exact values.and ﬁnally, we derive the expected end-to-end delay for mmfast spray and wait (denoted by E[Df sw ]). All the deriva-tions are very similar to the corresponding derivations 5.1 Direct Transmissionfor epidemic routing. The only difference is that when comm Let E[Ddt ] denote the expected delay of direct trans-m = L nodes have a copy of the packet, a transmission mission for the community-based mobility model. Fur-opportunity will arise only when one of these m = L ther, let pdt success1 be the probability that when two nodesnodes meet the destination. 8 belonging to the same community come within each E[Mmm ] < f sw 1≤m<L other’s range, they successfully exchange the packet mm m(M −m)psuccess Lemma 4.6: E[Df sw (m)] = E[Mmm ] : Lp f sw m=L before going out of each other’s range and let pdt success2 “ ”E[τmmsuccess ] be the probability that when two nodes belonging to f swwhere pf sw success = 1 − 1 − ptxS . different communities come within each other’s range, Proof: The proof runs along the same lines as the they successfully exchange the packet before going outproof of Lemma 4.4. „ « of each other’s range. f sw mm 2Lpdest (L) E[Df sw (L)] (r−1)m E[Mcomm,dif f ] Lemma 4.7: pf sw ex = M (M −1) PL E[D mm (k)] + Theorem 5.1: E[Ddt ] comm = r(m−1) pdt + k=1 f sw „ success2« +„ « 2m(M −m) mm E[Df sw (m)] m−r (1−pdt success1 )E[Mcomm,same ] , PL−1 PL f sw m=1 M (M −1) i=m pdest (i) i P mm , r(m−1) E[Mcomm,same ] + pdt k=1 E[Df sw (k)] success1 1 where pdt = 1 − (1 − pdt )E[τcomm,dif f ] and 1≤i<L success1 txS1where pf sw (i) = M −1 is the probability dest M −L M −1 i=L pdt success2 = 1 − (1 − pdt )E[τcomm,same ] txS2 .that the destination is the (i + 1)th node to receive a Proof: The probability that the destination belongs tocopy of the packet. a different community than the source is equal to (r−1)m . r(m−1)
Be the first to comment