• 沒有找到結果。

Energy-Balanced Dispatch of Mobile Sensors in a Hybrid Wireless Sensor Network

N/A
N/A
Protected

Academic year: 2021

Share "Energy-Balanced Dispatch of Mobile Sensors in a Hybrid Wireless Sensor Network"

Copied!
15
0
0

加載中.... (立即查看全文)

全文

(1)

Energy-Balanced Dispatch of Mobile Sensors

in a Hybrid Wireless Sensor Network

You-Chiun Wang, Member, IEEE, Wen-Chih Peng, Member, IEEE, and

Yu-Chee Tseng, Senior Member, IEEE

Abstract—We consider a hybrid wireless sensor network with static and mobile nodes. Static sensors monitor the environment and report events occurring in the sensing field. Mobile sensors are then dispatched to visit these event locations to conduct more advanced analysis. A big challenge is how to schedule these mobile sensors’ traveling paths in an energy-balanced way so that their overall lifetime is maximized. We formulate this problem as a multiround sensor dispatch problem and show it to be NP-complete. Then, we propose a centralized and a distributed heuristics to schedule mobile sensors’ traveling paths. Our heuristics allow arbitrary numbers of mobile sensors and event locations in each round and have an energy-balanced concept in mind. The centralized heuristic tries to minimize mobile sensors’ moving energy while keeping their energy consumption balanced. The distributed heuristic utilizes a grid structure for event locations to bid for mobile sensors. Through simulations, we show the effectiveness of our schemes. This paper contributes in defining a more general multiround sensor dispatch problem and proposing energy-efficient solutions to it.

Index Terms—Energy saving, load balance, mobile sensor, robot, wireless sensor network.

Ç

1

I

NTRODUCTION

H

YBRID sensor networks with static and mobile nodes open a new frontier of research in wireless sensor networks (WSNs). Static sensors support environmental sensing and network communication. Mobile sensors are more resource-rich in sensing and computing capabilities and can move to particular locations to conduct more complicated missions such as repairing the network or providing in-depth analysis [1], [2]. Introducing mobility to a WSN not only reduces its deployment and maintenance costs but also enhances its capability. Applications of hybrid WSNs have been studied in [3], [4], [5].

In this paper, we focus on the problem of dispatching mobile sensors to the locations of events appearing in the sensing field. Static sensors serve as the backbone to identify where suspicious events may appear and report such events to mobile sensors so as to conduct more in-depth analysis. Assuming that events may appear anytime and anywhere, it is inefficient to dispatch one mobile sensor right after an event appears. We thus propose dividing time into multiple rounds and schedule mobile sensors’ traveling paths in a round by round manner. The objective is to emphasize both path efficiency and balance of mobile sensors’ energy consump-tion because moving energy is critical for mobile sensors [6], [7]. Then, we measure the system lifetime, which is defined as the number of rounds until some event locations cannot be reached by any mobile sensor due to lack of energy.

Balancing energy consumption is important in the case of multiple mobile sensors. For example, when some mobile

sensors exhaust their energy too early, the remaining mobile sensors may need to travel longer distances to serve some event locations, thus further shortening the system lifetime. On the contrary, if there are more mobile sensors, each mobile sensor may need to visit only local event locations. Such an example is [8], which targets at greedily minimizing the overall energy consumption of mobile sensors in each round without considering energy balance among mobile sensors. Take an example in Fig. 1. Initially,

mobile sensors s1 and s2 are located at l1 and l2,

respectively, each with energy of 600 units. The energy cost to move between any two locations is given in Fig. 1a. Suppose that in each odd round, events appear at l3and l4,

and in each even round, events appear at l1and l2. Fig. 1b

shows that with the above greedy strategy, s1and s2move

between ðl3; l1Þ and ðl4; l2Þ, respectively. The system lifetime

is nine rounds. Fig. 1c shows that by balancing their energy consumption, s1 and s2 move between ðl4; l1Þ and ðl3; l2Þ,

respectively, and can survive 10 rounds, although in each round they consume more energy.

In this paper, we prove that even if all event locations in the future rounds are known in advance, the sensor dispatch problem is NP-complete. We then propose a centralized and a distributed heuristics to extend the system lifetime. The idea is to minimize the moving energy of mobile sensors while balancing their energy consumption in each round. Our centralized heuristic allows arbitrary numbers of event locations and mobile sensors in each round. When mobile sensors are more than event locations, we translate the dispatch problem to a maximum matching problem in a weighted complete bipartite graph [9], where the vertex set contains mobile sensors and event locations and the edge set contains each edge from every mobile sensor to every event location. In addition, when matching two vertices, we adopt a bound concept to avoid choosing edges with too large weights, so the energy-balanced goal can be achieved. On the other hand, when mobile sensors are fewer than event locations, we . The authors are with the Department of Computer Science, National

Chiao-Tung University, 1001 University Road, Hsinchu, Taiwan 300, R.O.C. E-mail: {wangyc, wcpeng, yctseng}@cs.nctu.edu.tw.

Manuscript received 12 Mar. 2009; revised 30 Oct. 2009; accepted 4 Feb. 2010; published online 23 Mar. 2010.

Recommended for acceptance by S. Das.

For information on obtaining reprints of this article, please send e-mail to: tpds@computer.org, and reference IEEECS Log Number TPDS-2009-03-0112. Digital Object Identifier no. 10.1109/TPDS.2010.56.

(2)

group event locations into clusters where the number of clusters is equal to that of the mobile sensors. Then, we adopt the above matching approach combined with the traveling-salesman approximation algorithm (TSP) [10]. Designed with a similar philosophy, we also propose a distributed heuristic using a grid structure. Specifically, each grid with event locations adopts grid-quorum [11] to obtain the information of mobile sensors. Then, the grids bid for mobile sensors with each other by using the bound concept in the centralized heuristic. After determining the winning grids, each mobile sensor visits these grids by the proposed two-level TSP scheme. In particular, the mobile sensor first calculates the shortest path to visit the winning grids and then moves to the event locations inside each of these grids.

Although sharing the same bound concept, the centralized and distributed heuristics have two differences in essence. First, the centralized heuristic clusters event locations, from a global view, when there are fewer mobile sensors, while the distributed heuristic always clusters event locations into fixed grids. Second, the centralized heuristic requires a central node (e.g., the sink) to calculate the dispatch schedules, which incurs network flooding to gather/dis-seminate global information. In contrast, the distributed heuristic adopts grid-quorum to reduce the message com-plexity but lets event locations compete for mobile sensors using partial information. Our simulation results reflect that when there are more mobile sensors, the grid structure helps extend the system lifetime. On the other hand, when there are fewer mobile sensors, the centralized heuristic has a longer system lifetime due to its efficient clustering and global knowledge. Nevertheless, both heuristics result in a longer system lifetime compared to the greedy scheme. Also, simulation results show that the distributed heuristic is more message efficient.

The rest of the paper is organized as follows: Section 2 reviews related work. Section 3 defines the sensor dispatch problem and shows it to be NP-complete. Sections 4 and 5 propose our centralized and distributed heuristics. Simula-tion results are presented in SecSimula-tion 6. Conclusions and future research topics are drawn in Section 7.

2

R

ELATED

W

ORK

Mobility management has received considerable attention in mobile ad hoc networks (MANETs). Most studies focus on the communication issue [12], [13] or topology control [14], [15] due to frequent node mobility. They consider that nodes move in an arbitrary manner or follow some mobility models [16]. Unlike MANETs, node mobility in hybrid WSNs is controllable and can even be coordinated. A multirobot system (MRS), one topic in the field of robots, uses multiple cooperative robots to accomplish a task in an uncertain environment [17], [18]. Multiagent reinforcement learning [19], [20], [21] is proposed to train robots to learn mappings from their statuses to their actions. However, these studies have different objectives from our work. Multirobot task allocation [22] determines which robot should execute which task to cooperatively achieve the overall goal, where a task is viewed as an independent subgoal that is necessary for achieving the overall goal. However, [22] does not aim at the energy issue of robots.

Mobile sensors have been intensively researched to improve a WSN’s topology. Moving sensors to approximate the event distribution, while maintaining complete coverage of the sensing field, is studied in [23]. The work in [24] moves nodes to keep a WSN biconnected. With a grid structure, the work in [25] moves sensors from high-density grids to low-density ones to generate a uniform topology. The works [26], [27] use virtual forces to drive sensors’ moving directions, while the work in [28] discusses moving sensors to fill uncovered holes. The studies [29], [30] also address the sensor dispatch problem, but they do not consider energy balance and only optimize energy consumption in one round.

Some studies deploy mobile sensors to track moving targets. The purser-evader game is studied in [31], where a pursuer needs to intercept an evader by the assistance of static sensors. The work in [32] discusses the problem of maneuvering mobile sensors for the optimal data acquisition from moving targets. Target tracking with the assistance of mobile sensors is discussed in [33] with concerns of energy consumption, network connectivity, and sensing coverage. They assume that the future trajectory of the moving target may be predicted, whereas our work allows events to arbitrarily appear.

