SlideShare a Scribd company logo
Web to the Edge
REST and Hypermedia Design for
Machine APIs
Michael Koster – Current Work
• ARM
– IoT Architecture and Standards
– Application Level Interoperability
– Developer Enablement
• IETF
– Resource Directory
– CoRE Interfaces
– CoAP Pub-Sub
– T2TRG
• OMA LWM2M
– Peer-to-peer, firewall traversal, and M2M interface
• IPSO
– Smart Object Committee, Data Model and Schema
IoT Architecture – Problems to Solve
• Interoperability
– In the way in which software interacts with physical
resources
– Decouple IoT devices from the software that manages them
– Discovery, Management and Reporting, Security,
Authorization
• Scalability
– Large number of devices, users, interactions, connections
– Scale-less interaction
• Technology Reuse and Modularity
– Software, networks, protocols, data models
– Across vendors in a vertical application segment
– Across diverse vertical application segments
• Low Barrier to Innovation
– Anyone can participate and innovate
Internet/WWW Design Patterns
• Narrow Waist, endpoint oriented
– Innovation happens at the endpoints, enabled by common,
openly available network protocols (the narrow waist)
• Layered Protocols
– Common set of IP protocols (TCP, UDP) abstract the lower
communication layers
– Common Application Protocols (HTTP, REST) abstract
resources
• Uniform Addressing
– URIs and Hyperlinks point to resources
– IP Addresses, DNS names are globally unique
• Stateless Interaction
– Client-Server pattern
– Hypermedia As The Engine Of Application State
How Does it Apply to IoT?
• Internet Protocol (IP) on Constrained
Devices
• Machine to Machine (M2M) Application
Protocols
• Standard Object Models and Data Models
• Hypermedia for Machine APIs
IP for Constrained Environments
CoAP HTTP
6LowPAN IPV4/IPV6
MCU – 16KiB RAM MPU
802.15.4 WiFi, Ethernet
Hardware
HW Network
Routing
Application Protocol
CoAP Protocol
 Makes each device a
lightweight origin server that
exposes a REST API
 A CoAP endpoint may also
contain application client logic
 A CoAP endpoint can be both
client and server
 Peer to Peer interaction is
based on a duplex client-
server pattern
 Also supports asynchronous
notification, Pub-Sub pattern
RFC 6690 CoRE Link-Format
<4001/0/9002>;rt=“oma.lwm2m”;ct=50;obs=1
Resource Type
Content Type
Observability
Resource Discovery
See draft-ietf-core-resource-directory
• RFC 6690 CoRE Link Format
defines
– The link format media type
– Peer-to-peer discovery
• A directory approach is also useful
– Supports sleeping nodes
– No multicast traffic, longer battery life
– Remote lookup, hierarchical and
federated distribution
• CoRE Link Format is used in
Resource Directories
– Nodes register their resource links to an
RD
– Nodes refresh the RD periodically
– Nodes may unregister (remove) their RD
entry
Application
GET /rd-lookup/ep
</nodea/sensor/temp>
</nodeb/actuator/led>
Device Management and Application
Support
Application Software
IPSO Objects
OMA LWM2M
CoAP HTTP
6LowPAN IPV4/IPV6
MCU – 16KiB RAM MPU
802.15.4 WiFi, Ethernet
Hardware
HW Network
Routing
Application Protocol
API and Services
Data Models
Application
Web Server
OMA LWM2M Reference Architecture
 M2M Applications
 Application abstraction through
REST API
 Resource Discovery and Linking
 LWM2M Clients are Devices
 Device abstraction through CoAP
 LWM2M Clients are CoAP Servers
 Any IP network connection
 LWM2M Server
 CoAP Protocol persistent endpoint
 Supports Caching Proxy
 Resource Directory
 Gateway and Cloud deployable
