A Low-Complexity Routing Algorithm with Power ... - Semantic Scholar

4 downloads 0 Views 240KB Size Report
CL also centralizes the power management mechanism and acts as a proxy for data .... A node can reach the Lost state either because it has moved outside the ...
Wireless Personal Communications (2007) 41:407–425 DOI 10.1007/s11277-006-9150-6

c Springer 2006 

A Low-Complexity Routing Algorithm with Power Control for Self-Organizing Short-Range Wireless Networks JUAN-CARLOS CANO1 , PIETRO MANZONI1 , DONGKYUN KIM2 and C-K TOH3 1

Department of Computer Engineering, Polytechnic University of Valencia, Spain E-mails: [email protected], [email protected] 2 Department of Computer Engineering, Kyungpook National University, Daegu, Korea E-mail: [email protected] 3 Queen Mary University of London, London, UK E-mail: [email protected]

Abstract. Mobile computing has become very pervasive, where the number of electronic devices equipped with wireless capabilities has increased significantly in recent years. This poses serious demands on wireless, mobile and self-organizing networks. Despite the fact that devices are getting smaller and more powerful, advances in battery technology have not yet reached the stage where devices can autonomously operate for days. Therefore, devices for self-organizing networks will strongly rely on the efficient use of their batteries. We present a cluster-based low-complexity routing algorithm for self-organizing networks of mobile nodes. Our proposed algorithm, called Cluster-based Energy-saving Routing Algorithm (CERA), allows mobile nodes to autonomously create clusters to minimize the power consumption. CERA is implemented as two separate protocols: the intra-cluster datadissemination protocol, and the inter-cluster routing protocol. We present an extensive analysis of the overall protocol architecture by varying the critical factors related to protocol behavior. As a result, the CERA implementation generally saves up to 25% of energy, while keeping the overhead, in terms of energy consumption, acceptably low. Keywords: Clustering, ad hoc Networks, routing, power management, topology control

1. Introduction Mobility in communication devices has evolved from weak connectivity in computers with an intermittent connection to the network, to ubiquitous computing [1], where the nodes are practically invisible. A mobile network (MN) is the basic building block for ubiquitous computing and consists of a collection of freely movable nodes which communicate using wireless links. A new type of wireless networking technology, short range wireless networks [2], is becoming widespread. This is supported by the increased availability of cheap and powerful portable terminals like personal digital assistants, laptops, etc. Full features of ubiquitous computing have not yet been realized, but many investigations were performed [3]. Ubiquitous computing requires the seamless integration of various networking technologies [4]. Most of the nodes in a mobile network rely on batteries or other exhaustible sources to operate. Despite recent advances in extending battery life, energy conservation and optimal energy utilization are important design issues [5] and energy usage optimization has become an important design criteria [6]. This paper presents a cluster-based low-complexity routing algorithm for self-organizing networks of mobile nodes. It provides interoperability among mobile devices, such as personal digital assistants (PDAs), handheld personal computers, displays, printers, or cellular phones

408

J.-C. Cano et al.

which operate in a bounded environment. Our proposal combines two protocols that enable the integration of any kind of hand held wireless electronic devices. The algorithm combines routing technique with energy conservation. The basic assumption is that network activity in bounded regions is characterized by high spatial locality. We define two different levels: the domain level and the cluster level. The domain level represents selected areas, characterized by a high data communication activity, e.g., a department, a library, a cafeteria, etc. The cluster level represents groups of nodes inside a domain. Routing a packet through this architecture depends on the relative position of the communicating parties. Our algorithm, called Cluster-based Energy-saving Routing Algorithm (CERA) is implemented as two protocols: the intra-cluster data-dissemination protocol and the inter-cluster routing protocol. In the intra-cluster data-dissemination protocol, nodes group around a special node, called the cluster leader (CL). The cluster leader is in charge of cluster maintenance and communication. The cluster leader is selected according to the remaining battery capacity as well as the traffic condition. Furthermore, a new cluster leader among nodes in the cluster is periodically chosen to take into account the energy status of nodes, so as not to overload a single node. The CL also centralizes the power management mechanism and acts as a proxy for data transfer between the cluster and other nodes. It buffers data frames and delivers them upon request, which allows mobile stations to remain in power-saving states for a much longer period. When power management is enabled, a node goes into ‘sleep’ mode to minimize power consumption. The inter-cluster routing protocol is responsible for routing data packets through the overall architecture by adopting an optimized broadcasting protocol. The rest of this paper is organized as follows. In Section 2, we discuss recent technologies related to routing, topology, and power control. Section 3 presents our proposed CERA algorithm, its intra-cluster and inter-cluster data-dissemination protocol and the power control technique used. Section 4 discusses the robustness of our approach. The performance of CERA is evaluated and discussed in Section 5. Finally, Section 6 concludes this paper.

2. Related Work 2.1. T e c h n i q u e s R e l at e d t o R o u ting and Clus ter Control The Internet Engineering Task Force (IETF) MANET working group [7] proposed various routing protocols for ad hoc networks during the past 8 years. Those protocols can be classified into four broad categories: proactive, reactive, hybrid, and cluster-based. In this section, we shall only concentrate on cluster-based routing. Cluster-based routing protocols organize the network into groups of nodes, called clusters. Current schemes try to reach the best compromise in term of scalability, mobility support, and energy consumption. These approaches mainly differ in the criteria they use for cluster organization and the routing strategy. The zone routing protocol (ZRP) [8] can be considered a quasi-cluster-based protocol, where clusters arbitrarily overlap, as every node maintains its own constrained routing zone. The basic approach of ZRP is to use proactive routing within a zone and a two-way handshake reactive protocol for inter-zone routing. Jiang et al. [9] proposed the Cluster Based Routing Protocol (CBRP). To implement the cluster topology, CBRP adopts the Lin and Gerla’s scheme [10] to partition the network into 2-hop clusters. To route packets among clusters, CBRP uses a dynamic source routing protocol based on the clustering to minimize flooding traffic. Although the algorithm works quite efficiently for stable topologies, it becomes less

