$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

IIoT용 우선순위 토픽 기반 MQTT에 관련한 연구
A Study on MQTT based on Priority Topic for IIoT 원문보기

The journal of the institute of internet, broadcasting and communication : JIIBC, v.19 no.5, 2019년, pp.63 - 71  

오세춘 (한국산업기술대학교 컴퓨터공학부) ,  김영곤 (한국산업기술대학교 컴퓨터공학부)

초록
AI-Helper 아이콘AI-Helper

4차 산업혁명시대를 맞이하여 스마트팩토리의 구축에 관한 많은 연구가 진행되고 있다. 이러한 스마트팩토리의 구축과 관련된 다양한 기술들 중에서 핵심기술 중의 하나는 데이터의 송수신을 처리하는 IoT용 프로토콜 부문이다. 이와 관련하여 일반적으로 MQTT 프로토콜이 가장 많이 사용되고 있으나 기존의 MQTT 기술은 메시지의 우선순위 개념이 없기 때문에 실시간성을 요구하는 산업용 현장에 적용하기에는 다소 부족한 면이 있다. 특히 특정 설비의 고장발생에 따른 관련 설비 전체의 비상정지 등과 같은 긴급 상황에서는 긴급한 메시지의 우선순위 처리가 매우 중요하다. 이를 개선하기 위해 우선순위 기반 MQTT에 관한 연구도 일부 진행되고 있으나 이러한 연구들은 MQTT 표준 규격을 변형한 방식이기 때문에 실제 현장에서 사용하기에는 문제점을 안고 있다. 따라서 본 연구에서는 MQTT 표준을 준수하면서도 메시지의 우선순위 처리가 가능한 MQTT에 관련한 연구를 실시하고 이를 검증한다.

Abstract AI-Helper 아이콘AI-Helper

Recently, there has been a lot of research on the construction of smart factory in the 4th Industrial Revolution era. Among the various technologies involved in the deployment of smart factory, one of the key technologies is the IoT protocol sector that handles the transmission and reception of data...

주제어

표/그림 (13)

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

