KR20240043087A - 무설정 네트워킹 기술 기반 사물인터넷 장치 검색 및 등록을 위한 방법 및 장치 - Google Patents

무설정 네트워킹 기술 기반 사물인터넷 장치 검색 및 등록을 위한 방법 및 장치 Download PDF

Info

Publication number
KR20240043087A
KR20240043087A KR1020230121544A KR20230121544A KR20240043087A KR 20240043087 A KR20240043087 A KR 20240043087A KR 1020230121544 A KR1020230121544 A KR 1020230121544A KR 20230121544 A KR20230121544 A KR 20230121544A KR 20240043087 A KR20240043087 A KR 20240043087A
Authority
KR
South Korea
Prior art keywords
onem2m
iot
registration
iot device
dns
Prior art date
Application number
KR1020230121544A
Other languages
English (en)
Inventor
송재승
김동현
엄경호
엄예림
박민지
Original Assignee
세종대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 세종대학교산학협력단 filed Critical 세종대학교산학협력단
Priority to PCT/KR2023/014193 priority Critical patent/WO2024071803A1/ko
Publication of KR20240043087A publication Critical patent/KR20240043087A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/75Information technology; Communication
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y40/00IoT characterised by the purpose of the information processing
    • G16Y40/40Maintenance of things

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 개시는 zeroconf 기술 기반 사물인터넷(Internet of things, IoT) 장치 검색 및 등록을 위한 방법 및 장치에 관한 것으로서, IoT 시스템에서 장치를 등록하기 위한 제1 장치의 동작 방법은, 제1 IoT 장치로부터 oneM2M 타입의 장치 검색을 요청받는 단계, DNS-SD(domain name system-service discovery) 기능을 이용하여 상기 oneM2M 타입의 적어도 하나의 제2 IoT 장치를 검색하는 단계, 상기 제1 IoT 장치에게 상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 송신하는 단계, 상기 제1 IoT 장치로부터 상기 검색된 적어도 하나의 제2 IoT 장치 중 선택된 제2 IoT 장치에 대한 등록 요청 신호를 수신하는 단계, 및 상기 선택된 제2 IoT 장치에 대한 등록 절차를 수행하는 단계를 포함할 수 있다.

Description

