KR20180071002A - Mqtt 어댑터 및 이를 이용한 토픽 처리 방법 - Google Patents

Mqtt 어댑터 및 이를 이용한 토픽 처리 방법 Download PDF

Info

Publication number
KR20180071002A
KR20180071002A KR1020160173674A KR20160173674A KR20180071002A KR 20180071002 A KR20180071002 A KR 20180071002A KR 1020160173674 A KR1020160173674 A KR 1020160173674A KR 20160173674 A KR20160173674 A KR 20160173674A KR 20180071002 A KR20180071002 A KR 20180071002A
Authority
KR
South Korea
Prior art keywords
mqtt
topic
dds
metadata
manager
Prior art date
Application number
KR1020160173674A
Other languages
English (en)
Other versions
KR101915683B1 (ko
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 KR1020160173674A priority Critical patent/KR101915683B1/ko
Publication of KR20180071002A publication Critical patent/KR20180071002A/ko
Application granted granted Critical
Publication of KR101915683B1 publication Critical patent/KR101915683B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • H04L67/2809
    • H04L67/2823
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 한 실시예에 따른 MQTT 어댑터는 DDS 미들웨어와 통신하며 DDS 토픽을 발간 또는 구독하는 DDS 엔터티 매니저(DDS entity manager); 상기 DDS 토픽 및 상기 MQTT 토픽을 상호 변환하는 토픽 변환부; 및 MQTT 브로커와 통신하며 MQTT 토픽을 발간 또는 구독하는 MQTT 매니저(MQTT manager)를 포함한다.

Description

MQTT 어댑터 및 이를 이용한 토픽 처리 방법{MQTT ADAPTOR AND TOPIC PROCESSING METHOD USING THE SAME}
본 발명은 MQTT 어댑터 및 이를 이용한 토픽 처리 방법에 관한 것이다.
사물인터넷(Internet of Things) 시장의 급격한 성장에 따라 새로운 장치들과 응용 프로그램들이 폭넓게 발전되었다. 이러한 응용 프로그램들은 장치들의 물리적 특성과 응용 분야에 따라 RFID(Radio-Frequency Identification), 지그비(ZigBee), BLE(Bluetooth Low Energy)와 같은 다양한 통신 프로토콜을 사용하여 장치 간 통신을 가능하게 한다.
하지만 이러한 통신 프로토콜은 각기 다른 표준 규약을 가지기 때문에 서로 호환이 되지 않는 이질성 문제를 갖는다. 사물인터넷에서 이질성 문제를 해결하기 위해서는 상호 운용성이 확보되어야 하며 이러한 상호 운용성을 확보하기 위해서는 미들웨어 기반의 상호 연동 시스템이 필요하다.
미들웨어 기반의 상호 연동 시스템에는 지그비 어댑터, BLE 어댑터와 같은 DDS(Data Distribution Service) 미들웨어 기반의 가상 어댑터들이 있다. 지그비 어댑터와 BLE 어댑터는 각각 지그비와 BLE 통신 프로토콜 장치와 연결되어 있으며 DDS 미들웨어를 활용하여 양방향 통신으로 다른 프로토콜 간 상호 운용성을 확보하였다.
DDS는 OMG(Object Management Group)에서 제정한 발간-구독(Publish-Subscribe) 방식의 통신 미들웨어 표준이다. 국방과학 분야에서 널리 적용되는 DDS는 발간-구독 통신 방식으로 높은 상호 운용성을 제공하며 같은 도메인 내에서 데이터 중심적인 통신이 가능하다. 하지만 이러한 DDS 기반의 가상 어댑터들은 다른 도메인을 가지는 외부망(Internet)과는 연결을 할 수 없다는 단점을 지니고 있다.
OASIS, "MQTT Version 3.1.1", http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html, Dec 2015
해결하고자 하는 기술적 과제는, DDS 미들웨어에 연결되는 장치와 MQTT 브로커에 연결되는 장치 간의 원활한 통신을 위한 MQTT 어댑터 및 이를 이용한 토픽 처리 방법을 제공하는 데 있다.
본 발명의 한 실시예에 따른 MQTT 어댑터는 DDS 미들웨어와 통신하며 DDS 토픽을 발간 또는 구독하는 DDS 엔터티 매니저(DDS entity manager); MQTT 브로커와 통신하며 MQTT 토픽을 발간 또는 구독하는 MQTT 매니저(MQTT manager); 및 상기 DDS 토픽 및 상기 MQTT 토픽을 상호 변환하는 토픽 변환부를 포함한다.
상기 토픽 변환부는 상기 DDS 토픽을 구독하는 경우 상기 DDS 토픽을 메타데이터로 변환하고, 상기 DDS 토픽을 발간하는 경우 상기 메타데이터를 상기 DDS 토픽으로 변환하는 DDS 토픽 인스턴스 매니저(DDS topic instance manager)를 포함할 수 있다.
상기 토픽 변환부는 상기 MQTT 토픽을 구독하는 경우 상기 MQTT 토픽을 상기 메타데이터로 변환하고, 상기 MQTT 토픽을 발간하는 경우 상기 메타데이터로 변환하는 MQTT 토픽 인스턴스 매니저(MQTT topic instance manager)를 더 포함할 수 있다.
상기 토픽 변환부는 상기 DDS 토픽 또는 상기 MQTT 토픽과 대응하는 메타데이터를 관리하는 메타데이터 매니저(metadata manager)를 더 포함할 수 있다.
상기 DDS 엔터티 매니저가 구독한 제1 DDS 토픽이 상기 DDS 미들웨어와 통신하는 제1 장치의 제1 장치 정보와 대응하는 경우, 상기 DDS 토픽 인스턴스 매니저는 상기 제1 DDS 토픽을 제1 메타데이터로 변환하고, 상기 MQTT 토픽 인스턴스 매니저는 상기 제1 메타데이터와 대응하는 메타데이터를 제1 MQTT 토픽으로 변환하고, 상기 MQTT 매니저는 상기 제1 MQTT 토픽을 상기 MQTT 브로커에 발간함으로써, 상기 MQTT 브로커의 구독자인 제2 장치가 상기 제1 장치 정보를 획득할 수 있다.
상기 MQTT 매니저가 구독한 제2 MQTT 토픽이 상기 MQTT 브로커와 통신하는 제3 장치의 제3 장치 정보와 대응하는 경우, 상기 MQTT 토픽 인스턴스 매니저는 상기 제2 MQTT 토픽을 제2 메타데이터로 변환하고, 상기 DDS 토픽 인스턴스 매니저는 상기 제2 메타데이터와 대응하는 메타데이터를 제2 DDS 토픽으로 변환하고, 상기 DDS 엔터티 매니저는 상기 제2 DDS 토픽을 상기 DDS 미들웨어에 발간함으로써, 상기 DDS 미들웨어의 구독자인 제4 장치가 상기 제3 장치 정보를 획득할 수 있다.
본 발명의 한 실시예에 따른 토픽 처리 방법은 DDS 미들웨어로부터 제1 DDS 토픽을 구독하는 단계; 상기 제1 DDS 토픽을 제1 메타데이터로 변환하는 단계; 상기 제1 메타데이터와 대응하는 메타데이터를 제1 MQTT 토픽으로 변환하는 단계; 및 MQTT 브로커에 상기 제1 MQTT 토픽을 발간하는 단계를 포함한다.
상기 제1 DDS 토픽은 상기 DDS 미들웨어와 통신하는 제1 장치의 제1 장치 정보와 대응하고, 상기 MQTT 브로커의 구독자인 제2 장치가 상기 MQTT 브로커를 통해서 상기 제1 장치 정보를 획득할 수 있다.
본 발명의 한 실시예에 따른 토픽 처리 방법은 MQTT 브로커로부터 제2 MQTT 토픽을 구독하는 단계; 상기 제2 MQTT 토픽을 제2 메타데이터로 변환하는 단계; 상기 제2 메타데이터와 대응하는 메타데이터를 제2 DDS 토픽으로 변환하는 단계; 및 DDS 미들웨어에 상기 제2 DDS 토픽을 발간하는 단계를 포함한다.
상기 제2 MQTT 토픽은 상기 MQTT 브로커와 통신하는 제3 장치의 제3 장치 정보와 대응하고, 상기 DDS 미들웨어의 구독자인 제4 장치가 상기 DDS 미들웨어를 통해서 상기 제3 장치 정보를 획득할 수 있다.
본 발명에 따른 MQTT 어댑터 및 이를 이용한 토픽 처리 방법은 DDS 미들웨어에 연결되는 장치와 MQTT 브로커에 연결되는 장치 간의 원활한 통신을 제공할 수 있다.
도 1은 본 발명의 한 실시예에 따른 MQTT 어댑터의 활용예를 설명하기 위한 도면이다.
도 2는 본 발명의 한 실시예에 따른 MQTT 어댑터의 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 한 실시예에 따른 일방향의 토픽 처리 방법을 설명하기 위한 도면이다.
도 4는 본 발명의 한 실시예에 따른 타방향의 토픽 처리 방법을 설명하기 위한 도면이다.
이하, 첨부한 도면을 참고로 하여 본 발명의 여러 실시 예들에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예들에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 따라서 앞서 설명한 참조 부호는 다른 도면에서도 사용할 수 있다.
또한, 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다. 도면에서 여러 층 및 영역을 명확하게 표현하기 위하여 두께를 과장되게 나타낼 수 있다.
도 1은 본 발명의 한 실시예에 따른 MQTT 어댑터의 활용예를 설명하기 위한 도면이다.
이하에서, MQTT 어댑터(10), DDS 미들웨어(20), DDS 참여자(23), 제1 통신 어댑터(21), 제2 통신 어댑터(22), 제2 통신 노드 A(22A), 제2 통신 노드 B(22B), 제1 MQTT 브로커(31), 제2 MQTT 브로커(32), 제1 브로커 노드 A(31A), 제1 브로커 노드 B(31B)는 소프트웨어 자체, 소프트웨어가 설치된 컴퓨팅 장치, 센서, 또는 출력 장치일 수 있다.
예를 들어, MQTT 어댑터(10), DDS 미들웨어(20), 제1 통신 어댑터(21), 제2 통신 어댑터(22), MQTT 브로커(31, 32)는 연산 처리를 위해 프로세서 및 메모리를 갖춘 서버 등의 컴퓨팅 장치일 수 있다. 실시예에 따라, MQTT 어댑터(10)와 DDS 미들웨어(20)는 서로 분리된 소프트웨어지만 동일한 컴퓨팅 장치에 설치되어 있을 수 있다. 또는 MQTT 어댑터(10)와 DDS 미들웨어(20)는 일체로 설계된 소프트웨어로서 동일한 컴퓨팅 장치에 설치될 수 있다. 또는 MQTT 어댑터(10)가 설치된 컴퓨팅 장치와 DDS 미들웨어(20)가 설치된 컴퓨팅 장치는 서로 다른 것일 수 있다.
브로커 노드(31A, 31B) 및 통신 노드(22A, 22B) 또한 컴퓨팅 장치일 수 있으나, 사물인터넷 하에서의 센서(온도 센서, 가속도 센서 등) 또는 출력 장치(LED 조명 장치 등)일 수도 있다. 예를 들어 제1 브로커 노드 A(31A)는 LED 제어 장치이고, 제2 통신 노드 A(22A)는 LED 장치일 수 있다.
도 1을 참조하면 본 발명의 한 실시예에 따른 MQTT 어댑터(10)는 DDS 미들웨어(20) 및 MQTT 브로커(31, 32)와 통신하고 있다.
각각의 DDS 참여자(participant)(23)는 자신이 제공하고자 하는 토픽을 DDS 미들웨어(20)에 발간(Publish)할 수 있고, 또한 자신이 수신하고자 하는 토픽을 DDS 미들웨어(20)로부터 구독(Subscribe)할 수 있다. 따라서 DDS 참여자(23)는 DDS 미들웨어(20)를 통해 DDS 망의 다른 참여자들과 통신할 수 있다.
도 1을 참조하면 DDS 참여자(23) 이외에도 제1 통신 어댑터(21) 및 제2 통신 어댑터(22)가 DDS 미들웨어(20)와 통신하고 있다. 예를 들어, 제1 통신 어댑터(21)는 지그비 어댑터일 수 있고, 제2 통신 어댑터(22)는 BLE 어댑터일 수 있다. 예를 들어, 제2 통신 노드 A(22A), 제2 통신 노드 B(22B), 및 제2 통신 어댑터(22)는 BLE 프로토콜을 이용하여 상호 통신할 수 있다. 제2 통신 어댑터(22)는 DDS 미들웨어(20)에 발간 및 구독 방식으로 다른 DDS 참여자(23) 및 제1 통신 어댑터(21)와 통신함으로써, 제2 통신 노드 A(22A) 및 제2 통신 노드 B(22B)가 BLE 프로토콜을 쓰면서도 다른 프로토콜을 이용하는 장치들과 통신할 수 있도록 한다.
MQTT 브로커(31, 32)는 중개 역할을 수행한다. 예를 들어, 제1 MQTT 브로커(31)는 제1 브로커 노드 A(31A)와 제2 브로커 노드 B(31B)에 대한 중계 역할을 수행할 수 있다. 예를 들어, 제2 브로커 노드 B(31B)가 MQTT 토픽을 제1 MQTT 브로커(31)에 발간할 수 있고, 제1 브로커 노드 A(31A)가 MQTT 토픽을 제1 MQTT 브로커(31)로부터 구독할 수 있다.
사물인터넷 환경에서 외부망과 연결하기 위한 대표적인 사물인터넷 응용 프로토콜에는 MQTT, AMQP(Advanced Message Queuing Protocol), 및 CoAP(Constrained Application Protocol) 등이 있다. 본 실시예에서 다루는 MQTT는 2013년 OASIS(Organization for the Advancement of Structured Information Standards)에 의해 표준화되고 사물인터넷과 같이 자원이 제한된 네트워크 환경에 최적화된 경량 메시지 전송 프로토콜이다. MQTT는 다수의 사용자, 디바이스를 지원하며 응용 코드 변경 없이 기능을 사용할 수 있기 때문에 다른 사물인터넷 응용 프로토콜보다 유연성과 확장성, 그리고 신뢰성이 뛰어나다.
본 실시예의 MQTT 어댑터(10)는 이러한 DDS 미들웨어(20)와 MQTT 브로커(31, 32)가 서로 통신할 수 있도록 하는 미들웨어 역할을 수행함으로써, 예를 들어 BLE 프로토콜을 사용하고 있는 제2 통신 노드 A(22A)가 MQTT 프로토콜을 쓰고 있는 제1 브로커 노드 A(31A)와 통신할 수 있도록 한다.
MQTT 어댑터(10)는 DDS 미들웨어(20)를 통해 내부망의 가상 어댑터(22A, 22B)와 통신하고, MQTT 프로토콜을 사용하여 외부망(31A, 31B)과 통신할 수 있다. MQTT와 DDS는 발간 및 구독 방식으로 토픽 단위로 정보를 교환하는 점이 같지만 MQTT는 발간자(31B)와 구독자(31A) 사이에서 중계 역할을 하는 MQTT 브로커(31, 32)가 필요하다.
DDS 토픽은 OMG의 IDL(Interface Definition Language)에 의해 명세된다. IDL은 컴포넌트의 인터페이스를 묘사하기 위한 명세 언어로 특정 언어에 의존적이지 않는 토픽을 주고받기 위해 사용된다.
MQTT 토픽은 슬래쉬(slash)로 구분된 계층적 구조를 갖는다. MQTT는 발간을 할 때는 보내고자 하는 토픽과 데이터를 전송하고, 구독을 할 때는 해당 토픽으로 오는 정보가 있는 지 여부를 확인하고 구독한다.
MQTT 어댑터(10)는 사물 인터넷의 서비스 연동을 위해 클라이언트 역할과 서버 역할을 모두 수행하는 것으로서, MQTT와 DDS 기반의 토픽을 상호 변환하는 동작을 수행한다.
도 2는 본 발명의 한 실시예에 따른 MQTT 어댑터의 구성을 설명하기 위한 도면이다.
도 2를 참조하면, 본 발명의 한 실시예에 따른 MQTT 어댑터(10)는 DDS 엔터티 매니저(110), 토픽 변환부(190), 및 MQTT 매니저(150)를 포함한다.
DDS 엔터티 매니저(110), 토픽 변환부(190), MQTT 매니저(150), DDS 토픽 인스턴스 매니저(120), 메타데이터 매니저(130), 및 MQTT 토픽 인스턴스 매니저(140)는 MQTT 어댑터(10)의 각 기능부를 구성하고 있다. 이러한 각 기능부는 물리적으로 분리된 하드웨어로 구현될 수도 있지만, 동일한 하드웨어 상에 소프트웨어적으로 분리되어 구현될 수도 있다.
DDS 엔터티 매니저(DDS entity manager)(110)는 DDS 미들웨어(20)와 통신하며 DDS 토픽을 발간 또는 구독한다. DDS 엔터티 매니저(110)는 발간자(publisher)와 구독자(subscriber) 등록을 통해 DDS 토픽을 발간 및 구독할 수 있다. DDS 엔터티 매니저(110)는 DDS를 이용하기 위해 DDS 관련 엔터티를 생성할 수 있는 API를 가진 컴포넌트로 DDS 엔터티의 생성, 관리, 및 삭제를 수행할 수 있다.
토픽 변환부(190)는 DDS 토픽 및 MQTT 토픽을 상호 변환한다. 실시예에 따라, 토픽 변환부(190)는 DDS 토픽 인스턴스 매니저(120), 메타데이터 매니저(130), MQTT 토픽 인스턴스 매니저(140)를 포함할 수 있다.
DDS 토픽 인스턴스 매니저(DDS topic instance manager)(120)는 DDS 토픽을 구독하는 경우 DDS 토픽을 메타데이터로 변환하고, DDS 토픽을 발간하는 경우 메타데이터를 DDS 토픽으로 변환할 수 있다. 실시예에 따라, DDS 토픽 인스턴스 매니저(120)는 DDS 토픽의 유효성을 검사할 수도 있다. 또한 데이터 필터링을 수행할 수도 있다. 메타데이터는 MQTT 어댑터(10)에서 사용되는 일반 데이터 타입일 수 있다.
메타데이터 매니저(metadata manager)(130)는 DDS 토픽 또는 MQTT 토픽과 대응하는 메타데이터를 관리할 수 있다. 실시예에 따라, 메타데이터 매니저(130)는 메타데이터의 저장, 수정, 및 관리를 수행할 수 있다. 메타데이터 매니저(130)는 가상 어댑터(21, 22)를 통해 받은 장치 정보(22A, 22B) 저장 및 삭제를 수행할 수 있다. 또한 메타데이터 매니저(130)는 외부 장치 정보(31A, 31B)의 저장 및 삭제를 수행할 수도 있다.
MQTT 토픽 인스턴스 매니저(MQTT topic instance manager)(140)는 MQTT 토픽을 구독하는 경우 MQTT 토픽을 메타데이터로 변환하고, MQTT 토픽을 발간하는 경우 메타데이터로 변환할 수 있다. 실시예에 따라, MQTT 토픽 인스턴스 매니저는 MQTT 토픽의 유효성을 검사함으로써 불필요한 토픽 정보를 필터링할 수도 있다.
MQTT 매니저(MQTT manager)(150)는 MQTT 브로커(30)와 통신하며 MQTT 토픽을 발간 또는 구독할 수 있다. 실시예에 따라, MQTT 매니저(150)는 발간자 및 구독자를 포함하고 이에 대한 MQTT 브로커(30)와의 연결 수립 및 해제를 제어할 수 있다. MQTT 매니저(150)는 MQTT 브로커(30)를 관리할 수도 있다.
MQTT 브로커(30)는 발간자와 구독자의 IP 주소를 알아야 하지만 발간자와 구독자는 서로의 IP를 모르더라도 MQTT 브로커(30)를 통해 데이터 교환이 가능하다. 이러한 방식 때문에 MQTT 어댑터(10)는 MQTT 브로커(30)와 연결되어 있는 외부망 영역의 정보를 알지 못해도 양방향 데이터 교환이 가능하다.
이하에서는 MQTT 어댑터(10)의 활용예로서, DDS 망에 연결된 제1 장치의 정보를 MQTT 망에 위치한 제2 장치가 획득하는 과정을 설명한다.
DDS 엔터티 매니저(110)가 구독한 제1 DDS 토픽이 DDS 미들웨어(20)와 통신하는 제1 장치의 제1 장치 정보와 대응하는 경우, DDS 토픽 인스턴스 매니저(120)는 제1 DDS 토픽을 제1 메타데이터로 변환하고, MQTT 토픽 인스턴스 매니저(140)는 제1 메타데이터와 대응하는 메타데이터를 제1 MQTT 토픽으로 변환하고, MQTT 매니저(150)는 제1 MQTT 토픽을 MQTT 브로커(30)에 발간함으로써, MQTT 브로커(30)의 구독자인 제2 장치가 제1 장치 정보를 획득할 수 있다.
이에 대해서는 도 3을 참조하여 더 상세히 설명한다.
이하에서는 MQTT 어댑터(10)의 다른 활용예로서, MQTT 망에 연결된 제3 장치의 정보를 DDS 망에 위치한 제4 장치가 획득하는 과정을 설명한다.
MQTT 매니저(150)가 구독한 제2 MQTT 토픽이 MQTT 브로커(30)와 통신하는 제3 장치의 제3 장치 정보와 대응하는 경우, MQTT 토픽 인스턴스 매니저(140)는 제2 MQTT 토픽을 제2 메타데이터로 변환하고, DDS 토픽 인스턴스 매니저(120)는 제2 메타데이터와 대응하는 메타데이터를 제2 DDS 토픽으로 변환하고, DDS 엔터티 매니저(110)는 제2 DDS 토픽을 DDS 미들웨어(20)에 발간함으로써, DDS 미들웨어(20)의 구독자인 제4 장치가 제3 장치 정보를 획득할 수 있다.
이에 대해서는 도 4를 참조하여 더 상세히 설명한다.
도 3은 본 발명의 한 실시예에 따른 일방향의 토픽 처리 방법을 설명하기 위한 도면이고, 도 4는 본 발명의 한 실시예에 따른 타방향의 토픽 처리 방법을 설명하기 위한 도면이다.
도 3 및 4를 참조하여, MQTT 어댑터(10)의 양방향 연동 과정을 설명한다. 본 실시예에서는 가상 어댑터(22)에 LED 장치(22A)가 연결되어 있고, MQTT 브로커(31)에 LED 제어 장치(31A)가 연결되어 있음을 가정한다(도 1 참조).
이하에서, LED 제어 장치(31A)가 LED 장치(22A)의 정보를 얻는 과정을 먼저 기술한다.
먼저, DDS 엔터티 매니저(110)가 DDS 미들웨어(20)로부터 제1 DDS 토픽을 구독한다(S310). 예를 들어, 제1 DDS 토픽은 DDS 미들웨어(20)와 통신하는 제1 장치의 제1 장치 정보와 대응할 수 있다. 여기서 제1 장치는 LED 장치(22A)일 수 있다. 이때 제1 DDS 토픽은 LED 장치(22A)의 정보 토픽일 수 있다.
다음으로, DDS 토픽 인스턴스 매니저(120)가 제1 DDS 토픽을 제1 메타데이터로 변환한다(S320). DDS 토픽 인스턴스 매니저(120)는 제1 DDS 토픽의 ID 값을 확인해 유효한 토픽의 경우 필요한 데이터를 추출할 수 있다. 메타데이터 매니저(130)는 DDS 토픽 인스턴스 매니저(120)로부터 받은 데이터 중에서 관리가 필요한 속성 값에 대해 저장 및 관리를 수행할 수 있다.
다음으로, MQTT 토픽 인스턴스 매니저(140)가 제1 메타데이터와 대응하는 메타데이터를 제1 MQTT 토픽으로 변환한다(S330). 즉, MQTT 토픽 인스턴스 매니저(140)는 LED 장치(22A)의 정보가 포함된 제1 MQTT 토픽을 생성할 수 있다.
다음으로, MQTT 매니저(150)가 MQTT 브로커(30)에 제1 MQTT 토픽을 발간한다(S340). 예를 들어, MQTT 브로커(30)의 구독자인 제2 장치가 MQTT 브로커(30)를 통해서 제1 장치 정보를 획득할 수 있다. 이때, 제2 장치는 LED 제어 장치(31A)일 수 있다.
이하에서, LED 제어 장치(31A)가 LED 장치(22A)에 제어 신호를 보내는 과정을 기술한다.
먼저, MQTT 매니저(150)가 MQTT 브로커(30)로부터 제2 MQTT 토픽을 구독한다(S410). 예를 들어, 제2 MQTT 토픽은 MQTT 브로커(30)와 통신하는 제3 장치의 제3 장치 정보와 대응할 수 있다. 여기서 제3 장치는 LED 제어 장치(31A)일 수 있다. 이때 제2 MQTT 토픽은 LED 제어 장치(31A)의 제어 토픽일 수 있다.
다음으로, MQTT 토픽 인스턴스 매니저(140)가 제2 MQTT 토픽을 제2 메타데이터로 변환한다(S420). MQTT 토픽 인스턴스 매니저(140)는 전달받은 토픽의 ID와 상태 값을 통해 유효성 검사를 수행할 수 있다. 메타데이터 매니저(130)는 MQTT 토픽 인스턴스 매니저(140)로부터 받은 데이터 중에서 관리가 필요한 속성 값에 대해 저장 및 관리를 수행할 수 있다.
다음으로, DDS 토픽 인스턴스 매니저(120)가 제2 메타데이터와 대응하는 메타데이터를 제2 DDS 토픽으로 변환한다(S430). 즉, DDS 토픽 인스턴스 매니저(120)는 LED 제어 장치(31A)의 제어 데이터가 포함된 제2 DDS 토픽을 생성할 수 있다.
다음으로, DDS 엔터티 매니저(110)가 DDS 미들웨어(20)에 제2 DDS 토픽을 발간한다(S440). 예를 들어, DDS 미들웨어(20)의 구독자인 제4 장치가 DDS 미들웨어(20)를 통해서 제3 장치 정보를 획득할 수 있다. 이때 제4 장치는 LED 장치(22A)일 수 있다.
위와 같은 발간 및 구독 과정을 통해 MQTT 어댑터(10)는 내부망과 외부망과의 양방향 연동이 가능하다. 이를 통해 외부 디바이스는 내부망의 가상 어댑터들이 어떤 프로토콜을 사용해 센서와 연결되는지 신경쓰지 않고도 센서에 대한 정보 모니터링과 제어를 할 수 있다. 또한 양방향 연동을 통해 내부 데이터와 외부 데이터를 융합할 수 있어 사용자에게 풍부한 서비스를 제공해 줄 수 있다.
지금까지 참조한 도면과 기재된 발명의 상세한 설명은 단지 본 발명의 예시적인 것으로서, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10: MQTT 어댑터
110: DDS 엔터티 매니저
190: 토픽 변환부
150: MQTT 매니저

Claims (10)

  1. DDS 미들웨어와 통신하며 DDS 토픽을 발간 또는 구독하는 DDS 엔터티 매니저(DDS entity manager);
    MQTT 브로커와 통신하며 MQTT 토픽을 발간 또는 구독하는 MQTT 매니저(MQTT manager); 및
    상기 DDS 토픽 및 상기 MQTT 토픽을 상호 변환하는 토픽 변환부를 포함하는
    MQTT 어댑터.
  2. 제1 항에 있어서,
    상기 토픽 변환부는
    상기 DDS 토픽을 구독하는 경우 상기 DDS 토픽을 메타데이터로 변환하고, 상기 DDS 토픽을 발간하는 경우 상기 메타데이터를 상기 DDS 토픽으로 변환하는 DDS 토픽 인스턴스 매니저(DDS topic instance manager)를 포함하는
    MQTT 어댑터.
  3. 제2 항에 있어서,
    상기 토픽 변환부는
    상기 MQTT 토픽을 구독하는 경우 상기 MQTT 토픽을 상기 메타데이터로 변환하고, 상기 MQTT 토픽을 발간하는 경우 상기 메타데이터로 변환하는 MQTT 토픽 인스턴스 매니저(MQTT topic instance manager)를 더 포함하는
    MQTT 어댑터.
  4. 제3 항에 있어서,
    상기 토픽 변환부는
    상기 DDS 토픽 또는 상기 MQTT 토픽과 대응하는 메타데이터를 관리하는 메타데이터 매니저(metadata manager)를 더 포함하는
    MQTT 어댑터.
  5. 제4 항에 있어서,
    상기 DDS 엔터티 매니저가 구독한 제1 DDS 토픽이 상기 DDS 미들웨어와 통신하는 제1 장치의 제1 장치 정보와 대응하는 경우,
    상기 DDS 토픽 인스턴스 매니저는 상기 제1 DDS 토픽을 제1 메타데이터로 변환하고,
    상기 MQTT 토픽 인스턴스 매니저는 상기 제1 메타데이터와 대응하는 메타데이터를 제1 MQTT 토픽으로 변환하고,
    상기 MQTT 매니저는 상기 제1 MQTT 토픽을 상기 MQTT 브로커에 발간함으로써, 상기 MQTT 브로커의 구독자인 제2 장치가 상기 제1 장치 정보를 획득하는
    MQTT 어댑터.
  6. 제4 항에 있어서,
    상기 MQTT 매니저가 구독한 제2 MQTT 토픽이 상기 MQTT 브로커와 통신하는 제3 장치의 제3 장치 정보와 대응하는 경우,
    상기 MQTT 토픽 인스턴스 매니저는 상기 제2 MQTT 토픽을 제2 메타데이터로 변환하고,
    상기 DDS 토픽 인스턴스 매니저는 상기 제2 메타데이터와 대응하는 메타데이터를 제2 DDS 토픽으로 변환하고,
    상기 DDS 엔터티 매니저는 상기 제2 DDS 토픽을 상기 DDS 미들웨어에 발간함으로써, 상기 DDS 미들웨어의 구독자인 제4 장치가 상기 제3 장치 정보를 획득하는,
    MQTT 어댑터.
  7. DDS 미들웨어로부터 제1 DDS 토픽을 구독하는 단계;
    상기 제1 DDS 토픽을 제1 메타데이터로 변환하는 단계;
    상기 제1 메타데이터와 대응하는 메타데이터를 제1 MQTT 토픽으로 변환하는 단계; 및
    MQTT 브로커에 상기 제1 MQTT 토픽을 발간하는 단계를 포함하는
    토픽 처리 방법.
  8. 상기 제1 DDS 토픽은 상기 DDS 미들웨어와 통신하는 제1 장치의 제1 장치 정보와 대응하고,
    상기 MQTT 브로커의 구독자인 제2 장치가 상기 MQTT 브로커를 통해서 상기 제1 장치 정보를 획득하는,
    토픽 처리 방법.
  9. MQTT 브로커로부터 제2 MQTT 토픽을 구독하는 단계;
    상기 제2 MQTT 토픽을 제2 메타데이터로 변환하는 단계;
    상기 제2 메타데이터와 대응하는 메타데이터를 제2 DDS 토픽으로 변환하는 단계; 및
    DDS 미들웨어에 상기 제2 DDS 토픽을 발간하는 단계를 포함하는
    토픽 처리 방법.
  10. 상기 제2 MQTT 토픽은 상기 MQTT 브로커와 통신하는 제3 장치의 제3 장치 정보와 대응하고,
    상기 DDS 미들웨어의 구독자인 제4 장치가 상기 DDS 미들웨어를 통해서 상기 제3 장치 정보를 획득하는,
    토픽 처리 방법.
KR1020160173674A 2016-12-19 2016-12-19 Mqtt 어댑터 및 이를 이용한 토픽 처리 방법 KR101915683B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160173674A KR101915683B1 (ko) 2016-12-19 2016-12-19 Mqtt 어댑터 및 이를 이용한 토픽 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160173674A KR101915683B1 (ko) 2016-12-19 2016-12-19 Mqtt 어댑터 및 이를 이용한 토픽 처리 방법

Publications (2)

Publication Number Publication Date
KR20180071002A true KR20180071002A (ko) 2018-06-27
KR101915683B1 KR101915683B1 (ko) 2018-11-07

Family

ID=62789679

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160173674A KR101915683B1 (ko) 2016-12-19 2016-12-19 Mqtt 어댑터 및 이를 이용한 토픽 처리 방법

Country Status (1)

Country Link
KR (1) KR101915683B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656726A (zh) * 2018-11-28 2019-04-19 中国船舶重工集团公司第七〇九研究所 一种适用于数据中心的工业信息交互系统及方法
KR102074916B1 (ko) * 2018-08-01 2020-02-07 충북대학교 산학협력단 Rpl 기반 분산 mqtt 브로커 구조
CN112104720A (zh) * 2020-09-03 2020-12-18 国电南瑞科技股份有限公司 适用于边缘物联终端的MQTT双Broker数据交互方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101157039B1 (ko) * 2012-01-06 2012-06-21 국방과학연구소 Ddsb 통신 시스템 및 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
OASIS, "MQTT Version 3.1.1", http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/mqtt-v3.1.1.html, Dec 2015

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102074916B1 (ko) * 2018-08-01 2020-02-07 충북대학교 산학협력단 Rpl 기반 분산 mqtt 브로커 구조
CN109656726A (zh) * 2018-11-28 2019-04-19 中国船舶重工集团公司第七〇九研究所 一种适用于数据中心的工业信息交互系统及方法
CN112104720A (zh) * 2020-09-03 2020-12-18 国电南瑞科技股份有限公司 适用于边缘物联终端的MQTT双Broker数据交互方法及系统
CN112104720B (zh) * 2020-09-03 2024-04-26 国电南瑞科技股份有限公司 适用于边缘物联终端的MQTT双Broker数据交互方法及系统

Also Published As

Publication number Publication date
KR101915683B1 (ko) 2018-11-07

Similar Documents

Publication Publication Date Title
EP3117590B1 (en) Computer system to support failover in an event stream processing system
CN107454092B (zh) 一种opcua与dds协议信号转换装置、通信系统及通信方法
US8683545B2 (en) Federating policies from multiple policy providers
US20190132276A1 (en) Unified event processing for data/event exchanges with existing systems
US20160294667A1 (en) System and method for providing an application programming interface manager for use with a service bus runtime
US20060167897A1 (en) Administration of a broker-based publish/subscribe messaging system
WO2004107216A2 (en) A publish/subscribe mechanism for web services
KR101915683B1 (ko) Mqtt 어댑터 및 이를 이용한 토픽 처리 방법
Yim et al. Description and classification for facilitating interoperability of heterogeneous data/events/services in the Internet of Things
KR101602099B1 (ko) 사물인터넷에서 레스트 기반의 서비스 연동 시스템 및 그 방법
US8230448B2 (en) Methods, systems and computer program products for web service interaction with a resource management system
US20150370546A1 (en) Method and apparatus for generating data distribution service application
KR101602100B1 (ko) 사물 인터넷에서 dds 기반의 이질적인 사물 메시지 통합 방법
KR101890310B1 (ko) Mqtt 프로토콜 연동을 위한 어댑터 및 그를 이용한 데이터 교환 시스템
Díaz et al. -CoAP: An Internet of Things and Cloud Computing Integration Based on the Lambda Architecture and CoAP
KR102345082B1 (ko) 클라우드 기반 iec61850 정보 처리 방법
Köksal et al. Feature-driven domain analysis of session layer protocols of internet of things
Cavalieri et al. A web-based platform for OPC UA integration in IIoT environment
Delsing et al. Arrowhead framework core systems and services
Birman et al. Building net-centric military applications over service oriented architectures
KR20160000544A (ko) 데이터 분산 서비스에서 서비스 품질 프로파일 결정 방법 및 장치
KR101911359B1 (ko) 저전력 블루투스 어댑터 및 그를 이용한 데이터 교환 시스템
KR20150095098A (ko) 정보 중심 네트워크를 이용한 데이터 질의 처리 방법
EP2961134A1 (en) Publish/Subscribe network comprising devices including a resource sharing application for sharing of resources
KR20190030897A (ko) 사물인터넷 환경에서의 이질적인 객체의 상호운용을 위한 가상 객체 어댑터가 적용된 데이터 분산 서비스 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant