8
Peer-Tree: A Peer-to-Peer Message Forwarding Structure for Relaying Messages in Mobile Applications Jun Liu Computer Science Department,University of North Dakota [email protected] Abstract In this paper, we present a DHT-like peer-to-peer mes- sage forwarding structure used for relaying messages in ap- plications consisting mobile entities. To facilitate relaying messages, each mobile entity sets up multiple beacons at other entities. A beacon is an ordered list of mobile entities along a path going from the entity which holds the beacon to the entity which sets up the beacon. Two functionalities are used in relaying data messages to their destinations: the beacon-seeking mechanism and the beacon-routing mecha- nism. Before a data message obtains a beacon, it is for- warded under the beacon-seeking mechanism which helps a data message to obtain a beacon leading to the destination of the data message. After a data message obtains a bea- con, it is forwarded under the beacon-routing mechanism to forward a data message to its destination along the path prescribed in the beacon. The efficiency of this peer-to-peer message forwarding structure is evaluated by the efficiency of routing data messages when it is applied in mobile wire- less networks as an embedded forwarding structure. From the evaluation, this peer-to-peer message forwarding struc- ture exhibits high rates of successful data message delivery, low consumption on network bandwidth, and robustness to unstable conditions. Keywords—Peer Forwarding, Distributed Hash Tree, Mobile Appli- cations I. Introduction Message forwarding functionalities are needed in send- ing messages between entities in applications consisting mobile entities. A mobile entity could either be a mobile host equipped with a wireless transmission device, e.g. a group of laptops networked through wireless connectivities, or a mobile program moving from entity to entity in wired networks. Generally, each mobile entity is labeled with a unique identifier. A message forwarding functionality can be established based on the mechanism of the distributed hash tree (DHT). Through the DHT, relations among mobile entities are established and are used to forward messages to their destinations. In this paper, we propose a message forwarding struc- ture based on the idea of distributed search trees. The core of this message forwarding structure is a balanced binary search tree which is distributed across all participating enti- ties in an application. This search tree is built on identifiers of mobile entities and is established based on relations of sharing common suffixes of identifiers of entities. Each leaf node in the search tree represents the identifier of a mobile entity, and each internal tree node represents a set of identi- fiers sharing a common suffix. The deeper level an internal node is at, the longer the suffix is shared among the identi- fiers included in this internal tree node. This search tree is named a peer-tree after the fact that the search tree is com- pletely decentralized. This search tree determines an embedded forwarding strategy under dynamic network connectivities. In appli- cations consisting mobile entities, paths taken by data mes- sages are not fixed because connectivities between entities change dynamically. In order to facilitate forwarding mes- sages to destinations, every mobile entity sets up beacons at other entities. A beacon is an ordered list of identifiers of mobile entities along a path going from the mobile en- tity holding the beacon to the entity setting up the bea- con. When choosing other entities to set up beacons, a mo- bile entity always chooses entities whose identifiers share various-length suffixes with its own identifier, moreover, it also favors setting up beacons at entities whose identifiers share longer suffixes with its own identifier. The prefer- ence in setting up beacons makes the beacons set up by a mobile entity likely held by those entities whose identi- fiers share longer suffixes with the establisher entity of the beacons, i.e. point-of-concentrations. Correspondingly, an embedded forwarding strategy can be formed by forward- ing data messages to the entities where beacons leading to the destinations of the data messages are likely found, i.e. the entities whose identifiers share longer suffixes with the identifiers of the destination entities of the data messages. 0-7695-2426-5/05 $20.00 © 2005 IEEE Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE

[IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

Embed Size (px)

Citation preview

Page 1: [IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

Peer-Tree: A Peer-to-Peer Message Forwarding Structure for Relaying Messagesin Mobile Applications

Jun LiuComputer Science Department,University of North Dakota

[email protected]

Abstract

In this paper, we present a DHT-like peer-to-peer mes-sage forwarding structure used for relaying messages in ap-plications consisting mobile entities. To facilitate relayingmessages, each mobile entity sets up multiple beacons atother entities. A beacon is an ordered list of mobile entitiesalong a path going from the entity which holds the beaconto the entity which sets up the beacon. Two functionalitiesare used in relaying data messages to their destinations: thebeacon-seeking mechanism and the beacon-routing mecha-nism. Before a data message obtains a beacon, it is for-warded under the beacon-seeking mechanism which helps adata message to obtain a beacon leading to the destinationof the data message. After a data message obtains a bea-con, it is forwarded under the beacon-routing mechanismto forward a data message to its destination along the pathprescribed in the beacon. The efficiency of this peer-to-peermessage forwarding structure is evaluated by the efficiencyof routing data messages when it is applied in mobile wire-less networks as an embedded forwarding structure. Fromthe evaluation, this peer-to-peer message forwarding struc-ture exhibits high rates of successful data message delivery,low consumption on network bandwidth, and robustness tounstable conditions.

Keywords—Peer Forwarding, Distributed Hash Tree, Mobile Appli-cations

I. Introduction

Message forwarding functionalities are needed in send-ing messages between entities in applications consistingmobile entities. A mobile entity could either be a mobilehost equipped with a wireless transmission device, e.g. agroup of laptops networked through wireless connectivities,or a mobile program moving from entity to entity in wirednetworks. Generally, each mobile entity is labeled with aunique identifier. A message forwarding functionality canbe established based on the mechanism of the distributed

hash tree (DHT). Through the DHT, relations among mobileentities are established and are used to forward messages totheir destinations.

In this paper, we propose a message forwarding struc-ture based on the idea of distributed search trees. The coreof this message forwarding structure is a balanced binarysearch tree which is distributed across all participating enti-ties in an application. This search tree is built on identifiersof mobile entities and is established based on relations ofsharing common suffixes of identifiers of entities. Each leafnode in the search tree represents the identifier of a mobileentity, and each internal tree node represents a set of identi-fiers sharing a common suffix. The deeper level an internalnode is at, the longer the suffix is shared among the identi-fiers included in this internal tree node. This search tree isnamed a peer-tree after the fact that the search tree is com-pletely decentralized.

This search tree determines an embedded forwardingstrategy under dynamic network connectivities. In appli-cations consisting mobile entities, paths taken by data mes-sages are not fixed because connectivities between entitieschange dynamically. In order to facilitate forwarding mes-sages to destinations, every mobile entity sets up beaconsat other entities. A beacon is an ordered list of identifiersof mobile entities along a path going from the mobile en-tity holding the beacon to the entity setting up the bea-con. When choosing other entities to set up beacons, a mo-bile entity always chooses entities whose identifiers sharevarious-length suffixes with its own identifier, moreover, italso favors setting up beacons at entities whose identifiersshare longer suffixes with its own identifier. The prefer-ence in setting up beacons makes the beacons set up bya mobile entity likely held by those entities whose identi-fiers share longer suffixes with the establisher entity of thebeacons, i.e. point-of-concentrations. Correspondingly, anembedded forwarding strategy can be formed by forward-ing data messages to the entities where beacons leading tothe destinations of the data messages are likely found, i.e.the entities whose identifiers share longer suffixes with theidentifiers of the destination entities of the data messages.

0-7695-2426-5/05 $20.00 © 2005 IEEE

Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE

Page 2: [IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

The basic idea of forwarding messages making use ofthis message forwarding structure is that 1) every mobileentity sets up multiple beacons at other entities to indicatethe route to reach itself; 2) a message is forwarded to anentity holding a beacon leading to the destination entity ofthis message; and 3) after a message has obtained a beacon,it is then forwarded to its destination along the path pre-scribed in the beacon. Each mobile entity updates its bea-cons periodically in order to reflect up-to-date routes underfrequent mobility or failures of entities. Meanwhile, twomechanisms are used to forward messages to their destina-tions: 1) a beacon-seeking mechanism is used to forward amessage to an entity holding a beacon leading to the des-tination of this message; 2) a beacon-routing mechanism isused to forward the message to its destination along the pathprescribed in the beacon, after a beacon has been obtained.

The embedded forwarding strategy helps the operationsof forwarding messages to have high success rates in rout-ing messages to their destinations, to restrict the routingoverhead, and to be robust to entity failures. High rates ofsuccessfully forwarding messages to their destinations canbe achieved if beacons can be appropriately set up and mes-sages are appropriately forwarded to beacon-holder entities.The amount of overhead (like the network bandwidth) con-sumed in forwarding messages can be restricted when thenumber of hops taken by a beacon update message or adata message can be bounded. Guided by the search tree,the number of hops taken by a beacon update message canbe forwarded is no more than the number of bits of iden-tifiers; similarly, data messages before and after obtainingbeacons are also forwarded no more than the number of bitsof identifiers, respectively. Hence, overhead of forwardingmessage can be restricted. Furthermore, robustness to un-stable conditions (like mobility of entities, failures of net-work links, or failures of entities) can be achieved becausethere are multiple choices of message forwarding path be-tween a pair of entities. A flow of messages between a pairof entities can be forwarded along different paths, and anactual path taken by a message is jointly determined by themessage forwarding structure and the dynamic connectivitybetween entities. Hence, reachability between a pair of arbi-trary entities will not be largely affected under dynamicallychanging conditions.

