48
마스터 제목 스타일 편집 Internet of Things DSRC Jaehoon (Paul) Jeong [email protected] (OCF: Open Connectivity Foundation) IoTivity: OCF Open Source Project KRnet 2016 IoTLab

IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Internet of

ThingsDSRC

Jaehoon (Paul) Jeong [email protected]

(OCF: Open Connectivity Foundation)

IoTivity: OCF Open Source Project

KRnet 2016

IoTLab

Page 2: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoTivity OCF Project Participation

Installation & Demo of IoTivity

I

II

III

V

IV

DNSNA: DNS Name Autoconfiguration

for IoT Devices in IoTivity

VI

Conclusion VII

2

Page 3: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Introduction to IoTivity

Page 4: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Introduction to IoTivity (1/2) AllSeen Alliance vs. OIC (Open Interconnect Consortium)

4

Page 5: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Introduction to IoTivity (2/2) OCF (Open Connectivity Foundation)

5

Page 6: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Conceptual Architecture of IoTivity

6

DiscoveryDevice

Management

Data

Management

Data

Transmission

Resource Model Security, Privacy, and Management

Framework

Layer

Transports

Layer

Profiles

Layer

Industry Health Business Education Automotive

Page 7: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoTivity Framework

7

Transport

Protocol

IoTivity Base 1

(C API Stack/

Internal)

IoTivity Base 2

(C++ SDK)

Basic

Service

Additional

Service

UDP/IPTCP/IP

(Future)

Future PAN

(Future)

Logger

OCSocket Connectivity libcoap-4.1.1 ocrandom ocmalloc

JSON

Encoder/Decoder OCCoAP (Transport)

OCStack

Resource Manager

(Registration, Discovery, Attribute GET/SET/OBSERVE)

Protocol

Plugin

Manager

Software

Sensor

Manager

Things

Manager

Notification

Manager

REST

Framework

Control/Controllee

Manager

Page 8: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoTivity Stack

RESTful

Using CoAP protocol

Manage through resource

Point to multiple/point topologyUDP / IP

CoAP

IoTivity Base(C SDK)

IoTivity Base(C++ SDK)

Application

UDP / IP

CoAP

IoTivity Base(C SDK)

Application

Resource API

For Unconstrained DevicesResource API

For Constrained Devices

8

Page 9: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

AllJoyn Stack

Mesh of stars

Manage through BusObject

Using D-Bus protocol

RMI

AllJoyn Router

AllJoyn Core Frameworks

Base Service Frameworks

Application

AllJoyn Software

Frameworks

9

Page 10: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoTivity vs. AllJoyn

Comparison between IoTivity and AllJoyn

IoTivity AllJoyn

Feature RESTful RMI

Protocol CoAP D-Bus

Management Resource BusObject

Topology Point to Point Mesh of Stars

10

Page 11: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Protocols for IoTivity

Page 12: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

CoAP (1/4) Constrained Application Protocol (CoAP)

- IETF Standard in CoRE Working Group: RFC 7252

- CoAP is a specialized web

transfer protocol for use with

constrained nodes/networks.

- URI and content-type support

- Asynchronous message exchanges

- UDP and DTLS for Secure

Transport Layer Protocol.

- CoAP defines 4-type Messages

using a 4-byte, binary, and base

header format with binary options.

12

Application

UDP/DTLS

CoAPMessage

Request / Responses

Page 13: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

CoAP (2/4) CoAP Message Format

13

Ver (Version): CoAP version number (01) T (Message Type): Confirmable (0), Non-confirmable (1), Acknowledgement

(2), or Reset (3) TKL (Token Length): The length of the variable-length Token field (0-8 bytes) Code: 3-bit class (e.g., request and success response) and 5-bit details Message ID: To detect message duplication and to match messages of type

Acknowledgement/Reset to messages of type Confirmable/Nonconfirmable. Token: The Token value is used to correlate requests and responses.

Page 14: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

CoAP (3/4) 2 Types of Transmission

- Confirmable: The recipient sends the sender an ACK message

with the same Message ID for the confirmable message.

- Non-Confirmable: A message that does not require reliable

transmission can be sent as a Non-confirmable message.

ServerClient

CON [0x7d34]

Reliable Message Transmission

ACK [0x7d34]

ServerClient

NON [0x01a0]

Unreliable Message Transmission

14

Page 15: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

CoAP (4/4)

15

CC

C

C

C

Server

Server

Server

Proxy

Internet Constrained Environments

Page 16: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

6LoWPAN (1/2) IPv6 over Low-Power Wireless Personal Area Networks

- N/W Adaptation Layer between IPv6 Protocol & IEEE 802.15.4

- Encapsulation (RFC 4944) and Header Compression (RFC 6282)

