KR20180025174A - 사물인터넷 디바이스 연동 장치 및 방법 - Google Patents

사물인터넷 디바이스 연동 장치 및 방법 Download PDF

Info

Publication number
KR20180025174A
KR20180025174A KR1020170094121A KR20170094121A KR20180025174A KR 20180025174 A KR20180025174 A KR 20180025174A KR 1020170094121 A KR1020170094121 A KR 1020170094121A KR 20170094121 A KR20170094121 A KR 20170094121A KR 20180025174 A KR20180025174 A KR 20180025174A
Authority
KR
South Korea
Prior art keywords
ocf
ble
interworking
resource
object internet
Prior art date
Application number
KR1020170094121A
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 US15/689,194 priority Critical patent/US20180063879A1/en
Publication of KR20180025174A publication Critical patent/KR20180025174A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/02Inter-networking arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/16Gateway arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

사물인터넷 디바이스 연동 장치 및 방법이 개시된다. 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 방법은 사물인터넷 디바이스 연동 장치를 이용하는 방법에 있어서, OCF(Open Connectivity Foundation) 디바이스와 Non-OCF BLE(Bluetooth Low Energy, 저전력 블루투스) 디바이스 사이의 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 단계 및 CRUDN(크리에이트(CREATE), 리트리브(RETRIEVE), 업데이트(UPDATE), 딜리트(DELETE) 및 노티파이(NOTIFY)) 동작(operation)을 통해 리소스 조작(Resource Manipulation) 절차를 수행하여 상기 OCF 디바이스와 상기 Non-OCF BLE 디바이스 장치의 연동을 수행하는 단계를 포함한다.

Description

