My Work

Computer Science PhD - IoT Communications Middleware

I will defend my dissertation in Fall 2018 to complete my PhD at the University of California, Irvine. My PhD candidacy is in the Networks and Distributed Systems focus. My advisor Nalini Venkatasubramanian heads the Distributed Systems Middleware group of which I'm a member.  Please see below for details about my research in IoT communications middleware.

On the job market

I am actively seeking a software engineering role with an anticipated start date of January 2019.  While I'm interested in all things IoT, my research and development experience suits me best for working with communications middleware, protocols, and distributed data exchange solutions.  Some of the technologies I have the most experience with include: MQTT, CoAP, publish-subscribe, SDN.

My primary target position is at a medium-large firm working directly on consumer product R&D as part of a larger team.  Long-term, I aim to take this practical experience with me to the start-up world. My eventual goal is to develop the necessary platforms to join disparate IoT ecosystems and create truly meaningful immersive user experiences. My focus on resilient operation during my PhD primed my interest in exploring edge cases of IoT systems that unpleasantly surprise some of us early adopters. A more mature IoT must take a human-centric approach that considers user expectations and gracefully handles potential pitfalls (esp. those introduced by high degrees of heterogeneity).  Let's build this future together.

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 Githubresearch 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]
  • FireDeXMy 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 coderesearch paper]
High-level view of my proposed cross-layer middleware approach to resilient IoT communications.
Photo taken for my ARCS scholarship award.
Presenting Ride at IoTDI '18.

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 ChallengeSCALE 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.