Você está na página 1de 13

A Minimum Hop Routing Protocol for Wireless Sensor Networks

A Minimum Hop Routing Protocol for Wireless Sensor Networks


Shao-Shan Chiang1
1

Chih-Hung Huang2

Kuang-Chiung Chang1

Department of Electrical Engineering Department of Information Management Lunghwa University of Science and Technology
2

Abstract
A wireless sensor network is a data communication system that consists of from several to thousands of tiny wireless sensor nodes. These battery-powered sensor nodes cooperate with each other to accomplish data transmission. A variety of wireless sensor networks have been developed for different applications in the recent years. In this paper, a data routing protocol designed for wireless sensor networks is proposed. Due to the lifetime of such a network depends entirely on the lifetime of the battery, the proposed routing protocol chooses hop counts and battery power levels as metrics in order to conserve as much energy as possible, both in computations and data communications. In addition, when some of the nodes run out of battery power, the routing protocol could effectively adapt the change and find an alternative path. Simulation results demonstrate the robustness and the energy-efficiency of the proposed routing protocol.

Keywords: wireless sensor network, routing protocol, multihop relay, energy-efficiency. I. Introduction
Recent advances in micro fabrications and wireless communications technology have enabled the development of low-cost, small-sized, low power-consuming, multifunctional sensor nodes, which are capable of communicating wirelessly in short distances with each other. A wireless sensor network could consist of from several to thousands of these tiny wireless sensor nodes, which can be added and removed conveniently to the network whenever it is necessary. It achieves the goals of low-cost and flexibility of deployment. Wireless sensor networks are being developed for a wide range of civil and military applications, such as health care [1], bridge monitoring [2], and home automation [3]. In a wireless sensor network, a sensor node cooperates with neighbor nodes to accomplish data transmission. This is so called the multihop relay. When such a network is used in a specific application, it usually scatters sensors in a specific area to collect data. By means of a multihop relay scheme, the collected data is transmitted to a base station for further analysis or for remote monitoring and controlling. Therefore, a routing protocol is needed to ensure the message delivery. Even if there

,2007.12

are node failures, a robust routing protocol could dynamically adjust the transmission path accordingly. There has been much research in the field of network layer protocols for wireless sensor networks, such as flooding [4,5], directed diffusion [6], sequential assignment routing [7], gradient-based routing [8] to mention a few. An important issue on wireless sensor networks is to find an optimal routing path to transmit the collected data from a source node to the sink. Because wireless sensor networks are different from one to another, the optimal path could be defined in different ways. For example, energy dissipation, radio coverage range, and number of nodes used are all possible factors, or called metrics, to consider. When deciding an optimal path, these metrics can be taken into account separately or in any combinations. As the number of the sensor nodes increases, a management scheme to choose from those metrics becomes more important.

summing the costs and counting the hops along each route, the total cost of {ABF} is 10 with two hops, the total cost of {ABDF} is 14 with three hops, and the total cost of {ACEF} is 8 with three hops. Consequently, the optimal path from node A to node F will be different depending on the metric chosen. By choosing the minimum hop counts as the only metric, the route {ABF} is the optimal one with only two hops. On the other hand, by choosing the total cost as the metric, {ACEF} is optimal with a cost of 8. Lastly, if we choose the maximum available power as the metric, {ABDF} would be the optimal path because the total available power along this path is maximal. Energy-efficiency is one of the most important metrics in the routing design for wireless sensor networks because the battery power of each sensor node is limited. There are two strategies to deduce the energy dissipation for the networks. One is to control the variable-range transmission power of the sensor nodes [9]. The other is to develop energy-efficient routing protocols based on common-range transmission, i.e., nodes broadcast using the same transmission power level without any power control [4-8, 10]. In this paper, we present an energy-efficient, scalable and robust routing algorithm in the data link layer for wireless sensor networks. Our approach is to flood a special setup packet to establish a local routing table for every node in the network before data transmission actually takes place. The routing table consists of parent, sibling, and child nodes, together with their

Figure 1.

Routing metrics of the paths.

Assuming a data packet is to be transmitted from source node A to destination node F as shown in Fig. 1, where Cij denotes the cost from node i to node j, and Pi denotes the available power of node i. There are three possible paths {ABF}, {ABDF}, and {ACEF}. By

