12월에 결성되어 마이크로소프트, LG전자 등 180개 이상의 회원를 확보하고 있는 올씬 얼라이 언스(AllSeen Alliance)[6]는 올조인(Alljoyn) 오픈소스를 중심으로 사물인터넷을 위한 미들웨어 기술 개발 및 확산에 노력 중에 있다. 삼성전자와 인텔 주



Similar documents
이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

[Brochure] KOR_TunA

52 l /08

Microsoft PowerPoint - chap01-C언어개요.pptx


TTA Journal No.157_서체변경.indd


회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제

wtu05_ÃÖÁ¾

<C3E6B3B2B1B3C0B C8A32DC5BEC0E7BFEB28C0DBB0D4292D332E706466>

SIGIL 완벽입문

iOS5_1±³

Windows 8에서 BioStar 1 설치하기

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

H3250_Wi-Fi_E.book

XXXXXXXXXXXXX XXXXXXX

- 2 -

오토 2, 3월호 내지최종

?

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

라우터

하는 요구이다. 또한 사람이 인지하고 처리하는 수준에 서 확장하여 사물 간의 통신이 이루어져 일처리를 해 주는 스마트한 세상을 만들고자 한다. 실제 M2M, IoT 등이 추구하는 바가 궁극적으로 이러한 세상을 만드는 것일 것이다. 그렇다면 사물 웹(WoT)의 의미를 어

춤추는시민을기록하다_최종본 웹용

현재 유사 시스템은 카페에 도입될 수 없는 실정이 즉, 현 카페의 좌석 관리는 빈 좌석 현황을 자 동적으로, 실시간으로 알 수 없기 때문에 고객과 카 페의 점원 및 점주 모두가 불편함을 겪고 있는 것이 이는 카페 이해관계자들의 요구사항을 충분히 반영하지 못한 결과라고

<C1DF29B1E2BCFAA1A4B0A1C1A420A8E85FB1B3BBE7BFEB20C1F6B5B5BCAD2E706466>


Agenda 오픈소스 트렌드 전망 Red Hat Enterprise Virtualization Red Hat Enterprise Linux OpenStack Platform Open Hybrid Cloud

......

멀티미디어 콘텐츠 접속을 위한 사용자인증 시스템_교열(박세환, ).hwp

Microsoft Word - src.doc

<464B4949B8AEC6F7C6AE2DC0AFBAF1C4F5C5CDBDBABBEABEF7C8AD28C3D6C1BE5FBCD5BFACB1B8BFF8BCF6C1A4292E687770>

마켓온_제품소개서_ key

<B1DDC0B6B1E2B0FCB0FAC0CEC5CDB3DDB0B3C0CEC1A4BAB82E687770>

[로플랫]표준상품소개서_(1.042)

온습도 판넬미터(JTH-05) 사양서V1.0

< FC8A8C6E4C0CCC1F620B0B3B9DF20BAB8BEC8B0A1C0CCB5E5C3D6C1BE28C0FAC0DBB1C7BBE8C1A6292E687770>

PowerPoint Presentation

오토10. 8/9월호 내지8/5

서현수

<4D F736F F D20B1E2C8B9BDC3B8AEC1EE2DC0E5C8F1BCF8>

ºñ»óÀå±â¾÷ ¿ì¸®»çÁÖÁ¦µµ °³¼±¹æ¾È.hwp

암호내지

hwp

Microsoft Word - 문필주.doc

SBR-100S User Manual

슬라이드 1

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

Cover Story Oracle Big Data Vision 01_Big Data의 배경 02_Big Data의 정의 03_Big Data의 활용 방안 04_Big Data의 가치

Storage_for_Megapixel_Video01

810 & 는 소기업 및 지사 애 플리케이션용으로 설계되었으며, 독립 실행형 장치로 구성하거 나 HA(고가용성)로 구성할 수 있습니다. 810은 표준 운영 체제를 실행하는 범용 서버에 비해 가격 프리미엄이 거의 또는 전혀 없기 때문에 화이트박스 장벽 을

<4D F736F F F696E74202D FB5A5C0CCC5CDC5EBBDC5B0FA20B3D7C6AEBFF6C5A9205BC8A3C8AF20B8F0B5E55D>

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

시장자료 조사, 수집 시장 동향 분석 표적시장 결정 시장별 적략 수립 시장별 전략 수행 평가 및 수정 기술기획 손익자료 수집, 제품 원가 분석 손익분기점 설정 수익 설계 수익정책설계 수익정책 수익정책 결정 손익계산서 평가 전략 기획 제품 전략자료 조사, 수집 사업 포트

