Telecommun Syst DOI 10.1007/s11235-015-9981-0

Dynamic collaborative in-network event detection in wireless sensor networks Hejun Wu · Jiannong Cao · Xiaopeng Fan

© Springer Science+Business Media New York 2015

Abstract Many applications of wireless sensor networks (WSNs) require events be detected around moving targets and delivered to a user, whose location may also change over time. Consequently, it is not desirable to have a single sensor node serving as the sink node for centralized event processing. Furthermore, an event usually occurs across different locations and lasts for a period of time that are unknown in advance. Hence it cannot be detected by a static set of sensor nodes. In this paper, we propose a general framework for such dynamic in-network event detection in WSNs. This framework enables a flexible number of sensor nodes to dynamically collaborate in detecting and delivering any specified event. So far there has been no such work reported in the literature. We have designed a protocol for the sensor nodes to autonomously determine whether they should participate in and which tasks they should perform to collaboratively process an event. We have implemented a prototype of the proposed framework using MicaZ motes and evaluated it through both simulations and experiments. The results demonstrate that our framework is effective and efficient in terms of energy cost and event processing delay.

H. Wu Department of Computer Science, School of Information Science and Technology, Sun Yat-sen University, Guangzhou, China e-mail: [email protected] J. Cao Department of Computing, Hong Kong Polytechnic University, Hong Kong, China e-mail: [email protected] X. Fan (B) Shenzhen Institutes of Advanced Technology, Chinese Academy of Sciences, Shenzhen, China e-mail: [email protected]

Keywords Wireless sensor networks · Data management · Event detection · Dynamic collaboration · Evaluation tree · Sub-event

1 Introduction Many WSN applications, such as intelligent transportation, pervasive health-care and habitat or disaster monitoring require dynamic event detection instead of static data aggregation. In these applications, events often should be detected by the sensor nodes around moving targets and information about the event occurrences should be delivered to a mobile user. Furthermore, where and when events occur are usually unknown in advance in these applications [33,35,36]. For example, a transportation system specifies the follows to its WSN: a vehicle that is running at a speed of 100 mph and specify that when such event happens, notify the vehicles within a distance of 500 feet to this vehicle. In this paper, we denote such an event in which the locations of the objects keep changing and the activities of the objects lasts for a period as a dynamic event. In comparison with a static event, a dynamic event poses three major challenges to WSNs as follows [34]. First, complexity: a dynamic event is complex in terms of a great amount of sensory data and of the long lasting time. In contrast, a static event usually requires a single time reading only to detect. Due to the large data, forwarding all sensory data to the sink for centralized event detection is not feasible. Second, mobility: the objects of a dynamic event keep moving. Due to such dynamics, each event needs a group of sensor nodes in different locations or having different sensing capabilities in a WSN to collaborate according to the event semantics and event runtime. Third, uncertainty: the occurrence area and time of a dynamic event is unknown in

123

H. Wu et al.

advance and there may be node failures occasionally. Consequently, fixing the tasks of sensor nodes will not work. To address these challenges, we propose a dynamic collaborative in-network event detection framework in this paper. It enables a variable number of nodes to dynamically collaborate in processing dynamic events. In this framework, a sensor node decides which sub-events to process considering the event semantic requirements, the results from its neighbors and its remaining energy. The results of sub-events detected by a flexible group of nodes fuse to a single result for the event. Finally, the notification of event occurrence is forwarded to the specified users directly from this group. As far as we know, our framework is the first one that addresses the problem of dynamic event detection in a WSN. Specifically, our contributions with this event detection framework are as follows. – We propose a time-series evaluation tree, that decomposes an event into a number of sub-events, and presents the temporal-spatial and other relations between the subevents of an event. Sensor nodes can use it to collaborate to detect the event. – We design an algorithm for a sensor node to locally decide what sub-events to process in adaptation to the event runtime, and other sensor nodes’ processed sub-events. We prove that the algorithm ensure an event to be correctly processed by a group of sensor nodes that are not fixed in advance. – We have implemented a prototype of this framework and evaluated the algorithms in the framework using both simulation and MicaZ motes [9]. The results demonstrated that our framework is effective and efficient for event detection in a WSN.

Given: A wireless sensor network modeled as a graph G, and an event modeled as an event tree. In the event tree the nodes are the sub-events and an weighted edge denotes the relation between the sub-events. Suppose that the event tree nodes are marked with different colors or numbers, as shown in Fig. 1, then the occurrence of an sub-event near a number of nodes in the network can be modeled as coloring the nodes in the graph. Objective: From the given graph and the event tree, find a minimum connected sub-graph. In the sub-graph, each node is marked with the colors in the event tree. The colored nodes in the sub-graph are thus forms a new tree, which equals to the event tree but with more nodes added due to the need for communication or semantic correctness. The total weight between any two colors is the same as that of the event tree. In effect, the nodes in the sub-graph collaboratively detect the event specified by the event tree. The sub-graph that detects the event in Fig. 1 is shown in Fig. 2. Constraints: The total weights on the edges between two colors in the event tree are the same as that between the two nodes with the same two colors in the sub-event tree. The color of the root of the sub-tree is the same as the color of the root of the event tree. Such that: The total number of nodes and edges of the minimum sub-tree are minimal, among all the event trees.

Fig. 1 Event tree

The remainder of this paper is organized as follows. Section 2 gives a brief overview of system model for the proposed framework. Section 3 describe the event decomposition and event tree construction. Section 4 presents the major components and mechanisms for dynamic collaborative event detection in this framework. We present the evaluation of the framework in Sect. 5 and review the techniques related to this study in Sect. 6. We finally conclude in Sect. 7.

2 Overview 2.1 Problem Generally, the problem of in-network dynamic event detection is to detect a dynamic event in a WSN such that the event detection cost in terms of energy and execution time is minimized. This problem can be formulated using a graph (WSN) and a tree (event detection tree) as follows.

123

Fig. 2 A FCST in a WSN

Dynamic collaborative in-network event detection

2.2 Proposed approach The general idea of our framework to solve the above problem of collaborative event detection is as follows. In our framework, a node first decomposes a user specified event to subevents according to the event semantics. Then it constructs a sematic tree of these sub-events and a subsequent a timeseries event detection tree with the decomposed sub-events and their relations from the semantic tree. The time-series event-detection tree for an event describes the temporalspatial relations between the sub-events of the event, since the sub-events may have strict order as defined in the events [17]. During event detection, the node dynamically determines what and how much to contribute in detecting the sub-events according to the network runtime of itself and its one-hop neighbors. A node coordinates with other nodes through receiving and transmitting the results of sub-events. Figure 3 shows an example of the snapshot of the dynamic collaborative event detection in a WSN with the proposed framework. In the network, there are often multiple sensor nodes that can detect each sub-event, e.g., sub-event 1, 2, 4, etc. Nonetheless, the sensor nodes refrain from flooding their results to their neighbors. For instance, nodes B, C, D, and E do no further transmitting or forwarding. This example demonstrates the general idea of collaboration between the sensor nodes in event detection. Sensor nodes B, C, D, and E decide not to transmit or forward when they overhear results of the same sub-events as that they have detected or received. For instance, in Fig. 3, nodes B and C are neighbors of node m as shown by the dashed circle around m; When they overhear that node m is transmitting its result to node p, they will not transmit. In addition, the sensor nodes such as node m, do not transmit to the bottom

3,4 4,5

Fig. 3 Dynamic collaborative event detection

nodes in the figure, since node m detects that these bottom nodes are not in the direction of the moving event. The sensor nodes who do not transmit may be different in different times of detection and thus the event detection tree is dynamically constructed. Note that nodes B, C, D, and E do not discard their results immediately, instead, they wait until timeout or overhear that the entire event is detected. These nodes can act as the backup nodes to transmit their results in case of packet loss and some node asks for these results. In the framework design and implementation on WSNs, there are much more factors to be considered, due to the complexity of network dynamics in real world. Next, we detail this proposed framework, with focuses on time-series subevent trees and the corresponding dynamic collaborative subevent evaluation.