A Minimum Hop Routing Protocol for Wireless Sensor Networks

identification numbers and energy levels, within one hop distance. Based on the routing table, each sensor node can determine the best next-hop node, which has the highest energy level, to relay the message. The rest of the paper is organized as follows. Section II is a brief literature review on this topic. Section III describes the system model of the proposed routing scheme in details. The system implementations and experimental results are discussed in Section IV. Some conclusions are given in Section V.

II. Related Works


Classic flooding is an old technique that can also be used for routing in sensor networks [4,5]. When a sensor node detects an event, it broadcasts the message to other sensor nodes within its radio transmission distance, which is called one hop. Again, all the receiving nodes broadcast the message to all of their neighbor nodes within one hop, except the node from which they receive the message. This process is recursively performed until the message reaches the sink node, which is a designated node directly linked to the base station or until a maximum number of hops for the message is reached. This routing method has several deficiencies such as implosion, overlap, and resource blindness [5]. A directed data dissemination paradigm is proposed in [6], where the sink node sends out an interest, which is a task description, to all sensors by a diffusion or a flooding mechanism. Each receiving node then stores the interest in its cache if no

matching entry exists in the cache already. The interest entry contains a timestamp and several gradient fields. The timestamp marks the time when the last matching interest was received, and the gradient, up to one per neighbor, indicates the neighbor node from which the interest was received. As the interest diffuses throughout the entire sensor network, the gradients from the source back to the sink node are set up. Then, any data matching the interest is sent back toward the sink node through paths that the gradients describe. The sequential assignment routing (SAR) algorithm creates multiple trees, or multiple paths from each node to the sink node, in a wireless sensor network, where the root of each tree is a one-hop neighbor from the sink node [7]. Each tree grows from every root node by successively branching to neighbors with higher hop distances while avoiding nodes with very low quality of service (QoS) and energy resources. At the end of this tree-building procedure, most nodes belong to multiple trees. This allows a sensor node to choose a tree to relay its data back to the sink node. There are two parameters, energy resources and additive QoS, associated with each path back to the sink node. The SAR algorithm selects the path based on the two parameters of each path. As a result, each sensor node would select the most energy-efficient path to route the data back to the sink node. The authors in [8] proposed a variant of directed diffusion, called gradient-based routing (GBR). The key idea in GBR is to memorize the number of hops when an interest is diffused through the whole

,2007.12

network. As such, each node can calculate a parameter called the height of the node, which is the minimum number of hops to reach the base station. The difference between the heights of a node and its neighbor is considered as the gradient on that link. Then the data packet is forwarded to a link with the largest gradient. To avoid overusing a particular node, when the nodes energy drops below a certain threshold, it increases its height so that other sensors are discouraged from sending data to that node. Note that when broadcasts are transmitted at the same power level, a minimum hop routing is equivalent to a minimum energy routing [5]. The authors in [10] proposed a single-path with repair routing (SWR) scheme. The SWR scheme uses a flood-based path setup approach to establish a routing table for each sensor node in the network. The routing table contains the hop count from the current sensor node to the sink node, parent nodes, and hop counts of the parent nodes. Rather than searching multiple paths for delivering data packets to the sink node, SWR searches a single optimal path with repair, in which data is forwarded along a pre-established path to save energy, and a high delivery ratio is achieved by path repair whenever a broken link during delivery is detected. In the SWR scheme, a sensor node can skip over path break by only using the already existing routing information in its neighborhood.

wireless sensor nodes, as shown in Fig. 2. The base station can be located in any convenient place within or far from the field. The sink node is a specially designed sensor node that has more memory than other sensor nodes and is connected to the base station through a wired or wireless link. The sensor nodes are densely distributed in the field so that the radio coverage of any sensor node covers at least one other node. While in the network communications, the sink node takes commands from the base station and transmits them to other sensor nodes wirelessly. On the other hand, the sink node also collects data from other nodes and delivers them to the base station. All the sensor nodes are battery-powered except the sink node, because the sink node is the most frequently used node in this sensor network. When deployed, the transmission power of each sensor node is regulated so that its radio coverage is fixed, despite the decay of battery power, until the battery is exhausted. It is required that every sensor node, with a unique identification number (ID), can monitor its own battery power level.