무설정 네트워킹 기술 기반 사물인터넷 장치 검색 및 등록을 위한 방법 및 장치{METHOD AND APPARATUS FOR DISCOVERY AND REGISTRATION OF INTERNET OF THINGS DEVICE USING ZERO CONFIGURATION NETWORKING}
본 개시는 사물인터넷 시스템에 관한 것으로, 구체적으로 사물인터넷 시스템에서 무설정 네트워킹(zero configuration networking; zeroconf) 기술에 기반하여 oneM2M 장치를 검색 및 등록하기 위한 것이다.
IoT(Internet of things)란 인터넷 등의 연결성이 제공되는 환경에서 각종 센서를 탑재한 장치들이 상호 간 통신을 하는 기술을 의미한다. IoT 기술을 통해, 새로운 서비스가 창출되고, 유용한 가치가 제공될 수 있다. IoT와 유사한 개념으로 M2M(machine to machine)이란 용어가 사용되기도 하는데, M2M은 IoT을 통신 관점에서 볼 경우 사물들 간의 통신을 통해서 여러가지 데이터들이 교환되어 다양한 IoT 서비스들이 제공되어질 수 있다는 기술의 활용적 측면에서 발생한 것이다.
IoT 기술의 구현을 위한 핵심 기술은 네트워크 인프라 기술, 서비스 플랫폼 기술 등이 있다. 먼저, 네트워크 인프라 기술이란 지그비(Zigbee), 블루투스(Bluetooth), 무선랜(wireless local area network, WLAN)(예: WiFi(wireless fidelity)), 유선 망, 이동 통신 망 등으로 구성된 네트워크 환경에서 연결성 보장 및 효율적 망 관리를 가능하게 하는 네트워크 계층의 기술을 의미한다. 특히, IoT를 위해 기존의 이동 통신 서비스에서 사용되던 기술 이외에도 LPWA(low power wide area)와 같은 제한적인 장치들에 사용 가능한 네트워크 기술들이 최근 들어 많이 소개되어지고 있다. 다음으로, 서비스 플랫폼 기술이란 서비스 제공자가 사용자에게 다양한 IoT 서비스가 가능하도록 하는 공통의 기반 기능들로써 어플리케이션 계층의 기술이다.
현재, 많은 기업들이 IoT 기술을 이용한 서비스를 시행 중이거나 준비 중이다. 하지만, 몇몇 플랫폼들은 국제 표준에 따르지 아니하고, 독자적으로 개발되는 경우, 호환성의 문제가 존재할 수 있다. 이 경우, 새로운 사업 또는 서비스를 개발할 때, 기존의 솔루션 및 플랫폼을 재사용하지 못하고 새롭게 다시 개발해야 하는 불편함이 초래될 수 있다. 따라서, oneM2M을 비롯하여 IEEE(institute of electrical and electronics engineers), IIC(industrial Internet consortium), 올신 얼라이언스(AllSeen Alliance), OIC(open interconnect consortium) 등 다양한 표준 단체들은 IoT 기술의 표준화를 위한 활동을 진행하고 있다. 특히, oneM2M은, 2012년 8월 글로벌 IoT 서비스 플랫폼 표준 개발을 목표로 설립되었으며, IoT 기술에 관련된 표준화 기구로는 세계 최대 규모를 가진다. oneM2M은 ITU-T(international telecommunication union-telecommunication standardization sector), IEEE, W3C(world wide web consortium) 등과 밀접하게 협력을 통해 IoT 글로벌 표준으로 점차 자리 잡아가고 있으며, 다양한 상용 서비스 및 장치들이 개발되어지고 있다.
기존 IoT 서비스에서 새로 구매한 IoT 장치들을 등록하고 사용하기 위해서는 복잡한 설정 및 수동적인 작업이 수행되어야 하는 번거로움이 존재한다.
본 개시는 사물 인터넷 시스템에서 장치 등록을 위한 방법 및 장치를 제공할 수 있다.
본 개시는 사물 인터넷 시스템에서 무설정 네트워킹(zero configuration networking; zeroconf) 기능을 활용하여 oneM2M 장치를 등록하기 위한 방법 및 장치를 제공할 수 있다.
본 개시는 사물 인터넷 시스템에서 zeroconf의 DNS-SD(domain name system-service discovery)를 활용하여 oneM2M 장치를 검색하고, 검색된 oneM2M 장치를 oneM2M 서버 플랫폼에 등록하기 위한 방법 및 장치를 제공할 수 있다.
본 개시에서 이루고자 하는 기술적 목적들은 이상에서 언급한 사항들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 이하 설명할 본 개시의 실시예들로부터 본 개시의 기술 구성이 적용되는 기술분야에서 통상의 지식을 가진 자에 의해 고려될 수 있다.
일 실시예에 따른 IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제1 장치의 동작 방법은, 제1 IoT 장치로부터 oneM2M 타입의 장치 검색을 요청받는 단계, DNS-SD(domain name system-service discovery) 기능을 이용하여 상기 oneM2M 타입의 적어도 하나의 제2 IoT 장치를 검색하는 단계, 상기 제1 IoT 장치에게 상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 송신하는 단계, 상기 제1 IoT 장치로부터 상기 검색된 적어도 하나의 제2 IoT 장치 중 선택된 제2 IoT 장치에 대한 등록 요청 신호를 수신하는 단계, 및 상기 선택된 제2 IoT 장치에 대한 등록 절차를 수행하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 DNS-SD 기능을 이용하여 상기 oneM2M 타입의 적어도 하나의 제2 IoT 장치를 검색하는 단계는, 상기 oneM2M 타입의 장치를 검색하기 위해 DNS-SD 기반의 쿼리를 송신하는 단계, 및 상기 적어도 하나의 제2 IoT 장치로부터 oneM2M 타입의 장치임을 나타내는 DNS-SD 응답 신호를 수신하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 DNS-SD 응답 신호는, 상기 적어도 하나의 제2 IoT 장치의 타입이 상기 oneM2M 타입임을 지시하는 정보, 및 상기 적어도 하나의 제2 IoT 장치의 등록에 필요한 장치 정보 중 적어도 하나를 포함하며, 상기 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 장치에 대한 간단한 설명 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 제1 IoT 장치에게 상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보 송신 시, 키 정보를 송신하는 단계를 더 포함하며, 상기 키 정보는, 보안 키, 세션 키, 또는 등록 키 중 적어도 하나에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 선택된 IoT 장치에 대한 등록 절차를 수행하는 단계는, 상기 선택된 IoT 장치에 대한 등록 요청 신호를 수신한 후, 상기 선택된 IoT 장치에게 등록을 트리거하는 메시지를 송신하는 단계, 상기 선택된 IoT 장치로부터 등록을 요청받는 단계, 및 상기 선택된 IoT 장치에 대한 리소스를 생성하는 단계를 포함하며, 상기 등록을 트리거하는 메시지는, 상기 제1 장치의 주소, 또는 상기 키 정보 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 선택된 IoT 장치에게 등록 성공 여부를 나타내는 메시지를 송신하는 단계, 상기 선택된 IoT 장치로부터 컨테이너 및 컨텐츠인스턴스 리소스의 생성을 요청받는 단계, 및 상기 요청된 컨테이너 및 컨텐츠인스턴스 리소스를 생성하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 선택된 IoT 장치에 대한 등록 절차를 위해 송수신되는 신호 또는 메시지는 상위 테스터 인터페이스(upper tester interface) 또는 HTTP(hypertext transfer protocol) 프로토콜에 기반하여 송수신될 수 있다.
일 실시예에 따른 IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제1 IoT 장치의 동작 방법은, 제1 장치에게 oneM2M 타입의 장치 검색을 요청하는 단계, 상기 제1 장치로부터 DNS-SD(domain name system-service discovery) 기능을 이용하여 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 수신하는 단계, 상기 검색된 적어도 하나의 제2 IoT 장치 중 등록할 적어도 하나의 IoT 장치를 선택하는 단계, 및 상기 선택된 적어도 하나의 IoT 장치에 대한 등록을 요청하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보 수신 시, 키 정보를 더 수신하고, 상기 수신된 키 정보에 기반하여 상기 선택된 적어도 하나의 IoT 장치에 대한 등록을 요청하며, 상기 키 정보는, 보안 키, 세션 키, 또는 등록 키 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른, IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제2 IoT 장치의 동작 방법은, 제1 장치로부터 DNS-SD(domain name system-service discovery) 기반의 쿼리를 수신하는 단계, 및 oneM2M 타입의 장치임을 나타내는 DNS-SD 응답 신호를 상기 제1 장치에게 송신하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 DNS-SD 쿼리를 수신하기 이전에 상기 제2 장치가 oneM2M 장치임을 나타내는 메시지를 주기적으로 멀티캐스트하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 DNS-SD 응답 신호는, 상기 제2 IoT 장치의 타입이 상기 oneM2M 타입임을 지시하는 정보, 및 상기 제2 IoT 장치의 등록에 필요한 장치 정보 중 적어도 하나를 포함하며, 상기 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 장치에 대한 간단한 설명 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, 상기 DNS-SD 응답 신호를 송신한 후, 상기 제1 장치로부터 등록을 트리거하는 메시지를 수신하는 단계, 상기 제1 장치에게 등록을 요청하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 제1 장치로부터 등록 성공 여부를 나타내는 메시지를 수신하는 단계, 및 상기 제1 장치에게 컨테이너 및 컨텐츠인스턴스 리소스의 생성을 요청하는 단계를 더 포함할 수 있다.
일 실시예에 따르면, 상기 DNS-SD 응답 신호를 송신한 이후에 상기 제2 장치의 등록을 위해 송수신되는 신호 또는 메시지는, 상위 테스터 인터페이스(upper tester interface) 또는 HTTP(hypertext transfer protocol) 프로토콜에 기반하여 송수신될 수 있다.
일 실시예에 따른, IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제1 장치는 송수신기, 및 상기 송수신기와 연결된 프로세서를 포함하며, 상기 프로세서는, 제1 IoT 장치로부터 oneM2M 타입의 장치 검색을 요청받고, DNS-SD(domain name system-service discovery) 기능을 이용하여 상기 oneM2M 타입의 적어도 하나의 제2 IoT 장치를 검색하고, 상기 제1 IoT 장치에게 상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 송신하고, 상기 제1 IoT 장치로부터 상기 검색된 적어도 하나의 제2 IoT 장치 중 선택된 제2 IoT 장치에 대한 등록 요청 신호를 수신하고, 상기 선택된 제2 IoT 장치에 대한 등록 절차를 수행하도록 제어할 수 있다.
일 실시예에 따르면, 상기 프로세서는, 상기 oneM2M 타입의 장치를 검색하기 위해 DNS-SD 기반의 쿼리를 송신하고, 상기 적어도 하나의 제2 IoT 장치로부터 oneM2M 타입의 장치임을 나타내는 DNS-SD 응답 신호를 수신하도록 제어할 수 있다.
일 실시예에 따르면, 상기 DNS-SD 응답 신호는, 상기 적어도 하나의 제2 IoT 장치의 타입이 상기 oneM2M 타입임을 지시하는 정보, 및 상기 적어도 하나의 제2 IoT 장치의 등록에 필요한 장치 정보 중 적어도 하나를 포함하며, 상기 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 장치에 대한 간단한 설명 중 적어도 하나를 포함할 수 있다.
일 실시예에 따르면, IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제1 IoT 장치는, 송수신기, 및 상기 송수신기와 연결된 프로세서를 포함하며, 상기 프로세서는, 제1 장치에게 oneM2M 타입의 장치 검색을 요청하고, 상기 제1 장치로부터 DNS-SD(domain name system-service discovery) 기능을 이용하여 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 수신하고, 상기 검색된 적어도 하나의 제2 IoT 장치 중 등록할 적어도 하나의 IoT 장치를 선택하고, 상기 선택된 적어도 하나의 IoT 장치에 대한 등록을 요청하도록 제어할 수 있다.
일 실시예에 따른, IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제2 IoT 장치는, 송수신기, 및 상기 송수신기와 연결된 프로세서를 포함하며, 상기 프로세서는, 제1 장치로부터 DNS-SD(domain name system-service discovery) 기반의 쿼리를 수신하고, oneM2M 타입의 장치임을 나타내는 DNS-SD 응답 신호를 상기 제1 장치에게 송신하도록 제어할 수 있다.
본 개시의 실시 예에 따르면, 사물 인터넷 시스템에서 무설정 네트워킹(zero configuration networking; zeroconf) 기능을 활용하여 장치를 등록함으로써, 복잡한 작업 및 설정 없이, 간단하게 장치 등록 절차를 수행할 수 있다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 개시에 적용 가능한 IoT 시스템의 계층 구조를 도시한다.
도 2는 본 개시에 적용 가능한 IoT 시스템의 플랫폼 아키텍처를 도시한다.
도 3은 본 개시에 적용 가능한 IoT 시스템에서 노드 구성 모델들을 도시한다.
도 4는 본 개시에 따른 IoT 시스템에서 IoT 장치의 구성을 도시한다.
도 5는 oneM2M 구조의 예를 도시한다.
도 6은 oneM2M 에서의 리소스 트리 구조의 예를 도시한다.
도 7은 oneM2M 장치 등록 및 사용 절차의 예를 도시한다.
도 8은 본 개시의 일 실시예에 따른 IoT 시스템에서 oneM2M 장치 등록 구조의 예를 도시한다.
도 9는 본 개시의 일 실시예에 따른 IoT 시스템에서 oneM2M AE의 절차의 예를 도시한다.
도 10은 본 개시의 일 실시예에 따른 IoT 시스템에서 oneM2M 서버의 절차의 예를 도시한다.
도 11은 본 개시의 일 실시예에 따른 IoT 시스템에서 oneM2M 장치의 절차의 예를 도시한다.
도 12는 본 개시의 일 실시예에 따른 oneM2M 장치 등록 절차의 예를 도시한다.
본 개시는 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다. 후술하는 예시적 실시 예들에 대한 상세한 설명은, 특정 실시 예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시 예는 당업자가 실시 예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시 예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 개시의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 실시 예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시 예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
본 개시에서 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 개시의 어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 개시의 실시 예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 포함한 것으로 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있고 이러한 각 구성부의 통합된 실시 예 및 분리된 실시 예도 본 개시의 본질에서 벗어나지 않는 한 본 개시의 권리범위에 포함된다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 개시에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 개시에서 특정 구성을 "포함"한다고 기술하는 내용은 해당 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 본 개시의 실시 또는 본 개시의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
본 개시의 일부의 구성 요소는 본 개시에서 본질적인 기능을 수행하는 필수적인 구성 요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성 요소일 수 있다. 본 개시는 단지 성능 향상을 위해 사용되는 구성 요소를 제외한 본 개시의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 단지 성능 향상을 위해 사용되는 선택적 구성 요소를 제외한 필수 구성 요소만을 포함한 구조도 본 개시의 권리범위에 포함된다.
이하, 도면을 참조하여 본 개시의 실시 형태에 대하여 구체적으로 설명한다. 본 명세서의 실시 예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략하고, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
oneM2M은 각국의 표준화 기관들이 모여 글로벌 IoT 표준을 위해 2012년에 결성된 표준 협의체로서, 스마트 홈, 스마트 카, 스마트 헬스케어 등 다양한 IoT 응용 서비스를 지원할 수 있는 공통 플랫폼(common services platform)을 정의하는 것을 주된 역할로 한다. oneM2M은 공통 서비스 기능이 포함된 엔티티(entity)를 하부 네트워크 기술과 독립적으로 설계하고, 그들과의 인터페이스에 대해 정의한다. oneM2M은 HTTP(hypertext transfer protocol), CoAP(constrained application protocol), MQTT(message queuing telemetry transport), XMPP(extensible messaging and presence protocol), 웹소켓(websocket) 등의 프로토콜들을 지원한다.
IoT 서비스에서 공통으로 필요로 하는 기능들을 제공하는 CSE(common service entity)는 물리적으로 서비스 프로바이더가 제공하는 서버 인프라 시스템뿐만 아니라, 센서, 장치에서 구동되는 미들웨어 스택 및 액세스 네트워크와 연결하는 게이트웨이의 미들웨어 스택으로 구현될 수 있다. 즉, oneM2M의 표준화 대상은 서버, 게이트웨이, 장치에 탑재될 수 있는 미들웨어 스택에 대한 표준화이고, 이를 통해서 서버, 게이트웨이, 장치 전 영역을 기반으로 IoT 서비스를 제공하고자 하는 것이다.
공통 플랫폼을 소프트웨어 계층의 관점에서 보면, CSE는 M2M 어플리케이션 프로그램과 기기의 OS(operating system) 소프트웨어 사이에서 동작되는 소프트웨어로 정의될 수 있다. CSE는 다양한 버티컬 어플리케이션들에서 요구되는 기능들을 제공하기 위한 수평적 플랫폼의 역할을 담당하며, 원격 설정, 동작 지시, 연결, 데이터 수집, 데이터 보관, 장치 관리, 보안 등의 공통적인 기능을 제공함으로써 M2M 장치 및 M2M 어플리케이션 사이에서 서비스 제공을 위한 종단 간 데이터 전달 및 컨트롤 서비스를 지원한다.
oneM2M 공통 플랫폼을 계층 아키텍처 스타일로서 표현하면, 도 1과 같다. 도 1은 본 개시에 적용 가능한 IoT 시스템의 계층 구조를 도시한다. 도 1을 참고하면, oneM2M 공통 플랫폼에 해당하는 공통 서비스 계층(120)은 상단의 M2M 어플리케이션 계층(110), 하단의 M2M 네트워크 서비스 계층(130) 사이에 위치한다. 공통 서비스 계층(120)은 네트워크 서비스 계층(130)이 제공하는 네트워크 서비스를 이용하면서, M2M 기반의 다양한 어플리케이션들에게 공통 기능을 제공한다.
또한, oneM2M 플랫폼 아키텍처는 도 2와 같은 기능 엔티티 모델로 표현될 수 있다. 도 2는 본 개시에 적용 가능한 IoT 시스템의 플랫폼 아키텍처를 도시한다. 도 2를 참고하면, IoT 시스템은 센서, 액츄에이터, 장치, 게이트웨이가 위치하는 필드 도메인 영역(210)과 서비스 프로바이더의 서버가 위치하는 인프라스트럭쳐 도메인 영역(220)으로 구분이 가능하다. 또한, 각각의 도메인에서 계층적 아키텍처 모델에서 살펴본 것과 같이, 어플리케이션 계층에 위치하는 AE(application entity)(212 또는 222), 공통 서비스 플랫폼 계층에 위치하는 CSE(214 또는 224), 네트워크 서비스 계층의 NSE(network service entity)(216 또는 226) 등의 분리된 기능 모델들이 필드 도메인 영역(210)에 포함된다.
AE(212 또는 222)는 IoT 서비스를 제공하기 위한 어플리케이션 기능 로직을 포함하는 논리적인 엔티티를 의미한다. 복수의 AE들(212, 222)은 유일한(unique) AE 식별자인 AE-ID(identifier)로 구별될 수 있다. 예를 들어, AE(212 또는 222)는 관제 시스템, 스마트그리드 시스템, 헬스케어 시스템을 위한 어플리케이션 등을 포함할 수 있다.
CSE(214 또는 224)는 oneM2M 서비스 플랫폼에서 공통적으로 제공되어야 하는 공통 서비스 기능을 제공하며, 컴퓨터 시스템에서 미들웨어 소프트웨어에 해당한다. oneM2M에서 정의한 CSE(214 또는 224)는 총 12개의 CSF(common service function) 공통 서비스 기능들을 포함한다. CSF는 CSE(214 또는 224)에서 제공되는 기능들 중 비슷한 기능들을 그룹화한 논리적인 그룹으로서, 각 CSF는 이후에 설명되어질 리소스(resource)를 통해서 외부에 노출되고, 서비스를 제공할 수 있다. 복수의 CSE들(214, 224)은 CSE의 식별자인 CSE-ID를 통해서 유일하게 식별될 수 있다.
NSE(216 또는 226)는 CSE(214 또는 226)가 위치한 미들웨어의 하부 네트워크 서비스에 대한 추상화 영역으로서, CSE(214 또는 226)에게 네트워크 서비스를 제공한다. 예를 들어, 장치 관리, 위치관리, 3GPP 이동통신망에 연결되어 있는 IoT 장치 트리거링 서비스 등의 네트워크 서비스가 제공될 수 있으며, 해당 서비스를 위해서 네트워크 서비스가 관여된다.
도 2를 참고하면, Mca, Mcc, Mcn, Mcc 등 4개의 참조 포인트(reference point)들이 정의되고 있으며, 해당 참조 포인트를 통해서 AE(212 또는 222), CSE(214 또는 224), NSE(216 또는 226)들 간의 메시지 교환과 같은 통신이 수행될 수 있다. 여기서, Mca(M2M communication with AE) 참조 포인트는 AE(212 또는 222) 및 CSE(214 또는 224) 간의 포인트를 지시하며, AE(212 또는 222)가 CSE(214 또는 224)에서 제공하는 공통 서비스 기능을 이용하기 위한 API(application programming interface)의 연결 포인트이고, CSE(214 또는 224) 및 AE(212 또는 222) 간 통신을 위한 연결 포인트이다. Mcc(M2M communication with CSE) 참조 포인트는 두 개의 CSE들(214, 224) 간의 포인트를 지시하며, CSE(214) 및 다른 CSE(224) 간의 서비스 공개 및 통신을 가능하게 하는 연결 포인트이다. Mcn(M2M communication with NSE) 참조 포인트는 CSE(214 또는 224) 및 NSE(216 또는 226) 간의 포인트를 지시하며, CSE(214 또는 224)가 NSE(216 또는 226)에서 제공되는 네트워크 서비스 기능을 이용할 수 있는 연결 포인트이고, 또한 네트워크 망으로의 데이터 전달 연결 포인트이다. Mcc'(M2M communication with CSE of different M2M service provider) 참조 포인트는 다른 서비스 프로바이더에 종속적인 CSE(224) 간의 포인트를 지시하며, 서비스 프로바이더 간 CSE 사이의 서비스 공개 및 통신을 지원하는 연결 포인트이다.
oneM2M 아키텍처 모델은 필드 도메인, 인프라스트럭쳐 도메인에 위치하는 CSE 및 AE의 역할 및 기능에 대한 구분을 기반으로 4 종류의 노드 타입들을 정의하고 있다. 노드 타입들은 도 3과 같다. 도 3은 본 개시에 적용 가능한 IoT 시스템에서 노드 구성 모델들을 도시한다.
도 3을 참고하면, 필드 도메인(310)은 ADN(application dedicated node)(312), ASN(application service node)(314), MN(middle node)(316)을 포함하고, 인프라스트럭쳐 도메인(320)은 IN(infrastructure node)(322)를 포함한다.
AND(312)는 필드 도메인에 위치한 ADN-AE를 포함하고, CSE를 포함하지 않는 논리적 기기이다. 다시 말해, AND(312)는 CSE를 포함하지 아니하고, 적어도 하나의 AE를 포함한다. 예를 들어, 논리적 AND(312)에 매칭되는 물리적 기기는 센서 및 액츄에이터와 같은 자원 제약적인 M2M 장치일 수 있다. AND(312)는 Mca 참조 포인트를 통해 MN(316) 또는 IN(322)과 연동할 수 있다.
ASN(314)는 필드 도메인(310)에 위치한 ASN-CSE와 ASN-AE를 포함하는 논리적 기기이다. ASN(314)은 한 개의 CSE와 적어도 하나의 AE를 포함한다. 예를 들어, 논리적 ASN(314)에 매칭되는 물리적 기기는 M2M 장치일 수 있다. ASN (314)은 Mcc 참조 포인트를 통해서 한 개의 MN(316) 또는 한 개의 IN(322)에 연동할 수 있다.
MN(316)은 필드 도메인(310)에 위치한 MN-CSE를 포함하는 논리적 기기로서, 일반적으로 여러 센서들 또는 엑추에이터들이 연결되는 게이트웨이가 이에 해당할 수 있다. MN(316)은 한 개의 CSE로 구성이 되거나, 하나의 CSE에 적어도 하나의 AE를 포함하는 형태로 구성되어질 수 있다. MN(316)은 Mcc 참조 포인트를 통해서 적어도 하나의 IN(322) 또는 MN과 연동하고, Mcc 참조 포인트를 통해서 ASN(314)과 연동하고, Mca 참조 포인트를 통한 ADN(312)과 연동할 수 있다.
IN(322)은 인프라스트럭쳐 도메인(320)에 위치하고 있는 IN-CSE를 포함하는 서버 단에 위치하는 기기를 의미한다. 서비스 프로바이더 당 한 개의 IN(322)이 지원되는 것으로 정의되며, IN(322)은 한 개의 CSE만을 포함하거나, 적어도 하나의 AE를 포함하는 형태로 구성될 수 있다. 예를 들어, 논리적 기기인 IN(322)에 매칭되는 물리적 기기는 서버일 수 있다. IN(322)은 Mcc 참조 포인트를 통해서 적어도 하나의 MN(316)과 적어도 하나의 ASN(314)과 연동하고, Mca 참조 포인트를 통해서 적어도 하나의 ADN(312)와 연동할 수 있다. Mcc'을 통해서, IN(322)은 다른 서비스 프로바이더 영역에 위치한 IN과 연동할 수 있다.
앞서 설명한 바와 같이, oneM2M 표준은 CSE에 대한 기능들을 표준화한다. 표준화되는 기능들은 oneM2M이 지향하고 있는 리소스 기반 아키텍처 구조를 기반으로 각각의 리소스 타입을 이용하여 공통 서비스 기능들을 표현한다. oneM2M은 12개의 공통 서비스 기능들을 정의하며, 해당 기능에 대한 이해와 이에 대한 리소스 타입에 대한 이해가 oneM2M 아키텍처 표준 문서의 핵심부분이다. 이하 [표 1]은 oneM2M CSE에 위치한 12개의 CSF들을 나타내며, 각 기능은 리소스 타입으로 표현되고, Mcc, Mca, Mcn 참조 포인트를 통해서 제공될 수 있다.
CSF(common service function) 설명
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 공통 서비스 플랫폼을 통해서 제공되는 서비스에 대한 과금 체계 및 방법에 대한 기능을 제공한다.
도 4는 본 개시에 따른 IoT 시스템에서 IoT 장치의 구성을 도시한다. 도 4에 도시된 IoT 장치(410) 또는 IoT 장치(420)는 전술한 AE, CSE, NSE 중 적어도 하나의 기능을 수행하는 하드웨어 또는 IN, ASN, ADN, MN 중 하나의 기능을 수행하는 하드웨어로 이해될 수 있다.도 4를 참고하면, IoT 장치(410)는 장치를 제어하는 프로세서(412) 및 신호를 송수신하는 송수신부(414)를 포함할 수 있다. 이때, 프로세서(412)는 송수신부(414)를 제어할 수 있다. 또한, IoT 장치(410)는 다른 IoT 장치(420)와 통신을 수행할 수 있다. 다른 IoT 장치(420)도 프로세서(422) 및 송수신부(424)를 포함할 수 있으며, 프로세서(422) 및 송수신부(424)는 프로세서(412) 및 송수신부(414)와 동일한 기능을 수행할 수 있다. 본 개시의 다양한 실시 예들에 따라, 프로세서(412 또는 422)는 해당 장치가 후술되는 다양한 실시 예들에 따라 동작하도록 다른 구성요소들을 제어할 수 있다.
일 예로, 상술한 송신자, 수신자, AE, CSE는 각각 도 4의 IoT 장치들(410 및 420) 중 하나일 수 있다. 또한, 도 4의 장치들(410 및 420)은 다른 장치일 수 있다. 일 예로, 도 4의 장치들(410 및 420)은 통신을 수행하는 장치, 자동차 또는 기지국 등과 같은 장치일 수 있다. 즉, 도 4의 장치들(410 및 420)은 통신을 수행할 수 있는 장치를 지칭하는 것으로 후술되는 실시 예로 한정되지 않는다.
새로 구매한 장치들을 기존 IoT 서비스에 등록하고 사용하기 위해서는 복잡한 설정 및 수동적인 작업을 수행해야 하는 번거로움이 존재한다. 예를 들어, IoT 플랫폼에 특정 장치를 등록하기 위해, 등록하고자 하는 장치에 네트워크 기능을 수동으로 설정하고, 이를 서버와 연동시키기 위한 세밀하고 복잡한 작업 및 설정이 필요하다. 또한, 기존 oneM2M 시스템은 이미 등록이 완료된 장치들에 대한 검색 기능을 제공하나, 새롭게 등록하고자 하는 장치들에 대한 검색 기능은 제공하지 아니한다. 따라서, 기존 oneM2M 시스템에서, 새로운 장치를 등록하고자 하는 경우, 등록하고자 하는 새로운 장치가 해당 장치의 ID, 타입, 및 이름 등과 같은 다양한 정보를 수동적으로 획득하고, 수동적으로 획득된 정보를 기반으로 개별적인 등록 절차를 수행해야 한다.
한편, 사용자 또는 네트워크 서버에 의한 네트워킹 설정 없이, 이용가능한 인터넷프로토콜(IP) 네트워크를 자동적으로 작성하는 무설정 네트워킹(zero configuration networking; zeroconf) 기술이 제공되고 있다. zeroconf 프로토콜의 경우, 분산 환경에서 장치 및 서비스를 동적으로 검색하고 등록할 수 있는 기능을 제공한다. 따라서, 본 개시는 이와 같은 zeroconf의 기능을 oneM2M 사물 인터넷 플랫폼에 연계 및 연동함으로써, 사람의 개입 없이 서버 플랫폼에 장치를 자동으로 등록하기 위한 방법 및 장치를 제안한다. 구체적으로, 이하 본 개시는 사물인터넷 시스템에서 zeroconf 기술에 기반하여 oneM2M 장치를 검색 및 등록하기 위한 방법 및 장치에 대해 개시할 것이다. on2M2M은 응용 서비스 플랫폼 환경을 통합하고 공유하기 위한 사물 인터넷 공동 서비스 플랫폼 개발을 위해 발족된 표준화 단체이다. 이하, 본 개시에서 oneM2M 장치는 oneM2M 표준을 따르는 사물 인터넷 장치를 의미한다.
도 5는 oneM2M 구조의 예를 도시한다. 도 5를 참고하면, oneM2M 기반 사물 인터넷 서비스는 oneM2M 서비스 플랫폼을 포함한다. oneM2M 서비스 플랫폼은 데이터 관리, 연결 제어, 구독/통지, 장치/서비스 등록, 그룹 관리, 보안, 정보 탐색, 이동통신망 연동, 위치 관리, 장치 관리, 과금, 시맨틱, 이종 플랫폼 연동, 및 사업자간 로밍 등과 같이 다양한 기능을 제공한다. 여기서, 데이터 관리는 데이터를 저장 및 관리하고, 분석하는 기능을 포함한다. 또한 연결 제어는 메시지 전달 관리 및 정책에 기반한 전송 QoS 제어 기능을 포함한다. 구독/통지는 정보 변경에 대한 구독 및/또는 통지 기능을 포함하고, 장치/서비스 등록은 어플리케이션 및 장치를 등록하는 기능을 포함한다. 그룹 관리는 그룹 설정 및 그룹으로 설정된 다수의 장치를 일괄적으로 관리 및/또는 제어하는 기능을 포함한다. 보안은 단대단 보안 연결, 및 인증/권한 설정 기능을 포함하고, 정보 탐색은 특정 정보를 탐색하고 탐색된 정보에 대한 통지 기능을 포함한다. 이동통신망 연동은 엑세스 네트워크 연동 기능을 포함하며, 위치 관리는 장치의 위치 정보를 제공 및 관리하는 기능을 포함한다. 장치 관리는 OMA(Open Mobile Alliance) 및 BBF(Broadband Forum) 연동을 통한 장치 관리 기능을 포함하며, 과금은 서비스 계층 과금을 포함한다. 시맨틱은 자원 의미를 분석 및 검색하는 기능을 포함하며, 이종 플랫폼 연동은 oneM2M 및 다른 플랫폼 간의 연동 기능을 포함하고, 사업자간 로밍은 oneM2M 서비스 사업자 간의 로밍 기능을 포함한다.
oneM2M은 장치 또는 서비스의 모든 자원을 oneM2M 플랫폼 내 리소스로 표현한다. 예를 들어, oneM2M은 장치 또는 서비스의 모든 자원을 노드(node), AE(application entity), 자식 리소스 타입(Child Resource Type), 컨테이너(container), 및/또는 컨텐츠인스턴스(contentInstance)로 표현한다. 노드는 oneM2M 인터페이스를 활용하는 물리적 장치를 등록할 때 사용하는 자원이고, AE는 oneM2M 인터페이스를 활용하는 장치에 포함된 IoT 응용에 대한 정보를 저장하기 위한 자원이다. 자식 리소스 타입은 폴링 채널(pollingChannel) 외부의 요청(Request)을 수신하기 위해 사용되며, AE-ID, App-ID, appName, pointOfAccess, 및 nodeLink와 같은 어트리뷰트들을 포함한다. AE-ID는 인스턴스화 된 앱의 식별자로서, 서버로부터 할당되며, App-ID는 앱의 식별자로서, 원래 앱 고유의 식별자이다. appName은 어플리케이션 개발자가 설정한 앱 이름이고, pointOfAccess는 Registrar CSE가 AE에 요청(Request)을 리타겟팅(Re-targeting)하기 위한 네트워크 주소이다. 예를 들어, pointOfAccess는 IP(Internet Protocol) 또는 FQDN(Fully Qualified Domain Name) 기반의 네트워크 주소일 수 있다. nodeLink는 해당 CSE의 노드 정보를 가지고 있는 노드 리소스(node Resource)에 대한 링크이다. 컨테이너 (container)는 데이터 저장을 위한 구조체로서, 예를 들어, 디렉토리(directory)일 수 있다. 컨텐츠인스턴스(contentInstance)는 실제 데이터 저장소로서, 예를 들어, 파일(file)일 수 있다. 전술한 바와 같은 oneM2M의 리소스들은 도 6에 도시된 바와 같은 트리 구조를 가질 수 있다. 도 6은 Room1 리소스 아래에 온도센서가 등록된 구조를 예시한다
도 7은 oneM2M 장치 등록 및 사용 절차의 예를 도시한다.
도 7을 참고하면, oneM2M 장치(710)는 S701 단계에서 AE(application entity) 및 CNT(container) 리소스 생성을 위한 생성 요청(Create Request)를 생성하고, S703 단계에서 생성 요청을 CSE(720)에게 송신한다. 이때, oneM2M 장치(710)는 레지스트라 CSE(Registrar CSE)인 CSE(720)의 주소를 미리 알고 있어야 한다. 즉, oneM2M 장치(710)는 미리 알고 있는 CSE(720)의 주소를 기반으로 AE 및 CNT 생성을 위한 생성 요청을 생성 및 송신할 수 있다.
CSE(720)는 S705 단계에서 AE 및 CNT를 생성하고, S707 단계에서 oneM2M 장치(710)에게 AE 및 CNT가 생성되었음을 나타내는 응답을 송신한다.
oneM2M 장치(710)는 S709 단계에서 CIN(contentInstance) 생성 요청을 주기적으로 송신할 준비를 하고, S711 단계에서 주기적으로 CIN 생성 요청을 CSE(720)에게 송신한다. CSE(720)는 oneM2M 장치(710)의 CIN 생성 요청에 따라 CIN을 생성함으로써, oneM2M 장치(710) 등록 절차를 완료할 수 있다.
전술한 바와 같이, 기존 oneM2M 시스템에서 장치를 등록하기 위해서는, oneM2M 장치가 등록을 위한 메시지를 패킷에 포함하여 CSE에 전송해야 한다. 즉, 기존 oneM2M 시스템에서는 CSE에 oneM2M 장치를 등록하기 위해 수동적인 등록 절차를 수행해야 한다.
반면, zeroconf 네트워크 프로토콜의 경우, 분산 환경에서 장치 및 서비스를 동적으로 검색하고 등록할 수 있는 기능을 제공한다. zeroconf 네트워크 프로토콜은 여러 장치들이 별도의 복잡한 설정 없이 네트워킹할 수 있는 환경을 제공한다. 예를 들어, zeroconf 네트워크 프로토콜은 네트워크 장치로의 네트워크 주소를 할당하는 기능, 컴퓨터 호스트명(hostname)의 자동 해석 및 자동 배포 기능, 및 프린터와 같은 네트워크 장치의 위치를 자동으로 감지하는 기능을 제공한다. zeroconf 네트워크 프로토콜은 MDNS(multicast domain name system) 및 DNS-SD(domain name system-service discovery)를 복합하여 리눅스(linux) 환경에서 zeroconf 환경을 제공해주는 오픈소스인 Avahi를 이용한다. MDNS는 LAN(local area network)에서 아무 설정 없이 호스트 이름을 찾을 수 있도록 하는 기술이며, DNS-SD는 LAN에서 아무 설정 없이 서비스 타입을 기준으로 원하는 서비스를 제공하는 호스트를 찾을 수 있도록 하는 기술이다.
이하 본 개시는 전술한 바와 같은 zeroconf 기능을 oneM2M 사물 인터넷 플랫폼에 연계 및 연동함으로써, 사용자의 수동 정보 입력 없이 oneM2M 장치를 보다 쉽게 검색하고, 검색된 oneM2M 장치를 자동으로 등록하는 방법 및 장치에 대해 개시한다.
도 8은 본 개시의 일 실시예에 따른 IoT 시스템에서 oneM2M 장치 등록 구조의 예를 도시한다.
도 8을 참조하면, IoT 서버 플랫폼(810)은 oneM2M 서버 플랫폼 장치로서, zeroconf 프로토콜을 이용하여 oneM2M 타입의 장치를 검색하는 기능 및 검색된 장치 정보를 기반으로 장치를 대신하여 등록을 수행하는 기능을 수행한다. 구체적으로, IoT 서버 플랫폼(810)은 zeroconf 프로토콜을 이용하여 oneM2M 타입의 장치를 검색하는 DNS-SD(812) 및 DNS-SD(812)에 의해 검색된 oneM2M 타입의 장치를 등록하는 IN-CSE(814)를 포함하는 호스팅 CSE일 수 있다. 예를 들어, IoT 서버 플랫폼(810)은 oneM2M2 AE(810)로부터 zeroconf의 DNS-SD 기능을 활용하여 oneM2M 타입의 장치 검색해줄 것을 요청받을 수 있다. 이를 위해, IoT 서버 플랫폼(810)은 oneM2M 검색 필터 기준(discovery filter criteria)에 'zeroconfDiscovery'를 추가하고, 해당 키워드가 필터 사용(filter usage)에 포함되는 경우 zeroconf 기능을 활용하여 oneM2M 타입의 장치들을 검색할 수 있다. 이는 <CSEBase> 리소스를 대상으로 한다. LAN에 oneM2M 타입의 장치가 존재하는 경우, IoT 서버 플랫폼(810)은 zeroconf의 DNS-SD 기능을 이용하여 oneM2M 타입의 장치를 검색하고, 검색 결과를 oneM2M AE(820)에 제공할 수 있다. 이때, 검색 결과에는 등록에 사용 가능한 보안 키 또는 세션 키 정보가 포함될 수 있다.
IoT 서버 플랫폼(810)은 oneM2M AE(820)로부터 검색된 장치의 대리 등록을 요청 받을 수 있다. 이때, 대리 등록을 요청하는 신호는 IoT 서버 플랫폼(810)에서 oneM2M AE(820)에게 전송한 보안 키 또는 세션 키를 포함할 수 있다. IoT 서버 플랫폼(810)은 보안 키 또는 세션 키를 기반으로 oneM2M AE(820)를 인증함으로써, 안전한 oneM2M AE(820)로부터 검색된 장치의 대리 등록이 요청된 것으로 판단할 수 있다. 안전한 oneM2M AE(820)로부터 검색된 장치의 대리 등록을 요청 받을 경우, IoT 서버 플랫폼(810)은 검색된 장치의 정보를 기반으로, 검색된 장치의 등록을 수행할 수 있다.
oneM2M AE(820)는 oneM2M 장치 등록 어플리케이션을 포함하는 IoT 장치로서, oneM2M 서버 즉, IoT 서버 플랫폼(810)에 oneM2M 장치 검색을 요청하고, 등록을 요청하는 기능을 수행한다. 예를 들어, oneM2M2 AE(810)는 IoT 서버 플랫폼(810)에 zeroconf의 DNS-SD 기능을 활용하여 oneM2M 타입의 장치 검색해줄 것을 요청할 수 있다. oneM2M AE(820)는 <CSEBase> 리소스를 타겟으로 검색(Retrieve) 요청을 하고, 이에 대한 응답으로 IoT 서버 플랫폼(810)으로부터 검색된 장치에 대한 정보를 포함하는 검색 결과를 획득할 수 있다. oneM2M AE(820)는 검색 결과에 포함된 검색된 장치를 사용자 입력에 기반하여 선택하고, IoT 서버 플랫폼(810)에게 선택된 장치에 대한 대리 등록을 요청할 수 있다. 선택된 장치에 대한 대리 등록 요청은 리소스 명칭, PoA(point of access), 장치 설명(device description), 세션 키(session key), 보안 키(security key), 또는 등록 키(registration key) 중 적어도 하나를 포함한다. 여기서, oneM2M AE(820)는 검색된 장치에 대한 정보를 포함하는 검색 결과로부터 세션 키, 보안 키, 또는 등록 키 중 적어도 하나에 대한 정보를 획득하고, 획득된 정보를 기반으로 대리 등록 요청을 생성할 수 있다.
oneM2M 장치들(830-1, 830-2) 각각은 oneM2M 및 zeroconf를 지원하는 IoT 장치로서, zeroconf 프로토콜을 이용하여 oneM2M 장치의 타입 및 등록에 필요한 정보를 멀티캐스트(multicast)하는 기능을 수행한다. 예를 들어, oneM2M 장치들(830-1, 830-2) 각각은 oneM2M 장치 타입, 장치 명칭, IP 주소(address), 포트 넘버(port number), 또는 추가적인 센서 정보 중 적어도 하나를 멀티캐스트할 수 있다. oneM2M 장치들(830-1, 830-2) 각각은 IoT 서버 플랫폼(810)에서 장치 등록이 완료된 경우, IoT 서버 플랫폼(810)으로부터 장치 등록에 관련된 완료 정보를 수신할 수 있다. 장치 등록에 관련된 완료 정보가 수신되면, oneM2M 장치들(830-1, 830-2) 각각은 zeroconf 기반의 검색을 위한 멀티캐스트를 수행하지 아니할 수 있다.
도 9는 본 개시의 일 실시예에 따른 IoT 시스템에서 oneM2M AE의 절차의 예를 도시한다. 도 9의 동작 주체인 oneM2M AE는 도 8의 oneM2M AE(820)일 수 있다.
도 9를 참고하면, S901 단계에서, oneM2M AE는 CSE에게 oneM2M 장치 검색을 요청한다. 예를 들어, oneM2M AE는 DNS-SD를 이용하여 oneM2M 장치를 검색(discovery)해줄 것을 요청하는 신호를 CSE에게 송신할 수 있다. CSE는 도 8의 IoT 서버 플랫폼(810)을 포함할 수 있다.
S903 단계에서, oneM2M AE는 oneM2M 장치 정보를 수신한다. 예를 들어, oneM2M AE는 CSE로부터 적어도 하나의 검색된 oneM2M 장치에 대한 정보를 포함하는 목록을 수신할 수 있다. 적어도 하나의 검색된 oneM2M 장치는 CSE에서 zeroconf의 DNS-SD 기능을 이용하여 검색된 등록 가능한 oneM2M 장치일 수 있다. 일 실시예에 따르면, oneM2M 장치 정보 수신 시에 CSE로부터 키 정보, 예를 들어, 보안 키, 세션 키, 또는 등록 키 중 적어도 하나에 대한 정보가 함께 수신될 수 있다.
S905 단계에서, oneM2M AE는 oneM2M 장치를 선택한다. 예를 들어, oneM2M AE는 CSE로부터 수신된 목록에 포함된 적어도 하나의 검색된 oneM2M 장치 중 CSE에 등록할 적어도 하나의 oneM2M 장치를 사용자 또는 관리자 입력에 기반하여 선택할 수 있다.
S907 단계에서, oneM2M AE는 선택된 oneM2M 장치에 대한 등록을 요청한다. 예를 들어, oneM2M AE는 선택된 oneM2M 장치를 등록하기 위한 요청 메시지를 CSE에게 송신할 수 있다. 일 실시예에 따르면, 요청 메시지는 선택된 oneM2M 장치를 지시하는 정보, CSE로부터 수신된 키 정보, 또는 등록하고자 하는 옵션(예: 온도, 또는 습도)에 대한 정보 중 적어도 하나를 포함할 수 있다.
도 10은 본 개시의 일 실시예에 따른 IoT 시스템에서 oneM2M 서버의 절차의 예를 도시한다. 도 10의 동작 주체인 CSE는 도 8의 IoT 서버 플랫폼(810)일 수 있다.
도 10을 참고하면, S1001 단계에서, CSE는 oneM2M 장치 검색 요청을 수신한다. 예를 들어, CSE는 oneM2M AE로부터 DNS-SD를 이용하여 oneM2M 장치를 검색(discovery)해줄 것을 요청하는 신호를 수신할 수 있다. oneM2M AE는 도 8의 oneM2M AE(820)일 수 있다.
S1003 단계에서, CSE는 DNS-SD 기반의 oneM2M 장치 검색을 요청한다. 예를 들어, CSE는 등록 가능한 oneM2M 장치를 검색하기 위해 DNS-SD 기능을 실행하고, oneM2M 장치를 검색하기 위한 DNS-SD 쿼리를 송신할 수 있다. DNS-SD 쿼리는 oneM2M 타입의 장치에게 DNS-SD를 통한 응답을 요청하는 신호일 수 있다.
S1005 단계에서, CSE는 DNS-SD 응답을 통해 oneM2M 장치 정보를 획득한다. 예를 들어, CSE는 oneM2M 타입의 장치로부터 DNS-SD 응답 신호를 수신하고, 수신된 DNS-SD 응답으로부터 등록 가능한 oneM2M 장치에 대한 정보를 획득할 수 있다. DNS-SD 응답 신호는 DNS-SD 응답 신호를 송신한 장치가 oneM2M 타입임을 지시하는 정보, 및 등록에 필요한 장치 정보 중 적어도 하나를 포함할 수 있다. 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 장치(1230)에 대한 간단한 설명 중 적어도 하나를 포함할 수 있다.
S1007 단계에서, CSE는 oneM2M 장치 정보를 oneM2M AE에게 송신한다. 예를 들어, CSE는 DNS-SD 응답을 통해 획득된 oneM2M 장치 정보를 포함하는 oneM2M 장치 목록을 생성하고, 생성된 oneM2M 장치 목록을 oneM2M AE에게 송신할 수 있다. 즉, CSE는 oneM2M AE의 oneM2M 장치 검색 요청에 대한 응답으로, DNS-SD 기능에 기반하여 검색된 적어도 하나의 oneM2M 장치에 대한 정보를 포함하는 oneM2M 목록을 oneM2M AE에게 송신할 수 있다.
S1009 단계에서, CSE는 선택된 oneM2M 장치에 대한 등록 요청을 수신한다. 예를 들어, CSE는 oneM2M AE로부터 oneM2M 장치 목록에 포함된 적어도 하나의 oneM2M 장치 중 선택된 oneM2M 장치에 대한 등록을 요청하는 신호를 수신할 수 있다. 일 실시예에 따르면, 선택된 oneM2M 장치에 대한 등록 요청을 수신하는 신호는, 선택된 oneM2M 장치를 지시하는 정보, CSE로부터 수신된 키 정보, 또는 등록하고자 하는 옵션(예: 온도, 또는 습도)에 대한 정보 중 적어도 하나를 포함할 수 있다.
S1011 단계에서, CSE는 선택된 oneM2M 장치에 대한 등록 절차를 수행한다. CSE는 선택된 oneM2M 장치에게 등록을 트리거하는 메시지를 송신하고, oneM2M 장치로부터 등록 요청 메시지를 수신할 수 있다. CSE는 oneM2M 장치에 대한 리소스를 생성함으로써, oneM2M 장치를 등록하고, oneM2M 장치에게 등록 성공 여부를 지시하는 응답 메시지를 송신할 수 있다. 이때, 등록 성공 여부를 지시하는 응답 메시지는, CIN 생성에 필요한 정보를 포함할 수 있다. 예를 들어, 등록 성공 여부를 지시하는 응답 메시지는 CIN을 보낼 URL 주소, 또는 키 정보 중 적어도 하나를 포함할 수 있다. CSE는 장치로부터 컨테이너 및 컨텐츠인스턴스 리소스들에 대한 생성을 요청받고, 해당 리소스들을 생성할 수 있다.
도 11은 본 개시의 일 실시예에 따른 IoT 시스템에서 oneM2M 장치의 절차의 예를 도시한다. 도 11의 동작 주체인 oneM2M 장치는 도 8의 oneM2M 장치(830-1, 830-1)일 수 있다.
도 11을 참고하면, S1101 단계에서, oneM2M 장치는 DNS-SD 기반의 oneM2M 장치 검색 요청을 수신한다. 예를 들어, oneM2M 장치는 CSE로부터 등록 가능한 oneM2M 장치를 검색하기 위해 DNS-SD 쿼리를 수신할 수 있다. DNS-SD 쿼리는 oneM2M 타입의 장치에게 응답을 요청하는 신호일 수 있다.
S1103 단계에서, oneM2M 장치는 DNS-SD 응답을 송신한다. 예를 들어, DNS-SD 쿼리를 수신한 oneM2M 장치는 자신의 타입이 oneM2M 타입임을 확인하고, 자신의 정보를 포함하는 DNS-SD 응답을 CSE에게 송신할 수 있다. DNS-SD 응답은 등록에 필요한 장치 정보를 더 포함할 수 있다. 예를 들어, 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 oneM2M 장치에 대한 간단한 설명 중 적어도 하나를 포함할 수 있다.
S1105 단계에서, oneM2M 장치는 oneM2M 장치 등록 절차를 수행한다. 예를 들어, oneM2M 장치는 CSE로부터 등록을 트리거하는 메시지를 수신하고, 이에 대한 응답으로 등록 요청 메시지를 송신할 수 있다. 이때, CSE에서 oneM2M 장치에 대한 리소스가 생성될 수 있다. oneM2M 장치는 CSE로부터 등록 성공 여부를 지시하는 응답 메시지를 수신하고, 컨테이너 및 컨텐츠인스턴스 리소스들에 대한 생성을 요청할 수 있다. 일 실시예에 따르면, 등록 성공 여부를 지시하는 응답 메시지는, CIN을 보낼 URL 주소, 또는 키 정보 중 적어도 하나를 포함할 수 있다. CSE는 장치로부터 컨테이너 및 컨텐츠인스턴스 리소스들에 대한 생성을 요청받고, 해당 리소스들을 생성할 수 있다.
도 12는 본 개시의 일 실시예에 따른 oneM2M 장치 등록 절차의 예를 도시한다. 도 12의 동작 주체들인 oneM2M AE(1210), CSE(1220), 및 장치(1230) 각각은 도 8의 oneM2M AE(820), IoT 서버 플랫폼(810), 및 oneM2M 장치(830-1, 830-2)일 수 있다.
도 12를 참고하면, S1201 단계에서, 장치(1230)는 oneM2M 장치임을 광고한다. 예를 들어, 장치(1230)는 DNS-SD 기능을 이용하여 자신이 oneM2M 타입의 장치임을 나타내는 정보를 포함하는 신호를 멀티캐스트할 수 있다. 자신이 oneM2M 타입의 장치임을 나타내는 정보를 포함하는 신호는 주기적으로 멀티캐스트됨으로써, IoT 네트워크에 등록 가능한 새로운 oneM2M 장치가 존재함을 알릴 수 있다.
S1203 단계에서, oneM2M AE(1210)는 DNS-SD를 이용하여 oneM2M 장치를 검색(discovery)해줄 것을 요청하는 신호를 CSE(1220)에게 송신한다. 예를 들어, oneM2M AE(1210)는 CSE(1220)에게 zeroconf 기반의 검색(discovery)을 요청하는 RETRIEVE 신호를 송신함으로써, 네트워크에 등록 가능한 새로운 oneM2M 장치에 대한 정보를 요청할 수 있다. 이를 위해, RETRIEVE 신호의 필터 조건(filtercriteria)은 'zeroconfDiscover'로 설정될 수 있다.
S1205 단계에서, CSE(1220)는 oneM2M AE(1210)의 요청에 따라 가용한 oneM2M 장치를 검색하기 위해 DNS-SD 기능을 실행할 수 있다. 예를 들어, CSE(1220)는 oneM2M AE(1210)로부터 수신된 신호가 zeroconf를 지원하는 oneM2M 장치를 검색(discovery, 또는 retrieve)하는 신호인 경우, zeroconf 기반의 DNS-SD기능을 실행할 수 있다.
S1207 단계에서, CSE(1220)는 oneM2M 장치를 검색하기 위한 DNS-SD 쿼리를 송신한다. 예를 들어, CSE(1220)는 oneM2M AE(1210)로부터 수신된 요청 신호에 따라 oneM2M 타입의 장치를 검색하기 위해, DNS-SD 기능을 기반으로 로컬 네트워크에 DNS-SD 쿼리를 송신할 수 있다. 이때, SCE가 Avahi 오픈 소스 기반의 DNS-SD 기능을 사용하는 경우, Avahi를 통해 주변 oneM2M 장치를 검색할 수 있다.
S1209 단계에서, 장치(1230)는 자신의 정보를 포함하는 DNS-SD 응답 신호를 CSE(1220)에게 송신한다. 예를 들어, CSE(1220)로부터 DNS-SD 쿼리를 수신한 장치(1230)는 자신이 oneM2M 타입의 장치임을 확인하고, 등록에 필요한 장치 정보를 포함하는 DNS-SD 응답 신호를 CSE(1220)에게 송신할 수 있다. 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 장치(1230)에 대한 간단한 설명 중 적어도 하나를 포함할 수 있다.
S1211 단계에서, CSE(1220)는 DNS-SD 응답을 처리하고, 이를 기반으로 등록 가능 기기 목록을 생성할 수 있다. 등록 가능 기기 목록은 DNS-SD 기능을 기반으로 검색된 oneM2M 장치 목록을 포함할 수 있다. 예를 들어, CSE(1220)는 장치(1230)로부터 수신된 DNS-SD 응답에 기반하여 검색된 oneM2M 장치 및 해당 oneM2M 장치의 등록에 필요한 정보를 획득하고, 이를 기반으로 검색된 oneM2M 장치에 대한 정보를 포함하는 목록을 생성할 수 있다.
S1213 단계에서, CSE(1220)는 등록 가능 기기 목록을 oneM2M AE(1210)에게 리턴(return)한다. 예를 들어, CSE(1220)는 oneM2M AE(1210)의 RETRIEVE에 대한 응답으로, 검색된 oneM2M 장치에 대한 정보를 포함하는 목록을 oneM2M AE(1210)에게 송신할 수 있다. 이때, CSE(1220)는 보안 키, 세션 키, 또는 등록 키 중 적어도 하나를 oneM2M AE(1210)에게 함께 송신할 수 있다.
S1215 단계에서, oneM2M AE(1210)는 oneM2M 장치 목록에서 등록하고자 하는 적어도 하나의 oneM2M 장치를 선택하고, CSE(1220)에게 선택된 oneM2M 장치에 대한 등록을 요청한다. 예를 들어, oneM2M AE(1210)는 사용자 어플리케이션 또는 관리자 어플리케이션을 통해 oneM2M 장치 목록을 디스플레이하고, 사용자 입력에 기반하여 oneM2M 장치 목록에 포함된 적어도 하나의 oneM2M 장치 중 IoT 네트워크에 등록하고자 하는 적어도 하나의 oneM2M 장치를 선택할 수 있다. oneM2M AE(1210)는 선택된 oneM2M 장치를 등록하기 위한 요청 메시지를 CSE(1220)에게 송신할 수 있다. 이때, 요청 메시지는 선택된 oneM2M 장치에 대한 정보 및 CSE(1220)로부터 수신된 보안 키, 세션 키, 또는 등록 키 중 적어도 하나를 포함할 수 있다. 일 실시예에 따르면, 요청 메시지는 등록하고자 하는 옵션에 대한 정보, 예를 들어, 온도, 또는 습도 정보를 포함할 수 있다.
S1217 단계에서, CSE(1220)는 선택된 oneM2M 장치에 대한 등록 요청을 처리한다. 이때, CSE(1220)는 요청 메시지에 포함된 보안 키, 세션 키, 또는 등록 키가 CSE(1220)가 oneM2M AE(1210)에게 송신한 보안 키, 세션 키, 또는 등록 키와 동일한지 비교하고, 비교 결과에 기반하여 인증된 oneM2M AE(1210)로부터 등록 요청이 수신되었는지 여부를 판단할 수 있다. CSE(1220)는 요청 메시지에 포함된 보안 키, 세션 키, 또는 등록 키가 CSE(1220)가 oneM2M AE(1210)에게 송신한 보안 키, 세션 키, 또는 등록 키와 동일한 경우, 인증된 oneM2M AE(1210)로부터 등록 요청이 수신된 것으로 판단하고, 선택된 oneM2M 장치에 대한 등록 요청을 처리할 수 있다. 반면, CSE(1220)는 요청 메시지에 포함된 보안 키, 세션 키, 또는 등록 키가 CSE(1220)가 oneM2M AE(1210)에게 송신한 보안 키, 세션 키, 또는 등록 키와 동일하지 아니한 경우, 인증되지 아니한 oneM2M AE(1210)로부터 등록 요청이 수신된 것으로 판단하고, 선택된 oneM2M 장치에 대한 등록 요청을 무시할 수 있다.
S1219 단계에서, CSE(1220)는 선택된 oneM2M 장치인 장치(1230)에게 등록을 개시하기 위한 요청을 트리거한다. 예를 들어, 선택된 oneM2M 타입의 장치에 상위 인터페이스가 존재하는 경우, CSE(1220)는 해당 장치(1230)에게 등록을 트리거하는 메시지를 송신할 수 있다. 이때, 등록 트리거 메시지는, 서버 플랫폼 주소, 또는 키 정보 중 적어도 하나를 포함할 수 있다. 키 정보는, 보안 키, 세션 키, 또는 등록 키 중 적어도 하나를 포함할 수 있다.
S1221 단계에서, 장치(1230)는 oneM2M 장치를 등록시키기 위한 요청을 CSE(1220)에게 송신한다. 예를 들어, 장치(1230)는 등록 트리거 메시지에 포함된 정보를 이용하여 oneM2M 리소스 등록 절차를 요청한다.
S1223 단계에서, CSE(1220)는 요청된 등록을 수행한다. 예를 들어, CSE(1220)는 선택된 oneM2M 장치에 대한 oneM2M 리소스 등록을 수행한다. 일 실시 예에 따르면 CSE(1220)는 해당 oneM2M 장치에 대한 AE 리소스를 생성할 수 있다.
S1225 단계에서, CSE(1220)는 장치(1230)에게 등록 성공 여부를 나타내는 응답 메시지를 송신한다. 일 실시예에 따르면, CSE(1220)는 장치의 등록 성공 여부와 함께 서버에서의 동작 정보를 전송할 수 있다. 서버에서의 동작 정보는 CIN 생성에 필요한 정보로서, 예를 들어, CIN을 보낼 URL 주소, 또는 키 정보 중 적어도 하나를 포함할 수 있다.
S1227 단계에서, 장치(1230)는 CSE(1220)에게 컨테이너(container) 및 컨텐츠인스턴스(contentInstance) 리소스들에 대한 생성을 요청할 수 있다. 이때, 장치(1230)는 서버에서의 동작 정보에 기반하여 리소스들에 대한 생성을 요청할 수 있다. 이에 따라, CSE(1220)는 컨테이너 및 컨텐츠인스턴스 리소스들을 생성할 수 있다. 이때, 장치(1230)는 주기적으로 측정 값을 oneM2M 플랫폼의 CSE(1220)에게 송신할 수 있다.
전술한 설명에서, oneM2M 플랫폼 즉, CSE(1220)와 oneM2M 타입의 장치(1230) 간의 신호 또는 메시지 교환을 위해 상위 테스터 인터페이스(upper tester interface)가 활용될 수 있다. 예를 들어, S1219 단계, S1221 단계, S1225 단계 또는 S1227 단계의 신호 또는 메시지는 상위 테스터 인터페이스에 기반하여 송수신될 수 있다. oneM2M TS-0019 규격에는 utPort(upper tester port)가 정의되어 있다. 즉, oneM2M 규격은 utPort는 IUT를 자극(stimulate)시키고, IUT 상위 계층으로부터 추가 정보를 수신하도록 하기 위해, oneM2M ATS에 포함됨을 정의하고 있다. 상위 테스터 인터페이스는 테스팅 시스템에서 oneM2M 장치를 제어하기 위해 추가된 인터페이스로서, 테스팅 시스템에서 장치가 등록 절차를 수행할 수 있는 간단한 명령어를 송수신할 수 인터페이스이다. 따라서, zeroconf를 이용한 대리 등록이 완료된 이후, 등록된 정보 등을 상위 테스터 인터페이스를 이용하는 utPort와 같은 메커니즘을 통해 oneM2M 장치에 송신할 수 있다. 또한,
전술한 설명에서, oneM2M 플랫폼 즉, CSE(1220)와 oneM2M 타입의 장치(1230) 간의 신호 또는 메시지 교환을 위해 HTTP(hypertext transfer protocol) 프로토콜이 활용될 수 있다. 예를 들어, S1219 단계, S1221 단계, S1225 단계 또는 S1227 단계의 신호 또는 메시지는 HTTP 프로토콜에 기반하여 송수신될 수 있다. 이 경우, oneM2M 장치에 HTTP 데몬(daemon)이 포함되어 있어야 할 것이다.
전술한 바와 같이, 본 개시는 zeroconf의 DNS-SD 기능을 활용하여 oneM2M 장치를 검색하고, 검색된 oneM2M 장치를 oneM2M 서버 플랫폼에 등록함으로써, oneM2M 등록 절차를 간소화할 수 있다.
상술한 실시 예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 개시는 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 개시의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
상술한 실시 예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 개시는 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
이상 설명된 본 개시에 따른 실시 예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 개시를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 개시에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 개시가 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나, 이는 본 개시의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 개시가 상기 실시 예들에 한정되는 것은 아니며, 본 개시가 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 개시의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 개시의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제1 장치의 동작 방법에 있어서,
    제1 IoT 장치로부터 oneM2M 타입의 장치 검색을 요청받는 단계;
    DNS-SD(domain name system-service discovery) 기능을 이용하여 상기 oneM2M 타입의 적어도 하나의 제2 IoT 장치를 검색하는 단계;
    상기 제1 IoT 장치에게 상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 송신하는 단계;
    상기 제1 IoT 장치로부터 상기 검색된 적어도 하나의 제2 IoT 장치 중 선택된 제2 IoT 장치에 대한 등록 요청 신호를 수신하는 단계; 및
    상기 선택된 제2 IoT 장치에 대한 등록 절차를 수행하는 단계를 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 DNS-SD 기능을 이용하여 상기 oneM2M 타입의 적어도 하나의 제2 IoT 장치를 검색하는 단계는,
    상기 oneM2M 타입의 장치를 검색하기 위해 DNS-SD 기반의 쿼리를 송신하는 단계; 및
    상기 적어도 하나의 제2 IoT 장치로부터 oneM2M 타입의 장치임을 나타내는 DNS-SD 응답 신호를 수신하는 단계를 포함하는 방법.
  3. 청구항 2에 있어서,
    상기 DNS-SD 응답 신호는, 상기 적어도 하나의 제2 IoT 장치의 타입이 상기 oneM2M 타입임을 지시하는 정보, 및 상기 적어도 하나의 제2 IoT 장치의 등록에 필요한 장치 정보 중 적어도 하나를 포함하며,
    상기 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 장치에 대한 간단한 설명 중 적어도 하나를 포함하는 방법.
  4. 청구항 1에 있어서,
    상기 제1 IoT 장치에게 상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보 송신 시, 키 정보를 송신하는 단계를 더 포함하며,
    상기 키 정보는, 보안 키, 세션 키, 또는 등록 키 중 적어도 하나에 대한 정보를 포함하는 방법.
  5. 청구항 1에 있어서,
    선택된 IoT 장치에 대한 등록 절차를 수행하는 단계는,
    상기 선택된 IoT 장치에 대한 등록 요청 신호를 수신한 후, 상기 선택된 IoT 장치에게 등록을 트리거하는 메시지를 송신하는 단계;
    상기 선택된 IoT 장치로부터 등록을 요청받는 단계; 및
    상기 선택된 IoT 장치에 대한 리소스를 생성하는 단계를 포함하며,
    상기 등록을 트리거하는 메시지는, 상기 제1 장치의 주소, 또는 키 정보 중 적어도 하나를 포함하는 방법.
  6. 청구항 5에 있어서,
    상기 선택된 IoT 장치에게 등록 성공 여부를 나타내는 메시지를 송신하는 단계;
    상기 선택된 IoT 장치로부터 컨테이너 및 컨텐츠인스턴스 리소스의 생성을 요청받는 단계; 및
    상기 요청된 컨테이너 및 컨텐츠인스턴스 리소스를 생성하는 단계를 더 포함하는 방법.
  7. 청구항 5에 있어서,
    상기 선택된 IoT 장치에 대한 등록 절차를 위해 송수신되는 신호 또는 메시지는 상위 테스터 인터페이스(upper tester interface) 또는 HTTP(hypertext transfer protocol) 프로토콜에 기반하여 송수신되는 방법.
  8. IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제1 IoT 장치의 동작 방법에 있어서,
    제1 장치에게 oneM2M 타입의 장치 검색을 요청하는 단계;
    상기 제1 장치로부터 DNS-SD(domain name system-service discovery) 기능을 이용하여 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 수신하는 단계;
    상기 검색된 적어도 하나의 제2 IoT 장치 중 등록할 적어도 하나의 IoT 장치를 선택하는 단계; 및
    상기 선택된 적어도 하나의 IoT 장치에 대한 등록을 요청하는 단계를 포함하는 방법.
  9. 청구항 8에 있어서,
    상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보 수신 시, 키 정보를 더 수신하고,
    상기 수신된 키 정보에 기반하여 상기 선택된 적어도 하나의 IoT 장치에 대한 등록을 요청하며,
    상기 키 정보는, 보안 키, 세션 키, 또는 등록 키 중 적어도 하나를 포함하는 방법.
  10. IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제2 IoT 장치의 동작 방법에 있어서,
    제1 장치로부터 DNS-SD(domain name system-service discovery) 기반의 쿼리를 수신하는 단계; 및
    oneM2M 타입의 장치임을 나타내는 DNS-SD 응답 신호를 상기 제1 장치에게 송신하는 단계를 포함하는 방법.
  11. 청구항 10에 있어서,
    상기 DNS-SD 쿼리를 수신하기 이전에 상기 제2 장치가 oneM2M 장치임을 나타내는 메시지를 주기적으로 멀티캐스트하는 단계를 더 포함하는 방법.
  12. 청구항 10항에 있어서,
    상기 DNS-SD 응답 신호는, 상기 제2 IoT 장치의 타입이 상기 oneM2M 타입임을 지시하는 정보, 및 상기 제2 IoT 장치의 등록에 필요한 장치 정보 중 적어도 하나를 포함하며,
    상기 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 장치에 대한 간단한 설명 중 적어도 하나를 포함하는 방법.
  13. 청구항 10항에 있어서,
    상기 DNS-SD 응답 신호를 송신한 후, 상기 제1 장치로부터 등록을 트리거하는 메시지를 수신하는 단계; 및
    상기 제1 장치에게 등록을 요청하는 단계를 더 포함하는 방법.
  14. 청구항 13항에 있어서,
    상기 제1 장치로부터 등록 성공 여부를 나타내는 메시지를 수신하는 단계; 및
    상기 제1 장치에게 컨테이너 및 컨텐츠인스턴스 리소스의 생성을 요청하는 단계를 더 포함하는 방법.
  15. 청구항 13항에 있어서,
    상기 DNS-SD 응답 신호를 송신한 이후에 상기 제2 장치의 등록을 위해 송수신되는 신호 또는 메시지는, 상위 테스터 인터페이스(upper tester interface) 또는 HTTP(hypertext transfer protocol) 프로토콜에 기반하여 송수신되는 방법.
  16. IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제1 장치에 있어서,
    송수신기; 및
    상기 송수신기와 연결된 프로세서를 포함하며,
    상기 프로세서는,
    제1 IoT 장치로부터 oneM2M 타입의 장치 검색을 요청받고,
    DNS-SD(domain name system-service discovery) 기능을 이용하여 상기 oneM2M 타입의 적어도 하나의 제2 IoT 장치를 검색하고,
    상기 제1 IoT 장치에게 상기 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 송신하고,
    상기 제1 IoT 장치로부터 상기 검색된 적어도 하나의 제2 IoT 장치 중 선택된 제2 IoT 장치에 대한 등록 요청 신호를 수신하고,
    상기 선택된 제2 IoT 장치에 대한 등록 절차를 수행하도록 제어하는, 제1 장치.
  17. 청구항 16에 있어서,
    상기 프로세서는, 상기 oneM2M 타입의 장치를 검색하기 위해 DNS-SD 기반의 쿼리를 송신하고,
    상기 적어도 하나의 제2 IoT 장치로부터 oneM2M 타입의 장치임을 나타내는 DNS-SD 응답 신호를 수신하도록 제어하는, 제1 장치.
  18. 청구항 17에 있어서,
    상기 DNS-SD 응답 신호는, 상기 적어도 하나의 제2 IoT 장치의 타입이 상기 oneM2M 타입임을 지시하는 정보, 및 상기 적어도 하나의 제2 IoT 장치의 등록에 필요한 장치 정보 중 적어도 하나를 포함하며,
    상기 등록에 필요한 장치 정보는, 장치 명칭, 장치의 제품 번호, IP 주소, 전송 포트 번호, 및 장치에 대한 간단한 설명 중 적어도 하나를 포함하는 제1 장치.
  19. IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제1 IoT 장치에 있어서,
    송수신기; 및
    상기 송수신기와 연결된 프로세서를 포함하며,
    상기 프로세서는,
    제1 장치에게 oneM2M 타입의 장치 검색을 요청하고,
    상기 제1 장치로부터 DNS-SD(domain name system-service discovery) 기능을 이용하여 검색된 적어도 하나의 제2 IoT 장치에 대한 정보를 수신하고,
    상기 검색된 적어도 하나의 제2 IoT 장치 중 등록할 적어도 하나의 IoT 장치를 선택하고,
    상기 선택된 적어도 하나의 IoT 장치에 대한 등록을 요청하도록 제어하는, 제1 IoT 장치.
  20. IoT(Internet of things) 시스템에서 장치를 등록하기 위한 제2 IoT 장치에 있어서,
    송수신기; 및
    상기 송수신기와 연결된 프로세서를 포함하며,
    상기 프로세서는,
    제1 장치로부터 DNS-SD(domain name system-service discovery) 기반의 쿼리를 수신하고,
    oneM2M 타입의 장치임을 나타내는 DNS-SD 응답 신호를 상기 제1 장치에게 송신하도록 제어하는, 제2 IoT 장치.
