ONEM2M –PRESENTATION TO W3C · PDF fileoneM2M Architecture approach Pipe (vertical): 1...

33
© 2014 oneM2M Omar Elloumi, oneM2M TP Chair oneM2M www.oneM2M.org ONEM2M – PRESENTATION TO W3C

Transcript of ONEM2M –PRESENTATION TO W3C · PDF fileoneM2M Architecture approach Pipe (vertical): 1...

© 2014 oneM2M

Omar Elloumi, oneM2M TP Chair

oneM2M www.oneM2M.org

ONEM2M – PRESENTATION TO W3C

Over 200 member organizations in oneM2M

The Partnership Project

2

200+ members organizationsSome of the 200+ active members of oneM2M

3

Purpose

To specify and promote an

M2M Common Service Layer

Purpose & Deliverables

26-Jan-2016 © 2016 oneM2M 4

M2M Common Service Layer

Deliverables

Technical Reports and Technical Specifications

M2M Common Service Layer

• It is a software layer

• It sits between M2M applications and communication HW/SW that provides data transport

• It normally rides on top of IP

26-Jan-2016 © 2016 oneM2M 5

• It normally rides on top of IP

• It provides functions that M2M applications across different industry segments commonly need. Those functions are exposed to Applications via developer friendly APIs.

• It allows for distributed intelligence (device, gateway, cloud apps)

Industry

Work Process

Public ServicesEnterprise HealthcareEnergy

TransportationOtherResidential

Backup slide

26-Jan-2016 © 2016 oneM2M 6

REQUIREMENTSTS-0002

TECHNICAL SPECSTECHNICAL REPORTS

oneM2M Architecture approach

Pipe (vertical):1 Application, 1 NW,

1 (or few) type of DevicePoint to point communications

Horizontal (based on common Layer)Applications share common service and network infrastructure

Multipoint communications

Business

ApplicationApplication Application Application Application

Common Service LayerCommon

Service Layer

26-Jan-2016 © 2016 oneM2M 7

Local NW

Device

Communication

Network (wireline, wireless,

Powerline ..)

Gateway

Communication

Network 1

Communication

Network 2

Local NW

Gateway

IP

A

Common Service Layer

Device Device

Device

AS

AA Device

AS

S Common Service Layer

S

A

Service Layer

A Application

Things

Things

representations

(including

semantics)

AE AEApplication

Architecture

AE

Application Entity Provides application logic for the end-to-end M2M solutions

Network Services Entity Provides services to the CSEs besides the pure data transport

Node Logical equivalent of a physical (or possibly virtualized, especially on the server side) device

26-Jan-2016 © 2016 oneM2M 8

Underlying

Network

Underlying

Network

AE

NSE

AE

NSE NSENSE

Application Service Node Middle Node Infrastructure Node

Application

Layer

Network

Layer

AE

AE AE AEApplication

Reference Point One or more interfaces - Mca, Mcn, Mcc and Mcc’ (between 2 service providers)

Common Services Entity Provides the set of "service functions" that are common to the M2M environments

Application Entity Provides application logic for the end-to-end M2M solutions

Network Services Entity Provides services to the CSEs besides the pure data transport

Node Logical equivalent of a physical (or possibly virtualized, especially on the server side) device

Architecture

26-Jan-2016 © 2016 oneM2M 9

Underlying

Network

Underlying

Network

CSE

AE

NSE

CSE

AE

NSE

CSE

AE

NSENSE

Application Service Node Middle Node Infrastructure Node

Application

Layer

Service

Layer

Network

Layer

McaMca

McnMcn

McaMca McaMca

McnMcnMcnMcnMcnMcnMccMcc MccMcc

CSE

Mcc’Mcc’

Inf. Node

oneM2M Resource Structure<CSEBase>

Common Attributes:

resourceType

resourceID

parentID

expirationTime

accessControlPolicyIDs

labels

creationTime

lastModifiedTime

stateTag

“attribute”n

0..n<remoteCSE>

<node>

<AE>

<container>

<group>

0..n

0..n

0..n

0..n

0 n

26-Jan-2016 © 2016 oneM2M 10

stateTag

announceTo

announcedAttribute

CSEBase Specific Attributes:

cseType

pointOfAccess

CSEBase

CSE-ID

M2M-Ext-ID

TriggerRicipient-ID

requestReachability

nodeLink

<accessControlPolicy>

<subscription>

<mgmtCmd>

<locationPolicy>

<statsConfig>

<statsCollect>

<request>

<delivery>

<schedule>

0..n

0..n

0..n

0..n

0..n

0..n