OMA LWM2M Interfaces
• Bootstrap Interface
– Configure Servers & Keying
– Pre-Configured, Smart Card, or
Server Initiated Bootstrap
– CoAP REST API
• Registration Interface
– RFC6690 and Resource
Directory
• Management and Application
Interface Using Objects
– Device Management Objects
and Resources
– CoAP REST API
• Reporting Interface
– Object Instances and
Resources Report
– Asynchronous notification using
CoAP Observe
OMA LWM2M Object Model
• A Client has one or more Object
Instances
• An Object is a collection of Resources
• A Resource is an atomic piece of
information that can be Read, Written
or Executed
• Objects can have multiple instances
• Objects and Resources are identified
by 16-bit Integers
• Objects/Resources are accessed with
simple URIs:
/{Object ID}/{Object
Instance}/{Resource ID}
Example: /3/0/1
• Object Type=3 (Device)
• Instance=0
• Resource Type = 1 (Device Mfg.)
IPSO Smart Objects
• Plug and play data models between applications and
data sources
• Create a set of reusable objects and resources that
represent single points of interest and fundamental
concepts
– Temperature Sensor, On-Off Control Switch
– Current Value, Max Value, Min Value
• Make Objects and Resources Reusable across
application domains
• Build up models of complex things by composing
simple objects
– For example, an electric motor with temperature sensors,
rotation speed, power supply current, voltage, frequency,
vibration sensors
IPSO Smart Objects Support Modular
Internet Protocols
Application Software
IPSO Objects
LWM2M
CoAP HTTP
6LowPAN
/Thread
IPV4/IPV6
MCU – 16KiB
RAM
MPU
802.15.4 WiFi, Ethernet
Hardware
HW Network
Internet Protocol
Wire Protocol + REST
API – Data and Metadata
Data Models
Application
REST
Server
Device Management
Other IP
Based
Stacks:
MQTT,
XMPP, etc.
Non-IP
based
Transport -
BTLE
IPSO Smart Objects are based on
LWM2M Data Model
• REST API with a URI template
– 2 level Class Hierarchy and schema
– Objects, one or more instances
– Resources
• Reusable resource and object IDs
– Object ID determines gross concept
and object structure
– Resource ID determines what aspect
of the object is represented
– Semantic Consistency e.g.
Object=Temperature,
Resource=Current Value
– IDs are registered with the OMNA
• Data Types and Operations
– String, Decimal, Boolean, Time,
ObjLink
– Read, Write, Create, Delete, Execute,
Discover, Observe, Notify
3303/0/5700
Object ID, defines object type
Object Instance, one or more
Resource ID, defines resource type
3303 is Temperature
5700 is Current Value
3303/0/5700 refers to the current value
of temperature sensor instance 0
IPSO Smart Object Example
Semantic Annotation of Smart Objects
• Object annotation uses RFC 6690 links for associating additional
semantic descriptions with Smart Objects and Resources
• Can be used to add contextual metadata and dynamic link
relations
• Semantic connectors to web scale common data models
• Discovery by relation and attribute
– For example, using CoRE Resource Directory:
GET /rd-lookup?ep&rt=“urn:X-ipso:temperature”
Returns: </sensors/3303/0/5700>;obs;if=“urn:X-
ipso:sensor”;rt=“urn:X-
ipso:temperature”;ct=50;u=“ucum:degC”
Composite IPSO Smart Objects
Web of Things
Hypermedia Web Applications
IPSO Objects + Hypermedia
OMA LWM2M
CoAP HTTP
6LowPAN IPV4/IPV6
MCU – 16KiB RAM MPU
802.15.4 WiFi, Ethernet
Hardware
HW Network
Routing
Application Protocol
API and Services
Data Models
Application
Web Server
• API State Machine Automation
– Enables Common Web Client to interact with any device or virtual
entity, regardless of schema or model structure
– Hypermedia controls work like HTTP links and forms, but for functional
abstractions of physical world items like on/off light switch controls
• Application Semantics and Discovery
– Describes intrinsic resources and controls at the application level using
physical concepts like temperature, light intensity
– Enables applications to discover the proper resources to link to
• Context Integration
– Contextual information like installed location, what is being measured
and controlled, also used in application resource discovery
• Using Web Linking, Relations, and Attributes
Hypermedia
Model-Based Information Architecture
ModelSchema
Web API
M2M API
Application
Physical Abstraction
Constrained Environments
Intrinsic Properties
Functional Abstractions
Instance of Schema
Compositional
Conceptual Abstraction
User Experience
Autonomic Control
Hypermedia
Annotation
Templates
Code Generation
Gateway/Cloud API
Hypermedia Controls for
Events, Actions, Properties
Classes
Operations
Data Types
Construction
Annotation
Discovery
• Instance(s) of Schema(s) with annotation
• Enable composition of complex entities from simple ones
• Connect functional abstractions to concrete APIs
• Constructors for hypermedia controls
• Contain relations and attributes
– Provide a way to describe entities using semantic annotation
– Provide a structured way to introduce contextual annotation
• Can function as instance constructors for constrained devices,
e.g. server code generation
• Also provide for managed APIs and application code generation
Models
Deployment From Models
ModelSchema
Service Layer
Devices
Web Applications
Hypermedia
Code
Generation
Proxies, Web Servers,
Gateways, Catalogs
Embedded,
Mobile,
Local, Cloud
Connected
Devices, Mobile
Devices
Hypermedia-Capable Devices
Common Client
Semantic Binding
Protocol Binding
Deployment with LWM2M
Web Applications
Common Client
Constrained
Devices
Device Connector
Virtual Entity
Catalogs Brokers
Pub-SubDiscovery
M2M API
Pub-Sub
Hypermedia
Discovery
REST API
LWM2M
WoT Servient
Example Deployment
Web Application
Common Client
WoT Device
Catalog Broker
Web Application
Common Client
WoT Device
Catalog
Pub-Sub
REST API
Discovery Discovery
Example Deployment
Control Application
Common Client
WoT Device
Catalog Broker
Pub-Sub
Discovery
WoT Device
WoT Device
REST
Orchestration
• What do the hypermedia descriptions of events, actions, and
properties look like?
• What are the functional abstractions that will be used to
enable vertical specialization while still providing broad
interoperability?
• How does discovery integrate with API automation?
• What are the metadata constructs for connecting constrained
hypermedia to higher level abstractions?
• Prototype using constrained lighting objects with LWM2M and
IoT Toolkit open source python framework
• Reference WoT client using Node-RED + extensions
Follow on work
• RESTful API Modeling Language (RAML) uses JSON Schema
• JSON Schema, JSON Hyper-schema
• Web API Description Language (WADL)
• XML Schema Definition language (XSD)
• URI Templates (RFC 6570)
• IETF CoRE Interfaces Function Set
• Schema.org – Vocabulary for RDFa, JSON-LD
• RESTdesc.org – uses Turtle (RDF based)
• Hypertext Application Language (HAL)
• Eclipse Vorto
• Hydra
• ALPS
Modeling Tools and Frameworks
• XMPP – XEP-323, XEP-325
• Hypercat – Hypercat 3.0
• OneM2M – MAS
• Zigbee Alliance – ZCL-over-IP
• HGI - SDT
• IIC – Use Cases and Testbeds
• UPnP – Common Data
Model
• Cable Labs – Common Data
Model
Organizations and Initiatives
• W3C – WoT TF-TD, TF-DI
• OMA - GotAPI
• IETF – CoRE RD, Interfaces,
link-format
• IPSO – Smart Object
Guidelines
• IEEE – P2413
• OIC – SHP
• Allseen Alliance, Alljoyn
• Eclipse Foundation – Vorto,
IoT Backend
References
IPSO Smart Object Guideline
http://www.ipso-alliance.org/smart-object-guidelines
OMA LWM2M Specification
http://openmobilealliance.hs-sites.com/lightweight-m2m-
specification-from-oma
IETF CoAP and Related Specifications
CoAP (RFC 7252):
http://tools.ietf.org/html/rfc7252
CoRE Link-Format (RFC 6690):
http://tools.ietf.org/html/rfc6690
CoRE Resource Directory: http://tools.ietf.org/html/draft-ietf-
core-resource-directory
CoAP Community Site
http://coap.technology/