Several variations of the sensor dispatch problem have been studied in the literature. In [34], static sensors detecting events will ask mobile sensors to move to their locations to conduct more in-depth analysis. The mobile sensor that has a shorter moving distance and more energy, and whose leaving will generate a smaller uncovered hole, is invited. The work in [35] dispatches mobile sensors to improve the sensing coverage of a hybrid WSN. Static sensors estimate the uncovered holes close to them and use the hole sizes to compete for mobile sensors. The concept of energy balance in dispatching mobile sensors is exploited in [36]. Once a mobile sensor siidentifies a destination lj, sitries to form a sequence

Fig. 1. Comparison of dispatch solutions: (a) the network configuration, (b) the greedy approach, and (c) the energy-balanced approach.

(3)

of si ! sk1! sk2!    ! skm ! lj, such that cascaded

move-ments si! sk1, sk1! sk2; . . ., and skm! ljwill happen. How

event locations can find mobile sensors in a message-efficient manner is discussed in [37]. Compared with prior studies, this paper considers a more general dispatch problem, where events may appear in arbitrary locations, event locations in the future rounds are unpredictable, and the relationship between the number of event locations and the number of mobile sensors is arbitrary. We will develop centralized and distributed algorithms with energy-balanced property to prolong the system lifetime.

3

P

ROBLEM

S

TATEMENT

We consider a hybrid WSN with both static and mobile sensors. Sensors are aware of their own locations, which can be achieved by global positioning system (GPS) or other localization techniques [38]. Static sensors are dense enough to form a connected network that fully covers the sensing field. They can cooperate to identify events that may appear in arbitrary locations in the sensing field (refer to [34] for possible solutions). We make no assumption on the event distribution, and the occurrence of any two events is independent. Mobile sensors are more resource-rich and can be dispatched to event locations to conduct more in-depth analysis. Both the moving speed of a mobile sensor and its energy consumption to move a unit distance are assumed to be constants. Also, we assume that the sensing field is obstacle-free, so mobile sensors can directly move to their destinations using the shortest distances.

The time is divided into rounds. Each round is led by a collecting phase followed by a dispatching phase. Static sensors report those events that have been detected but not yet processed in the collecting phase. Mobile sensors then visit these event locations in the dispatching phase. In each round, an event only needs to be visited by one mobile sensor. Our discussion focuses on the dispatch problem in one round. Therefore, given a set of m event locations L ¼ fl1; l2; . . . ; lmg

and a set of n mobile sensors S ¼ fs1; s2; . . . ; sng in a round,

our objective is to assign each si a dispatch schedule DSi,

i¼ 1::n, which contains a sequence of event locations. The union of locations in all dispatch schedules should be equal to L. In case that DSiis too long for sito complete in the current

round, the remaining unvisited locations are deleted from DSiand will be put into the next round for scheduling (thus,

these deleted locations may be visited by other mobile sensors). The jth location of DSi is denoted by DSi½j and

the current energy of siis expressed by ei. Consequently, the

energy required to complete si’s dispatch schedule is

formulated as fðDSiÞ ¼ emove dðsi; DSi½1Þ þ X jDSij1 j¼1 dðDSi½j; DSi½j þ 1Þ ! ;

where emoveis the energy cost for a mobile sensor to move one

unit distance, jDSij is the number of event locations in DSi,

and dð; Þ is the distance between two locations. Clearly, any dispatch schedule of a mobile sensor should satisfy ei fðDSiÞ. Also, we are given the initial energy einiti of each

si, i ¼ 1::n, in round 0. Assuming that mobile sensors are not

rechargeable, the objective is to schedule their traveling paths such that the system lifetime is maximized. Table 1 summarizes the notations used in this paper.

Next, we show that the above sensor dispatch problem is NP-complete even if the event locations are known in advance in each round. We first formulate the sensor dispatch problem as a decision problem.

Definition 1.Given a set of mobile sensors S and a sequence of k event location sets L1;L2; . . . ;Lk, the sensor dispatch decision

problem is to determine whether there is a feasible schedule for S to visit L1;L2; . . . ;Lk in that order.

Theorem 1. The sensor dispatch decision problem is

NP-complete.

Proof.We first show that this problem belongs to NP. Given a problem instance and a solution containing the dispatch schedules in k rounds, it can be verified whether the solution is valid in polynomial time. So, this part is proved. We then reduce the partition problem [39], which is known to be NP-complete, to our problem. Given a finite set X in which each element xi 2 X is associated with a

number ðxiÞ, the partition problem is to determine

whether we can partition X into two subsets such that the sums of their associated numbers are equal.

Let X ¼ fx1; x2; . . . ; xkg be an instance of the partition

problem. We construct an instance of the sensor dispatch decision problem as shown in Fig. 2. Initially, mobile sensors saand sbare located at laand lb, respectively, each

with initial energy ofPki¼1ðxiÞ. For each xi, i ¼ 1::k, we

TABLE 1 Summary of Notations

Fig. 2. Reduction of the partition problem to the sensor dispatch decision problem.

(4)

construct a location li such that the energy required to

move from both laand lbto liis ðxiÞ. Now, consider a

2k-round problem such that in the ð2i  1Þth 2k-round, an event appears at li, and in the ð2iÞth round, two events appear at

la and lb, i ¼ 1::k. We show that X has a solution if and

only if the dispatch problem has a solution.

Suppose that we have a solution to the sensor dispatch decision problem. The solution must dispatch one mobile sensor to one event location in each odd round and then dispatch the same mobile sensor back to its original location in the subsequent even round. That is, either sa or sb will move to li and move back in the

ð2i  1Þth and the ð2iÞth rounds, respectively. The total energy consumption of sa and sb is thus 2 Pki¼1ðxiÞ.

Since the initial energy of saand sb isPki¼1ðxiÞ, both sa

and sbexhaust their energy after 2k rounds. This implies

that saand sb have moved the same distance. Therefore,

the sets of locations visited by sa and sb all constitute a

solution to the partition problem. This proves the if part. Conversely, suppose that subsets Xa and Xb are a

solution to the partition problem. Then, in the ð2i  1Þth round, i ¼ 1::k, we can dispatch sa (respectively, sb) to

visit liif Xa (respectively, Xb) has an element associated

with a number ðxiÞ, and move it back in the ð2iÞth

round. Clearly, both sa and sb move the same distance

and exhaust their energy (i.e., Pki¼1ðxiÞ) in the ð2kÞth

round. This constitutes a solution to the sensor dispatch decision problem, thus, proving the only if part. tu

4

A C

ENTRALIZED

D

ISPATCH

A

LGORITHM

In this section, we propose a centralized algorithm to dispatch mobile sensors. The idea is to minimize their moving energy while keeping their energy consumption balanced after each round. Without loss of generality, we delete those mobile sensors that do not have sufficient energy to reach any location in L from S. Considering the values of jSj and jLj, there are two cases to be discussed. When jSj  jLj, we translate the dispatch problem to a maximum matching problem in a weighted complete bipartite graph. On the other hand, when jSj < jLj, we partition L into jSj clusters so that each mobile sensor only needs to visit one cluster of event locations. Then, the maximum matching approach is applied again.

4.1 Case ofjSj  jLj

