User Tools

Site Tools


proposal_for_coap_over_tcp_in_iotivity

Cloud Interface in IoTivity

This proposal is to explain about the addition of CoAP over TCP in IoTivity.

OIC devices can connect to cloud server and send/receive data. Cloud service can request observation of any status changes of device resource. Furthermore, for example,

  • Log data can be sent from device to cloud server and the device can request appropriate service to cloud server ( eg, personalized ad, remote diagnosis, etc )
  • Cloud service can send control message to the devices according to the rules defined by user.

For any kind of cloud service, OIC device should support cloud interface.

Feature

  • basically, protocol follows by CoAP over TCP draft
  • The first nibble of initial byte is used 0~15(13~15 is special value) in the Header of CoAP over TCP.
  • Simple Header Format about 8-bit length(nibble is 13) is in below.
  • Only message type transported when using CoAP over TCP is the Non-Confirmable message (NON).
  • Message ID is meaningless and thus elided.
  • Use URI Scheme
    • “coap+tcp:” “” host [ “:” port ] path-abempty [ “?” query ] * “coaps+tcp:” “” host [ “:” port ] path-abempty [ “?” query ]
  • Use TLS ( RFC7301 ) to guarantee secure transmission ( 2nd phase )
  • Support keep alive ( 2nd phase )
  • Support auto-reconnection to recover abnormal disconnection ( 2nd phase )

basic scenario

<Flow>

<Sequence>

Implementation Design

  • Cloud CI server side
    • Use Netty framework ( http://netty.io )
    • Contribution ‘CoAP over TCP codec’ part only
    • User wants to enable cloud interface, he/she should setup the Netty framework.
proposal_for_coap_over_tcp_in_iotivity.txt · Last modified: 2017/01/03 01:54 by Phil Coval