A Low-Complexity Routing Algorithm

409

efficient when mobility rate increases. The concept of a cluster head is also adopted in [11], where the authors employ a clustering heuristic so that a node is either a cluster head, or at most, d hops away from the cluster head. In [12], Pei, Gerla and Hong present a routing protocol which combines the features of Fisheye State Routing (FSR) [13] and Landmark routing. Landmark provides efficient and scalable routing in large, mobile ad hoc environments in which group mobility applies. 2.2. T e c h n i q u e s R e l at e d t o R o u ting and Power Control We present a brief description of three relevant power-aware routing algorithms proposed recently. The Minimum Total Transmission Power Routing (MTPR) [14] mechanism makes use of a simple energy metric representing the total energy consumed along the route. Although MTPR can reduce the total transmission power consumed per packet, it does not reflect directly on the lifetime of each node. In other words, the remaining battery capacity of each node is a more accurate metric to describe the lifetime of each node. Let ci (t) be the battery capacity of node n i at time t. We define f i (t) as a battery cost function of node n i . The less capacity a node has, the more reluctant it is to forward packets; the proposed value  is f i (t) = 1 ci (t). If only the summation of battery cost is considered, a route containing nodes with little remaining battery capacity may still be selected. The Min-Max Battery Cost Routing (MMBCR) [15], defines the route cost as: R(r j ) = max∀ni ∈r j f i (t). The desired route ro is obtained so that R(ro ) = minr j ∈r∗ R(r j ), where r∗ is the set of all possible routes. Because MMBCR considers the weakest and crucial node over the path, a route with the best condition among paths impacted by each crucial node over each path is selected. The Conditional Max-Min Battery Capacity Routing (CMMBCR) [14] attempts to perform a hybrid approach between MTPR and MMBCR. CMMBCR considers both the total transmission energy consumption of routes and the remaining power of nodes. Power saving mechanisms based only on the remaining power cannot be used to establish the best route between source and destination nodes. If a node is willing to accept all route requests only because it currently has enough residual battery capacity, too much traffic load will be injected through that node. In this sense, the actual drain rate of power consumption of the node will tend to be high, resulting in an unfair sharp reduction of battery power. To address the above problem, the Minimum Drain Rate (MDR) [16] mechanism can be utilized with a cost function that takes into consideration the drain rate index (DR) and the residual battery power (RBP) to measure the energy dissipation rate in a given node. In the mechanism, i the ratio RBP DRi , at node n i , indicates when the remaining battery of node n i , will be exhausted, i.e., how long node n i can keep up with routing operations with current traffic conditions i based on the residual energy. The corresponding cost function can be defined as: Ci = RBP DRi . Therefore, the maximum lifetime of a given path rp is determined by the minimum value of Ci over the path. Finally, the MDR mechanism is based on selecting the route rM , contained in the set of all possible routes r∗ between the source and the destination nodes, that presents the highest maximum lifetime value. 3. Our Proposed CERA: Cluster-based Energy-saving Routing Algorithm We assume the overall environment to be modeled as a set of domains, i.e., sub-areas where mobile nodes normally concentrate. Examples of a domain inside an environment might be a

410

J.-C. Cano et al.

cafeteria inside a campus, a conference room inside a building, or a restaurant inside a shopping mall. In this environment, mobile nodes are grouped into clusters inside the domains. Our proposed algorithm, called Cluster-based Energy-saving Routing Algorithm (CERA), is implemented as two separate protocols: the intra-cluster data-dissemination protocol, and the inter-cluster routing protocol. The CERA protocols operate between the Network Interface Layer (NIL) and the IP layer. The network interface layer deals with specific physical functionality of each different network technology. The NIL extension varies depending on the technology we are taking into consideration. In the IEEE 802.11 case, for example, the NIL stands on top of the medium access control (MAC) sub-layer, while in the Bluetooth case it would stand on top of the Link Manager layer. Both technologies offer some alternatives to power control, by allowing NICs to vary their transmission power or be set to a sleep mode state. We are currently developing a NIL for theWindows2000, Windows CE, and Linux platforms using the IEEE 802.11 and the Bluetooth technologies [17]. The NIL has a simple interface with five basic primitives, namely: NIL_Tx_Frame(), NIL_Rx_Frame(), NIL_ToSleep(), NIL_Wakeup(), and NIL_Tx_power(). We are not dealing with interference problems at the physical or at the MAC layer; the IEEE 802.15 [18] Working Group is devoted to define a consensus standard in this area. Figure 1 shows a pictorial representation of our network architecture. It shows an example of a domain where nodes are grouped into clusters using our CERA algorithm. The intra-cluster data-dissemination protocol groups nodes around a special one, called the cluster leader (CL), which is in charge of cluster maintenance, power control and communication. The inter-cluster routing algorithm deals with domain-level routing. Routing a packet through this architecture depends on the relative positions of the communicating parties. When the communicating nodes belong to the same cluster, direct connection will be used. When the communicating nodes belong to different clusters, an improved broadcasting technique is used to avoid the typical problems associated with flooding. Section 3.4 describes further details of this routing protocol. 3.1. T h e I n t r a - C l u s ter Data-Dis s emination Protocol We model the overall network as an undirected graph G with a finite nonempty set of vertices V (G) (the mobile nodes) and a nonempty set of edges E(G) (the links). We assume that the

Domain ni

c CL CL

a

CL

Cluster C

Cluster A Cluster B

Figure 1. Pictorial representation of our network architecture.

A Low-Complexity Routing Algorithm

411

hTimeOut/HELLOreq neg ADDrep/ neg ADDrep

Active Join

ADDreq /CL ADDreq

Leader

hAddTime /ADDrep

CL neg ADDrep /-

HELLO/ADDreq node moved / BYE

Passive Join

ADDrep /BYE

Lost

lost HELLO/LOST

ADDreq/-

Add

ADDreq/-

Node

CL gone /CL election proc

