SlideShare a Scribd company logo
1 of 12
Download to read offline
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

A FRAMEWORK FOR PROCESSING K-BEST SITE
QUERY
Yuan-Ko Huang* and Lien-Fa Lin
Department of Information Communication Kao-Yuan University;
Kaohsiung Country, Taiwan R.O.C.

ABSTRACT
A novel query in spatial databases is the K-Best Site Query (KBSQ for short). Given a set of objects O, a set
of sites S, and a user-given value K, a KBSQ retrieves the K sites from S such that the total distance from
each object to its closest site is minimized. The KBSQ is indeed an important type of spatial queries with
many real applications. In this paper, we investigate how to efficiently process the KBSQ. We first propose
a straightforward approach with a cost analysis, and then develop the K Best Site Query (KBSQ) algorithm
combined with the existing spatial indexes to improve the performance of processing KBSQ.
Comprehensive experiments are conducted to demonstrate the efficiency of the proposed methods.

KEYWORDS
spatial databases; K-Best Site Query; spatial indexes

1. INTRODUCTION
With the fast advances of positioning techniques in mobile systems, spatial databases that aim at
efficiently managing spatial objects are becoming more powerful and hence attract more attention
than ever. Many applications, such as mobile communication systems, traffic control systems,
and geographical information systems, can benefit from efficient processing of spatial queries [17]. In this paper, we present a novel and important type of spatial query, namely the K-Best Site
Query (KBSQ for short). Given a set of objects O, a set of sites S, and a user-given value K, a
KBSQ retrieves the K sites s1, s2, ..., sK from S such that
d (oi , s j ) is minimized, where d(oi, sj)

∑

oi ∈O

refers to the distance between object oi and its closest site sj. We term the sites retrieved by
executing the KBSQ the best sites (or bs for short).
The KBSQ problem arises in many fields and application domains. As an example of real-world
scenario, consider a set O of soldiers on the battlefields that is fighting the enemy. In order to
immediately support the injured soldiers, we need to choose K sites from a set S of sites to build
the emergicenters. Note that there are many soldiers fighting on the battlefields and many sites
could be the emergicenters. To achieve the fastest response time, the sum of distances from each
battlefield to its closest emergicenter should be minimized. Another real-world example is that
the McDonald's Corporation may ask “what are the optimal locations in a city to open new
McDonald's stores.” In this case, the KBSQ can be used to find out the K best sites among a set S
of sites so that every customer in set O can rapidly reach his/her closest store.
DOI : 10.5121/ijdms.2013.5503

17
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

Let us use an example in Figure 1 to illustrate the KBSQ problem, where six objects o1, o2, ..., o6
and four sites s1, s2, ..., s4 are depicted as circles and rectangles, respectively. Assume that two
best sites (i.e., 2bs) are to be found in this example. There are six combinations (s1, s2), (s1, s3), ...,
(s3, s4), and one combination would be the result of KBSQ. As we can see, the sum of distances
from objects o1, o2, o3 to their closest site s3 is equal to 9, and the sum of distances between
objects o4, o5, o6 and site s1 is equal to 12. Because the combination (s1, s3) leads to the minimum
total distance (i.e., 9 + 12 = 21), the two sites s1 and s3 are the 2bs.

o4

s2
s1

o2

o1

4

s3

2

4

4
4

o5

o6

3

o3

s4

Figure 1. An example of the KBSQ

To process the KBSQ, the closest site for each object needs to be first determined and then the
distance between object and its closest site is computed so as to find the best combination of K
sites. When a database is large, it is crucial to avoid reading the entire dataset in identifying the K
best sites. For saving CPU and I/O costs, we develop an efficient method combined with the
existing spatial indexes to avoid unnecessary reading of the entire dataset. A preliminary version
of this paper is [8], and the contributions of this paper are summarized as follows.
•

We present a novel query, namely the K Best Site Query, which is indeed an important
type of spatial queries with many real applications.

•

We propose a straightforward approach to process the KBSQ and also analyze the
processing cost required for this approach.

•

An efficient algorithm, namely the K Best Site Query (KBSQ) algorithm, operates by the
support of R*-tree [9] and Voronoi diagram [10] to improve the performance of KBSQ.

•

A comprehensive set of experiments is conducted. The performance results manifest the
efficiency of our proposed approaches.

The rest of this paper is organized as follows. In Section 2, we discuss some related works on
processing spatial queries similar to the KBSQ, and point out their differences. In Section 3, the
straightforward approach and its cost analysis is presented. Section 4 describes the KBSQ
algorithm with the used indexes. Section 5 shows extensive experiments on the performance of
our approaches. Finally, Section 6 concludes the paper with directions on future work.

18
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

2. RELATED WORK
In recent years, some queries similar to the KBSQ are presented, including the Reverse Nearest
Neighbor Query (RNNQ) [11], the Group Nearest Neighbor Query (GNNQ) [12], and the MinDist Optimal-Location Query (MDOLQ) [13]. Several methods have been designed to efficiently
process these similar queries. However, the query results obtained by executing these queries are
quite different from that of the KBSQ. Also, the proposed methods cannot be directly used to
answer the KBSQ. In the following, we investigate why the existing methods for processing the
similar queries cannot be applied to the KBSQ separately.

2.1. Methods For RNNQ
Given a set of object O and a site s, a RNNQ can be used to retrieve a set S of objects contained
in O whose closest site is s. Each object o in S is termed a RNN of s. An intuitive way for finding
the query result of KBSQ is to utilize the RNNQ to find the RNNs for each site. Then, the K sites
having the maximum number of RNNs (meaning that they are closer to most of the objects) are
chosen to be the K best sites.
Taking Figure 2 as an example, the RNNs of site s1 can be determined by executing the RNNQ
and its RNNs are objects o4 and o6. Similarly, the RNNs of sites s2, s3, and s4 are determined as o1
and o2, o3, and o5, respectively. As sites s1 and s2 have the maximum number of RNNs, they can
be the 2bs for the KBSQ. However, sites s1 and s2 lead to the total distance 24 (i.e., d(o4, s1) +
d(o5, s1) + d(o6, s1) + d(o1, s2) + d(o2, s2) + d(o3, s2)), which is greater than the total distance 22 as
sites s1 and s3 are chosen to be the 2bs. As a result, the intuition of using the RNNQ result to be
the KBSQ result is infeasible.

o4
s2
2

o2

4

s1

2

o1

4
3

s3

8
3

o3

4

o6

o 4 and o 6 are s 1’s RNN
4

o 1 and o 2 are s 2’s RNN

o5
2

o 3 is s 3’s RNN
o 5 is s 4’s RNN

s4
Figure 2. An example of the RNNQ

2.2. Methods For GNNQ
A GNNQ retrieves a site s from a set of sites S such that the total distance from s to all objects is
the minimum among all sites in S. Here, the result s of GNNQ is called a GNN. To find the K best
sites, we can repeatedly evaluate the GNNQ K times so as to retrieve the first K GNNs. It means
that the sum of distances between these K GNNs and all objects is minimum, and thus they can be
the K bs. However, in some cases the result obtained by executing the GNNQ K times is still
different from the exact result of KBSQ.
Let us consider an example shown in Figure 3, where 2bs are required. As shown in Figure 3(a),
the first and second GNNs are sites s3 and s1, respectively. As such, the 2bs are s3 and s1, and the
19
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

total distance d(o1, s1) + d(o2, s1) + d(o4, s1) + d(o3, s3) + d(o5, s3) + d(o6, s3) = 23. However,
another combination (s2, s4) shown in Figure 3(b) can further reduce the total distance to 13.
Therefore, using the way of executing GNNQ K times to find the K best sites could return
incorrect result.

o1
o2

o4

2

s1

6

s2

4

The first GNN is s 3

s4

s3

The third GNN is s 2

1

5

5

o5

o6

o3

The second GNN is s 1

The last GNN is s 4

(a) incorrect result

o1
o2

s1

2
1

o4
3

s2

3

s4

s3

3

1

o6

o3

o5

(b) correct result
Figure 3. An example of the GNNQ

2.3. Methods For MDOLQ
Given a set of objects O and a set of sites S, a MDOLQ returns a location which, if a new site s
not in S is built there, minimizes
d (oi , s j ) where d(oi, sj) is the distance between object oi and

∑

oi ∈O