We first construct a weighted complete bipartite graph G ¼ ðS [ L; S  LÞ. Each mobile sensor and event location is converted into a vertex. Edges only connect vertices

between S and L. For each si2 S and each lj2 L, its

weight is defined as wðsi; ljÞ ¼ emove dðsi; ljÞ. Then, the

sensor dispatch problem is formulated as the problem of finding a matching M in G such that

1. The number of matches is maximum.

2. The sum of the weights associated with all matches is as small as possible.

3. The standard deviation of the weights associated

with all matches is as small as possible.

Note that objective 1 is a necessary condition in our algorithm. However, minimum values for both objectives 2 and 3 may not always be achieved, but keeping them small is our goal.

Below, we propose a heuristic to find M:

1. For each location lj2 L, we associate with it a

preference list Pj, which contains all mobile sensors

ranked by their weights in correspondence with liin

an ascending order. In case of tie, sensors’ IDs are used to break the tie.

2. Construct a queue Q containing all locations in L.1 3. To achieve objective 3, we create a bound Bjfor each

location lj2 L to restrict the mobile sensors that lj

can match with. Initially, we set Bj¼ wðsi; ljÞ such

that si is the th element in lj’s preference list Pj,

where  is a system parameter.

4. Dequeue an event location, say, ljfrom Q.

5. To achieve objective 2, we select the first candidate mobile sensor, say, si from Pj, and try to match si

with lj. If si is also unmatched, we add the match

ðsi; ljÞ into M and remove sifrom Pj. Otherwise, si

must have matched with another location, say, lo.

Then, ljand lowill compete by their bounds Bjand

Bo. Location lj wins the competition if one of these

conditions is true:

a. Bj> Bo: Since lj has raised to a higher bound,

we match si with lj.

b. Bj¼ Boand wðsi; ljÞ < wðsi; loÞ: Since moving si

to ljis more energy efficient, we match siwith lj.

c. Bj¼ Bo, siis the only candidate of lj, and lohas

more than one candidate: In this case, if siis not

matched with lj, ljhas to increase its bound Bj.

However, lomay not increase its bound Boif siis

not matched with lo. Thus, we match siwith lj.

If ljwins the competition, we replace the pair ðsi; loÞ

in M by ðsi; ljÞ, remove sifrom Pj, enqueue lointo Q,

and go to step 7. Otherwise, we remove si from Pj

(since ljwill not consider siany more) and go to step 6.

6. If ljstill has candidates in Pj(under bound Bj), go to

step 5 directly. Otherwise, we increase lj’s bound to

Bj¼ wðsk; ljÞ such that sk is the th element in the

current Pjand then go to step 5. (Note that since Pjis

sorted in an ascending order and the first mobile sensor siis always removed from Pjafter step 5, we

will obtain a new larger bound Bj¼ wðsk; ljÞ >

wðsi; ljÞ.)

7. If Q is empty, the algorithm terminates; otherwise, go to step 4.

Since jSj  jLj, each event location will eventually find a mobile sensor to match with. Thus, the above algorithm must terminate and return a maximum matching. Here, the bound of an event location implicitly indicates that if the current candidate mobile sensor cannot match with the event location, the event location may possibly match with another mobile sensor of a distance equal to that bound. Since we want to balance the energy consumption among mobile sensors by preventing some mobile sensors from moving too long distances, we should avoid raising the bounds of event locations. The system parameter  determines the number of candidate mobile sensors and the bound. We suggest setting  > 1and will discuss the effect of  in Section 6.6.

1. It can be verified that any order of the locations in Q can lead to the same result in our scheme. So, we do not specify the order in this step.

(5)

Fig. 3 gives an example, where  ¼ 2. The energy cost to move each mobile sensor to each event location is given in Fig. 3a. Let Q ¼ fl1; l2; l3g. Fig. 3b shows the running

iterations. In iteration 1, l1 has two candidates s1 and s2 in

its P1and sets bound B1¼ wðs2; l1Þ ¼ 99. Since s1is l1’s first

candidate and s1 is also unmatched, we match s1 with l1.

Similarly, s2is matched with l2. In iteration 2, l3finds that its

first candidate s1 has already matched with l1, it thus

competes with l1by their bounds. Since B3¼ 111 > B1¼ 99,

we thus replace the pair ðs1; l1Þ by ðs1; l3Þ in M. In iteration 3,

l1checks its remaining candidates and competes with l2for

s2. However, because B1¼ 99 < B2¼ 127, l1 loses the

competition. Therefore, in iteration 4, l1expands its bound

as B1¼ wðs4; l1Þ ¼ 231 and matches with its first candidate

s3. The final result is M ¼ fðs3; l1Þ; ðs2; l2Þ; ðs1; l3Þg.

We then analyze the time complexity of the above algorithm. Recall that jLj ¼ m and jSj ¼ n. Calculating the preference lists of all event locations takes Oðmn lg nÞ time. The worst case to match an event location with a mobile sensor is OðnÞ because the event location has to go through its whole preference list. Thus, computing the maximum matching M takes OðmnÞ time. Therefore, the total time complexity is Oðmn lg n þ mnÞ ¼ Oðmn lg nÞ.

4.2 Case ofjSj < jLj

When mobile sensors are fewer than event locations, we divide L into nð¼ jSjÞ clusters ^L1; ^L2; . . . ; ^Ln and dispatch

one mobile sensor to visit one cluster of event locations. The algorithm is outlined as follows: Let ~L ¼ f^L1; ^L2; . . . ; ^Lng.

We construct a weighted complete bipartite graph G0¼

ðS [ ~L; S  ~LÞ such that the vertex set contains S (all mobile sensors) and ~L (all clusters), and the edge set contains all

ðsi; ^LjÞ such that si2 S and ^Lj2 ~L. The weight of ðsi; ^Lj) is

defined as wðsi; ^LjÞ ¼ emove ðdðsi; ^LjÞ þ ð^LjÞÞ, where

dðsi; ^LjÞ is the distance from sito the nearest event location

in ^Ljand ð^LjÞ is the moving distance for sito visit all event

locations in ^Lj(below, we call ð^LjÞ the cluster cost). Then,

we adopt the algorithm in Section 4.1 to find a maximum matching M on G0. For each ðs

i; ^LjÞ 2 M, we dispatch sito

the nearest event location in ^Lj and then apply any TSP

solution for si to visit other event locations in ^Lj.

There are two remaining issues in the above algorithm: 1) how to estimate cluster costs and 2) how to cluster event locations. For issue 1, since the TSP problem is NP-complete and it is not yet known which mobile sensor will visit which cluster (different mobile sensors may land at different initial locations of a cluster), we need to estimate a value for each

ð^LjÞ. Since some TSP heuristics [10] are based on

constructing a minimum spanning tree from the nodes to be visited, we propose letting ð^LjÞ be the sum of all edge

weights2in the minimum spanning tree of ^Lj. Fig. 4a shows

an example, where ðAÞ ¼ 50, ðBÞ ¼ 12, ðCÞ ¼ 15, and ðDÞ ¼ 68. For issue 2, we introduce three schemes below.

K-means clustering scheme [40]. This scheme groups

event locations based on their relative distances in the sensing field such that those locations close to each other are grouped together. Initially, L is randomly partitioned into jSj nonempty clusters. Then, an iterative process is conducted. In each iteration, the central point of each cluster is computed. Explicitly, given a cluster of locations fðx1; y1Þ; ðx2; y2Þ; . . . ; ðxp; ypÞg, its central point is calculated

as ð1 p

Pp

i¼1xi;1pPpi¼1yiÞ. Then, L is repartitioned such that

2. The weight of an edge ðli; ljÞ is the distance between liand lj.

(6)

locations closest to the same central point are put into the same cluster. The process is repeated until no cluster is changed. Fig. 4a shows an example by assuming jSj ¼ 4.

The time complexity of the K-means clustering scheme is OðjSj  jLj  Þ ¼ OðmnÞ, where  is the number of iterations to perform K-means for clustering. According to [40],  usually ranges from tens to hundreds.

MaxMin clustering scheme. The K-means clustering

scheme could be inefficient when the distribution of event locations is irregular or sparse. For example, l1 and l10 in

Fig. 4a are far away from other locations, and thus, considered sparse. Therefore, we propose a MaxMin cluster-ing scheme that is based on the result of K-means and then iteratively split and merge some clusters to obtain better clustering. Intuitively, clusters with sparse locations should be split. In each iteration, we first construct the minimum spanning tree of each cluster. Let wintra

max be the maximum of

the maximum edge weight in each cluster among all clusters and winter

min be the minimum of the distances between

all cluster pairs, where the distance between two clusters is the distance between the two closest locations in the two clusters. We split the cluster which contains the edge with weight wintra

max by removing that edge. Then, among all jSj þ 1

clusters, we merge two clusters with distance winter min. The

above operation is repeated until wintra

max  wintermin. This scheme

can avoid clusters containing very long edges, thereby reducing the energy costs for mobile sensors to visit clusters. Figs. 4a and 4b give an example. In Fig. 4a, wintra

max ¼

50(in cluster D) and winter

min ¼ 15 (between clusters A and B).

We thus split cluster D into two clusters D1 and D2, and

then merge clusters A and B, as shown in Fig. 4b. Now, we have wintra

max ¼ 40 and wintermin ¼ 20, enforcing us to further split

A0 and then to merge C and D1. After this operation, we

have wintra

max ¼ 20 and wintermin ¼ 40. Thus, the scheme

termi-nates and the final result is shown in Fig. 4b.

The time complexity of the MaxMin clustering scheme is analyzed as follows: Since there are jLj ¼ m event locations, we needmðm1Þ2 edges to connect each pair of locations (in a complete graph). The worst case occurs when one half of these mðm1Þ2 edges belong to intracluster edges (after executing K-means) and the other half of them belong to intercluster edges. We then build a maximum binary heap

max and a minimum binary heap min to maintain all

intracluster and intercluster edges, respectively. Building a heap requires Oðmðm1Þ4 Þ ¼ Oðm2Þ time. Recall that in each

iteration of MaxMin, we find the edges with weights wintra max

Fig. 4. Examples of clustering results: (a) the K-means clustering scheme, (b) the MaxMin clustering scheme, and (c) the balanced clustering scheme.

(7)

and winter

min and then exchange them (i.e., let the edge with

weight wintra

max become an intercluster edge and the edge with

weight winter

min become an intracluster edge) if wintramax  wintermin.

