Computer Science PhD - IoT Communications Middleware
I defended my dissertation in Fall 2018 to complete my PhD at the University of California, Irvine. My focus was Networks and Distributed Systems. My advisor Nalini Venkatasubramanian heads the Distributed Systems Middleware. Please see below for details about my research in IoT communications middleware.
I started working at Real-Time Innovations (RTI) as a Research Engineer in January 2019. RTI provides the leading connectivity platform for the Industrial Internet of Things. Hence, I am applying my research in IoT Data Exchange to our DDS Connext middleware.
A panel on "IoT Fault Tolerance/Safety" that I (pictured left) participated in while presenting my "Ride" research project at IoTDI '18.
My Research and Thesis Topic
My research focuses on resilient Internet of Things (IoT) data exchange, especially during disaster scenarios that stress or damage infrastructure-based networks. I propose the use of a cross-layer middleware approach that configures the distributed data exchange according to awareness (i.e. requirements and current state) of both applications and physical networks. I advocate for the use of programmable networks (i.e. Software-Defined Networking (SDN)) to appropriately configure heterogeneous IoT deployments with minimal client device overhead. Avoiding burdens on constrained devices while maintaining resilient operation and interoperability is a huge challenge for IoT that my research addresses. My thesis explores this proposal in three different contexts:
GeoCRON deploys geo-aware resilient overlay networks to improve IoT-based seismic sensor data collection. It exploits the public Internet's topological diversity to deliver data to cloud services despite wide-area infrastructure failures. [ns-3 simulation code on Github, research paper]
Ride (Resilient IoT Data Exchange): explores reliable data collection and alert dissemination in a smart campus environment. It exploits both cloud and edge resources to maintain network awareness and intelligently choose data exchange paths to facilitate time-critical IoT applications such as the example seismic alerting scenario. We apply SDN and novel algorithms to ensure service stability through cloud path fail-over, edge fail-over, and redundant multicast trees for enhanced local alerting. [Github code, IoTDI presentation slides, research paper]
FireDeX: My latest project, partly inspired by the Research Roadmap for Smart Fire Fighting that I co-authored, explores resilient IoT data exchange in a smart fire-fighting scenario. It aims to ensure first responders receive pertinent data in a timely manner despite resource constraints, hostile environments, and heterogeneous protocols and data models. Specifically, FireDeX leverages SDN and a queueing theory-based analytical model of cross-layer data exchange performance to ensure delivery of the most important data to subscribers despite network resource constraints. We propose algorithms and mechanisms for event prioritization derived from subscriber-specified utility functions and enforced at the network layer. [Github code, research paper]
Photo taken for my ARCS scholarship award.
Presenting Ride at IoTDI '18.
High-level view of my proposed cross-layer middleware approach to resilient IoT communications.
The SCALE Project
In Spring 2014, I led development and deployment of the Safe Community Awareness and Alerting Network (SCALE) project. SCALE leverages off-the-shelf IoT hardware, multiple networking technologies, and cloud/edge-based analytics to extend a smarter safer home to all residents, especially vulnerable populations, at a low incremental cost. We formed the SCALE team in response to the Presidential Innovation Fellows' SmartAmerica Challenge. SCALE then served as a testbed for multiple IoT-related research projects (including my own) and has since expanded to other domains (e.g. water infrastructure, pollution monitoring) and locations (e.g. Paris, Taiwan, India).
In collaboration with other UCI students and industry practitioners, I developed software for semi-automated emergency. The generic Python client acquires data from various sensors (e.g. temperature, motion, seismic activity), processes it (i.e. on a Raspberry Pi platform), shares it through multiple networks (e.g. Wi-Fi, SigFox UNB) and data exchange protocols (e.g. MQTT, CoAP) to the cloud, analyzes these data streams for possible emergencies, and responds by alerting residents and contacting them via phone to confirm the emergency. You can learn more about SCALE at the website, which includes a dashboard to demo live data flowing from our testbed and a video of our team's vision.
We rapidly designed, developed, assembled, and deployed SCALE over ~3 months. Here we had a day-long hack session to create sensor boxes and some software.
Demonstrating SCALE at the SmartAmerica Expo on June 11, 2014.
Some members of the initial SCALE team.
Here we were presenting at the White House.
Please feel free to explore this page to find out more about my personal interests, professional accomplishments (software, research publications, resume/CV, awards), and contact info (see my business card with email below). You may also wish to connect with me on LinkedIn.