Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PDC: Prediction-based data-aware clustering in wireless sensor networks

2015, Journal of Parallel and Distributed Computing

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.