Thus, one iteration involves four operations in the two heaps: deletion of the maximum in max, deletion of the

minimum in min, insertion of wintramax into min, and insertion

of winter

min into max. Each of these four operations takes

Oðlg m2Þ ¼ Oð2 lg mÞ time. Thus, the total time to complete

one iteration in MaxMin is 4  Oð2 lg mÞ ¼ Oð8 lg mÞ. Now, we calculate how many iterations are executed in MaxMin. The worst case occurs when max contains the edges with

the smallest mðm1Þ4 weights and min contains the edges

with the largest mðm1Þ4 weights. In this case, MaxMin is executed until maxand minexchange all of their edges. So,

there are totallymðm1Þ4 iterations in the worst case. Thus, the total time complexity of MaxMin is

ðtime to execute K-meansÞ þ ðtime to build maxand minÞ

þ time to execute mðm  1Þ 4 iterations   ¼ OðmnÞ þ 2Oðm2Þ þmðm  1Þ 4  Oð8 lg mÞ ¼ Oðmn þ m2lg mÞ:

Balanced clustering scheme. The MaxMin clustering

scheme can minimize the total cost of clusters, but it may lead to unbalanced clusters. Thus, we should try to reduce both the total cost of clusters and the standard deviation of clusters’ costs. To do so, we first cluster event locations by K-means. Then, we iteratively split and merge some clusters. In each iteration, we split the cluster with the maximum cost into two new clusters, say, ^ciand ^cj, such that jð^ciÞ  ð^cjÞj is

minimized. Then, among all jSj þ 1 clusters, we merge the two clusters into one new cluster, say, ^ck, such that ð^ckÞ is

minimized. This operation is repeated until the total cluster cost is no longer reduced. Figs. 4a and 4c show an example. In Fig. 4a, D has the maximum cost of ðDÞ ¼ 68, so we split it. There are two ways to split D. One is to split D into D1¼

fl8; l9g and D2¼ fl10g. The other way is to split D into D3¼

fl8g a n d D4¼ fl9; l10g. S i n c e jðD1Þ  ðD2Þj ¼ 18 <

jðD3Þ  ðD4Þj ¼ 50, we split D into D1and D2, as shown

in Fig. 4c. Then, we merge C and D1such that the new cluster

C0has the minimum cost of 53. In the next iteration, since C0

has the maximum cost, we split it into C0

1¼ fl6; l7g and

C0

2¼ fl8; l9g. However, among the five clusters A; B; C01; C02,

and D2, we have to merge C10and C20 because the cost of the

merged cluster is the smallest. Since the total cluster cost is still 115, the balanced clustering scheme terminates. The final result is shown in Fig. 4c.

The time complexity of the balanced clustering scheme is analyzed as follows: Clustering event locations (by K-means) takes OðmnÞ time. Calculating the cost of each cluster by constructing its minimum spanning tree can be done by the Prime’s algorithm [41]. The worst case occurs when one cluster contains ðm  n þ 1Þ locations and each of other ðn  1Þ clusters only contains one location. In this case, constructing the minimum spanning tree in the largest

cluster takes Oððm  n þ 1Þ2Þ time. Then, we build a

maximum heap C

max to maintain these n clusters, which

takes OðnÞ time. An iteration of the balanced clustering scheme involves the following four operations:

1. Delete the maximum in C

maxto find the cluster with

the maximum cost, which takes Oðlg nÞ time. 2. Split that cluster into two balanced clusters. The

worst case occurs when we have to search all tree edges in the cluster with ðm  n þ 1Þ locations. This takes Oðm  nÞ time.

3. Merge two clusters such that the cost of the new

cluster derived by merging these two clusters is minimized. Since there are ðn þ 1Þ clusters, this operation takes OðC2nþ1Þ ¼ Oðn2Þ time.

4. Insert the two new clusters into C

max, which takes

2Oðlg nÞ time.

Thus, an iteration takes Oðlg nÞ þ Oðm  nÞ þ Oðn2Þ þ

2Oðlg nÞ ¼ Oðn2Þ time. Since the balanced clustering scheme

stops when the total cluster cost is no longer reduced, the number of iterations should be no more than that of MaxMin. Therefore, the time complexity of the balanced clustering scheme is OðmnÞ þ Oððm  n þ 1Þ2Þ þ mðm1Þ4 Oðn2Þ ¼

Oðmn þ m2n2Þ.

We then analyze the total time complexity when jSj < jLj. Recall that it spends Oððm  n þ 1Þ2Þ time to calculate the costs of all clusters. Since j ~Lj ¼ n and jSj ¼ n, it takes Oðn2lg nÞ time to execute the algorithm in Section 4.1.

Therefore, if the K-means clustering scheme is adopted, the total time complexity is OðmnÞ þ Oððm  n þ 1Þ2Þ þ Oðn2lg nÞ ¼ Oðmn þ ðm  n þ 1Þ2

þ n2lg nÞ. If the MaxMin

clustering scheme is adopted, the total time complexity is Oðmn þ m2lg mÞ þ Oððm  n þ 1Þ2Þ þ Oðn2lg nÞ

¼ Oðmn þ m2lg mÞ:

Finally, since the balanced clustering scheme has already calculated the cost of each cluster, the total time complexity is Oðmn þ m2n2Þ þ Oðn2lg nÞ ¼ Oðmn þ m2n2Þ.

5

A D

ISTRIBUTED

D

ISPATCH

A

LGORITHM

In this section, we propose a distributed heuristic based on a grid structure. There are three challenges. First, how can we efficiently exchange the messages between event locations and mobile sensors so that they can know each other? Second, how can one event location compete for a mobile sensor when the event location is not aware of other event locations? Third, since it is difficult to cluster event locations, how can we handle the case when jSj < jLj? To address the above challenges, we propose a distributed algorithm outlined as follows: We partition the sensing field into grids and elect one static sensor as the grid head in each grid. Mobile sensors report their locations and remaining energy to their grid heads. On detecting events, static sensors notify their grid heads of the events. A grid with events is called an event grid. We assume that all sensors are roughly time-synchronized (how to do so is beyond the scope of this work). The time is divided into multiple rounds and each round is further divided into three phases (refer to Fig. 5). In the dissemination phase, each grid head collects the locations of events and mobile sensors in that grid. Then, the existence of mobile sensors is advertised (respectively, queried) by grids with mobile sensors (respectively, event grids). In the competition phase, event grids bid for mobile sensors by sending invitation messages. Then, mobile sensors determine their target grids

(8)

and compute their dispatch schedules. Finally, in the dispatch phase, mobile sensors travel according to their dispatch schedules and visit all event locations in these grids. Lengths of these phases depend on situations. Note that strict time synchronization of these phases is not necessary.

To balance the energy consumption among mobile sensors, event grids adopt the bound concept in Section 4.1 to bid for mobile sensors. Specifically, each event grid maintains a preference list that ranks all mobile sensors by their energy costs. For competition purpose, it also maintains a bound. Then, event grids send invitation (INV) messages containing their bounds to bid for mobile sensors. On the

other hand, each mobile sensor si maintains a dispatch

schedule DSito record its target grids. Each silimits the size

of its DSito dmne, where m is the number of event grids and n

is the number of mobile sensors (how to obtain m and n will

be discussed later). On receiving an INV, si does not

immediately reply its decision but will continuously collect more INVs for a small duration t(it can be a few of average

packet round-trip time). Then, si determines the winners

(based on event grids’ bounds), inserts them into its DSi, and

replies a confirmation (CFM) message to each of them. For each nonwinning grid, si replies a reject (RJT) message

containing the remaining number of free entries in its DSi.

An event grid removes those mobile sensors with no remaining capacity from its preference list and tries to invite other mobile sensors until a CFM is received or all mobile sensors run out of their capacities in this round. Note that a mobile sensor may scan its preference list more than once (explained later).

There are four remaining issues in the above discussion: 1. How event grids collect locations of mobile sensors

in a message-efficient way?

2. How event grids bid for mobile sensors?

3. How mobile sensors accept bids and determine their dispatch schedules?

4. How mobile sensors visit event locations in an

energy-efficient way?

Fig. 5 relates these issues to our three phases.

To address issue 1, we adopt the grid-quorum scheme in [11]. Each grid with mobile sensors periodically sends an advertisement (ADV) message containing the locations and remaining energy of the mobile sensors inside its grid to other grids in the same column. On the other hand, each event grid sends a request (REQ) message to other grids in the same row. This behavior ensures that each ADV and each REQ will intersect. Fig. 6 gives an example. Grid ð0; 1Þ with two mobile sensors sends an ADV along its column, while event grid ð2; 3Þ sends an REQ along its row to search for mobile sensors. When an REQ meets an ADV, a reply