its closest site s j ∈ S U {s} . At first glance, the MDOLQ is more similar to the KBSQ than the
other queries mentioned above. However, using the MDOLQ to obtain the K best sites may still
lead to incorrect result.
Consider an example of using MDOLQ to find the K best sites in Figure 4. As 2bs are to be found,
we can evaluate the MDOLQ two times to obtain the result. In the first iteration (as shown in
Figure 4(a)), the site s1 becomes the first bs because it has the minimum total distance to all
objects. Then, the MDOLQ is executed again by taking into account the remaining sites s2, s3, and
s4. As the site s2 can reduce more distance compared to the other two sites, it becomes the second
bs (shown in Figure 4(b)). Finally, 2bs are s1 and s2 and the total distance is computed as d(o4, s1)
+ d(o5, s1) + d(o6, s1) + d(o1, s2) + d(o2, s2) + d(o3, s2) = 20. However, the computed distance is not
20
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

minimum and can be further reduced. As we can see in Figure 4(c), if s2 and s4 are chosen to be
the 2bs, the total distance can decrease to 16.

o1
o2

s2

6

4

s1

o2

4

o4

2

s2

2

s4

5

o3

o1

o4

s1

4

s4

4

5

s3

5

3

o5

o6

o3

s3

(a) Step 1

o6

o5

(b) Step 2

o1
o2

3

o4

2

s2

2

s1

3

4

s4
2

o3

s3

3

o6

o5

(c) correct result
Figure 4. An example of the MDOLQ

3. STRAIGHTFORWARD APPROACH
In this section, we first propose a straightforward approach to solve the KBSQ problem, and then
analyze the processing cost required for this approach. Assume that there are n objects and m
sites, and the K bs would be chosen from the m sites. The straightforward approach consists of
three steps. The first step is to compute the distance d(oi, sj) from each object oi (1 ≤ i ≤ n) to each
site sj (1 ≤ j ≤ m). As the K best sites are needed to be retrieved, there are totally CmK possible
combinations and each of the combinations comprises K sites. The second step is to consider all
of the combinations. For each combination, the distance from each object to its closest site is
determined so as to compute the total distance. In the last step, the combination of K sites having
the minimum total distance is chosen to be the query result of KBSQ.
Figure 5 illustrates the three steps of the straightforward approach. As shown in Figure 5(a), the
distances between objects and sites are computed and stored in a table, in which a tuple represents
the distance from an object to all sites. Then, the CmK combinations of K sites are considered so
that CmK tables are generated (shown in Figure 5(b)). For each table, the minimum attribute value
of each tuple (depicted as gray box) refers to the distance between an object and its closest site.
As such, the total distance for each combination can be computed by summing up the minimum
attribute value of each tuple. Finally, in Figure 5(c) the combination 1 of K sites can be the K bs
because its total distance is minimum among all combinations.

21
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

m

...

3

...
3

...

n

2

4

...

8

n

2

4

1

3

...

n

2

...

2

combination 1

... K+1

3

...

2

4

...

3

...

4

5

...

8

6
2

combination 2
n

K 1

2

...

m

4

6

...

5

2

...

3

3

1
2

6

...

...

...

...

3

...

2

...

6

...

2

...

...

5

...

...

...

6

...

4

2

6

2

1

6

4

1

n

...

...

...

K

...

2

...

...

1

K 2

2

...

n

K 1

...

m

n

...

n

2

4

...

m
combination CK

(a) Step 1

(b) Step 2

n

K 1

2

...

K

...

2

2

6

2

...

3

...
8

...

6

...

4

...

1

...

n

2

4

...

combination 1
(c) Step 3
Figure 5. Straightforward approach

Since the straightforward approach includes three steps, we consider the three steps individually
to analyze the processing cost. Let m and n be the numbers of sites and objects, respectively.
Then, the time complexity of the first step is m*n because the distances between all objects and
sites have to be computed. In the second step, CmK combinations are considered and thus the
complexity is CmK *n*K. Finally, the combination having the minimum total distance is
determined among all combinations so that the complexity of the last step is CmK. The processing
cost of the straightforward approach is represented as m * n + C m k * n * K + C m k .

4. KBSQ ALGORITHM
The above approach is performed without any index support, which is a major weakness in
dealing with large datasets. In this section, we propose the KBSQ algorithm combined with the
existing indexes R*-tree and Voronoi diagram to efficiently process the KBSQ.
Recall that, to process the KBSQ, we need to find the closest site s for each object o (that is,
finding the RNN o of site s). As the Voronoi diagram can be used to effectively determine the
RNN of each site [14], we divide the data space so that each site has its own Voronoi cell. For
example, in Figure 6(b), the four sites s1, s2, s3, and s4 have their corresponding Voronoi cells V1,
22
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

V2, V3, and V4, respectively. Taking the cell V1 as an example, if object o lies in V1, then o must be
the RNN of site s1. Based on this characteristic, object o needs not be considered in finding the
RNNs for the other sites. Then, we use the R*-tree, which is a height-balanced indexing structure,
to index the objects. In a R*-tree, objects are recursively grouped in a bottom-up manner
according to their locations. For instance, in Figure 6(a), eight objects o1, o2, ..., o8 are grouped
into four leaf nodes E4 to E7 (i.e., the minimum bounding rectangle MBR enclosing the objects).
Then, nodes E4 to E7 are recursively grouped into nodes E2 and E3, that become the entries of the
root node E1.

o8

o4

V3 s3

E7

E5 o
3
o2 E2

E1

E4 o o6
1

o7
E3 o
5
E6

(a) R-tree

V2

s2

V1
s1
V4
s4

(b) Voronoi diagram
Figure 6. Spatial indexes

Combined with the R*-tree and Voronoi diagram, we design the following pruning criteria to
greatly reduce the number of objects considered in query processing.
•

Pruning objects: given an object o and the K sites s1, s2, ..., sK, if o lies in the Voronoi
cell Vi of one site si contained in {s1, s2, ..., sK}, then the distances between object o and
the other K-1 sites need not be computed so as to reduce the processing cost.

•

Pruning MBRs: given a MBR E enclosing a number of objects and the K sites s1, s2, ...,
sK, if E is fully contained in the cell Vi of one site si contained in {s1, s2, ..., sK}, then the
distances from all objects enclosed in E to the other K-1 sites would not be computed.

To find the K bs for the KBSQ, we need to consider CmK combinations of K sites. For each
combination of K sites s1, s2, ..., sK with their corresponding Voronoi cells V1, V2, ..., VK, the
processing procedure begins with the R*-tree root node and proceeds down the tree. When an
internal node E (i.e., MBR E) of the R*-tree is visited, the pruning criterion 2 is utilized to
determine which site is the closest site of the objects enclosed in E. If the MBR E is not fully
contained in any of the K Voronoi cells, then the child nodes of E need to be further visited.
When a leaf node of the R*-tree is checked, the pruning criterion 1 is imposed on the entries (i.e.,
objects) of this leaf node. After the traversal of the R*-tree, the total distance for the combination
of K sites s1, s2, ..., sK can be computed. By taking into account the total combinations, the
combination of K sites whose total distance is minimum would be the query result of the KBSQ.
Figure 7 continues the previous example in Figure 6 to illustrate the processing procedure, where
there are eight objects o1 to o8 and four sites s1 to s4 in data space. Assume that the combination
(s2, s3) is considered and the Voronoi cells of sites s2 and s3 are shown in Figure 7(a). As the MBR
E2 is not fully contained in the Voronoi cell V2 of site s2, the MBRs E4 and E5 still need to be
visited. When the MBR E4 is checked, based on the pruning criterion 2 the distances from objects
o1 and o2 to site s3 would not be computed because their closest site is s2. Similarly, the closest
23
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

site of the objects o7 and o8 enclosed in MBR E7 is determined as site s3. As for objects o3 to o6,
their closest sites can be found based on the pruning criterion 1. Having determined the closest
site of each object, the total distance for combination (s2, s3) is obtained. Consider another
combination (s2, s4) shown in Figure 7(b). The closest site s2 of four objects o1 to o4 enclosed in
MBR E2 can be found when E2 is visited. Also, we can compute the total distance for the
combination (s2, s4) after finding the closest sites for objects o5 to o8. By comparing the distances
for all combinations, the 2bs are retrieved.

o8