hTimeOut/negADDrep CL HELLO/-

Figure 2. Finite-state machine diagram for the clustering algorithm.

set E(G) varies with time, that is, E(G)(t). The intra-cluster protocol is based on a graphpartitioning algorithm. We assume each domain to be a subgraph Di induced on G by the nonempty sets of nodes contained in each of the 1 ≤ i ≤ h domains of the overall network. We use a distributed graph join algorithm [19] to find the various partitions. The algorithm keeps executing autonomously on all nodes, handling all possible changes in the E(Di ) due to nodal mobility. The intra-cluster data-dissemination protocol can be implemented as follows. The spanning subgraph is first obtained by forcing each node to set its transmission power to wmax , as described in Section 5.1. The maximum cluster size B is considered to be equal to the number of nodes in a domain, therefore: B = |V (Di )|. The maintenance of a cluster requires recalling several status variables. We assume that these variables are being stored in a Cluster Control Block (CCB) in each node. Basically, we use the MDR scheme described in Section 2 in terms of energy consideration. Among these variables, the CCB.MDR represents the energy cost function. Each node updates the i Ci = RBP DRi index in the CCB.MDR variable. Figure 2 shows the finite-state machine diagram describing CERA behavior. Each transition is labeled with a tag that represents the ‘causing event/resulting action’ relation for that transition. When the event, or action, is shown in uppercase, they refer to the reception or transmission of the corresponding CERA message.

412

J.-C. Cano et al.

When a mobile node is activated, it enters the Leader state and executes the Init routine. This creates a mono-cluster where the only member is the current node. Nodes in the Leader state send a Hello message every hTimeOut milliseconds. When a node in the Leader state receives a Hello message it has to decide whether or not to join based on the CCB.MDR value. The join process begins with the joining node sending an Add Reques t message and then moving to the Passive Join state where it waits for an Add Reply message coming from the CL of the destination cluster. A CL, on receiving the Add Reques t message, re-transmits it, and then moves to the Active Join state. The protocol uses the Add Reques t and the Add Reply messages to allow a new node to be accepted only if each member of the cluster has a one-hop link with the new node, i.e., only if all cluster members have received both Add Reques ts messages from the joining node and the CL. If none of the members sends a negative Add Reply message, the join process terminates and the CL sends an Add Reply. The use of negative Add Reply messages simplifies the protocol and avoids the contention situation where all members try to send their reply messages at the same time. The newly joined node sends a Bye message and enters the Node state. The Bye message is used to inform the members of the node that they have to start the CL re-election process. If it is not accepted, it simply returns to the Leader state. Note that if any pair of nodes is connected in the graph, our CERA protocol guarantees the connectivity between clusters after the election of the cluster leader. Otherwise, none of cluster algorithms in the literature (including CERA) can achieve the connectivity. While in the Node state, every node checks for link failures with the cluster leader. If a node detects that it has lost a Hello packet, it sends a LOST message and moves to the Lost state. A node can reach the Lost state either because it has moved outside the cluster area or because the cluster leader has left. If the node in the Lost state does not hear any other Los t message it concludes that it has moved outside the cluster. It, therefore, sends a Bye message and transits to the Leader state and starts creating a new mono-cluster. If the node in the Lost state receives a number of predefined Los t messages (re-election parameter), it concludes that the CL has left and the CL re-election process then begins. We select the re-election parameter according to the following expression: Re-election = cluster si ze − 1(the C L) − thr eshold We use a threshold around 10% of the cluster size (in members), which is used to take into account some possible packet lost or nodes switching off. 3.1.1. The cluster leader re-election process The CL re-election process is based on our ring algorithm. The purpose of the ring algorithm is to distribute the role of CL among all cluster members according to the energy drain rate of each node. Each cluster node and the CL, stores a circular list (CCB.MLIST) with the addresses of all its members. The CCB.MLIST is ordered according to the CCB.MDR index. The CERA protocol is executed in a distributed manner, and hence at a given time, some nodes in a cluster will have different values in the CCB.MLIST list. However, this characteristic does not affect the correct behavior of the CERA protocol. Eventually, all nodes will be able to have the same CCB.MLIST list through the following mechanism.

A Low-Complexity Routing Algorithm

413

At the reception of each ringTime Hello message, the CL sends a Leader Reques t message including its CCB.MDR index and indicating the first address value in its list, which is the node with the highest drain rate index in the cluster. The indicated node then sends a Leader Reply message. The cluster leader, on receiving the Leader Reply message, sends an Over message and transits to the Node state. At the same time, the other nodes validate their entries for the new CL. If no Leader Reply is received, the CL will eliminate the current element from the list, select the next one, and send another Leader Reques t message. All nodes in the cluster, on hearing the Leader Reques t and Leader Reply messages, will update their CCBs accordingly, i.e., they will re-order or modify the CCB.MLIST list, according to the CCB.MDR indexes listened. We want to avoid performing a CL re-election process frequently but at the same time we want to have into account the fact that a CL will consume more energy. To deal with this tradeoff, each CL will generate the ringTime HELLO message when its remaining battery capacity (CCB.MDR) arrives to 75%, 50%, and 25% of the total battery capacity (we used the Drain Rate mechanism described in Section 2.2 to calculate for each node the CCB.MDR). Figure 3 shows the finite-state machine diagram describing the ring algorithm. 3.2. T h e P o w e r C o ntrol Algorithm We combine two cooperative approaches. First, we use a power-saving mechanism provided by the lower layer, which is based on dynamically switching of the NIC. Second, we select a transmission radio range which is different for intra- and inter- cluster communication. The first mechanisms allow us to save energy; in fact we think that is the only way to save energy in IEEE 802.11, since the energy due to the idle periods dominate. On the other hand, by reducing the transmission range inside a cluster, we are increasing the channel utilization (See Section 5.2.3). The wireless network interface exhibits varying power consumption behaviors, depending on whether they are transmitting, receiving, idle or ‘sleeping’. As shown in [20], NICs are usually in idle mode, which suggests that reducing the energy consumption due to the idle mode is fundamental for saving global NIC energy. The CERA power control algorithm is based on dynamically switching network interfaces off when the corresponding node is not hTimeOut/LEADERrep ringTime/LEADERreq

