Learning Center
Plans & pricing Sign in
Sign Out

21 Paper 12080911 IJCSIS Camera Ready pp150-159


IJCSIS is a peer reviewed international journal with a key objective to provide the academic and industrial community a medium for presenting original research and applications related to Computer Science and Information Security. . The core vision of IJCSIS is to disseminate new knowledge and technology for the benefit of everyone ranging from the academic and professional research communities to industry practitioners in a range of topics in computer science & engineering in general and information & communication security, mobile & wireless networking, and wireless communication systems. It also provides a venue for high-calibre researchers, PhD students and professionals to submit on-going research and developments in these areas. . IJCSIS invites authors to submit their original and unpublished work that communicates current research on information assurance and security regarding both the theoretical and methodological aspects, as well as various applications in solving real world information security problems.

More Info
									(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009

RASDP: A Resource-Aware Service Discovery Protocol for Mobile Ad Hoc Networks
Abbas Asosheh
Faculty of Engineering Tarbiat Modares University Tehran, Iran
Abstract— Nodes in Mobile Ad hoc NETworks (MANETs) in real world applications are different in resources such as memory size, battery power and processing power and highly heterogeneous. This fact either has been paid a little attention or ignored in most of proposed Service Discovery Protocols (SDPs) for ad hoc environments. Nodes that are selected to maintain directory in directory-based SDPs, demand more battery power and need more memory and processing power than the other nodes which are not directory nodes. In this paper a novel directory-based SDP has been proposed that regards this heterogeneity and selects most proper nodes, according to some criteria, as directory agent nodes. Also, by saving reverse track of service advertisement and discovery messages accelerates joining of service requester and provider nodes of a specific service. This protocol includes two distinct parts: The first part, selects a set of the network nodes to form a subset of relatively stable directory nodes regarding some criteria and maintains built mesh structure against topology changes by inserting or removing nodes to/from this subset; and the second part, is used to efficiently distribute the service request, registration, and reply messages among service requester, intermediate or provider nodes. Also, proposed protocol has been simulated by GloMoSim which is one of wellknown simulation tools. Simulation results based on some parameters prove this assertion that the protocol in an ad hoc environment has high performance, more scalability and uses critical resources of the nodes more efficiently. Keywords- SDP; directory-based; MANET; heterogenity; resource-awareness

Gholam Abbas Angouti
Faculty of Engineering Tarbiat Modares University Tehran, Iran transmissions, to reduce power consumption in these devices. Because devices join and leave the network dynamically, it is also important to implement mechanisms to detect availability and unavailability of services, as soon as possible. Finally, the broadcast capability of wireless medium, the multicast support of the underlying routing protocols, and the cooperation potential of the devices must be used to gain optimal results. In this paper, the problem of how mobile nodes in an ad hoc network announce their offered services and discover demanded services in the network has been addressed. We propose a new directory-based SDP which has been designed to fulfill the requirements of ad hoc networks and is suitable for real world applications. Because of using directory, Resource-Aware Service Discovery Protocol for Mobile Ad Hoc Networks, reduces number of transmitted control packets. So, it is more energy efficient than directory-less protocols. Our protocol is a fully distributed protocol in which services that offered by devices can be discovered by others, without a central server. This protocol emphasizes on this fact that all devices in ad hoc networks are not same in resources that they have. This fact has been ignored or been paid negligible attention in most of SDPs that have been proposed for ad hoc networks till now [1-11]. These protocols encounter with all nodes in same way and have no or a few attention to heterogeneity of mobile nodes in ad hoc networks. This protocol does not need a central server, so no infrastructure is required. It puts most burden of service discovery overhead on nodes with less constraints. One of the key contributions of this protocol is to minimize power consumption in all devices, especially in the most limited ones. This means that the number of transmissions necessary to discover or advertise services will be decreased as much as possible. The remaining of the paper is organized as follows. In section-II, an overview of previously proposed mechanisms to service discovery problem is introduced. Section-III reviews main specifications of the protocol. Section-IV defines some terms and notations that are used throughout the paper. In section-V, the algorthms of managing mesh structure are proposed. Mechanisms for distribution of service advertisement and service discovery messages are explined with more details in section-VI. Performance evaluation and describing simulation parameters and environment which has been done by GloMoSim, are the content of section-VII.



MANETs have special characteristics like potentially highly dynamic network topology and having heterogeneous wireless devices. In addition this type of networks does not rely on any fixed physical infrastructure. Nodes in these networks are much differentiated in capabilities such as memory size and processing power. So, heterogeneity and other special characteristics that MANETs have, require a novel approach to the problem of service discovery in these networks. Power is one of the crucial resources that a device mobile has. Because, as battery of a device mobile be discharged, it will die and be deleted completely from the network. So, mobile devices need to minimize power consumption to enhance their existence and offering their services in the network. Because cost of receiving is significantly less than of transmitting [19], it is very important to minimize the total number of

150 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009

Finally, section-VIII, contains conclusion and our future work about this protocol. II. RELATED WORKS

theoretic approach[10], and DSD[11] are examples for SDPs that do not rely on directories. III. BACKGROUND It seems that mechanisms that don’t use directory be must proper to MANET scenarios [6], because in this type of SDPs there is no need for any infrastructure and there is not any bootstrapping phase that is required to selecting nodes to put directories on them. Furthermore, there are no needs special algorithms to control exit or entrance of nodes to network. Hence, nodes may show low latency in forming a network and join and leave the network. In addition, network support for broadcasting, multicasting, or anycasting is adequate to implement this client-server model. In directory-based algorithms information about services is saved and their servers that may not be used or lose their validity as a result of nodes mobility. For implementing a directory-based method, it is necessary to assign directory to predetermined nodes or select them dynamically via certain algorithms depending on some criteria. Because of dynamism and other limitations that exist in ad hoc networks, the first choice is not possible. Also, selecting directory node dynamically and inform the other nodes of the network about the identities of these directory nodes incurs extra load to the network. In addition, because of dynamically change of network topology; it is necessary to handle topology changes of the network. So, this approach is not suitable for MANET environments. But, there are some reasons that make use of directories reasonable. In directory-based SDPs, after selecting directory nodes, it is possible to have a controlled multicast. In both advertising and requesting services, messages not been broadcasted throughout the network. Messages only will be multicasted between directory nodes. In other words, discovery of the directory by service seekers and providers is in general based on multicasting. As a result, there is not any flooding in network. So, network traffic decreases and high scalability will be achieved. In directory-based methods, because there is a central node, security policies may be applied more effectively. Another reason is the fact that in directory-based SDPs response time, time period between service request and find an appropriate server, is more less than directory-less protocols. Also, directory nodes can apply load balancing techniques to reduce load on certain servers to increase network performance. Another main reason to use of directories in SDPs comes from this fact that overhead imposed by dynamically selecting the directory nodes is justified with the overall efficiency provided that SBNs in other layers such as routing. In other words, constituted structure can be used in routing protocols too. In summarize, which approach achieves a better trade-off depends on the traffic and mobility patterns. For example in case of scalable and dense ad hoc networks, directory-based protocols provide enhanced performances compared to directory-less protocols, or in ad hoc networks with high mobility, vice versa.

Service discovery in wireless mobile ad hoc networks has recently gained a lot of attention in research. In wired networks many service discovery protocols have being suggested and some of them have gained the status of industry standard. For example, Jini [12] by Sun, Universal Plug and Play (UPnP) [13] by Microsoft, Salutation [14] by IBM, Service Location Protocol (SLP) [15] by IETF, Bluetooth SDP [17] and DEAPSpace [16] are famous SDPs that are used in industry and have been standardized. In MANETs, in spite of relatively many efforts, there are not such standardized protocols. Because SDPs in wired networks are based on specific assumptions, protocols that have been developed for such networks are not suitable for ad hoc environments. The main characteristic of SDPs in MANETs is their architectures [20]. Architecture of an SDP is mainly dependent on use or not use of directory. Directory is a data structure that stores information about services that various devices in the network have. So, there are two main group of SDPs: SDPs that use directory(directory-based) and SDPs that do not use directory (directory-less). In directory-based SDPs nodes that offer any services, register their services in directory and nodes that need services, send service request message to that nodes. In this type of SDPs some nodes are selected to maintain directories. Network nodes start a bootstrapping phase in which after a predefined time, some nodes are selected to put directories on (directory nodes). There are some criteria for selecting directory nodes. These criteria are differnet in protocols that proposed till now. In bootstrapping phase nodes start to transmit some messages to determine directory nodes. In ad hoc environments, because of nodes mobility, there are mechanisms that check directory nodes to have required criteria. In situaions that a directory node leaves network or does not satisfy these measurements, another node will be selected to be directory node. For example, SDPs like Service Rings[1] , Lanes[2], mechanism proposed by Kozart et al[3], mechanism proposed by Tyan et al[4], mechanism proposed by Mohammad Nazeeruddin et al[18], and Splendor[5] have directory-based architecture. In directory-less architectures there is not any bootstrapping phase. Protocols that have such distributed architecture, can be dichotomized into reactive (pull) or proactive (push) mode. In push mode, nodes that offer any services, periodically broadcast their services information in network. Nodes that receive these announcements, extract the information about available services in the network and forward these announcements to their neighbors. In pull mode, nodes that need a service, broadcast a request message in network. If a node that offers this service receive this message, reply it. SDPs like mechanism proposed by Cheng et al[6], GSD[7], Konark[8], algorithm proposed by Varshavsky et al[9], Field

151 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009



Resource-Aware Service Discovery Protocol for Mobile Ad Hoc Networks consists of two parts. The first part, managing mesh structure phase, selects a subset of the network nodes to form a relatively stable directory nodes set, determining gateway nodes to specify the paths between these nodes and reacts to the topology changes by inserting or deleting network nodes to/from this set. Selecting directory nodes is done according to some criteria. Nodes that are the strongest among other nodes in their neighborhood will be selected as directory nodes. First part constitutes a mesh structure with the directory nodes and the gateway nodes that connecting them. The second part is used to efficiently distribute the request and registration messages from the service provider or requester nodes to the directory nodes. In second part, some algorithms are developed to distribute these messages efficiently. Unlike most of the other backbone or clustering algorithms, our protocol utilizes only a 1-hop local broadcast control message (Hello Beacon) for selecting the directory nodes, creating routes between them, and maintaining the set of directory nodes [22]. Hello beacons are also light-weight, because they do not carry all the neighborhood information of the transmitting nodes. Both parts of our protocol are described in details later. Before explaining the phases of protocol, it is necessary to define some terms and notations that are used throughout the paper. The next section is dedicated to this purpose. A. Assumptions We have some general assumptions for network in our protocol. All of nodes in the network have an Omnidirectional antenna and have the same transmission range. It means that all links are bi-directional. Nodes of network share the same communication channel to transmit and receive messages. 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, topology graph of network is assumed to be connected in any particular time, because each component of the network can be treated as an independent network. B. Definitions rolei: role of node i in the network. In each particular time a node can be a normal node (NN), gateway node (GN) or directory node (DN). In the beginning, all nodes role is normal. ANNi: average number of neighbors of node i. This parameter represents the average number of neighbors that node i in a fixed time window has. This parameter is set to zero at the start time, for all nodes. NNCi: number of neighbor changes of node i. This parameter utters the number of different neighbors that node i has have in a fixed time window.

Strengthi: Strength of a mobile node i; that is a float number that indicates level of recourses which node i has. Some resources that are critical are applied in calculating strength of a node. To do this, a linear combination of these resources is defined. Because each resource may be varied in a different range of values, all resources are mapped to [0,1] interval. For example if resources like power, processing power, and memory are selected as critical resources, strength of mobile node i is calculated by below equation: strengthi= α1*pi+ α2*wi+α3*mi (Eq. 1); In which, pi, wi, and mi all are float numbers in [0,1] interval and represent power, processing power, and memory of node i respectively. α1, α2, and α3 are coefficients that can be set manually. According to importance of each factor in a specific application or network properties, it is possible to adjust the coefficients to apply required conditions. Stabilityi: stability of node i. This parameter indicates mobility of node i against its neighbors. Lower stability implies higher relative mobility. min_stability: a threshold for stability. IDi: unique identifier for node i. This identifier is an integer number and can be compared with other identifiers. DNi: directory node of node i. Each node has a correspondent directory node which sends service request or registeration message to it. statei: indicates that node i knows its directory node or not. If knows statei will be appointed else statei will be disappointed. N: number of all nodes in the network. NTi: neighbors table of node i. All necessary information about neighbors is maintained in this table. V. MANAGING MESH STRUCTURE PART

This part of protocol has two disjoint mechanisms: building mesh structure and maintaining established mesh structure. In building mesh structure mechanism, directory nodes and gateway nodes between them are determined, and in maintenance mechanism, established structure is maintained against mobility and topology changes. A. Building mesh structure As any other directory-based SDP, there is a bootstrapping time (tb) in which, DNs and GNs are determined for first time. In start, each node triggers prepare() procedure to initialize parameters:
prepare(mobile_node i) { NNCi:=0; statei:=disappointed; rolei:=normal; DNi:=IDi; stabilityi:=0; ANNi:=0; NTi:=ф; Calculate_Strength(i,parameter_list); }

152 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009

Everything is based on hello messages. These messages sent periodically each th and contains these information about transmitter node i: {IDi, stabilityi, strengthi, rolei, statei, flags}. Each node sends these messages only to its 1-hop neighbors. If node i receive a hello message from its neighbor j, updates NTi in such a way that if node j does not exist in NTi, adds an entry in table for node j. In each th if node i does not receive hello beacon from any of its neighbors, it supposes that this node has exited from its neighborhood. So, removes it from NTi and increases NNCi by one. Before sending the last hello message in tb, each node compares its own stability with min_stability. If it satisfies this threshold, it will compare its strength with its neighbors’ one that satisfy min_stability condition. If it has maximum strength between all such neighbors, it will set its state as appointed and role as directory node. It is possible that an instance node i and all of its neighbors have less stability than min_stability. In this case, node i ignores stability criterion and decides only based on strength criterion. After the last hello beacon in tb, if a node such as i receives a hello message from a directory node such as j, DNi will become IDj and statei will become appointed. In this time if a node is left as the only disappointed node among its neighbors, then this node must set its state to appointed and one of its appointed neighbors will be selected as its DN node that has better conditions firstly in the min_stability requirements and secondly have a higher strength value among the other neighbors. At the end of this process, each mobile node in the MANET will know its directory node and its state will be appointed. This procedure has been depicted in Figure 1. B. Maintaining Mesh Structure Maintaining this structure against topology changes that occur as a result of frequent nodes mobility is very important. If a non-directory node i does not receive hello message from its directory node, it will choose one of its neighbors as its new DN by giving strict priority to first, DNs and second, normal nodes that satisfy min_stability threshold and have higher strength. Also, if a normal node i receive a hello message from node j that DNj=IDi, set its role to directory node. If a normal node such i receives a hello message from one of its neighbors such j which DNj≠DNi, node i will change its role to gateway. Similarly, if a gateway node such as i does not receive any hello messages from any of its neighbor nodes such as j which DNj≠DNi, it will change its role to normal. Also, it is possible that a DN such as i migrate to a location where none of the neighbor nodes have this node as their directory node. In this case, i must change its role to normal and if it has any directory node in its neighborhood set it as its directory node. Otherwise one of its neighbors will be selected as its DN node that has better conditions firstly in the min_stability requirements and secondly has a higher strength value among the other neighbors. Because of mobility, DNs can be located in the each other neighborhood.

Figure. 1 Building mesh structure [23]

When normal neighbors which has node i as their directory node receive this hello message, they compute the best directory neighbor from their own NT. If the best directory neighbor is not node i, they simply assign the best directory neighbor as their new directory node. Otherwise they set the flag in their own hello messages indicating i as the best node. As long as directory node i receive hello messages from its normal neighbors indicating i as the best directory node, node i remains directory node. If no such messages are received for a time period, then node i changes its state into normal. At the end of this process, all nodes’ state will be appointed. Also, nodes have at most 1-hop distance from their directory nodes. Figure 2 is showing this algorithm.

153 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009

Figure 1. service advertisement in origin node

Figure. 2 Maintaining mesh structure



As directory node of a service provider node i is changed, as it has depicted in figure 3, it registers its services in its new directory node. Each service is registered independent from the other services. If service provider i is a non-directory node, creates a first type message with fields= {IDi, sequence number, DNi, service specification, advertisement} and sends it to its directory node. Then, the directory node updates its SIT and creates a second type message, fills out the new message fields and advertises this service to other directory nodes by multicasting prepared message to other directory nodes via its gateway neighbors (neighbor nodes that their role is gateway). For filling out message fields, IDi, sequence number, service specification, and message type fields are copied from received first type message that has been sent by service provider i. Also, directory node writes its ID as origin DN and previous DN fields. For each of directory neighbors (directory nodes that are two or three hops away from this directory node), it creates a distinct message. These messages are different in gateway field in which this field is ID of gatway neighbors. AR field is set too, that is number of directory nodes that this service should be registered in. Then created messages are broadcasted to neighbors.

Else if service provider i is directory node itself, it first updates its SIT and then, puts its ID and the service specification as ID and service specification fields respectively. Other fields is filled out as above. Then prepared message is sent to directory neighbors as above. Each directory node that receives this message, checks whether this message is new or not. For this, it uses pair <IDi, sequence number>. If it has any entry with same <IDi, sequence number> in its SIT, discards the received message. Else, updates its SIT in such a way that adds a new entry in table and inserts IDi, sequence number, previous DN and service information in it. Then, decreases AR by one. If AR>0, applys necessary changes to the message and sends it to all its directory node neighbors. Two fields will be changed: previous DN and gateway. Directory node puts its ID as previous DN and its gateway neighbors as gateway field. It creates a different message to each of its gateway neighbors with distinct gateway fields. Else if AR=0, it discards the message. In other words, each directory node has a reverse path to all of providers of the services that are saved in its SIT. So, each directory node can access such service provider nodes by traversing reverse order of previous DNs that are saved in directory nodes. For example, if directory node j has an entry such: <IDi=15, sequence number=633, previous DN=20, service specification, expiration time> in its SIT, it means that for accessing mobile node i which IDi=15, it should start by its directory node neighbor such k which IDk=20. Also the directory node k has node i in its neighborhood or another entry in its SIT that contains a previous DN. So, it should follow this directory neighbo and so on.

154 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009

Figure 3. service discovery in origin node

Figure 2. service advertisement in intermediate nodes

When a gateway node receives an advertisement message, it also checks whether this message is new or not. If isn’t new, discards it. Else if it is new, it first saves ID and sequence number fields vale in its cache memory and then sends the message to other neighbors. After a determined time, this node will remove this information from its cache memory. Graphical view of this algorithm can be viewed at figure 4. A. 4.4.2 Service discovery When a mobile node such as i demands a specific service, it will use service discovery algorithm. For this purpose, if node i is a non-directory node, it will create a request message and send it to its directory node j. This message is of first type and has fields= {IDi, sequence number, IDj, service information, request}; in which IDi is ID of node i that requests a service with specifications that are represented by service information field, sequence number is value of MCi, IDj is ID of directory node that should receive this message, and request field indicates that this is a service discovery message. As directory node received this message, it will search its SIT to find an entry with same specifications that request message has needed. If it found any node k that provides this service and is in neighborhood of this DN, will reply i by IDk, as it is depicted in figure 5. Else if it found information about any provider in its SIT that isn’t in its neighborhood, will reply i by previous DN field of this entry.

So, when node i receives this reply message, knows complete reverse route between itself and provider of its requested service. Because it can access the provider by traversing reverse order of previoud DNs as we have seen before. In the case that there is no information about requested service in SIT, directory node would create a second type message, fill out fields and multicast it to all its DN neighbors. To fill out various fields of new created message, IDi, sequence number, service information, and message type fields are copied from received first type request message. origin DN and previous DN fields would be filled out by its ID, and for each of gateway neighbor nodes, it would be created copy of this message with different gateway fields. AR field is set too, that is the number of directory nodes that this service should be searched in. Else if node i is itself a directory node, first it will search for any service with its needed specifications in its SIT. If found such service, it can access the provider of this service by reverse traversing of previous DNs order, else it would create a second type message and put its ID and the service specification as IDi and service specification fields respectively. Other fields would be filled out as above. Each directory node k that receives this request message, checks whether this message is new or not. For this, it uses pair <IDi, sequence number>. If k has received a request message with same <IDi, sequence number> recently, discards the received message. Else, if this message is new, k searches its SIT to finding a service with same specifications that request message has needed. If it found a node such as j that is providing a service with demanded specifications (figure 6), it will reverse the path between itself and requester node i. Node k will create a reply message and puts its ID as origin DN and previous DN fields,

155 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009

value of RMCk as reply sequence number field, sequence number and origin DN fields of request message as sequence number and destination DN fields respectively, and previous DN field of found service entry in SIT as next DN field. For each of its gateway neighbors, it will create a copy of this message with different gateway field only. Then, it will send the new created reply message to next DN directory node via gateway nodes. Each gateway node which receives this message, if it has next DN or a node with DN=next DN, will send message to it, else will discard it. When a directory node m receives a new reply message (according to cache its memory) which next DN field of it is IDm and it isn’t destination of this message, it will save sequence number, previous number and origin DN fields in its cache and puts its ID as previous DN field, previous DN field of its SIT entry with sequence number and origin DN fields equal to respectively sequence number and destination DN fields of received reply message. For each of gateway neighbors a copy of this message only with different gateway fields will be created and sent via gateway neighbors. When destination node receives this message, it has complete route to the provider of its needed service. Else if k, hasn’t any service with requested specifications, it will decrease AR by one. If AR<0 it will discard the message and reply to service requester by no. Otherwise, if AR>o, k will save IDi, sequence number, and previous DN and then put its ID as previous DN and ID of its gateway neighbor nodes as gateway field. Finally it would multicast the message to all of its neighbors. When a gateway node receives a request message, it also checks whether this message is new or not. If isn’t new, it will discard the message. Else if it is new, first it would save IDi and sequence number fields of the received message then will broadcast it to other neighbors. In figure 7 it is figured that how an intermediate node handles a request message. After a determined time, if node i doesn’t rececive any reply message, it will assume that there is not any service with specified features. Also as the service requester received the first reply message, selects the found provider to use and discards the other reply messages if there. Because it assumes that this provider is the closest provider to it than the others (if any). VII.

Figure 4. service discovery in intermediate nodes [23]

In this section we present a performance evaluation study of RASDP in an ad hoc environment. We compare our protocol with the service discovery protocols proposed in the AODVSD. This study was done through simulation by the GloMoSim[21] which is a well-known simulation tool.

Figure 6. required service has been discovered in node k

A. Simulation environment RASDP has been simulated using the well-known simulator, GloMoSim, under different mobility scenarios. Significant modifications are applied to original version of GloMoSim to make it suitable for simulating RASDP. The main efforts are in MAC, routing and application layers. A brief discussion about applied change is explained below. Because the structure of a node originally doesn’t contain fields like role, number of neighbors, number of neighbor changes, and status these fields are added to it. Also, when a hello beacon is received, based on its fields the demanded decisions are made and necessary changes are applied. The main mechanisms of RASDP, service advertisement and discovery are implemented in routing layer. We have used functions in AODV routing protocol, which has been implemented in GloMoSim, as a base of service advertisement and discovery mechanisms. The modifications are applied in a manner in which the AODV can do routing and service advertisement and service discovery simultaneously. For replying service discovery messages, we have used available route reply functions in AODV routing protocol. For traffic generation and triggering service discovery and service advertisement functions, we have used FTP with a bit customization. A negative number in destination field of the FTP packet indicates that current package is a service discovery rather than normal traffic generator packet.

156 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009

Several interesting experiments were carried out to test the scalability and the efficiency of RASDP in discovering services in a MANET. We carried out simulations ranging from a topology consisting of 50 nodes to topologies consisting of 200 nodes. In this section, we report a few of the experiments carried out. Due to space limitations, we are unable to provide all the results. We used a random-waypoint [7] movement pattern of the nodes. We used an application layer packet generation function to generate service requests at regular time intervals. For the purposes of the simulation and without losing generality, we assumed that we have only one service in the MANET. We used an Acknowledge-noise model [7] to simulate the radio model. Radio range of each node was assumed to be 31 meters. We carried out this experiment with a relatively highly mobile environment with node movement (under random-waypoint pattern) being defined by P(Sm, SMax) where: P= Pause (in seconds) after the node has moved to a new position Sm= Minimum speed (meters/sec) of movement of the node SMax= Maximum speed (meters/sec) of movement of the node. The node moves with a speed within the range (Sm, SMax). The other simulation parameters and correspondent values have been depicted in the TABLE I.
We considered three performance metrics to evaluate both protocols: 1. Control message overhead. The amount of messages generated by the service discovery protocol and by the routing protocol. This metric allows us to observe the efficiency of a service discovery protocol regarding the use of the available bandwidth. 2. Service request, discovery and reply and route request packets overhead. These metrics indicate that how many packets are transmitted in the MANET. The lower number is the lower energy consumption and higher life time for MANET nodes. 3. Number of packets is sent to MAC. This number is an index to show that how many packet are delivered from network layer to MAC layer to be sent to another nodes. Generating MAC layer packets wastes processor time and battery power of the node. As a result, the lower number indicates higher efficiency for a protocol in a MANET.

Number of CTRL Packets Txed
30000 25000 20000 15000 10000 5000 0 50 100 150 2

Figure 8. Control messages overhead in RASDP and AODV-SD

B. Simulation results Figures 5 through 8 contain the results. In these figures x-axis indicates number of nodes and in all of them, the relation between number of servers and the other node is a constant value. Based on figure 5, the total number of transmitted control messages in RASDP, is significantly less than AODV-SD. As a result, RASDP uses the available bandwidth of a MANET efficiently and is more scalable than it. Regarding the other metrics, Service request, discovery and
reply and route request packets overhead and total number of packets is sent to MAC layer, RASDP has remarkably higher performance than AODV-SD. Because it generates and broadcasts less service request, discovery and reply packets and consumes letter battery power than AODV-SD. Also, RASDP sends fewer packets to be sent to MAC layer. As a result, it wastes processor time and battery power of the node fewer than AODV-SD. So, RASDP is more efficient than AODV-SD in a MANET.

All in all, the results validate our intuitive claim. As it provided by simulation results, RASDP is more efficient than AODV-SD.
Number of Route Requests Txed
30000 25000 20000 15000 10000 5000 0 50 100 150 200

Parameter Simulation time Simulation Area Node placement Mobility model MAC layer protocol Network layer protocol Routing Protocol

Value 60 minutes 1000*1000 RANDOM Random Way Point 802.11 IP AODV



Figure 9. Total number of route requests in RASDP and AODV-SD

157 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009

Number of Replies Txed
16000 14000 12000 10000 8000 6000 4000 2000 0 50 100 150 2

Also, efficiency and high performance of RASDP is proved by simulation in an ad hoc environment. Simulation results shows that based on defined various performance metrics,
Control message overhead, service request, discovery and reply and route request packets overhead and number of packets is sent to MAC, RASDP is an efficient service discovery protocol and

fulfills all of the expected performance parameters. Future work is analyzing complexity and designing more efficient algorithms for both managing mesh structure and service advertisement and discovery mechanisms. Implementation of this protocol on real mobile devices is another future work.

Figure 10. Total number of reply packets in RASDP and AODV-SD

[1] Michael Klein, Birgitta Konig-Ries and Philipp Obreiter. Service rings – a semantic overlay for service discovery in ad hoc networks. In DEXA Workshops, pages 180-185, 2003 Michael Klein, Birgitta Konig-Ries and Philipp Obreiter. Lanes – a light weight overlay for service discovery in mobile ad hoc networks. Technical Report 2003-6, University of Karlsruhe, May 2003 Ulas C. Kozart and Leandos Tassiulas. Network layer support for service discovery in mobile ad-hoc networks. Proceeding of IEEE/INFOCOM-2003, April 2003 Jerry Tyan and Qusay H. Mahmoud. A network layer based architecture for service discovery in mobile ad hoc networks. CCECE 2004, May 2004 IEEE. Feng Zhu, Matt Mutka and Lionel Ni. Splendor: A secure, private and location-aware service discovery protocol supporting mobile services. Proceedings of the First International Conference on Pervasive Computing and Communication PerCom`03, Pages 235-242 L. Cheng and I. Marsic. Service discovery and invocation for mobile ad hoc networked appliances, December 2000 Dipan Chakraborty, Anupam Joshi, Tim Finin and Yelena Yesha. GSD: A .novel group-based service discovery protocol for MANETs. In 4rth IEEE Conference on Mobile and Wireless Communications Networks (MWCN). IEEE, September 2002. S. Helal, N. Desai, V. Verma and C. Lee. Konark- a service discovery and delivery protocol for ad hoc networks. Proceeding of the Third IEEE Conference on Wireless Communication Networks WCNC, March 2003 Alex Varshavsky, Bradley Reid and Eyal de Lara. A cross layer approach to service discovery and selection in MANETs. January 2004. Vincent Lenders, Martin May and Berhard Plattner. Service discovery in mobile ad hoc networks: A field theoretic approach. Pervasive and Mobile Computing 2005. Dipanjan Chakraborty, Anupan Joshi, Yelena Yesha and Tim Finin. Toward distributed service discovery in pervasive computing environments. IEEE Transactions on Mobile Computing, February 2006. Jini Architectural Overview, White Paper, 1999. UPnP Device Architecture 1.0, UpnP Forum, Dec. 2003 resources/ documents/ CleanUPnPDA10120031202s.pdf Salutation Architecture Specification, Salutation Consortium, 1999 E.Guttman et al., Service Location Protocol, v. 2, IETF RFC 2608, June 1999 rfc/ rfc2608.txt. M. Nidd, “Service Discovery in DEAPspace,” IEEE Personal Comm., August 2001, pp. 39–45. Specification of the Bluetooth System, Bluetooth SIG, Feb. 2003. Mohammad Nazeeruddin, Gerard Parr, Bryan W. Scotney: An efficient and robust service discovery protocol for dynamic MANETs. MMNS 2006: 49-60

Number of Packets is Sent to MAC
25000 20000




15000 10000 5000 0 50 100 150 20
[6] [7] [5]

Figure 11. Total number of packets is sent to MAC in RASDP and AODV-SD [8]



In this paper, a new directory-based SDP for MANETs has been presented. RASDP regards heterogeneousness of mobile devices in a MANET. The protocol defines a factor for each network node, strength, which demonstrates status of each node relative to other nodes that are in its neighborhood. Strength of each node is depended on various resources that it has. RASDP is flexible about number of resources and effect of them. Because directory nodes consume more resources than other nodes, the strength of each node may be defined based on these resources. Also, by saving track of each service advertisement and service discovery message, appropriate algorithms may join service requester and provider very soon and because of mobility it is so important to find provider of a specific service. These approaches will lead to 1) less energy consumption in limited nodes; 2) joining requester and provider of a service as soon as possible and 3) high scalability; and as a result it is possible to have more nodes in a mobile ad hoc network

[9] [10]


[12] [13]

[14] [15] [16] [17] [18]

158 ISSN 1947-5500

(IJCSIS) International Journal of Computer Science and Information Security, Vol. 5, No. 1, 2009
[19] Laura Marie Feeney, Martin Nilsson, Investigating the energy consumption of a wireless network interface in an ad hoc networking environment, in: IEEE INFOCOM, 2001. [20] Chunglae Cho and Duckki Lee. Survey of service discovery architectures for mobile ad hoc networks. Unpublished 2005, Computer and information sciences and Engineering Department, University of Florida Gainesville, USA. [21] Mario Gerla Xiang Zeng, Rajive Bagrodia. Glomosim: A library for parallel simulation of large-scale wireless networks. Proc. 12th Workshop on Parallel and Distributed Simulations, 1998. [22] Abbas Asosheh, Gholam A. Angouti, A Novel Resource-Aware Service Discovery Protocol for Mobile Ad Hoc Networks, 17th ICEE, 2009

159 ISSN 1947-5500

To top