Service discovery in mobile ad hoc networks: an ... - Semantic Scholar

38 downloads 273548 Views 667KB Size Report
Keywords: Service discovery; Mobile ad hoc networks; Virtual backbone; Anycasting. 1. Introduction ... back-up storage device, or a special purpose sensor node may all be .... provisioning of efficient yet satisfactory network layer support to ...
Ad Hoc Networks 2 (2004) 23–44 www.elsevier.com/locate/adhoc

Service discovery in mobile ad hoc networks: an overall perspective on architectural choices and network layer support issues Ulasß C. Kozat *, Leandros Tassiulas Department of Electrical and Computer Engineering and Institute for Systems Research, University of Maryland, College Park, MD 20742, USA Received 5 May 2003; accepted 30 June 2003

Abstract Service discovery is indispensable to ad hoc networking where establishing a stand-alone and self-configurable communication environment is the main objective. In this paper, we first discuss possible service discovery architectures along with the required network support for their implementation in mobile ad hoc networks. We then propose a distributed service discovery architecture that relies on a virtual backbone for locating and registering available services within a dynamic network topology. Our proposal consists of two independent components: (i) formation of a virtual backbone and (ii) distribution of service registrations, requests, and replies. The first component creates a mesh structure from a subset of a given network graph that includes the nodes acting as service brokers and also a subset of paths (which we refer to as virtual links) connecting them. Service broker nodes (SBNs) constitute a dominating set, i.e. all the nodes in the network are either in this set or only one-hop away from at least one member of the set. The second component establishes sub-trees rooted at service requesting nodes and registering servers for efficient dissemination of the service discovery control messages. Extensive simulation results are provided for comparison of performance measures, i.e. latency, success rate, and control message overhead, when different architectures and network support mechanisms are utilized in service discovery.  2003 Elsevier B.V. All rights reserved. Keywords: Service discovery; Mobile ad hoc networks; Virtual backbone; Anycasting

1. Introduction Flexibility and minimum user intervention are essential for future communication networks that are to be easily deployed and reconfigured auto-

*

Corresponding author. E-mail addresses: [email protected] (U.C. Kozat), [email protected] (L. Tassiulas).

matically when extended with new hardware and/ or software capabilities. Service discovery, which allows devices to automatically locate network services with their attributes and to advertise their own capabilities to the rest of the network, is a major component of such self-configurable networks. For this purpose, several different (yet overlapping) industrial consortiums and organizations are established to standardize various service discovery protocols- such as Service Location

1570-8705/$ - see front matter  2003 Elsevier B.V. All rights reserved. doi:10.1016/S1570-8705(03)00044-1

24

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

Protocol (SLP) of IETF, SunÕs Jini, MicrosoftÕs Universal Plug and Play (UPnP), IBMÕs Salutation, and BluetoothÕs Service Discovery Protocol (SDP) [1–5]. Nonetheless, these standardization endeavors do not directly dwell on mobile ad hoc network (MANET) environments where self-configurability is the key. Mobile ad hoc networks (MANETs) are the ultimate scenarios where the nodes sharing a common stack of lower layer technologies are able to form a temporary communication network in order to facilitate instant networking needs [6]. MANET nodes may have very little or no knowledge at all about the identities and capabilities of each other. There can in fact be a high degree of variety in terms of the capabilities of each individual device (e.g. support of multiple physical interfaces, processing power, printing capability, multi-media libraries, etc.) and such a heterogeneity makes it even more attractive to establish an ad hoc network. Moreover, MANETs are characterized by their highly dynamic, multihop, and infrastructure-less nature. The dynamic nature arises from the facts that (i) nodes are free to move, (ii) the adverse channel conditions of the wireless medium (e.g. multi-path fading, shadowing, interference, collisions, etc.) may be in effect, (iii) node failures may occur because of the limited energy of the battery-charged devices, and (iv) nodes may frequently join or leave the network at will. Each node is assumed to have the routing functionality, so that when no direct link exists between any two devices, they can still communicate via the intermediate nodes. No existing infrastructure is assumed, because it is desirable to have a stand-alone and self-configurable network even in cases where there occur partitions in the network. Under these circumstances, service discovery is a pre-requisite for mobile ad hoc networks, and yet it has not been fully investigated in the literature. In this work, we adopt an abstract view on service discovery without paying particular attention to how the service types and attributes are defined. Instead, we concentrate on the available design choices and evaluate them both in terms of their limitations and their interactions with the lower layers to assess the overall performance in

the context of MANETs. The following definitions clarify how services and service discovery must be understood throughout the paper: • Service is any hardware or software feature that can be utilized or benefited by a mobile node. • Server is any ad hoc node that has at least one service to offer to the other nodes. • User (or Client) is any ad hoc node that wants to utilize a specific service offered in the MANET. • Service discovery is a mapping from a service class and an attribute list to a single IP address or a group of IP addresses. Hence, a gateway node that inter-connects a MANET to other wireless/wireline networks, a back-up storage device, or a special purpose sensor node may all be regarded as servers of different types under this generic view. Service discovery is traditionally performed in the application layer transparent from the lower layers. Nevertheless, the architectural design and mandatory control message signaling of a specific protocol impose certain requirements on the network layer and below. In return, the applicability and the performance of a specific protocol in MANET scenarios at a large extent depend on these requirements. For instance, if any fixed infrastructure is assumed in the protocol architecture, it would be against the nature of the ad hoc networking and such a protocol should not be adopted for MANET environments. We leave the more detailed discussion on the desired features of service discovery protocols in order to be employed in MANETs for the next section. But it is useful to identify the possible architectural models in this section for the future reference. Most service discovery protocols include the client–server paradigm as a mode of operation. In this paradigm, service users (i.e. clients) reactively send out service request messages and servers listen to such messages at a well-determined network interface and port. If the requested service is supported, then a reply message is generated and sent back to the clients. Service users can also passively learn about the available services by listening service advertisements that are proactively generated

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

REQUEST USERS

SERVERS

REPLY WIRELESS NETWORK ADVERTISEMENT

(a) Directory-less Architecture.

REQUEST

REGISTER DIRECTORY AGENTS

USERS

REPLY

ACK

SERVERS

WIRELESS NETWORK

(b) Directory Architecture Fig. 1. Architectural models and signaling for (a) directory-less and (b) directory systems.

at the servers. The alternative scheme involves service brokers (or directory agents) which reside between clients and servers as a logical entity. Clients direct their requests to well-known service brokers whereas servers register their services with these brokers. In return, service brokers send back service reply messages to the clients and registration acknowledgments to the servers. We refer to each of these models as directory-less and directory architectures respectively. Fig. 1 presents a synopsis of the architectural choices and corresponding control messages. Although we logically separate the users, servers, wireless relays, and directory agents, they can physically be located in the same mobile node. It can be argued that the directory-less architecture is more suited to a MANET scenario, because there is no need for any infrastructure [7]. Furthermore, network support for broadcasting, multicasting, or anycasting suffices to implement this client–server model. It is also evident that using service broker nodes necessitates assigning this functionality either statically or dynamically to a subset of nodes in the network. The static assignment is not possible under the given constraints of MANETs. On the other hand, the dy-

25

namic assignment presents an extra load to the network in terms of selecting the server brokers adaptive to the topology changes as well as informing the rest of the network about the identities of these service broker nodes (SBNs). Therefore, it may be regarded as an expensive alternative and readily discarded. However, there are two very important motivation points that support the use of a directory system. The first motivation arises directly from the major advantages inherent to using SBNs such as (1) Scalability is achieved when network size becomes larger. (2) Response time for locating services reduces. (3) Servers are not flooded with service requests when there is a high demand for certain type of services (e.g. inter-networking). (4) SBNs can apply simple load balancing techniques before sending back a reply message. This further reduces the load on individual servers and enhances the service performance. The second motivation follows from the diligent research efforts in the utilization of virtual backbones or clusters for improved efficiency and quality in MANET routing protocols (i.e. unicasting, multicasting, or broadcasting) and also in the realization of distributed database systems again mainly used for serving routing protocols [8– 11]. It is highly desirable to have a tighter relation between communication layers in order to eliminate the redundancies associated with repeating similar tasks in different layers which results in increased control message overhead. Provided that virtual backbone formation and maintenance mechanisms exist below the network layer, upper layer protocols, i.e. routing and service discovery algorithms, can exploit this backbone together. Then, the overhead associated with dynamically selecting the SBNs is justified with the overall efficiency provided that SBNs are co-located with backbone nodes. The main objective in this paper is to illustrate that the directory architecture is not only a feasible, but also a good candidate for service discovery in MANETs. To this end, we propose our own solution to realize a directory architecture and compare its performance against directory-less architectures that utilize multicasting and anycasting support from the network layer.