Leader

Ring hTimeOut & no more nodes/-

LEADERreq/LEADERrep

Node

LEADERrep/OVER

Figure 3. Finite-state machine diagram for the ring algorithm.

414

J.-C. Cano et al.

involved in any data reception process. Sleep mode in wireless NIC technology involves not only the radio power shutdown, but also processor sleep modes. It is feasible to enter a sleep mode whenever sleep duration is longer than the time taken to be awaken (recovery time). Depending on the underlying technology, a different approach will be taken by the NIL (Network Interface Layer) to implement the three functions: NIL_ToSleep(), NIL_Wakeup(), and NIL_Tx_power() (see Section 3). The IEEE 802.11 standard allows NICs to be switched off while idle. There is no explicit way to remotely turn off a network interface. According to the standard, the transmission of a peer-to-peer data packet can be preceded by an RTS/CTS dialogue. This signaling allows nodes to reserve the wireless channel. Thus, a node ensures its data will be transmitted by first broadcasting an RTS frame. The target node will declare that it is ready for packet transmission by sending a CTS frame. Other nodes hearing the RTS frame must defer the use of the channel until either they hear a CTS packet or a timeout occurs. In the former case, all the neighboring nodes hearing the CTS will then wait for the packet transmission to terminate. In [21], we propose a method that takes advantage of the standard protocol behavior so that when a node detects an RTS/CTS handshake and it is not the target node, it waits until the data packet transmission begins. Once it receives the header field of the first data packet, the node powers off its NIC for the duration of the data packet transmission or for longer periods depending on the cluster synchronization. This simple scheme saves power for all peer-to-peer data packets, while maintaining the same behavior with respect to, for example, broadcast packets. Bluetooth has specific messages at link level to control power, and it also defines several low powered states such as the Standby, Hold, and Park states. 3.3. C l u s t e r S y n c h r o n i zat i o n The CL centralizes the power control mechanism with the burden of buffering data frames for nodes in power-saving mode.1 Buffered data frames will be delivered when requested from the nodes. The power saving mode operates when setting the node network interface to ‘sleep’ mode. Each node uses a Sleep Reques t message to inform the CL on how many Hello periods it will remain in the power saving mode. The CL checks whether it has enough buffer space to reserve, and will accordingly send a positive or negative Sleep Reply message. Once a node wakes up, it checks whether there are queued data frames by sending a Ready Reques t to the CL. If there are buffered data packets, the CL will start sending the frames, eventually sending a Ready Reply. At this point, the node sends another Sleep Reques t and returns to power-saving mode. Since the CL has already reserved space for that node, no reply message is required. If the CL does not receive the Ready Reques t message from a node that is supposed to be awaken, it assumes that the cluster membership has changed and all the messages buffered at this node could be transmitted using the inter-cluster routing protocol, which will be described in next section. This scheme allows the mobile nodes to remain in the power-saving state for much longer periods, thereby conserving more energy. However, this mechanism may experience packet losses perceived at the wireless node. Section 5 presents an evaluation of the current global power savings, packet loss rate, and end-to-end delay. Additionally, although any interference or synchronization problem could cause any packet to be lost, the upper-layer protocols will address this problem through retransmission. 1

In future work, we plan to evaluate how much buffer space is needed at the CL for different traffic pattern.

A Low-Complexity Routing Algorithm

415

3.4. T h e I n t e r - C l u s ter Routing Algorithm CERA uses an efficient and reactive inter-cluster routing protocol in order to avoid broadcast storm problem [22] caused by simple flooding. Efficiency is achieved by taking advantage of the power control algorithm mentioned in Section 3.2 and by using a fast frame discarding approach. Data packet header requires Rs and Rd bits to distinguish whether a frame is coming from inside (Rs = 0) or outside (Rs = 1) a cluster, and whether the destination is inside (Rd = 0) or outside (Rd = 1) a cluster. Additionally, the header includes a 16-bit field (Bcounter) in order to limit the lifetime of the packet in the network, which is a hop counter. The behavior of the inter-cluster protocol is quite straightforward. Suppose that a node inside cluster A of Figure 1 wants to send data to a node in cluster B. It first sends the data packet to its CLs by setting: Rs = 0 and Rd = 1. User data are usually transmitted by CLs, since the energy-saving algorithm forces the other nodes to sleep most of time. In addition, Rs and Rd can be easily determined since every node knows the other members of its cluster through the CCB.MLIST, as mentioned before. In particular, if other nodes receive the data packet with the destination of the packet outside its cluster, they must discard the packet silently. Then, since the packet will be far away from its cluster A, the CL updates the Rs with 1 and broadcasts the packet. When others CLs receives the packet with both Rs and Rd set to 1, it checks if the packet’s Bcounter field is less than the maximum allowable hop limit, (maxhops in this paper). If Bcounter is greater than maxhops , the packet is silently discarded. Otherwise, the CL has to check whether the destination node is inside its cluster or not. If the destination is a member, both Rs and Rd are updated to 0 and the packet is buffered, or directly sent to the destination node according to our energy saving algorithm. If the destination does not belong to its cluster, the packet is re-broadcasted with Bcounter increased by 1. 4. Robustness and Correctness In general, for CERA to work correctly and stably, four conditions must hold: 1. 2. 3. 4.

a mobile node must either be in the Leader state, or in the Node state; at any given time, only one member must be in the Leader state: the cluster leader; each member must know its CL identifier; each node in a domain must belong to a unique cluster;