사물인터넷 디바이스 연동 장치 및 방법 {APPARATUS FOR INTERWORKING IoT DEVICES AND METHOD FOR USING THE SAME}
본 발명은 사물인터넷 기술에 관한 것으로, 보다 상세하게는 OCF 디바이스와 OCF 를 지원하지 않는 BLE 디바이스 간의 연동 기술에 관한 것이다.
현재 시중에는 다양한 사물인터넷을 지원하는 플랫폼/프레임웍 들이 상존하고 있다. 각 플랫폼들은 저마다의 장점을 내세우며 시장의 주도권을 쥐기 위해 경쟁하고 있는 상황이다. 그 중 OCF(Open Connectivity Foundation)에서는 삼성, 인텔의 주도하에 다양한 회사들이 참여하여 관련 표준을 만들고 있으며, 동시에 표준을 구현하는 오픈소스 프로젝트인 IoTivity가 표준화와 함께 진행되고 있다.
IoTivity는 OCF 표준을 구현하고 있는 IoT 오픈소스 프레임웍으로, 다양한 운영체제 및 통신 프로토콜과 독립적으로 각 기기들간의 연결을 지원하는 것을 목적으로 한다.
블루투스는 2.4G 대의 주파수를 이용하여 주변장치 등의 기기를 연결하는데 사용되는 프로토콜기술이다. 블루투스는 4.0으로 진행되면서 BLE(Bluetooth Low Energy) 기능이 추가되어 IoT에 사용할 수 있는 토대를 마련하게 되었다. IoT에서 BLE는 낮은 전력소모, 낮은 커버리지 등의 특징으로 특히 웨어러블(Wearable) 기기에 유용하게 쓰일 수 있는 프로토콜이다.
한편, 한국공개특허 제10-2014-0074152호 "BLE 디바이스 제어 방법 및 이를 위한 휴대 단말"는 BLE(Bluetooth Low Energy) 디바이스 등록 시, BLE 디바이스의 속성 정보를 목록에 표시하고, 사용자로부터 입력된 BLE 디바이스에 대한 사용자 추가 정보를 BLE 디바이스와 맵핑하여 등록함으로써, BLE 디바이스를 효율적으로 관리하는 방법 및 이를 위한 휴대 단말 에 관하여 개시하고 있다.
그러나, 한국공개특허 제10-2014-0074152호는 휴대 단말을 이용하여 BLE 디바이스를 관리하는 것으로, 사물인터넷 디바이스(휴대 단말)가 지원하는 표준을 BLE 디바이스가 지원하지 않는 경우, 사물인터넷 디바이스와 BLE 디바이스를 연동시키는 구성에 대해서는 전혀 고려하고 있지 않다.
본 발명은 OCF 프레임웍을 지원하는 OCF 디바이스와 OCF 프레임웍을 지원하지 않는 기존의 Non-OCF BLE 디바이스를 연동하는 것을 목적으로 한다.
또한, 본 발명은 OCF 디바이스와 Non-OCF BLE 디바이스 사이의 연동을 위한 게이트웨이가 OCF 디바이스로부터 RESTful 스타일의 동작(operation)을 수신하면 GATT(Generic ATTribute) 프로파일의 기능(feature)을 이용하여 Non-OCF BLE 디바이스와 통신하고, Non-OCF BLE 디바이스와의 통신 결과를 다시 RESTful 스타일의 동작(operation)을 통해 OCF 디바이스로 제공하는 것을 목적으로 한다.
상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 방법은 사물인터넷 디바이스 연동 장치를 이용하는 방법에 있어서, OCF(Open Connectivity Foundation) 디바이스와 Non-OCF BLE(Bluetooth Low Energy, 저전력 블루투스) 디바이스 사이의 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 단계 및 CRUDN(크리에이트(CREATE), 리트리브(RETRIEVE), 업데이트(UPDATE), 딜리트(DELETE) 및 노티파이(NOTIFY)) 동작(operation)을 통해 리소스 조작(Resource Manipulation) 절차를 수행하여 상기 OCF 디바이스와 상기 Non-OCF BLE 디바이스 장치의 연동을 수행하는 단계를 포함한다.
또한, 상기한 목적을 달성하기 위한 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 장치는 OCF(Open Connectivity Foundation) 디바이스와 Non-OCF BLE 디바이스 사이의 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 엔드포인트 디스커버리 수행부; 상기 OCF 디바이스의 요청에 따라 CRUDN(크리에이트(CREATE), 리트리브(RETRIEVE), 업데이트(UPDATE), 딜리트(DELETE) 및 노티파이(NOTIFY)) 동작(operation)을 통해 상기 Non-OCF BLE 디바이스에 대한 리소스 조작(Resource Manipulation) 절차를 수행하여 상기 OCF 디바이스와 상기 Non-OCF BLE 디바이스 장치의 연동을 수행하는 리소스 조작 수행부 및 상기 엔드포인트 디스커버리 수행부 및 상기 리소스 조작 수행부의 요청에 따라 리소스 정보를 리소스 모델 데이터베이스에 업데이트하는 리소스 모델 데이터베이스부를 포함한다.
본 발명은 OCF 프레임웍을 지원하는 OCF 디바이스와 OCF 프레임웍을 지원하지 않는 기존의 Non-OCF BLE 디바이스를 연동할 수 있다.
또한, 본 발명은 OCF 디바이스와 Non-OCF BLE 디바이스 사이의 연동을 위한 게이트웨이가 OCF 디바이스로부터 RESTful 스타일의 동작(operation)을 수신하면 GATT(Generic ATTribute) 프로파일의 기능(feature)을 이용하여 Non-OCF BLE 디바이스와 통신하고, NON-OCF BLE 디바이스와의 통신 결과를 다시 RESTful 스타일의 동작(operation)을 통해 OCF 디바이스로 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 OCF 프레임웍을 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 IoTivity 아키텍쳐를 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 BLE 프로토콜 스택을 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 GATT 프로파일 서비스의 특징 구조를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 OCF 디바이스와 Non-OCF BLE 시스템이 연동하는 사물인터넷 디바이스 연동 시스템을 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 장치를 나타낸 블록도이다.
도 7은 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 방법을 나타낸 동작흐름도이다.
도 8은 도 7에 도시된 엔드포인트 디스커버리 수행 단계의 일 예를 세부적으로 나타낸 동작흐름도이다.
도 9는 도 7에 도시된 리소스 조작 수행 단계의 일 예를 세부적으로 나타낸 동작흐름도이다.
도 10은 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 11은 도 10에 도시된 엔드포인트 디스커버리 수행 방법의 다른 예를 나타낸 시퀀스 다이어그램이다.
도 12는 본 발명의 일실시예에 따른 크리에이트 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 13은 본 발명의 일실시예에 따른 리트리브 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 14는 본 발명의 일실시예에 따른 업데이트 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 15는 본 발명의 일실시예에 따른 딜리트 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 16은 본 발명의 일실시예에 따른 노티피케이션 설정을 활성화 하기 위한 노티파이 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 17은 본 발명의 일실시예에 따른 특징 값 변경에 따른 노티파이 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 18은 본 발명의 일실시예에 따른 노티피케이션 설정을 비활성화 하기 위한 노티파이 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 19는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 OCF 프레임웍을 나타낸 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 OCF 프레임웍은 IoT를 구성하는 물리적인 실 세계의 각 객체들을 리소스 모델(resource model) 화 하여 관리하는 것을 알 수 있다. 본 발명의 일실시예에 따르면 리소스 모델은 리소스 정보로 처리될 수 있다. 이 때, OIC(Open Interconnect Consortium)은 OCF의 전신으로 AllJoyn과의 연동작업이 끝날 때까지 OIC라는 명칭을 사용할 수도 있다.
도 1에 도시된 OCF 프레임웍 계층별 기능에 있어서, Application profiles 계층은 서비스 도메인에 따라 특화된 데이터 모델 및 공통기능(Smart Home, Connected Health, Retail 및 Automotive)을 제공할 수 있다.
OIC 프레임웍(OIC Framework) 계층은 OIC 코어 명세서(OIC core specification)에 명시된 기능(ID & Addressing, Resource model, CRUDN, Messaging, Discovery, Device management 및 Security)을 제공할 수 있다.
트랜스포트(Transport) 계층은 QoS 제약에 적합한 엔드-투-엔드 플로우(end-to-end flow) 통신을 제공할 수 있다.
네트워킹(Networking) 계층은 네트워크에서 OIC 장치 간 데이터 교환 기능을 제공할 수 있다.
L2 연결(L2 Connectivity) 계층은 물리적 링크계층(예, Wi-Fi, 블루투스)에 대한 연결 기능을 제공할 수 있다.
또한, 각 객체들 간의 상호작용은 리소스 모델을 기반으로 RESTful 스타일을 만족하는 동작(operation)을 통해서 이루어질 수 있다.
즉, RESTful 동작(operation)은 CRUDN을 만족하는 각각의 동작으로 구성될 수 있다.
이 때, RESTful 동작(operation)은 크리에이트(CREATE), 리트리브(RETRIEVE), 업데이트(UPDATE), 딜리트(DELETE) 및 노티파이(NOTIFY) 중 적어도 하나 이상을 포함할 수 있다.
이 때, OCF 클라이언트(Client)는 RESTful 동작(operation)에서 통신을 시작하는 주체이며, 본 발명의 일실시예에 따른 OCF 디바이스(10)에 상응할 수 있다.
이 때, OCF 서버(Server)는 클라이언트(Client)가 시작한 통신에 응답하는 주체이며, 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 장치(100)에 상응할 수 있다.
도 2는 본 발명의 일실시예에 따른 IoTivity 아키텍쳐를 나타낸 블록도이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 IoTivity 아키텍쳐는 디바이스의 종류 및 성능에 따라서 Rich 디바이스 및 Lite 디바이스 용으로 나누어 질 수 있다. 제한적인 능력을 갖는 Lite 디바이스들(예: 아두이노)에는 코어(core) 만이 적재되며, APIs(C)로 되어있는 core API 만을 제공할 수 있다. 그러나, Rich 디바이스는 core API(APIs(C)) 외에 C++/Java 로 제공되는 service API(APIs(C++/Java/Web)를 함께 제공할 수 있다. 사용자는 이러한 서비스 API(service API)를 통해서 보다 손쉽게 응용을 개발할 수 있다.
또한, IoTivity 아키텍쳐는 IETF에서 제정한 코앱(Constrained Application Protocol, CoAP, RFC7252)을 전송 프로토콜로 사용할 수 있다. 코앱(CoAP)은 제한적인 능력을 갖는 디바이스들(Constrained Device)을 위하여 특화된 전송 프로토콜에 상응할 수 있다.
도 3은 본 발명의 일실시예에 따른 BLE 프로토콜 스택을 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따른 BLE 프로토콜 스택은 앱스(APPS), 호스트(HOST) 및 컨트롤러(CONTROLLER) 영역을 포함하는 것을 알 수 있다.
앱스 영역은 어플리케이션을 제공할 수 있다. 컨트롤러 영역은 물리적인 인터페이스 계층 및 링크 계층을 포함할 수 있다. 호스트 영역은 패킷 인캡슐레이션이나 분할/병합을 지원하는 L2CAP 계층 및 BLE에서의 데이터 전송에 관여하는 GATT(Generic ATTribute) 프로파일(profile) 및 ATT 프로토콜(ATTribute protocol), 그리고 BLE 기기간의 연결등과 같은 가장 기본적인 제어에 사용되는 GAP(Generic Access Profile)와 기기간 페어링이나 키 교환방법을 정의하고 있는 SMP(Security Manager Protocol) 등을 포함할 수 있다. 호스트 영역과 컨트롤러 영역 사이에는 HCI(Host Controller Interface)가 존재하여 호스트 영역과 컨트롤러 영역 사이의 통신 수단을 제공할 수 있다. 이 때, 호스트와 컨트롤러가 1개의 칩으로 구현된 경우, HCI는 SW API로 제공될 수 있으며 컨트롤러가 별도의 칩으로 제작된 경우, HCI는 UART, SPI, USB 등이 될 수 있다.
도 4는 본 발명의 일실시예에 따른 GATT 프로파일 서비스의 특징(characteristic) 구조를 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 BLE 데이터 통신에 있어서, GATT 프로파일은 GATT를 기반으로 하는 모든 다른 GATT-기반 프로파일(GATT-based profile)이 사용할 수 있는 참조모델을 제공할 수 있다.
이 때, 참조모델은 BLE 노드가 다루는 데이터를 표현하는 서비스 - 특징(Service - Characteristics) 모델을 포함할 수 있다.
이 때, 참조모델은 데이터를 주고받는데 필요한 기본적인 프로시저들이 정의될 수 있다. GATT에서는 디바이스들이 주고받을 데이터를 계층적으로 표현할 수 있다. 실제 데이터는 특징(Characteristic)으로 표현될 수 있고, 특징(Characteristic)이 모여서 하나의 서비스(Service)를 구성할 수 있다. GATT 프로파일을 기반으로 하여 구현된 각 용도별 GATT-기반 프로파일(GATT-based profile) 들은 사용되는 데이터를 특징(Characteristic)으로 정의할 수 있고, 서로 관련된 특징(Characteristic)들을 모아서 하나의 서비스(Service)를 구성할 수 있다.
특징(Characteristic)은 속성(attribute)으로 구성될 수 있다.
속성(attribute)은 다음과 같은 필드로 구성될 수 있다.
Attribute = attribute handle + attribute type + attribute value + attribute permission
속성 핸들(Attribute handle)은 속성(attribute)을 식별하는 핸들(handle)에 상응할 수 있다.
속성 타입(Attribute type)은 속성(attribute)을 식별하는 타입 값(UUID 사용)에 상응할 수 있다.
속성 값(Attribute value)은 속성(attribute)의 실제 값에 상응할 수 있다.
속성 퍼미션(Attribute permission)은 속성(attribute)에 대해서 허용되는 동작에 상응할 수 있다.
또한, 각 특징(Characteristic) 들은 다음과 같은 속성(attribute) 들로 정의될 수 있다.
Characteristic definition = characteristic declaration + characteristic value + (optional)characteristic descriptor(s)
이렇게 각 서비스(Service)를 구성하는 특징(Characteristic) 들의 조작은 ATT 프로토콜(ATT protocol)을 이용하여 이루어질 수 있다. 블루투스 SIG(Special Interest Group)에서 정의된 GATT-기반 프로파일(GATT-based profile)에서 사용하는 서비스(Service)들, 실제 서비스(Service)와 각 특징(Characteristic)의 형식 및 정의방법은 블루투스 코어 스펙에 자세히 정의되어 있다.
ATT 프로토콜(ATT protocol)은 심플한 클라이언트/서버(client/server)의 구조를 갖는 통신 프로토콜에 상응할 수 있다. ATT는 GATT-기반 프로파일(GATT-based profile)을 준용하는 응용에서 데이터를 처리할 때 사용될 수 있다.
이 때, 응용에서 처리되는 데이터는 GATT에서의 속성(attribute)에 상응할 수 있다.
이 때, ATT 동작의 일 예는 표 1과 같은 동작(operation)을 제공할 수 있다.
번호 ATT Operation 종류 사용 메시지
1 Error Handling Error Response
2 Server Configuration Exchange MTU Request/Response
3 Find Information Find Information Request/Response
Find by Type Value
4 Read Operations Read by Type Request/Response
Read Request/Response
Read Blob Request/Response
Read Multiple Request/Response
Read by Group Type Request/Response
5 Write Operations Write Request/Response
Write Command
Signed Write Command
6 Queued Writes Prepare Write Request/Response
Execute Write Request/Response
7 Server Initiated Handle Value Indication/Confirmation
Handle Value Notification
GATT 프로파일에서의 통신주체들은 ATT에서와 마찬가지로 클라이언트(Client) 및 서버(Server) 중 어느 하나의 역할을 수행할 수 있다.
클라이언트(Client)는 ATT의 클라이언트에 상응할 수 있으며, 서버에게 속성(attribute)의 처리에 대한 요청을 보내고 응답을 받을 수 있다.
서버(Server)는 ATT의 서버에 상응할 수 있으며, 클라이언트의 속성(attribute)에 대한 요청을 받아서 처리한 후 응답을 전송할 수 있다.
GATT 프로파일은 속성(attribute)의 조작을 위해서 표 2와 같은 기능(feature)들을 지원할 수 있다. 각 기능(feature)들은 ATT 가 제공하는 동작(operation)을 기반으로 할 수 있다. 각 기능(feature)들의 서브-프로시저(sub-procedure)가 맵핑되는 ATT 동작은 표 2와 같이 나타낼 수 있다.
표 2는 GATT 프로파일에서 지원하는 기능(feature) 목록의 일 예를 나타낸다.
번호 Feature Sub-procedure ATT operations
1 Server Configuration Exchange MTU Server Configuration
2 Primary Service
Discovery
Discover All Primary Services
Discover Primary Services by service UUID
Read Operations
3 Relationship Discovery Find Included Services Read Operations
4 Characteristic Discovery Discover All Characteristic of a Service
Discover Characteristic by UUID
Read Operations
5 Characteristic Descriptor Discovery Discover All Characteristic Descriptors Read Operations
6 Characteristic Value Read Read Characteristic Value
Read Using Characteristic UUID
Read Long Characteristic Values
Read Multiple Characteristic Values
Read Operations
7 Characteristic Value Write Write Without Response
Signed Write Without Response
Write Characteristic Value
Write Long Characteristic Values
Characteristic Value Reliable Writes
Read Operations
8 Characteristic Value Notification Notifications Server Initiated
9 Characteristic Value Indication Indications Server Initiated
10 Characteristic Descriptor Value Read Read Characteristic Descriptors
Read Long Characteristic Descriptors
Read Operations
11 Characteristic Descriptor Value Write Write Characteristic Descriptors
Write Long Characteristic Descriptors
Write Operations
본 발명의 일실시예에 따른 BLE 데이터 통신에 있어서 블루투스 코어 스펙, 표 1의 ATT 동작(operation) 종류 및 메시지와 표 2의 GATT 프로파일에서 지원하는 기능(feature) 목록에 대한 상세한 내용은 http://www.bluetooth.com 에 개시된 내용에 상응할 수 있다.
도 5는 본 발명의 일실시예에 따른 OCF 디바이스와 Non-OCF BLE 시스템이 연동하는 사물인터넷 디바이스 연동 시스템을 나타낸 도면이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 OCF 디바이스(10)와 Non-OCF BLE 디바이스(20)가 연동하는 사물인터넷 디바이스 연동 시스템은 OCF 디바이스(10)가 OCF 클라이언트(client)에 상응할 수 있고, Non-OCF BLE 디바이스(20)가 GATT 서버(server)에 상응할 수 있다.
또한, 사물인터넷 디바이스 연동 장치(100)는 OCF 디바이스(10)에 대해, Non-OCF BLE 디바이스(20)를 대신하여 OCF 서버(server)의 역할을 수행할 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 OCF 디바이스(10)와 Non-OCF BLE 디바이스(20)를 연동하는 게이트웨이 장치에 상응할 수 있다.
즉, 사물인터넷 디바이스 연동 장치(100)는 일반적인 게이트웨이 장치의 기능을 포함할 수 있으며 OCF 표준에 기반한 게이트웨이 기능을 수행할 수 있다.
Non-OCF BLE 디바이스(20)는 기존에 널리 보급된 BLE를 지원하는 각종 디바이스들(체중계 및 혈압계 등)에 상응할 수 있다.
Non-OCF BLE 디바이스(20)와 사물인터넷 디바이스 연동 장치(100) 사이의 통신 프로토콜은 BLE를 사용할 수 있다.
OCF 디바이스(10)는 IoTivity 스택이 탑재된 디바이스에 상응할 수 있고, 일반적으로 스마트폰을 예로 들 수 있다.
OCF 디바이스(10)와 사물인터넷 디바이스 연동 장치(100) 사이의 통신 프로토콜은 OCF에서 지원하는 임의의 통신 프로토콜(예: 이더넷 및 WiFi 등)을 사용할 수 있다.
표 3은 본 발명의 일실시예에 따른 Non-OCF BLE 디바이스의 특징(characteristic) 데이터베이스의 일 예를 나타낸 것을 알 수 있다.
디바이스 종류 Handle Type (UUID) Permission Value
Heart Rate 0x0027 0x1122 READ Bpm
Health Thermometer 0x0034 0x22ff READ Celsius
표 3을 참조하면, Non-OCF BLE 디바이스의 특징 데이터베이스는 디바이스의 종류에 따라 핸들 주소, 식별자, 허가된 동작 및 실제 값을 포함할 수 있다.
본 발명의 일실시예에 따른 사물 인터넷 연동 장치(100)의 통신 절차는 크게 엔드포인트 디스커버리(Endpoint Discovery) 절차와 리소스 조작(Resource Manipulation) 절차를 포함할 수 있다.
OCF 클라이언트는 통신을 시작하기 전 OCF 서버에 대한 정보를 알지 못하는 경우에 엔드포인트 디스커버리 절차를 수행할 수 있다.
따라서, OCF 디바이스(10)는 통신을 시작하기 전에 사물인터넷 디바이스 연동 장치(100)에 대한 정보를 알지 못하면 엔드포인트 디스커버리 절차를 수행할 수 있다. 엔드포인트 디스커버리 절차는 코앱 디스커버리(CoAP discovery)를 이용할 수도 있고, HTTP 디스커버리(HTTP discovery)를 이용할 수도 있다.
본 발명의 일실시예에 따르면, 사물인터넷 디바이스 연동 장치(100)는 OCF 디바이스(10) 및 Non-OCF BLE 디바이스(20)를 연동시키기 위하여, 코앱 기반 엔드포인트 디스커버리(CoAP based endpoint discovery) 절차를 수행할 수 있다.
코앱 기반 엔드포인트 디스커버리 절차는 사전에 약속된 멀티캐스트(multicast) 주소 및 포트로 디스커버리 요청 패킷을 전송하고, 해당 멀티캐스트 주소에 참가(join)되어 있는 디바이스들이 보내는 응답을 수신하는 방식으로 처리될 수 있다. 이 때, 해당 멀티캐스트 주소에 참가되어 있는 디바이스들은 사물인터넷 디바이스 연동 장치(100)나 다른 OCF 디바이스(10)들을 포함할 수 있다.
만약, OCF 디바이스(10)가 Non-OCF BLE 디바이스(20)에 대한 정보를 엔드포인트 디스커버리(endpoint discovery)를 통해서 알아내었거나 다른 경로를 통해서 알고 있는 경우, OCF 디바이스(10)는 CRUDN 동작을 통하여 Non-OCF BLE 디바이스(20)에 맵핑된 리소스에 대한 조작을 수행할 수 있다. 이 때, 모든 OCF 노드들은 기본적으로 이 멀티캐스트 주소에 참가하고 있을 수 있다.
본 발명에서 설명하는 모든 절차에 앞서 사물인터넷 디바이스 연동 장치(100)와 Non-OCF BLE 디바이스(20) 간의 페어링(pairing) 및 본딩(bonding) 절차는 사전에 수행될 수 있다.
즉, 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 장치(100)는 자신에게 연결된 모든 Non-OCF BLE 디바이스(20)에 대한 정보를 사전에 알고 있을 수 있다
도 6은 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 장치를 나타낸 블록도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 장치(100)는 엔드포인트 디스커버리 수행부(110), 리소스 조작 수행부(120) 및 리소스 모델 데이터베이스부(130)를 포함한다.
엔드포인트 디스커버리 수행부(110)는 OCF(Open Connectivity Foundation) 디바이스(10)와 Non-OCF BLE 디바이스(20)의 엔드포인트 디스커버리(endpoint discovery) 절차를 수행할 수 있다.
리소스 조작 수행부(120)는 리소스 조작(Resource Manipulation) 절차를 수행하여 상기 OCF 디바이스와 상기 Non-OCF BLE 디바이스 장치의 연동을 수행할 수 있다.
리소스 모델 데이터베이스부(130)는 리소스 모델 데이터베이스를 관리할 수 있다.
이 때, 리소스 모델 데이터베이스부(130)는 엔드포인트 디스커버리 수행부(110)와 리소스 조작 수행부(120)의 요청에 따라 리소스 정보를 리소스 데이터베이스에 쓰거나 업데이트할 수 있다.
이 때, 리소스 모델 데이터베이스부(130)는 엔드포인트 디스커버리 수행부(110)와 리소스 조작 수행부(120)가 요청하는 리소스 정보를 리소스 모델 데이터베이스로부터 읽어서 제공할 수도 있다.
또한, 리소스 모델 데이터베이스부(130)는 노티파이(NOTIFY) 동작(operation)에 따라 리소스 모델 데이터베이스를 이용하여 리소스 정보의 노티피케이션 설정을 활성화 할 수 있다.
이 때, 리소스 모델 데이터베이스부(130)는 노티파이(NOTIFY) 동작(operation)에 따라 리소스 모델 데이터베이스를 이용하여 리소스 정보의 노티피케이션 설정을 비활성화 할 수도 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 OCF 디바이스(10)와 OCF 에서 지원하는 통신 프로토콜을 이용하여 통신하고, Non-OCF BLE 디바이스 장치(20)와는 저전력 블루투스를 이용하여 통신할 수 있다.
도 7은 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 방법을 나타낸 동작흐름도이다. 도 8은 도 7에 도시된 엔드포인트 디스커버리 수행 단계의 일 예를 세부적으로 나타낸 동작흐름도이다. 도 9는 도 7에 도시된 리소스 조작 수행 단계의 일 예를 세부적으로 나타낸 동작흐름도이다.
도 7을 참조하면, 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 방법은 엔드포인트 디스커버리 절차를 수행하고(S210), 리소스 조작 절차를 수행할 수 있다(S220).
즉, 단계(S210)는 OCF(Open Connectivity Foundation) 디바이스(10)와 Non-OCF BLE(Bluetooth Low Energy, 저전력 블루투스) 디바이스(20)의 엔드포인트 디스커버리(endpoint discovery) 절차를 수행할 수 있다.
도 8을 참조하면, 단계(S210)는 먼저 디스커버리 요청 메시지를 수신할 수 있다(S211).
즉, 단계(S211)는 OCF 디바이스(10)가 기 설정된 멀티캐스트(multicast) 주소 및 포트로 디스커버리 요청 메시지를 송신하면, 코앱(Constrained Application Protocol, CoAP) 기반 엔드포인트 디스커버리 절차를 수행할 수 있다.
예를 들어, 멀티캐스트 주소는 IPv6 주소가 FF0X::FD 이고, 포트는 5683에 상응할 수 있다.
이 때, 단계(S211)는 OCF 디바이스(10)가 특정한 리소스 명을 디스커버리 요청 메시지에 명세하여 사물인터넷 디바이스 연동 장치(100)에 송신할 수 있다.
또한, 단계(S210)는 디스커버리 요청을 처리할 수 있다(S212).
즉, 단계(S212)는 사물인터넷 디바이스 연동 장치(100)와 연결되어 있는 모든 Non-OCF BLE 디바이스(20)들의 리소스 정보를 리턴할 수 있다. 이 때, 단계(S212)는 상기 디스커버리 요청 메시지에 상기 OCF 디바이스(10)가 특정한 리소스 명을 명세하였는지 확인할 수 있다. 디스커버리 요청 메시지에 특정한 리소스명이 포함되어 있는 경우, 단계(S212)는 해당 리소스에 대한 정보만을 응답 메시지에 포함시켜서 리턴할 수 있다.
또한, 단계(S210)는 특징(characteristic)을 요청할 수 있다(S213).
이 때, 단계(S213)는 사물인터넷 디바이스 연동 장치(100)가 자신에게 연결되어 있는 모든 Non-OCF BLE 디바이스들(20)의 연결상태를 확인할 수 있다.
이 때, 단계(S213)는 사물인터넷 디바이스 연동 장치(100)가 연결상태를 확인하여 연결이 해제된 Non-OCF BLE 디바이스들(20)과 재연결을 수행할 수 있다.
이 때, 단계(S213)는 사물인터넷 디바이스 연동 장치(100)와 Non-OCF BLE 디바이스(20)의 연결이 완료되면, 사물인터넷 디바이스 연동 장치(100)가 GATT 프로파일이 지원하는 "Service Discovery" 및 "Characteristics Discovery"의 기능(feature)을 이용하여 연결이 완료된 Non-OCF BLE 디바이스들(20)에게 서비스(service) 및/또는 특징(characteristic)을 요청할 수 있다.
GATT 프로파일의 일실시예는 상기 표 2에 개시된 내용에 상응할 수 있다.
또한, 단계(S210)는 특징(characteristic)을 리턴 할 수 있다(S214).
즉, 단계(S214)는 연결이 완료된 Non-OCF BLE 디바이스들(20)이 요청 받은 서비스(service) 및/또는 특징(characteristic)을 사물인터넷 디바이스 연동 장치(100)에게 리턴 할 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 수신한 Non-OCF BLE 디바이스(20)의 서비스(service) 및/또는 특징(characteristic)을 이용하여 Non-OCF BLE 디바이스(20)에 대응하는 리소스 정보를 생성할 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 생성한 리소스 정보를 리소스 모델 데이터베이스에 추가할 수 있다.
이 때, 리소스 정보는 리소스 명, 리소스 URI 링크 등을 포함할 수 있다.
이 때, 리소스 정보는 리소스 모델이 저장된 파일 또는 리소스 모델의 데이터베이스를 저장하고 있는 인터넷 사이트를 통한 검색결과를 참조하여 생성될 수 있다. 이 때, 리소스 정보는 Non-OCF BLE 디바이스(20)의 서비스(service) 및/또는 특징(characteristic)에 상응하는 BLE 특징 핸들(BLE characteristic handle)과 연동되어 리소스 모델 데이터베이스에 저장될 수 있다.
이 때, 리소스 모델의 스키마 정보는 별도의 json 파일로 제공될 수도 있다.
또한, 리소스 모델의 데이터베이스를 저장하고 있는 인터넷 사이트는 OCF에서 만든 모든 리소스 모델의 데이터베이스를 저장하고 있는 oneIoTa 사이트(www.oneiota.org)에 상응할 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 리소스 모델 데이터베이스에 추가된 리소스 정보에 대응되는 OCF 리소스 식별자(OCF resource URI)와 이에 대응되는 Non-OCF BLE 디바이스(20)에 상응하는 BLE 특징 핸들(BLE characteristic handle)을 저장하는 맵핑 테이블을 생성할 수 있다.
이 때, 맵핑 테이블에서 BLE 서비스(service)가 하나 이상의 특징(characteristic)을 포함하고 있는 경우, OCF 리소스 식별자는 적어도 하나 이상의 BLE 특징 핸들 값과 매핑될 수 있다.
예를 들어, 표 4는 OCF 리소스 - BLE 특징 맵핑 테이블의 일 예를 나타낸 것을 알 수 있다. 표 4의 맵핑 테이블의 일 예는 표 3의 Non-OCF BLE 디바이스의 특징(characteristic) 데이터베이스를 이용하여 구성될 수 있다.
인덱스 OCF resource URI BLE characteristic handle
0 /heartrate/0 0x0027
1 /thermometer/0 0x0034
표 4를 참조하면, OCF 리소스 식별자(OCF resource URI)는 Non-OCF BLE 디바이스(20)에 상응하는 디바이스의 이름 및 동일한 종류의 디바이스를 식별하기 위한 인덱스(일련번호)를 포함할 수 있다.
표 4에 기재된 바와 같이, OCF 리소스 식별자(OCF resource URI)는 /<device name>/<n> 형식으로 URI가 생성될 수 있다.
다만, OCF 리소스 식별자의 형식은 이에 한정하지 아니하며, OCF 리소스 식별자가 필요한 정보를 포함하고 있는 경우에 한하여, 다른 형식의 URI로 생성될 수도 있다.
이 때, n은 동일한 종류의 디바이스들이 한 개 이상 연결될 경우를 위하여 추가한 인덱스(일련번호)에 상응할 수 있다(n = 0, 1, 2, ...).
BLE 특징 핸들(BLE characteristic handle)은 Non-OCF BLE 디바이스(20)의 서비스(service)가 포함하고 있는 특징(characteristic)의 핸들(handle) 값에 상응할 수 있다.
예를 들어, 표 4에 기재된 바와 같이, 인덱스 '0'에서, OCF 리소스 식별자의 'heartrate'는 Non-OCF BLE heartrate 디바이스에 대응되는 OCF 디바이스의 이름이며 0은 첫 번째 디바이스라는 의미이다. BLE characteristic handle 0x0027은 이 OCF 리소스 식별자에 맵핑되는 Non-OCF BLE 디바이스가 가지고 있는 특징(characteristic)의 핸들(handle) 값이다.
또한, 단계(S210)는 디스커버리 응답 메시지를 송신할 수 있다(S215).
즉, 사물인터넷 디바이스 연동 장치(100)는 단계(S214)에서 수신한 특징을 이용하여 리소스 정보를 생성하여 데이터베이스를 업데이트하고, 이를 이용하여 단계(S212)에 상응하는 디스커버리 요청에 대한 응답 메시지를 생성하여 OCF 디바이스(10)로 전송할 수 있다.
이 때, 단계(S215)는 리소스 정보의 전체 또는 일부를 디스커버리 응답 메시지에 포함시켜서 OCF 디바이스(10)에 리턴 할 수 있다.
이 때, 단계(S215)는 단계(S212)에서 디스커버리 요청 메시지에 OCF 디바이스(10)가 특정한 리소스 명을 명세하였는지 확인한 결과에 기반하여 리소스 정보의 전체 또는 일부를 디스커버리 응답 메시지에 포함시킬 수 있다.
이 때, 단계(S215)는 특정한 리소스 명을 명세한 것으로 확인한 경우, 특정한 리소스 명에 상응하는 리소스 정보 만을 디스커버리 응답 메시지에 포함시킬 수 있다.
이 때, 단계(S215)는 특정한 리소스 명을 명세하지 않은 것으로 확인한 경우, 단계(S213)에서 연결이 완료된 모든 Non-OCF BLE 디바이스들(20)에 대한 리소스 정보의 전체 또는 일부를 디스커버리 응답 메시지에 포함시킬 수 있다.
또한, 단계(S210)은 단계(S211)의 디스커버리 요청 메시지를 수신하는 단계 이전에, 특징을 수신하여 처리하는 단계를 더 포함할 수 있다.
즉, 특징을 수신하여 처리하는 단계는 사물인터넷 디바이스 연동 장치(100)와 Non-OCF BLE 디바이스(20)의 연결이 이루어질 때, 사물인터넷 디바이스 연동 장치(100)가 Non-OCF BLE 디바이스(20)로부터 서비스(service) 및/또는 특징(characteristic)을 수신할 수 있다.
이 때, 특징을 수신하여 처리하는 단계는 Non-OCF BLE 디바이스(20)의 전원이 켜지고, 사물인터넷 디바이스 연동 장치(100)와 페어링을 통해 연결하여 수행될 수 있다.
이 때, 특징을 수신하여 처리하는 단계는 단계(S214)와 같이 사물인터넷 디바이스 연동 장치(100)가 수신한 서비스(service) 및/또는 특징(characteristic)에 상응하는 리소스 정보를 리소스 모델 데이터베이스에 추가할 수 있다.
이하, 특징을 수신하여 처리하는 단계의 일 예는 도 11의 시퀀스 다이어그램을 통해 상세히 설명한다.
또한, 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 방법은 리소스 조작 절차를 수행할 수 있다(S220).
즉, 단계(S220)는 CRUDN(CREATE, RETRIEVE, UPDATE, DELETE 및 NOTIFY) 동작(operation)을 통해 리소스 조작(Resource Manipulation) 절차를 수행하여 상기 OCF 디바이스(10)와 상기 Non-OCF BLE 디바이스 장치(20)의 연동을 수행할 수 있다.
도 9를 참조하면, 단계(S220)는 먼저 CRUDN 메시지를 수신할 수 있다(S221).
즉, 단계(S221)는 사물인터넷 디바이스 연동 장치(100)가 RESTful 스타일의 CRUDN(CREATE, RETRIEVE, UPDATE, DELETE 및 NOTIFY)을 만족하는 각각의 동작(operation)을 수행하기 위한 CRUDN 메시지를 OCF 디바이스(10)로부터 수신할 수 있다.
또한, 단계(S220)는 CRUDN 메시지를 처리할 수 있다(S222).
즉, 단계(S222)는 사물인터넷 디바이스 연동 장치(100)가 수신한 CRUND 메시지를 처리하여 CRUDN 메시지가 포함하는 파라미터 및 정보를 확인할 수 있다.
표 5는 CRUDN 메시지가 포함하는 파라미터의 일 예를 나타낸 것을 알 수 있다.
적용대상 파라미터 이름 파라미터 풀네임 파라미터 정의
모든 메시지 Fr From 메시지 송신자의 URI
To To 메시지 수신자의 URI
Ri Request Identifier 메시지 송신자와 수신자가 메시지를 식별할 수 있는 id
Cn Content 메시지 동작과 관련된 정보
Request Op Operation 서버에 의해서 수행될 동작을 명시
Obs Observe Observe request 임을 표시함
Responses Rs Response Code 서버에서 수행된 결과값을 표시함
Obs Observe Observe response 임을 표시함
또한, 단계(S220)는 CRUDN 동작을 수행할 수 있다(S223).
즉, 단계(S223)는 CRUDN 메시지가 포함하는 파라미터 및 정보에 기반하여 CRUDN(CREATE, RETRIEVE, UPDATE, DELETE 및 NOTIFY)를 만족하는 각각의 동작(operation)을 수행할 수 있다.
이 때, 단계(S223)는 CRUDN 동작(operation)에 따라 사물인터넷 디바이스 장치(100)가 OCF 디바이스(10)와 Non-OCF BLE 디바이스를 연동 시킬 수 있다.
이하에서는 도 10 내지 도 18을 참조하여, 단계(210)의 엔드포인트 디스커버리 수행 절차와 단계(220)의 리소스 조작 절차를 통해 사물인터넷 디바이스를 연동하는 상세한 과정인 CRUDN 동작(operation)을 각각 시퀀스 다이어그램을 통해 상세하게 설명한다.
또한, 본 발명의 일실시예에 따른 사물인터넷 디바이스 연동 장치(100)의 리소스 조작 수행부(120)는 상기에서 설명한 단계(S220) 및 세부 단계(S221 내지 S223)를 수행할 수 있다.
본 발명의 일실시예에 따른 상기에서 설명한 단계(S210)의 엔드포인트 디스커버리 수행 방법의 세부 과정은 도 10의 시퀀스 다이어그램을 참조하여 상세하게 설명한다.
도 10은 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 10을 참조하면, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 먼저 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)로부터 디스커버리 요청 메시지를 수신할 수 있다(S310).
즉, 단계(S310)는 OCF 디바이스(10)가 기 설정된 멀티캐스트(multicast) 주소 및 포트로 디스커버리 요청 메시지를 송신하면, 코앱(Constrained Application Protocol, CoAP) 기반 엔드포인트 디스커버리 절차를 수행할 수 있다.
예를 들어, 멀티캐스트 주소는 IPv6 주소가 FF0X::FD 이고, 포트는 5683에 상응할 수 있다.
이 때, 단계(S310)는 OCF 디바이스(10)가 특정한 리소스 명을 디스커버리 요청 메시지에 명세하여 사물인터넷 디바이스 연동 장치(100)에 송신할 수 있다.
또한, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 디스커버리 요청을 처리할 수 있다(S320).
이 때, 단계(S320)는 상기 디스커버리 요청 메시지에 OCF 디바이스(10)가 특정한 리소스 명을 명세하였는지 확인할 수 있다.
또한, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 사물인터넷 디바이스 연동 장치(100)가 Non-OCF BLE 디바이스(20)로 특징(characteristic)을 요청할 수 있다(S330).
이 때, 단계(S330)에서 사물인터넷 디바이스 연동 장치(100)는 자신에게 연결되어 있는 모든 Non-OCF BLE 디바이스들(20)의 연결상태를 확인하고, 연결이 해제된 Non-OCF BLE 디바이스들(20)과 재연결을 수행할 수 있다.
이 때, 단계(S330)는 사물인터넷 디바이스 연동 장치(100)와 Non-OCF BLE 디바이스(20)의 연결이 완료되면, 사물인터넷 디바이스 연동 장치(100)가 GATT 프로파일이 지원하는 "Service Discovery"및 "Characteristics Discovery"의 기능(feature)을 이용하여 연결이 완료된 Non-OCF BLE 디바이스들(20)에게 서비스(service) 및/또는 특징(characteristic)을 요청할 수 있다.
또한, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 특징을 리턴 할 수 있다(S340).
즉, 단계(S340)는 Non-OCF BLE 디바이스들(20)이 요청 받은 서비스(service) 및/또는 특징(characteristic)을 사물인터넷 디바이스 연동 장치(100)에게 리턴 할 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 수신한 Non-OCF BLE 디바이스(20)의 서비스(service) 및/또는 특징(characteristic)을 이용하여 Non-OCF BLE 디바이스(20)에 대응하는 OCF 리소스 정보를 리소스 모델 데이터베이스에 추가할 수 있다.
이 때, 리소스 정보는 리소스 모델이 저장된 파일 또는 리소스 모델의 데이터베이스를 저장하고 있는 인터넷 사이트를 통한 검색결과를 참조하여 생성될 수 있다. 이 때, 리소스 정보는 Non-OCF BLE 디바이스(20)의 서비스(service) 및/또는 특징(characteristic)에 대응하는 BLC 특징 핸들(BLE characteristic handle)과 연동되어 리소스 모델 데이터베이스에 저장될 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 생성된 OCF 리소스 정보를 리소스 모델 데이터베이스에 추가할 수 있다.
이 때, 리소스 정보는 리소스 명, 리소스 URI 링크 등을 포함할 수 있다.
이 때, 리소스 모델의 스키마 정보는 별도의 json 파일로 제공될 수도 있다.
또한, 리소스 모델의 데이터베이스를 저장하고 있는 인터넷 사이트는 OCF에서 만든 모든 리소스 모델의 데이터베이스를 저장하고 있는 oneIoTa 사이트(www.oneiota.org)에 상응할 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 리소스 모델 데이터베이스에 추가된 리소스 정보에 대응되는 OCF 리소스 식별자(OCF resource URI)와 이에 대응되는 Non-OCF BLE 디바이스(20)에 상응하는 BLE 특징 핸들(BLE characteristic handle)을 저장하는 맵핑 테이블을 생성할 수 있다.
표 4를 참조하면, OCF 리소스 식별자(OCF resource URI)나 BLE 특징 핸들(BLE characteristic handle)에 관해서는 이미 전술한 바와 같다.
또한, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 디스커버리 응답 메시지를 송신할 수 있다(S350).
즉, 단계(S350)는 OCF 디바이스(10)로부터의 디스커버리 요청에 응답하여 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)로 응답 메시지를 송신할 수 있다.
이 때, 단계(S350)는 리소스 정보의 전체 또는 일부를 디스커버리 응답 메시지에 포함시켜서 OCF 디바이스(10)로 리턴 할 수 있다.
이 때, 단계(S350)는 디스커버리 요청 메시지에 OCF 디바이스(10)가 특정한 리소스 명을 명세하였는지 확인한 결과에 기반하여 리소스 정보의 전체 또는 일부를 디스커버리 응답 메시지에 포함시킬 수 있다.
이 때, 단계(S350)는 특정한 리소스 명을 명세한 것으로 확인한 경우, 특정한 리소스 명에 상응하는 리소스 정보 만을 디스커버리 응답 메시지에 포함시킬 수 있다.
이 때, 단계(S350)는 특정한 리소스 명을 명세하지 않은 것으로 확인한 경우, 단계(S330)에서 연결이 완료된 모든 Non-OCF BLE 디바이스들(20)에 대한 리소스 정보의 전체 또는 일부를 디스커버리 응답 메시지에 포함시킬 수 있다.
도 11은 도 10에 도시된 엔드포인트 디스커버리 수행 방법의 다른 예를 나타낸 시퀀스 다이어그램이다.
도 11을 참조하면, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 먼저 특징(characteristic)을 수신할 수 있다(S360).
즉, 단계(S360)는 사물인터넷 디바이스 연동 장치(100)가 GATT(Generic ATTribute) 프로파일의 기능(feature)을 이용하여 Non-OCF BLE 디바이스(20)로부터 특징을 수신할 수 있다.
이 때, 단계(S360)는 사물인터넷 디바이스 연동 장치(100)와 Non-OCF BLE 디바이스(20) 사이의 연결을 전제로 할 수 있다.
이 때, 단계(S360)는 사물인터넷 디바이스 연동 장치(100)와 Non-OCF BLE 디바이스(20)의 연결이 완료되고, 사물인터넷 디바이스 연동 장치(100)가 Non-OCF BLE 디바이스(20)로부터 서비스(service) 및/또는 특징(characteristic)을 수신할 수 있다.
또한, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 특징(characteristic)을 처리할 수 있다(S370).
즉, 단계(S370)는 사물인터넷 디바이스 연동 장치(100)가 수신한 Non-OCF BLE 디바이스(20)의 서비스(service) 및/또는 특징(characteristic)을 이용하여 Non-OCF BLE 디바이스(20)에 대응하는 OCF 리소스 정보를 사물인터넷 디바이스 연동 장치(100)의 리소스 모델 데이터베이스에 추가할 수 있다.
이 때, 단계(S370)는 리소스 모델이 저장된 파일 또는 리소스 모델의 데이터베이스를 저장하고 있는 인터넷 사이트를 통한 검색결과를 참조하여 Non-OCF BLE 디바이스(20)의 서비스(service) 및/또는 특징(characteristic)에 대응하는 OCF 리소스 정보를 생성할 수 있다.
이 때, 단계(S370)는 사물인터넷 디바이스 연동 장치(100)가 생성한 리소스 정보를 사물인터넷 디바이스 연동 장치(100)의 리소스 모델 데이터베이스에 추가할 수 있다.
이 때, 단계(S370)는 리소스 모델 데이터베이스에 OCF 리소스 식별자(OCF resource URI)와 Non-OCF BLE 디바이스에 상응하는 BLE 특징 핸들(BLE characteristic handle)이 매칭된 OCF 리소스 정보를 저장할 수 있다.
표 4를 참조하면, OCF 리소스 식별자(OCF resource URI)는 Non-OCF BLE 디바이스(20)에 상응하는 디바이스의 이름 및 동일한 종류의 디바이스를 식별하기 위한 인덱스(일련번호)를 포함할 수 있다.
BLE 특징 핸들(BLE characteristic handle) 값은 Non-OCF BLE 디바이스(20)의 특징(characteristic)의 핸들(handle) 값에 상응할 수 있다.
또한, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)로부터 디스커버리 요청 메시지를 수신할 수 있다(S380).
또한, 본 발명의 일실시예에 따른 엔드포인트 디스커버리 수행 방법은 디스커버리 요청을 처리하여 디스커버리 응답 메시지를 생성하고(S385), 디스커버리 응답 메시지를 송신할 수 있다(S390).
이 때, 단계(S390)는 리소스 정보의 전체 또는 일부를 디스커버리 응답 메시지에 포함시켜서 OCF 디바이스(10)에 리턴 할 수 있다.
또한, 본 발명의 일실시예에 따른 상기에서 설명한 단계(S220)의 CRUDN 동작의 세부 과정은 도 12 내지 18의 시퀀스 다이어그램을 참조하여 상세하게 설명한다.
이 때, 본 발명의 일실시예에 따른 GATT 프로파일이 이용하는 속성(attribute)과 기능(feature)에 관한 상세한 설명은 상기 표 2를 참조한다.
이 때, 본 발명의 일실시예에 따른 CRUDN 메시지의 각 파라미터들에 관한 상세한 설명은 상기 표 5를 참조한다.
도 12는 본 발명의 일실시예에 따른 크리에이트 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 12를 참조하면, 본 발명의 일실시예에 따른 크리에이트 동작 수행 방법은 먼저 크리에이트(CREATE) 요청 메시지를 수신할 수 있다(S410).
즉, 단계(S410)는 OCF 디바이스(10)가 사물인터넷 디바이스 연동 장치(100)에게 새로운 리소스의 생성을 요청할 수 있다.
이 때, OCF 디바이스(10)는 새로운 리소스 정보의 생성을 요청하기 위해 컨텐트 파라미터(Cn)로 새로 생성될 리소스의 정보를 포함하는 크리에이트 요청 메시지를 생성할 수 있다.
이 때, 단계(S410)는 OCF 디바이스(10)가 크리에이트 요청 메시지를 사물인터넷 디바이스 연동 장치(100)에게 송신할 수 있다.
이 때, 단계(S410)는 사물인터넷 디바이스 연동 장치(100)가 크리에이트 요청 메시지를 수신할 수 있다.
그러나, Non-OCF BLE 디바이스(20)는 새로운 특징(characteristics)의 생성 기능을 지원하지 않으므로, 새로운 특징(characteristics)을 생성할 수 없다.
따라서, 사물인터넷 디바이스 연동 장치(100)도 Non-OCF BLE 디바이스(20)에 관해서는 새로운 리소스 정보를 생성할 수 없다.
또한, 본 발명의 일실시예에 따른 크리에이트 동작 수행 방법은 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에 크리에이트 응답 메시지를 전송할 수 있다(S420).
즉, 단계(S420)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에게 새로운 리소스 정보를 생성할 수 없음을 응답할 수 있다.
이 때, 단계(S420)는 사물인터넷 디바이스 연동 장치(100)가 새로운 리소스 정보 생성 요청을 처리할 수 없음을 알리기 위해, 응답 코드(Response Code) 파라미터(Rs)로 응답코드 4.05(Method Not Allowed)를 포함하는 크리에이트 응답 메시지를 생성할 수 있다.
이 때, 단계(S420)는 OCF 디바이스(10)가 수신한 크리에이트 응답 메시지에 포함된 응답 코드 파라미터(Rs)를 통하여 응답코드 4.05(Method Not Allowed)를 확인함으로써, 새로운 리소스 정보를 생성할 수 없음을 식별할 수 있다.
도 13은 본 발명의 일실시예에 따른 리트리브 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 13을 참조하면, 본 발명의 일실시예에 따른 리트리브 동작 수행 방법은 먼저 리트리브(RETRIEVE) 요청 메시지를 수신할 수 있다(S510).
즉, 단계(S510)는 OCF 디바이스(10)가 사물인터넷 디바이스 연동 장치(100)에게 현재 상태의 리소스 정보를 요청할 수 있다.
이 때, 단계(S510)는 OCF 디바이스(10)가 리트리브 요청을 위해 To 파라미터에 OCF 디바이스(10)가 요청하고 있는 리소스의 URI를 포함하는 리트리브 요청 메시지를 생성할 수 있다.
또한, 본 발명의 일실시예에 따른 리트리브 동작 수행 방법은 맵핑 테이블을 검색할 수 있다(S520).
즉, 단계(S520)는 표 4의 예와 같은 맵핑 테이블을 이용하여 to 파라미터에 저장된 URI에 상응하는 OCF 리소스 식별자(OCF resource URI)와 BLE 특징(characteristic) 핸들(handle) 값을 검색할 수 있다.
또한, 본 발명의 일실시예에 따른 리트리브 동작 수행 방법은 특징 읽기를 요청할 수 있다(S530).
즉, 단계(S530)는 사물인터넷 디바이스 연동 장치(100)가 Non-OCF BLE 디바이스(20)에게 특징(characteristic) 값을 요청할 수 있다.
이 때, 단계(S530)는 사물인터넷 디바이스 연동 장치(100)가 GATT 프로파일이 지원하는 "Characteristic Value Read"의 기능(feature)을 이용하여 BLE 특징(characteristic) 핸들(handle) 값에 상응하는 특징(characteristic) 값을 요청할 수 있다.
또한, 본 발명의 일실시예에 따른 리트리브 동작 수행 방법은 특징 값을 리턴 할 수 있다(S540).
즉, 단계(S540)는 Non-OCF BLE 디바이스(20)가 요청 받은 특징(characteristic) 값을 사물인터넷 디바이스 연동 장치(100)에게 리턴 할 수 있다.
또한, 본 발명의 일실시예에 따른 리트리브 동작 수행 방법은 리트리브 응답 메시지를 송신할 수 있다(S550).
이 때, 단계(S550)는 수신한 특징(characteristic) 값을 이용하여 현재 상태의 리소스 정보를 생성할 수 있다.
즉, 단계(S550)는 사물인터넷 디바이스 연동 장치(100)가 수신한 특징(characteristic) 값에 상응하는 리소스 정보의 전부 또는 일부를 리트리브 응답 메시지에 포함시켜 OCF 디바이스(10)에게 송신할 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 수신한 특징(characteristic) 값에 상응하는 리소스 모델 데이터베이스의 엔트리 값에 수신한 특징(characteristic)을 업데이트할 수 있다.
이 때, 리트리브 응답 메시지는 리트리브 요청 메시지에 포함된 리소스의 URI를 포함할 수 있다.
이 때, 사물인터넷 디바이스 연동 장치(100)는 컨텐트 파라미터(Cn)로 OCF 디바이스(10)가 요청한 리소스 정보(리트리브 요청 메시지에 포함된 리소스의 URI를 포함)를 포함하는 리트리브 응답 메시지를 OCF 디바이스(10)에게 송신할 수 있다.
이 때, 단계(S550)는 OCF 디바이스(10)가 수신한 리트리브 응답 메시지를 확인하여 요청한 현재 상태의 리소스 정보를 확인할 수 있다.
도 14는 본 발명의 일실시예에 따른 업데이트 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 14를 참조하면, 본 발명의 일실시예에 따른 업데이트 동작 수행 방법은 먼저 업데이트(UPDATE) 요청 메시지를 수신할 수 있다(S610).
즉, 단계(S610)는 OCF 디바이스(10)가 사물인터넷 디바이스 연동 장치(100)에게 리소스 정보의 업데이트를 요청할 수 있다.
이 때, 단계(S610)는 OCF 디바이스(10)가 특정 리소스에 대한 업데이트를 요청하기 위해 To 파라미터에 업데이트를 요청하는 대상 리소스의 URI를 포함시키고, 컨텐트 파라미터(Cn)에 리소스의 업데이트 정보를 포함시킨 업데이트 요청 메시지를 생성할 수 있다.
또한, 본 발명의 일실시예에 따른 업데이트 동작 수행 방법은 리소스 모델 데이터베이스를 업데이트할 수 있다(S620).
즉, 단계(S620)는 업데이트 요청 메시지에 포함된 리소스의 업데이트 정보를 리소스 모델 데이터베이스에 업데이트할 수 있다.
이 때, 단계(S620)는 사물인터넷 디바이스 연동 장치(100)가 맵핑 테이블을 이용하여 업데이트 요청 메시지에 포함된 업데이트를 요청하는 리소스에 상응하는 OCF 리소스 식별자(OCF resource URI)와 BLE 특징(characteristic) 핸들(handle) 값을 검색할 수 있다.
또한, 본 발명의 일실시예에 따른 업데이트 동작 수행 방법은 특징 값 쓰기를 요청할 수 있다(S630).
즉, 단계(S630)는 사물인터넷 디바이스 연동 장치(100)가 Non-OCF BLE 디바이스(20)에게 특징(characteristic) 값의 업데이트를 요청할 수 있다.
이 때, 단계(S630)는 사물인터넷 디바이스 연동 장치(100)가 GATT 프로파일이 지원하는 "Characteristic Value Write" 기능(feature)을 이용하여 BLE 특징(characteristic) 핸들(handle) 값에 상응하는 특징(characteristic) 값의 업데이트를 요청할 수 있다.
이 때, 단계(S630)는 사물인터넷 디바이스 연동 장치(100)가 Non-OCF BLE 디바이스(20)에게 가져온 특징(characteristic) 값의 업데이트를 요청할 수 있다.
이 때, 단계(S630)는 Non-OCF BLE 디바이스(20)가 업데이트를 요청 받은 특징(characteristic) 값을 업데이트할 수 있다.
또한, 본 발명의 일실시예에 따른 업데이트 동작 수행 방법은 업데이트 응답 메시지를 송신할 수 있다(S640).
즉, 단계(S640)는 사물인터넷 디바이스 연동 장치(100)가 업데이트 결과를 포함하는 업데이트 응답 메시지를 OCF 디바이스(10)에게 송신할 수 있다.
이 때, 단계(S640)는 OCF 디바이스(10)가 업데이트 응답 메시지를 확인하여 요청한 리소스 정보의 업데이트 여부를 확인할 수 있다.
도 15는 본 발명의 일실시예에 따른 딜리트 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 15를 참조하면, 본 발명의 일실시예에 따른 딜리트 동작 수행 방법은 먼저 딜리트(DELETE) 요청 메시지를 수신할 수 있다(S710).
즉, 단계(S710)는 OCF 디바이스(10)가 사물인터넷 디바이스 연동 장치(100)에 기존 리소스의 삭제를 요청할 수 있다.
이 때, 단계(S710)는 OCF 디바이스(10)가 딜리트 요청을 위해 TO 파라미터에 삭제될 기존 리소스의 URI를 포함하는 딜리트 요청 메시지를 생성할 수 있다.
이 때, 단계(S710)는 OCF 디바이스(10)가 딜리트 요청 메시지를 사물인터넷 디바이스 연동 장치(100)에게 송신할 수 있다.
그러나, Non-OCF BLE 디바이스는 기존 특징(characteristic)의 삭제 기능을 지원하지 않으므로, 기존 특징(characteristic)를 삭제할 수 없다.
따라서, 사물인터넷 디바이스 연동 장치(100)도 Non-OCF BLE 디바이스와 관련해서는 기존 리소스 정보를 삭제할 수 없다.
또한, 본 발명의 일실시예에 따른 딜리트 동작 수행 방법은 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에 딜리트 응답 메시지를 전송할 수 있다(S720)
즉, 단계(S720)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에게 기존 리소스 정보를 삭제할 수 없음을 응답할 수 있다.
이 때, 단계(S720)는 사물인터넷 디바이스 연동 장치(100)가 삭제 요청된 기존 리소스 정보의 삭제를 처리할 수 없음을 응답하기 위해, 응답 코드 파라미터(Rs)에 응답코드 4.05(Method Not Allowed)를 포함하는 딜리트 응답메시지를 생성할 수 있다.
이 때, 단계(S720)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에게 딜리트 응답 메시지를 송신할 수 있다.
이 때, 단계(S720)는 OCF 디바이스(10)가 수신한 딜리트 응답 메시지에 포함된 응답 코드 파라미터(Rs)의 응답코드 4.05(Method Not Allowed)를 확인하여, 기존 리소스 정보를 삭제할 수 없음을 확인할 수 있다.
도 16은 본 발명의 일실시예에 따른 노티피케이션 설정을 활성화 하기 위한 노티파이 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 16을 참조하면, 본 발명의 일실시예에 따른 노티피케이션 설정을 활성화 하기 위한 노티파이 동작 수행 방법은 먼저 리트리브 요청 메시지를 수신할 수 있다(S810).
노티파이(NOTIFY) 동작은 OCF 서버에서의 리소스 정보 변화를 비동기적인 방법으로 OCF 클라이언트게 알려주기 위해 이용된다. 이 동작은 OCF 클라이언트가 OCF 서버에 대해서 수행하는 관찰(observe) 설정 및 OCF 서버가 리소스의 변화가 생길 때마다 OCF 클라이언트에게 알려주는 통보의 두 가지 동작으로 구성된다.
즉, 단계(S810)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)로부터 리트리브 요청 메시지를 수신할 수 있다.
이 때, 단계(S810)는 OCF 디바이스(10)가 특정 리소스에 변화가 생길 때마다 해당 변화를 통보 받기 위해 To 파라미터에 노티피케이션(NOTIFICATION)을 요청할 리소스의 URI를 포함시키고, 관찰(Observe) 파라미터(Obs)에 노티피케이션 설정의 활성화를 나타내는 정보를 포함시킨 리트리브 요청 메시지를 생성할 수 있다.
이 때, 단계(S810)는 OCF 디바이스(10)가 리트리브 요청 메시지를 사물인터넷 디바이스 연동 장치(100)에게 송신할 수 있다.
이 때, 단계(S810)는 사물인터넷 디바이스 연동 장치(100)가 리트리브 요청 메시지를 수신할 수 있다.
또한, 본 발명의 일실시예에 따른 노티피케이션 설정을 활성화 하기 위한 노티파이 동작 수행 방법은 노티피케이션 설정을 활성화 할 수 있다(S820).
즉, 단계(S820)는 표 4와 같은 일실시예에 따른 맵핑 테이블을 이용하여 TO 파라미터의 URI에 상응하는 OCF 리소스 식별자(OCF resource URI)와 BLE 특징(characteristic) 핸들(handle) 값을 검색할 수 있다.
이 때, 단계(S820)는 검색된 BLE 특징 핸들 값에 상응하는 리소스 모델 데이터베이스의 리소스 정보에 상응하는 특징(characteristic)에 대한 노티피케이션 설정을 활성화 할 수 있다.
또한, 본 발명의 일실시예에 따른 노티피케이션 설정을 활성화 하기 위한 노티파이 동작 수행 방법은 특징 디스크립터(characteristic descriptor) 값 쓰기를 요청할 수 있다(S830).
즉, 단계(S830)는 사물인터넷 디바이스 연동 장치(100)가 Non-OCF BLE 디바이스(20)에게 특징 디스크립터(Characteristics Descriptor) 값 쓰기를 요청할 수 있다.
이 때, 단계(S830)는 사물인터넷 디바이스 연동 장치(100)가 GATT 프로파일이 지원하는 "Characteristic Descriptor Value Write"의 기능(feature)을 이용하여 BLE 특징(characteristic) 핸들(handle) 값에 상응하는 Non-OCF BLE 디바이스(20)의 특징(characteristic)의 CCCD(Client Characteristic Configuration Descriptor)에 포함된 노티피케이션 비트를 활성화 시킬 수 있다.
또한, 본 발명의 일실시예에 따른 노티피케이션 설정을 활성화 하기 위한 노티파이 동작 수행 방법은 특징 디스크립터 값 쓰기 요청 결과를 리턴 할 수 있다(S840).
즉, 단계(S840)는 Non-OCF BLE 디바이스(20)가 노티피케이션 비트의 활성화 결과를 사물인터넷 디바이스 연동 장치(100)에게 리턴 할 수 있다.
또한, 본 발명의 일실시예에 따른 노티피케이션 설정을 활성화 하기 위한 노티파이 동작 수행 방법은 리트리브 응답 메시지를 송신할 수 있다(S850).
즉, 단계(S850)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에게 리트리브 응답 메시지를 송신할 수 있다.
이 때, 단계(S850)는 사물인터넷 디바이스 연동 장치(100)가 수신한 특징 디스크립터 값 쓰기 요청 결과에 기반하여 수행될 수 있다.
이 때, 단계(S850)는 사물인터넷 디바이스 연동 장치(100)가 리트리브 요청 메시지에 대한 노티피케이션 설정의 활성화 완료 결과를 포함하는 리트리브 응답 메시지를 생성할 수 있다.
이 때, 단계(S850)는 사물인터넷 디바이스 연동 장치(100)가 관찰(Observe) 파라미터(Obs)에 리소스 정보의 변화가 아니라 노티피케이션 설정 활성화 요청의 완료 결과를 포함하는 리트리브 응답 메시지를 생성할 수 있다.
이 때, 단계(S850)는 사물인터넷 디바이스 연동 장치(100)가 노티피케이션 설정의 활성화 완료 결과를 포함하는 리트리브 응답 메시지를 OCF 디바이스(10)에게 송신할 수 있다.
이 때, 단계(S850)는 OCF 디바이스(10)가 수신한 리트리브 응답 메시지를 확인하여 요청한 리소스 정보의 노티피케이션 설정의 활성화 완료 여부를 확인할 수 있다.
도 17은 본 발명의 일실시예에 따른 특징 값 변경에 따른 노티파이 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 17에 도시된 특징 값 변경에 따른 노티파이 동작 수행 방법은 도 16에 도시된 노티피케이션 설정을 활성화 하기 위한 노티파이 동작 수행 방법의 단계(S850)에 이어서 수행될 수 있다.
이 때, 특징 값 변경에 따른 노티파이 동작 수행 방법은 OCF 디바이스(10)의 리소스 정보 요청이 없더라도, Non-OCF BLE 디바이스(20)의 특징에서 노티피케이션 비트가 기 활성화된 특징 값의 변경을 확인한 경우에 수행될 수 있다.
도 17을 참조하면, 본 발명의 일실시예에 따른 특징 값 변경에 따른 노티파이 동작 수행 방법은 먼저 특징 값의 변경을 확인할 수 있다(S860).
즉, 단계(S860)는 Non-OCF BLE 디바이스(20)가 특징 값의 변경을 확인할 수 있다.
또한, 본 발명의 일실시예에 따른 특징 값 변경에 따른 노티파이 동작 수행 방법은 특징 값의 변경을 통보할 수 있다(S870).
즉, 단계(S870)는 Non-OCF BLE 디바이스(20)가 사물인터넷 디바이스 연동 장치(100)에게 변경된 특징(characteristic) 값을 통보할 수 있다.
이 때, 단계(S870)는 Non-OCF BLE 디바이스(20)가 노티피케이션 비트가 기 활성화된 특징에 변경이 생긴 경우, GATT 프로파일이 지원하는 "Characteristic Value Notification"의 기능(feature)을 이용하여 사물인터넷 디바이스 연동 장치(100)에게 변경된 특징(characteristic) 값을 통보할 수 있다.
또한, 본 발명의 일실시예에 따른 특징 값 변경에 따른 노티파이 동작 수행 방법은 리트리브 응답 메시지를 송신할 수 있다(S880).
즉, 단계(S880)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에게 리트리브 응답 메시지를 송신할 수 있다.
이 때, 단계(S880)는 사물인터넷 디바이스 연동 장치(100)가 변경된 특징(characteristic) 값에 상응하는 변경된 리소스 정보를 리소스 모델 데이터베이스에 업데이트 할 수 있다.
이 때, 단계(S880)는 사물인터넷 디바이스 연동 장치(100)가 맵핑 테이블을 이용하여 리소스 모델 데이터베이스를 업데이트 할 수 있다.
이 때, 단계(S880)는 사물인터넷 디바이스 연동 장치(100)가 리소스 모델 데이터베이스의 업데이트를 확인하고, 업데이트된 리소스 정보의 노티피케이션 설정의 활성화 여부를 확인할 수 있다.
이 때, 단계(S880)는 사물인터넷 디바이스 연동 장치(100)가 업데이트된 리소스 정보의 노티피케이션 설정의 활성화가 확인된 경우, 리트리브 응답 메시지를 생성할 수 있다.
이 때, 단계(S880)는 사물인터넷 디바이스 연동 장치(100)가 컨텐트 파라미터(Cn)에 업데이트된 리소스의 정보를 포함하는 리트리브 응답 메시지를 생성할 수 있다.
이 때, 단계(S880)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에게 리트리브 응답 메시지를 송신할 수 있다.
이 때, 단계(S880)는 OCF 디바이스(10)가 수신한 리트리브 응답 메시지의 업데이트된 리소스 정보를 확인하여 Non-OCF BLE 디바이스(20)의 특징 값의 변경을 확인할 수 있다.
도 18은 본 발명의 일실시예에 따른 노티피케이션 설정을 비활성화 하기 위한 노티파이 동작 수행 방법을 나타낸 시퀀스 다이어그램이다.
도 18을 참조하면, 본 발명의 일실시예에 따른 노티피케이션 설정을 비활성화 하기 위한 노티파이 동작 수행 방법은 먼저 리트리브 요청 메시지를 수신할 수 있다(S910).
즉, 단계(S910)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)로부터 리트리브 요청 메시지를 수신할 수 있다.
이 때, 단계(S910)는 OCF 디바이스(10)가 특정 리소스에 대한 노티피케이션을 비활성화하기 위해, To 파라미터에 노티피케이션(NOTIFICATION) 설정의 비활성화를 요청하는 리소스의 URI를 포함시키고, 관찰(Observe) 파라미터(Obs)에 노티피케이션 설정의 비활성화를 표시하는 정보를 포함시켜서 리트리브 요청 메시지를 생성할 수 있다.
이 때, 단계(S910)는 OCF 디바이스(10)가 리트리브 요청 메시지를 사물인터넷 디바이스 연동 장치(100)에게 송신할 수 있다.
또한, 본 발명의 일실시예에 따른 노티피케이션 설정을 비활성화 하기 위한 노티파이 동작 수행 방법은 노티피케이션 설정을 비활성화 할 수 있다(S920).
즉, 단계(S920)는 표 4와 같은 일실시예에 따른 맵핑 테이블을 이용하여 To 파라미터에 상응하는 OCF 리소스 식별자(OCF resource URI)와 BLE 특징(characteristic) 핸들(handle) 값을 검색할 수 있다.
이 때, 단계(S920)는 검색된 BLE 특징 핸들 값에 상응하는 리소스 모델 데이터베이스의 리소스 정보에 대한 노티피케이션 설정을 비활성화 할 수 있다.
또한, 본 발명의 일실시예에 따른 노티피케이션 설정을 비활성화 하기 위한 노티파이 동작 수행 방법은 특징 디스크립터 값 쓰기를 요청할 수 있다(S930).
즉, 단계(S930)는 사물인터넷 디바이스 연동 장치(100)가 Non-OCF BLE 디바이스(20)에게 특징 디스크립터(Characteristics Descriptor) 값 쓰기를 요청할 수 있다.
이 때, 단계(S930)는 사물인터넷 디바이스 연동 장치(100)가 GATT 프로파일이 지원하는 "Characteristic Descriptor Value Write"의 기능(feature)을 이용하여 BLE 특징(characteristic) 핸들(handle) 값에 상응하는 Non-OCF BLE 디바이스(20)의 특징(characteristic)의 CCCD(Client Characteristic Configuration Descriptor)에 포함된 노티피케이션 비트를 비활성화 시킬 수 있다.
또한, 본 발명의 일실시예에 따른 노티피케이션 설정을 비활성화 하기 위한 노티파이 동작 수행 방법은 특징 디스크립터 값 쓰기 결과를 리턴 할 수 있다(S940).
즉, 단계(S940)는 Non-OCF BLE 디바이스(20)가 노티피케이션 비트의 비활성화 결과를 사물인터넷 디바이스 연동 장치(100)에게 리턴 할 수 있다.
또한, 본 발명의 일실시예에 따른 노티피케이션 설정을 비활성화 하기 위한 노티파이 동작 수행 방법은 리트리브 응답 메시지를 송신할 수 있다(S950).
즉, 단계(950)는 사물인터넷 디바이스 연동 장치(100)가 OCF 디바이스(10)에게 리트리브 응답 메시지를 송신할 수 있다.
이 때, 단계(S950)는 사물인터넷 디바이스 연동 장치(100)가 수신한 특징 디스크립터 값 쓰기 요청 결과를 확인할 수 있다.
이 때, 단계(S950)는 사물인터넷 디바이스 연동 장치(100)가 리트리브 요청 메시지에 대한 노티피케이션 설정의 비활성화 완료 결과를 포함하는 리트리브 응답 메시지를 생성할 수 있다.
이 때, 단계(S950)는 사물인터넷 디바이스 연동 장치(100)가 관찰(Observe) 파라미터(Obs)에 리소스 정보의 변화가 아니라 노티피케이션 설정 비활성화 요청의 완료 결과를 포함하는 리트리브 응답 메시지를 생성할 수 있다.
이 때, 단계(S950)는 사물인터넷 디바이스 연동 장치(100)가 노티피케이션 설정의 비활성화 완료 결과를 포함하는 리트리브 응답 메시지를 OCF 디바이스(10)에게 송신할 수 있다.
이 때, 단계(S950)는 OCF 디바이스(10)가 수신한 리트리브 응답 메시지를 확인하여 요청한 리소스 정보의 노티피케이션 설정의 비활성화 완료 여부를 확인할 수 있다.
도 19는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 19를 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1100)에서 구현될 수 있다. 도 18에 도시된 바와 같이, 컴퓨터 시스템(1100)은 버스(1120)를 통하여 서로 통신하는 하나 이상의 프로세서(1110), 메모리(1130), 사용자 인터페이스 입력 장치(1140), 사용자 인터페이스 출력 장치(1150) 및 스토리지(1160)를 포함할 수 있다. 또한, 컴퓨터 시스템(1100)은 네트워크(1180)에 연결되는 네트워크 인터페이스(1170)를 더 포함할 수 있다. 프로세서(1110)는 중앙 처리 장치 또는 메모리(1130)나 스토리지(1160)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1130) 및 스토리지(1160)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1131)이나 RAM(1132)을 포함할 수 있다.
이상에서와 같이 본 발명에 따른 사물인터넷 디바이스 연동 장치 및 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
10: OCF 디바이스 20: Non-OCF BLE 디바이스
100: 사물인터넷 디바이스 연동 장치
110: 엔드포인트 디스커버리 수행부
120: 리소스 조작 수행부
130: 리소스 모델 데이터베이스부
1100: 컴퓨터 시스템 1110: 프로세서
1120: 버스 1130: 메모리
1131: 롬 1132: 램
1140: 사용자 인터페이스 입력 장치
1150: 사용자 인터페이스 출력 장치
1160: 스토리지 1170: 네트워크 인터페이스
1180: 네트워크

