Database Reference
In-Depth Information
1 The attributes of the sensor, e.g., physical location and ID
2 The type of measurement, e.g., temperature and humidity
3 The range of the reading, e.g., temperature [30 C, 60 C ]andhu-
midity [30% , 50%]
Tuples from related conditions form a table. For a complex monitoring
application, there could be multiple condition tables. The goal is to
collect sensor readings satisfying some condition predications [32]. As an
example, consider the following scenario. In a factory, three machines are
equipped with sensors for monitoring their temperatures. The condition
tuple is in the form of <MACHINEID,range,time > , indicating
the range of normal temperature on different machines in different time
slots. Table 3.2 shows a fraction of the condition table.
Table 3.2. A sample condition table
ID
Range
Time
ID
Range
Time
[50 C, 70 C ]
[20 C, 30 C ]
1
6 am 1 pm
2
6 pm 8 am
[30 C, 60 C ]
[30 C, 60 C ]
1
1 pm 7 pm
3
8 am 3 pm
[10 C, 30 C ]
[40 C, 70 C ]
1
7 pm 6 am
3
3 pm 10 am
[60 C, 70 C ]
[20 C, 40 C ]
2
8 am 6 pm
3
10 pm 8 am
Tuple < 1 , [50 C 70 C ] , 6 am
1 pm > indicates that the normal tem-
perature of the first machine varies in range < 1 , [50 C 70 C ] , 6 am
1 pm > ] during 6am-1pm. If its temperature falls outside of the range
during this time slot, it is abnormal and the system generates an event.
Following shows a typical query which returns abnormal readings over
all nodes:
Q10: SELECT a.temperature
FROM sensorAS a, condition_table AS t
WHERE a.temperature < t.min_temp
AND a.temperature > t.max_temp
AND a.nodeid = t.nodeid
The key in implementing this query is the JOIN operation that joins
the condition table and the sensor readings. If the sensor memory is large
enough for a condition table, it is straightforward to store the tables in
selected nodes, retrieve them when tuple come and perform the join.
However, it is always the case that the size of a condition table exceeds
the sensor's memory capacity. Consequently, a condition table has to be
split and stored multiple nodes. To tackle this challenge, Abadi et al.
[32] propose an algorithm based on grouping sensors and partitioning
condition tables. The idea is to horizontally partition a table and store
the partial tables in a set of sensors. Due to table partitioning and
distributed storage, a tuple t must be sent to all nodes containing the
partial tables in order to complete the join. To make this procedure
 
Search WWH ::




Custom Search