KR20200048907A - 발행 및 구독 통신 시스템 및 그 동작 방법 - Google Patents

발행 및 구독 통신 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR20200048907A
KR20200048907A KR1020180131541A KR20180131541A KR20200048907A KR 20200048907 A KR20200048907 A KR 20200048907A KR 1020180131541 A KR1020180131541 A KR 1020180131541A KR 20180131541 A KR20180131541 A KR 20180131541A KR 20200048907 A KR20200048907 A KR 20200048907A
Authority
KR
South Korea
Prior art keywords
receiver
waiting period
state vector
broker
topic
Prior art date
Application number
KR1020180131541A
Other languages
English (en)
Other versions
KR102127652B1 (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 KR1020180131541A priority Critical patent/KR102127652B1/ko
Publication of KR20200048907A publication Critical patent/KR20200048907A/ko
Application granted granted Critical
Publication of KR102127652B1 publication Critical patent/KR102127652B1/ko

Links

Images

Classifications

    • 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
    • H04L67/2809
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 기술적 사상에 의한 일 양태에 따른 발행(Publish) 및 구독(subscribe) 통신 시스템의 동작 방법은 수신자(subscriber)의 상태에 대한 상태 벡터를 입력 받는 단계; 상기 입력된 상태 벡터(si) 및 상기 수신자의 대기 주기를 조절하기 위한 보상 함수(reward function)를 기초로, 상기 수신자의 루프 동작(loop operation)의 대기 주기(cycle)를 조절하기 위한 대기 주기 조정값을 생성하는 단계; 및 상기 생성된 대기 주기 조정값을 상기 수신자(subscriber)에 전달하는 단계를 포함할 수 있다.

Description

발행 및 구독 통신 시스템 및 그 동작 방법{PUBLISH AND SUBSCRIBE COMMUNICATION SYSTEM AND METHOD THEREOF}
본 발명의 기술적 사상은 발행 및 구독 통신 시스템 및 그 동작 방법에 관한 것으로, 보다 상세하게는, 구독 주기를 조절하는 발행 및 구독 통신 시스템 및 그 동작 방법에 관한 것이다.
발행-구독 모델은 비동기 메시징 패러다임이다.
발행-구독 모델에서 발신자(publisher)의 메시지는 특별한 수신자(subscriber)가 정해져 있지 않다.
발행된 메시지는 정해진 범주에 따라, 각 범주(topic)에 대한 구독을 신청한 수신자(subscriber)에게 전달된다.
수신자는 발행자에 대한 지식이 없어도 원하는 메시지만을 수신할 수 있다.
이러한 발행자와 수신자의 디커플링은 더 다이나믹한 네트워크 토폴로지와 높은 확장성을 허용한다.
정해지거나 적은 수의 클라이언트들이 존재하는 네트워크 환경과는 다른 엣지 네트워크(Edge Network)와 같은 미래형 네트워크 환경에서는, 다수의 클라이언트들이 존재하는 동적인 환경을 조성하고 있다.
발행-구독 모델에 따른 통신 구조는 사물인터넷(IoT) 환경에서 효과적인 프로토콜로서의 효율은 인정되고 있으나, 브로커(broker)에 연결(connection)을 유지하는 수신자의 수가 증가하면 작업에 부하가 걸리게 된다.
또한, 수신자가 루프 오퍼레이션(loop operation)을 진행하여 연결을 유지하는 과정에 있어서, 동일한 토픽에 대한 메시지가 브로커에 발행(publish)되지 않는다면 불필요한 자원의 소모가 발생한다.
본 발명의 기술적 사상에 따른 발행 및 구독 통신 시스템 및 그 동작 방법은 수신자의 대기 시간을 최적으로 제어하는데 목적이 있다.
또한, 본 발명은 심층신경망을 이용하여 수신자의 대기 주기를 조정하는데 목적이 있다.
또한, 본 발명은 수신자의 환경을 상태 벡터로 정의하고 보상 함수를 적용하여 대기 시간을 조정하는데 목적이 있다.
본 발명은 수신자의 대기 시간을 최적으로 제어하여, 수신자의 동작 효율 및 에너지 효율을 향상시키는데 목적이 있다.
본 발명의 기술적 사상에 따른 발행 및 구독 통신 시스템 및 그 동작 방법이 이루고자 하는 기술적 과제는 이상에서 언급한 과제(들)로 제한되지 않으며, 언급되지 않은 또 다른 과제(들)는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
본 발명의 기술적 사상에 의한 일 양태에 따른 발행(Publish) 및 구독(subscribe) 통신 시스템의 동작 방법은 수신자(subscriber)의 상태에 대한 상태 벡터를 입력 받는 단계; 상기 입력된 상태 벡터(si) 및 상기 수신자의 대기 주기를 조절하기 위한 보상 함수(reward function)를 기초로, 상기 수신자의 루프 동작(loop operation)의 대기 주기(cycle)를 조절하기 위한 대기 주기 조정값을 생성하는 단계; 및 상기 생성된 대기 주기 조정값을 상기 수신자(subscriber)에 전달하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 상태 벡터(si)는 상기 수신자가 지정한 토픽(topic)에 해당하는 메시지의 수(mi), 상기 토픽에 해당하는 메시지 중 중요도가 높은 메시지의 수(fi), 및 상기 토픽에 해당하는 중요한 메시지의 대기 시간(ti)을 포함할 수 있다.
예시적인 실시예에 따르면, 상기 보상 함수는 상기 상태 벡터로부터 유도되는 하기의 수학식인
Figure pat00001
일 수 있다.
예시적인 실시예에 따르면, 상기 대기 주기 조정값을 생성하는 단계는 상기 입력된 상태 벡터를 심층신경망에 입력하는 단계와, 상기 보상함수를 적용하여 상기 수신자의 대기 주기 조정 동작을 결정하는 단계와, 상기 보상 함수를 이용하여 상기 대기 주기값을 계산하는 단계를 포함할 수 있다.
예시적인 실시예에 따르면, 상기 심층신경망은 Q-러닝(Q-learning) 방식 및 정책 그라디언트(Policy Gradient) 방식 중 적어도 하나의 강화 학습 방식이 적용될 수 있다.
예시적인 실시예에 따르면, 상기 생성된 대기 주기 조정값을 상기 수신자에 전달하는 단계는 상기 수신자의 구독 동작 시 전달되어, 상기 수신자의 다음 주기에 대해 설정되도록 하는 단계를 포함할 수 있다.
본 발명의 기술적 사상에 의한 다른 양태에 따른 발행(Publish) 및 구독(subscribe) 통신 시스템에 포함되는 브로커(broker)는 적어도 하나의 프로세서; 및 상기 프로세서에 전기적으로 연결된 메모리를 포함하고, 상기 메모리는, 상기 프로세서가 실행 시에, 수신자(subscriber)의 상태에 대한 상태 벡터를 입력 받고, 상기 입력된 상태 벡터(si) 및 상기 수신자의 대기 주기를 조절하기 위한 보상 함수(reward function)를 기초로, 상기 수신자의 루프 동작(loop operation)의 대기 주기(cycle)를 조절하기 위한 대기 주기 조정값을 생성하고, 상기 생성된 대기 주기 조정값을 상기 수신자(subscriber)에 전달하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 상태 벡터(si)는 상기 수신자가 지정한 토픽(topic)에 해당하는 메시지의 수(mi), 상기 토픽에 해당하는 메시지 중 중요도가 높은 메시지의 수(fi), 및 상기 토픽에 해당하는 중요한 메시지의 대기 시간(ti)을 포함할 수 있다.
예시적인 실시예에 따르면, 상기 보상 함수는 상기 상태 벡터로부터 유도되는 하기의 수학식인
Figure pat00002
일 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 입력된 상태 벡터를 심층신경망에 입력하고, 상기 보상함수를 적용하여 상기 수신자의 대기 주기 조정 동작을 결정하고, 상기 보상 함수를 이용하여 상기 대기 주기값을 계산하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, Q-러닝(Q-learning) 방식 및 정책 그라디언트(Policy Gradient) 방식 중 적어도 하나의 강화 학습 방식을 상기 심층신경망에 적용하도록 하는 인스트럭션들을 저장할 수 있다.
예시적인 실시예에 따르면, 상기 메모리는, 상기 프로세서가 실행 시에, 상기 수신자의 구독 동작 시, 상기 대기 주기 조정값을 전달하여, 상기 수신자의 다음 주기에 대해 설정되도록 하는 인스트럭션들을 저장할 수 있다.
본 발명의 기술적 사상에 의한 실시예들에 따른 발행 및 구독 통신 시스템 및 그 동작 방법은 수신자의 대기 시간을 최적으로 제어할 수 있다.
본 발명은 심층신경망을 이용하여 수신자의 대기 주기를 조절할 수 있다.
또한, 본 발명은 수신자의 환경을 상태 벡터로 정의하고 보상 함수를 적용하여 대기 시간을 조정할 수 있다.
또한, 본 발명은 수신자의 대기 시간을 최적으로 제어하여, 수신자의 동작 효율 및 에너지 효율을 향상시킬 수 있다.
본 명세서에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 다양한 실시예에 따른 발행 및 구독 통신 시스템에 대한 개념도이다.
도 2는 본 발명의 다양한 실시예에 따른 강화 학습 에이전트를 포함하는 발행 및 구독 통신 시스템에 대한 개념도이다.
도 3은 본 발명의 다양한 실시예에 따른 대기 주기 조정 판단 동작에 대한 흐름도이다.
도 4는 본 발명의 다양한 실시예에 따른 대기 주기 조정 동작에 대한 흐름도이다.
도 5는 본 발명의 다양한 실시예에 따른 조정된 주기에 대한 예시도이다.
도 6은 본 발명의 일 실시예에 따른 실험 결과에 대한 그래프이다.
본 발명의 기술적 사상은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 이를 상세한 설명을 통해 상세히 설명하고자 한다. 그러나, 이는 본 발명의 기술적 사상을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 기술적 사상의 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 발명의 기술적 사상을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 기술적 사상의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.
또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에 기재된 "~부", "~기", "~자", "~모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 프로세서(Processor), 마이크로 프로세서(Micro Processor), 어플리케이션 프로세서(Application Processor), 마이크로 컨트롤러(Micro Controller), CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerate Processor Unit), DSP(Digital Signal Processor), ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등과 같은 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
그리고 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.
본 발명은 MQTT 프로토콜이 가지는 발행/구독(Publish/Subscribe) 통신 구조에 있어서, 트래픽이 이벤트 기반으로 일어나는(event-driven traffic generation) 환경에 최적화된 강화 학습 기반의 발행/구독 구조를 제안한다.
본 발명은 기존의 루프 구조에서 강화 학습을 통해 사물 인터넷 환경에서의 수신자(subscriber)의 효율적인 자원 활용을 보장한다.
본 발명은, 수신자(subscriber)가 토픽을 등록하고 브로커(broker)는 토픽을 저장한 후 수신자가 일정 시간 간격으로 브로커에 접속하여, 수신자가 관심있는 토픽의 메시지를 한번에 수신하는 형태에서, 수신자의 대기시간을 최적으로 제어하는 것을 목적으로 한다.
본 발명은 이러한 목적 달성을 위해, 수신자의 상태(state) 벡터를 정의하고, 상태를 심층 신경망(Deep Neural Network)에 입력하여 대기시간의 기준값을 조정할 수 있다. 본 발명은 대기시간 조정에 대해, 보상함수(Reward Function)을 적용하여, 대기시간 조정의 방향을 결정할 수 있다.
한편, 본 발명은 MQTT 프로토콜 이외의, 발행-구독 모델의 다양한 통신 프로토콜에 적용될 수 있다. 다만, 후술할 내용에서는 설명의 용이함을 위해 MQTT 프로토콜을 예로 설명하기로 한다.
MQTT 프로토콜은 발행/구독 통신 구조를 이용하여 M2M(Machine-to-machine)과 사물 인터넷 환경에서 효율적인 통신을 수행하도록 할 수 있다.
MQTT 프로토콜은 낮은 전력, 낮은 대역폭 환경에서도 통신이 가능하다.
MQTT 프로토콜은 MQTT 클라이언트와 MQTT 브로커 사이에 연결(Connect) 및 분리(Disconnect)하는 과정을 갖고 있으며, 연결이 이루어진 후 기본적으로 구독 및 (Subscribe) 및 구독 취소(Unsubscribe), 그리고 발행(Publish)을 통해서 연결 및 메시지를 송수신하도록 할 수 있다.
이하, 본 발명의 기술적 사상에 의한 실시예들을 차례로 상세히 설명한다.
도 1은 본 발명의 다양한 실시예에 따른 발행 및 구독 통신 시스템에 대한 개념도이다.
도 1을 참조하면, 발행 및 구독 통신 시스템은 발행자(publisher, 100), 브로커(broker, 200) 및 수신자(subscriber, 300)를 포함할 수 있다. 예를 들면, 발행 및 구독 통신 시스템은 1개 이상의 발행자(100)와 1개 이상의 수신자(300) 및 브로커(200)로 구성될 수 있다.
발행자(100)는 특정한 메시지를 보낼 수 있고, 수신자(200)는 해당 메시지를 수신할 수 있다. 예를 들면, 수신자(200)는 구독한 토픽(topic)에 대한 메시지를 수신할 수 있다.
일 실시예로, 발행자(100)는 센서일 수 있고, 수신자(200)는 액츄에이터(actuator)일 수 있다.
수신자(300)는 내부의 루프 오퍼레이션(loop operation)을 지속적으로 수행하여, 연결(connection)을 유지하고, 수신하고자 하는 토픽(topic) 이름을 가지고 브로커(200)에 구독(subscribe)할 수 있다.
브로커(200)는 적어도 하나의 발행자(100)가 송신하는 발행 메시지를, 발행 메시지에 적힌 토픽 이름을 기준으로 보관할 수 있다.
수신자(300)는 루프 오퍼레이션을 통해 계속적으로 브로커(200)에 보관된 발행 메시지의 토픽 이름을 검색할 수 있고, 수신하고자 하는 토픽 이름과 동일한 토픽 이름을 갖는 발행 메시지가 확인되면, 확인된 발행 메시지를 수신자(300)에 발행(publish)하도록 브로커(200)에 요청할 수 있다.
브로커(200)는 수신자(300)의 요청에 따라, 동일한 토픽을 가지는 수신자(300)에 발행자(100)의 메시지를 발행할 수 있다.
이와 같은 발행 및 구독 통신 시스템은 일정한 수의 클라이언트들이 존재하고, 제한된 목적을 갖고 메시지가 발신/수신되는 사물 인터넷 환경에서 메시지를 표현(represent)할 수 있는 작은 크기의 확인자(identifier)인 토픽을 사용하여 메시지를 인식하고 송수신할 수 있어서, 다른 프로토콜보다 경량화된 프로토콜로 활용될 수 있다.
본 발명에 따라 수신자(300)의 대기 주기를 조정하기 위해, 강화 학습 에이전트(reinforcement learning agent, 400)가 포함될 수 있다.
강화 학습 에이전트(400)에 대해 도 2를 참조하여 설명한다.
도 2는 본 발명의 다양한 실시예에 따른 강화 학습 에이전트를 포함하는 발행 및 구독 통신 시스템에 대한 개념도이다.
도 2를 참조하면, 본 발명은 강화 학습을 적용하기 위한 강화 학습 에이전트(400)를 포함할 수 있고, 강화 학습 에이전트(400)는 브로커(200) 상에 위치할 수 있다.
강화 학습 에이전트(400)는 1) 미리 학습한 심층신경망을 탑재할 수 있고, 2) 수신자(300)로부터 실시간으로 발생하는 메시지로부터 실시간 학습할 수 있다.
강화 학습 에이전트(400)는 브로커(200) 내의 대기 주기(cycle) 조정 모듈과 연결되어, 수신자(300)의 현재 상태를 심층신경망에 입력하고, 입력에 따라 조정된 대기 주기를 전달할 수 있다.
한편, 본 발명은 수신자(300)의 대기 주기 조정이 필요한지 판단하고, 조정이 필요하다고 판단되면 후술할 대기 주기 조정값을 반영하도록 할 수 있다.
도 3을 참조하여, 본 발명의 다양한 실시예에 따른 대기 주기 조정 판단 및 그에 따른 동작에 대해 설명한다.
도 3은 본 발명의 다양한 실시예에 따른 대기 주기 조정 판단 동작에 대한 흐름도이다.
수신자(300)는 구독하고자 하는 토픽(topic)을 등록(register)할 수 있다(S110). 브로커(200)는 수신자가 등록한 토픽을 레지스트리(registry)에 저장할 수 있다(S130). 브로커(200)는 구독 대기 시간을 수신자(300)의 대기 주기와 비교할 수하고있다(S150). 비교 결과 대기 주기가 구독 대기 시간보다 짧은 경우, 수신자(300)는 구독 대기할 수 있다(S160). 그리고 수신자(300)는 대기 주기에 따라, 등록된 토픽에 대한 메시지를 발행 받을 수 있다. 수신자(300)는 메시지 발행 시, 대기 주기 조정값을 반영하는 대기 주기 업데이트를 수행할 수 있다(S170). 예를 들면, 수신자(300)는 브로커(200)로부터 등록된 토픽에 대한 메시지와 함께 대기 주기 조정값을 수신할 수 있고, 수신된 대기 주기 조정값을 반영하여 대기 주기를 변경할 수 있다. 이에 따라 수신자(300)는 다음 주기에 대해 조정된 대기 주기로 동작할 수 있다.
한편, 단계 S150에서, 구독 대기 시간이 대기 주기보다 길다면, 수신자(300)는 현재의 대기 주기에 따라 브로커(200)에 접속하여 등록된 토픽에 대한 메시지를 발행 받을 수 있다(S190).
이와 같이, 본 발명은 발행자(100)가 토픽에 대해 메시지를 브로커(200)에 전송하는 주기와 관련된 구독 대기 시간과 수신자(300)의 대기 주기를 비교하여, 대기 주기 업데이트가 필요한지 판단하고, 필요한 경우에 수신자(300)의 대기 주기를 업데이트할 수 있다.
이하, 본 발명의 다양한 실시예에 따른, 수신자(300)의 대기 주기를 업데이트하기 위한 대기 주기 조정값을 산출하는 내용을 설명한다.
도 4는 본 발명의 다양한 실시예에 따른 대기 주기 조정 동작에 대한 흐름도이다.
도 4를 참조하면, 강화 학습 에이전트(400)는 상태 벡터를 입력 받을 수 있다(S210).
예를 들면, 브로커(200) 상의 강화 학습 에이전트(400)는 수신자(300)의 상태와 관련된 상태 벡터를 입력 받을 수 있다.
일 실시예로, 강화 학습 에이전트(400)는 수신자(300)가 지정한 토픽에 해당하는 메시지의 수(mi), 지정한 토픽에 해당하는 메시지 중 중요도가 높은 메시지의 수(fi) 및 지정한 토픽에 해당하는 중요한 메시지의 대기 시간(ti)을 포함하는 상태 벡터를 입력 받을 수 있다. 그리고 이러한 상태 벡터는 브로커(200)가 수신자(300)로부터 수신한 상태 정보로부터 획득될 수 있다.
상술한 상태 벡터는 아래와 같이 표현할 수 있다.
Si = [mi, fi, ti]
강화 학습 에이전트(400)는 입력된 상태 벡터를 심층신경망(Deep Neural Network)에 입력할 수 있다(S230).
수신자(300)의 대기 주기를 조절하기 위한 보상 함수(reward function)는 상태 벡터로부터 유도될 수 있다.
보상 함수의 설계 기준은 아래의 기준이 적용될 수 있다.
1) 많은 메시지를 한번에 받을수록 좋음
2) 중요한 메시지를 놓치면 손해 발생
3) 중요한 메시지가 지연되면 손해 발생
이에 따라 본 발명은 아래와 같은 보상 함수를 적용할 수 있다.
Figure pat00003
본원 발명은, 예를 들면 강화 학습 에이전트(400)는 위에서 설계된 상태 벡터 및 보상 함수를 기초로 심층신경망을 동작시킬 수 있다.
예를 들면, 본 발명은 Q-러닝(Q-learning) 방식 및 정책 그라디언트(Policy Gradient) 방식 중 적어도 하나의 강화 학습 방식을 적용할 수 있다. 따라서, 본 발명은 Q-러닝 방식 및 정책 그라디언트 방식을 모두 적용할 수 있다.
일 실시예로, 본 발명은 Q-러닝 방식에 따르면 아래의 순서로 심층신경망을 동작할 수 있다.
Figure pat00004
다른 실시예로, 본 발명은 정책 그라디언트 방식에 따르면 아래의 순서로 심층신경망을 동작할 수 있다.
Figure pat00005
강화 학습 에이전트(400)는 심층 신경망 적용에 따른 결과로, 대기 주기 조정 동작을 결정할 수 있다(S250).
예를 들면, 강화 학습 에이전트(400)는 수신자(300)의 대기 주기를 줄일지 또는 늘릴지를 결정할 수 있다.
따라서, 본 발명의 대기 주기 조정 동작 결정은 대기 시간 조정의 방향을 결정하는 것을 의미할 수 있다.
강화 학습 에이전트(400)는 보상 함수를 이용하여 대기 주기 조정값을 계산할 수 있다(S270).
강화 학습 에이전트(400)는 보상 함수를 이용하여 보상을 계산할 수 있고, 계산된 보상을 기초로 대기 주기 조정값을 산출할 수 있다.
산출된 대기 주기 조정값은 브로커(200)가 수신자(300)에 전송할 수 있고, 전송된 대기 주기 조정값은 수신자(300)의 다음 주기에 반영될 수 있다.
이에 따라 도 5에 도시된 것과 같이, 수신자(300)의 대기 주기(cycle)이 조정될 수 있고, 수신자(300)는 조정된 주기(adjusted cycle)를 가지고 브로커(200)에 접속할 수 있다.
한편, 상술한 강화 학습 에이전트(400)는 브로커(200) 상에 위치할 수 있고, 브로커(200)에 포함되는 구성일 수도 있다.
본 발명에 따른 발행/구독 구조를 적용한 경우, 수신자(300)는 대기 시간 주기를, 정의된 상태 벡터와 보상 함수를 적용한 심층 신경망을 통해 유동적으로 변경할 수 있다. 그리고 본 발명에 따라 대기 시간 주기 조정이 최적으로 제어되는 것을 증명하기 위해, 수신자의 배터리 소모를 측정한 실험 결과를 도 6을 참조하여 설명한다.
도 6은 본 발명의 일 실시예에 따른 실험 결과에 대한 그래프이다.
도 6을 참조하면, 일반적인 MQTT 동작에서는 단위시간당 평균 1058.05mW를 소모한데 비해, 본 발명에 따른 발행/구독 구조에 따른 Q-러닝(Q-learning)과 정책 그라디언트(Policy Gradient) 방식을 적용했을 때는 각각 1052.8mW, 1054.2mW를 소모하는 것을 확인할 수 있다. 이와 같은 결과는 각각 5.25mW, 3.85mW의 전력을 절약한 것으로, 작은 차이인 것으로 볼 수 있지만, 수신자(300)에 해당하는 기기의 아이들(idle) 상태에서의 전력소모량인 1049.84mW를 고려한다면, MQTT 통신에 소모되는 에너지는 일반적 MQTT 통신에서는 8.21mW이고, 본 발명의 Q-러닝(Q-learning) 방식이 적용된 경우에는 2.96mW이고, 정책 그라디언트(Policy Gradient) 방식이 적용된 경우에는 4.36mW이어서, 각각 63.9%, 47.0%의 통신 에너지 절약이 가능하다는 결론을 도출할 수 있다.
따라서, 본 발명이 적용된 실험 결과에서 볼 수 있듯이, 본 발명에 따르면 수신자(300)의 효율적인 자원 활용을 보장할 수 있어서, 수신자(300)의 동작 효율 및 에너지 효율이 향상되는 것을 확인할 수 있다.
이와 같이, 본 발명은 발행 및 구독 통신 시스템의 수신자의 대기 시간을 최적으로 제어할 수 있다.
한편, 상술한 본 발명은 MQTT 프로토콜이 가지는 발행/구독 통신 구조에 적용될 수 있으며, MQTT 프로토콜 이외에도 발행/구독 통신 구조에 따른 다양한 프로토콜에 적용될 수 있다.
이상, 본 발명의 기술적 사상을 다양한 실시 예들을 들어 상세하게 설명하였으나, 본 발명의 기술적 사상은 상기 실시 예들에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 여러가지 변형 및 변경이 가능하다.

