Professional Documents
Culture Documents
4, APRIL 2015
Abstract—In this paper, a three-layer framework is proposed for mobile data collection in wireless sensor networks, which includes the
sensor layer, cluster head layer, and mobile collector (called SenCar) layer. The framework employs distributed load balanced
clustering and dual data uploading, which is referred to as LBC-DDU. The objective is to achieve good scalability, long network
lifetime and low data collection latency. At the sensor layer, a distributed load balanced clustering (LBC) algorithm is proposed for
sensors to self-organize themselves into clusters. In contrast to existing clustering methods, our scheme generates multiple cluster
heads in each cluster to balance the work load and facilitate dual data uploading. At the cluster head layer, the inter-cluster
transmission range is carefully chosen to guarantee the connectivity among the clusters. Multiple cluster heads within a cluster
cooperate with each other to perform energy-saving inter-cluster communications. Through inter-cluster transmissions, cluster head
information is forwarded to SenCar for its moving trajectory planning. At the mobile collector layer, SenCar is equipped with two
antennas, which enables two cluster heads to simultaneously upload data to SenCar in each time by utilizing multi-user multiple-input and
multiple-output (MU-MIMO) technique. The trajectory planning for SenCar is optimized to fully utilize dual data uploading capability by
properly selecting polling points in each cluster. By visiting each selected polling point, SenCar can efficiently gather data from cluster
heads and transport the data to the static data sink. Extensive simulations are conducted to evaluate the effectiveness of the proposed
LBC-DDU scheme. The results show that when each cluster has at most two cluster heads, LBC-DDU achieves over 50 percent energy
saving per node and 60 percent energy saving on cluster heads comparing with data collection through multi-hop relay to the static data
sink, and 20 percent shorter data collection time compared to traditional mobile data gathering.
Index Terms—Wireless sensor networks (WSNs), data collection, load balanced clustering, dual data uploading, multi-user multiple-input
and multiple-output (MU-MIMO), mobility control, polling point
1 INTRODUCTION
Fig. 1. Some examples of efficient data collection mechanisms in wireless sensor networks.
much more energy than other sensors due to handling presents the system overview of the proposed framework.
intra-cluster aggregation and inter-cluster data forwarding. Section 4 describes the distributed load balanced clustering
Though using mobile collectors may alleviate non-uniform algorithm on sensor nodes and Section 5 considers the clus-
energy consumption, it may result in unsatisfactory data ter head layer. Section 6 focuses on data collection tour plan-
collection latency. Based on these observations, in this ning of SenCar. Finally, Section 7 provides performance
paper, we propose a three-layer mobile data collection evaluation results and Section 8 concludes the paper.
framework, named Load Balanced Clustering and Dual Data
Uploading (LBC-DDU). The main motivation is to utilize dis-
tributed clustering for scalability, to employ mobility for
2 RELATED WORKS
energy saving and uniform energy consumption, and to 2.1 Relay Routing and Clustering Schemes
exploit Multi-User Multiple-Input and Multiple-Output Relay routing is a simple and effective approach to routing
(MU-MIMO) technique for concurrent data uploading to messages to the data sink in a multi-hop fashion. Cheng
shorten latency. et al. [4] devised a coordinated transfer schedule by choos-
The main contributions of this work can be summarized ing alternate routes to avoid congestions. Wu et al. [8] stud-
as follows. First, we propose a distributed algorithm to ied the construction of a maximum-lifetime data gathering
organize sensors into clusters, where each cluster has multi- tree by designing an algorithm that starts from an arbitrary
ple cluster heads. In contrast to clustering techniques pro- tree and iteratively reduces the load on bottleneck nodes.
posed in previous works [10], [11], [12], [13], our algorithm Xu et al. [5] studied deployments of relay nodes to elongate
balances the load of intra-cluster aggregation and enables network lifetime. Gnewali et al. evaluated collection tree
dual data uploading between multiple cluster heads and protocol (CTP) via testbeds in [6]. CTP computes wireless
the mobile collector. Second, multiple cluster heads within routes adaptive to wireless link status and satisfies reliabil-
a cluster can collaborate with each other to perform energy- ity, robustness, efficiency and hardware independence
efficient inter-cluster transmissions. Different from other requirements. However, when some nodes on the critical
hierarchical schemes [17], [18], in our algorithm, cluster paths are subject to energy depletion, data collection perfor-
heads do not relay data packets from other clusters, which mance will be deteriorated.
effectively alleviates the burden of each cluster head. Another approach is to allow nodes to form into clusters
Instead, forwarding paths among clusters are only used to to reduce the number of relays [10], [11], [12] , [13].
route small-sized identification (ID) information of cluster Heinzelman et al. [10] proposed a cluster formation scheme,
heads to the mobile collector for optimizing the data collec- named LEACH, which results in the smallest expected
tion tour. Third, we deploy a mobile collector with two number of clusters. However, it does not guarantee good
antennas (called SenCar in this paper) to allow concurrent cluster head distribution and assumes uniform energy con-
uploading from two cluster heads by using MU-MIMO sumption for cluster heads. Younis and Fahmy [11] further
communication. The SenCar collects data from the cluster proposed “HEED,” in which a combination of residual
heads by visiting each cluster. It chooses the stop locations energy and cost is considered as the metric in cluster head
inside each cluster and determines the sequence to visit selection. HEED can produce well-distributed cluster heads
them, such that data collection can be done in minimum and compact clusters. Gong et al. [12] considered energy-
time. Our work mainly distinguishes from other mobile efficient clustering in lossy wireless sensor networks based
collection schemes [20], [21] in the utilization of MU- on link quality. Amis et al. [13] addressed d-hop clustering
MIMO technique, which enables dual data uploading to with each node being at most d hops away from a cluster
shorten data transmission latency. We coordinate the head. In these cluster-based schemes, besides serving as the
mobility of SenCar to fully enjoy the benefits of dual data aggregation point for local data collection, a cluster head
uploading, which ultimately leads to a data collection tour also acts as a scheduler or controller for in-network process-
with both short moving trajectory and short data upload- ing. Zhang et al. [15] considered efficient scheduling of clus-
ing time. ter heads to alleviate the collisions among different
The rest of the paper is organized as follows. Section 2 transmissions. Gedik et al. [17] and Liu et al. [18] explored
performs a literature review of previous works. Section 3 the correlation of sensing data and dynamically partitioned
772 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 4, APRIL 2015
the sensor nodes into clusters. The cluster heads utilize the
spatio-temporal correlation to minimize the readings for
energy saving. Nevertheless, traditional single-head cluster-
ing schemes may not be compatible with MU-MIMO. Thus,
for generality, we propose a load-balanced multi-head clus-
tering algorithm in this paper.
protocols like Z-MAC can be utilized [32] to enhance the potential for different types of data services. Although tradi-
strengths and offset the weaknesses of TDMA and CSMA. tional designs of WSNs can support low-rate data services,
Upon the arrival of SenCar, each CHG uploads buffered data more and more sensing applications nowadays require
via MU-MIMO communications and synchronizes its local high-definition pictures and audio/video recording, which
clocks with the global clock on SenCar via acknowledgement has become an overwhelming trend for next generation sen-
messages. Finally, periodical re-clustering is performed to sor designs. For example, in the scenario of military defense,
rotate cluster heads among sensors with higher residual sensors deployed in reconnaissance missions need to trans-
energy to avoid draining energy from cluster heads. mit back high-definition images to identify hostile units.
The cluster head layer consists of all the cluster heads. As Delays in gathering sensed data may not only expose sen-
aforementioned, inter-cluster forwarding is only used to sors or mobile collector to enemy surveillance but also
send the CHG information of each cluster to SenCar, which depreciate the time value of gathered intelligence. Using
contains an identification list of multiple cluster heads in a MU-MIMO can greatly speed up data collection time and
CHG. Such information must be sent before SenCar departs reduce the overall latency. Another application scenario
for its data collection tour. Upon receiving this information, emerges in disaster rescue. For example, to combat forest
SenCar utilizes it to determine where to stop within each fire, sensor nodes are usually deployed densely to monitor
cluster to collect data from its CHG. To guarantee the con- the situation. These applications usually involve hundreds
nectivity for inter-cluster communication, the cluster heads of readings in a short period (a large amount of data) and
in a CHG can cooperatively send out duplicated informa- are risky for human being to manually collect sensed data.
tion to achieve spatial diversity, which provides reliable A mobile collector equipped with multiple antennas over-
transmissions and energy saving [27]. Moreover, cluster comes these difficulties by reducing data collection latency
heads can also adjust their output power for a desirable and reaching hazard regions not accessible by human being.
transmission range to ensure a certain degree of connectiv- Although employing mobility may elongate the moving
ity among clusters. time, data collection time would become dominant or at
The top layer is the SenCar layer, which mainly manages least comparable to moving time for many high-rate or
mobility of SenCar. There are two issues to be addressed at densely deployed sensing applications. In addition, using
this layer. First, we need to determine the positions where the mobile data collector can successfully obtain data even
SenCar would stop to communicate with cluster heads from disconnected regions and guarantee that all of the gen-
when it arrives at a cluster. In LBC-DDU, SenCar communi- erated data are collected.
cates with cluster heads via single-hop transmissions. It is
equipped with two antennas while each sensor has a single 4 SENSOR LAYER: LOAD BALANCED CLUSTERING
antenna and is kept as simple as possible. The traffic pattern
of data uploading in a cluster is many-to-one, where data In this section, we present the distributed load balanced
from multiple cluster heads converge to SenCar. Equipped clustering algorithm at the sensor layer. The essential oper-
with two receiving antennas, each time SenCar makes dual ation of clustering is the selection of cluster heads. To pro-
data uploading whenever possible, in which two cluster long network lifetime, we naturally expect the selected
heads can upload data simultaneously. By processing the cluster heads are the ones with higher residual energy.
received signals with filters based on channel state informa- Hence, we use the percentage of residual energy of each
tion, SenCar can successfully separate and decode the infor- sensor as the initial clustering priority. Assume that a set
mation from distinct cluster heads. of sensors, denoted by S ¼ fs1 ; s2 ; . . . ; sn g, are homoge-
To collect data as fast as possible, SenCar should stop at neous and each of them independently makes the decision
positions inside a cluster that can achieve maximum capac- on its status based on local information. After running the
ity. In theory, since SenCar is mobile, it has the freedom to LBC algorithm, each cluster will have at most M ( 1) clus-
choose any preferred position. However, this is infeasible in ter heads, which means that the size of CHG of each clus-
practice, because it is very hard to estimate channel condi- ter is no more than M. Each sensor is covered by at least
tions for all possible positions. Thus, we only consider a one cluster head inside a cluster. The LBC algorithm is
finite set of locations. To mitigate the impact from dynamic comprised of four phases: (1) Initialization; (2) Status claim;
channel conditions, SenCar measures channel state informa- (3) Cluster forming and (4) Cluster head synchronization.
tion before each data collection tour to select candidate loca- Next, we describe the operation through an example in
tions for data collection. We call these possible locations Fig. 3, where a total of 10 sensors (plotted as numbered
SenCar can stop to perform concurrent data collections poll- circles in Fig. 3a) are labeled with their initial priorities
ing points. In fact, SenCar does not have to visit all the poll- and the connectivity among them is shown by the links
ing points. Instead, it calculates some polling points which between neighboring nodes.
are accessible and we call them selected polling points. In
addition, we need to determine the sequence for SenCar to 4.1 Initialization Phase
visit these selected polling points such that data collection In the initialization phase, each sensor acquaints itself with
latency is minimized. Since SenCar has pre-knowledge all the neighbors in its proximity. If a sensor is an isolated
about the locations of polling points, it can find a good tra- node (i.e., no neighbor exists), it claims itself to be a cluster
jectory by seeking the shortest route that visits each selected head and the cluster only contains itself. Otherwise, a sen-
polling point exactly once and then returns to the data sink. sor, say, si , first sets its status as “tentative” and its initial
The proposed framework aims to achieve great energy priority by the percentage of residual energy. Then, si sorts
saving and shortened data collection latency, which has the its neighbors by their initial priorities and picks M 1
774 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 4, APRIL 2015
TABLE 1
Notations Used in Section 4
Notation Meaning
S Set of sensors, where S½i represents
sensor si ;
My:N Set of neighbors in my proximity;
My:A Set of my candidate cluster head peers;
My:B Set of my potential cluster heads;
My:C Set of my cluster members;
My:init prio My initial priority;
My:prio My current priority;
My:status My current status (i.e., cluster head, member,
or tentative);
M Maximum number of heads in a cluster;
Eres , Etot Current residual and maximum energy
of a sensor;
th ; tm Priority threshold for claiming to be a
cluster head, member respectively;
Fig. 3. An example of LBC algorithm with M ¼ 2.
Can PeersðÞ Function of finding M 1 elements
with the highest priorities among
the input set as candidate peers;
neighbors with the highest initial priorities, which are tem- Highest PrioðÞ Function of finding the element
porarily treated as its candidate peers. We denote the set of all with highest priority among the input set;
the candidate peers of a sensor by A. It implies that once si Lowest PrioðÞ Function of finding the element
successfully claims to be a cluster head, its up-to-date candi- with lowest priority among the input set;
date peers would also automatically become the cluster Fnl NðÞ Function of finding the subset of the input
set, in which all the elements are cluster heads;
heads, and all of them form the CHG of their cluster. si sets
Rand oneðÞ Function of randomly choosing an element
its priority by summing up its initial priority with those of from the input set.
its candidate peers. In this way, a sensor can choose its
favorable peers along with its status decision. Fig. 3b depicts
the initialization phase of the example, where M is set to 2,
which means that each sensor would pick one neighbor each sensor. Whether a sensor can finally become a cluster
with the highest initial priority as its candidate peer. We head primarily depends on its priority. Specifically, we par-
use the out-going arrow to indicate the choice of each sen- tition the priority into three zones by two thresholds, t h and
sor. For instance, s8 is chosen to be the peer of s7 since it is t m (t h > t m ) , which enable a sensor to declare itself to be a
the one with the highest initial priority among all the neigh- cluster head or member, respectively, before reaching its
bors of s7 . Accordingly, s7 sets its priority to the sum of the maximum number of iterations. During the iterations, in
initial priorities of s7 and s8 . The pseudo-code describing some cases, if the priority of a sensor is greater than t h or
the initialization phase of a sensor is given in Algorithm 1, less than t m compared with its neighbors, it can immedi-
and notations used in the pseudo-codes are listed in Table 1 ately decide its final status and quit from the iteration.
for reference. We denote the potential cluster heads in the neighbor-
hood of a sensor by a set B. In each iteration, a senor, say, si ,
first tries to probabilistically include itself into si :B as a ten-
Algorithm 1. Phase I: Initialization
tative cluster head if it is not in already (Algorithm 2, lines 2-
1: My:N fvjv lies in my transmission range; v 2 Sg; 5). Once successful, a packet includes its node ID and prior-
2: if My:N ¼ F then ity will be sent out and the sensors in the proximity will add
3: Set My:cluster head to My.id; si as their potential cluster heads upon receiving the packet.
4: Set My:status to cluster head; Then, si checks its current potential cluster heads. If they do
5: else exist, there are two cases for si to make the final status deci-
6: My:init prio Eres =Etot ; sion, otherwise, si would stay in the tentative status for the
7: My:cluster head 0; next round of iteration.
8: My:status tentative; The first case (Algorithm 2, lines 8-11) is that si has
9: My:A fvjv 2 Can PeersðNP Þg; reached its maximum number of iterations and it prevails
10: My:prio My:init prioþ v2My:A v:init prio; over others in si :B with the highest priority. Then si will
11: My:B, My:C F; claim to be a cluster head in this case. We call this pro-
12: Iter 0; cess self-driven status transition. Also, si will announce its
current candidate peers to be cluster heads by broadcast-
ing a packet including an ID list, which is referred to as
4.2 Status Claim the peer-driven status transition. Once a sensor in the neigh-
In the second phase, each sensor determines its status by borhood receives a status packet, it may need to update
iteratively updating its local information, refraining from its status to the cluster head. The detailed description of
promptly claiming to be a cluster head. We use the node handling received packets in each sensor can be found in
degree to control the maximum number of iterations for Algorithm 4, Function recv pkt.
ZHAO ET AL.: MOBILE DATA GATHERING WITH LOAD BALANCED CLUSTERING AND DUAL DATA UPLOADING IN WIRELESS SENSOR... 775
Algorithm 2. Phase II: Status claim clusters, where each cluster has two cluster heads and
1: while My:N j > 0&Iter jMy:N j&My:status ¼ sensors are affiliated with different cluster heads in the
tentative do P two clusters.
2: if My:prio > M i¼1 Randð1Þ& My 2 = My:B then
3: Add myself to My:B; Algorithm 3. Phase III: Cluster forming
4: send pkt (1, My.id, null, tentative, My.prio); 1: if My.status ¼ cluster head then
5: / send pkt(msg.type,node id,node list,node status, My.cluster head My.id;
node priority); / 2: else
6: if My:B 6¼ F then 3: recv pkt ();
7: if Highest PrioðMy:B) ¼ My.id then 4: My:B Fnl NðMy:BÞ;
8: if Iter ¼ jMy:N j then 5: if My.B 6¼ F then
9: My.status cluster head; 6: My.status cluster member;
10: recv pkt (); 7: My.cluster head Rand oneðMy:BÞ.id;
11: send pkt (2, My.id, ID ListðMy:AÞ, 8: send pkt (3, My.id, My.cluster head,
cluster head, My.prio); cluster member, My.init prio);
12: else if Lowest PrioðMy:BÞ ¼ 9: else
My.id & Fnl NðMy:BÞ 6¼ F then 10: My.status cluster head;
13: if My.prio tm then 11: My.cluster head My.id;
14: My.status cluster member; 12: send pkt (2, My.id, ID ListðMy:AÞ,
15: else if My.prio > th then cluster head, My.prio);
16: My.status cluster head;
17: recv pkt ();
18: send pkt (2, My.id, ID ListðMy:AÞ, th , Algorithm 4. recv pkt
My.prio); 1: for each recvd PKT with My.id 6¼ PKT.src id do
19: Iter Iter þ 1; 2: if PKT.type ¼ 1 then
3: Add sensor S[PKT.src id] to My:B;
The second case (Algorithm 2, lines 11-12) is that si is 4: else if PKT.type ¼ 2 then
the one with the lowest priority and there exist some clus- 5: Add sensor S[PKT.src id] to My:B;
ter heads in si :B. In this case, if the priority of si is less 6: if S[PKT.src id]2 My:A
than or equal to t m , it is clearly not qualified to be a clus- 7: Remove S[PKT.src id] from My:A;
ter head. Hence, it quits the iteration and claims to be a 8: Find a sensor u from My:N , which is not in
cluster member. It is safe for such “retirement,” since current My:A and its status is tentative with
there are already some cluster heads in its neighborhood the highest initial priority;
and it can optionally affiliate with one of them at a later S
9: if u exists then My:A My:A fug;
time. Moreover, when si does not have any potential can-
10: if i ¼ 1 to M 1 do
didate cluster head in the current iteration and its priority
11: if My.id ¼ PKT.src peerlist½i then
is already high enough (above t h ), it can immediately
claim to be a cluster head (Algorithm 2, lines 15-18). 12: My.status cluster head;
Fig. 3c shows the result of phase II for the example with 13: My.prio PKT.src prio;
t h and t m set to 1:8 and 0:6, respectively. ðs1 ; s3 Þ and 14: My:A S[PKT.src id]:A;
ðs8 ; s9 Þ become the cluster heads while s2 is a cluster 15: send pkt(1, My.id, cluster head, My:prio);
member with the lowest priority. Different from the ini- 16: else if S[PKT.src peerlist[i]] 2 My:N then
tialization phase, it is also shown that the candidate peers 17: Add S[PKT:src peerlist[i]] to My:B;
of each sensor have been updated. For example, sensor s5 18: if S[PKT.src peerlist[i]] 2 My:A then
is still tentative at the end of phase II, which initially con- 19: Remove S[PKT.src peerlist[i]] from My:A;
sidered s9 as its candidate peer, but later switched to s10 20: Find a sensor u from My:N , which is not in
as its new peer when s9 reached its final status. current My:A and its status is tentative
with the highest initial priority;
S
4.3 Cluster Forming 21: if u exists then My:A My:A fug;
22: else if My.id ¼ PKT.cluster head then Add S
The third phase is cluster forming that decides which
cluster head a sensor should be associated with. The crite- [PKT.src id] to My:C; DeleteP the PKT;
ria can be described as follows: for a sensor with tentative 23: My:prio My:init prio+ v2My:A v:init prio;
status or being a cluster member, it would randomly affil-
iate itself with a cluster head among its candidate peers In case a cluster head is running low on battery
for load balance purpose. In the rare case that there is no energy, re-clustering is needed. This process can be done
cluster head among the candidate peers of a sensor with by sending out a re-clustering message to all the cluster
tentative status, the sensor would claim itself and its cur- members. Cluster members that receive this message
rent candidate peers as the cluster heads. The details are switch to the initialization phase to perform a new round
given in Algorithm 3. Fig. 3 d shows the final result of of clustering.
776 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 4, APRIL 2015
4.4 Synchronization among Cluster Heads which is formed by si and its update-to-date candidate
To perform data collection by TDMA techniques, intra- peers, would be no more than M. u
t
cluster time synchronization among established cluster
heads should be considered. The fourth phase is to syn- Property 3. In LBC, a smaller M results in more clusters.
chronize local clocks among cluster heads in a CHG by Proof. Once a sensor si claims to be a cluster head, its
beacon messages. First, each cluster head will send out a current candidate peers will also be identified to be
beacon message with its initial priority and local clock the cluster heads immediately and their priority will
information to other nodes in the CHG. Then it examines be updated to the priority of si . si and all of its peers
the received beacon messages to see if the priority of a bea- form the CHG of the corresponding cluster. Suppose
con message is higher. If yes, it adjusts its local clock sj is one of the candidate peers of si (i.e., sj 2 si :A).
according to the timestamp of the beacon message. In our Without loss of generality, we assume that there exists
framework, such synchronization among cluster heads is another sensor in tentative status, denoted by sk , in
only performed while SenCar is collecting data. Because the neighborhood of sj , but out of the reachable range
data collection is not very frequent in most mobile data
of si (i.e., sk 2 sj :N and sk 2
= si :N ). In the algorithm, if
gathering applications, message overhead is certainly man-
the priority of sk is less than that of sj , sk will stay at
ageable within a cluster. The details of the procedure are
tentative status through the end of the iterations in
explained in Algorithm 5.
phase II. This implies that sj essentially restrains its
neighbors with lower priorities from claiming to be
Algorithm 5. Phase IV: Synchronization between Cluster cluster heads. At a later time, sk may have an oppor-
Heads tunity to affiliate itself to sj as a cluster member in
1: if My.status ¼ cluster head; then phase III. If there are more candidate peers like sj ,
2: send beacon msg with My.init prio, My.clock, etc; more sensors in the similar situation to sk will refrain
3: receive beacon msg b from other nodes in CHG; from claiming to be cluster heads and alternatively
4: if b.init prio > My.init prio; then join the current cluster as members in the periphery.
5: My.clock b.clock; Hence, the size of the cluster becomes larger with a
smaller M. u
t
Property 4. The total number of status packets exchanged in LBC
4.5 Analysis of Load Balanced Clustering Algorithm is OðnÞ, where n is the number of sensors in the network.
We have following properties about LBC algorithm.
Proof. During the executions, each sensor generates at most
Property 1. Among all the cluster heads in a CHG, there is only two status packets. Specifically, on one hand, each sen-
one self-driven cluster head, and all others are peer-driven clus- sor may probabilistically send a packet to indicate itself
ter heads. as tentative cluster head (Algorithm 2, line 4). On the
Proof. In LBC, a cluster head and its up-to-date peers other hand, each sensor will send another packet when-
form the CHG of a cluster. Clearly, it is the self-driven ever it reaches its final status, either a status packet for
cluster head, and all its peers are the peer-driven clus- claiming to be a cluster head or a joining message as a
ter heads. u
t cluster member. Hence, when there are a total of n sen-
sors in the network, the number of status packets sent
Property 2. Some clusters may have fewer than M cluster heads. in the network is upper-bounded by 2n, i.e., with OðnÞ
Proof. Based on the clustering method, it is apparent that complexity. u
t
each cluster in LBC typically has a total of M cluster Property 5. The time complexity of LBC in the worst case is
heads. However, some clusters may have fewer than Oðn2 Þ for each sensor.
M cluster heads. The reason can be explained as fol-
lows. To circumvent the situation that the CHGs of dif- Proof. A sensor needs at most OðnÞ time in the initializa-
ferent clusters may share common cluster heads, tion phase to discover its neighbors and sets its prior-
sensors with tentative status always update their can- ity based on the initial priorities of the neighbors. In
didate peers once receiving status packets. For sensor phase II, the time cost differs from sensor to sensor.
si , once its neighbors reach their final status, if si is still For example, a sensor, which determines to be a clus-
tentative, it would update its candidate peers to see if ter head with the priority above t h , only experiences
they are the current peers. If yes, they will be expur- one iteration and it has no potential cluster head at all.
gated from si :A. We define a set X ¼ fvjv 2 si :N ; v 2 = si : Thus, its processing time for phase II is a constant, i.e.,
A; v:status ¼ tentativeg, which represents the possible Oð1Þ. However, in the worst case, a sensor needs to
new candidate peers of si . si would choose the sensors complete its maximum iterations which is determined
in X with the highest initial priorities to fill the by its node degree. And during each iteration, it is
vacancy among its M 1 candidate peers. However, in required to examine all the potential cluster heads. In
the rare case that X ¼ F, si would have no replenish- such a case, the time complexity is Oðn2 Þ. In phase III,
ment for the vacancy. Therefore, the candidate peers of a sensor takes OðnÞ time to arbitrarily affiliate itself to
si could only become fewer and fewer as the update a cluster head nearby. Thus, the total time complexity
goes on. Later, if si happens to be a cluster head by the for a sensor in the clustering process is Oðn2 Þ in the
self-driven status transition, the size of the CHG, worst case. u
t
ZHAO ET AL.: MOBILE DATA GATHERING WITH LOAD BALANCED CLUSTERING AND DUAL DATA UPLOADING IN WIRELESS SENSOR... 777
pffiffiffi
maximum distance of two neighboring clusters is 2ð 5þ 6.1 Properties of Polling Points
1ÞRs [34] in single-head clustering. Thus, the required trans- We consider the case that SenCar is equipped with two
mission power of a cluster head for such inter-cluster trans- antennas, as it is not difficult to mount two antennas on Sen-
mission can be expressed as follows when the free space Car, while it likely becomes difficult and even infeasible to
propagation model is employed mount more antennas due to the constraint on the distances
between antennas to ensure independent fading. Note that
pffiffiffi 2
ð4pÞ2 L 2ð 5 þ 1ÞRs each cluster head has only one antenna. The multiple anten-
PSHC ¼m ; (1) nas of SenCar, which act as the receiving antennas in data
Gt Gr 2 a2
uploading, make it possible for multiple cluster heads in a
where m is the given receive sensitivity, a represents the CHG to transmit distinct data simultaneously. To guarantee
small-scale fading parameter between two cluster heads, Gt successful decoding when SenCar receives the mixed
and Gr are the transmitting and receiving antenna gains, streams, we need to limit the number of simultaneous data
is the transmission wavelength and L is a system loss factor streams to no more than the number of receiving antennas.
not related to propagation. In contrast, in LBC-DDU, the In other words, since SenCar is equipped with two receiving
inter-cluster communication between two CHGs is equiva- antennas, at most two cluster heads in a CHG can simulta-
lent to a MIMO transmission. Each transmitted data symbol neously send data to SenCar in a time slot. Hence, an equiv-
would enjoy a diversity gain of at ar , where at and ar are alent 2 2 MIMO system for an uplink transmission is
the numbers of transmitting and receiving antennas, respec- formed, which achieves spatial multiplexing gain for higher
tively. In the worst case, two neighboring clusters are apart data rate. With such concurrent transmissions, data upload-
as far as possible, i.e., the size of CHGs on both sides is M, ing time can be greatly reduced. If there are always two
and the maximum distance between two neighboring clus- cluster heads that simultaneously upload their data to Sen-
ters is equal to the lower bound of Rt given in Property 7. Car in each time slot, data uploading time can be cut into
Hence, the output power of each cluster head in the trans- half in the ideal case.
mitting CHG is given by In fact, when the size of a CHG is larger than 2, we have
multiple choices to schedule cluster head pairs to communi-
8 pffiffiffiffi 2 cate with SenCar. Each such a pair is called a scheduling pair.
> ð4pÞ2 L ½ð 26 þ 2ÞRs
< m Gt Gr 2 Pat Par a2 ; at ¼ ar ¼ M > 2
> We use P to denote all the possible scheduling options in a
PLBC ¼ pffiffiffiffi 3
i¼1 j¼1 ij
2 (2) CHG. Without loss of generality, we assume that M is an
>
> ð4pÞ2 L P ½ð 17 P þ 2ÞRs
: m G G 2 at ar 2 ; at ¼ a r ¼ M ¼ 2: even number. For a given schedule p 2 P, there are M2
t r a
i¼1 j¼1 ij
scheduling pairs. The SenCar will choose a selected polling
where aij represents the small-scale fading parameter of the point for each of them. When SenCar arrives at a cluster, it
channel between the ith antenna in the transmitting CHG will visit each selected polling point, where it stops to
and the jth antenna of the receiving CHG. We assume these simultaneously collect data from the two cluster heads in a
channels are independent and identically distributed (i.i.d). scheduling pair. To collect data as fast as possible in a clus-
We further define the saving ratio rM as follows to evalu- ter, the following two requirements should be satisfied.
ate the difference in the output power of a cluster head
The two cluster heads in a scheduling pair both
between single-head clustering and LBC
should be covered by SenCar with the same transmis-
8 pffiffi 2
sion range as a sensor, i.e., Rs , when SenCar is at the
> 4ð 5 þ 1Þ
>
< pffiffiffiffi 2 0:83M 2 ; M>2 selected polling point specific for this scheduling pair.
EðPSHC Þ ð 26 þ 2Þ =M 2 By visiting the selected polling points in a cluster,
rM ¼ ¼ pffiffi 2 (3)
EðPLBC Þ >
> 4ð 5 þ 1Þ SenCar should achieve maximum sum of the uplink
: pffiffiffiffi 3 2 5:3; M ¼ 2:
ð 17 þ 2Þ =4 MIMO capacities in the cluster.
For each polling point, we assume that SenCar has the
From the above discussion, we can see that the saving ratio knowledge of the IDs of sensors in the proximity within
of each cluster head is 5:3 when M ¼ 2 in LBC-DDU. This range Rs and the channel vectors between the sensors and
ratio becomes higher with the increase of M. Thus, for long- SenCar located at the polling point. The information can be
haul inter-cluster transmissions in LBC-DDU, more cluster collected prior to each data collection tour. Upon receiving
heads in a CHG can balance the load and save energy at the CHG information which contains the IDs of the cluster
each sensor. heads in a CHG, for each possible schedule p, SenCar can
choose a set of candidate polling points for each scheduling
6 SENCAR LAYER: TRAJECTORY PLANNING pair in p, each of which can cover the two cluster heads in a
In this section, we focus on how to optimize the trajectory of scheduling pair at the same time. Specifically, let P 0i denote
SenCar for the data collection tour with the CHG informa- such a set of candidate polling points for scheduling pair i
tion, which is referred to as the mobility control at the Sen- in a cluster, where i ¼ 1; 2; . . . ; M=2. Clearly, each P 0i is a
Car layer. As mentioned in Section 3, SenCar would stop at subset of set P that contains all the polling points. Based on
some selected polling points within each cluster to collect the first requirement, the selected polling point for schedul-
data from multiple cluster heads via single-hop transmis- ing pair i in a cluster should be chosen from P 0i . Next, we
sions. Thus, finding the optimal trajectory for SenCar can be will first find the distribution condition of the polling points
reduced to finding selected polling points for each cluster to guarantee that there are always candidate polling points
and determining the sequence to visit them. for choosing, and then present the criteria for selecting the
780 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 4, APRIL 2015
Fig. 7. Performance comparisons of different data gathering schemes when M ¼ 2. (a) Average energy consumptions per node. (b) Maximum
energy consumption. (c) Data latency. (d) Average energy consumption for each cluster head. (e) Energy consumption heatmap of Collection Tree
scheme. (f) Energy consumption heatmap of Mobile MIMO scheme. (g) Number of clusters. (h) Average energy overhead per node.
respectively. The circuit energy consumption of MIMO mobile MIMO has the least maximum energy consumptions
uploading itself is modeled in [27]. Since the receiver is Sen- and curves for the schemes that utilize multi-hop relaying
Car, we only consider energy overhead on the transmitters’ to the static data sink (Relay Routing, Collection Tree and
side, which are the cluster head groups. From [27], we obtain Clustered SISO/MIMO) climb much faster and higher than
that extra energy consumption incurred on cluster heads mobile MIMO scheme. When we increase the size of the net-
using MIMO is, Pe ¼ PDAC þ Pmix þ Pfilt , in which work, network lifetime of these schemes would deteriorate
PDAC ¼ 1:95 mW according to Texas Instrument’s because more relayed traffic needs to traverse the congested
DAC128S085 datasheet [38], Pmix ¼ 30:3 mW and Pfilt ¼ region near the data sink.
2:5 mW according to [29]. We obtained that for transmitting Second, we illustrate data latency by Fig. 7c. Here, we
a data message, 0:03 mJ extra power is consumed in MIMO define data latency as the time duration for the data sink to
circuitry (5.8 percent energy overhead from the circuitry). gather all the sensing data in the field. For mobile schemes,
The transmission bandwidth is 100 Kbps and the speed of data latency is equivalent to the time duration of a data col-
SenCar is 1 m=s. Each performance point is the average of lection tour which comprises of the moving time and data
the results in 200 simulation experiments. transmission time. In Fig. 7c, lower latency is achieved with
clustered SISO/MIMO compared to Relay Routing or Collec-
tion Tree methods. This is because that nodes are organized
7.1 Comparison of Energy Consumptions and into clusters and routing burden is decomposed into smaller
Latency tasks by different clusters. Relay routing has the highest
First, we compare the average energy consumption for each latency because choosing node with the highest energy as
sensor and the maximum energy consumption in the net- the next hop may not lead to the shortest path. On the other
work. We set l ¼ 250 m, np ¼ 400, and M ¼ 2 (at most two hand, mobile SISO/MIMO has a little higher latency than
cluster heads for each cluster) and vary n from 50 to 500. clustered SISO/MIMO and Collection Tree methods due to
Note that when n ¼ 50, network connectivity cannot be SenCar’s moving time. However, note that when n > 300,
guaranteed all the time for multi-hop transmission with a the latency of the Collection Tree method exceeds mobile
static sink. The results here are only the average of the con- SISO/MIMO and the slopes for multi-hop relaying to the
nected networks in the experiments. However, the mobile static sink are much steeper than mobile SISO/MIMO. This
schemes can work well not only in connected networks but is because that though mobility incurs extra moving time,
also in disconnected networks, since the mobile collector single-hop transmissions for both data aggregation and
acts as virtual links to connect the separated subnetworks. uploading save time in routing significantly, whereas multi-
Fig. 7 a compares the average energy consumption per hop traffic relay to the static sink may not scale well when
node. We can see that our mobile MIMO scheme results in the number of nodes increases. Finally, the advantage of
the least energy consumption on sensor nodes, whereas the mobile MIMO comparing to mobile SISO is observed by sav-
methods that transmit messages through multi-hop relay to ing 20 percent time in total. This is due to the fact of simulta-
the static data sink result in at least twice more energy on neous data uploading to SenCar at the polling points in the
each node. Fig. 7b further presents the maximum energy mobile MIMO approach.
consumption in the network. The network lifetime usually
lasts until the first node depletes its energy. It is intuitive 7.2 Load Balance and Energy Distributions
that schemes with lower maximum energy consumption We also evaluate load balance on cluster heads in Fig. 7d.
would have longer network lifetime. Fig. 7b shows that Cluster heads consume more energy than other nodes due
ZHAO ET AL.: MOBILE DATA GATHERING WITH LOAD BALANCED CLUSTERING AND DUAL DATA UPLOADING IN WIRELESS SENSOR... 783
Fig. 8. Performance comparison of proposed framework with different M. (a) Average energy consumption per node versus l. (b) Maximum energy
consumption versus l. (c) Data latency versus l. (d) Number of clusters versus l.
to data aggregations and forwarding. Reducing energy con- each cluster needs to forward the locations of cluster heads
sumptions on cluster heads improves network longevity to SenCar resided at the origin for finding the polling points.
and robustness. In Fig. 7d, we can see that first both MIMO Third, if MIMO uploading is adopted, there is excessive
approaches outperform SISO, and mobile MIMO achieves energy consumption of 0:03 mJ per data message.
good load balance among cluster heads with the lowest By considering these aspects, we plot the energy over-
average energy consumption by saving over 60 percent head in Fig. 7h. First of all, it is observed that energy over-
energy compared to the mobile SISO. In sum, the mobile head results in less than 6 percent over the total energy
scheme outperforms multi-hop relay to the static sink consumptions. Then, the gap between mobile SISO and
because no inter-cluster data forwarding is needed and the MIMO represents extra energy consumed in the MIMO cir-
spatial diversity achieved by adopting MIMO further cuitry is small. It indicates that compared to the energy
reduces energy consumption of cluster heads. overhead on clustering and notifying SenCar of cluster
To justify our choice of mobile data collections, we also information, the energy consumed by MIMO circuity itself
compare the geographical energy distribution between Col- is negligible.
lection Tree and mobile MIMO. For demonstration purposes,
we set n ¼ 200 and draw the heat map of energy consump-
7.4 Impact of Maximum Number of Cluster Heads in
tion in Figs. 7e and 7f. We observe that more energy is con- Each Cluster
sumed with the Collection Tree method especially on nodes
In this section, we evaluate the impact of the maximum
near the data sink represented by the bright spots in Fig. 7e.
number of cluster heads in each cluster, M, on energy
These nodes may become congested bottlenecks and jeopar-
consumptions, latency and number of clusters in Fig. 8.
dize the operation of the network. Although mechanisms in
We plot the performance of mobile MIMO with different
Collection Tree can find a better route by adapting to ETX
M when l varies from 50 to 400 m and n ¼ 200. We fix
metrics, congestion is inevitable due to the physical locations
the interval distance t between a polling point and its
of these nodes. In contrast, the mobile MIMO method results
adjacent neighbors in horizontal and vertical directions
in much less energy consumption and even distribution
at about 20 m, which means that np varies from 16 to 441
across the sensing field in Fig. 7f.
with different settings of l.
Fig. 8a shows that the average energy consumption
7.3 Number of Clusters and Energy Overhead declines as l increases in all cases. This is because that more
Fig. 7g shows the number of clusters generated by mobile clusters would be formed when sensors become sparsely
SISO and MIMO. We can see that the mobile MIMO typi- distributed as indicated in Fig. 8d. It is also noticed that a
cally yields fewer clusters than mobile SISO. Note that the larger M leads to less energy consumptions. For example,
average energy consumptions of mobile SISO and MIMO when l ¼ 200 m, energy consumption with M ¼ 4 is 35 per-
become indistinguishable as n increases. This is because cent less than the case of M ¼ 2. This result is intuitive since
that although fewer clusters are observed with mobile cluster heads perform more transmissions than other nodes.
MIMO, more cluster heads are generated for each cluster. When M increases, there are more cluster heads in a cluster
Thus, the total number of cluster heads in the two schemes to share the workload. Fig. 8b shows the maximum energy
turns to be comparable, which is actually a dominant factor consumption in the network. Since more cluster heads can
determining energy consumptions. directly upload their data to SenCar without any relay, the
Finally, we compare the energy overhead with mobile case with a larger M results in a slightly less energy con-
SISO and MIMO, and illustrate the energy consumption by sumptions. For example, when l ¼ 300 m, maximum energy
MIMO uploading itself in Fig. 7h. For the mobile approaches, consumption with M ¼ 6 is 15 percent less than the case
overhead is mainly comprised of status and synchronization with M ¼ 2.
messages in clustering, messages notifying SenCar of cluster In Fig. 8c, it is demonstrated that a larger M also leads
locations and circuit energy consumption if MIMO upload- to longer data latency. The reason is that more selected
ing is adopted. First, the number of status messages polling points need to be visited, which leads to a longer
exchanged is proved to be upper bounded by 2n in Property moving trajectory. For instance, when l ¼ 400 m, the data
4 in Section 5, where n is the number of nodes, and synchro- latency in the case of M ¼ 6 and M ¼ 4 is 14 and 7 percent
nization messages between cluster heads are only propa- longer than the case of M ¼ 2, respectively. Fig. 8d shows
gated within each cluster. Second, after clusters are formed, the number of clusters formed with different M. It further
784 IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 14, NO. 4, APRIL 2015
TABLE 2
Traveling Cost without Time Constraints
[8] Y. Wu, Z. Mao, S. Fahmy, and N. Shroff, “Constructing maxi- [31] S. C. Ergen and P. Varaiya, “TDMA scheduling algorithms for
mum-lifetime data-gathering forests in sensor networks,” IEEE/ wireless sensor networks,” Wireless Netw., vol. 16, no. 4, pp. 985–
ACM Trans. Netw., vol. 18, no. 5, pp. 1571–1584, Oct. 2010. 997, May 2010.
[9] X. Tang and J. Xu, “Adaptive data collection strategies for life- [32] I. Rhee, A. Warrier, M. Aia, and J. Min, “Z-MAC: A hybrid MAC
time-constrained wireless sensor networks,” IEEE Trans. Parallel for wireless sensor networks,” in Proc. 3rd ACM Int. Conf. Embed-
Distrib. Syst., vol. 19, no. 6, pp. 721–7314, Jun. 2008. ded Netw. Sensor Syst., 2005, pp. 90–101.
[10] W. R. Heinzelman, A. Chandrakasan, and H. Balakrishnan, “An [33] D. M. Blough and P. Santi, “Investigating upper bounds on net-
application-specific protocol architecture for wireless microsensor work lifetime extension for cell-based energy conservation techni-
networks,” IEEE Trans. Wireless Commun., vol. 1, no. 4, pp. 660– ques in stationary ad hoc networks,” in Proc. 13th Annu. ACM Int.
660, Oct. 2002. Conf. Mobile Comput. Netw., 2002, pp. 183–192.
[11] O. Younis and S. Fahmy, “Distributed clustering in ad-hoc sensor [34] F. Ye, G. Zhong, S. Lu, and L. Zhang, “PEAS: A robust energy con-
networks: A hybrid, energy-efficient approach,” in IEEE Conf. serving protocol for long-lived sensor networks,” in Proc. 23rd
Comput. Commun., pp. 366–379, 2004. IEEE Int. Conf. Distrib. Comput. Syst., 2003, pp. 28–37.
[12] D. Gong, Y. Yang, and Z. Pan, “Energy-efficient clustering in lossy [35] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduc-
wireless sensor networks,” J. Parallel Distrib. Comput., vol. 73, tion to Algorithms. Cambridge, MA, USA: MIT Press, 2001.
no. 9, pp. 1323–1336, Sep. 2013. [36] V. Tarokh, H. Jafarkhani, and A. R. Calderbank, “Space-time block
[13] A. Amis, R. Prakash, D. Huynh, and T. Vuong, “Max-min d-clus- codes for orthogonal designs,” IEEE Trans. Info. Theory, vol. 45,
ter formation in wireless ad hoc networks,” in Proc. IEEE Conf. no. 5, pp. 1456–1467, Jul. 1999.
Comput. Commun., Mar. 2000, pp. 32–41. [37] D. Tse and P. Viswanath, Fundamentals of Wireless Communication.
[14] A. Manjeshwar and D. P. Agrawal, “Teen: A routing protocol for Cambridge, U.K.: Cambridge Univ. Press, May 2005.
enhanced efficiency in wireless sensor networks,” in Proc. 15th Int. [38] [Online]. (2013). Available: http://www.ti.com/product/
IEEE Parallel Distrib. Process. Symp., Apr. 2001, pp. 2009–2015. DAC128S085/technicaldocuments
[15] Z. Zhang, M. Ma, and Y. Yang, “Energy efficient multi-hop poll- [39] M. M. Solomon, “Algorithm for the vehicle routing and schedul-
ing in clusters of two-layered heterogeneous sensor networks,” ing problems with time window constraints,” Oper. Res., vol. 35,
IEEE Trans. Comput., vol. 57. no. 2, pp. 231–245, Feb. 2008. no. 2, pp. 254–265, 1987.
[16] M. Ma and Y. Yang, “SenCar: An energy-efficient data gathering
mechanism for large-scale multihop sensor networks,” IEEE Miao Zhao received the BEng and MEng
Trans. Parallel Distrib. Syst., vol. 18, no. 10, pp. 1476–1488, Oct. degrees in electrical engineering from the Huaz-
2007. hong University of Science and Technology,
[17] B. Gedik, L. Liu, and P. S. Yu, “ASAP: An adaptive sampling Wuhan, China, and the PhD degree in electrical
approach to data collection in sensor networks,” IEEE Trans. Paral- engineering, Stony Brook University, New York,
lel Distrib. Syst., vol. 18, no. 12, pp. 1766–1783, Dec. 2007. in 2010. She is currently a member of technical
[18] C. Liu, K. Wu, and J. Pei, “An energy-efficient data collection staff with Multimedia Networking Lab of Huawei
framework for wireless sensor networks by exploiting spatiotem- Technologies, Bridgewater, New Jersey. Her
poral correlation,” IEEE Trans. Parallel Distrib. Syst., vol. 18, no. 7, research interests include cross-layer design and
pp. 1010–1023, Jul. 2007. optimization in wireless networks, and perfor-
[19] R. Shah, S. Roy, S. Jain, and W. Brunette, “Data MULEs: Modeling mance evaluation of protocols and algorithms.
a three-tier architecture for sparse sensor networks,” Elsevier Ad She is a member of the IEEE.
Hoc Netw. J., vol. 1, pp. 215–233, Sep. 2003.
[20] D. Jea, A. A. Somasundara, and M. B. Srivastava, “Multiple con-
trolled mobile elements (data mules) for data collection in sensor Yuanyuan Yang received the BEng and MS
networks,” in Proc. IEEE/ACM Int. Conf. Distrib. Comput. Sensor degrees in computer science and engineering
Syst., Jun. 2005, pp. 244–257. from Tsinghua University, Beijing, China, and the
[21] M. Ma, Y. Yang, and M. Zhao, “Tour planning for mobile data MSE and PhD degrees in computer science from
gathering mechanisms in wireless sensor networks,” IEEE Trans. Johns Hopkins University, Baltimore, Maryland.
Veh. Technol., vol. 62, no. 4, pp. 1472–1483, May 2013. She is a professor of computer engineering and
[22] M. Zhao and Y. Yang, “Bounded relay hop mobile data gathering computer science at Stony Brook University,
in wireless sensor networks,” IEEE Trans. Comput., vol. 61, no. 2, New York, and the director of Communications
pp. 265–271, Feb. 2012. and Devices Division at New York State Center
[23] M. Zhao, M. Ma, and Y. Yang, “Mobile data gathering with space- of Excellence in Wireless and Information Tech-
division multiple access in wireless sensor networks,” in Proc. nology (CEWIT). Her research interests include
IEEE Conf. Comput. Commun., 2008, pp. 1283–1291. wireless networks, data center networks, optical networks, and parallel
[24] M. Zhao, M. Ma, and Y. Yang, “Efficient data gathering with and distributed computing systems. She has published more than 300
mobile collectors and space-division multiple access technique in papers in major journals and refereed conference proceedings and holds
wireless sensor networks,” IEEE Trans. Comput., vol. 60, no. 3, seven US patents in these areas. She is currently the associate editor-
pp. 400–417, Mar. 2011. in-chief for the IEEE Transactions on Computers and an associate editor
[25] A. A. Somasundara, A. Ramamoorthy, and M. B. Srivastava,, for the Journal of Parallel and Distributed Computing. She has served as
“Mobile element scheduling for efficient data collection in wire- an associate editor for the IEEE Transactions on Computers and the
less sensor networks with dynamic deadlines,” in Proc. 25th IEEE IEEE Transactions on Parallel and Distributed Systems. She has served
Int. Real-Time Syst. Symp., Dec. 2004, pp. 296–305. as a general chair, program chair, or vice chair for several major confer-
[26] W. Ajib and D. Haccoun, “An overview of scheduling algorithms ences and a program committee member for numerous conferences.
in MIMO-based fourth-generation wireless systems,” IEEE Netw., She is a fellow of the IEEE.
vol. 19, no. 5, Sep./Oct. 2005, pp. 43–48.
[27] S. Cui, A. J. Goldsmith, and A. Bahai, “Energy-efficiency of MIMO Cong Wang received the BEng degree of infor-
and cooperative MIMO techniques in sensor networks,” IEEE J. mation engineering from the Chinese University
Sel. Areas Commun., vol. 22, no. 6, pp. 1089–1098, Aug. 2004. of Hong Kong in 2008, and the MS degree in
[28] S. Jayaweera, “Virtual MIMO-based cooperative communication electrical engineering from Columbia University,
for energy-constrained wireless sensor networks,” IEEE Trans. New York, in 2009. He is currently working
Wireless Commun., vol. 5, no. 5, pp. 984–989, May 2006. toward the PhD degree at the Department of
[29] S. Cui, A. J. Goldsmith, and A. Bahai, “Energy-constrained modu- Electrical and Computer Engineering, Stony
lation optimization,” IEEE Trans. Wireless Commun., vol. 4, no. 5, Brook University, New York. His research inter-
pp. 2349–2360, Sep. 2005. ests include wireless sensor networks, perfor-
[30] I. Rhee, A. Warrier, J. Min, and X. Song, “DRAND: Distributed mance evaluation of network protocols and
randomized TDMA scheduling for wireless ad-hoc networks,” in algorithms.
Proc. 7th ACM Int. Symp. Mobile Ad Hoc Netw. Comput., 2006,
pp. 190–201.
" For more information on this or any other computing topic,
please visit our Digital Library at www.computer.org/publications/dlib.