SCALE: The Safe Community Awareness and Alerting Network Kyle Benson et al University of California, Irvine GCTC SCALE team
General IoT Architecture Data Exchange Cloud Services Networking Devices
“Democratizing safety by bringing the Internet of Things (IoT) to everyone” Analytics / Alerting Cloud Dispatch Center First responders arrive Long-range wireless antenna Yes! Emergency? Resident / Caretaker Resident in distress SCALE sends emergency message Worked in MoCo Resilient communications: multiple protocols, fault and congestion-tolerance, scalability, QoS
SCALE Client Architecture Multi-layer architecture Data exchange is key Supports heterogeneous devices / technologies Client broken into modules Asynchronous / parallel processing of tasks New sensors, protocols, networks added via inheritance Potential interesting projects: Client performance comparison (threaded vs. ‘circuits’ vs. async) Adding new sensors Mobile (Android?) app Splitting data analytics pipeline across multiple devices (pushing analytics down to client)
SDN-enabled Publish-subscribe SDN NOS Pub-sub app runs on clustered Network Operating System (NOS) controller instances. It acts as the pub-sub control plane, managing pub-sub routing via a topic tunnel mapping and installing flow rules on network devices. 3) Return event tunnel ID mapping Topic Mgmt Pub-Sub Mgmt Controller 2) Forward request to responsible NOS instance 5) Calculate and install routes 4) Subscription request Network devices act as pub-sub data plane brokers by routing publications purely in-network via tunneled flows. 1) New topic request Network hypervisor provides a virtual tenant network controllable via SDN NOS Could eliminate 1 by using a source port -> topic string mapping gleaned by NOS ----- Meeting Notes (10/10/16 13:33) ----- these are virtual switches FIXME: Need to get rid of term ‘tunnel’ 6) Published messages flow thru tunnel Edge services IoT devices and services express interest in topics to receive published data or register topics they publish to receive a tunnel ID.