Claims (20)

  1. 사물인터넷 디바이스 연동 장치를 이용하는 방법에 있어서,
    OCF(Open Connectivity Foundation) 디바이스와 Non-OCF BLE(Bluetooth Low Energy, 저전력 블루투스) 디바이스 사이의 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 단계; 및
    CRUDN(크리에이트(CREATE), 리트리브(RETRIEVE), 업데이트(UPDATE), 딜리트(DELETE), 노티파이(NOTIFY)) 동작(operation)을 통해 리소스 조작(Resource Manipulation) 절차를 수행하여 상기 OCF 디바이스와 상기 Non-OCF BLE 디바이스 장치의 연동을 수행하는 단계;
    를 포함하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  2. 청구항 1에 있어서,
    사물인터넷 디바이스 연동 장치는
    상기 OCF 디바이스와 OCF 에서 지원하는 통신 프로토콜을 이용하여 통신하고, 상기 Non-OCF BLE 디바이스 장치와 저전력 블루투스를 이용하여 통신하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  3. 청구항 2에 있어서,
    상기 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치와 상기 OCF 디바이스가 코앱(Constrained Application Protocol, CoAP) 기반 엔드포인트 디스커버리 절차를 이용하여 디스커버리 메시지를 전송하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  4. 청구항 2에 있어서,
    상기 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 GATT(Generic Attribute Profile) 프로파일(profile)을 이용하여 상기 Non-OCF BLE 디바이스에게 특징(characteristic)을 요청하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  5. 청구항 4에 있어서,
    상기 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 단계는
    OCF 리소스와 BLE 특징(characteristic)을 대응시킨 OFC 리소스-BLE 특징 맵핑 테이블을 이용하여 수행되는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  6. 청구항 5에 있어서,
    상기 OCF 리소스-BLE 특징 맵핑 테이블은
    상기 OCF 리소스에 상응하는 OCF 리소스 식별자(OCF resource URI)와 상기 BLE 특징에 상응하는 BLE 특징 핸들을 대응시킨 테이블인 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  7. 청구항 6에 있어서,
    상기 OCF 리소스 식별자(OCF resource URI)는
    디바이스 이름과, 동일한 종류의 디바이스를 식별하기 위한 인덱스를 포함하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  8. 청구항 7에 있어서,
    상기 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 상기 OCF 디바이스로부터 수신한 디스커버리 요청 메시지에 명세된 리소스 명에 상응하는 리소스 정보의 전체 또는 일부를 디스커버리 응답 메시지에 포함시켜 상기 OCF 디바이스에게 송신하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  9. 청구항 8에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 상기 OCF 디바이스로부터 수신한 CRUDN 요청 메시지에 포함된 파라미터에 기반하여 상기 CRUDN 동작을 수행하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  10. 청구항 9에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 상기 상기 OCF 리소스-BLE 특징 맵핑 테이블을 이용하여 상기 OCF 디바이스로부터 수신한 CRUDN 요청 메시지에 포함된 파라미터에 상응하는 OCF 리소스 식별자와 BLE 특징 핸들 값을 검색하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  11. 청구항 10에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 업데이트(UPDATE) 동작을 수행하는 경우, 상기 OCF 디바이스로부터 수신한 업데이트 요청 메시지에 포함된 업데이트 리소스 정보를 리소스 모델 데이터베이스에 업데이트하고,
    상기 상기 OCF 리소스-BLE 특징 맵핑 테이블을 이용하여 상기 업데이트 리소스 정보의 식별자에 상응하는 OCF 리소스 식별자와 BLE 특징 핸들 값을 검색하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  12. 청구항 11에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 상기 GATT 프로파일이 지원하는 기능(feature)을 이용하여 상기 BLE 특징 핸들 값에 상응하는 특징(characteristic) 값을 읽기(Read) 요청 및 쓰기(Write) 요청 중 어느 하나에 따라 상기 Non-OCF BLE 디바이스에게 요청하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  13. 청구항 12에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 노티파이(NOTIFY) 동작을 수행하는 경우, 상기 OCF 디바이스로부터 수신한 노티파이 요청 메시지에 포함된 노티피케이션 리소스 식별자에 상응하는 상기 리소스 모델 데이터베이스에 포함된 리소스 정보의 노티피케이션 설정의 활성화 여부를 변경하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  14. 청구항 13에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 노티파이(NOTIFY) 요청 메시지를 수신한 경우, 상기 맵핑 테이블을 이용하여 상기 노티피케이션 리소스 식별자에 상응하는 OCF 리소스 식별자와 BLE 특징 핸들 값을 검색하고,
    상기 GATT 프로파일이 지원하는 기능(feature)을 이용하여 상기 Non-OCF BLE 디바이스에게 특징 디스크립터 값 쓰기를 요청하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  15. 청구항 14에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 상기 Non-OCF BLE 디바이스에게 상기 GATT 프로파일이 지원하는 기능(feature)을 이용하여 상기 BLE 특징 핸들 값에 상응하는 특징(characteristic) 값의 노티피케이션 비트 활성화 여부를 변경시키기 위한 상기 특징 디스크립터 값 쓰기를 요청하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  16. 청구항 15에 있어서,
    상기 연동을 수행하는 단계는
    상기 Non-OCF BLE 디바이스가 상기 노티피케이션 비트가 활성화된 특징(characteristic) 값에 변경이 생긴 경우, 상기 GATT 프로파일이 지원하는 기능(feature)을 이용하여 상기 사물인터넷 디바이스 연동 장치에게 변경된 특징(characteristic) 값을 통보하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  17. 청구항 16에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 통보 받은 상기 변경된 특징(characteristic) 값에 상응하는 리소스 정보를 상기 리소스 모델 데이터베이스에 업데이트하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  18. 청구항 17에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 상기 변경된 특징(characteristic)에 상응하는 상기 노티피케이션 설정의 활성화 여부를 확인하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  19. 청구항 18에 있어서,
    상기 연동을 수행하는 단계는
    상기 사물인터넷 디바이스 연동 장치가 상기 노티피케이션 설정의 활성화가 확인된 경우, 상기 업데이트된 리소스 정보를 포함하는 응답 메시지를 생성하여 상기 OCF 디바이스에게 송신하는 것을 특징으로 하는 사물인터넷 디바이스 연동 방법.
  20. OCF(Open Connectivity Foundation) 디바이스와 Non-OCF BLE 디바이스 사이의 엔드포인트 디스커버리(endpoint discovery) 절차를 수행하는 엔드포인트 디스커버리 수행부;
    상기 OCF 디바이스의 요청에 따라 CRUDN(크리에이트(CREATE), 리트리브(RETRIEVE), 업데이트(UPDATE), 딜리트(DELETE) 및 노티파이(NOTIFY)) 동작(operation)을 통해 상기 Non-OCF BLE 디바이스에 대한 리소스 조작(Resource Manipulation) 절차를 수행하여 상기 OCF 디바이스와 상기 Non-OCF BLE 디바이스 장치의 연동을 수행하는 리소스 조작 수행부; 및
    상기 엔드포인트 디스커버리 수행부 및 상기 리소스 조작 수행부의 요청에 따라 리소스 정보를 리소스 모델 데이터베이스에 업데이트하는 리소스 모델 데이터베이스부;
    를 포함하는 것을 특징으로 하는 사물인터넷 디바이스 연동 장치.