o4
E5 o
3
o2 E2 s2

s3

o7

E4 o
1

E7
E3

o8

o4
E5 o
3
o2 E2 s2

s1
o5

E6
o6 s4

E4 o
1

(a) combination ( s 2, s 3)

s3

o7

E7
E3

s1
o5

E6
o6 s4

(b) combination ( s 2, s 4)

Figure 7. Processing KBSQ with indexes

5. PERFORMANCE EVALUATION
We conduct four experiments for the straightforward approach and the proposed KBSQ algorithm
in this section. The first three experiments are evaluated to study the performance of the proposed
methods by measuring the CPU time for processing a KBSQ. The last experiment demonstrates
the usefulness of the KBSQ algorithm by comparing the precision of query result against its
competitors.

5.1. Experimental Setting
All experiments are performed on a PC with Intel 2.83 GHz CPU and 4 GB RAM. The
algorithms are implemented in Java. One synthetic dataset is used in our simulation. The
synthetic dataset consists of 1000 objects whose locations are uniformly spread over a region of
100000 * 100000 meters. In the experimental space, we also generate 30 query datasets, each of
which contains 25 sites whose locations are in the same range as those of the objects mentioned
above. For each query dataset, we perform a KBSQ to find the K best sites, where the default
value of K is set to 5. The performance is measured by the average CPU time in performing
workload of the 30 queries. Table 1 summarizes the parameters under investigation, along with
their default values and ranges. We compare the proposed KBSQ algorithm with the
straightforward approach to investigate the performance of processing a KBSQ. Also, we compare
the precision of the KBSQ algorithm against its competitors, including the RNNQ, the GNNQ, and
the MDOLQ methods.
Table 1. System parameters.
Parameter
Number of objects (O)
Number of sites (S)
K

Default
1000
25
5

Range
500, 1000, 5000, 10000
20, 25, 30, 35
1, 5, 10, 20

24
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

5.2. Efficiency Of KBSQ Algorithm
In this subsection, we compare the KBSQ algorithm with the straightforward approach in terms of
the CPU time. Three experiments are conducted to investigate the effects of three important
factors on the performance of processing KBSQ. These important factors are the number of
objects O, the number of sites S, and the value of K.
Figure 8 illustrates the performance of the KBSQ algorithm and the straightforward approach as a
function of the number of objects (ranging from 500 to 10000). Note that hereafter all figures use
a logarithmic scale for the y-axis. As we can see from the experimental result, the KBSQ
algorithm significantly outperforms the straightforward approach in the CPU time, even for a
smaller number of objects (e.g., 500). This is mainly because for the straightforward approach the
distances of all objects have to be computed which incurs high computation cost. Moreover, the
performance gap between the KBSQ algorithm and the straightforward approach increases with
the increasing number of objects. The reason is that most distance computations of objects can be
avoided by using the KBSQ algorithm with the support of R*-tree, but these distance
computations are necessary for the straightforward approach.

Figure 8. Effect of number of objects.

Figure 9 demonstrates the effect of various numbers of sites (i.e., varying S from 20 to 35) on the
performance of the KBSQ algorithm and the straightforward approach. When the number of sites
increases, the CPU overhead for both algorithms grows. The reason is that as the number of sites
becomes greater, the number of combinations to be considered increases so that more distance
computations between objects and sites are required. The experimental result shows that the
KBSQ algorithm outperforms its competitor significantly in all cases, which confirms again that
applying the KBSQ algorithm with R*-tree and Voronoi diagram can greatly improve the
performance of processing a KBSQ.

25
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

Figure 9. Effect of number of sites

Finally in this subsection, we study how the value of K affects the performance of the KBSQ
algorithm and the straightforward approach, by varying K from 1 to 20. Similar to the previous
experimental results, the KBSQ algorithm achieves significantly better performance than the
straightforward approach (as shown in Figure 10). The KBSQ algorithm outperforms the
straightforward approach by a factor of 70 to 240 in terms of the CPU cost. In addition, an
interesting observation from Figure 10 is that a smaller K (e.g., 1) or a larger K (e.g., 20) results in
a lower CPU time for the KBSQ algorithm and the straightforward approach. This is because for a
smaller (or larger) value of K, less number of combinations needs to be considered in processing a
KBSQ so that the required CPU time can be reduced.

Figure 10. Effect of K

26
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

5.3. Precision Of KBSQ Algorithm
The following experiment demonstrates the precision of the KBSQ algorithm and its competitors
(including the RNNQ, the GNNQ, the MDOLQ methods) under various values of K, where the
precision is represented as follows:

precision =

# (bsresult I bsreal )
× 100%
# bsreal

In the above equation, bsresult refers to the set of K best sites retrieved by executing the KBSQ
algorithm, the RNNQ method, the GNNQ method, or the MDOLQ method. As for bsreal, it is the
set of the real K best sites. In Figure 11, we vary K form 1 to 20 to investigate the precision of the
KBSQ algorithm, the RNNQ method, the GNNQ method, and the MDOLQ method. As we can see,
as the real K best sites can be precisely determined by executing the KBSQ algorithm, the
precision of the KBSQ algorithm is always equal to 100% under different values of K. However,
if the RNNQ, the GNNQ, and the MDOLQ methods are adopted to answer a KBSQ, some of the
real K best sites are missed. As shown in the experimental result, the precision for the MDOLQ
method can only reach 60% to 85%. Even worse, the precision for the RNNQ and the GNNQ
methods is below 60% for a smaller value of K, which means that most of the retrieved best sites
are incorrect.

Figure 11. Precision for different K

6. CONCLUSIONS
In this paper, we focused on processing the K Best Site Query (KBSQ) which is a novel and
important type of spatial queries. We highlighted the limitations of the previous approaches for
the queries similar to the KBSQ, including the RNNQ, the GNNQ, and the MDOLQ. To solve the
KBSQ problem, we first proposed a straightforward approach and then analyzed its processing
cost. In order to improve the performance of processing the KBSQ, we further proposed a KBSQ
algorithm combined with R*-tree and Voronoi diagram to greatly reduce the CPU and I/O costs.
Comprehensive set of experiments demonstrated the efficiency and the precision of the proposed
approaches.

27
International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013

Our next step is to discuss the space requirement of the proposed methods and design a novel
index structure for answering the KBSQ. Then, we will focus on processing the KBSQ for moving
objects with fixed or uncertain velocity. More complicated issues will be introduced because of
the movement of objects. Finally, we would like to extend the proposed approach to process the
KBSQ in road network.

ACKNOWLEDGEMENTS
This work was supported by National Science Council of Taiwan (R.O.C.) under Grants NSC
101-2119-M-244 -001 and NSC 102-2119-M-244 -001.

REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
[13]
[14]

Benetis, R.; Jensen, C.S.; Karciauskas, G.; Saltenis, S. Nearest neighbor and reverse nearest
neighbor queries for moving objects. VLDB Journal 2006, 15, 229-249.
Hakkoymaz, V. A specification model for temporal and spatial relations of segments in multimedia
presentations. Journal of Digital Information Management 2010, 8, 136-146.
Huang, Y.-K.; Chen, C.-C.; Lee, C. Continuous k-nearest neighbor query for moving objects with
uncertain velocity. GeoInformatica 2009, 13, 1-25.
Huang, Y.-K.; Liao, S.-J.; Lee C. Evaluating continuous k-nearest neighbor query on moving objects
with uncertainty. Information Systems 2009, 34, 415-437.
Mokbel, M.F.; Xiong, X.; Aref, W.G. Sina: Scalable incremental processing of continuous queries in
spatio-temporal databases. In Proceedings of the ACM SIGMOD 2004.
Pagel, B.-U.; Six, H.-W.; Winter, M. Window query-optimal clustering of spatial objects. In
Proceedings of the ACM SIGMOD 1995.
Papadias, D.; Tao, Y.; Mouratidis, K.; Hui, C.K. Aggregate nearest neighbor queries in spatial
databases. ACM Trans. Database Syst. 2005, 30, 529-576.
Huang, Y.-K.; Lin, L.-F. Evaluating k-best site query on spatial objects. In Proceedings of the NDT
2011.
Guttman, A. R-trees: A dynamic index structure for spatial searching. In Proceedings of the ACM
SIGMOD 1984.
Samet, H. The design and analysis of spatial data structures. Addison-Wesley, Reading 1990.
Korn, F.; Muthukrishnan, S. Influence sets based on reverse nearest neighbor queries. In Proceedings
of the ACM SIGMOD 2010.
Papadias, D.; Shen, Q.; Tao, Y.; Mouratidis, K. Group nearest neighbor queries. In Proceedings of
the ICDE 2004.
Zhang, D.; Du, Y.; Xia, T.; Tao, Y. Progressive computation of the min-dist optimal-location query.
In Proceedings of the VLDB 2006.
Zhang, J .; Zhu, M.; Papadias, D.; Tao, Y.; Lee, D.L. Location-based spatial queries. In Proceedings
of the ACM SIGMOD 2003.