Claims (12)

  1. 발행(Publish) 및 구독(subscribe) 통신 시스템의 동작 방법에 있어서,
    수신자(subscriber)의 상태에 대한 상태 벡터를 입력 받는 단계;
    상기 입력된 상태 벡터(si) 및 상기 수신자의 대기 주기를 조절하기 위한 보상 함수(reward function)를 기초로, 상기 수신자의 루프 동작(loop operation)의 대기 주기(cycle)를 조절하기 위한 대기 주기 조정값을 생성하는 단계; 및
    상기 생성된 대기 주기 조정값을 상기 수신자(subscriber)에 전달하는 단계를 포함하는
    동작 방법.
  2. 제1항에 있어서,
    상기 상태 벡터(si)는
    상기 수신자가 지정한 토픽(topic)에 해당하는 메시지의 수(mi),
    상기 토픽에 해당하는 메시지 중 중요도가 높은 메시지의 수(fi), 및
    상기 토픽에 해당하는 중요한 메시지의 대기 시간(ti)을 포함하는
    동작 방법.
  3. 제2항에 있어서,
    상기 보상 함수는
    상기 상태 벡터로부터 유도되는 하기의 수학식인
    Figure pat00006

    동작 방법.
  4. 제1항에 있어서,
    상기 대기 주기 조정값을 생성하는 단계는
    상기 입력된 상태 벡터를 심층신경망에 입력하는 단계와,
    상기 보상함수를 적용하여 상기 수신자의 대기 주기 조정 동작을 결정하는 단계와,
    상기 보상 함수를 이용하여 상기 대기 주기값을 계산하는 단계를 포함하는
    동작 방법.
  5. 제4항에 있어서,
    상기 심층신경망은
    Q-러닝(Q-learning) 방식 및 정책 그라디언트(Policy Gradient) 방식 중 적어도 하나의 강화 학습 방식이 적용되는
    동작 방법.
  6. 제1항에 있어서,
    상기 생성된 대기 주기 조정값을 상기 수신자에 전달하는 단계는
    상기 수신자의 구독 동작 시 전달되어, 상기 수신자의 다음 주기에 대해 설정되도록 하는 단계를 포함하는
    동작 방법.
  7. 발행(Publish) 및 구독(subscribe) 통신 시스템에 포함되는 브로커(broker)에 있어서,
    적어도 하나의 프로세서; 및
    상기 프로세서에 전기적으로 연결된 메모리를 포함하고,
    상기 메모리는, 상기 프로세서가 실행 시에,
    수신자(subscriber)의 상태에 대한 상태 벡터를 입력 받고,
    상기 입력된 상태 벡터(si) 및 상기 수신자의 대기 주기를 조절하기 위한 보상 함수(reward function)를 기초로, 상기 수신자의 루프 동작(loop operation)의 대기 주기(cycle)를 조절하기 위한 대기 주기 조정값을 생성하고,
    상기 생성된 대기 주기 조정값을 상기 수신자(subscriber)에 전달하도록 하는 인스트럭션들을 저장하는
    브로커.
  8. 제7항에 있어서,
    상기 상태 벡터(si)는
    상기 수신자가 지정한 토픽(topic)에 해당하는 메시지의 수(mi),
    상기 토픽에 해당하는 메시지 중 중요도가 높은 메시지의 수(fi), 및
    상기 토픽에 해당하는 중요한 메시지의 대기 시간(ti)을 포함하는
    브로커.
  9. 제8항에 있어서,
    상기 보상 함수는
    상기 상태 벡터로부터 유도되는 하기의 수학식인
    Figure pat00007

    브로커.
  10. 제7항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 입력된 상태 벡터를 심층신경망에 입력하고,
    상기 보상함수를 적용하여 상기 수신자의 대기 주기 조정 동작을 결정하고,
    상기 보상 함수를 이용하여 상기 대기 주기값을 계산하도록 하는 인스트럭션들을 저장하는
    브로커.
  11. 제10항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    Q-러닝(Q-learning) 방식 및 정책 그라디언트(Policy Gradient) 방식 중 적어도 하나의 강화 학습 방식을 상기 심층신경망에 적용하도록 하는 인스트럭션들을 저장하는
    브로커.
  12. 제7항에 있어서,
    상기 메모리는, 상기 프로세서가 실행 시에,
    상기 수신자의 구독 동작 시, 상기 대기 주기 조정값을 전달하여, 상기 수신자의 다음 주기에 대해 설정되도록 하는 인스트럭션들을 저장하는
    브로커.
