SlideShare ist ein Scribd-Unternehmen logo
1 von 29
Downloaden Sie, um offline zu lesen
IoTivity 오픈소스 기술
이원석 박사 / ETRI 표준연구센터
wonsuk.lee@etri.re.kr
사물인터넷 간단한 유즈케이스
<Source: http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/ >
사물인터넷 제품 개발을 위해 무엇이 필요한가?
• 뛰어난 사물인터넷 기기간 상호운영성 ?
• 빠른 사물인터넷 제품 개발 ?
• 최신의 사물인터넷 기술 활용 ?
• 다양한 하드웨어 / 소프트웨어 플랫폼 지원 ?
IoTivity 소개 (1/2)
• 목적: 미래 IoT 세상에 출현할 수십억 개의 디바이스를 다양
한 운영체제와 네트워크 프로토콜에 상관없이 자연스럽게
연결할 수 있는 오픈소스 소프트웨어 프레임워크 개발
• OIC 표준 기반의 사물인터넷 미들웨어 오픈소스 기술
– 사물인터넷 개발자를 위한 상위 레벨 API 제공
– 리눅스 재단 운영
– 아파치 2.0 라이센스
IoTivity 소개 (2/2)
• Resource 기반 RESTful 아키텍처 모델
– CoAP 기반 非데몬 설계로 저사양, 저전력 기기 지원 용이
– 현실의 ‘Thing’을 Resource로 표현하며, CRUD & N 오퍼레
이션으로 동작
• 지원 소프트웨어 플랫폼: Ubuntu, Tizen, Android, iOS(?)
• 지원 하드웨어 플랫폼 (지속 확장): Arduino, Edison
IoTivity 아키텍처 (1/2)
Profiles
Framework
Transport
1) 근접/원격 장치 및 자원을 발견 2) 메시지과 스트리밍 모델 기반 정보 교환 및 제어
3) 장치의 구성, 권한설정, 및 진단 4) 데이터 수집, 저장, 및 분석
IoTivity 아키텍처 (2/2)
Additional
Service
REST
Framework
Basic
Service
Resource
IoTivityFramework
Protocol Plugin
Manager
Software Sensor
Manager
Things
Manager
Notification
Manager
Control/Controllee
Manager(CM Ver.)
IoTivity Base 2
(C++ SDK)
(UD Ver.)
IoTivity Base 1
(C API Stack/Internal)
Resource Manager
(Registration, Discovery, Attribute GET/SET/OBSERVE)
ConnectivityOCSocket (Socket Abstraction)
JSON
Encoder/Decoder
OCCoAP (Transport)
OCStack
libcoap-4.1.1 ocrandom ocmalloc
Logger
Transport.
Protocol
UDP/IP TCP/IP (Future) Future PAN (Future)
<Source: ETRI 이혜선 박사>
IoTivity 소스 디렉토리
IoTivity 아키텍처
Additional
Service
REST
Framework
Basic
Service
Resource
IoTivityFramework
Protocol Plugin
Manager
Software Sensor
Manager
Things
Manager
Notification
Manager
Control/Controllee
Manager(CM Ver.)
IoTivity Base 2
(C++ SDK)
(UD Ver.)
IoTivity Base 1
(C API Stack/Internal)
Resource Manager
(Registration, Discovery, Attribute GET/SET/OBSERVE)
ConnectivityOCSocket (Socket Abstraction)
JSON
Encoder/Decoder
OCCoAP (Transport)
OCStack
libcoap-4.1.1 ocrandom ocmalloc
Logger
Transport.
Protocol
UDP/IP TCP/IP (Future) Future PAN (Future)
<Source: ETRI 이혜선 박사>
IoTivity Resource API 스택
<Android*, iOS*, or Microsoft* Windows* 등 > <IoTivity Service 미지원>
고사양 기기를 위한 Resource API Stack 저사양 기기를 위한
Resource API Stack
IoTivity Resource 소스 디렉토리
저사양 레퍼런스 보드 – Arduino Mega 2560
<Source: http://www.arduino.cc/en/Main/ArduinoBoardMega2560 >
IoTivity Protocol
• OIC Protocol
– CoAP(Constrained Application Protocol) 지원
– Wi-Fi, BT, BLE 지원
– 연내 ZigBee, Z-Wave 지원예정
– 추가로 Thread 지원 고려 중 (Thread는 ZigBee 프로파일 경쟁 기술)
• CoAP(Constrained Application Protocol)
– UDP 기반
– Multicast 지원 (IoTivity에서 Discovery 용도로만 사용)
– IETF(Internet Engineering Task Force) CoRE Working Group에서 표준
(RFC7252) 정의
IoTivity Resource 스택 지원 기능
• Resource registration (server)
• Resource discovery (client)
• Device discovery with filtering (client) – e.g. GET /oc/core?rt=light
• Property attributes (get/ set/ observe) (client / server)
• Resource tree (resources with sub-resources)
ModeType: Server / Client /Both
simpleserver
simpleclient
Resource creation
Resource finding
<Source: ETRI 이혜선 박사>
Registering a Resource
(주의) URL 당 반드시 하나의 Resource 등록
(1) platform.registerResource(“/light/1”,rt, if, …)
Finding a Resource (1/2)
(1) Platform.findResource(“/oc/core”,…)
(3) 멀티캐스트 (GET /oc/core)
(4) 질의에 매칭되는 디바이스만 응답
Finding a Resource (2/2)
Querying Resource State [GET]
Setting a Resource State [SET]
Observing resource state [Observe]
IoTivity 아키텍처
Additional
Service
REST
Framework
Basic
Service
Resource
IoTivityFramework
Protocol Plugin
Manager
Software Sensor
Manager
Things
Manager
Notification
Manager
Control/Controllee
Manager(CM Ver.)
IoTivity Base 2
(C++ SDK)
(UD Ver.)
IoTivity Base 1
(C API Stack/Internal)
Resource Manager
(Registration, Discovery, Attribute GET/SET/OBSERVE)
ConnectivityOCSocket (Socket Abstraction)
JSON
Encoder/Decoder
OCCoAP (Transport)
OCStack
libcoap-4.1.1 ocrandom ocmalloc
Logger
Transport.
Protocol
UDP/IP TCP/IP (Future) Future PAN (Future)
<Source: ETRI 이혜선 박사>
IoTivity Service 소스 디렉토리
Protocol Plugin Manager
• Plugin 기반 프로토콜 확장 기능 제공하며 런타임에 필요한 프로토콜에
대한 .so 로딩
• Plugin은 특정한 Protocol(e.g. MQTT or AllSeen) 지원 형태나 특정한
Protocol을 쓰는 특정한 기기(e.g. AllSeen FAN or Philip Hue) 지원 형
태 모두 가능 (Plug-in 개발자의 선택)
<Source: SOSCON 2014 삼성전자 정진국 수석 발표자료>
Soft Sensor Manager
• 물리적/논리적 센서 정보 등을 조합하여 새로운 가상의 센서 정보를 정
의할 수 있는 소프트웨어 서비스
Things Manager
• Thing의 그룹을 효과적으로 관리할 수 있는 기능 및 API 제공
– 그룹 생성, 조회, 수정, 삭제
– 그룹 상태나 디바이스 변경에 대한 Presence
– Action Set 생성, 조회, 수정, 삭제
<Source: SOSCON 2014 삼성전자 정진국 수석 발표자료>
결 론
• 뛰어난 사물인터넷 기기간 상호운영성!
• 빠른 사물인터넷 제품 개발!
• 최신의 사물인터넷 기술 활용!
• 다양한 하드웨어 / 소프트웨어 플랫폼 지원!
메일링 리스트: iotivity-dev@lists.iotivity.org
IoTivity 오픈소스 개발에 참여하기
• Discuss on mailing list to get general consensus about approach
• Pull latest code
• Build on Your Supported Build Platform
• Develop feature or fix bug following IoTivity Coding Standards; ask
questions on mailing list as needed
• Submit to Gerrit for review
• Review and respond to reviewer comments
• Change accepted!
참고: https://wiki.iotivity.org/development_workflow
IoTivity 오픈소스 기술