28

More Related Content

What's hot

videoMotionTrackingPCA
videoMotionTrackingPCAvideoMotionTrackingPCA
videoMotionTrackingPCAKellen Betts
 
Internal-multiple attenuation on Encana data - Qiang Fu and Arthur B. Weglein
Internal-multiple attenuation on Encana data - Qiang Fu and Arthur B. WegleinInternal-multiple attenuation on Encana data - Qiang Fu and Arthur B. Weglein
Internal-multiple attenuation on Encana data - Qiang Fu and Arthur B. WegleinArthur Weglein
 
Learning objects
Learning objectsLearning objects
Learning objectsStrong Liu
 
An Extension of Linear Inverse Scattering Methods for Absorptive Media to the...
An Extension of Linear Inverse Scattering Methods for Absorptive Media to the...An Extension of Linear Inverse Scattering Methods for Absorptive Media to the...
An Extension of Linear Inverse Scattering Methods for Absorptive Media to the...Arthur Weglein
 
Large-scale structure non-Gaussianities with modal methods (Ascona)
Large-scale structure non-Gaussianities with modal methods (Ascona)Large-scale structure non-Gaussianities with modal methods (Ascona)
Large-scale structure non-Gaussianities with modal methods (Ascona)Marcel Schmittfull
 
E. Sefusatti, Tests of the Initial Conditions of the Universe after Planck
E. Sefusatti, Tests of the Initial Conditions of the Universe after PlanckE. Sefusatti, Tests of the Initial Conditions of the Universe after Planck
E. Sefusatti, Tests of the Initial Conditions of the Universe after PlanckSEENET-MTP
 
Querying Temporal Databases via OWL 2 QL
Querying Temporal Databases via OWL 2 QLQuerying Temporal Databases via OWL 2 QL
Querying Temporal Databases via OWL 2 QLSzymon Klarman
 
Representing and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic WebRepresenting and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic WebKostis Kyzirakos
 
Porosity prediction from seismic using geostatistic
Porosity prediction from seismic using geostatisticPorosity prediction from seismic using geostatistic
Porosity prediction from seismic using geostatisticMelani Khairunisa
 
Covering the earth and the cloud the next generation of spatial in sql server...
Covering the earth and the cloud the next generation of spatial in sql server...Covering the earth and the cloud the next generation of spatial in sql server...
Covering the earth and the cloud the next generation of spatial in sql server...Texas Natural Resources Information System
 
Metodo Monte Carlo -Wang Landau
Metodo Monte Carlo -Wang LandauMetodo Monte Carlo -Wang Landau
Metodo Monte Carlo -Wang Landauangely alcendra
 

What's hot (20)

videoMotionTrackingPCA
videoMotionTrackingPCAvideoMotionTrackingPCA
videoMotionTrackingPCA
 
Gamma decay 1
Gamma decay 1Gamma decay 1
Gamma decay 1
 
Internal-multiple attenuation on Encana data - Qiang Fu and Arthur B. Weglein
Internal-multiple attenuation on Encana data - Qiang Fu and Arthur B. WegleinInternal-multiple attenuation on Encana data - Qiang Fu and Arthur B. Weglein
Internal-multiple attenuation on Encana data - Qiang Fu and Arthur B. Weglein
 
Learning objects
Learning objectsLearning objects
Learning objects
 
An Extension of Linear Inverse Scattering Methods for Absorptive Media to the...
An Extension of Linear Inverse Scattering Methods for Absorptive Media to the...An Extension of Linear Inverse Scattering Methods for Absorptive Media to the...
An Extension of Linear Inverse Scattering Methods for Absorptive Media to the...
 
Large-scale structure non-Gaussianities with modal methods (Ascona)
Large-scale structure non-Gaussianities with modal methods (Ascona)Large-scale structure non-Gaussianities with modal methods (Ascona)
Large-scale structure non-Gaussianities with modal methods (Ascona)
 
E. Sefusatti, Tests of the Initial Conditions of the Universe after Planck
E. Sefusatti, Tests of the Initial Conditions of the Universe after PlanckE. Sefusatti, Tests of the Initial Conditions of the Universe after Planck
E. Sefusatti, Tests of the Initial Conditions of the Universe after Planck
 
Querying Temporal Databases via OWL 2 QL
Querying Temporal Databases via OWL 2 QLQuerying Temporal Databases via OWL 2 QL
Querying Temporal Databases via OWL 2 QL
 
Representing and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic WebRepresenting and Querying Geospatial Information in the Semantic Web
Representing and Querying Geospatial Information in the Semantic Web
 
Relatório
RelatórioRelatório
Relatório
 
Porosity prediction from seismic using geostatistic
Porosity prediction from seismic using geostatisticPorosity prediction from seismic using geostatistic
Porosity prediction from seismic using geostatistic
 
Dimen
DimenDimen
Dimen
 
Clustering ppt
Clustering pptClustering ppt
Clustering ppt
 
Graph Kernelpdf
Graph KernelpdfGraph Kernelpdf
Graph Kernelpdf
 
Seminar yefak 2019
Seminar yefak 2019Seminar yefak 2019
Seminar yefak 2019
 
A04410107
A04410107A04410107
A04410107
 
Covering the earth and the cloud the next generation of spatial in sql server...
Covering the earth and the cloud the next generation of spatial in sql server...Covering the earth and the cloud the next generation of spatial in sql server...
Covering the earth and the cloud the next generation of spatial in sql server...
 
Metodo Monte Carlo -Wang Landau
Metodo Monte Carlo -Wang LandauMetodo Monte Carlo -Wang Landau
Metodo Monte Carlo -Wang Landau
 
05 cubetech
05 cubetech05 cubetech
05 cubetech
 
Ak03302260233
Ak03302260233Ak03302260233
Ak03302260233
 

Viewers also liked

Mapa conceptua advervios comparativos
Mapa conceptua advervios comparativosMapa conceptua advervios comparativos
Mapa conceptua advervios comparativosJimmy Delgado Vargas
 
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖วัดดอนทอง กาฬสินธุ์
 
20131108 cs query by howard
20131108 cs query by howard20131108 cs query by howard
20131108 cs query by howardLearningTech
 
DIAPOSITIVAS DE FISICA
DIAPOSITIVAS DE FISICADIAPOSITIVAS DE FISICA
DIAPOSITIVAS DE FISICALucy Delatorre
 
Pecan brochure and order form
Pecan brochure and order formPecan brochure and order form
Pecan brochure and order formcyfairorchestra
 
Dare to Make and Share
Dare to Make and ShareDare to Make and Share
Dare to Make and ShareAmy Burvall
 
20131104 basic msbuild by Anney
20131104 basic msbuild by Anney20131104 basic msbuild by Anney
20131104 basic msbuild by AnneyLearningTech
 
Salem State College's Employee Handbook
Salem State College's Employee HandbookSalem State College's Employee Handbook
Salem State College's Employee HandbookMartha White
 
Patent database a methodology of information retrieval from pdf
Patent database  a methodology of information retrieval from pdfPatent database  a methodology of information retrieval from pdf
Patent database a methodology of information retrieval from pdfijdms
 
Marcos de trabajo
Marcos de trabajoMarcos de trabajo
Marcos de trabajoWilber Vidm
 
Patologia benigna de estomago
Patologia benigna de estomagoPatologia benigna de estomago
Patologia benigna de estomagoandrexcordoba
 
Lamb to the_slaughter_by_roald_dahl
Lamb to the_slaughter_by_roald_dahlLamb to the_slaughter_by_roald_dahl
Lamb to the_slaughter_by_roald_dahlOktadea Pratiwi
 
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖วัดดอนทอง กาฬสินธุ์
 