- Neighbor Discovery Optimizations (RFC 6775)

HTTP RTP

TCP UDP ICMP

IP

Ethernet MAC

Ethernet PHY

Application

UDP ICMP

IPv6

6LoWPAN

IEEE 802.15.4 MAC

IEEE 802.15.4 PHY

Application

Transport

Network

Data Link

Physical

16

Page 17: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

6LoWPAN (2/2) IPv6 over Low-Power Wireless Personal Area Networks

- Sensor nodes use 6LoWPAN over 802.15.4 to create a mesh

network that is connected to an Ethernet-equipped gateway node.

Internet

6LoWPAN Network

Gateway

17

Communications range: 10 meter Transfer rate: 250 kbit/s Frequency bands: 868/915/2450 MHz MAC Protocol: CSMA/CA

Page 18: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Procedures of IoTivity

Page 19: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Interaction between OIC Client & Server

19

OIC Client

(User)

OIC Server

(Resource)

1. Resource

Registration

2. Light Bulb Resource Discovery (GET)

3. Status Query for Light Bulb (GET)

4. Config Query for Light Bulb (PUT)

5. Status Observation Query (GET)

Page 20: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Registering a Resource

ISVServer

AppSDK

ServerWrapper(internal)

OCStack(internal)

[1]Platform.registerResource( )

[2]InProcServer.registerResource( )

[3]OCCreateResource( )

OCStackResult

Failure / Success

Failure / Success

20

Page 21: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Discovering a Device/Resource

21

Application

C++ API(SDK)

C API (Stack/Internal)

IoTivityDevice

IoTivityDevice

IoTivityDevice

IoTivityDevice

OIC Client

(Smartphone)

OIC Server

(IoT Devices)

(2) Reply from the

Corresponding IoT

Devices in Unicast

(1) Query in Multicast

(e.g., GET/oc/core?rt=light)

Page 22: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

ISVClientApp

ClientSDK

ClientWrapper(Internal)

ClientOCStack

(Internal)

[1]resource.get(callback)

[2]InProcClient.get(callback)

[3]OCDoResource()

[12] invoke wrapperAsyncCallbackFunc

ServerOCStack

(Internal)

ServerWrapper(Internal)

ServerSDK

ISVServer

App

[5]call entity handler[6] call OCResource

[7] InProcClient.get()

[8] Return code[9] Return code[10] Return code

[4] GET /light/1

[11] ACK, CONENT

[13] asyncResultHandler

ResourceGet

GetRequest

Call Entity Handler

ReturnResult code

Failure / pending

Querying a Resource State (GET)

22

Client Server

Page 23: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Setting a Resource State (PUT) ISV

ClientApp

ClientSDK

ClientWrapper(Internal)

ClientOCStack

(Internal)

[1]resource.put(attributeMap, callback)

[2]InProcClient.setResourceAttributes(attributeMap, callback)

[3]OCDoResource()

[12] invoke wrapperAsyncCallbackFunc

ServerOCStack

(Internal)

ServerWrapper(Internal)

ServerSDK

ISVServer

App

[5]call entity handler

[6] call OCResource

[7] InProcClient.put(attributeMap)

[8] Return code[9] Return code[10] Return code

[4] PUT /light/1

[11] ACK, CHANGED

[13] asyncResultHandler

ResourcePut

PutRequest

Call Entity Handler

ReturnResult code

Failure / pending

23

Client Server

Page 24: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

ISVClientApp

ClientSDK

ClientWrapper(Internal)

ClientOCStack

(Internal)

[1]resource.observe()

[2]InProcClient.observe()

[3]OCDoResource()

[12] invoke wrapperAsyncCallbackFunc

ServerOCStack

(Internal)

ServerWrapper(Internal)

ServerSDK

ISVServer

App

[5]call entity handler

[6] call OCResource

[7] InProcClient.observe()

[8] Return code[9] Return code[10] Return code

[4] GET /light/1

[11] ACK, CONTENT

[13] asyncResultHandler

ResourceObserve

ObserveRequest

Call Entity Handler

ReturnResult code

Failure / pending

Observing a Resource State (1/2)

24

Client Server

Page 25: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Observing a Resource State (2/2) ISV

ClientApp

ClientSDK

ClientWrapper(Internal)

ClientOCStack

(Internal)

[18] invoke wrapperAsyncCallbackFunc

ServerOCStack

(Internal)

ServerWrapper(Internal)

ServerSDK

ISVServer

App

[15] OCNtifyObserves()[16] OCNotifyObservers()

[17] CON, CONTENT

[19] asyncResultHandler

Result Trans Notify Event

[14] Change EventNotification

Cancellation

[20] [21][22] OCCancel()

