spot: a smartphone-based platform to tackle heterogeneity ...spot is a iot device driver framework...

21
SPOT: A Smartphone-Based Platform to Tackle Heterogeneity in Smart-Home IoT Systems Copyright 2016 Fujitsu Laboratories of America, Inc.

Upload: others

Post on 31-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

SPOT: A Smartphone-Based Platform to Tackle Heterogeneity

in Smart-Home IoT Systems

Copyright 2016 Fujitsu Laboratories of America, Inc.

Heterogeneity in smart appliancesNo clear winner yet for IoT standards So many vendor-specific APIsMultiple, non-connected apps

Needs for unified control platform E.g. Home energy management system

or Home security systems.

Challenge: Fragmented Smart Home

Copyright 2016 Fujitsu Laboratories of America, Inc.1

Presenter
Presentation Notes
The research challenge that we would like to address is fragmented smart home. users are required to use different control interfaces, e.g., mobile apps, to interact with smart appliances in their homes - Or users are forced to use devices from the same eco-system

Communication interfaceDifferent communication architecture

• Direct access, hub-based, cloud-based, …Different transport/communication protocols

• HTTP/HTTPS over WiFi, Zigbee, Bluetooth, …Different messaging schema

• JSON, XML, …Different authentication mechanisms

• UserID/Password, OAuth2, no authentication, …

Heterogeneity in IoT Devices (1)

Copyright 2016 Fujitsu Laboratories of America, Inc.2

Presenter
Presentation Notes
Examples of Heterogeneity in IoT Devices happen in all networking layers.

Different parameter namingNest Thermostat: target_temperature_fRadio Thermostat: t_heat or t_cool

Different message structure (e.g., nested vs. flat)

3

Heterogeneity in IoT Devices (2)

Copyright 2016 Fujitsu Laboratories of America, Inc.

Presenter
Presentation Notes
More differences exist in the semantics of the message content. Ecobee thermostats employ a “nested” structure; The other three support a flat message structure;

4

Study in Real IoT Devices

Copyright 2016 Fujitsu Laboratories of America, Inc.

Presenter
Presentation Notes
Take an example of the IoT devices we consider in this paper. The table illustrates the heterogeneity.

Smartphone-based implementation Take advantage of existing smartphone and tablet devices to minimize

introductory costOnly need commercial-off-the-shelf (COTS) smartphones w/o “rooting”

Separation of device drivers from app’s logic Properties of device (e.g., variables and configuration settings) are

defined in a “driver” Support dynamic driver loading to enable applications on top of the

framework to seamlessly operate devices

User/community-driven device support By publishing the schema of XML device driver, anyone, including users

themselves or open-source community can design and distribute drivers.

Do not need to wait for device vendors to publish drivers

5

Design Goals

Copyright 2016 Fujitsu Laboratories of America, Inc.

Presenter
Presentation Notes
To address the research challenge of the fragmented smart home, we set the following design goals.

Solution: SPOT Offers open, customizable, extensible platform to address heterogeneity

among multi-vendor smart appliances Add your favorite appliances/devices to your smart-home app

Copyright 2016 Fujitsu Laboratories of America, Inc.6

SPOT Platform

Presenter
Presentation Notes
We propose a open, customizable, extensible platform, called SPOT, to address heterogeneity among multi-vendor smart appliances. Under this platform, the drivers could be created by community. Based on the content written in the driver, SPOT platform is able to communicate with various IoT devices over their proprietary protocols.

Variables “type” indicates the class of the

device “parent” is used to define

nested structure “canonicalName” is the

“common” name of a variable defined in SPOT

7

SPOT Device Drivers (1)

Copyright 2016 Fujitsu Laboratories of America, Inc.

Presenter
Presentation Notes
Let’s look at the details of device driver schema which include several sessions. The variable session defines the important properties of a variable in the device.

Read/Write actionDefines how request

messages should be generated and sent• HTTP method• URL• Message body format• Etc.

8

SPOT Device Driver (2)

