Curve-Based Greedy Routing Algorithm for Sensor ... - Semantic Scholar

1 downloads 0 Views 214KB Size Report
Beeline and Cosine, can be used in general applications. However in some special applications such as military application, the shape of curves must be ...
Curve-Based Greedy Routing Algorithm for Sensor Networks Jin Zhang1, Ya-ping Lin1, Mu Lin2, Ping Li1, and Si-wang Zhou1 1

College of Computer and Communication, Hunan University, Changsha 410082, China 2 College of Mathematics and Econometrics, Hunan University, Changsha 410082, China {mail_zhangjin, yplin888, kevin9908, liping9188, myswzhou}@hotmail.com

Abstract. Routing packets along a specified curve is a new approach to forwarding packets in large-scale dense sensor networks. Forwarding packets along trajectories can be very effective in implementing many networking functions when standard bootstrapping or configuration services are not available, as will be the case in sensor networks where nodes are thrown or dropped to form a one-time use network. In this paper, investigating Trajectory-Based Forwarding (TBF), we propose a novel curve-based greedy routing algorithm (CBGR) for sensor networks. In CBGR, by using the location information of a source node and the sink, the source constructs a B-spline curve as forwarding trajectory and encodes the curve into the packets. Upon receiving each packet, the intermediate nodes decode it and construct a simple dynamic forwarding table (DFT) by different greedy forwarding strategies. Then, the packets are forwarded along the selected curve based on DFT. Several greedy forwarding strategies are discussed. CBGR is a distributed routing strategy and easy to implementation. By selecting multiple forwarding curves, CBGR can balance the energy consumption of the nodes effectively. The analysis and simulation also show that CBGR has better performance.

1 Introduction Integrated collecting data, managing data and communicating, wireless integrated network sensors can be used in many applications. The uncertainty of environment usually requires disposing hundreds of sensors to cooperate, and the research to sensor network is regarded as a challenging area especially when considering its characteristics of high density of nodes and limited resource of nodes. Three criteria drive the design of large-scale sensor networks: scalability, energy-efficiency and robustness. For these criteria, the traditional routing protocols are not suitable and new routing algorithms must be researched for sensor networks. As a stateless routing algorithm, greedy forwarding [1] is one selection to sensor networks. SBR [2] is desirable on traffic engineering needing multi-path. Niculescu and Nath [3] proposed the idea of TBF (Trajectory-Based Forwarding) which combines X. Lu and W. Zhao (Eds.): ICCNMC 2005, LNCS 3619, pp. 1125 – 1133, 2005. © Springer-Verlag Berlin Heidelberg 2005

1126

J. Zhang et al.

SBR with greedy forwarding. Yuksel [4] developed the idea of TBF by Bezier parametric curve. However, the algorithms in [3,4] suffer a high computation overhead because each node has to calculate next-hop to be forwarded for each packet even though these packets are from the same sources and to the same destinations. In this paper, a curve-based greedy routing algorithm (CBGR) is proposed. In CBGR, a source node selects a curve as trajectory of forwarded packets and encodes the curve into the packets. The intermediate nodes construct dynamic forwarding tables (DFT) based on adaptive greedy strategies. By checking DFT, packets along the same route can be forwarded without extra computation. CBGR is a distributed routing strategy and easy to implementation. By selecting multiple forwarding curves, CBGR can balance the energy consumption of the nodes efficiently. The rest of the paper is organized as follows. In the next section, the curve-based greedy routing model is proposed. Section 3 describes how to construct CBGR using B-spline parametric curve. In section 4, we evaluate the performance of CBGR. We conclude in Section 5.

2 Curve-Based Greedy Routing Model CBGR combines TBF with Dynamic Source Routing (DSR)[5]. The basic idea can be described as follows: (1) a source node selects a suitable curve and encodes the curve into each packet; (2) upon receiving the packets, intermediate nodes decode the curve and use greedy strategies to decide next-hop to be forwarded and construct dynamic forwarding tables (DFT); (3) the sequent packets can be forwarded according to the constructed DFT; (4) after sending a number of packets, sources select another curve and forward packets along this curve.

Fig. 1. CBGR model

Fig. 2. Neighbors of one node

