This Specification Is Provided for Future Development Work Within Onem2m Only. the Partners
Total Page:16
File Type:pdf, Size:1020Kb
1
1
2
3
4
5
6 ONEM2M TECHNICAL REPORT Document Number oneM2M TR-0009 v0.5.0
Document Name: Technical Report - Protocol Analysis Date: 07 March 2014
Abstract: This document identifies protocols deployed in Industry segments, describes their use, then analyses protocols, their security aspects and their data models, with a view towards interoperability with oneM2M protocols.
7 8 9 10 This Specification is provided for future development work within oneM2M only. The Partners accept no 11 liability for any use of this Specification. 12 The present document has not been subject to any approval process by the oneM2M Partners Type 1. 13 Published oneM2M specifications and reports for implementation should be obtained via the oneM2M 14 Partners' Publications Offices.
15
16
2 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 1 of 100 3 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 4
17 About oneM2M
18 The purpose and goal of oneM2M is to develop technical specifications which address the 19 need for a common M2M Service Layer that can be readily embedded within various 20 hardware and software, and relied upon to connect the myriad of devices in the field with 21 M2M application servers worldwide.
22 More information about oneM2M may be found at: http//www.oneM2M.org
23 Copyright Notification
24 No part of this document may be reproduced, in an electronic retrieval system or otherwise, 25 except as authorized by written permission.
26 The copyright and the foregoing restriction extend to reproduction in all media.
27 © 2014, oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC).
28 All rights reserved.
29 Notice of Disclaimer & Limitation of Liability
30 The information provided in this document is directed solely to professionals who have the 31 appropriate degree of experience to understand and interpret its contents in accordance with 32 generally accepted engineering or other professional standards and applicable regulations. 33 No recommendation as to products or vendors is made or should be implied.
34 NO REPRESENTATION OR WARRANTY IS MADE THAT THE INFORMATION IS 35 TECHNICALLY ACCURATE OR SUFFICIENT OR CONFORMS TO ANY STATUTE, 36 GOVERNMENTAL RULE OR REGULATION, AND FURTHER, NO 37 REPRESENTATION OR WARRANTY IS MADE OF MERCHANTABILITY OR 38 FITNESS FOR ANY PARTICULAR PURPOSE OR AGAINST INFRINGEMENT OF 39 INTELLECTUAL PROPERTY RIGHTS. NO oneM2M PARTNER TYPE 1 SHALL BE 40 LIABLE, BEYOND THE AMOUNT OF ANY SUM RECEIVED IN PAYMENT BY 41 THAT PARTNER FOR THIS DOCUMENT, WITH RESPECT TO ANY CLAIM, AND IN 42 NO EVENT SHALL oneM2M BE LIABLE FOR LOST PROFITS OR OTHER 43 INCIDENTAL OR CONSEQUENTIAL DAMAGES. oneM2M EXPRESSLY ADVISES 44 ANY AND ALL USE OF OR RELIANCE UPON THIS INFORMATION PROVIDED IN 45 THIS DOCUMENT IS AT THE RISK OF THE USER.
46
5 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 2 of 100 6 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 7
47 Contents
48 Contents...... 3 49 1 Scope...... 9 50 2 References...... 9 51 2.1 Normative references...... 9 52 2.2 Informative references...... 9 53 3 Definitions, symbols, abbreviations and acronyms...... 12 54 3.1 Definitions...... 12 55 3.2 Abbreviations...... 13 56 3.3 Acronyms...... 13 57 4 Conventions,...... 14 58 5 M2M Related Protocols Overview...... 15 59 5.1 Analysis of Design Styles...... 15 60 5.1.1 RESTful Style protocols...... 15 61 5.1.1.1 REST Style...... 15 62 5.1.1.2 RESTful Protocols...... 16 63 5.1.2 SOAP Style Protocols...... 16 64 5.1.2.1 SOAP Style...... 16 65 5.1.2.2 SOAP Protocols...... 16 66 5.1.3 RPC Style Protocols...... 16 67 5.1.3.1 RPC Style...... 16 68 5.1.3.2 RPC Style Protocols...... 16 69 5.1.4 Comparison of protocol design styles...... 16 70 5.2 M2M-specific Protocols...... 17 71 5.3 General Protocols used for M2M...... 17 72 5.4 Legacy Protocols...... 17 73 5.5 Security-specific Protocols...... 17 74 5.6 Management-specific Protocols...... 17 75 5.7 Data Description Standards...... 17 76 5.7.1 XML Schema Definition Language (XSD)...... 17 77 5.8 Other...... 17 78 6 Industry Utilization of Protocols...... 17 79 6.1 Agriculture...... 17 80 6.2 Energy...... 18 81 6.3 Enterprise...... 18 82 6.4 Finance...... 18 83 6.5 Healthcare...... 18 84 6.6 Industrial...... 18 85 6.7 Public Services...... 18 86 6.8 Residential...... 18 87 6.9 Retail...... 18 88 6.10 Transportation...... 18 89 7 Analysis of Protocols...... 18 90 7.1 CoAP - Constrained Application Protocol...... 18 91 7.1.1 Background...... 18 92 7.1.2 Status...... 19 93 7.1.2.1 Current Status...... 19 94 7.1.2.1 Ongoing IETF Activity...... 19 95 7.1.3 Category and Architectural Style...... 20 96 7.1.4 Intended use...... 20 97 7.1.5 Deployment Trend...... 21 98 7.1.6 Key features...... 21 99 7.1.7 Protocol Stack...... 22
8 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 3 of 100 9 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 10
100 7.1.8 Data Model...... 23 101 7.1.9 Security...... 23 102 7.1.10 Dependencies...... 23 103 7.1.11 Benefits and Constraints...... 23 104 7.1.11.1 Benefits...... 24 105 7.2.11.2 Constraints...... 24 106 7.1.12 Support of oneM2M requirements...... 24 107 7.1.12.1 Fully Supported Requirements...... 24 108 7.1.12.2 Partially Supported Requirements...... 24 109 7.1.12.3 Disallowed Requirements...... 24 110 7.2 MQTT - Message Queuing Telemetry Transport...... 24 111 7.2.1 Background...... 24 112 7.2.2 Status...... 25 113 7.2.3 Category and Architectural Style...... 25 114 7.2.4 Intended use...... 25 115 7.2.5 Deployment Trend...... 26 116 7.2.6 Key features...... 26 117 7.2.6.1 Publish/Subscribe...... 26 118 7.2.6.2 Topics/Subscriptions...... 26 119 7.2.6.3 Quality of Service...... 27 120 7.2.6.4 Retained Messages...... 27 121 7.2.6.5 Clean session / Durable connection...... 27 122 7.2.6.6 Wills...... 27 123 7.2.7 Protocol Stack...... 27 124 7.2.8 Data Model...... 27 125 7.2.9 Security...... 28 126 7.2.10 Dependencies...... 28 127 7.2.11 Benefits and Constraints...... 28 128 7.2.11.1 Benefits...... 28 129 7.2.11.2 Constraints...... 28 130 7.2.12 Support of oneM2M requirements...... 28 131 7.2.12.1 Fully Supported Requirements...... 28 132 7.2.12.2 Partially Supported Requirements...... 28 133 7.2.12.3 Disallowed Requirements...... 28 134 7.3 TIA TR-50 Protocol...... 29 135 7.3.1 Background...... 29 136 7.3.2 Status...... 29 137 7.3.3 Category and Architectural Style...... 29 138 7.3.4 Intended use...... 29 139 7.3.5 Deployment Trend...... 29 140 7.3.6 Key features...... 29 141 7.3.7 Protocol Stack...... 29 142 7.3.7.1 Frame Details...... 29 143 7.3.7.2 Request Frame Details...... 29 144 7.3.7.3 Response Frame Details...... 30 145 7.3.8 Data Model...... 31 146 7.3.9 Security...... 31 147 7.3.10 Dependencies...... 31 148 7.3.11 Benefits and Constraints...... 32 149 7.3.11.1 Benefits...... 32 150 7.3.11.2 Constraints...... 32 151 7.3.12 Support of oneM2M requirements...... 32 152 7.3.12.1 Fully Supported Requirements...... 32 153 7.3.12.2 Partially Supported Requirements...... 32 154 7.3.12.3 Disallowed Requirements...... 32 155 7.4 HTTP as RESTful API...... 32 156 7.4.1 Description...... 32 157 7.4.2 HTTP Status...... 32 158 7.4.2.1 HTTP/1.x Status...... 32 159 7.4.2.2 HTTP/2.0 (httpbis) Status...... 33 160 7.4.3 Intended Use...... 33
11 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 4 of 100 12 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 13
161 7.4.4 Deployment Trend...... 33 162 7.4.5 Key Features...... 34 163 7.4.5.1 Relevant Instance of RESTful Design...... 34 164 7.4.5.2 Using XML and JSON...... 34 165 7.4.6 Security...... 34 166 7.4.7 Dependencies...... 34 167 7.4.8 Benefits and Constrains...... 34 168 7.5 XMPP: eXtensible Messaging and Presence Protocol...... 34 169 7.5.1 Background...... 34 170 7.5.2 Status...... 34 171 7.5.3 Category and Architectural Style...... 35 172 7.5.4 Intended use...... 35 173 7.5.5 Deployment Trend...... 35 174 7.5.6 Key features...... 36 175 7.5.7 Protocol Stack...... 37 176 7.5.7.1 XEP-0323 Sensor data...... 38 177 7.5.7.2 XEP-0324 IoT Provisioning...... 39 178 7.5.7.3 XEP-0325 Internet of Things - Control...... 39 179 7.5.7.4 XEP-0326 Internet of Things - Concentrators...... 40 180 7.5.8 Data Model...... 40 181 7.5.9 Security...... 40 182 7.5.10 Dependencies...... 40 183 7.5.11 Benefits and Constraints...... 41 184 7.5.11.1 Benefits...... 41 185 7.5.11.2 Constraints...... 41 186 7.5.12 Support of oneM2M requirements...... 41 187 7.5.12.1 Fully Supported Requirements...... 41 188 7.5.12.2 Partially Supported Requirements...... 41 189 7.5.12.3 Disallowed Requirements...... 42 190 7.6 WebSocket Protocol...... 42 191 7.6.1 Background...... 42 192 7.6.2 Status...... 42 193 7.6.3 Category and Architectural Style...... 42 194 7.6.4 Intended use...... 42 195 7.6.5 Deployment Trend...... 42 196 7.6.5.1 Server-Side Implementations...... 42 197 7.6.5.2 Client-Side Implementations...... 43 198 7.6.6 Key features...... 43 199 7.6.7 Protocol Stack...... 43 200 7.6.8 Data Model...... 43 201 7.6.9 Security...... 43 202 7.6.10 Dependencies...... 44 203 7.6.11 Benefits and Constraints...... 44 204 7.6.11.1 Benefits...... 44 205 7.6.11.2 Constraints...... 44 206 7.6.12 Support of oneM2M requirements...... 44 207 7.6.12.1 Fully Supported Requirements...... 44 208 7.6.12.2 Partially Supported Requirements...... 44 209 7.6.12.3 Disallowed Requirements...... 44 210 7.7 Bluetooth® Wireless Technology...... 44 211 7.7.1 Background...... 45 212 7.7.2 Status...... 45 213 7.7.2.1 Newly Released Bluetooth Core Specification 4.1...... 45 214 7.7.2.2 Improving Usability - Bluetooth 4.1...... 45 215 7.7.3 Category and Architectural Style...... 46 216 7.7.4 Intended use - Personal Area Network protocols...... 46 217 7.7.5 Deployment Trend - Bluetooth and Bluetooth Smart (low energy)...... 46 218 7.7.5.1 Bluetooth Smart (low energy) Technology...... 47 219 7.7.5.2 Bluetooth High Speed Wireless Technology...... 47 220 7.7.5.3 Enabling the Internet of Things...... 47 221 7.7.6 Key features...... 47
14 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 5 of 100 15 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 16
222 7.7.7 Protocol Stack...... 49 223 7.7.7.1 Bluetooth Smart (low energy) Single mode and dual mode...... 53 224 7.7.8 Data Model...... 53 225 7.7.9 Security...... 54 226 7.7.10 Dependencies...... 54 227 7.7.11 Benefits and Constraints...... 54 228 7.7.11.1 Benefits...... 54 229 7.7.11.2 Constraints...... 55 230 7.7.12 Support of oneM2M requirements...... 55 231 7.7.12.1 Fully Supported Requirements...... 55 232 7.7.12.2 Partially Supported Requirements...... 55 233 7.7.12.3 Disallowed Requirements...... 55 234 7.8 Data Distribution Service (DDS) for Real-Time Systems...... 55 235 7.8.1 Background...... 55 236 7.8.1.1 Extensibility, Security and Development support...... 56 237 7.8.2 Status...... 57 238 7.8.3 Category and Architectural Style...... 57 239 7.8.4 Intended use...... 58 240 7.8.5 Deployment Trend...... 58 241 7.8.6 Key features...... 58 242 7.8.6.1 Platform and Language Independence...... 58 243 7.8.6.2 Entity Discovery...... 58 244 7.8.6.3 Quality of Service...... 58 245 7.8.6.4 Enhanced Data Typing...... 59 246 7.8.7 Protocol Stack...... 60 247 7.8.8 Data Model...... 60 248 7.8.9 Security...... 60 249 7.8.10 Dependencies...... 60 250 7.8.11 Benefits and Constraints...... 60 251 7.8.11.1 Benefits...... 61 252 7.8.11.2 Constraints...... 61 253 7.8.12 Support of oneM2M requirements...... 61 254 7.8.12.1 Fully Supported Requirements...... 61 255 7.8.12.2 Partially Supported Requirements...... 61 256 7.8.12.3 Disallowed Requirements...... 61 257 7.9 ModBus Protocol...... 62 258 7.9.1 Background...... 62 259 7.9.2 Status...... 62 260 7.9.3 Category and Architectural Style...... 62 261 7.9.4 Intended use...... 64 262 7.9.5 Deployment Trend...... 64 263 7.9.6 Key features...... 64 264 7.9.7 Protocol Stack...... 64 265 7.9.8 Data Model...... 65 266 7.9.9 Security...... 66 267 7.9.10 Dependencies...... 66 268 7.9.11 Benefits and Constraints...... 66 269 7.9.11.1 Benefits...... 66 270 7.9.11.2 Constraints...... 67 271 7.9.12 Support of oneM2M requirements...... 67 272 7.9.12.1 Fully Supported Requirements...... 67 273 7.9.12.2 Partially Supported Requirements...... 67 274 7.9.12.3 Disallowed Requirements...... 67 275 7.10 DNP3 Protocol...... 67 276 7.10.1 Background...... 67 277 7.10.2 Status...... 67 278 7.10.3 Category and Architectural Style...... 67 279 7.10.4 Intended use...... 69 280 7.10.5 Deployment Trend...... 69 281 7.10.6 Key features...... 69 282 7.10.7 Protocol Stack...... 69
17 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 6 of 100 18 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 19
283 7.10.8 Data Model...... 71 284 7.10.9 Security...... 71 285 7.10.10 Dependencies...... 71 286 7.10.11 Benefits and Constraints...... 72 287 7.10.11.1 Benefits...... 72 288 7.10.11.2 Constraints...... 72 289 7.10.12 Support of oneM2M requirements...... 72 290 7.10.12.1 Fully Supported Requirements...... 72 291 7.10.12.2 Partially Supported Requirements...... 72 292 7.10.12.3 Disallowed Requirements...... 72 293 7.11 UPnP Cloud...... 72 294 7.11.1 Background...... 72 295 7.11.2 Status...... 73 296 7.11.3 Category and Architectural Style...... 74 297 7.11.4 Intended use...... 75 298 7.11.5 Deployment Trend...... 75 299 7.11.6 Key features...... 76 300 7.11.7 Protocol Stack...... 77 301 7.11.8 Data Model...... 78 302 7.11.9 Security...... 78 303 7.11.10 Dependencies...... 78 304 7.11.11 Benefits and Constraints...... 78 305 7.11.11.1 Benefits...... 78 306 7.11.11.2 Constraints...... 79 307 7.11.12 Support of oneM2M requirements...... 79 308 7.11.12.1 Fully Supported Requirements...... 79 309 7.11.12.2 Partially Supported Requirements...... 79 310 7.11.12.3 Disallowed Requirements...... 79 311 7.12 RESTful Network APIs (OMA & GSMA)...... 80 312 7.12.1 Background...... 80 313 7.12.2 Status...... 80 314 7.12.2.1 Status of OMA RESTful Network APIs...... 80 315 7.12.2.2 Status of GSMA OneAPI...... 82 316 7.12.3 Category and Architectural Style...... 82 317 7.12.4 Intended use...... 83 318 7.12.4.1 Location...... 83 319 7.12.5 Deployment Trend...... 83 320 7.12.6 Key features...... 83 321 7.12.7 Protocol Stack...... 83 322 7.12.8 Data Model...... 83 323 7.12.9 Security...... 83 324 7.12.10 Dependencies...... 84 325 7.12.11 Benefits and Constraints...... 84 326 7.12.11.1 Benefits...... 84 327 7.12.11.2 Constraints...... 84 328 7.12.12 Support of oneM2M requirements...... 84 329 7.12.12.1 Fully Supported Requirements...... 85 330 7.12.12.2 Partially Supported Requirements...... 85 331 7.12.12.3 Disallowed Requirements...... 85 332 7.x Protocol x {template}...... 85 333 7.x.1 Background...... 85 334 7.x.2 Status...... 85 335 7.x.3 Category and Architectural Style...... 85 336 7.x.4 Intended use...... 85 337 7.x.5 Deployment Trend...... 85 338 7.x.6 Key features...... 85 339 7.x.7 Protocol Stack...... 85 340 7.x.8 Data Model...... 85 341 7.x.9 Security...... 85 342 7.x.10 Dependencies...... 86 343 7.x.11 Benefits and Constraints...... 86
20 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 7 of 100 21 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 22
344 7.x.11.1 Benefits...... 86 345 7.x.11.2 Constraints...... 86 346 7.x.12 Support of oneM2M requirements...... 86 347 7.x.12.1 Fully Supported Requirements...... 86 348 7.x.12.2 Partially Supported Requirements...... 86 349 7.x.12.3 Disallowed Requirements...... 86 350 8 Summary...... 86 351 Proforma copyright release text block...... 88 352 Annex A List of M2M-related Protocols (Informative)...... 89 353 Annex B Definitions of Radio metrics for Technologies used for M2M releated Protocols (Informative) 354 ...... 97 355 B.1 Bluetooth® Wireless Technology...... 97 356 B.2 ZigBee (IEEE 802.15.4)...... 98 357 B.3 Ultra-Wideband (UWB)...... 98 358 B.4 Certified Wireless USB...... 98 359 B.5 Wi-Fi (IEEE 802.11)...... 98 360 B.6 Radio Frequency Identification (RFID)...... 99 361 B.7 Near Field Communication (NFC)...... 99 362 Annex Z Bibliography...... 100 363 History...... 101 364
23 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 8 of 100 24 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 25
365 1 Scope
366 Editor’s Note: From oneM2M-WI-0008-Protocol-TR-V1_0.DOC (2013-06-20)
367 The present document will:
368 Analyse the protocols, with consideration of security aspects (in cooperation with WG4 - Security) and data 369 models (in cooperation with WG5 - Management, Abstraction & Semantics) widely considered for use within 370 oneM2M's target industry segments
371 Create a list of those protocols with which oneM2M could encapsulate and/or interoperate
372 Noting that: Widely used protocol mappings may be candidates for oneM2M work; 373 Industry or application-specific protocol mappings to oneM2M may be done by external organizations
374 2 References
375 References are either specific (identified by date of publication and/or edition number or version number) or 376 non-specific. For specific references, only the cited version applies. For non-specific references, the latest version of the 377 referenced document (including any amendments) applies.
378 2.1 Normative references
379 Not applicable.
380 2.2 Informative references
381 The following referenced documents are not necessary for the application of the present document but they assist the 382 user with regard to a particular subject area.
383 [i.1] oneM2M Drafting Rules (http://member.onem2m.org/Static_pages/Others/Rules_Pages/oneM2M-Drafting- 384 Rules-V1_0.doc)
385 [i.2] oneM2M TS-0002 oneM2M Requirements
386 [i.3] IBM MQ Telemetry Transport (MQTT) v3.1 Protocol Specification
387 [i.4] IETF draft-ietf-core-coap-18 Constrained Application Protocol
388 [i.5] TIA-4940-020, Smart Device Communications Protocol Aspects TIA TR-50
389 [i.6] IETF RFC6120 XMPP: Core
390 [i.7] IETF RFC2616 Hypertext Transfer Protocol -- HTTP/1.1
391 [i.8] IETF RFC6690 Constrained RESTful Environments (CoRE) Link Format
392 [i.9] IETF RFC4944 Transmission of IPv6 Packets over IEEE 802.15.4 Networks
393 [i.10] IETF RFC0768 User Datagram Protocol
394 [i.11] IETF RFC6347 Datagram Transport Layer Security Version 1.2
395 [i.12] W3C Extensible Markup Language (XML) 1.0 (Fifth Edition)
396 [i.13] IETF RFC4627 The application/json Media Type for JavaScript Object Notation (JSON)
397 [i.14] IETF RFC6121 Extensible Messaging and Presence Protocol (XMPP): Instant Messaging and Presence, March 398 2011.
26 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 9 of 100 27 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 28
399 [i.15] IETF RFC6122 Extensible Messaging and Presence Protocol (XMPP): Address Format, March 2011
400 [i.16] IETF RFC4492 Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS), May 401 2006
402 [i.17] IETF RFC4422 Simple Authentication and Security Layer (SASL).
403 [i.18] XMPP Standards Foundation XEP-0016 Privacy Lists
404 [i.19] XMPP Standards Foundation XEP-0030 Service Discovery
405 [i.20] XMPP Standards Foundation XEP-0045 Multi-user conferencing service
406 [i.21] XMPP Standards Foundation XEP-0060 Publish-Subscribe service
407 [i.22] XMPP Standards Foundation XEP-0079 Advanced-Message Processing
408 [i.23] XMPP Standards Foundation XEP-0080 User Location
409 [i.24] XMPP Standards Foundation XEP-0136 Message Archiving
410 [i.25] XMPP Standards Foundation XEP-0138 Stream Compression
411 [i.26] XMPP Standards Foundation XEP-0149 Time Periods
412 [i.27] XMPP Standards Foundation XEP-0166 Jingle
413 [i.28] XMPP Standards Foundation XEP-0167 Jingle RTP Sessions
414 [i.29] XMPP Standards Foundation XEP-0177 Jingle Raw UDP Transport Method
415 [i.30] XMPP Standards Foundation XEP-0198 Stream Management
416 [i.31] XMPP Standards Foundation XEP-0199 XMPP Ping
417 [i.32] XMPP Standards Foundation XEP-0124 Bidirectional-streams Over Synchronous HTTP (BOSH)
418 [i.33] XMPP Standards Foundation XEP-0206 XMPP Over BOSH
419 [i.34] XMPP Standards Foundation XEP-0203 Delayed Delivery
420 [i.35] XMPP Standards Foundation XEP-0322 Efficient XML Interchange (EXI) Format for XMPP
421 [i.36] XMPP Standards Foundation XEP-0323 Internet of Things – Sensor Data
422 [i.37] XMPP Standards Foundation XEP-0324 Internet of Things – Provisioning
423 [i.38] XMPP Standards Foundation XEP-0325 Internet of Things – Control
424 [i.39] XMPP Standards Foundation XEP-0326 Internet of Things – Concentrators
425 [i.40] IETF RFC6455 The WebSocket Protocol, 2011
426 [i.41] OMG Data Distribution Service for Real-time Systems Version 1.2, January 2007
427 [i.42] OMG The Real-time Publish-Subscribe Wire Protocol DDS Interoperability Wire Protocol Specification, 428 Version 2.1, June 2008
429 [i.43] - IEEE Standards for Electric Power Systems Communications – Distributed Network Protocol (DNP3), IEEE 430 Std 1815 – 2012[i.44] XMPP Standards Foundation XEP-0127 Common Alerting Protocol (CAP) over XMPP
431 [i.45] XMPP Standards Foundation XEP-0115 Entity Capabilities
432 [i.46] XMPP Standards Foundation XEP-0248 PubSub Collection Nodes
433 [i.47] XMPP Standards Foundation XEP-0072 SOAP over XMPP
434 [i.48] UPnP Forum, www.upnp.org .
29 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 10 of 100 30 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 31
435 [i.49] International Organization for Standardization (ISO). Located at www.iso.org
436 [i.50] International Electrotechnical Commission (IEC). Located at www.webstore.iec.ch
437 [i.51] ISO/IEC UPnP press release. Available at: http://www.iso.org/iso/news.htm?refid=Ref1500
438 [i.52] UPnP Device Architecture documents. 439 Available at http://upnp.org/sdcps-and-certification/standards/device-architecture-documents
440 [i.53] http://www.perfdynamics.com/Manifesto/USLscalability.html
441 [i.54] http://www.rti.com/products/dds/benchmarks-cpp-linux-scalability.html#THRUSCAL
442 [i.55] http://www.slideshare.net/Angelo.Corsaro/dscriptjs 443 Editor’s Note: [i.48-i.55] To be reviewed…non-ephemeral references to be provided
444 [i.56] OMA RESTful Network API for FileTransfer 445 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 446 REST_NetAPI_FileTransfer-V1_0-20130612-C.zip)
447 [i.57] OMA RESTful Network API for Presence 448 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 449 REST_NetAPI_Presence-V1_0-20130212-C.zip)
450 [i.58] OMA RESTful Network API for Notification Channel 451 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 452 REST_NetAPI_Presence-V1_0-20130212-C.zip)
453 [i.59] OMA RESTful Network API for Chat 454 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 455 REST_NetAPI_Chat-V1_0-20131203-D.zip)
456 [i.60] OMA RESTful Network API for Short Messaging 457 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 458 REST_NetAPI_Chat-V1_0-20131203-D.zip)
459 [i.61] OMA RESTful Network API for Third Party Call 460 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 461 REST_NetAPI_ThirdPartyCall-V1_0-20130212-C.zip)
462 [i.62] OMA RESTful Network API for Address Book 463 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 464 REST_NetAPI_ThirdPartyCall-V1_0-20130212-C.zip)
465 [i.63] OMA RESTful Network API for Messaging 466 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 467 REST_NetAPI_Messaging-V1_0-20130709-C.zip)
468 [i.64] OMA RESTful Network API for Payment 469 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 470 REST_NetAPI_Payment-V1_0-20130924-A.zip)
471 [i.65] OMA RESTful Network API for Device Capabilities 472 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 473 REST_NetAPI_DeviceCapabilities-V1_0-20130924-A.zip)
474 [i.66] OMA RESTful Network API for Audio Call 475 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 476 REST_NetAPI_AudioCall-V1_0-20130212-C.zip)
477 [i.67] OMA RESTful Network API for Call Notification 478 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 479 REST_NetAPI_CallNotification-V1_0-20130212-C.zip)
32 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 11 of 100 33 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 34
480 [i.68] OMA RESTful Network API for Terminal Status 481 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 482 REST_NetAPI_TerminalStatus-V1_0-20131008-C.zip)
483 [i.69] OMA RESTful Network API for Image Share 484 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 485 REST_NetAPI_ImageShare-V1_0-20130605-C.zip)
486 [i.70] OMA RESTful Network API for Terminal Location 487 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 488 REST_NetAPI_TerminalLocation-V1_0-20130924-A.zip)
489 [i.71] OMA RESTful Network API for Video Share 490 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 491 REST_NetAPI_VideoShare-V1_0-20130517-C.zip)
492 [i.72] OMA RESTful Network API for Video Share 493 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 494 REST_NetAPI_CustomerProfile-V1_0-20130305-C.zip)
495 [i.73] OMA RESTful Network API for ACR (Anonymous Customer Reference) 496 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 497 REST_NetAPI_ACR-V1_0-20130625-C.zip)
498 [i.74] OMA RESTful Network API for Capability Discovery 499 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 500 REST_NetAPI_CapabilityDiscovery-V1_0-20130701-C.zip)
501 [i.75] OMA RESTful Network API for Converged Address Book 502 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-RD- 503 REST_NetAPI_CAB-V1_0-20130702-A.zip)
504 [i.76] OMA RESTful Network API for Push 505 (http://member.openmobilealliance.org/ftp/Public_documents/CD/Permanent_documents/OMA-TS- 506 REST_NetAPI_Push-V1_0-20131029-A.zip)
507 [i.77] OMA RESTful Network for Network Message Storage (Draft) 508 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/REST_NMS/Permanent_documents/OMA-TS- 509 REST_NetAPI_NMS-V1_0-20131209-D.zip)
510 [i.78] OMA RESTful Network for Network Message Storage (Draft) 511 (http://member.openmobilealliance.org/ftp/Public_documents/ARCH/Permanent_documents/OMA-TS- 512 REST_NetAPI_VVoIP-V1_0-20131120-D.zip)
513 514 [i.n]
515 3 Definitions, symbols, abbreviations and acronyms
516 Delete from the above heading the word(s) which is/are not applicable.
517 3.1 Definitions
518 For the purposes of the present document, the following terms and definitions apply:
519
520
35 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 12 of 100 36 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 37
521 3.2 Abbreviations
522 For the purposes of the present document, the following abbreviations apply:
523 CHG Charging Requirement 524 OPR Operational Requirement 525 PHY Physical layer of the OSI model 526
527 3.3 Acronyms
528 For the purposes of the present document, the following acronyms apply:
529 6LOWPAN IPv6 over Low power Wireless Personal Area Networks 530 ACT Availability for Concurrent Transactions 531 ADSU Application Service Data Unit 532 AMI Advanced Metering Infrastructure 533 API Application Programming Interface 534 AV Audio Video (in UPnP context) 535 BLE Bluetooth Low Energy 536 BOSH Bidirectional-streams Over Synchronous HTTP 537 CIP Common Industrial Protocol 538 CoAP Constrained Application Protocol 539 CoRE Constrained RESTful Environments 540 CP Control Point 541 CRPR Communications Request Processing Requirement 542 CRUD Create Read Update Delete 543 DCP Device Control Protocol 544 DCPS Data Centric Publish Subscribe 545 DDD Device Description Document 546 DDS Data Distribution Service 547 DI Distributed Intelligence 548 DNP Distributed Network Protocol 549 DNP3 Distributed Network Protocol - 3rd Generation 550 DTLS Datagram Transport Layer Security 551 D2D Device to device 552 EDR Enhanced Data Rate 553 EXI Efficient XML Interchange 554 GAP Generic Access Profile 555 GATT Generic ATTribute Profile 556 GENA General Event Notification Architecture 557 GUI Graphical User Interface 558 HATEOAS Hypermedia As The Engine Of Application State 559 HIDS Human Interface Devices 560 HTML HyperText Markup Language 561 HTTP Hyper Text Transfer Protocol 562 IEC International Electrotechnical Commission 563 IED Intelligent Electronic Devices 564 IESG Internet Engineering Steering Group 565 IETF Internet Engineering Task Force 566 IBM International Business Machines 567 IGD Internet Gateway Device 568 IoT Internet of Things 569 IP Internet Protocol 570 IPSO Internet Protocol for Smart Objects 571 IPR Intellectual Property Rights 572 ISO International Organization for Standardization 573 JSON JavaScript Object Notation 574 MAC Media Access Control 575 MIME Multipurpose Internet Mail Extensions
38 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 13 of 100 39 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 40
576 MQTT Message Queuing Telemetry Transport 577 M2M Machine to Machine 578 OASIS Organization for the Advancement of Structured Information Standards 579 OMG Object Management Group 580 OSR Overall System Requirement 581 P2M Person to Machine 582 P2P Peer to Peer 583 PIM Platform Independent Model 584 PLC Programmable Logic Controller 585 586 PC Personal Computer 587 QoS Quality Of Service 588 RAM Random Access Memory 589 REST REpresentational State Transfer 590 RF Radio Frequency 591 RFC Request For Comments 592 ROM Read Only Memory 593 RPC Remote Procedure Call 594 RTPS Real Time Publish Subscribe 595 RTU Remote Terminal Unit 596 SASL Simple Authentication and Security Layer 597 SCADA Supervisory Control And Data Acquisition 598 SDO Standards Development Organisation 599 SER Security Requirement 600 SIG Special Interest Group 601 SIP Session Initiation Protocol 602 SMR Semantics Requirement 603 SMS Short Message Service 604 SOAP Simple Object Access Protocol 605 SPI Service Plugin Interface 606 SSDP Simple Service Discovery Protocol 607 SSL Secure Sockets Layer 608 TAG Technical Architecture Group 609 TIA Telecommunications Industry Association 610 TCP Transmission Control Protocol 611 TLS Transport Layer Security 612 UAV Unmanned Aerial Vehicle 613 UCA UPnP Cloud Architecture 614 UCD Unicast Connectionless Data 615 UDA UPnP Device Architecture 616 UDP User Datagram Protocol 617 UPnP Universal Plug and Play 618 URI Uniform Resource Identifier 619 WADL Web Application Description Language 620 WC3 World Wide Web Consortium 621 WEB-DDS Web Enabled DDS 622 WG Working Group 623 WSN Wireless Sensory Nodes 624 XEP XMPP Extension Protocol 625 XML eXtensible Markup Language 626 XMPP Extensible Messaging and Presence Protocol 627 Explanation>
628 4 Conventions,
629 The key words “Shall”, ”Shall not”, “May”, ”Need not”, “Should”, ”Should not” in this document are to be interpreted 630 as described in the oneM2M Drafting Rules [i.1]
41 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 14 of 100 42 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 43
631 5 M2M Related Protocols Overview
632 Editor’s Note: For convenience, protocols are categorized into the groups below, these will include application, service 633 layer and other middleware, and transport layer protocols. This clause provides a brief overview of protocol groups 634 and will be completed as a result of the progress on the later clauses.
635 5.1 Analysis of Design Styles
636 5.1.1 RESTful Style protocols
637 The REST architectural style was developed by W3C Technical Architecture Group (TAG) in parallel with HTTP/1.1, 638 based on the existing design of HTTP/1.0.
639 REST-style architectures conventionally consist of clients and servers. Clients initiate requests to servers; servers 640 process requests and return appropriate responses. Requests and responses are built around the transfer of 641 representations of resources. A resource can be essentially any coherent and meaningful concept that may be addressed. 642 A representation of a resource is typically a document that captures the current or intended state of a resource.
643 The client begins sending requests when it is ready to make the transition to a new state. While one or more requests are 644 outstanding, the client is considered to be in transition. The representation of each application state contains links that 645 may be used the next time the client chooses to initiate a new state-transition
646 5.1.1.1 REST Style
647 The REST architectural style describes the following six constraints applied to the architecture, while leaving the 648 implementation of the individual components free to design:
649 Client–server: A uniform interface separates clients from servers. This separation of concerns means that, for 650 example, clients are not concerned with data storage, which remains internal to each server, so that the portability of 651 client code is improved. Servers are not concerned with the user interface or user state, so that servers can be simpler 652 and more scalable. Servers and clients may also be replaced and developed independently, as long as the interface 653 between them is not altered.
654 Stateless: The client–server communication is further constrained by no client context being stored on the server 655 between requests. Each request from any client contains all of the information necessary to service the request, and 656 any session state is held in the client.
657 Cacheable: As on the World Wide Web, clients can cache responses. Responses must therefore, implicitly or 658 explicitly, define themselves as cacheable, or not, to prevent clients reusing stale or inappropriate data in response to 659 further requests. Well-managed caching partially or completely eliminates some client–server interactions, further 660 improving scalability and performance.
661 Layered system: A client cannot ordinarily tell whether it is connected directly to the end server, or to an 662 intermediary along the way. Intermediary servers may improve system scalability by enabling load-balancing and by 663 providing shared caches. They may also enforce security policies.
664 Code on demand (optional): Servers can temporarily extend or customize the functionality of a client by the 665 transfer of executable code. Examples of this may include compiled components such as Java applets and client-side 666 scripts such as JavaScript.
667 Uniform interface: The uniform interface implies that the interactions between the components in a RESTful 668 architectural style depend on the uniformity of its interface. If any of the components do not follow these constraints, 669 then a RESTful architectural system can result in faults.
670 The components in a RESTful architectural style interoperate consistently in accordance with the uniform interface’s 671 four constraints as follow:
672 1. Identification of resources: a resource is addressed by a unique identifier, such as URI. (e.g., 673 http://onem2m.com/cse1/application)
44 © oneM2M Partners Type 1 (ARIB, ATIS, CCSA, ETSI, TIA, TTA, TTC) Page 15 of 100 45 This is a draft oneM2M document and should not be relied upon; the final version, if any, will be made available by oneM2M Partners Type 1. 46
674 2. Manipulation of resources through representations: Clients manipulate representation of resources. The 675 same exact resource can be represented to different clients in different ways. For example, a resource can 676 be represented as HTML or as JSON. 677 3. Self-descriptive message: A resource’s desired state can be represented within a request message. A 678 resource’s current state may be represented within a response message. 679 4. Hypermedia as the engine of application state (HATEOAS): a resource’s state representation includes links 680 to related resources. 681 682 The only optional constraint of REST architecture is "code on demand". One can characterise applications conforming 683 to the REST constraints described in this section as "RESTful". If a service violates any of the required constraints, it 684 cannot be considered RESTful.
685 Editor’s Note: The text in Clause 5.1.1 should either be written as original text, and/or the original text source should 686 be declared as a Reference. (per WG3 PRO discussion 09 Sep 2013)
687 5.1.1.2 RESTful Protocols
688 The following protocols adhere to the principles of RESTful design:
689 HTTP as RESTful API
690 CoAP
691 5.1.2 SOAP Style Protocols
692 Editor’s Note: Input is needed for this clause
693 5.1.2.1 SOAP Style
694
695 5.1.2.2 SOAP Protocols
696 The following protocols adhere to the principles of SOAP style design:
697
698
699 5.1.3 RPC Style Protocols
700 Editor’s Note: Input is needed for this clause
701 5.1.3.1 RPC Style
702
703 5.1.3.2 RPC Style Protocols
704 The following protocols adhere to the principles of RPC style design:
705
706
707 5.1.4 Comparison of protocol design styles
708 Editor’s Note Input is needed for this clause -