3 Event tree As described in the previous section, an event tree is used as the input for event detection. In our framework, an event tree provides the sub-events to be processed by sensor nodes and formulates the relations between the sub-events of an event. Therefore, it facilitates event detection on each single sensor node and allows the collaboration between different sensor nodes in a WSN. This section first presents the event semantics and the event syntax of an event subscription for the construction of an event tree. Then, it describes the construction of the three-level event tree. 3.1 Event semantics We describe the semantics of the data of the objects and activities in an event using the traditional E-R model (EntityRelation model), since it is simple and suitable for the relations in events. The objects are modeled as entities; their properties are the attributes; and the relations between the objects are modeled as the connection between the entities. For example, Fig. 4 shows the E-R model of the entities in the health care applications. In implementation, such entities, attributes and relations are stored in the system catalog of our framework prototype. The above E-R model does not model activities of the objects in an event. To enable the sensor nodes to detect the activities, we also model an activity as an entity with a set of attributes. For example, the activity of a people walking is modeled as an entity of Walk. The attributes of this Walk entity are: speed, direction, track, start_loc (start point of this walking), and end_loc (end point of this walking), etc. This activity is modeled in Fig. 5. For a series of activities with relations, their relations can be modeled using E-R model similar to those relations between different objects.

123

H. Wu et al. Fig. 4 Object data model

did

mobility

Device

gender

Fig. 5 Activity data model

pid

shape

size

location

Room

Works_in

Patient

pid

rid

function

Lives_in

disease

weight

gender

disease

Patient

since

time_diff

loc_diff ST

Sleep location

to

time_diff Walk

level

loc_diff Take_medicine

ST type

speed

In comparison with the attributes in traditional databases, the attributes of activities have the following two features: (1) attribute value changes - the attribute values of an entity in databases are relatively stable whereas those of an activity may keep changing. (2) multiple sensor readings The attributes of an object, e.g, ID, weight, etc. are usually detected by a single node by one time reading. In contrast, the attributes of an activity may need a period of readings from several sensor nodes, since an activity usually lasts a period of time and moves across different locations. Due to the above differences, it needs special mechanisms to acquire the attributes of activities. Firstly, since an event is a concept of a time period, the attribute values should be valid within such an event valid time period. Secondly, within the valid time period, a number of attribute values should be acquired for each activity attribute, as the attribute values keep changing. A simple way is to acquire the values periodically and the time spans between any two attribute values are the same. The time span between two attribute values is defined as the granularity of the attribute value. Alternatively, within the event valid time period, record only the characteristic attribute values and their time stamps, e.g., the inflexion points of the attribute values. Thirdly, metadata about how to calculate the value of the attribute should be defined for

123

Performs

track

start_loc

dose

end_loc

end_loc

the activity attributes that need the sensory data of several nodes. In implementation, the metadata about the granularity, inflexion points, functions for calculating the attribute are stored in the system catalog of our framework. The valid time period is given in the event specification and the default valid time period is infinite time. With the semantic description, in our framework, an event can be formulated as shown in (1). It extends the composite event formulation in active databases [28,32], considering the resource limitation in WSNs. In (1), an event, E, is formulated as a 3-tuple: E = {F, P, R}

(1)

where F = {F1 , F2 , ..., Fn } is a set of the attributes describing the physical features of the event, e.g., the speed of a vehicle, P = {P1 , P2 , ..., Pk } is a set of predicates, and R = {R1 , R2 , ..., Rk } is a set of relations between the predicates. An item Pi in the P is also a 3-tuple: Pi = {α, ⊕i , υ}

(2)

where α is an attribute, ⊕i is an operator on the attribute (⊕i ∈ ⊕, ⊕ = {<, >, =, ≤, ≥}). υ is the value operand for the operator. Finally, an element R j in R is a five tuple:

Dynamic collaborative in-network event detection

R j = {η,  j , ζ, T j , S j }.

(3)

where η, ζ ∈ R or ∈ P;  is an operator on η and ζ ; i ∈ ,  = {¬ (without), ∨ (or), ∧ (and), (followed by), ≺ (before), ∼ (simultaneous)}; and T j and S j the temporal and spatial constraints on R j . In this event formulation, the embedded primitive events defined in a traditional composite event are broken up to attributes, predicates, and relations according to the event schema in the system catalog. This way, an event is easier to process on a resource limited sensor node than in active databases. 3.2 Event subscription and notification The above describes the data and formulation of an event inside our framework. To allow a user to tell what event he/she wants to detect and to get the event data, we also need event subscriptions and notifications. In our framework, these two data types are similar to those in traditional event publish/subscribe paradigms, especially in mobile environments [22]. An event subscription is a specification about the event to be processed. Firstly, it specifies the valid period, the names of attributes, the relations between the attributes, and the predicates on the attributes of the event. Secondly, an event subscription lists which destination nodes to notify when the event happens. Finally, an event subscription tells what actuation will be taken when the event occurs. For instance, the following is an actuation in an event subscription: UPON event eid, START collision-avoidance. At the current stage, our framework adopts and enhances TinySQL (Tiny Structured Query Language, used in TinyDB [23]) for a user to express the event subscription. The following are the major changes to TinySQL in our framework: (1) The clause SELECT is changed to the clause REPORT. This is because SELECT is used to describe the operation of searching an existing table, but REPORT can be used to describe the operation of notifying the event occurrences. (2) Includes a set of spatio-temporal connectors to describe the relation between sub-events. The connectors can be “followed by”, “before”, “within”, and “simultaneous”. (3) Adds a few keywords such as “upon”, “start”, “switch”, etc. to support event actuation. (4) Supports dynamic adding of new event attributes and actuation functions that the system catalog does not define. This is implemented through disseminating the definition of the new attributes and functions to the sensor nodes together with the event subscription that use these new attributes and functions. The above new clauses, connectors and keywords are listed in Table 5 of the Appendix section. The following gives an event subscription, Evt1. Using normal language, Evt1 can be denoted as Report the lane,

direction and speed of eastward moving vehicles on road #1, within 10 s, to the westward moving vehicles that are within a distance of 1000 feet on the road. Evt1 specifies that the event valid period is within 10 s after the event occurrence. Evt1 : REPORT v1.lane, v1.direction, v1.speed FROM vehicles v1 WHERE v1.direction = eastward AND v1.road = 1 TO vehicles v2 WHERE dist (v1.loc, v2.loc) < 1000 m WITHIN 10 s

An event notification, on the other hand, is the result of event detection for the subscribed event. It includes the attribute values and the spatio-temporal properties, e.g, time stamps, locations, valid time period or location ranges of these values. 3.3 Three-level sub-events An event tree is constructed through event decomposition. An event is decomposed to three levels of sub-events: multiattribute sub-event, single attribute sub-event and partial attribute sub-event. A multiple attribute sub-event includes the attributes that have relations between the predicates on these attributes. A single attribute sub-event is a sub-event with a single attribute of the original event. The partial attribute sub-event is an event whose attribute is not in the original event, but the attribute is needed to deduce the value of the original event. The partial attribute sub-event is needed when a single attribute event cannot be processed by a single node. For example, suppose the attribute speed of a vehicle needs the information of the vehicle detecting times and locations on two nodes. These detecting time and location are called partial attributes. In our framework, the rules for how to decompose an attribute to several partial attributes are defined and maintained in the system catalog, similar to that in traditional databases. In addition to the above three levels of sub-events, there is often an extra sub-event for a certain sub-event, called a co-event of the sub-event. The co-event of a sub-event is a special sub-event that always occurs together with the subevent, but its attributes do not appear in the event subscription of the original event. It is needed in event detection as a flag to verify or to drive the detection of the sub-event to ensure that the event detected through cooperative sub-event detection is correct. It is appended into the set of sub-events during event decomposition. The co-event and its relation with other subevents are also defined in the system catalog. An example of a co-event is shown in the event tree example of the next sub-section.