In this section, we sketch a proof of correctness for CERA. We select a set of events that can cause changes in the cluster structure and we show that CERA always reaches stability within a finite time. A change in the cluster topology can be caused by one of the followings events: (a) a new node is switched on, (b) a node is switched off, (c) the CL is switched off, (d) a node leaves its cluster, and (e) the CL leaves the cluster. • A new node is switched on: as described in Section 3.1, when a node is switched on, it executes the Init routine. This routine builds a new cluster where the four conditions hold. • A node is switched off: a node can be switched off either in a controlled way, or because of a failure. If a node switches off in a controlled way, it will first send a Bye message. Since we deal with 1-hop clusters, all cluster members will receive the message and simply update their membership table by removing the node. If the node is switched off abnormally, its absence will be detected by the ring algorithm, as described in Section 3.1.1.

416

J.-C. Cano et al.

• The CL is switched off: the CL can be switched off either in a controlled way or because of a failure. If the CL switches off in a controlled way, it should first govern the CL re-election process and then it sends a Bye message. As in the previous case, all cluster members will receive the message, removing the node from their membership table. If the CL is switched off abnormally, the cluster members will stop receiving the periodic Hello messages. Consequently, they will send a Los t message and enter the Lost state. In this situation, and as described above, either a new CL is selected or various mono-clusters are created. • A node leaves its cluster: this case corresponds to the sequence of two of the previous events: a node is switched off in a controlled way followed by the event that a new node is switched on. • The CL leaves its cluster: this case corresponds to the sequence of two of the previous events: the CL is switched off in a controlled way followed by the event that a new node is switched on. Although multiple events could happen at the same time, the four events that can change the cluster infrastructure are sufficiently independent, which cannot affect the correctness of the CERA cluster infrastructure. The worst case would be when the following two events occur simultaneously: the CL is switched off while a new node is switched on. In that case, according to the CERA protocol, the new node will execute the Init routine. Eventually, the nodes that lose their CL will select a new CL. Finally, the node that just switched on will join the cluster. At any time during the process, the above-mentioned four conditions hold. Additionally, whenever a node enters an unstable state, for example, because it receives incoherent information, it must send a Bye message and execute the Init routine. 5. Performance Study In this section, we analyze the performance of the CERA implementation, studying its stability and overhead. We extensively evaluate its performance in a single domain with several mobility scenarios. We use the ns-2 simulator [23]. The reference simulation scenario consists of 25 mobile nodes over a 500 m × 500 m area. We randomly place nodes at the start within the predefined simulation area. Each simulation is 10 min long. Twelve CBR (constant bit rate) data sources were used in our simulations with each source data rate at 1.5 Mbps, 1 Mbps, 0.5 Mbps and 0.25 Mbps. The packet size was set to 512 bytes. We used the Random Waypoint model [24] as the mobility model. Based on the basic scenario we analyzed four different dynamic scenarios in an attempt to replicate realistic activities that are likely to occur in bounded areas. • Scenario #1: Each node alternatively selects a random destination node belonging to another cluster. • Scenario #2: Nodes select the random destination inside their cluster. • Scenario #3: New activity zone appears. Thus, nodes can randomly choose to behave as in scenario #2, or migrate to the new activity zone, establishing a new cluster. • Scenario #4: The behaviors of scenarios #1 and scenario #2 are combined together. 5.1. T h e E n e r g y C o ns umption Model A generic expression to calculate the energy required to transmit a packet p is: E( p) = i∗v∗tp Joules, where: i is the current consumption, v is the voltage used, and tp the time required

A Low-Complexity Routing Algorithm

417

to transmit the packet. We assume that all mobile devices are equipped with IEEE 802.11b network interface cards (NICs).  The values used  for the voltage and the packet transmission ph pd time was: v = 5 V and tp = 2∗106 + 11∗106 s, where ph and pd are the packet header and payload size in bits, respectively. We calculated the energy required to transmit and receive a packet p by using: E tx ( p) = txcurrent∗v∗tp and E rx ( p) = rxcurrent∗v∗tp respectively. Since receiving a packet and just being idle are energetically equivalent [25], we assumed E idle (t)= idlecurrent∗v∗t, where t is the NIC idle time. In this paper, we select the following values: txcurrent = 280 mA, rxcurrent = 240 mA, and idlecurrent = 220 mA. For the sleep state, our model considers two parameters: (a) the recovery time and (b) the current consumption. Their values can vary from a current consumption of 190 mA and a recovery time of 1 µs, to a current consumption value of 30 mA and a recovery time of 5 ms. We use the latter values and therefore the energy consumed by a node that goes to sleep n times and remains in the sleep state during t seconds is: E sleep (t) = (30mA∗v∗t) + (240mA∗v∗5∗10−3 ∗n). To evaluate the transmission power we use the radio device model shown in Figure 4. The total transmission power consumption Ptx , can be decomposed as Ptx = Pe + PRF . The Pe factor represents the power consumption of the control logic and modulator. This factor is technology dependent and cannot be reduced; we considered Pe = 240 mA ∗ v = 1200 mW. The PRF . is the Radio Frequency (RF) energy and can vary depending on the transmission range. We approximate the maximum as PRF = (280 mA − 240 mA) ∗ v = 200 mW and considered PRF equal to the radiated power Ptx . The NIC we used as a reference specified 250 m as the maximum range, transmitting at 11 Mbps in a open environment with a bit-error rate (BER) greater than 10−5 . We used a simplified formula for the free space propagation model to calculate the power received at the destination [26]:

Pr =

Pt ∗λ2 0.200∗0.1252 −10 = = 3.166∗10 W 2 2 2 2 (4π ) ∗ d (4π ) ∗ 250

CERA allows cluster leaders to use an appropriate power level to transmit packets within clusters. Using less power to transmit packets not only saves battery energy, but also reduces channel interference and increases channel utilization. We assume a typical radius size for a cluster of about 80–120 m. The corresponding value for PRF can be calculated from the

Tx amplifier Transmitter/ Receiver Electronics

Figure 4. The radio model used in the energy consumption study.

418

J.-C. Cano et al.

previous formula as: PRF = Pt∗ =

3.166∗10−10∗ (4π )2 ∗ 1202 = 46 mW 0.1252

