國
立
交
通
大
學
網路工程研究所
碩
士
論
文
考量能源效益與傳輸量之無線感測網路
中繼點佈建方式
On Energy-Efficient Traffic-Aware Deployment of a
Wireless Sensor Network
研 究 生:高志偉
指導教授:曾煜棋 教授
On Energy-Efficient Traffic-Aware Deployment of
a Wireless Sensor Network
Student: Chi-Wai Kou
Advisor: Prof. Yu-Chee Tseng
Department of Computer Science
National Chiao-Tung University
考
考
考量
量
量能
能
能源
源
源
效
效
效益
益
益與
與
與傳
傳
傳輸
輸
輸量
量
量之
之
之無
無
無線
線
線感
感
感測
測
測網
網
網路
路
路
中
中
中繼
繼
繼點
點
點佈
佈
佈建
建
建方
方
方式
式
式
學生:高志偉 指導教授:曾煜棋教授 國立交通大學網路工程研究所碩士班 摘 摘 摘 要要要 在無線感測器網路中,由於感測器是依靠電池的電力維持的,因此,怎樣去減少耗 電而延長無線 感測器網路的壽命成為很多人研究的議題之一。而在眾多延長網路壽命 的研究中,有一種方法叫做“中繼點佈建” ,我們可以透過佈建中繼點來減少感測器之 間的通訊範圍,而因為感測器的耗電與它的通訊範圍成正比,由此, 我們可以使用中 繼點來延長網路的壽命。而在早期的中繼點佈建研究中,大部份的研究人員都關注在 研究於同種類或不同種類的感測器網路上,他們怎樣才能用最少數量的中繼點來使得 網路達到連結性和存活性的需求 。除此之外,某些研究人員開始察覺得當他們要在網 路上佈建中繼點的時候,他們應該要同時考慮到網路流量 的大小。而在某一篇考慮中 繼點佈建的研究中,他們在佈建中繼點的時候,他們會同時考慮到網路流量的大小, 並且顧及到網路的連結性而達到真實網路的考量。可是,我們發現這篇研究當中存在某些缺點,這是因為他們的 網路拓樸是由Steiner tree建成的,而當中的Steiner tree是一
種方法可保證用最短的距離把整個網路連起來。 因此,在這篇研究裏,首先,我們會介紹為什麼建Steiner tree作為有考慮流量大小 的網路拓樸會產生問題。接下來,我們會針對在考慮網路流量大小的網路拓樸中進行 中繼點佈建的這個問題上,提出一個“權重移動演算法”來解決這個問題,而這個演算法 我們是透過非線性規 劃(NLP)來處理。可是,因為非線性規劃不能保證程式可以在多項 式時間下結束,所以我們另外提出了兩個啟發式方法來處理這個佈建的問題。最後,
在我們的模擬結果中,我們會呈現我們提出的方法以及以前在中繼點佈建中提出的方 法的數據。當中,我們察覺到我們的方法一定比以前的方法來得省電,因此網路的壽 命也相對的比較長,而且我們的方法的改進效果在不同的情況下都可以維持在一個很 好的範圍內。 關 關 關鍵鍵鍵字字字 : 省電、中繼點佈建、考慮流量、無線通訊與無線感測器網路。
On Energy-Efficient Traffic-Aware Deployment
of a Wireless Sensor Network
Student: Chi-Wai Kou Advisor: Prof. Yu-Chee Tseng
Department of Computer Science
National Chiao Tung University
ABSTRACT
There are many different kinds of studies discussing how to achieve extending lifetime on
sensor network. Among them, relay nodes deployment is a way to enlarge lifetime by reducing
the communication range of sensor nodes. And in the early studies, they are usually concerned
with placing minimum number of relay nodes into homogeneous or heterogeneous WSNs to
meet certain connectivity and survivability requirements. However, some researchers start to
consider the traffic volume in the network when they deploy relay nodes. And there is a study
which the relay node deployment is related to the traffic volume and ensures the network
con-nectivity. But, we have found some drawbacks on it since its network topology is based on
Steiner tree, which can guarantee to connect the network with the minimum distance.
In this paper, we will first explain the problems about constructing Steiner tree as
traffic-aware network topology. Then, we will propose a weighted moving algorithm using non-linear
programming (NLP) to solve this traffic-aware relay node deployment problem. Since NLP
can not guarantee to terminate in polynomial time, we also propose two heuristic approaches
to solve this traffic-aware relay node deployment problem. In our simulation results, we have
shown that both of our approaches must consume less energy than previous studies and obtain
Keywords: energy efficient, relay node deployment, traffic-aware, wireless communication,
誌
謝
首先,誠摯的感謝曾煜棋教授對於我碩士生涯兩年來的指導 與鼓勵,並且提供我 優良的研究環境以及充足的實驗器材,讓我能夠順利的完成 此篇論文並且順利取得碩 士學位。同時也要感謝論文口試委員陳文村教授、 張瑞雄教授、鍾葉青教授以及張西 亞,在口試時給予我寶貴的意見,讓這篇論文 變得更加完整。 此外,我亦要衷心的感謝葉倫武學長以及林政寬學長,感謝兩位學長在這篇論文研 究 上提供了不少的寶貴建議與指導。而當中,我要特別感謝葉倫武學長。因為,在研 究的過程中, 當我遇到什麼阻礙難題的時候,他總是不厭其煩的協助我解決問題,並 且在論文的寫稿中, 葉學長細心地糾正我與指導我。另外,我也要感謝HSCC實驗室的 全體成員,讓我可以在愉快的 氣氛下進行研究。 最後,感謝我的父母以及我的女朋友對我無微不致的關懷,且在我做任何決定時給 予的支持與 鼓勵,使我能夠無虞地完成我的學業。 高志偉 於 國立交通大學網路工程研究所碩士班 中華民國九十九年六月Contents
摘 摘 摘 要要要 i Abstract iii 誌 誌 誌 謝謝謝 v Contents viList of Figures viii
List of Tables ix 1 Introduction 1 2 Related Works 5 3 Problem Definition 7 4 Deployment Algorithms 9 4.1 Basic Ideas . . . 9
4.2 Weighted Moving Algorithm . . . 11
4.3 Heuristic Approaches . . . 14
4.3.1 Constrained Heuristic (CH) . . . 18
5 Simulation 22
6 Conclusions 28
Bibliography 29
List of Figures
1.1 An example of relay node deployment: (a) connectivity (b) traffic-aware (c)
connectivity and traffic rate. . . 3
4.1 An illustration of relay node deployment for single source q traffic flows with length of edge L and k extra nodes . . . 10
4.2 An example of improving case for relay node deployment. . . 12
4.3 An example of the block-by-block network topology. . . 15
5.1 Normalized network lifetime. . . 23
5.2 Normalized residual energy. . . 24
5.3 The performance improvement of CH and SSNLP with different numbers of sensor nodes. . . 25
5.4 The performance improvement of CH and SSNLP with different numbers of relay nodes. . . 26
List of Tables
Chapter 1
Introduction
The rapid progress of wireless communication and embedded micro-sensing MEMS
technolo-gies has made wireless sensor networks (WSNs) possible. A WSN usually needs to configure
itself automatically and support ad hoc routing. A lot of research works have been dedicated to
WSNs, including power management [12], routing [3], sensor deployment and coverage issues.
In WSNs, each sensor node has the capability to sense the environment (e.g., temperature,
pres-sure, light, humidity, etc.) and process the data. And in recently, more and more researchers
adopt WSNs to create a smart home, such as, intelligent lighting devices [13][14]. In general,
WSNs have an ad hoc topology, and each node is capable of relaying the data toward the sink.
Since most of the sensor nodes are battery-constrained, one of the design objective is to prolong
the network lifetime. There is a lot of research studying how to extend the network lifetime,
such as data aggregation, duty-cycle scheduling, energy-aware routing, relay node deployment,
etc. And there are various ways to define the lifetime of a WSN. It can be defined as the time
at which the first node runs out of energy. This time is equivalent to the time at which the first
routing path is disconnected. It can be defined as the time at which a region within the WSN is
not covered by any nodes.
In relay node deployment, the researchers have proposed to deploy lots of relay nodes which
WSN. And these studies can prolong network lifetime while meeting the certain network
spec-ifications. Most of the relay nodes deployment problem are focus on maintaining the network
connectivity and survivability [6][8][9][11][15]. In connected relay node deployment, we place
a minimum number of relay nodes to ensure that sensor nodes and the sink node are connected.
In survivable relay node deployment, we place a minimum number of relay nodes to ensure that
sensor nodes and the sink nodes are bi-connected. In the previous studies[6][8][9][11][15], they
only consider the connectivity of the network but not traffic flows in a WSN. However, in relay
node deployment, the network lifetime is limited by the relay node battery power. And this
bat-tery power consumption closely depends on the communication distance and traffic volume. So,
[10] has brought up an idea that the location of the relay node assigned to the network should
not only consider the distances but also the traffic volume. Unfortunately, the network topology
of [10] is based on Steiner tree, which is the optimal solution for 1-connected relay node
de-ployment. However, Steiner tree only considers the total length of entire network but not traffic
rate in the network. Inspired by this situation, we believe that we can modify the topology of
Steiner tree to find out some proper locations for Steiner points which retain connectivity and
consider traffic rate as well. After constructing the new network topology, we can deploy the
relay nodes on each edge depended on its traffic volume to get a better result than previous
works. In Fig. 1.1, there are N relay node will be deployed. We consider two sensor nodes s1 and s2with traffic rate0.6 and 0.3, respectively, and the sink node s0which can collect the data from s1 and s2. In Fig. 1.1(a) only considers the connectivity for deployment. We can observe that the traffic distance from s1to v, s2to v and v to s0is less than the distance which the sensor nodes direct connected to the sink. Fig. 1.1(b) is the result of [10] which considers traffic-aware
for deployment. It means that we can move some relay nodes from less traffic intensive section
(a) (b) N 3 1 N 3 1 N 3 1 N ) 3 1 ( ' N ) 3 1 ( ' N 3 1 N ' L 3 3 L 3 3 L 3 3 N ) 3 1 ( ' N ) 3 1 ( ' N 3 1 N ' L ) ' ' 3 3 ( ' L 3 3 L ) ' 3 3 ( ' (c)
Figure 1.1: An example of relay node deployment: (a) connectivity (b) traffic-aware (c) con-nectivity and traffic rate.
connectivity and traffic rate for deployment. By the numerical analysis, we can observe that the
topology of Fig. 1.1(c) can get better performance than Fig. 1.1(b) and Fig. 1.1(a) because the
location of intersection v′is involved with the traffic volume.
In this thesis, we will propose one non-linear programming(NLP) algorithm and two
heuris-tic approaches to solve the relay node deployment problem which must be considered network
connectivity and traffic volume of the network. In NLP, we will find all proper locations for
Steiner points at the same time. It considers the entire network topology at the same time so
its complexity will be higher if the original network topology is complicated. Next, since the
complexity of NLP may be high, we propose two heuristic approaches that is low complexity
with acceptable performance. In heuristic approaches, we will divide the entire network into
several blocks and solve them separately.
about relay node deployment. In Section III, we define the problem definition of the relay node
deployment. In Section IV, we describe our relay node deployment algorithms. Simulation
Chapter 2
Related Works
In WSNs, the mainly energy consumption of a sensor node is wireless communication, which is
proportional to the data rate and the communication distance. Since the communication distance
can be adjustable, lots of research has been studied this property to achieve topology control
with given node deployment, such as power-aware routing, relay node deployment, etc.
Relay node deployment for WSNs have been studied in various contexts. In [7], it was first
shown that the connectivity for relay node deployment is NP-hard and it proposed a minimum
spanning tree (MST) based 5-approximation algorithm. Later, the authors[4] also proposed a
3-approximation algorithm for this problem. In relay nodes deployment for WSNs, most of the
studies were focused on the connectivity of the network. It meant that they had to guarantee
that the given relay nodes should be connected to all sensor nodes and the sink node after their
deployment. In [15], they not only considered the connectivity of the network in relay node
deployment, but also proposed to create a network with fault-tolerant, which is k-connectivity
network, by relay nodes. The connectivity problem had developed from 1-connected to
k-connected. After that, the work[8] extended the fault-tolerant problem by considering that the
relay nodes can only be placed at some given locations and considered the reality and the
ap-plication requirement. Moreover, the work[6] provided fault-tolerance with higher network
transmission radii. Work[9] not only considered deploying relay nodes into the network to
miti-gate network geometric deficiency and prolong network lifetime, but also provisioned additional
energy on the existing nodes for a two-tier wireless sensor network. The deployment studies
which we mentioned before were placed by their algorithm. But in [11], they developed three
random deployment strategies for relay nodes in a heterogeneous WSN by impact of random
device deployment on system lifetime not stressed enough.
But the strategy of the deployment in previous studies is evenly deployed relay nodes
ac-cording to the length of the distance. So, in [10] has shown us that the strategy of the relay node
deployment should be considered the traffic flows, and its performance is better than others.
Unfortunately, the network topology of [10] is a Steiner tree, and Steiner tree only considers the
total length of entire network but not traffic rate in the network. Hence, in our work through
con-sidering the traffic volume, we will move the Steiner points to some proper locations to satisfy
Chapter 3
Problem Definition
We consider a wireless sensor network with three types of nodes: sensor node, relay node, and
sink node. A sensor node is a device which can report environment data (such as temperature,
humidity, and light intensity), but has no communication capability. A relay node is a device
which has only communication capability, but no sensing capability. A sink node is a special
relay node which is designed to collect all sensor nodes’ data. We assume that there are one sink
node, denoted by s0, M sensor nodes, denoted by s1, s2, . . . , sM, and N relay nodes, denoted by r1, r2, . . . , rN, in the network, where M ≤ N. The locations of s0, s1, . . . , sM are already known, but the locations of r1, r2, . . . , rN are yet to be determined. The data generating rate of sj, j = 1 . . . M, is also known and is denoted by βj.
Our goal is to design a deployment scheme to place these relay nodes to form an
energy-efficient topology and forward sensing data. Since sensor nodes have no communication
capa-bility, each of them has to be accompanied by a relay node (this is why M ≤ N). We thus need
to decide the locations of the rest of the N− M relay nodes. Let liand tibe the location and the transmission distance of ri, respectively, i = 1 . . . N. We assume that each ti is controllable, but must satisfy
For each sensor sj, j = 1 . . . M, we also need to find a path
pj = rj1rj2. . . rjhs0,
such that rj1 is located at sjand the distance between rjiand rji+1, denoted by dist(rji, rji+1), is
≤ tji, for i = i . . . h − 1, and dist(rjh, s0) ≤ tjh.
To calculate the energy cost, we denote energy incurred to riby path pj by ˆ
E(ri, pj) = ˆEtx(ri, pj) + ˆErx(ri, pj),
where ˆEtx(ri, pj) and ˆErx(ri, pj) are the transmit and receive costs, respectively,
ˆ Etx(ri, pj) = βj(tαi + etx), if ri ∈ pj 0, otherwise, ˆ Erx(ri, pj) =
βjerx, if ri ∈ pj and riis not the head of pj 0, otherwise, ,
where α is the power attenuation factor (2 ≤ α ≤ 6), and etxand erxare manufacture-dependent constant of transmit and receive factors, respectively. The total energy incurred on ri is:
ˆ E(ri) = X ∀j ˆ E(ri, pj).
Our relay node deployment problem is to find li, ti, and pj for i= 1 . . . N and j = 1 . . . M with the following objective function:
min{max
Chapter 4
Deployment Algorithms
Below, we first make some observations based on an existing work [10]. Then we show how to
improve it by presenting our non-linear programming algorithm and some heuristics.
4.1
Basic Ideas
The work [10] shows that an efficient deployment should find a Steiner tree to connect all sensor
nodes and the sink node and then evenly place relay nodes along each Steiner edge according to
some weighting mechanism. The following lemma shows how relay nodes should be deployed
along a Steiner edge.
Lemma 1. Given two relay nodes raand rb, suppose that ra has received a certain amount of data to be delivered to rb. If there are k extra relay nodes available, the best way to deploy these k relay nodes is to evenly distribute them along the line connecting raand rb.
Proof. There are two ways for us to deploy k extra relay nodes. At first, we can divide the data volume of ra into q parts and relay these q traffic flows separately by assigning ni relay nodes, where i= 1 . . . q andPq
i=1ni = k. Secondly, we can just relay all the data of raby using only one traffic flow with k relay nodes. By the result of [10], we know that we would rather to use
the latter one, and must deploy k relay nodes evenly on this flow.
L k Relay nodes ͙ Traffic q outflow Traffic 1 outflow ͙ Traffic q inflow Traffic 1 inflow ͙
Figure 4.1: An illustration of relay node deployment for single source q traffic flows with length of edge L and k extra nodes .
and outflow are L. The best way to deploy relay nodes is to evenly distribute them among edge
L.
Based on the above Lemma 1, the work[10] proposes to solve the deployment problem as
follows:
1. Construct a graph of Steiner tree G = (V, E) to connect all sensor nodes and the sink
node because Steiner tree can guarantee to interconnect a network with the shortest length
where the length is the sum of lengths of all edges, by adding some new vertices which
are known as Steiner points. And it is the optimal solution for 1-connected relay node
deployment.
2. After the Steiner tree G has constructed, we have to calculate the traffic rate λek of each
Steiner edge k, where λek is the sum of data generating rates of the traffic flows passing
through the edge k.
3. In Lemma 1, we understand we should deploy relay nodes evenly on each edge k. Hence,
the energy of each relay node in edge k must be the same. We can formalize the energy
model as
ˆ
Eek = ˆE(ri),
and since both terms erxand etxare quite small than tαi, we can simplify the above equa-tion as
And our target is tomin{max∀i{ ˆE(ri)}}, it can also mean to min{maxei∈E{ ˆEek}} by
given N relay nodes. Therefore, we can let ˆEe1 = ˆEe2 = ... = ˆEek, and it can be
expressed as follows, λe1( Le1 ne1 )α = λe2( Le2 ne2 )α = . . . = X ek∈E λek( Lek nek )α. (4.1)
Though Eq. (4.1), we can calculate nek for each edge k.
4. After calculating nek, we deploy nek relay nodes on edge k evenly with communication
range tek =
Lek
nek
. And the first relay node must be placed on the location of the head node
of edge. The head node of edge must be sensor node or Steiner point.
Although [10] proposed a pretty good algorithm for traffic-aware relay node deployment,
it still has some drawbacks. Fig. 4.2 shows an example. In Fig. 4.2(a), we deploy two sensor
nodes and one sink node by [10]. As shown in Fig. 4.2(b), we move the Steiner point v to the
new location v′. By numerical analysis, we observe that the energy consumption of each relay node in Fig. 4.2(b) is smaller than Fig. 4.2(a). From the example, we know that there must exist
a better network topology for a traffic-aware WSN. Hence, we try to move all Steiner points to
proper locations in order to obtain the better topology. In the following, we will show how to
move all Steiner points to proper locations and assign appropriate relay nodes on each edge to
prolong network lifetime.
4.2
Weighted Moving Algorithm
From above section, we know that moving Steiner points may prolong network lifetime. Here,
we propose a weighted moving method which can move the Steiner points according to the
nodes’ traffic rates. The moving scheme is based on a non-linear programming. Through the
(a) (b) 0.6
S
1S
2 0.3S
0v
N ) 3 1 ( ' N ) 3 1 ( ' N 3 1 N ' 0.6S
1S
2 0.3S
0ǀ͛
N ) 3 1 ( ' N ) 3 1 ( ' N 3 1 N ' L ) ' ' 3 3 ( ' L 3 3 L ) ' 3 3 ( 'Figure 4.2: An example of improving case for relay node deployment.
In the beginning of relay node deployment problem, we just know the locations of sensor
nodes and the sink node, and they are not connected. So, our objective is to connected all
sensor nodes and the sink node with minimum energy consumption. And our xxxx algorithm
are organized as follows:
1. Construct a graph of Steiner tree G = (V, E) to connect all sensor nodes and the sink
node by using heuristic method proposed in [1], where V = {v0, v1, . . . , vM, vM +1, . . .}, and E = {e1, e2, . . .}. Here, we define vertices vi = si for i = 0 . . . m, and vj is called Steiner point, j ≥ m + 1. Let e1, e2, . . . represent the edges connect the vertices in V , where traffic flows are unidirectional.
2. After the Steiner tree G has constructed, we have to calculate the traffic rate λek of each
edge k, and λek is the sum of data generating rates of the traffic flows passing through the
edge k.
3. Now, we need to find a proper network topology and relay node deployment. In the
following, we will propose a non-linear programming to solve this problem. Since the
locations of vi, i = 0 . . . m, i.e., sensor nodes and the sink node, are fixed, we can only modify the locations of vi, i = M +1 . . ., i.e., Steiner points, to achieve our target. Hence,
we can modify Eq. (4.1) into λe1( q (XAe1 − XBe1)2+ (YAe1− YBe1)2 ne1 )α = . . . = X ek∈E λek( q (XAek − XBek)2+ (YAek − YBek)2 nek )α (4.2) where XAei, YAei, XBei and YBei represent the x-axis and y-axis location of two vertices, i.e., Aeiand Bei of edge ei, and the vertices can be sensor nodes, Steiner points or the sink
node. In the following, we call the Steiner point as merge vertex. According to Eq. (4.2),
we model this problem, which can guarantee both the minimum energy for transmitting
traffic flows and the network connectivity, as follows.
minimize X ek∈E λek( q (XAek − XBek)2+ (YAek − YBek)2 nek )α subject to X ek∈E nek = N min(Xv0, . . . , Xvm) ≤ Xvi ≤ max(Xv0, . . . , Xvm), i = M + 1, M + 2, . . . min(Yv0, . . . , YvM) ≤ Yvi ≤ max(Yv0, . . . , Yvm), i = M + 1, M + 2, . . . (4.3) Rmin ≤ q (XAek − XBek)2+ (YAek − YBek)2 nek ≤ Rmax, ∀ek∈ E λej( q (XAej − XBej)2+ (YAej − YBej)2 nej )α = λej+1( q
(XAej+1 − XBej+1)2+ (YAej+1 − YBej+1)2 nej+1
)α, j = 1 . . . k − 1
where k is amount of total edges
The constraint 1, it ensures that given N relay nodes must be used completely and
as-signed to each edge. Constraint 2 and 3 can guarantee the locations of merge vertices
must be inside a boundary. Constraint 4 guarantees that the communication range of each
relay node must not be over the boundary and also guarantees the connectivity. The last
re-sult of the NLP, we can find out all the proper locations for merge vertices and the number
of relay nodes nek assigned on each edge k.
4. After we have decided nek, and the locations of merge vertices, we can deploy nek relay
nodes on edge k evenly with communication range tek =
Lek
nek
. And the first relay node
must be placed on the location of the head node of edge. The head node of edge must be
sensor node or Steiner point. Our algorithm can be summarized as Algorithm 1.
Algorithm 1 Weighted Moving algorithm
Input: s0, . . . , sm, Xs0, . . . , XsM, Ys0, . . . , YsM,
β1, . . . , βM, N relay nodes, RminandRmax.
Output: G′(V′ , E′
)
1. Construct a Steiner tree G(V, E) with heuristic approach.
2. Calculate the traffic rate λek based on the G(V, E), where ek∈ E
3. By Eq. (3), we can calculate the approximative solution G′ (V′
, E′
) with nek,
Xvm+1, XvM +2. . ., YvM +1, YvM +2. . . to decide where the merge vertices are so as to minimize
and balance the relay node energy, ek∈ E′.
4. Deploy nek relay nodes on edge k evenly with communication range tek =
Lek
nek
.
4.3
Heuristic Approaches
In above section, we use non-linear programming algorithm to model our problem and also
find out the proper locations of merge vertices. From the Algorithm 1, we realize that it can
find approximative solution. However, since it considers the entire topology to find the proper
locations of merge verteices, the complexity of it is depended on how many variables are there.
If there are m merge vertices and n edges, the variables are 2m+n. It means that the more merge
vertices and Steiner edges there are, the higher complexity it is. Therefore, in this section, we
will propose some heuristic approaches that are lower complexity with acceptable improvement.
1
2
3
4
0.2 0.1 0.3 0.3 0.4 0.2 0.6 0.9 1.2 v0 v1 v2 v3 v4 v5(a) Original topology
1
2
3
4
0.2 0.1 0.3 0.3 0.4 0.2 0.6 0.9 1.2 v0 v1 v2 v3 v4 v5(b) After finding all proper locations of merge vertices
1. We construct a Steiner tree G(V, E) to connect all sensor nodes and the sink node with
heuristic approach.
2. Then, we can calculate the traffic rate λek based on G(V, E) for each Steiner edge.
3. For decreasing the complexity of Algorithm 1, we need to reduce the number of variables
of it. Hence, we firstly divide the network topology into blocks and are going to solve
them separately in the following two approaches. Each block is a triangle and composed
of four nodes. The merge vertex is a node which is connected three neighbor nodes in the
same block, and other three nodes can be sensor nodes, merge vertex or sink node. Each
block can be considered as an independent 4-points tree, and we can only modify the
location of merge vertex in each block. The traffic-rate of merge vertex can represent its
block’s rate, and we will cope with the blocks in order by pre-defined priorities sequence.
The higher rate the block is, the higher priority it is. Fig. 4.3 shows an example of five
sensor nodes with different data generating rate and one sink node in the network. In
Fig. 4.3(a), we divide the network into four blocks, and each block is a triangle with
4-points tree. We can observe that the block with the highest rate is4, thus priority of block
4 is the highest priority. And the next highest is block2. Finally, we can set the order as (4, 2, 3, 1) in this network. Then, we will find the proper location of each merge vertex of
each block in orderly.
4. After dividing the network into blocks, we propose two methods to find the proper
lo-cation of each merge vertex. The first method is “constrained heuristic” which can be
finished in polynomial time but its performance worse than Algorithm 1, and the second
one is “small-scale nonlinear programming” which can get better performance than the
And we will explain these two methods in detail later. Fig. 4.3(b) shows the result after
we have solved all blocks in Fig. 4.3(a).
5. In these two methods, we only find the proper location of each merge vertex of each block.
Since we solve the relay node deployment problem locally do, not actually calculate how
many nodes should be assigned on each Steiner edge. Hence, we can not ensure the
com-munication range of each relay node is in the boundary and also guarantee the network
connectivity. Therefore, we must check the network connectivity. We use Eq. (4.1) to
calculate ne1, ne2, . . . for each Steiner edge and deploy nek relay nodes on Steiner edge
k evenly with communication range r = Lek
nek
.. If the network is connected, the
commu-nication range of each relay node must be satisfied the boundary,Rmin ≤ Lek
nek
≤ Rmax, where ek∈ E. And the result can be the candidate of our final solution.
6. In Fig. 4.3(b), we can observe that the boundary of each block is different from the
bound-ary in Fig. 4.3(a). This is because the boundbound-ary of a block can be influence by the
loca-tions of the merge vertices in close blocks of that block. Therefore, we realize that if all
merge vertices have been changed once, the boundaries of each block may be enlarged or
reduce. It means that we may find a better location of each merge vertex in the second
round. So, we will repeat step3, 4, 5 in T iterations to find a better solution, where T is a
user-setting parameter.
7. After executing T iterations, we will choose the candidate with minimum energy
con-sumption and connected network as our final solution.
Next, we will explain the two methods which we use to find out the proper location of merge
4.3.1
Constrained Heuristic (CH)
In Algorithm 1, the complexity is very high if there are many merge vertices or Steiner edges.
It may not be terminated in polynomial time. Hence, we show the first method which can
guarantee to be finished in polynomial time.
In the object function of Eq. (4.3), since there are only three edges in one block, we can
modify the object function as,
min 3 X k=1 λek( q (XAek − XM V)2+ (YAek − YM V)2 nek )α, (4.4)
where e1, e2, e3 represent the three edges connected to the merge vertex, XM V and YM V are location of merge vertex, XAekand YAek represent the locations of three vertices connected with the merge vertex, and these three vertices can be sensor nodes, sink node or the merge vertices
of other blocks. In this approach, we assume α = 2, ne1 : ne2 : ne3 = 1 : 1 : 1, and
ne1 + ne2 + ne3 = C, where C is a constant. Hence, ne1 = ne2 = ne3 =
C
3. The Eq. (4.4) can be modified as, min 3 X k=1 λek( q (XAek − XM V)2+ (YAek − YM V)2 C 3 )2 (4.5)
Since we want to minimize Eq. (5), we can omit constant C3. And when we extend Eq. (5), we can observe that the solution of it is center of gravity of the triangle of Ae1Ae2Ae3. It is
proved by following equations,
min 3 X k=1 λek((XAek − XM V) 2 + (YAek − YM V)2) (4.6) min 3 X k=1 λek(X 2 M V + Y 2 M V) − 2XM V( 3 X k=1 λekXAek) − 2YM V( 3 X k=1 λekYAek) + K (4.7) P3 λ X P3 λ Y
where K and K′ are constant. From Eq. (8), when XM V and YM V are equal to P3 k=1λekXAek P3 k=1λek and P3 k=1λekYAek P3 k=1λek
, Eq. (8) will get minimum.
Theorem 2. Considering one block in relay deployment problem, if α = 2, ne1 : ne2 : ne3 =
1 : 1 : 1, and ne1 + ne2 + ne3 = C, where C is a constant. The best location of merge vertex
must be the center of gravity of the triangle Ae1Ae2Ae3.
4.3.2
Small Scale Non-linear Programming (SSNLP)
In the first approach, although we can solve the problem in polynomial time if α = 2 and ne1 : ne2 : ne3 = 1 : 1 : 1, the performance may not improved more because the proper location
is only related to the traffic rate and the length of Steiner edge. What we really need is to find
a proper location of merge vertex which is involved with the traffic rate, the length of Steiner
edge and the ratio among ne1, ne2 and ne3. And it is suitable for any cases. As can be seen that
the reason why the complexity of Algorithm 1 is high because it considers the entire topology
at the same time. But, in the previous heuristic approach, we show that we can divide the whole
topology into blocks and solve them orderly. Therefore, we can modify Eq. (4.3) into
minimize 3 X k=1 λek( q (XAek − XM V)2+ (YAek − YM V)2 nek )α subject to ne1 + ne2 + ne3 = C XM V, YM V ∈ triangle(XAek, YAek), k = 1, 2, 3 (4.9) λej( q (XAej − XM V)2+ (YAej − YM V)2 nej )α = λej+1( q (XAej+1 − XM V)2+ (YAej+1 − YM V)2 nej+1 )α, j = 1, 2 ,
where C is a constant, e1, e2, e3 represent the three edges connected with the merge vertex, XAekand YAek represent the locations of three vertices connected with the merge vertex, and
these three vertices can be sensor nodes, sink or the merge vertices of other blocks, and where
XM V and YM V are the location of merge vertex. Since we solve the relay node deployment locally, we can only calculate the ratio among ne1, ne2 and ne3 in constraint 1. Constraint 2
ensures the proper location of merge vertex must be inside the block. Constraint 3 can guarantee
all energy consumption of relay nodes on three Steiner edges of the block must be the same.
In Eq. (4.9), we only find the proper location of merge vertex, i.e., XM V and YM V, and the ratio among ne1, ne2 and ne3, so the number of variables of Eq. (4.9) is only 5. The
num-ber of variables is fixed and will not change due to different network topology. Although the
complexity of second method is little higher than the first one, the performance of it must be
better.
Now, let us summarize our heuristic approaches briefly. Before we start to execute the
heuristic approaches, we first check whether the given N relay nodes can connect the Steiner
tree or not by Eq. (4.1). If N relay nodes are enough to connect the Steiner tree, the heuristic
approaches can be executed. Otherwise, since the given N relay nodes is less than minimum
requirement, we can not find a solution for this problem. Then, after finding out all proper
locations of merge vertices, we will check whether the new network topology can be connected
by N relay nodes or not. If the new topology can be connected, it will be the candidate of
our final solution. Then we will repeat the above steps in T times. After that, we choose the
candidate with minimum energy consumption and connected network as our final solution. Our
Algorithm 2 Heuristic
Input: s0, . . . , sM, XS0, . . . , XSM, YS0, . . . , YSM,
β1, . . . , βM, N relay nodes, RminandRmax, method.
Output: G(V, E)
1. Construct a Steiner tree G(V, E) with heuristic approach.
2. Calculate the traffic rate λek based on the G(V, E), where ek∈ E
if CheckConnectivity(N, G(V, E)) then
Calculate ˆE.
for i:= 1 to T do
Partition the network topology into blocks.
switch (method)
case 1: Execute constrained heuristic
case 2: Execute small scale non-linear programming
end switch
Use Eq. (1) to calculate ne1, ne2, . . . and calculate ˆE
′ . if( ˆE′ < ˆE) and CheckConnectivity(N, G′ (V′ , E′ )) then ˆ E = ˆE′ ; G(V, E) = G′ (V′ , E′ ); end if end for
Use Eq. (1) to calculate nek for edge k, ek ∈ E
Deploy nek relay nodes on edge k evenly with communication range tek =
Lek
nek
.
else
The given N relay nodes can not connect the Steiner tree.
Chapter 5
Simulation
In this section, we will evaluate the performance of our algorithms by numerical analysis. Since
NLP can not guarantee to solve this problem in polynomial time, we just evaluate our two
heuristic approaches, i.e., CH and SSNLP. We have deployed5 to 25 sensor nodes by random
distribution in a field of5000m × 5000m with the sink node settled at the center (2500, 2500).
And the normalized data rate of each sensor node is randomly chosen from (0, 1]. For each
number of sensor node, we generated 10 topologies for analysis. In this network, there are
only250 relay nodes for us to deploy. We set the power attenuation of relay nodes α = 2, the
maximum communication range of relay nodesRmax = 500m, and minimum one Rmin = 10m. The above simulation environment is shown in Table 5.1.
For comparison, we implement two deployment approaches from [10][15], namely
Connectivity-only, denote as CO, and Traffic-aware, denote as TA. CO is chosen from a state-of-the-art scheme proposed in [15], which optimizes the system performance by considering
connectivity-Table 5.1: Simulation Environment
Sensor nodes 5, 10, 15, 20, 25
Data generating rate [0.1, 0.2, . . . , 1]
Maximum communication range of relay node 500m
Minimum communication range of relay node 10m
Deployment area 5000 ∗ 5000m2 Location of sink node (2500, 2500)
1 2 3 4 5 6 25 20 15 10 5
Normalized Network Lifetime
Number of Sensor Nodes CO
TA SSNLP CH
Figure 5.1: Normalized network lifetime.
only. In [15], there are multiple versions of scheme. Here, we use the1-connectivity version
and construct a Euclidean Steiner minimum tree [1] for the network topology, and CO serves
as a baseline. TA is chosen from [10] which is the first study accommodate the heterogeneous
traffic flows in relay node deployment for WSN.
We use network lifetime, defined as the lifetime of the first depleted relay node, as our
metrics for evaluation. The first depleted relay node can serve as a good indicator for the end
of the network lifetime because if the first relay node is out-of-battery, the data of some sensor
nodes can not be relayed to the sink node in1-connected WSN. In the following simulation
results, they are normalized by the base-line scheme CO. We use MATLAB [2] as our simulation
tools, and the interior point methods[5] to solve non-linear problems. Fig. 5.1 shows the results
of the network lifetime with different number of sensor nodes. When the number of sensor
nodes increases, the lifetime of both SSNLP and CH increases and is higher than lifetime of TA.
Since SSNLP has considered traffic rate, length of edge and ratio of relay nodes among three
150 160 170 180 190 200 25 20 15 10 5
Normalized Residual Energy
Number of Sensor Nodes TA
SSNLP CH
Figure 5.2: Normalized residual energy.
have also evaluated the residual energy among these approaches. Since CO can not guarantee
the energy consumption of each relay node is the same, we only evaluate the residual energy of
TA, SSNLP and CH when the lifetime of CO is finished. And the total residual energy can be
estimated as ˆ Eresidual = X ek∈E [ ˆE− λek( Lek nek )αT] · nek,
where T is the network lifetime of CO, and the result is shown in Fig. 5.2. When the number of
sensor increases, the normalized residual energy of TA, SSNLP and CH increases. And because
the energy consumption of SSNLP and CH is less than TA, the normalized residual energy of
them is higher than TA’s.
Fig. 5.3(a) and Fig. 5.3(b) show that the improvement from TA to SSNLP and CH,
respec-tively. We observe that SSNLP can always obtain8 ∼ 10% improvement with different number
of number of sensor nodes, and CH can obtain5 ∼ 7% improvement. Although the averages of
0 5 10 15 20 25 5 10 15 20 25 Improvement Percentage
Number of Sensor Nodes (TA-SSNLP)/TA (a) 0 5 10 15 20 25 5 10 15 20 25 Improvement Percentage
Number of Sensor Nodes (TA-CH)/TA
(b)
Figure 5.3: The performance improvement of CH and SSNLP with different numbers of sensor nodes.
0 5 10 15 20 25 1000 500 250 100 Improvement Percentage
Number of Relay Nodes (TA-SSNLP)/TA (a) 0 5 10 15 20 25 1000 500 250 100 Improvement Percentage
Number of Relay Nodes (TA-SSNLP)/TA
(b)
Figure 5.4: The performance improvement of CH and SSNLP with different numbers of relay nodes.
be23% and the minimum can be 5% in SSNLP. How many improvement percentages obtained
by SSNLP and CH is decided by the configuration of the network topology.
Next, we fix the network topology with only5 sensor nodes, and set the number of relay
nodes from 100 to 1000. Fig. 5.4(a) and Fig. 5.4(b) show that the improvement from TA to
SSNLP and CH, repsectively. We can observe that no matter how many relay nodes there
are, CH and SSNLP can also retain a pretty good improvement. SSNLP can maintain the
improvement percentage around 10 ∼ 13%, and CH can keep the improvement percentage
around6 ∼ 8%.
From the above results, we realize that only considering connectivity is the worst case for
relay node deployment, and only considering traffic volume based on Euclidian Steiner tree
also is not the best way. The results show us that we should construct a traffic-aware network
topology and the strategy of the relay node deployment must be according to the traffic volume
Chapter 6
Conclusions
In this thesis, we showed some problems about deploying relay nodes on Euclidian Steiner
tree. We proposed some algorithms to modify the existing Euclidian Steiner tree to adapt the
traffic volume in reality. Firstly, we proposed a weighted moving algorithm. In this algorithm,
we modeled the relay node deployment problem as a non-linear programming. In this
pro-gramming, we could guarantee that the network is connected and also accommodate the traffic
volume. But the non-linear programming could not ensure to solve the problem in polynomial
time, so we had proposed two heuristic approaches, which could finish in polynomial time,
to compare with the previous studies by MATLAB. According to the simulation results, we
observed that the performance of these two heuristic approaches was better than all previous
Bibliography
[1] Geosteiner. http://www.diku.dk/hjemmesider/ansatte/martinz/geosteiner/.
[2] Matlab. http://www.mathworks.com/.
[3] D. Braginsky and D. Estrin. Rumor routing algorithm for sensor networks. In Proc. of
ACM Int’l Workshop on Wireless Sensor Networks and Applications (WSNA), 2002. [4] D. Chen, D. Du, X. Hu, G. Lin, L. Wang, and G. Xue. Approximations for steiner trees
with minimum number of steiner points. Journal of Global Optimization, 18:17–33, 2000.
[5] E. K. P. Chong and S. H. Zak. An Introduction to Optimization, 2nd Edition. Wiley, 2001.
[6] X. Han, X. Cao, E. L. Lloyd, and C. C. Shen. Fault-tolerant relay node placement in
heterogeneous wireless sensor networks. In IEEE Trans. on Mobile Computing, 2009.
[7] G. Lin and G. Xue. Steiner tree problem with minimum number of steiner points and
bounded edge-length. Information Processing Letters, 69:53–57, 1999.
[8] S. Mistra, S. D. Hong, G. Xue, and J. Tang. Constrained relay node placement in wireless
sensor networks to meet connectivity and survivability requirements. In Proc. of IEEE
INFOCOM, 2008.
[9] F. Wang, D. Wang, and J. Liu. Prolonging sensor network lifetime with energy
provision-ing and relay node placement. In Proc. of IEEE Sensor and Ad Hoc Communications and
[10] F. Wang, D. Wang, and J. Liu. Traffic-aware relay node deployment for data collection
in wireless sensor networks. In Proc. of IEEE Sensor and Ad Hoc Communications and
Networks Conference (SECON), 2009.
[11] K. Xu, H. Hassanein, and G. Takahara. Relay node deployment strategies in heterogeneous
wireless sensor networks: Multiple-hop communication case. In Proc. of IEEE Sensor and
Ad Hoc Communications and Networks Conference (SECON), 2005.
[12] W. Ye, J. Heidemann, and D. Estrin. An energy-efficient MAC protocol for wireless sensor
networks. In Proc. of IEEE INFOCOM, 2002.
[13] L. W. Yeh, C. Y. Lu, C. W. Kou, Y. C. Tseng, and C. W. Yi. Autonomous light control by
wireless sensor and actuator networks. IEEE Sensors Journal, To appear.
[14] L. W. Yeh, C. Y. Lu, Y. H. Lin, J. L. Liao, Y. C. Tseng, C. Chen, and C. W. Yi. ilamp: A
sensor-enhanced lamp with surface-tracking capability based on light intensity. In IEEE
Int’l Conf. on Pervasive Computing and Communications(PerCom), 2009.
[15] W. Zhang, G. Xue, and S. Misra. Fault-tolrant relay node placement in wireless sensor
Vita
Chi-Wai Kou
Contact Information
Department of Computer Science
National Chiao Tung University
1001 Ta Hsueh Road, Hsinchu, Taiwan 300
Email: [email protected], [email protected]
Education
M.S.: Network Engineering, National Chiao Tung University (2008.9∼ 2010.7)
B.S.: Computer Science, National Tsing Hua University (2004.9∼ 2008.6)
Awards
1. 旺宏金矽獎銅獎, “以無線感測器網路為基礎之智慧型節能燈光調控系統”, with 葉 倫武, 林育萱, 呂哲彥, 曾煜棋, 2009 2. RFID 校園創意競賽 佳作, “智慧型展場導覽系統”, with 葉倫武, 許藍尹, 羅棨鐘, 曾 煜棋, 2009Publication Lists
Journals
1. L. W. Yeh and C. Y. Lu and C. W. Kou and Y. C. Tseng and C. W. Yi, “Autonomous
Light Control by Wireless Sensor and Actuator Networks”, IEEE Sensors Journal, To