KR1020180131541A 2018-10-31 2018-10-31 발행 및 구독 통신 시스템 및 그 동작 방법 KR102127652B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180131541A KR102127652B1 (ko) 2018-10-31 2018-10-31 발행 및 구독 통신 시스템 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180131541A KR102127652B1 (ko) 2018-10-31 2018-10-31 발행 및 구독 통신 시스템 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20200048907A true KR20200048907A (ko) 2020-05-08
KR102127652B1 KR102127652B1 (ko) 2020-06-29

Family

ID=70678273

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180131541A KR102127652B1 (ko) 2018-10-31 2018-10-31 발행 및 구독 통신 시스템 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR102127652B1 (ko)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150067037A (ko) * 2013-12-06 2015-06-17 주식회사 케이티 M2m 시스템에서 구독의 기준정보 최적화 방법 및 장치
KR101609532B1 (ko) * 2014-11-19 2016-04-20 경북대학교 산학협력단 확장형 게시-구독 메시징 서비스 방법 및 시스템
KR20170033399A (ko) * 2014-07-21 2017-03-24 콘비다 와이어리스, 엘엘씨 Mqtt 프로토콜을 이용한 서비스 층 상호연동
US20170244657A1 (en) * 2016-02-22 2017-08-24 International Business Machines Corporation Message delivery in a message system
KR20170127080A (ko) * 2016-05-10 2017-11-21 한국과학기술원 IoT 서비스 관리를 위한 방법 및 장치
KR20180105917A (ko) * 2017-03-16 2018-10-01 한국전자통신연구원 Mqtt 프로토콜을 이용한 웨어러블 데이터 제공 및 지능화된 웨어러블 정보 서비스 시스템 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150067037A (ko) * 2013-12-06 2015-06-17 주식회사 케이티 M2m 시스템에서 구독의 기준정보 최적화 방법 및 장치
KR20170033399A (ko) * 2014-07-21 2017-03-24 콘비다 와이어리스, 엘엘씨 Mqtt 프로토콜을 이용한 서비스 층 상호연동
KR101609532B1 (ko) * 2014-11-19 2016-04-20 경북대학교 산학협력단 확장형 게시-구독 메시징 서비스 방법 및 시스템
US20170244657A1 (en) * 2016-02-22 2017-08-24 International Business Machines Corporation Message delivery in a message system
KR20170127080A (ko) * 2016-05-10 2017-11-21 한국과학기술원 IoT 서비스 관리를 위한 방법 및 장치
KR20180105917A (ko) * 2017-03-16 2018-10-01 한국전자통신연구원 Mqtt 프로토콜을 이용한 웨어러블 데이터 제공 및 지능화된 웨어러블 정보 서비스 시스템 및 방법

