The Internet of things (IoT) market for smart homes, buildings, and cities, is expected to reach over a half trillion dollars in size by 2021. Today's IoT technology landscape is the culmination of many decades of research, but large-scale IoT deployments are still hard to setup, configure, and manage, and this process is often laborious and time-consuming. This project will develop a new distributed computing substrate called "Groups of Things (GoT)". GoT consists of several software building blocks on top of which IoT applications can be built easily and flexibly for environments like smart homes, buildings, campuses, and cities, bringing us closer to the vision of making these deployments truly robust, scalable, self-sufficient, and self-managing. GoT adapts, for IoT settings, three important distributed computing primitives that have been successful in datacenters and cloud computing, namely--membership, coordination, and storage. The applications built by this project atop GoT provide an opportunity to explore the approach of designing systems with a human-first philosophy, for the IoT setting. The project's activities include designing algorithms, analyzing them formally, implementing them in real devices including Raspberry Pis, and deploying them in real buildings on the University of Illinois campus. The project will produce open software and engage with industry in the IoT and wireless sector to maximize industry impact of ideas from the project. Educational contributions include developing modules for online MOOCs and working with students from under-represented groups in K-12, undergraduate school, and graduate school.

Technically, this project will build a new abstraction for IoT Networks, called the "Groups of Things (GoT)" substrate. The work includes designing and analyzing new distributed algorithms, techniques, and systems and implementations, for three specific foundational building blocks: 1) distributed failure detection and membership in IoT networks; 2) distributed coordination in IoT networks; and 3) distributed IoT small object storage (iSoS). The solutions to these three components are tightly integrated, leveraging each other (latter ones build atop former ones). Because of the fluid and failure-prone nature of IoT environments, the project's philosophy is to design using probabilistic techniques--such techniques have been shown to work well in internet-based distributed systems (such as clouds and datacenters). These techniques are analyzable and have provable behavior in a variety of scenarios. The researchers will also implement applications atop the GoT substrate, including the first distributed command and control interface that realizes ACID abstractions (Atomicity, Consistency, Isolation, Durability) inspired by transactional databases. The project's implementations will be in state-of-the-art IoT platforms such as Raspberry Pis. Experiments will be performed via both real traces using a simulation and using real deployments inside buildings at the University of Illinois campus.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Network Systems (CNS)
Type
Standard Grant (Standard)
Application #
1908888
Program Officer
Darleen Fisher
Project Start
Project End
Budget Start
2019-10-01
Budget End
2022-09-30
Support Year
Fiscal Year
2019
Total Cost
$500,000
Indirect Cost
Name
University of Illinois Urbana-Champaign
Department
Type
DUNS #
City
Champaign
State
IL
Country
United States
Zip Code
61820