The efficiency of this message forwarding structure isevaluated in mobile wireless networks when it is appliedto route data packets between mobile hosts equipped withwireless devices. The evaluation is performed by simulat-ing wireless networks consisting mobile hosts. From theresults of evaluation, this message forwarding structure ex-hibits a high success rate on routing messages, a low routingoverhead, and robustness to unstable conditions.

In the rest of this paper, the previous work that is relatedto our work is described in Section II. The peer-tree mes-sage forwarding structure is described in Section III. The

application of this message forwarding structure in opera-tions of message forwarding in mobile wireless networks isdescribed in Section IV. The evaluation to the efficiencyof this message forwarding structure is shown in Section V.Lastly, the peer-tree based message forwarding structure issummarized in Section VI.

II. Related Work

A decentralized complete binary search tree is used inour peer-to-peer message forwarding service to define thecooperative relations among mobile hosts in routing datamessages. The search tree is distributed across mobile enti-ties and is integrated from the partial trees maintained in in-dividual entities. The construction of a decentralized searchtree follows a scalable distributed data structure (SDDS)approach [7] where no atomic operation is performed acrossmultiple entities. SDDS helps balancing load among en-tities because duties of maintaining route information aredistributed across entities. Balancing load among mobileentities helps to make a network operate stably because noindividual entity is likely more loaded than others.

Decentralized index structures have been used in manyapplication scenarios. Bozanis et al. [2] introduced the Log-arithmic Dictionary Tree (LDT). Each entity in LDT onlymaintains its own view of a whole distributed tree. An op-eration is accomplished through a collaboration among a setof entities via forwarding it among these entities. Aberer [1]introduced a distributed and balanced binary search treeused for retrieving data objects. Each host only maintainsa small portion of all data objects, and a retrieval about adata object is served through a collaborated effort among asmall set of hosts with regard to the total number of dataobjects. Stoica et al. [12] proposed the Chord protocol forlooking up content by their keys. The index structure usedin Chord is organized into a balanced binary search tree. Acontent look-up, as well as an update on the index struc-ture upon changes of content, only involves a small numberof hosts. In GLS [6], an index structure is organized intoa distributed and balanced search tree built on host identi-fiers. only a small number of location servers participate ina location update or query.

The connectivities in a network also have to be consid-ered in reducing routing overhead. One hop in forwardinga packet at the protocol level might correspond to multipleforwarding hops in the underlying network. Without takinginto account of the connectivities in an underlying network,consumptions of a large amount of network bandwidth inforwarding packets can be resulted. Making one forward-ing hop at the protocol level correspond to one hop of con-nectivity in an underlying network has been adopted as amethod for restricting overhead on forwarding packets inour routing protocol and other recent studies. Tapestry [13]

Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE

Page 3: [IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

is a peer-to-peer overlay routing infrastructure for sendingrequests to servers nearby. The routing mesh maintained inTapestry for routing messages reflects the temporary con-nectivities in an underlying network. Ratnasamy et al. [11]proposed the topology-aware CAN whose routing mesh ismade to match the underlying network-level connectivitiesby clustering geographically proximate hosts together.

Multi-path routing is another feature of our routing pro-tocol where a source can maintain multiple routes to reacha destination. Multi-path routing has been adopted in otherwireless ad hoc routing protocols. Under the DSR proto-col [4], a source host can maintain multiple routes lead-ing to a destination in order to enhance the reachabilitybetween the source and the destination under highly dy-namic network connectivities. Under the Geocast routingprotocol [8], a packet can be forwarded to multiple next-hop hosts to increase its chances of reaching its destina-tion. Kar et al. [5] studied the service-restorable bandwidth-guaranteed routing using two paths. One path is the mainpath, and the other one is the back-up path. The arrange-ment of multi-path routes can be very computationally ex-pensive, and efficient path selection algorithms are highlydesired. In our routing protocol, the arrangement of multi-ple paths is made through setting up multiple beacons lead-ing to a destination host. Moreover, the search tree usedin our routing protocol makes the arrangement of multiplebeacons computationally efficient.

III. The Peer-Tree Message Forwarding Struc-ture

4 5 61 3

00

0 1

10 01 11

000 100 010 110 001 101 011 111

6

6

Level 0

Level 1

Level 3

Level 2

0

0 4 1 3 5 7

3 751240

40 5 3 72 6 1

2

2 7

Forwarding pointers in the global search tree.

Forwarding pointers for network node 6.

Fig. 1. A complete binary search tree built on identifiers of 8mobile entities. Entity 6 selects different next-hop entities when itroutes messages to different destinations.

figure

Relations of sharing common suffixes of identifiers ofentities can be naturally expressed into a complete binary

search tree. In the search tree, leaf nodes represent identi-fiers, and each internal tree nodes represent a set of iden-tifiers sharing a particular common suffix. A complete bi-nary search tree established on identifiers of 8 mobile en-tities is shown in Figure 1, and each internal tree node islabeled with the common suffix that is shared among iden-tifiers included in this node. The closer to the leaf levelan internal tree node is, the longer it is a common suffixshared among the identifiers included in this node. Rela-tions of sharing common suffixes among identifiers can beformally expressed by modular arithmetics. When tree lev-els l (l ≥ 0) are numbered beginning from 0 at the rootlevel, internal tree nodes at tree level l represent equivalenceclasses formed in modular operations by modulo 2l. Eachidentifier is included in exactly one internal tree node at ev-ery tree level. Every internal tree node is forked into twochildren which are equal partitions of their parent node.

Forwarding a data packet can be imagined as traversingthe search tree along a path going from the root to a leafnode representing the destination entity of the message. Forexample, when entity 6 routes a message to entity 2, the pathused in forwarding this message corresponds to traverse thesearch tree starting from the root and going to the leaf treenode representing the identifier of entity 2 as shown in Fig-ure 1. A message is always forwarded to a next-hop entitywhose identifier shares a longer suffix with the identifier ofthe destination entity of the message than the identifier ofthe current entity does. Furthermore, the number of timesa message could be forwarded is bounded by the height ofthe search tree. In an environment with K entities, a com-plete binary search tree is of a height of �log2 K�+1 (someleaf nodes may be empty if log2 K is not an integer), and inturn, the number of times a message can be forwarded is nomore than �log2 K� + 1.

Next-hop entities are jointly determined by the searchtree and the temporary network connectivities. For instance,in a snapshot of a network scenario consisting of 8 mobileentities shown in Figure 2-(a), entity 6 initiates 3 transmis-sions targeting to entities 0, 3, and 5, respectively. Entity6 forwards a message targeting to entity 4 whose identi-fier shares the longest suffix with the identifier of target en-tity 0 in the current neighborhood of entity 6, i.e. entities1, 2, 4, 7. The path used in forwarding messages to entity 0can be imagined as traversing a path in the search tree start-ing from the root and moving to the leaf tree node labeledby the identifier of entity 0 (shown in Figure 2-(b)). Pathsused in forwarding messages to other two destinations arealso shown in Figure 2-(b).

IV. Operations of Message Forwarding

Routing a data message takes two phases: the phase be-fore the message obtains a beacon leading to the destina-

Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE

Page 4: [IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

3

6

7

1

5

2

4

0

0

0

5

5

3

3

finite transmission range

a packet targetingto host x

a single−hopforwarding path

a mobile entity with a 6

5 3

6240

1 5 3 7

0

0

0

5

5

3

3

1

4 5 6 70 3

6

Level 0

Level 1

Level 3

Level 2

1 2

7514

0

0 2 3

0 1

00 10

010000 100

24

351 7

01 11

001110 101 011 111

Source Entity x Packet targetingto entity x

Neighbor ofthe source

Entity that is notadjacent to the source

(a) temporary network connectivity (b) Selections of next-hop entities

Fig. 2. Selections of next-hop entities. The source entity 6 initiates 3 transmissions targeting to entities 0, 3, and 5, respectively. Selections ofnext-hop entities make use of both temporary connectivities between entities and the search tree. The process of forwarding a packet can be imaginedas traversing a path in the search tree going from the root to a leaf tree node.

figure

tion of the message, and the phase after the message ob-tains a beacon. Correspondingly, two mechanisms are im-plemented in each mobile entity to route messages, i.e. thebeacon-seeking mechanism and the beacon-routing mech-anism. The beacon-seeking mechanism makes a joint useof the search tree and the temporary connectivity amongentities; the beacon-routing mechanism only makes use ofthe temporary connectivity among entities. The temporaryconnectivity between mobile entities is detected by makingeach entity periodically broadcast its existence. A entity de-termines the temporary connectivity between itself and itsneighbors by listening to the aliveness messages received.

A. Updating Beacons

By periodically sending out beacon update messages,each mobile entity sets up beacons at other entities to helproute messages targeting to itself. A beacon update is uni-casted to only one next-hop entity each time it is forwarded.Periodic beacon updates are performed even when there isno pending messages. A beacon is carried in a beacon up-date message. A beacon carried in a beacon update messageis initially empty and is formed gradually as the messageis forwarded. Each intermediate entity participating in for-warding a beacon update message appends its identifier tothe beacon carried in the message. Moreover, each interme-diate entity memorizes in its local cache the beacons carried

in passing-through beacon update messages.When a mobile entity updates its beacons, it sends a bea-

con update message to a next-hop entity which is amongits current neighborhood. The message of beacon updatecan be further forwarded multiple times. Along a path offorwarding a message of beacon update, each intermediateentity follows the rule in selecting a next-hop entity to for-ward the message of beacon update to. The selection of amessage of beacon update has to fulfill two conditions: 1)the next-hop entity has to be in the current neighborhood ofthe entity holding the beacon update; 2) the identifier of thenext-hop entity has to share a longer suffix with the iden-tifier of the entity which initiated the beacon update mes-sage than any other neighbors of the entity holding the bea-con update. A beacon update message is kept forwardeduntil no next-hop entity can be found. Forwarding a mes-sage of beacon update is jointly determined by the dynamicnetwork connectivities between entities and the forwardingstrategy guided by the search tree. Hence, a beacon updatemessage can only be forwarded no more number of timesthan the height of the embedded search tree.

