IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                           ...
IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR                                                          1...
9. enabling efficient peer to-peer resource sharing in wireless mesh networks
9. enabling efficient peer to-peer resource sharing in wireless mesh networks
9. enabling efficient peer to-peer resource sharing in wireless mesh networks
9. enabling efficient peer to-peer resource sharing in wireless mesh networks
Upcoming SlideShare
Loading in …5
×

9. enabling efficient peer to-peer resource sharing in wireless mesh networks

610 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
610
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

9. enabling efficient peer to-peer resource sharing in wireless mesh networks

  1. 1. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 1 Enabling Efficient Peer-to-Peer Resource Sharing in Wireless Mesh Networks Claudia Canali, Member, IEEE, M. Elena Renda, Paolo Santi, and Simone Burresi Abstract—Wireless mesh networks are a promising area for the deployment of new wireless communication and networking technologies. In this paper, we address the problem of enabling effective peer-to-peer resource sharing in this type of networks. Starting from the well-known Chord protocol for resource sharing in wired networks, we propose a specialization that accounts for peculiar features of wireless mesh networks: namely, the availability of a wireless infrastructure, and the 1-hop broadcast nature of wireless communication, which bring to the notions of location-awareness and MAC layer cross-layering. Through extensive packet- level simulations, we investigate the separate effects of location-awareness and MAC layer cross-layering, and of their combination, on the performance of the P2P application. The combined protocol, M ESH C HORD, reduces message overhead of as much as 40% with respect to the basic Chord design, while at the same time improving the information retrieval performance. Notably, differently from the basic Chord design, our proposed M ESH C HORD specialization displays information retrieval performance resilient to the presence of both CBR and TCP background traffic. Overall, the results of our study suggest that M ESH C HORD can be successfully utilized for implementing file/resource sharing applications in wireless mesh networks. Index Terms—Wireless mesh networks, community networks, distributed hash tables, peer-to-peer resource sharing, cross-layering. 31 I NTRODUCTION innovative services for the community, such as sharing of community-related resources, live broadcast of localW IRELESS mesh networks are a promising tech- nology for providing low-cost Internet access towide areas (entire cities or rural areas), and to enable events, distributed backup systems, and so on. As the above mentioned innovative applications sug-the creation of new type of applications and services gest, peer-to-peer resource sharing is expected to play anfor clients accessing the network. Differently from other important role in forthcoming wireless networks basedtypes of wireless multi-hop networks, wireless mesh on the mesh technology. In this paper, we investigatenetworks are composed of two types of nodes: mostly the feasibility of the well-known Chord algorithm [24]stationary wireless access points (routers), and mobile for peer-to-peer resource sharing in wired networks inwireless clients. Routers are connected to each other a wireless mesh network environment. Starting fromthrough wireless links, and provide a wireless access the basic Chord design, we propose a specialization –infrastructure to wireless clients. Some of the routers named M ESH C HORD – that accounts for peculiar fea-are connected to the Internet via wired links, and act tures of mesh networks: namely, i) the availability of aas gateways for the other routers and for the clients. wireless infrastructure, which enables location-aware ID Among innovative applications enabled by mesh net- assignment to peers, and ii) the 1-hop broadcast natureworking, we mention wireless community networks of wireless communications, which is exploited through(see, e.g., the Seattle Wireless initiative [23]), in which a cross-layering technique that bridges the MAC to theusers in a community (neighborhood, city, rural area, overlay layer.etc.) spontaneously decide to share their communication We evaluate the performance of Chord and M ESH -facilities (wireless access points) and form a wireless C HORD in a wireless mesh network environmentmulti-hop network to be used by community members. through extensive packet-level simulations. The re-Wireless community networks can be used to share the sults of the simulations show that M ESH C HORD out-cost of broadband Internet access, but also to realize performs the basic Chord design both in terms of reduced message overhead for overlay maintenance• C. Canali is with the Dept. of Information Engineering, University of (mainly achieved by location-awareness), and in terms Modena and Reggio Emilia, Via Vignolese 905, 41100 Modena, Italy. This of increased information retrieval efficiency (mainly work was done when Dr. Canali was a Research Assistant at the Istituto achieved by cross-layering). Since communication band- di Informatica e Telematica, Consiglio Nazionale delle Ricerche, Pisa, Italy. E-mail: claudia.canali@unimore.it. width is a limited resource in wireless networks, we• M. E. Renda and P. Santi are with the Istituto di Informatica e Telematica, evaluate Chord/M ESH C HORD performance also in pres- Consiglio Nazionale delle Ricerche, Via G. Moruzzi 1, 56124, Pisa, Italy. ence of different types of background traffic. We con- E-mail: {elena.renda, paolo.santi}@iit.cnr.it.• S. Burresi is with the Value Team S.P.A., Italy. This work was done when sider congestion-unaware, CBR traffic, and congestion- the author was a student of the Dept. of Computer Science, University of controlled TCP traffic. To the best of our knowledge, Pisa, Italy. this is the first similar investigation presented in the literature on P2P approaches for wireless networks. The
  2. 2. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 2results of our simulations show that, while Chord in- network topology. Approaches based on this idea areformation retrieval performance drastically degrades in [4], [15], [16]. Although a careful design of the overlaypresence of moderate background traffic, M ESH C HORD improves the efficiency of P2P systems for MANETs,is relatively resilient to the presence of background traf- the combination of node mobility, lack of infrastructure,fic, and provides acceptable information retrieval perfor- and unreliable communication medium has hindered themance also in this situation. Interestingly, the lower mes- application of P2P approaches in medium to large size adsage overhead generated by M ESH C HORD w.r.t. Chord hoc networks. As a consequence of this, P2P approacheshas a positive effect on congestion-controlled TPC traffic, have been successfully applied to MANETs composedwhich observes a relatively higher throughput. Thus, of at most a few tens of nodes, and the problem ofdifferently from the basic Chord design, M ESH C HORD designing scalable P2P systems for ad hoc networkshas the potential to provide satisfactory performance remains open.in a mixed application environment, where the P2P A more recent trend of research pushes the idea ofapplication coexists with different types of application- cross-layering a step forward, basically collapsing thelayer traffic. Summarizing, the study reported in this overlay and network layer into a unique, location-awarepaper suggests that M ESH C HORD can be successfully layer, which implements a sort of geographic hash table.utilized for implementing resource sharing applications This is the case of the approaches proposed in [7], [13],in wireless mesh networks. [18]. The technique proposed in [13] is targeted towards The rest of this paper is organized as follows. In Sec- MANETs, and is based on the idea of mapping the IDstion 2, we critically discuss related work and this paper’s of the objects to share to trajectories, and to let thecontribution. In Section 3, we present the basic Chord nodes which are closer to that trajectory manage thedesign and our proposed specialization M ESH C HORD corresponding ID. In [18], the authors propose to use afor wireless mesh network scenarios. In Section 4, we geographic hash table for in-network storage of archivalevaluate Chord and M ESH C HORD performance through data in wireless sensor networks. In [7], the authorsextensive, packet-level simulation. Finally, Section 5 con- suggest using a two-tier architecture, where the sensorcludes, and outlines possible directions for future work. nodes store the data, and a certain number of proxy nodes implements the distributed indexing mechanism. Another interesting idea is to integrate the overlay2 R ELATED WORK AND CONTRIBUTION with the network layer, providing a scalable routingSeveral Distributed Hash Table (DHT) approaches have scheme with DHT functionality [2], [8]. The motivationbeen proposed in the literature to address the problem is that in very large and dynamic wireless networks,of realizing distributed peer-to-peer resource sharing. traditional routing mechanisms perform poorly, sinceThe various DHT approaches proposed in the literature they are based either on proactive dissemination ofmainly differ on the structure imposed to the virtual routing information, or on frequent network flooding tooverlay and on the mechanism used to route search discover routes. In the scalable routing concept, nodesrequests in the overlay. Among them, we cite Chord are logically organized in a virtual ring (as in a DHT),[24] (which we briefly describe in the next section), and proactively maintain routes only to a very limitedCAN [19], Pastry [21], and Viceroy [14]. However, these number of other nodes in the ring (r-successors and r-DHT approaches have been designed and optimized for predecessors in [2], predecessor/successor and a numberoperation in wired networks, and issues such as limited of Chord-like fingers in [8]). This way, message over-bandwidth, node mobility, and so on, are not relevant. head is considerably reduced with respect to traditional Recent papers have addressed the problem of en- routing mechanisms, and scalability is improved. Withabling P2P resource sharing in mobile ad hoc net- scalable routing, messages are routed in a DHT-likeworks (MANETs). Some of them proposed exten- fashion: a route request is routed through the virtual ringsion/modification of existing P2P approaches to work until a path to the destination is found.efficiently on MANETs. Among them, we cite exten- Wireless mesh networks present a potential advantagesion/modifications of Gnutella [4], and of Pastry [16], with respect to MANETs for a successful realization[17]. Others proposed their own solutions, mostly tai- of scalable P2P approaches, namely the presence of alored at efficiently dealing with peer mobility. Among stationary, wireless infrastructure that can be used bythem, we cite ORION [12], Mobiscope [6], RBB [25], mobile clients to communicate with each other (or toand the service discovery protocol proposed in [22]. A access the Internet). Only a few recent papers havestandard technique used to improve performance of P2P explored how P2P approaches can be applied to wirelessalgorithms when used in wireless networks is cross- mesh networks. In [1], the authors evaluate the gain thatlayering, i.e., taking advantage of information delivered can be obtained by using network coding when run-from lower layer protocols (typically, the network layer) ning file sharing applications in wireless mesh networks,when constructing the logical links between peers. The and conclude that some gain can actually be achieved,idea is to try to enforce locality as much as possible, i.e., although not as much as in a wired network. In [10],peers which are close in the (logical) overlay topology the authors present an incentive model for file sharingshould be as close as possible also in the physical in wireless mesh networks. In [9], some of the authors
  3. 3. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 3of this paper introduced a two-tier architecture for file successful join operations2 in highly dynamic networks,sharing in wireless mesh networks. The main idea is to while only marginally increasing (if not decreasing) thedecouple content user/providers from the distributed total number of packets circulating in the network. Toresource index: the lower tier is composed of mobile the best of our knowledge, M ESH C HORD is the firstmesh clients, which provide the content (files/resources proposal exploiting MAC cross-layering for improvingto share) to the P2P overlay; the upper tier is composed performance in P2P file sharing applications for wirelessof stationary mesh routers, and implements a distributed networks.hash table for locating resources within the network. Finally we want to cite [5], where the authors present The investigation presented in this paper complements a (packet-level) simulation-based investigation of Chordour previous work [9] under many respects. While the performance in MANETs environments. The authorsemphasis in [9] was on the procedures for dealing with consider three different routing protocols, and show thatclient mobility at the lower tier of the architecture, in Chord performance is only marginally influenced by thethis paper we are concerned with the efficiency of DHT choice of the routing protocol. The main finding of [5]implementation in the upper tier of the architecture, is that node mobility considerably impairs Chord con-i.e., stationary mesh routers. Another major difference sistency, with a dramatic effect on information retrievalwith respect to [9] is that we consider Chord instead of performance: in presence of even moderate mobility, theViceroy for implementing the DHT, and that we perform percentage of successful queries can drop below 10%.packet-level simulations to investigate the performance of There are several differences between our study andChord and of our proposed specialization M ESH C HORD the one reported in [5]. The application scenario is differ-in realistic wireless mesh network scenarios. The simu- ent: stationary mesh networks instead of MANETs. Mostlations carried out in the present paper account also for importantly, in our work we consider not only the basicthe (considerable) message exchange needed to maintain Chord design, but also a location-aware, cross-layer spe-the Chord overlay, and for dynamic join/leave of nodes cialization of Chord for stationary mesh networks. Ourat the upper tier of the architecture. On the contrary, the analysis shows that these improvements to the originalefficacy of GeoRoy (the location-aware version of Viceroy design are indeed fundamental to provide satisfactoryproposed in [9]) was tested only through high level performance in wireless mesh networks, especially whensimulations (no MAC layer implementation) performed background traffic is present. Hence, the main findingassuming static topology of the upper tier (no mesh of this work is that our proposed specialization M ESH -router joining/leaving the network during the simulated C HORD can successfully be applied in a wireless meshtime interval), which ignored maintenance overhead. As network, also in scenarios in which the P2P applicationthe results presented in this paper show, the overhead coexists with different types of application-layer traffic.for overlay maintenance is considerable and, in some cases,can lead to network congestion. Hence, results obtained from 3 M ESH C HORDhigh level simulations that ignore maintenance overhead anddo not implement the MAC layer can be very inaccurate In this section, we shortly describe the two-tier architec-(this applies not only to the results presented in [9], but ture used in our design, and the basic Chord operations.also to most of simulation-based results presented in the We then describe in details M ESH C HORD, our proposedliterature). Finally, differently from [9], we investigate specialization of Chord for wireless mesh networks.the performance of information retrieval in terms ofpercentage of successful queries and query response 3.1 Network architecturetime, also in presence of background traffic. Similarly to [9], we assume a two-tier architecture for Another major contribution of this paper is the notion file/resource sharing (see Figure 1): the lower tier ofof cross-layering that we exploit in the M ESH C HORD the architecture is composed of (possibly) mobile meshdesign: while existing works exploit cross-layering to clients (clients for short), which provide (and use) theextract information from the network layer (typically, content to be shared in the P2P system; the upper tier ofIDs of physical neighbors of a peer node) to improve the architecture is composed of stationary mesh routers,performance [4], [15], [16]1, in M ESH C HORD we extract which implement a DHT used to locate file/resourcesinformation from the MAC layer. The main idea is to within the network. Unless otherwise stated, in theexploit the “wireless advantage” (1-hop broadcast nature following we use the term peer to refer exclusively toof wireless communications) to possibly capture packets a mesh router forming the DHT at the upper tier of thewhich are not destined to a certain peer node u, but for architecture.which u possesses relevant information (e.g., u stores We assume routers are stationary and plugged, butthe key requested for in the packet). This technique they can be switched on/off during network lifetime.proves very useful in improving the information re- This is to account for situations that might arise in sometrieval performance and in increasing the number of mesh network application scenarios (e.g., community 1. Note that we also exploit this information in M ESH C HORD, butwe use the term ‘location-awareness’ instead of cross-layering to refer 2. As explained in the following, join operations are not necessarilyto this technique. successful.
  4. 4. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 4 0 P60 P7 P12 peer ID P49 resource key range(p) Finger Table (P21) P21+1 P31 p P21+2 P31 P21 P21+4 P31 P21+8 P31 P21+16 P40 P40 lookup(45) P21+32 P60 P31Fig. 1. Two-tier architecture assumed in our design. Fig. 2. Basic Chord operations. m is set to 6.networking), in which routers might be managed byusers and occasionally shut down. Also, changes in theupper tier topology might be caused by failures of some numbers, i.e., at most 2m distinct (peer or resource) IDsrouter. are present in the Chord system. In the following, we set Mesh clients are the content users and providers: m = 24, which corresponds to having about 16 millionsthey share file/local resources with other mesh clients, possible IDs. This is a reasonable ID space for wirelessas well as access resources shared by others. When mesh networks, in which the number of shared resourcesa client u wants to find a certain resource, it sends is expected to be in the order of several thousands, andto its responsible router a (a mesh router within its the number of mesh routers (peers) in the order of atransmission range) a FindKey message, containing the few hundreds. Indeed, larger ID spaces can be easilykey (unique ID) of the resource to find (see next section included in our design with no modification, and withfor details on key assignment to node/resources). The negligible impact on performance. This allows dealingresponsible router forwards the resource request in the with larger networks and number of shared resources,DHT overlay according to the rules specified by the which might lead to a non-negligible probability ofChord protocol (see below), until the resource query can conflicting ID assignment with relatively low values ofbe answered. In case of successful query resolution, a m (see also Section 4).message containing the IP address of the client hold-ing the requested file/resource is returned to client u The main operation implemented by Chord is thethrough its responsible router a. For details on the rules lookup(x) operation, which can be invoked at any peerfor responsible router selection, and on the procedures to find the IP address of the peer with ID= x if x is aneeded to deal with client mobility (handoff between peer ID, or the IP address of the peer responsible of keyresponsible mesh routers, locating a mobile client in x in case x is a resource ID. lookup operations are usedthe network, etc.), and to add/remove shared resources both for query resolution (F indKey operation) and forto/from the distributed index, the reader is referred to overlay maintenance.[9]. To speed up lookup operations, every peer maintains a table of up to m distinct peers (fingers). The i-th finger of3.2 Basic Chord operations peer j, with 1 ≤ i ≤ m, is the peer which has the smaller ID larger than j + 2i−1 . Note that some of the fingersThe DHT approach investigated in this paper is Chord (especially for low values of i) can actually coincide (see[24]. Chord is based on the idea of mapping both peer Figure 2). In order to facilitate join/leave operations,(mesh router) IDs and resource IDs (keys) into the same each peer maintains also the ID of its predecessor in theID space, namely the unit ring [0, 1]. Each key resides Chord ring (peer P 12 for peer P 21 in Figure 2).on the peer with the smallest ID larger than the key (seeFigure 2), i.e., peer p manages keys comprised between When a lookup(k) operation is invoked at peer p andits own ID and the ID of the predecessor of p in the unit the operation cannot be resolved locally (because k is notring (denoted range(p)). Associated with each key is the within range(p)), a message is sent to the peer p′ withIP address of the mesh client holding the corresponding largest ID < k in the finger table of node p. If p′ cannotresource. Chord maps peer and resource IDs into the resolve the lookup operation, it replies to peer p with aunit ring using a hashing function, named Sha1, which message containing the ID of the peer p′′ with largesthas the property of uniformly distributing IDs in [0, 1]. ID < k in its own finger table. Peer p then forwards theIndeed, IDs in Chord are represented through m-bit request to peer p′′ , and so on, until the lookup operation
  5. 5. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 5 ID(100,650) = 0.78can be resolved (in at most m steps)3 . Referring to Figure2, a lookup operation for key 45 issued at node P21 isfirst forwarded to node P40, and then to node P49, which 1 0.8is responsible for the key and can resolve the lookup. To deal with dynamic join/leaves of peers in the sys- 0.8 0.6tems, the following procedures are implemented. When (100,650)a new peer p joins the network, it first needs to initializeits predecessor and finger table. This is done by sending 0.4 0.6 srequests to any peer currently joining the network peer pis aware of (called hook peer). Then, the finger tables and 0.4 0.2predecessor pointers of currently active peers must beupdated to account for the new peer joining the network. uFinally, peer p must contact its successor s in the ring so 0 0 0.2that the key range previously managed by s can be splitwith p. In case no (active) hook peer can be found, the sjoin operation fails, and the peer cannot join the Chord s = 1000moverlay. When an existing peer p leaves the network, it = 200mfirst informs its predecessor and successor in the ring Fig. 3. Location-aware mapping of peer IDs and interac-about its intention of leaving the network, so that they tion with cross-layering.can change their finger tables and predecessor pointersaccordingly; then, peer p transfers to its successor thekey range it is responsible for. where ID(x, y) is the ID of a peer with coordinates Finally, we mention that, in order to deal with dynamic (x, y) ∈ [0, s]2 , s is the side of the deployment region,network conditions, each active peer in the network pe- and ∆ is a parameter which defines the ‘granularity’ ofriodically performs a Stabilize operation, which verifies location-awareness: the lower the value of ∆, the closerand possibly updates the content of the finger table and the peers must be in the physical network in order topredecessor pointer. The period between consecutive be mapped into close-by regions of the unit ring. FigureStabilize operations is a critical parameter in the Chord 3 shows an example of location-aware ID assignmentdesign: if the period is relatively short, the network when s = 1000m and ∆ = 200m. The deploymentis more reactive, but a higher message overhead is region is divided into s/∆ = 5 sub-regions of widthgenerated; on the other hand, a longer stabilize period ∆ and length s (shaded area). A segment of the unitreduces message overhead, at the expense of having a ring bisects each sub-region, with alternate left/rightless reactive network. How to set the stabilize period orientation. This is required to ensure that peers in thein order to satisfactorily address this tradeoff when same physical vicinity and close to the border of theChord is executed in wireless mesh networks is carefully deployment region are mapped to close-by segmentsinvestigated in Section 4. of the unit ring (see Figure 3). Each bisecting segment3.3 Location-awareness of the unit ring has virtual length ∆/s. Peers in the same sub-region of the deployment area (shaded area)The first modification we propose to the basic Chord are mapped to the same segment of the unit ring, thusdesign concerns the function used to assign ID to converting physical proximity into proximity in the unitpeers (hash function Sha1 is still used to assign key to ring. In the example reported in Figure 3, a peer locatedfiles/resources). The idea is to exploit locality, and to at coordinates (100, 650) is assigned ID 0.78 in the unitassign peers which are close in the physical network with ring.close-by IDs in the unit ring. This choice is motivated by Note that the above location-aware ID assignmentthe observation that, according to Chord specifications, function requires that peers are aware of their location,most of the messages are exchanged between a peer and which can be easily accomplished in wireless meshits successor/predecessor in the unit ring. networks through, e.g., the use of GPS receivers. More specifically, location-awareness is implementedby assigning IDs to peers according to the followingfunction (see [9]): 3.4 Cross-layering  x∆ y  s2 + ⌊ ∆ ⌋ · s ∆ y if⌊ ∆ ⌋ is even The second contribution of the M ESH C HORD proposal ID(x, y) = , concerns the introduction of a MAC cross-layering tech-  (s−x)∆ y y + ⌊ ∆ ⌋ · ∆ if⌊ ∆ ⌋ is odd nique. This technique aims at speeding up the lookup s2 s operations by exploiting the information that is available 3. This corresponds to the iterative method for implementing lookup at the MAC layer due to the 1-hop broadcast communi-operations in Chord [24]. Also recursive lookup implementation is con- cation occurring in wireless networks. The basic idea issidered in the original Chord design. A comparison between iterativeand recursive lookup implementation in M ESH C HORD is reported in that a peer u may capture packets for which it owns[3]. relevant information, even if they are not destined to
  6. 6. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 6u. This technique is motivated by the possibility that R = [0, s)2 . The peers have transmission range r, withpeer u, that may actually be able to resolve a lookup r = 2s 2 log n n .request, is physically close to the peer invoking thelookup operation, while they are far away in the unit The specified value of r in the above definition guar-ring. antees that the resulting network is connected w.h.p.4 More specifically, whenever a peer u receives a packet (see [9]). We first show that M ESH C HORD location-awareat the MAC layer, u sends it up to the application ID assignment preserves the property of uniformly dis-layer for further processing, even if the packet was tributing IDs in the unit ring. This result implies thatnot destined to u. If the packet does not contain a the nice properties of the original Chord design (loadlookup request, it is discarded. Otherwise, u checks if it balancing on the overlay, query resolution in O(log n)may resolve the lookup(x) operation. This occurs if x is steps, etc.) are preserved in M ESH C HORD.comprised between u’s ID and the ID of the predecessor Lemma 1. Assume a random network deployment; then,of u in the unit ring. In this case, u sends a message the peer IDs computed according to mapping ID(x, y) arecontaining its own ID to the peer that invoked the distributed uniformly at random in the [0,1] interval (unitlookup(x) operation. It is important to note that, since ring).the lookup process is invoked for both query resolutionand overlay maintenance, cross-layering may improve Proof: The proof is along the same lines as proof ofthe performance of both these operations. Theorem 1 in [9]. We now turn to analyzing the stretch factor, which is3.5 Interactions between location-awareness and formally defined as follows:cross-layering Definition 2. Given a lookup operation on key k on anLocation-awareness is designed to map neighboring overlay network O, let l(k) be the hop distance in the physicalpeers to close-by IDs in the unit ring. On the other network between the peer at which the lookup is invokedhand, cross-layering tends to be more effective when and the peer that manages the key range to which k belongs;physical neighbor peers have far-away IDs in the unit furthermore, let P (k) be the path traversed by the lookup(k)ring (this results in a higher likelihood of “capturing” in the overlay network, and let l(P (k)) be the hop length ofpackets). Hence, an ideal ID mapping function should, P (k) in the physical network. The stretch factor is defined as:for a certain peer u, both i) map pred(u)’s and succ(u)’sIDs to peers which are physical neighbors of u, and ii) l(P (k)) stretch(O) = max . (1)assign the remaining u’s physical neighbors far-away IDs k l(k)in the unit ring. The design of a mapping function which Informally speaking, the stretch factor measures howachieves both i) and ii) is a very complex combinatorial close a virtual overlay is to the topology of the underly-problem, which is left for future work. In this paper, we ing network. The next theorem provides an upper boundfocus on property i), and show that, even in presence to M ESH C HORD stretch factor in random networks:of location-aware peer ID assignment, cross-layering isindeed beneficial to the performance of the P2P appli- Theorem 1. Assume a random network deployment; then, √cation. This can be explained referring back to Figure M ESH C HORD stretch factor is O( n log n) w.h.p.3. In the lower right corner of the deployment area, the Proof: Given Lemma 1 and Chord’s properties, wetransmission range of a peer u is shaded. It is easy to have that a lookup operation is resolved traversingsee that, if the transmission range and parameter ∆ are O(log n) hops in the virtual overlay, w.h.p. By Lemmaadequately set (in the figure, ∆ = T xRange = 200m), al- 1 of [9], under the assumption of random network de-though most u’s physical neighbors are actually assigned ployment, each hop in the virtual overlay corresponds toclose-by IDs in the unit ring, we do have a number of nu’s physical neighbors whose IDs are far away in the O log n hops in the physical network, w.h.p. Hence, √unit ring. These physical neighbors have opportunities a lookup operation is resolved traversing O( n log n)for capturing packets generated by/destined to peer u, hops in the physical network, w.h.p. We now observeexplaining the relative benefits of cross-layering that that, given a key k, l(k) ≥ 1 whenever the peer issuingcan be observed also in presence of location-aware ID the lookup(k) operation cannot resolve the query locally.assignment (see figures 7 and 10). It is easy to see that, given a random key k, Lemma 1 implies that the probability of locally resolving a3.6 M ESH C HORD analysis lookup(k) converges to 0 as n → ∞. It follows thatUsing techniques similar to those reported in [9], we l(k) ≥ 1 w.h.p., and the theorem is proved.provide a theoretical characterization of M ESH C HORD Note that the bound stated in Theorem 1 is the sameperformance in random networks, which are formally holding for the GeoRoy protocol of [9]. This meansdefined as follows: that, in asymptotic terms, we can expect comparable performance in terms of message overhead betweenDefinition 1. In a random network deployment, n peersare distributed uniformly at random in a square region 4. W.h.p. means with probability approaching 1 as n → ∞.
  7. 7. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 7the two protocols. However, M ESH C HORD implements to DSR in our reference scenario of stationary networksalso cross-layering, which is not considered in GeoRoy. of moderate size.Hence, we expect that M ESH C HORD performs consider- To model dynamic join/leaves of peers into the net-ably better than GeoRoy in terms of information retrieval work (which occur only after all peers have initiallyperformance and resiliency to inconsistencies in the fin- joined the network, and the Chord overlay is stabilized),ger tables (see Section 4). we assume that each peer updates its status every 30sec, possibly making a transition to active/inactive state. More specifically, a peer which is currently active be-4 P ERFORMANCE EVALUATION comes inactive with probability pleave , while a currentlyWe have evaluated the performance of Chord and of inactive peer becomes active with probability pjoin . Bythe proposed specialization M ESH C HORD on mesh net- acting on the values of pleave and pjoin , we can carefullyworks using GTNetS, a packet-level network simulator tune the number of join/leave events in the network.developed at Georgia Institute of Technology [20]. To Unless otherwise stated, in the following we assumebetter understand the contribution of location-awareness pleave = pjoin .and MAC cross-layering on Chord performance, we When a peer u leaves the network, it notifies its succes-have also considered a version of Chord in which only sor u′ by sending it key range range(u). Considering thatlocation-awareness is implemented (ChordLoc), and a in our proposed architecture the information associatedversion of Chord in which only MAC cross-layering is to a key is the IP address of the mesh client storing theimplemented (ChordXL). requested resource, that IP addresses are very short (4 bytes), and that key IDs are 24 bits long, each entry The starting point of our work was a pre-existing in the key table is composed of 56 bits. Given this,implementation of Chord developed by the Network we have implemented key range transfer trough theSecurity and Architecture Lab at Georgia Tech, which, communication of a single UDP message with a 2KBhowever, did not implement join/leave procedures and, payload between the leaving peer and its successor,more importantly, it had never been tested on wireless which is sufficient to transfer as many as 292 entries innetworks. Hence, in a first phase we had to fix several the key table. Note that, even if we use longer IDs to dealbugs in order to have a perfectly working implementa- with a larger number of peers and shared resources, wetion of Chord in wireless mesh networks. can still pack a large number of key table entries in a We considered two network topologies in simulations: single UDP message. For instance, with m = 48, we can – grid: peers are located in a square, equally spaced pack as many as 204 key table entries is a single UDP grid; peer separation is 100m; message. – random uniform: n peers are distributed uniformly When a peer u (re-)joins the network, it first has to at random in a square area of side s, where s = √ find an active peer u′ it is aware of (hook peer). The n · 100m. selection of the hook peer is different depending on In both cases, we assume peers are equipped with whether the peer joins the network for the first time.802.11b radios, the link data rate is 11M bs, and radio If a peer u has already been part of the network in thesignal obeys free space propagation. For routing mes- past, it stores the IP address of the last three fingers insages between far-away peers, we used the DSR routing its finger table (this is because the last fingers in thealgorithm [11]. This choice is motivated by the fact that table are most likely distinct – recall Figure 2) beforeenergy consumption, which is not optimal for DSR, is leaving the network. Peer u then tries to contact the firstnot an issue in our target application scenario. Most finger in the list, then, in case it is not responding, theimportantly, DSR is one of the most popular routing second one, and so on, until u is able to join the network,algorithm for wireless multi-hop networks, and that the or the join operation fails. In case of the first join, thesimulation-based analysis of [5] has shown that DSR finger table is empty, and the above procedure cannotperforms best among the various routing protocols con- be performed. Hence, upon the first join each peer usessidered when used in conjunction with Chord (although the IP address of a special peer (the first node joining thein a MANET scenario). Note that scalable source routing network, which is always the same) as hook peer. In thealgorithms (see [2], [8]) can be used in combination bootstrapping phase, peers join the network one at thewith our P2P algorithms. However, given the specific time at fixed time intervals (1sec) using the special hookapplication scenario we consider (stationary networks peer, thus allowing setting up and stabilizing the fingerof moderate size with a modest peer churn rate), we do tables. Overall, this bootstrapping phase takes 200sec innot expect significant benefits from using scalable source our simulations.routing instead of DSR. In fact, as discussed in Section 2, If the join operation is successful, and after the succes-scalable source routing performance benefit over tradi- sor pointer is stabilized, peer u sends a message to itstional routing mechanisms becomes considerable in very successor u′′ , so that u′′ can send to u a part of its keylarge, dynamic networks. For instance, the extensive range. This is also implemented through communicationsimulation results reported in [2] show that VRR (the of a single UDP message with 2KB payload.approach proposed in [2]) displays performance similar A certain number of queries is generated during
  8. 8. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 8Chord lifetime. Queries are generated uniformly over 4.1 Preliminary simulationstime (every tquery seconds); when a new query is gener- In a preliminary set of simulations, whose results areated, the peer that issues the query is chosen uniformly not shown, we have optimized a set of parameters suchat random among the currently active peers, and the as node transmission range, value of ∆ in the location-ID of the key k to be searched is chosen uniformly at aware versions of Chord, and the stabilize interval.random in [0,1] (expressed as an m-bits binary number). We have verified that, in case of grid topology, setting In the following, we present the results of four dif- the transmission range to 200m (i.e., twice the node sep-ferent sets of simulations, focusing on the effect of i) aration) is the best choice for reducing Chord overhead.increasing the number n of peers, ii) changing the num- For uniformity, we have used the same transmissionber of join/leave events in the simulated time interval, range also in the case of random uniform topology. Noteiii) changing the query rate, and iv) different types that in this case disconnected network topologies mightof background traffic, on M ESH C HORD performance. arise; since Chord operation is not guaranteed in case theFor all the sets of experiments, the simulated time in- underlying network is disconnected, we have discardedterval was 3800sec, where the first 200sec were used these topologies in our simulations.to incrementally add peers to Chord, and to stabilize We have also verified that the values of ∆ resulting inthe overlay; all the simulation results presented in the the better performance (in terms of message overhead)following refer to data gathered in the last 3600sec of the are in the order of the transmission range. For this rea-simulation, and are averaged over 10 (50) runs in case son, we have set ∆ = 200m in the following experiments.of grid (uniform random) topology. The largest sample Finally, we have investigated the optimal setting forset in case of random topologies was needed to account the stabilize interval which, we recall, is the intervalfor the higher degree of randomness (which also plays a between consecutive invocations of the Stabilize op-role in determining the network topology) in this setting. eration by a peer. This parameter has a major effectThe simulation parameters are summarized in Table 1. on Chord performance, since it determines the control overhead generated to maintain the overlay. We have experimentally verified that if the stabilize interval is Topology grid/random numb. peers 49 ÷ 144 too short (in the order of 1 − 3secs), the network is depl. region side 1000m close to congestion (using the basic version of Chord) Radio technology 802.11b when only Chord-related messages are exchanged. On Link data rate 11M bps TxRange 200m the contrary, if the stabilize interval is too long (10secs or ∆ 200m higher), the Chord overlay is not responsive enough, and 1 − pleave (= 1 − pjoin ) 0.9 ÷ 0.999 several queries and join operations fail. We have verified query rate 2 ÷ 60 queries/min/peer sim duration 3600(+200)secs through extensive simulations that setting the stabilize background traffic CBR/TCP interval to 7.5secs results in the best compromise be- CBR rate 20Kbs ÷ 200Kbs tween message overhead and network responsiveness. TABLE 1 Simulation parameters. 4.2 Increasing network size In the first set of experiments, we considered networks of size ranging from 49 to 144 peers (mesh routers). This The performance of the various versions of Chord is an appropriate range of sizes for our target applicationconsidered in our simulations is expressed in terms of: scenario, in which the DHT overlay is realized over the stationary infrastructure nodes of a wireless mesh – message overhead: total number of network-level network. The number of queries during the simulated packets exchanged by Chord to maintain the over- time interval is fixed at 120 · n, corresponding to having lay, and to resolve the queries; (on the average) each node generating a new query – query resolution: percentage of queries which are suc- every 30sec. We consider both a relatively static network cessfully resolved; a query on key k is successfully configuration, in which the average up/down time of a resolved if the IP address of the peer responsible peer is 8hr, and a very dynamic network configuration, for key k is returned to the peer which issued the in which the average up/down time of a peer is 5min. query; We remark that peers in our scenario are mesh routers – query response time: for successful queries, the time part of the wireless infrastructure, hence the above churn elapsed between the instant the query is issued by rates are deemed adequate to represent static and dy- peer p, and the instant the answer is received at peer namic network conditions. p; Figure 4 reports the total number of network-layer – successful join ratio: percentage of successful join packets exchanged during the simulated time interval over all join operations; the percentage is computed in the grid topology. Location-awareness is very effective accounting only for the join operations occurring in reducing message overhead: the reduction can be as after the initial stabilization period. high as 40% in the almost static scenario, while it is
  9. 9. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 9 4e+06 1.4e+06 3.5e+06 1.2e+06 3e+06 1e+06 2.5e+06 # packets # packets 800000 2e+06 600000 1.5e+06 400000 1e+06 Chord Chord 500000 ChordXL 200000 ChordXL ChordLoc ChordLoc MeshChord MeshChord 0 0 40 50 60 70 80 90 100 110 120 130 140 150 40 50 60 70 80 90 100 110 120 130 140 150 # nodes # nodesFig. 4. Total number of packets exchanged in grid networks for increasing number of n: almost static network (left) –(1 − pleave ) = 0.999, and very dynamic network (right) – (1 − pleave ) = 0.9.somewhat lower in the very dynamic scenario. On the is even more effective in increasing the percentage ofother hand, cross-layering seems to have only marginal successful join operations in case of random networkeffect on message overhead, if not actually increasing topology than with grid topologies.the number of exchanged messages in very dynamic Figure 6 reports the percentage of unsuccessful queriesnetworks. Indeed, this higher overhead is caused by a in very dynamic networks ((1 − pleave = 0.9)). M ESH -very positive effect of cross-layering, which is depicted C HORD tends to slightly decrease the query successin Figure 5. As seen from the plots, cross-layering sig- rate with respect to the original Chord; however, thisnificantly increases the number of successful join opera- apparent shortcoming of M ESH C HORD is indeed causedtions, especially in case of very dynamic networks: while by the fact that M ESH C HORD tends to operate on a largerthe number of successful join operation is consistently network (recall Figure 5), where the success rate is phys-above 95% with cross-layering, with the original Chord iologically smaller. The results obtained in the almostprotocol this percentage can drop to as low as 70% static scenario showed an above 99% query success ratein case of very dynamic networks. We believe this is even for the basic Chord protocol.due to the fact that cross-layering mitigates the negative Figure 7 reports the average query response time ineffects of having inconsistent finger tables, which tend to very dynamic networks. As seen from the plots, cross-increase the percentage of unsuccessful join operations. layering has a significant effect on response time inInconsistencies in the finger tables are clearly more likely both grid and random topologies. On the other hand,to occur under dynamic network conditions, which ex- location-awareness only achieves marginal reductionsplains the relatively greater benefits of cross-layering with respect to the basic Chord protocol. Overall, M ESH -on the percentage of successful join operations under C HORD achieves as high as 60% reduction in querysuch conditions. Hence, the higher message exchange response time with respect to Chord. The results for theobserved with cross-layering in dynamic networks is almost static scenario show very similar trends.caused by the larger number of peers joining the Chordoverlay in this situation. It is also worth observing that location awareness 4.3 Varying the number of join/leavestends to decrease the number of successful join operations In the second set of experiments, we fixed the size ofunder very dynamic network conditions. We believe this the network to n = 100, and considered different valuesis due to the fact that, while location-awareness is very of pleave . The results reported in Figure 8 show thateffective in reducing message overhead (Figure 4), its location-awareness considerably reduce message over-effect on lookup operations (which are at the basis of head, over the entire range of pleave values considered.both new join and query resolution procedures) can These results are in accordance with those reported inactually be detrimental. In fact, as explained in Section Figure 4. It is also worth observing that the relative3.5, location-aware ID assignment tends to rule out the advantage of M ESH C HORD over Chord tends to becomepossibility of having close-by peers in the physical net- smaller for more dynamic networks; as observed in thework which are far-away in the unit ring. This negative previous section, this is due to the increased number ofeffect of location-awareness becomes more evident for successful join operations achieved by cross-layering.larger networks (see Figure 5-right). Figure 9 clearly shows the decreasing trend of the per- The results for the random topology scenario confirm centage of unsuccessful queries as the network becomesthe trends observed in the grid scenario, with a some- less and less dynamic: while the success rate is abovewhat lower reduction in terms of message overhead of 96% for almost stationary networks, it becomes as lowM ESH C HORD with respect to Chord (as high as 30%). as 93% for more dynamic networks. This trend is lessThis lower reduction is due to the fact that cross-layering pronounced when the network topology is random.
  10. 10. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 10 100 100 95 95 Successful join operations [%] Successful join operations [%] 90 90 85 85 80 80 Chord Chord 75 ChordXL ChordXL ChordLoc ChordLoc MeshChord MeshChord 75 70 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 40 50 60 70 80 90 100 110 120 130 140 150 1-pleave # nodesFig. 5. Percentage of successful join operations in grid networks for n = 100 and increasing values of (1 − pleave ) (left),and for increasing value of n with (1 − pleave ) = 0.9 (right). 7.5 7.5 Chord Chord ChordXL ChordXL 7 ChordLoc ChordLoc MeshChord 7 MeshChord 6.5 Unsuccessful queries [%] Unsuccessful queries [%] 6.5 6 5.5 6 5 5.5 4.5 5 4 3.5 4.5 40 50 60 70 80 90 100 110 120 130 140 150 40 50 60 70 80 90 100 110 120 130 140 150 # nodes # nodesFig. 6. Percentage of unsuccessful queries in very dynamic networks for increasing values of n: grid topology (left),and random topology (right). 0.26 0.22 Chord Chord 0.24 ChordXL ChordXL ChordLoc 0.2 ChordLoc 0.22 MeshChord MeshChord 0.18 0.2 Avg search time [s] Avg search time [s] 0.16 0.18 0.14 0.16 0.12 0.14 0.1 0.12 0.1 0.08 0.08 0.06 0.06 0.04 40 50 60 70 80 90 100 110 120 130 140 150 40 50 60 70 80 90 100 110 120 130 140 150 # nodes # nodesFig. 7. Average query response time in very dynamic networks for increasing values of n: grid topology (left), andrandom topology (right). Finally, Figure 10 shows that M ESH C HORD, due to response time of the various versions of Chord withcross-layering, is very effective in reducing the query increasing query rate is reported in Figure 11.response time with respect to Chord over the entire As seen from the figure, M ESH C HORD outperformsrange of pleave values considered. the basic Chord design under all investigated range of query rates. The relative advantage of M ESH C HORD4.4 Varying the number of queries with respect to Chord becomes larger with increasedIn the third set of experiments, we have fixed n = 100 query rate. In particular, in the case of grid topology theand set (1 − pleave ) = 0.9, and investigated the relative average query response time is reduced from 0.2secs toperformance of the various versions of Chord consid- less than 0.1secs (50% reduction) with the lowest queryered with an increasing number of queries (up to 60 rate, while the reduction is from 1.78secs to 0.65secsquery/min per node on the average). The average query (62% reduction) with the highest query rate. A similar
  11. 11. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 11 1.8e+06 2e+06 Chord Chord ChordXL ChordXL 1.6e+06 ChordLoc 1.8e+06 ChordLoc MeshChord MeshChord 1.6e+06 1.4e+06 1.4e+06 # packets # packets 1.2e+06 1.2e+06 1e+06 1e+06 800000 800000 600000 600000 400000 400000 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1-pleave 1-pleaveFig. 8. Total number of exchanged packets for different values of (1 − pleave ): grid topology (left), and random topology(right). 7 9 8 6 7 Unsuccessful queries [%] 5 Lost Keys [%] 6 4 5 4 3 3 2 Chord Chord ChordXL 2 ChordXL ChordLoc ChordLoc MeshChord MeshChord 1 1 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1-pleave 1-pleaveFig. 9. Percentage of unsuccessful queries for different values of (1 − pleave ): grid topology (left), and random topology(right). 0.25 0.4 Chord Chord ChordXL ChordXL ChordLoc 0.35 ChordLoc MeshChord MeshChord 0.2 0.3 Avg search time [s] Avg search time [s] 0.25 0.15 0.2 0.15 0.1 0.1 0.05 0.05 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 0.9 0.91 0.92 0.93 0.94 0.95 0.96 0.97 0.98 0.99 1-pleave 1-pleaveFig. 10. Average query response time for different values of (1 − pleave ): grid topology (left), and random topology(right).trend is observed with the random topology. Consis- 4.5 Background traffictently with the previous results, slightly higher search In the fourth set of experiments, we have evaluatedtimes are observed in the random topology with respect the performance of the basic Chord and of our pro-to the grid topology. It is worth observing that the posed M ESH C HORD specialization in presence of dif-average query response time with M ESH C HORD remains ferent types of background traffic. More specifically, webelow 1sec even with the highest query rate. Finally, the have considered two types of background traffic, oneresults of this set of simulations have confirmed that the oblivious to the congestion level in the network (CBR)reduction in the average query response time is mainly and the other congestion-aware (TCP). We have thendue to MAC cross-layering, since ChordXL performance evaluated how Chord and M ESH C HORD performanceis relatively close to that of M ESH C HORD, especially for scales with the number n of peer nodes. In this specificrelatively low query rates. set of simulations, we have restricted our attention to
  12. 12. IEEE TRANSACTION ON MOBILE COMPUTING, VOL. X, NO. X, MONTH YEAR 12Fig. 11. Average query response time for increasing query rate: grid topology (left), and random topology (right).grid topologies, and initially assumed static networks TCP traffic lies in the congestion control mechanism(pjoin = pleave = 0) implemented in TCP: i.e., the sending rate is automati- Let us first consider the case of CBR (Constant Bit cally adjusted (with an additive increase, multiplicativeRate) traffic. For a given network with n nodes, we √ decrease law) to match the current network load, whichhave randomly selected n CBR flows with rate 80Kbs. is estimated through explicit ACK packets sent backThe resulting Chord and M ESH C HORD performance is from the destination to the source node. The effect ofreported in Figure 12–left (failed key searches) and – congestion control can be clearly seen from the plotsright (query response time). For the sake of comparison, reported in Figure 14, which reports the percentage ofwe have also included the curves when no background failed key searches and the average query response timetraffic is present in the network. As seen from the figure, as a function of n: differently from the case of CBRcontrary to the basic Chord design, M ESH C HORD is traffic, Chord/M ESH C HORD performance do not con-able to preserve acceptable performance in presence of sistently decrease as n increases; instead, performancebackground traffic even for relatively large networks: worsen until n is around 100, and it stabilizes, if notwhen n = 144, less than 15% of the searches fail with even improves, for larger values of n. This effect isM ESH C HORD, while more than 35% of the search oper- due to the TCP congestion control mechanism: as theations fail with Chord. Also the average query response network is relatively small, the relatively few TCP flowstime when using M ESH C HORD is considerably reduced observe a lightly loaded network, and can increase thewith respect to the basic Chord: from about 2.5sec to less sending rates up to the maximal values. However, as thethan 1.5sec when n = 144. It is also worth observing network becomes larger and the number of active TCPthe considerable impact of CBR background traffic on flows (as well as Chord/M ESH C HORD-related traffic)Chord and M ESH C HORD performance: when n = 144, increases as well, a certain level of network congestionthe percentage of failed search operations increases from is observed, and the sending rates of the TCP flowsabout 1% to about 35% with Chord, and from nearly are significantly reduced. Thus, the actual amount of0 to about 15% with M ESH C HORD; the average query background traffic is stabilized (if not reduced), andresponse time increases from about 0.4sec to about 2.5sec Chord/M ESH C HORD performance stabilizes as well (ifwith Chord, and from about 0.15sec to about 1.4sec with not improves). The above described effect of the TCPM ESH C HORD. congestion control mechanisms can be clearly deduced In Figure 13, we have considered a specific network from Figure 15, which reports the average number ofsize (n = 100), and varied the rate of the CBR flows KB sent for each active TCP flow as n increases. Asfrom 20Kbs to 200Kbs. As seen from the figure, the seen from the figure, as the network size increases, theperformance of M ESH C HORD is always superior to the average number of KB sent per flow tends to decrease,one of Chord, especially for rates ranging from 20Kbs to owing to the additive increase, multiplicative decrease160Kbs; for higher rates, the network is congested, and rule used to adjust sending rates. When n = 144, theM ESH C HORD can provide only marginal improvements active flows are almost starved.with respect to Chord for what concerns the average It is also worth observing that M ESH C HORD con-query response time, while it still provides substantial sistently and considerably outperforms Chord also inimprovements in terms of percentage of failed search presence of TCP background traffic: in the most criti-operations. cal network conditions (n = 100 − 121), M ESH C HORD Let us now consider the case of TCP traffic. Sim- percentage of failed search operations is around 13%,ilarly to the previous scenario, in a network with n √ with an average query response time of less than 1.2sec,peer nodes we have randomly selected n random which should be compared with 27% and 1.8sec, respec-source/destination pairs, and established TCP flows tively, provided by Chord. Another notable feature ofbetween them. The main difference between CBR and M ESH C HORD is that its lower message overhead (with

×