Accepted Manuscript
PDC: Prediction-based Data-aware Clustering in wireless sensor
networks
Majid Ashouri, Hamed Yousefi, Javad Basiri, Ali Mohammad Afshin
Hemmatyar, Ali Movaghar
PII:
DOI:
Reference:
S0743-7315(15)00042-8
http://dx.doi.org/10.1016/j.jpdc.2015.02.004
YJPDC 3389
To appear in:
J. Parallel Distrib. Comput.
Received date: 29 April 2013
Revised date: 22 September 2014
Accepted date: 12 February 2015
Please cite this article as: M. Ashouri, H. Yousefi, J. Basiri, A.M.A. Hemmatyar, A. Movaghar,
PDC: Prediction-based Data-aware Clustering in wireless sensor networks, J. Parallel Distrib.
Comput. (2015), http://dx.doi.org/10.1016/j.jpdc.2015.02.004
This is a PDF file of an unedited manuscript that has been accepted for publication. As a
service to our customers we are providing this early version of the manuscript. The manuscript
will undergo copyediting, typesetting, and review of the resulting proof before it is published in
its final form. Please note that during the production process errors may be discovered which
could affect the content, and all legal disclaimers that apply to the journal pertain.
*Highlights (for review)
Highlights
Utilizing prediction along wit h data-aware clust ering to form long lived clusters
Building a pr ediction model utilizing OWA weights
Extensive simulations on a real-w or ld WSN data set
*Manuscript
Click here to view linked References
PDC: Prediction-based Data-aware Clustering in
Wireless Sensor Networks
Majid Ashouria,∗, Hamed Yousefia , Javad Basirib ,
Ali Mohammad Afshin Hemmatyara , Ali Movaghara
a Department
of Computer Engineering, Sharif University of Technology
of Computer Engineering, University of Tehran
b Department
Abstract
Minimizing energy consumption is the most important concern in wireless sensor
networks (WSNs). To achieve this, clustering and prediction methods can enjoy
the inherent redundancy of raw data and reduce transmissions more effectively.
In this paper, we focus on designing a prediction-based approach, named PDC,
to mainly contribute in data-aware clustering. It exploits both spatial and
temporal correlations to form highly stable clusters of nodes sensing similar
values. Here, the sink node uses only the local prediction models of cluster
heads to forecast all readings in the network without direct communication.
To the best of our knowledge, PDC is a novel energy efficient approach which
provides a high precision of the approximate results with bounded error. Our
simple prediction model presents high accuracy as well as low computation and
communication costs. Extensive simulations have been conducted to evaluate
the prediction model as well as our clustering approach. The results verify the
superiority of our simple prediction model. Moreover, PDC implies a significant
improvement on existing alternatives.
Keywords: Wireless Sensor Networks; Prediction; Clustering.
1. Introduction
The tendency toward using high performance, low-cost products in wireless communications technology has led to the rapid development of WSNs [1].
These networks consist of a large number of sensor nodes that cooperate to collect data in many applications such as environmental monitoring, agriculture,
industrial monitoring, and process control. Sensor nodes are equipped with limited and irreplaceable batteries which make energy efficiency a major concern.
Communications are by far the most expensive in terms of energy consumption.
∗ Corresponding
author. Tel: +98 2166166678
Email addresses: ashuri@ce.sharif.edu (Majid Ashouri), hyousefi@ce.sharif.edu
(Hamed Yousefi), basiri@ut.ac.ir (Javad Basiri), hemmatyar@sharif.edu (
Ali Mohammad Afshin Hemmatyar), movaghar@sharif.edu (Ali Movaghar)
Preprint submitted to Journal of Parallel and Distributed Computing
September 2, 2014
Accordingly, the necessity of a reduction in data transmissions makes more sense
than other operations. In this regard, data fusion arises as a discipline that is
concerned with how data gathered by sensor nodes can be processed to reduce
communication traffic drastically within the network.
Many studies, to date, have exploited the temporal correlation of data sequences to predict data values. The consecutive data collected by the nodes
during sensing periods are usually highly correlated. Indeed, in most cases, the
environmental condition is stable in continuous sequences or it changes with a
predictable rate. Thus, the transmission of all measured data not only provides
no special information for user analysis, but also wastes the energy resources.
The prediction-based methods can improve total network lifetime without losing critical information. Time series and stochastic approaches are two popular
models to discover the correlation of data history and forecast the future. Although the latter provides more accurate approximations [2, 3, 4, 5], high model
creation costs including both computation and communication ones are big challenges in WSNs. In contrast, time series [6, 7] introduce themselves as a more
common method in this area where the most applications can tolerate some error in their final results. In this regard, some researches [8, 9] have shown that
the simple prediction models may run much faster with equivalent performance
against the complicated ones.
However, prediction methods often consider the temporal correlation among
the sensor observations and neglect the spatial correlation existing intrinsically
in WSNs. Actually, as the sensor nodes are densely deployed in the environment,
it is possible that the adjacent nodes have similar sensory information at the
same time. By leveraging the existing redundancy among sensors, it is possible
to form clusters of nodes sensing similar values within a given threshold. Thus,
only a single value per cluster needs to be reported as opposed to a single value
per node. This mechanism can significantly reduce the number of transmissions
in data collection. Here, the number of clusters has a trade-off relationship
with the number of cluster updates. In a topology consisting of a few big
clusters, we face a small number of transmissions which drastically conserve
energy. However, the network topology changes fast and the number of control
messages to update clusters may not compensate the benefit of reducing data
messages and vice versa. Therefore, the main question is how to form clusters
efficiently in order to minimize energy consumption while meeting the accuracy
requirement.
In this paper, we propose PDC, a novel Prediction-based Data-aware Clustering protocol, to reduce transmissions (including control and data messages)
through the network and consequently minimize energy consumption. Our new
approach provides a three-fold contribution:
• PDC uses temporal correlation of data sequences to build a prediction
model utilizing OWA weights and approximate data values. Our simple
prediction model presents very low computation (i.e., O(1)) and communication costs compared to the prior works.
• PDC, to our best knowledge, is the first attempt which utilizes prediction
2
along with data-aware clustering to exploit temporal correlation as well as
spatial correlation and form long lived clusters. Indeed, knowing the future
values of sensors helps to form steady clusters which remain unchanged
for a long time and produce fewer control messages. To detect similarities
for a data-aware clustering, we employ the local predictions rather than
only the raw data used in the previous works. Clusters remain unchanged
as long as the sensor values stay within a user-provided error threshold
over time. Furthermore, the sink maintains the models of a few designated
sensors, i.e., cluster heads, and uses them for prediction. Thus, no data is
regularly transmitted through the network of steady clusters. Here, only
the cluster heads construct and update prediction models while the member nodes just sense the environment in data collection periods. Hence,
it significantly reduces the amount of communication required to report
the value of every sensor at the sink. Finally, PDC provides approximate
results with small, often negligible and bounded error. Indeed, a userprovided error threshold is provided by the user to describe the accuracy
requirement of the results. This ensures that the resulting approximate
answer always stays within the error threshold of the correct answer.
• We conduct extensive simulations based on a real-world WSN data set to
evaluate the performances of both prediction model and PDC. The results
confirm the superiority of our proposed approach.
The rest of this paper is organized as follows. Section 2 outlines the related
work. Section 3 presents PDC and describes our system model as well as prediction model. The simulation results are illustrated and analyzed in Section 4.
Finally, Section 5 concludes our work and points out some future directions.
2. Related Work
Recently, there has been a surge of interest in studying energy-efficient periodic data collection in WSNs. Cougar and TAG [10, 11] proposed a declarative
interface to acquire data from sensors. None of these works, however, have considered the problem of approximate data collection to reduce transmissions. In
this regard, temporal and spatial correlations can be employed to fuse data by
prediction and clustering, respectively, and conserve energy.
TiNA [12] uses a simple temporal correlation solution. If the variation of
a sensing value from the previous one falls within a specified range, it can be
ignored. It works well in stable environments, but provides a small energy
saving for the applications requiring high degree of accuracy. To solve this
problem, a number of works have proposed prediction methods in order to
provide accurate approximation of sensed data and consequently reduce the
number of transmissions. They often employ two instances of a model: one
resides at the source nodes and the other at the sink. Here, actual data is sent
to the sink if its difference from the predicted value exceeds the application
3
thresholds. Prediction approaches can be categorized into statistical and time
series approaches in WSNs.
The stochastic approaches exploit statistical attributes of the environment
to predict future data values. BBQ [3] enriches interactive sensor querying with
statistical modeling techniques. It tries to optimize selection of the best sensor
reading in order to reduce data transmissions. However, BBQ is not well suited
for anomaly and event detection. To capture any such variations, KEN [4] was
designed. It reduces communications between the sink and sensors in which
data is transmitted when detected as anomaly. However, both these methods
require a large expensive training set with high communication costs in order
to build their prediction models. Wei at al. [5] integrated the grey model in
Kalman filters to take the advantages of quick updating in processing data series
noises. Although their method provides good prediction accuracy, yet it suffers
from high computation complexity.
Most commonly used time series methods include Moving Average (MA),
Auto Regressive (AR), and Auto Regressive Moving Average (ARMA) models.
They are simple with low computation cost, and therefore are widely used in
many practical cases. In PAQ [6], each sensor builds an AR model and sends its
parameters to the sink. If a sensor reading deviates from the model, the node
starts to capture data values. At the end of prediction window, if the number of
deviations exceeds a specific value, it updates the model and notifies the sink.
SAF [7] improves the previous work in three aspects. First, it synchronizes prediction in sensors with the sink by forecasting the recent predicted values rather
than the real ones. Second, it adds a trend component to improve prediction
model accuracy. Moreover, stationary distribution of sensor readings provides
the ability to detect periods of data instability (highly noisy data). Jiang et al.
[13] proposed an adaptive enable/disable AR model to control the computation
and communication costs with respect to the error bound and correlation among
the sensor values.
On the other hand, the clustering methods employ the spatial correlation
to conserve energy in WSNs. To date, extensive research has been conducted
to cluster the entire network. However, there are a limited number of studies
on data-aware clustering methods. CAG [14] exploits semantic broadcast in
order to reduce the communication overhead by leveraging data correlation in
the query dissemination phase. It forms clusters in a tree-based WSN and
computes approximate answers to queries by using representative values. More
precisely, the cluster heads send their values in each round while the member
nodes just sense the environment. Moreover, DEDAC [15] and DACA [16] uses
different back-off algorithms to reduce the number of cluster heads in CAG.
A few studies have attempted to combine prediction and clustering ideas.
However, their main focus is on prediction rather than clustering challenges. In
PAQ and SAF, the sink knows the prediction parameters at each node, so globally finds the optimal number of clusters. However, the main clustering issues
(e.g., cluster formation and reformation) have not been considered. Prediction
or not [13] combines prediction and local clustering and proposes an adaptive
scheme in order to find a trade-off between computation and communication
4
costs. It collects sensory data in cluster heads and adaptively enables/disables
prediction scheme to reduce total energy consumption in the network. However,
the major concern is the computation cost of predictors.
Here, we consider a data-aware clustering approach along with a new lowcost prediction model to further conserve energy in WSNs.
3. PDC
Data-aware clustering methods, like CAG, DEDAC, and DACA, form clusters of the sensor nodes sensing similar values and transmit only a single value
per cluster as opposed to a single value per node. Therefore, fewer clusters with
more members has a great privilege. However, we seek an approach in which the
sink approximates results with bounded error without direct communication. In
this case, the steady clusters which produce few update messages are more efficient because cluster heads send no data in each round (unless the predicted
value is an anomaly), and the number of control messages to update clusters
may not compensate the benefit of prediction for reducing data messages. Our
approach clusters the network nodes with respect to the approximation of future sensory data in order to form steady clusters. A node considers the current
and the approximation of next T th data of the nominated cluster heads to join
more appropriate one. Each cluster head is representative of its cluster members. It builds and updates the prediction model and notifies the sink about
environmental changes. Indeed, when a reading is not properly predicted by the
model, the node may mark the reading as an outlier or choose to update the
model depending on the extent to which the reading disagrees with the model
and the number of recent outliers that have been detected.
Steady clustering merits are in general magnified by using prediction approaches. However, this idea brings some new challenges addressed in the
section. Indeed, we need to (1) provide a simple prediction model with high
precision of the approximate results, (2) synchronize cluster head model with
that of the sink and member nodes. In other words, the same prediction model
in a cluster head, the associated cluster members, and the sink is necessary, (3)
create steady clusters which remain unchanged for a long period of time, and
(4) prevent the creation of too many clusters with few members. This challenge
is different from the previous one in which we may have steady clusters with
no members. Here, the clusters are formed during network lifetime and tend to
split into smaller ones. On the other hand, merging clusters and changing roles
are often costly and produce many update messages.
Here, we first introduce the system model as well as our prediction model
and then our prediction-based data-aware clustering algorithm.
3.1. System Model
A network system is a TAG-like tree structure which consists of static and
battery-powered sensor nodes as well as one sink node. Sensor nodes are distributed randomly in a reliable environment and have the same physical capabilities. They are also time synchronized and periodically sense the environment.
5
We use the streaming (periodic) mode of query-based data collection. Here, the
sink propagates a query. Then, the qualified sensors response periodically in
the predefined intervals until receiving a new query. This mode is well-suited
for static environments where the readings do not change frequently and the
query remains valid for a certain period of time. Moreover, the query includes
a specified error threshold which indicates the expected accuracy of the final
result.
3.2. Prediction Model
Monitoring the environmental conditions in WSN applications shows stability in continuous data sequences, where physical phenomena change relatively
slowly with a constant and predictable rate, especially within a time interval
of a few hours. Figure 1 shows the temperature readings of three sensor nodes
placed inside Intel Berkeley Research lab [17] during 3 days as well as a snapshot
of 2 hours. Hence, we can use recent readings to predict future local readings.
In order to produce an accurate prediction, the sophisticated prediction models
with a long learning queue can be used. However, it is impractical for many lowend sensor nodes to build such models due to their high computation cost and
memory requirements. Furthermore, most environmental monitoring applications can tolerate some error in their final results. Here, we propose a practical
prediction model driven by the following features: (1) simple in implementation, (2) efficient in computation cost and memory usage, and (3) accurate in
approximation of far future values.
Cluster heads compute the prediction model. Besides a cluster head, both
its cluster members and the sink maintain a copy of cluster head prediction
model. They must know the predicted values at the associated cluster head
and synchronize themselves, but they do not access to the real sensed values
there. To address this, we use two prediction queues: (1) SQ which is employed
for maintaining N recent sensed values, and (2) PQ which is employed for
maintaining R recent predicted values. The sink, cluster members, and heads
predict the current values on the basis of the second queue. In contrast, SQ
is only used in the cluster heads. After updating the prediction model, PQ is
filled by R recent values in SQ and transmitted to the related nodes. Moreover,
in each round, the predicted value is also pushed to PQ and the oldest value is
removed.
Here, each cluster head C builds a prediction model and sends it to the
destination D. This model, P (t), is used in each sensing round t by both D to
predict measurements in a certain error bound and C to validate the precision.
t
Indeed, C constantly compares sensed value vC
at t with P (t) and calculates
t
the absolute error |vC − P (t)|. As soon as this error crosses a user-provided
t
thresholds E, i.e., |vC
− P (t)| > E, C may update its model and send it as
well as PQ values again to D (see Section 3.2.1). Since these updates rarely
occur compared to periodic transmissions of every measurement, our reactive
prediction scheme allows for a large energy saving.
We approximate the values of real measurements in round t with P (t). Our
predictor includes two components: trend T (t) and smoother S(t).
6
40
Sensor 22
Sensor 35
Sensor 50
Temperature (C)
35
30
25
20
15
10
0
1000
2000
3000
4000
Sample No.
5000
6000
7000
8000
(a) 3 days
30
Temperature (C)
Sensor 22
Sensor 35
Sensor 50
25
20
15
20
40
60
80
100
120
140
Sample No.
160
180
200
220
240
(b) 2 hours
Figure 1: Temperature measurements of three sensors in (a) 3 days (b) 2 hours [17]
7
P (t) = T (t) + S(t)
(1)
The trend component is a time-varying function which tracks constant changes
of environment. The smoother also represents the divergence of the phenomenon
from the trend and adopts it with temporal variations. Without the trend
component our predictions will converge to a constant value and without the
smoother a great number of temporal prediction errors may occur, and therefore,
the model needs to be updated many times.
Here, we consider a simple linear trend component which can be updated
easily without any learning computations as follows:
T (t) = vupd + (t − tupd ) × b
(2)
where vupd and tupd are the value pushed in the SQ at the last update and the
associated time of last reading, respectively, and b is the slope of the environment
(v t −v t−m )
changes. The slope in cluster head C is calculated by b = C mC
where m
denotes the number of captured data in the monitor window used to compute the
model. This simple method of obtaining b provides some advantages in contrast
to the complicated optimization methods such as the Least Mean Square (LMS)
method: (1) it has a computation cost of O(1). This provides a high degree of
efficiency for our prediction model where a node needs to calculate the slope
frequently (when it updates the model or changes its cluster head), so a nonnegligible cost is imposed, (2) its accuracy is comparable with the complicated
optimization methods (see Section 4.2) where the learning often requires having
enough data to expose their capabilities, which is not practical in WSNs, and
(3) the trend slope is more dependent to the few recent sensed values instead of
a large number of old ones.
In order to further smooth the trend component variations in our predictor,
we use an optimistic exponential Ordered Weighted Averaging (OWA) operator
[18, 19]. It has been widely utilized in fuzzy and decision making systems
because of its versatility. Indeed, here, we employ this operator to aggregate
multiple sequential data values into a single one by situational weights which
causes a very low computation complexity. An OWA operator of dimension n
is a mapping f : I n → I (where I=[0,1]) if associated with f , is a weighting
vector W = [w1 w2 ... wn ]T such that
X
wi = 1; wi ∈ [0, 1]
i
and where
f (a1 , a2 , ..., an ) =
n
X
wi bi
i=1
where bi is ith largest element among ak s. A fundamental aspect of the OWA
operator is the re-ordering step. A known property of these operators is that
8
they include the Min, Max, and arithmetic mean operators for the appropriate
selection of the vector W [18]:
F or W = [0 0 ... 1]T , f (a1 , a2 , ..., an ) = M in ai
F or W = [1 0 ... 0]T , f (a1 , a2 , ..., an ) = M ax ai
1 T
1X
1 1
...
] , f (a1 , a2 , ..., an ) =
ai
n n
n
n i=1
n
F or W = [
OWA operators are aggregation operators satisfying the commutativity, monotonicity, and idempotency properties. The aggregation done by an OWA operator always is between the Min and the Max (i.e., M in ai ≤ f (a1 , a2 , ..., an ) ≤
M ax ai ) [20]. Indeed, this operator serves as a parameterized function to go
from the Min to the Max. In [19], a degree of Maxness (initially named orness
measure of the aggregation) was also introduced as follows:
Pn
(n − i)wi
(3)
M axness(W ) = i=1
n−1
This measure specifies the degree to which the aggregation is like an Max
(or) operation. Therefore, the Min and Max operators can be regarded as OWA
operators with degree of Maxness 0 and 1, respectively [21].
M axness([0 0 ... 1]T ) = 0
M axness([1 0 ... 0]T ) = 1
1 1
1 T
1
...
] )=
n n
n
2
A simple class of OWA operators as the exponential class was introduced to
generate the OWA weights satisfying a given degree of Maxness. The optimistic
and pessimistic exponential OWA operators were correspondingly given by [18]:
Optimistic:
M axness([
wi = a × (1 − a)i−1
∀i 6= n, wn = (1 − a)n−1
(4)
Pessimistic:
wi = (1 − a) × an−i
∀i 6= 1, w1 = an−1
(5)
They have a very useful property. Given a value of n and a desired degree
of Maxness, one can simply obtain the associated value a [18]. Then the OWA
weights can be easily generated according to (4) or (5).
9
In this paper, we utilize the optimistic exponential OWA operator in S(t)
for a given Maxness. According to the general form of OWA, we formulate the
smoother component as follows:
S(t) = w1 ×(P (t−1)−T (t−1))+w2 ×(P (t−2)−T (t−2))+w3 ×(P (t−3)−T (t−3))
(6)
where each wi is an OWA weight. Although our proposal is independent of
the size of the PQ, we consider a small one of size of 3 (i.e., R=3) because it
allows to simplify the model with low computation and storage costs.
t
In our model, the sensed value vC
in cluster head C located out of the interval
[P (t)−E, P (t)+E] (i.e., outlier) is sent towards the sink. Here, the real constant
t
E is the worst case bound on prediction error (i.e., |vC
− P (t)| ≤ E). Moreover,
a node may update its model if the absolute error exceeds the threshold E (see
Section 3.2.1). Thus, as E increases, the model remains unchanged for longer
time. However, there is a trade-off relationship between the model stability and
accuracy. Larger E leads to less accurate models while it decreases the number
of updates, and as a consequence, drastically conserves energy. Finally, for an
error tolerant application, larger value of parameter E is preferred more, and
conversely.
Here, we have no learning process in the trend and smoother components.
To build the model, our computation cost is in order of O(1). We also require
N recent sensor readings at most in order to compute the slope, and therefore,
it needs O(N ) in terms of memory usage.
3.2.1. Model Update
The prediction model cannot precisely track environment changes for a long
time, so it needs to be updated when it is no longer a good fit for the data
being sensed. Updating model directly depends on the error toleration of user
applications. We classify data anomalies based on the model prediction error.
t
Indeed, a value whose prediction error (i.e., |vC
− P (t)|) exceeds the maximum
error E does not follow our constructed model. However, in order to have
a model capable of predicting the current data distribution and of detecting
outliers, we consider an additional threshold δ. This parameter is used to detect
when the model is beginning to be a poor fit for the data, and needs to be
updated.
Here, we illustrate the three main cases that occur when monitoring the
prediction error: (1) if the prediction error falls within [0, δ], then the model
is a good predictor of the data. In this case, the sensed value and predicted
one just are pushed in SQ and PQ, respectively, (2) if the prediction error falls
within [δ, E], the data is still within the user specified error bound but the
model may mispredict data in near future. To determine that, the node opens
an update monitor window of size N (if it is not open) and counts the number
of its occurrence in this bound, and (3) if the prediction error falls outside
[0, E], it depicts a deviation from our model which may be an outlier (i.e., fast
environment changes). In the case of a misprediction, we send the associated
sensor reading to the sink.
10
In PDC, our model is updated in two cases: (1) if the current size of the
monitor window exceeds from N2 and the number of detected mispredictions
is more than one, and (2) if at the end of the monitor window, the number
of occurrences within [δ, E] exceeds from N2 . In both cases, we send the new
prediction model as well as the PQ filled by R recent sensed values to the sink
and associated member nodes. It is worth mentioning that we update the model
only based on m recent readings where m is the number of captured data in the
monitor window. Clearly, we prefer to keep the number of updates low since
updates incur additional communication costs. Therefore, making the interval
[δ, E] too small will not result in an energy improvement since the model will
not properly fit the sensed value and will thus flag more readings as outliers
over time.
3.3. Prediction-based Clustering
As mentioned before, by leveraging the existing redundancy among sensors,
it is possible to form clusters of nodes sensing similar values within a given
threshold. The data-aware clustering merits are magnified by prediction. Indeed, knowing the future value of other sensors helps to form steady clusters
and so significantly reduces the amount of communication required to report
the final results to the sink. In order to detect similarities for a data-aware clustering, we use the local prediction models instead of only the raw data in the
previous studies. In this section, we introduce different phases of PDC clustering approach for WSNs. Figure 2 shows an example of formed clusters of H=2,
where H is the maximum hop distance of cluster members from the associated
heads. Indeed, using parameter H, we bound the cluster area to control the
number of nodes as well as update messages in each cluster. We call our approach as Cluster Head Centric clustering where both the cluster head data and
distance from the cluster head affects the cluster formation, but not the level
(i.e., the hop distance from the sink) of a node on the routing tree. In other
words, in each cluster, members are at most H hops away from the center (i.e.,
the cluster head). Here, we assign different roles to cluster nodes with respect
to their prediction and communication tasks.
1. Cluster head: As the representative of its cluster members, it is the only
node which communicates with the sink and notifies it about environmental anomalies. Here, a high communication cost is necessary to change its
role and consequently the associated cluster.
2. Non-edge member: As a node in hop distance of [1, H − 1] from the
associated head, it senses the environment, compares the readings to the
values from its cluster head prediction model, and finally propagates an
update message if it decides to change its cluster. It imposes a high
communication cost to change its cluster.
3. Edge member: As a boundary node in a cluster (i.e., one placed in a
hop distance of H from the associated head), it operates like a none-edge
member, except that no communication cost is necessary to join another
cluster because it can simply join the neighbor ones.
11
Sink
Cluster 1
Cluster 3
Cluster 4
Cluster 2
Cluster Head
Edge Member
Non-edge Member
Figure 2: An example of the formed clusters of H=2
3.3.1. Cluster Formation
We consider an initial phase where a TAG-like tree topology with the sink
as the root is set up. To construct the tree, the sink initiates the process and
broadcasts a message containing its own id and level (distance from the sink).
The receivers of this message which have not assigned their own level set their
level to the level in the message plus one. The id of the received message
is also considered as their parent through which they will route messages to
the sink. This process is continued until all of the nodes set their level and
parents. The network is divided into levels where the sink has Level 0 and the
farther nodes with more hop distances belong to the higher levels. Moreover,
the prediction models in all the network nodes are computed. Our algorithm
operates in a top-down level by level manner. First, the sink starts cluster
formation by broadcasting a query message described as Q =< Qid, Aid, θ >,
where Qid is the type of query, Aid specifies the desired attribute, and θ shows
the user-provided error threshold. Each receiving node creates another query
message and propagates it through the network to announce its cluster head.
The last query has a format of QM =< Q, CH, hop, values, slope >, where CH
is the associated cluster head ID and hop denotes the distance from CH. The
parameters values (i.e., a structure of R recent readings) and slope are also
used to announce the prediction model of CH to members which is necessary
for the approximation of future.
Here, a sensor node (say j) selects another one (say i) as its CH and joins
its cluster if and only if:
(1) vj ∈ [vi − θ2 , vi + θ2 ]
(2) |(vj + bj × T ) − (vi + bi × T )| < min(θ, merror)
where vj and vi are the last sensed values in member node j and the announced CH, respectively. Moreover, b is the trend slope, T specifies the future
12
round whose approximation is interested, and merror is min{|(vj + bj × T ) −
(vi + bi × T )|, ∀i ∈ CHcandidate−list }.
Indeed, on the receipt of QM , the node initializes a timer similar to the one
used in TAG. The firing time of the timer in each node is based on the level of
the node, and the timer of a node with lower level will be fired sooner. To avoid
the simultaneous firing of the same level nodes, each node adds a random value
to its initial timer. A node receives QM s from the neighbor nodes until firing
of its timer and adds the announced CHs to its CHcandidate−list if it satisfies
condition (1). On firing the timer, each node runs cluster formation algorithm
and selects its CH.Moreover, it announces its CH to all its neighbor nodes if it
is in a hop distance lower than H from the associated head. On the other hand,
the boundary nodes (called edge members as those placed in a hop distance of
H from the associated head) stop CH announcement. For CH selection among
the candidates, each node selects one with stronger data similarities in condition
(2). However, if the list is empty or there is no node to satisfy (2), it announces
itself as a CH. This process is repeated until each node has a role and knows
its CH. Each node also maintains a f orwarder-list of its neighbor nodes (as
connectors) located one hop closer to its CH. We use this list for cluster update.
Indeed, when a member node encounters an empty list, it has no path to the
previous cluster head and so regards a new one. In addition, during the cluster
formation, a CH creates a list of its neighbor members, i.e., member-list.
3.3.2. Cluster Update
Considering that the network conditions change during the lifetime and the
cluster members readings may become inconsistent with those in the cluster head
over time, sensor nodes need to track the network dynamics, detect inconsistencies, and adjust themselves with cluster variations. In this way, reclustering
is rather a simple and straightforward method. However, it produces a large
number of overhead messages which makes it impractical in WSNs. In contrast,
local adjustment reshapes clusters with low message exchange, but it also imposes some challenges that we have tried to consider here: (1) splitting clusters
is a simple method with low adjustment overhead. It, however, may cause in
formation of one-member clusters, (2) merging clusters helps overcoming the
previous problem, but it produces more update message than splitting method,
(3) updating a clusters should not disturb other clusters, and (4) dependency
to routing tree should not affect cluster structure.
Our cluster update mechanism is illustrated in Algorithm 1, where cluster
nodes perform different tasks according to their roles. Note that both Lines
1 and 3 in this algorithm can perform simultaneously. A cluster node may
change its CH in four cases: (1) it receives a cluster update which satisfies the
conditions of changing cluster, (2) it receives a cluster update which results in
removing the last entry in f orwarder-list, (3) it detects a difference more than
θ between the current reading and the predicted value in its CH, and (4) it
finds its member-list empty. Indeed, here, we utilize a cluster merging method
in order to prevent the formation of one-member clusters.
13
Algorithm 1: Cluster Update Algorithm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
On receiving an update message from node i at node j
Add i to the upd-msg-list
On firing the update timer
t
et = vjt − PCH
if (role == CH) then
for (each i in upd-msg-list) do
if (preCHidi == j) then
Delete i from member-list
if (member-list == ∅) then
Update prediction model
if (Change-CH()) then
Select forwarders from upd-msg-list and add to f orwarder-list
Send update message to the neighbors and sink
if (role ==Non-edge member) then
preCHidj = CHidj
if (upd-msg-list 6= ∅) then
Update prediction model
if (Change-CH()) then
Select forwarders from upd-msg-list and add to f orwarder-list
Send update message to the neighbors
else
Delete update senders from f orwarder-list
if (f orwarder-list == ∅) then
ChangeCH =1
if (et > θ && CHidj == preCHidj ) then
ChangeCH =1
if (ChangeCH ==1) then
Change-role-to-CH()
if (role ==Edge member) then
preCHidj = CHidj
if (upd-msg-list 6= ∅ k et > θ) then
Update prediction model
if (Change-CH()) then
Select forwarders from upd-msg-list and add to f orwarder-list
else
Delete update senders from f orwarder-list
if (f orwarder-list == ∅) k (et > θ && CHidj == preCHidj )
then
Change-role-to-CH()
On the whole, a node remains as a member of a specific CH until the conditions are satisfied. Otherwise, it joins to the other clusters or introduces itself as
14
a new CH. Here, we also utilize a timer similar to the one in cluster formation
so as to organize the order of updating the nodes in a cluster according to their
hop distance from the associated CH. A node with fewer hop distance from
its cluster head will fire its update timer sooner. This timer fires periodically
and prevents receiving multiple copies of a single event in a cluster. Accordingly, the update algorithm is first executed in CH (if necessary); then, the
cluster members in one hop away from the CH check cluster variations, and the
process continues until updating the edge-members. Each node stores all the received update messages from its neighbors in upd-msg-list. On firing the update
timer, it updates its prediction model and starts to process this list by a function
Change-CH to detect cluster variations and change its cluster. Updating the
prediction model incurs no computation cost, and it helps to form more accurate
and steady clusters based on the current situation of the node. Except for edgemembers joining to other clusters, if a node changes its cluster head, it broadcasts an announcement message AM =< preCHid, CHid, hop, values, slope >,
where preCHid is its previous cluster head ID.
Algorithm 2: Change-CH()
1
2
3
4
5
6
7
8
9
10
for (each i in upd-msg-list) do
if ((1) && (2) && et > θ2 ) then
merror = |(vj + bj × T ) − (vi + bi × T )|
CHidj = CHidi
levelj = leveli + 1
F lag =1
if (F lag ==1) then
return True
else
return False
Algorithm 3: Change-role-to-CH()
1
2
3
4
Clear f orwarder-list
CHidj = j
levelj =0
Send update message to the neighbors and sink
3.4. Accuracy Analysis of PDC
Here, we formally analyze the accuracy of PDC and prove that the error in
final results is always bounded by M ax(θ, E) for AVG operator.
t
We build clusters based on the error threshold θ, such that |vij
− Pi (t)| ≤ θ,
t
where vij is the sensed value at member j of cluster i and Pi (t) denotes the
predicted value at the associated cluster head at round t. On the other hand,
15
there is an error of at most E in our prediction model between the cluster head
(as well as the sink) approximate results and its real values. Therefore, if the
number of nodes in a cluster is m, the worst case cumulative error becomes
(m − 1)θ + E. For AVG operator, the error is bounded by (m−1)θ+E
. For the
m
= E if we utilize no
entire network with n nodes, the maximum error is n×E
n
clustering mechanism. In contrast, it is (n−1)θ+E
if we have just one cluster.
n
Now, we formally prove that the error upper bound in final results of a network
is smaller than M ax(θ, E). Lets cnn(i) be the number of nodes in cluster i and
cn be the number of clusters in the network.
PcnAccordingly, we can show that
the total number of nodes in the network is i=1 cnn(i). Now, we can compute
the error bound with finding the maximum difference between the correct and
approximated results as follows:
t
Correct =
Pcn Pcnn(i)
t
=
=
Pcn Pcnn(i)
i=1
j=1
|
|
Pcn
i=1
Pcn Pcnn(i)
i=1
j=1
t
|Pi (t) − vij
|
n
t
vij
(7)
n
Approximated =
Error U pper Bound =
j=1
i=1
Pcn
i=1
cnn(i) × Pi (t)
n
cnn(i) × Pi (t) −
Pi (t) −
Pcn Pcnn(i)
n
Pcn Pcnn(i)
i=1
(8)
j=1
i=1
j=1
t
vij
|
t
vij
|
n
≤
(n − cn) × θ + cn × E
n × M ax(θ, E)
≤
n
n
≤ M ax(θ, E)
(9)
In addition to the average error, we can compute the upper bounds for the
other operators used by the sink to process sensory data. For example, the
error in the result for Min and Max is bounded by M ax(θ, E). Moreover, for
SUM operator, it is (n − cn) × θ + cn × E ≤ n × M ax(θ, E). We can also
calculate the maximum error bounds for some other operations, like for variance and standard deviation operations in a cluster as follows. VAR is given
Pcnn(i)
(v t −AV Gt )2
ij
i
, where AV Gti is the average value of readings in
by V AR = j=1 cnn(i)
t
cluster i at time t, and it is equal to Pi (t). Here, vij
can be off from Pi (t) by up
to M ax(θ, E) (θ for member nodes and E for a cluster head). The AVG returned
≤ M ax(θ, E).
by a cluster in PDC has also a maximum error of (cnn(i)−1)×θ+E
cnn(i)
Pcnn(i)
(M ax(θ,E)+M ax(θ,E))2
Therefore, the maximum error of VAR is given by error ≤ j=1
cnn(i)
4M ax2 (θ, E). Moreover, the standard deviation operation has an error bounded
in 2M ax(θ, E).
16
=
It is worth mentioning that these error bounds have been calculated with
the assumption of reliable communications. However, due to lossy wireless links
and collisions, message lost is inevitable in WSNs, which can greatly restrict
the effectiveness of every clustering protocol and result in cluster malformation,
inaccurate results, and more energy consumption. In this regard, several works
(e.g., [22][23][24]) proposed different approaches that can make network links
and clustering formation more reliable; for instance, in our approach, due to
maintaining the member-list in the cluster heads, a retransmission method can
be applied to ensure delivering cluster head messages to the members located
in one hop, or a multi-path approach like our previous work [23] can be used to
forward data toward the other members or the sink. Moreover, we refer readers
to [25] and [26] proposing different approaches to solve the issues caused by
inter and intra-cluster collisions, respectively. Nonetheless, since PDC enjoys
prediction model in order to eliminate transmission of data in each round, there
is almost no data to be transmitted, and therefore inaccuracy or extra energy
consumption resulted by missing data is eliminated in these sensing rounds,
bounding the final error to the calculated bounds mentioned above.
4. Performance Evaluation
In this section, we will evaluate the performance of PDC via simulation
performed on a real data set. To show the efficiency of PDC, the results are
compared to SAF [7] and CAG [14], as the most well-known prediction-based
and data-aware clustering approaches in WSNs, respectively.
4.1. Experimental Setup
We used a real and publicly available trace of data collected from 54 sensor
nodes spread across the Intel Berkeley Research Lab [17], where each sensor
sends its sensed values every 30 seconds toward the base station. It consists of
about a month’s worth of temperature, light, humidity, and voltage readings.
These nodes were communicating over a lossy radio channel which led to miss a
number of readings in some collecting periods. In order to simulate the periodic
sensing, we used a linear interpolation method to fill these misses. We conducted
our experiments based on the temperature data points derived from the trace
for six days. We also used the real position of sensors and connectivity to form
clusters.
4.2. Analyzing our Prediction Model
Here, we first discuss how the prediction parameters (i.e., Maxness and queue
size) affect the performance of our model. Next, we compare our prediction
approach with some others to show its efficiency in WSNs. Our results are based
on the trace of data during 2 days in order to obtain of the model parameters,
as well as the 4 more days for test and comparison purposes.
In our evaluations, we consider (1) the percentage of mispredictions, i.e.,
those predictions whose errors exceed from threshold E, (2) the number of
17
model updates,
and (3) Mean Absolute Deviation Error (MADE) which is
P
MADE= n|et | , where et is the prediction error in time t and n is the number of data collection rounds.
• Maxness: It, as described before, is a measure which identifies the degree
to which the aggregation is like a Max operation. In our case, it specifies
how a prediction is related to R recent values in the prediction queue.
For example, Maxness=1 means that we just consider the last value in
the queue and Maxness=0 means we just use the Rth recent value in our
smoother component. Our experiments demonstrated that the interval
[0.5-0.8] is approximately a good bound for Maxness. We expected that
the current value is more relevant to the recent values as the results confirmed this. In the following simulations, we consider Maxness=0.7 (i.e.,
a=.65).
• Queue size: As discussed before, SQ size (N ) plays an important role in
prediction model creation and updating. In many cases, a larger training
queue typically leads to a more accurate model. However, this is not
true in our model since it has been designed to predict in short periods
of time (at most a few hours). Figures 3 and 4 show the percentage of
mispredictions and number of updates in Sensor 20 for various sizes of
training queue in our model. It confirms the above discussion. Indeed,
the percentage of mispredictions increases (so, accuracy decreases) with
enlarging the size of training queue, while the number of updates slightly
decreases (so, the number of transmissions decreases as well) because it
takes more time to detect an anomaly and update the model as the monitor
window grows. Our analysis suggests that N =10 is a good choice for such
data, so we use this in future experiments. It is worth mentioning that the
prediction model in each sensor is independent of the others and all the
nodes approximately produce the same results. Thus, here, we selected
long-lived Sensor 20 to track the queue size variations.
• Comparison to the similar approaches: Here, we first show how our
simple method of trend computation can outperform LMS method. We
can see in Figures 5 and 6 that by increasing error threshold E, both
the percentage of mispredictions and number of updates decrease. As is
evident from the figures, when we want to track data points in short time
periods and build our model by only few history data values, the optimal
methods, such as LMS, not only provide a relatively lower performance
due to the need to more data (e.g. for several days) for model computation,
but also are complicated, time consuming, and waste the resources.
From Figures 7 and 8, we can see that our prediction approach in PDC
outperforms the third-order AR model in SAF on average by 90% and
30% in terms of the percentage of mispredictions and number of updates,
respectively. Moreover, as shown in Figure 9, SAF has higher prediction
error than PDC. Indeed, SAF needs a larger monitor window to maintain
18
2
E=.02
E=.04
E=.06
1.8
Percentage of mispredictions
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
5
10
15
20
25
Queue size
30
35
40
Figure 3: Queue size vs. percentage of mispredictions
more data in its history for computation of more accurate models. This
long period forces more number of mispredictions, and therefore a higher
prediction error. It is worth mentioning that in order for our results to be
fair, we use the optimal parameters obtained in the SAF in our simulations.
4.3. Analyzing our Prediction-based Clustering
Here, we first discuss how prediction affects the number of transmissions
through the network. Next, we compare PDC with CAG to show its efficiency
in WSNs. Based on our extensive simulations, we consider θ=1 and H=1 to
reduce the clustering complications and better analyze the prediction effect.
• Steady clustering: As mentioned before, PDC forms clusters with respect to the approximation of the future data to form steady clusters.
Here, each node employs the approximation of next T th data of the nominated cluster heads to choose more appropriate one. In addition, considering that in most cases no data is transmitted toward the sink in PDC,
the number of cluster update messages and prediction messages (including
updates as well as mispredictions) play an important role in total number
of transmissions, and so in the energy consumption. Figure 10 shows the
number of transmissions of different messages for various rounds T . As expected, regarding farther future data, the stricter cluster formation criteria
increases the number of clusters and so prediction messages. Moreover,
steady clusters produce fewer update messages. However, for far times
(here, T >40), the number of update messages starts to increase. This
is mainly because the cumulative error in the approximation of far future
19
60
E=.02
E=.04
E=.06
Number of updates
50
40
30
20
10
0
5
10
15
20
25
Queue size
30
35
40
Figure 4: Queue size vs. number of updates
6
PDC
LMS
Percentage of mispredictions
5
4
3
2
1
0
0.01
0.02
0.03
0.04
0.05
0.06
Error threshold
0.07
0.08
0.09
Figure 5: Error threshold vs. percentage of mispredictions
20
0.1
400
PDC
LMS
350
Number of updates
300
250
200
150
100
50
0.01
0.02
0.03
0.04
0.05
0.06
Error thershold
0.07
0.08
0.09
0.1
Figure 6: Error threshold vs. number of updates
60
PDC
SAF
Percentage of mispredictions
50
40
30
20
10
0
0.01
0.02
0.03
0.04
0.05
0.06
Error threshold
0.07
0.08
0.09
0.1
Figure 7: Error threshold vs. percentage of mispredictions for PDC and SAF
21
600
PDC
SAF
550
500
Number of updates
450
400
350
300
250
200
150
100
50
0.01
0.02
0.03
0.04
0.05
0.06
Error threshold
0.07
0.08
0.09
0.1
Figure 8: Error threshold vs. number of updates for PDC and SAF
0.035
PDC
SAF
0.03
MADE
0.025
0.02
0.015
0.01
0.005
0
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
Error threshold
Figure 9: Error threshold vs. MADE for PDC and SAF
22
0.1
7000
Total
Prediction messages
Cluster messages
Number of transmisions
6000
5000
4000
3000
2000
1000
0
0
10
20
30
40
50
T
60
70
80
90
100
Figure 10: T vs. number of transmissions
data conversely affects the cluster formation. In other words, clusters need
to frequently reform for accurate tracking of environmental changes. We
set T =40 in the rest of our simulations where it provides the minimum
number of total message transmissions. Here, an important point is T =0,
that is, when we utilize no approximation of the future in our clustering approach and form clusters only based on the current values. As is
evident from the figure, in this case, we have the maximum number of total transmissions which shows the efficiency of using prediction in cluster
formation.
• Comparison to the similar approaches: Here, we first compare PDC
to CAG in terms of the number of clusters during 20 hours. As it can be
seen in Figure 11, PDC initially forms more number of clusters. Indeed,
its major concern is not to form a network with the minimum number of
clusters, but of highly stable ones changing slowly over the time. Thus,
by using a prediction-based clustering along with a cluster merging mechanism, PDC behave more stable than CAG.
To show the effect of using data prediction in our approach, Figure 12.a
illustrates the total number of transmissions in PDC and CAG over the
time. In CAG, cluster heads need to report all their own readings while
in PDC, the sink approximates the results. Hence, PDC significantly
outperforms CAG in WSNs. Furthermore, we consider PDC in the case
that we use no clustering for data gathering to show how steady clusters
reduce total transmissions (see Figure 12.b). The simulation results show
a performance improvement on average by 15%.
23
60
PDC
CAG
55
50
Number of clusters
45
40
35
30
25
20
15
10
2
4
6
8
10
12
Time (hour)
14
16
18
20
Figure 11: Time vs. number of clusters
Besides, one may concern why we do not take the residual energy of sensor
nodes into consideration when selecting cluster heads. It is because it would not
be as important as the classic clustering methods (e.g., DACA as our previous
work [16] and HEED) because of two reasons: 1) in our clustering approach the
cluster heads regularly send no data to deplete their energy, and 2) we utilize
a cluster merging method in PDC which can result in changing the role of a
cluster head, therefore it can balance the energy consumption.
To justify our claim, we did some experiments to analyze the energy consumption of the sensors during 20 hours on Intel Berkeley Research lab data set for
Mica2Dot sensors having TinyOS operating system and CC2420 radio stack.
Accordingly, TX power, RX power, sleep power, and their bandwidth have
been considered 54.4mW , 28.9mW , 3µW , and 38.8Kbps, respectively.
Figure 13 shows the energy consumption of sensors. Furthermore, we eliminated the data collection process from the cluster heads to clearly show the
effectiveness of our cluster formation approach in terms of energy consumption
in Figure 14. Thus, in the case of detecting anomalies or updating prediction
models and clusters, we disseminate the related messages only within the clusters and send nothing to the sink node. This is due to the fact that we use a
simple routing tree and therefore, the nodes with fewer hop distances from sink
send and receive messages much more than the others. However, the higher
energy consumption of these nodes is not related or dependent on the clustering
algorithm (see level-1 sensor nodes 3 and 33 in Figure 13). As evident from Figure 14, our cluster formation does not deplete the energy of some especial nodes
more than the others and considerable part of their energy are consumed in the
sleep mode (about .216J). Thus, although considering the residual energy may
slightly increase the network lifetime, its effect is not as obvious as the other
24
5
5
x 10
PDC
CAG
4.5
Total number of transmissions
4
3.5
3
2.5
2
1.5
1
0.5
0
2
4
6
8
10
12
Time (hour)
14
16
18
20
(a)
8000
PDC
PDC without clustering
Total number of transmitions
7000
6000
5000
4000
3000
2000
1000
0
2
4
6
8
10
12
Time (hour)
14
16
18
(b)
Figure 12: Time vs. total number of transmissions
25
20
0.8
0.7
0.6
Energy (J)
0.5
0.4
0.3
0.2
0.1
0
0
5
10
15
20
25
Sensors
30
35
40
45
50
Figure 13: Energy consumption in different sensor nodes
clustering methods where cluster heads transmit their data periodically.
5. Conclusion
In this paper, we proposed a data collection scheme, named PDC, which
integrates data-aware clustering and data prediction mechanisms in order to
reduce data communications. Here, by employing OWA weights, we built a prediction model which presents very low computation and communication costs.
Next, we utilized the prediction potential as well as data similarities to form
highly stable clusters remaining unchanged for a long time. Here, no data is
regularly transmitted to the sink where it just approximates the values of cluster heads as the representative nodes and so drastically conserves energy. Our
extensive simulation results demonstrated that both our prediction model and
prediction-based clustering in PDC significantly outperforms the most related
works in WSNs.
For future research, the algorithm could be modified to take into account
some aspects that have not been addressed in this work. For instance, studying
real-time clustering of sensory data in WSNs could be considered in future
studies.
References
[1] I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, A survey on
sensor networks, IEEE Communications Magazine 40 (2002) 102–114.
26
0.4
0.35
Energy (J)
0.3
0.25
0.2
0.15
0.1
0
5
10
15
20
25
Sensors
30
35
40
45
50
Figure 14: Intra cluster energy consumption in different sensor nodes
[2] D. Chu, A. Deshpande, J. Hellerstein, W. Hong, Approximate data collection in sensor networks using probabilistic models, in: 22nd International
Conference on Data Engineering (ICDE’06), pp. 48–59.
[3] A. Deshpande, C. Guestrin, S. Madden, J. Hellerstein, W. Hong, Modeldriven data acquisition in sensor networks, in: 13th International Conference on Very Large Data Bases (VLDB’04), pp. 588–599.
[4] A. Jain, E. Chang, Y. F. Wang, Adaptive stream resource management
using Kalman filters, in: International Conference on Management of Data
(SIGMOD’04), pp. 11–22.
[5] G. Wei, Y. Ling, B. Guo, B. Xiao, A. Vasilakos, Prediction-based data aggregation in wireless sensor networks: Combining grey model and Kalman
filter, Computer Communications-Elsevier 34 (2011) 793–802.
[6] D. Tulone, S. Madden, PAQ: Time series forecasting for approximate query
answering in sensor networks, in: 3rd European Conference on Wireless
Sensor Networks (EWSN’06), pp. 21–37.
[7] D. Tulone, S. Madden, An energy-efficient querying framework in sensor
networks for detecting node similarities, in: 9th ACM International Symposium on Modeling, Analysis, and Simulation of Wireless and Mobile Systems (MSWiM’06), pp. 191–300.
[8] A. Benzing, B. Koldehofe, M. Volz, K. Rothermel, Multilevel predictions
for the aggregation of data in global sensor networks, in: 14th International
Symposium on Distributed Simulation and Real Time Applications (DSRT’10), pp. 169–178.
27
[9] J. LaViola, Double exponential smoothing: An alternative to Kalman filterbased predictive tracking, in: Workshop on Virtual Environments 2003
(EGVE’03), pp. 199–206.
[10] Y. Yao, J. Gehrke, The cougar approach to in-network query processing in
sensor networks, ACM SIGMOD Record 31 (2002) 9–18.
[11] S. Madden, M. Franklin, J. Hellerstein, W. Hong, TAG: A tiny aggregation service for ad-hoc sensor networks, ACM SIGOPS Operating Systems
Review 36 (2002) 131–146.
[12] M. A. Sharaf, J. Beaver, A. LaA. brinidis, P. K. Chrysanthis, TiNA: A
scheme for temporal coherency-aware in-network aggregation, in: 3rd ACM
International Workshop on Data Engineering for Wireless and Mobile Access (MobiDe’03), pp. 69–76.
[13] H. Jiang, S. Jin, C. Wang, Prediction or Not? an energy-efficient framework for clustering-based data collection in wireless sensor networks, IEEE
Transactions on Parallel and Distributed Systems 22 (2011) 1064–1071.
[14] S. Yoon, C. Shahabi, The clustered aggregation (CAG) technique leveraging spatial and temporal correlations in wireless sensor networks, ACM
Transactions on Sensor Networks 3 (2007) 1–39.
[15] Y. Zhang, H. Wang, L. Tian, Energy and data aware clustering for data
aggregation in wireless sensor networks, in: IEEE Internatonal Conference
on Mobile Adhoc and Sensor Systems (MASS’07), pp. 1–6.
[16] S. Bahrami, H. Yousefi, A. Movaghar, DACA: Data-aware clustering and
aggregation in query-driven wireless sensor networks, in: 21st International
Conference on Computer Communications and Networks (ICCCN’12), pp.
1–7.
[17] Intel Lab Data , http://db.csail.mit.edu/labdata/labdata.html.
[18] D. Filev, R. R. Yager, On the issue of obtaining OWA operator weights,
Fuzzy Sets and Systems 94 (1998) 157–169.
[19] R. R. Yager, On ordered weighted averaging aggregation operators in multicriteria decisionmaking, IEEE Transactions on Systems, Man and Cybernetics 18 (1988) 183–190.
[20] J. Fodor, J. Marichal, M. Roubens, Characterization of the ordered
weighted averaging operators, IEEE Transactions on Fuzzy Systems 3
(1995) 236–240.
[21] X. Liu, A general model of parameterized OWA aggregation with given
orness level, International Journal of Approximate Reasoning 48 (2008)
598–627.
28
[22] D. Gong, Y. Yang, Z. Pan, Energy-efficient clustering in lossy wireless
sensor networks, Journal of Parallel and Distributed Computing (JPDC)
73 (2013) 1323–1336.
[23] M. Ashouri, H. Yousefi, A. M. A. Hemmatyar, A. Movaghar, FOMA: Flexible overlay multi-path data aggregation in wireless sensor networks, in:
IEEE Symposium on Computers and Communications (ISCC’12), pp. 508–
511.
[24] F. Stann, J. Heidemann, R. Shroff, M. Z. Murtaza, RBP: Robust broadcast propagation in wireless networks, in: 4th International Conference on
Embedded Networked Sensor Systems (SenSys’06), pp. 85–98.
[25] T. Wu, S. Biswas, Minimizing inter-cluster interference by self-reorganizing
mac allocation in sensor networks, Wireless Networks 13 (2007) 691–703.
[26] M. Al-Shawaqfeh, A. Abu-El-Haija, M. J. A. Rahman, Collision avoidance
slot allocation scheme for multi-cluster wireless sensor networks, Wireless
Networks 19 (2013) 1187–1201.
29
*Author Biography & Photograph
Majid Ashour i r eceived the M.Sc. in computer engineering fr om Shar if
University of Technology in Tehran, Ir an in 2012. His research interests ar e
in the analysis and design of algorithms/ protocols for wir eless networks,
particularly for ad hoc and sensor networks and in the performance
evaluation of computer networks.
Hamed Yousefi is curr ently a Ph.D. st udent of computer engineering at
Shar if Universit y of Technology in Tehran, Ir an where he received his M.Sc. in
2009. He is also a member of Ir anian Inventors Association. His r esear ch
interests include wir eless ad hoc and sensor networks, performance and
dependability modeling, and real-time communications.
Javad Basir i is curr ently a Ph.D. student of Information Technology at
University of Tehran in Tehran, Ir an where he r eceived his M.Sc. in 2011. His
research interests are data mining, infor mation r etrieval, evolut ionary
algorithms, business intelligence, and social networks.
Ali Mohammad Afshin Hemmatyar received both M.Sc. and Ph.D. degrees
in Electrical Engineering fr om Sharif Universit y of Technology in Tehran, Ir an
in 1991 and 2007, respectively. Since 1991, he has joined Department of
Computer Engineering, where is curr ently an assistant professor. His
research interests include cognitive r adio networks, wir eless sensor
networks, and communication systems.
Ali Movaghar is curr ently a professor in the Department of Computer
Engineering at Shar if University of Technology in Tehran, Ir an w here he
joined first as an assistant professor in 1993. He received both M.Sc. and
Ph.D. in computer, infor mation, and control engineer ing fr om the University
of Michigan at Ann Arbor in 1979 and 1985, respectively. He visited INRIA in
France in 1984, worked at AT&T Laborat ories during 1985-1986, and taught
at the University of Michigan during 1987-1989. His main areas of interest
are performance and dependability modeling, verification and validation,
wir eless networks, and distr ibuted r eal-time systems.