123

H. Wu et al. Evt1 V

We design an algorithm as shown in Algorithm 3.3 to decompose an event. The algorithm first decomposes an event to multiple-attribute sub-events to keep the relation between the attributes. Second, the multiple attribute sub-events are further decomposed to single attribute sub-events. Third, the single attribute sub-events are decomposed to partial attribute sub-events according to the rules in the system catalog (e.g., E i . f. p f j in Line 18 is a partial attribute). Finally, the coevents of the sub-events are appended. The examples of these sub-events will be illustrated together with the time-series event tree next.

speed> 0 direction = eastward Level 1:

Speed, Direction

Speed

Direction T0 < T1

Level 3:

...

With the previous decomposed sub-events, our framework builds a time-series event tree. A time-series event tree is a tree of an event in which the sub-events of the event are the tree nodes and the edges between the nodes denote their composition relations. The time-series is to describe the timing order relation between a sub-event and its co-event. In the following, we show the time-series event tree of the example event, Evt1 (see Sect. 3.2). First, a sensor node decomposes Evt1 to three levels of sub-events and co-events. Second, the sensor node create the root node of the event tree, which is the event itself. Third, the sensor node recursively constructs a tree by inserting the sub-events as the children node of the current tree node. Finally, the co-events of the sub-events are appended as sep-

123

Lane Vehicle

Vid

T0 < T1

T < Th

Vid0 = Vid1

Sensor readings k

Event Decomposition Input E = {F, P, R}; Output A set of n sub-events: {E s }, 0 < s ≤ n; 1: n = 0, i = 1; 2: /* decompose E to sub-events, each of which has multiple attributes*/ 3: while |E.F| > 0 do 4: Fi = closur e(E.F. f i ); /*Fi is the set of attributes*/ 5: E i = {Fi , {Pi }, Ri }; /*E i is a sub-event with multiple attributes* 6: E.F = E.F − Fi ; 7: n = n + 1, i = i + 1; 8: end while 9: /* decompose E i to single attribute sub-events*/ 10: for each multiple attribute sub-event E i do 11: for j = 1 to |E i .Fi | do 12: n = n + 1, E n = {{E i .Fi j }, φ, φ}; 13: end for 14: end for 15: /* decompose to partial attribute sub-events*/ 16: for each single attribute event E i do 17: if E i . f is not detectable by a single node then 18: for j = 1 to E i . f.num Par tial Attr s do 19: n = n + 1, E n = {{E i . f. p f j }, φ, φ}; 20: end for 21: end if 22: end for 23: for each sub-event E i do 24: if E i requires a co-event E k and E k ∈ / {E i } then 25: n = n + 1, E n = E k ; 26: end if 27: end for

direction = eastward

speed> 0 Level 2:

Location0 , T0 Location1, T1

Vid0

Vid1

Sensor readings

...

m

Fig. 6 Event tree of Evt1

arate nodes to the tree with their relations denoted by timeseries lines. The constructed time-series event tree of Evt1 is shown in Fig. 6. In Fig. 6, the single attribute sub-events with attributes of Dir ection and V id are composed of partial attribute subevents on two different sensor nodes, denoted as 0 and 1. The event with the attribute Vehicle is the co-event of the sub-events with attributes Speed, Location 1 , Direction, and V id1 . The arrow line from the tree node Vehicle to other tree nodes denotes their timing constraint (T < T h means that the delay after Vehicle to them should be less than T h). In summary, an event tree has three levels and the subevent denoted by each tree node is in effect the color in the problem formulation. Next, we discuss how to paint the colors to sensor nodes (i.e., to process the sub-events by the sensor nodes) and construct a full colored event tree with the colored sensor nodes.

4 Dynamic collaborative event detection With the three level event tree, In this subsection, we first describe the sub-event evaluation tree, which is the basic structure in Dynamic Collaboration Protocol (DCP) of our framework. A sub-event evaluation tree can be seen as a subtree of a full colored sub-tree. We then present the details of dynamic collaboration in event detection through dynamically maintaining a sub-event evaluation tree. 4.1 Sub-event evaluation tree Given a time-series event tree, DCP needs to construct an event evaluation plan on each sensor node. This event evaluation plan specifies how to detect and notify the sub-events in the time-series event tree on the sensor node. Similar to traditional databases, DCP uses a tree, called sub-event evaluation tree, to denote the plan.

Dynamic collaborative in-network event detection

Although both are using evaluation tree, there are three major differences between a sub-event evaluation plan/tree (EP) in DCP and a query evaluation plan/tree (QP) in databases as follows. (1) An EP defines the timing and locations of an operator so that the spatio-temporal relations between the sub-events are reserved in event detection, whereas a QP does not. (2) The operators in an EP are on the sub-events with partial or single attributes of an event. However, the operator of QP is on a tuple with all attributes in a table. Apparently, such operator in an EP is more suitable for the energy efficiency in event detection. (3) An EP specifies the time series between two operators when their corresponding sub-events have strict temporal order and a traditional QP does not have such a time-series information. In a sub-event evaluation tree, each sub-event resulted from the event decomposition is to be processed by an event operator. An event operator is a function unit in event evaluation. There are totally six types of operators in our framework: sensing, extracting, filtering, aggregating, assembling, receiving, and notifying as follows. Among these operators, the sensing and extracting operators are to get the data for the attributes in the sub-events. A sensing operator is to sample one of the current physical characteristics of a target using a sensing device on a sensor node. Hence, there are usually a series of different sensing operators for sampling the data from the different sensing devices. An extracting operator extracts the physical characteristics from the sensory data pattern of the target. The implementation of an extracting operator may need to be updated from time to time, when there are new patterns to be detected. Such operator update operation can be done by using a dynamic link module that updates software components via wireless communication [3,13]. The remaining operators are to process the attributes of the sub-events. A filtering operator removes the unwanted data during event detection and finally checks whether the user registered event occurs when all data are ready. An aggregating operator summarizes the data in several events and generates one event that describes the summary of these events. An assembling operator performs packs the needed data to detect a multiple attribute sub-event. A receiving operator is for a sensor node to receive the notifications of sub-events or events from its neighbors. Finally, a notifying operator is to send the message that indicates some sub-events of the event are detected. Figure 7 shows the operators and the event evaluation plan in an example sub-event evaluation tree on a node in processing Evt1. It can be seen that the sub-event evaluation tree is similar to the time-series event evaluation tree except that the tree nodes are operators in the former and sub-events in the latter. The details of how to choose the sub-events, build and maintain such a tree will be presented next.

k

m

Fig. 7 Example sub-event evaluation tree

4.2 Dynamic event evaluation DCP uses a sematic-energy-spatial-temporal (SEST) correlation factor to dynamically make decisions about what subevents to process on each node. The purpose of the SEST factor is to reduce the energy waste of duplicate processing on different sensor nodes and to balance the workload of the sensor nodes. The SEST factor is dynamically adjusted in adaptation to sub-event occurrences and the other nodes’ runtime processing status. After the sub-events to be detected are determined, the event detector schedules the event operators to acquire the data for the attributes. For the attributes that need the data from other sensor nodes, the event detector either sends out or receive the results of sub-events to collaboratively detect the higher level subevents. Then, the event assembler collects all the results of sub-events and assembles them to get a complete event notification. Initially, the SEST values of all sub-events are set to 0. Then the SEST factors are adjusted at runtime so that a sensor node is able to collaborate with other nodes in adaptation with the event and network dynamics. Algorithm 4.2 shows how to adjust the SEST factor.

SEST Factor Dynamic Adjustment Input E = {F, P, R}; Output the new SEST values; 1: for each sub-event E i , 0 < i ≤ E.num SubEvents do 2: if E i is already processed then 3: E i .S E ST = 0; 4: break; 5: end if 6: if E i .inputsubevents are ready then 7: E i .S E ST = E i .weight; 8: end if 9: end for

123

H. Wu et al.