Therefore, the energy required to transmit a packet p when using a cluster size of about 80–120 m is: E txcluster ( p) = (Pe + Pt∗ )∗tp ∼ = 1.25∗10−3 ∗ tp Joules 5.2. S i m u l a t i o n R e s u lt s We concentrated on two different configurations: the CERAS+ which uses our power control algorithm and the CERAS− which does not use the power control. The configurations allow us to evaluate the performance of the MDR-based CL re-election process. We evaluated: energy consumption, packet error rate, and packet end-to-end delay. We took into account the effects of some relevant attributes such as the application sending rate and node mobility. Performance comparisons of CERA were made to the basic DSR protocol [24] under the same network configuration. For investigating the energy consumption, all nodes have their initial energy values which are randomly selected, but are very similar. We randomly assign each node its initial energy from 45 to 60 Joules. By doing that we avoid to have nodes which die during simulation because of battery expiration due to low power during simulation and also nodes having so much energy which avoid the use of the ring algorithm. 5.2.1. Varying sending rate We begin by analyzing the effect of varying the application transmission rate. We ran simulations by varying the packet sending rate with 1.5 Mbps, 1 Mbps, 0.5 Mbps and 0.25 Mbps. Figure 5 compares the average energy consumption of the DSR protocol, the CERAS+ Protocol, and the CERAS− protocol, respectively. The figure shows that, for all the selected data rates, the CERAS+ protocol saves up to 20%, 22%, 15% and 18% in scenarios #1, #2, #3 and #4, respectively. The savings are due to our power saving algorithm: as cluster interaction increases, as in scenarios #3 and #4, the energy-saving decreases. On the contrary, as cluster interaction decreases, as in scenario #2, the energy-saving increases. This result is basically due to the fact that as we increase mobility among different clusters, we reduce the possibility for nodes to save energy while preserving connectivity. More stable scenarios such as #2, allow all cluster members to periodically ‘sleep’, thus saving more energy. Note that in our scheme, the more the sleep events are, the more the energy is saved. Figure 5 also shows that the CERAS− protocol behaves identically to the DSR protocol for all simulations. This means that, in term of energy consumption, the CERAS− protocol does not have any extra overhead compared to DSR. With respect to the data packet delivery ratio, the DSR protocol outperforms all others, even if the difference is quite small. The CERAS− and the CERAS+ protocols only differ by 1% and 3%, respectively. The CERAS+ behaves extremely well in scenario#2, saving up to 22% of the total energy while delivering the same fraction of data packets as in the DSR protocol.

800

800

750

750

700

700

Energy (J)

Energy (J)

A Low-Complexity Routing Algorithm

650 600 550

650 600 550

DSR CERAsCERAs+

500

DSR CERAsCERAs+

500 450

450

400

400 1.5 Mbps

1 Mbps

0.5 Mbps

0.25Mbps

1.5 Mbps

Sending rate