More Related Content

What's hot

Hypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsHypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of Things
Michael Koster
 
Iot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for InteroperabilityIot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for InteroperabilityMichael Koster
 
IoT Toolkit and the Smart Object API Tutorial Introduction
IoT Toolkit and the Smart Object API Tutorial IntroductionIoT Toolkit and the Smart Object API Tutorial Introduction
IoT Toolkit and the Smart Object API Tutorial IntroductionMichael Koster
 
REST APIs for the Internet of Things
REST APIs for the Internet of ThingsREST APIs for the Internet of Things
REST APIs for the Internet of ThingsMichael Koster
 
Research Topics in Machine Hypermedia
Research Topics in Machine HypermediaResearch Topics in Machine Hypermedia
Research Topics in Machine Hypermedia
Michael Koster
 
Iottoolkit osiot
Iottoolkit osiotIottoolkit osiot
Iottoolkit osiot
Michael Koster
 
CCNA-Open-Platform-IoT
CCNA-Open-Platform-IoTCCNA-Open-Platform-IoT
CCNA-Open-Platform-IoT
Michael Koster
 
Object models for interoperability
Object models for interoperabilityObject models for interoperability
Object models for interoperabilityMichael Koster
 
OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
OMA LwM2M Workshop - Michael Koster, IPSO Alliance ObjectsOMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
Open Mobile Alliance
 
A Modular Open Source Platform for IoT
A Modular Open Source Platform for IoTA Modular Open Source Platform for IoT
A Modular Open Source Platform for IoTMichael Koster
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
Ipso application templates
Ipso application templatesIpso application templates
Ipso application templates
Michael Koster
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
Restful Asynchronous Notification
Restful Asynchronous NotificationRestful Asynchronous Notification
Restful Asynchronous Notification
Michael Koster
 
A Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityA Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT Interoperability
Michael Koster
 
Lighting a Beacon: training for (future) implementers
Lighting a Beacon: training for (future) implementersLighting a Beacon: training for (future) implementers
Lighting a Beacon: training for (future) implementers
CINECAProject
 