26

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

Our solution involves two phases: Backbone Management (BBM) phase and Distributed Service Discovery (DSD) phase. In the BBM phase, a dynamic virtual backbone is formed below the routing layer such that each node in the network is either a part of the backbone or one hop away from at least one of the backbone nodes. After this phase is completed, each backbone node knows how to reach the other backbone nodes within its 3-hop neighborhood. SBNs are co-located with the backbone nodes and each non-backbone node is associated with at least one SBN. On the other hand, in the DSD phase, service request and registration messages are used to form subtrees rooted at clients and the servers that allow efficient dissemination of the subsequent request and registration messages. Reverse paths in these subtrees are exploited for the reply messages. The rest of the paper is organized as follows. In Section 2, an overview of possible network layer support options and desired features of a service discovery protocol are provided. In Section 3, we describe the network model and the notation used. In Section 4, we present a detailed explanation of the BBM algorithm and the DSD algorithm. Performance measures, simulation framework and simulation results are introduced in Section 5. Finally, in Section 6, we conclude by summarizing our arguments and results.

2. Overview Service discovery protocols can be evaluated under a few different contexts. For us, the distinguishing characteristic of these protocols is their applicability to a MANET environment. To be applied directly to a MANET environment, a generic service discovery protocol should operate smoothly when (i) no fixed infrastructure is available, (ii) there are multiple servers offering and multiple clients requesting the same type of services, and (iii) no direct link between clients and servers exists. The first condition has a direct impact on the architectural choice of the service discovery protocols. Directory-less architecture does not have any directory agents (DAs), hence no infrastruc-

ture associated with them is needed. But directory architectures are not trivially free from this infrastructure burden. In directory architectures, the first issue concerns about the nodes that can carry out the functions of DAs. If DAs are very specialized nodes having requirements of bridging between different communication media (e.g. salutation manager (SLM) in salutation protocol [13]) or containing the objects to access the services (e.g. lookup server in JINI [5]), these functions can be impossible or very costly to relocate to another node in the network without any user intervention. Therefore, these DAs constitute an infrastructure contrary to the MANET requirements. On the other hand, if DAs simply contain records of services registered dynamically by the servers, any node with enough resources (e.g. battery power, memory, processing power, etc.) can assume the responsibility of being a DA, which is essential for infrastructure-less operation. Though the simplicity of DA functions is desired, it is not sufficient for MANETs. We also need mechanisms to dynamically (s)elect the nodes that DAs will reside in and make their locations known to other nodes as the topology changes. But in principle, these mechanisms should be same as forming clusters or virtual backbones in MANETs at the network layer except for the close coupling with service discovery in the application layer [8–14]. We benefit from this observation in designing a directorybased service discovery architecture. The second and third conditions entail the provisioning of efficient yet satisfactory network layer support to distribute the actual service discovery control messages under a dynamic topology. When there are multiple servers (DAs) and no direct links exist between clients and servers (DAs), this network support must be in the form of broadcasting, multicasting, or anycasting. For multi-hop wireless networks, broadcasting may have excessive control message overhead which is quite crucial in shared wireless channels and unintended nodes have to receive, process, and retransmit these packets which wastes the scarce network resources. Even if efficient broadcasting mechanisms that intelligently select a subset of nodes to relay the packets are used, they require a coordination among the mobile nodes. Neverthe-

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

less, one can do more than just broadcasting with the associated coordination overhead in the context of service discovery. We will therefore not consider broadcasting in this work as a viable alternative. In multicasting, server and DA nodes (depending on which architecture is being used) are assigned well-defined multicast addresses so that they can be reached by all client nodes. 1 The formation and maintenance of multicast groups in terms of clients, servers, and DAs may incur significant costs in network operations. Thus, even directory-less systems, which are preferred because of their light-weight, may in fact turn out to be heavy-weight in the overall cost when multicasting is used. On the other hand, anycasting [15] can provide a simpler framework, since in practice it can be simulated by any unicast routing protocol [16], which is clearly less demanding than multicasting. We should however point out that anycasting does not differentiate the attributes of the services. Service requests will eventually be received by only one of the servers that may not satisfy the client request. 2 Evidently, assigning a different anycast address for each service type and attribute combination is not a feasible approach. Hence, anycasting has a limited scope as compared to the cases where service attributes may exhibit a high variety and clients have preferences. 3 It is noteworthy to state that anycasting can be extended to provide quality of service by differentiating services in terms of server performances and client requests [17,18], but it would again require special address resolvers or service brokers to monitor the network resources and relevant ac-

1

In case directory system is used, DAs themselves actually become servers providing directory services. Then other servers are treated just like the remaining clients from the perspective of DAs. 2 One may also consider sending application data directly to the anycast address reserved for a service type rather than first discovering the server location. But then, subsequent data packets will possibly be routed to different servers and still the server attributes are not distinguished. 3 A client may request a color printer in a close location with low number of jobs queued. If all the printers are assigned a single anycast address, the user preference will be ignored in the service query.

27

tivities which brings us back to the directory system models and associated overheads. We have already pointed out the similarities between virtual backbone or cluster formation and implementing a directory architecture. If the control message distribution and (s)election process of DA nodes are de-coupled from each other, clients and servers must first discover the DA nodes as if a directory-less system is in place. Otherwise, the second and third conditions basically impose a control message distribution support on top of the virtual backbone or clusters as well as a close interaction between the backbone management sublayer in the network layer and the service discovery agents in the application layer. We prefer the latter approach, because the already collected information during the (s)election of DA nodes can be effectively reused to form a mesh of DA nodes and to locate them. In the following sections, we unravel our algorithms to satisfy both conditions, i.e. lack of infrastructure and efficient dissemination of service discovery control messages, in a directory architecture by using virtual backbones.

3. Network model and notation In this section, we present the network model and the notation that we employ in the rest of the paper. 3.1. Network model We assume that all the nodes in the network have an omni-directional antenna and have the same transmission power. All links are bi-directional, i.e. if node A can hear node B, then node B also can hear node A. Nodes share the same communication channel (e.g. same frequency band, same spreading code or frequency hopping pattern) to transmit and receive the control packets. Hence, no node is allowed to transmit and receive at the same time. No particular assumption is made on medium access control (MAC) and access scheme can be random, reservation based, or any variant of both. Without loss of generality, partitioning in the network is not allowed, because

28

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

each partition may then be treated as an independent network.

We will also use the terms SBN, black nodes, VAP, and backbone nodes interchangeably throughout the paper.

3.2. Notation and definitions We use a color convention in determining the roles of each node in the network. SBNs are represented by black color. If a node is not part of the virtual backbone and it has at least one SBN (i.e. black) neighbor, then it is called to be associated with the virtual backbone and it is represented by green color. When a node is neither a SBN nor an associated node, then it is represented by white color. The remaining notation and the definitions are as follows: • N : Set of all the nodes in the network. ðdÞ • Ni : Set of nodes that are at most d hops away from node i excluding node i itself. • W , G: Set of white and green nodes in N . • ci : Color of node i 2 N , which can be black, green, or white. • VAPi : Virtual Access Point (VAP) of green node i. This node is used by node i as its access point to the backbone. If node i is a server, it always registers its service with the DA residing on node VAPi . • di , dwi : Degree information for node i, i.e. total number of neighbors (or degree) and total number of white neighbors (or effective degree) of node i in the given network topology. • NLFFi : Normalized link failure frequency of node i. This parameter represents the total number of link losses for node i in a fixed time window normalized by di at the end of the observation window. • nlffth : System threshold that sets the preferred level of normalized link losses for the backbone nodes. • IDi : Network identifier for node i. • Tw , Tl , Ts , Th : Waiting time, long time, short time, and hello beacon periods which are ordered as Tw > Tl > Ts > Th . ðlÞ • >: lexicographical comparison, i.e. ½a1 ; a2 ; . . . ; ðlÞ an >½b1 ; b2 ; . . . ; bn  if and only if a1 > b1 or a1 ¼ b1 and a2 > b2 or a1 ¼ b1 and a2 ¼ b2 and a3 > b3 , so on...