Art & Technology #5: 3D 프린팅 - Art World | 현대자동차

디지털 공학

0. 들어가기 전

1. 제품 개요 AhnLab Policy Center 4.6 for Windows(이하 TOE)는 관리대상 클라이언트 시스템에 설치된 안랩의 안티바이러스 제품인 V3 제품군에 대해 보안정책 설정 및 모니터링 등의 기능을 제공하여 관리대상 클라이언트 시스템에 설치된 V3

**09콘텐츠산업백서_1 2

1. 서론 사물인터넷 (IoT : Internet of Things) 의개념은 1999년케빈애쉬톤 (Kevin Ashton) 에의해최초로사용되었다. 초기에케빈애쉬톤이사용을하던개념은 RFID 태그를활용한시스템의발전을시작으로개념이조금씩변화되어, 최근에는유비쿼터스컴퓨팅을포함

안 산 시 보 차 례 훈 령 안산시 훈령 제 485 호 [안산시 구 사무 전결처리 규정 일부개정 규정] 안산시 훈령 제 486 호 [안산시 동 주민센터 전결사항 규정 일부개정 규

<C0CCBCF8BFE42DB1B3C1A4BFCFB7E12DB1E8B9CCBCB12DC0DBBCBAC0DAB0CBC1F5BFCFB7E12DB8D3B8AEB8BBB3BBBACEC0DAB0CBC1F52E687770>

186최종

197

4임금연구겨울-지상토론

특허청구의 범위 청구항 1 삭제 청구항 2 단일 개의 운영체제를 갖는 클라이언트 단말에 있어서, 제1 운영체제와, 상기 제1 운영체제 하에서 사용되는 파일을 저장하는 메모리; 및 상기 메모리에 저장된 파일을 운영체제 제공장치로 전송하고 상기 메모리를 포맷하며, 상기 운

Ⅰ. 머리말사물인터넷기술은다양한장치를인터넷에연결하고장치에장착된센서로부터데이터를획득, 처리, 전송하여사용자에게스마트홈, 헬스케어, 스마트카, 스마트팩토리등의서비스를제공하는기술이다. 이러한지능형서비스제공을목표로하는글로벌사물인터넷시장은현재약 200 조원이상의잠재적가치를지니고

holiday webinar 2013 _ Korean webinar order.pptx

CR hwp

Cisco FirePOWER 호환성 가이드

Windows Live Hotmail Custom Domains Korea

consulting

Microsoft 을 열면 깔끔한 사용자 중심의 메뉴 및 레이아웃이 제일 먼저 눈에 띕니다. 또한 은 스마트폰, 테블릿 및 클라우드는 물론 가 설치되어 있지 않은 PC 에서도 사용할 수 있습니다. 따라서 장소와 디바이스에 관계 없이 언제, 어디서나 문서를 확인하고 편집

Adobe Flash 취약점 분석 (CVE )

No Slide Title

HTML5* Web Development to the next level HTML5 ~= HTML + CSS + JS API

ICT EXPERT INTERVIEW ITS/ ICT? 차량과 인프라 간 통신(V2I) Nomadic 단말 통신(V2P) 차량 간 통신(V2V) IVN IVN [ 1] ITS/ ICT TTA Journal Vol.160 l 9

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

게시판 스팸 실시간 차단 시스템

스마트주택용분전반_160331

..,. Job Flow,. PC,.., (Drag & Drop),.,. PC,, Windows PC Mac,.,.,. NAS(Network Attached Storage),,,., Amazon Web Services*.,, (redundancy), SSL.,. * A

Microsoft Word _기술동향분석_우분투_유정목[1]

BACKGROUND 2

RHEV 2.2 인증서 만료 확인 및 갱신

Index 1. Intro Install Connect Scratch 1.4 (Offline Editor) Scratch 2.0 (Online Editor) Connect f

¼Òâ¹Ý¹®Áý¿ø°í.hwp

XXXXXX XXXXXX

국어 순화의 역사와 전망

<5BB0EDB3ADB5B55D B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D D3135B9AEC7D72E687770>


스키 점프의 생체역학적 연구

Microsoft Word - 서두옥

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PowerPoint 프레젠테이션

처음에 읽어 주십시오! 본 사용설명서의 내용은 예고 없이 변경할 수 있습니다. 본 사용설명서의 내용은 제조 공정의 각 과정에서 확인했습니다. 문제점이나 잘못된 점 이 있으면 개의치 마시고 당사로 연락해 주십시오. 본 사용설명서의 내용을 복제하는 것은 일부 또는 전부에

GBF-1257B 카스블루투스체지방계앱사용매뉴얼

04 Çмú_±â¼ú±â»ç

3저널(2월호)-사 :26 PM 페이지31 DK

2ÀåÀÛ¾÷

Red Dot Award: Communication Design 에 참 하기 결정해 주셔서 기쁩니다. "성공을 위한 안내서"는 등 절 에 대해 안내 니다. 지체 말고 언 든지 연 해 주 오. Red Dot 은 등 절 또는 등 후 절 를 기꺼 와드 겠습니다. 01 Int

레드햇과 오픈스택 Feb, 2014 Kim Yong Ki Solution Architect Red Hat Korea RED HAT ENTERPRISE LINUX OPENSTACK PLATFORM 2014

Transcription:

IoT Connectivity 기술 사물인터넷 오픈소스 기술 - IoTivity 표준 + 오픈소스 개념을 활용하여 최고의 사물인터넷 플랫폼에 도전한다 이원석, 차홍기, 전종홍 한국전자통신연구원 Ⅰ. 서 론 사물인터넷 시장의 주도권 확보 를 위한 치열한 플랫폼 경쟁이 진 행 중에 있으며 IoTivity는 OIC 표준 기반 오픈소스 프로젝트로 상호운 용성 확보와 기술 파급력 극대화를 통한 주도권 확보에 도전하고 있다. 사물인터넷(Internet of Things, 약어로 IoT)은 각종 사물에 센서와 통신 기능을 내장하여 인 터넷에 연결하는 기술을 의미하며, 여기서 사물이란 가전제품, 모바일 장비, 웨어러블 컴퓨터 등 다양한 임베디드 시스템이 될 수 있다[1]. 오픈소스 소프트웨어는 소스코드가 공개되어 있는 소 프트웨어를 말하며, 일반적으로 자유롭게 사용 복제 배포 수정할 수 있다. 오픈소스 소프트 웨어의 대표적인 예로는 리눅스 커널 및 관련 GNU 소프트웨어, 아파치 웹서버, 파이어폭스 웹 브라우저, MySQL 데이터베이스 시스템, 파이썬/펄 언어, 이클립스 툴 등을 들 수 있으며, 그 외 에도 많은 오픈소스 소프트웨어들이 전세계에 걸쳐 수많은 개발자들에 의해 개발되고 있다[2]. 본 논문에서는 소개하는 IoTivity[3]는 사물인터넷과 관련된 오픈소스 소프트웨어이다. 아래의 <그림 1>은 사물인터넷의 가장 초보적인 단계의 두가지 유즈케이스를 보여준다. 좌측 유 즈케이스는 스마트폰 앱을 이용하여 실내 온도 등 에어컨의 상태정보를 확인하거나 외부에서 집 안의 에어컨을 실시간으로 제어 상황을 보여준다. 이와 같은 유즈케이스는 사용자가 여름에 퇴근 전 집안의 온도를 확인하고 필요한 경우 원하는 온도를 설정하여 집에 도착하였을 때 사용자가 원 하는 최적의 상태를 만들어 사용자 환경을 윤택하게 만들 수 있다. 오른쪽의 유즈케이스는 집안에 카메라를 설치하여 스마트폰 앱을 이용하여 언제 어디서나 실시간으로 집안의 상황을 모니터링 서비스를 제공하는 것을 보여준다. 보안 관점에서 또는 반려 동물의 상황을 모니터링하는데 유용 하게 활용될 수 있다. 이와 같은 사물인터넷 기반 서비스는 지속적으로 다양해지고 확대되어 실생 활에서 사람들에게 보다 안전하고 편리한 생활 환경을 제공해 줄 것으로 기대하고 있다. 그러나 사물인터넷 생태계를 만드는데 있어서 해결이 필요한 다양한 이슈들이 있으며 이들 중 가장 큰 이슈 중 하나는 상호호환성 확보이다. 현재 스마트폰 생태계를 주도하고 있는 애플과 구 글은 홈킷(Homekit)[4]과 브릴로(Brillo)[5] 등 독자적인 기술 기반으로 향후 엄청난 시장을 형 성할 사물인터넷 시장의 주도권 확보를 위해 치열한 경쟁 중에 있다. 또한 퀄컴 주도하에 2013년 27 그림 1. 스마트폰을 이용한 에어컨 제어 및 집안 실시간 모니터링 유즈케이스(사진 출처: Belkin) 본 자료는 정보통신 분야의 전문 기술을 누구나 쉽게 이해할 수 있도록 풀어 쓴 지상 강의로서, 한국통신학회에서 발간하여 무료로 배포하는 자료입니다

12월에 결성되어 마이크로소프트, LG전자 등 180개 이상의 회원를 확보하고 있는 올씬 얼라이 언스(AllSeen Alliance)[6]는 올조인(Alljoyn) 오픈소스를 중심으로 사물인터넷을 위한 미들웨어 기술 개발 및 확산에 노력 중에 있다. 삼성전자와 인텔 주도로 2014년 7월에 결성된 OIC(Open Interconnect Consortium)[7]는 시스코, HP, 미디어텍 등 100개 이상의 회원사를 확보하고 있 으며 사물인터넷 표준과 표준을 구현한 오픈 소스 프로젝트인 IoTivity를 동시에 개발하는 방식 을 채택하여 사물인터넷 시장에서 상호호환성 확보와 기술 파급력을 극대화하여 사물인터넷 시 장에서의 주도권 확보 경쟁을 버리고 있다. 특히 IoTivity 오픈소스 프로젝트는 로열티 프리 정 책을 기반으로 하고 있어 어느 회사든 로열티 없이 본 오픈소스를 적용한 제품 출시가 가능하다. 본고에서는 OIC 표준 기반한 사물인터넷 오픈소스 기술인 IoTivity에 대해 알아본다. 본고의 구성으로 IoTivity오픈소스 프로젝트의 개념 및 아키텍처를 살펴보고, 세부적인 기술인 IoTivity 스택과 프로토콜에 대해서 설명한다. 또한 IoTivity 서비스에 대해서 설명하고, 마지막으로 향후 개발될 주요 개발 계획에 대해서 설명한다. Ⅱ. 본 론 28 1. IoTivity 개념 및 구성 가. IoTivity 개념 IoTivity의 목적은 미래 사물인터넷 세상에 출현할 수십억 개의 디바이스를 다양한 운영체제와 네트워크 프로토콜에 상관없이 자연스럽게 연결할 수 있는 오픈소스 소프트웨어 프레임워크를 개발하는데 있다. 사물인터넷 생태계 활성화를 위해 가장 중요한 부분 중의 하나는 다양한 사물을 제조하는 중소 기업들이 자신들의 제품에 인터넷 연결 기능을 추가하고 이에 대한 스마트폰 앱이나 서비스 얼 마나 쉽게 함께 제공할 수 있는 환경을 제공할 수 있는가에 있다. IoTivity는 이러한 요구사항을 만족시키기 위한 프레임워크로 뛰어난 사물인터넷 기기간 상호운영성 보장과 빠른 사물인터넷 제품 개발을 가능하게 한다. 또한 새롭게 개발되는 최신 사물인터넷 기술을 지속적으로 확대 적 용하며, 다양한 오픈소스 하드웨어(e.g. 라즈베리파이, 에디슨 등)와 소프트웨어 플랫폼(e.g. 안 드로이드, ios, 윈도우, 리눅스 등) 지원 범위를 확대해 나아가고 있다. 현재 IoTivity는 우분투 (Ubuntu), 타이젠(Tizen), 안드로이드를 지원하고 있으며, ios는 향후 지원 예정이다. 오픈소스 하드웨어 플랫폼의 경우 현재 아두이노(Arduino), 에디슨(Edison)을 지원하며 지속적으로 지원 IoTivity는 쉽고 빠르게 상호운용성 이 뛰어난 사물인터넷 제품 개발을 가능하게 하는 오픈소스 소프트웨 어 프레임워크이다. 그림 2. IoTivity 개념 아키텍처 정보와 통신 열린강좌

IoTivity는 크게 OIC 핵심 표준을 구 현한 리소스 블록과 편리한 스마트 폰 앱/서비스 개발 지원하는 서비스 블록으로 구성된다 하드웨어 플랫폼을 확대할 예정이다. 또한 기본적으로 IoTivity는 OIC 표준 기반의 사물인터넷 미들웨어 오픈소스 기술로 뛰어난 상 호운용성을 지원한다. <그림 2>는 IoTivity의 개념적인 아키텍처를 보여준다. 블루투스, 와이파이, Zigbee 등 사물인 터넷에서 활용되는 다양한 연결 기술에 대한 부분인 전송(Transports) 레이어, 프로파일 레이어 의 소비자, 기업, 자동차, 헬스 등 다양한 사물인터넷 응용들이 전송 레이어의 연결 기술과는 독 립적으로 개발될 수 있도록 리소스 발견, 데이터 전송, 디바이스 관리, 데이터 관리 등의 기능을 지원하는 프레임워크 (Framework) 레이어, 사물인터넷 응용의 각각의 버티컬 분야를 의미하는 프로파일(Profiles) 레이어와 같이 크게 세개의 레이어로 구성된다. 전송 레이어의 경우 지속적 으로 신기술들이 확장될 수 있으며, 이러한 확장이 되더라도 프레임워크 레이어의 지원으로 프 로파일 레이어의 응용들은 변경없이 실행될 수 있다. 참고로 라이선스 정책은 아파치 2.0을 따르고 있으며 리눅스 재단에 의해 운영되고 있다. 나. IoTivity 구성 IoTivity는 리소스 기반 RESTful 아키텍처 모델을 기반으로 하고, 따라서 모든 사물을 리소스 로 표현하고 CRUDN(Create, Read, Update, Delete and Notify) 오퍼레이션을 제공한다. 또 한 데몬(Deamon) 없이 CoAP(Constrained Application Protocol) 기반으로 설계되어 저사양, 저전력 기기 지원이 용이한 장점이 있다. IoTivity 프레임워크에 대한 세부적인 구성은 <그림 3>과 같다. <그림 3>과 같이 IoTivity 프레임워크는 크게 IoTivity 서비스와 관련된 기본 서비스(Basic Service)블록과 추가 서비스(Additional Service) 블록 그리고 OIC 표준 기반 구현 부분인 자원 (Resource) 블록으로 구성된다. 자원 블록은 OIC 표준 기반한 부분으로 일반 리소스 모델, 리소스 발견, 메시징, 식별자 및 주소표현, CRUDN 오퍼레이션, 보안 등 IoTivity 프레임워크의 근간을 이루는 핵심적인 부분 이다. IoTivity의 필수 메시징 프로토콜은 IETF CoAP이며 향후 선택적인 메시징 프로토콜로 HTTP(HyperText Transfer Protocol), MQTT(MQ Telemetry Transport)도 지원 예정이다. IoTivity 서비스 부분은 IoTivity 기반의 확장 기능과 스마트폰 앱/서비스 개발시 빠른 개발을 지원하는 프레임워크 기능들로 구성된다. 즉, 프로토콜 플러그인 관리자(Protocol Plugin Manger)는 IoTivity 프레임워크에서 지원하지 않는 특정 프로토콜을 추가할 수 있는 기능이며, 소프 트웨어 센서 관리자(Software Sensor Manger)는 센서들을 조합하여 새로운 가상 센서를 만들 29 그림 3. IoTivity 프레임워크 구성

그림 4. IoTivity 프레임워크 분류 30 수 있는 유연한 기능을 지원한다. 또한 사물 관리자(Things Manager)는 여러 사물들을 그룹화 하여 한번에 제어할 수 있는 기능을 지원하며, 알림 관리자(Notification Manager)는 사물의 특 정 상황에 대한 알림 기능을 지원한다. 2. IoTivity 프레임워크 가. 프레임워크 분류 IoTivity 프레임워크는 <그림 4>와 같이 크게 고사양 기기를 위한 프레임워크와 저사양 기기를 위한 프레임워크로 나눌 수 있다. 저사양 기기를 위한 프레임워크는 컴퓨팅 파워가 약한 사물에 적용하기 위한 것으로 IoTivity 서비스 기능 없이 최소한의 기본 기능만 지원하며 바이너리 크기 가 100KB 정도된다. 반면에 고사양 기기를 위한 프레임워크는 IoTivity 서비스를 포함하고 있으 며 안드로이드, ios, 윈도우 등에서 사물과 연동되는 애플리케이션 개발에 사용하기 위한 것이다. 나.. IoTivity 프레임워크 실행 모드 IoTivity 프레임워크는 클라이언트, 서버 그리고 모두(클라이언트 및 서버) 형태로 설정하여 사 용할 수 있다. 일반적으로 사물은 자신의 리소스와 관련된 서비스를 제공하므로 서버 모드로 설 정된다. 반면에 스마트폰 앱 또는 클라우드의 서비스는 사물의 상태를 요청하여 읽어오거나 사 물의 설정 변경을 요청하는 형태로 사용되므로 클라이언트 모드로 설정되어 사용된다. 아 래 의 <그림 5>는 IoTivity를 활용하여 소스코드 레벨에서 서버 모드와 클라이언트 모드를 설정하는 예 IoTivity는 기기의 컴퓨팅 파워에 따 라 고사양 기기를 위한 프레임워크 와 저사양 기기를 위한 프레임워크 를 지원한다. 그림 5. IoTivity 서버/클라이언트 설정 코드 예 정보와 통신 열린강좌

그림 6. IoTivity 프레임워크 기반 사물간 상호 동작의 예 IoTivity에서 사물들 간의 핵심적인 연동 기능은 리소스 블록에 구현되 어 있다. 사물 디바이스와 스마트폰 디바이 스가 연동하는 구조에서는 사물은 OIC 서버 역할을 하며 스마트폰은 OIC 클라이언트 역할을 한다. 를 보여준다. 다. IoTivity 리소스 블록 주요기능 리소스 블록은 OIC 표준을 구현한 부분으로 IoTivity의 기반이 되는 핵심기능을 제공한다. 특 히 리소스 블록은 사물간의 연동에 필수적인 주변 사물이나 리소스 발견과 그 후 특정 사물이나 리소스에 대해서 상태를 질의나 사물이나 리소스의 설정을 변경하나 상태 변경을 모니터링 하는 기능을 제공한다. <그림 6>은 IoTivity를 기반으로 스마트폰과 스마트 전등이 상호 연동 하는 예와 이때 활용 되는 주요 동작 기능을 보여준다. 스마트 전등을 제어하는 스마트폰은 OIC 클라이언트 역할을 하며, 스마트 전등은 OIC 서버 역할을 하며 전등 모니터링과 설정 변경 기능을 서비스로 제공 한다. <그림 6>의 동작시나리오를 순차적으로 설명하면 먼저 스마트 전등 제품이 켜지는 시점 에 (1) OIC 서버에 BinarySwitch 자원을 등록하여 서비스 제공을 위한 기본 준비를 한다. 스 마트폰은 OIC 클라이언트 역할을 하며 (2) 주변에 스마트 전등을 찾는 메시지(e.g. GET /oc/ core?rt=light )를 CoAP 멀티캐스트 형태로 보낸다. 이에 해당되는 스마트 전등은 유니캐스트 로 스마트폰에 사물에 대한 기본적인 정보를 보낸다. 스마트폰은 스마트 전등이 보내준 정보를 보고 (3) 전등이 상태(켜져있는지 또는 꺼져있는지)를 질의할 수 있고, 또는 (3) 전등이 켜져 있을 경우 끄고, 꺼져있을 경우 켜도록 설정 요청을 진행할 수도 있다. 또한 (3) 전등의 상태가 변경되 는 시점에 스마트폰에 알려달라고 스마트 전등에 요청을 할 수도 있다. 이러한 세부적인 동작들이 IoTivity 프레임워크 내부에서는 어떻게 동작하는지 아래에서 설명한다. 1 리소스 등록 리소스 등록은 일반적으로 사물에서 실행되는 서버가 서비스로 제공할 리소스를 등록하는 것 을 의미한다. 예를 들면 다른 디바이스에서 리소스 발견 요청을 받으면 등록된 리소스에 대한 정보를 제공하게 된다. 또한 등록된 리소스는 IoTivity 클라이언트 디바이스로부터의 리소스 상태 정보 요청이나 리소스의 상태 변경 요청을 받는 대상이 된다. <그림 7>은 리소스 등록 절차를 보여준다. 애플리케이션에서 리소스 등록을 위해 (1)에서 (6)까지 의 처리를 진행하게 된다. 즉, C++ SDK의 platform.registerresource()를 호출하고 이 메소드 는 C API 스택의 InProcServer.RegisterResource() 호출하고 이 함수가 OCStack의 OCCreateResource()를 호출한다. 그 후 각 함수 실행 결과를 받아서 처리하는 구조로 구현되어 있다. 2 디바이스/리소스 발견 디바이스/리소스 발견은 주변 디바이스에 멀티캐스트로 디바이스 또는 원하는 리소스에 대한 31

그림 7. 리소스 등록 절차 질의를 하고 결과를 받는 절차를 통해서 이루어진다. 즉, 주변에 원하는 디바이스가 있는지 또는 원하는 리소스가 있는지 알 수 없기 때문에 주변의 모든 디바이스를 대상으로 질의하는 것이 필요하며 따라서 멀티캐스트 프로토콜을 사용하여 질의를 수행한다. 그 후 모든 디바이 스는 질의를 받게 되고 질의에 응답이 필요한 디바이스는 질의한 디바이스에게만 응답을 하 면 되는데 따라서 유니캐스트를 사용하여 응답을 수행한다. <그림 8>은 이러한 전체적인 절차를 이해하기 쉽도록 그림으로 표현한다. 32 IoTivity는 기본적으로 디바이스/리 소스 발견 기능을 지원하며 발견 후에 해당 리소스에 대한 상태 확 인이나 상태 설정을 가능하게 하는 기능도 지원한다. 그림 8. 디바이스/리소스 발견 절차 3 리소스 상태 질의 리소스 상태 질의는 일반적으로 리소스 발견 후 리소스 상태 정보를 요청하는 것을 의미한다. 예를 들면 스마트 전등의 경우 BinarySwitch 라는 리소스를 갖고 있고 현재 상태 확인을 원 하는 디바이스의 BinarySwitch 상태를 요청할 수 있다. 이러한 기능을 이용해서 외출 중에 집안에 있는 모든 전등이 켜져있는지 혹은 꺼져있는지 확인하는데 사용할 수 있다. 4 리소스 상태 설정 리소스 상태 설정은 일반적으로 리소스 발견 후 리소스 상태에 대한 변경 요청을 하는 것을 의미한다. 즉, 외부에서 집안의 모든 전등의 상태 질의 후 거실의 등이 켜져 있는 상태라면 거 실 등의 BinarySwitch 리소스 상태 설정 변경 요청을 통하여 끌 수 있다. 5 리소스 상태 모니터링 리소스 상태 모니터링은 IoTivity 클라이언트가 특정 사물의 리소스 상태의 변경시 마다 변경 된 상태를 모니터링 하고 싶을 때 사용하는 기능이다. 원하는 리소스를 관찰 대상으로 등록 정보와 통신 열린강좌

그림 9. PPM 지원 방향 IoTivity는 프로토콜 확장과 편리한 스마트폰 앱/서비스 개발 지원을 위 한 서비스 프레임워크를 제공한다. 하면 사물의 IoTivity 서버 기능 등록된 리소스의 모니터링을 시작하고 변경이 감지되면 이의 상태 정보를 IoTivity 클라이언트에게 전달한다. 본 기능의 장점은 이와 같이 지속적으로 리 소스의 상태를 모니터링 하기 위해서 IoTivity 클라이언트가 지속적으로 상태정보 요청을 하 지 않고도 효율적으로 같은 기능을 수행할 수 있다는데 있다. 예를 들면, 휴가를 가면서 아파 트 현관문과 외부 유리창의 스마트 도어락을 잠김으로 설정 후 리소스 상태 모니터링을 설정 하여 상태변경이 있을 때에 사용자에게 알림 메시지를 보내도록 할 수 있다. 3. IoTivity 서비스 IoTivity 서비스는 기본적인 사물간의 연동을 위한 근본적인 기능이라기 보다는 IoTivity 기 반 상용화를 보다 쉽게 지원하기 위한 추가적인 서비스 프레임워크이다. IoTivity 서비스는 크게 기본 서비스 블록과 추가 서비스 블록으로 구분되며, 기본 서비스 블록은 프로토콜 플러그인 관 리자, 소프트웨어 센서 관리자, 사물 관리자, 알림 관리자 기능을 지원한다. 가. 프로토콜 플러그인 관리자(PPM) PPM은 IoTivity에서 지원하지 못하는 추가적인 프로토콜이 필요한 경우 정형화된 플러그인 기 반 프로토콜 확장하여 사용할 수 있는 기능을 지원한다. 확장 프로토콜은 공유 라이브러리 형태 인.so 형태가 되며 런타임에 필요한 프로토콜에 대한.so 로딩을 하여 실행한다. 또한 플러그인으로 지원하는 프로토콜의 단위는 특정 프로토콜 (e.g. MQTT or AllSeen) 지원 형태나 특정한 프로토콜에서 활용되는 특정한 기기(e.g. AllSeen FAN or Philip Hue) 지원 형 태 모두 가능하며 이는 플러그인 개발자가 선택하여 개발하면 된다. <그림 9>는 PPM이 없는 상황에서 프로토콜을 확장하여 사용할 경우 IoTivity 애플리케이션 개발자가 프로토콜 별로 특정 API를 사용하여 개발이 필요했지만, PPM을 사용하면서는 확장되 는 API와 독립적으로 정형화된 API를 사용하여 대응이 가능하기 때문에 개발 효율성이 크게 확 대되는 장점을 가질 수 있다. 나. 소프트웨어 센서 관리자(SSM) SSM은 물리적/논리적 센서 정보 등을 조합하여 새로운 가상의 센서 정보를 정의할 수 있는 소 프트웨어 서비스 기능을 지원한다. 다. 사물 관리자(TM) 스마트홈에서 에너지 절약에 대한 유즈케이스 중 하나는 집 주인이 외출을 할 때 집의 모든 등 을 끄거나 전기를 아끼기 위해서 외출시 전기를 차단해도 문제가 없는 모든 전자제품의 플러그를 끈다. 이와 같은 기능을 수행하기 위해서는 스마트폰 애플리케이션 개발시 집안의 각 사물들을 하나씩 제어해야 하는 비효율적인 문제가 있다. 이러한 유즈케이스를 효과적으로 대응할 수 있 도록 지원하기 위한 기능이 TM 기능이다. 33

TM은 사물을 원하는 형태로 그룹화하여 효과적으로 관리할 수 있는 기능을 지원한다. 이를 위 해 기본적으로 사물에 대한 그룹 생성, 조회, 수정, 삭제 기능을 지원하고 그룹 상태나 디바이스 변경을 확인할 수 있는 기능을 제공한다. 라. 알림 관리자(NM) 주인이 외출 중일 때 집의 창문이나 문이 열리면 사용자에게 상태를 알려주는 유즈케이스는 가정 집 보안과 관련된 가장 일반적인 케이스이다. IoTivity에서는 특정 사물의 상태변화가 발생한 경우 이를 특정 디바이스로 알려주는 기능을 쉽게 개발할 수 있도록 지원하는 NM 기능을 지원한다. Ⅲ. 결 론 34 본고에서는 IoTivity 오픈소스 기술에 대한 기본 개념 및 아키텍처를 살펴보고, 리소스 스택의 분류 및 OIC 표준 기반으로 개발된 핵심적인 기능들에 대한 세부적인 동작 방식을 소개하였다. 또한 IoTivity에서 개발의 편의성을 위해서 추가적으로 지원하는 IoTivity 서비스들에 대해서도 알아보았다. 사물인터넷 생태계 구축을 위해 초기에 가장 중요한 역할은 사물을 상품화하는 다양한 제조사 에게 있다. 그러나 많은 중소 제조사들은 IT기술에 대한 전문지식 및 인력들의 부족으로 빠르게 진화하는 IT 기술을 활용하여 경쟁력있는 상품을 개발하는 것은 매우 어려운 일이다. 따라서 빠 른 사물인터넷 제품 개발을 가능하게 하고, 뛰어난 사물인터넷 기기간 상호운용성 보장과 최신 의 사물인터넷 기술을 지속적으로 적용하며 다양한 하드웨어와 소프트웨어 플랫폼을 지원하는 사물인터넷 미들웨어 플랫폼 기술 필요성이 매우 높은 상황이다. IoTivity는 이런한 요구사항을 만족시켜가는 로열티 프리(Royalty Fee) 오픈소스 기술로 사물인터넷 생태계를 확산하는데 핵심 적인 역할을 할 것으로 기대된다. 참고로 2015년 10월 IoTivity 1.0.0 버전[8]이 공식적으로 릴리즈 되었다. 올해 10월 공식적인 IoTivity 1.0.0이 릴리즈 되어 2016년부터 IoTivity를 적용한 상용제품 출시가 시작될 것 으로 예상된다. Acknowledgment 이 논문은 2015년도 정부(미래창조과학부)의 재원으로 정보통신기술진흥센터의 지원을 받아 수행된 연구임 (No. R0127-15-1042, 라이프케어를 위한 스마트 웨어러블 표준 개발). 참 고 문 헌 [1] J. Höller, V. Tsiatsis, C. Mulligan, S. Karnouskos, S. Avesand, D. Boyle: From Machine-to-Machine to the Internet of Things: Introduction to a New Age of Intelligence. Elsevier, 2014. [2] 오픈소스SW 라이선스 가이드1.0(초급편), 한국저작권 협회, Feb. 2012. [3] IoTivity, 2015, from https://www.iotivity.org/. [4] Homekit, 2015, from https://developer.apple.com/homekit/. [5] Project Brillo, September, 23, 2015, from https://developers.google.com/brillo/. 정보와 통신 열린강좌

[6] Allseen Alliance, 2015, from https://allseenalliance.org/. [7] Open Interconnect Consortium, 2015, from http://openinterconnect.org/. [8] IoTivity 1.0.0, 2015, from https://www.iotivity.org/downloads/iotivity-1.0.0. 35