(RPY) message containing the mobile sensors in the ADV is sent back to the REQ-initiating grid. Also, an RPY containing the event locations in the REQ is sent back to the ADV-initiating grid. In this way, both ADV-ADV-initiating and REQ-initiating grids can obtain each other’s information. Note that when some grids are empty, the intersection property of the grid-quorum scheme may not exist. In this case, some recovery mechanism may be applied [11].

We then analyze the message complexity of the above scheme. Assume that the sensing field is partitioned into

^

M ^N grids. For each event grid, it takes ð ^M 1Þ REQs to make other grids in the same row to obtain its information. Similarly, for each grid containing mobile sensors, it takes ð ^N 1Þ ADVs to make other grids in the same column to obtain its information. Suppose that there are m event grids and n mobile sensors. The worst case occurs when n grids contain mobile sensors. Since a grid that hears both ADV and REQ has to send RYPs to the ADV-initiating and REQ-initiating grids, the message complexity of this scheme is Oð2ðmð ^M 1Þ þ nð ^N 1ÞÞÞ ¼ Oðm ^Mþ n ^NÞ.

To deal with issue 2, event grids bid for mobile sensors as follows:

1. Each event grid gjcalculates the energy cost for each

mobile sensor si to visit its grid. The cost is

formulated by wðsi; gjÞ ¼ emove ðdðsi; jÞ þ ðLjÞÞ,

where j is the center of all events in gj and Lj is

the set of event locations in gj. Then, gj sorts all

available mobile sensors into a preference list Pj

according to their costs in an ascending order. Note that if the remaining energy of a mobile sensor cannot afford to visit gj, it is removed from Pj. If Pjis empty,

gj does not participate in this round but may

participate in future rounds.

2. Each event grid gj maintains an iteration counter j

and a bound Bj. Initially, j¼ 1 and Bj¼ wðsi; gjÞ,

where si is the th mobile sensor in Pj. Also, each

mobile sensor in Pj is marked as unsolicited. It is

changed to solicited if gjhas ever sent an INV to the

mobile sensor in the current iteration. A mobile sensor siin Pjis called a candidate for gjif it is unsolicited and

wðsi; gjÞ  Bj.

3. Each event grid gj selects the first candidate mobile

sensor, say, si from Pj, and sends si an INVðgj;

j; wðsi; gjÞ; Bj; cj; nÞ, where cj is the remaining

Fig. 5. Phases of a round in the distributed dispatch algorithm.

(9)

number of candidates in Pjunder bound Bjand n is

the number of mobile sensors that gj learns in the

dissemination phase. Then, gjwaits for si’s response.

If gj receives a CFM from si, this algorithm

terminates. Otherwise, gj should receive an RJT

containing si’s remaining capacity. If gj finds that

si’s remaining capacity is zero, it removes sifrom its

Pj; otherwise, gj marks si as solicited and one of

three cases will happen:

a. If gj still has candidates under bound Bj, it

repeats step 3 again.

b. If gjhas no candidate under bound Bjand there

still exist unsolicited mobile sensors in Pj, gj

increases its bound to Bj¼ wðsk; gjÞ such that sk

is the th unsolicited mobile sensor in the current Pj and repeats step 3 again.

c. Otherwise, gjhas reached the end of its Pj. If Pj

is empty, the algorithm terminates; otherwise, gj

clears all entries in Pj as unsolicited, increases

its iteration counter j by 1, resets its bound as

Bj¼ wðsi; gjÞ such that si is the th unsolicited

mobile sensor in Pj, and repeats step 3 again.

The above case c occurs when gjfails to invite any

mobile sensor after examining all elements in its Pj.

In this case, gj enters the next iteration and

reexamines its Pjto check those mobile sensors still

with remaining capacities. As will be seen later, the counter jmay help gjwin a mobile sensor.

To deal with issue 3, each mobile sensor si maintains a

dispatch schedule DSi to record event girds that it has to

visit. The capacity of DSi is set to dmne (m can be learned

from the dissemination phase and n can be obtained from INVs). It may happen that the received values of n from INVs are inconsistent (the differences should be minor). If so, the largest value is taken. INVs are processed in a batch

mode after every t interval. Multiple INVs may be

accepted. For all INVs with the same iteration counter, only one event grid is accepted and the others are rejected. The following rules are enforced: If si has no remaining

capability, an RJT indicating that it has no capability is sent. Otherwise, all requesting event grids with the same iteration counter will compete for one position. Specifically, for two INVðgj; j; wðsi; gjÞ; Bj; cj; nÞ and INVðgk; k¼ j;

wðsi; gkÞ; Bk; ck; nÞ, gjwins if one of the following conditions

is true: 1) Bj> Bk, 2) Bj¼ Bk and wðsi; gjÞ < wðsi; gkÞ, and

3) Bj¼ Bk, cj¼ 1, and ck> 1. (These conditions are the

same as those in the centralized algorithm.) Then, si sends

out CFMs and RJTs, updates its DSi, and deducts its

remaining capability accordingly.

To deal with issue 4, we propose a two-level TSP scheme. Given the dispatch schedule DSi, si first applies any TSP

solution on DSiby regarding each event grid in DSias one

node (for example, this node can be the center of all event locations in the corresponding event grid). This TSP solution forms the first-level solution. For the second level, for each event grid in DSi, si can apply any TSP solution

again to visit all event locations inside that grid. Many TSP heuristics already exist, so we omit the details.

We then analyze the message complexity of our dis-tributed algorithm. For the competition phase, we consider

the worst case as follows: Suppose that there are m event grids fg1; g2; . . . ; gmg and n mobile sensors fs1; s2; . . . ; sng,

where m > n. Then, DSi of each sihas a capacity ofmn (for

simplicity, we assume that m is divisible by n). In the first iteration, m event grids compete for one mobile sensor, say, s1, and then only one event grid, say, g1, wins. In this case, m

event grids send m INVs and s1replies 1 CFM and ðm  1Þ

RJTs. Thus, the total number of messages is 2m. In the second iteration, ðm  1Þ event grids fg2; g3; . . . ; gmg

com-pete for one mobile sensor, say, s2, and then only one event

grid, say, g2, wins. Thus, the total number of messages is

2ðm  1Þ (because ðm  1Þ event grids send ðm  1Þ INVs and s2replies 1 CFM and ðm  2Þ RJTs). Similarly, in the ith

iteration, ðm  i þ 1Þ event grids compete for one mobile sensor, say, si, by sending ðm  i þ 1Þ INVs, and then si

replies 1 CFM and ðm  iÞ RJTs. So, the total number of messages is 2ðm  i þ 1Þ. Since there are at most m iterations, the overall number of messages in the competi-tion phase is 2m þ 2ðm  1Þ þ    þ 2 ¼ 2 Pmi¼1i¼ mðm þ 1Þ. In the dispatch phase, mobile sensors move to event locations to conduct event analysis. However, there is no need to exchange messages for determining the dispatch schedules of mobile sensors. Therefore, the total message complexity of our distributed algorithm is Oðm ^Mþ n ^NÞ þ Oðmðm þ 1Þ  hÞ ¼ Oðm ^Mþ n ^Nþ m2hÞ, where the sensing

field is partitioned into ^M ^N grids and h is the network diameter (i.e., the average hop count between sources and destinations).

Remark 1.The length of the dissemination phase depends

on the applications. Specifically, when events occur frequently, a shorter dissemination phase should be used. Otherwise, a longer dissemination phase can be adopted. One possible way to determine the length of the dissemination phase is to measure the frequency of events from historical statistics. For the competition phase, the worst case occurs when one event grid has to query all mobile sensors, each with dm

ne times, where m is

the number of event grids and n is the number of mobile sensors. Let RT T be the round-trip time for an event grid to query and get a response from a mobile sensor. The length of the competition phase can be set as dm

ne  n  RT T ð m  RT T Þ. Finally, for the dispatch phase,

its length depends on the longest traveling path for a mobile sensor to visit all event grids in its dispatch schedule. We can initially allocate a longer dispatch phase and then calculate the average time for mobile sensors to finish their dispatch schedules in a few rounds. This average time can help adjust the length of the dispatch phase in the following rounds.

Remark 2. There are three different designs between the

distributed algorithm and the centralized one. First, since both event grids and mobile sensors have no global knowledge, messages such as ADVs and REQs needed to be exchanged in the dissemination phase between event grids and mobile sensors. We adopt grid-quorum to facilitate such message exchanges. Second, unlike the centralized algorithm, an event grid does not know the existence of other event grids, so it has to send INVs to compete for mobile sensors. With INVs, we can realize the competition in a distributed manner. Third, since it is difficult to cluster event grids in a distributed manner,

(10)

we adopt the iteration counter i to handle the case

when event grids are more than mobile sensors. In this way, multiple event grids can choose the same mobile sensor to visit them.

6

E

XPERIMENTAL

R

ESULTS