[23] GET /light/1

25

Client Server

Page 26: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Installation & Demo of IoTivity

Page 27: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Installation (1/4) Install

- https://www.iotivity.org/documentation/linux/getting-started

$ sudo apt-get install git-core

$ sudo apt-get install scons

$ sudo apt-get install ssh

$ sudo apt-get install build-essential g++

$ sudo apt-get install libglib2.0, scons, unzip, uuid-dev, python-

dev, autotools-dev, libicu-dev, libbz2-dev

27

Page 28: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Installation (2/4) Download Libraries

$ tar xzvf boost_1_55_0.tar.gz

$ cd boost_1_55_0/

$ ./bootstrap.sh --with-

libraries=system,filesystem,date_time,thread,regex,log,iostreams,

program_options --prefix=/usr/local

$ sudo apt-get update

$ sudo apt-get install python-dev autotools-dev libicu-dev build-

essential libbz2-dev

28

Page 29: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Installation (3/4) $ sudo ./b2 install

$ sudo sh –c ‘echo ‘/usr/local/lib’ >> /etc/ld.so.conf.d/local.conf’

$ sudo ldconfig

29

Page 30: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Installation (4/4)

Download IoTivity source code.

Build the IoTivity project for linux.

$ <..iotivity directory..> scons

After build, sample code had made in <iotivity>/out/ directory.

30

Page 31: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Demonstration

31

Page 32: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoTivity OCF Project Participation

Page 33: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Access the IoTivity Website

33

Page 34: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Access Get-Involved Webpage

34

Page 35: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

DNSNA: DNS Name Autoconfiguration for IoT Devices in IoTivity

Page 36: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

DNSNA 제안 배경 IoT 디바이스에 대한 네이밍 서비스

- 수많은 IoT 디바이스의 DNS Name 자동설정 및 DNS Naming 서비스

※ 차세대 인터넷 프로토콜인 IPv6를 통한 IoT 디바이스 관리

36

Page 37: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoT 디바이스의 텍스트 리스트 IoT 디바이스의 비주얼 디스플레이

같은 종류의 디바이스 구별의 어려움 같은 종류의 디바이스를 장소로 구분

이동 디바이스의 위치 파악이 불편함 이동 디바이스의 위치 파악이 용이함

기존의 방식(예, AllJoyn) DNSNA: DNS Name Autoconf

Indoor 환경에서의 IoT 디바이스 관리

적용 분야: 아파트, 사무실, 쇼핑몰(이마트), 공장(현대자동차)

Source: Sejun Lee, Jaehoon (Paul) Jeong, and Jung-Soo Park, “DNSNA: DNS Name

Autoconfiguration for Internet of Things Devices”, ICACT 2016, January 2016. 37

Page 38: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Comparison between mDNS [RFC 6762] & DNSNA in terms of

DNS Traffic for DNS Name Resolution in a Multi-link Network

DNS Name Resolution at mDNS DNS Name Resolution at DNSNA

DNSNA (based on unicast) has the less number of messages (i.e., less energy

consumption) than mDNS (based on multicast) - Initialization Cost for DNS Name Uniqueness Test

- Service Cost for DNS Name Resolution into IPv6 Addresses.

m : #messages from client node (𝑛𝑐) to designated node (𝑛𝑡)

|E|: #total links

O(|E| + m) O(2ⅹm)

38

Page 39: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

DNSNA vs. mDNS (RFC6762) Approaches DNSNA[11] mDNS[13,14,15]

Packet Forwarding Unicasting Multicasting

Authoritative

DNS Server Yes

No

(host itself is server)

Naming Scope Global, Local Local

Target Networks Small, Large Small

Socket RAW/IPv6 UDP/IPv6

Host Implementation A little extension of ND mDNS implementation

required

Code Size Hundreds lines Thousands lines

Target Devices IoT Devices Apple Equipment

Message Number

2ⅹ#hops of the path

from client to DNS

server

#links in the network +

#hops from target to

client 39

Page 40: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoT 디바이스 DNS 네이밍 시스템 (1/5) DNS Name Format 1:

unique_id: Unique identifier to guarantee the uniqueness

device_model: Product model of manufacturer name

device_category: Device category name

location: Physical location of the device (e.g., kitchen)

domain_name: Representation and use of domain name (e.g., home, skke.edu)

DNS Name Format 2 (OID):

unique_id: Unique identifier to guarantee the uniqueness

object_identifier: Object Identifier (OID) standardized by ITU-T and ISO/IEC Node Indication ID + Manufacturer ID + Model ID + Serial Number ID

location: Physical location of the device (e.g., kitchen)

domain_name: Representation and use of domain name (e.g., home, skke.edu)

