Service Driven Mobile Ad Hoc Networks Formation and Management Dan Grigoras and Mark Riordan Computer Science Department University College Cork Cork, Ireland
[email protected],
[email protected]
Abstract Self-organizing mobile ad hoc networks (MANET) allow devices to share their services and resources. MANET applications as diverse as multi-player games, disaster recovery, cooperative computing and mobile patient monitoring explain the high interest in these dynamic systems. However, the formation and management of MANET are challenging tasks due to network’s features like mobility, heterogeneity, limited resources and feeble communication. This paper presents a simple, cost-effective and resilient algorithm for the basic tasks of MANET creation and management.
1. Introduction While on the move, wireless mobile devices can contact each other and create mobile ad hoc networks (MANETs) or join existing ones. Formed on a temporary basis, these dynamic systems offer to member nodes opportunities for sharing services and resources. Any node can search, discover and use services of other nodes, within the limits of the network(s) it is a member of. The high interest in MANETs is explained by the lack of any pre-requisite infrastructure or central control, and their applications as diverse as multi-player games, disaster recovery, cooperative computing and mobile patient monitoring. However, MANETs are challenging systems - key aspects to tackle are the formation and management of the network, the discovery and use of services and routing, in the context of mobility, heterogeneity and limited battery power, to name only the most important characteristics of the environment. In this paper, we focus on the formation and management of mobile ad hoc networks in a simple and cost effective way that considers mobile devices constraints, especially limited bandwidth and battery power. Two original algorithms are presented and analysed. The complexity of the join/create procedure depends on several factors such as the name system in
use and all the important features of mobile ad hoc networks – mobility, heterogeneity, limited resources etc. The name service assigns identities to networks and nodes, and allows nodes to address each other and route messages. For example if a node wants to join a MANET that is IP-based, it will broadcast a request for an IP address. Assuming the presence of a DHCP server or, in its absence, the existence of a procedure/service for assigning IP addresses, the node will receive an IP. An important issue is to avoid IP duplicates. On the other hand, if there is no network to join, the node will create one and self-assign an IP address. The expectation is that other nodes will join this new network later on. The cost of managing IP addresses, especially duplicate detection, is very high in terms of communication and energy. For example, frequent events associated with MANET lifetime, like split and merge, generate a lot of overhead in order to preserve the uniqueness of IP addresses. This effort is questionable considering that IP addresses were devised for routing in wired networks and have a less important meaning in mobile networks. Simpler MANETs, like Bluetooth piconet, use a set of integers for addressing [1]. The node that creates the network/piconet becomes its master and assigns to each joining node a unique id. A Bluetooth piconet can have up to eight active devices, as the id is coded by 3 bits, and no more than 255 parked devices. A parked device can become active by replacing an active node. Although piconets can overlap and create larger networks, called scatternets, the number of member nodes is limited. If we consider that mobile devices aggregate into MANET with the purpose of sharing services and resources, in other words that MANET formation is service driven, a simpler, more cost effective and resilient solution can be proposed. The first step is to use the simplest possible algorithm, in terms of number of messages and energy, for the formation of the network. Then, once the network is created, all devices will be able to advertise or answer to queries regarding their services and resources that are made public –
Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC’05) 0-7695-2434-6/05 $20.00 © 2005
IEEE
available to use by other nodes of the network. In this respect, the most appropriate name is a set of attributevalue pairs that fully describe the service or resource and not the name/IP address of the host that gives no information about its potential in terms of services and resources [2]. The very least role of a member node is to route messages within the network. Simplicity of the formation algorithm is defined by the way it operates: the identity of the new network is computed and stored by the node that creates it, then the network identity is provided to all joining nodes that store it as well; there is no node with a special role (master or cluster head) and no need of any heart beat signals or beacons. As long as a device stores a network id, it is member of that network. Therefore, the distributed network management will consist in preserving the network id on each node while the network is active. Other MANET management functions deal with split and merge. The importance of MANET is partially explained by the scarcity in services and resources of most mobile devices. By aggregating them into a network, each node can avail of many more computing facilities than it has individually. Applications running on mobile devices may need services or resources that are not locally available. Therefore, they will trigger the search for these services or resources on other mobile devices. The search space can be limited to the area corresponding to the radio range of the node, or extended outside it, if a multi-hop ad hoc network exists and can be joined. A multi-hop network offers more opportunities for discovery, and if multiple multihop networks can be joined, the probability of search ending with success is higher. The paper is organized as follows. Section 2 presents similar work. Section 3 introduces our network model. In section 4 we introduce the set of algorithms for the formation and management of the MANET. Section 5 presents simulation results. Finally, we summarize our investigations and conclude this work in section 6.
2. Similar work The vast majority of the projects involving MANET formation are IP-based. Although, initially, IP had no provision for mobility, mobile IP and IP paging were proposed to fix the problem [3]. Included in IPv6, the mobile IP concept is an attempt to hide mobility and create a common and coherent routing space, IP-based. If there is a mobile node running a DHCP server, any node joining the network can call this service and receive an IP address from the link-local range – this strategy is called auto-configuration (Zero configuration). Auto-configuration by picking IP
addresses from a (reserved) private addressing domain is another possibility. Each node assigns itself an IP address and sends out a gratuitous ARP. If there is no conflict with existing nodes, it keeps that address. In both situations, there is no guarantee against IP address duplicates. In [4], MANET configuration is achieved by allocating IP addresses to nodes in a distributed manner. Any new node that wants to join an existing MANET sends a message, expecting to receive replies from at least one MANET node. The node will select one of the responders as initiator and will ask it to act on its behalf. The initiator selects an available IP, checks the network to see if there is not any duplicate and, provided no duplicate was confirmed, assigns that IP to the requester. The initiator acts as a proxy for the requester until an IP address is allocated. The allocation process is communication intensive, MANET’s nodes are required to store the current configuration of the network (list of IPs), and it is prone to denial of service attacks. The authors offer solutions to network split/merge but the overhead is very high. Cluster head-based approaches consider the election of a cluster head among mobile nodes clustering (networking) within an area [5]-[8]. The cluster head can directly reach each node of the cluster/MANET. Its main task is to control transmission power in order to reduce interference and save power. Another task is to help the routing process. Within the cluster, routing algorithms like Link Vector Algorithm can be used. Routes to nodes outside the cluster can be established on a demand basis (e.g., AODV, TORA). Obviously, the cluster head has a special role in the network, a situation that needs to be avoided in a mobile ad hoc network. A different approach is represented by the use of distributed hash tables (DHT) [9]. As MANET and P2P systems share many features, ideas suggested by the P2P community can be applied to MANET as well. Both information and nodes that store the information can be addressed by ids produced by a hash function. This way, the address/identity is location independent. The nodes share a virtual space, each being responsible for a part of it, according to the key produced by the hash function. The node stores information about the location of all data whose keys belong to its partition. The discovery process is facilitated by the use of the same hash function.
3. The mobile ad hoc network model We consider a multi-hop packet radio network that can be formed by mobile devices. A wireless link can be established between two nodes only if they are in the transmission range of each other. If nodes have
Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC’05) 0-7695-2434-6/05 $20.00 © 2005
IEEE
different transmission ranges, it is possible to have one unidirectional link. If the link is bi-directional, the two nodes are one hop away. We assume that MANETs have no connection to the wired Internet and that the only events that can occur during their lifetime are split, merge, or termination. One device can be either proactive or reactive in respect to the need of discovering services. Proactive means that a node tries to join ad hoc networks prior to the need to discover services. Reactive corresponds to join triggered by the need of services that are not running locally.
3.1 The network identity In the case of IP-based networks, the identity of MANET is defined by the sub-domain of IP addresses – the prefix. For a service driven MANET, we use a network identity that is created when the network is formed and persists as long as the network is active. There are several reasons for using a network identity: • To create an administrative domain during the network lifetime – this limits the scope for network activity (service search, for example); • To allow routing intra and inter-domain; • To permit the evaluation of node mobility as the number of MANETs joined over a period of time. Each mobile ad hoc network receives a net_id, when it is created. The net_id is a number computed by the device that creates the network and it is based on the device’s unique id – as in the case of Bluetooth piconet, and other information like the date and time. The net_id is received and stored by each node member of the network as part of a soft state, if the join procedure was successful. Therefore the fact that a node belongs to an ad hoc network is signaled by the net_id it stores. There is no central information about nodes that are currently members of a MANET. If the node joined more than one MANET, all net_ids are stored and managed individually. Initially, the net_id computed by the network initiator has a time to live (NetTTL), an estimation of the network existence. When a node sets the NetTTL, the start time is noted - it is stored by a timer. When a node joins the network, it will receive and store the (net_id, NetTTL) pair, where NetTTL is the current relative value – the remaining time in respect to the formation time. This ensures that nodes joining the network still maintain the same net timeout as was set by the network initiator. If timeout occurs at a node,
the net_id variable is deleted and the node ceases to be a member of the network. However, any network message has the effect of refreshing the NetTTL value of all nodes that receive the message. The reason is that communication means there is activity within the network and, therefore, there are reasons to keep it alive. In the same time, if a node is currently using a remote service, the NetTTL should be updated accordingly. The consequence of these two strategies for increasing the NetTTL is that at some moment in time, some nodes may have a longer NetTTL than others. Active nodes are keeping the network alive, while passive nodes are leaving the network when their NetTTL expires. This option is reasonable because each passive node can decide to become active and preserve the membership. The least it can do is to send “I’m still here !” messages, from time to time.
3.2 The node identity Every mobile device has a personal unique id, usually a 48-bit number (e.g., MAC address, Bluetooth id). This is used to make the distinction among all devices that belong to the same network and in this respect can be considered the node name. For example, a radio reply message can be received by many devices but only that with the name/dest_id matching the value in the message will store and process it. From the service-oriented perspective, the node identity can be interpreted in a larger sense. The mobile device runs a set of services that can be shared. It stores the names of these services in a service directory that can be considered as part of its identity as well.
3.3 The message format All protocols use the same message format. It consists of a fixed size header and a variable length body. Control messages, like join, join ack and search consist only of the header. The first field indicates the type of the message. For example, if it is a “join request” the code is 3 and if it is a “join ack”, the code is 5. In the latter case, the message carries the net_id and updated NetTTL, inserted by the member node that replied. Other fields correspond to the number of hops, message id and source id. The number of hops is a small integer number, usually two-three. Recent results stressed the presence of an ad hoc horizon of two-three hops. Beyond this limit the benefit from multi-hop ad hoc networking virtually vanishes [10]. The message id is used to keep track of replies to previous requests. The source id is used by the routing algorithm to locate the destination of the reply message.
Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC’05) 0-7695-2434-6/05 $20.00 © 2005
IEEE
4. Formation and management algorithms 4.1 Formation/Join of a MANET For simplicity, we consider here only the reactive case, when an application demands the search for certain services. As a pre-condition for service search, the first operation to be executed is join/create ad hoc network(s). The node will try to join any mobile ad hoc network accessible by contacting nodes located in the area defined by its radio range, with the hope that its later search for services will be successful. If there is no such network, the node will be interested in creating one that can be joined by other devices. However, there is no guarantee that this expectation will be fulfilled.
B
Initially, the node sets up and starts the join timer, then broadcasts the join request message and listens to replies. The value of the join time can be correlated with the speed of the device. However, in our simulations we considered it the same for all speeds. In order to save energy, after one join_ack (with net_id) answer is transmitted, all the member nodes of the same network learn that the newly arrived one received the network id and they will cancel any tentative of reply.
Version A – the opportunist Join/Create: start join_timer send join message while (not timeout) receive join ack with net_id adopt and store it ; first net_id received exit
A D requests B join C
D moves D
join ack by C Figure 1 Device D is moving into an area where three devices, A, B and C formed a MANET. A and C receive D’s request to join it. Node C acknowledges by sending the net_id and NetTTL to D. The procedure has two stages. The first is of active search, when the node broadcasts a join request message with nb_of_hops equal to one, and listens to replies carrying net_ids. The waiting time is given by a programmed timer called the join timer. Two options are available here. The first reply with a net_id is sufficient, the node adopts it and exits the join procedure (version A), or, alternatively, waits until the join timer timeouts with the expectation that more net_ids will be received meanwhile (version B). Indeed, joining more networks increases its chances for finding and using much needed services. Additionally, joining multiple ad hoc networks makes the node a de facto gateway. The cost of version B is however a longer execution time, at least that given by the join timer, if there are join acks. The A version is quicker because the first opportunity to join an existing network is taken. In this respect, we call it “opportunistic”. Following, the two versions of the algorithm executed by each node are presented. The system has the option to select one of the versions.
start delay_timer while (not timeout) receive join ack with net_id adopt net_id ; it is the first received exit if (no net_id adopted) compute net_id broadcast join ack message with net_id exit If the node failed to join a network, in both versions of the algorithm, it will proceed to the second stage. This can be described as passive search associated with the initiative of creating its own network. Each node randomly selects a delay interval during which it still listens for join ack messages – this time interval is stored by the delay timer. If timeout occurs and no net_id message was received during the auto-imposed delay interval, the node will create one net_id and will make it public by broadcasting. If multiple nodes are about to do the same operation (each choosing its own net_id), in the same time, several one-node networks may be created. On the other hand, it is possible that some nodes are still listening, get the first net_id message and adopt it. Now, the node is ready to search the network(s). In the case of a one-node network, the search for services will fail, although passive nodes can be present in its radio area, so the node will cancel its net_id after NetTTL. Then, it will run the join/create procedure again.
Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC’05) 0-7695-2434-6/05 $20.00 © 2005
IEEE
Version B – the greedy Join/Create: start join_timer send join message while (not timeout) receive join ack message(s) check for net_id and store if (one net_id) adopt it exit if (more net_ids) adopt them exit if (no net_id) start delay_timer while (not timeout) receive join messages with net_id adopt net_id if (no net_id adopted) compute net_id broadcast join ack message with net_id exit The cost of this procedure can be expressed by the time taken to join or create a network and the number of messages used for that purpose. Figure 2 below shows the minimum and maximum values to be expected for the time parameter.
A: shortest
A: longest
B: shortest
B: longest
time o
join time
delay time
f
Figure 2 The total time of network join/create for versions A and B.
Generally, the execution time of the procedure is a sum of three terms, the join time, the delay time and the formation time, denoted by f on figure 2. The formation
time corresponds to the computation of the net id and the broadcasting of it. Version A offers the shortest time that can be represented by the time taken to exchange the two messages, join request and join ack. The shortest time of version B is equal to the value of the join time. For both versions, the longest time is the sum of the three values.
4.2 The management of split/merge A mobile ad hoc network can split into two or more sub-networks at any time. As an extreme case, the departure of a node can be considered a split. The onenode network still carries the net_id. As part of the node’s soft state, the net_id will be cancelled as a result of the timeout associated with the network TTL. If each network that resulted after a split comprises of more nodes and they are actively exchanging messages, the net_id is preserved. In this situation, there are several MANETs using the same net_id. However, there is no detrimental effect unless MANETs are connecting to access points (APs) and engage in routing. Each AP will allocate an IP, guaranteed to be unique, to the MANET gateway. The DNS will map the IP to the MANET net_id and for the same name (net_id) there will be several distinct IPs. As this result is not acceptable, getting connected to an AP will be allowable only by changing the network id. This operation requires the gateway node to generate a new network identity and distribute it to all its peers. When this operation is completed, the gateway node can ask the AP to allocate an IP address. The DNS will learn the {net_id, node name}/IP address mapping. If a second node or more nodes of the same MANET get in contact with APs they can also request IP addresses. As node names are distinct, IP/name uniqueness will be preserved although nodes belong to the same network – they share the same net_id. The benefit is the possibility to have multiple routes to the Internet within MANET. The merge operation of two ad hoc networks increases the chance of discovering services and resources. The fact that MANETs are overlapping is detected by nodes that receive radio transmitted messages carrying a different net_id. Assuming that merge is desirable, the node that detects another network can broadcast this information to the entire network – it suggests a merge and to adopt the new net_id. If nodes agree, they will merge and this operation is done by simply deleting their net_id and adopting the new one. Otherwise, the node detecting another network can just join it and act as a gateway between the two networks. Obviously, the latter approach is simpler but would impose more work on
Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC’05) 0-7695-2434-6/05 $20.00 © 2005
IEEE
the node and this can be accepted only if battery lifetime supports it.
4.3 Termination A mobile ad hoc network can be considered terminated when there is no activity for a reasonable amount of time, that is the remaining time to live. Gradually, each node cancels the net_id. However, it is possible that one client started a service on another node and there is no communication between them. If there are results to be delivered to the client, and the network is terminated, provisions for results delivery should be considered.
5. Simulation Simulations were carried out utilizing ns-2 and CMU’s mobile node extensions. The goal of the simulations is to assess the feasibility of the proposed network formation process in ad hoc environments.
5.1 The simulation setup Simulation environments consisted of 4, 50 and 125 nodes moving around an area 1500 m by 600 m. Node movements are performed using the random waypoint mobility model. Here nodes select a destination and move towards it. Once reached, the node chooses a new destination and starts moving towards that. The speed of nodes is in the range from 0 to 20 mps. Simulations run for 250 s. The join timer is set to timeout after 10 s allowing time for the node to receive response to the request. The timeout for the delay timer is randomly generated in the interval [0, 20 sec]. Message routing, in the above simulations, was carried out using the AODV routing protocol. In code version A, routing was restricted to a single hop, meaning nodes could only communicate with nodes within their radio range. In code version B, multi-hop routing was enabled allowing nodes to join networks of greater distances. Each environment was run 50 times with different location and speed for each node of the set. In this service driven network formation schema, networks are timed out, causing nodes to leave, if the network is not in use. Network usage is determined by the amount of service based messaging passing through the network. If no service messages are passing through the network, after 90 sec the network times out and the nodes leave. NetTTL is used to over rule network timeouts due to service messaging. In simulations consisting of 4 nodes, node density is very low. With a radio range of only 250 m, the
probability that nodes will come in range of each other is reduced. With 50 or 125 nodes, node density is higher, resulting in the formation of networks with a greater number of nodes.
5.2 Formation of MANET The first event scenario simulates a number of nodes attempting to join a network in quick succession. Initially there are 4, 50 or 125 nodes moving around the simulation area in which there are no networks. The first node starts the join/create procedure after 36 s. Then, the remaining nodes begin the join/create procedure at subsequent 0.5 sec intervals for 4 and 50 nodes and 1 sec intervals for 125 nodes. A key factor, particularly in the case of simulations with a small number of nodes, that influences the time taken for network formation is the random delay chosen by the delay timer. When a node starts the join/create procedure it sends a join packet and waits 10 s for a response. If a response is not received before the timeout, the node selects a random delay after which it selects its own network id. This randomly selected delay has a great influence over the total time taken for network formation. A large area and a low number of nodes tend to lead to a lower node density. As a result, nodes formed their own networks. In version A of the schema, there are numerous race conditions, which determine which network the node will have membership of. If two nodes are within radio range, a node must select a network id and advertise it before the second node delay timer expires and it configures itself. When this occurs, the nodes are unable to communicate despite being in range. When two configured nodes are in range of each other there is also another race condition to be considered. For the nodes to be able to communicate, the NetTTL or “lack of use” must time out the network id of one of the nodes and begin the join/create process. This is however not the case with version B. Since this version allows nodes to hold membership of multiple networks when nodes with a different network id come into range, the nodes are able to join the network and communicate. Simulations containing 50 nodes react as expected to the event scenario. Having a greater number of nodes moving around the simulation area means there is a medium node density. This leads, in both versions A and B, to the formation of networks with a much higher membership. However as with the simulations containing 4, nodes we still have issues with race conditions particularly with version A of the code. Though there is a greater node density there is still the possibility that networks can be formed containing
Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC’05) 0-7695-2434-6/05 $20.00 © 2005
IEEE
only a single node. Simulations run with code version A show the creation of small (1 node), medium and large networks within the simulation area. As with the simulations containing 50 nodes, simulations containing 125 nodes tend to result in the formation of large networks. Having a large number of nodes moving around the simulation area means there is a high node density. Similar to simulations containing 4 and 50 nodes, there still are race conditions particularly with version A of the code. There are less small networks formed as the higher nodes density increases the probability of nodes being in range of another node. However, when small networks are formed nodes are still only able to change network when the network membership held is timed out.
5.3 Join of existing MANET(s) In the second event scenario, a node enters an area in which networks exist and begins the join/create procedure. This scenario is run against simulations containing 4, 50 or 125 nodes moving around the simulation area. The key-determining factor with regards to the speed of joining a network is node density. If a node enters an environment of low node density, e.g. the 4 node simulations, the probability of being within range of a node when beginning the join/create procedure is low. As a result the time taken to join a network could depend on the time out set for the delay timer (a randomly generated timeout). If a node enters an environment with high node density, the probability of being within range of nodes already in a network when beginning the join/create procedure is much higher. TABLE I Version A. Joining existing MANETs Nb of Nodes
Join Interval
Start Time
Lowest Time
Highest Time
4 50 125
0.5 s 0.5 s 1s
145 s 145 s 145 s
0.01s 0.008 s 0.710763 s
26.881s 20.297 s 19.6338 s
TABLE II Version B. Joining existing MANETs. Nb of Nodes
Join Interval
Start Time
Lowest Time
Highest Time
4 50 125
0.5 s 0.5 s 1s
145 s 145 s 145 s
0.007 s 0.008 s 0.023 s
28.9522 s 0.368 s 20.297 s
The rightmost two columns, the lowest and the highest time, represent the total time taken to join a network. The lowest time is registered when join is
acknowledged during the join time. The largest time includes the join time (10 sec), the delay time (e.g., 18 sec) and the formation component (0.01 s) as shown on figure 2.
5.4 Network split/merge The third event scenario examines the split/merge process proposed by the service driven network formation schema. The scenario is run against simulations containing 4, 50 and 125 nodes moving around the simulation area. The main aim of the split/merge simulations was to determine the resiliency of the schema. Two simulation types were used to assess the functionality, firstly simulations were designed with pre-determined positioning and movement in order to assess the functionality in a controlled manner. The second set of simulations used randomly positioned nodes and the random waypoint model in order to emulate more real world environments. In all simulations, service based messages tagged with a networked id were used to determine when nodes were able to communicate with each other and to indicate when split and merge occurs. In the first set of simulations, all nodes are initially located within broadcasting distance of each other. At 36 sec the join/create procedure is begun, with all nodes joining the same network. At 70 sec node movement begins. One node remains stationary and begins broadcasting service-based messages, all other nodes move away from the stationary node until they are out of range and a network split occurs. Due to the lack of multi-hop routing, the network split is more evident in version A of the code. As nodes go out of range of the stationary node, the number of nodes receiving service messages drops consistently. Conversely, in simulations run against version B of the code, the number of nodes receiving service based messages dropped sharply. Due to the multi-hop routing capabilities of nodes in version B of the code, all nodes received the service messages until all the nodes were out of range. At 160 secs nodes begin to move towards the stationary node. In version A of the code nodes begin receiving the services messages as they came back into range, merging into a single network. In version B of the code all nodes merged into a single network as soon as the first node came back into range. In the second set of simulations, all nodes initially are positioned randomly and movement is controlled using the random waypoint model. Due to the low node density characteristic of the 4-node simulations, network split/merge was infrequent. On many occasions networks created consisted of a single node. Results from occurrences of split/merges mirrored the results obtained from the first set of simulations. When
Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC’05) 0-7695-2434-6/05 $20.00 © 2005
IEEE
nodes moved out of range – network split, they were unable to communicate with each other until they came back within range – network merge. The network splits that did occur often resulted in the zeroing of the nodes network id due to the lack of service based messages resulting in the creation of new networks. In simulations consisting of 50 and 125 node split/merge occurred occasionally using version A of the code and infrequently with version B of the code. This was due to multi-hop routing and high node density characteristic of both environments. However when split/merge did occur, the results again mirrored those attained from the first set of simulations. When nodes move out of range the network splits. As long as the network merges before the network id times out or NetTTL expires the network will be unaffected by the merge operation.
5.5 Network formation efficiency The service driven network formation schema, by its very nature, is cost efficient. The schema operates on a “best effort” network formation policy, meaning the control message overhead is kept to a minimum. Due to the diversity of modes a node can operate in, the schema merely forms a network and offers nodes the opportunity to join the network if they wish. Nodes are in no way conscripted into joining a network, operating in a best effort manner and so there is reduced need for control based messaging. The number of control messages (per node basis) required for network formation is 2. This occurs when a node sends a request to join a network, receives a join ack message containing a network id and decides to join. Alternatively if there is no reply, the node is forced to create its own network and then advertise it to the surrounding nodes – both versions. When joining a network the lowest number of control messages taken (1) occurs when a node is requested to join a network, receiving a join request packet containing a network ID, it agrees to join, sending an ack packet back to the requestor. The highest number of messages is associated with version B, when multiple join acks are received.
6. Conclusions Two versions of an algorithm for MANET formation that have provisions for split/merge were presented and analyzed in this paper. The algorithm itself is designed starting from the consideration that MANETs are created for the purpose of sharing services and resources. The A version is opportunistic in the sense that the first opportunity to join a network is taken, while version B allows the device to join more networks, if possible. In the latter case, the expectation
is that more networks potentially offer more services. The algorithm is simple, cost effective and resilient. It uses a minimum number of messages, a simple message format and there is no need for heart beat signals or beacons. The presence of a MANET and the membership of a node to that network are defined by the network id. Using this variable as part of a soft state eases network management. Indeed, network termination simply consists in net_id disappearance in all member nodes. Other network management operations dealing with split and merge are implemented in the simplest possible way. Split does not raise any problem until MANETS get connected to APs, but in this case, each network can simply decide to create a new identity. Merge can lead to the adoption of one net id by all merged networks. In this case, there is overhead, however, much less than in the case of IP based networks.
Acknowledgments This work is funded by the E-Next Network of Excellence, supported by the Commission of the European Communities under contract number 506869.
7. References [1] B. Miller and C. Bisdikian, Bluetooth Revealed, Prentice Hall, 2002. [2] D. Grigoras, "Service-oriented Naming Scheme for Wireless Ad Hoc Networks" in the Proceedings of the NATO ARW "Concurrent Information Processing and Computing", July 3-10 2003, Sinaia, Romania, IOS Press 2005, pp. 60-73. [3] Y-C Tseng, C-C Shen and W-T Chen, “Integrating Mobile IP with ad hoc networks”, IEEE Computer, May 2003, pp.48-55. [4] S. Nesargi and R. Prakash, “MANETconf: Configuration of Hosts in a Mobile Ad Hoc Network, in Proceedings of the IEEE Infocom 2002, New York, June 2002. [5] E. Hossain, R Palit and P. Thulasiraman, “Clustering in Mobile Wireless Ad Hoc Networks”, Chapter 13 in Wireless Communications Systems and Networks (Ed. Mohsen Guizani), Kluwer Academic/Plenum Publishers, ISBN 0-306-48190-1, April 2004. [6] C-C Shen, C. Srisathapornphat, R. Liu, Z. Huang, C. Jaikaeo and E. Lloyd, “CLTC: A Cluster-Based Topology Control Framework for Ad Hoc Networks”, IEEE Transactions on Mobile Computing, vol.3, no.1, Jan-March 2004, pp.18-32. [7] M.Chatterjee, S. Das and D. Turgut, “WCA: A Weighted Clustering Algorithm for Mobile Ad Hoc Networks”, Cluster Computing no.5, 2002, pp. 193-204. [8] L. Kai and L. Jiandong, “Mobile Cluster Protocol in Wireless Ad Hoc Networks”, in Proceedings of ICCT 2000. [9] A. Viana, M. Dias de Amorim, S. Fdida and J. Ferreira de Rezende, “Self-organization in spontaneous networks: the approach of DHT-based routing protocols”, Ad Hoc Networks Journal, Febr. 2005. [10] P. Gunningberg, H. Lundgren, E. Nordstrom and C. Tschudin, “Lessons from Experimental MANET Research”, Ad Hoc Networks Journal, special issue on “Ad Hoc Networking for Pervasive Systems”, M. Conti and E. Gregory (Editors).
Proceedings of the 4th International Symposium on Parallel and Distributed Computing (ISPDC’05) 0-7695-2434-6/05 $20.00 © 2005
IEEE