Professional Documents
Culture Documents
UBICC-Submitted 206 206
UBICC-Submitted 206 206
UBICC-Submitted 206 206
lienfa@cc.kyu.edu.tw,chencc@mail.stut.edu.tw
ABSTRACT
The query service for the location of an object is called Location Based Services
(LBSs), and Reverse Nearest Neighbor (RNN) queries are one of them. RNN queries
have diversified applications, such as decision support system, market decision,
query of database document, and biological information. Studies of RNN in the past,
however, focused on inquirers in immobile status without consideration of
continuous demand for RNN queries in moving conditions. In the environment of
wireless network, users often remain in moving conditions, and sending a query
command while moving is a natural behavior. Availability of such service therefore
becomes very important; we refer to this type of issue as Continuous Reverse
Nearest Neighbor (CRNN) queries. Because an inquirer’s location changes
according to time, RNN queries will return different results according to different
locations. For a CRNN query, executing RNN search for every point of time during a
continuous query period will require a tremendously large price to pay. In this work,
an efficient algorithm is designed to provide precise results of a CRNN query in just
one execution. In addition, a large amount of experiments were conducted to verify
the above-mentioned method, of which results of the experiments showed significant
enhancement in efficiency.
2.1.1R-Tree
What CRNN query pursues is a period of Figure 6. Finding segment point of CRNN search
continuous time; the moving distance of query
objects is very short among some adjacent points of Figure 7 illustrates the time segmentation
time for the query, thus possibly resulting in the same process described above. For object a, b, and c, their
RNN result. That is, the entire period of continuous respective NNs are identified first: NN(a)=b,
query is divided into several segments, and the RNN NN(b)=a, and NN(c)=b. Next, use each object as the
results in each segment are the same. If these points center of a circle, and the distance to its respective
of time share the same RNN result, then it is not NN as the radius to make circles of a, b, and c. Then,
necessary to execute RNN search for each of the intersections of the circles and qlines, Ps, P1, P2, P3,
points of time; one-time calculation is enough. P4, and Pe , are sorted according to time, and every
Therefore, CRNN query does not require executing two intersection points define a time segment. The
RNN search for all points of time. Instead, points of entire CRNN query is cut into five time segments, [Ps,
time that share the same RNN result are grouped into P1] , [ P1, P2] , [P2,P3] , [P3,P4] , and [P4,Pe].
time segments, and one-time RNN search is executed Every segment has a unique RNN query result.
for each of the segments. RNN of query q is a
collection of the objects of which the NN is query q.
If the distance, or N, is realized in advance, then
these objects are the RNN for query q when the
distances from query q to the objects are shorter than
the distances from the objects to their respective NN.
Y axis
Y axis
Y axis
0.2 0.2
0.2
0 0
0 0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1 0 0.2 0.4 0.6 0.8 1
X axis X axis
X axis
In addition to the object distribution described CRNN query is executing RNN algorithm for every
above, the influences that the amount of query time point of time which is continuous, and it is
(qline) and the number of objects may impose on impossible to calculate the required count of
efficiency are also considered. Three data sets of execution. Therefore, the CRNN query time must be
Uniform, Gaussian, and Zipf are considered in object segmented before the total execution time required
distribution. The amount of query time (qline) for CRNN query may be calculated. The more the
changes from query length 1 to query length 10. The time is segmented, the more executions of RNN are
number of objects changes from 1K to 10K. required. If a period of time is segmented into m
Parameters and settings used in the experiment are segments, then time complexity will be O(m×n3), and
listed in Table 1. if time is not adequately segmented, then the RNN
Table 1: Parameter settings of experiment result may be erroneous. These make it an inefficient
CRNN search algorithm, and it will not be compared
Parameter Description Settings in this experiment. Efficiency of two methods is
distribution Data distribution Uniform, compared in this experiment: one uses Rdnn-tree as
Gaussian, Zipf the index, and the other uses no index. To evaluate
interval Time interval of 1, 2, 5, 8, 10 these two methods, comparison of the time required
Query for one CRNN search execution can be used, and this
object-no Number of Data 1, 10. 30, 50 , comparison is referred to as total cost in this Study.
Objects 100(k)
5.4 Performance Results and Discussion
5.2 Compared Algorithms and Performance
Metrics Based on the changes of metrics (distribution,
interval, and object-no), different types of
The most intuitive method for finding RNN is experiments have been conducted. Results are
looking for the NN of every object. If the number of summarized by object-no and query interval in the
query objects is N, then time Complexity is O(n2). next section.
Next, determine which objects’ NNs are query points.
If the NNs are the query points, then the objects will 5.4.1 The effect of object-no parameter
be the RNNs for the query points. The required time
complexity for the RNN algorithm is O(n3). First, the fixed query interval is set at 5. The
However, the most intuitive method for finding influence imposed on efficiency by object-no
)
)
103
103 103
2 2 2
10 10 10
10 10 10
1 1 1
1K 10K 30K 50K 100K 1K 10K 30K 50K 100K 1K 10K 30K 50K 100K
object-no object-no object-no
Figure 11: Influences on different types of data distribution from changing object-no
5.4.2 The effect of query interval parameter distance of MinD(qline , Rect) decreases, causing
pruning efficiency to reduce. On the contrary, when
This section focuses on the influence from the the interval increases, the number of time
length of query interval on each method under segmentation by CRNN query increases.
different types of object distribution. Results of the Consequently, the number of RNN searches for every
experiment are shown in Figure 12. Generally segment increases, and total cost of CRNN query
speaking, when the query interval is lengthened, the increases as well.
105 105 10
5
104 104 10
4
)
)
3
10 103 103 CRNN without index
CRNN with index
102 10
2
10
2
10 10 10
1 1 1
1 2 5 8 10 1 2 5 8 10 1 2 5 8 10
Query Interval Query Interval Query Interval
6. Conclusions and Future Works Study also prove the efficiency of the proposed
method. As wireless communication and mobile
An efficient CRNN search algorithm is proposed device technology become mature, more and more
in this Study. Such algorithm requires only one users access information from wireless information
execution to find out RNN results from all continuous systems through mobile devices. To process requests
RNN searches. The diversified experiments in this from more and more mobile users, data dissemination