Copyright 2016 Fujitsu Laboratories of America, Inc.

Presenter
Presentation Notes
The read and write sessions define how request messages should be generated and sent. HTTP method, e.g., GET, POST, PUT Message body format such as JSON, XML

9

SPOT Device Driver (3) - GUI generation

Copyright 2016 Fujitsu Laboratories of America, Inc.

Presenter
Presentation Notes
Based on the same device driver schema, dynamic GUI can be generated. For instance, the app can show the values of variables defined in the driver.

SPOT: Dynamic Driver Loading

Copyright 2016 Fujitsu Laboratories of America, Inc.10

SPOT Mobile App

Presenter
Presentation Notes
In addition, we support dynamic driver loading. The user can add a driver to the app without the need to download a new version of the app.

How SPOT App Works – Getting Values The app can get values from the device using HTTP Sends the HTTP request to the URI specified in the driver Then “pattern matches” the payload of received response with the driver

• The variables (indicated by “$”) stored in the app will be replaced by the received value

11

GET: https://server.cloudprovider.com/query/sensors

Copyright 2016 Fujitsu Laboratories of America, Inc.

Presenter
Presentation Notes
Let’s see how SPOT app gets the device’s status based on the read session in the device driver.

How SPOT App Works – Setting Values The app sets values on the device via HTTP Sends the HTTP request (POST/PUT) to the URI specified in the driverMaps the values of the variables to the accepted format in the driver

• Any variables (indicated by “$” will be replaced by the variable that is stored in the app).

12

POST: https://server.cloudprovider.com/control?mode=1&fan=1&heattemp=70&cooltemp=75

Copyright 2016 Fujitsu Laboratories of America, Inc.

Presenter
Presentation Notes
Similarly, when the app would like to change the values of the variables in the device, first the app copy the URI specified in the driver.

Demo: Device Control

Copyright 2016 Fujitsu Laboratories of America, Inc.13

Presenter
Presentation Notes
Let me show a demo video to illustrate how it works.

Evaluation Architectural comparison with other smart-home platforms

Copyright 2016 Fujitsu Laboratories of America, Inc.14

Presenter
Presentation Notes
In the evaluation, we first conduct the architectural comparison with other smart home platforms. Unified Interface means we offer a unified interface on top of the platform to monitor and control various devices.

EvaluationCPU and memory footprint on smartphone The CPU usage of SPOT is 0.0% : no computation in the platform The memory : 49 MB during silence SPOT app binary size: as small as 9.69MB

Latency of appliance control command invocationCommunicate directly on local WiFi, e.g., Philips HUE light and Venstar

• 150 ms Communicate via vendor’s cloud e.g., Nest

• 395 ms

Copyright 2016 Fujitsu Laboratories of America, Inc.15

Presenter
Presentation Notes
The footprint of CPU and memory usage of the app is very small.

Evaluation Latency of dynamically loading drivers with different number of

variables

Copyright 2016 Fujitsu Laboratories of America, Inc.16

Presenter
Presentation Notes
We also test the latency of dynamic driver loading with different number of variables. Of course the more number of variables loaded to the app, the longer time the latency is. However, the time is short enough that users cannot tell.

Evaluation The effect of polling appliances state

Copyright 2016 Fujitsu Laboratories of America, Inc.17

Presenter
Presentation Notes
Last, we test the impact of different polling periods to the battery consumption.

SPOT is a IoT device driver framework that enables:Centralized control over heterogeneous IoT devices to enable truly

connected smart homeUser/community-driven device support enhancement

Prototype app is implemented on Android platformCan practically work on commodity smart phones

We plan to apply SPOT to other IoT domains, such as vehicular systems and healthcare systems, and even to systems across multiple domains

Conclusions and Future Works

18 Copyright 2016 Fujitsu Laboratories of America, Inc.

Copyright 2016 Fujitsu Laboratories of America, Inc.19

20 Copyright 2016 Fujitsu Laboratories of America, Inc.