The model of CBGR can be described in Figs.1 and 2. In Fig.1, the source (denoted by S) selects a suitable curve and encodes it into the packets. Then intermediate nodes select one node as next-hop in its neighbors according to greedy strategies and then construct DFT. For example, if an intermediate node’s neighbors are represented as Fig. 2, then N0 can be selected as the next-hop. After that, the sequent packets can be

Curve-Based Greedy Routing Algorithm for Sensor Networks

1127

forwarded by lookup DFT. The intermediate nodes, such as P in Fig.1, will record the number of forwarded packets and tell its previous hop node (PH), such as M in Fig.1, to select another node, such as Q in Fig.1, to replace it. If M can’t find a suitable node according to the greedy strategy, it will send a special packet to inform S which will select another curve to forward packets. After sending a number of packets along curve C1, the source node S selects another curve, such as C2 in Fig.1, to forward packets. These curves can be selected evenly in exploring area to make more sensors work. By this, CBGR can balance the energy consumption of nodes effectively. How to select the curve is also an important issue. Some simple curves, such as Beeline and Cosine, can be used in general applications. However in some special applications such as military application, the shape of curves must be controlled strictly in order to avoid dangerous or doubtful area during battle. Compared with Bezier curve, B-spline curve is more suitable because it has the following good properties: (1) the computation cost is lower because the degree of the curve is independent of its control points; (2) a B-spline curve is naturally connected, so its shape can be controlled easily. However, there is a problem with B-spline curves. In order to make things clear, we give the following formulas:

P (t ) = [t

2

t

⎡1 -2 1] ⎢ -2 2 2⎢ ⎣1 1 1

t = 0 P0,2 (0) = (V0 + V1 )/ 2⎫ ⎪

⎤ ⎡V0 ⎤ ⎢ ⎥ 0 ⎥ V1 ⎥⎢ ⎥ 0 ⎦ ⎢V ⎥ ⎣ 2⎦

1

⎬⇒

t =1 P0,2 (1) = (V1 + V2 )/ 2 ⎪ ⎭

⎧⎪V0 ⎨ ⎩⎪V2

0≤ t ≤1

= 2P0,2 (0) − V1 = 2P0,2 (1) − V1

(1)

(2)

From formula 1, each point in B-spline curves can be calculated when parameter t changes from 0 to 1 if the control points Vi (i=1,2,3) are known. We use S and D to denote the source and destination nodes respectively. However, S and D are not the start point and end point of B-spline curves respectively when we assign S and D corresponding to control points V0 and V2. This is a shortcoming for B-spline curves compared with Bezier curves. However, we can do some changes in formula 1 to make the B-spline curve start from S and end to D. Let t=0 and t=1 respectively, we get formula 2. By setting P0,2(0)=S, P0,2(1)=D and selecting one control point V1 , we can calculate the other two control points. The three control points can ensure that S and D are the start and end points of the B-spline curves respectively. Because S and D are fixed, we need only to choose V1 to distribute different curves in the detecting area evenly. How to select next-hop is another important issue in CBGR. Basically, the next-hop node is selected from the set of neighbors. However, different greedy strategies will cause different results for selecting next-hop. Depending on the different applications, we give several strategies and corresponding examples described in Fig.2: (1) Maximal Advancement along Curve (MAC): in Fig. 2, N1 is selected as the next-hop by N0;

1128

J. Zhang et al.

(2) Least Advancement on Curve (LAC): in Fig. 2, N2 is selected as the next-hop by N0; (3) Closest to Curve (CTC): in the Fig. 2, N3 is selected as the next-hop by N0.