(Scenario #1) 800

800

750

750

700

700

650 600 550

DSR CERAsCERAs+

500

1 Mbps 0.5 Mbps Sending rate

0.25Mbps

(Scenario #2)

Energy (J)

Energy (J)

419

450

650 600 550

DSR CERAsCERAs+

500 450

400

400 1.5 Mbps

1 Mbps

0.5 Mbps

0.25Mbps

1.5 Mbps

1 Mbps

0.5 Mbps

Sending rate

Sending rate

(Scenario #3)

(Scenario #4)

0.25Mbps

Figure 5. Comparison of average energy consumption between the CERA and the DSR protocol under varying transmission rate. Node speed is 1 m/s.

5.2.2. Varying node speed We evaluated the performance by increasing mobility rate from pedestrian speed (1 m/s) to slow vehicular speeds (10 m/s). We fixed the total traffic sending rate to 0.5 Mbps, and repeated simulations by varying the maximum node speed with 1, 2, 5 and 10 m/s. The average energy consumption behaves similarly as in Section 5.2.1. On average, the CERAS+ protocol can save up to 20%, 21%, 16%, and 19% of energy in scenarios #1, #2, #3, and #4, respectively. Node speed does not significantly affect the average energy consumption. Figure 6 shows how the average packet loss increases as node speed increases. As node speed increases, the cluster infrastructure becomes more unstable, and therefore the proportion of data packets successfully delivered decreases. For example, the CERAS+ protocol loses up to 0.8% of the total data packets in scenario#1 with a node speed of 1 m/s. However, after increasing the node speed up to 10 m/s, packet loss increased to 1.6%. 5.2.3. The effect of radio transmission range In this section, we repeated the simulations of Section 5.2.1 and Section 5.2.2 by adding a new peer-to-peer constant bit rate (CBR) data stream and evaluated the average end-to-end data packet delay. We thus evaluated the impact of the radio transmission range on channel utilization for both the DSR and the CERAS− protocols. While the DSR protocol uses a transmission power of E tx ( p) = 280 mA∗v∗tp Joules, CERA S− reduces this value to E txcluster ( p) = 1.25∗10−3 ∗ tp Joules. This reduction implies a smaller radio transmission range, resulting in a reduction on channel interference and increased channel capacity. The results confirm that for

100

99

98 DSR CERAsCERAs+

97

96

# packets received / # packets sent

J.-C. Cano et al. # packets received / # packets sent

420

95

99

98 DSR CERAsCERAs+

97

96

95 2 m/s

5 m/s

10 m/s

2 m/s

5 m/s

10 m/s

Node speed

(scenario #1)

(scenario #2)

100

99

98 DSR CERAsCERAs+

97

96

95 1 m/s

1 m/s

Node speed

2 m/s

5 m/s

10 m/s

# packets received / # packets sent

1 m/s

# packets received / # packets sent

100

100

99

98

97 DSR CERAsCERAs+

96

95 1 m/s

2 m/s

5 m/s

Node speed

Node speed

(scenario #3)

(scenario #4)

10 m/s

Figure 6. Comparison of fraction of application data packets successfully delivered between the CERA and the DSR protocol under varying node speed. Data sending rate to 0.5 Mbps.

all simulations the CERAS− protocol significantly reduces the end-to-end data packet delay when compared to the DSR protocol. While the CERAS− protocol transmits packets from several sources in parallel; the DSR protocol cannot do the same due to channel interference. Figure 7 shows the results obtained by varying the node speed. The CERAS− protocol reduces the average end-to-end delay by 24%, 69%, 15% and 14% in scenarios #1, #2, #3 and #4, respectively compared to the DSR protocol. As the cluster interference increases, routes become longer as in scenario #4 and it therefore increases the channel interference, and the end-to-end delay. Similar results were obtained when varying the sending rate.

6. Conclusions In this paper we presented a cluster-based routing algorithm for self-organizing networks of mobile nodes called Cluster-based Energy-saving Routing Algorithm (CERA). CERA allows mobile nodes to autonomously create clusters to minimize power consumption. We realized that simple mobile computing devices should not be overloaded with complex clustering protocols. We, therefore, proposed a simple approach embedded with sufficient robustness,

A Low-Complexity Routing Algorithm 4 DSR

CERAs-

3

2

1

Average end to end delay (msec)

Average end to end delay (msec)

4

DSR

CERAs-

3

2

1

0

0 1 m/s

2 m/s

5m/s

1 m/s

10 m/s

2 m/s

5m/s

Node speed

Node speed

(scenario #1)

(scenario #2)

4

10 m/s

4 DSR

CERAs-

3

2

1

0

Average end to end delay (msec)

Average end to end delay (msec)

421

DSR

CERAs-

3

2

1

0 1 m/s

2 m/s

5m/s

10 m/s

1 m/s

2 m/s

5m/s

Node speed

Node speed

(scenario #3)

(scenario #4)

10 m/s

Figure 7. End to end data packet delay. Packet sending rate is 0.5 Mbps.

auto-recoverability and fast node reconfiguration. CERA has two parts: the intra-cluster datadissemination protocol, and the inter-cluster routing protocol. These protocols provide interoperability among mobile devices operating in a bounded environment. We simulated CERA using the ns simulator. We evaluated the stability and overhead of the CERA clustering protocol and found it to be minimal. We performed a sensitivity analysis of the overall protocol architecture by varying the critical factors related to protocol behavior and showed that in general, the CERA implementation saves up to 25% of energy. We are currently implementing a prototype version of CERA in order to experiment with different traffic and mobility scenarios and thoroughly investigate the implications of our power savings on existing mobile applications. We know that security is an important issue and this will be addressed in future work. Acknowledgements This work was supported by the GeneralitatValenciana, Spain, under Grant GV05/245, by the Ministerio de Educación y Ciencia, Spain, under Grant TIN2005-07705-C02-01. References 1. Mark Weiser, “Some Computer Science Problems in Ubiquitous Computing”, Commun. ACM, July 1993. 2. David G. Leeper, “A Long-Term View of Short-Range Wireless”, IEEE Computer, Vol. 34, No. 6, pp. 39–44, June 2001.

422

J.-C. Cano et al.

3. Dejan M, Frederick Douglis, and Richard Wheeler, Mobility: processes, computers and agents, ACM Press Addison Wesley, 2000. 4. R. Ramjee, T.F. La Porta, S. Thuel, K. Varadhan, and S.Y.Wang, “Hawaii: A Domain-based Approach for Supporting Mobility in Wide-Area Wireless Networks”, Proc. IEEE ICNP’99, 1999. 5. Michele Zorzi and Ramesh R. Rao, “Error Control and Energy Consumption in Communications for Nomadic Computing”, IEEE Trans. Computers, Vol. 46, No. 3, pp. 279–289, 1997. 6. S. Corson and J. Macker, “Mobile ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations”, RFC 2501, Jan. 1999. 7. Internet Engineering Task Force, “Manet Working Group Charter”, http://www.ietf.org/html.charters/manetcharter.html. 8. Z. Haas and M. Pearlman, “The Zone Routing Protocol (ZRP) for ad hoc Networks”, Internet Draft, MANET Working Group, draft-ietfmanet-zone-zrp-02.txt, June 1999, Work in progress. 9. Mingliang Jiang, Jinyang Li, and Y. C. Tay, “Cluster based Routing Protocol: Functional Specification”, Internet Draft, MANET Working Group, draft-ietf-manet-cbrp-spec-1.txt, July 1999, Work in progress. 10. C. R. Lin and M. Gerla, “Adaptive Clustering for Mobile Wireless Networks”, IEEE J. Selected Areas Commun., Vol. 15, No. 7, Sept. 1997. 11. Alan D. Amis, Ravi Prakash, Thai H.P. Vuong, and Dung T. Huynh, “Max-Min D-Cluter Formation in Wireless ad hoc Networks”, IEEE Infocom, Tel-Aviv, Israel, Mar. 2000. 12. Guangyu Pei, Mario Gerla, and Xiaoyan Hong, “LANMAR: Landmark Routing for Large Scale Wireless ad hoc Networks with Group Mobility”, Proc 2000 First Annual Workshop on Mobile and Ad Hoc Networking and Computing, Boston, MA, Aug. 2000. 13. Guangyu Pei, Mario Gerla, and T-W Chen, “Fisheye State Routing in Mobile ad hoc Networks”, Proceedings of the ICDCS Workshop, Taipei, Taiwan, April 2000. 14. C.-K. Toh, “Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks”, IEEE Communications Magazine, June 2001. 15. C. S. Raghavendra Suresh Singh, Mike Woo, “Power-Aware Routing in Mobile Ad Hoc Networks”, Proceedings of Mobicom 1998, Dallas, TX, IEEE, Ed., 1998, pp. 181–190. 16. Dongkyun Kim, J.J. Garcia-Luna-Aceves, Katia Obraczka, Juan Carlos Cano, and Pietro Manzoni, “Routing Mechanisms for Mobile Ad Hoc Networks based on the Energy Drain Rate”, IEEE Transactions on Mobile Computing, Vol. 2, no. 22, pp. 161–173, 2003. 17. Carlos Miguel Calafate and Pietro Manzoni, “A Multi-Platform Programming Interface for Protocol Development”, in 11th Euromicro Conference, IEEE, Ed., Feb. 2003. 18. IEEE 802.15 Working Group for WPANs, IEEE 802.15 web site, http://ieee802.org/15/index.html, May 2001. 19. David R. Karger and Clifford Stein, “A New Approach to the Minimum Cut Problem”, J. ACM, Vol. 43, No. 4, pp. 601–640, 1996. 20. Juan Carlos Cano and Pietro Manzoni, “A Performance Comparison of Energy Consumption for Mobile Ad Hoc Networks Routing Protocols”, IEEE/ACMMASCOTS 2000: Eighth International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, Aug. 2000. 21. Juan Carlos Cano and Pietro Manzoni, “Evaluating the Energy-Consumption Reduction in a MANET by Dynamically Switching-off Network Interfaces”, Proceedings of the 6th IEEE Symposium on Computers and Communications, Hammamet, Tunisia, July 2001. 22. Y.-S. Chen Y.-C. Tseng, S.-Y. Ni and J.-P. Sheu, “The Broadcast Storm Problem in a Mobile Ad Hoc Network”, ACM Wireless Networks, Mar. 2002. 23. K. Fall and K. Varadhan, “ns notes and documents.,” The VINT Project. UC Berkeley, LBL, USC/ISI, and Xerox PARC, February 2000, Available at http://www.isi.edu/nsnam/ns/ns-documentation.html. 24. David B. Johnson, David A. Maltz, Yih-Chun Hu, and Jorjeta G. Jetcheva, “The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks”, Internet Draft, MANET Working Group, draft-ietf-manet-dsr-07.txt, Feb. 2002, Work in progress. 25. Laura Feeney, “Investigating the Energy Consumption of an IEEE 802.11 Network Interface”, Swedish Institute of Computer Science, Technical Report n. T99/11, December 1999. 26. Theodore S. Rappaport, Wireless Communications: Principles and Practice, Prentice Hall, 1996.

A Low-Complexity Routing Algorithm

423

Juan-Carlos Cano is an associate professor in the Department of Computer Engineering at the Polytechnic University of Valencia (UPV) in Spain. He earned an MSc and a Ph.D. degrees in computer science from the UPV in 1994 and 2002 respectively. Between 1995 and 97 he worked as a programming analyst at IBM’s manufacturing division in Valencia. His current research interests include power aware routing protocols for mobile ad hoc networks and pervasive computing. You can contact him at [email protected].

Pietro Manzoni received the MS degree in computer science from the “Universitá degli Studi” of Milan, Italy, in 1989, and the PhD degree in computer science from the Polytechnic University of Milan, Italy, in 1995. He is an associate professor of computer science at the Polytechnic University of Valencia, Spain. His research activity is related to wireless networks protocol design, modeling, and implementation. He is member of the IEEE.

424

J.-C. Cano et al.

Dongkyun Kim received B.S. in the Department of Computer Engineering, Kyungpook National University, Daegu, Korea. He also earned his M.S. and Ph.D degrees in the School of Computer Science and Engineering, Seoul National University, Seoul, Korea. He was a visiting researcher to Georgia Institute of Technology, USA in 1999. He also performed a Post-doc program in Computer Engineering Department, University of California at Santa Cruz, USA in 2002. He served a TPC chairman of Symposium on Ad Hoc Wireless Networks (SAWN 2002) and has been in TPC members of several IEEE conferences. He is also in TC members in IASTED. He obtained the best paper award from the Korean Federation of Science and Technology Societies, 2002. Now, he is a professor in the Department of Computer Engineering, Kyungpook National University, Daegu, Korea. His research interest is in the Internet, high-speed networks, mobile networks, and mobile ad hoc networks.

C-K Toh is currently a Professor and Chair in Communication Networks at Queen Mary University of London, UK. He is also the Director of the UK Ad Hoc Wireless Consortium and Director of the Queen Mary/Fudan Joint Research Lab in Mobile Networking and Ubiquitous Computing. Concurrently, he is also an Honorary Professor with the University of Hong Kong and an Adjunct Professor at Fudan University, Shanghai. Previously, he was the Director of Research with TRW Tactical Systems in California, USA (now Northrop Grumman Corporation) and was responsible for DARPA and Army programs in communications and networking. He had also worked for Hughes Research, ALR, HP, and was a professor at GeorgiaTech and University of California, Irvine. CK is the recipient of the 2005 IEEE Kiyo Tomiyasu Technical Medal Award, for “pioneering contributions to communication protocols in ad hoc mobile wireless networks.” He is the author of “Wireless ATM & Ad Hoc Networks” (Kluwer Press, 1996) and “Ad Hoc Mobile Wireless Networks” (Prentice Hall Engineering Title Best Seller, 2001–2003). He is a recipient of the ACM Recognition of Service Award, for

A Low-Complexity Routing Algorithm

425

co-founding ACM MobiHoc Conference. He is a co-recipient of the Korean Science & Engineering Foundation Best Journal paper Award for his work on ad hoc TCP. CK was formerly the Chairman of IEEE Communications Society Technical Committee on Computer Communications and Chairman of IEEE Subcommittee on Ad Hoc Mobile Wireless Networks. He was an IEEE Expert/Distinguished Lecturer and had served as a Steering Committee Member for IEEE WCNC Conference and IEEE Transaction on Mobile Computing. He was a member of IEEE Communications Society Meetings & Conferences Board. CK was an editor for IEEE Networks, IEEE JSAC, IEEE transactions on Wireless Communications, Journal on Communication Networks, and IEEE Distributed Systems. He is a Fellow of four societies: British Computer Society, the IEE, the Hong Kong Institution of Engineers and the New Zealand Computer Society. He received his Ph.D. degree in Computer Science from Cambridge University, England, and his executive education from Harvard.

Suggest Documents