Enterprise Application Architectures by Dr. Indika Kumara
Enterprise Application Architectures by Dr. Indika KumaraEnterprise Application Architectures by Dr. Indika Kumara
Enterprise Application Architectures by Dr. Indika Kumara
Thejan Wijesinghe
 

What's hot (17)

Hypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of ThingsHypermedia System Architecture for a Web of Things
Hypermedia System Architecture for a Web of Things
 
Iot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for InteroperabilityIot Toolkit and the Smart Object API - Architecture for Interoperability
Iot Toolkit and the Smart Object API - Architecture for Interoperability
 
IoT Toolkit and the Smart Object API Tutorial Introduction
IoT Toolkit and the Smart Object API Tutorial IntroductionIoT Toolkit and the Smart Object API Tutorial Introduction
IoT Toolkit and the Smart Object API Tutorial Introduction
 
REST APIs for the Internet of Things
REST APIs for the Internet of ThingsREST APIs for the Internet of Things
REST APIs for the Internet of Things
 
Research Topics in Machine Hypermedia
Research Topics in Machine HypermediaResearch Topics in Machine Hypermedia
Research Topics in Machine Hypermedia
 
Iottoolkit osiot
Iottoolkit osiotIottoolkit osiot
Iottoolkit osiot
 
CCNA-Open-Platform-IoT
CCNA-Open-Platform-IoTCCNA-Open-Platform-IoT
CCNA-Open-Platform-IoT
 
Object models for interoperability
Object models for interoperabilityObject models for interoperability
Object models for interoperability
 
OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
OMA LwM2M Workshop - Michael Koster, IPSO Alliance ObjectsOMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
OMA LwM2M Workshop - Michael Koster, IPSO Alliance Objects
 
A Modular Open Source Platform for IoT
A Modular Open Source Platform for IoTA Modular Open Source Platform for IoT
A Modular Open Source Platform for IoT
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
 
Ipso application templates
Ipso application templatesIpso application templates
Ipso application templates
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
 
Restful Asynchronous Notification
Restful Asynchronous NotificationRestful Asynchronous Notification
Restful Asynchronous Notification
 
A Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityA Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT Interoperability
 
Lighting a Beacon: training for (future) implementers
Lighting a Beacon: training for (future) implementersLighting a Beacon: training for (future) implementers
Lighting a Beacon: training for (future) implementers
 
Enterprise Application Architectures by Dr. Indika Kumara
Enterprise Application Architectures by Dr. Indika KumaraEnterprise Application Architectures by Dr. Indika Kumara
Enterprise Application Architectures by Dr. Indika Kumara
 

Similar to Web of Things to the edge

Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Michael Koster
 
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Michael Koster
 
A Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityA Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityMichael Koster
 
M2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitMichael Koster
 
M2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitMichael Koster
 
IoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityIoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityMichael Koster
 
IoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityIoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityMichael Koster
 
IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptx
suptel
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
Weijun Qin
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Getting value from IoT, Integration and Data Analytics
 
REST APIs for an Internet of Things
REST APIs for an Internet of ThingsREST APIs for an Internet of Things
REST APIs for an Internet of ThingsMichael Koster
 
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, SolaceMesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
HostedbyConfluent
 
Key Open Standards for inter-operable IoT systems
Key Open Standards for inter-operable IoT systemsKey Open Standards for inter-operable IoT systems
Key Open Standards for inter-operable IoT systemsPratul Sharma
 
Lighthouse 20100120
Lighthouse 20100120Lighthouse 20100120
Lighthouse 20100120
Infrastructure 2.0
 
Lighthouse20100120
Lighthouse20100120Lighthouse20100120
Lighthouse20100120sureddy
 
WOTS2E: A Search Engine for a Semantic Web of Things
WOTS2E: A Search Engine for a Semantic Web of ThingsWOTS2E: A Search Engine for a Semantic Web of Things
WOTS2E: A Search Engine for a Semantic Web of Things
Andreas Kamilaris
 
Achieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of ThingsAchieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of Things
iotest
 

Similar to Web of Things to the edge (20)

Design patternsforiot
Design patternsforiotDesign patternsforiot
Design patternsforiot
 
Ietf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipsoIetf91 ad hoc-coap-lwm2m-ipso
Ietf91 ad hoc-coap-lwm2m-ipso
 
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
Open Horizontal Platform - Web Scale Interoperability for the Internet of Thi...
 
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
Open Horizontal Platform - Web Scale Interoperability for IoT - CCNA 2013
 
A Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT InteroperabilityA Modular Open Source Platform for Web Scale IoT Interoperability
A Modular Open Source Platform for Web Scale IoT Interoperability
 
M2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT Toolkit
 
M2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT ToolkitM2M Protocol Interoperability using IoT Toolkit
M2M Protocol Interoperability using IoT Toolkit
 
IoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityIoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for Interoperability
 
IoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for InteroperabilityIoT Toolkit and the Smart Object API - Architecture for Interoperability
IoT Toolkit and the Smart Object API - Architecture for Interoperability
 
IOT15_Unit6.pptx
IOT15_Unit6.pptxIOT15_Unit6.pptx
IOT15_Unit6.pptx
 
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
RestThing: A Restful Web Service Infrastructure for Mash-up Physical and Web ...
 
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
Databasecentricapisonthecloudusingplsqlandnodejscon3153oow2016 160922021655
 
REST APIs for an Internet of Things
REST APIs for an Internet of ThingsREST APIs for an Internet of Things
REST APIs for an Internet of Things
 
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, SolaceMesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
Mesh-ing around with Streams across the Enterprise | Phil Scanlon, Solace
 
Key Open Standards for inter-operable IoT systems
Key Open Standards for inter-operable IoT systemsKey Open Standards for inter-operable IoT systems
Key Open Standards for inter-operable IoT systems
 
APITalkMeetupSharable
APITalkMeetupSharableAPITalkMeetupSharable
APITalkMeetupSharable
 
Lighthouse 20100120
Lighthouse 20100120Lighthouse 20100120
Lighthouse 20100120
 
Lighthouse20100120
Lighthouse20100120Lighthouse20100120
Lighthouse20100120
 
WOTS2E: A Search Engine for a Semantic Web of Things
WOTS2E: A Search Engine for a Semantic Web of ThingsWOTS2E: A Search Engine for a Semantic Web of Things
WOTS2E: A Search Engine for a Semantic Web of Things
 
Achieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of ThingsAchieving Semantic Interoperability in the Internet of Things
Achieving Semantic Interoperability in the Internet of Things
 

More from Michael Koster

Osiot14 buildout
Osiot14 buildoutOsiot14 buildout
Osiot14 buildout
Michael Koster
 
Osiot13 IoT buildout
Osiot13 IoT buildoutOsiot13 IoT buildout
Osiot13 IoT buildout
Michael Koster
 
Ipso smart objects for iot
Ipso smart objects for iotIpso smart objects for iot
Ipso smart objects for iot
Michael Koster
 
MQTT REST Bridge using the Smart Object API
MQTT REST Bridge using the Smart Object APIMQTT REST Bridge using the Smart Object API
MQTT REST Bridge using the Smart Object APIMichael Koster
 
The Network Effect - Open Source and the Internet Of Things - Helsinki Keynote
The Network Effect - Open Source and the Internet Of Things - Helsinki KeynoteThe Network Effect - Open Source and the Internet Of Things - Helsinki Keynote
The Network Effect - Open Source and the Internet Of Things - Helsinki KeynoteMichael Koster
 
Tools for the Open Source Internet of Things
Tools for the Open Source Internet of ThingsTools for the Open Source Internet of Things
Tools for the Open Source Internet of ThingsMichael Koster
 
Open Standards for IoT - GSM Workshop on IoT Standards Atlanta 2013
Open Standards for IoT - GSM Workshop on IoT Standards Atlanta 2013Open Standards for IoT - GSM Workshop on IoT Standards Atlanta 2013
Open Standards for IoT - GSM Workshop on IoT Standards Atlanta 2013Michael Koster
 
Personal Agency on the IoT
Personal Agency on the IoTPersonal Agency on the IoT
Personal Agency on the IoTMichael Koster
 
Friend Of A Thing and IoT Resource access control #OSIOT
Friend Of A Thing and IoT Resource access control #OSIOTFriend Of A Thing and IoT Resource access control #OSIOT
Friend Of A Thing and IoT Resource access control #OSIOT
Michael Koster
 
MQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMichael Koster
 

More from Michael Koster (10)

Osiot14 buildout
Osiot14 buildoutOsiot14 buildout
Osiot14 buildout
 
Osiot13 IoT buildout
Osiot13 IoT buildoutOsiot13 IoT buildout
Osiot13 IoT buildout
 
Ipso smart objects for iot
Ipso smart objects for iotIpso smart objects for iot
Ipso smart objects for iot
 
MQTT REST Bridge using the Smart Object API
MQTT REST Bridge using the Smart Object APIMQTT REST Bridge using the Smart Object API
MQTT REST Bridge using the Smart Object API
 
The Network Effect - Open Source and the Internet Of Things - Helsinki Keynote
The Network Effect - Open Source and the Internet Of Things - Helsinki KeynoteThe Network Effect - Open Source and the Internet Of Things - Helsinki Keynote
The Network Effect - Open Source and the Internet Of Things - Helsinki Keynote
 
Tools for the Open Source Internet of Things
Tools for the Open Source Internet of ThingsTools for the Open Source Internet of Things
Tools for the Open Source Internet of Things
 