To evaluate the performances of our proposed algorithms, we have developed a simulator in Java. In our simulator, the sensing field is set as a 450 m  300 m rectangle on which there are 400 static sensors randomly3deployed. The communication distance of each sensor is set to 80 m, and static sensors can form a connected network. In each simulation, we randomly select a number of static sensors as event locations (i.e., L) and randomly deploy a number of mobile sensors (i.e., S). The energy consumption of mobile sensors is the one caused by their movement. Since we focus on evaluating the energy efficiency of dispatch algorithms, we ignore the effect of communication impair-ments. In other words, we assume that communications are reliable and each mobile sensor can obtain the exact value of n (i.e., the total number of mobile sensors) from INVs. We set  ¼ 4 in our proposed algorithms. (We will discuss the effect of  on the system performance in Section 6.6.) The grid size is 15 m  15 m in the distributed algorithm, so the sensing field is partitioned into 30  20 grids. For each simulation, at least 100 experiments (with different random seeds) are repeated, and we take their average.

6.1 System Lifetime

We first investigate the system lifetime under different dispatch algorithms. The number of mobile sensors is 40. According to [42], the moving energy consumption of a mobile sensor is 0.21 J (joule) per inch (i.e., 8.27 J per meter). We assume that each mobile sensor is equipped with two batteries, each of energy capacity 1,350 mAh (milliampere-hour), for its moving energy, so we have einit

i ¼ 29;160 J for

i¼ 1::n. During each round, we randomly select 20, 80, and 140 static sensors as event locations. Mobile sensors then move to event locations based on the dispatch algorithms and stay at their last visiting locations to wait for their next dispatch schedules. We compare the centralized and distributed algorithms against the greedy algorithm dis-cussed in Section 1. When mobile sensors are fewer than event locations, the three clustering schemes in Section 4.2 are adopted to group event locations in the centralized algorithm. For the greedy algorithm, we dispatch mobile sensors to visit a subset L0 L of event locations, where

jL0j  jSj, and then make L ¼ L  L0. We iteratively repeat

the above procedure, until L is empty.

Table 2 shows the system lifetime under different dispatch algorithms. The greedy algorithm has the shortest system lifetime due to two reasons. First, the greedy algorithm does not balance the energy consumption among mobile sensors, which may lead some mobile sensors early to exhaust their energy. Second, the greedy algorithm does not cluster event locations when jLj > jSj, leading mobile sensors to move a longer distance. For the centralized algorithm, different clustering schemes affect the system lifetime when jLj > jSj. In particular, both the MaxMin and balanced clustering schemes help the centralized algorithm

result in a longer system lifetime because they adjust the clustering result of K-means to reduce the total cluster cost. When jLj ¼ 140, the balanced clustering scheme has a longer system lifetime than the MaxMin clustering scheme because the balanced clustering scheme not only reduces the total cluster cost but also tries to balance the costs among clusters. When jLj  80, the distributed algorithm has a longer system lifetime than the centralized algorithm. The reason is that the distributed algorithm clusters event locations into grids, and thus, reduces the energy consump-tion of mobile sensors to visit them. However, when jLj ¼ 140, since the number of event girds is large, mobile sensors may be asked to visit multiple event grids, and thus, move longer distances. We will further discuss the energy consumption of mobile sensors under different dispatching algorithms in Section 6.3.

6.2 Survived Mobile Sensors

We then examine the number of survived mobile sensors in each round under different dispatching algorithms. We consider two scenarios. In the scenario of jSj > jLj, we randomly select [10, 15] static sensors as event locations in each round. On the other hand, in the scenario of jSj < jLj, we randomly select [120, 160] static sensors as event locations in each round. The number of mobile sensors is 50.

Fig. 7a shows the result in the scenario of jSj > jLj. For the greedy algorithm, the first mobile sensor exhausts its energy very early in the 53rd round. After 248 rounds, all mobile sensors drain out their energy. For the centralized algorithm, since we have jSj > jLj in most rounds, the effect of different clustering schemes is not significant. The first mobile sensor exhausts its energy in the 440th round, and the system lifetime is 475 rounds. For the distributed algorithm, the first mobile sensor exhausts its energy in the 367th round, and the system lifetime is 546 rounds. With a grid structure, the distributed algorithm has a longer system lifetime than the centralized algorithm when jSj > jLj.

Fig. 7b shows the result in the scenario of jSj < jLj. For the greedy algorithm, the first mobile sensor exhausts its energy very early in the 9th round and the system lifetime is 25 rounds. For the centralized algorithm, different cluster-ing schemes affect the number of survived mobile sensors. Specifically, the first mobile sensor exhausts its energy in the 21st, 16th, and 23rd rounds under the K-means, MaxMin, and balanced clustering schemes, respectively. Note that since MaxMin may generate unbalanced clusters, it spends the fewest rounds to let the first mobile sensor exhaust the energy. The system lifetimes are 32, 31, and 33 rounds under the K-means, MaxMin, and balanced cluster-ing schemes, respectively. These results show the benefit of both balancing energy consumption of mobile sensors and 3. In our simulations, the term “random” means uniformly random.

TABLE 2

Comparison on the System Lifetime under Different Dispatching Algorithms

(11)

clustering event locations to extend the system lifetime. For the distributed algorithm, the first mobile sensor exhausts its energy in the 21st round and the system lifetime is 29 rounds. Without global information, the distributed algorithm has a shorter system lifetime than the centralized algorithm when jSj < jLj.

6.3 Energy Consumption

We then evaluate the energy consumption of mobile sensors under different dispatch algorithms. The number of mobile sensors is 20, and the number of events is ranged from 10 to 80. In the simulation, mobile sensors have infinite energy. We observe the average and standard deviation of energy consumption per mobile sensor per round.

Fig. 8a shows the average energy consumption of mobile sensors. The averages of energy consumption under all schemes increase when the number of event locations increases because each mobile sensor has to visit more event locations. For the greedy algorithm, when jLj  70, it has a smaller average than the centralized algorithm because the greedy algorithm always tries to minimize the total energy consumption of mobile sensors. However, when jLj ¼ 80, the greedy algorithm has a larger average than the centralized algorithm. This shows the necessity of clustering event locations, especially when the number of event locations is much larger than that of the mobile sensors (around jLj  4 jSj as shown in Fig. 8a). For the centralized algorithm, different clustering schemes have impacts on the average of

energy consumption when jLj  30. Both the MaxMin and balanced clustering schemes help the centralized algorithm to reduce the average of energy consumption because they try to adjust the clustering result of K-means by reducing the total cluster cost. For the distributed algorithm, it has a smaller average than the centralized algorithm when jLj  50. Interestingly, the distributed algorithm even incurs a smaller average than the greedy algorithm when jLj  20. This is due to two reasons. First, in the distributed algorithm, some mobile sensors might be asked to visit their current grids, thereby reducing their energy consumption. Second, each event grid automatically clusters those event locations inside itself. That is, it naturally clusters event locations when jSj  jLj. However, when jLj increases, the number of event grids may become larger, and thus, a mobile sensor may need to visit multiple event grids. In this case, since the distributed algorithm does not have global information, mobile sensors may need to move longer distances as compared to the centralized algorithm.

Fig. 8b shows the standard deviation of energy consump-tion of mobile sensors. The greedy algorithm has a larger standard deviation than the centralized algorithm (under the K-means and balanced clustering schemes). The reason is that the greedy algorithm does not balance the energy consump-tion among mobile sensors, which causes some mobile sensors to exhaust their energy earlier. For the centralized algorithm, different clustering schemes result in different standard deviations. The balanced clustering scheme has the Fig. 7. Comparison on the number of survived mobile sensors under

different dispatch algorithms. (a) Scenario ofjSj > jLj. (b) Scenario of jSj < jLj.

Fig. 8. Comparison on the energy consumption of mobile sensors under different dispatch algorithms. (a) Average of energy consumption. (b) Standard deviation of energy consumption.

(12)

smallest standard deviation because it tries to balance the costs among clusters. On the other hand, the standard deviation of the MaxMin clustering scheme significantly increases when jLj increases. The reason is that the MaxMin clustering scheme tries to reduce the overall cluster cost, resulting in unbalanced clusters. (We will further discuss this issue in Section 6.4.) For the distributed algorithm, since event grids are not clustered and they do not have global knowl-edge, some mobile sensors may be asked to visit more event grids, thereby increasing the standard deviation.

From Fig. 8, we conclude that the distributed algorithm can reduce the average energy consumption of mobile sensors when there are fewer event locations, but increase the standard deviation of energy consumption of mobile sensors. With the K-means and MaxMin clustering schemes, the centralized algorithm can reduce both the average and standard deviation of energy consumption of mobile sensors.

6.4 Impact of Clustering

We then evaluate the clustering results derived by different schemes. We set the number of mobile sensors as 20 and randomly select 30, 40, 50, 60, 70, and 80 static sensors as event locations. We compare the K-means, MaxMin, and balanced clustering schemes.

Fig. 9a shows the average cluster costs under different schemes. The MaxMin clustering scheme has the minimum