sink node

base station

Figure 2.

The system model.

III. System Model


Our system model consists of a base station, a sink node, and a number of There are two phases in the proposed routing method: the routing table

A Minimum Hop Routing Protocol for Wireless Sensor Networks

establishment phase and the data routing phase. As soon as the sensor network is activated, it gets into the routing table establishment phase in which the flooding [4,5] technique is applied to establish a local routing table for each sensor node. The routing tables will be used in the data routing phase and will be updated only when the network topology changes, i.e. when any sensor fails or a new sensor is added. The data routing phase consists of three processes: data routing, table updating, and command routing. In the data routing phase, as an event is detected, the data packets can be transmitted only to the designated nodes and then to the sink node based on the routing tables. On the other hand, the sink node takes commands from the base station and forwards to the specific nodes or floods to all sensor nodes. In any case at the data routing phase, the energy consumption is very low. In the following, the algorithms to establish and to update the routing tables are described, followed by the algorithms to route data and command packets. 3.1. The Establishment of Routing Tables In the sensor network initialization, the base station requests the sink node to start a routing table establishment process for the entire network. Then, the sink node broadcasts a setup packet to all sensor nodes within its transmission range. The format of the setup packet is defined as Setup.ID.hop.energylevel, where the Setup indicates that it is a setup packet and should be flooded throughout the entire network, ID is the ID number of the

sending node, hop represents the hop count between the sending node and the sink node, and energylevel is the battery energy level of the sending node. For the setup packet broadcasted by sink node, the hop count value is set to 0 and the energylevel value is set to a very large value.

(a)

(b)

Figure 3. hop away.

(a) The setup packet sent from the

sink node. (b) The setup packet is flooded one

After receiving the setup packet, all the receiving nodes within one hop from the sink node set their hop counts with increment 1, as shown in Fig. 3(a), and mark the sink node as their parent node by recording its hop count, ID number and energy level on their routing tables. Then, each node with hop count l, called a relaying

,2007.12

node, in turn broadcasts a newly constructed setup packet, as also shown in Fig. 3(b). The new setup packet has the same format as that was sent by the sink node, but with the relaying nodes ID number and energy level instead, and the hop count is now set to 1. This broadcasting process repeats hop-by-hop until all the nodes in the network have been notified. As also shown in Fig. 3(b), the setup packets, either sent by the sink node or any of the relaying nodes, may be received by any other sensor nodes within one hop. On the other hand, every sensor node may receive more than one setup packet from its neighbor nodes.

The flowchart in Fig. 4 demonstrates the workflow of a sensor node receiving a setup packet. The following algorithm describes the establishment of the routing table for sensor node j when receiving a setup packet from sensor node i, where hop(i) denotes the hop count of sensor node i. Routing table establishment algorithm IF hop(j) = empty Set hop(j) = hop(i) + 1. Record node i into the parent list. Transmit a new setup packet. ELSE IF hop(j) > hop(i) Record node i into the parent list. ELSEIF hop(j) = hop(i) Record node i into the sibling list. ELSE Record node i into the child list. END END Referring to Fig. 3(b), nodes F, G and H record node A as their parent node, and node E records both nodes A and B as its parent nodes. Also, the sink node records nodes A, B, C, and D as its child nodes, and both nodes B and D record node A as a sibling node while nodes A, C and D record node B as a sibling node. Flooding the setup packet in this way may cause several problems such as collision and incorrect setting of the hop count. If several nodes broadcast the packet at the same time, they will collide to each other. To prevent collisions, all nodes receiving the setup packet for the first time

Figure 4.

Flowchart of the routing table

establishment.

A Minimum Hop Routing Protocol for Wireless Sensor Networks