Presentacion 1 de las culturas
Presentacion 1 de las culturasPresentacion 1 de las culturas
Presentacion 1 de las culturasdiana velez
 
Fracasos tecnologicos
Fracasos tecnologicosFracasos tecnologicos
Fracasos tecnologicosfavio29
 

Viewers also liked (20)

Draw text
Draw textDraw text
Draw text
 
Mapa conceptua advervios comparativos
Mapa conceptua advervios comparativosMapa conceptua advervios comparativos
Mapa conceptua advervios comparativos
 
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
 
20131108 cs query by howard
20131108 cs query by howard20131108 cs query by howard
20131108 cs query by howard
 
English work
English workEnglish work
English work
 
DIAPOSITIVAS DE FISICA
DIAPOSITIVAS DE FISICADIAPOSITIVAS DE FISICA
DIAPOSITIVAS DE FISICA
 
Pecan brochure and order form
Pecan brochure and order formPecan brochure and order form
Pecan brochure and order form
 
Dare to Make and Share
Dare to Make and ShareDare to Make and Share
Dare to Make and Share
 
20131104 basic msbuild by Anney
20131104 basic msbuild by Anney20131104 basic msbuild by Anney
20131104 basic msbuild by Anney
 
Salem State College's Employee Handbook
Salem State College's Employee HandbookSalem State College's Employee Handbook
Salem State College's Employee Handbook
 
resume 2015ds
resume 2015dsresume 2015ds
resume 2015ds
 
Patent database a methodology of information retrieval from pdf
Patent database  a methodology of information retrieval from pdfPatent database  a methodology of information retrieval from pdf
Patent database a methodology of information retrieval from pdf
 
Marcos de trabajo
Marcos de trabajoMarcos de trabajo
Marcos de trabajo
 
Patologia benigna de estomago
Patologia benigna de estomagoPatologia benigna de estomago
Patologia benigna de estomago
 
Lamb to the_slaughter_by_roald_dahl
Lamb to the_slaughter_by_roald_dahlLamb to the_slaughter_by_roald_dahl
Lamb to the_slaughter_by_roald_dahl
 
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
แปลโดยพยัญชนะเรื่องพราหมณ์ชื่อว่าจูเฬกสาฎก๖
 
Taller de ins lab
Taller de ins labTaller de ins lab
Taller de ins lab
 
Productos naturales y tecnologicos
Productos naturales y tecnologicosProductos naturales y tecnologicos
Productos naturales y tecnologicos
 
Presentacion 1 de las culturas
Presentacion 1 de las culturasPresentacion 1 de las culturas
Presentacion 1 de las culturas
 
Fracasos tecnologicos
Fracasos tecnologicosFracasos tecnologicos
Fracasos tecnologicos
 

Similar to Efficient K-Best Site Query Framework

On solving coverage problems in a wireless sensor networks using diagrams
On solving coverage problems in a wireless sensor networks using diagrams On solving coverage problems in a wireless sensor networks using diagrams
On solving coverage problems in a wireless sensor networks using diagrams marwaeng
 
Randomized Algorithms for Higher-Order Voronoi Diagrams
Randomized Algorithms for Higher-Order Voronoi DiagramsRandomized Algorithms for Higher-Order Voronoi Diagrams
Randomized Algorithms for Higher-Order Voronoi DiagramsMaksym Zavershynskyi
 
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...ijcseit
 
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...ijcseit
 
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...ijcseit
 
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...ijcseit
 
computervision project
computervision projectcomputervision project
computervision projectLianli Liu
 
Aggregation of data by using top k spatial query preferences
Aggregation of data by using top  k spatial query preferencesAggregation of data by using top  k spatial query preferences
Aggregation of data by using top k spatial query preferencesAlexander Decker
 
Stability criterion of periodic oscillations in a (14)
Stability criterion of periodic oscillations in a (14)Stability criterion of periodic oscillations in a (14)
Stability criterion of periodic oscillations in a (14)Alexander Decker
 
Skyline Query Processing using Filtering in Distributed Environment
Skyline Query Processing using Filtering in Distributed EnvironmentSkyline Query Processing using Filtering in Distributed Environment
Skyline Query Processing using Filtering in Distributed EnvironmentIJMER
 
shi_summer_2015
shi_summer_2015shi_summer_2015
shi_summer_2015Tiger Shi
 
Cs229 notes10
Cs229 notes10Cs229 notes10
Cs229 notes10VuTran231
 
PCCC20 筑波大学計算科学研究センター「学際計算科学による最新の研究成果」
PCCC20 筑波大学計算科学研究センター「学際計算科学による最新の研究成果」PCCC20 筑波大学計算科学研究センター「学際計算科学による最新の研究成果」
PCCC20 筑波大学計算科学研究センター「学際計算科学による最新の研究成果」PC Cluster Consortium
 
Sample Space And Events
Sample Space And EventsSample Space And Events
Sample Space And Eventsmathscontent
 
Spatial Approximate String Keyword content Query processing
Spatial Approximate String Keyword content Query processingSpatial Approximate String Keyword content Query processing
Spatial Approximate String Keyword content Query processinginventionjournals
 
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding AlgorithmFixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding AlgorithmCSCJournals
 

Similar to Efficient K-Best Site Query Framework (20)

On solving coverage problems in a wireless sensor networks using diagrams
On solving coverage problems in a wireless sensor networks using diagrams On solving coverage problems in a wireless sensor networks using diagrams
On solving coverage problems in a wireless sensor networks using diagrams
 
Randomized Algorithms for Higher-Order Voronoi Diagrams
Randomized Algorithms for Higher-Order Voronoi DiagramsRandomized Algorithms for Higher-Order Voronoi Diagrams
Randomized Algorithms for Higher-Order Voronoi Diagrams
 
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
 
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
Study and Analysis of Multidimensional Hilbert Space Filling Curve and Its Ap...
 
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
 
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
STUDY AND ANALYSIS OF MULTIDIMENSIONAL HILBERT SPACE FILLING CURVE AND ITS AP...
 
computervision project
computervision projectcomputervision project
computervision project
 
Aggregation of data by using top k spatial query preferences
Aggregation of data by using top  k spatial query preferencesAggregation of data by using top  k spatial query preferences
Aggregation of data by using top k spatial query preferences
 
Stability criterion of periodic oscillations in a (14)
Stability criterion of periodic oscillations in a (14)Stability criterion of periodic oscillations in a (14)
Stability criterion of periodic oscillations in a (14)
 
BNL_Research_Report
BNL_Research_ReportBNL_Research_Report
BNL_Research_Report
 
Skyline Query Processing using Filtering in Distributed Environment
Skyline Query Processing using Filtering in Distributed EnvironmentSkyline Query Processing using Filtering in Distributed Environment
Skyline Query Processing using Filtering in Distributed Environment
 
Logistics Project
Logistics ProjectLogistics Project
Logistics Project
 
shi_summer_2015
shi_summer_2015shi_summer_2015
shi_summer_2015
 
Cs229 notes10
Cs229 notes10Cs229 notes10
Cs229 notes10
 
Fa18_P2.pptx
Fa18_P2.pptxFa18_P2.pptx
Fa18_P2.pptx
 
PCCC20 筑波大学計算科学研究センター「学際計算科学による最新の研究成果」
PCCC20 筑波大学計算科学研究センター「学際計算科学による最新の研究成果」PCCC20 筑波大学計算科学研究センター「学際計算科学による最新の研究成果」
PCCC20 筑波大学計算科学研究センター「学際計算科学による最新の研究成果」
 
Sample Space And Events
Sample Space And EventsSample Space And Events
Sample Space And Events
 
Sample Space And Events
Sample Space And EventsSample Space And Events
Sample Space And Events
 
Spatial Approximate String Keyword content Query processing
Spatial Approximate String Keyword content Query processingSpatial Approximate String Keyword content Query processing
Spatial Approximate String Keyword content Query processing
 
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding AlgorithmFixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
Fixed Point Realization of Iterative LR-Aided Soft MIMO Decoding Algorithm
 

Recently uploaded

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 

Recently uploaded (20)

The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 