Open Standards for IoT - GSM Workshop on IoT Standards Atlanta 2013
Open Standards for IoT - GSM Workshop on IoT Standards Atlanta 2013Open Standards for IoT - GSM Workshop on IoT Standards Atlanta 2013
Open Standards for IoT - GSM Workshop on IoT Standards Atlanta 2013
 
Personal Agency on the IoT
Personal Agency on the IoTPersonal Agency on the IoT
Personal Agency on the IoT
 
Friend Of A Thing and IoT Resource access control #OSIOT
Friend Of A Thing and IoT Resource access control #OSIOTFriend Of A Thing and IoT Resource access control #OSIOT
Friend Of A Thing and IoT Resource access control #OSIOT
 
MQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object APIMQTT - REST Bridge using the Smart Object API
MQTT - REST Bridge using the Smart Object API
 

Recently uploaded

Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Brad Spiegel Macon GA
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
natyesu
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
laozhuseo02
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
laozhuseo02
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
Gal Baras
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
GTProductions1
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
VivekSinghShekhawat2
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
JungkooksNonexistent
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Sanjeev Rampal
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
nirahealhty
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC
 

Recently uploaded (20)

Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptxBridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
Bridging the Digital Gap Brad Spiegel Macon, GA Initiative.pptx
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
BASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptxBASIC C++ lecture NOTE C++ lecture 3.pptx
BASIC C++ lecture NOTE C++ lecture 3.pptx
 
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shopHistory+of+E-commerce+Development+in+China-www.cfye-commerce.shop
History+of+E-commerce+Development+in+China-www.cfye-commerce.shop
 
The+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptxThe+Prospects+of+E-Commerce+in+China.pptx
The+Prospects+of+E-Commerce+in+China.pptx
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
How to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptxHow to Use Contact Form 7 Like a Pro.pptx
How to Use Contact Form 7 Like a Pro.pptx
 
Comptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guideComptia N+ Standard Networking lesson guide
Comptia N+ Standard Networking lesson guide
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptxInternet-Security-Safeguarding-Your-Digital-World (1).pptx
Internet-Security-Safeguarding-Your-Digital-World (1).pptx
 
Latest trends in computer networking.pptx
Latest trends in computer networking.pptxLatest trends in computer networking.pptx
Latest trends in computer networking.pptx
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and GuidelinesMulti-cluster Kubernetes Networking- Patterns, Projects and Guidelines
Multi-cluster Kubernetes Networking- Patterns, Projects and Guidelines
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!This 7-second Brain Wave Ritual Attracts Money To You.!
This 7-second Brain Wave Ritual Attracts Money To You.!
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
APNIC Foundation, presented by Ellisha Heppner at the PNG DNS Forum 2024
 