Also Published As

Publication number Publication date
KR102127652B1 (ko) 2020-06-29

Similar Documents

Publication Publication Date Title
Xiao et al. EdgeABC: An architecture for task offloading and resource allocation in the Internet of Things
EP2013763B1 (en) Managing rich presence collections
US20140126391A1 (en) Power saving wi-fi tethering
CN111711663A (zh) 发布及订阅服务的处理方法、装置及电子设备
KR20110076954A (ko) 저자원 장치에서의 최적화 폴링
GB2520514A (en) Message delivery in a messaging system
Wirawan et al. Iot communication system using publish-subscribe
CN105871590A (zh) 客户端数据更新方法、客户端和服务器
KR102022602B1 (ko) 게시-구독 메시지 서비스 방법
CN114710571B (zh) 数据包处理***
KR102127652B1 (ko) 발행 및 구독 통신 시스템 및 그 동작 방법
Shaout et al. Using the MQTT protocol in real time for synchronizing IoT device state.
US20120284330A1 (en) Method and apparatus of configuring a data broadcast service
Dai et al. Offloading dependent tasks in edge computing with unknown system-side information
Chu et al. Challenges: wireless Web services
de AM Macêdo et al. GoThings-An Application-layer Gateway Architecture for the Internet of Things.
Choi et al. Enhanced cluster-based CoAP in Internet-of-Things networks
CN114531946B (zh) 数据推送方法、数据推送***和计算机程序产品
Nwadiugwu et al. MAD‐DDS: Memory‐efficient automatic discovery data distribution service for large‐scale distributed control network
CN117119022B (zh) 一种基于mqtt协议的能耗数据处理方法、***、设备及介质
Bangui et al. Mobile Cloud Middleware: Smart Behaviour for Adapting Cloud Services
CN118433251A (zh) 控制请求处理、装置、设备及存储介质
CN112788132B (zh) 基于响应等级的中转设备数据处理方法及装置
CN114936098B (zh) 一种数据流转方法、装置、后端设备及存储介质
US20220060567A1 (en) Remote Procedure Call Between Entities in a Service Bus Communication System

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant