In-Network Data Processing in Wireless Sensor Network
Abstract:
With the ever-growing IoT deployments, the amount of data to be collected is increasing. However, given the limited bandwidth and the resource constrained devices used in Wireless Sensor Networks (WSN), collecting a large amount of data is challenging. In-network processing is a technique that one can use to improve the throughput and energy efficiency of WSN. In-network aggregation allows nodes to merge their data with the received data which allows for sophisticated in-network processing. We apply in-network aggregation in a cross-layer manner, combining components of MAC, routing, and transport protocols into a single framework.
In this thesis, we first present a flexible synchronous transmissions communication layer, FlexCast, which can be practically deployed in WSN. FlexCast provides flexibility in the application computation's timing to ease application and protocol development by decoupling computation and communication. Such decoupling is especially crucial for the deployment of in-network aggregation mechanisms. Also, FlexCast is designed to be portable and address the limitations of previous synchronous transmissions protocols implementations that require stringent timing constraints. FlexCast requires only software timers that can be easily supported on existing platforms. We have designed and implemented FlexCast on both Contiki and Contiki-ng operating systems. FlexCast can run on 4 hardware platforms using the same source code without modification.
Building on top of FlexCast, we present SpeedCollect, an optimized data collection protocol. SpeedCollect uses network coding in-network processing in order to improve the throughput and reliability. Using network coding, nodes overlay the floods and simultaneously disseminate all messages. Besides network coding, SpeedCollect incorporates additional features such as sink acknowledgments, topology information, and transmissions coordination. The evaluation shows that SpeedCollect can reduce the latency of data collection from a baseline many-to-many communication protocol by an average of 20%.
Next, we present InDP, an in-network data processing that is designed to enable reduced data communication based on a distributed version of Principal Component Analysis (PCA). As an application, we have implemented an outlier detection using InDP on Contiki OS. Our evaluation shows that InDP can achieve greater than 50% reduction in the completion time. In terms of PCA computation, InDP's computation uses 91.6% less data than a centralized approach and is able to detect anomalies using a fraction of the sensed data.
Finally, we present a Low-power Distinct Sum (LDS), a distributed in-network data aggregation primitive which performs the sum of unique items in WSN. Distinct sum can serve as a component of many distributed data streaming applications to suppress data communication and to guide applications execution. To demonstrate LDS's capabilities, we design and implement two distributed data streaming applications, namely Geometric Monitoring and Top-K using LDS and FlexCast as the underlying primitive and communication running on Contiki OS. Compare to the baseline algorithm, LDS can reduce the completion time by up to 66%.