M2M(Machine to Machine)
- 사물 또는 지능화된 기기들이 사람을 대신해 통신의 양쪽 모두를 맡고 있는 기술을 의미
- 센서 등을 통해 전달, 수집, 가공된 위치, 시각, 날씨 등의 데이터를 다른 장비나 기기 등에 전달하기 위한 통신을 의미
- M2M은 개별 장치들에 대한 연결성을 제공하는 것이 기본 목적
oneM2M
기구 설명
1.에너지, 교통, 국방, 공공서비스 등 산업별로 종속적이고 폐쇄적으로 운영되는, 파편화된 서비스 플랫폼 개발 구조를 벗어나 응용서비스 인프라(플랫폼) 환경을 통합하고 공유하기위한 사물인터넷 공동서비스 플랫폼 개발을 위해 발족된 사실상 표준화 단체임
2.oneM2M의 기술 워킹그룹(6개)은 요구사항을 다루는 Requirement(WG1), 시스템 구조를 다루는 Architecture(WG2), 프로토콜과 관련한 Protocols(WG3), 보안관련 Security(WG4), 장치관리 및 추상화, 시멘틱과 관련된 Management, Abstraction and Semantics(WG5), 테스킹 규격을 위한 Test(WG6)로 구성되어 있음
oneM2M Release 1
15.01월 Minimum Deployeable Solution을 모토로 Release 1 규격을 공개하여 다양한 IoT 서비스에서 필요한 공통 기능을 oneM2M 플랫폼의 RESTful API로 지원
- oneM2M 플랫폼이 제공하는 기능을 공통 서비스 기능(CSF, Common Services Function) 으로 정의함
- 공통 기능은 사물인터넷 서비스 애플리케이션에서 자주 사용되는 기능을 정의한 것으로 데이터 저장/공유, 장치 관리, 그룹 관리, 구독/통지(Subscription/Notification), 위치 정보, 과금 등의 기능을 포함하며, 보안 기능은 기본적인 인증, 접근 제어 등의 기능을 제공
- 또한, oneM2M 코어 프로토콜 메시지(Primitive)는 CoAP, HTTP 및 MQTT 프로토콜 메시지를 통해 전송됨. oneM2M의 코어 프로토콜은 향후 추가 프로토콜 바인딩(Binding)을 지원할 수 있도록 특정 메시지 프로토콜에 종속성을 가지지 않도록 개발되었음
oneM2M Release 2
16.07월 다양한 IoT 기술과의 연동성을 강조하여 Release 2 규격을 공개하여 OCF, AllJoyn, LwM2M, 3GPP Rel-13 등의 기술과의 연동성을 제공하고 가전 기기에 대한 정보 모델 표준을 제공 및 다양한 추가 기능을 제공
- 다양한 인더스트리 사물인터넷 플랫폼 및 네트워크 연동이 주 목적
- 사물인터넷 연동으로는 AllJoyn, OCF(Open Connectivity Foundation) 및 Lightweight M2M 기술과의 연동 규격을 제공함
- 네트워크 연동으로는 3GPP Rel-13 네트워크와 연동을 위한 트래픽 패턴 설정(Traffic Pattern Configuration) 기능을 정의하고 있으며 릴리즈 3에 모니터링 등의 연동 기능을 추가하기 위한 기술 보고서를 작업을 지속하고 있음
- 높은 디바이스 및 애플리케이션의 호환성을 보장하기 위해 우선적으로 가전 디바이스에 대한 데이터 모델을 정의함
- 릴리즈 1에서는 가전 제어 및 센싱 정보를 교환하기 위해 사전에 애플리케이션 간 정의한 데이터 모델을 container 및 contentInstance 자원 타입을 이용했다. 이에 비해 릴리즈 2에서는 oneM2M 플랫폼을 이용하는 모든 애플리케이션이 표준에 정의된 가전 디바이스 데이터 모델을 사용함으로써 가전 제조사 및 애플리케이션 개발자 간에 별도의 데이터 모델을 정의하는 번거로움을 없애고 제품과 애플리케이션 간의 호환성을 보장한다.
- 프로토콜 바인딩은 동시 송수신(Full-duplex)을 지원하는 WebSocket이 추가됨
oneM2M Release 3
Release 3 표준은 기존 연동, 시맨틱, 보안 등의 기능을 향상하고, oneM2M 시장 확대를 위한 개발자 가이드, Product Profile을 추가 개발
1.3GPP Rel-13/14 네트워크 연동
- UE Reachability Schedule, Location Update, Roaming, Schedule sync 지원 등
2.Interworking
- 추가된 Proximal IoT 연동 규격(TS-0033)에서 oneM2M 시스템이 아닌 디바이스나 서비스를 연동하기 위한 범용적인 연동 기술을 정의
- OSGi, Modbud, DDS, OPC-UA에 대한 연동 기술 스터디 진행
3.Transaction 지원
- 어플리케이션의 다중 리소스 엑세스(Create, Retrieve,Update, Delete)에 대한 oneM2M 플랫폼의 트랜잭션 관리
(Execute, Commit, Abort, Lock) 기능 제공
4.Semantics 지원 기능 향상
- 시맨틱 매쉬업, 트리플(Triple) 쿼리, 트리플 데이터 검증 기능 추가
5.멀티캐스트 기반 그룹 관리
- 기존 그룹 관리 기능을 IP 멀티캐스트 및 3GPP MBMS (Multimedia Broadcast Multicast Service)를 활용할 수 있도록 기능 확장
6.기타 추가 기능
- 멀티미디어 스트리밍, 다중 리소스 구독(Cross-resource Subscription),AE Reachability Management, Distributed Authorization 등 개발자 가이드 추가
- HTTP, CoAP, MQTT 프로토콜 바인딩, Long polling, device managment, semantics 기능 구현 개발자 가이드 작성 완료
- 보안 기능 개발자 가이드 작성 중
7.Product Profile
- oneM2M 플랫폼 기능을 요약한 Feature Catalogue (TS-0031) 과 연계하여 oneM2M 제품 개발 시 구현할 기능을 프로파일 화로 정의하고 해당 기능들은 시험인증 규격에 반영됨
oneM2M 공통 플랫폼 기능 모델
Application Entity (AE) :
M2M 서비스를 제공하기 위한 어플리케이션 기능 로직을 포함하는 논리적인 엔티티를 의미하며 각각의 AE는 유일한 AE 식별자인 AE-ID로 구별된다. AE에 대한 예로서는 관제 시스템, 스마트그리드 시스템, 헬스케어 시스템을 위한 어플리케이션 등이 고려되어질 수 있다.
Common Service Entity (CSE) :
oneM2M 서비스 플랫폼에서 공통적으로 제공되어야 하는 공통 서비스 기능을 제공하는 부분으로서, oneM2M 에서 정의한 CSE에는 총 12개의 Common Service Function (CSF) 공통 서비스 기능을 포함하고 있다. CSF는 CSE에서 제공되어져야 하는 기능들 중 비슷한 기능들을 그룹화 한 논리적인 그룹으로, 각각의 CSF 들은 이후에 설명되어질 리소스를 통해서 외부에 노출되어 서비스를 제공할 수 있다. 해당 CSE는 AE를 구별하는 방식과 마찬가지로 CSE의 식별자인 CSE-ID를 통해서 유일하게 식별 가능하다.
Network Service Entity (NSE) :
CSE가 위치한 미들웨어의 하부 네트워크 서비스에 대한 추상화 영역으로 CSE에게 네트워크 서비스를 제공한다. 제공 가능한 네트워크 서비스의 예로서는 디바이스 관리, 위치관리, 3GPP 이동통신망에 연결되어있는 IoT 디바이스 트리거링 서비스 등이며 해당 서비스를 위해서는 네트워크 서비스가 관여되어진다.
Mca (M2M Communication with AE) 참조 포인트 :
AE 와 CSE 간의 포인트를 가리키며, 해당 AE가 CSE에서 제공하는 공통 서비스 기능을 이용하기 위한 API 의 연결 포인트이고, CSE 와 AE간의 통신을 위한 연결 포인트이다.
Mcc (M2M Communication with CSE) 참조 포인트
: 두 개의 CSE간의 포인트를 가리키며, CSE와 다른 CSE간의 서비스 공개 및 통신을 가능하게 하는 연결 포인트이다.
Mcn (M2M Communication with NSE) 참조 포인트 :
CSE와 NSE간의 포인트를 가리키며, CSE가 NSE에서 제공되는 네트워크 서비스 기능을 이용할 수 있는 연결 포인트이면서 네트워크 망으로의 데이터 전달 연결 포인트이다.
Mcc’(M2M Commmunication with CSE of different M2M Service Provider) 참조 포인트 :
서로 다른 서비스 프로바이더에 종속적인 CSE간의 포인트를 가리키며, 서비스 프로바이더 간 CSE사이의 서비스 공개 및 통신을 지원하는 연결 포인트이다.
oneM2M 노드 구성모델 아키텍처
oneM2M의 노드 구성모델은 다음과 같다.
Infrastructure Node (IN) :
인프라스트럭쳐 도메인에 위치하고 있는 IN-CSE를 포함하는 서버단에 위치하는 기기를 의미한다. 해당 IN은 서비스 프로바이더 당 한 개의 IN을 지원하는 것으로 정의되며 IN은 한 개의 CSE로만 구성이 되거나 1개 이상의 AE를 포함하는 형태로 구성되어질 수 있다. 논리적 기기인 IN에 매칭되는 물리적 기기로는 서버를 예로 들 수 있다. IN은 Mcc 참조 포인트를 통해서 한 개 이상의 MN과 한 개 이상의 ASN과 연동되며 Mca 참조 포인트를 통해서 한 개 이상의 ADN과 연동될 수 있다. Mcc’을 통한 연동은 다른 서비스 프로바이더 영역에 위치한 IN노드와 연동된다.
Middle Node (MN) :
필드 도메인에 위치한 MN-CSE를 포함하는 논리적 기기로 일반적으로 여러 센서나 엑추에이터들이 연결되는 게이트웨이가 이에 해당한다고 보면 된다. MN은 한 개의 CSE로 구성이 되거나, 하나의 CSE에 1개 이상의 AE 를 포함하는 형태로 구성되어질 수 있다. MN은 Mcc참조 포인트를 통해서 적어도 하나의 IN 또는 MN과 연동되며 Mcc 참조 포인트를 통해서 ASN과 연동 및 Mca 참조 포인트를 통한 ADN과 연동될 수 있다.
Application Service Node (ASN) :
필드 도메인에 위치한 ASN-CSE와 ASN-AE를 포함하고 있는 논리적 기기이다. 해당 ASN은 한 개의 CSE와 1개 이상의 AE를 포함하는 형태로 구성되며 논리적 ASN에 매칭되는 물리적 기기로는 M2M 디바이스를 예로 들 수 있다. ASN 은 Mcc 참조 포인트를 통해서 한 개의 MN 또는 한 개의 IN에 연동된다.
Application Dedicated Node (ADN) :
필드 도메인에 위치한 ADN-AE를 포함하고 CSE를 포함하지 않는 논리적 기기이다. 즉 해당 ADN는 CSE가 없고, 1개 이상의 AE를 포함한다. 논리적 ADN에 매칭되는 물리적 기기로는 센서 및 액츄에이터와 같은 자원제약적인 M2M 디바이스를 예로 들 수 있다. ADN은 Mca 참조 포인트를 통해서 MN 또는 IN과 연동되는 구조를 갖는다.
oneM2M 공통 서비스 기능
oneM2M 공통 서비스 플랫폼 개발과 관련하여 아키텍처 표준 문서에서 다루고 있는 부분은 Common Service Entity (CSE)에 대한 기능들을 표준화하는 것이다. 그리고 해당 기능들은 oneM2M이 지향하고 있는 리소스 기반 아키텍처 구조를 기반으로 각각의 리소스 타입으로 해당 공통 서비스 기능들이 표현되고 있다. oneM2M 표준화 작업 진행방식은 전체적으로 유스케이스 및 요구사항을 다루고, 이를 통해 필요한 기능들을 도출해 내어 시스템 아키텍처를 디자인하고, 상세 프로토콜을 개발하는 3GPP 표준화 방식에서 취한 Stage 기반의 접근 방식으로 표준 개발을 진행하였다.
각각의 기능은 리소스 타입으로 표현되고 Mcc, Mca, Mcn 참조 포인트를 통해서 서비스가 제공된다.
Common Service Function (CSF) :
기능설명Registration (REG) :
REG CSF는 AE와 CSE 또는 CSE와 CSE간의 등록을 담당하며, 이러한 등록 관계를 통해서 oneM2M 엔티티간의 접속 및 접근이 가능하며 oneM2M 엔티티간의 데이터 전달을 통한 oneM2M 서비스 구성이 가능해진다Discovery (DIS) :
DIS CSF는 기본적으로 oneM2M 리소스 및 어트리뷰트에 담긴 서비스 정보에 대한 검색 기능을 제공한다. 기본적으로 텍스트 기반의 검색이 제공 되어지며, 그 이외에도 특징 기반의 검색 등이 제공되어질 수 있다.Security (SEC) :
SEC CSF는 oneM2M 공통 서비스 플랫폼의 공통 기능으로서 접근권한, 키 관리와 같은 보안 메커니즘을 제공하는 기능을 담당한다.Group Management (GMG) :
GMG CSF는 리소스들을 그룹으로 관리할 수 있도록 하는 기능을 담당한다. 이를 통해, 비슷한 역할을 하거나, 공동으로 관리되어져야 하는 리소스들을 그룹으로 관리할 수 있다.Data Management & Repository (DMR) :
DMR CSF는 기본적으로 데이터 저장소의 기능을 제공하는 것이다. 또한 데이터의 타입, 시맨틱 정보, 시간, 위치와 관련한 데이터의 분류 및 데이터 포맷의 변경 및 데이터 처리 기능을 제공한다.Subscription & Notification (SUB) :
SUB CSF는 리소스에 대한 구독정보를 관리하고 리소스 및 어트리뷰트에 대한 업데이트 발생, Child 리소스의 생성, 삭제 등 해당 리소스에 대한 트랙킹 및 관련된 변화 정보를 통지하는 역할을 담당한다.Device Management (DMG) :
DMG CSF는 디바이스 관리 기능을 제공하는 공통 서비스 기능이다. 디바이스 관리라고 함은 디바이스에 설치된 펌웨어에 대한 관리, 디바이스 하드웨어 리소스 관리, 디바이스 동작 설정 관리, 진단을 포함한다.Application & Service Management (ASM) :
ASM CSF는 ADN, ASN, MN, IN에 위치한 AE와 CSE 소프트웨어에 대한 관리 기능을 담당한다. 해당 기능은 AE와 CSE의 재설치, 업데이트, 고장탐지, 설정에 관한 기능을 제공한다.Communication Management & Delivery Handling (CMDH) :
CSE간, AE와 CSE간, 데이터 전달 시에 NSE를 통한 데이터 전달 서비스를 제공하는 기능을 담당한다. CMDH CSF는 메시지 전달을 위해서 언제 보낼건지, 어떤 네트워크 연결을 활용하여 보낼지를 결정한다.Network Service Exposure, Service Execution & Triggering (NSSE) :
NSSE CSF는 기저 네트워크와 관련된 통신을 관리하며 Mcn 참조 포인트를 통한 네트워크 접근 서비스를 제공한다.Location (LOC):
LOC CSF는 AE의 위치 정보 요청에 대해서 ASN, MN과 관련된 위치정보를 획득하기 위한 방법을 제공하는 CSF이다.Service Charging & Accounting (SCA) :
SCA CSF는 oneM2M 공통 서비스 플랫폼을 통해서 제공되는 서비스에 대한 과금 체계 및 방법에 대한 기능을 제공한다.
oneM2M의 장치관리 표준
oneM2M의 장치관리 표준은 ETSI TC M2M 규약에서 정한 BBF TR-069와 OMA(Open Mobile Alli-ance)-DM(Device Management) 표준을 그대로 승계하였고, 더 나아가 제약 많은 IoT 장치를 위한 OMA LWM2M까지 포함한다.
OMA-DM, TR-069는 다음 포스트에서 다룬다
나만의 요약
oneM2M에서는 CSE가 핵심이다.
별첨
LwM2M(Lightweight M2M)
LwM2M(Lightweight M2M)은 M2M 또는 IoT 장치 관리를 위하여 LwM2M 서버와 LwM2M 장치에 있는 LwM2M 클라이언트 간의 응용 프로그램 계층 통신 프로토콜을 정의함. 소형기기를 포함하여 다양한 사물인터넷 기기를 지원하기 위한 기기 관리 표준임.
1)센서 또는 셀룰러 네트워크를 통한 장치 관리 기능 제공
2)네트워크에서 장치로 서비스 데이터 전송
3)대부분의 모든 응용 프로그램의 요구사항을 충족하도록 확장 을 위하여 설계됨. 자원이 제한된 LwM2M 디바이스를 감안하여 효율적인 리소스 데이터 모델을 기반으로 가볍고 간결한 프로토콜로 IETF CoAP을 사용하고 있음
REST(Representational State Transfer)
웹 상의 자료를 HTTP위에서 별도의 전송 계층 없이 전송하기 위한 아주 간단한 인터페이스이다. URI는 자원을 표현하는 데에 집중하고 행위에 대한 정의는 HTTP METHOD를 통해 하는 것이 REST한 API를 설계하는 중심 규칙이다.
CoAP
- Internet에서 IoT device처럼 제한된 computing 성능을 갖는 device들의 통신을 위해 IETF의 CoRE(Constrained RESTful Environment) working-group에서 표준화한 protocol
- 신뢰성 있는 동기 수송 방식의 TCP와 그 위의 HTTP는 많은 resource제약을 가진 IoT 환경에서는 적합하지 않아 비동기 수송 방식의 UDP상에서 UDP의 단점을 보완하는 개념을 포함한 통신 protocol
OCF
사물인터넷 구현 시 REST 구조 기반으로 경량형 CoAP 프로토콜로 사물인터넷 장치들을 연결하고 장치에 존재하는 자원들을 상호제어 할 수 있게 하는 표준 플랫폼 기술
- OCF 아키텍처는 클라이언트-서버의 방식으로 RESTful 아키텍처를 기반으로 리소스를 관리하는 모델
- 사물인터넷 디바이스의 제한된 성능을 고려하여 CoAP(Constrained Application Protocol)을 활용하여 경량 기기에서의 동작도 고려함
MQTT
MQTT(Message Queue for Telemetry Transport)는 M2M 또는 IoT 기기와 G/W의 연동을 위해 정의된 프로토콜입니다. 경량 프로토콜로 저전력 장비에서도 운용 가능하며 network bandwidth가 작은 곳에서도 충분히 운용 가능하도록 설계된 프로토콜입니다.
참고자료
http://www.iotocean.org/common/download.asp?pach=/upload/Board/&file=6VXFR20174271377.pdf
(IoT 표준/기술 동향 2017-9호) 2017-9호_oneM2M Release 3 표준
http://www.iotforum.kr/board1/read.asp?bdNum=101&sc_field=&sc_word=&bdCode=13350
http://woowabros.github.io/experience/2017/08/11/ost_mqtt_broker.html