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