1 
IPSO Smart Objects 
October16, 2014 
And Related Standards
IPSO Smart Objects - Device to Application Interoperability 
2 
Application Software 
IPSO Objects 
OMA LWM2M 
CoAP HTTP 
6LowPAN IPV4/IPV6 
802.15.4 WiFi, Ethernet 
MCU – 16KiB RAM MPU 
Application 
Data Models 
API and Services 
Application Protocol 
Routing 
HW Network 
Hardware
IPSO Smart Objects - Use Case Applicability 
3 
Web 
Application 
Application 
Service e.g. LWM2M 
Server 
Sensor/ 
Actuator 
Device 
Device with 
Embedded 
Application 
Application 
Client 
Peer-Peer 
Constrained 
Device, e.g. 16KB 
RAM, 128KB Flash 
Smart Object Registration, 
Discovery and Data Layer 
Service, Device Proxy and Cache 
Applications can Discover and 
Interact with devices using Peer-Peer 
networking or through Services, using 
the same semantics
IPSO Smart Objects 
4 
§ IPSO Smart Objects are based on OMA LWM2M 
§ Defines application objects using the LWM2M Object Model 
§ Complex objects can be composed from simple objects 
§ Easy to add new resource and object types as needed 
§ OMA LWM2M is based on CoAP 
§ Provides a server profile for IoT middleware 
§ Defines a simple reusable object model 
§ Defines management objects and reuses REST API for onboarding and device life cycle management 
§ CoAP and related standards from IETF 
§ CoAP Protocol (RFC 7252) provides a REST API for device abstraction and data compatibility layer for 
constrained networks and devices 
§ HTTP Proxy provides application abstraction through standard web APIs 
§ Core-link-format (RFC 6690) provides a way to add semantic descriptors in the form of web links and 
enables local resource discovery through the REST API 
§ Resource Directory provides an API for scalable discovery and linking using core-link-format primitives
Review - CoAP Protocol 
5 
§ Makes each device a lightweight server 
that exposes a REST API 
§ A CoAP device can be both client and 
server 
§ Roles can be reversed and the sensor, as 
a client, can update a REST API at 
another node, device or server 
§ Peer to Peer interaction based on a 
duplex client-server pattern
Review - Resource Discovery 
6 
See draft-ietf-core-resource- 
directory 
Web Applications Discover 
Registered Resources 
• CoRE Link Format defines 
– The link format 
– 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 POST (register) their resource links to an RD 
– Nodes PUT (refresh) to the RD periodically 
– Nodes may DELETE (remove) their RD entry
Resource Discovery Example Flow 
7 
See draft-ietf-core-resource-directory 
core.rd 
service 
REGISTRATION! 
POST /rd?ep=‘235598376’&lt=19999! 
</3303/0/5700>;rt=“urn:X-ipso:temp-C”! 
Endpoint 
2.01 Created Location:/rd/235598376 
DISCOVERY! 
GET /rd-lookup?ep&rt=“urn:X-ipso:temp-C”! 
2.05 Content ! 
</235598376/3303/0/5700>;rt=“urn:X-ipso:temp-C”! 
Endpoint
Review - LWM2M Reference Architecture 
8 
§ Web Applications 
§ Application abstraction through 
REST API 
§ Resource Discovery and Linking 
§ LWM2M Server 
§ CoAP 
§ Supports HTTP Caching Proxy 
§ Resource Directory 
§ Gateway and Cloud deployable 
§ LWM2M Clients are Devices 
§ Device abstraction through CoAP 
§ LWM2M Clients can be CoAP Servers 
§ Any IP network connection
LWM2M Application Server 
9 
Web App 
LWM2M 
Server 
CoAP 
Soft Endpoints 
IP 
Device 
/domain/endpoints/3303/0/5700 
/3303/0/5700 
IP 
Device 
LWM2M Clients
LWM2M Application Server 
10 
Web App 
http/REST 
LWM2M 
Server 
CoAP 
IP 
Device 
/domain/endpoints/3303/0/5700 
/3303/0/5700 
IP 
Device 
LWM2M Clients
LWM2M Application Server 
11 
Web App 
http/REST 
LWM2M 
Server 
CoAP 
IP 
Device 
1. NOTIFY 
IP 
Device 
LWM2M Clients
IPSO Smart Object Structure 
12 
• 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 a 16-bit 
Integer, Instances by an 8-bit Integer 
• Objects/Resources are accessed with simple URIs: 
/{Object ID}/{Object Instance}/{Resource ID} 
Ex: /3/0/1 (Object Type=Device, Instance=0, 
Resource=Device Mfg.)
IPSO Smart Object Structure 
§ REST API with a URI template 
13 
§ Objects 
§ Object Instances 
§ Resources 
§ (Resource Instances) 
§ Reusable resource and object IDs 
§ Common definitions for concepts 
§ Map to semantic terms e.g. 
temperature, currentValue 
§ IDs are registered with the OMNA 
§ Can be embedded in a path 
hierarchy on the server 
§ /home/weather/3303/0/5700 
3303/0/5700! 
Object ID, defines object type 
Object Instance, one or more 
Resource ID, defines resource type
IPSO Smart Object Semantics 
14 
Object with 
Internal Resources
Ad-Hoc IPSO Smart Object – BLE Heart Rate Sensor Profile 
15
Ad-Hoc IPSO Smart Object – Smart Thermostat 
16
Composite IPSO Smart Objects 
17
IPSO Smart Object Summary 
18 
Application Software 
IPSO Smart Objects 
OMA LWM2M 
CoAP 
Not tied to specific device or protocol 
Any Programming Language 
Runs on devices, gateways, and services 
Application Level Interoperability 
Reusable Device to Application API 
Not tied to any specific protocol 
Service Layer Specification 
Device Management over CoAP 
Object Model for DM and Applications 
REST protocol for constrained devices 
IETF Standard (RFC 7252) 
Uses TCP or UDP, any IP connection 
Discovery using IP Multicast or Directory
IPSO Smart Object Summary 
19 
• Simple web objects that represent common sensors, actuators, 
and data elements exposed for Internet of Things applications 
• Based on Internet and Industry Standards 
• Objects can be composed into more complex objects; for example 
a temperature object, set point object, and load control object can 
be combined to create a thermostat object 
• Recently published the first set of objects to cover some common 
Smart Home and Sensor use cases 
• New objects are easy to create; we are planning a developer-friendly 
process for creating and registering new objects
IPSO Smart Object Summary 
20 
§ Smart Objects are Easy to Modify and Customize 
§ Based on Consistent Design Patterns and Reusable Resource 
Definitions 
§ Object Sets can be Forked and Modified 
§ Expecting Domain-Specific Object Sets to be Created by 
Collaborative Vertical Working Groups 
§ New Object Sets can be Released as new Smart Object Guidelines 
§ Objects in Released Smart Object Guidelines are Registered with the 
OMA, Use Standard OMA DDF (XML) File Format Object Descriptors
IPSO Smart Objects Future Work 
21 
§ Linked Composite Objects 
§ Gateway Management Objects – Mapping of TR-069 to REST 
§ Behavioral Objects – Smart Objects to represent embedded Timers, 
Sequencers, Controllers and bindings to resources 
§ Mapping and Binding of Smart Objects to Zigbee Application Clusters 
(OnOff Cluster Example) 
§ Mapping and Binding of Smart Objects to Bluetooth Application Profiles 
(Heart Monitor Example) 
§ Advanced Lighting Objects
References 
IPSO Smart Object Guideline 
22 
http://www.ipso-alliance.org/technical-information/ipso-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-01 
CoAP Community Site 
http://coap.technology/