제안 방법

  • ‘PUBLSIH’ 패킷에서 우선순위 정보를 실어서 전송하기 위해서 본 연구에서는 기존의 고정 헤더 필드를 변형 하거나 추가하는 방식 대신에 토픽 문자열의 첫 글자에 우선순위를 부여하는 새로운 방식을 제안한다.
  • IoT 시스템의 구축에 많이 사용되는 메시지 프로토콜인 MQTT(mosquitto)를 기반으로 IIoT의 환경에 반드시 필수적이지만 지원되지 않았던 기능인 우선순위 기반의 메시지 처리 기법을 적용하기 위해서 우선순위 설정 방안과 ‘multi-scanned priority sorting 알고리즘’을 제안하고 이에 대한 결과를 검증했다. 본 연구에서 제안된 방식과 알고리즘은 기존의 우선순위 기반 메시지 처리에 관련한 연구와는 다르게 MQTT 표준을 완벽하게 준수하면서도 매우 단순화된 알고리즘을 사용하여 상대적으로 적은 CPU 리소스만으로도 실행이 가능하다는 장점을 가지고 있음을 확인할 수 있었다.
  • 이는 향후 라즈베이 파이를 MQTT 브로커의 용도로 사용하기 위한 목적이며 Raspbian 이외에 Ubuntu나 Windows 등의 기타 운영체제를 사용해도 동일한 방법으로 실험환경을 구축할 수 있다. Mosquitto의 소스는 ELCIPSE Mosquitto 홈페이지[10]에서 version 1.6.2를 다운로드 받아서 Raspbian 위에 설치를 했으며 본 연구에서 제안하는 알고리즘을 적용하기 위해서 관련된 일부 소스 파일들을 수정했다. Publisher는 Paho의 Python MQTT 라이브러리[11]를이용해서, subscriber는 mosquitto_sub 프로그램을 이용해서 구성했다.
  • 따라서 본 연구에서는 MQTT 표준을 준수하면서 우선순위를 사용하는 기법과 단일 큐를 사용하여 복수 큐방식보다 상대적으로 적은 CPU 리소스를 사용하면서도 메시지의 우선순위 처리를 할 수 있는 ‘multi-scanned priority sorting 알고리즘’을 제안한다.
  • MQTT 브로커용 소프트웨어는 mosquitto, RSMB, HiveMQ, RabbitMQ 등 매우 다양한 종류가 있으나 최근에는 오픈소스 프로젝트인 mosquitto를 가장 많이 사용하고 있다. 따라서 본 연구에서도 mosquitto를 기반으로 알고리즘을 검토 및 구현하였다. Mosquitto 프로그램의 컴파일 시에 EPOLL 옵션을 선택하여 제안된 알고리즘을 구현했는데 만약 SELECT 옵션을 선택할 경우라도 제시된 알고리즘의 기본 개념을 동일하게 적용하면 특별한 문제없이 쉽게 적용이 가능하다.
  • 따라서 토픽 문자열을 구성할 때는 ‘+’, ‘/’, ‘#’, ‘$’ 등의 몇 가지 MQTT 표준에서 예약(Reserved)된 문자와 제어용 코드 이외의 대부분의 ASCII 형식의 문자들을 이용해서 구성할 수 있는데, 본 연구에서는 이 중에서 잘 사용되지 않는 몇 개의 문자를 우선순위 결정용 문자로 지정하고 이 문자를 토픽 문자열의 첫 글자로 활용함으로써 해당 토픽의 우선순위를 부여하는 방법을 제안한다.
  • 본 연구에서 제안하는 두 번째 부분은 브로커의 입력단에 적용되며 복수개의 publisher들로부터 순차적으로 입력받고 처리를 기다리고 있는 복수개의 메시지들을 우선순위에 맞게 처리해 주는 ‘multi-scanned priority sorting 알고리즘’ 대한 내용이다.
  • 정량적인 분석을 위한 실험은 표 1과 같이 총 5종류의 형태로 구성하였고, 각 실험조건을 실행할 때 모든 publisher들은 병렬로 실행이 되며 각각 200ms 주기로 메시지를 반복 출력하고 추가적인 하나의 subscriber에서 수신하는 것으로 설정하였다. 각 실험에서 주의할 점은 시뮬레이션 조건에서 사용되는 리눅스의 경우 비동기적인 특성을 가지며 또한 개별 publisher 간의 실행 시점의 차이로 인해 실험을 할 때마다 실행 환경에 따라 결과가 다르게 나타나는 경우가 있다.
  • 첫 번째 제안은 기존의 MQTT 프로토콜에 충실한 우선순위의 설정 및 전달방법에 대한 내용이며, 두 번째 제안은 브로커의 입력단에서 순차적으로 입력된 복수개의 메시지들을 단일 큐를 사용하여 복수 큐 방식보다 상대적으로 적은 CPU 리소스를 이용하면서 우선순위에 따른 순서대로 메시지를 처리하는 ‘multi-scanned priority sorting 알고리즘’ 대한 내용이다.
  • 첫 번째로는 우선순위가 가장 높은 토픽들을 우선적으로 mosquitto 입력처리부로 넘겨주는 절차인데, 이때는 i를 0부터 n-1까지 1씩 증가시키면서 prio_flag[i]에 2의 값으로 설정된 모든 토픽들을 차례로 mosquitto 입력처리부로 넘겨주어 최상위 우선순위를 갖는 모든 토픽을 먼저 처리하며, 그 이후 다시 i를 0부터 n-1까지 1씩 증가시키면서 prio_flag[i]의 값이 1인 모든 토픽들을 mosquitto 입력처리부로 넘겨주어 두 번째 우선순위를 갖는 모든 토픽들을 처리하게 하고, 마지막으로 다시 i를 0부터 n-1까지 1씩 증가시키면서 prio_flag[i]의 값이 0인 우선순위 지정이 없는 토픽이거나 ‘PUBLISH’가 아닌 패킷들을 mosquitto의 입력처리부로 넘겨주어 모든 토픽을 처리하게 된다.

대상 데이터

  • 제안하는 알고리즘을 검증하기 위한 실험 환경은 i5 PC와 Windows 10 환경에서 가상머신 소프트웨어인 VMware를 이용하여 ‘Raspbian stretch with Desktop[9]을 설치하여 구성했다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