In Algorithm 4.2, e.weight is determined on each node using Eq. (4). The parameters in the equation are as follows: κ is the number of the current neighboring nodes that can detect the sub-event;  is the ratio of the remaining energy to the total energy on the node; Among the parameters, κ is initialized by the neighbor table and is updated dynamically. Both γ and κ are set to 1 if there is no clue to the event occurring location. 

× (1 + ) κ > 1 e.weight = 1 κ≤1 1 κ

(4)

In the end of the algorithm, the SEST factors of the subevents that have been invalid or have been detected are all set to 0. The sub-events with SEST values of 0 will not be included in the sub-event evaluation tree and thus they will not be detected by the node to avoid energy waste(Line 5). To achieve load balancing, the non-zero SEST value of a subevent is used to determine the duty cycle for detecting the sub-event. For low computation complexity, Eq. (5) is used for a sensor node to calculate a level of duty cycle among 10 levels of duty cycles. In the Equation, Cm is the minimum duty cycle, Cu the unit duty cycle. As a result of the equation, two time-synchronized sensor nodes in a WSN will detect at different cycles, which helps reducing the energy waste from duplicate processing. C = Cm + Cu × S E ST /0.1

(5)

Algorithm 4.2 is run both periodically and upon receiving updates from neighbors for dynamic adjustment. The interval between two runnings of the algorithm is set to be the minimum interval for detecting a sub-event in our framework. This ensures that the SEST factors keep the pace of the dynamics of sub-events. Since the algorithm is simple, its cost is at the level of micro-seconds and thus the overhead is negligible. Theorem 1 Suppose that there are no packet loss and the sensor nodes in a WSN can detect an event, Algorithm 4.2 ensure the event to be detected by a subset of the sensor nodes in the WSN. Proof We prove by contradiction. We suppose that there is a sub-event of an event is not detected in the WSN. Then there must exist a node that all of its neighbors did not detect the sub-event; otherwise, the sub-event should have been detected. As algorithm 4.2 will update the SEST value of the sub-event on this node when the neighbors did not detect the sub-event, the SEST value of the sub-event on this node will be 1. Consequently, the node will definitely detect the sub-event. This cause contradicts with the result.  

123

Theorem 2 Suppose that the packet loss rate is q and a subevent of an event can be detected by κ (κ > 1) nodes, then Algorithm 4.2 ensures each sub-event to be detected with a probability greater than 1 − q κ−1 , Proof The probability of κ − 1 nodes that do not detect the sub-event is: (1 −

1 +  κ−1 ) κ

(6)

The probability of losing the packet which indicates the (κ − 1) nodes do not detect the sub-event is: q κ−1

(7)

Since Eqs. (6) and (7) are independent, the probability of the κ-th node does not detect the sub-event is: (q κ−1 ) × ((1 −

1 +  κ−1 ) ) κ

(8)

Therefore, the probability of detecting a sub-event on the last node among the κ nodes is: 1 − (q κ−1 ) × ((1 −

1 +  κ−1 ) ) κ

(9)

κ−1 < 1, the probability of detecting a subSince (1 − 1+ κ )   event is greater than 1 − q κ−1 .

4.3 Dynamic collaboration in sub-event evaluation A sensor node creates and maintains a sub-event evaluation tree using Algorithm 4.3 to keep dynamic collaboration with other sensor nodes. The input of Algorithm 4.3 is the timeseries event tree. Initially, the sub-event evaluation tree is composed of a new notification operator and a new assembling operator that takes inputs from the operators processing the sub-events. Then, the algorithm picks out the sub-events with SEST >0 and inserts the operators, which process these sub-events, into the sub-event evaluation tree. Here we still use Evt1 as the example event to illustrate how to build a sub-event evaluation tree on a sensor node. Suppose there is a sensor node, x, among a number of sensor nodes that received the event subscription. Node x first uses Algorithm 4.2 to calculate the SEST values of the sub-events. Then, it runs Algorithm 4.3 to build up a sub-event evaluation tree with the operators to detect the sub-events with SEST >0. As shown in Fig. 8, node x initially determines to detect the sub-events that do not need the result of detected subevents from other nodes, since their SEST values are 0. The other sensor nodes that received the event subscription build the same sub-event evaluation tree as node x at this stage. The difference among these nodes is the SEST value of each

Dynamic collaborative in-network event detection Sub-Event Evaluation Tree Construction & Maintenance Input Time-series event tree E T ; Output Sub-event evaluation tree ST 1: if isInitialState() then 2: {E s } = sub-events with SEST > 0 3: ST.root = new(notifyOp), curNode = new(assembleOp); 4: Insert curNode as a child to ST.root; 5: end if 6: while Event is not detected do 7: for each E k that the sensor node has received notification from neighbors do 8: update E k .S E ST using Algorithm 4.2; 9: update {E s }; /*insert the sub-events with SEST > 0.*/ 10: end for 11: for each E i , E i ∈ {E s } and E i .S E ST = 0 do 12: remove the sub-tree of E i .n i in ST; 13: end for 14: for E i ∈ {E s } do 15: /*E T.E i .n i is an operator node that processes E i */ 16: {E s } = {E s } − E i ; 17: Recursively for each operator E T.E j in the subtree of E i : insert DT.E j .n j as the child of CurNode, copy the triggers and the relations between the nodes in the sub-tree to the operator nodes, and {E s } = {E s } − E T.E j ; 18: end for 19: end while

Time stamp Location Vid, Lane

Time stamp Vid

Lane

Vehicle T < Th

...

5 Evaluation To evaluate the proposed protocol (DCP) for dynamic collaborative event detection, we implemented a prototype of our framework in nesC language [12] on top of TinyOS [19]. The code size and memory size of the prototype were about 27 and 3.7 KB, respectively. We first compared the performance of DCP with other two baseline event detection protocols on TOSSIM [18]. Then we measured the time and energy cost, and the event detection accuracy of our framework on a MicaZ WSN. 5.1 Simulation on TOSSIM

Location

k

and sub-event evaluation tree enables the sensor nodes to collaboratively detect an event with few duplicated tasks and without frequent communication. The process is the same when there are multiple events in a WSN. The difference is that multiple events may share the same operators to detect the same sub-events, e.g., lane or speed, in the intelligent transportation application. Processing of events in other applications using our framework is similar except that the extracting operators may need to be updated to support more patterns.

... m

Fig. 8 Sub-event evaluation tree on x

sub-event, which results in different duty cycles on the sensor nodes. Suppose node x first detected the sub-events in its subevent evaluation tree and notified its neighboring nodes. The neighboring nodes then adjust the SEST values of the detected sub-events to 0, which means that they will no longer detect these sub-events. Subsequently, their sub-event evaluation tree will be changed correspondingly. Suppose node y is such a neighbor node of node x. Figure 7 in the previous sub-section gives the sub-event evaluation tree on node y. In the sub-event evaluation tree of node y, the receiving operators provide inputs from node x to the extracting operators for node y to detect the speed and direction of the vehicle. In DCP, the SEST factor allows the sensor nodes detect with different duty cycles. The dynamic adjustment of SEST

On TOSSIM, we compared our protocol with two baseline event detection protocols, naïve and threshold-based in processing Evt1. The naïve protocol makes all nodes send back their raw magnetic sensory data [15] to a stationery server, where the events are detected and notified to the users. The stationery server is especially for these two base-line protocols and our framework does not use it. The thresholdbased protocol uses four levels of thresholds on the sensory data values to report the data exceeding the threshold values to the central server. The values of the four threshold levels for the magnetic data are as follows: 10, 30, 50, and 70, since these levels represent the entire range of the magnetic sensory data values in monitoring vehicles, according to our experiences with MicaZ WSNs on roads. The baseline protocols and DCP in our framework were run on two types of simulated sensor networks: (1) single hop and (2) multi-hop, as shown in Table 1. In the single hop networks, all of the nodes could communicate with its neighbors. In the 5-node multi-hop network, the nodes were deployed as a line with a distance of 20 feet. In the 400-node network, the nodes were deployed into 20 ×20 grids with the grid distance of 20 feet (The transmission range is set to 25 feet in simulation). In the implementation of the naïve and the threshold-based protocols, we used the method proposed by Sharp et al. [30] for these two protocols to construct a spanning tree to forward the data packets to the server.