Weitere ähnliche Inhalte

Was ist angesagt?

Gareth hayes. non alphanumeric javascript-php and shared fuzzing
Gareth hayes. non alphanumeric javascript-php and shared fuzzingGareth hayes. non alphanumeric javascript-php and shared fuzzing
Gareth hayes. non alphanumeric javascript-php and shared fuzzingYury Chemerkin
 
iOS Application Static Analysis - Deepika Kumari.pptx
iOS Application Static Analysis - Deepika Kumari.pptxiOS Application Static Analysis - Deepika Kumari.pptx
iOS Application Static Analysis - Deepika Kumari.pptxdeepikakumari643428
 
Introduction To Ethical Hacking
Introduction To Ethical HackingIntroduction To Ethical Hacking
Introduction To Ethical HackingAkshay Kale
 
Security Code Review 101
Security Code Review 101Security Code Review 101
Security Code Review 101Paul Ionescu
 
Unit Testing and Coverage for AngularJS
Unit Testing and Coverage for AngularJSUnit Testing and Coverage for AngularJS
Unit Testing and Coverage for AngularJSKnoldus Inc.
 
A Brief History of Cryptographic Failures
A Brief History of Cryptographic FailuresA Brief History of Cryptographic Failures
A Brief History of Cryptographic FailuresNothing Nowhere
 
