1. oneM2M 표준화 기구2. oneM2M 표준화 현황3. 오픈소스 현황4. oneM2M 인증 프로그램 현황5. oneM2M 국제 해커톤 (모비우스 국제 개발자 대회)6. oneM2M 개발자 튜토리얼7. oneM2M 표준 기술 개요8. oneM2M 표준 도입의 장점
8.1. 손쉬운 기존 플랫폼과의 통합 및 연동8.2. 통신 계층 상단에 자리한 서비스 계층8.3. 수평적인 플랫폼 관계8.4. 데이터 공유 및 상호 운용성8.5. 오픈소스 IoT 표준8.6. 국제 표준
9. 기능에 따른 oneM2M의 구조9.1. oneM2M Entities9.2. oneM2M Reference Points
10. References9.2.1. "Mca" Reference Point9.2.2. "Mcc" Reference Point9.2.3. "Mcn" Reference Point9.2.4. "Mcc'" Reference Point
9.3. oneM2M Nodes1. oneM2M 표준화 기구
1.1. 개요
oneM2M은 갈수록 파편화되고 복잡, 다양해지는 IoT 시장에 넓은 호환성을 제공해주기 위한 글로벌 사실 표준화 기구이다. oneM2M 표준은 투명한 표준 개발 프로세스와 함께 해당 표준을 통해 만들어지는 모든 결과에 대한 공개적 접근을 허용하는 "개방형 표준"이다.'12년 9월 설립 이후 스마트홈, 스마트빌딩, 스마트팩토리, 자율주행차량들의 도메인 및 기술 지원을 위한 oneM2M 표준을 개발하여 공개하고 있다.
전체적인 oneM2M 연혁은 다음의 URL을 통해 확인할 수 있다.
oneM2M 연혁 : https://wiki.onem2m.org/index.php?title=Wikipedia
1.2. oneM2M과 ITU-T
oneM2M 표준은 ITU-T에 의해 인정받아 SG20을 통해 Y.4500 시리즈 표준으로 전환채택 되었으며, 자세한 국제 표준 참조 내용은 다음의 URL을 통해 확인할 수 있다.ITU-T & oneM2M : https://www.itu.int/rec/T-REC-Y/en
1.3. oneM2M 멤버십
oneM2M 멤버는 oneM2M 표준 개발 및 이를 활용한 서비스 구현에 관심이 있는 기관으로 구성되어 있다. oneM2M 멤버는 지역 및 국가에 따라 다음과 같은 oneM2M 파트너 표준화 기구의 회원으로 등록된다.· TTA - Korea
· ARIB - Japan
· TTC - Japan
· ATIS - U.S.
· TIA - U.S.
· CCSA - China
· ETSI - Europe
· TSDSI - India
oneM2M 멤버는 oneM2M 기술 총회(Technical Plenary) 및 표준 작업에 참여할 수 있는 멤버와 앞의 권한은 없지만 oneM2M 운영회의에 참석할 수 있는 멤버로 나뉠 수 있다.
oneM2M은 현재 KETI, 세종대, 한성대, ETRI, 엔텔스, SyncTechno, Nokia, BT, Telecom Italia, Deutsche Telekom, IBM, Cisco, Qualcomm, InterDigital, Intel, Huawei 등을 포함한 200개 이상의 참여 파트너 및 회원이 있으며, 전체 목록 및 멤버 종류는 다음의 URL에서 확인할 수 있다.
oneM2M 회원사 현황 : https://www.onem2m.org/membership/current-members
oneM2M 회원사 등록에 대한 자세한 정보는 다음의 URL을 통해 알아볼 수 있다.
oneM2M 회원사 가입 절차 :http://www.onem2m.org/membership/join-onem2m
2. oneM2M 표준화 현황
oneM2M은 현재 '24년 말 공개를 목표로 릴리즈 5 표준을 개발하고 있다.oneM2M은 릴리즈 1(‘15년 1월)에서 사물인터넷 플랫폼에 필요로 되어지는 기본 기능(공통기능, 데이터 저장/공유 기능, 장치 관리, 그룹관리, 구독/통지, 위치정보, 과금 등)들에 대한 표준을 개발하였다.
릴리즈 2(‘16년 8월)에서는 주로 스마트홈, 스마트빌딩 등을 타겟으로 하여 추가적인 표준 기능들에 대한 표준들을 개발하였고, 특히, 스마트홈관련 표준을 개발하고 있는 OCF 등과의 상호운용성 표준을 개발하여, oneM2M을 통한 OCF 디바이스 제어 등을 제공하였다.
릴리즈 3(‘18년 12월) 에서는 스마트팩토리, 자율주행차량 등의 도메인을 지원하기 위한 요구사항들을 도출하고 이에 대한 표준 기능들을 개발하였고, 특히, 이동성을 가지는 사물인터넷 기기들에 대한 지원을 강화하기 위하여 3GPP를 사용하는 디바이스들에 대한 인터워킹 지원에 대한 표준을 개발하였다.
릴리즈 4(‘22년 12월)는 스마트-X(시티, 헬스, 교통, 공장)과 재난안전 등의 다양한 버티컬 산업을 지원하는 표준으로 24개 세부규격과 4개의 기술보고서로 구성되어, 5G 네트워크 연동, 최신 엣지 컴퓨팅 기술 연동, 다양한 스마트 디바이스 호환성을 보장하는 SDT(스마트 디바이스 템플릿) 4.0 등을 제공함으로 다양한 버티컬 산업에서 사물인터넷 디지털 융합 플랫폼 제공을 가능하게 한다.
oneM2M 표준의 기술 규격 및 보고서는 다음의 URL을 통해 확인할 수 있다.
oneM2M Spec : https://www.onem2m.org/technical
3. 오픈소스 현황
아래는 목록은 oneM2M 표준을 통해 오픈 IoT 공통 플랫폼을 구축한 기관 및 해당 오픈소스 프로젝트이다.- OCEAN
OCEAN 프로젝트는 IoT 표준을 기반으로 개발된 오픈 소스를 공유하고 다양한 사물인터넷 서비스의 개발 및 상용화를 촉진하는 것을 목표로 삼는다.
해당 프로젝트는 oneM2M 표준을 준수하는 플랫폼인 Mobius, &Cube 그리고 다양한 개발 지원 도구를 제공한다. Mobius는 오픈소스 최초로 oneM2M 공식 인증을 받았다.
OCEAN_Mobius : http://developers.iotocean.org/archives/module/mobius
download Mobius(KETI git) : https://github.com/IoTKETI/Mobius
download Mobius(KETI git) : https://github.com/IoTKETI/Mobius
- ACME
ACME는 설치가 쉽고 확장 가능한 웹 CSE를 제공한다. 해당 웹 CSE는 특히 교육 목적에 유용한 UI로 유지보수 및 사용이 간단하도록 설계되었다.
ACME-oneM2M-CSE : https://github.com/ankraft/ACME-oneM2M-CSE
- Eclipse OM2M
LAAS-CNRS가 시작한 Eclipse OM2M 프로젝트는 oneM2M과 SmartM2M 표준의 오픈 소스를 구현해냈다.
수직 어플리케이션과 각기의 디바이스의 배치를 용이하게 하는 것을 목적으로둔 사물인터넷 네트워크와 독립적인 서비스를 개발하기 위한 수평적 M2M 서비스 플랫폼을 제공한다.
수직 어플리케이션과 각기의 디바이스의 배치를 용이하게 하는 것을 목적으로둔 사물인터넷 네트워크와 독립적인 서비스를 개발하기 위한 수평적 M2M 서비스 플랫폼을 제공한다.
- IoTDM
IoT Data Management(IoTDM) 프로젝트는 "OpenDayLight"에서 실행되는 oneM2M 오픈 소스 구현체이다.
IoTDM 플랫폼은 oneM2M 호환 사물인터넷 데이터 브로커 역할을 하며, 접근 권한이 부여된 어플리케이션이 플랫폼에 등록된 타 기기들에 의해 업로드된 데이터를 검색 및 접근 할 수 있도록 하는 데이터 중심 플랫폼 미들웨어이다.
IoTDM 플랫폼은 oneM2M 호환 사물인터넷 데이터 브로커 역할을 하며, 접근 권한이 부여된 어플리케이션이 플랫폼에 등록된 타 기기들에 의해 업로드된 데이터를 검색 및 접근 할 수 있도록 하는 데이터 중심 플랫폼 미들웨어이다.
- OASIS SI
OASIS SI는 oneM2M 기반 사물인터넷 플랫폼 서버의 오픈 소스 아키텍처 시멘틱 서비스 플랫폼 프로젝트의 일부이다.
프로토콜 바인딩, 컨트롤러 및 리소스 처리, 서비스 유연성을 위한 데이터베이스 계층으로 구성된다.
프로토콜 바인딩, 컨트롤러 및 리소스 처리, 서비스 유연성을 위한 데이터베이스 계층으로 구성된다.
OASIS SI : https://github.com/iotoasis/SI
- OpenMTC
OpenMTC는 M2M 및 IoT 어플리케이션에 대한 응용 연구 및 혁신적인 개발을 수행하기 위한 oneM2M 표준에 기반한 통합 미들웨어이다.
OpenMTC의 수평적 서비스 접근 방식은 기본 하드웨어 또는 네트워크 인프라를 독립적으로 다양한 산업용 IoT 서비스를 쉽게 통합시켜준다.
OpenMTC의 수평적 서비스 접근 방식은 기본 하드웨어 또는 네트워크 인프라를 독립적으로 다양한 산업용 IoT 서비스를 쉽게 통합시켜준다.
OpenMTC : http://www.openmtc.org/
- ATIS OS-IoT
ATIS 사물인터넷 오픈소스는 사물인터넷 장치 - 특히 소규모 클라이언트의 개발을 단순화해주는 오픈 소스 소프트웨어 라이브러리이다.
ATIS OS-IoT : https://os-iot.org/
4. oneM2M 인증 프로그램 현황
4.1. GCF 인증 프로그램
2019년 2월 oneM2M 국제 인증 프로그램 개발 협력을 위한 TTA와 GCF 간 업무협약(MoU) 체결을 시작으로 oneM2M 인증 프로그램의 글로벌 확대를 추진했다. TTA에서 운영하던 oneM2M 인증 프로그램을 GCF 정책 문서에 적합하도록 수정하고, 추가 개발할 정책들은 TTA와 GCF 협력 하에 새로 개발하여 도입했다. 이러한 협력 활동 결과 2019년 7월, oneM2M 제품 인증을 위한 요구사항 수립, 공인 적합성 시험기 지정, 적합성 및 상호운용성 공인 시험소 지정, oneM2M ACE(oneM2M Third-Party Assessment Capable Entity) 지정을 완료하여 GCF oneM2M 인증 프로그램을 개시했다.oneM2M Release 1 인증을 위한 정책은 WI-291 oneM2M Interoperability Testing, WI-292 oneM2M Conformance Testing 문서로 개발되었으며, 각 상호운용성 시험에 대한 인증 기준, 적합성에 대한 인증 기준을 다루고 있다. 현재 Release 1에 대한 개발을 완료하고 인증 프로그램을 운영하고 있다.
oneM2M Release 2 인증을 위한 정책은 WI-314 oneM2M Rel2 Conformance Testing, WI-315 oneM2M Rel2 Interoperability Testing 문서로 개발되었으며, 각 적합성 및 상호운용성 시험에 대한 범위와 인증 기준을 기술하고 있다. 현재 문서 개발은 완료된 상태이고 포함이 되는 시험항목에 대한 검증이 필요한 상태이다.
GCF oneM2M 인증 프로그램은 2022년 하반기에 Release 2에 대한 검증을 완료하였고 2023년 1월 정식적으로 개시 하였다.
적합성 시험항목 표준 개발이 완료된 oneM2M Release 3는 2022년 하반기에 GCF에서 WI에 대한 제안 및 개발이 시작 될 예정으로 시험장비 및 시험항모목 범위 설정등 구체적인 인증 프로그램 개발이 완료된 이후 2023년 하반기 Release3에 대한 인증 프로그램을 개시할 예정이다.
4.2. TTA의 oneM2M 인증 프로그램 설립 이력
oneM2M 표준화 기구 창립 시부터 TTA는oneM2M 사무국 및 시험 규격 개발 역할로 참여했다. 2015년 하반기 국내 통신사 요구사항을 반영하여 oneM2M TS 0013 'Interoperability Testing' 상호운용성 시험 규격을 기반으로 oneM2M 제품 검증을 위한 'oneM2M TTA Verified' 프로그램을 개발한 이후, 2016년 9월 oneM2M 상임 운영위원회에서 세계 첫 oneM2M 인증기관 역할로 동의 받아 2017년 2월 oneM2M 상호운용성 시험 규격 기반으로 한oneM2M 인증 프로그램을 개시했다. 이러한 경험을 바탕으로 oneM2M 적합성 시험 규격들을 oneM2M 회원사들과 협력하여 완성, 2018년 1월 oneM2M 기술총회에서 승인됐다. 2018년 2월 공인 적합성 시험기를 지정, 기존 TTA oneM2M 인증 프로그램에 적합성 범위를 추가했다.
5. oneM2M 국제 해커톤 (모비우스 국제 개발자 대회)
5.1. oneM2M 국제 해커톤 개요
oneM2M 국제 해커톤은 기존에 KETI 주관으로 국내 행사로 진행하던 모비우스 개발자 대회와 ETSI 주관으로 대학별로 진행하던 oneM2M 해커톤을 통합한 형태로 KETI의 지원 및 TTA, ETSI와 공동 주관으로 2021년부터 매년 개최하고 있다. 2021년 그리고 2022년에는 하반기에 개최되었던 반면 2023년부터는 상반기 개최로 변경되었다.
본 국제 해커톤은 여러 국가의 참석자가 참여하고 있어 오프라인이 아닌 온라인으로 약 2달여간의 개발 기간을 통해 프로젝트를 완성하고, 시상식으로 마무리되는 일정으로 수행된다.
1회 시상식 영상: https://www.youtube.com/watch?v=WZw-Xb0NwNA
2회 시상식 영상: https://www.youtube.com/watch?v=1UA-zkhI89w
5.2. oneM2M 국제 해커톤 프로젝트 결과물
국제 해커톤 프로젝트 결과물은 온라인에 공개하는 개발 문서이며, 데모 영상 및 소스코드에 대한 github 레포지토리 링크를 포함하며 문서는 hackster.k.io 웹사이트를 이용한다.
oneM2M Hackster.io : https://www.hackster.io/onem2m/projects
아래 목록은 oneM2M 국제 해커톤을 통해 완성되고 공개된 프로젝트 성과물에 대한 링크이다.
5.2.1. 2021년 제 1회 oneM2M 국제 해커톤 (제 5회 Mobius 국제 개발자 대회 출품작)
- oneM2M Autonomous cooperative smart delivery system 1st Prize
- A smart automatic pet feeder based on OM2M 2nd Prize
- Cellular IoT Irrigation System 2nd Prize
- Smart Building using oneM2M protocol Best Device Application Award
- Virtual Store using digital twin Best Technology Award
- Edu Farm Best Educational Award
- smart crop monitoring and growth management
- Safe city for cyclists
- Wearable wristband for the monitoring of elderly healthcare
- Monitoring toxic gases with OM2M
- Smart home for reduce mobility people
- Vehicloud - Monitoring our city
- Succulent Care System
- onem2m_we love bug
- oneM2M Smart Crossroad with NodeMCU
- COVID BOX OneM2M
- Hephaestus :OneM2M infrastructure for fire Detection & Alarm
- Hephaestus : OneM2M infrastructure for fire prevention
- oneM2M based Smart Campus IoT system
- Birds protection
- AI Recycling Machine
- Smart pet helper
5.2.2. 2022년 제 2회 oneM2M 국제 해커톤 (제 6회 Mobius 국제 개발자 대회 출품작)
- Fire Situation Monitoring System 1st Prize
- Smart School Bus 2nd Prize
- Air quality monitoring 2nd Prize
- RoboCar Best Device Application Award
- Domotic house
- Smart Communities
- Street Lights Automation
- Noise pollution monitoring system
- Cellular based IoT
- SVM
- Meetrip
- Safety Service for Electric Scooter
6. oneM2M 개발자 튜토리얼
6.1. KETI 제공 개발자 튜토리얼
KETI는 TTA Academy에서 개최하는 세미나를 통해 oneM2M 개발자 교육을 연간 2회(상반기/하반기) 제공하고 있다
TTA Academy oneM2M 세미나 : TTA_KETI
oneM2M 표준의 개요, 아키텍처, 인터페이스 및 프로토콜 표준 규격에 대한 이해를 시작으로 이를 활용한 다양한 S/W 도구를 통한 oneM2M 어플리케이션 개발 역량을 갖추는 것을 목표로하며, TTA Academy에서 수행한 교육 영상은 유튜브 영상으로 제공되어 누구나 oneM2M 개발에 참고할 수 있다. 온라인으로 교육 영상을 공개한 이후, 매년 신규 과정이 추가되거나 기존 교안을 개선하여 TTA Academy를 통해 매년 강의가 진행된다. 따라서 새로운 oneM2M 개발자 튜토리얼 과정 수강생에게는 이전 연도 교육 영상 사전 학습을 권장하고 있다.
oneM2M 개발자 교육 전체 강의 영상(KETI) : IoT KETI Youtube|IoT KETI Youtube
6.1.1. 2023년 상반기 강의 프로그램
23년 상반기 프로그램에는 기존 실습 과정인 'oneM2M 개발자 가이드'를 확장하여 MQTT 프로토콜 바인딩과 Jupyter Notebook을 활용한 실습 과정을 추가하여 진행하였다.
TTA Academy 2023 상반기 oneM2M 세미나 : 2023_TTA_KETI
6.1.2. 2022년 강의 영상 녹화본
oneM2M 서비스 개요 : https://youtu.be/SoZ4dpdR2ho
oneM2M API & 구조(개요) : https://youtu.be/uCQzK2Sx80M
oneM2M API & 구조(상세) : https://youtu.be/gK_EeC_FG94
oneM2M 플랫폼 및 개발 도구 : https://youtu.be/-T8GWS5Tpbs
oneM2M 프로토콜 : https://youtu.be/hfesCKgnAFk
oneM2M 가상디바이스 : https://youtu.be/GQLyI1UtJYI
oneM2M 접근제어 : https://youtu.be/DLOG6UOGEGY
oneM2M 대시보드 : https://youtu.be/88GC1PaK6Rw
oneM2M 연동기술 개요 : https://youtu.be/3fbxuwUMb-o
oneM2M Zigbee 인터워킹 : https://youtu.be/FTYypzwo8N8
oneM2M LoRa 인터워킹 : https://youtu.be/psMzZYZAQmo
oneM2M Node Red 활용 : https://youtu.be/f0JXf7xnAXg
oneM2M Vue.js 활용 : https://youtu.be/ucqK-Unmi5U
6.2. C-DOT 제공 개발자 튜토리얼
인도 통신 네트워크의 특정 요구 사항을 충족하는 토착 기술 및 솔루션을 개발 및 배포 하는 인도의 통신 기술 개발 센터인 C-DOT은 oneM2M 표준 기반 IoT 플랫폼인 CCSP(IoT 플랫폼)을 개발하였다.
이러한 C-DOT은 Youtube 웨비나를 통해 oneM2M 표준 플랫폼 활성화 및 개발자 편의를 돕고자 관련 웨비나 및 oneM2M 개발자 튜토리얼, use case를 소개하고 제공한다.
Youtube C-DOT oneM2M 개발자 튜토리얼 및 웨비나 : C-DOT oneM2M Youtube
6.3. 도이치 텔레콤 제공 개발자 튜토리얼
oneM2M 공식 홈페이지 및 oneM2M Wiki에선 도이치 텔레콤에서 제공하는 oneM2M 아키텍처에 대한 교육과 jupyter notebook을 활용한 개발자 튜토리얼을 홈페이지 및 유튜브 온라인 영상으로 제공한다.
도이치 텔레콤 제공 oneM2M 교육 : oneM2M Develop
도이치 텔레콤 제공 Youtube oneM2M Jupyter Notebook 교육 영상 : oneM2M Youtube
7. oneM2M 표준 기술 개요
7.1. 플랫폼 간 상호운용성 보장 위한 oneM2M 서비스 계층 구조
oneM2M 국제 표준을 따르는 IoT 플랫폼은 플랫폼에 연결된 다수의 서비스를 하나의 IoT 서비스 계층으로 정의한다.즉 IoT 플랫폼에서 메인 프로세서, 통신 장치 와 IoT 애플리케이션 사이에 위치한 공통 서비스 계층이 존재하며 해당 oneM2M 공통 서비스 계층은 플랫폼 애플리케이션 사용자가 필요로하는 통합 서비스를 제공한다.
oneM2M 공통 서비스 계층 이하 CSF(Common Service layer Functions)는 다음과 같은 기능을 플랫폼에 연결된 애플리케이션 측에 제공한다.
- 사용자 및 응용 프로그램의 식별
- 사용자 및 응용 프로그램에 대한 플랫폼 인증 및 권한 부여
- end-to-end 간의 데이터 암호화
- 원격 프로비저닝 및 서비스 활성화
- 개별 장치 관리
- 연결 설정 및 데이터 전송 스케줄링
- 데이터 집계, 연결 누락 시 버퍼링 및 연결 재설정 시의 서비스 동기화
- 그룹 관리 및 응용 프로그램 및 데이터 검색 기능
- (그 외)
위에 나열된 기능들은 국제 표준 업체들의 서비스 API를 통해 IoT 애플리케이션으로 제공되며 CSF에 의해 제어 및 관리된다.
ADN(Application Dedicated Nodes), MN(Middle Nodes), IN(Infrastructure Node)에서의 AE(Application Entities)는 oneM2M API를 통해 위에 나열된 기능들을 제공하는 CSF로 부터 분리된다.
** AE(Application Entities)는 ADN, MN, IN에 연결되어 실행되는 애플리케이션에 대한 일반적인 용어이다.
oneM2M 플랫폼에서 CSF는 "Connectivity" 계층과 독립적이기에 장치 연결 기능, 전송 프로토콜 및 데이터 직렬화 형식의 세부 정보는 oneM2M 표준 플랫폼을 사용하려는 애플리케이션 개발자에겐 신경 쓸 요소가 아니다.
이에 oneM2M 애플리케이션 개발자는 플랫폼 서버를 구축하는 상세 전문 지식을 필요로 하지 않고, API만 다룰 줄 안다면 애플리케이션 개발이 가능하므로 개발자는 독립된 애플리케이션 개발에만 집중할 수 있다.
위에 언급한 것 처럼 oneM2M 플랫폼에서 애플리케이션 사용자 및 개발자에게 있어서 oneM2M 기반 기술은 하나의 운영체제 처럼 보일 수 있기에 oneM2M 표준을 따라 구축된 IoT 플랫폼은 스마트폰 에코 시스템 내의 모바일 운영 체제와 유사한 구조로 볼 수 있다.
그림 1. 스마트폰 애플리케이션 구조
참조.https://wiki.onem2m.org/index.php?title=Wikipedia
이러한 oneM2M 표준의 특징인 계층간 분리로 인해 해당 플랫폼의 IoT 애플리케이션 개발자는 다음과 같은 기능을 가진 IoT 애플리케이션 개발에 집중 할 수 있다.
- 물리적 측정
- 데이터 전처리
- 연결된 하드웨어 제어 및 다른 기술 연동 (e.g. Modbus, CAN-Bus, OPC-UA GW)
또한 IoT 개발자들은 네트워크 연결의 관점에서는 다음과 같은 네트워크 연동 기능 구현을 oneM2M 플랫폼이 제공하는 API를 통해 손쉽게 구현할 수 있다.
- 장치 관리
- 데이터 전송 스케줄링
- 보안 기능 및 자격 증명의 등록
- 문제 발생 장치 및 애플리케이션의 등록 취소
7.2. 도메인 간 상호운용성 보장 위한 oneM2M 서비스 계층
그림 2. oneM2M 적용 시스템의 클라우드 및 플랫폼 간의 분리 구조
참조. https://wiki.onem2m.org/index.php?title=Wikipedia
oneM2M 표준을 통해 플랫폼을 구축 시 도메인과 플랫폼 사이의 상호 운용성을 늘릴 수 있다.
차량 또는 홈 스마트홈 앱에서 자동차 및 소유주가 근처로 다가오면 차고의 문을 열 수 있게 하려면 자동차와 홈 스마트폰 앱 두 애플리케이션 모두 플랫폼에 접근 인증 및 승인이 되어야한다. 또한 각각의 애플리케이션 모두 플랫폼의 특정 데이터 모델에 대해 공통 접근이 가능해야한다.
IoT 장치에서 생산되는 데이터는 다양한 플랫폼에 등록 될 수 있는데, 이렇게 등록된 데이터는 해당 플랫폼 내의 장치들에게만 접근을 허락한다. 이에 타 서비스 플랫폼에서의 교차 수직 상호 운용성은 낮아진다.
위의 문제를 해결하기 위해 oneM2M은 새로운 기능 및 요소로 지속 확장되는 SDT (Smart Device Template) 기반의 데이터 모델을 제공하며, 기본으로 제공되는 특성 모델들은 다양한 기능을 갖는 광범위한 장치들을 커버하도록 모듈화 될 수 있다.
oneM2M에서 제공하는 이러한 공통 데이터 모델로 인해 이종 도메인의 oneM2M 애플리케이션들은 상호 데이터 연계 활용이 가능하다.
또한 여러 IoT 장치에 의해 등록된 데이터들을 관리, 제어하기 위해 oneM2M 플랫폼은 접근 제어 정책(ACP: access control policy)를 제공하여 애플리케이션 간에 다양한 도메인 데이터를 공유 활용할 수 있다.
그림 3. oneM2M 플랫폼에의 도메인 간 상호 연동 구조
참조. https://wiki.onem2m.org/index.php?title=Wikipedia
8. oneM2M 표준 도입의 장점
8.1. 손쉬운 기존 플랫폼과의 통합 및 연동
oneM2M 표준을 기반으로 플랫폼을 구성하면 이미 구축되어져있거나 개발되어지고있는 플랫폼과의 연동 및 통합을 이룰 시 다음의 요소들을 이용하여 장기적 발전과 지속 가능한 경제적 이점을 얻을 수 있다.
- 기존 구성되어있는 수직적 시스템 배치를 무너뜨리지 않고 플랫폼 개발이 가능하며, 레거시 시스템과 새로운 플랫폼 시스템의 상호 작용을 지원
- 플랫폼 운영자의 네트워크 기능과, 기존의 매너지먼트 기술을 활용
- 다양한 장치로 이루어져있는 인접 IoT 기술 플랫폼과의 상호작용이 가능
8.2. 통신 계층 상단에 자리한 서비스 계층
통신 계층 상단에 자리한 서비스 계층이라는 점을 통해 아래와 같은 특징들로 플랫폼의 통신 프로토콜 선택 및 데이터/메시지 간의 직렬화 지원이 가능하다.- Flexibility (통신 프로토콜 선택의 유연성) :
특정 프로토콜 기술에 얽매이지 않고 모든 도메인에 표준 시스템을 배치 가능
- IP based (IP 기반의 플랫폼) :IP 통신을 처리하기 위해 널리 구축된 기존 API에 적합
- 3GPP-based 최적화 (기존 네트워크가 3GPP 기반인 경우) :정책 기반 스케줄링, 절전 모드, 장치 트리거링, non-IP data 전송 등과 같은 기술 및 용어를 플랫폼 개발자가 인지 할 필요 없이 사용 가능
- Enhances data sharing efficiency (데이터 공유 효율 향상) : 기본적인 네트워크를 통한 플랫폼 내 통신은 플랫폼에서 구성 가능한 카테고리 및 "event/message" 조합에 맞춰 구축된 네트워크 리소스에 맞춰 데이터 전달을 제어하는 프로비저닝된 정책에 의해 감시되어짐
이는 네트워크의 수준에 맞춰 data Message들을 운용하도록 지원해주므로 운영 비용을 절감할 수 있음
이는 네트워크의 수준에 맞춰 data Message들을 운용하도록 지원해주므로 운영 비용을 절감할 수 있음
(데이터 공유 효율 향상 예시)
콤팩트한 데이터 메시지를 빠르게 교환하길 원하는 사용자의 경우 TCP(웹 소켓에 의해 on/off)를 채용 및 이진 직렬화(CBO 등..)를 사용하는 반면 다른 일반적인 경우엔 HTTPS/JSON 조합을 통한 데이터 교환 디버깅이 선호될 수 있음
- Evolution (통신 개발 가능성) : 콤팩트한 데이터 메시지를 빠르게 교환하길 원하는 사용자의 경우 TCP(웹 소켓에 의해 on/off)를 채용 및 이진 직렬화(CBO 등..)를 사용하는 반면 다른 일반적인 경우엔 HTTPS/JSON 조합을 통한 데이터 교환 디버깅이 선호될 수 있음
네트워크 계층 상단에 자리하여 통신 프로토콜의 선택지가 넓고, 데이터 및 메시지의 직렬화를 지원하므로 미래 통신 프로토콜을 기존의 플랫폼에 쉽게 적용 할 수 있음
8.3. 수평적인 플랫폼 관계
아래와 같은 항목들로 수평적인 플랫폼 관계를 구축하고, 여러 IoT 도메인을 활성화하여 사용자에게 다양한 공통 서비스 기능을 제공함과 동시에 서비스 제공자도 이점을 얻을 수 있다.- 타 도메인에서 oneM2M 서비스 플랫폼의 서비스를 이용하고자 할 때 해당 oneM2M 서비스 플랫폼을 새롭게 구축할 필요 없이 플랫폼 간의 수평적 연결만으로 해당 서비스를 이용할 수 있다.
: 구축 자본 비용 절감
- 플랫폼 간의 수평적 연결을 통해 도메인별로 플랫폼을 유지 및 관리할 필요가 없다.
: 네트워크 운영 비용 절감
- 공통된 프레임워크와 균일한 API를 통해 타 도메인 간 교차 서비스 제공, 애플리케이션 지원을 통해 격리된 도메인(예. 가정용 보안 시스템, 난방 시스템)의 정보 및 프로세스를 공유 할 수 있다.
: 새로운 플랫폼 간의 비즈니스 기회 창출 가능
- 어떤 도메인을 가진 플랫폼이여도 기준 oneM2M 코드를 사용 가능하다.
: 재사용 가능성 향상 및 자본 비용의 절감
8.4. 데이터 공유 및 상호 운용성
아래와 같은 지원을 통해 데이터 공유 및 상호 운용성을 통해 데이터 가치 창출이 가능하다.- 데이터 지향 REST API 설계
- "Semantic Data Annotation"을 통한 지능형 데이터 분석 및 서비스 메시업 지원
- 정적, 동적 엑세스 제어를 통해 채널 및 객체 수준의 보안 보호 기능을 제공
8.5. 오픈소스 IoT 표준
오픈소스 IoT 표준이라는 이점을 통해 플랫폼 또는 클라우드 개발자 및 공급자의 부담을 덜어준다.- oneM2M 표준은 단일 기관 및 회사가 기술 및 기능을 통제하지 않고 오픈소스로 제공함으로 서비스 제공자는 클라이언트들의 요구에 맞춘 서비스 플랫폼 구축을 집중 할 수 있음
8.6. 국제 표준
세계적으로 많은 기술 영역에서 성공적인 상호운용성을 보인 3GPP와 동일한 프로세스를 사용하여 표준을 개발했다.9. 기능에 따른 oneM2M의 구조
oneM2M 모델은 기능에 따라 아래와 같은 3개의 계층 구조로 구성된다.- 애플리케이션 계층
- 공통 서비스 계층
- 기본 네트워크 서비스 계층
그림 4. oneM2M 모델 계층 구조
참조. https://wiki.onem2m.org/index.php?title=Wikipedia
각각의 oneM2M 계층 구조는 oneM2M Entity로 구분이 가능하며, 계층 구조 및 oneM2M Entity에 대한 설명은 다음과 같다.
9.1. oneM2M Entities
9.1.1. AE(Application Entity)
: AE는 M2M 애플리케이션을 구현하는 애플리케이션 계층의 엔티티이다.oneM2M 플랫폼에 연결된 각 애플리케이션은 하나의 애플리케이션이 다수의 oneM2M 노드에 상주하거나 단일 oneM2M 노드에 다수의 애플리케이션이 상주할 수 있다.
AE는 oneM2M 서비스 플랫폼에 연결된 애플리케이션의 실행 인스턴스를 칭하는 말이며 이러한 AE들은 고유한 AE-ID 로 식별한다.
AE의 예시로는 비행 추적 어플리케이션, 혈당 측정 어플리케이션, 전력 측정 어플리케이션 또는 펌프 제어 어플리케이션의 인스턴스가 있다.
9.1.2. CSE(Common Services Entity)
: CSE는 oneM2M 서비스 계층의 CSF(Common Service Functions)들로 이루어진 집합 인스턴스를 칭한다.CSE는 실제로 oneM2M 표준에 정의되어 AE가 사용할 수 있는 CSF들을 포함하는 엔티티이다.
이러한 서비스 기능은 Mca(AE 엔티티에 대한 통신) 및 Mcc(CSE 엔티티에 대한 통신) Reference point를 통해 다른 기능 엔티티들과 연결한다.
oneM2M 플랫폼 서비스 내의 엔티티들 끼리의 연결을 담당하는 Mca, Mcc와 다르게 Mcn Reference point는 oneM2M 플랫폼 서버의 NSE와의 연결에 사용된다.
각각의 CSE는 고유 CSE-ID로 구분할 수 있다.
CSE의 예시로는 oneM2M 플랫폼의 엑세스 제어 및 권한 부여 서비스, 어플리케이션으로 부터의 이벤트 감지 및 알림, 서비스 그룹 통신, 데이터 교환 스케줄링, 플랫폼에 연결된 장치 관리 및 위치 서비스를 통한 데이터 저장 및 공유가 있다.
9.1.3. NSE(Network Services Entity)
: NSE는 서버의 네트워크 프로토콜 뿐만 아닌 통신 기반 응용 인터페이스들을 모두 포함한 네트워크 계층의 엔티티이며 이러한 NSE는 Mcn Reference point를 통해 CSE로 서비스를 제공한다.NSE의 예시로는 위치 서비스, 장치 트리거링, 망 관리, 3GPP 기반 네트워크의 PSM과 같은 디바이스 절전 모드 및 절전 주기 관리 서비스가 있다.
9.2. oneM2M Reference Points
그림 5. oneM2M 계층 모델간 통신 인터페이스 구조
참조. https://www.onem2m.org/using-onem2m/developers/basics
위의 그림과 같이 서비스 기능에 따라 나뉘는 oneM2M 계층은 상호 통신을 위해 "oneM2M Reference Point"라 칭하는 통신 인터페이스를 가지는데 해당 통신 인터페이스에 대한 설명은 다음과 같다.
9.2.1. "Mca" Reference Point
: AE와 CSE 간의 연결을 위한 통신 인터페이스이다. Mca를 통해 AE는 CSE가 지원하는 공통 서비스를 사용하고 CSE는 AE와 통신 할 수 있다. 이 때 AE와 CSE는 물리적으로 동일한 서비스 Entity 내에 위치하거나, 동일하지 않은 서비스 Entitiy에 위치할 수 있다.9.2.2. "Mcc" Reference Point
: 각기 다른 CSE 간의 연결을 위한 통신 인터페이스이다. Mcc를 통해 각기 다른 CSE는 서로가 지원하는 공통 서비스를 사용할 수 있다.9.2.3. "Mcn" Reference Point
: CSE와 NSE 간의 연결을 위한 통신 인터페이스이다. Mcn을 통해 CSE는 NSE가 제공하는 네트워크 계층 서비스를 사용할 수 있다. oneM2M 표준에 의해 구축된 서비스 계층 즉 CSE는 일반적으로 기본 네트워크 계층과 독립적이지만 3GPP의 eMTC 기능과 같은 응용 인터페이스들을 활용하기 위해 Mcn을 통해 NSE와 연동한다.9.2.4. "Mcc'" Reference Point
: "oneM2M" 표준에 의해 구축된 서비스 플랫폼인 CSE와 다른 "M2M" 에 의해 구축된 서비스 인프라간의 연결을 위한 통신 인터페이스이다.9.3. oneM2M Nodes
그림 6. oneM2M 엔티티에 따른 노드 구조
참조. https://www.onem2m.org/using-onem2m/developers/basics
oneM2M은 oneM2M 전체 시스템에서 기능별 구조 식별을 위해 논리 엔티티들의 집합에 따라 노드들을 정의한다.
oneM2M 노드는 일반적으로 CSE 및 AE를 포함한다.
oneM2M 표준은 노드 유형의 정의를 위해서 센서, 엑츄에이터, 게이트웨이 등이 배치되는 도메인 영역인 "Field Domain"과 서버 및 애플리케이션이 상주하는 도메인 영역인 "Infrastructure Domain"으로 구분한다.
노드 유형은 아래와 같다.
9.3.1. ADN(Application Dedicated Node)
: AE를 하나 이상 포함하고, CSE를 포함하지 않는 노드로 "Field Domain"에 위치한다.ADN은 일반적으로 데이터 스토리지를 따로 가지지 않는 장치에 의해 구현되므로 CSE가 아닌 AE만 해당 노드에 속할 수 있다.
ADN의 예시로는 "단순 센서" 또는 "엑츄에이터"가 있다.
9.3.2. ASN(Application Service Node)
: 하나의 CSE를 포함하고, 하나 이상의 AE를 포함하는 노드로 "Field Domain"에 위치한다.ASN은 데이터 구축 및 수집 능력을 가진 간단한 서버 기능까지 가능한 다양한 장치에 의해 구현되므로 CSE, AE 모두 해당 노드에 속할 수 있다.
ASN의 예시로는 "데이터 수집 장치", "간단한 서버"등이 있다.
9.3.3. MN(Middle Node)
: 하나의 CSE를 포함하고, AE를 포함할 수 있는 노드로 "Field Domain"에 위치한다.oneM2M 시스템의 필드 도메인에 여러 개의 MN이 있을 수 있으며, 일반적으로 MN은 게이트웨이단에 상주한다.
MN은 oneM2M 플랫폼 내에서 시, 군, 동네, 건물 등의 계층적으로 나누어진 데이터를 위해 논리적 트리 토폴로지를 설정하는 기준이 되어진다.
9.3.4. IN(Infrastructure Node)
: 하나의 CSE를 포함하고, AE를 포함할 수 있는 노드로 "Infrastructure Domain"를 이루는 중심이다.9.3.5. NoDN(Non-oneM2M Node)
: 위에 기재된 oneM2M을 이루는 노드 관계도엔 없는 유형의 노드로 oneM2M 표준을 따르지 않는 인프라 노드이다. oneM2M 표준을 따르지 않는 이러한 NoDN은 타 IoT 플랫폼 서비스 및 레거시 기술을 oneM2M 플랫폼에 호스팅하여 다양한 서비스 영역에서의 호환성을 가능케한다.10. References
oneM2M wiki : https://wiki.onem2m.org/index.php?title=WikipediaoneM2M developers : https://www.onem2m.org/using-onem2m/developers
TTA Academy oneM2M 세미나 : https://edu.tta.or.kr/semina/TTAReqstView.do?eventId=EVENT_00000000002772&sul=2