0..n

0..n

0..1

oneM2M Resource Example

26-Jan-2016 © 2016 oneM2M 11

Communication Protocols

Reuse IP-based existing protocols

Service Layer

Core ProtocolsTS-0004

CoAP BindingTS-0008

MQTT BindingTS-0010

HTTP BindingTS-0009

XML or JSON Content serialization - HTTP Example

Backup slide

26-Jan-2016 © 2016 oneM2M 12

XML or JSON Content serialization - HTTP Example

REQUESTGET /~/CSE-178/CSEBase/home/temperature HTTP/1.1

Host: provider.net

X-M2M-Origin: /CSE-123/WeatherApp42

X-M2M-RI: 56398096

Accept: application/json

RESPONSEHTTP/1.1 200 OK

X-M2M-RI: 56398096

X-M2M-RSC: 2000

Content-Type: application/vnd.onem2m-res+json

Content-Length: 101

{“m2m:cin”:[

"cnf":"application/json:0",

"con":"{'timestamp':1413405177000,'value':25.32}"]

}

RegistrationGroup

ManagementSecurityDiscovery

Data Application & Device Subscription &

Common Service FunctionsBackup slide

26-Jan-2016 © 2016 oneM2M 13

Data

Management &

Repository

Application &

Service

Management

Device

Management

Subscription &

Notification

Communication

Management

Service

Charging &

Accounting

Location

Network

Service

Exposure

Strong implementation base

Industry-driven Open source implementations

Examples of Commercial implementations /demos

IotDM

Backup slide

14

Examples of Commercial implementations /demos

First interoperability event (Sept 14-16 2015)

With 30 participating organizations and 75 people

Source: N Damour, Sierra wireless

Ongoing collaborations (not exhaustive list)

Guidelines

& Ref. Arch.

MQTT uses

collaborations

15

Protocols Platforms

OMADM LWM2M

HTTP CoAP TLS DTLS

uses

uses

interworks with

Source: N Damour, Sierra Wireless

Why we are here?

• We see great potential in bringing semantic technologies to IoT

• However, our findings as regards Semantic technologies and IoT show:– The business benefits are not always well understood to our stakeholders

– There is a need to educate the engineers (IoT domain experts)

– There is a need to provide a venue where we can build consensus aroundontologies and their applications in IoT space

26-Jan-2016 © 2016 oneM2M 16

– There is a need to provide a venue where we can build consensus aroundontologies and their applications in IoT space

• W3C has a strong background in Semantics and we are interested in exploring how we can collaborate in applying this to IoT

• oneM2M and IoT standards can provide IoT domain knowledge and use cases

• oneM2M has some initial framework that is reusing W3C, our aim isto get feedback

Semantics in oneM2M

Martin Bauer

NEC Europe Ltd.

[email protected]

Overview

• Semantics as new Feature in oneM2M Release 2

– Example

• Architectural Aspects

– Semantic Descriptor

– Semantic Resource Filtering / Discovery

• Semantic Modelling

26-Jan-2016 © 2016 oneM2M 18

• Semantic Modelling

– oneM2M Base Ontology

– Interworking with non-oneM2M devices based on Semantics

– Example: SAREF Ontology

• Outlook

Example: oneM2M Release 1

without Semantics

• oneM2M provides resource structure for sensor

applications to provide their information

• Syntax and semantics of information not visible

to the platform

– At best limited support for discovery (explicit tags)

– No support for efficient access to structured information,

creation of mash-ups, support for analytics

Temperature AE

Temperature

Value Container

Temperature Value

Instance 1

Temperature Value

...

...

...

Building Management Application

26-Jan-2016 © 2016 oneM2M 19

creation of mash-ups, support for analytics

• Applications using the information have to a-

priori know

– Resources provided by each sensor applications

– Syntax and semantics of information

Explicit configuration step for every change in

available sensors

...

Temperature Value

Instance 2

• oneM2M provides resource structure for sensor

applications to provide their information

• oneM2M provides semantic information about

resource contents and functionalities making use

of it

• Functionalities that can be provided or enhanced

using semantics

– Queries/Discovery based on semantic descriptions