4. A directory architecture solution for service discovery Our network level solution to support a directory architecture consists of two parts. The first part, BBM phase, selects a subset of the network nodes to form a relatively stable dominating set, discovers the paths between dominating nodes, and adapts to the topology changes by adding/removing network nodes into/from this dominating set. The formation algorithm for the dominating set is very similar to the backbone selection phase used in VDBP [8]. But, the way in which we incorporate the effect of link failures and interconnect the VAP nodes are quite different. In VDBP, the node with minimum NLFF selects itself as a backbone node. Instead, we only eliminate the nodes with NLFF values higher than a given threshold (i.e. stability constraint) and use the degree (or effective degree) as the selection criterion for the remaining nodes. Note that NLFFi is simply the proportion of the link losses at node i. Relying on a threshold value eliminates the extreme cases as seen in VDBP, i.e. a node i with no link losses but very few neighbors would be selected rather than a node j with very high degree but a few link losses. Unlike most of the other backbone or clustering algorithms, BBM utilizes only a 1-hop local broadcast control message (Hello Beacon) for forming the backbone, creating virtual links between backbone nodes, and maintaining the backbone. Hello beacons are also light-weight, because they do not carry all the neighborhood information of the transmitting node. After the first part is successfully carried out, we have a virtual backbone that constitutes a mesh structure with the backbone nodes and the virtual links connecting them. The second part, DSD phase, is used to efficiently distribute the request and registration messages from the service discovery agents to the DAs (i.e. backbone nodes). These messages assist in forming multicast trees

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

rooted at client and server nodes on top of the backbone mesh. The detailed descriptions of both parts are provided in the subsequent subsections. 4.1. Backbone management (BBM) phase The goal of the BBM algorithm is to obtain a small size (not necessarily minimum size) and relatively stable backbone. The algorithm is highly distributed and based on local decisions which enable it to rapidly react back to the changes in the network topology. BBM algorithm can be described in three components: (i) initial selection of backbone nodes, (ii) mesh formation by finding the paths between backbone nodes, (iii) and maintenance against topology changes. All the components rely on the periodically broadcasted hello beacons which bear the following information about the transmitting node i: fIDi , di , dwi , NLFFi , ci , VAPi , flags, routing information}. Each node creates a neighborhood information table (NIT) and a routing table using the information carried by these beacons. 4.1.1. Backbone selection Initially, e.g. when first powered on, every node is assigned white color. Before deciding on their role in the network, white nodes collect hello messages and built up their own neighborhood information table (NIT) for a time period Tw . 4 Each node also caches its own degree, effective degree, and NLFF information as advertised in its last hello beacon and use the cached parameters rather than the actual ones in decision step for a synchronized view between the neighbors. At the end of the waiting period, any white node k, which complies with the stability constraint (e.g. NLFFk 6 nlffth ), joins the virtual backbone and becomes black if it has the highest effective degree among the other white nodes in its NIT that also satisfy the stability constraint. Ties are broken by

4

As a high level link failure detection, an entry for a specific neighbor is erased from NIT unless any hello beacon is received from that node for an integer multiple of Th .

29

giving strict priority to higher ID nodes. Checking the normalized link loss threshold helps to avoid the nodes with a lot of link losses relative to their total number of links becoming backbone nodes. If no white node in 1-hop neighborhood of node k including itself has a link loss rate lower than the threshold, then node k decides as if its nlffth is set to 1. Effective degree information is checked to force undecided subnets in the network to continue the process independent from the decided components. If a node is still white after its waiting period because it does not have the best effective degree among its white neighbors, it extends its waiting period to receive more hello messages. This extra waiting time must be in the order of hello beacon interval Th . At any point in the waiting time period, if a white node k receives a hello message from a black node l, k associates itself with l and l becomes VAP node of k. Thus k becomes a green node. If a white node remains as the only white node in its neighborhood at the end of the waiting time, then this node must select a green node as its VAP node by giving strict priority to nodes that first satisfy the nlffth requirement and secondly have a higher degree. When any green node i receives a hello beacon from node j with VAP field set to its own id, node i must become a backbone node and turn into black. Table 1 presents the pseudo-code of the backbone selection process. Each white node runs the algorithm asynchronously. When a decision in terms of being a black node or green node is made, that node no longer stays in the selection phase and it starts immediately mesh formation and maintenance steps. In this respect, it can be the case that while portions of the network are still in the selection phase, the rest can be in the mesh formation and maintenance steps. Following lemmas show that all nodes decide in a finite amount of time, we end up with a dominating set, and each VAP node has other VAP nodes within 3-hop distance if the network radius is large enough. Lemma 1. Given a subgraph Gs of white nodes, nlffth , and NLFFi for all i 2 Gs at time instant t, there exists at least one white node which identifies itself as the backbone node if it decides at time t.

30

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