have to wait for a fixed time plus a random time, like the back-off algorithm used in Ethernet, before relaying the setup packet. The duration of the fixed time is proportional to the hop count value in the first received packet. The design of the fixed time may lengthen the time needed to establish the routing tables. However, it can prevent the receiving sensor node from setting its hop count to a higher value than it should be. In other words, once a receiving node has set its hop count, it is impossible to receive any setup packet that has smaller hop count value. To further reduce the amount of setup packets flooded in the entire network, every sensor node only relays the setup packet once. A routing table consists of three rows. All the parent, sibling and child nodes, together with their ID numbers and energy levels, are put at the bottom, middle and upper row, respectively. As a result, the memory capacity needed for the sensor node is very low because only a local routing table needs to be stored. Besides, searching for an optimal path for data routing is merely by looking up the local routing table stored, therefore the demand of calculation ability is relatively low, compared to other classical methods. The correctness of routing table can be easily verified when the routing table establishment phase is completed. The hop count values of all the parent, sibling and child nodes should be three consecutive numbers. If it is not true, this sensor node resets the current routing table and acts as a newly added node to establish its routing table (see the next subsection).

3.2. Deletion and Addition of Sensor Nodes When the battery power of a sensor node falls below a predetermined level, it sends a delete packet to all the sensor nodes listed in its routing table. In this situation, each receiving node simply deletes the dying-out node from its routing table. The deletion of a dead node is part of the node updating process illustrated in Fig. 5.

Figure 5.

The node updating sub-process.

As time goes by, sensor nodes will gradually be energy-exhausted and be deleted from the routing tables one after another. Once the number of deleted nodes increases so that the sensor network becomes disconnected, new sensor nodes must be added on in order to maintain the connectivity of the network. The procedures of the new sensor node and its neighbor

,2007.12

nodes in the node addition process are shown respectively in Fig. 5 and Fig. 6.

Routing table establishment algorithm for a newly added sensor node Receive ACK packets from all its neighbor node i, for i = 1, 2, , m. Set hop(N) = min{hop(i), i = 1, 2, , m}+1. Sort the responding nodes. FOR i = 1 IF to m hop(i) < hop(N) Record node i into the parent list ELSEIF hop(i) = hop(N) Record node i into the sibling list ELSE Record node i into the child list END END Broadcast an update packet.

Figure 6. Workflow of the new sensor node in the node addition process.

When a new sensor node appears in the network, it has to establish its own routing table and updates routing tables of the sensor nodes within its one hop distance. The new sensor node broadcasts an add packet in the format Add.ID.energylevel, where the Add indicates it is an add packet and should be answered, to notify the sensor nodes within one hop, as node N shown in Fig. 7. Every receiving node replies an ACK packet with its hop count, energy level and ID number destined to the new sensor node after a random time delay. Waiting for a predefined time interval to ensure that all receiving sensor nodes have responded, the new sensor node N generates its routing table according to the following criteria.

Figure 7.

Sensor node addition procedure.

In Fig. 7, for example, node N sets its hop count as 2 and marks the nodes with hop count 1 as its parent nodes, the nodes with hop count 2 as its sibling nodes, and the nodes with hop count 3 as its child nodes. The correctness of the routing table created by this addition procedure need also be verified. If it is correct, the new sensor node broadcasts an update packet in the format Update.ID.hop.energylevel, where its hop

A Minimum Hop Routing Protocol for Wireless Sensor Networks

count, energy level and ID number are sent to all sensor nodes listed in the routing table. The receiving sensor nodes append the new sensor node into their routing tables according to its hop count. 3.3. The Data Routing Scheme The data routing scheme is developed to ensure the data delivery based on the routing tables. When a sensor node detects an event, the collected data must be sent back to the sink node and then to the base station by the relay scheme. Since processing and transmitting data packets both consume energy, the purpose of the proposed data routing scheme is not only to find a path to the sink node, but also to conserve as much battery energy as possible. Besides, to extend the lifetime of the wireless sensor network, it also needs to consider how to avoid overuse of certain nodes in data packet delivery process. The proposed routing algorithm determines an optimal path to the sink node by choosing the hop count and the energy level as the metrics. When several paths exist, the sensor node with the most energy should be chosen as the next recipient to relay data packets. Every data packet has a field specifying the designated recipients ID. All nodes other than the designated recipient would ignore the packet when receiving it. Beside the designated recipient field, the data packet also contains fields of the energy level, ID number, and event description of the sending node. Not only process and relay the data packet, the designated recipient but also must acknowledge the reception by replying an ACK packet with its energy

