onem2m

https://www.youtube.com/watch?v=tBQ085PvR9E 요약

IOT의 4계층

Application layer - 스마트홈, 스마트카, 헬스케어
Service layer - IoT 서비스 개발이 용이하도록 공통으로 요구되는 기능 제공 oneM2M, AllJoyn, OIC
Network layer - 장치 간 또는 서비스간 연결, 정보전달 HTTP, CoAP, MQTT, Wi-Fi ...
Device layer - 센서 또는 다른 하드웨어

oneM2M ?

IoT 응용 개발이 용이하도록 공통 기능을 제공하는 국제표준 플랫폼 기술

데이터관리, 연결 제어, 구독/통지, 보안, 그룹관리 ….

등을 제공하는데 응용 개발자는 이를 적절히 활용하여 개발공수를 줄일 수 있다.

oneM2M발생이유

기존엔 응용이 특정한 디바이스를 타겟으로 개발되었다. 이를 개선할 수 있는것이 oneM2M

oneM2M

먼저 Use Case를 기반으로 요구사항을 도출해봤더니 다음과 같았다.
일반요구사항: 성능, 네트워크 연결지원에 따른 다양한 IoT장치 지원, QoS 기반 메시지 전달, 과금관리…
장치관리요구사항: OMA DM/ BBF TR-069, 펌웨어, 소프트웨어 제어, 고장제어
보안 요구사항: 요청자에 대한 인증/권한 부여, 기반 네트워크 보안기능 활용

이를 기반으로 공통기능 CSE를 도출해냄
데이터관리 : 장치가 데이터를 저장할 수 없을때 플랫폼이 저장해준다
연결제어 : 레이턴시는 10ms 이하여야 한다.(예시)
구독. 통지 : 온도가 40도 이상이면 문자보내줘
과금 : 통신플랫폼의 사업자 이므로 이 또한 가능
이종 플랫폼 연동
사업자간 로밍 : 나의 커넥티드 카가 해외로 넘어가게 되면 로밍을 제공
기타 많은 공통기능 제공

oneM2M 안드로이드 플랫폼이랑 유사하다. CSE는 공통기능이 포함된 엔티티다.

AE를 카카오톡이라고 보면 좋다. 카톡은 안드로이드에 존재하는 간단한 API를 호출해 메세지를 보낸다.
즉 AE개발자는 CSE를 적절히 활용하면 된다.

여러플랫폼이 서로 연결되어 큰 iot를 만들어 낼 수 있게된다.

Distributed Platform 형태인 oneM2M

IOT의 호출순서는 다음과 같다고 가정 하자.
디바이스 - 게이트웨이 - 클라우드 - 게이트웨이 - 디바이스
과거에는 클라우드에만 CSE를 탑재하여 호출하였지만 최근에는 게이트웨이, 디바이스에도 이를 탑재하여 분산처리를 한다.
물론 하드웨어의 용량이 부족할 경우 플랫폼 기능을 배제하기도 한다. 이 경우 Constrained Device Support 라고 한다.

그렇다면 CSE를 어떻게 호출할까?

과거에는 RPC(Remote Procedure Call)을 활용하였지만 REST 기반 API구조를 사용한다.
CSE의 기능들을 REST 형태로 개방한다. 즉 URI만 갖고있으면 웹브라우저에서 기능을 호출할 수 있다.

Share