tools for the open source internet of things

23
12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 1 Tools for the Open Source Internet of Things IoT Toolkit Smart Object API

Upload: michael-koster

Post on 27-Jan-2015

104 views

Category:

Internet


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 1

Tools for the Open Source Internet of Things

IoT ToolkitSmart Object API

Page 2: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 2

Open Avenues for Participation● Traditional manufacturer-consumer roles disrupted; Customize

Your Life is the new DIY

● Global innovation cycle is limited by serialized secret design iterations and fear of lawsuits, improved by early and often interaction during design protovation

● Industry SIGs limit participation to conforming entities

● Traditional IP trade for equity system limits access of individuals to their own work, we need new equity value models

● The Internet of Things will out-scale and out-last any walled garden; what we need is an open ecosystem based on individuals being the seat of control for their own data, experience, and contribution

Page 3: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 3

Open Source Ecosystem● What is a Platform? Developers and users sharing resources,

who controls it?

● What is an Infrastructure? Communities of developers and users sharing resources, who controls it?

● What is an Ecosystem? Communities interacting around co-development of shared resources, community controls it.

● What is meant by “open” in which context? Is there a single source element in the system? Who controls the access?

● What is Open Source? Free speech vs. lunch, Open Source == Multiple Source

● What is an Open Source Ecosystem? Open Avenues of Participation at all levels

Page 4: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 4

Internet of Things

● Network of Sensing, Reasoning, and Action● Context Aware, Real-Time and Hyper-Local,

Granular Scale● Integrating physical sensors and other data

sources, connecting the physical world to the virtual world

● Consists of Physical Graph and Social Graph: People connecting to things, things connecting to things, people connecting to people

Page 5: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 5

IoT Early Deployment● Sensors and Actuators => Gateway or Hub =>

Cloud Service● Vertical integration around one primary vendor● Each vendor has a variation of REST-like API● No high level opportunistic integration between

vendors● Single source lock-in strategies even for “open

platforms”, typical is open source client + single (closed) source service i.e. freemium style services

● Too many services for users to manage

Page 6: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 6

IoT Application is a Graph

● IoT applications will consist of graphs● Sensors, acuators, and informing devices at the

edges● Processing (rules, logic, filtering, aggregation) at

the nodes● Linked according to user intentions● Many connections, vertical, horizontal, diagonal● Redundancy through a rugged overlay network● Data push-on-update for scalability

Page 7: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 7

IoT Application is a Graph

SensorsUser Input

Data Sources

Application Logic

Services and Gateways

ActuatorsStorage

User Display

Page 8: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 8

Semantic Web● Nodes in the IoT application graph are linked by

semantic compatibility, e.g. data types and physical types

● Semantic Web provides mechanism for discovery and linkage of appropriate nodes by type compatibility

● Self-describing data from ontologies

● Dynamic API to data types

● Drives high degree of articulation from simple resource based RESTful API

● Replication and persistence formats, Big Data compatible

Page 9: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 9

Smart Object APISmart Object API based on Semantic Web Linked Data resource description and a simple set of resource types making up a Virtual Object:

● Description: The Linked Data describing the Object's resources, it's structure, and data types

● Observable Properties: The encapsulated data types e.g. time+location data stream

● Observers: dynamic links for data updates to be pushed (http POST/PUT, CoAP obs, MQ, PubSub)

● Agent: Software process to invoke on data updates

Page 10: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 10

Smart Object Encapsulation of API Resources

Description

ObservableProperty

Observers

Agent

HTTP Interface CoAP Interface

Application softwareAgents handle state changes and application logic, including filtering and aggregation

Maps updates to HTTP POST, MQTT, PubSub

Data type encapsulation with description

RDF describes resources, structure, types, and Linked Data <=> CoAP RD proxy

Page 11: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 11

Smart ObjectSmart Object

ObservableProperty

Has

Agent (API )Description

Descr

ibes

Des

crib

es

CallsHandlers in

Invokes

Methods in

Has

Has

Application Agent

Web API Proxy

Web API

ClientRoutesURLs to

M2M API over Internet

Describes

Invokes methods in

Is

Interacts with

MethodExposes API via

RDFTriples

Has

Has Is

Method

Exposes API via

CREATEDELETE

ADDTRIPLES REMOVETRIPLESDESCRIBE

Page 12: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 12

Observable Property

ObservableProperty

Has

Description

Property

Of Interest

DescribesDescribes

HasHas

Subscription

MethodExposes API via

Handler

URL

Has

Has

MethodExposes API via

RDFTriples

HasH

asMethodExposes

API via

InstanceOf

Type

Has

Has

SUBSCRIBEUNSUBSCRIBE

ADDTRIPLES REMOVETRIPLESDESCRIBE

CREATEDELETEGETSET

Page 13: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 13

IoT Toolkit: Gateway + Service GaaS

● Constrained network gateway supporting multiple Wireless Sensor Nets (WSN)

● Using CoAP as a sensor abstraction layer, create Resource Description for each sensor using core-link-format and IPSO application concepts from link-format compatibility ontology.

● HTTP LD <=> CoAP RD Semantic proxy

● Service and gateway use same reference implementation and API

● Software Agents and Resources may be replicated across gateways and services for redundancy

● Creates a compatibility layer for sensor nets and services

Page 14: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 14

ClosedGateway

INTERNET

IoT MULTI-PROTOCOLGATEWAY

Multiple Sensor Nets,Constrained Protocols

IoT Gateway-as-a-Service

Service

API

IoT “Silo”or other

data source Cloud Apps

GatewayApps

IoT ToolkitIoT Applications

run in Cloudor on Gateway

Page 15: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 15

Access Control

● Rethinking of access control for granular interaction between people and things

● Based on social graph connecting to physical graph

● FOAF connects people to people● SSN, O&M, IoT ontologies will connect things to

things and define situations and context● FOAT ontology is proposed to connect people to

things with concepts of individual authority

Page 16: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 16

Ontologies● Ontologies define the data architecture of

these systems● This system needs various ontologies to drive

the interactions and propagate new constructs– SSN, IoT, O&M define sensing, actuation, situations– SmartObject to define resources in the SmartObject

API– LinkFormat to map CoAP RD to Linked Data– FOAT to define relationships between people and

things– IoTServices to define services e.g. SPARQL,

MapReduce endpoints

Page 17: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 17

IoT Toolkit Project

● Reference implementation work in progress using Python, rdflib, restlite

● Reference platforms Raspberry Pi + Ciseco EVE multi-WSN, Ubuntu micro-instance GaaS

● Xbee, Z-Wave, EnOcean, XRF, RFM12B on board, BT, WiFi, etc using USB plugs

● To Do: Document+Test complete API, high level semantic patterns, ontologies, sensor nets, service functionality e.g. SPARQL endpoint, MapReduce

Page 18: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 18

Page 19: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 19

Page 20: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 20

Page 21: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 21

Page 22: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 22

Page 23: Tools for the Open Source Internet of Things

12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 23