level to ensure the delivery of the data packet and to update the energy information in the routing table. The algorithm to select the next relay node in an energy-based manner is described as follows, and the workflow is shown in Fig. 8. Data routing algorithm IF a data packet is received Reply an ACK packet back. ELSEIF an NAK packet is received Delete the replying node from the routing table. END IF parent nodes are available Forward the data packet to the parent node with the highest energy. ELSEIF sibling nodes are available Forward the data packet to the sibling node with the highest energy. ELSE Reply an NAK packet back. Broadcast a delete packet. END The node or path failure detection mechanism is different from the mechanism in [10] where the sensor node broadcasts a packet to all the neighbor nodes for help. The sensor node in the proposed method makes its own decision to opt a neighbor node for an alternative path. Once a node or path failure occurs, the failed node will be removed from the routing tables of all its neighbor nodes. It means the neighbor nodes will not try to use the node or path to deliver packets in order to conserve energy. The method provided here not only guarantees

,2007.12

data packet delivery but also saves energy.


Listening

Receive packet

Reply the routing table

Yes

Is an ENQ packet? No

Update the routing table

Yes

Is an ACK packet? No Is a data packet? No Yes

Other process

No

Is an NAK packet? Yes Delete the sending node from the routing table

Reply ACK to the sending node

node receives the same ComALL from different parent nodes, it only relays the command once. Sending a command to a designated node may use ComALL with the ID of the sensor node in it to tell who should respond. However, this mechanism requires the participation of all the nodes in the network, which may unnecessarily consume battery power. Alternatively, the sink node could build a global routing table showing the entire tree structure of the network. The global routing table can be established by sending an ENQ (enquiry) packet which is a ComALL command to ask every sensor node to reply its routing table to the sink node. The procedure of generating the global routing table is similar to the data routing process, as shown in Fig. 8. According to the global routing table, the sink node could find a path to the destination and fill the path into the command packet. Due to the global routing table building process is energy and time consuming, it is not necessarily updated every time the sink node sends a command. The node failure detection mechanism in the data routing algorithm could detect dead routes and return the message to the sink node for updating the global routing table.

Is there any parent node? No No Is there any sibling node? Yes Choose the sibling node with the highest energy

Yes

Reply NAK to the sending node

Choose the parent node with the highest energy

Broadcast a delete packet

Forward packet to the sibling node

Forward packet to the parent node

Figure 8.

The data routing process.

3.4. The Command Routing Scheme There are two types of commands from the sink node in the proposed scheme: one is to all sensor nodes, namely, ComALL, and the other is to a designated node. The algorithm to deliver ComALL from the sink node is similar to that of the routing table establishment expect the command packet is forwarded only to the child nodes in the routing table. The delivery of ComALL stops when the relaying node has no child nodes. To reduce the amount of information flooded in the network, when a relaying

IV. Simulation Results


We compare the energy-efficient performance of the proposed method with the classic flooding scheme and the SWR scheme in this section. In this comparative experiment, we used a simple abstract energy model other than a particular one to compute energy consumption in one data

A Minimum Hop Routing Protocol for Wireless Sensor Networks

packet delivery. It is well known that in wireless sensor network communications, idle listening or signal transmitting/receiving consumes much more energy of a sensor node than calculation of an optimal path or memory accessing does. Therefore, in this experiment, the energy consumption of calculation and memory access is not considered. This model assumed that, from a pure energy/bit standpoint, the sensor nodes spent 1.0 and 2.0 energy units respectively for transmitting and receiving one data bit. Thus, for a data packet of 1 Kbit long, the energy for relaying (transmitting and receiving) one data packet was 3000 energy units. Experiments were carried out using random network topologies. In each network topology, sensor nodes were randomly scattered in a fixed 50 50 m2 deployed area, and the sink node was located at the lower left corner. The number of sensor nodes changed from 50 to 100 with increments of 10. Each sensor node had a maximum transmission range of 10 m and a detection range of 5 m. The maximum hop count was set 8 for all the routing schemes. Before data delivery, the routing table had been set up at each sensor node. The energy dissipated in the routing table establishment process was not included in the total energy consumption, because both of the proposed method and SWR use a technique similar to the classic flooding method to establish the routing table. At the time between the end of the routing table establishment and beginning of the data delivery, for each test, a 10% of the sensor nodes were randomly selected as failure nodes, in order to test the

robustness of the proposed algorithm. To make a fair comparison, in each test, each scheme used exactly the same network topologies where 20 nodes were randomly selected as source nodes. Each source node sent one data packet to the sink node, using the three different schemes. The size of the data packet was 1 Kbit, including header. With 20 successful deliveries of the data packet, the average energy consumption per data packet delivery for the proposed algorithm is shown in Fig. 9. In SWR, a sending node will broadcast a call-for-help packet when its next relay node fails. Every sensor node receiving the packet must respond in order that the sending node finds an alternative path. In contract, in the proposed method, the sending node can decide an alternative path directly from its own routing table. Therefore, the proposed method is more energy-efficient than SWR. Besides the energy saving, we see that, from this figure, the proposed method is more scalable.

Figure 9.

Energy consumption of the proposed

method (real line), SWR (broken line) and the classic flooding method (dashed line).

,2007.12

V. Conclusions
We have presented an energy-efficient routing scheme in the data link layer for wireless sensor networks. The time complicity of the proposed protocol is not discussed because it is beyond the scope of this paper. In the proposed data routing scheme, sensor nodes with more energy are selected in data packet transmission relays. Since the battery power of the network is utilized efficiently and evenly among all the sensor nodes, the lifetime of the wireless sensor networks could be extended to its optimum. When any data packet transmission fails due to sensor nodes fault or battery exhaustion, the proposed scheme would quickly adapt the change by updating the routing tables and resending the packet via a new optimal path. Therefore, the proposed scheme is robust, energy-efficient and scalable.

Transactions on Consumer Electronics, vol. 51, pp. 836-839, 2005. [4] J. N. Al-Karaki and A. E. Kamal, Routing techniques in wireless sensor networks: A survey, IEEE Wireless Communications, pp. 6-28, Dec. 2004. [5] I. F. Akyildiz, S. Weilian, Y. Sankarasubramaniam, and E. Cayirci, A survey on sensor networks, IEEE Communications Magazine, vol. 40, no. 8, pp. 102-114, 2002. [6] C. Intanagonwiwat, R. Govindan, and D. Estrin, Directed diffusion: A scalable and robust communication paradigm for sensor networks, Proceedings of the ACM Mobi-Com, pp. 56-67, 2000. K. Sohrabi, J. Gao, V. Ailawadhi, and G. Pottie, Protocols for self-organization of a wireless sensor network, IEEE Personal Communications, pp. 16-27, 2000. C. Schurgers and M. B. Srivastava, Energy efficient routing in wireless sensor networks, MILCOM Proc. Communications for Network-Centric Operations: Creating the Information Force, pp. 357-361, 2001. J. Gomez and A. T. Campbell, A case for variable-range transmission power control in wireless multihop networks, Proceedings of Infocom, pp. 1425-1436, 2004. D. Tian, N. D. Georganas, Energy efficient routing with guaranteed delivery in wireless sensor networks, IEEE Wireless Communications and Networking Conference, pp. 1923-1929, 2003.

[7]

References
[1] R.-G. Lee, C.-C. Lai, S.-S. Chiang, H.-S. Liu, C.-C. Chen, and G.-Y. Hsieh, Design and implementation of a mobile-care system over wireless sensor network for home healthcare applications, Proceedings of the 28th IEEE EMBS Annual International Conference, pp. 6004-6007, 2006. [2] R.-G. Lee, K.-C. Chen, C.-C. Lai, S.-S. Chiang, H.-S. Liu, and M.-S. Wei, A backup routing with wireless sensor network for bridge monitoring system, Measurement, vol. 40, pp. 55-63, 2007. [3] H. Oh, H. Bahn, and K. J. Chae, An energy-efficient sensor routing scheme for home automation networks, IEEE

[8]

[9]

[10]

A Minimum Hop Routing Protocol for Wireless Sensor Networks

1
1

Você também pode gostar