Server-side template injection- Slides
Server-side template injection- Slides Server-side template injection- Slides
Server-side template injection- Slides Amit Dubey
 
Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016bugcrowd
 
COMUNICADO 601-2023
COMUNICADO 601-2023COMUNICADO 601-2023
COMUNICADO 601-2023FGJEM
 
COMUNICADO 1312-2022
COMUNICADO 1312-2022COMUNICADO 1312-2022
COMUNICADO 1312-2022FGJEM
 
Introduction to ethical hacking
Introduction to ethical hackingIntroduction to ethical hacking
Introduction to ethical hackingankit sarode
 
COMUNICADO 823-2022.pdf
COMUNICADO 823-2022.pdfCOMUNICADO 823-2022.pdf
COMUNICADO 823-2022.pdfFGJEM
 
Pentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - AbdullahPentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - Abdullahidsecconf
 
Basics of Server Side Template Injection
Basics of Server Side Template InjectionBasics of Server Side Template Injection
Basics of Server Side Template InjectionVandana Verma
 

Was ist angesagt? (15)

Gareth hayes. non alphanumeric javascript-php and shared fuzzing
Gareth hayes. non alphanumeric javascript-php and shared fuzzingGareth hayes. non alphanumeric javascript-php and shared fuzzing
Gareth hayes. non alphanumeric javascript-php and shared fuzzing
 
iOS Application Static Analysis - Deepika Kumari.pptx
iOS Application Static Analysis - Deepika Kumari.pptxiOS Application Static Analysis - Deepika Kumari.pptx
iOS Application Static Analysis - Deepika Kumari.pptx
 
Introduction To Ethical Hacking
Introduction To Ethical HackingIntroduction To Ethical Hacking
Introduction To Ethical Hacking
 
Security Code Review 101
Security Code Review 101Security Code Review 101
Security Code Review 101
 
Ethical hacking presentation
Ethical hacking presentationEthical hacking presentation
Ethical hacking presentation
 
Unit Testing and Coverage for AngularJS
Unit Testing and Coverage for AngularJSUnit Testing and Coverage for AngularJS
Unit Testing and Coverage for AngularJS
 
A Brief History of Cryptographic Failures
A Brief History of Cryptographic FailuresA Brief History of Cryptographic Failures
A Brief History of Cryptographic Failures
 
Server-side template injection- Slides
Server-side template injection- Slides Server-side template injection- Slides
Server-side template injection- Slides
 
Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016
 
COMUNICADO 601-2023
COMUNICADO 601-2023COMUNICADO 601-2023
COMUNICADO 601-2023
 
COMUNICADO 1312-2022
COMUNICADO 1312-2022COMUNICADO 1312-2022
COMUNICADO 1312-2022
 
Introduction to ethical hacking
Introduction to ethical hackingIntroduction to ethical hacking
Introduction to ethical hacking
 
COMUNICADO 823-2022.pdf
COMUNICADO 823-2022.pdfCOMUNICADO 823-2022.pdf
COMUNICADO 823-2022.pdf
 
Pentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - AbdullahPentesting react native application for fun and profit - Abdullah
Pentesting react native application for fun and profit - Abdullah
 
Basics of Server Side Template Injection
Basics of Server Side Template InjectionBasics of Server Side Template Injection
Basics of Server Side Template Injection
 

Andere mochten auch

(2015년 상반기) HTML5 및 Hybrid app 최신 동향
(2015년 상반기) HTML5 및 Hybrid app 최신 동향(2015년 상반기) HTML5 및 Hybrid app 최신 동향
(2015년 상반기) HTML5 및 Hybrid app 최신 동향Wonsuk Lee
 
