In this paper we examine the development of IoT applications from the perspective of the Fog Computing paradigm, where computing infrastructure at the network edge in devices and gateways is leverage for efficiency and timeliness. Due to the intrinsic nature of the IoT: heterogeneous devices/resources, a tightly coupled perception-action cycle and widely distributed devices and processing, application development in the Fog can be challenging. To address these challenges, we propose a Distributed Dataflow (DDF) programming model for the IoT that utilises computing infrastructures across the Fog and the Cloud. We evaluate our proposal by implementing a DDF framework based on Node-RED (Distributed Node-RED or D-NR), a visual programming tool that uses a flow-based model for building IoT applications. Via demonstrations, we show that our approach eases the development process and can be used to build a variety of IoT applications that work efficiently in the Fog.
Several web-based platforms have emerged to ease the development of interactive or near real-time IoT applications by providing a way to connect things and services together and process the data they emit using a data flow paradigm. While these platforms have been found to be useful on their own, many IoT scenarios require the coordination of computing resources across the network: on servers, gateways and devices themselves. To address this, we explore how to extend existing IoT data flow platforms to create a system suitable for execution on a range of run time environments, toward supporting distributed IoT programs that can be partitioned between servers, gateways and devices. Eventually we aim to automate the distribution of data flows using appropriate distribution mechanism, and optimization heuristics based on participating resource capabilities and constraints imposed by the developer.
Interoperability in the Internet of Things is critical for emerging services and applications. In this paper we advocate the use of IoT `hubs' to aggregate things using web protocols, and suggest a staged approach to interoperability. In the context of a UK government funded project involving 8 IoT sub-projects to address cross-domain IoT interoperability, we introduce the HyperCat IoT catalogue specification. We then describe the tools and techniques we developed to adapt an existing data portal and IoT platform to this specification, and provide an IoT hub focused on the highways industry called `Smart Streets'. Based on our experience developing this large scale IoT hub, we outline lessons learned which we hope will contribute to ongoing efforts to create an interoperable global IoT ecosystem.
Cloud based Smart City hubs are an attractive approach to addressing some of the complex issues faced when deploying PaaS infrastructure for Smart Cities. In this paper we introduce the general notion of IoT hubs and then discuss our work to generalize our IoT hub as a Smart City PaaS. We briefly describe our approach and discuss our experiences deploying two cloud-based Smart City hubs, one in the UK and the other in Canada.
Toward reducing barriers for developing applications for the Internet of Things, researchers have connected things to the web enabling the development of IoT mashups. While establishing a Web of Things for mashup development has been an important step forward, we believe that web-centric IoT toolkits have the potential to increase the use of Internet-enabled things further by increasing the pool of developers and applications that can take advantage of the connected physical world. In this paper we derive several key requirements for IoT mashup toolkits based on existing systems, past research and our experience with an IoT mashup toolkit called the Web of Things Toolkit (WoTKit). Unlike other systems, the WoTKit aims to address key requirements for IoT mashup developers in one system. From this experience we derive key lessons learned for the community toward improving toolkits for developing IoT mashups.
1 June 1997 in Computer Supported Cooperative Work (CSCW)