Download presentation
Presentation is loading. Please wait.
Published byMarsha Carson Modified over 6 years ago
1
Development Guideline for oneM2M Products and Services
Bridging the Standardization Gap Session on IoT Cairo, Egypt, 6 May 2018
2
Content ITU oneM2M Relationship oneM2M Rest API (DEVELOPPER GUIDE)
oneM2M high level architecture Interworking with non oneM2M devices oneM2M resources oneM2M Example scenarios oneM2M Rest API (DEVELOPPER GUIDE) DEMO Increasing market acceptance Development Guideline for oneM2M Products and Services
3
ITU-T Y.4500 series transposing oneM2M specification
Y : oneM2M- Functional architecture Y : oneM2M - Requirements Y : oneM2M – Service layer core protocol Y : oneM2M- Management enablement (OMA) Y : oneM2M Management enablement (BBF) Y : oneM2M- CoAP Protocol Binding Y : oneM2M- HTTP Protocol Binding Y : oneM2M- MQTT Protocol Binding Y : oneM2M- Common Terminology Y : oneM2M Base Ontology Y : oneM2M- Interoperability Testing Y : oneM2M- LwM2M Interworking Y : oneM2M- Testing framework Y : oneM2M- WebSocket Protocol Binding Y : oneM2M- Field device configuration Y : oneM2M-Home Appliances Information Model and Mapping Referencing ITU-T Rec number will help audience to understand better the relationship Development Guideline for oneM2M Products and Services
4
oneM2M high level architecture
Entities: AE (Application Entity), CSE (Common Services Entity) and NSE (Network Services Entity) Reference Point: One or more interfaces - Mca, Mcn, Mcc and Mcc’ Development Guideline for oneM2M Products and Services
5
oneM2M Architecture overview
Hierarchical topology of M2M Nodes Nodes: Common Services Entities (CSE) Application Entities (AE) Field Domain : Middle Nodes (MN) Application Dedicated Nodes (ADN) Application Service Nodes (ASN) Infrastructure Domain: Infrastructure Node (IN) Operations Support System AE AE Infrastructure Domain Infrastructure Node IN-CSE Data centre Middle Node MN-CSE MN-CSE M2M Gateway Middle Node MN-CSE AE Application Dedicated Node AE Sensor Field Domain Application Dedicated Node AE Smart Meter Application Service Node AE ASN-CSE Application Dedicated Node AE Development Guideline for oneM2M Products and Services
6
Interworking with non oneM2M devices
The Interworking Proxy Entity (IPE) abstracts and maps the non-oneM2M data model to the oneM2M resources. Bidrectional communication between the oneM2M system and a specific technology (Monitor and Control). Seamless interaction between applications and devices using the oneM2M Restful API. Development Guideline for oneM2M Products and Services
7
oneM2M interworking vision
Development Guideline for oneM2M Products and Services
8
oneM2M resource structure
Resource type representation ACP: Access Control Policy Development Guideline for oneM2M Products and Services
9
oneM2M resource types Cse BASE Access Control Policy Remote CSE Application Entity Container Content Instance Group Subscription Polling Channel Node Mgmt Object … Development Guideline for oneM2M Products and Services
10
oneM2M resource tree example
Resource Type CseBase Application Entity Container Content Instance MN-CSE-HOME AE-SMART-METER CNT-DESCRIPTOR CIN-DESCRIPTION_1 CNT-DATA CIN-MEASUREMENT_3 Smart Meter (ADN) CIN-MEASUREMENT_2 Server/Cloud (IN-CSE) End user (DA) CIN-MEASUREMENT_1 Gateway (MN-CSE) Development Guideline for oneM2M Products and Services
11
oneM2M Example scenarios
Scenario 1 - Nodes mutual authentication and applications registration Scenario 2 - Retrieve data from smart meter Scenario 3 - Get notified when new metering data is created Development Guideline for oneM2M Products and Services
12
Nodes mutual authentication and applications registration
Scenario 1 Nodes mutual authentication and applications registration Development Guideline for oneM2M Products and Services
13
Development Guideline for oneM2M Products and Services
ASN-AE IN-AE mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer mcc Smart Meter Device Smart Metering Server Initial state Development Guideline for oneM2M Products and Services
14
Step 1- AE-PowerProcessing Registers to the Metering Server IN-CSE
ASN-AE IN-AE AE-PowerProcessing POST mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer AE-PowerProcessing mcc Smart Meter Device Smart Metering Server Step 1- AE-PowerProcessing Registers to the Metering Server IN-CSE Development Guideline for oneM2M Products and Services
15
Development Guideline for oneM2M Products and Services
ASN-AE IN-AE AE-PowerProcessing mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-SmartMeter AE-PowerProcessing mcc POST Smart Meter Device Smart Metering Server Step 2- The Smart Meter ASN-CSE registers to the Metering Server IN-CSE Development Guideline for oneM2M Products and Services
16
Development Guideline for oneM2M Products and Services
ASN-AE IN-AE AE-PowerProcessing mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-PowerProcessing mcc Smart Meter Device Smart Metering Server Step 3- The Smart Meter ASN-CSE Creates locally RemoteCSE-MeteringServer resource Development Guideline for oneM2M Products and Services
17
Step 4- AE-SmartMeter registers to the Smart Meter ASN-CSE
ASN-AE IN-AE AE-SmartMeter POST AE-PowerProcessing mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-SmartMeter AE-PowerProcessing mcc Smart Meter Device Smart Metering Server Step 4- AE-SmartMeter registers to the Smart Meter ASN-CSE Development Guideline for oneM2M Products and Services
18
Retrieve data from smart meter
Scenario 2 Retrieve data from smart meter Development Guideline for oneM2M Products and Services
19
Development Guideline for oneM2M Products and Services
ASN-AE IN-AE AE-SmartMeter AE-PowerProcessing mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-SmartMeter AE-PowerProcessing mcc Smart Meter Device Smart Metering Server Initial state Development Guideline for oneM2M Products and Services
20
Step 1- AE-SmartMeter Creates Container-Power sub-resource
ASN-AE IN-AE AE-SmartMeter POST AE-PowerProcessing mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-SmartMeter AE-PowerProcessing Container-Power mcc Smart Meter Device Smart Metering Server Step 1- AE-SmartMeter Creates Container-Power sub-resource Development Guideline for oneM2M Products and Services
21
Step 2- AE-SmartMeter creates ContentInstance-Power sub-resource
ASN-AE IN-AE AE-SmartMeter POST AE-PowerProcessing mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-SmartMeter AE-PowerProcessing Container-Power ContentInstance-Power mcc Smart Meter Device Smart Metering Server Step 2- AE-SmartMeter creates ContentInstance-Power sub-resource Development Guideline for oneM2M Products and Services
22
Development Guideline for oneM2M Products and Services
ASN-AE IN-AE AE-SmartMeter AE-PowerProcessing GET mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-SmartMeter AE-PowerProcessing Container-Power ContentInstance-Power mcc GET Smart Meter Device Smart Metering Server Step 3- AE-PowerProcessing retrieves the ContentInstance-Power resource Development Guideline for oneM2M Products and Services
23
Get notified when new metering data is created
Scenario 3 Get notified when new metering data is created Development Guideline for oneM2M Products and Services
24
Development Guideline for oneM2M Products and Services
ASN-AE IN-AE AE-SmartMeter AE-PowerProcessing mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-SmartMeter AE-PowerProcessing Container-Power mcc Smart Meter Device Smart Metering Server Initial state Development Guideline for oneM2M Products and Services
25
Development Guideline for oneM2M Products and Services
ASN-AE IN-AE AE-SmartMeter AE-PowerProcessing POST mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-SmartMeter AE-PowerProcessing Container-Power mcc Subscription-Power POST Smart Meter Device Smart Metering Server Step 1- AE-PowerProcessing subscribes to Container-Power of AE-SmartMeter Development Guideline for oneM2M Products and Services
26
Development Guideline for oneM2M Products and Services
ASN-AE IN-AE AE-SmartMeter AE-PowerProcessing POST POST mca mca ASN-CSE IN-CSE CseBase-SmartMeter CseBase-MeteringServer RemoteCSE-MeteringServer RemoteCSE-SmartMeter AE-SmartMeter AE-PowerProcessing Container-Power mcc Subscription-Power POST ContentInstance-Power Smart Meter Device Smart Metering Server Step 2- AE-SmartMeter creates ContentInstance-Power. AE-PowerProcessing is notified. Development Guideline for oneM2M Products and Services
27
oneM2M Rest API (DEVELOPPER GUIDE)
Access Control Policy Create Application Registration Container Create Content Instance Create Group Create Subscription Create Discovery Content Instance Retrieve State Modification Notifications Development Guideline for oneM2M Products and Services
28
oneM2M addressing mode Unstructured address (flat, short) CSE-Relative
SP-Relative Absolute Structured address (hierarchical, long) CSE AE Container Development Guideline for oneM2M Products and Services
29
oneM2M Rest API General Rest API operations
oneM2M Operation HTTP Method Create POST Retrieve GET Update PUT Delete DELETE Notify Headers : (some of the main ones) X-M2M-Origin: is used to identify the originator of the request and to assess their rights Content-type : identifies the type of content, XML or JSON. Also identifies the type of target of the request with the field ty (Resource-type) Content body : (some of the main ones) rn: Resource Name, it is the name of the resource, if not provided a random one is created. Mandatory field. lbl: Label, can be used to search by labels. Optional field. et: Expiration Time, date of expiration of the resource, one is created if not provided. Mandatory. Resource Type ty ACP 1 AE 2 Container 3 Content Instance 4 Subscription 23 Development Guideline for oneM2M Products and Services
30
oneM2M Rest API Create ACP ACP: Access Control Policy
Restrict access from originators Make additions on values for rights ACP Value CREATE 1 RETRIEVE 2 UPDATE 4 DELETE 8 NOTIFY 16 DISCOVERY 32 ALL RIGHTS 63 HTTP REQUEST: POST home_gateway HTTP/1.1 Host: mn.provider.com:8080 X-M2M-Origin: admin:admin Content-Type: application/json; ty=1 { "m2m:acp": { "rn": ”MN-CSEAcp”, "pv": { "acr": { "acor": ["egm:itu"], "acop": "63" } }, "pvs": { "acop": "51" Resource Type ty ACP 1 AE 2 Container 3 Content Instance 4 Subscription 23 ACP Resource Type ACP Name ACP New Originator HTTP ACP CREATE RESPONSE: HTTP/ Created X-M2M-RSC: 2001 X-M2M-RI: mncse-62948 Content-Location: /mn-cse/acp Development Guideline for oneM2M Products and Services
31
oneM2M Rest API Create AE AE: Application Entity
api : application id rr : If the CSE that created this <remoteCSE> resource can receive a request from other AE/CSE(s), this attribute is set to "TRUE" otherwise "FALSE.“ acpi : access control policy id Resource Type ty ACP 1 AE 2 Container 3 Content Instance 4 Subscription 23 HTTP REQUEST: POST home_gateway HTTP/1.1 Host: mn.provider.com:8080 X-M2M-Origin: egm:itu Content-Type: application/json; ty=2 { "m2m:ae": { "rn": “AE1", "api": “itu.demo.example", "rr": "true", "acpi": ["/mn-cse/acp "] } AE Resource Type AE Name HTTP ACP CREATE RESPONSE: HTTP/ Created X-M2M-RSC: 2001 X-M2M-RI: mncse-62948 Content-Location: /mn-cse/acp ACP New Originator HTTP AE CREATE RESPONSE: HTTP/ Created X-M2M-RSC: 2001 X-M2M-RI: mncse-62948 Content-Location: /mn-cse/AE1 Development Guideline for oneM2M Products and Services
32
oneM2M Rest API Create Container of AE1
AE Structured CSE-Relative path Resource Type ty ACP 1 AE 2 Container 3 Content Instance 4 Subscription 23 HTTP REQUEST: POST home_gateway/mn-cse/AE1 HTTP/1.1 Host: mn.provider.com:8080 X-M2M-Origin: egm:itu Content-Type: application/json; ty=3 { "m2m:cnt": { "rn": “light", } Container Resource Type HTTP CONTAINER CREATE RESPONSE: HTTP/ Created X-M2M-RSC: 2001 X-M2M-RI: mncse-62948 Content-Location: /mn-cse/cnt Development Guideline for oneM2M Products and Services
33
oneM2M Rest API Create Container Instance “light” of AE1
Resource Type ty ACP 1 AE 2 Container 3 Content Instance 4 Subscription 23 AE Container Structured CSE-Relative path HTTP REQUEST: POST home_gateway/mn-cse/AE1/light HTTP/1.1 Host: mn.provider.com:8080 X-M2M-Origin: egm:itu Content-Type: application/json; ty=4 { "m2m:cni": { “cnf”: “text/plain:0” “con": “OFF", } Content Instance Resource Type cnf: content format con: content data (value) HTTP CONTAINER INSTANCE CREATE RESPONSE: HTTP/ Created X-M2M-RSC: 2001 X-M2M-RI: mncse-24345 Content-Location: /mn-cse/cin Development Guideline for oneM2M Products and Services
34
oneM2M Rest API Group Create
Creates a group of containers for discovery or subscription HTTP REQUEST: POST /home_gateway/gateway_ae HTTP/1.1 Host: mn.provider.com:8080 X-M2M-Origin: egm:itu Content-Type: application/json; ty=9 { "m2m:grp": { "rn": "containers_grp", "mt": "3", "mid": ["/mn-cse/cnt ", "/mn-cse/cnt "], "mnm": "10" } Group Resource Type HTTP CONTAINER CREATE RESPONSE: HTTP/ Created X-M2M-RSC: 2001 X-M2M-RI: mncse-62948 Content-Location: /mn-cse/cnt Content instances location HTTP GROUP CREATE RESPONSE: HTTP/ Created X-M2M-RSC: 2001 X-M2M-RI: mncse-76905 Content-Location: /mn-cse/grp mt: Member Type mid: Member Id(s) mnm: Maximum Number of Members Development Guideline for oneM2M Products and Services
35
oneM2M Rest API Create Subscription to the Content Instance “light” of AE1 nu: Notification Update (Where the CSE sends new data) nct: Notification Content Type net: Notification Event Type Resource Type ty ACP 1 AE 2 Container 3 Content Instance 4 Subscription 23 AE Container Structured CSE-Relative path HTTP REQUEST: POST home_gateway/mn-cse/AE1/light HTTP/1.1 Host: mn.provider.com:8080 X-M2M-Origin: egm:itu Content-Type: application/json; ty=23 { "m2m:sub": { "rn": "lightstate_sub", "enc": { "net": 3 }, "nu": [“ "nct": 1 } Subscription Resource Type net Interpretation 1 Update_of_Resource 2 Delete_of_Resource 3 Create_of_Direct_Child_Resource 4 Delete_of_Direct_Child_Resource 5 Retrieve_of_Container_Resource_With_No_Child_Resource nct Interpretation 1 All Attributes 2 Modified Attributes 3 ResourceID HTTP SUBSCRIPTION CREATE RESPONSE: HTTP/ Created X-M2M-RSC: 2001 Content-Location: /mn-cse/sub Development Guideline for oneM2M Products and Services
36
oneM2M Rest API Discovery
Discovery is a Retrieve Request (GET) HTTP Request: GET /~/mn-cse/home_gateway?fu=1&rty=3&drt=2 HTTP/1.1 Host: in.provider.com:8080 X-M2M-Origin: /in-cse/CSmartphone_AE X-M2M-RI: mncse-99882 Accept: application/json HTTP DICOVERY RESPONSE: HTTP/ OK X-M2M-RSC: 2000 Content-Type: application/json { "m2m:uril": ["/mn-cse/cnt ", "/mn-cse/cnt "] } fu: Filter Usage drt: discovery result type is set to 2 to indicate that URIs returned in the discovery response are to be in the oneM2M defined unstructured format In this particular use case, a discovery to find the container resources for the Light ADN-AEs is performed. rty: Resource type Using the discovered group resource, an application can send retrieve and update requests to a group of resources hosted on the CSE. Development Guideline for oneM2M Products and Services
37
oneM2M Rest API Retrieve latest Container Instance “light” of AE1
AE Container CSE-Relative path + “/la” for latest HTTP REQUEST: GET home_gateway/mn-cse/AE1/light/la HTTP/1.1 Host: mn.provider.com:8080 X-M2M-Origin: egm:itu Accept: application/json HTTP GET for retrieve HTTP CONTAINER INSTANCE RETRIEVE RESPONSE: HTTP/ OK X-M2M-RSC: 2000 X-M2M-RI: mncse-11223 Content-Type: application/json { "m2m:cin": { "rn" : "cin_ T151738_0", "ty" : 4, "ri" : "cin_ T151738_0", "pi" : "cnt_ T150836_0", "ct" : " T151738", "lt" : " T151738", "et" : " T151738", "st" : 0, "cnf" : "text/plain:0", "cs" : 3, "con" : "OFF" } con: content data (value) Development Guideline for oneM2M Products and Services
38
oneM2M Rest API State Modification The modification of a single Container “light” state is implemented by creating a new content instance resource for the specific container. Cf. Create Container Instance “light” of AE1 Development Guideline for oneM2M Products and Services
39
oneM2M Rest API Notification Each time a content instance is created under a container of an AE, then a notification containing the whole created content instance is posted to the targeted subscriber i.e. AE1 that can actuate the light with the new state received in the notification: “ON” or “OFF”. It is similar to a reverse subscribe where the application is sending commands to the lights. Development Guideline for oneM2M Products and Services
40
Practical Run of development Kit
Python implementation EGM oneM2M Easy API Open source oneM2M implementation: OM2M (Eclipse IoT) Development Guideline for oneM2M Products and Services
41
oneM2M implementations
Open source Commercial & Demo (Non exhaustive) Development Guideline for oneM2M Products and Services
42
EGM oneM2M Easy API Python APIs for easy oneM2M IoT development Online IoT Platform provided for a first hands on oneM2M IoT development: EGM oneM2M Easy API provided for download: Development Guideline for oneM2M Products and Services
43
EGM oneM2M Demo Architecture
IoT Platform Buzzer actuator Flame Sensor Notification Server Raspberry Pi (oneM2M Device) Development Guideline for oneM2M Products and Services
44
Increasing market acceptance
Certification program Development Guideline for oneM2M Products and Services
45
Rationale for a certification program
Development of a global oneM2M certification program South-Korea: on-going Global Q4 2018 Certification program means Any oneM2M solution on the market has been tested Shared and agreed validation procedures for conformance & interoperability Unique opportunity for a global trust and confidence in oneM2M/IoT platforms interoperability Development Guideline for oneM2M Products and Services
46
Technical approach Certification process: partnership with Global Certification Forum (having 3GPP experience) Abstract test case described in TTCN-3, the ETSI supported testing language See more on oneM2M TS0015 « Testing Framework » file/files?path=Release_2_Draft_TS%255CTS-0015-Testing_Framework-V2.0.0.pdf&Itemid=238 Development Guideline for oneM2M Products and Services
47
Next steps Finalising on certification process
Buildiing certification webpages and database set-up Test tools validation Based on reference implementation (interdigital chordant) To be used by certification laboratories Development Guideline for oneM2M Products and Services
48
Easy Global Market Sophia-Antipolis, FRANCE +33.9.82.33.06.72
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.