
 
the same CPU. Because of high CPU usage and long 
evaluation time we decided to distribute the SDW 
(l/t) into independent services, linked together with 
Java RMI technology. The most efficient solution 
assumes running the Gorder  service on a separate 
computer because it is the most CPU consuming 
element. Other components may be executed on 
other computers or on the same computer due to 
their insignificant CPU consumption. 
Designed system works as follows. First we have 
to upload a road map and defined meters into 
database on Oracle Server, using SDW(l/t). Then we 
start the SDWServer, the Gorder  service and as 
many mobile objects as we want to evaluate. Every 
new mobile object is registered in the database. In 
SDW(l/t) we define new queries for active mobile 
objects. Queries are also registered in database. The 
Gorder  service periodically verifies if any queries 
are defined. Every query is processed during each 
cycle of the Gorder process. The results are sent to 
SDW(l/t), where they are stored for further analysis. 
SDWServer secures steady RMI connection between 
running processes. 
 
Figure 1: DSDW(l/t). 
3 MOBILE OBJECT’S 
SIMULATOR 
For designed approach’s evaluation we developed a 
mobile object simulator that corresponds to any 
moving object like car, man or airplane. Being in 
constant movement, mobile objects are perfect to act 
as a query points. Continuous changes in their 
locations forces data system to continuously process 
queries to maintain up-to-date information about 
object’s  k  nearest neighbours. While designing the 
mobile object mechanism we made a few 
assumptions. On the one hand, mobile objects are 
not allowed to interfere in system’s behaviour, but 
on the other hand, they provide everything that is 
necessary to conduct system’s overall experiments. 
They also prepare system for realistic, natural 
conditions. 
Mobile object’s simulator is a single process that 
represents a moving object. It consantly changes its 
actual location and destination.  We assume that a 
moving object has the ability to send updates on its 
location to the Oracle server, which is the core of 
DSDW (l/t). It is justifiable assumption because the 
GPS devices are getting cheaper every day. 
In real terms, the location-aware monitoring 
systems are not aware of mobile object’s problem of 
choosing the right direction, because it is not the 
system that decides where specific object is aiming 
to. System only receives information about current 
object’s location and makes proper decisions on the 
way of processing it. Since our project is not a real 
life system, but only a simulation, which goal is to 
evaluate new solutions, we do not have access to the 
central system containing information about the 
mobile objects positions. Therefore, we had to 
develop an algorithm that will decide on mobile 
object’s movement in order to make SDW(l/t) more 
realistic. 
4 GORDER QUERY SERVICE  
k Nearest Neighbor (kNN) join combines each point 
of one dataset R with its k  nearest neighbors in the 
other dataset S. Gorder  is a block nested loop join 
algorithm which achieves its efficiency due to data 
sorting, join scheduling and distance computation 
reduction. Firstly it sorts input datasets into order 
called  G-order  (an order based on a grid). As a 
result, the datasets are ready to be partitioned into 
blocks that are proper for efficient scheduling for 
join processing. Secondly, scheduled block nested 
loop join algorithm is applied to find k  nearest 
neighbors for each block of R data points within data 
blocks of S dataset. 
Gorder achieves its efficiency due to inheritance 
of strength of the block nested loop join in being 
able to reduce random reads and due to a pruning 
strategy, which reduces unpromising data blocks 
using properties of G-ordered data. Furthermore, 
Gorder utilizes two-tier partitioning strategy to 
optimize CPU and I/O time and reduces distance 
computation cost by pruning away redundant 
computations. 
 
 
jdbc 
jdbc 
jdbc 
jdbc 
jdbc 
SDWServer 
RMI 
 
ORACLE 
Server 
Mobile 
object 
Mobile 
object 
Mobile 
object 
Mobile 
object 
SDW(l/t) 
Gorder 
jdbc RMI 
ICEIS 2007 - International Conference on Enterprise Information Systems
132