국내외 Io t 기술 표준
국내외 Io t 기술 표준국내외 Io t 기술 표준
국내외 Io t 기술 표준남억 김
 
OCF/IoTivity for Healthcare/Fitness/Wearable
OCF/IoTivity for Healthcare/Fitness/WearableOCF/IoTivity for Healthcare/Fitness/Wearable
OCF/IoTivity for Healthcare/Fitness/WearableJonathan Jeon
 
사물인터넷에 활용되는 무선통신 기술
사물인터넷에 활용되는 무선통신 기술사물인터넷에 활용되는 무선통신 기술
사물인터넷에 활용되는 무선통신 기술남억 김
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorialzdshelby
 
IoT & 오픈소스
IoT & 오픈소스IoT & 오픈소스
IoT & 오픈소스Kevin Kim
 
Internet of Things - Iot Solution 73 - 사물인터넷 제품 리뷰 73
Internet of Things - Iot Solution 73 - 사물인터넷 제품 리뷰 73Internet of Things - Iot Solution 73 - 사물인터넷 제품 리뷰 73
Internet of Things - Iot Solution 73 - 사물인터넷 제품 리뷰 73봉조 김
 
IoT 서비스 아키텍처 분석 및 Case Study-Innovation Seminar
IoT 서비스 아키텍처 분석 및 Case Study-Innovation SeminarIoT 서비스 아키텍처 분석 및 Case Study-Innovation Seminar
IoT 서비스 아키텍처 분석 및 Case Study-Innovation Seminar영섭 임
 
Google IO 2015 Keynote Summary
Google IO 2015 Keynote SummaryGoogle IO 2015 Keynote Summary
Google IO 2015 Keynote SummarySeunghyun Yu
 
UI/UX의 변화와 방향성 사색 (차세대 인터페이스 및 터치리스 UI를 위한 인터랙션 개발기술 세미나)
UI/UX의 변화와 방향성 사색 (차세대 인터페이스 및 터치리스 UI를 위한 인터랙션 개발기술 세미나)UI/UX의 변화와 방향성 사색 (차세대 인터페이스 및 터치리스 UI를 위한 인터랙션 개발기술 세미나)
UI/UX의 변화와 방향성 사색 (차세대 인터페이스 및 터치리스 UI를 위한 인터랙션 개발기술 세미나)Billy Choi
 
Open Source and Open Standards
Open Source and Open StandardsOpen Source and Open Standards
Open Source and Open StandardsJonathan Jeon
 
버스도착알람시스템 구현하기 - IoT 기기
버스도착알람시스템 구현하기 - IoT 기기버스도착알람시스템 구현하기 - IoT 기기
버스도착알람시스템 구현하기 - IoT 기기Bongjun Hur
 
오픈플랫폼(Open platform) 개요 및 사례
오픈플랫폼(Open platform) 개요 및 사례오픈플랫폼(Open platform) 개요 및 사례
오픈플랫폼(Open platform) 개요 및 사례Youngjo Seong
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxSamsung Open Source Group
 
IoT 제품 리뷰 - 약 20개의 IoT 제품 리뷰
IoT 제품 리뷰 - 약 20개의 IoT 제품 리뷰IoT 제품 리뷰 - 약 20개의 IoT 제품 리뷰
IoT 제품 리뷰 - 약 20개의 IoT 제품 리뷰봉조 김
 
IoT(사물인터넷) 제품 및 서비스 동향
IoT(사물인터넷) 제품 및 서비스 동향IoT(사물인터넷) 제품 및 서비스 동향
IoT(사물인터넷) 제품 및 서비스 동향훈주 윤
 
Google I/O 2015 Keynote 요약
Google I/O 2015 Keynote 요약Google I/O 2015 Keynote 요약
Google I/O 2015 Keynote 요약은재 김
 
Aeye(가스 원격 검침)
Aeye(가스 원격 검침)Aeye(가스 원격 검침)
Aeye(가스 원격 검침)Jake Choi
 

Andere mochten auch (20)

(2015년 상반기) HTML5 및 Hybrid app 최신 동향
(2015년 상반기) HTML5 및 Hybrid app 최신 동향(2015년 상반기) HTML5 및 Hybrid app 최신 동향
(2015년 상반기) HTML5 및 Hybrid app 최신 동향
 