B. Forwarding Data Messages

Before a data message obtains a beacon leading to its des-tination, it is forwarded under the beacon-seeking mecha-nism. After a data message has obtained a beacon, it is for-

Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE

Page 5: [IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

warded under the beacon-routing mechanism. The senderof a data message first checks into its cache of beacons for aroute leading to the destination of the data message. Upon acache hit, the data message has obtained a beacon which isthen used to forward this message to its destination. Upona cache miss, the data message has not obtained a beaconleading to its destination.

B.1 Forwarding Under the Beacon-Seeking Mechanism

When data messages are forwarded under the beacon-seeking mechanism, they are forwarded in a similar fash-ion as the way beacon update messages are forwarded. Be-fore a data message obtains a beacon leading to its desti-nation entity, it is forwarded towards one of the point-of-concentrations which likely hold a beacon leading to thedestination of the data message. Forwarding a data messagetowards one of the point-of-concentrations is also jointly de-termined by the forwarding strategy and the dynamic net-work connectivities between entities. The difference be-tween the selection of a next-hop entity for forwarding adata message and for forwarding a message of beacon up-date lies in the way the suffix of identifiers is determined.When a data message is forwarded, the selection of a next-hop host makes use of the suffix of identifiers shared be-tween the entity holding the data message and the destina-tion entity of the data message. When a message of bea-con update is forwarded, the selection of a next-hop hostmakes use of the suffix of identifiers shared between theentity holding the message of beacon update and the en-tity which initiated the message of beacon update. A datamessage can possibly not be able to obtain a beacon whenno next-hop entity can be found before the data messagereaches a beacon-holder entity.

When an entity receives a data message without a beacon,it first checks into its own cache of beacons for finding abeacon leading to the destination entity of the data message.Upon a cache miss, this entity selects a next-hop entity in itscurrent neighborhood to forward the data message to. Upona cache hit, the beacon leading to the destination of the datamessage is copied into the message, and the data messageis then forwarded under the beacon-routing mechanism.

B.2 Forwarding Under the Beacon-Routing Mechanism

The beacon-routing mechanism is used to forward datamessages which have obtained beacons. When an entity re-ceives a data message carrying a beacon leading to the des-tination of the message, it simply forwards the message toa next-hop entity as that is prescribed in the beacon. Whena data message carrying a beacon experiences a route fail-ure due to changes in network connectivities, the beaconis voided and the message is forwarded under the beacon-seeking mechanism to obtain a new beacon leading to thedestination of the message.

C. Storage Demand

Each mobile entity maintains two caches in its storage:a cache of beacons and a list of its current direct neigh-bors. The cache of beacons is used to memorize sourceroutes seen from messages of beacon update. A beacon istypically represented as an ordered list of entity identifiersalong a route. The list of current direct neighbors is usedto keep track of direct connectivities between entities. Eachitem in either the cache of beacons or in the list of currentneighbors expires after a certain timeout interval after its es-tablishment in the cache or in the list. Each mobile entityperiodically checks for the expiration of items in the cacheor in the list.

V. Efficiency of Message Forwarding

A. Simulation Scenarios

The efficiency of operations of forwarding messages us-ing the peer-tree structure is evaluated by simulating mobilewireless networks using the mobility extension [9] to thens-2 simulator [10]. Each mobile entity is equipped with acommunication interface and moves within a 3000meter×3000meter square. In order to focus on demonstrating theefficiency of routing mechanisms, the MAC layer of thewireless device has been disabled in simulations becauseadoption of wireless media control will introduce droppingpackets. The movement pattern follows a random waypointmodel [3]. A mobile entity moves along a straight line to arandomly chosen destination; upon arriving at the destina-tion, it randomly chooses a new destination after pausing for4 seconds. This process repeats till a simulation finishes. Inall mobility scenarios, the average movement speeds rangebetween 5 and 6 meters/second.

B. Success Rates of Forwarding Data Messages

Two different metrics are used to demonstrate the successrates of routing data messages. One metric is the ratio of thenumber of data messages that have been successfully routedto the total number of data messages sent, and this metriccharacterizes the success rate of forwarding data messagesfrom current entities to next-hop entities. The other metricis the rates of successfully delivering data messages to theirfinal destinations, and this metric characterizes the abilitythat a routing mechanism can do the right routing decisionsto eventually route data messages to their destinations. Thesecond metric is more crucial for a routing mechanism to beuseful. Successful hop-by-hop forwarding of data messagesdoes not guarantee that they can be forwarded to their desti-nations. The two metrics are shown in Figure 3 (a) and (b).It is clear that, even though the hop-by-hop success rates are

Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE

Page 6: [IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

0

20

40

60

80

100

0 50 100 150 200 250 300 350

Percentage of successful Data Forwarding

Number of Mobile Hosts

Peer-TreeDSR

0

20

40

60

80

100

0 50 100 150 200 250 300 350

Perc

enta

ge o

f su

cces

sful

End

-to-

End

Data

Del

iver

y

Number of Mobile Entities

Peer-TreeDSR

TORAAODVDSDV

(a) Success Rates of Forwarding Data Messages (b) Success Rates of End-to-End Delivery of Data Messages

0

10

20

30

40

50

60

0 50 100 150 200 250 300 350

Perc

enta

ge o

f Ba

ndwi

dth

Cons

umpt

ion

Number of Mobile Hosts

Peer-TreeDSDVDSR

TORAAODV

0

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300 350

Average Hop Count

Number of Mobile Entities

beacon update messagesdata messages(Total Hops)

data messages (Hops prior to beacons)data messages (Hops posterior to beacons)

(c) Comparison of Overhead with Other Routing Protocols (d) Average Length of Forwarding Paths

0

0.2

0.4

0.6

0.8

1

0 50 100 150 200 250 300 350

Rati

o of

bea

cons

to

tota

l nu

mber

of

host

s

Number of Mobile Hosts

AverageMaximum

0

0.5

1

1.5

2

2.5

3

0 50 100 150 200 250 300

Average Number of Hops

Time (in seconds)

Total Number of HopsNumber of Hops Before Obtaining A BeaconNumber of Hops After Obtaining A Beacon

(e) Storage Demand for Holding Beacons (f) Hop Count Over Time

Fig. 3. The efficiency of the peer-tree routing mechanism and its comparison of routing efficiency to other routing protocols under the samesimulation conditions. Simulations are run in a 3000meter × 3000meter square. The movement speed of mobile entities is uniformly distributedin [5m/s,6m/s], and the pause time is 4s.

figure

very high, it is impossible to route every data message to itsfinal destination. Moreover, the peer-tree message forward-ing structure does better jobs than other routing protocolsmost of the time in routing data messages to destinations.

C. Number of Hops Taken by Data Messages

The average number of hops taken by data messages thathave been successfully routed to their final destinations areshown in Figure 3-(d) and Figure 3-(f). Two facts can be

concluded from the scaling behaviors of average number ofhops shown in Figure 3-(d). First, the peer-tree message for-warding mechanism can forward data messages pretty closeto their destinations before obtaining beacons, because theaverage hop count after obtaining a beacon is generally low.Second, the average number of hops taken by data messagesstay rather constant as there are more entities in a networkbecause sharing a longer suffix of identifiers is preferred inselecting a next-hop entity. The average number of hopstaken by data messages over time is shown in Figure 3-

Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE

Page 7: [IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

(f). From the fact that the overall, prior-to-beacon, andposterior-to-beacon hop count does not change very muchover time, it can be concluded that the peer-tree messageforwarding mechanism operates stably over time.

D. Bandwidth Consumption and Storage Demand

The average amount of bandwidth consumed by each en-tity in forwarding messages using the peer-tree message for-warding structure is shown in Figure 3-(c), which goes upas a network becomes dense. Compared to the bandwidthconsumption by routing under other routing protocols, for-warding messages using the peer-tree message forwardingmechanism consumes less amount of bandwidth than mostother routing protocols considered in the comparison. Inparticular, the overhead under the AODV protocol is lighterthan using the peer-tree message forwarding structure be-cause no source route needs to be carried in AODV pack-ets. A possible explanation that less amount of bandwidth isconsumed in routing using the peer-tree message forward-ing structure is that the average number of hops taken bymessages can be made small (shown in Figure 3-(d)). Theaverage number of hops taken by messages contributes tobandwidth consumption.

The average storage demand at each entity for holdingbeacons is measured as the ratio of the average number ofbeacons held in each entity to the total number of mobileentities in a simulation scenario. The maximum and aver-age storage demand at each entity are shown in Figure 3-(e). In all scenarios, on average, each mobile entity onlyneeds to hold beacons for less than 10% of other entities. Insome scenarios, the maximum per-entity storage demandsare high, but each mobile entity only needs to hold beaconsno more than 40% of other entities.

E. Robustness

The robustness of operations of message forwarding us-ing the peer-tree message forwarding structure is evaluatedby varying pause time or by introducing sleeping entities.When varying the pause time, the longer the pause time is,the less mobility the entities are, and in turn, the more sta-ble a network environment is. When introducing sleepingentities, the more the sleeping entities are in a network en-vironment, the more vulnerable the environment is.

E.1 Varying the Pause Time

The rates of successful end-to-end delivery of data mes-sages under different pause time are shown in Figure 4-(a).The rates of successful delivery at high mobility of enti-ties (i.e. at short pause time) is very close to or even betterthan the rates at low mobility of entities (i.e. at long pausetime). The average number of hops taken by messages stays

roughly the same under different pause time as shown inFigure 4-(b). The average and maximum storage demandat each entity also tend to decrease under low mobility ofentities as shown in Figure 4-(c). From the facts exhibitedin Figure 4, a conclusion can be drawn that the efficiency ofmessage forwarding using the peer-tree message forward-ing structure is not very sensitive to mobility of entities.

E.2 Introducing Sleeping Entities

The robustness of operations of message forwarding us-ing the peer-tree message forwarding structure has also beenevaluated in the existence of sleeping entities. Since a com-plete binary search tree is used as the core of the peer-treemessage forwarding structure, the total number of active en-tities in a scenario without sleeping entities is the number ofleaf tree nodes which is always a power of 2. Let’s denotek as the height of the search tree and assume the tree levelis labeled beginning from 0 at the root, thus, the leaf levelis at tree level k and there shall be 2k leaf nodes. Sinceeach leaf tree node represents the identifier of a mobileentity in a simulation scenario, sleeping entities are intro-duced when the actual number of active entities is P where2(k−1) < P < 2k; and the ratio of the number of sleepingentities to the ideal total number of entities is calculated as2k−P

2k . For example, a search tree of a height of 6 is es-tablished and used in a simulation scenario consisting of 50mobile entities, and there are 14 mobile entities introducedin the simulation; in contrast, there is no sleeping entitiesintroduced in the scenario consisting of 64 entities. Theefficiency of operations of message forwarding using thepeer-tree message forwarding structure in the existence ofsleeping entities is demonstrated by the scenarios consistingof 50, 100, 200, and 350 entities shown in Figure 3. Thereis no observable difference between the scenarios with andwithout sleeping entities.

Robustness evaluation for scenarios consisting of a verylarge portion of sleeping entities has also been performed.For example, when a search tree of a height of 9 is used ina scenario consisting of 16 entities, the portion of sleepingentities is 29−16

29 (= 96%); the performance of this scenariois the same as the performance of the scenario of 16 activeentities and without any sleeping entity. The robustness ofoperations of message forwarding using the peer-tree mes-sage forwarding structure in the existence of sleeping en-tities can be concluded that the efficiency of message for-warding using the peer-tree message forwarding structureis not sensitive to the existence of sleeping entities.

VI. Conclusions

We proposed a message forwarding structure that can beused to forward messages in applications consisting mobileentities. The core of this message forwarding structure is a

Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE

Page 8: [IEEE Second International Workshop on Hot Topics in Peer-to-Peer Systems - San Diego, CA, USA (21-21 July 2005)] Second International Workshop on Hot Topics in Peer-to-Peer Systems

0

10

20

30

40

50

0 25 50 75 100 125 150 175 200 225 250 275% of End-to-End Successful Data Delivery

Pause Time (in seconds)

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

0 25 50 75 100 125 150 175 200 225 250 275Average Hop Count

Pause Time (in seconds)

beacon update messagesdata messages (Total Hops)

data messages (Hops prior to beacons)data messages (Hops posterior to beacons)

0

0.2

0.4

0.6

0.8

1

0 25 50 75 100 125 150 175 200 225 250 275

Ratio of beacons to total number of hosts

Number of Mobile Hosts

AverageMaximum

(a) Rates of Successful End-to-EndDelivery of Data Messages

(b) Average Hop Count (c) Storage Demand for Holding Bea-cons

Fig. 4. The evaluation of robustness of operations of message forwarding using the peer-tree message forwarding structure in the existence ofmobility and failures of entities. In the simulation scenarios, 128 entities move within a 3000meter×3000meter square with their speed uniformlydistributed in [5m/s,6m/s] and with varying pause time.

figure

decentralized and balanced binary search tree, called a peer-tree, which is established on identifiers of mobile entities.The adoption of this message forwarding structure helps op-erations of message forwarding to have high success rates offorwarding data messages to their destinations, to consumea small amount of network bandwidth, and to be robust tounstable conditions. Having high success rates of forward-ing data messages is achieved through setting up beaconsand helping data messages to obtain beacons. Restrictingconsumption of network bandwidth in message forwardingis achieved through limiting the number of times a messagecan be forwarded. Being robust to unstable conditions isachieved through setting up multiple beacons so that mul-tiple routes can be chosen to route data messages sent be-tween a pair of communicating entities.

By simulating environments consisting of mobile enti-ties, the efficiency of operations of message forwarding us-ing this message forwarding structure exhibits higher ratesthan other routing protocols in forwarding data messagesto their destinations, a low consumption on network band-width in message forwarding, and being robust to mobilityand failures of entities.

References

[1] Karl Aberer. P-Grid: A self-organizing access structure for P2P in-formation systems. Lecture Notes in Computer Science, 2172:179 –192, 2001.

[2] Panayiotis Bozanis and Yannis Manolopoulos. Ldt: a logarithmicdistributed search tree. In Proceedings of the 4th Workshop on Dis-tributed Data and Structures (WDAS’02), Paris, France, 2002.

[3] Josh Broch, David A. Maltz, David B. Johnson, Yih-Chun Hu, andJorjeta Jetcheva. A performance comparison of multi-hop wireless adhoc network routing protocols. In Proceedings of ACM/IEEE Con-

ference on Mobile Computing and Networking (MobiCom), pages85–97, October 1998.

[4] D. Johnson, D. Maltz, and J. Broch. Dsr: The dynamic source rout-ing protocol for multihop wireless ad hoc networks. In Ad Hoc Net-working, edited by Charles E. Perkins, chapter 5, pages 139 – 172.Addison-Wesley, 2001.

[5] Koushik Kar, Murali Kodialam, and T. V. Lakshman. Routingrestorable bandwidth guaranteed connections using maximum 2-route flows. IEEE/ACM Transaction on Networking, 11(5):772–781,2003.

[6] Jinyang Li, John Jannotti, Douglas S. J. De Couto, David R. Karger,and Robert Morris. A scalable location service for geographic ad hocrouting. In Proceedings of the 6th ACM International Conferenceon Mobile Computing and Networking (MobiCom ’00), pages 120 –130, Boston, Massachusetts, August 2000.

[7] Witold Litwin, Marie-Anne Neimat, and Donovan A. Schneider. Lh:Linear hashing for distributed files. In Proceedings of the 1993 ACMSIGMOD international conference on Management of data, pages327 – 336. ACM Press, 1993.

[8] Christian Maihfer. A survey of geocast routing protocols. IEEECommunications Surveys & Tutorials, April 2004.

[9] The Rice Monarch Project. The Wireless and Mobility Extensionsto ns-2. Available from http://www.monarch.cs.cmu.edu/. ComputerScience Department, Rice University.

[10] The VINT Project. The network simulator - ns-2. Available fromhttp://www.isi.edu/nsnam/ns/. UC Berkeley, LBL, USC/ISI, and Xe-rox PARC.

[11] S. Ratnasamy, M. Handley, R. Karp, and S. Shenker. Topologically-aware overlay construction and server selection. In Proceedings ofIEEE INFOCOM’02, June 2002.

[12] Ion Stoica, Robert Morris, David Karger, Frans Kaashoek, and HariBalakrishnan. Chord: A scalable Peer-To-Peer lookup service forinternet applications. In Proceedings of the 2001 ACM SIGCOMMConference, pages 149 – 160, 2001.

[13] Ben Y. Zhao, Ling Huang, Jeremy Stribling, Sean C. Rhea, An-thony D. Joseph, and John Kubiatowicz. Tapestry: A resilient global-scale overlay for service deployment. IEEE Journal on Selected Ar-eas in Communications, 22(1), January 2004.

Proceedings of the 2005 Second International Workshop on Hot Topics in Peer-to-Peer Systems (HOT-P2P'05) 0-7695-2417-6/05 $20.00 © 2005 IEEE