moving video
analysis sensors
video analysis
sensors
telemetric
analysis sensors
geological
sensors
hydrological
sensors
traffic sensors
RDB-KV NodeDB
Sampling Receivers
Master Node
Sensor Deployment
La
er
Data Storage
La
er
RDB-KV Cloud Storage
Figure 1: Architecture of the RDB-KV CloudDB.
The RDB-KV Cloud Storage adopts a two-
layered architecture. The actual sensor sampling data
are stored at the leaf nodes, while the master node
stores global indices and global catalogues of the
whole system. The cloud can not only support
keyword searches, but also support spatial-temporal
queries, sampling sequence based interpolation
queries, and other complicated queries.
Each leaf node of the RDB-KV Cloud Storage is
a database (denoted as “RDB-KV NodeDB” in
Figure 1) which can manage heterogeneous sensor
data in a uniformed manner through a set of data
types and operators.
The root nodes of the RDB-KV Cloud Storage
include a coordinator (denoted as “Master Node” in
Figure 1, which is a RDB-KV NodeDB augmented
with global indices and catalogues) for global query
processing, and a group of servers for receiving and
distributing new sensor sampling values (denoted as
“Sampling Receivers” in Figure 1).
The system has global distributed indices built
on RDB-KV NodeDBs and the master node so that
both SQL queries and keyword searches can be
supported efficiently.
2 RDB-KV NODE DATABASE
In this section, we describe how each leaf node of
the RDB-KV Cloud Storage works to manage
heterogeneous sensor data. In an RDB-KV NodeDB,
multiple sampling values of a same object form a
“sampling sequence”. Through related data types,
operators, and indices, the sampling sequence data
can be managed and queried at the database kernel
efficiently.
In describing the data types and operators of the
RDB-KV NodeDB, we use the notation introduced
in (
Güting, Almeida, and Ding, 2006) and assume that
the standard data types, spatial data types, and their
related operators have already been designed and
implemented.
2.1 Data Types for Expressing Sensor
Data in Databases
In this subsection, we first define the data types for
expressing individual sensor sampling values, and
then define the sampling sequence data type, which
is the general format for organizing and managing
the sampling data. Through these data types, the
database can express and present heterogeneous
sensor sampling values in a uniformed manner.
Definition 1 (Sampling Value) A sampling
value, denoted as SamplingValue, is defined as:
SamplingValue = (t, (x, y), npos, schema, value)
where t is the time instant when the value is
sampled; (x, y) and npos are the Euclidean position
and the network position where the value is
sampled; schema and value are the format and the
actual value of the sampling respectively.
Through the SamplingValue data type, we can
express heterogeneous sensor sampling data in a
uniformed manner.
A sampling value can have multiple components.
For instance, a GPS sampling value can have 2
components: longitude and latitude. Components of
a sampling value can be expressed through the
Sampling Value Component data type.
Definition 2 (Sampling Value Component) A
sampling value component, denoted as
SamplingComponent, can be defined as follows:
SamplingComponent = (cSchema, cValue)
where cSchema and cValue are the schema and the
value of the component respectively.
Definition 3 (Sampling Sequence) For a certain
monitored object, its sampling sequence is
composed of all sampling values of the object for a
certain time period, ordered by sampling time. Since
the sampling values of the same object share the
same schema, we can define the sampling sequence
data type as follows:
SamplingSequence=(schema, (t
i
, ((x
i
, y
i
), npos
i
,
value
i
, flag
i
))
n
i 1=
)
where schema describes the format of the sampling
values; t
i
, (x
i
, y
i
), npos
i
, value
i
are the time, the
Euclidean position, the network position, and the
actual value of the ith sampling respectively; and
flag
i
indicates whether the ith sampling value is a
“breaking point” in the sequence.
For static objects whose positions do not move,
their sampling sequence can be further simplified as
SENSORNETS 2012 - International Conference on Sensor Networks
152