Efficient K-Best Site Query Framework

  • 1. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 A FRAMEWORK FOR PROCESSING K-BEST SITE QUERY Yuan-Ko Huang* and Lien-Fa Lin Department of Information Communication Kao-Yuan University; Kaohsiung Country, Taiwan R.O.C. ABSTRACT A novel query in spatial databases is the K-Best Site Query (KBSQ for short). Given a set of objects O, a set of sites S, and a user-given value K, a KBSQ retrieves the K sites from S such that the total distance from each object to its closest site is minimized. The KBSQ is indeed an important type of spatial queries with many real applications. In this paper, we investigate how to efficiently process the KBSQ. We first propose a straightforward approach with a cost analysis, and then develop the K Best Site Query (KBSQ) algorithm combined with the existing spatial indexes to improve the performance of processing KBSQ. Comprehensive experiments are conducted to demonstrate the efficiency of the proposed methods. KEYWORDS spatial databases; K-Best Site Query; spatial indexes 1. INTRODUCTION With the fast advances of positioning techniques in mobile systems, spatial databases that aim at efficiently managing spatial objects are becoming more powerful and hence attract more attention than ever. Many applications, such as mobile communication systems, traffic control systems, and geographical information systems, can benefit from efficient processing of spatial queries [17]. In this paper, we present a novel and important type of spatial query, namely the K-Best Site Query (KBSQ for short). Given a set of objects O, a set of sites S, and a user-given value K, a KBSQ retrieves the K sites s1, s2, ..., sK from S such that d (oi , s j ) is minimized, where d(oi, sj) ∑ oi ∈O refers to the distance between object oi and its closest site sj. We term the sites retrieved by executing the KBSQ the best sites (or bs for short). The KBSQ problem arises in many fields and application domains. As an example of real-world scenario, consider a set O of soldiers on the battlefields that is fighting the enemy. In order to immediately support the injured soldiers, we need to choose K sites from a set S of sites to build the emergicenters. Note that there are many soldiers fighting on the battlefields and many sites could be the emergicenters. To achieve the fastest response time, the sum of distances from each battlefield to its closest emergicenter should be minimized. Another real-world example is that the McDonald's Corporation may ask “what are the optimal locations in a city to open new McDonald's stores.” In this case, the KBSQ can be used to find out the K best sites among a set S of sites so that every customer in set O can rapidly reach his/her closest store. DOI : 10.5121/ijdms.2013.5503 17
  • 2. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 Let us use an example in Figure 1 to illustrate the KBSQ problem, where six objects o1, o2, ..., o6 and four sites s1, s2, ..., s4 are depicted as circles and rectangles, respectively. Assume that two best sites (i.e., 2bs) are to be found in this example. There are six combinations (s1, s2), (s1, s3), ..., (s3, s4), and one combination would be the result of KBSQ. As we can see, the sum of distances from objects o1, o2, o3 to their closest site s3 is equal to 9, and the sum of distances between objects o4, o5, o6 and site s1 is equal to 12. Because the combination (s1, s3) leads to the minimum total distance (i.e., 9 + 12 = 21), the two sites s1 and s3 are the 2bs. o4 s2 s1 o2 o1 4 s3 2 4 4 4 o5 o6 3 o3 s4 Figure 1. An example of the KBSQ To process the KBSQ, the closest site for each object needs to be first determined and then the distance between object and its closest site is computed so as to find the best combination of K sites. When a database is large, it is crucial to avoid reading the entire dataset in identifying the K best sites. For saving CPU and I/O costs, we develop an efficient method combined with the existing spatial indexes to avoid unnecessary reading of the entire dataset. A preliminary version of this paper is [8], and the contributions of this paper are summarized as follows. • We present a novel query, namely the K Best Site Query, which is indeed an important type of spatial queries with many real applications. • We propose a straightforward approach to process the KBSQ and also analyze the processing cost required for this approach. • An efficient algorithm, namely the K Best Site Query (KBSQ) algorithm, operates by the support of R*-tree [9] and Voronoi diagram [10] to improve the performance of KBSQ. • A comprehensive set of experiments is conducted. The performance results manifest the efficiency of our proposed approaches. The rest of this paper is organized as follows. In Section 2, we discuss some related works on processing spatial queries similar to the KBSQ, and point out their differences. In Section 3, the straightforward approach and its cost analysis is presented. Section 4 describes the KBSQ algorithm with the used indexes. Section 5 shows extensive experiments on the performance of our approaches. Finally, Section 6 concludes the paper with directions on future work. 18
  • 3. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 2. RELATED WORK In recent years, some queries similar to the KBSQ are presented, including the Reverse Nearest Neighbor Query (RNNQ) [11], the Group Nearest Neighbor Query (GNNQ) [12], and the MinDist Optimal-Location Query (MDOLQ) [13]. Several methods have been designed to efficiently process these similar queries. However, the query results obtained by executing these queries are quite different from that of the KBSQ. Also, the proposed methods cannot be directly used to answer the KBSQ. In the following, we investigate why the existing methods for processing the similar queries cannot be applied to the KBSQ separately. 2.1. Methods For RNNQ Given a set of object O and a site s, a RNNQ can be used to retrieve a set S of objects contained in O whose closest site is s. Each object o in S is termed a RNN of s. An intuitive way for finding the query result of KBSQ is to utilize the RNNQ to find the RNNs for each site. Then, the K sites having the maximum number of RNNs (meaning that they are closer to most of the objects) are chosen to be the K best sites. Taking Figure 2 as an example, the RNNs of site s1 can be determined by executing the RNNQ and its RNNs are objects o4 and o6. Similarly, the RNNs of sites s2, s3, and s4 are determined as o1 and o2, o3, and o5, respectively. As sites s1 and s2 have the maximum number of RNNs, they can be the 2bs for the KBSQ. However, sites s1 and s2 lead to the total distance 24 (i.e., d(o4, s1) + d(o5, s1) + d(o6, s1) + d(o1, s2) + d(o2, s2) + d(o3, s2)), which is greater than the total distance 22 as sites s1 and s3 are chosen to be the 2bs. As a result, the intuition of using the RNNQ result to be the KBSQ result is infeasible. o4 s2 2 o2 4 s1 2 o1 4 3 s3 8 3 o3 4 o6 o 4 and o 6 are s 1’s RNN 4 o 1 and o 2 are s 2’s RNN o5 2 o 3 is s 3’s RNN o 5 is s 4’s RNN s4 Figure 2. An example of the RNNQ 2.2. Methods For GNNQ A GNNQ retrieves a site s from a set of sites S such that the total distance from s to all objects is the minimum among all sites in S. Here, the result s of GNNQ is called a GNN. To find the K best sites, we can repeatedly evaluate the GNNQ K times so as to retrieve the first K GNNs. It means that the sum of distances between these K GNNs and all objects is minimum, and thus they can be the K bs. However, in some cases the result obtained by executing the GNNQ K times is still different from the exact result of KBSQ. Let us consider an example shown in Figure 3, where 2bs are required. As shown in Figure 3(a), the first and second GNNs are sites s3 and s1, respectively. As such, the 2bs are s3 and s1, and the 19
  • 4. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 total distance d(o1, s1) + d(o2, s1) + d(o4, s1) + d(o3, s3) + d(o5, s3) + d(o6, s3) = 23. However, another combination (s2, s4) shown in Figure 3(b) can further reduce the total distance to 13. Therefore, using the way of executing GNNQ K times to find the K best sites could return incorrect result. o1 o2 o4 2 s1 6 s2 4 The first GNN is s 3 s4 s3 The third GNN is s 2 1 5 5 o5 o6 o3 The second GNN is s 1 The last GNN is s 4 (a) incorrect result o1 o2 s1 2 1 o4 3 s2 3 s4 s3 3 1 o6 o3 o5 (b) correct result Figure 3. An example of the GNNQ 2.3. Methods For MDOLQ Given a set of objects O and a set of sites S, a MDOLQ returns a location which, if a new site s not in S is built there, minimizes d (oi , s j ) where d(oi, sj) is the distance between object oi and ∑ oi ∈O its closest site s j ∈ S U {s} . At first glance, the MDOLQ is more similar to the KBSQ than the other queries mentioned above. However, using the MDOLQ to obtain the K best sites may still lead to incorrect result. Consider an example of using MDOLQ to find the K best sites in Figure 4. As 2bs are to be found, we can evaluate the MDOLQ two times to obtain the result. In the first iteration (as shown in Figure 4(a)), the site s1 becomes the first bs because it has the minimum total distance to all objects. Then, the MDOLQ is executed again by taking into account the remaining sites s2, s3, and s4. As the site s2 can reduce more distance compared to the other two sites, it becomes the second bs (shown in Figure 4(b)). Finally, 2bs are s1 and s2 and the total distance is computed as d(o4, s1) + d(o5, s1) + d(o6, s1) + d(o1, s2) + d(o2, s2) + d(o3, s2) = 20. However, the computed distance is not 20
  • 5. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 minimum and can be further reduced. As we can see in Figure 4(c), if s2 and s4 are chosen to be the 2bs, the total distance can decrease to 16. o1 o2 s2 6 4 s1 o2 4 o4 2 s2 2 s4 5 o3 o1 o4 s1 4 s4 4 5 s3 5 3 o5 o6 o3 s3 (a) Step 1 o6 o5 (b) Step 2 o1 o2 3 o4 2 s2 2 s1 3 4 s4 2 o3 s3 3 o6 o5 (c) correct result Figure 4. An example of the MDOLQ 3. STRAIGHTFORWARD APPROACH In this section, we first propose a straightforward approach to solve the KBSQ problem, and then analyze the processing cost required for this approach. Assume that there are n objects and m sites, and the K bs would be chosen from the m sites. The straightforward approach consists of three steps. The first step is to compute the distance d(oi, sj) from each object oi (1 ≤ i ≤ n) to each site sj (1 ≤ j ≤ m). As the K best sites are needed to be retrieved, there are totally CmK possible combinations and each of the combinations comprises K sites. The second step is to consider all of the combinations. For each combination, the distance from each object to its closest site is determined so as to compute the total distance. In the last step, the combination of K sites having the minimum total distance is chosen to be the query result of KBSQ. Figure 5 illustrates the three steps of the straightforward approach. As shown in Figure 5(a), the distances between objects and sites are computed and stored in a table, in which a tuple represents the distance from an object to all sites. Then, the CmK combinations of K sites are considered so that CmK tables are generated (shown in Figure 5(b)). For each table, the minimum attribute value of each tuple (depicted as gray box) refers to the distance between an object and its closest site. As such, the total distance for each combination can be computed by summing up the minimum attribute value of each tuple. Finally, in Figure 5(c) the combination 1 of K sites can be the K bs because its total distance is minimum among all combinations. 21
  • 6. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 m ... 3 ... 3 ... n 2 4 ... 8 n 2 4 1 3 ... n 2 ... 2 combination 1 ... K+1 3 ... 2 4 ... 3 ... 4 5 ... 8 6 2 combination 2 n K 1 2 ... m 4 6 ... 5 2 ... 3 3 1 2 6 ... ... ... ... 3 ... 2 ... 6 ... 2 ... ... 5 ... ... ... 6 ... 4 2 6 2 1 6 4 1 n ... ... ... K ... 2 ... ... 1 K 2 2 ... n K 1 ... m n ... n 2 4 ... m combination CK (a) Step 1 (b) Step 2 n K 1 2 ... K ... 2 2 6 2 ... 3 ... 8 ... 6 ... 4 ... 1 ... n 2 4 ... combination 1 (c) Step 3 Figure 5. Straightforward approach Since the straightforward approach includes three steps, we consider the three steps individually to analyze the processing cost. Let m and n be the numbers of sites and objects, respectively. Then, the time complexity of the first step is m*n because the distances between all objects and sites have to be computed. In the second step, CmK combinations are considered and thus the complexity is CmK *n*K. Finally, the combination having the minimum total distance is determined among all combinations so that the complexity of the last step is CmK. The processing cost of the straightforward approach is represented as m * n + C m k * n * K + C m k . 4. KBSQ ALGORITHM The above approach is performed without any index support, which is a major weakness in dealing with large datasets. In this section, we propose the KBSQ algorithm combined with the existing indexes R*-tree and Voronoi diagram to efficiently process the KBSQ. Recall that, to process the KBSQ, we need to find the closest site s for each object o (that is, finding the RNN o of site s). As the Voronoi diagram can be used to effectively determine the RNN of each site [14], we divide the data space so that each site has its own Voronoi cell. For example, in Figure 6(b), the four sites s1, s2, s3, and s4 have their corresponding Voronoi cells V1, 22
  • 7. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 V2, V3, and V4, respectively. Taking the cell V1 as an example, if object o lies in V1, then o must be the RNN of site s1. Based on this characteristic, object o needs not be considered in finding the RNNs for the other sites. Then, we use the R*-tree, which is a height-balanced indexing structure, to index the objects. In a R*-tree, objects are recursively grouped in a bottom-up manner according to their locations. For instance, in Figure 6(a), eight objects o1, o2, ..., o8 are grouped into four leaf nodes E4 to E7 (i.e., the minimum bounding rectangle MBR enclosing the objects). Then, nodes E4 to E7 are recursively grouped into nodes E2 and E3, that become the entries of the root node E1. o8 o4 V3 s3 E7 E5 o 3 o2 E2 E1 E4 o o6 1 o7 E3 o 5 E6 (a) R-tree V2 s2 V1 s1 V4 s4 (b) Voronoi diagram Figure 6. Spatial indexes Combined with the R*-tree and Voronoi diagram, we design the following pruning criteria to greatly reduce the number of objects considered in query processing. • Pruning objects: given an object o and the K sites s1, s2, ..., sK, if o lies in the Voronoi cell Vi of one site si contained in {s1, s2, ..., sK}, then the distances between object o and the other K-1 sites need not be computed so as to reduce the processing cost. • Pruning MBRs: given a MBR E enclosing a number of objects and the K sites s1, s2, ..., sK, if E is fully contained in the cell Vi of one site si contained in {s1, s2, ..., sK}, then the distances from all objects enclosed in E to the other K-1 sites would not be computed. To find the K bs for the KBSQ, we need to consider CmK combinations of K sites. For each combination of K sites s1, s2, ..., sK with their corresponding Voronoi cells V1, V2, ..., VK, the processing procedure begins with the R*-tree root node and proceeds down the tree. When an internal node E (i.e., MBR E) of the R*-tree is visited, the pruning criterion 2 is utilized to determine which site is the closest site of the objects enclosed in E. If the MBR E is not fully contained in any of the K Voronoi cells, then the child nodes of E need to be further visited. When a leaf node of the R*-tree is checked, the pruning criterion 1 is imposed on the entries (i.e., objects) of this leaf node. After the traversal of the R*-tree, the total distance for the combination of K sites s1, s2, ..., sK can be computed. By taking into account the total combinations, the combination of K sites whose total distance is minimum would be the query result of the KBSQ. Figure 7 continues the previous example in Figure 6 to illustrate the processing procedure, where there are eight objects o1 to o8 and four sites s1 to s4 in data space. Assume that the combination (s2, s3) is considered and the Voronoi cells of sites s2 and s3 are shown in Figure 7(a). As the MBR E2 is not fully contained in the Voronoi cell V2 of site s2, the MBRs E4 and E5 still need to be visited. When the MBR E4 is checked, based on the pruning criterion 2 the distances from objects o1 and o2 to site s3 would not be computed because their closest site is s2. Similarly, the closest 23
  • 8. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 site of the objects o7 and o8 enclosed in MBR E7 is determined as site s3. As for objects o3 to o6, their closest sites can be found based on the pruning criterion 1. Having determined the closest site of each object, the total distance for combination (s2, s3) is obtained. Consider another combination (s2, s4) shown in Figure 7(b). The closest site s2 of four objects o1 to o4 enclosed in MBR E2 can be found when E2 is visited. Also, we can compute the total distance for the combination (s2, s4) after finding the closest sites for objects o5 to o8. By comparing the distances for all combinations, the 2bs are retrieved. o8 o4 E5 o 3 o2 E2 s2 s3 o7 E4 o 1 E7 E3 o8 o4 E5 o 3 o2 E2 s2 s1 o5 E6 o6 s4 E4 o 1 (a) combination ( s 2, s 3) s3 o7 E7 E3 s1 o5 E6 o6 s4 (b) combination ( s 2, s 4) Figure 7. Processing KBSQ with indexes 5. PERFORMANCE EVALUATION We conduct four experiments for the straightforward approach and the proposed KBSQ algorithm in this section. The first three experiments are evaluated to study the performance of the proposed methods by measuring the CPU time for processing a KBSQ. The last experiment demonstrates the usefulness of the KBSQ algorithm by comparing the precision of query result against its competitors. 5.1. Experimental Setting All experiments are performed on a PC with Intel 2.83 GHz CPU and 4 GB RAM. The algorithms are implemented in Java. One synthetic dataset is used in our simulation. The synthetic dataset consists of 1000 objects whose locations are uniformly spread over a region of 100000 * 100000 meters. In the experimental space, we also generate 30 query datasets, each of which contains 25 sites whose locations are in the same range as those of the objects mentioned above. For each query dataset, we perform a KBSQ to find the K best sites, where the default value of K is set to 5. The performance is measured by the average CPU time in performing workload of the 30 queries. Table 1 summarizes the parameters under investigation, along with their default values and ranges. We compare the proposed KBSQ algorithm with the straightforward approach to investigate the performance of processing a KBSQ. Also, we compare the precision of the KBSQ algorithm against its competitors, including the RNNQ, the GNNQ, and the MDOLQ methods. Table 1. System parameters. Parameter Number of objects (O) Number of sites (S) K Default 1000 25 5 Range 500, 1000, 5000, 10000 20, 25, 30, 35 1, 5, 10, 20 24
  • 9. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 5.2. Efficiency Of KBSQ Algorithm In this subsection, we compare the KBSQ algorithm with the straightforward approach in terms of the CPU time. Three experiments are conducted to investigate the effects of three important factors on the performance of processing KBSQ. These important factors are the number of objects O, the number of sites S, and the value of K. Figure 8 illustrates the performance of the KBSQ algorithm and the straightforward approach as a function of the number of objects (ranging from 500 to 10000). Note that hereafter all figures use a logarithmic scale for the y-axis. As we can see from the experimental result, the KBSQ algorithm significantly outperforms the straightforward approach in the CPU time, even for a smaller number of objects (e.g., 500). This is mainly because for the straightforward approach the distances of all objects have to be computed which incurs high computation cost. Moreover, the performance gap between the KBSQ algorithm and the straightforward approach increases with the increasing number of objects. The reason is that most distance computations of objects can be avoided by using the KBSQ algorithm with the support of R*-tree, but these distance computations are necessary for the straightforward approach. Figure 8. Effect of number of objects. Figure 9 demonstrates the effect of various numbers of sites (i.e., varying S from 20 to 35) on the performance of the KBSQ algorithm and the straightforward approach. When the number of sites increases, the CPU overhead for both algorithms grows. The reason is that as the number of sites becomes greater, the number of combinations to be considered increases so that more distance computations between objects and sites are required. The experimental result shows that the KBSQ algorithm outperforms its competitor significantly in all cases, which confirms again that applying the KBSQ algorithm with R*-tree and Voronoi diagram can greatly improve the performance of processing a KBSQ. 25
  • 10. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 Figure 9. Effect of number of sites Finally in this subsection, we study how the value of K affects the performance of the KBSQ algorithm and the straightforward approach, by varying K from 1 to 20. Similar to the previous experimental results, the KBSQ algorithm achieves significantly better performance than the straightforward approach (as shown in Figure 10). The KBSQ algorithm outperforms the straightforward approach by a factor of 70 to 240 in terms of the CPU cost. In addition, an interesting observation from Figure 10 is that a smaller K (e.g., 1) or a larger K (e.g., 20) results in a lower CPU time for the KBSQ algorithm and the straightforward approach. This is because for a smaller (or larger) value of K, less number of combinations needs to be considered in processing a KBSQ so that the required CPU time can be reduced. Figure 10. Effect of K 26
  • 11. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 5.3. Precision Of KBSQ Algorithm The following experiment demonstrates the precision of the KBSQ algorithm and its competitors (including the RNNQ, the GNNQ, the MDOLQ methods) under various values of K, where the precision is represented as follows: precision = # (bsresult I bsreal ) × 100% # bsreal In the above equation, bsresult refers to the set of K best sites retrieved by executing the KBSQ algorithm, the RNNQ method, the GNNQ method, or the MDOLQ method. As for bsreal, it is the set of the real K best sites. In Figure 11, we vary K form 1 to 20 to investigate the precision of the KBSQ algorithm, the RNNQ method, the GNNQ method, and the MDOLQ method. As we can see, as the real K best sites can be precisely determined by executing the KBSQ algorithm, the precision of the KBSQ algorithm is always equal to 100% under different values of K. However, if the RNNQ, the GNNQ, and the MDOLQ methods are adopted to answer a KBSQ, some of the real K best sites are missed. As shown in the experimental result, the precision for the MDOLQ method can only reach 60% to 85%. Even worse, the precision for the RNNQ and the GNNQ methods is below 60% for a smaller value of K, which means that most of the retrieved best sites are incorrect. Figure 11. Precision for different K 6. CONCLUSIONS In this paper, we focused on processing the K Best Site Query (KBSQ) which is a novel and important type of spatial queries. We highlighted the limitations of the previous approaches for the queries similar to the KBSQ, including the RNNQ, the GNNQ, and the MDOLQ. To solve the KBSQ problem, we first proposed a straightforward approach and then analyzed its processing cost. In order to improve the performance of processing the KBSQ, we further proposed a KBSQ algorithm combined with R*-tree and Voronoi diagram to greatly reduce the CPU and I/O costs. Comprehensive set of experiments demonstrated the efficiency and the precision of the proposed approaches. 27
  • 12. International Journal of Database Management Systems ( IJDMS ) Vol.5, No.5, October 2013 Our next step is to discuss the space requirement of the proposed methods and design a novel index structure for answering the KBSQ. Then, we will focus on processing the KBSQ for moving objects with fixed or uncertain velocity. More complicated issues will be introduced because of the movement of objects. Finally, we would like to extend the proposed approach to process the KBSQ in road network. ACKNOWLEDGEMENTS This work was supported by National Science Council of Taiwan (R.O.C.) under Grants NSC 101-2119-M-244 -001 and NSC 102-2119-M-244 -001. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] Benetis, R.; Jensen, C.S.; Karciauskas, G.; Saltenis, S. Nearest neighbor and reverse nearest neighbor queries for moving objects. VLDB Journal 2006, 15, 229-249. Hakkoymaz, V. A specification model for temporal and spatial relations of segments in multimedia presentations. Journal of Digital Information Management 2010, 8, 136-146. Huang, Y.-K.; Chen, C.-C.; Lee, C. Continuous k-nearest neighbor query for moving objects with uncertain velocity. GeoInformatica 2009, 13, 1-25. Huang, Y.-K.; Liao, S.-J.; Lee C. Evaluating continuous k-nearest neighbor query on moving objects with uncertainty. Information Systems 2009, 34, 415-437. Mokbel, M.F.; Xiong, X.; Aref, W.G. Sina: Scalable incremental processing of continuous queries in spatio-temporal databases. In Proceedings of the ACM SIGMOD 2004. Pagel, B.-U.; Six, H.-W.; Winter, M. Window query-optimal clustering of spatial objects. In Proceedings of the ACM SIGMOD 1995. Papadias, D.; Tao, Y.; Mouratidis, K.; Hui, C.K. Aggregate nearest neighbor queries in spatial databases. ACM Trans. Database Syst. 2005, 30, 529-576. Huang, Y.-K.; Lin, L.-F. Evaluating k-best site query on spatial objects. In Proceedings of the NDT 2011. Guttman, A. R-trees: A dynamic index structure for spatial searching. In Proceedings of the ACM SIGMOD 1984. Samet, H. The design and analysis of spatial data structures. Addison-Wesley, Reading 1990. Korn, F.; Muthukrishnan, S. Influence sets based on reverse nearest neighbor queries. In Proceedings of the ACM SIGMOD 2010. Papadias, D.; Shen, Q.; Tao, Y.; Mouratidis, K. Group nearest neighbor queries. In Proceedings of the ICDE 2004. Zhang, D.; Du, Y.; Xia, T.; Tao, Y. Progressive computation of the min-dist optimal-location query. In Proceedings of the VLDB 2006. Zhang, J .; Zhu, M.; Papadias, D.; Tao, Y.; Lee, D.L. Location-based spatial queries. In Proceedings of the ACM SIGMOD 2003. 28