Table 1 Pseudo-code for backbone selection phase nnConstants: nlffth , Tw , Th , a nnInitialization: 1. 8i 2 N if (ci ¼¼ /) 1.1. ci ¼ white; 1.2. set timer_ ¼ Tw ; nnWaiting period: 2. 8i 2 W if (HELLO received from k) 2.1. Update NIT; 2.2. Update NLFFi ; 2.3. if ((Tw 6¼ 0) && (ck ¼¼ black)) 2.3.1. ci ¼ green; 2.3.2. VAPi ¼ k; 2.3.3. Expire timer_; nnTimer expires 3. 8i 2 W if (timer_ ¼¼ 0) ð1Þ 3.1. if (ðNi \ W Þ 6¼ /) ð1Þ 3.1.1. if ( 9 = k 2 ððNi \ W Þ [ figÞ s.t. NLFFk 6 nlffth ) 3.1.1.1. nlffth ¼ 1; 3.1.2. if NLFFi > nlffth 3.1.2.1. timer_ ¼ aTh ; 3.1.2.2. continue from step 2; ðlÞ 3.1.3. if ð½dwi ; IDi >½dwk ; IDk Þ 8k s.t. ð1Þ 3.1.2. ððk 2 ðNi \ W ÞÞ&&ðNLFFk 6 nlffth ÞÞ 3.1.3.1. ci ¼ black; ð1Þ 3.2. else if (ðNi \ W Þ ¼¼ /) ð1Þ 3.2.1. if ( 9 = k 2 ðNi \ GÞ s.t. NLFFk 6 nlffth ) 3.2.1.1. nlffth ¼ 1; 3.2.2. VAPi ¼ arg max ½dk ; ð1Þ

k2ðNi \GÞ NLFFk 6 nlffth

nnArbitration: 4. 8i 2 G if ((HELLO received from k) && (IDi ¼¼ VAPk )) 4.1. ci ¼ black;

Proof. We can further partition Gs into two subgraphs Gs1 where all the nodes satisfy the nlffth constraint and Gs2 where none of the nodes satisfy the nlffth constraint. If Gs1 is non-empty then lexicographically the white nodes can be strictly ordered and highest ordered node in Gs1 identifies itself as a backbone node. Otherwise Gs2 ¼ Gs and again lexicographically there is a unique node (but this time among all white nodes) which identifies itself as a backbone node. h Lemma 2 (Time-boundedness and Correctness of Selection Algorithm). Initial selection part of BBM terminates in a finite amount of time and the set of black nodes constitutes a dominating set under the assumptions that (1) the network graph is connected and the network size is bounded but larger than one,

(2) hello beacons are transmitted error-free with zero delay, (3) hello beacons are transmitted at a much higher rate than the rate of topology changes, (4) nodes use the cached parameters to decide, (5) decided portions maintain the dominating set feature. Proof. Without loss of generality, suppose that at time t0 , there is a connected subgraph Gs where any node i 2 Gs is white, all nodes have already waited for time Tw , and 1 < jGs j < 1. If we show that at least one node in Gs decides to be black in a finite amount of time s, then jGs j becomes a monotonically decreasing function when observed at time instants t0 þ k  s until jGs j becomes one. But at this moment, we have an isolated white node which selects another green node as a VAP node and it turns into green. Since all the white nodes are exhausted, we end up with a set of black nodes that constitute a dominating set. That all nodes have finished initial waiting time of Tw , they are now in the extended waiting time period. Suppose a topology change occurred at t1 P t0 and no white node decided to be black yet. Then the assumption about the topology changes and hello beacons dictates that in ½t1 þ m1 Th ; t1 þ m2 Th Þ all nodes have stationary NITs where m1 and m2 are integer constants. Assumption (4) ensures consistent set of parameters among neighbors. By Lemma 1 and letting extended waiting time to be aTh , at any time in ½t1 þ m1 Th ; t1 þ ðm1 þ aÞTh Þ where a < m2 , there exists at least one white node that decides to be black. Thus, in the worst case, choosing s ¼ t1 þ ðm1 þ aÞTh  t0 suffices for completing the proof. h Lemma 3. Assuming that network graph is connected and the maximum distance in that graph (i.e. network radius) is greater than or equal to 3 hops, there exists a black node i for each black node j such ð3Þ that i 6¼ j and i 2 Nj after the selection part of BBM. Proof. We will prove the lemma by using the way of contradiction. LetÕs assume that there is not any ð3Þ black node i 2 Nj . Because of the assumptions of the lemma, there is a green node k which is 2 hops away from node j. Since there is no black node in 3 hops of node j, green node k can not have black

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

neighbors either. This is a contradiction to the definition of a green node. Hence, the lemma follows. h Lemmas 2 and 3 provide the necessary framework for completing the backbone formation. If each VAP node discovers the paths to other VAP nodes within 3 hops (i.e. VAP neighbors), then we obtain a mesh structure which will later be utilized in distributing control messages between VAP nodes. 4.1.2. Mesh formation Hello beacons convey enough information for finding paths between VAP neighbors. We will refer to these paths as virtual links. A virtual link can be 2-hop or 3-hop long, i.e. there may be one or two green nodes between VAP neighbors respectively. Both situations are outlined in Fig. 2. In the figure, dashed nodes are our black nodes, and non-dashed smaller size nodes represent the green nodes. Black nodes are identified by single digit numbers, whereas green nodes are identified by two digit numbers with most significant digit indicating their VAP node. For instance of a 2-hop long virtual link, we can look at the case where green node 11 lies between black nodes 1 and 3. Node 3 sees in the hello beacons of node 11 that node 11 has a VAP node other than itself. Since node 11 also sees that node 3 is black and it is not its own VAP node, it in-

91 42

61

9

4

41

6

32 92 71

43

3

62 7

11 12

31 1

72 52

21 24

13

82 51

5

53

2

8

22

81 54 23

Fig. 2. An instance of virtual backbone formation.

31

cludes this routing information in its hello beacons. Thus both black nodes 1 and 3 have the information that they can reach to each other via node 11 and they update their routing tables. When there exist two green nodes along the virtual link (i.e. 3-hop long virtual link), the situation is slightly different. For example, we have two green nodes between black nodes 1 and 2. Nodes 13 and 24 recognize from each otherÕs hello beacons that they have different VAP nodes. Therefore, node 13 caches node 24 as next hop for node 2 and node 24 caches node 13 as next hop for node 1. They also include this routing information as an extension in their hello beacons so that nodes 1 and 2 will know that nodes 13 and 24 are next hop nodes respectively towards each other. Hence, green nodes play the major role in discovering the virtual links between VAP neighbors. To reduce the size of hello beacons, routing extensions that carry no new information are avoided for a timeout period. 4.1.3. Backbone maintenance The maintenance of the dominating set feature of the backbone is a very important task against frequent topology changes. BBM phase gracefully handles three events that may happen mainly due to the node mobility: (i) Green node loses its VAP, (ii) black node is deserted by its green nodes, and (iii) black nodes become overpopulated. The first situation is resolved by forcing new nodes to join the backbone. When green nodes do not receive hello messages for a time period from their VAP nodes, they choose another neighbor as their new VAP node by giving strict priority to black nodes and then to green nodes that comply with the stability constraint and the highest degree criterion. Thus, no node is left without a VAP node. On the other hand, in the second situation, deserted black nodes autonomously decide to leave the backbone. Desertation may happen because a black node may migrate to a location where none of the green nodes have this node as their VAP node (or equivalently all green nodes associated with the same black node may move out of range or have failed to communicate). Therefore, upon detecting that it is deserted, i.e. when no hello

32

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

message indicating itself as a VAP node has been received for a time period Tl , a black node must turn into a green node and follow the same actions that a green node left without a VAP node takes. In the third situation, black nodes can be grouped together in the same locality depending on their mobility patterns. To resolve such cases, when a black node i notices other black nodes in its 1-hop neighborhood, it transmits its hello message with a flag indicating that it will change its color to green. When green neighbors, which have node i as their VAP node, receive this hello message, they compute the best black neighbor from their own NIT again using stability constraint and highest degree criterion. If the best black neighbor is not node i, they simply assign the best black neighbor as their new VAP node. Otherwise, they set the flag in their own hello messages indicating i as the best node. As long as black node i receives hello messages from its green neighbors indicating itself as the best VAP node, node i remains black. If no such messages are received for a time period Ts , node i turns into green and leaves the backbone. 4.2. Distributed service discovery (DSD) phase Now, we have the virtual backbone and DAs are co-located with the VAP nodes. However, we still need mechanisms to let servers register their services with one or more DAs and clients request the services. This is done in the following fashion. When a server located on node i wants to register its service, it has to register with the DA located on VAPi assuming node i is a non-backbone node. VAPi is referred to as source VAP node. If the node i is already a black node, then the service is registered with the DA on the same node and node i itself becomes the source VAP node. Server may register with more DAs (even maybe with all DAs). Then we need a multicast or broadcast mechanism to distribute the registration messages to other DAs located on other VAP nodes. Any time the VAP node of a server changes, it must renew its registration with the DA operating on the new VAP node. Also, the server should be able to keep the scope of its registration messages local by bounding the number of black nodes that the

registration messages could traverse. Similar arguments hold true for the service requests. When a client on node j requests for a service, node j forwards the request to VAPj provided node j is not already a black node and VAPj passes the request to co-located DA. If node j is black, then the request is passed to the DA on node j. In case DAs do not have any fresh registration for the service, the service should be requested from other DAs again by multicasting or broadcasting. Wireless bandwidth is scarce because of the shared medium and wireless channel impairments. Although backbone itself helps reducing the overhead in disseminating broadcast or multicast messages by using simple mechanisms like flooding the backbone, it is not sufficient when we consider the increasing frequency of multicast events and the topologies where backbone with virtual links exhibits lots of loops and high average degree. To make things simple, scalable and efficient, we propose a source based multicast tree algorithm that is triggered by service discovery request and registration messages sent to the backbone management layer by clients and servers. In our algorithm, every backbone node keeps a forwarding list among their VAP neighbors for each multicast tree uniquely identified by the source VAP node. As the initial condition, forwarding lists include all of the VAP neighbors except for the source VAP node. Multicast messages contain the following fields: {source node, source VAP node, sequence number, last-hop VAP node, next-hop VAP node, next hop node, time-tolive (TTL), options, payload data}. Source node indicates the client or the server which initiated the request or registration process. Each multicast message is uniquely identified by the 2-tuple {source VAP node, sequence number}. Multicast messages flow from last-hop VAP node to nexthop VAP node. Last hop VAP node and the green nodes along the virtual link compute the next hop node from their routing tables using next-hop VAP node as the destination point. Note that these routing tables are generated and updated by BBM phase. When next-hop VAP node receives the message, it prunes the last-hop VAP node from the forwarding list of the particular tree. If the message is received for the first time, the replicas are

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

sent to each node in the forwarding list. When a duplicate multicast message is received from a pruned VAP node to which the same message has not been sent, an explicit PRUNE message must be sent to that VAP node to force it to prune the same link. This algorithm guarantees a multicast tree after a convergence time given that topology changes slower than the convergence time. In the worst case situation, multicasting to backbone nodes becomes the same as flooding among the backbone nodes. Options field basically defines the type of the encapsulated payload data, e.g. service registration, service request, etc. Depending on the options field, a VAP node waits for a feedback from upper layer protocols, where the payload data is handled, in order to stop or proceed with the forwarding operation. TTL field can be used to further limit the depth of forwarding for a particular multicast message (i.e. the information is explicitly kept local). Forwarding list members basically can be understood as child nodes, and the VAP node from which a multicast message is received for the first time is then designated as the parent node. When a VAP node loses its parent node, it sends an UNPRUNE message to its VAP neighbors. Upon receiving an UNPRUNE message from their parent, child nodes generate their own UNPRUNE message and send it to other VAP neighbors except for their parent node. All VAP nodes, which receive an UNPRUNE message, add the sender to the forwarding list of the particular multicast tree as specified in the UNPRUNE message. To give more insights about the algorithm, we provide two examples in Figs. 3 and 4. These figures essentially show the same topology as in Fig. 2 except for the fact that the links and green nodes between VAP nodes are replaced by bidirectional dashed lines to denote the virtual links. Suppose server on node 12 wants to register its service to all VAP nodes (nodes 1–9 in the figure). Node 12 sends the registration message to its VAP node 1. Then node 1 initiates multicasting process by first unicasting the copies of the registration message to its VAP neighbors. Nodes 2, 3, 4, and 5 receive a multicast message originated by node 1 for the first time. So they forward the copies of the message to their own VAP neighbors except for the node from

33

mcast(1)

mcast(1)

1

6

1 mcast(1)

9

mcast(1)

4 X

prune(1) mcast(1)

X

1

3 1 1 mcast(1)

12 mcast(1)

1

mcast(1)

service registration

mcast(1)

X

mcast(1)

7

mcast(1)

mcast(1)

X

1

1 mcast(1)

mcast(1)

mcast(1)

5 2

8

1

Fig. 3. Source based multicast tree formation on virtual backbone with service registration message.

91 service request mcast(9) service registration 32 (2 hops) mcast(3)

mcast(9)

4 9

6 mcast(9)

3

9 unicast reply 9 X

9

mcast(9)

3 mcast(9)

3

7

mcast(3) mcast(9)

mcast(3) 3

1

9 9

mcast(9)

5

9

2

8 unicast reply

mcast(9)

Fig. 4. General view of service discovery with TTL-limited registration and request messages.

which that message is received and the originator of the message. In the figure, node 2 will receive the same multicast message from node 3 as it received from node 1. Thus node 2 knows at that moment that node 3 has already received the same multicast message. As a result node 2 stops forwarding multicast messages originated from node 1 to node 3. Similarly, node 3 will see duplicates via node 2 and 4, so it stops forwarding multicast messages originated from node 1 to these nodes. A different case will happen at node 9. Node 9 first receives the multicast message via 6 and then via 7

34

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

at almost the same time. The message from node 7 is duplicate, and since node 7 is pruned from the forwarding list of node 9, node 9 explicitly sends a PRUNE message to node 7. Hence node 7 stops forwarding multicast messages originated from node 1. Explicit PRUNE mechanism is also used when duplicates are received persistently from a pruned node. This can happen in cases where multicast or PRUNE messages are lost. At the end a multicast tree is formed on top of the virtual backbone. The source VAP node, i.e. node 1, becomes the root of this multicast tree. In Fig. 3, directed solid lines labeled with node 1 represents this tree. Dashed lines with a cross represent the pruned links. If node 13 also wants to initiate a service registration or request, since it has the same VAP node as 12, it uses the same multicast tree represented by source VAP node 1. Note that the multicast tree can be logically viewed as two separate trees rooted at nodes 12 and 13. Fig. 4 shows a general scenario when TTL field is set to 2 hops for multicasting service registrations from node 32. TTL field includes the link from node 32 to its VAP node 3. The solid one directional links show the multicast tree and the numbers on them indicate the root of the tree. Suppose that this service is only provided by node 32 and that node 91 wants to utilize it. In that case, node 91 sends a service request message to its VAP node 9 and the request is multicasted until it reaches nodes 1 and 4, which already have the information. Therefore, nodes 1 and 4 discontinue forwarding the request message and using reverse link information, they reply back to node 9 and node 9 replies back to node 91. Here, it is interesting to note the interaction between service discovery agent and multicasting in forwarding decisions. A service request is propagated further unless the query is resolved.

5. Simulation environment In this section, we first describe the performance metrics that are used to evaluate different architectural and network support choices. We then present the simulation framework and the simulation results in two separate subsections.

5.1. Performance metrics Three performance criteria are considered in our simulations. The first performance metric is the total mean control message overhead of each service discovery mechanism which measures the load of the algorithms on network resources in terms of the number of packets. The second performance metric is the mean hit ratio of these mechanisms. In the generic service discovery algorithm used in our simulations, a client does not repeat the request until it receives a successful reply. This is simply because we want to see how many original requests are successfully replied and we label these requests as successful attempts. Hit ratio is simply the ratio of the total number of successful attempts to the total number of requests. When hit ratio and control message overhead are combined together, it reflects the efficiency of each approach. Our last performance metric is the average time delay between the time any successful request is sent from a client and the time corresponding reply is received by the same client. This metric measures the promptness of the service discovery and it is particularly important when we have real time applications waiting for timely response for each service query. 5.2. Simulation model We simulate four different service discovery mechanisms using ns-2 with CMU wireless extensions [19]. One of these mechanisms is our proposal for the directory architecture, and other three mechanisms are based on directory-less architectures. As network support, we consider multicasting and anycasting as two major contenders for the directory-less architecture. There exists a rich literature on multicasting for mobile ad hoc networks [20–26]. In our scenarios, we consider the general case of multiple senders (i.e. clients) and multiple receivers (i.e. servers). We do not include the case, where servers advertise their services and clients learn about the services passively. Instead, we focus only on the requestreply and registration mechanisms for they cover the majority of the applications. Since clients issue service requests at will, the multicast protocol

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

should be sender based rather than receiver based. We also want to have a multicast protocol that does not depend on any particular unicast routing protocol, which restricts its use. Given these choices, on demand multicast routing protocol (ODMRP) [20] quite well satisfies the features that we seek for. We have implemented ODMRP in ns2 without using its mobility adaptive part, which requires GPS receivers on mobile devices. In this implemented version, when a sender initiates a multicast session for the first time, it floods the network with JoinData control messages. JoinData messages generate reverse path information as next hop to the multicast sender. When JoinData messages reach to receivers, each receiver forms a JoinTable message which includes a tabulation of multicast senders and the corresponding next hop nodes towards senders. Each intermediate node checks if it is a next hop node for any multicast sender. If this is the case, it joins to the forwarding group for that particular multicast group and re-transmits JoinTable message after filtering out the portions of the tabulation for which the intermediate node is not a next hop node. When a multicast data packet is received, the nodes, which are in the forwarding group for the particular multicast address, locally re-broadcast the data packet. To maintain the routing (or forwarding group) entries, each multicast sender periodically floods the network with JoinData messages as long as the multicast session continues. We set the time-out period for routing entries as 10 s and for JoinData refresh messages from senders to receivers as 3 s. We have implemented anycasting by modifying the existing ns-2 code of the two very popular ad hoc unicast routing protocols, namely DSR [27] and AODV [24]. Specifically, we have defined a virtual server node that is uniquely identified by the IP anycast address, for which only the actual server nodes have routing entries [16]. We refer to these two modified algorithms as anycast-DSR and anycast-AODV respectively. The choice of these protocols also stems from the fact that they are reactive algorithms and quite efficient in terms of control message overhead. Both of them support similar mechanisms like flooding route request messages and obtaining replies. Nevertheless, in

35

addition to their differences in creating, caching, and maintaining the routing entries, these protocols mainly diverge in the way they place the routing decisions: In DSR, data packets themselves carry all the necessary routing information whereas in AODV the intermediate nodes use their own routing tables to determine the next hop to forward the data packets. For our proposal, BBM and DSD are implemented below the routing and above the link layer with direct interfaces with the service discovery protocol again in ns-2. Initially, the TTL field for service registration messages is kept fixed at 1 so that each server registers with only one DA. Later on, the impact of using different TTL values is also examined. We will refer to the overall proposal as distributed service discovery protocol (DSDP) in simulation results. We use the distributed coordination function (DCF) of IEEE 802.11 as the underlying MAC protocol. DCF in IEEE 802.11 is a random access scheme and belongs to the CSMA/CA family. The radio interface is based on LucentÕs WaveLan technology with 250 m of nominal propagation range and 2 Mbps of nominal bit rate. Radios use omni-directional antennas and we assume a tworay ground propagation model. To compare the directory-less and directory solutions, the network size is fixed to 50 nodes. Both square (1000 m · 1000 m) and rectangular (1500 m · 300 m) topologies are considered, but since the relative results are very similar to each other, we only provide the results for the rectangular topology. We use random-way point model as the mobility model. In this model, nodes select a random destination point and a speed value from a uniform distribution U ½0; Vmax  after a pause time P . When they reach the destination, they repeat the same process. A higher Vmax or a lower P corresponds to a higher mobility level. Five different mobility patterns are used for each fVmax ; P g pair. In the experiments, where Vmax is varied, P value is kept at 0 s.,i.e. nodes are always in motion. When we vary the P value, we had fixed the Vmax value at 20 m/s. Apart from mobility, the other crucial scenario parameters that we can analyze are the number of clients and the number of servers in the system.

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

Number of clients is selected as 10, 20, and 30, whereas number of servers is varied between 1, 3, and 5. For each mobility pattern, again five different random set of clients and servers are used. Thus, each point in the simulation plots is averaged over 25 random scenarios. Each server periodically registers its service every 10 s and whenever its VAP node changes for the directory architecture. Without any loss of generality, we assumed that only one service class is offered by all the servers in the network. Clients, on the other hand, send their requests such that the inter-arrival time is a random process f ¼ T0 þ s where T0 is deterministic time set to 6 s and s is exponential random variable with mean 2 s. Clearly, TTL variable may have a significant impact on the performance of DSDP. We observe the effect of TTL on system performance by testing it against different mean request inter-arrival times (e.g. 4 and 8 s) and different topologies (e.g. 1500 m · 300 m with 50 nodes vs. 2400 m · 1500 m with 100 nodes). To this end, we have altered the TTL value between 1 and 3 in these experiments. The main results of these extensive simulations are presented in the following part. 5.3. Simulation results In the first set of experiments, we intend to capture the effect of the number of servers as the number of users is kept constant. Control message overheads of on-demand anycast protocols are found to be very sensitive to the number of servers. 5 ODMRP tends to have more overhead while other protocols have a lower overhead as the number of servers increases. This is not an unusual outcome when we consider the main mechanisms of these approaches. In multicasting, all the servers receive the requests, and then all of them have to reply back. But, in anycasting only one of the servers receives the message regardless of the number of servers. Since it is highly likely that the closer server replies back and the average shortest distance between clients and servers gets smaller

with more servers in the network, the control message overhead declines. Higher number of servers also narrows down the depth of the query trees in DSDP, leading to a slight reduction in the control overhead. End to end delays for successful service discovery ameliorate with the increasing number of servers. This is expected again due to the fact that the average distance between users and servers decreases as the number of servers increases. Anycast-DSR and ODMRP show more rapid improvements, however anycast-AODV and DSDP offer consistently lower delays. Although delay performance of ODMRP reaches to that of anycast-AODV and DSDP, anycast-DSR cannot compete in terms of delay. The hit ratio also improves with the number of servers. Anycast-AODV performs inferior compared to other protocols, whereas ODMRP has consistently the best hit ratio. DSDP outperforms anycast-DSR more significantly as the mobility level and/or the number of servers increase. Note that all performance metrics become worse as mobility in the network increases, because the link failures occur more often (Figs. 5–9). The second set of simulations addresses the question of how increased load in terms of number of users affects the performance of the protocols. The results are plotted in Figs. 8, 10–16. The

10

total number of control packets

36

10

10

10

10

5

In the plots, arrow directions indicate the increasing number of servers or users.

6

Control Message Overhead (1–3–5 servers, 10 users, 1500mx300m)

5

4

ODMRP anycast–AODV anycast–DSR DSDP

3

2

0

2

4

6 8 10 12 14 Vmax (maximum speed in m/sec)

16

18

Fig. 5. Control message overhead for 10-user case.

20

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

37

Average Delay Performance (3 servers, 10 users, 1500mx300m)

Normalized Hit Ratio (1 –3–5 servers, 10 users, 1500mx300m) 2.5

1

2

0.8 0.7

average delay (sec.)

ratio of successful service requests

0.9

ODMRP anycast–AODV anycast–DSR DSDP

0.6 0.5

ODMRP anycast–AODV anycast–DSR DSDP 1.5

1

0.4 0.3

0.5

0.2 0.1

0

2

4

6 8 10 12 14 Vmax (maximum speed in m/sec)

16

18

0 0

20

Fig. 6. Ratio of successful requests for 10-user case.

4

6 8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

Fig. 8. Average delay comparison for 3-server/10-user case.

Average Delay Performance (5 servers, 10 users, 1500mx300m)

Average Delay Performance (1 server, 10 users, 1500mx300m)

2.5

3

2.5

2 ODMRP anycast–AODV anycast–DSR DSDP

2

average delay (sec.)

average delay (sec.)

2

1.5

1.5 ODMRP anycast–AODV anycast–DSR DSDP 1

1

0.5 0.5

0 0

2

4

6 8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

0 0

2

4

6 8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

Fig. 7. Average delay comparison for 1-server/10-user case.

Fig. 9. Average delay comparison for 5-server/10-user case.

number of servers are kept at three and the number of users are varied between 10 and 30. The overhead of each protocol increases with the number of users with DSDP being the least sensitive one. Although ODMRP is a heavyweight protocol, it is quite sensitive to the increased number of users rather than the servers. This is a direct consequence of the facts that ODMRP is a sender-based multicast scheme and the senders broadcast periodic refresh messages to maintain the multicast group. The delay of each protocol tends to decrease as the number of users increases. At first sight, this

can be regarded as a counter-intuitive result; because an increase in the number of users creates a higher load on the network that may result in congestion and packet collisions, and may consequently deteriorate the delay values. On the other hand, increasing the number of users can have the effect of reducing the average distance from the servers, and can thereby enhance the end-to-end delays. It also helps on-demand anycast algorithms to discover the routes in advance when users share more common links. For networks operating below capacity, these positive effects suffice to obtain better delay values.

38

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

10

6

Average Delay Performance (3 servers, 20 users, 1500mx300m)

Control Message Overhead (3 servers, 10 – 20 –30 users, 1500mx300m) 1.4

10

10

10

1 average delay (sec.)

total number of control packets

1.2 5

4

2

4

6 8 10 12 14 Vmax (maximum speed in m/sec)

16

18

0 0

20

4

6 8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

Average Delay Performance (3 servers, 30 users, 1500mx300m)

Normalized Hit Ratio (3 servers, 10–20–30 users, 1500mx300m)

0.8

1

0.7

0.9

0.6 average delay (sec.)

0.8

0.7 ODMRP anycast–AODV anycast–DSR DSDP

0.6

0.5

0.5

0.3

0.2

0.3

0.1

0

2

4

6 8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

ODMRP anycast–AODV anycast–DSR DSDP

0.4

0.4

0.2

2

Fig. 12. Average delay comparison for 3-server/20-user case.

Fig. 10. Control message overhead for 3-server case.

ratio of successful service requests

0.6

0.2

2

0

ODMRP anycast–AODV anycast–DSR DSDP

0.4

3

ODMRP anycast–AODV anycast–DSR DSDP 10

0.8

0 0

2

4

6

8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

Fig. 11. Ratio of successful requests for 3-server case.

Fig. 13. Average delay comparison for 3-server/30-user case.

ODMRP and DSDP do not show much response to the changes in the number of users in terms of successful service requests. Anycast-DSR shows significant improvements at higher mobility cases whereas anycast-AODV suffers from further performance loss. We further run a third set of simulations to understand how sensitive DSDP is against the TTL parameter for different request rates and network topology. Figs. 17, 19 and 21 show the effect of TTL field on a topology of 1500 m · 300 m with 50 nodes at a mean request inter-arrival

time per user of 4 and 8 s. On the other hand, Figs. 18, 20 and 22 presents the impact of TTL on a topology of 2400 m · 1500 m with 100 nodes at a mean request inter-arrival time of 4 s. Unlike the previous plots, the overhead of hello beacons is excluded from the total overhead, because it is a fixed cost solely determined by the network size and Th . In Fig. 17, the top three plots correspond to request inter-arrival time of 4 s and the bottom three correspond to inter-arrival time of 8 s. Evidently, more frequent requests boost up the over-

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44 Average Delay Performance (3 servers, 10–30 users, 1500mx300m)

Control Message Overhead (3 servers, 10–30 users, 1500mx300m)

6

2.5

ODMRP anycast – AODV anycast – DSR DSDP

2

5

average delay (sec.)

total number of control packets

10

10

39

ODMRP anycast – AODV anycast – DSR DSDP

4

10

1.5

1

3

10

0.5

10

2

0

100

200

300

400 500 Pause Time (sec.)

600

700

800

0 0

900

Fig. 14. Control message overhead under variable pause time.

100

200

300

400 500 Pause Time (sec.)

600

700

800

900

Fig. 16. Average delay under variable pause time.

Control Message Overhead (3 servers, 20 users, 1500mx300m)

Normalized Hit Ratio (3 servers, 10–30 users, 1500mx300m)

18

1

ttl = 1 ttl = 2 ttl = 3

0.9 number of control packets (x1000)

ratio of successful service requests

16 0.8 0.7 0.6 0.5 0.4 ODMRP anycast – AODV anycast – DSR DSDP

0.3

14

12

10

8

0.2 0.1 0

100

200

300

400 500 Pause Time (sec.)

600

700

800

900

Fig. 15. Ratio of successful requests under variable pause time.

head. We also find out that higher service request rates may significantly benefit from using higher TTL values in terms of the control message overhead. Higher values in TTL field increase the depth that the service registrations reach along the backbone. 6 In turn, the depth that service requests traverse along the backbone reduces. Therefore, if the total number of service registra-

6 This is true provided that the network diameter is large enough.

6 0

2

4

6

8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

Fig. 17. Control message overhead for different TTL values with mean request inter-arrival times of 4 and 8 s.

tion messages is less than the total number of service requests, higher TTL value is expected to reduce the overhead until TTL value saturates. Saturation point occurs when the registration trees rooted at different servers cover the whole backbone so that any further increment in TTL field no more affects the depth of the request trees, which becomes one-hop from clients to their own DA nodes. For request inter-arrival time of 4 s, this saturation point is observed when TTL equals to 2. The number of service registrations is directly

40

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44 Control Message Overhead (3 servers, 20 users, 2400mx1500m)

Normalized Hit Ratio (3 servers, 20 users, 2400mx1500m)

100

1 ttl = 1 ttl = 2 ttl = 3

80

70

60

50

0.9

0.85

0.8

0.75

40

0.7

30

0.65

20 0

2

4

6

8 10 12 14 Vmax (maximum speed in m/sec)

16

18

ttl = 1 ttl = 2 ttl = 3

0.95 ratio of successful service requests

number of control packets (x1000)

90

0.6 0

20

Fig. 18. Control message overhead for different TTL values with 100 mobile nodes and mean request inter-arrival time of 4 s.

2

4

6

8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

Fig. 20. Ratio of successful requests for different TTL values with 100 mobile nodes and mean request inter-arrival time of 4 s.

Average Delay (3 servers, 20 users, 1500mx300m) 0.14 Normalized Hit Ratio (3 servers, 20 users, 1500mx300m)

ttl = 1 ttl = 2 ttl = 3

1 ttl = 1 ttl = 2 ttl = 3

0.12

0.1 average delay (sec.)

ratio of successful service requests

0.98

0.96

0.94

0.08

0.06

0.04

0.92

0.02 0.9 0 0 0.88 0

2

4

6

8 10 12 14 Vmax (maximum speed in m/sec)

16

18

2

4

6

8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

20

Fig. 19. Ratio of successful requests for different TTL values with mean request inter-arrival times of 4 and 8 s.

proportional to the handoff rate of servers between different DAs and the number of servers, whereas it is inversely proportional to the service registration lifetime. Mobility increases the handoff rate and hence the advertisement rate. The interesting point is that mobility also multiplies the number of DAs, to which the same server registers, as the server handoffs. Thus, the depth of request trees again reduces. When mobility level becomes too high, the stability of the backbone collapses. Ac-

Fig. 21. Average delay for different TTL values with mean request inter-arrival time of 4 and 8 s.

cordingly, the life-time of staying as a DA node gets shorter and this makes the previous registrations stale in a premature way. All these observations are well reflected in our simulation results. In this respect, higher TTL fields do not improve overhead for request inter-arrival time of 8 s especially for higher mobility levels. The saturation TTL value of 2 provides a significant reduction in the overhead; as mobility increases, the performance gap against the TTL value of 1 first closes down, but after a certain point, it gradually gets

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

wider. For the larger network topology, the gain becomes even more significant (see Fig. 18). For the success rate and delay performance, we see similar trends with the control message overhead. In Figs. 19 and 21, better performance curves (i.e. higher hit ratio and smaller delays) for the same TTL value correspond to the mean interarrival time of 4 s. Increasing TTL value until the saturation point improves both the hit ratio and the delay values, because it curtails the distance between the clients and DA nodes that have a fresh service registration. After the saturation point, this distance remains the same, but the overhead increases until TTL becomes equal to the backbone diameter. Higher overhead increases the probability of collisions that causes higher transmission delays and packet losses. Again, larger topology shows significant improvements over TTL value of 1 with diminishing returns as TTL gets larger as seen in Figs. 20 and 22. The saturation value of TTL for 2400 m · 1500 m turns out to be 3 hops. We can summarize our simulation results as follows: (1) Under various mobility scenarios with different number of users and servers, the relative performances of the protocols remain same in general for a fixed number of nodes and persistent service requests. (2) In terms of overhead, ODMRP is the most heavy-weight protocol and on-demand anycast protocols are the most light-weight. An

Average Delay (3 servers, 20 users, 2400mx1500m) 0.14 ttl = 1 ttl = 2 ttl = 3

0.12

average delay (sec.)

0.1

0.08

0.06

0.04

0.02

0

0

2

4

6

8 10 12 14 Vmax (maximum speed in m/sec)

16

18

20

Fig. 22. Average delay for different TTL values with 100 mobile nodes and mean request inter-arrival time of 4 s.

41

increase in the number of users almost linearly affects the message overhead of ODMRP as a result of its sender-driven multicasting feature. On the other hand, DSDP is not as sensitive as other protocols against mobility, number of servers or number of clients, since the bulk of its message overhead is generated by periodically transmitted hello beacons. In our simulations, each node transmits a hello beacon every 1 s. Considering that we run simulations with 50 nodes and for 900 s, the overall cost of these beacons amounts to 45,000 packets, i.e. 75–94% of the overall overhead. (3) In terms of hit ratio, anycast-AODV performs poorly except for almost stationary scenarios. It cannot therefore be a good candidate in general even though its delay and overhead performances are much better than ODMRP and anycast-DSR. ODMRP has consistently the best hit ratio performance as much as 18% above the next best protocol DSDP at very mobile environments. Anycast-DSR catches ODMRP and DSDP for low mobility cases, but the performance difference goes up to more than 10% with second best DSDP. (4) Delay performance of DSDP is consistently better than other choices. This is due to the fact that lower numbers of nodes are involved in search queries and that registration of services shortens the average distance in number of hops. (5) Performance of DSDP proves to be sensitive to the choice of TTL field in the registration messages. When higher request rate and network size or sparser topologies are used, a TTL field of more than one improves performance values in all three metrics. Depending on the number of servers and network diameter, results indicate that there is an optimum TTL value for control message overhead. After this optimum value, the gains in terms of delay and successful service requests experience a negative drift, which eventually leads to a decline in the performance values. Limited mobility is observed to help in disseminating the server information to a larger set of backbone nodes which limits the average depth that the request messages are propagated. However, mobility artificially increases the rate of service registrations. Since higher TTL values increase the depth that the service registrations are propagated, mobility negatively impacts the overhead. The net effect turns

42

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

out to be in favor of the control message overhead for mobility levels and TTL values below a certain threshold.

6. Conclusion In this paper, we explored possible architectural and network support choices for service discovery in mobile ad hoc networks. We provided our original service discovery mechanism to support a directory architecture. We also implemented ODMRP, anycast-DSR, and anycast-AODV protocols along with our proposal to compare (i) directory and directory-less architectures and (ii) to compare different network support options, i.e. anycasting vs. multicasting. We used control message overhead, mean success rate and the average delay as three performance metrics for our comparisons. We changed the parameters such as number of clients, number of users, mobility level, topology size, service request rates, and TTL value for a comprehensive analysis. It is the general idea that since no cost of selecting and maintaining DAs are involved, a directory-less architecture would be the least expensive and easiest to implement in a mobile ad hoc network. This view does not however take into account the operational costs of the lower layer support that is required for such an implementation. Our results demonstrate that if the required network support is multicasting, then maintaining multicast trees can be very expensive in terms of control message overhead. Hence, overall cost of directory-less architecture with multicast support requirement can in fact be more than that of the directory architectures. On the other hand, if anycasting is used as a network support, we can have a very light-weight directory-less service discovery. Nonetheless, this reward comes at the expense of significantly reduced performance in terms of average hit ratio. The level of hit ratio may in fact drop to unacceptable levels as seen in our simulation scenarios with anycast-AODV. Anycast-DSR shows a more competitive level in terms of hit ratio, but then its mean delay values are largely compromised even under mild mobility conditions. These problems are put aside, the main restriction

for anycast support arises from the fact that it can only be utilized in a limited number of service classes. Therefore, multicast support displays a more robust, reliable, and general framework for directory-less service discovery architectures. Results also reveal that directory architecture supported by a virtual backbone structure can perform quite well under various mobility conditions in addition to its inherent advantages, e.g. resource allocation, load balancing, localization, etc. The most dominant figures are observed in the average delay performances. Our proposal consistently have the best delay values and achieves very competitive mean hit ratio values in comparison to the best values obtained by ODMRP in directory-less service discovery. Furthermore, the performance results show relatively little sensitivity against the mobility, the load on the network, and the number of servers. This suggests that DSDP is not only feasible, but also a very good candidate for real-time service discovery scenarios, where a prompt and low jitter response is essential. Although virtual backbone approach is not as light-weight as anycasting solutions in terms of message complexity, when backbone is exploited by multiple stack of higher level protocols and light-weight hello messages are piggybacked behind data packets or other layer control beacons, the overhead of forming and maintaining the backbone can be quite justified. Thus, on contrary to the general view, we demonstrated in this paper that directory architecture is a compelling solution especially for medium to large scale MANETs. Besides comparing our directory architecture based DSDP protocol with the alternative solutions, we also examined its internal dynamics with respect to the TTL value. Depending on the service advertisement and request rates as well as the number of users, the number of servers, and the backbone size, we showed that further improvements could be achieved by fine-tuning the TTL field. In this paper, we did not investigate the effects of several load balancing and resource allocation techniques on the loads of the servers and on the system performance, e.g. delay and throughput, when a directory architecture is utilized. There is also more to do in terms of reducing hello beacon

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

overhead in addition to cross-layering and message fusion. Overhead of hello messages can be further reduced by intelligently predicting the topology change events, differentiating the importance of backbone nodes from non-backbone nodes and accordingly adapting the hello beacon intervals. These will be our immediate research interest. As a future work, we also plan to develop a full stack of routing protocols which rely on our virtual backbone proposal.

[15] [16]

[17]

[18]

[19]

References [1] E. Guttman, C. Perkins, J. Veizades, M. Day, Service Location Protocol, Version 2, IETF RFC 2608, June 1999. [2] Specification of the Bluetooth System. Available from , December 1999. [3] Microsoft Corporation, Universal Plug and Play: Background. Available from , 1999. [4] Salutation Consortium, Salutation Architecture Specification. Available from , 1999. [5] Sun Microsystems, JINI Architecture Specification, November 1999. [6] S. Corson, J. Macker, Mobile Ad-hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations, IETF RFC 2501, January 1999. [7] M. Barbeau, Service discovery protocols for ad hoc networking, CASCON 2000 Workshop on Ad Hoc Communications, 2000. [8] U.C. Kozat, G. Kondylis, M.K. Marina, Virtual dynamic backbone for mobile ad hoc networks, in: Proc. IEEE ICC2001, June 2001. [9] R. Sivakumar, P. Sinha, V. Bharghavan, CEDAR: A coreextraction distributed ad hoc routing algorithm, IEEE Journal on Selected Areas in Communications 17 (8) (1999) 1454–1465. [10] R. Ramanathan, M. Steenstrup, Hierarchically-organized, multi-hop mobile wireless networks for quality-of-service support, Mobile Networks and Applications 3 (1) (1998) 101–119. [11] B. Liang, Z.J. Haas, Virtual backbone generation and maintenance in ad hoc network mobility management, in: IEEE INFOCOM 2000, March 2000. [12] R. Sivakumar, B. Das, V. Bharghavan, Spine routing in ad hoc networks, Cluster Computing 1 (1998) 237–248. [13] C.R. Lin, M. Gerla, Adaptive Clustering for mobile wireless networks, IEEE Journal on Selected Areas in Communications 15 (7) (1997) 1265–1275. [14] M. Chatterjee, S.K. Das, D. Turgut, An on-demand weighted clustering algorithm (WCA) for ad hoc networks,

[20]

[21]

[22]

[23]

[24]

[25]

[26]

[27]

43

in: Proceedings of IEEE Globecom 2000, November 2000, pp. 1967–1701. C. Partridge, T. Mendez, W. Milliken, Host Anycasting Service, Internet RFC 1546, November 1993. V. Park, J. Macker, Anycast routing for mobile services, in: Proc. Conference on Information Sciences and Systems (CISS)Õ99, January 1999. S. Bhattacharjee, M. Ammar, E. Zegura, V. Shah, Z. Fei, Application-layer anycasting, in: Proc. INFOCOM Õ97, April 1997. D. Xu, K. Nahrstedt, D. Wichadakul, QoS-aware discovery of wide-area distributed services, in: 1st International Symposium on Cluster Computing and the Grid, May 2001. K. Fall, K. Varadhan (Eds.), ns notes and documentation. Available from . S.-J. Lee, W. Su, M. Gerla, On-demand Multicast Routing Protocol (ODMRP) for Ad Hoc Networks, Internet Draft, draft-ietf-manet-odmrp-02.txt, January 2000. C.-C. Chiang, M. Gerla, L. Zhang, Forwarding group multicast protocol (FGMP) for multihop, mobile wireless networks, Cluster Computing 1 (2) (1998) 187–196. M.S. Corson, S.G. Batsell, A reservation-based multicast (RBM) routing protocol for mobile networks: initial route construction phase, ACM/Baltzer Wireless Networks 1 (1995) 427–450. J.J. Garcia-Luna-Aceves, E. Madruga, The core-assisted mesh protocol, IEEE Journal on Selected Areas in Communications 17 (8) (1999) 1380–1394. C.E. Perkins, E.M. Royer, S.R. Das, Ad Hoc On-demand Distance Vector (AODV) Routing, Internet Draft, draftietf-manet-aodv-05.txt, 2000. P. Sinha, R. Sivakumar, V. Bharghavan, MCEDAR: multicast core-extraction distributed ad hoc routing, in: IEEE Wireless Communications and Networking Conference, September 1999. C.W. Wu, Y.C. Tay, Ad hoc Multicast Routing Protocol utilizing Increasing id-numbers, Internet Draft, draft-ietfmanet-amris-spec-00.txt, November 1998. D.B. Johnson, et al., The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks, Internet Draft, draft-ietf-manet-dsr-05.txt, March 2001.

Ulasß C. Kozat received his B.Sc. degree in Electrical and Electronics Engineering from Bilkent University, Ankara, Turkey and his M.Sc. in Electrical Engineering from The George Washington University, Washington, DC in 1997 and 1999 respectively. He is currently a Ph.D. candidate in Electrical and Computer Engineering Department at University of Maryland, College Park and conducting research under the Institute for Systems Research (ISR) in the same university. His current research interests primarily focus on wireless and hybrid networks that span multiple communication layers and networking technologies.

44

U.C. Kozat, L. Tassiulas / Ad Hoc Networks 2 (2004) 23–44

Leandros Tassiulas (SÕ89, MÕ91) was born in 1965, in Katerini, Greece. He obtained the Diploma in Electrical Engineering from the Aristotelian University of Thessaloniki, Thessaloniki, Greece in 1987, and the M.S. and Ph.D. degrees in Electrical Engineering from the University of Maryland, College Park in 1989 and 1991 respectively. He is Professor in the Department of Computer and Telecommunications Engineering, University of Thessaly, Greece and Research Professor in the Department of Electrical and Computer Engineering and the Institute for Systems Research, Uni-

versity of Maryland College Park since 2001. He has held positions as Assistant Professor at Polytechnic University New York (1991–1995), Assistant and Associate Professor University of Maryland College Park (1995–2001) and Professor University of Ioannina Greece (1999–2001). His research interests are in the field of computer and communication networks with emphasis on fundamental mathematical models, architectures and protocols of wireless systems, sensor networks, high-speed internet and satellite communications. He received a National Science Foundation (NSF) Research Initiation Award in 1992, an NSF CAREER Award in 1995 an Office of Naval Research, Young Investigator Award in 1997 and a Bodosaki Foundation Award in 1999 and the INFOCOM Õ94 best paper award.