KR1020170094121A 2016-08-29 2017-07-25 사물인터넷 디바이스 연동 장치 및 방법 KR20180025174A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/689,194 US20180063879A1 (en) 2016-08-29 2017-08-29 Apparatus and method for interoperation between internet-of-things devices

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160110328 2016-08-29
KR20160110328 2016-08-29

Publications (1)

Publication Number Publication Date
KR20180025174A true KR20180025174A (ko) 2018-03-08

Family

ID=61726144

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170094121A KR20180025174A (ko) 2016-08-29 2017-07-25 사물인터넷 디바이스 연동 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20180025174A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220094606A (ko) * 2020-12-29 2022-07-06 에이치디씨랩스 주식회사 Ocf 기반의 프로토콜 및 레거시 프로토콜을 병용하는 월패드 장치 및 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220094606A (ko) * 2020-12-29 2022-07-06 에이치디씨랩스 주식회사 Ocf 기반의 프로토콜 및 레거시 프로토콜을 병용하는 월패드 장치 및 방법

Similar Documents

Publication Publication Date Title
US20180063879A1 (en) Apparatus and method for interoperation between internet-of-things devices
US11997160B2 (en) Lightweight IoT information model
US10959287B2 (en) Roaming groups in a Peer-to-Peer Network
CN111278031B (zh) Pdu类型的设置方法、ue策略的设置方法、实体及存储介质
KR102095436B1 (ko) 서비스 계층에서의 요청 처리
JP6293874B2 (ja) ワイヤレスドッキングアーキテクチャ
JP6359646B2 (ja) ワイヤレスドッキング環境の利用および構成
US20130346591A1 (en) Clientless Cloud Computing
US20130336161A1 (en) Terminal and method for p2p connection in wifi network
JP2005312045A5 (ko)
WO2016003134A1 (ko) 무선 통신 시스템에서 요청 메시지를 처리하기 위한 방법 및 이를 위한 장치
KR102500594B1 (ko) 통신 네트워크에서의 서비스 계층 메시지 템플릿들
JP2017201776A (ja) 不均一ネットワークにまたがるコンテンツ配送
KR20180025174A (ko) 사물인터넷 디바이스 연동 장치 및 방법
KR102285352B1 (ko) 이기종 IoT 장치와 IoT 플랫폼의 연동을 위한 프록시, 방법 및 상기 프록시를 포함하는 시스템
WO2017136979A1 (zh) 一种远程访问的实现方法、装置和系统
US20160100021A1 (en) Information processing device, destination information updating method, and record medium
KR102046730B1 (ko) 서비스 요소들
AU2016102439A4 (en) Wireless data sharing method and system
KR102113814B1 (ko) CoAP 압축 통신 방법
CN108881344B (zh) 业务处理方法、装置、存储设备及处理服务器
WO2015161571A1 (zh) 资源通告方法及系统、本地cse、远程cse、存储介质
US8819127B1 (en) Ensemble computing
WO2016109972A1 (zh) 机器到机器系统中宣告属性的方法、公共服务实体和应用实体
WO2016090933A1 (zh) 应用通告资源的创建方法及装置