Ipso eclipse-summary

  • 1.
    1 IPSO SmartObjects October16, 2014 And Related Standards
  • 2.
    IPSO Smart Objects- Device to Application Interoperability 2 Application Software IPSO Objects OMA LWM2M CoAP HTTP 6LowPAN IPV4/IPV6 802.15.4 WiFi, Ethernet MCU – 16KiB RAM MPU Application Data Models API and Services Application Protocol Routing HW Network Hardware
  • 3.
    IPSO Smart Objects- Use Case Applicability 3 Web Application Application Service e.g. LWM2M Server Sensor/ Actuator Device Device with Embedded Application Application Client Peer-Peer Constrained Device, e.g. 16KB RAM, 128KB Flash Smart Object Registration, Discovery and Data Layer Service, Device Proxy and Cache Applications can Discover and Interact with devices using Peer-Peer networking or through Services, using the same semantics
  • 4.
    IPSO Smart Objects 4 § IPSO Smart Objects are based on OMA LWM2M § Defines application objects using the LWM2M Object Model § Complex objects can be composed from simple objects § Easy to add new resource and object types as needed § OMA LWM2M is based on CoAP § Provides a server profile for IoT middleware § Defines a simple reusable object model § Defines management objects and reuses REST API for onboarding and device life cycle management § CoAP and related standards from IETF § CoAP Protocol (RFC 7252) provides a REST API for device abstraction and data compatibility layer for constrained networks and devices § HTTP Proxy provides application abstraction through standard web APIs § Core-link-format (RFC 6690) provides a way to add semantic descriptors in the form of web links and enables local resource discovery through the REST API § Resource Directory provides an API for scalable discovery and linking using core-link-format primitives
  • 5.
    Review - CoAPProtocol 5 § Makes each device a lightweight server that exposes a REST API § A CoAP device can be both client and server § Roles can be reversed and the sensor, as a client, can update a REST API at another node, device or server § Peer to Peer interaction based on a duplex client-server pattern
  • 6.
    Review - ResourceDiscovery 6 See draft-ietf-core-resource- directory Web Applications Discover Registered Resources • CoRE Link Format defines – The link format – 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 POST (register) their resource links to an RD – Nodes PUT (refresh) to the RD periodically – Nodes may DELETE (remove) their RD entry
  • 7.
    Resource Discovery ExampleFlow 7 See draft-ietf-core-resource-directory core.rd service REGISTRATION! POST /rd?ep=‘235598376’&lt=19999! </3303/0/5700>;rt=“urn:X-ipso:temp-C”! Endpoint 2.01 Created Location:/rd/235598376 DISCOVERY! GET /rd-lookup?ep&rt=“urn:X-ipso:temp-C”! 2.05 Content ! </235598376/3303/0/5700>;rt=“urn:X-ipso:temp-C”! Endpoint
  • 8.
    Review - LWM2MReference Architecture 8 § Web Applications § Application abstraction through REST API § Resource Discovery and Linking § LWM2M Server § CoAP § Supports HTTP Caching Proxy § Resource Directory § Gateway and Cloud deployable § LWM2M Clients are Devices § Device abstraction through CoAP § LWM2M Clients can be CoAP Servers § Any IP network connection
  • 9.
    LWM2M Application Server 9 Web App LWM2M Server CoAP Soft Endpoints IP Device /domain/endpoints/3303/0/5700 /3303/0/5700 IP Device LWM2M Clients
  • 10.
    LWM2M Application Server 10 Web App http/REST LWM2M Server CoAP IP Device /domain/endpoints/3303/0/5700 /3303/0/5700 IP Device LWM2M Clients
  • 11.
    LWM2M Application Server 11 Web App http/REST LWM2M Server CoAP IP Device 1. NOTIFY IP Device LWM2M Clients
  • 12.
    IPSO Smart ObjectStructure 12 • 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 a 16-bit Integer, Instances by an 8-bit Integer • Objects/Resources are accessed with simple URIs: /{Object ID}/{Object Instance}/{Resource ID} Ex: /3/0/1 (Object Type=Device, Instance=0, Resource=Device Mfg.)
  • 13.
    IPSO Smart ObjectStructure § REST API with a URI template 13 § Objects § Object Instances § Resources § (Resource Instances) § Reusable resource and object IDs § Common definitions for concepts § Map to semantic terms e.g. temperature, currentValue § IDs are registered with the OMNA § Can be embedded in a path hierarchy on the server § /home/weather/3303/0/5700 3303/0/5700! Object ID, defines object type Object Instance, one or more Resource ID, defines resource type
  • 14.
    IPSO Smart ObjectSemantics 14 Object with Internal Resources
  • 15.
    Ad-Hoc IPSO SmartObject – BLE Heart Rate Sensor Profile 15
  • 16.
    Ad-Hoc IPSO SmartObject – Smart Thermostat 16
  • 17.
  • 18.
    IPSO Smart ObjectSummary 18 Application Software IPSO Smart Objects OMA LWM2M CoAP Not tied to specific device or protocol Any Programming Language Runs on devices, gateways, and services Application Level Interoperability Reusable Device to Application API Not tied to any specific protocol Service Layer Specification Device Management over CoAP Object Model for DM and Applications REST protocol for constrained devices IETF Standard (RFC 7252) Uses TCP or UDP, any IP connection Discovery using IP Multicast or Directory
  • 19.
    IPSO Smart ObjectSummary 19 • Simple web objects that represent common sensors, actuators, and data elements exposed for Internet of Things applications • Based on Internet and Industry Standards • Objects can be composed into more complex objects; for example a temperature object, set point object, and load control object can be combined to create a thermostat object • Recently published the first set of objects to cover some common Smart Home and Sensor use cases • New objects are easy to create; we are planning a developer-friendly process for creating and registering new objects
  • 20.
    IPSO Smart ObjectSummary 20 § Smart Objects are Easy to Modify and Customize § Based on Consistent Design Patterns and Reusable Resource Definitions § Object Sets can be Forked and Modified § Expecting Domain-Specific Object Sets to be Created by Collaborative Vertical Working Groups § New Object Sets can be Released as new Smart Object Guidelines § Objects in Released Smart Object Guidelines are Registered with the OMA, Use Standard OMA DDF (XML) File Format Object Descriptors
  • 21.
    IPSO Smart ObjectsFuture Work 21 § Linked Composite Objects § Gateway Management Objects – Mapping of TR-069 to REST § Behavioral Objects – Smart Objects to represent embedded Timers, Sequencers, Controllers and bindings to resources § Mapping and Binding of Smart Objects to Zigbee Application Clusters (OnOff Cluster Example) § Mapping and Binding of Smart Objects to Bluetooth Application Profiles (Heart Monitor Example) § Advanced Lighting Objects
  • 22.
    References IPSO SmartObject Guideline 22 http://www.ipso-alliance.org/technical-information/ipso-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-01 CoAP Community Site http://coap.technology/