국내외 Io t 기술 표준
국내외 Io t 기술 표준국내외 Io t 기술 표준
국내외 Io t 기술 표준
 
OCF/IoTivity for Healthcare/Fitness/Wearable
OCF/IoTivity for Healthcare/Fitness/WearableOCF/IoTivity for Healthcare/Fitness/Wearable
OCF/IoTivity for Healthcare/Fitness/Wearable
 
사물인터넷에 활용되는 무선통신 기술
사물인터넷에 활용되는 무선통신 기술사물인터넷에 활용되는 무선통신 기술
사물인터넷에 활용되는 무선통신 기술
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
 
IoT & 오픈소스
IoT & 오픈소스IoT & 오픈소스
IoT & 오픈소스
 
Internet of Things - Iot Solution 73 - 사물인터넷 제품 리뷰 73
Internet of Things - Iot Solution 73 - 사물인터넷 제품 리뷰 73Internet of Things - Iot Solution 73 - 사물인터넷 제품 리뷰 73
Internet of Things - Iot Solution 73 - 사물인터넷 제품 리뷰 73
 
IoT 서비스 아키텍처 분석 및 Case Study-Innovation Seminar
IoT 서비스 아키텍처 분석 및 Case Study-Innovation SeminarIoT 서비스 아키텍처 분석 및 Case Study-Innovation Seminar
IoT 서비스 아키텍처 분석 및 Case Study-Innovation Seminar
 
Iotivity atmel-20150328rzr
Iotivity atmel-20150328rzrIotivity atmel-20150328rzr
Iotivity atmel-20150328rzr
 
Google IO 2015 Keynote Summary
Google IO 2015 Keynote SummaryGoogle IO 2015 Keynote Summary
Google IO 2015 Keynote Summary
 
UI/UX의 변화와 방향성 사색 (차세대 인터페이스 및 터치리스 UI를 위한 인터랙션 개발기술 세미나)
UI/UX의 변화와 방향성 사색 (차세대 인터페이스 및 터치리스 UI를 위한 인터랙션 개발기술 세미나)UI/UX의 변화와 방향성 사색 (차세대 인터페이스 및 터치리스 UI를 위한 인터랙션 개발기술 세미나)
UI/UX의 변화와 방향성 사색 (차세대 인터페이스 및 터치리스 UI를 위한 인터랙션 개발기술 세미나)
 
Open Source and Open Standards
Open Source and Open StandardsOpen Source and Open Standards
Open Source and Open Standards
 
버스도착알람시스템 구현하기 - IoT 기기
버스도착알람시스템 구현하기 - IoT 기기버스도착알람시스템 구현하기 - IoT 기기
버스도착알람시스템 구현하기 - IoT 기기
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
오픈플랫폼(Open platform) 개요 및 사례
오픈플랫폼(Open platform) 개요 및 사례오픈플랫폼(Open platform) 개요 및 사례
오픈플랫폼(Open platform) 개요 및 사례
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
 
IoT 제품 리뷰 - 약 20개의 IoT 제품 리뷰
IoT 제품 리뷰 - 약 20개의 IoT 제품 리뷰IoT 제품 리뷰 - 약 20개의 IoT 제품 리뷰
IoT 제품 리뷰 - 약 20개의 IoT 제품 리뷰
 
IoT(사물인터넷) 제품 및 서비스 동향
IoT(사물인터넷) 제품 및 서비스 동향IoT(사물인터넷) 제품 및 서비스 동향
IoT(사물인터넷) 제품 및 서비스 동향
 
Google I/O 2015 Keynote 요약
Google I/O 2015 Keynote 요약Google I/O 2015 Keynote 요약
Google I/O 2015 Keynote 요약
 
Aeye(가스 원격 검침)
Aeye(가스 원격 검침)Aeye(가스 원격 검침)
Aeye(가스 원격 검침)
 

Ähnlich wie IoTivity 오픈소스 기술

20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD StudioDevgear
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석Tommy Lee
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AIJoongi Kim
 
SDN컨트롤러 오벨_아토리서치
SDN컨트롤러 오벨_아토리서치SDN컨트롤러 오벨_아토리서치
SDN컨트롤러 오벨_아토리서치ATTO Research
 
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개OpenStack Korea Community
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Jeongkyu Shin
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 YoungSu Son
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...문기 박
 