average cluster cost because it always splits the cluster with the longest intracluster edge and then merges two clusters with the shortest intercluster edge. In this way, the total cluster cost is greatly reduced. On the other hand, the balanced clustering scheme also adjusts the clustering result of K-means by splitting the cluster with the maximum cost, thus incurring a smaller average cluster cost.

Fig. 9b shows the standard deviation of cluster costs under different schemes. Since the MaxMin clustering scheme has a goal of reducing the total cluster cost, it may generate unbalanced clusters, thus increasing the standard deviation. This effect is more prominent when the number of event locations increases. In Fig. 9b, when jLj ¼ 30, the MaxMin clustering scheme has a smaller standard deviation than K-means. The reason is that the average number of event locations in each cluster is only 1.5. By adjusting the clustering result of K-means, the MaxMin clustering scheme could have more balanced clusters. On the other hand, the balanced clustering scheme has the minimum standard deviation because it tries to balance the costs between two split clusters.

In Fig. 9b, the MaxMin clustering scheme has the largest standard deviation. This is because MaxMin always groups sparse event locations into zero-cost one-node clusters. Fig. 10 shows the ratio of one-node clusters under different schemes. When jLj ¼ 30, the ratios of all schemes are more than 60 percent because the average number of event locations in each cluster is smaller than 2. When jLj increases, the ratio tends to decrease. Such an effect is more significant under the K-means and balanced clustering schemes. The ratio of MaxMin is always larger than 37.8 percent, which makes its standard deviation increase (as shown in Fig. 9b). On the other hand, since the balanced clustering scheme has the smallest ratio, it can result in more balanced clusters.

6.5 Communication Cost

We then measure the number of messages incurred by the centralized and distributed algorithms. We set 10  jLj  80and let jSj ¼ jLj. The centralized algorithm may incur the following message costs:

1. The sink (or the server) broadcasts commands to all static and mobile sensors to ask them to report their current states.

Fig. 9. Comparison on the cluster costs under different schemes. (a) Average of cluster costs. (b) Standard deviation of cluster costs.

Fig. 10. Comparison on the ratio of one-node clusters under different schemes.

(13)

2. Static sensors report any detected event.

3. Mobile sensors report their locations and remaining energy to the sink.

4. The sink transmits its dispatch schedules to all

mobile sensors.

Fig. 11 shows the numbers of messages sent by both algorithms. The centralized algorithm incurs more message exchanges because the sink needs to notify all sensors to report their information through network flooding.4On the other hand, the grid structure makes the distributed algorithm more message efficient for two reasons. First, no costly flooding is incurred. Second, only grid heads need to conduct intergrid message exchanges.

6.6 Effect of  Value

We finally investigate the effect of the system parameter  on the performance of the centralized algorithm. To eliminate the effect of clustering, we set the numbers of both event locations and mobile sensors as 20 and 80. The value of  is increased from 1 to 10. We observe the average and standard deviation of energy consumption of mobile sensors, as shown in Fig. 12. The average energy consump-tion decreases while the standard deviaconsump-tion of energy consumption increases when  grows. The reason is that each event location can have more candidate mobile sensors and its bound value will increase faster. In this case, some event locations could match mobile sensors closer to them, thereby reducing the total energy consumption of mobile sensors. On the other hand, some other event locations may be asked to match mobile sensors relatively farther from them, and thus, make the energy consumption of mobile sensors unbalanced. In Fig. 12, we find the best value of  to be around 4 or 5 since both the average and standard deviation of energy consumption can be kept quite small.

7

C

ONCLUSIONS AND

F

UTURE

W

ORK

In this paper, we have proposed energy-balanced centralized and distributed algorithms to efficiently dispatch mobile sensors in a hybrid WSN. We formulate a general sensor dispatch problem that allows an arbitrary relationship

between the numbers of mobile sensors and event locations. Our dispatch algorithms can extend the system lifetime by reducing and balancing the energy consumption of mobile sensors. In the centralized algorithm, when there are more mobile sensors, we translate the sensor dispatch problem into a maximum matching problem in a weighted complete bipartite graph. On the other hand, when there are more event locations, they are grouped into clusters and then each mobile sensor is assigned to one cluster of event locations. In the distributed algorithm, a grid-quorum approach is adopted to reduce the message complexity for event grids to obtain the information of mobile sensors. Then, by applying the bound concept in the centralized algorithm, event grids can bid for mobile sensors. Mobile sensors then apply the proposed two-level TSP scheme to visit event locations. Simulation results have shown that our proposed dispatch algorithms can extend the system lifetime compared to the greedy algorithm. Next, we give several future research topics. In this work, we consider dispatching mobile sensors in a sensing field without obstacles. Several studies [43], [44], [45] have discussed how to find the shortest path for a mobile sensor to reach its destination without colliding with any obstacle. These results can help extend our dispatch solutions. In addition, we make several assumptions on the movement model of mobile sensors such as uniform moving speed and uniform energy consumption. How to relax these assump-tions deserves further investigation. Finally, for some 4. Here, we adopt the naive flooding scheme. Although a more efficient

broadcast scheme can be used, it is out of the scope of this work. Fig. 11. Comparison on the number of messages incurred by the centralized and distributed algorithms.

Fig. 12. Effect of  value on the average and standard deviation of energy consumption of mobile sensors. (a) Twenty event locations. (b) Eighty event locations.

(14)

critical event applications, events have their time con-straints. Thus, a more challenging issue is how to dispatch mobile sensors to event locations with delay constraints.

A

CKNOWLEDGMENTS

Y.-C. Tseng’s research is cosponsored by the MoE ATU Plan, by the NSC under grant nos. 3114-E-009-001, 97-2221-E-009-142-MY3, 019, and 98-2219-E-009-005, by the MOEA under grant nos. 98-EC-17-A-02-S2-0048 and 98-EC-17-A-19-S2-0052, and by the ITRI, Taiwan.

R

EFERENCES

[1] G. Cao, G. Kesidis, T.F.L. Porta, B. Yao, and S. Phoha, “Purposeful Mobility in Tactical Sensor Networks,” Sensor Network Operations, Wiley-IEEE Press, 2006.

[2] Y.C. Wang and Y.C. Tseng, “Intentional Mobility in Wireless Sensor Networks,” Wireless Networks: Research, Technology and Applications, Nova Science Publishers, 2009.

[3] M.A. Batalin, M. Rahimi, Y. Yu, D. Liu, A. Kansal, G.S. Sukhatme, W.J. Kaiser, M. Hansen, G.J. Pottie, M. Srivastava, and D. Estrin, “Call and Response: Experiments in Sampling the Environment,” Proc. ACM Int’l Conf. Embedded Networked Sensor Systems, pp. 25-38, 2004.

[4] T. Wark, P. Corke, P. Sikka, L. Klingbeil, G. Ying, C. Crossman, P. Valencia, D. Swain, and G. Bishop-Hurley, “Transforming Agriculture through Pervasive Wireless Sensor Networks,” IEEE Pervasive Computing, vol. 6, no. 2, pp. 50-57, Apr.-June 2007. [5] Y.C. Tseng, Y.C. Wang, K.Y. Cheng, and Y.Y. Hsieh, “iMouse: An

Integrated Mobile Surveillance and Wireless Sensor System,” Computer, vol. 40, no. 6, pp. 60-66, June 2007.

[6] R. Rao and G. Kesidis, “Purposeful Mobility for Relaying and Surveillance in Mobile Ad Hoc Sensor Networks,” IEEE Trans. Mobile Computing, vol. 3, no. 3, pp. 225-231, July 2004.

[7] Y.G. Mei, Y.H. Lu, Y.C. Hu, and C.S.G. Lee, “Deployment Strategy for Mobile Robots with Energy and Timing Constraints,” Proc. IEEE Int’l Conf. Robotics and Automation, pp. 2816-2821, 2005. [8] B.I. Kim, J. Shin, S. Jeong, and J. Koo, “Effective Overhead Hoist

Transport Dispatching Based on the Hungarian Algorithm for a Large Semiconductor FAB,” Int’l J. Production Research, vol. 47, no. 10, pp. 2823-2834, 2009.

[9] H.W. Kuhn, “The Hungarian Method for the Assignment Problem,” Naval Research Logistics Quarterly, vol. 2, pp. 83-97, 1955.

[10] M. Blaser, “A New Approximation Algorithm for the Asymmetric TSP with Triangle Inequality,” Proc. ACM-SIAM Symp. Discrete Algorithms, pp. 638-645, 2003.

[11] I. Stojmenovi, “A Routing Strategy and Quorum Based Location Update Scheme for Ad Hoc Wireless Networks,” Technical Report TR-99-09, Computer Science, School of Information Technology and Eng., Univ. of Ottawa, Sept. 1999.

