DATAK-01512; No of Pages 14 Data & Knowledge Engineering xxx (2015) xxx–xxx
Contents lists available at ScienceDirect
Data & Knowledge Engineering journal homepage: www.elsevier.com/locate/datak
Editorial
A continuous reverse skyline query processing method in moving objects environments Jongtae Lim a, He Li b, Kyoungsoo Bok a, Jaesoo Yoo a,⁎ a b
Dept. of Information and Communication Engineering, Chungbuk National University, 410 Seongbong-ro (street), Heungduk-gu, Cheongju, Chungbuk, South Korea School of Software, Xidian University, Xian, Shaanxi 710071, China
a r t i c l e
i n f o
Available online xxxx Keywords: Continuous query Reverse skyline Moving object Location-based services
a b s t r a c t Many studies on reverse skyline query processing have been done for various services. The existing reverse skyline query processing methods are based on dynamic skylines. There are no reverse skyline query processing algorithms based on metric spaces for location-based services. The existing methods for processing a reverse skyline query have the limitation of service domains and require the high costs of computation to provide various location-based services. In this paper, we propose a new reverse skyline query processing method that efficiently processes a query over the moving objects. In addition, the proposed method processes a continuous reverse skyline query efficiently. In order to show the superiority of the proposed method, we compare it with the previous reverse skyline query processing method in various environments. As a result, the proposed method achieves better performance than the existing method. © 2015 Elsevier B.V. All rights reserved.
1. Introduction With the development of mobile devices such as smart phone and tablet, various applications for the mobile devices have been released. In this situation, one of the most important services for the mobile devices is location-based services (LBS) [1,2]. LBS provides the useful information based on the locations of mobile users. To provide LBS, various query processing techniques over moving object environments have been widely studied [3–10]. To provide location-based services, we need efficient query processing methods for various query types such as a point query, a range query [3,4], a k-nearest neighbor (kNN) query [5–7], and a top-k query [8–10]. Many studies for skyline queries which consider multi-attribute values have been done [11,12]. With the development of various skyline query processing techniques, it becomes possible to provide various services considering multi-attribute values such as the cheapest and nearest restaurant. In the past, most of the services considered the type of information to be provided to the customers. The services must consider the kind of target objects or the efficiency of a query processing method when providing information. In addition, the skyline is a useful query type for customer-oriented services, but it is not suitable for company-oriented services. As the variant of the skyline query processing, a reverse skyline query has been studied for company-oriented services [13–20]. The reverse skyline query is a query type returning a set of objects that includes the query object as the result of the skyline query. For example, the restaurant is able to retrieve the customers that consider it to be the cheapest and nearest one by the reverse skyline query. We can also provide more useful services through the reverse skyline query. Recently, various reverse skyline query processing methods have been studied. But, they are based on dynamic skyline [21]. The traditional skyline to retrieve skyline points usually assumes static data objects in the database. However, the dynamic skyline focuses on skyline queries with dynamic attributes. The dynamic skyline is the specific skyline to process a similar query. Thus, the existing reverse skyline methods have the limitation of service domains and require the high costs of computation to provide various ⁎ Corresponding author at: Dept. of Information and Communication Engineering, Chungbuk National University, 410 Seongbong-ro (street), Heungduk-gu, Cheongju, Chungbuk, South Korea.
http://dx.doi.org/10.1016/j.datak.2015.05.003 0169-023X/© 2015 Elsevier B.V. All rights reserved.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
2
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
location-based services. In this paper, we propose a new reverse skyline query processing method that efficiently processes a query over moving objects. In addition, the proposed method also processes continuous reverse skyline queries efficiently. The proposed method makes the verification range to guarantee the result of a reverse skyline query. Therefore, the proposed method does not need to implement final verification when the new objects appear or the moving objects move. In order to show the superiority of the proposed method, we compare it with the previous reverse skyline query processing method in various environments. As a result, the proposed method achieves better performance than the existing method. The rest of this paper is organized as follows. Section 2 reviews related works. Section 3 illustrates our proposed method. Section 4 presents the performance evaluation results of our proposed method. Finally, Section 5 concludes this paper. 2. Related work 2.1. The skyline query A skyline query that has been widely studied is a specific example of multi-attribute queries. The result of a skyline query is a set of objects in the database whose attribute values are not dominated by any other objects. For example, if a customer wants to find the cheapest and nearest restaurant, the location of the customer is a query point in the space and the restaurants are the target objects of the query. The attributes of the objects are the price and the distance. Fig. 1 shows how to process a skyline query. As shown in Fig. 1(a), there are certain objects, p1, p2, p3, p4, p5 and p6. In this case there are no objects satisfying the customer's requirements. However, the customer will want some restaurants whose conditions are close to their expectations. In other words, the customer does not consider the objects which have a higher price and greater distance than another object. After removing the objects dominated by other objects on all dimensions, the remaining objects are the result of the query. p3 and p4 are removed, since they are dominated by other objects. That is, p3 is dominated by p2, p4 and p5, and p4 is dominated by p5. The result of the query is shown in Fig. 1(b). 2.2. The reverse skyline query The reverse skyline query is a query type returning a set of objects that includes the query object as the result of the skyline query. For example, when a restaurant wants to advertise a bargain day, the advertisement is more impressive to customers who think that the restaurant is cheaper and closer than other restaurants. In this case, the restaurant is a query object issuing a reverse skyline query and the customers are the target objects for the query. Fig. 2 shows the skyline of target objects. Fig. 2(a) shows the skyline of c1. c1 is the reverse skyline. In this case, query q is the skyline. Fig. 2(b) shows the skyline of c2. c2 is not the reverse skyline. In this case, query q is not the skyline. The naive method to process a reverse skyline query is Greedy Reverse Skyline (GRSL) [13], which finds target objects including the query object as a result of a skyline query for each target object. However, the method requires a lot of computation time to process the reverse skyline query. Recently, various reverse skyline query processing methods have been proposed. E. Dellis proposed a reverse skyline query processing method using the Branch and Bound Skyline (BBS) algorithm, and Reverse Skyline Computation Using Skyline Approximations (RSSA) to reduce the quantity of a range query [13]. X. Lian proposed a Reverse Skyline Search over Uncertain Databases [14]. L. Zhu proposed Reverse Skyline on Data Stream [15]. Y. Park proposed Reverse Skyline with MapReduce [16]. And Y. Gao proposed Reverse Skyline over multidimensional datasets [17]. However, they are not exactly reverse skyline algorithms. They are based on dynamic skyline algorithms [21]. We call them reverse dynamic skyline. Fig. 3 shows the dynamic skyline and reverse dynamic skyline. The dynamic skyline focuses on skyline queries with dynamic attributes. The dynamic skyline is the specific skyline to process a similarity query. Therefore, the existing dynamic skyline
price
price
p3 p1
p3
p2
p1
p2 p4
p4
p5
p5
p6
p6
distance
distance
(a) Objects on logical space
(b) Result of skyline query
Fig. 1. Example of skyline query processing.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
price s1
price
s3
s2
3
q s2
s1 s4
s4
q
s5 s6
c1
s6
distance
(a) skyline of reverse skyline c1
c2
distance
(b) skyline of non-reverse skyline c2
Fig. 2. The skyline of target objects.
methods cannot process the general reverse skyline since they process only a similarity query. For example, when a restaurant wants to advertise a bargain day, the advertisement is more impressive to customers who find the restaurant that is cheaper and closer than other restaurants. In the reverse dynamic skyline, the customers who think that our restaurant is cheaper and closer than other restaurants are pruned because a similarity query considers only the difference of attribute values. BBRS and RSSA do not consider the direction of objects. Therefore, in order to process a reverse skyline, we cannot use the BBRS and RSSA. 3. The proposed method 3.1. The proposed monochromatic reverse skyline processing method In this paper, we propose the reverse skyline query processing method based on a general skyline query in metric spaces. The proposed method uses a spatial index to efficiently process a reverse skyline query. It also considers both monochromatic and bichromatic environments. A monochromatic query is a query in which the query object and target objects are of the same type. All objects have a location attribute and static attributes. For example, there are many users in a survival game. We assume that all objects are gamers in the game. They are the same type of objects and have the same attributes such as location and number of bullets as static attributes. We also assume that it is most beneficial to attack the nearest other gamer who has the fewest bullets, because that strategy provides the highest chance of winning. Conversely, to survive in the game, it is best to kill the user targeting you first. Therefore, we need a query which tells us “Who would be targeting me now?” Fig. 4 shows how a monochromatic reverse skyline query is processed. Fig. 4(a) shows all objects located on the metric space. In Fig. 4(a), the values in parentheses are the static attributes and the q denotes a query object. First, the proposed method searches for the objects dominating q regardless of the distance attribute. o6 is the object found first by the query algorithm, but o6 does not dominate q. Therefore, the algorithm continues to find the next nearest object until an object dominating q appears. Second, if an object
price
p1
price
p2
p1
p6 ’
p3
p3 p4
p4 ’
p4
p2
p5 ’ q
q p5
p6
p6
distance
distance
(a) Dynamic skyline
p5
(b) Reverse dynamic skyline
Fig. 3. Example of dynamic skyline and reverse dynamic skyline.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
4
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
o1(50)
o1(50)
o7(120)
o2(100)
o7(120)
o2(100)
o3(100)
o3(100) o6(200)
o6(200)
q(150)
q(150) o8(130)
o4(100)
o9(40)
o5(400)
(a) Search for the objects dominating q
o8(130)
o4(100)
o9(40)
o5(400)
(b) Draw the bisector of the line segment between q and objects dominating q
o1(50)
o7(120)
o2(100)
o3(100)
o1(50) o3(100)
o6(200)
o6(200)
q(150)
q(150) o8(130)
o4(100) o5(400)
o7(120)
o2(100)
o9(40)
(c) Repeat until all objects inside
o8(130)
o4(100) o5(400)
o9(40)
(d) Refine the candidate objects
Fig. 4. The monochromatic reverse skyline processing method.
dominating q is found, we draw a bisector between the object and q. As shown in Fig. 4(b), since o2 is the object dominating q, the bisector between o2 and q is generated. All objects located out of the bisector do not contain q as the result of their skyline. It is because the objects are always closer to o2 than q and o2 even dominates q in static attributes. q is dominated by o2 on skyline of both o1 and o3. These processes are repeated until all objects inside the bisector are checked. During the processes, we cache all objects located inside the bisector and identify objects dominating q as the candidates of the result. Finally, we refine the candidate objects by determining whether the objects that dominate q and are closer to them than q exist or not as shown in Fig. 4(d). In Fig. 4(d), o2 is not the result of the query because o1 exists. In this case, o6 and o8 are the results of the query. Fig. 5 shows the pseudo code used to process the monochromatic skyline. We use the grid index to process the continuous query because a grid index achieves better performance of updating objects and query results than R-tree index in dynamic environments. When a reverse skyline query q is given, a cell including q is assigned (line 2). While a heap H is not empty, the proposed method searches for the object that dominates q regardless of the distance attribute from the objects nearest to the query object (lines 4– 16). If q is dominated by object o, a bisector on a segment between q and o is drawn. We remove all cells and objects from the bisectors of q from H. We also remove all objects out of the bisector of q from RESULT_SET. Then we insert o into CANDIDATE_RESULT_SET (lines 6–10). If q is not dominated by o, we skip the step for filtering the object because it does not affect the calculated result (lines 12–14). Finally, the proposed method checks whether or not the objects that dominate q and are closer than q exist in RESULT_SET (lines 17– 18). We then return RESULT_SET as the reverse skyline result (line 19). The average complexity of the proposed algorithm is log n.
3.2. The proposed bichromatic reverse skyline processing method Bichromatic means that a query object is different from the target objects. All objects have a location attribute and static attributes. For example, there are many objects in the 2-dimensional metric space which are classified into stores and customers. They are different types of objects and have different attributes. Store objects have a location attribute and price as a static attribute while customer objects have only a location attribute. We assume that the store objects issue queries and the customer objects are their targets. We also assume that it is beneficial for a store to find customers who think that the store has the lowest price and is nearest to them. It is because the store wants to advertise to customers who have high possibility of visiting the store to be most effective. In this case, we need the query Who's interested in the store? Fig. 6 shows the algorithm for processing a bichromatic reverse skyline query. Fig. 6(a) shows all objects located on the metric space. In Fig. 6(a), the values in parentheses are the static attributes, and q denotes the query object. First, the proposed method searches for the same type of object dominating q without the distance attribute in the order of their proximity to q. s6 is the object Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
5
Compute Monochromatic Reverse Skyline(G, q) input : G: grid index, q : query object output : result of q 00 { 01
Insert a new entry for q into the query table
02
c = the cell including q on G // A cell is a section in G
03
Insert c into H
04
While (H is not empty) {
05
o = Get an object from H // H is managed like CPM
06
If ( q is dominated by o ) {
07
Draw a bisector on a segment between q and o
08
Remove all cells and objects outside of the bisectors of q from H
09
Remove all objects outside of the bisectors of q from RESULT_SET
10
Insert o into CANDIDATE_RESULT_SET
11
} else {
12
If ( o is out of the bisectors of q )
13
continue
14
Insert o into RESULT_SET
15
}
16
}
17
Insert all objects in CANDIDATE_RESULT_SET into RESULT_SET
18
Refine all objects in RESULT_SET
19
return RESULT_SET;
20 } Fig. 5. Algorithm of the monochromatic reverse skyline.
first found by the query algorithm, but s6 does not dominate q. Therefore, the algorithm continues to find the next nearest object until an object dominating q appears. Second, if an object dominating q is found, we draw the bisector between the object and q. Fig. 6(b) shows that s2 is the object dominating q and the bisector between s2 and q is drawn. All objects located outside the bisector do not contain q as the skyline result. It is because the objects are always closer to s2 than q and even s2 dominates q in static attributes. q is dominated by s2 on the skyline of both c1 and c2. These processes are repeated until all objects inside the bisector are checked. During the processes, we cache different types of objects located inside the bisector and search for objects dominating q as the candidates of the result. Finally, we refine the candidate objects by determining whether or not the objects that dominate q and are closer to q exist as shown in Fig. 6(c). In this case, c3 and c5 are the results of the query. Fig. 6(d) shows the moving object environment. We just monitor the range to process the reverse skyline query, because the moving objects that enter the range affect the query result. Fig. 7 shows the pseudo code of an algorithm to process the bichromatic reverse skyline query. When reverse skyline query q is given, a cell including q is assigned (line 2). While a heap H is not empty, the proposed method searches for the object that dominates q regardless of the distance attribute from the objects nearest to the query object (lines 4–16). s is assigned to get the same type of object as q from H (line 5). If q is dominated by s, we draw a bisector on a segment between q and s. We remove all cells and objects out of the bisectors of q from H. We also remove all objects out of the bisectors of q from RESULT_SET (lines 6–10). Finally, the proposed method checks whether or not the objects that dominate q and are closer than q from the different types of objects as q in RESULT_SET exist (line 12). As a result, we return the reverse skyline result (line 13). 3.3. The proposed continuous reverse skyline processing method This proposed method processes a reverse skyline query efficiently. This method processes a reverse skyline query using the spatial grid index. However, this method needs to process the final verification when the new objects appear or the moving objects move. Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
6
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
s2(100)
s1(50)
c1
s6(200)
c3 c2
c7
s9(40)
(a) Objects located in bichromatic
q(150) c5
c4
s8(130)
s7(120) c7
s3(100)
c6
s4(100) s5(400)
c3
c2
q(150) c5
s6(200)
s7(120)
s3(100) c4
s2(100)
s1(50)
c1
c6
s4(100) s8(130)
s5(400)
s9(40)
(b) Searches for the same type of objects
environment s2(100)
s1(50)
c1
c1
s6(200)
c3 c2
s7(120)
q(150) c5
c4
s8(130)
s5(400)
s7(120)
s3(100) c2
c6
s4(100)
s6(200)
c3
c7
s3(100)
s2(100)
s1(50)
q(150)
s4(100) c4 s5(400)
s9(40)
c7
c5 c6 s8(130)
s9(40)
(c) Repeated until all objects inside the
(d) Monitor the range to process the reverse
bisector atr checked
skyline query
Fig. 6. The bichromatic reverse skyline processing method.
Compute Bichromatic Reverse Skyline(G, q) input : G: grid index, q : query object output : result of q 00 { 01
Insert a new entry for q into the query table
02
c = the cell including q on G
03
Insert c into H
04
While (H is not empty) {
05
s = Get the same type of an object as q from H // H is managed like CPM
06
If ( q is dominated by s ) {
07
Draw a bisector on a segment between q and s
08
Remove all cells and objects out of the bisectors of q from H
09
Remove all objects out of the bisectors of q from RESULT_SET
10
}
11
}
12
Refine the different type of objects as q in RESULT_SET
13
return RESULT_SET;
14 } Fig. 7. Algorithm of the bichromatic reverse skyline.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
7
Since this method performs the final verification, it accesses more cells to process the reverse skyline. Therefore, this method is not efficient to process a continuous reverse skyline query. So, we propose a method that processes a continuous reverse skyline query efficiently. The proposed method makes the verification range to guarantee the result of the reverse skyline query. Therefore, the proposed method does not need to perform the final verification when the new objects appear or the moving objects move. The proposed bichromatic reverse skyline processing method does not guarantee the reverse skyline result. Therefore, it needs to implement the final verification. To implement the final verification, this method performs a range query to refine the candidate objects by determining whether the objects dominate q and are closer than q or not. So, we propose a method that efficiently processes a reverse skyline query over the moving objects. The proposed reverse skyline query processing method makes a verificationrange to guarantee the result of the reverse skyline query. Therefore, the proposed method does not need to implement the final verification when the new objects appear or the moving objects move. Since the proposed method does not need to implement the final verification, it is an efficient method to process the continuous reverse skyline. Fig. 8 shows the initial step of the proposed reverse skyline query processing method. Fig. 8(a) shows all objects in the space. First, the proposed method searches for the same type of objects dominating q without considering the distance attribute in the order of their proximity to q. o6 is the first object found by the query algorithm but o6 does not dominate q. Therefore, the algorithm continues to find the next nearest object until an object dominating q appears. Second, if an object dominating q is found, we draw the bisector between the object and q as shown in Fig. 8(a). Fig. 8(a) shows that o2 is the object dominating q and the bisector between o2 and q is drawn. All objects located outside the bisector do not contain q as the skyline result. It is because the objects are always closer to o2 than q and even o2 dominates q for static attributes. q is dominated by o2 on the skyline of both c1 and c2. If there is the intersection point during processing the reverse skyline query, the proposed method makes the verificationrange as shown in Fig. 8(b). The verificationrange means that the proposed method must check objects that exist inside this range to make the reverse skyline range. Through the verificationrange, the proposed method can prune the objects that do not affect the query. These processes are repeated until all objects inside the verificationrange are checked as shown in Fig. 8(c). As a result, the proposed method makes the reverse skyline range as shown in Fig. 8(d). The reverse skyline range is made by bisectors. It guarantees that objects that locate inside this range are the result of the reverse skyline. In this case, c5 is included in the result of the reverse skyline query as shown in Fig. 8(d). Fig. 9 shows the proposed reverse skyline query processing algorithm. The input is grid index [22] G and query object q. The output is objects that include the query object as the result of the skyline query. The proposed method searches for the same type of objects dominating q without considering the distance attribute in the order of their proximity to q. If an object dominating q is found, we draw the bisector between the object and q (lines 6–14). If there is the intersection point during processing the reverse skyline query, the proposed method makes the verificationrange (lines 8–11). The proposed method can prune the objects that do not affect
(a) Searching the objects dominating q
(c) Checking all objects inside the verification range
(b) Making the verification range
(d) Making the reverse skyline range
Fig. 8. The proposed continuous reverse skyline query processing method.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
8
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
Compute initial Step for Continuous Reverse Skyline(G, q) input : G : Grid index, q : query object output : RESULT_SET : objects that include the query object as the result of the skyline query. 00 { 01
Insert q from Query Table
02
c = the cell including q on G
03
Insert c into H
04
While (H is not empty) {
05
s = get an same type object from H // H is managed like CPM
06
If (q is dominated by s) {
07
Draw a bisector on a segment between q and s
08
If ( there is the intersection point between bisectors ) {
09
Draw the verification range
10
Remove all objects and cells outside the verification range from H
11
}
12
Remove objects outside the bisectors of q from RESULT_SET
13
}
14
}
15
return RESULT_SET
16 } Fig. 9. Algorithm of the initial step for continuous reverse skyline.
the query by the verificationrange. These processes are repeated until all objects inside the verificationrange are checked. Finally, the proposed method returns the RESULT_SET. The proposed method processes a continuous reverse skyline query efficiently in moving object environments. The proposed bichromatic reverse skyline processing method performs final verification when the new objects appear or the moving objects move. Crange is a cost of checking whether the moving object is a result of the query or not. Crefine is a cost of final verification of objects included in the reverse skyline range. In this case, the cost of the continuous reverse skyline query processing using the method proposed in B during n times is (n ∗ (Crange + Crefine)). But the query processing cost using the proposed method is only (n ∗ Crange). The proposed method achieves about (n ∗ Crefine) better performance than the proposed monochromatic reverse skyline and the proposed bichromatic reverse skyline. Fig. 10 shows the index structure to process a continuous query. The query object has the query information such as qid, coordinates, reference_object and result_set. The coordinates is the location of the query. The reference_object is an object to make a reverse skyline range of the query. The result_set is the result of the reverse skyline query. The object has the object information such as oid, coordinates, type and values. The values are the attribute values of an object such as price and reputation. The type is a condition
Fig. 10. Spatial index structure to process the continuous reverse skyline.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
9
Compute Continuous Step for Continuous Reverse Skyline(G, o) input : G : Grid index, o : Moving object 00 { 01
o : move from the previous location to the current location
02
qlist : all query lists of cells including previous location and current
location 03
While (qlist is not empty) {
04
q = the query included in qlist
04
s1 = condition of q included in RESULT_SET at the previous location
05
s2 = condition of q included in RESULT_SET at the current location // When q is included in RESULT_SET, the condition is true. Otherwise, the condition is false
06
If ( s1 != s2 ) { // when the condition is changed
07
If ( s1 is included in the reverse skyline range of q)
08
Insert o into RESULT_SET of q
09
else
10
Delete o at RESULT_SET of q
11
}
12
}
13
}
14 } Fig. 11. Algorithm of the continuous step for continuous reverse skyline.
of the object that it has the same type or different type against q. To process the continuous reverse skyline query, each cell has an object list and a query list. Fig. 11 shows the proposed continuous reverse skyline query processing algorithm. The input is a grid index G and moving object o. When o moves to the current location from the previous location, the proposed method loads all query lists of cells including the
GRSL
Proposed Method A 8
7
7
Number of cell access (10°)
Number of cell access (10°)
GRSL 8
6
5
4
Proposed Method B
6
5
4
3
3 20000
40000
60000
80000
100000
Number of objects
(a) Monochromatic reverse skyline
20000
40000
60000
80000
100000
Number of objects
(b) Bichromatic reverse skyline.
Fig. 12. Performance comparison according to the number of objects.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
10
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
previous location and the current location (line 3). Next, the proposed method checks the conditions of q included in RESULT_SET at the previous and current locations (lines 4–5). And then the proposed method checks the condition of o included in the reverse skyline range of the query. The proposed method computes the reverse skyline range using reference_object. And the proposed method computes the condition of o included in the reverse skyline range of the query using coordinates. Finally, the proposed method compares s1 with s2. If s1 is not the same against s2, the proposed method updates the result of the reverse skyline query (lines 6–12). 4. Performance evaluation 4.1. Evaluation environments All experiments have been performed on a Windows 7 operating system with a 3.0 GHz CPU and 2 GB main memory. In each experiment, we performed 10,000 reverse skyline queries in the particular data set that has 100,000 objects generated in 10,000 × 10,000 space and 50 × 50 cells. We generate all attributes by random functions. We experimentally evaluate the efficiency of the proposed method for the reverse skyline computation. We compare the proposed methods with the existing method, GRSL [13] through various experiments. In this section, the proposed monochromatic reverse skyline processing method, the proposed bichromatic reverse skyline processing method, and the proposed continuous reverse skyline processing method are denoted as proposed method A, proposed method B, and proposed method C, respectively.
Table 1 Evaluation parameters. Parameters
Values
Number of objects Number of cells Number of queries Size of space
100,000 50 × 50 10,000 10,000 × 10,000
4.2. Evaluation results Fig. 12 shows the experimental results by varying the number of objects from 20 K to 100 K. Fig. 12(a) shows the query performance in monochromatic environments. Fig. 12(b) shows the query performance in bichromatic environments. As the number of objects increases, the query costs of GRSL increase, because it computes the initial skyline results with all objects. However, the query costs of the proposed methods remain fixed, because it computes the initial skyline results based on cells. Therefore, the node access costs of the proposed methods are smaller than those of GRSL. As a result, the proposed methods achieve about 107% better performance than the GRSL to process the reverse skyline queries when the number of objects is 100,000 (Table 1). Fig. 13 shows the experimental results by varying the number of cells from 5 × 5 to 25 × 25. As the number of cells increases, the query processing costs of GRSL and the proposed method are increased, because the node access costs for computing the initial skyline results of both methods are increased. However, the node access costs of the proposed methods are smaller than those of GRSL, because the node
GRSL
Proposed Method A
GRSL
Proposed Method B
8
7
Number of cell access (10°)
Number of cell access (10°)
8
6
5
4
7
6
5
4
3
3 5
10
15
20
25
5
10
15
20
25
Number of cells (n x n)
Number of cells (n x n)
(a) Monochromatic reverse skyline
(b) Bichromatic reverse skyline
Fig. 13. Performance comparison according to the number of cells.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
GRSL
Proposed Method A
GRSL
8
Proposed Method B
8
7
Number of cell access (10°)
Number of cell access (10°)
11
6
5
4
7
6
5
4
3
3 1000 2000
3000 4000 5000
6000 7000 8000 9000 10000
1000 2000
Number of queries
(a) Monochromatic reverse skyline
3000 4000
5000 6000 7000 8000
9000 10000
Number of queries
(b) Bichromatic reverse skyline
Fig. 14. Performance comparison according to the number of queries.
Number of cell accesses
accesses that do not affect the pre-computed skyline results are filtered in the proposed methods. As a result, the proposed methods achieve about 107% better performance than the GRSL to process the reverse skyline queries when the number of cells is 25 × 25. Fig. 14 shows the experimental results by varying the number of queries from 1 K to 10 K. As the number of queries increases, the query costs of GRSL remain fixed because GRSL re-computes the skyline results of all objects whenever the positions of objects are changed. Therefore, GRSL is inefficient in the moving objects environments. The proposed methods re-compute only the skyline results of objects that affect the existing skyline results. Therefore, if the number of queries increases, the query costs of the proposed methods are increased. However, the costs for re-computing the skyline results in the proposed methods are smaller than those in GRSL. As a result, the proposed method is efficient in moving object environments. The costs of GRSL and the proposed methods are similar when the number of queries is about 3000 K. Fig. 15 shows the experimental results by varying the attribute values of a query from 1 K to 10 K. As a result, the proposed method C achieves better performance than the proposed method B in the small attribute value section. If the attribute value is small, the result of the reverse skyline query is big. Therefore, the existing method needs to access more cells to process the reverse skyline query. However, if the attribute value increases, the result of the reverse skyline query is few. As a result, the proposed methods B and C achieve about 107% better performance than GRSL. And, the query processing cost of the proposed method C is similar to that of the proposed method B. Fig. 16 shows the experimental results by varying the number of cells from 5 × 5 to 50 × 50. If the number of cells increases, there are many objects in each cell. Therefore, the reverse skyline processing methods access more cells to process the reverse skyline query. So, the number of cell accesses of GRSL and the proposed methods are increased. As a result, the proposed methods B and C achieve
Attribute value of queries Fig. 15. Performance comparison according to the attribute value of a query.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
Number of cell accesses
12
Number of cells Fig. 16. Performance comparison according to the number of cells.
Number of cell accesses
about 107% better performance than GRSL. And, the proposed method C achieves better performance than the proposed method B slightly. We experimentally evaluate the efficiency of the proposed method for the continuous reverse skyline computation. Fig. 17 shows the experimental results of continuous reverse skyline queries by varying the number of moving objects from 100 to 1000. Since the proposed method B performs the final verification when the new objects appear or the moving objects move, the proposed method B
Number of moving objects Fig. 17. Performance comparison according to the number of moving objects.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx
13
accesses more cells to process the continuous reverse skyline query. As a result, the proposed methods B and C achieve about 107% better performance than GRSL. And, the proposed method C achieves about 500% better performance than the proposed method B to process the continuous reverse skyline queries when the number of moving objects is 1 K. 5. Conclusion In this paper, we proposed a new efficient reverse skyline query processing method over the moving objects. In addition, the proposed method also processes a continuous reverse skyline query efficiently. The proposed methods make the verification range to guarantee the result of a reverse skyline query. Therefore, the proposed method C does not need to implement a final verification when the new objects appear or objects move. In order to show the superiority of the proposed method, we compared it with the previous reverse skyline query processing method in various environments. As a result, the proposed methods achieved about 107% better performance than the existing method in terms of the number of cell accesses. However, the advantage of the proposed methods may be lost when the number of attributes of objects is large. In the near future, we will extend the proposed reverse skyline query processing method for efficiently processing the reverse skyline query in high dimensional attribute environments. Acknowledgment This research was supported by the MSIP (Ministry of Science, ICT and Future Planning), Korea, under the ITRC (Information Technology Research Center) support program (NIPA-2014-H0301-14-1022) supervised by the NIPA (National IT Industry Promotion Agency) and was supported by Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education(2012R1A1A2041898, 2012R1A1A2A10042015). References [1] J. Schiller, A. Voisard, Location-Based Services, Mor-gan Kaufmann, San Francisco, California, 2004. [2] S. Brakatsoulas, D. Pfoser, N. Tryfona, Modeling, storing, and mining moving object databases, Proc. of the International Database Engineering and Applications Symposium 2004, pp. 68–77. [3] D. Papadias, J. Zhang, N. Mamoulis, Y. Tao, Query processing in spatial network databases, Proc. of the International conference on Very Large Data Bases 2003, pp. 802–813. [4] K.L. Wu, S.K. Chen, P.S. Yu, On incremental processing of continual range queries for location-aware services and applications, Proc. of the Annual International Conference on Mobile and Ubiquitous Systems 2005, pp. 261–269. [5] N. Roussopoulos, S. Kelley, F. Vincent, Nearest neighbor queries, Proc. of the ACM SIGMOD International Conference on Management of Data 1995, pp. 71–79. [6] K. Mouratidis, M. Hadjieleftheriou, D. Papadias, Conceptual partitioning: an efficient method for continuous nearest neighbor monitoring, Proc. of the ACM Conference on Management of Data 2005, pp. 634–645. [7] J. d. A. Silva, E.R. Hruschka, An experimental study on the use of nearest neighbor-based imputation algorithms for classification tasks, Data Knowl. Eng. 84 (2013) 47–58. [8] I. Ilyas, G. Beskales, M. Soliman, A survey of top-k query processing techniques in relational database systems, ACM Comput. Surv. 40 (4) (2008). [9] I.F. Ilyas, W.G. Aref, A.K. Elmagarmid, Supporting top-k join queries in relational databases, Int. J. Very Large Data Bases 13 (3) (2004) 207–221. [10] Y. Xu, J. Guan, F. Li, S. Zhou, Scalable continual top-k keyword search in relational databases, Data Knowl. Eng. 86 (2013) 206–223. [11] S. Borzsonyi, D. Kossmann, K. Stocker, The skyline operator, Proc. of the IEEE International Conference on Data Engineering 2001, pp. 421–430. [12] C. Li, B.B. Ooi, A.K.H. Tung, S. Wang, DADA: a data cube for dominant relationship analysis, Proc. of the ACM SIGMOD International Conference on Management of Data 2006, pp. 659–670. [13] E. Dellis, B. Seeger, Efficient computation of reverse skyline queries, Proc. of the International Conference on Very Large Data Bases 2007, pp. 291–302. [14] X. Lian, L. Chen, Monochromatic and bichromatic reverse skyline search over uncertain databases, Proc. of the ACM SIGMOD International Conference on Management of Data 2008, pp. 213–226. [15] L. Zhu, C. Li, H. Chen, Efficient computation of reverse skyline on data stream, Proc. of the International Joint Conference on Computational Sciences and Optimization, 1 2009, pp. 735–739. [16] P.M. Deshpande, D.P., Efficient reverse skyline retrieval with arbitrary non-metric similarity measures, Proc. of the International Conference on Extending Data Base Technology 2011, pp. 319–330. [17] Y. Park, J. Min, K. Shim, Parallel computation of skyline and reverse skyline queries using MapReduce, J. VLDB Endowment 6 (14) (2013) 2002–2013. [18] Y. Gao, Q. Liu, B. Zheng, G. Chen, On efficient reverse skyline query processing, Expert Syst. Appl. 41 (7) (2014) 32373249. [19] Y. Gao, Q. Liu, B. Zheng, L. Mou, G. Chen, Q. Li, On processing reverse k-skyband and ranked reverse skyline queries, Inf. Sci. 293 (2015) 11–34. [20] A. Han, Y. Park, D. Kwon, An efficient pruning method to process reverse skyline queries, J. Inf. Sci. Eng. 30 (2) (2014) 501–517. [21] D. Papadias, Y. Tao, G. Fu, B. Seeger, Progressive skyline computation in database systems, ACM Trans. Database Syst. 30 (1) (2005) 4182. [22] M.F. Mokbel, X. Xiong, W.G. Aref, SINA: scalable incremental processing of continuous queries in spatio-temporal databases, Proc. of the ACM SIGMOD International Conference on Management of Data 2004, pp. 623–634.
Jongtae Lim is a Ph.D. candidate researcher from the Department of Information and Communication Engineering of Chungbuk National University, Cheongju, South Korea. He received his B.S. and M.S. degrees from the Department of Information and Communication Engineering of Chungbuk National University, Cheongju, South Korea. His research interests are Query Processing, Moving Object Database, Spatial Database, Location-based Services (LBS), P2P Networks, and Big Data.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003
14
J. Lim et al. / Data & Knowledge Engineering xxx (2015) xxx–xxx He Li is a professor from School of Software, Xidian University, Xi'an, China. He received his B.S. degree from the Department of Computer Science of Yunnan University, China. He received his M.S. and Ph.D. degrees from the Department of Information and Communication Engineering of Chungbuk National University, Korea. His main research interests are data storage system, distributed computing, big data, and graph data.
Kyoungsoo Bok is an associate professor of the Department of Information and Communication Engineering of Chungbuk National University, Korea. He received his M.S. and the Ph.D. degrees from the Department of Information and Communication Engineering of Chungbuk National University, Korea. His main research interests are Database Systems, Data Storage Systems, Moving Object Database, RFID, Sensor Networks, Mobile P2P Networks, Social Network Services, and Big Data.
Jaesoo Yoo is a professor of the Department of Information and Communication Engineering of Chungbuk National University, Cheongju, South Korea. He received his B.S. degree in Computer Engineering from Chunbuk National University, Chunju, South Korea. And he received his M.S. and Ph.D. degrees in Computer Science from Korea Advanced Institute of Science and Technology, Daejeon, South Korea. His research interests are database system and multimedia database.
Please cite this article as: J. Lim, et al., A continuous reverse skyline query processing method in moving objects environments, Data Knowl. Eng. (2015), http://dx.doi.org/10.1016/j.datak.2015.05.003