KR1020230121544A 2022-09-26 2023-09-13 무설정 네트워킹 기술 기반 사물인터넷 장치 검색 및 등록을 위한 방법 및 장치 KR20240043087A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2023/014193 WO2024071803A1 (ko) 2022-09-26 2023-09-19 무설정 네트워킹 기술 기반 사물인터넷 장치 검색 및 등록을 위한 방법 및 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020220121313 2022-09-26
KR20220121313 2022-09-26

Publications (1)

Publication Number Publication Date
KR20240043087A true KR20240043087A (ko) 2024-04-02

Family

ID=90714838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230121544A KR20240043087A (ko) 2022-09-26 2023-09-13 무설정 네트워킹 기술 기반 사물인터넷 장치 검색 및 등록을 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20240043087A (ko)

Similar Documents

Publication Publication Date Title
EP3669275B1 (en) A method of discovering services provided by a network repository function
US20220109743A1 (en) Framework for iot protocol identification and management
KR102046700B1 (ko) 메시지 버스 서비스 디렉토리
KR101549765B1 (ko) 발견된 서비스 공급자와 제휴된 서비스들에 접근하는 방법 및 장치
US10206090B2 (en) Method and device for searching for available device in M2M environment
US11871333B2 (en) Wireless network service type
US10979879B2 (en) Mechanisms for resource-directory to resource-directory communications
US20110310902A1 (en) Method, system and apparatus for service routing
JP6629345B2 (ja) M2mサービスを追加するためのデバイスおよび方法
US11259232B2 (en) Methods for enabling en-route resource discovery at a service layer
US20240089343A1 (en) Service layer-based methods to enable efficient analytics of iot data
US10932171B2 (en) Access point switching method and apparatus
US20230262141A1 (en) Service layer message templates in a communications network
US10237689B2 (en) Method for changing update period of location information in M2M system
KR20230107742A (ko) 네트워크 기능 등록 방법, 발견 방법, 장치, 장비 및 매체
KR20200135176A (ko) 단말의 이동에 따른 엣지 트랜스퍼를 제공하는 방법 및 장치
KR20240043087A (ko) 무설정 네트워킹 기술 기반 사물인터넷 장치 검색 및 등록을 위한 방법 및 장치
KR20220103025A (ko) M2m 시스템에서 보안 키를 교체하기 위한 방법 및 장치
KR20200130151A (ko) M2m 시스템에서 서비스 엔티티를 확인하기 위한 방법 및 장치
WO2024071803A1 (ko) 무설정 네트워킹 기술 기반 사물인터넷 장치 검색 및 등록을 위한 방법 및 장치
KR20150062904A (ko) 부속 그룹 자원과 검색, 그룹 명칭 속성 정보를 이용한 그룹의 생성, 조회, 갱신 및 삭제 방법 및 그 장치
US20230198853A1 (en) Apparatus and method for providing analytics to user equipment
KR20230080296A (ko) M2m 시스템에서 데이터를 보호하기 위한 방법 및 장치
KR20210127095A (ko) M2m 시스템에서 로그 정보를 관리하기 위한 방법 및 장치
KR20230080295A (ko) M2m 시스템에서 데이터 트랜드를 은닉하기 위한 방법 및 장치