Do IoT Yourself 3rd : Open API - revision 3
Do IoT Yourself 3rd : Open API - revision 3Do IoT Yourself 3rd : Open API - revision 3
Do IoT Yourself 3rd : Open API - revision 3Hyunghun Cho
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablup Inc.
 
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장Devgear
 
Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Nalee Jang
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Kris Jeong
 
[1C6]오픈소스 하드웨어 플랫폼과 Node.js로 구현하는 IoT 플랫폼
[1C6]오픈소스 하드웨어 플랫폼과 Node.js로 구현하는 IoT 플랫폼[1C6]오픈소스 하드웨어 플랫폼과 Node.js로 구현하는 IoT 플랫폼
[1C6]오픈소스 하드웨어 플랫폼과 Node.js로 구현하는 IoT 플랫폼NAVER D2
 
Oracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimOracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimsuk kim
 
Cloud life seminar open shift,이준영(배포용)
Cloud life seminar   open shift,이준영(배포용)Cloud life seminar   open shift,이준영(배포용)
Cloud life seminar open shift,이준영(배포용)Software in Life
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postInho Kang
 
Open Source Networking
Open Source NetworkingOpen Source Networking
Open Source NetworkingJames Ahn
 

Ähnlich wie IoTivity 오픈소스 기술 (20)

20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
20170623 최신OS와 멀티플랫폼 개발 전략 with RAD Studio
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 3.open shift 분석
 
SOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AISOSCON 2017 - Backend.AI
SOSCON 2017 - Backend.AI
 
SDN컨트롤러 오벨_아토리서치
SDN컨트롤러 오벨_아토리서치SDN컨트롤러 오벨_아토리서치
SDN컨트롤러 오벨_아토리서치
 
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
[OpenStack Days Korea 2016] Track2 - 아리스타 OpenStack 연동 및 CloudVision 솔루션 소개
 
Iot support technologies
Iot support technologiesIot support technologies
Iot support technologies
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
 
INFRASTRUCTURE
INFRASTRUCTUREINFRASTRUCTURE
INFRASTRUCTURE
 
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드 초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
 
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
MSA(Service Mesh), MDA(Data Mesh), MIA(Inference Mesh) 기술동향 소개-박문기@메ᄀ...
 
Do IoT Yourself 3rd : Open API - revision 3
Do IoT Yourself 3rd : Open API - revision 3Do IoT Yourself 3rd : Open API - revision 3
Do IoT Yourself 3rd : Open API - revision 3
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"
 
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
 
Open stack 세미나자료_장현정
Open stack 세미나자료_장현정Open stack 세미나자료_장현정
Open stack 세미나자료_장현정
 
Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015Going asynchronous with netty - SOSCON 2015
Going asynchronous with netty - SOSCON 2015
 
[1C6]오픈소스 하드웨어 플랫폼과 Node.js로 구현하는 IoT 플랫폼
[1C6]오픈소스 하드웨어 플랫폼과 Node.js로 구현하는 IoT 플랫폼[1C6]오픈소스 하드웨어 플랫폼과 Node.js로 구현하는 IoT 플랫폼
[1C6]오픈소스 하드웨어 플랫폼과 Node.js로 구현하는 IoT 플랫폼
 
Oracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kimOracle linux8 solaris_new_features-suk kim
Oracle linux8 solaris_new_features-suk kim
 
Cloud life seminar open shift,이준영(배포용)
Cloud life seminar   open shift,이준영(배포용)Cloud life seminar   open shift,이준영(배포용)
Cloud life seminar open shift,이준영(배포용)
 
K8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_postK8s beginner 2_advanced_ep02_201904221130_post
K8s beginner 2_advanced_ep02_201904221130_post
 
Open Source Networking
Open Source NetworkingOpen Source Networking
Open Source Networking
 

Mehr von Wonsuk Lee

W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017Wonsuk Lee
 
W3C Automotive 표준 개발 현황
W3C Automotive 표준 개발 현황W3C Automotive 표준 개발 현황
W3C Automotive 표준 개발 현황Wonsuk Lee
 
2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리Wonsuk Lee
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망Wonsuk Lee
 
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)2013년 html5 총정리 (Summary of HTML5 Trend in 2013)
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)Wonsuk Lee
 
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)Wonsuk Lee
 