[12] Z.J. Haas and B. Liang, “Ad Hoc Mobility Management with Uniform Quorum Systems,” IEEE/ACM Trans. Networking, vol. 7, no. 2, pp. 228-240, Apr. 1999.

[13] Y.G. Mei, Y.H. Lu, Y.C. Hu, and C.S.G. Lee, “A Mobility Management and Routing Protocol Using Tree Architecture for Internet Connectivity of Mobile Ad Hoc Networks,” Proc. IEEE Int’l Conf. Computer Comm. and Networks, pp. 967-972, 2007. [14] N. Li, J.C. Hou, and L. Sha, “Design and Analysis of an

MST-Based Topology Control Algorithm,” IEEE Trans. Wireless Comm., vol. 4, no. 3, pp. 1195-1206, May 2005.

[15] J. Wu and F. Dai, “Mobility-Sensitive Topology Control in Mobile Ad Hoc Networks,” IEEE Trans. Parallel and Distributed Systems, vol. 17, no. 6, pp. 522-535, June 2006.

[16] T. Camp, J. Boleng, and V. Davies, “A Survey of Mobility Models for Ad Hoc Network Research,” Wireless Comm. and Mobile Computing, vol. 2, no. 5, pp. 483-502, 2002.

[17] T. Balch and R.C. Arkin, “Behavior-Based Formation Control for Multirobot Teams,” IEEE Trans. Robotics and Automation, vol. 14, no. 6, pp. 926-939, Dec. 1998.

[18] M.J. Mataric, G.S. Sukhatme, and E.H. Ostergaard, “Multi-Robot Task Allocation in Uncertain Environments,” Autonomous Robots, vol. 14, pp. 255-263, 2003.

[19] M. Asada, E. Uchibe, and K. Hosoda, “Co-Operative Behaviour Acquisition for Mobile Robots in Dynamically Changing Real Worlds via Vision-Based Reinforcement Learning and Develop-ment,” Artificial Intelligence, vol. 110, pp. 275-292, 1999.

[20] K.H. Park, Y.J. Kim, and J.H. Kim, “Modular Q-Learning Based Milti-Agent Cooperation for Robot Soccer,” Robotics and Autono-mous Systems, vol. 35, pp. 109-122, 2001.

[21] C.F. Touzet, “Distributed Lazy Q-Learning for Cooperative Mobile Robots,” Int’l J. Advanced Robotic Systems, vol. 1, no. 1, pp. 5-13, 2004.

[22] B.P. Gerkey and M.J. Mataric, “A Formal Analysis and Taxonomy of Task Allocation in Multi-Robot Systems,” Int’l J. Robotics Research, vol. 23, no. 9, pp. 939-954, 2004.

[23] Z. Butler and D. Rus, “Event-Based Motion Control for Mobile-Sensor Networks,” IEEE Pervasive Computing, vol. 2, no. 4, pp. 34-42, Oct. 2003.

[24] P. Basu and J. Redi, “Movement Control Algorithms for Realization of Fault-Tolerant Ad Hoc Robot Networks,” IEEE Network, vol. 18, no. 4, pp. 36-44, July/Aug. 2004.

[25] J. Wu and S. Yang, “SMART: A Scan-Based Movement-Assisted Sensor Deployment Method in Wireless Sensor Networks,” Proc. IEEE INFOCOM, pp. 2313-2324, 2005.

[26] Y. Zou and K. Chakrabarty, “Sensor Deployment and Target Localization in Distributed Sensor Networks,” ACM Trans. Embedded Computing Systems, vol. 3, no. 1, pp. 61-91, 2004. [27] N. Heo and P.K. Varshney, “Energy-Efficient Deployment of

Intelligent Mobile Sensor Networks,” IEEE Trans. Systems, Man and Cybernetics—Part A: Systems and Humans, vol. 35, no. 1, pp. 78-92, Jan. 2005.

[28] G. Wang, G. Cao, and T.F.L. Porta, “Movement-Assisted Sensor Deployment,” IEEE Trans. Mobile Computing, vol. 5, no. 6, pp. 640-652, June 2006.

[29] Y.C. Wang, C.C. Hu, and Y.C. Tseng, “Efficient Placement and Dispatch of Sensors in a Wireless Sensor Network,” IEEE Trans. Mobile Computing, vol. 7, no. 2, pp. 262-274, Feb. 2008.

[30] Y.C. Wang and Y.C. Tseng, “Distributed Deployment Schemes for Mobile Wireless Sensor Networks to Ensure Multilevel Cover-age,” IEEE Trans. Parallel and Distributed Systems, vol. 19, no. 9, pp. 1280-1294, Sept. 2008.

[31] C. Sharp, S. Schaffert, A. Woo, N. Sastry, C. Karlof, S. Sastry, and D. Culler, “Design and Implementation of a Sensor Network System for Vehicle Tracking and Autonomous Interception,” Proc. IEEE European Workshop Wireless Sensor Networks, pp. 93-107, 2005. [32] M.D. Naish, E.A. Croft, and B. Benhabib, “Dynamic Dispatching of Coordinated Sensors,” Proc. IEEE Int’l Conf. Systems, Man, and Cybernetics, pp. 3318-3323, 2000.

[33] Y. Zou and K. Chakrabarty, “Distributed Mobility Management for Target Tracking in Mobile Sensor Networks,” IEEE Trans. Mobile Computing, vol. 6, no. 8, pp. 872-887, Aug. 2007.

[34] A. Verma, H. Sawant, and J. Tan, “Selection and Navigation of Mobile Sensor Nodes Using a Sensor Network,” Pervasive and Mobile Computing, vol. 2, no. 1, pp. 65-84, 2006.

[35] G. Wang, G. Cao, P. Berman, and T.F.L. Porta, “Bidding Protocols for Deploying Mobile Sensors,” IEEE Trans. Mobile Computing, vol. 6, no. 5, pp. 563-576, May 2007.

[36] G. Wang, G. Cao, T.F.L. Porta, and W. Zhang, “Sensor Relocation in Mobile Sensor Networks,” Proc. IEEE INFOCOM, pp. 2302-2312, 2005.

[37] X. Li, N. Santoro, and I. Stojmenovic, “Localized Distance-Sensitive Service Discovery in Wireless Sensor and Actor Networks,” IEEE Trans. Computers, vol. 58, no. 9, pp. 1275-1288, Sept. 2009. [38] N. Bulusu, J. Heidemann, and D. Estrin, “GPS-Less Low-Cost

Outdoor Localization for Very Small Devices,” IEEE Personal Comm., vol. 7, no. 5, pp. 28-34, Oct. 2000.

[39] M. Udi, Introduction to Algorithms: A Creative Approach. Addison-Wesley Publishing Company, 1989.

[40] J. Han and M. Kamber, Data Mining: Concepts and Techniques. Academic Press, 2001.

[41] T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein, Introduction to Algorithms. The MIT Press, 2001.

[42] M. Rahimi, H. Shah, G.S. Sukhatme, J. Heideman, and D. Estrin, “Studying the Feasibility of Energy Harvesting in a Mobile Sensor Network,” Proc. IEEE Int’l Conf. Robotics and Automation, pp. 19-24, 2003.

[43] G.M. Dai, A.H. Du, Q.H. Li, and M.C. Wang, “Planning of Moving Path Based on Simplified Terrain,” Proc. Int’l Conf. Machine Learning and Cybernetics, pp. 1915-1918, 2003.

數據

Fig. 1. Comparison of dispatch solutions: (a) the network configuration, (b) the greedy approach, and (c) the energy-balanced approach.
Fig. 2. Reduction of the partition problem to the sensor dispatch decision problem.
Fig. 3 gives an example, where  ¼ 2. The energy cost to move each mobile sensor to each event location is given in Fig
Fig. 4a are far away from other locations, and thus, considered sparse. Therefore, we propose a MaxMin  cluster-ing scheme that is based on the result of K-means and then iteratively split and merge some clusters to obtain better clustering
+6

參考文獻

相關文件

Reading Task 6: Genre Structure and Language Features. • Now let’s look at how language features (e.g. sentence patterns) are connected to the structure

&#34;Extensions to the k-Means Algorithm for Clustering Large Data Sets with Categorical Values,&#34; Data Mining and Knowledge Discovery, Vol. “Density-Based Clustering in

Wang, Solving pseudomonotone variational inequalities and pseudocon- vex optimization problems using the projection neural network, IEEE Transactions on Neural Networks 17

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =&gt;

Define instead the imaginary.. potential, magnetic field, lattice…) Dirac-BdG Hamiltonian:. with small, and matrix

incapable to extract any quantities from QCD, nor to tackle the most interesting physics, namely, the spontaneously chiral symmetry breaking and the color confinement.. 

• Formation of massive primordial stars as origin of objects in the early universe. • Supernova explosions might be visible to the most

(Another example of close harmony is the four-bar unaccompanied vocal introduction to “Paperback Writer”, a somewhat later Beatles song.) Overall, Lennon’s and McCartney’s