Web of Things to the edge

  • 1. Web to the Edge REST and Hypermedia Design for Machine APIs
  • 2. Michael Koster – Current Work • ARM – IoT Architecture and Standards – Application Level Interoperability – Developer Enablement • IETF – Resource Directory – CoRE Interfaces – CoAP Pub-Sub – T2TRG • OMA LWM2M – Peer-to-peer, firewall traversal, and M2M interface • IPSO – Smart Object Committee, Data Model and Schema
  • 3. IoT Architecture – Problems to Solve • Interoperability – In the way in which software interacts with physical resources – Decouple IoT devices from the software that manages them – Discovery, Management and Reporting, Security, Authorization • Scalability – Large number of devices, users, interactions, connections – Scale-less interaction • Technology Reuse and Modularity – Software, networks, protocols, data models – Across vendors in a vertical application segment – Across diverse vertical application segments • Low Barrier to Innovation – Anyone can participate and innovate
  • 4. Internet/WWW Design Patterns • Narrow Waist, endpoint oriented – Innovation happens at the endpoints, enabled by common, openly available network protocols (the narrow waist) • Layered Protocols – Common set of IP protocols (TCP, UDP) abstract the lower communication layers – Common Application Protocols (HTTP, REST) abstract resources • Uniform Addressing – URIs and Hyperlinks point to resources – IP Addresses, DNS names are globally unique • Stateless Interaction – Client-Server pattern – Hypermedia As The Engine Of Application State
  • 5. How Does it Apply to IoT? • Internet Protocol (IP) on Constrained Devices • Machine to Machine (M2M) Application Protocols • Standard Object Models and Data Models • Hypermedia for Machine APIs
  • 6. IP for Constrained Environments CoAP HTTP 6LowPAN IPV4/IPV6 MCU – 16KiB RAM MPU 802.15.4 WiFi, Ethernet Hardware HW Network Routing Application Protocol
  • 7. CoAP Protocol  Makes each device a lightweight origin server that exposes a REST API  A CoAP endpoint may also contain application client logic  A CoAP endpoint can be both client and server  Peer to Peer interaction is based on a duplex client- server pattern  Also supports asynchronous notification, Pub-Sub pattern
  • 8. RFC 6690 CoRE Link-Format <4001/0/9002>;rt=“oma.lwm2m”;ct=50;obs=1 Resource Type Content Type Observability
  • 9. Resource Discovery See draft-ietf-core-resource-directory • RFC 6690 CoRE Link Format defines – The link format media type – Peer-to-peer discovery • A directory approach is also useful – Supports sleeping nodes – No multicast traffic, longer battery life – Remote lookup, hierarchical and federated distribution • CoRE Link Format is used in Resource Directories – Nodes register their resource links to an RD – Nodes refresh the RD periodically – Nodes may unregister (remove) their RD entry Application GET /rd-lookup/ep </nodea/sensor/temp> </nodeb/actuator/led>
  • 10. Device Management and Application Support Application Software IPSO Objects OMA LWM2M CoAP HTTP 6LowPAN IPV4/IPV6 MCU – 16KiB RAM MPU 802.15.4 WiFi, Ethernet Hardware HW Network Routing Application Protocol API and Services Data Models Application Web Server
  • 11. OMA LWM2M Reference Architecture  M2M Applications  Application abstraction through REST API  Resource Discovery and Linking  LWM2M Clients are Devices  Device abstraction through CoAP  LWM2M Clients are CoAP Servers  Any IP network connection  LWM2M Server  CoAP Protocol persistent endpoint  Supports Caching Proxy  Resource Directory  Gateway and Cloud deployable
  • 12. OMA LWM2M Interfaces • Bootstrap Interface – Configure Servers & Keying – Pre-Configured, Smart Card, or Server Initiated Bootstrap – CoAP REST API • Registration Interface – RFC6690 and Resource Directory • Management and Application Interface Using Objects – Device Management Objects and Resources – CoAP REST API • Reporting Interface – Object Instances and Resources Report – Asynchronous notification using CoAP Observe
  • 13. OMA LWM2M Object Model • A Client has one or more Object Instances • An Object is a collection of Resources • A Resource is an atomic piece of information that can be Read, Written or Executed • Objects can have multiple instances • Objects and Resources are identified by 16-bit Integers • Objects/Resources are accessed with simple URIs: /{Object ID}/{Object Instance}/{Resource ID} Example: /3/0/1 • Object Type=3 (Device) • Instance=0 • Resource Type = 1 (Device Mfg.)
  • 14. IPSO Smart Objects • Plug and play data models between applications and data sources • Create a set of reusable objects and resources that represent single points of interest and fundamental concepts – Temperature Sensor, On-Off Control Switch – Current Value, Max Value, Min Value • Make Objects and Resources Reusable across application domains • Build up models of complex things by composing simple objects – For example, an electric motor with temperature sensors, rotation speed, power supply current, voltage, frequency, vibration sensors
  • 15. IPSO Smart Objects Support Modular Internet Protocols Application Software IPSO Objects LWM2M CoAP HTTP 6LowPAN /Thread IPV4/IPV6 MCU – 16KiB RAM MPU 802.15.4 WiFi, Ethernet Hardware HW Network Internet Protocol Wire Protocol + REST API – Data and Metadata Data Models Application REST Server Device Management Other IP Based Stacks: MQTT, XMPP, etc. Non-IP based Transport - BTLE
  • 16. IPSO Smart Objects are based on LWM2M Data Model • REST API with a URI template – 2 level Class Hierarchy and schema – Objects, one or more instances – Resources • Reusable resource and object IDs – Object ID determines gross concept and object structure – Resource ID determines what aspect of the object is represented – Semantic Consistency e.g. Object=Temperature, Resource=Current Value – IDs are registered with the OMNA • Data Types and Operations – String, Decimal, Boolean, Time, ObjLink – Read, Write, Create, Delete, Execute, Discover, Observe, Notify 3303/0/5700 Object ID, defines object type Object Instance, one or more Resource ID, defines resource type 3303 is Temperature 5700 is Current Value 3303/0/5700 refers to the current value of temperature sensor instance 0
  • 17. IPSO Smart Object Example
  • 18. Semantic Annotation of Smart Objects • Object annotation uses RFC 6690 links for associating additional semantic descriptions with Smart Objects and Resources • Can be used to add contextual metadata and dynamic link relations • Semantic connectors to web scale common data models • Discovery by relation and attribute – For example, using CoRE Resource Directory: GET /rd-lookup?ep&rt=“urn:X-ipso:temperature” Returns: </sensors/3303/0/5700>;obs;if=“urn:X- ipso:sensor”;rt=“urn:X- ipso:temperature”;ct=50;u=“ucum:degC”
  • 20. Web of Things Hypermedia Web Applications IPSO Objects + Hypermedia OMA LWM2M CoAP HTTP 6LowPAN IPV4/IPV6 MCU – 16KiB RAM MPU 802.15.4 WiFi, Ethernet Hardware HW Network Routing Application Protocol API and Services Data Models Application Web Server
  • 21. • API State Machine Automation – Enables Common Web Client to interact with any device or virtual entity, regardless of schema or model structure – Hypermedia controls work like HTTP links and forms, but for functional abstractions of physical world items like on/off light switch controls • Application Semantics and Discovery – Describes intrinsic resources and controls at the application level using physical concepts like temperature, light intensity – Enables applications to discover the proper resources to link to • Context Integration – Contextual information like installed location, what is being measured and controlled, also used in application resource discovery • Using Web Linking, Relations, and Attributes Hypermedia
  • 22. Model-Based Information Architecture ModelSchema Web API M2M API Application Physical Abstraction Constrained Environments Intrinsic Properties Functional Abstractions Instance of Schema Compositional Conceptual Abstraction User Experience Autonomic Control Hypermedia Annotation Templates Code Generation Gateway/Cloud API Hypermedia Controls for Events, Actions, Properties Classes Operations Data Types Construction Annotation Discovery
  • 23. • Instance(s) of Schema(s) with annotation • Enable composition of complex entities from simple ones • Connect functional abstractions to concrete APIs • Constructors for hypermedia controls • Contain relations and attributes – Provide a way to describe entities using semantic annotation – Provide a structured way to introduce contextual annotation • Can function as instance constructors for constrained devices, e.g. server code generation • Also provide for managed APIs and application code generation Models
  • 24. Deployment From Models ModelSchema Service Layer Devices Web Applications Hypermedia Code Generation Proxies, Web Servers, Gateways, Catalogs Embedded, Mobile, Local, Cloud Connected Devices, Mobile Devices Hypermedia-Capable Devices Common Client Semantic Binding Protocol Binding
  • 25. Deployment with LWM2M Web Applications Common Client Constrained Devices Device Connector Virtual Entity Catalogs Brokers Pub-SubDiscovery M2M API Pub-Sub Hypermedia Discovery REST API LWM2M WoT Servient
  • 26. Example Deployment Web Application Common Client WoT Device Catalog Broker Web Application Common Client WoT Device Catalog Pub-Sub REST API Discovery Discovery
  • 27. Example Deployment Control Application Common Client WoT Device Catalog Broker Pub-Sub Discovery WoT Device WoT Device REST Orchestration
  • 28. • What do the hypermedia descriptions of events, actions, and properties look like? • What are the functional abstractions that will be used to enable vertical specialization while still providing broad interoperability? • How does discovery integrate with API automation? • What are the metadata constructs for connecting constrained hypermedia to higher level abstractions? • Prototype using constrained lighting objects with LWM2M and IoT Toolkit open source python framework • Reference WoT client using Node-RED + extensions Follow on work
  • 29. • RESTful API Modeling Language (RAML) uses JSON Schema • JSON Schema, JSON Hyper-schema • Web API Description Language (WADL) • XML Schema Definition language (XSD) • URI Templates (RFC 6570) • IETF CoRE Interfaces Function Set • Schema.org – Vocabulary for RDFa, JSON-LD • RESTdesc.org – uses Turtle (RDF based) • Hypertext Application Language (HAL) • Eclipse Vorto • Hydra • ALPS Modeling Tools and Frameworks
  • 30. • XMPP – XEP-323, XEP-325 • Hypercat – Hypercat 3.0 • OneM2M – MAS • Zigbee Alliance – ZCL-over-IP • HGI - SDT • IIC – Use Cases and Testbeds • UPnP – Common Data Model • Cable Labs – Common Data Model Organizations and Initiatives • W3C – WoT TF-TD, TF-DI • OMA - GotAPI • IETF – CoRE RD, Interfaces, link-format • IPSO – Smart Object Guidelines • IEEE – P2413 • OIC – SHP • Allseen Alliance, Alljoyn • Eclipse Foundation – Vorto, IoT Backend
  • 31. References IPSO Smart Object Guideline http://www.ipso-alliance.org/smart-object-guidelines OMA LWM2M Specification http://openmobilealliance.hs-sites.com/lightweight-m2m- specification-from-oma IETF CoAP and Related Specifications CoAP (RFC 7252): http://tools.ietf.org/html/rfc7252 CoRE Link-Format (RFC 6690): http://tools.ietf.org/html/rfc6690 CoRE Resource Directory: http://tools.ietf.org/html/draft-ietf- core-resource-directory CoAP Community Site http://coap.technology/