123

H. Wu et al. Table 1 Network configurations in simulation Type

Small scale

Large scale

Single hop

2

N/A

Multi-hop

5

400

The source sensory data set for the input of TOSSIM were the magnetic sensor readings of vehicles collected from a road. The parameters of the vehicle density was controllable by adjusting the time interval between the vehicle data. In the experiments, we tested five levels of vehicle densities: from one vehicle per 10 s to one vehicle per 2 s on the road. The performance metrics of the protocols evaluated using TOSSIM are as follows: (1) The correctness of event detection, which is defined using the event detection error rate: number of wrong event detections/number of events happened;(2) the event detection delay that is defined as the interval from the time when an event happens to the time the event is detected; and (3)the communication overhead during event detection in terms of the communication traffic. The event detection error rate of each protocol on the two networks are shown in Fig. 9. As can be seen in the results from the single-hop and small scale multi-hop networks in this figure, our event detection protocol correctly detected all of the events. The results also show that the other two paradigms worked fine in the two-node single hop network but they got much worse results in the multi-hop network. The reason is that there were heavy collisions in the multihop network running the other two protocols, which kept sending raw or filtered sensory data back to the server. Moreover, Fig. 9 shows that the threshold-based protocol with certain threshold values (50, 70) were not stable when the vehicle arriving rate changed. The reason is that the magnetic value slightly changed when the vehicle arriving rate changed. The change of magnetic value is not proportional

to the change of the vehicle arriving rate. Due to this change, the abnormal value caused by a vehicle might not exceed the threshold. Therefore, the error rate fluctuated in this protocol. The event detection delay of the protocols are shown in Fig. 10. The first part of this figure demonstrates that in the single-hop network our protocol performed the best. The second half shows that our protocol also significantly outperformed the other two protocols in the small scale multi-hop network. These result show the benefit of cooperative event detection, which significantly reduces the delay in communication, since it does not need to transmit all sensory data to a central server. In addition, Fig. 10 shows that the delay of the multi-hop network was longer than that of the single-hop network. This is because the traffic in the multi-hop network was much heavier than that in the single-hop network. However, the delay of our protocol had no noticeable increase, due to the cooperative event detection among nodes in different hops. The communication traffic during event detection is described using the number of data packets in the networks running the protocols. The results of three protocols are shown in Fig. 11. As shown in this figure, the overhead of our protocol was the lowest and that of the naïve method was the highest. The reason is apparent: the apparent: the protocol in our protocol saved much traffic by cooperative event detection, which required only one packet from each node. In contrast, the other two methods require the nodes to send numerous of data packets to the server for it to get the data from all nodes for event detection. We evaluated the event detection delay of the three protocols in the 400-node network on TOSSIM. As shown in Fig. 12, the delay of our protocol was still the shortest. This demonstrates that the naïve and the threshold-based protocols do not scale, since their communication traffic tremendously increases when the hop count grows and most transmissions fail. 0.8

0.6 Naive Threshold(th=10) Threshold(th=30) Threshold(th=50) Threshold(th=70) iTranSNet

0.4

0.2

0 1/10