IoT은 무엇인가? IoT(Internet of Things)는 지능화된 각종 사물들이 네트워크를 통해 서로 연결되어 사물들 간의 통신, 사물과 인간 간의 통신 등을 지원하여 다양한 부가가치를 창출하는 기술이다. IoT는 기존의 소셜 네트워크 서비스는 물론이고 스마트팩토리(SmartFactory), 스마트팜(SmartFarm) 등의 다양한 분야에 새롭게 적용되고 있다.
IoT 시스템들은 어떠한 환경에서 동작하며, 무엇이 필요한가? IoT는 기존의 소셜 네트워크 서비스는 물론이고 스마트팩토리(SmartFactory), 스마트팜(SmartFarm) 등의 다양한 분야에 새롭게 적용되고 있다. 이러한 대부분의 시스템들은 제한된 네트워크 및 컴퓨팅 능력의 환경에서 동작되기 때문에 경량의 메시지 전송 프로토콜의 사용이 필수적이다. 이러한 환경에서 사용될 수 있는 IoT용 경량 메시지 전송 프로토콜은 MQTT(Message Queuing Telemetry Transport), CoAP(Constrained Application Protocol), XMPP(eXtensible Messaging and Presence Protocol) 등이 있다.
IoT의 적용분야는? IoT(Internet of Things)는 지능화된 각종 사물들이 네트워크를 통해 서로 연결되어 사물들 간의 통신, 사물과 인간 간의 통신 등을 지원하여 다양한 부가가치를 창출하는 기술이다. IoT는 기존의 소셜 네트워크 서비스는 물론이고 스마트팩토리(SmartFactory), 스마트팜(SmartFarm) 등의 다양한 분야에 새롭게 적용되고 있다. 이러한 대부분의 시스템들은 제한된 네트워크 및 컴퓨팅 능력의 환경에서 동작되기 때문에 경량의 메시지 전송 프로토콜의 사용이 필수적이다.
질의응답 정보가 도움이 되었나요?

참고문헌 (11)

  1. Hun Jung, "Study on the MQTT protocol design for the application of the real-time HVAC System", International Journal of Internet, Broadcasting and Communication Vol.8, No.1 19-26, 2016. DOI: http://dx.doi.org/10.7236/IJIBC.2016.8.1.19 

  2. Se-Chun Oh, Tae-Hyung Kim, Young-Gon Kim, "Implementation of factory monitoring system using MQTT and Node-RED", The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), Vol. 18, No. 4, pp.211-218, Aug 2018. DOI: https://doi.org/10.7236/JIIBC.2018.18.4.211 

  3. Jae-wook Ko, Hye-Jeong Kim, Bo-Kyung Lee, "Factory environmental management system based on MQTT using LoRa", The Journal of The Institute of Internet, Broadcasting and Communication (IIBC), Vol. 18, No. 6, pp.83-90, Dec 2018. DOI: https://doi.org/10.7236/JIIBC.2018.18.6.83 

  4. Bo-Hun Kim, Hwang-Rae Kim, "Design of the Smart Control System for Industrial Automation Equipment", Journal of the Korea Academia-Industrial cooperation Society, Vol. 18, No. 4 pp. 677-684, 2017. DOI: https://doi.org/10.5762/KAIS.2017.18.4.677 

  5. Sung-jin Kim, Chang-heon Oh, "Method for Message Processing According to Priority in MQTT Broker", Journal of the Korea Institute of Information and Communication Engineering, Vol. 21, No. 7, pp.1320-1326 Jul 2017. DOI: https://doi.org/10.6109/jkiice.2017.21.7.1320 

  6. Geonwoo Kim, Jiwoo Park, Kwangsue Chung, "Priority-based Multi-level MQTT System to Provide Differentiated IoT Services", Journal of KIISE, Vol. 45, No. 9, pp.969-974, Sep 2018. DOI: https://doi.org/10.5626/JOK.2018.45.9.969 

  7. Yong-Seong Kim, Hwi-Ho Lee, "Message Queue Telemetry Transport Broker with Priority Support for Emergency Events in Internet of Things", Sensors and Materials, Vol. 30, No. 8, pp.1715-1721, Aug 2018. DOI: http://dx.doi.org/10.18494/SAM.2018.1864 

  8. http://mqtt.org/ 

  9. https://www.raspberrypi.org/ 

  10. https://mosquitto.org/ 

  11. https://pypi.org/project/paho-mqtt/ 

저자의 다른 논문 :

관련 콘텐츠

오픈액세스(OA) 유형

BRONZE

출판사/학술단체 등이 한시적으로 특별한 프로모션 또는 일정기간 경과 후 접근을 허용하여, 출판사/학술단체 등의 사이트에서 이용 가능한 논문

이 논문과 함께 이용한 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로