Interfacing the internet of a trillion things

Bradford Campbell, Pat Pannuto, Prabal Dutta
2015 Proceedings of the Second International Workshop on the Swarm at the Edge of the Cloud - SWEC '15  
Meaningful, reusable applications built on top of ubiquitous and networked devices will be slow to materialize as long as device APIs vary widely, communication protocols are not standardized, and programming support is limited and inconsistent. When even feature-identical devices present different APIs and application creators are burdened with managing the variability, the promise of the swarm of devices will go unrealized. We start addressing this issue by providing a model for devices,
more » ... on input and output ports, that allows for a set of common interfaces to represent a range of devices. Further, we provide a solution to the bootstrapping problem, providing a general means to bridge the adoption gap for a new API for the Internet of Things. We borrow both the name, accessor, and several key design concepts from a recent proposal by Latronico et. al, for our interface layer that wraps currently non-conforming devices with the standard interface. We show how a small, straightforward to write (and read) JavaScript file can convert diverse devices into common interfaces that are conducive for creating applications. We realize our system with three environments that can execute accessors, Python, Java, and Node.js, a range of accessors for both IoT and legacy devices, and a browser-based application for interacting with devices using our proposed interfaces. We show how the same accessor mechanism can form synthetic devices with higher-level interfaces and we outline how our system can be extended to support authentication, accessor control, and cloud storage support. † Co-primary authors.
doi:10.1145/2756755.2756762 dblp:conf/cpsweek/CampbellPD15 fatcat:ktf5udka3jhcxpxhr2u73hpy3q