1/8 1/6 1/4 Average vehicle arriving rate (#vehicles/s)

single-hop Fig. 9 Event detection error rates

123

1/2

Event detection error rate

Event detection error rate

0.8

0.6 Naive Threshold(th=10) Threshold(th=30) Threshold(th=50) Threshold(th=70) iTranSNet

0.4

0.2

0 1/10

1/8 1/6 1/4 Average vehicle arriving rate (#vehicles/s)

multi-hop

1/2

Dynamic collaborative in-network event detection

1200

Naive Threshold(th=10) Threshold(th=30) Threshold(th=50) Threshold(th=70) iTranSNet

600 500

Event detection delay(ms)

Event detection delay(ms)

700

400 300 200 100 1/10

1/8 1/6 1/4 Average vehicle arriving rate (#vehicles/s)

Naive Threshold(th=10) Threshold(th=30) Threshold(th=50) Threshold(t=70) iTranSNet

1000 800 600 400 200 1/10

1/2

1/8 1/6 1/4 Average vehicle arriving rate (#vehicles/s)

1/2

multi-hop

single-hop Fig. 10 Event detection delay

4

4

x 10

Naive Threshold(th=10) Threshold(th=30) Threshold(th=50) Threshold(th=70) iTranSNet

Total traffic

5 4 3 2 1

6

x 10

5

Total traffic

6

Naive Threshold(th=10) Threshold(th=30) Threshold(th=50) Threshold(th=70) iTranSNet

4 3 2 1

0 1/10

1/8

1/6

1/4

1/2

Average vehicle arriving rate (#vehicles/s) single-hop

0 1/10

1/8

1/6

1/4

1/2

Average vehicle arriving rate (#vehicles/s) multi-hop

Fig. 11 Communication traffic in event detection 800

5.2 Experiments on MicaZ motes

Event detection delay(ms)

700 600 500 400 300 200 100 0

Naive

th=30

th=50

Fig. 12 Delay in the 400-node network

th=70

DCP

In the experiment with MicaZ motes, a vehicle was attached with a MicaZ mote to receive the event notifications. There were also sensor motes evenly distributed the roads to provide the location information. We used 20 MicaZ motes with MicaSb [9] sensor boards in the experiments with WSNs on road sides to run the three protocols to process Evt1. Among these 20 motes, there were 9 sensor motes with HMC1002 magnetic sensors [15] and the remaining 11 motes without sensors. The 9 sensor motes were used to monitor the location and speed of a vehicle. The 11 motes are called wireless motes and they were used for forwarding the event notifications originated from the magnetic sensor motes to the destination nodes.

123

H. Wu et al. Table 2 Time costs of operators (ms) Name

Sensing

Extracting

Assembling

Notifying

Cost

3

1

3

6

Table 3 Energy costs of operators (mJ)

Fig. 13 The WSN with 20 MicaZ motes

The network deployment for detecting the event is shown in Fig. 13 and the real road deployment is shown in Fig. 14. In this network, by controlling the transmission range, the maximum hop count in the WSN was adjusted to 14. This number of hops could support a long distance of multi-hop communication to satisfy requirements from most transportation applications, when the transmission range is long (e.g., 300 feet in a general 802.11b wireless transceiver). We also tested the event notifications to a moving vehicle with a MicaZ mote, as shown in the right part of this figure. With the MicaZ WSN, we first measured the time and energy costs of our protocol operators on the MicaZ motes. Table 2 shows the time costs of the common operators. The extracting operators we tested include the vehicle, speed, and lane. The processing times of them were all close to 1 millisecond (ms). The energy cost of an operator is computed by W = U I t, where U is the voltage, I the electric current, and t the time cost of the operator. We measured that on a MicaZ sensor mote, the electric current in magnetic sensing was about 0.0281 A and in computation was about 0.0248 A, when its radio was on for receiving and the voltage was about 3 V. The energy consumption of an extracting operator was thus Fig. 14 Real road deployment

123

Name

Sensing

Extracting

Assembling

Notifying

Cost

0.245

0.074

0.223

0.396

3 v× 0.0248 A × 1 ms = 0.0744 mJ. The electric current of a MicaZ mote in receiving and transmitting were about 0.0248 and 0.0220 A [9], respectively. Correspondingly, the energy costs of an assembling operator, which needs receiving and an notifying operator, which needs transmitting are calculated as shown in Table 3. We then ran our protocol to detect the events and notify the detected events to the motes on the roadside and in the vehicle as shown in Fig. 15. This figure shows the snapshot when the network accurately detected two events about two vehicles at the same time. Also, the event notifications were reliably received in the vehicle, as shown in the bottom left corner of Fig. 15. The bottom right corner of this figure shows a simple GUI of our framework. We compared our protocol with a Static protocol that fixed two nodes to detect the event. This Static protocol used the same decomposition, detection and notification modules as those in our protocol. In the experiment, event detection/notification rates are defined as the ratios between the number of correct detections/notifications and the number of event occurences/notifications. The experiments were performed 30 times. As shown in Table 4, the Static protocol often failed to detect events but DCP did not. This shows the advantages of dynamic collaboration in our protocol on real motes. The notification rates of them are the same after event is detected, since they are using the same type of motes and networking protocols. Finally, we performed experiments on more complex events and the actuation upon these events on our mobile

Dynamic collaborative in-network event detection

Fig. 16 Event detection on the testbed

the two pictures of Fig. 16. The left picture shows that the two model cars (one is blue, the other is red) received event notification from each other and coordinating to avoid collision. The right figure shows that the vertical approach where the blue car is running is adjusted to green, since there are no cars on the other horizontal approach. We have taken videos of the demo on processing such events and performing the actuation operations. The demos can be downloaded on our project website.

6 Related work

Fig. 15 Event notifications Table 4 Reliability test Detection rate (%)

Notification rate (%)

DCP

100

93

Static

73

93

WSN and transportation testbed. The event we tested is shown in Evt2. The actuation operations on the testbed we performed are shown in Act1 and Act2. Evt2 : REPORT v1.lane, v1.direction, v1.speed FROM vehicles v1, intersections t1 WHERE dist (v1.loc, t1.loc) < 20 TO vehicles v2, WHERE dist (v1.loc, v2.loc) < 40 Act1 : Upon Evt2 start collision_avoidance(Evt2) Act2 : Upon Evt2 start light_control(Evt2)

The snapshot of the WSN processing the event and performing the actuation operation on the testbed are shown in

First of all, in-network query processing in WSNs is a closely related topic to this study. In these query processing systems, event detection is realized through periodic queries. For instance, Yao et al. proposed a sensor database for the threshold-based event detection in their Cougar system[31]. Madden et al. appended event triggers to sensor queries in their acquisitional sensor query processor, TinyDB [23], to enable the interrupt-style of event detection. In such systems, when the defined triggering event happens, the sensor nodes report their sensory data to the sink node. These early query processing techniques are not suitable for the new complex dynamic events defined in this paper. The reason is that such events usually last a period of time but the query processors only check each snapshot data item within a sampling interval on a node. Middleware paradigms are also proposed for in-network event detection in WSNs [20,26,27]. For instance, the EnviroTrack system [1] is a middleware system that provides a convenient interface for application programmers in object tracking. DSWare [20] is an event pub/usb middleware system. In DSWare, there are two types of events, atomic and compound events. An atomic event is one that can be detected by one time sensor reading while a compound event is composed of several atomic events. The existing middleware cannot be applied to dynamic events, either, as they do not support the dynamic collaboration among nodes required by the moving and lasting events.

123

H. Wu et al.

Recently, there have been a trend to address the dynamics in event detection in WSNs through routing and clustering protocols [7,8,25]. For instance, Nakamura et al. proposed a dynamic routing protocol for event detection in WSNs [25]. In their protocol, the sensor nodes are dynamically and reactively assigned with roles in routing according to the detected events. Hubbel et al. present an event detection protocol, DRAGON [16], to deal with point events and region events, especially region events with dynamic identities. Fan et al. propose an approach that uses the structureless technique to dynamically forward a packet on one of the multiple shortest path trees [10]. The lasting period, time series, and the relations between activities in an dynamic event remain untouched. Object tracking is also a related topic to dynamic event detection, since the object usually keeps moving and a group of sensor nodes are to localize the object [7,14,21]. Since the object tracking algorithms only detect the location, it can be regarded as a special event. The mechanisms such as updating and clustering in these algorithms may be adopted to event detection. The object tracking algorithms do not consider event syntax, semantics, sub-events and their relations which are needed in event detection. The caching, transmitting, and scheduling schemes recently proposed for WSNs also provide helpful guidance in processing dynamic events. For instance, the data caching for query evaluation tree proposed by Cai et al., reduce the latency and energy consumption of query processing in WSNs [4]. An et al. present a protocol for collecting the data from multiple source nodes considering the node significance and the number of nodes involved [2]. The energy and time efficient techniques proposed in these studies are useful in designing and implementing our framework. Additionally, the work by Marta et al. that investigates scheduling support for processing composite events in WSNs [24] is related. This scheduling approach can be adopted in event detection for efficient collaboration. The study of composite event [5] detection in the active database field is also helpful to our study. In general, composite events are defined as patterns of primitive events, which are in turn, observations from outside of the event system [28]. Most events in WSN applications are essentially composite events in that they are composed of a number of primitive events detectable by different sensing devices of a sensor node. Nonetheless, there are quite a few events in WSN applications similar to the primitive events in active databases, but cannot be detected by a single sensor node. Researchers in the active database community have proposed a number of methods to decompose and detect the composite events. For instance, Gatziu et al. used PertiNet to detect the composite events in the SAMOS database [11]. Chakravarthy et al. used a graph to denote the relations of the primitive events of a composite event [6]. Pietzuch et al. pro-

123

posed an easily decomposable event definition language and used Finite State Automata (FSA) to detect the decomposed sub-events in a distributed system [28,29]. The decomposition and detection of the composite events for active databases are rather complex for a resource limited sensor node. The decomposition and detection in these systems are all done on a powerful central server, which may not exist in WSNs. From these existing studies, it can be inferred that the techniques in active databases, query processing systems and middleware in WSNs provide useful techniques to event detection in WSNs. The dynamic clustering, routing techniques give the networking support to our framework for dynamic event detection. The problems of how to dynamically detect an event on non-fixed groups of nodes, adapt processing flows to the event runtime on each detecting node, and keep the relations among the sub-events on different nodes were not investigated in the previous studies. Our work is the initial attempt to address the problems.

7 Conclusion and future work In this paper, we have presented a dynamic collaboration event detection framework for WSN applications with dynamic events. This framework enables the time-series collaboration between nodes in event detection via exploring the temporal-spatial and semantic relations of the sensory data in a WSN. The framework processes events without the existence of a sink node in a WSN and delivers the event notifications to wherever destination nodes are. Moreover, the experiments show that such cooperative event detection reduces both the energy and time costs in a WSN in comparison with the previous work. Our framework allows a sensor node to dynamically decide its role based on event semantics, the available energy and the received notifications from neighbors at runtime. This way, the sensor node does not need to fix its tasks and its group in advance. This brings the benefit of reliability and flexibility in event detection, which are significant in an environment that are often obsessed by noises and hardware failures. Our experimental results with various parameters and network deployments demonstrate the efficiency, reliability and scalability of our proposed approach. The results from MicaZ motes also show that our framework is practical. In the near future, we would like to study the optimization of event evaluation and notification in our framework. Acknowledgments This research is partially supported by the Major Project of Chinese National Programs for Fundamental Research and Development (No. 2015CB352400), the National Natural Science Foundation of China (No. 61202416), Shenzhen Overseas HighCaliber Personnel Innovation Funds (No. KQCX20140521115045446),

Dynamic collaborative in-network event detection and Shenzhen Strategic Emerging Industry Development Funds (No. JCYJ20120615130218295). 12.

8 Appendix

13.

Table 5 New clauses for event detection Name

Usage

report ... to ...

report evt to dst

followed by

evt1 followed by evt2 [time]

within

evt1 within evt2

simultaneous

evt1 simultaneous evt2

upon

upon evt1

start

s start dev1

switch ... to...

switch dev2 to state3

14.

15. 16.

17.

18.

References 1. Abdelzaher, T., Blum, B., Cao, Q., Chen, Y., Evans, D., George, J., George, S., Gu, L., He, T., Krishnamurthy, S., Luo, L., Son, S., Stankovic, J., Stoleru, R., & Wood, A. (2004). Envirotrack: Towards an environmental computing paradigm for distributed sensor networks. ICDCS. 2. An, W., Lin, J., Luo, H., & Ci, S. (2013). Significance-based energyefficient path selection for multi-source underwater sensor networks. International Journal of Sensor Networks, 13(1), 30–43. 3. Bhatti, S., Carlson, J., Dai, H., Deng, J., Rose, J., Sheth, A., et al. (2005). Mantis os: An embedded multithreaded operating system for wireless micro sensor platforms. Mobile Networks and Applications, 10(4), 563–579. doi:10.1145/1160162.1160178. 4. Cai, Z., Ji, S., & Li, J. (2012). Data caching-based query processing in multi-sink wireless sensor networks. International Journal of Sensor Networks, 11(2), 109–125. doi:10.1504/IJSNET.2012. 045960. 5. Chakravarthy, S., Krishnaprasad, V., Anwar, E., & Kim, S.K. (1994). Composite events for active databases: Semantics, contexts and detection. In: VLDB. 6. Chakravarthy, S., & Mishra, D. (1994). Snoop: An expressive event specification language for active databases. Data & Knowledge Engineering, 14(1), 1–26. doi:10.1016/0169-023X(94)90006-X. 7. Chen, W. P., Hou, J., & Sha, L. (2004). Dynamic clustering for acoustic target tracking in wireless sensor networks. IEEE Transactions on Mobile Computing, 3(3), 258–271. doi:10.1109/TMC. 2004.22. 8. Chen, W., Mei, T., Liu, Y., Meng, M.H., & Liang, H. (2008). Dynamic event data aggregation in wireless sensor networks. In IEEE International Conference on Mechatronics and Automation, 2008. ICMA 2008 (pp. 43–48). doi:10.1109/ICMA.2008.4798723. 9. Crossbow: http://www.xbow.com. 10. Fan, K.W., Liu, S., & Sinha, P. (2006). Scalable data aggregation for dynamic events in sensor networks. In SenSys ’06: Proceedings of the 4th international conference on Embedded networked sensor systems (pp. 181–194). ACM, New York, NY, USA. doi:10.1145/ 1182807.1182826. 11. Gatziu, S., & Dittrich, K. (1994). Detecting composite events in active database systems using petri nets. In Proceedings Fourth

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

International Workshop on Research Issues in Data Engineering, Active Database Systems. doi:10.1109/RIDE.1994.282859. Gay, D., Levis, P., von Behren, J.R., Welsh, M., Brewer, E.A., & Culler, D.E. (2003). The nesc language: A holistic approach to networked embedded systems. In PLDI. Han, C.C., Kumar, R., Shea, R., Kohler, E., & Srivastava, M. (2005). A dynamic operating system for sensor nodes. In MobiSys ’05: Proceedings of the 3rd international conference on Mobile systems, applications, and services (pp. 163–176). ACM. doi:10.1145/ 1067170.1067188. He, T., Vicaire, P., Yan, T., Luo, L., Gu, L., Zhou, G., Stoleru, R., Cao, Q., Stankovic, J.A., & Abdelzaher, T.F. (2006). Achieving real-time target tracking using wireless sensor networks. In IEEE Real Time Technology and Applications Symposium (pp. 37–48). Honeywell: http://www.ssec.honeywell.com. Hubbell, N., & Han, Q. (2012). Dragon: Detection and tracking of dynamic amorphous events in wireless sensor networks. IEEE Transactions on Parallel and Distributed Systems, 23(7), 1193– 1204. Kaveti, L., Pulluri, S., & Singh, G. (2009). Event ordering in pervasive sensor networks. In IEEE International Conference on Pervasive Computing and Communications, 2009. PerCom. doi:10. 1109/PERCOM.2009.4912861. Levis, P., Lee, N., Welsh, M., & Culler, D. (2003). Tossim: Accurate and scalable simulation of entire tinyos applications. In Proceedings of the 1st international conference on Embedded networked sensor systems SenSys (pp. 126–137). ACM. doi:10.1145/958491. 958506. Levis, P., Madden, S., Gay, D., Polastre, J., Szewczyk, R., Woo, A., Brewer, E.A., & Culler, D.E. (2004). The emergence of networking abstractions and techniques in tinyos. In NSDI. Li, S., Lin, Y., Son, S. H., Stankovic, J. A., & Wei, Y. (2004). Event detection services using data service middleware in distributed sensor networks. Telecommunication Systems, 26(2–4), 351– 368. doi:10.1023/B:TELS.0000029046.79337.8f. Lin, C. Y., Peng, W. C., & Tseng, Y. C. (2006). Efficient in-network moving object tracking in wireless sensor networks. IEEE Transactions on Mobile Computing, 5(8), 1044–1056. doi:10.1109/TMC. 2006.115. Lundquist, D., & Ouksel, A.M. (2007). An efficient demand-driven and density-controlled publish/subscribe protocol for mobile environments. In H.A. Jacobsen, G. Mühl, M.A. Jaeger (eds.) DEBS, ACM International Conference Proceeding Series volume 233, (pp. 26–37). ACM. Madden, S. R., Franklin, M. J., Hellerstein, J. M., & Hong, W. (2005). Tinydb: An acquisitional query processing system for sensor networks. ACM Transactions on database systems, 30(1), 122– 173. Marta, M., Yang, Y., & Cardei, M. (2009). Energy-efficient composite event detection in wireless sensor networks. In WASA (pp. 94–103). Nakamura, E.F., Ramos, H.S., Villas, L.A., de Oliveira, H.A., de Aquino, A.L., & Loureiro, A.A. (2008). A reactive role assignment for data routing in event-based wireless sensor networks. Computer Networks, 53(12), 1980–1996. doi:10.1016/j.comnet. 2009.03.009. http://www.sciencedirect.com/science/article/ B6VRG-4VY2CG6-1/2/e935e74f689bc644efea8138c7ca8d05 de Oca, M. M. M., Gomez, J., & López-Guerrero, M. (2014). DISAGREE: Disagreement-based querying in wireless sensor networks. Telecommunication Systems, 56(3), 399–416. doi:10.1007/ s11235-013-9852-5. Öllös, G., & Vida, R. (2014). Event signature extraction and traffic modeling in wsns. Telecommunication Systems, 55(4), 513–523. doi:10.1007/s11235-013-9806-y. Pietzuch, P.R., Shand, B., & Bacon, J. (2003). A framework for event composition in distributed systems. In Middleware.

123

H. Wu et al. 29. Pietzuch, P. R., Shand, B., & Bacon, J. (2004). Composite event detection as a generic middleware extension. IEEE Network, 18(1), 44–55. 30. Sharp, C., Schaffert, S., Woo, A., Sastry, N., Karlof, C., Sastry, S., & Culler, D. (2005). Design and implementation of a sensor network system for vehicle tracking and autonomous interception. Proceeedings of the Second European Workshop on Wireless Sensor Networks. 31. Yao, Y., & Gehrke, J. (2002). The cougar approach to in-network query processing in sensor networks. ACM SIGMOD Record, 31(3), 9–18. 32. Zhai, Y., Tian, Y.L., & Hampapur, A. (2008). Composite spatiotemporal event detection in multi-camera surveillance networks. In Workshop on Multi-Camera and Multi-Model Sensor Fusion Algorithms and Applications, ECCV. 33. Zhang, D., Chen, M., Guizani, M., Xiong, H., & Zhang, D. (2014a). Mobility prediction in telecom cloud using mobile calls. IEEE Wireless Communications, 21(1), 26–32. doi:10.1109/MWC.2014. 6757894. 34. Zhang, Y., Chen, M., Mao, S., Hu, L., & Leung, V. C. (2014b). Cap: Community activity prediction based on big data analysis. IEEE Network, 28(4), 52–57. 35. Zhang, D., Yang, Z., Raychoudhury, V., Chen, Z., & Lloret, J. (2013). An energy-efficient routing protocol using movement trends in vehicular ad hoc networks. The Computer Journal, 56(8), 938–946. 36. Zhang, D., Zhang, D., Xiong, H., Hsu, C. H., & Vasilakos, A. (2014). Basa: Building mobile ad-hoc social networks on top of android. IEEE Network, 28(1), 4–9. doi:10.1109/MNET.2014. 6724100.

Hejun Wu is an Associate Professor in the Department of Computer Science at Sun Yat-sen University and the Assistant Dean of School of Information Science and Technology. Before joining Sun Yat-sien University in June 2009, Hejun Wu received his Ph.D. degree in Computer Science and Engineering from Hong Kong University of Science and Technology in 2008. He then served as a postdoctoral research fellow at Hong Kong University of Science and Technology and Hong Kong Polytechnic University in 2008 and early 2009. His research areas include Wireless Sensor Networks, Embedded Systems, Internet of Things, Action Recognition, Distributed Computing, and Distributed Data Management.

123

Jiannong Cao received the BSc degree in computer science from Nanjing University, China, in 1982, and the MSc and PhD degrees in computer science from Washington State University, Pullman, Washington, in 1986 and 1990, respectively. He is currently the head and chair professor in the Department of Computing at Hong Kong Polytechnic University, Hong Kong. Before joining Hong Kong Polytechnic University, he was on the faculty of computer science at James Cook University, the University of Adelaide in Australia, and the City University of Hong Kong. His research interest includes parallel and distributed computing, networking, mobile and wireless computing, fault tolerance, and distributed software architecture. He has published more than 200 technical papers in the above areas. His recent research has focused on mobile and pervasive computing and mobile cloud computing. He is a senior member of the China Computer Federation, a senior member of the IEEE and the IEEE Computer Society, and a member of the ACM. He has served as a member of editorial boards of several international journals, a reviewer for international journals/conference proceedings, and also as an organizing/program committee member for many international conferences. Xiaopeng Fan is currently an associate professor in the Shenzhen Institutes of Advanced Technology, the Chinese Academy of Sciences. He received the BE and ME degrees in computer science at the Xidian University, Xi’an, China, in 2001, and 2004, respectively. He received the PhD degree in computer science in 2010 from Hong Kong Polytechnic University. His research interests include mobile computing, wireless communication, and cloud computing. His recent research focuses on mobile data management in big data analytics. He has served as a reviewer for several international journals/conference proceedings.

Dynamic collaborative in-network event detection in ...

Springer Science+Business Media New York 2015. Abstract Many ... This framework enables a flexible number of sensor nodes ...... Small scale. Large scale .... 800. Event detection delay(ms). Fig. 12 Delay in the 400-node network.

1MB Sizes 3 Downloads 346 Views

Recommend Documents

Event in Compositional Dynamic Semantics
Aug 17, 2011 - Brutus stabbed Caesar in the back with a knife. Multiple events in a single proposition. (3). John said he killed Bill. Mary did not believe it. Other evidence. Perceptual verbs: see, hear, and etc. Interaction with thematic roles. 10

Event Detection in Baseball Videos Using Genetic Algorithm ... - APSIPA
Department of Computer Science and Information Engineering, National Chiayi University ..... consider that the BS measure is formulated based on SIFT-.

Detection versus Estimation in Event-Related fMRI
the optimal stimulus timing and distribution with re- spect to .... well as the distribution of the detectability and estima- .... bit vectors was Bernoulli trials with P. 1.

Unsupervised Spatial Event Detection in Targeted ... - Semantic Scholar
Oct 28, 2014 - built with the expanded query, we first derive an optimization ..... and the keyword feature were chosen for its best performance. ..... materials/analysis tools: LZ TH JD. ... applications to biological deep web data integration.

Detection versus Estimation in Event-Related fMRI ...
which can be analyzed by a simple statistical test, such as a t test. Initially .... monly performed in fMRI data analysis, and because it illustrates the important point ...

Unsupervised Spatial Event Detection in Targeted Domains ... - People
Oct 28, 2014 - New York, United States of America, 3 Google, New York City, New York, United States of America. Abstract. Twitter has become a popular data source as a surrogate for monitoring and detecting events. Targeted domains such as crime, ele

Crowdsourcing Event Detection in YouTube Videos - CEUR Workshop ...
Presented with a potentially huge list of results, preview thumb- .... They use existing metadata and social features such as related videos and playlists a video ...

Event Detection in Baseball Videos Using Genetic Algorithm ... - APSIPA
Department of Computer Science and Information Engineering, National Chiayi University ..... consider that the BS measure is formulated based on SIFT-.

dynamic centroid detection in outdoor/indoor scenes ...
email: [email protected]. ABSTRACT. Centroid .... The lowest score indicates the best segmentation quality, while the .... and Automation. Vol. 12, N ˚ 5.

HMM Based Event Detection in Audio Conversation
problem of detecting credit card transaction event in real life conversations between ... These large amount of variabilities introduced by the oc- currence, length ...

Unsupervised Spatial Event Detection in Targeted ... - Semantic Scholar
Oct 28, 2014 - 1 Department of Computer Science, Virginia Tech, Falls Church, Virginia, ... Funding: This work is supported by the Intelligence Advanced Research ...... 365. Brazil. 57. O Globo; O Estado de Sa˜o Paulo; Jornal do Brasil. 451.

Dynamic Cache Contention Detection in Multi-threaded Applications
Mar 9, 2011 - marily a function of the cache line size and application behavior. Using memory shadowing and dynamic instrumentation, we im- plemented a ...

Dynamic Cache Contention Detection in Multi-threaded Applications
Mar 9, 2011 - marily a function of the cache line size and application behavior. ... is the development of a memory hierarchy: the use of multiple lev-.

Enhanced Dynamic Detection of Code Injection Attack in OS ... - IJRIT
At runtime, a monitor compares the behavior of the variants at certain ... The global decision is made by a data fusion center, ... complete solution. Modern static ...

Scalable Efficient Composite Event Detection
Balazinska, M., Balakrishnan, H., Madden, S., Stonebraker, M.: Fault-tolerance in the Borealis Distributed Stream Processing System. In: SIGMOD 2005, pp. 13– ...

dynamic centroid detection in outdoor/indoor scenes ...
obtained with a mobile camera using a RF video link. This technique allows the ..... Proceedings of the. IEEE International Conference of Robotics and Automa-.

Dynamic Cache Contention Detection in Multi ... - Burning Cutlery
formance penalties of cache contention by scheduling them on cores with lower ...... of the Network and Distributed System Security Symposium (NDSS. 2005) ...

Enhanced Dynamic Detection of Code Injection Attack in OS ... - IJRIT
Security vulnerabilities in software have been a significant problem for the computer industry for decades. ... The malware detection system monitors data from a suite of .... us to detect and prevent a wide range of threats, including “zero-day”

Dynamic Relationship and Event Discovery
To give an anecdotal insight into our results, we provide some sample events detected by the three algorithms, namely, LTC, GTC, and TRJ. The first event (a boating incident involving famous foot- ball players) shows the case where all algorithms pro

Parklands College creates a collaborative, dynamic ... Services
entire Parklands College went live with Google Apps for Education. They began using Google Docs, Calendar, Sheets, Drive, Google Plus, Google. Hangouts ...

Group Event Detection for Video Surveillance
and use an Asynchronous Hidden Markov Model (AHMM) to model the .... Based on the description of SAAS, before detecting the symmetric activity of each ...

TED: Efficient Type-based Composite Event Detection ...
region, the primitive events related to that object will usually become ... in active databases [5] when issues such as network dynamics and resource .... A. System Model. We consider the network as a graph G = (N,A) where each node represents a sens

Robust cross-media transfer for visual event detection
ferent types of noisy social multimedia data as input and conduct robust event ... H.3.1 [Information Storage and Retrieval]: Content. Analysis and Indexing.

Multimodal Sparse Coding for Event Detection
computer vision and machine learning research. .... codes. However, the training is done in a parallel, unimodal fashion such that sparse coding dictio- nary for ...