Efficient Continuous Skyline Query Processing in Wireless Sensor Networks
Abstract
:1. Introduction
2. Related Work
3. Preliminary
4. The Energy-Efficient Continuous Skyline Query Method
4.1. Reference Architecture of WSNs
4.2. Baseline Approach
- (1)
- For the query request <csq, ts, , te>, each sensor node filters out its valid data objects according to the query execution time and the valid time interval [tarr(d), texp(d)] of each data object d, employs a centralized skyline query algorithm such as BNL [8] or SFS [9] to compute the local skyline over all its valid data objects, and sends the local skyline query result to its cluster head.
- (2)
- Each cluster head employs the centralized skyline query algorithm to compute the cluster’s skyline over the set of cluster’s candidate data objects and sends the query result to sink node. The set of cluster’s candidate data objects means the union of the local skyline query results computed by all sensor nodes located in the cluster.
- (3)
- Sink node employs the centralized skyline query algorithm to compute the final skyline over the set of global candidate data objects and sends the final query result to the query manager. The set of global candidate data objects means the union of the cluster’s query results computed by all cluster heads.
- (4)
- The query manager returns the query result to the user.
- (5)
- When the next query execution time arrives, if it is less than or equal to te, the execution returns to step (1). Otherwise, the query is terminated.
4.3. Energy-Efficient Continuous Skyline Query Algorithm
- (1)
- Preprocessing Phase. In this phase, each sensor node (including cluster heads) deletes its expired data objects in real time, dynamically maintains its valid data objects, and employs a centralized skyline query algorithm to compute the local skyline over all its valid data objects. At the same time, each cluster head computes to get the maximum dominance data object of its local skyline query result.
- (2)
- Query Shipping Phase. Sink node transmits the query request <csq, ts, , te> issued by a user to all cluster heads, and each cluster head forwards <csq, ts, , te> and its maximum dominance data object md(Si) to its cluster members.
- (3)
- Initial Skyline Calculation Phase. This phase leverages the calculation results of preprocessing phase and efficient filtering strategy to obtain the skyline query result at the initial query time ts by means of in-network computation.
- (4)
- Incremental Update Phase. The phase incrementally updates the calculation result of the previous skyline query to compute the query results at the subsequent continuous query time, which avoids the extra computational overhead and data communication cost caused by continuous repetitive skyline calculations.
- (1)
- Node Processing. Each sensor node uses the received md(Si) to filter out the non-qualified data objects of its local skyline query result generated at ts and get the filtered local skyline query result. Here, the non-qualified data objects refer to those data objects of the local skyline query result dominated by md(Si). At the same time, each sensor node sends the filtered local skyline query result to its cluster head and keeps a copy of the filtered local skyline query result locally.
- (2)
- Cluster Head Processing. Each cluster head merges its filtered local skyline query result with all received filtered local skyline query results from its cluster members to get its collection of cluster’s candidate data objects, employs the centralized skyline query algorithm to compute its cluster’s skyline query, sends the query result to sink node, and keeps a copy of the query result locally.
- (3)
- Sink Node Processing. Sink node merges all received query results from cluster heads to get its collection of global candidate data objects, employs the centralized skyline query algorithm to compute the final skyline over the collection of global candidate data objects, sends the final query result to the query manager, and keeps a copy of the final result locally. At the same time, the query manager returns the query result to the user.
- (1)
- When the next query time arrives, if it is greater than te, sink node terminates the continuous skyline query. Otherwise, the following steps are executed.
- (2)
- Sink node deletes all expired data objects in its copy of the final result at the new arrival query time. Then, sink node computes to get the maximum dominance data object md(Sf) of its copy of the final result Sf and sends md(Sf) to all cluster heads.
- (3)
- Each cluster head modifies its copy of the query result by deleting all expired data objects and those data objects dominated by md(Sf), computes to get the maximum dominance data object md(Sc) of its copy of the query result Sc, and sends md(Sc) and md(Sf) to its all cluster members.
- (4)
- Each sensor node modifies its copy of local skyline query result by deleting all expired data objects of the copy and then does a dominant check for each new valid data object that has been added since the last query. Specifically, the method of dominant check is as follows: For a new added valid data object dk in a sensor node, if dk is dominated by any data object of the copy of local skyline query result or one of md(Sc) and md(Sf), dk is filtered out; otherwise, dk is added into a local candidate list, and all data objects in the copy of local skyline query result dominated by dk, if exist, are deleted. Finally, each sensor node sends all data objects of its local candidate list to its cluster head and adds all data objects of its local candidate list into its copy of local skyline query result.
- (5)
- Each cluster head does a dominant check for each data object received from these local candidate lists of its cluster members. Specifically, for each data object di received from cluster members, if di is dominated by any data object of the copy of the query result, di is filtered out; otherwise, di is added into a cluster candidate list, and all data objects in the copy of the query result dominated by di, if exist, are deleted. Then, each cluster head sends all data objects of its cluster candidate list to sink node and adds all data objects of its cluster candidate list into its copy of the query result.
- (6)
- Sink node does a dominant check for each data object received from cluster heads. Specifically, for each data object dj received from cluster heads, if dj is dominated by any data object of the copy of the final result, dj is filtered out; otherwise, dj is added into the copy of the final result, and all data objects in the copy of the final result dominated by dj, if exist, are deleted. Then, sink node sends all data objects of the copy of final query result to the query manager, and the query manager returns them to the user.
5. Performance Evaluation
5.1. Experimental Setting
5.2. Experimental Results
6. Conclusions
Author Contributions
Funding
Conflicts of Interest
References
- Zhang, D.; Zhang, T.; Zhang, J. A Kind of Effective Data Aggregating Method Based on Compressive Sensing for Wireless Sensor Network. EURASIP J. Wirel. Commun. Netw. 2018, 2018, 1–15. [Google Scholar] [CrossRef]
- Zhang, D.; Zhou, S.; Tang, Y. A low duty cycle efficient MAC protocol based on self-adaption and predictive strategy. Mob. Netw. Appl. 2018, 23, 828–839. [Google Scholar] [CrossRef]
- Zhang, D.; Niu, H.; Liu, S. Novel PEECR-based Clustering Routing Approach. Soft Comput. 2017, 21, 7313–7323. [Google Scholar] [CrossRef]
- Madden, S.; Franklin, M.J.; Hellerstein, J.M.; Hong, W. TinyDB: An Acquisitional Query Processing System for Sensor Networks. ACM Trans. Database Syst. 2005, 30, 122–173. [Google Scholar] [CrossRef]
- Yao, Y.; Gehrke, J. The cougar approach to in-network query processing in sensor networks. ACM SIGMOD Rec. 2002, 31, 9–18. [Google Scholar] [CrossRef] [Green Version]
- Akyildiz, I.F.; Su, W.; Sankarasubramaniam, Y.; Cayirci, E. Wireless Sensor Networks: A Survey. Comput. Netw. 2002, 38, 393–422. [Google Scholar] [CrossRef]
- Pottie, W.; Kaiser, W. Wireless integrated network sensors. Commun. ACM 2000, 43, 51–58. [Google Scholar] [CrossRef]
- Borzsony, S.; Kossmann, D.; Stocker, K. The Skyline Operator. In Proceedings of the 17th International Conference on Data Engineering, Heidelberg, Germany, 2–6 April 2001; pp. 421–430. [Google Scholar]
- Chomicki, J.; Godfrey, P.; Gryz, J.; Liang, D. Skyline with Presorting. In Proceedings of the 19th International Conference on Data Engineering, Bangalore, India, 5–8 March 2003; pp. 717–816. [Google Scholar]
- Godfrey, P.; Shipley, R.; Gryz, J. Maximal Vector Computation in Large Data Sets. In Proceedings of the 31st International Conference on Very Large Data Bases, Trondheim, Norway, 30 August–2 September 2005; pp. 229–240. [Google Scholar]
- Bartolini, I.; Ciaccia, P.; Patella, M. Efficient sort-based skyline evaluation. ACM Trans. Database Syst. 2008, 33, 1–45. [Google Scholar] [CrossRef]
- Kossmann, D.; Ramsak, F.; Rost, S. Shooting Stars in the Sky: An Online Algorithm for Skyline Queries. In Proceedings of the 28th International Conference on Very Large Data Bases, Hong Kong, China, 20–23 August 2002; pp. 275–286. [Google Scholar]
- Papadias, D.; Tao, Y.; Fu, G.; Seeger, B. Progressive skyline computation in database systems. ACM Trans. Database Syst. 2005, 30, 41–82. [Google Scholar] [CrossRef]
- Tao, Y.; Papadias, D. Maintaining sliding window skylines on data streams. IEEE Trans. Knowl. Data Eng. 2006, 18, 377–391. [Google Scholar]
- Wu, P.; Agrawal, D.; Egecioglu, O.; El Abbadi, A. DeltaSky: Optimal Maintenance of Skyline Deletions without Exclusive Dominance Region Generation. In Proceedings of the 23rd International Conference on Data Engineering, Istanbul, Turkey, 15–20 April 2007; pp. 486–495. [Google Scholar]
- Hsueh, Y.L.; Zimmermann, R.; Ku, W.S. Efficient Updates for Continuous Skyline Computations. In Proceedings of the 19th International Workshop on Database and Expert Systems Application, Turin, Italy, 1–5 September 2008; pp. 419–433. [Google Scholar]
- Wang, Y.; Wei, W.; Deng, Q.; Liu, W.; Song, H. An Energy-Efficient Skyline Query for Massively Multidimensional Sensing Data. Sensors 2016, 16, 83. [Google Scholar] [CrossRef] [PubMed]
- Roh, Y.J.; Song, I.; Jeon, J.H.; Woo, G.K.; Kim, M.H. Energy-Efficient Two-Dimensional Skyline Query Processing in Wireless Sensor Networks. Proc. Smart Spaces Sens. Netw. 2013, 294–301. [Google Scholar]
- Dong, L.; Liu, G.; Cui, X.; Li, T. G-skyline query over data stream in wireless sensor network. Wireless Netw. 2018, 1–16. [Google Scholar] [CrossRef]
- Wang, Y.; Song, B.; Wang, J.; Zhang, L. Geometry-Based Distributed Spatial Skyline Queries in Wireless Sensor Networks. Sensors 2016, 16, 454. [Google Scholar] [CrossRef] [PubMed]
- Chen, H.; Zhou, S.; Guan, J. Towards Energy-Efficient Skyline Monitoring in Wireless Sensor Networks. In Proceedings of the 4th European Conference on Wireless Sensor Networks, Delft, The Netherlands, 29–31 January 2007; pp. 101–116. [Google Scholar]
- Xin, J.; Wang, G.; Chen, L.; Zhang, X.; Wang, Z. Continuously Maintaining Sliding Window Skylines in a Sensor Network. In Proceedings of the 12th International Conference on Database Systems for Advanced Applications, Bangkok, Thailand, 9–12 April 2007; pp. 509–521. [Google Scholar]
- Heinzelman, W.B.; Chandrakasan, A.P.; Balakrishnan, H. An application-specific protocol architecture for wireless microsensor networks. IEEE Trans. Wirel. Commun. 2002, 1, 660–670. [Google Scholar] [CrossRef]
id | a1 | a2 | tarr | texp |
---|---|---|---|---|
d1 | 10 | 9 | 1 | 17 |
d2 | 8 | 7 | 2 | 16 |
d3 | 2 | 9 | 4 | 15 |
d4 | 3 | 6 | 6 | 18 |
d5 | 6 | 10 | 7 | 22 |
d6 | 4 | 5 | 9 | 23 |
d7 | 7 | 4 | 11 | 21 |
d8 | 9 | 2 | 13 | 24 |
d9 | 1 | 8 | 16 | 26 |
d10 | 2 | 5 | 16 | 28 |
d11 | 4 | 3 | 17 | 27 |
d12 | 7 | 1 | 18 | 30 |
Symbols | Descriptions |
---|---|
S | The set of m-dimensional data objects perceived by sensor nodes in a sensor network |
{a1, a2, …, am} | The set of attributes of each data object in S |
d | A data object of S |
d[ai] | The i-th attribute value of d |
[bi, ei] | The domain on attribute ai, i.e., for any data object d, bi ≤ d[ai] ≤ ei |
DC(d) | The dominant capability of d |
md(Si) | The maximum dominance data object of data object set Si |
Parameter | Range | Default Value | Description |
---|---|---|---|
Nsd | 100–500 | 300 | Number of sensor nodes |
Cardinality | 10–20k | 10k | Number of data objects |
Dimension | 2–4 | 3 | Number of attributes each data object contains |
[ts, te] | [0, 200], [0, 300], [0, 400] | [0, 300] | Query time interval |
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Xiao, Y.; Jiao, X.; Wang, H.; Hsu, C.-H.; Liu, L.; Zheng, W. Efficient Continuous Skyline Query Processing in Wireless Sensor Networks. Sensors 2019, 19, 2902. https://doi.org/10.3390/s19132902
Xiao Y, Jiao X, Wang H, Hsu C-H, Liu L, Zheng W. Efficient Continuous Skyline Query Processing in Wireless Sensor Networks. Sensors. 2019; 19(13):2902. https://doi.org/10.3390/s19132902
Chicago/Turabian StyleXiao, Yingyuan, Xu Jiao, Hongya Wang, Ching-Hsien Hsu, Li Liu, and Wenguang Zheng. 2019. "Efficient Continuous Skyline Query Processing in Wireless Sensor Networks" Sensors 19, no. 13: 2902. https://doi.org/10.3390/s19132902
APA StyleXiao, Y., Jiao, X., Wang, H., Hsu, C. -H., Liu, L., & Zheng, W. (2019). Efficient Continuous Skyline Query Processing in Wireless Sensor Networks. Sensors, 19(13), 2902. https://doi.org/10.3390/s19132902