IoT aims to improve our daily lives by seamlessly integrating heterogeneous devices into the physical space around us through a digital ecosystem of sensor data, communications, analytics, and semi-automated actions. Our exploratory proof-of-concept IoT system, SCALE, motivated our research challenges and served as a testbed for deploying our proposed approach. In particular, we identified the critical need for IoT data exchange: an event-driven pattern using producer-consumer abstractions to connect many heterogeneous devices, services, and users. This provides a seamless communications fabric for large-scale networks of heterogeneous resource-constrained devices. IoT deployments keep system deployment costs and complexity low by off-loading much of the logic to the cloud. Hence, data exchange manages the flow of application-supporting messages in order to gather data at the network edge, process it in the cloud, and then use it at the edge. However, infrastructure failures (e.g. during a natural disaster) or resource limitations (e.g. during emergency response activities) disrupt connectivity with such cloud platforms.
To ensure a high degree of confidence in the resilient operation of mission-critical IoT systems, this thesis proposes middleware solutions to resilient communications in support of IoT data exchange in highly-challenged environments. Our proposed techniques leverage current application information/resilience requirements, physical network topology awareness, and modern system configuration abstractions (i.e. edge computing and SDN). They account for and adapt the IoT data exchange to failures and other impactful constraints in the underlying network infrastructure. We propose the use of SDN-enabled edge computing for three primary reasons: reliability, performance, and locality (i.e. making use of data produced at the edge there at the edge).
We explore this approach within the context of two different mission-critical scenarios and three projects that build on each other to progressively leverage more edge intelligence as we focus on more local settings. We first leverage a centrally-controlled geo-aware resilient overlay network (GeoCRON) to improve cloud-centric collection of IoT seismic sensor data during geographically-widespread earthquake-induced network infrastructure failures. We then consider the question of whether to collect and process IoT data in the cloud or at the edge for further resilience to cloud connection instability. To this end, the Ride system monitors cloud overlay paths and redirects IoT data flows (when necessary) transparently to IoT devices. Ride also expands on the seismic scenario with earthquake early-warning through a novel resilient local alerting mechanism based on redundant multicast trees. Lastly, we consider balancing the needs of multiple mission-critical applications in an IoT-enabled structure fire response. The FireDeX project models the complete data exchange (i.e. IoT hosts, data exchange brokers, and network infrastructure) and adaptively prioritizes information flows according to information requirements and network resource constraints.
Altogether, the proposed middleware approach enables a more holistic view of and control over the data exchange process. As demonstrated in the individual projects, this occurs at different network and IoT deployment scales. While these contributions are but a few parts of the greater resilient IoT data exchange challenge, they represent a few steps in the direction of that goal.