Tools for the Open Source Internet Of Things
-
Upload
michael-koster -
Category
Internet
-
view
214 -
download
0
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 18
12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 19
12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 20
12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 21
12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 22
12/12/2012 Michael J Koster Tools for the Open Source Internet of Things 23