unique_id.object_identifier.location.domain_name

40

Page 41: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoT 디바이스 DNS 네이밍 시스템 (2/5) Time Sequence Diagram of DNSNA

RA

(DNSSL Option)

DAD

Remote Control

by Device Icon

DNS Name

Generation

NI Query (DNS Name?)

NI Reply(DNS Name &

IPv6 Address)

IoT Device Router DNS Server

DNS Dynamic Update(DNS Name & IPv6 Address)

User Device

Get Device List

Put Device List

DNS Query(DNS Name?)

DNS Response

(No Such DNS Name)

1. DNS Name Generation

2. DNS Name Collection

3. DNS Name Registration

4. IoT Device List

Retrieval

41

Page 42: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoT 디바이스 DNS 네이밍 시스템 (3/5)

IoT 디바이스 DNS 네임 자동 생성

DNS Server

Router

Tablet PC Access Point

IPv6 Host

Firesensor

DAD for DNS Name

RA Option (DNS Search List)

DHCP Option (DNS Search List)

DNS Search List:

.home

1

2

3

Firesensor generates its DNS name as

firesensor1.raspberry.firesensor.livingroom.home

42

Page 43: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoT 디바이스 DNS 네이밍 시스템 (4/5)

IoT 디바이스 DNS 네임 등록

DNS Server

Router

Tablet PC Access Point

IPv6 Host

NI Reply (DNS Name & IPv6 Address)

NI Query (DNS Name Collection)

What is your DNS Name?

1

2

3 Dynamic Update

(DNS Name &

IPv6 Address)

My DNS name is

firesensor1.raspberry.firesensor.livingroom.home

Firesensor

43

Page 44: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoT 디바이스 DNS 네이밍 시스템 (5/5)

IoT 디바이스 DNS 네임 관리

1

Get DNS Name

List for Devices

DNS Server

Router

Tablet PC Access Point

IPv6 Host

2Remote Control

by Device Icon

Device List

Firesensor

Firesensor

44

Page 45: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

(sx, sy)

(rx, ry)

Living Room

Bedroom-1

Bedroom-2

Study Room

Bathroom

Kitchen

Storage

Entrance

Area

위치기반 IoT 디바이스 네이밍 서비스

1

2

3 4

(x0, y0)

(x1, y1)

(x2, y2)

(x3, y3)

Firesensor is known to be located

at Living Room by Localization.

Localization(위치측정기법):

(𝒔𝒙, 𝒔𝒚) = 𝐜𝐢𝐫𝐜𝐮𝐦𝐜𝐞𝐧𝐭𝐞𝐫(𝒙𝟏, 𝒚𝟏,

𝒙𝟐, 𝒚𝟐, 𝒙𝟑, 𝒚𝟑);

(𝒔𝒙, 𝒔𝒚) belongs to Living Room.

Firesensor DNS name becomes

firesensor1.raspberry.firesensor.livingroom.home

Source: Jaehoon (Paul) Jeong et al., “SALA: Smartphone-Assisted Localization

Algorithm for Positioning Indoor IoT Devices”, Springer Wireless Networks, June 2016. 45

Page 46: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

Conclusion Internet of Things (IoT) will become part of the Internet in

near future.

Open Connectivity Foundation (OCF) will play a role of

the Standardization Hub for IoT Ecosystem.

IoTivity will lead an Open Source Project for IoT.

DNS Name Autoconfiguration (DNSNA) is expected as a

DNS Naming System for IoT devices in IoTivity.

Korea need to lead R&D on Key Components of IoT

Ecosystem through the Collaboration among Industry and

Academia.

46

Page 47: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

[1] IoTivity, https://www.iotivity.org

[2] OCF, http://openconnectivity.org/

[3] AllSeenAlliance, https://allseenalliance.org/

[4] IoTivity Wiki, https://wiki.iotivity.org/start

[5] 이원석, 차홍기, 전종홍, “사물인터넷 오픈소스 기술 –

IoTivity”, KICS 정보와 통신 열린강좌, 2015년 11월.

[6] RFC 7252: The Constrained Application Protocol (CoAP)

[7] RFC 4944: Transmission of IPv6 Packets over IEEE

802.15.4 Networks

[8] Jaehoon Paul Jeong, Sejun Lee and Jung-Soo Park, “DNS

Name Autoconfiguration for Internet of Things Devices”,

draft-jeong-its-iot-dns-autoconf-00, March 2016.

References

47

Page 48: IoTivity: OCF Open Source ProjectC1%A4%C0... · 2016-06-13 · CoAP) - IETF Standard in CoRE Working Group: RFC 7252 - CoAP is a specialized web transfer protocol for use with constrained

마스터 제목 스타일 편집

IoTLab