Mehr von Wonsuk Lee (7)

W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017W3C HTML5 표준 기술 동향 - 2017
W3C HTML5 표준 기술 동향 - 2017
 
W3C Automotive 표준 개발 현황
W3C Automotive 표준 개발 현황W3C Automotive 표준 개발 현황
W3C Automotive 표준 개발 현황
 
2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 
네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망네이티브 웹앱 기술 동향 및 전망
네이티브 웹앱 기술 동향 및 전망
 
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)2013년 html5 총정리 (Summary of HTML5 Trend in 2013)
2013년 html5 총정리 (Summary of HTML5 Trend in 2013)
 
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
Industry trend of HTML5 in 2012 (2012년 HTML5 총정리)
 

IoTivity 오픈소스 기술

  • 1. IoTivity 오픈소스 기술 이원석 박사 / ETRI 표준연구센터 wonsuk.lee@etri.re.kr
  • 2. 사물인터넷 간단한 유즈케이스 <Source: http://www.belkin.com/us/Products/home-automation/c/wemo-home-automation/ >
  • 3. 사물인터넷 제품 개발을 위해 무엇이 필요한가? • 뛰어난 사물인터넷 기기간 상호운영성 ? • 빠른 사물인터넷 제품 개발 ? • 최신의 사물인터넷 기술 활용 ? • 다양한 하드웨어 / 소프트웨어 플랫폼 지원 ?
  • 4. IoTivity 소개 (1/2) • 목적: 미래 IoT 세상에 출현할 수십억 개의 디바이스를 다양 한 운영체제와 네트워크 프로토콜에 상관없이 자연스럽게 연결할 수 있는 오픈소스 소프트웨어 프레임워크 개발 • OIC 표준 기반의 사물인터넷 미들웨어 오픈소스 기술 – 사물인터넷 개발자를 위한 상위 레벨 API 제공 – 리눅스 재단 운영 – 아파치 2.0 라이센스
  • 5. IoTivity 소개 (2/2) • Resource 기반 RESTful 아키텍처 모델 – CoAP 기반 非데몬 설계로 저사양, 저전력 기기 지원 용이 – 현실의 ‘Thing’을 Resource로 표현하며, CRUD & N 오퍼레 이션으로 동작 • 지원 소프트웨어 플랫폼: Ubuntu, Tizen, Android, iOS(?) • 지원 하드웨어 플랫폼 (지속 확장): Arduino, Edison
  • 6. IoTivity 아키텍처 (1/2) Profiles Framework Transport 1) 근접/원격 장치 및 자원을 발견 2) 메시지과 스트리밍 모델 기반 정보 교환 및 제어 3) 장치의 구성, 권한설정, 및 진단 4) 데이터 수집, 저장, 및 분석
  • 7. IoTivity 아키텍처 (2/2) Additional Service REST Framework Basic Service Resource IoTivityFramework Protocol Plugin Manager Software Sensor Manager Things Manager Notification Manager Control/Controllee Manager(CM Ver.) IoTivity Base 2 (C++ SDK) (UD Ver.) IoTivity Base 1 (C API Stack/Internal) Resource Manager (Registration, Discovery, Attribute GET/SET/OBSERVE) ConnectivityOCSocket (Socket Abstraction) JSON Encoder/Decoder OCCoAP (Transport) OCStack libcoap-4.1.1 ocrandom ocmalloc Logger Transport. Protocol UDP/IP TCP/IP (Future) Future PAN (Future) <Source: ETRI 이혜선 박사>
  • 9. IoTivity 아키텍처 Additional Service REST Framework Basic Service Resource IoTivityFramework Protocol Plugin Manager Software Sensor Manager Things Manager Notification Manager Control/Controllee Manager(CM Ver.) IoTivity Base 2 (C++ SDK) (UD Ver.) IoTivity Base 1 (C API Stack/Internal) Resource Manager (Registration, Discovery, Attribute GET/SET/OBSERVE) ConnectivityOCSocket (Socket Abstraction) JSON Encoder/Decoder OCCoAP (Transport) OCStack libcoap-4.1.1 ocrandom ocmalloc Logger Transport. Protocol UDP/IP TCP/IP (Future) Future PAN (Future) <Source: ETRI 이혜선 박사>
  • 10. IoTivity Resource API 스택 <Android*, iOS*, or Microsoft* Windows* 등 > <IoTivity Service 미지원> 고사양 기기를 위한 Resource API Stack 저사양 기기를 위한 Resource API Stack
  • 11. IoTivity Resource 소스 디렉토리
  • 12. 저사양 레퍼런스 보드 – Arduino Mega 2560 <Source: http://www.arduino.cc/en/Main/ArduinoBoardMega2560 >
  • 13. IoTivity Protocol • OIC Protocol – CoAP(Constrained Application Protocol) 지원 – Wi-Fi, BT, BLE 지원 – 연내 ZigBee, Z-Wave 지원예정 – 추가로 Thread 지원 고려 중 (Thread는 ZigBee 프로파일 경쟁 기술) • CoAP(Constrained Application Protocol) – UDP 기반 – Multicast 지원 (IoTivity에서 Discovery 용도로만 사용) – IETF(Internet Engineering Task Force) CoRE Working Group에서 표준 (RFC7252) 정의
  • 14. IoTivity Resource 스택 지원 기능 • Resource registration (server) • Resource discovery (client) • Device discovery with filtering (client) – e.g. GET /oc/core?rt=light • Property attributes (get/ set/ observe) (client / server) • Resource tree (resources with sub-resources)
  • 15. ModeType: Server / Client /Both simpleserver simpleclient Resource creation Resource finding <Source: ETRI 이혜선 박사>
  • 16. Registering a Resource (주의) URL 당 반드시 하나의 Resource 등록 (1) platform.registerResource(“/light/1”,rt, if, …)
  • 17. Finding a Resource (1/2) (1) Platform.findResource(“/oc/core”,…) (3) 멀티캐스트 (GET /oc/core) (4) 질의에 매칭되는 디바이스만 응답
  • 20. Setting a Resource State [SET]
  • 22. IoTivity 아키텍처 Additional Service REST Framework Basic Service Resource IoTivityFramework Protocol Plugin Manager Software Sensor Manager Things Manager Notification Manager Control/Controllee Manager(CM Ver.) IoTivity Base 2 (C++ SDK) (UD Ver.) IoTivity Base 1 (C API Stack/Internal) Resource Manager (Registration, Discovery, Attribute GET/SET/OBSERVE) ConnectivityOCSocket (Socket Abstraction) JSON Encoder/Decoder OCCoAP (Transport) OCStack libcoap-4.1.1 ocrandom ocmalloc Logger Transport. Protocol UDP/IP TCP/IP (Future) Future PAN (Future) <Source: ETRI 이혜선 박사>
  • 23. IoTivity Service 소스 디렉토리
  • 24. Protocol Plugin Manager • Plugin 기반 프로토콜 확장 기능 제공하며 런타임에 필요한 프로토콜에 대한 .so 로딩 • Plugin은 특정한 Protocol(e.g. MQTT or AllSeen) 지원 형태나 특정한 Protocol을 쓰는 특정한 기기(e.g. AllSeen FAN or Philip Hue) 지원 형 태 모두 가능 (Plug-in 개발자의 선택) <Source: SOSCON 2014 삼성전자 정진국 수석 발표자료>
  • 25. Soft Sensor Manager • 물리적/논리적 센서 정보 등을 조합하여 새로운 가상의 센서 정보를 정 의할 수 있는 소프트웨어 서비스
  • 26. Things Manager • Thing의 그룹을 효과적으로 관리할 수 있는 기능 및 API 제공 – 그룹 생성, 조회, 수정, 삭제 – 그룹 상태나 디바이스 변경에 대한 Presence – Action Set 생성, 조회, 수정, 삭제 <Source: SOSCON 2014 삼성전자 정진국 수석 발표자료>
  • 27. 결 론 • 뛰어난 사물인터넷 기기간 상호운영성! • 빠른 사물인터넷 제품 개발! • 최신의 사물인터넷 기술 활용! • 다양한 하드웨어 / 소프트웨어 플랫폼 지원! 메일링 리스트: iotivity-dev@lists.iotivity.org
  • 28. IoTivity 오픈소스 개발에 참여하기 • Discuss on mailing list to get general consensus about approach • Pull latest code • Build on Your Supported Build Platform • Develop feature or fix bug following IoTivity Coding Standards; ask questions on mailing list as needed • Submit to Gerrit for review • Review and respond to reviewer comments • Change accepted! 참고: https://wiki.iotivity.org/development_workflow