3 Curve-Based Greedy Routing Algorithms In this section, we develop CBGR based on B-spline curve. The process can be divided into four stages: local topology built stage (LTBS), interest distributed stage (IDS), data forwarded stage (DFS) and path adjusting stage (PAS). Each stage is described in the following. 3.1 Local Topology Built Stage (LTBS) In this paper, nodes are assumed to know its position by GPS or LPS [6]. After nodes are disseminated, each node sends Topology Building Packets (TBP) three times during a short time interval to assure that each neighbor can receive at least one TBP. It is unnecessary that nodes send acknowledgment to respond TBP. According to the TBP, each node constructs its Neighbors Table (NT) including ID, Position (POS), and Energy (E) of neighbors. By setting TBP.TTL (Time to Live)=1,TBP can only be received by its neighbors. When a neighbor receives a TBP, it checks NT first to assure there isn’t an item before it adds a new item. After LTBS, each node knows the information of its neighbors. 3.2 Interest Distributed Stage (IDS) The aim in this stage is for each node to get the position of the sink and its interest (required data). In IDS, the distribution of interest is based on TBF and rumor routing [7]. The basic idea can be described as follows: (1) each node has been configured with a scope of interest before disseminated and it collects data after LTBS; (2) the nodes collecting data send data agent packets (DAP) to notice TD (type of data) and the sink sends interest agent packets (IAP) to notice its position and required TD. DAP and IAP is forwarded along simple curve such as straight line. (3) On receiving DAP or IAP, the nodes record DAP.IDS, DAP.TD, DAP.PH or IAP.POSD, IAP.IDD, IAP.TD. (4) If DAP.DT is equal to IAP.DT, nodes reverse to send Announcing Packets (AP) to tell sources some information about destinations. Because nodes have recorded the information when forwarding DAP, it is very simple to forward AP. According to [7], we can assure that the probability of intersecting of the forwarding curve of DAP and IAP is fairly high (99.7%) by selecting randomly and separately five curves. But the influence of network size should be considered when distributing interest. 3.3 Data Forwarded Stage (DFS) In this stage, DFT will be constructed according to Data Forwarding Packets (DFP). And then packets can be forwarded easily from S to D. The constructed process can be described as follows: (1). S selects a control point of two degree B-spline curve and calculates the two other control points according to formula 1; (2). S selects next-hop

Curve-Based Greedy Routing Algorithm for Sensor Networks

1129

from the set of neighbors based on the suitable greedy strategy and constructs DFP. (3). S broadcasts DFP to all of its neighbors, but only the neighbor node whose ID is equal to DFP.NH deals with it. (4). the right node calculates the value of t and selects the NH (next-hop node). Then the node replaces DFP.NH and DFP.PH with new NH and the ID of node. At last, the node broadcasts DFP. (5). the process doesn’t terminate until D receives DFP. 3.4 Path Adjusting Stage (PAS) In order to balance routing load among the nodes, the basic idea is to replace nodes that have forwarded a number of packets with other nodes. There is a constant variable, DFT.E, for each node in CBGR. When one node’s energy consumption reaches the value, it sends energy announcing packets (EAP) to its PH. Then the PH will select another node to replace it. The PH has to find another NH and broadcast path adjusting packets (PAP). The new NH will deal with PAP to adjust its DFT. And the previous NH has to delete the corresponding item when it receives the PAP. The PH node adjusts its DFT by replacing DFT.UH with the new UH. If PH can’t find one node to replace, the EAP will be forwarded to S upwardly and S will select the different control point to construct another curve. The process is like the description in 3.3. The active adjustment can balance the energy consumption effectively.

4 Evaluation In order to analysis the performance of CBGR, we define some metrics and compare it with other algorithms. 4.1 Comparison Metrics (1) Time Complexity (TC): time spent on selecting the nodes which forward packets. (2) Message Complexity (MC): number of packets sent on selecting the next-hop nodes. (3) Message Scope (MS): scope of local message needed on selecting the next-hop nodes. (4) Average Deviation (AD): the average distance from each node on the path to its projection in the curve. (5) Average Path Length (APL): the average hops of path from S to D. (6) Node Raito (NR): the proportion of the number of nodes on the path to the total of nodes. 4.2 Theoretic Analysis CBGR are compared with Directed Diffusion (DD) [9] and LEACH [10] in the metrics of TC, MC and MF. The results are listed in Table 1. DD uses flooding once to build the gradients and its TC and MC are O(n). n is the number of nodes in the sensor networks. LEACH needs only to select the leader once in each cycle, so its TC is also O(n). In [8], it has been proved that any distributed algorithm for leader election and spanning tree

1130

J. Zhang et al.

need send at least O(nlogn) messages. Sensor networks can be considered as a special kind of ad hoc networks. So TC of LEACH is O(nlogn). To CBGR, its TC and MC are not more than O(n) according to the described process. From the Table 1, we know CBRG has better performance. Table 1. Performance Comparison

Metric TC MC MS

DD O(n) O(n) 1 hop

LEACH O(n) O(nlogn) 1 hop

CBGR