– Support for analytics (e.g. efficient access to information,

Temperature AE

Temperature

Value Container

Temperature Value

Instance 1

Temperature Value

...

Building Management Application

Type: Temperature

Unit: Celsius

...

...

Example: oneM2M Release 2(+)

with Semantics

26-Jan-2016 © 2016 oneM2M 20

– Support for analytics (e.g. efficient access to information,

deployment of analytics within the platform)

– Support for creation of mash-ups (e.g. enabling IoT

scenarios)

• Applications using the information can

– Specify what information they are interested in � be

notified in case of relevant changes

– Syntax and semantics of information is made explicit, so

applications can decide whether they can handle it, what

module is needed for processing etc.

Automatic configuration for every change in

available sensors

...

Temperature Value

Instance 2

Architectural Aspects:

Semantic Descriptor Resource Type

• Key oneM2M resource types

can be semantically annotated

with a description stored in a

semantic descriptor resource

AE

con-

tainer

content

instance

26-Jan-2016 © 2016 oneM2M 21

<semanticDescriptor>

1descriptor

<subscription>0..n

0..1ontologyRef

...

my:MyDevice1 rdf:type base:Device

my:MyDevice1 base:hasService

my:MyService1

my:MyService1 base:hasFunctionality

my:MyFunctionality1

my:MyFunctionality1 rdf:type base:Measuring

Example descriptor

http://www.onem2m.org/ontology/Base_Ontology/Device

Relation: Semantic Graph and oneM2M

Resource Structure

oneM2M Resource

Structure

oneM2M Resource

<semanticDescriptor>

Resource

...

26-Jan-2016 © 2016 oneM2M 22

Logical Semantic

Graph

Instance of ontology

concept / individual

Relation / property

Stored in one <semantic

Descriptor> Resource

Architectural Aspects:

Semantic Filtering / Discovery• Filtering / discovering (child) resources: RETRIEVE request on

appropriate oneM2M resource with semantic filter

• Semantic Filter: The semantic description contained in one of

the <semanticDescriptor> child resources matches the

semantic filter that shall be specified in the SPARQL query

language.

26-Jan-2016 © 2016 oneM2M 23

language.

���� Resource is included in result if semantic filter matches

• Semantic information may be stored across different semantic

descriptors

Blue box represents the

scope of a semantic filter,

i.e. this is the information

required for evaluating it

Filter request: ”Find all AE resources

representing devices that have

a service that has an operation whose

output quantifies a temperature aspect”

Concrete Example

Device12

Operation

A

Device12

oneM2M Resource Structure Semantic Graphs

hasService hasFunctionality

...

Service23

hasOperation

OperationA

...

Operation A

hasOutput has Method

same -> logical graph includes both

26-Jan-2016 © 2016 oneM2M 24

output quantifies a temperature aspect”

SPARQL representation of filter:…

SELECT ?device

WHERE { ?device rdf:type base:Device .

?device base:hasService ?service .

?service base:hasOperation ?operation .

?operation base:hasOutput ?output .

?output base:quantifies

temp:TemperatureAspect

}

...

OutputX

quantifies

Temperature

Aspect

...

Filter request: ”Find all devices that have

a service that has an operation whose

output quantifies a temperature aspect”

Concrete Example using Annotation Property

Device12

Operation

A

Device12oneM2M Resource Structure Semantic Graphs

hasService hasFunctionality

...

Service23

hasOperation

OperationA

...

Operation A

hasOutput has Method

26-Jan-2016 © 2016 oneM2M 25

output quantifies a temperature aspect”

SPARQL representation:…

SELECT ?device

WHERE { ?device rdf:type base:Device .

?device base:hasService ?service .

?service base:hasOperation ?operation .

?operation base:hasOutput ?output .

?output base:quantifies

temp:TemperatureAspect

}

hasOutput has Method

...

OutputX

quantifies

Temperature

Aspect

...

On encountering the OperationA

instance with resourceDescriptorLink

referencing the semantic descriptor

of the OperationA resource, its

content is added and the SPARQL

execution is executed on the

extended content

Filter request: ”Find all devices that have

a service that has an operation whose

output quantifies a temperature aspect”

Concrete Example using Semantic Descriptor attribute

Device12

Operation

A

Device12oneM2M Resource Structure Semantic Graphs

hasService hasFunctionality

...

Service23

hasOperation

OperationA

...

Operation A

hasOutput has Method

relatedSemantics

Attribute

26-Jan-2016 © 2016 oneM2M 26

output quantifies a temperature aspect”

SPARQL representation:…

SELECT ?device

WHERE { ?device rdf:type base:Device .

?device base:hasService ?service .

?service base:hasOperation ?operation .

?operation base:hasOutput ?output .

?output base:quantifies

temp:TemperatureAspect

}

hasOutput has Method

...

OutputX

quantifies

Temperature

Aspect

...

Before evaluating the semantic filter (SPARQL),

the content of the semantic descriptor

resource and the content of all resources

linked through the relatedSemantics attribute

are loaded and the SPARQL request is evaluated

on the integrated information.

Semantic Modelling:

oneM2M Base Ontology (1)

• Goal of oneM2M Base Ontology:

model key concepts relevant for oneM2M

platform to support

– Interoperability within oneM2M

26-Jan-2016 © 2016 oneM2M 27

– Interoperability within oneM2M

– Generic Interworking with other technologies

• oneM2M Base Ontology does not model

domain-specific aspects

• But supports mapping of domain-specific

ontologies, e.g. SAREF ontology

Device

FunctionalityService

hasService hasFunctionality

consistsOf

exposes

Functionality

Area

Network

Interworked

Device

isPartOf

isControl

ledBy

Thing

hasThingProperty

hasThingRelation Value

hasMeta

Data

is-a

is-a

Meta

Data

concerns

hasSubService

rdfs:Literal

hasDataType

AndRange

rdfs:Literal

hasTarget

Thing

Device

oneM2M Base Ontology (2)

26-Jan-2016 © 2016 oneM2M 28

FunctionalityService

Operation

hasOperation

isExposed

ByService

Input

hasTarget

Aspect

refersToMeasuring

Functionality

ControllingFunctionality

Command

hasCommand

is-a

hasMethodexposesCommand

Output

describe

Operation

State

hasOperation

State

isExposedByOperation

canHave

MetaDatahasInputhasOutput

hasSubService

rdfs:Literal

rdf:PlainLiteral

rdfs:Literal

hasDataType

AndRange

OperationalSemantic

Generic Interworking with

non-oneM2M devices based on Semantics

• oneM2M defines Mapping Rules based on classes defined in oneM2M Base Ontology

• Examples: – Devices are mapped to <AE> resources

– Operations are mapped to <container> resources

– Functionality is specified in semantic descriptor of AE

26-Jan-2016 © 2016 oneM2M 29

– Functionality is specified in semantic descriptor of AE

� oneM2M resource structure, e.g. of non-oneM2M device, is defined based on semantic model

� Applications know how to interact, e.g. with devices, through oneM2M

� Tool support, e.g. for creating skeleton of Interworking Proxy, is possible

Example: Mapping SAREF to

oneM2M Base Ontology• SAREF: Smart Appliance REFerence

ontology

• Developed by TNO for EU and

standardized by ETSI:

– ETSI TS 103 264 v1.1.1

26-Jan-2016 © 2016 oneM2M 30

– ETSI TS 103 264 v1.1.1

Shows subClass mapping of SAREF Device class

(appliances) to oneM2M Device class

Example: oneM2M resource

structure for SAREF washing machineoneM2M Resource Structure

saref:Device

oneM2M:

Device

Rule: oneM2M:

Device is mapped

to AE Resource

subClass

saref:Washing

subClass

26-Jan-2016 © 2016 oneM2M 31

to AE Resource

type

WASH_LG_123

saref:Washing

Maching

WashingService_123

StartStop_Operation_123

Rule: operation

is mapped to

Container resource

Rule: semantic information

related to device stored in

semanticDescriptor resource

Semantic description

Outlook

• oneM2M Release 2 contains basic semantic

functionality and oneM2M base ontology

• Further semantic support, including support

of direct semantic queries, analytics and

26-Jan-2016 © 2016 oneM2M 32

of direct semantic queries, analytics and

mash-ups envisioned for Release 3

• Feedback from W3C Web of Things including

exploration of opportunities for collaboration

welcome!

Proposed terms

of collaboration• Scope of the collaboration:

• IoT archiecture and protocol

• Method of work:

• oneM2M (MAS WG) to present its work on semantic interop. to W3C Web of Things WG and get feedback

• oneM2M to provide its use cases for consideration by the W3C Web of Things working group

• W3C to present its work on Web of Things to oneM2M

• W3C to keep oneM2M updated about the progress of their work on Web of Things (e.g. semantic support

for constrained devices)

• Other methods of works may be developed as we progress (incremental process)

26-Jan-2016 © 2016 oneM2M 33

• Other methods of works may be developed as we progress (incremental process)

• Boundaries: No IPR licensing or confidentiality agreement will be provided. Instead, consultation will be

established.

• Deliverables: Each organization to publish its own deliverables (no common deliverable currently planned)

• Any content that may be useful as a technical contribution must come into oneM2M via a oneM2M

member

• Communications: Both organizations to list each other on their respective web pages (when applicable), and to

identify opportunities for joint press releases when we have an appropriate story to tell.

• Timeline of expected results: may influence R2, more impact expected for R3

• oneM2M involved WG: MAS (primary), SEC, PRO