KR101609532B1 - Expanded publish-subscribe messaging service method and system - Google Patents

Expanded publish-subscribe messaging service method and system Download PDF

Info

Publication number
KR101609532B1
KR101609532B1 KR1020140161797A KR20140161797A KR101609532B1 KR 101609532 B1 KR101609532 B1 KR 101609532B1 KR 1020140161797 A KR1020140161797 A KR 1020140161797A KR 20140161797 A KR20140161797 A KR 20140161797A KR 101609532 B1 KR101609532 B1 KR 101609532B1
Authority
KR
South Korea
Prior art keywords
node
subscription
message
publication
response
Prior art date
Application number
KR1020140161797A
Other languages
Korean (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 KR1020140161797A priority Critical patent/KR101609532B1/en
Application granted granted Critical
Publication of KR101609532B1 publication Critical patent/KR101609532B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to an expandable publication-subscription messaging service system. The expandable publication-subscription messaging service system according to an embodiment of the present invention includes: a publication node for transmitting a publication message about a topic, receiving a response message in response to the publication message, and transmitting a conversation message in response to the response message; a subscription node for receiving the publication message, transmitting a response message in response to the publication message, and receiving the conversation message in response to the response message; and a broker for transmitting the publication message to the subscription node when receiving the publication message, transmitting the response message to the publication node when receiving the response message, transmitting the conversation message to the subscription node when receiving the conversation message from the publication node. The publication message includes an ID of the publication node, the topic, and a service request item about the topic, the response message includes an ID of the subscription mode, the ID of the publication node, and a service response about the topic, and the conversation message includes the ID of the subscription node and contents of the conversation.

Description

확장형 게시-구독 메시징 서비스 방법 및 시스템{EXPANDED PUBLISH-SUBSCRIBE MESSAGING SERVICE METHOD AND SYSTEM}EXPANDED PUBLISH-SUBSCRIBE MESSAGING SERVICE METHOD AND SYSTEM [0002]

본 발명은 확장형 게시-구독 메시징 서비스 방법 및 시스템에 관한 것이다. 보다 자세하게는, 게시-구독 모델 기반의 메시징 서비스를 확장하여 게시자와 구독자 간에 직접 메시징 전달이 가능한 서비스 방법 및 그 시스템에 관한 것이다.The present invention relates to an extended publish-subscribe messaging service method and system. More particularly, the present invention relates to a service method and system for extending a messaging service based on a publish-subscribe model to enable direct messaging between a publisher and a subscriber.

모든 사물을 인터넷에 연결하여 사람들뿐만 아니라 사람과 사물, 사물과 사물들 간에 인터넷 서비스를 제공하는 IoT(Internet of Things) 기술이 최근 활발히 연구 개발되고 있다. IoT (Internet of Things) technology, which provides Internet services between people, objects, things and objects, as well as people by connecting all objects to the Internet, is actively researched and developed recently.

IoT에서는 사물(Things)간 통신을 요구한다. IoT 메시징 서비스로 IBM에서 개발하고 현재 OASIS 표준인 MQTT(Messaging Queuing Telemetry Transport)가 있다. MQTT는 기본적으로 게시-구독 모델(Publish/Subscribe Model) 에 기반하여 사물간 메시징 서비스(Messaging Service)를 제공한다.IoT requires communication between things. Developed by IBM as an IoT messaging service, there is now the OASIS standard, Messaging Queuing Telemetry Transport (MQTT). MQTT basically provides a messaging service (Messaging Service) based on the publish / subscribe model.

게시-구독 모델은 클라이언트-서버 모델과 달리 메시지 송신자와 수신자가 직접 연결되지 않기 때문에, 게시-구독 모델 기반의 메시징 서비스는 클라이언트-서버 모델에 비하여 유연한 메시징 서비스를 제공할 수 있다. Unlike the client - server model, the publish - subscribe model does not directly connect the message sender and recipient, so the messaging service based on the publish - subscribe model can provide a flexible messaging service compared to the client - server model.

게시-구독 모델은 메시지 송신자인 게시자(Publisher)가 메시지 수신자인 구독자(Subscriber)의 아이디(ID) 정보를 가지고 있지 않는다. 대신에 게시자가 특정 토픽(topic)을 지정하여 브로커(Broker)에 메시지를 보내면 브로커가 특정 토픽에 가입한 구독자를 확인하여 메시지를 전달해 준다.The publish-subscribe model does not have the ID information of the subscriber whose message recipient is the sender of the message. Instead, when a publisher sends a message to a broker by specifying a specific topic, the broker acknowledges the subscriber subscribed to a particular topic and delivers the message.

IoT가 스마트 홈 등의 가전에 응용되기 시작하면서 게시자와 구독자 간의 메시지 직접 통신에 대한 필요성이 제기되고 있다. 메시지 직접 통신이랑 게시자와 구독자가 상대방의 아이디를 기반으로 메시지를 주고 받는 것을 의미한다. 일반적인 게시-구독 모델은 게시자와 구독자가 상호 간의 아이디 정보를 가지고 있지 않기 때문에 단순 메시지 게시 및 구독만 할 수 있고 메시지 직접 통신을 제공할 수 없다.As IoT begins to be applied to home appliances such as smart home, there is a need for direct communication of messages between publishers and subscribers. Message Direct communication means that the sender and the subscriber exchange messages based on the other party's ID. A typical publish-subscribe model can only publish and subscribe to simple messages and can not provide direct message communication, since publishers and subscribers do not have the identity information of each other.

따라서 게시-구독 모델 기반의 메시징 서비스에서 메시지 직접 통신을 제공할 수 있는 기술에 대한 필요성이 커지고 있다.Therefore, there is a growing need for a technology that can provide direct message communication in a messaging service based on the publish-subscribe model.

한국공개특허 제 2010-0126786 호Korea Patent Publication No. 2010-0126786

본 발명이 해결하고자 하는 기술적 과제는 게시-구독 모델을 확장하여 메시지 직접 통신을 지원하는 확장형 게시-구독 메시징 서비스 방법을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide an extended publish-subscribe messaging service method for supporting direct message communication by extending a publish-subscribe model.

본 발명이 해결하고자 하는 다른 기술적 과제는 게시-구독 모델을 확장하여 메시지 직접 통신을 지원하는 확장형 게시-구독 메시징 서비스 시스템을 제공하는 것이다.Another technical problem to be solved by the present invention is to provide an extended publish-subscribe messaging service system supporting a direct message communication by extending a post-subscription model.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해 될 수 있을 것이다.The technical objects of the present invention are not limited to the above-mentioned technical problems, and other technical subjects not mentioned can be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 달성하기 위한 본 발명의 일 태양에 따른 확장형 게시-구독 메시징 서비스 방법은, 브로커가 게시 노드로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 단계, 상기 브로커가 상기 게시 토픽를 구독하는 구독 노드에, 상기 게시 메시지를 전송하는 단계, 상기 브로커가 상기 구독 노드로부터 상기 게시 노드 아이디, 상기 구독 노드 아이디 및 상기 서비스 요구 사항에 대한 서비스 응답이 포함된 응답 메시지를 수신하는 단계, 상기 브로커가 상기 응답 메시지에 포함된 상기 게시 노드 아이디가 가리키는 노드에 상기 응답 메시지를 전송하는 단계, 상기 브로커가 상기 게시 노드로부터 상기 구독 노드 아이디가 포함된 대화 메시지를 수신하는 단계 및 상기 브로커가 상기 대화 메시지에 포함된 상기 구독 노드 아이디가 가리키는 노드에 상기 대화 메시지를 전송하는 단계를 포함할 수도 있다.According to an aspect of the present invention, there is provided an expandable publication-subscription messaging service method including: a broker receiving a publication message including a publication node ID, a publication topic, and a service requirement from a publication node; Transmitting a broadcast message to a subscription node that subscribes to the broadcast topic, receiving a response message including a service response to the broadcast node ID, the subscription node ID, and the service requirement from the subscription node The broker transmits the response message to a node indicated by the node ID included in the response message. The broker receives an interactive message including the subscription node ID from the publication node, The broker may include in the conversation message May include sending the message to the dialog node is the node ID subscribes points.

일 실시예에 따르면, 상기 확장형 게시-구독 메시징 서비스 방법은, 상기 브로커가 상기 게시 메시지를 수신하는 단계 이전에, 상기 브로커가 상기 게시 노드로부터 상기 게시 노드 아이디 및 상기 게시 토픽이 포함된 게시 등록 요청 메시지를 수신하는 단계, 상기 브로커가 상기 구독 노드로부터 상기 구독 노드 아이디 및 상기 구독 토픽이 포함된 구독 등록 요청 메시지를 수신하는 단계 및 상기 브로커가 상기 구독 토픽과 일치하는 상기 게시 토픽의 구독 리스트에 상기 구독 노드 아이디를 추가하는 단계를 더 포함할 수도 있다.According to one embodiment, the method of expanding a publish-subscribe messaging service comprises: before the broker receives the publication message, the broker transmits a publication registration request including the publication node ID and the publication topic from the publication node, Receiving, by the broker, a subscription registration request message including the subscription node ID and the subscription topic from the subscription node; and receiving, from the subscription node, And adding a subscription node ID.

일 실시예에 따르면, 상기 브로커가 상기 게시 메시지를 전송하는 단계는, 상기 게시 노드로부터 수신된 게시 메시지에 포함 된 게시 토픽의 모든 구독 노드에, 상기 게시 메시지를 전송하는 단계를 포함할 수도 있다.According to an embodiment, the step of the broker transmitting the publication message may include transmitting the publication message to all the subscription nodes of the publication topic included in the publication message received from the publication node.

일 실시예에 따르면, 상기 서비스 요구 사항은, 서비스 요구 항목을 가리키는 하나 이상의 속성을 포함하며, 상기 서비스 응답은, 상기 서비스 요구 사항의 각 속성에 대한 상기 구독 노드의 응답을 포함할 수도 있다.According to one embodiment, the service requirement includes one or more attributes indicating a service requirement item, and the service response may include a response of the subscription node to each attribute of the service requirement.

상기 기술적 과제를 달성하기 위한 본 발명의 다른 태양에 따른 확장형 게시-구독 메시징 서비스 방법은, 게시 노드가 브로커에 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 전송하는 단계, 상기 게시 노드가 상기 브로커로부터 제1 구독 노드의 제1 구독 노드 아이디 및 제1 서비스 응답이 포함된 제1 응답 메시지를 수신하는 단계, 상기 게시 노드가 상기 브로커로부터 제2 구독 노드의 제2 구독 노드 아이디 및 제2 서비스 응답이 포함된 제2 응답 메시지를 수신하는 단계, 상기 게시 노드가 상기 제1 서비스 응답 및 상기 제2 서비스 응답을 바탕으로 상기 제1 구독 노드 아이디 및 제2 구독 노드 아이디 중에서 어느 하나를 선정하는 단계 및 상기 게시 노드가 상기 선정된 아이디를 수신자로 지정하고, 상기 게시 노드의 아이디를 포함하는 제1 대화 메시지를 상기 브로커에게 전송하고, 상기 대화 메시지에 대한 응답으로 상기 게시 노드의 아이디를 수신자로 지정한 제2 대화 메시지를 상기 선정 된 아이디를 가지는 노드로부터 상기 브로커를 통하여 수신하는 단계를 포함할 수도 있다.According to another aspect of the present invention, there is provided an expandable publication-subscription messaging service method including: transmitting a publication message including a publication node ID, a publication topic, and a service requirement to a broker; A node receives a first response message including a first subscription node ID and a first service response of the first subscription node from the broker, the publishing node receives a second subscription node ID of the second subscription node from the broker, Receiving a second response message including a second service response, wherein the publishing node receives either the first subscription node ID or the second subscription node ID based on the first service response and the second service response And the publishing node designates the selected ID as a recipient, and the ID of the publishing node Receiving a second conversation message from the node having the selected ID through the broker, the second conversation message including the first conversation message including the first conversation message and the second conversation message including the ID of the publishing node as a recipient in response to the conversation message, .

일 실시예에 따르면, 상기 확장형 게시-구독 메시징 서비스 방법은, 상기 게시 노드가 상기 게시 메시지를 전송하는 단계 이전에, 상기 게시 노드가 상기 브로커에게 상기 게시 노드 아이디 및 상기 게시 토픽이 포함된 게시 등록 요청 메시지를 전송하는 단계를 더 포함할 수도 있다.According to an embodiment, the extended publish-subscribe messaging service method may further include, before the step of transmitting the publication message, the publication node notifying the broker of the publication node ID and the publication registration And transmitting the request message.

일 실시예에 따르면, 상기 서비스 요구 사항은, 서비스 요구 항목을 가리키는 하나 이상의 속성을 포함하며, 상기 제1 서비스 응답 및 상기 제2 서비스 응답은, 상기 서비스 요구 사항의 상기 각 속성에 대한 응답을 포함하고, 상기 게시 노드가 상기 제1 구독 노드 아이디 및 제2 구독 노드 아이디 중에서 어느 하나를 선정하는 단계는, 상기 제1 서비스 응답에 포함된 상기 각 속성에 대한 응답과 사전에 정의된 상기 각 속성에 대한 중요도를 곱하여 산출된 값을 상기 각 속성에 대하여 모두 산출하여 덧셈한 제1 평가치를 산출하는 단계, 상기 제2 서비스 응답에 포함된 상기 각 속성에 대한 응답과 상기 각 중요도를 곱하여 산출된 값을 상기 각 속성에 대하여 모두 산출하여 덧셈한 제2 평가치를 산출하는 단계 및 상기 제1 평가치가 상기 제2 평가치 보다 높으면 상기 제1 구독 노드 아이디를 선정하고, 상기 제2 평가치가 상기 제1 평가치보다 높으면 상기 제2 구독 노드 아이디를 선정하며, 상기 제1 평가치와 상기 제2 평가치가 동일하면 상기 제1 구독 노드 아이디 및 상기 제2 구독 노드 아이디 모두를 선정하는 단계를 포함할 수도 있다.According to one embodiment, the service requirement includes at least one attribute indicating a service requirement item, wherein the first service response and the second service response include a response to each of the attributes of the service requirement Wherein the step of the publishing node selecting one of the first subscription node ID and the second subscription node ID comprises the steps of: determining whether a response to the attribute included in the first service response, Calculating a first evaluation value by calculating all of the values calculated for the respective attributes by multiplying the importance of the first service response by the importance of the first service response and a value calculated by multiplying the response to each attribute included in the second service response by the respective importance, Calculating all of the above attributes and calculating a summed second evaluation value; and a step of calculating a sum of the first evaluation value and the second evaluation value If the first evaluation value and the second evaluation value are the same, if the second evaluation value is higher than the first evaluation value, the second subscription node ID is selected; And selecting both the node ID and the second subscription node ID.

상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 태양에 따른 확장형 게시-구독 메시징 서비스 방법은, 구독 노드가 브로커로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 단계, 상기 구독 노드가 상기 서비스 요구 사항에 대한 응답을 포함하는 서비스 응답을 생성하는 단계, 상기 구독 노드가 상기 게시 노드 아이디, 상기 구독 노드 아이디 및 상기 서비스 응답이 포함된 응답 메시지를 상기 브로커에게 전송하는 단계, 상기 게시 노드 아이디가 가리키는 게시 노드에 의하여 상기 구독 노드가 대화 상태로 선택 된 결과로 생성된 대화 메시지를 상기 게시 노드로부터 상기 브로커를 통하여 수신하는 단계를 포함할 수도 있다.According to another aspect of the present invention, there is provided an expandable publication-subscription messaging service method including: receiving a publication message including a publication node ID, a publication topic, and a service requirement from a broker; The subscription node generating a service response comprising a response to the service requirement, the subscription node transmitting to the broker a response message including the publishing node identity, the subscription node identity and the service response, And receiving, via the broker, a dialog message generated as a result that the subscription node is selected as a conversation state by the publication node indicated by the publication node ID from the publication node.

일 실시예에 따르면, 상기 확장형 게시-구독 메시징 서비스 방법은, 상기 구독 노드가 상기 브로커로부터 상기 게시 메시지를 수신하는 단계 이전에, 상기 구독 노드가 상기 브로커에게 상기 구독 노드 아이디 및 상기 구독 토픽이 포함된 구독 등록 요청 메시지를 전송하는 단계를 더 포함할 수도 있다.According to one embodiment, the method of expanding a publish-subscribe messaging service comprises: before the subscription node receives the publication message from the broker, the subscription node includes the subscription node ID and the subscription topic to the broker And transmitting the registered subscription registration request message.

일 실시예에 따르면, 상기 서비스 요구 사항은, 서비스 요구 항목을 가리키는 하나 이상의 속성을 포함하며, 상기 서비스 응답을 생성하는 단계는, 상기 서비스 요구 사항의 상기 각 속성에 대한 응답을 생성하는 단계, 및 상기 각 속성에 대하여 생성된 응답을 모두 포함하는 서비스 응답을 생성하는 단계를 포함할 수도 있다.According to one embodiment, the service requirement comprises one or more attributes indicating a service requirement item, the step of generating a service response comprising generating a response to each of the attributes of the service requirement, And generating a service response including all of the generated responses for each of the attributes.

상기 기술적 과제를 달성하기 위한 본 발명의 또 다른 태양에 따른 확장형 게시-구독 메시징 서비스 시스템은, 토픽에 대한 게시 메시지를 전송하고 상기 게시 메시지에 대한 응답으로 응답 메시지를 수신하며 상기 응답 메시지에 대한 응답으로 대화 메시지를 전송하는 게시 노드, 상기 게시 메시지를 수신하고 상기 게시 메시지에 대한 응답으로 응답 메시지를 전송하며 상기 응답 메시지에 대한 응답으로 상기 대화 메시지를 수신하는 구독 노드 및 상기 게시 메시지를 수신하면 상기 구독 노드에 전송하고 상기 응답 메시지를 수신하면 상기 게시 노드에 전송하며, 상기 게시 노드로부터 상기 대화 메시지를 수신하면 상기 대화 메시지를 상기 구독 노드에 전송하는 브로커를 포함하되, 상기 게시 메시지는, 상기 게시 노드의 아이디, 상기 토픽 및 상기 토픽에 대한 서비스 요구 사항을 포함하며, 상기 응답 메시지는, 상기 구독 노드의 아이디, 상기 게시 노드의 아이디 및 상기 토픽에 대한 서비스 응답을 포함하며, 상기 대화 메시지는, 상기 구독 노드의 아이디 및 대화 내용을 포함할 수도 있다.According to another aspect of the present invention, there is provided an expandable posting-subscription messaging service system for transmitting a posting message for a topic, receiving a response message in response to the posting message, A subscription node receiving the message, transmitting a response message in response to the message, receiving the message in response to the response message, and a subscriber node receiving the message in response to the message, And a broker that transmits the message to the subscription node and transmits the message to the subscription node when the message is received from the subscription node and receives the response message from the subscription node, An ID of the node, the topic, Wherein the response message includes an identity of the subscription node, an identity of the publishing node, and a service response to the topic, wherein the conversation message includes an identity of the subscription node, .

일 실시예에 따르면, 상기 게시 노드는, 상기 게시 메시지 전송 전에 상기 브로커에 상기 게시 노드 아이디 및 상기 토픽을 포함하는 게시 등록 요청 메시지를 전송하고, 상기 구독 노드는, 상기 게시 메시지 수신 전에 상기 브로커에 상기 구독 노드 아이디 및 상기 토픽을 포함하는 구독 등록 요청 메시지를 전송하며, 상기 브로커는, 상기 토픽, 상기 게시 노드 아이디 및 상기 구독 노드 아이디를 포함하는 중계 정보를 저장하는 관리 DB(Database)를 포함하고, 상기 게시 등록 요청 메시지를 수신하면 상기 토픽에 대한 중계 정보에 상기 게시 노드 아이디를 추가하여 상기 중계 정보를 상기 관리 DB에 저장하며, 상기 구독 등록 요청 메시지를 수신하면 상기 토픽에 대한 중계 정보에 상기 구독 노드 아이디를 추가하여 상기 중계 정보를 상기 관리 DB에 저장하고, 상기 게시 메시지를 수신하면 상기 게시 메시지에 포함된 상기 토픽에 대한 상기 구독 노드 아이디를 상기 관리 DB에서 조회하여 상기 조회된 구독 노드 아이디에 대응되는 상기 구독 노드에 상기 게시 메시지를 전송할 수도 있다.According to one embodiment, the publishing node transmits a publication registration request message including the publication node ID and the topic to the broker before the publication message is transmitted, and the subscription node transmits the publication registration request message to the broker The broker transmits a subscription registration request message including the subscription node ID and the topic, and the broker includes a management database that stores relay information including the topic, the publication node ID, and the subscription node ID, And when the broadcast registration request message is received, adding the broadcast node ID to the relay information for the topic, storing the relay information in the management DB, and upon receiving the subscription registration request message, Adds the subscription node ID and stores the relay information in the management DB And upon receipt of the post message, inquire of the management DB for the subscription node ID for the topic included in the publication message and transmit the publication message to the subscription node corresponding to the inquired subscription node ID.

일 실시예에 따르면, 상기 브로커는, 상기 응답 메시지를 수신하면 상기 응답 메시지에 포함된 상기 게시 노드 아이디에 대응되는 게시 노드에 상기 응답 메시지를 전송하고, 상기 대화 메시지를 수신하면 상기 대화 메시지에 포함된 수신 대상 노드에 대응되는 노드에 상기 대화 메시지를 전송할 수도 있다.According to one embodiment, upon receiving the response message, the broker transmits the response message to a publication node corresponding to the publication node ID included in the response message, and when the broker receives the response message, And may transmit the conversation message to a node corresponding to the receiving destination node.

상기와 같은 본 발명에 따르면, 게시-구독 모델을 바탕으로 게시 노드와 구독 노드는 메시지에 수신하는 노드의 아이디를 포함시켜, 게시 노드와 구독 간에 메시지 직접 통신을 할 수 있는 효과가 있다.According to the present invention, the publication node and the subscription node include the ID of the node that receives the message based on the publication-subscription model, thereby enabling direct communication of messages between the publication node and the subscription.

또한, 상기와 갈은 본 발명에 따르면, 게시 노드는 게시 메시지에 응답한 하나 이상의 구독 노드 중에서 소정의 기준에 따라 하나 이상의 구독 노드를 선정하여 단일 대화 또는 그룹 대화를 할 수 있는 효과가 있다.In addition, according to the present invention, the publishing node can select one or more subscription nodes according to a predetermined criterion among one or more subscription nodes responding to a publishing message to perform a single conversation or a group conversation.

도 1은 종래의 게시-구독 모델에 기반한 메시징 서비스의 구성도이다.
도 2는 종래의 게시-구독 모델의 브로커가 관리하는 관리 DB의 테이블을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른, 확장형 게시-구독 메시지 서비스 시스템의 구성도이다.
도 4는 본 발명의 몇몇 실시예에서 참조 되는, 확장형 게시-구독 메시지 서비스 시스템의 브로커가 관리하는 관리 DB의 게시-구독 테이블을 나타낸 도면이다.
도 5는 본 발명의 일 실시예에 따른, 게시 노드 및 구독 노드의 하드웨어 구성도이다.
도 6은 본 발명의 몇몇 실시예에서 게시 노드, 브로커 및 구독 노드 사이에 전송되는 메시지의 형식을 나타낸 도면이다.
도 7은 본 발명의 몇몇 실시예에서, 게시 메시지에 포함된 서비스 요구 사항의 구성과 응답 메시지에 포함된 서비스 응답 및 상기 서비스 응답을 평가하여 평가치를 산출하는 수식을 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 방법에 따른 각 노드 간의 메시지 흐름을 나타내는 신호 흐름도이다.
도 9은 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 방법 중, 브로커의 동작을 나타낸 순서도이다.
도 10는 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 방법 중, 구독 노드의 동작을 나타낸 순서도이다.
도 11은 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 방법 중, 게시 노드의 동작을 나타낸 순서도이다.
Figure 1 is a block diagram of a messaging service based on a conventional publish-subscribe model.
2 is a table of a management DB managed by a broker of a conventional publication-subscription model.
3 is a configuration diagram of an extended publish-subscribe message service system according to an embodiment of the present invention.
4 is a diagram illustrating a publish-subscribe table of a management DB managed by a broker of an extended publish-subscribe message service system, which is referenced in some embodiments of the present invention.
5 is a hardware configuration diagram of a publication node and a subscription node according to an embodiment of the present invention.
6 is a diagram illustrating a format of a message transmitted between a publishing node, a broker, and a subscription node in some embodiments of the present invention.
FIG. 7 is a diagram illustrating a configuration of a service requirement included in a broadcast message, a service response included in a response message, and a formula for evaluating the service response and calculating an evaluation value, according to some embodiments of the present invention.
8 is a signal flow diagram illustrating a message flow between nodes according to an extended publish-subscribe message service method according to an embodiment of the present invention.
FIG. 9 is a flowchart illustrating an operation of a broker in an extended publish-subscribe message service method according to an embodiment of the present invention.
FIG. 10 is a flowchart illustrating an operation of a subscription node among the extended publish-subscribe message service methods according to an embodiment of the present invention.
11 is a flowchart illustrating an operation of a publishing node in an extended publish-subscribe message service method according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless defined otherwise, all terms (including technical and scientific terms) used herein may be used in a sense commonly understood by one of ordinary skill in the art to which this invention belongs. Also, commonly used predefined terms are not ideally or excessively interpreted unless explicitly defined otherwise.

도 1은, 종래의 게시-구독 모델에 기반한 메시징 서비스의 구성도(100)이며, 도 2는 브로커가 관리하는 관리 DB의 테이블(200)의 일 실시예이다.FIG. 1 is a block diagram (100) of a messaging service based on a conventional post-subscription model, and FIG. 2 is an embodiment of a table 200 of a management DB managed by a broker.

도 1 내지 도 2를 참조하여, 종래의 게시-구독 모델에 기반한 메시징 서비스 방법을 자세하게 설명한다.1 to 2, a messaging service method based on a conventional publish-subscribe model will be described in detail.

종래의 게시-구독 모델(100)은 게시 노드 A(110), 브로커(120), 구독 노드B(130), 구독 노드 D(140) 및 관리 DB(125)를 포함할 수 있다.The conventional publish-subscribe model 100 may include a publishing node A 110, a broker 120, a subscription node B 130, a subscription node D 140, and a management DB 125.

게시 노드 A(110)은 브로커(120)에 게시하고자 하는 토픽과 상기 토픽의 내용을 포함한 게시 메시지를 전송할 수 있다. The publishing node A 110 may transmit a publication message including a topic to be published to the broker 120 and the content of the topic.

브로커(120)는 상기 게시 노드 A(110)가 전송한 상기 게시 메시지를 수신할 수 있다. 브로커(120)는 관리 DB(125)에서 상기 게시 메시지에 포함된 상기 토픽에 관한 구독 노드 아이디를 수집한다. 브로커(120)은 상기 수집된 구독 노드 아이디에 대응되는 구독 노드에 상기 수신된 게시 메시지를 전송한다. The broker 120 may receive the publishing message transmitted by the publishing node A 110. [ The broker 120 collects the subscription node ID related to the topic included in the publication message in the management DB 125. [ The broker 120 transmits the received broadcast message to the subscription node corresponding to the collected subscription node ID.

관리 DB(125)는, 도 2를 참조하면, 토픽에 대한 구독 노드의 아이디를 테이블 형식으로 저장할 수 있다. Referring to FIG. 2, the management DB 125 may store the ID of the subscription node for the topic in a table format.

예를 들어, 게시 노드 A(110)가 ‘온도’라는 토픽을 포함하는 게시 메시지를 브로커(120)에게 전송하고, 관리 DB(125)에 ‘온도’라는 토픽의 구독 노드 아이디로 B 및 C가 저장되어 있으면(도 2의 첫번째 행을 참조), 브로커(120)는 게시 노드 A(110)로부터 수신된 상기 게시 메시지를 구독 노드 B(130) 및 구독 노드 C(140)에 전송한다.For example, when the publication node A 110 transmits a publication message including a topic 'temperature' to the broker 120, and B and C are registered in the management DB 125 as the subscription node IDs of the topic ' (See the first row of FIG. 2), the broker 120 sends the publishing message received from the publishing node A 110 to the subscription node B 130 and the subscription node C 140.

종래의 게시-구독 모델에서는, 상기 게시 메시지에 게시 노드의 아이디 정보를 포함하지 않기 때문에 상기 게시 메시지를 수신한 구독 노드는 상기 게시 노드에 응답 메시지를 전송할 수 없다. 따라서, 게시 노드는 일방적으로 토픽에 대한 정보를 게시만할 수 있으며, 구독 노드는 토픽에 대한 정보를 구독만할 수 있으며, 구독 노드와 게시 노드 간의 직접 메시지를 교환할 수 없다.In the conventional publication-subscription model, the subscription node receiving the publication message can not transmit a response message to the publication node because the publication message does not include the ID information of the publication node. Thus, the publishing node can only unilaterally publish information about the topic, the subscription node can only subscribe to information about the topic, and can not exchange direct messages between the subscription node and the publishing node.

도 3은 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 시스템(300)의 구성도이다. 도 4는 본 발명의 일 실시예에 따른 관리 DB(325)의 게시-구독 테이블(400)이다.3 is a configuration diagram of an extended publish-subscribe message service system 300 according to an embodiment of the present invention. 4 is a publication-subscription table 400 of the management DB 325 according to an embodiment of the present invention.

도 3 및 도 4를 참조하여, 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 시스템(300)의 구성에 대해서 자세하게 설명한다.3 and 4, the configuration of the extended publish-subscribe message service system 300 according to an embodiment of the present invention will be described in detail.

본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 시스템(300)은 게시 노드 A(310), 브로커(320), 관리 DB(325), 구독 노드 B(330) 및 구독 노드 C(340)를 포함할 수 있다.The extended publish-subscribe message service system 300 according to an embodiment of the present invention includes a publishing node A 310, a broker 320, a management DB 325, a subscription node B 330 and a subscription node C 340, . ≪ / RTI >

이하, 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 시스템(300)에서 사용하는 용어에 대해서 정의하면 다음과 같다.Hereinafter, terms used in the extended publish-subscribe message service system 300 according to an embodiment of the present invention will be described as follows.

토픽은 게시-구독 모델에서 게시 노드와 구독 노드를 연결하는 키(key)이다. 상기 게시 노드는 특정한 토픽에 대하여 게시자로 등록하고, 상기 구독 노드는 상기 특정 토픽에 대하여 구독자로 등록한다. 상기 게시 노드 특정한 토픽에 대하여 메시지를 게시하면, 상기 특정 토픽에 대하여 구독하는 구독 노드에 상기 메시지가 전달된다. A topic is a key that connects a publishing node and a subscription node in a publish-subscribe model. The publishing node registers as a publisher for a particular topic, and the subscription node registers as a subscriber for the particular topic. When a message is posted for a topic specific to the publishing node, the message is delivered to a subscription node that subscribes to the particular topic.

게시 노드는, 상기 토픽에 대한 메시지를 게시하는 노드이다. 이를 위해서, 상기 게시 노드는 브로커에 상기 토픽에 대한 게시자로 등록 한다. 상기 등록 이후 상기 게시 노드가 상기 토픽에 대한 메시지를 상기 브로커에 전송하면, 상기 브로커는 상기 토픽에 대하여 구독자로 등록된 구독 노드에 상기 메시지를 전송한다.A publishing node is a node that posts a message for the topic. To this end, the publishing node registers with the broker as a publisher for the topic. After the registration, if the publishing node sends a message for the topic to the broker, the broker sends the message to the subscription node registered as a subscriber with respect to the topic.

구독 노드는, 상기 토픽에 대한 메시지를 수신하는 노드이다. 이를 위해서, 상기 구독 노드는 브로커에 상기 토픽에 대한 구독자로 등록 한다. 상기 브로커가 상기 토픽에 대한 메시지를 수신하면, 상기 토픽에 대하여 구독자로 등록된 상기 구독 노드에 상기 메시지가 전송된다.The subscription node is the node that receives the message for the topic. To this end, the subscription node registers with the broker as a subscriber to the topic. When the broker receives a message for the topic, the message is sent to the subscription node registered as a subscriber with respect to the topic.

브로커는, 토픽별로 게시 노드와 구독 노드의 목록을 관리하고 상기 게시 노드와 구독 노드 간의 메시지 전송을 중계한다. 상기 브로커는 상기 토픽에 대하여 게시자로 게시 노드를 등록하고, 구독자로 구독 노드를 등록한다. 상기 토픽에 대한 게시자는 하나 이상의 게시 노드를 포함할 수 있고, 구독자는 하나 이상의 구독 노드를 포함할 수 있다. 상기 브로커는 상기 토픽에 대한 게시 노드의 메시지를 수신하면, 상기 토픽에 대한 구독자로 등록된 구독 노드에 상기 메시지를 전송한다.The broker manages a list of publication nodes and subscription nodes for each topic, and relays message transmission between the publication node and the subscription node. The broker registers the publishing node with the publisher for the topic and registers the subscription node with the subscriber. The publisher for the topic may include one or more publish nodes, and the subscriber may include one or more subscription nodes. Upon receiving the message of the publishing node for the topic, the broker transmits the message to the subscription node registered as a subscriber to the topic.

본 발명의 몇몇 실시예에 따르면, 상기 게시 노드 및 상기 구독 노드는 IoT(Internet of Things) 환경의 사물(thing)에 해당할 수 있다. 상기 사물(thing)간의 메시지 전송에 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 방법이 사용될 수 있다.According to some embodiments of the present invention, the publishing node and the subscription node may correspond to a thing of an Internet of Things (IoT) environment. An extended publish-subscribe message service method according to an embodiment of the present invention may be used for message transmission between the above things.

예를 들어서, 상기 토픽이 “우유 배송”이면, 상기 토픽에 대한 상기 게시 노드는 냉장고 일 수 있고, 상기 구독 노드는 우유 배송업자의 스마트폰일 수 있다. 상기 브로커는 고정된 IP(Internet Protocol) 주소를 가진 서버일 수 있다. 상기 냉장고는 상기 서버에 “우유 배송”이라는 토픽에 대한 게시 노드로 등록하고, 상기 스마트폰은 상기 서버에 “우유 배송”이라는 토픽에 대한 구독 노드로 등록한다. 상기 냉장고에 우유가 필요하다고 판단되면, 상기 냉장고는 상기 서버로 “우유 배송”에 관한 “우우 배송 입찰(가격, 배송 시간, 저지방 여부)”메시지를 전송할 수 있다. 상기 서버는 상기 메시지를 수신하여, 상기 “우유 배송”에 구독 노드로 등록된 상기 스마트폰에 상기 메시지를 전송한다. 상기 스마트폰은 상기 메시지에 대한 응답 메시지를 상기 서버에 전송하면, 상기 서버는 상기 응답 메시지를 상기 냉장고에 전송한다. 상기 냉장고는 상기 응답 메시지를 수신하여, 상기 응답 메시지에 포함된 서비스 응답을 바탕으로 상기 응답 메시지를 전송한 상기 스마트폰의 우유 배송업자를 배송자로 선정할 수 있다.For example, if the topic is " milk delivery ", the publishing node for the topic may be a refrigerator, and the subscription node may be a smartphone of a milk carrier. The broker may be a server having a fixed IP (Internet Protocol) address. The refrigerator registers with the server as a publishing node for the topic "Milk delivery" and the smartphone registers with the server as a subscription node for the topic "Milk delivery". If it is determined that milk is required in the refrigerator, the refrigerator can send a message of "bell delivery bidding (price, delivery time, low fatness)" to the server about "milk delivery". The server receives the message and transmits the message to the smartphone registered as a subscription node in the " milk delivery ". When the smartphone transmits a response message to the message to the server, the server transmits the response message to the refrigerator. The refrigerator may receive the response message, and may select a milk carrier of the smartphone that has transmitted the response message based on the service response included in the response message, as the sender.

본 발명의 몇몇 실시예에 따른 확장형 게시-구독 메시지 서비스 시스템(300)에 포함된 상기 게시 노드는 토픽에 따라서 구독 노드로 동작할 수 도 있고, 상기 구독 노드는 토픽에 따라서 게시 노드로 동작할 수 있다. 상기 게시 노드와 상기 구독 노드는 동일한 서비스 노드 일 수 있으며, 상기 서비스 노드에는 본원 발명의 확장형 게시-구독 메시지 서비스 방법이 구현된 프로그램이 실행될 수 있다. 상기 프로그램의 동작에 따라 상기 서비스 노드는 게시 노드가 될 수도 있고 구독 노드가 될 수 있다. 즉, 게시 노드와 구독 노드는 상기 서비스 노드의 동작에 따른 구분일 수 있다.The publishing node included in the scalable publish-subscribe message service system 300 according to some embodiments of the present invention may act as a subscription node according to a topic, and the subscription node may act as a publishing node according to a topic have. The publishing node and the subscription node may be the same service node, and a program implementing the extended publish-subscribe message service method of the present invention may be executed in the service node. Depending on the operation of the program, the service node may be a publishing node or a subscription node. That is, the publishing node and the subscription node may be classified according to the operation of the service node.

예를 들어서, “A”라는 토픽에 대하여 게시 노드로 동작하는 서비스 노드가 “B”라는 토픽에 대해서는 구독 노드로 동작할 수 있다. 반대로 “A”라는 토픽에 대하여 구독 노드로 동작하는 서비스 노드가 “C”라는 토픽에 대해서는 게시 노드로 동작할 수 있다. For example, a service node acting as a publishing node for a topic " A " may act as a subscription node for a topic " B ". Conversely, a service node operating as a subscription node for a topic " A " may act as a publishing node for a topic " C ".

게시 노드 A(310)는 브로커(320)에게 특정 토픽에 대한 게시 노드로서 등록을 요청하는 게시 등록 요청 메시지를 전송한다. 구독 노드 B(330) 및 구독 노드 C(340)는 브로커(320)에게 상기 특정 토픽에 대한 구독 노드로서 등록을 요청하는 구독 등록 요청 메시지를 전송한다. 브로커(320)는 상기 게시 등록 요청 메시지를 수신하면, 상기 게시 등록 요청 메시지에 포함된 토픽과 게시 노드 아이디를 관리 DB(325)의 게시-구독 테이블(400)에 저장한다. 브로커(320)는 상기 구독 등록 요청 메시지를 수신하면, 상기 구독 등록 요청 메시지에 포함된 토픽과 구독 노드 아이디를 관리 DB(325)의 게시-구독 테이블(400)에 저장한다.The publishing node A 310 transmits a publication registration request message requesting the broker 320 to register as a publication node for a specific topic. The subscription node B 330 and the subscription node C 340 send a subscription registration request message requesting registration to the broker 320 as a subscription node for the specific topic. When the broker 320 receives the publication registration request message, the broker 320 stores the topic included in the publication registration request message and the publication node ID in the publication-subscription table 400 of the management DB 325. When the broker 320 receives the subscription registration request message, the broker 320 stores the topics included in the subscription registration request message and the subscription node ID in the publication-subscription table 400 of the management DB 325.

도 4를 참조하면, 게시-구독 테이블(400)은 ‘토픽’, ‘게시 노드 아이디’ 및 ‘구독 노드 아이디’를 컬럼으로 가지는 테이블일 수 있다. 게시-구독 테이블(400)의 각 행은, 게시 노드가 게시하고자 하는 토픽이 상기 ‘토픽’ 컬럼에 저장되고, 상기 게시 노드의 아이디가 ‘게시 노드 아이디’컬럼에 저장되며, 상기 토픽에 대하여 구독하는 구독 노드의 아이디가 ‘구독 노드 아이디’ 컬럼에 저장된다. Referring to FIG. 4, the publication-subscription table 400 may be a table having a 'topic', a 'publication node ID', and a 'subscription node ID' as columns. Each row of the publication-subscription table 400 is stored in the 'Topic' column, the ID of the publishing node is stored in the 'Publication Node ID' column, The subscription node's ID is stored in the 'Subscription Node ID' column.

게시 노드 A(310)가 토픽 ‘우유 배송’, 게시 노드 아이디 ‘A’를 포함하는 게시 등록 요청 메시지를 브로커(320)에 보내고, 구독 노드 B(330)가 토픽 ‘우유 배송’, 구독 노드 아이디 ‘B’를 포함하는 구독 등록 요청 메시지를 브로커(320)에게 보내며, 구독 노드 C(340)가 토픽 ‘우유 배송’, 구독 노드 아이디 ‘C’를 포함하는 구독 등록 요청 메시지를 브로커(320)에게 보낸다고 가정하자. 이 때, 브로커(320)는 도 4의 게시-구독 테이블(400)의 첫 번째 행과 같이, ‘우유 배송’라는 토픽에 대하여 게시 노드 아이디는 ‘A’이며 구독 노드 아이디는 ‘B’ 및 ‘C’라고 저장한다.The publishing node A 310 sends a publication registration request message containing the topic 'milk delivery', the publishing node ID 'A' to the broker 320, and the subscription node B 330 sends a topic 'milk delivery' The broker 320 sends a subscription registration request message including 'B' to the broker 320 and the subscription node C 340 sends a subscription registration request message including the topic 'milk delivery' and the subscription node ID 'C' to the broker 320 Suppose you send. At this time, as shown in the first row of the publication-subscription table 400 of FIG. 4, the broker 320 has a publication node ID of 'A' for the topic 'milk delivery', a subscription node ID of 'B' C '.

게시 노드 A(310)가 게시 메시지를 브로커(320)에게 전송한다. 상기 게시 메시지는 게시 노드의 아이디, 토픽 및 상기 토픽에 대한 서비스 요구 사항을 포함할 수 있다. 브로커(320)는 상기 게시 메시지를 수신하면 상기 게시 메시지에 포함된 토픽에 대한 구독 노드 아이디를 관리 DB(325)에서 수집한다. 브로커(320)는 상기 수집된 구독 노드 아이디에 대응되는 구독 노드에 상기 게시 메시지를 전송한다. The publishing node A (310) sends the publishing message to the broker (320). The posting message may include an identity of the publishing node, a topic, and a service requirement for the topic. When the broker 320 receives the publication message, the broker 320 collects the subscription node ID for the topic included in the publication message in the management DB 325. The broker 320 transmits the publishing message to the subscription node corresponding to the collected subscription node ID.

예를 들어서, 게시 노드 A(310)가 토픽은 ‘우유 배송’, 게시 노드 아이디는 ‘A’ 및 서비스 요구 사항은 ‘가격, 배송 시간, 저지방 여부’를 포함하는 게시 메시지를 브로커(320)에게 전송할 수 있다. 브로커(320)는 상기 게시 메시지에 포함된 ‘우유 배송’이라는 토픽에 대한 구독 노드 아이디 목록을 관리 DB(325)에서 조회할 수 있다. 도 4를 참고하면, 브로커(320)는 구독 노드 아이디로 ‘B’및 ‘C’를 조회할 수 있다. 브로커(320)는 상기 구독 노드 아이디 ‘B’에 대응되는 구독 노드 B(330) 및 상기 구독 노드 아이디 ‘C’에 대응되는 구독 노드 C(340)에 상기 수신된 게시 메시지를 전송할 수 있다.For example, the publishing node A 310 may send a publishing message to the broker 320 that includes a topic 'milk delivery', a publishing node ID 'A', and a service requirement of 'price, delivery time, Lt; / RTI > The broker 320 can inquire the management DB 325 of the subscription node ID list for the topic 'milk delivery' included in the publication message. Referring to FIG. 4, the broker 320 can inquire 'B' and 'C' with the subscription node ID. The broker 320 may transmit the received broadcast message to the subscription node B 330 corresponding to the subscription node ID 'B' and the subscription node C 340 corresponding to the subscription node ID 'C'.

게시 메시지를 수신한 구독 노드는, 수신된 상기 게시 메시지에 포함된 서비스 요구 사항을 검토한 결과인 서비스 응답을 생성하고, 상기 생성된 서비스 응답이 포함된 응답 메시지를 브로커(320)에게 전송한다. 브로커(320)는 상기 응답 메시지를 수신하여, 상기 응답 메시지에 포함된 게시 노드 아이디에 대응되는 게시 노드에 상기 응답 메시지를 전송한다.The subscription node receiving the broadcast message generates a service response that is a result of reviewing the service requirements included in the received broadcast message and transmits a response message including the generated service response to the broker 320. The broker 320 receives the response message and transmits the response message to the publication node corresponding to the publication node ID contained in the response message.

예를 들어서, 게시 메시지에 포함된 서비스 요구 사항이 ‘가격, 배송 시간, 저지방 여부’인 경우에, 구독 노드 B(330)는 상기 게시 메시지를 수신하면 ‘1000, 10, 1’이라는 제1 서비스 응답을 생성하고, 상기 게시 노드 아이디 ‘A’, 구독 노드 B(330)의 구독 노드 아이디 ‘B’ 및 상기 제1 서비스 응답을 포함하는 제1 응답 메시지를 생성하여 브로커(320)에게 전달한다. 구독 노드 C(340)는 상기 게시 메시지를 수신하면 ‘2000, 5, 0’이라는 제2 서비스 응답을 생성하고, 상기 게시 노드 아이디 ‘A’, 구독 노드 C(340)의 구독 노드 아이디 ‘C’ 및 상기 제2 서비스 응답을 포함하는 제2 응답 메시지를 생성하여 브로커(320)에게 전달한다. 브로커(320)는 상기 제1 응답 메시지를 수신하면 상기 게시 노드 아이디 ‘A’에 해당하는 게시 노드 A(310)에 상기 제1 응답 메시지를 전송한다. 브로커(320)는 상기 제2 응답 메시지를 수신하면 상기 게시 노드 아이디 ‘A’에 해당하는 게시 노드 A(310)에 상기 제2 응답 메시지를 전송한다.For example, when the service request included in the broadcast message is 'price, delivery time, low-fat state', the subscription node B 330 receives the broadcast message and transmits a first service '1000, 10, 1' And generates a first response message including the broadcast node ID 'A', the subscription node ID 'B' of the subscription node B 330 and the first service response, and transmits the first response message to the broker 320. When the subscription node C 340 receives the publication message, the subscription node C 340 generates a second service response of '2000, 5, 0' and updates the subscription node ID 'C' of the subscription node C 340, And transmits a second response message including the second service response to the broker 320. When the broker 320 receives the first response message, the broker 320 transmits the first response message to the publishing node A 310 corresponding to the publishing node ID 'A'. When the broker 320 receives the second response message, the broker 320 transmits the second response message to the publishing node A 310 corresponding to the publishing node ID 'A'.

게시 노드 A(310)는 상기 게시 메시지에 대한 응답으로 응답 메시지를 수신하면, 상기 응답 메시지에 포함된 서비스 응답에 대하여 평가한다. 상기 평가 결과, 상기 서비스 응답이 소정의 기준을 만족하는 경우 상기 응답 메시지를 발신한 구독 노드의 아이디가 포함된 대화 메시지를 브로커(320)에 전송한다. 게시 노드 A(310)는 하나 이상의 응답 메시지를 수신하면, 상기 하나 이상의 응답 메시지에 포함된 각각의 서비스 응답을 평가하고, 상기 평가를 바탕으로 상기 기준을 만족하는 서비스 응답을 선정할 수 있다. 게시 노드 A(310)는 상기 선정된 하나 이상의 서비스 응답에 대응되는 응답 메시지를 전송한 각각의 구독 노드의 아이디가 포함된 각 대화 메시지를 생성하여 브로커(320)에게 전송한다.Upon receiving the response message in response to the publication message, the publishing node A 310 evaluates the service response included in the response message. If the service response satisfies a predetermined criterion, the broker 320 transmits a conversation message including the ID of the subscriber node that sent the response message. Upon receiving the one or more response messages, the publishing node A 310 may evaluate each of the service responses included in the one or more response messages and select a service response that meets the criteria based on the evaluation. The publishing node A 310 generates and transmits to the broker 320 a respective conversation message including an ID of each subscription node that has transmitted the response message corresponding to the selected one or more service responses.

브로커(320)는 상기 대화 메시지를 수신하면, 상기 대화 메시지를 상기 대화 메시지에 포함된 상기 구독 노드의 아이디에 대응되는 상기 구독 노드에 전송한다. When the broker 320 receives the conversation message, the broker 320 transmits the conversation message to the subscription node corresponding to the ID of the subscription node included in the conversation message.

상기 대화 메시지에는 게시 노드의 아이디 및 구독 노드의 아이디가 포함된다. 상기 대화 메시지를 수신한 구독 노드는 상기 대화 메시지에 포함된 상기 게시 노드의 아이디를 목적지로 하는 새로운 대화 메시지를 생성하여 브로커(320)에게 전송한다. The chat message includes the ID of the publishing node and the ID of the subscription node. Upon receiving the conversation message, the subscription node generates a new conversation message having the destination ID of the publication node included in the conversation message, and transmits the new conversation message to the broker 320.

게시 노드와 구독 노드는 서로의 아이디가 포함된 상기 대화 메시지를 브로커(320)에게 전송하고, 브로커(320)의 중계를 통해서, 직접 메시지를 교환하는 것과 같은 효과가 있다.The publication node and the subscription node have the same effect as transmitting the conversation message including the ID of each other to the broker 320 and directly exchanging messages through the relay of the broker 320. [

도 3을 다시 참조하면, 도 3의 확장형 게시-구독 서비스 시스템(300)의 각 구성은 소프트웨어(software) 또는, FPGA(field-programmable gate array)나 ASIC(application-specific integrated circuit)과 같은 하드웨어(hardware)를 의미할 수 있다. 그렇지만 상기 구성요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성요소들 안에서 제공되는 기능은 더 세분화된 구성요소에 의하여 구현될 수 있으며, 복수의 구성요소들을 합하여 특정한 기능을 수행하는 하나의 구성요소로 구현할 수도 있다.3, each configuration of the extended publish-subscribe service system 300 of FIG. 3 may be implemented using software or hardware such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC) hardware. However, the components are not limited to software or hardware, and may be configured to be in an addressable storage medium and configured to execute one or more processors. The functions provided in the components may be implemented by a more detailed component or may be implemented by a single component that performs a specific function by combining a plurality of components.

도 5를 참조하면, 본 발명의 또 다른 실시예에 따른 확장형 게시-구독 서비스 시스템(300)에 포함된 게시 노드 A(310), 구독 노드 B(330), 구독 노드 C(340) 및 브로커(320)는 도 5에 도시 된 하드웨어 구성(10)을 가질 수 있다. 게시 노드 A(310), 구독 노드 B(330), 구독 노드 C(340) 및 브로커(320)는 명령어를 수행하는 프로세서(20), 도 3 및 도 4를 참조하여 설명한 본 발명의 일 실시예에 따른 확장형 게시-구독 메시징 서비스 방법을 실행하는 컴퓨터 프로그램이 저장되는 스토리지(40), 메모리(30), 외부 장치와의 데이터 송수신을 위한 네트워크 인터페이스(50) 및 스토리지(40), 네트워크 인터페이스(50), 프로세서(20) 및 메모리(30)와 연결되어 데이터 이동 통로가 되는 시스템 버스(60)를 포함할 수 있다.5, a publishing node A 310, a subscription node B 330, a subscription node C 340, and a broker (not shown) included in the extended publish-subscribe service system 300 according to another embodiment of the present invention 320 may have the hardware configuration 10 shown in FIG. The publishing node A 310, the subscription node B 330, the subscription node C 340, and the broker 320 are connected to the processor 20 for executing the instructions, an embodiment of the present invention described with reference to Figures 3 and 4 A storage 30 in which a computer program for executing an expandable publication-subscription messaging service method according to the present invention is stored, a memory 30, a network interface 50 and a storage 40 for data transmission / reception with an external device, a network interface 50 A processor 20, and a system bus 60 connected to the memory 30 and serving as a data movement path.

하드웨어 구성(10)이 게시 노드(310)를 구현하는 것인 경우, 상기 컴퓨터 프로그램은 브로커(320)에 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 전송하는 오퍼레이션, 브로커(320)로부터 제1 구독 노드의 제1 구독 노드 아이디 및 제1 서비스 응답이 포함된 제1 응답 메시지를 수신하는 오퍼레이션, 브로커(320)로부터 제2 구독 노드의 제2 구독 노드 아이디 및 제2 서비스 응답이 포함된 제2 응답 메시지를 수신하는 오퍼레이션, 상기 제1 서비스 응답 및 상기 제2 서비스 응답을 바탕으로 상기 제1 구독 노드 아이디 및 제2 구독 노드 아이디 중에서 어느 하나를 선정하는 오퍼레이션, 상기 선정된 아이디를 수신자로 지정하고 게시 노드(310)의 아이디를 포함하는 제1 대화 메시지를 상기 브로커(320)에게 전송하고 상기 대화 메시지에 대한 응답으로 게시 노드(310)의 아이디를 수신자로 지정한 제2 대화 메시지를 상기 선정 된 아이디를 가지는 구독 노드로부터 브로커(320)를 통하여 수신하는 오퍼레이션을 포함할 수 있다.If the hardware configuration 10 implements the publishing node 310, the computer program may include operations to send a publishing message including a publishing node ID, a publishing topic, and a service requirement to the broker 320, Receiving from the broker 320 a second subscription node ID of the second subscription node and a second subscription node ID of the second subscription node from the broker 320, An operation for receiving an included second response message, an operation for selecting either the first subscription node ID or the second subscription node ID based on the first service response and the second service response, To the broker (320), a first conversation message including the ID of the publication node (310) Through the broker 320, a second conversation message in which the ID of the publishing node 310 is designated as the recipient, from the subscription node having the selected ID.

하드웨어 구성(10)이 구독 노드(330, 340)를 구현하는 것인 경우, 상기 컴퓨터 프로그램은 브로커(320)로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 오퍼레이션, 상기 서비스 요구 사항에 대한 응답을 포함하는 서비스 응답을 생성하는 오퍼레이션, 구독 노드(330, 340)가 상기 게시 노드 아이디, 상기 구독 노드 아이디 및 상기 서비스 응답이 포함된 응답 메시지를 브로커(320)에게 전송하는 오퍼레이션, 상기 게시 노드 아이디가 가리키는 게시 노드에 의하여 상기 구독 노드가 대화 상태로 선택 된 결과로 생성된 대화 메시지를 상기 게시 노드로부터 브로커(320)를 통하여 수신하는 오퍼레이션을 포함할 수 있다.If the hardware configuration 10 implements the subscription nodes 330 and 340, the computer program may include an operation of receiving a publication message including a publication node ID, a publication topic, and a service requirement from the broker 320, An operation of generating a service response including a response to the service requirement, the subscription node 330, 340 transmitting to the broker 320 a response message including the publishing node ID, the subscription node ID, and the service response Operation may include an operation of receiving, through the broker 320, a conversation message generated as a result of selecting the subscription node as a conversation state by the publication node indicated by the publication node ID from the publication node.

하드웨어 구성(10)이 브로커(320)를 구현하는 것인 경우, 상기 컴퓨터 프로그램은 게시 노드(310)로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 오퍼레이션, 상기 게시 토픽를 구독하는 구독 노드에, 상기 게시 메시지를 전송하는 오퍼레이션, 상기 구독 노드로부터 상기 게시 노드 아이디, 상기 구독 노드 아이디 및 상기 서비스 요구 사항에 대한 서비스 응답이 포함된 응답 메시지를 수신하는 오퍼레이션, 상기 응답 메시지에 포함된 상기 게시 노드 아이디가 가리키는 노드에 상기 응답 메시지를 전송하는 오퍼레이션, 상기 게시 노드로부터 상기 구독 노드 아이디가 포함된 대화 메시지를 수신하는 오퍼레이션, 상기 대화 메시지에 포함된 상기 구독 노드 아이디가 가리키는 노드에 상기 대화 메시지를 전송하는 오퍼레이션을 포함할 수 있다.If the hardware configuration 10 implements the broker 320, the computer program may include instructions for receiving a publication message including a publication node ID, a publication topic, and a service requirement from the publication node 310, An operation for transmitting the broadcast message to the subscription node subscribing to the subscription node, an operation for receiving a response message including a service response to the subscription node ID, the subscription node ID, and the service requirement from the subscription node, An operation for transmitting the response message to a node indicated by the included node ID, an operation for receiving a talk message including the subscription node ID from the publication node, a node indicated by the subscription node ID included in the talk message And transmits the conversation message It may include an operation.

도 6는 본 발명의 몇몇 실시예에서, 게시 노드, 브로커 및 구독 노드 사이에 전송되는 메시지의 형식을 나타낸 도면이다.6 is a diagram illustrating the format of a message transmitted between a publishing node, a broker, and a subscription node in some embodiments of the present invention.

게시 노드와 브로커 또는 구독 노드와 브로커 사이에 전송되는 게시 등록 요청 메시지, 구독 등록 요청 메시지, 게시 메시지, 응답 메시지 및 대화 메시지는 도 6에 도시된 전송 메시지 형식(500)을 가질 수 있다.The publication registration request message, the subscription registration request message, the publication message, the response message, and the conversation message transmitted between the publishing node and the broker or between the subscription node and the broker may have the transmission message format 500 shown in FIG.

도 6에 도시된 바와 같이, 전송 메시지(500)는 식별 코드(510), 전송 노드 아이디(520), 수신 노드 아이디(530), 토픽(540) 및 컨텐츠(550)를 포함할 수 있다.As shown in FIG. 6, the transmission message 500 may include an identification code 510, a transmission node ID 520, a receiving node ID 530, a topic 540, and a content 550.

식별 코드(510)는 전송 메시지(500)가 어떤 메시지인지 나타내는 코드이다. 예를 들어, 식별 코드(510)는 게시 등록 요청 메시지를 가리키는 코드, 구독 등록 요청 메시지를 가리키는 코드, 게시 메시지를 가리키는 코드, 응답 메시지를 가리키는 코드 및 대화 메시지를 가리키는 코드 중 하나일 수 있다. 전송 노드 아이디(520)는 상기 전송 메시지를 전송하는 노드의 아이디이다. 수신 노드 아이디(530)는 상기 전송 메시지를 수신하는 노드의 아이디이다. 토픽(540)은 상기 전송 메시지가 연관된 토픽이다. 컨텐츠(550)는 상기 토픽과 관련하여 전달하고자 하는 메시지의 내용이다.The identification code 510 is a code indicating which message the transmission message 500 is. For example, the identification code 510 may be one of a code indicating a post registration request message, a code indicating a subscription registration request message, a code indicating a post message, a code indicating a response message, and a code indicating a conversation message. The transmission node ID 520 is an ID of a node that transmits the transmission message. The receiving node ID 530 is the ID of the node receiving the transmission message. Topic 540 is the topic with which the transmission message is associated. Content 550 is the content of the message to be delivered in relation to the topic.

상기 전송 메시지의 길이는 사전에 정해진 값일 수 있으며, 식별 코드(510), 전송 노드 아이디(520), 수신 노드 아이디(530), 토픽(540) 및 컨텐츠(550)는 사전에 정해진 길이 및 상기 전송 메시지 내에서의 위치를 가질 수 있지만, 이에 한정된 것은 아니다.The length of the transmission message may be a predetermined value and the identification code 510, the transmitting node ID 520, the receiving node ID 530, the topic 540, and the content 550 may have a predetermined length, But it is not limited to this.

본 발명의 일 실시예에 따르면, 상기 게시 등록 요청 메시지는 식별 코드(510)가 “01”이고, 전송 노드 아이디(520)는 게시 노드 A(310)의 아이디를 가리키는 “A”이며, 수신 노드 아이디(530)는 브로커(320)를 가리키는 “Broker” 이고, 토픽(540)은 게시 노드 A(310)가 게시하려는 메시지를 나타내는 “우유 배송”이며, 컨텐츠(550)는 내용 없이 비어 있을 수 있다.According to one embodiment of the present invention, the publication registration request message includes an identification code 510 of "01", a transmitting node ID 520 of "A" indicating the ID of the publishing node A 310, ID 530 is a " Broker " that points to broker 320, topic 540 is " milk delivery " representing a message to be published by publishing node A 310 and content 550 may be empty without content .

본 발명의 일 실시예에 따르면, 상기 구독 등록 요청 메시지는 식별 코드(510)가 “02”이고, 전송 노드 아이디(520)는 구독 노드 B(330)의 아이디를 가리키는 “B”이며, 수신 노드 아이디(530)는 브로커(320)를 가리키는 “Broker”이고, 토픽(540)은 구독 노드 B(330)가 구독하려는 메시지를 나타내는 “우유 배송”이며, 컨텐츠(550)는 내용 없이 비어 있을 수 있다.According to one embodiment of the present invention, the subscription registration request message includes an identification code 510 of "02", a transmission node ID 520 of "B" indicating an ID of the subscription node B 330, ID 530 is a " Broker " that points to broker 320, topic 540 is " milk delivery " that indicates a message to which subscription node B 330 subscribes, and content 550 may be empty without content .

본 발명의 일 실시예에 따르면, 상기 게시 메시지는 식별 코드(510)가 “03”이고, 전송 노드 아이디(520)는 게시 노드 A(310)의 아이디를 가리키는 “A”이며, 수신 노드 아이디(530)는 브로커(320)를 가리키는 “Broker”이고, 토픽(540)은 게시 노드 A(310)가 게시하려는 메시지를 나타내는 “우유 배송”이며, 컨텐츠(550)는 “우유 배송”에 요구되는 서비스 요구 사항인 “가격, 배송 시간, 저지방 여부”일 수 있다.According to an exemplary embodiment of the present invention, the publication message includes an identification code 510 of "03", a transmission node ID 520 of "A" indicating the ID of the publishing node A 310, 530 is a " Broker " that points to the broker 320, a topic 540 is " milk shipping " that represents the message to be published by the publishing node A 310 and the content 550 is a service It may be a requirement of "price, delivery time, low fat."

본 발명의 일 실시예에 따르면, 상기 응답 메시지는 식별 코드(510)가 “04”이고, 전송 노드 아이디(520)는 구독 노드 B(330)의 아이디를 가리키는 “B”이며, 수신 노드 아이디(530)는 게시 노드 A(310)를 가리키는 “A”이고, 토픽(540)은 게시 노드 A(310)가 게시한 메시지를 나타내는 “우유 배송”이며, 컨텐츠(550)는 “우유 배송”의 서비스 요구 사항에 대한 서비스 응답인 “1000, 10, 1”일 수 있다.According to one embodiment of the present invention, the response message includes an identification code 510 of "04", a transmission node ID 520 of "B" indicating the ID of the subscription node B 330, 530 is the "A" for the publishing node A 310, the topic 540 is the "Milk delivery" for the message posted by the publishing node A 310 and the content 550 is the service for the "Milk delivery" 1000, 10, 1 ", which is the service response to the requirement.

본 발명의 일 실시예에 따르면, 게시 노드 A(310)에서 구독 노드 B(330)로 전송되는 상기 대화 메시지는 식별 코드(510)가 “05”, 전송 노드 아이디(520)는 “A”, 수신 노드 아이디(530)는 “B”, 토픽(540)은 비어 있으며, 컨텐츠(550)는 대화 내용을 포함할 수 있다. 구독 노드 B(330)에서 게시 노드 A(310)로 전송되는 상기 대화 메시지는 식별 코드(510)가 “05”, 전송 노드 아이디(520)는 “B”, 수신 노드 아이디(530)는 “A”, 토픽(540)은 비어 있으며, 컨텐츠(550)는 대화 내용을 포함할 수 있다.According to an embodiment of the present invention, the conversation message transmitted from the node A 310 to the subscriber node B 330 includes an identification code 510 of "05", a transmission node ID 520 of "A" The receiving node ID 530 is " B ", the topic 540 is empty, and the contents 550 may include conversation contents. 05 ", the transmitting node ID 520 is" B ", the receiving node ID 530 is" A ", the sending node ID 330 is" Quot ;, the topic 540 is empty, and the contents 550 may include conversation contents.

도 7은, 본 발명의 몇몇 실시예에서, 게시 메시지에 포함된 서비스 요구 사항의 구성과 응답 메시지에 포함된 서비스 응답 및 상기 서비스 응답을 평가하여 평가치를 산출하는 수식을 나타낸 도면이다.7 is a diagram illustrating a configuration of a service requirement included in a broadcast message, a service response included in a response message, and a formula for evaluating the service response and calculating an evaluation value, according to some embodiments of the present invention.

도 7을 참조하여, 서비스 요구 사항 및 서비스 응답의 구성을 자세히 설명하고, 상기 서비스 응답을 바탕으로 평가치를 산출하는 방법을 자세하게 설명한다.Referring to FIG. 7, the service requirements and the configuration of the service response will be described in detail, and a method for calculating the evaluation value based on the service response will be described in detail.

상기 서비스 요구 사항은 토픽에서 요구 되는 하나 이상의 속성을 포함할 수 있다. 상기 서비스 요구 사항은 토픽을 게시한 게시 노드에 의해서 지정될 수 있다. The service requirement may include one or more attributes required in a topic. The service requirement may be specified by the publishing node that posted the topic.

예를 들어서, “우유 배송”이라는 토픽에 대한 상기 서비스 요구 사항은 “가격, 배송 시간, 저지방 여부”일 수 있다. 상기 서비스 요구 사항의 각 속성은 “가격”, “배송 시간” 및 “저지방 여부”이다.For example, the service requirement for a topic " milk delivery " may be " price, delivery time, low fat. &Quot; Each attribute of the service requirement is " price ", " delivery time ", and " low fat.

상기 서비스 응답은 상기 서비스 요구 사항의 각 속성에 대한 구독 노드의 응답이다. 구독 노드는 게시 메시지에 포함된 서비스 요구 사항을 확인하고, 상기 확인된 서비스 요구 사항의 각 속성에 대한 응답을 포함하는 서비스 응답을 생성하고, 상기 서비스 응답을 포함한 응답 메시지를 생성하여 상기 게시 메시지를 전송한 게시 노드에 상기 응답 메시지를 전송할 수 있다.The service response is the response of the subscription node to each attribute of the service requirement. The subscription node verifies the service requirements included in the publish message, generates a service response including a response to each attribute of the confirmed service requirement, generates a response message including the service response, And may transmit the response message to the transmitting publication node.

예를 들어서, “우유 배송”이라는 토픽에 대한 서비스 요구 사항으로 “가격, 배송 시간, 저지방 여부”를 포함하는 게시 메시지를 수신한 구독 노드는, 저지방인 우유를 1000원의 가격으로 10시간 이내로 배송할 수 있는 경우, “1000, 10, 1”이라는 서비스 응답을 생성할 수 있다.For example, a subscription node that receives a posting message that includes "price, delivery time, low fat" as a service requirement for the topic "Milk Delivery" delivers low-fat milk at a price of 1000 won within 10 hours If possible, a service response of " 1000, 10, 1 " can be generated.

게시 노드는 상기 응답 메시지를 수신하면, 상기 응답 메시지에 포함된 서비스 응답을 평가할 수 있다. 이를 위해서, 상기 게시 노드는 상기 서비스 요구 사항의 각 속성에 대한 중요도를 이용할 수 있다. 상기 각 속성이 동일하게 중요하면, 상기 각 속성의 중요도는 ‘1’일 수 있다. 상기 중요도는 각 속성의 중요한 정도에 비례하여 상대적인 값을 가질 수 있다. 상기 게시 노드는 각 속성에 대한 상기 서비스 응답과 상기 중요도를 이용하여 상기 구독 노드의 응답의 평가치를 산출할 수 있다. 상기 게시 노드는 상기 평가치가 소정의 기준을 만족하는 구독 노드를 대화 상대로 선정할 수 있다.Upon receiving the response message, the publishing node may evaluate the service response included in the response message. For this purpose, the publishing node may use the importance of each attribute of the service requirement. If each of the attributes is equally important, the importance of each attribute may be '1'. The importance may have a relative value in proportion to the degree of importance of each attribute. The publishing node can calculate the evaluation value of the response of the subscription node by using the service response and the importance of each attribute. The publishing node can select a subscription node in which the evaluation value meets a predetermined criterion as a conversation.

예를 들어서, 상기 평가치는 서비스 요구 사항의 각 속성에 대한 서비스 응답과 중요도를 곱한 값을 모두 더한 값일 수 있다. “가격, 배송 시간, 저지방 여부”라는 서비스 요구 사항에 대한 각 속성의 중요도가 “2, 5, 10”인 경우, 구독 노드의 서비스 응답이 “1000, 10, 1”이면, 평가치는 “1000x2 + 10x5 + 1x10”연산을 통해서 2060일 수 있다. 게시 노드의 평가치 기준이 1000인 경우, 상기 평가치는 상기 기준보다 높은 값이므로 상기 기준을 만족할 수 있다. 상기 게시 노드는 상기 서비스 응답을 포함한 응답 메시지를 전송한 구독 노드를 대화 상대로 선정할 수 있다.For example, the evaluation value may be a value obtained by adding the service response to each attribute of the service requirement multiplied by the importance. If the importance of each attribute is "2, 5, 10" for the service requirement "price, delivery time, low fat", then if the service response of the subscription node is "1000, 10, 1" 10x5 + 1x10 " operation. When the evaluation value criterion of the publication node is 1000, the evaluation value is higher than the criterion, and therefore, the criterion can be satisfied. The publishing node may select the subscription node that transmitted the response message including the service response as a conversation.

본 발명의 일 실시예에 따르면, 서비스 요구 사항(610)이 n 개의 속성을 가지는 경우, 서비스 요구 사항(610)은 제1 속성 내지 제n 속성을 포함할 수 있다. 구독 노드 B(330)의 제1 서비스 응답(620)은 상기 제1 속성 내지 제n 속성에 대하여 각각 a1 내지 an 일 수 있다. 구독 노드 C(340)의 제2 서비스 응답(630)은 상기 제1 속성 내지 제n 속성에 대하여 각각 b1 내지 bn 일 수 있다. 서비스 요구 사항(610)의 각 속성의 중요도(640)는 각각 λ1 내지 λ2 일 수 있다. 제1 서비스 응답(620)에 대한 제1 평가치(650)는 일 수 있다. 제2 서비스 응답(630)에 대한 제2 평가치(660)는 일 수 있다. According to an embodiment of the present invention, when the service requirement 610 has n attributes, the service requirement 610 may include the first attribute to the n-th attribute. The first service response 620 of the subscription node B 330 may be a1 to an for the first attribute to the nth attribute, respectively. The second service response 630 of the subscription node C 340 may be b1 to bn for the first attribute to the nth attribute, respectively. The importance 640 of each attribute of the service requirement 610 may be? 1 to? 2, respectively. A first estimate 650 for the first service response 620 may be. And a second estimate 660 for the second service response 630 may be.

도 8은 본 발명의 일 실시예에 따른 확장형 게시-구독 메시지 서비스 방법에 따른 각 노드 간의 메시지 흐름을 나타내는 신호 흐름도이다. 도 7을 참조하여, 확장형 게시-구독 메시지 서비스 시스템(300)에 포함된 게시 노드 A(310), 브로커(320), 구독 노드 B(330) 및 구독 노드 C(340) 사이의 메시지 흐름을 설명한다.8 is a signal flow diagram illustrating a message flow between nodes according to an extended publish-subscribe message service method according to an embodiment of the present invention. Referring to FIG. 7, a message flow between a publishing node A 310, a broker 320, a subscription node B 330, and a subscription node C 340 included in the scalable publication-subscription message service system 300 is described do.

게시 노드 A(310)는 브로커(320)에게 게시 등록 요청 메시지를 전송한다(S710). 상기 게시 등록 메시지는, 게시 노드 A(310)의 아이디(“A”) 및 토픽을 포함할 수 있다.The publishing node A 310 transmits a publication registration request message to the broker 320 (S710). The publication registration message may include an ID (" A ") of the publishing node A 310 and a topic.

구독 노드 B(330)는 브로커(320)에게 구독 등록 요청 메시지를 전송한다(S720). 상기 구독 등록 요청 메시지는 구독 노드 B(330)의 아이디(“B”) 및 토픽을 포함할 수 있다.The subscription node B 330 transmits a subscription registration request message to the broker 320 (S720). The subscription registration request message may include an identifier (" B ") of the subscription node B 330 and a topic.

구독 노드 C(340)는 브로커(320)에게 구독 등록 요청 메시지를 전송한다(S725). 상기 구독 등록 요청 메시지는 구독 노드 C(340)의 아이디(“C”) 및 토픽을 포함할 수 있다.The subscription node C 340 transmits a subscription registration request message to the broker 320 (S725). The subscription registration request message may include an identifier (" C ") of the subscription node C 340 and a topic.

브로커(320)는 상기 토픽, 상기 게시 등록 요청 메시지에 포함된 게시 노드 아이디 및 상기 구독 등록 요청 메시지에 포함된 구독 노드 아이디를 게시-구독 테이블(400)에 저장함으로써 게시-구독 테이블(400)을 갱신한다(S730)The broker 320 stores the subscription node ID included in the topic, the publication node ID included in the publication registration request message, and the subscription registration request message in the publication-subscription table 400, (S730)

게시 노드 A(310)는 브로커(320)에게 상기 토픽에 대한 게시 메시지를 전송한다(S740). 상기 게시 메시지는 게시 노드 A(310)의 아이디(“A”), 상기 토픽 및 서비스 요구 사항을 포함할 수 있다.The publishing node A 310 transmits a publishing message for the topic to the broker 320 (S740). The posting message may include the identity (" A ") of the publishing node A 310, the topic, and the service requirement.

브로커(320)는 상기 게시 메시지를 수신하고, 상기 수신된 게시 메시지에 포함된 상기 토픽에 대한 구독 노드 리스트를 조회한다(S742). The broker 320 receives the publication message and inquires about a subscription node list for the topic included in the received publication message (S742).

브로커(320)는 상기 조회된 구독 노드 리스트에 포함된 구독 노드 B(330) 및 구독 노드 C(340)에게 상기 수신된 게시 메시지를 전송한다(S746, S748).The broker 320 transmits the received broadcast message to the subscription node B 330 and the subscription node C 340 included in the inquired subscription node list at steps S746 and S748.

구독 노드 B(330)는 상기 게시 메시지를 수신하고, 상기 게시 메시지에 포함된 서비스 요구 사항에 대한 응답인 제1 서비스 응답을 생성한다(S750). The subscription node B 330 receives the broadcast message and generates a first service response that is a response to the service requirement included in the broadcast message at step S750.

구독 노드 B(330)는 상기 제1 서비스 응답을 포함한 제1 응답 메시지를 브로커(320)에게 전송한다(S752). 상기 제1 응답 메시지는 구독 노드 B(330)의 아이디(“B”), 게시 노드 A(310)의 아이디(“A”) 및 상기 제1 서비스 응답을 포함할 수 있다.The subscription node B 330 transmits a first response message including the first service response to the broker 320 (S752). The first response message may include the identity ("B") of the subscription node B 330, the identity ("A") of the publishing node A 310, and the first service response.

브로커(320)는 상기 제1 응답 메시지를 게시 노드 A(310)에게 전송한다(S754).The broker 320 transmits the first response message to the publishing node A 310 (S754).

구독 노드 C(340)는 상기 게시 메시지를 수신하고, 상기 게시 메시지에 포함된 서비스 요구 사항에 대한 응답인 제2 서비스 응답을 생성한다(S760). The subscription node C 340 receives the broadcast message and generates a second service response corresponding to the service requirement included in the broadcast message in step S760.

구독 노드 C(340)는 상기 제2 서비스 응답을 포함한 제2 응답 메시지를 브로커(320)에게 전송한다(S762). 상기 제2 응답 메시지는 구독 노드 C(340)의 아이디(“C”), 게시 노드 A(310)의 아이디(“A”) 및 상기 제2 서비스 응답을 포함할 수 있다.The subscription node C 340 transmits a second response message including the second service response to the broker 320 (S762). The second response message may include the identity ("C") of the subscription node C 340, the identity ("A") of the publishing node A 310, and the second service response.

브로커(320)는 상기 제2 응답 메시지를 게시 노드 A(310)에게 전송한다(S764).The broker 320 transmits the second response message to the publishing node A 310 (S764).

게시 노드 A(310)는 상기 제1 응답 메시지 및 상기 제2 응답 메시지를 바탕으로, 대화 상대 노드를 선정한다(S770). 설명의 편의를 위하여, 구독 노드 B(330)가 대화 상대 노드로 선정된다고 가정한다.The publishing node A 310 selects a conversation partner based on the first response message and the second response message (S770). For convenience of explanation, it is assumed that the subscription node B 330 is selected as a conversation partner node.

게시 노드 A(310)는 대화 메시지를 브로커(320)에게 전송한다(S780). 상기 대화 메시지는 상기 선정된 대화 상대 노드의 아이디(“B”), 게시 노드의 아이디(“A”) 및 대화 내용을 포함할 수 있다. The publishing node A 310 transmits the conversation message to the broker 320 (S780). The conversation message may include an ID (" B ") of the selected conversation node, an ID (" A "

브로커(320)는 상기 대화 메시지를 수신하고, 상기 대화 메시지에 포함된 대화 상대 노드의 아이디가 가리키는 구독 노드에 상기 대화 메시지를 전송한다(S782). The broker 320 receives the conversation message and transmits the conversation message to the subscription node indicated by the ID of the conversation partner included in the conversation message at step S782.

도 9는, 본 발명의 일 실시예에 따른 브로커의 동작을 나타낸 순서도이다.9 is a flowchart showing operations of a broker according to an embodiment of the present invention.

도 9를 참조하여, 본 발명의 일 실시예에 따른 브로커의 동작을 자세하게 설명한다.The operation of the broker according to an embodiment of the present invention will be described in detail with reference to FIG.

브로커는 게시 등록 요청 메시지를 수신한다(S810). 상기 게시 등록 요청 메시지는 게시 노드로부터 전송될 수 있다. 상기 게시 등록 요청 메시지는 게시 노드 아이디 및 토픽을 포함할 수 있다.The broker receives the publication registration request message (S810). The publication registration request message may be transmitted from the publication node. The publication registration request message may include a publication node ID and a topic.

상기 브로커는 상기 게시 등록 요청 메시지에 포함된 게시 노드 아이디 및 토픽을 게시등록 테이블에 저장함으로써 게시등록 테이블을 갱신한다(S815). 상기 게시 노드 아이디는 상기 토픽에 관한 게시 노드의 정보로써 저장될 수 있다.The broker updates the publication registration table by storing the publication node ID and the topic included in the publication registration request message in the publication registration table (S815). The publication node ID may be stored as information of the publication node relating to the topic.

상기 브로커는 구독 등록 요청 메시지를 수신한다(S820). 상기 구독 등록 요청 메시지는 구독 노드로부터 전송될 수 있다. 상기 구독 등록 요청 메시지는 구독 노드 아이디 및 토픽을 포함할 수 있다.The broker receives a subscription registration request message (S820). The subscription registration request message may be transmitted from the subscription node. The subscription registration request message may include a subscription node ID and a topic.

상기 브로커는 상기 구독 등록 요청 메시지에 포함된 구독 노드 아이디 및 토픽을 게시등록 테이블에 저장함으로써 게시등록 테이블을 갱신한다(S825). 상기 구독 노드 아이디는 상기 토픽에 관한 구독 노드의 정보로써 저장될 수 있다.The broker updates the publication registration table by storing the subscription node ID and the topic included in the subscription registration request message in the publication registration table (S825). The subscription node ID may be stored as information of the subscription node regarding the topic.

상기 브로커는 게시 메시지를 수신한다(S830). 상기 게시 메시지는 상기 게시 노드로부터 전송될 수 있다. 상기 게시 메시지는 상기 게시 노드 아이디, 토픽 및 서비스 요구 사항을 포함할 수 있다.The broker receives the publication message (S830). The publishing message may be transmitted from the publishing node. The publishing message may include the publishing node ID, topic, and service requirements.

상기 브로커는 상기 게시등록 테이블에서 상기 게시 메시지에 포함된 상기 토픽에 대한 구독 노드 리스트를 조회한다(S840). 상기 구독 노드 리스트는 상기 토픽에 대하여 구독 노드로 저장된 구독 노드의 아이디 리스트를 포함한다.The broker inquires the list of subscription nodes for the topic included in the publication message in the publication registration table (S840). The subscription node list includes an ID list of subscription nodes stored as subscription nodes for the topic.

상기 브로커는 상기 구독 노드 리스트가 조회된 경우, 상기 구독 노드 리스트에 포함된 구독 노드 아이디에 대응되는 구독 노드에 상기 수신된 게시 메시지를 전달한다(S850). 상기 전달은 상기 대응되는 구독 노드 모두에 상기 수신된 게시 메시지를 각각 전송하는 것을 포함한다.If the subscription node list is inquired, the broker transmits the received publication message to the subscription node corresponding to the subscription node ID included in the subscription node list in operation S850. The delivery includes transmitting the received broadcast message to each of the corresponding subscription nodes.

상기 브로커는 응답 메시지를 수신한다(S860). 상기 응답 메시지는 상기 구독 노드로부터 전송될 수 있다. 상기 응답 메시지는 게시 노드 아이디, 구독 노드 아이디 및 서비스 응답을 포함할 수 있다.The broker receives a response message (S860). The response message may be transmitted from the subscription node. The response message may include a publishing node ID, a subscription node ID, and a service response.

상기 브로커는 상기 수신된 응답 메시지를 상기 응답 메시지에 포함된 게시 노드 아이디에 대응되는 게시 노드에 전송한다(S865).The broker transmits the received response message to the publishing node corresponding to the publication node ID included in the response message (S865).

상기 브로커는 대화 메시지를 수신한다(S870). 상기 대화 메시지는 게시 노드로부터 전송될 수 있다. 상기 대화 메시지는 게시 노드 아이디, 구독 노드 아이디 및 대화를 포함할 수 있다.The broker receives the conversation message (S870). The conversation message may be transmitted from the publishing node. The conversation message may include a publishing node ID, a subscription node ID, and a conversation.

상기 브로커는 상기 수신된 대화 메시지에 포함된 구독 노드 아이디에 대응된 구독 노드에 상기 수신된 대화 메시지를 전송한다(S875).The broker transmits the received conversation message to the subscription node corresponding to the subscription node ID included in the received conversation message (S875).

도 10은, 본 발명의 일 실시예에 따른, 구독 노드의 동작을 나타낸 순서도이다.Figure 10 is a flow diagram illustrating the operation of a subscription node, in accordance with one embodiment of the present invention.

도 10을 참조하여, 구독 노드의 동작을 자세하게 설명한다.The operation of the subscription node will be described in detail with reference to FIG.

구독 노드는 구독 등록 요청 메시지를 전송한다(S910). 상기 구독 등록 요청 메시지는 브로커에게 전송될 수 있다. 상기 구독 등록 요청 메시지는 상기 구독 노드의 아이디 및 토픽을 포함할 수 있다.The subscription node transmits a subscription registration request message (S910). The subscription registration request message may be sent to the broker. The subscription registration request message may include an ID and a topic of the subscription node.

구독 노드는 게시 메시지를 수신한다(S920). 상기 게시 메시지는 게시 노드의 아이디, 토픽 및 서비스 요구 사항을 포함할 수 있다.The subscription node receives the publication message (S920). The publishing message may include an identity of the publishing node, a topic, and a service requirement.

상기 구독 노드는 상기 서비스 요구 사항에 포함된 각 속성에 대한 응답인 서비스 응답을 생성한다(S930).The subscription node generates a service response that is a response to each attribute included in the service requirement (S930).

상기 구독 노드는 상기 서비스 응답을 포함하는 응답 메시지를 생성한다(S940). 상기 응답 메시지는 상기 게시 노드의 아이디 및 서비스 응답을 포함할 수 있다. 상기 응답 메시지에 포함된 상기 게시 노드의 아이디는 상기 응답 메시지가 도달할 노드의 아이디를 가리킨다.The subscription node generates a response message including the service response (S940). The response message may include an identity of the publishing node and a service response. The ID of the publishing node included in the response message indicates the ID of the node to which the response message should reach.

상기 구독 노드는 상기 생성된 응답 메시지를 전송한다(S950). 상기 응답 메시지는 상기 브로커에게 전송될 수 있다.The subscription node transmits the generated response message (S950). The response message may be sent to the broker.

도 11은, 본 발명의 일 실시예에 따른 게시 노드의 동작을 나타낸 순서도이다.11 is a flowchart illustrating an operation of a publishing node according to an embodiment of the present invention.

도 11을 참조하여, 게시 노드의 동작을 자세하게 설명한다.The operation of the publishing node will be described in detail with reference to FIG.

게시 노드는 게시 등록 요청 메시지를 전송한다(S1010). 상기 게시 등록 요청 메시지는 브로커에게 전송될 수 있다. 상기 게시 등록 요청 메시지는 상기 게시 노드의 아이디 및 토픽을 포함할 수 있다.The publishing node transmits a publication registration request message (S1010). The publication registration request message may be transmitted to the broker. The publication registration request message may include an ID and a topic of the publication node.

게시 노드는 게시 메시지를 전송한다(S1020). 상기 게시 메시지는 상기 브로커에게 전송될 수 있다. 상기 게시 메시지는, 상기 토픽 및 서비스 요구 사항을 포함할 수 있다. 상기 서비스 요구 사항은 하나 이상의 구성을 포함할 수 있다.The publishing node transmits a publishing message (S1020). The publish message may be sent to the broker. The post message may include the topic and service requirements. The service requirements may include one or more configurations.

상기 게시 노드는 제1 응답 메시지를 수신한다(S1030). 상기 제1 응답 메시지는 제1 서비스 응답을 포함할 수 있다. 상기 제1 서비스 응답은 상기 서비스 요구 사항의 각 구성에 대한 응답을 포함할 수 있다.The publishing node receives the first response message (S1030). The first response message may include a first service response. The first service response may include a response to each configuration of the service requirement.

상기 게시 노드는 상기 제1 응답 메시지에 포함된 상기 제1 서비스 응답을 바탕으로 제1 평가치를 산출한다(S1040). 상기 제1 평가치는 상기 제1 서비스 응답에 포함된 상기 서비스 요구 사항의 각 구성에 대한 응답값과 상기 구성에 대한 소정의 중요도를 곱하여 산출한 값을 상기 각 구성에 대하여 모두 산출하여 덧셈한 값일 수 있다.The publishing node calculates a first evaluation value based on the first service response included in the first response message (S1040). The first evaluation value may be a value obtained by calculating a value calculated by multiplying a response value for each configuration of the service requirement included in the first service response by a predetermined importance for the configuration, have.

상기 게시 노드는 응답 대기 시간이 만료되었는지 확인한다(S1050). 상기 응답 대기 시간은 사전에 정의된 값일 수 있다. 상기 응답 대기 시간은 상기 게시 노드가 상기 게시 메시지를 전송한 후, 마지막 응답 메시지를 수신할 때까지의 최대 대기 시간을 가리킬 수 있다.The publishing node checks whether the response waiting time has expired (S1050). The response wait time may be a predefined value. The response waiting time may indicate a maximum waiting time from when the publishing node transmits the publication message until when the final response message is received.

상기 게시 노드는 상기 응답 대기 시간이 만료되지 않았으면, 제2 응답 메시지를 수신한다(S1060). 상기 제2 응답 메시지는 제2 서비스 응답을 포함할 수 있다. 상기 제2 서비스 응답은 상기 서비스 요구 사항의 각 구성에 대한 응답을 포함할 수 있다.If the response waiting time has not expired, the publishing node receives the second response message (S1060). The second response message may include a second service response. The second service response may include a response to each configuration of the service requirement.

상기 게시 노드는 상기 제2 응답 메시지에 포함된 상기 제2 서비스 응답을 바탕으로 제2 평가치를 산출한다(S1070). 상기 제2 평가치는 상기 제2 서비스 응답에 포함된 상기 서비스 요구 사항의 각 구성에 대한 응답값과 상기 구성에 대한 소정의 중요도를 곱하여 산출한 값을 상기 각 구성에 대하여 모두 산출하여 덧셈한 값일 수 있다.The publishing node calculates a second evaluation value based on the second service response included in the second response message (S1070). The second evaluation value may be a sum of a value calculated by multiplying a response value for each configuration of the service requirement included in the second service response by a predetermined importance for the configuration, have.

상기 게시 노드는 상기 응답 대기 시간이 만료되었으면, 상기 제1 평가치 내지 제2 평가치를 바탕으로 대화 상대 노드를 선정한다(S1080). 상기 게시 노드는 상기 제1 평가치 내지 상기 제2 평가치 중에서 소정의 기준 이상의 값을 가지는 평가치를 모두 선정하고, 상기 선정된 평가치에 대응되는 서비스 응답을 전송한 구독 노드를 상기 대화 상대 노드로 선정할 수 있다.If the response waiting time has expired, the publishing node selects a conversation partner based on the first evaluation value and the second evaluation value (S1080). The publishing node selects all of the evaluation values having a value equal to or larger than a predetermined reference value from the first evaluation value to the second evaluation value and sends the subscription node that has transmitted the service response corresponding to the selected evaluation value to the conversation partner node Can be selected.

상기 게시 노드는 상기 대화 상대 노드의 아이디를 포함하는 대화 메시지를 생성하고, 상기 대화 메시지를 브로커에게 전송한다(S1090).The publishing node generates a conversation message including the ID of the conversation partner node and transmits the conversation message to the broker (S1090).

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.While the present invention has been described in connection with what is presently considered to be practical exemplary embodiments, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, You will understand. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive.

Claims (13)

삭제delete 브로커가 게시 노드로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 단계;
상기 브로커가 상기 게시 토픽를 구독하는 구독 노드에, 상기 게시 메시지를 전송하는 단계;
상기 브로커가 상기 구독 노드로부터 상기 게시 노드 아이디, 구독 노드 아이디 및 상기 서비스 요구 사항에 대한 서비스 응답이 포함된 응답 메시지를 수신하는 단계;
상기 브로커가 상기 응답 메시지에 포함된 상기 게시 노드 아이디가 가리키는 노드에 상기 응답 메시지를 전송하는 단계;
상기 브로커가 상기 게시 노드로부터 상기 구독 노드 아이디가 포함된 대화 메시지를 수신하는 단계; 및
상기 브로커가 상기 대화 메시지에 포함된 상기 구독 노드 아이디가 가리키는 노드에 상기 대화 메시지를 전송하는 단계를 포함하되,
상기 브로커가 상기 게시 메시지를 수신하는 단계 이전에,
상기 브로커가 상기 게시 노드로부터 상기 게시 노드 아이디 및 상기 게시 토픽이 포함된 게시 등록 요청 메시지를 수신하는 단계;
상기 브로커가 상기 구독 노드로부터 상기 구독 노드 아이디 및 구독 토픽이 포함된 구독 등록 요청 메시지를 수신하는 단계; 및
상기 브로커가 상기 구독 토픽과 일치하는 상기 게시 토픽의 구독 리스트에 상기 구독 노드 아이디를 추가하는 단계를 더 포함하는,
확장형 게시-구독 메시징 서비스 방법.
The broker receiving a publication message including a publication node ID, a publication topic, and a service requirement from a publication node;
Transmitting the publish message to a subscription node to which the broker subscribes to the publishing topic;
Receiving, by the broker, a response message including the broadcast node ID, the subscription node ID, and the service response to the service requirement from the subscription node;
The broker transmitting the response message to a node indicated by the publication node ID included in the response message;
The broker receiving a conversation message including the subscription node ID from the publishing node; And
The broker transmitting the conversation message to a node indicated by the subscription node ID included in the conversation message,
Before the step of the broker receiving the publication message,
The broker receiving a publication registration request message including the publication node ID and the publication topic from the publication node;
The broker receiving a subscription registration request message including the subscription node ID and the subscription topic from the subscription node; And
Further comprising adding the subscription node ID to a subscription list of the publishing topic in which the broker matches the subscription topic.
Expanded publishing-subscription messaging service method.
브로커가 게시 노드로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 단계;
상기 브로커가 상기 게시 토픽를 구독하는 구독 노드에, 상기 게시 메시지를 전송하는 단계;
상기 브로커가 상기 구독 노드로부터 상기 게시 노드 아이디, 구독 노드 아이디 및 상기 서비스 요구 사항에 대한 서비스 응답이 포함된 응답 메시지를 수신하는 단계;
상기 브로커가 상기 응답 메시지에 포함된 상기 게시 노드 아이디가 가리키는 노드에 상기 응답 메시지를 전송하는 단계;
상기 브로커가 상기 게시 노드로부터 상기 구독 노드 아이디가 포함된 대화 메시지를 수신하는 단계; 및
상기 브로커가 상기 대화 메시지에 포함된 상기 구독 노드 아이디가 가리키는 노드에 상기 대화 메시지를 전송하는 단계를 포함하되,
상기 브로커가 상기 게시 메시지를 전송하는 단계는,
상기 게시 노드로부터 수신된 게시 메시지에 포함 된 게시 토픽의 모든 구독 노드에, 상기 게시 메시지를 전송하는 단계를 포함하는,
확장형 게시-구독 메시징 서비스 방법.
The broker receiving a publication message including a publication node ID, a publication topic, and a service requirement from a publication node;
Transmitting the publish message to a subscription node to which the broker subscribes to the publishing topic;
Receiving, by the broker, a response message including the broadcast node ID, the subscription node ID, and the service response to the service requirement from the subscription node;
The broker transmitting the response message to a node indicated by the publication node ID included in the response message;
The broker receiving a conversation message including the subscription node ID from the publishing node; And
The broker transmitting the conversation message to a node indicated by the subscription node ID included in the conversation message,
Wherein the broker transmits the publication message,
Sending the publish message to all subscription nodes of a posting topic included in the posting message received from the publishing node,
Expanded publishing-subscription messaging service method.
브로커가 게시 노드로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 단계;
상기 브로커가 상기 게시 토픽를 구독하는 구독 노드에, 상기 게시 메시지를 전송하는 단계;
상기 브로커가 상기 구독 노드로부터 상기 게시 노드 아이디, 구독 노드 아이디 및 상기 서비스 요구 사항에 대한 서비스 응답이 포함된 응답 메시지를 수신하는 단계;
상기 브로커가 상기 응답 메시지에 포함된 상기 게시 노드 아이디가 가리키는 노드에 상기 응답 메시지를 전송하는 단계;
상기 브로커가 상기 게시 노드로부터 상기 구독 노드 아이디가 포함된 대화 메시지를 수신하는 단계; 및
상기 브로커가 상기 대화 메시지에 포함된 상기 구독 노드 아이디가 가리키는 노드에 상기 대화 메시지를 전송하는 단계를 포함하되,
상기 서비스 요구 사항은,
서비스 요구 항목을 가리키는 하나 이상의 속성을 포함하며,
상기 서비스 응답은,
상기 서비스 요구 사항의 각 속성에 대한 상기 구독 노드의 응답을 포함하는,
확장형 게시-구독 메시징 서비스 방법.
The broker receiving a publication message including a publication node ID, a publication topic, and a service requirement from a publication node;
Transmitting the publish message to a subscription node to which the broker subscribes to the publishing topic;
Receiving, by the broker, a response message including the broadcast node ID, the subscription node ID, and the service response to the service requirement from the subscription node;
The broker transmitting the response message to a node indicated by the publication node ID included in the response message;
The broker receiving a conversation message including the subscription node ID from the publishing node; And
The broker transmitting the conversation message to a node indicated by the subscription node ID included in the conversation message,
The service requirement includes:
And one or more attributes indicating a service requirement item,
The service response includes:
A response of the subscription node to each attribute of the service requirement,
Expanded publishing-subscription messaging service method.
게시 노드가 브로커에 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 전송하는 단계;
상기 게시 노드가 상기 브로커로부터 제1 구독 노드의 제1 구독 노드 아이디 및 제1 서비스 응답이 포함된 제1 응답 메시지를 수신하는 단계;
상기 게시 노드가 상기 브로커로부터 제2 구독 노드의 제2 구독 노드 아이디 및 제2 서비스 응답이 포함된 제2 응답 메시지를 수신하는 단계;
상기 게시 노드가 상기 제1 서비스 응답 및 상기 제2 서비스 응답을 바탕으로 상기 제1 구독 노드 아이디 및 제2 구독 노드 아이디 중에서 어느 하나를 선정하는 단계; 및
상기 게시 노드가 상기 선정된 아이디를 수신자로 지정하고, 상기 게시 노드의 아이디를 포함하는 제1 대화 메시지를 상기 브로커에게 전송하고, 상기 대화 메시지에 대한 응답으로 상기 게시 노드의 아이디를 수신자로 지정한 제2 대화 메시지를 상기 선정 된 아이디를 가지는 노드로부터 상기 브로커를 통하여 수신하는 단계를 포함하는,
확장형 게시-구독 메시징 서비스 방법.
Transmitting a publication message including a publication node ID, a publication topic, and a service requirement to a broker;
Receiving, by the publishing node, a first response message including a first subscription node ID of a first subscription node and a first service response from the broker;
Receiving, by the publishing node, a second response message including a second subscription node ID of a second subscription node and a second service response from the broker;
Selecting one of the first subscription node ID and the second subscription node ID based on the first service response and the second service response; And
Wherein the publishing node designates the selected ID as a recipient and transmits a first conversation message including the ID of the publishing node to the broker, 2 < / RTI > conversation message through the broker from a node having the selected identity.
Expanded publishing-subscription messaging service method.
제5항에 있어서,
상기 게시 노드가 상기 게시 메시지를 전송하는 단계 이전에,
상기 게시 노드가 상기 브로커에게 상기 게시 노드 아이디 및 상기 게시 토픽이 포함된 게시 등록 요청 메시지를 전송하는 단계를 더 포함하는,
확장형 게시-구독 메시징 서비스 방법.
6. The method of claim 5,
Prior to the step of the publishing node transmitting the publishing message,
Further comprising transmitting the publication registration request message including the publication node ID and the publication topic to the broker.
Expanded publishing-subscription messaging service method.
제5항에 있어서,
상기 서비스 요구 사항은,
서비스 요구 항목을 가리키는 하나 이상의 속성을 포함하며,
상기 제1 서비스 응답 및 상기 제2 서비스 응답은,
상기 서비스 요구 사항의 상기 각 속성에 대한 응답을 포함하고,
상기 게시 노드가 상기 제1 구독 노드 아이디 및 제2 구독 노드 아이디 중에서 어느 하나를 선정하는 단계는,
상기 제1 서비스 응답에 포함된 상기 각 속성에 대한 응답과 사전에 정의된 상기 각 속성에 대한 중요도를 곱하여 산출된 값을 상기 각 속성에 대하여 모두 산출하여 덧셈한 제1 평가치를 산출하는 단계;
상기 제2 서비스 응답에 포함된 상기 각 속성에 대한 응답과 상기 각 중요도를 곱하여 산출된 값을 상기 각 속성에 대하여 모두 산출하여 덧셈한 제2 평가치를 산출하는 단계; 및
상기 제1 평가치가 상기 제2 평가치 보다 높으면 상기 제1 구독 노드 아이디를 선정하고, 상기 제2 평가치가 상기 제1 평가치보다 높으면 상기 제2 구독 노드 아이디를 선정하며, 상기 제1 평가치와 상기 제2 평가치가 동일하면 상기 제1 구독 노드 아이디 및 상기 제2 구독 노드 아이디 모두를 선정하는 단계를 포함하는,
확장형 게시-구독 메시징 서비스 방법.
6. The method of claim 5,
The service requirement includes:
And one or more attributes indicating a service requirement item,
Wherein the first service response and the second service response comprise:
A response to each of the attributes of the service requirement,
Wherein the publishing node selecting one of the first subscription node ID and the second subscription node ID comprises:
Calculating a first evaluated value by calculating a value calculated by multiplying a response to each attribute included in the first service response by a degree of importance for each attribute defined in advance and for each attribute;
Calculating a sum of a response to each attribute included in the second service response and a value calculated by multiplying each of the attributes by the importance, and calculating a summed second evaluation value; And
The first subscription node ID is selected if the first evaluation value is higher than the second evaluation value and the second subscription node ID is selected if the second evaluation value is higher than the first evaluation value, And selecting both the first subscription node ID and the second subscription node ID if the second evaluation value is the same.
Expanded publishing-subscription messaging service method.
삭제delete 구독 노드가 브로커로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 단계;
상기 구독 노드가 상기 서비스 요구 사항에 대한 응답을 포함하는 서비스 응답을 생성하는 단계;
상기 구독 노드가 상기 게시 노드 아이디, 구독 노드 아이디 및 상기 서비스 응답이 포함된 응답 메시지를 상기 브로커에게 전송하는 단계;
상기 게시 노드 아이디가 가리키는 게시 노드에 의하여 상기 구독 노드가 대화 상태로 선택 된 결과로 생성된 대화 메시지를 상기 게시 노드로부터 상기 브로커를 통하여 수신하는 단계를 포함하되,
상기 구독 노드가 상기 브로커로부터 상기 게시 메시지를 수신하는 단계 이전에,
상기 구독 노드가 상기 브로커에게 상기 구독 노드 아이디 및 구독 토픽이 포함된 구독 등록 요청 메시지를 전송하는 단계를 더 포함하는,
확장형 게시-구독 메시징 서비스 방법.
Receiving a publication message including a publication node ID, a publication topic, and a service requirement from a broker;
The subscription node generating a service response including a response to the service requirement;
The subscription node sending the broker a response message including the publishing node ID, the subscription node ID, and the service response;
Receiving, via the broker from the publishing node, a conversation message generated as a result of selecting the subscription node as a conversation state by a publication node indicated by the publication node ID,
Before the subscription node receives the publishing message from the broker,
The subscription node sending the subscription registration request message including the subscription node ID and the subscription topic to the broker,
Expanded publishing-subscription messaging service method.
구독 노드가 브로커로부터 게시 노드 아이디, 게시 토픽 및 서비스 요구 사항이 포함된 게시 메시지를 수신하는 단계;
상기 구독 노드가 상기 서비스 요구 사항에 대한 응답을 포함하는 서비스 응답을 생성하는 단계;
상기 구독 노드가 상기 게시 노드 아이디, 구독 노드 아이디 및 상기 서비스 응답이 포함된 응답 메시지를 상기 브로커에게 전송하는 단계;
상기 게시 노드 아이디가 가리키는 게시 노드에 의하여 상기 구독 노드가 대화 상태로 선택 된 결과로 생성된 대화 메시지를 상기 게시 노드로부터 상기 브로커를 통하여 수신하는 단계를 포함하되,
상기 서비스 요구 사항은,
서비스 요구 항목을 가리키는 하나 이상의 속성을 포함하며,
상기 서비스 응답을 생성하는 단계는,
상기 서비스 요구 사항의 상기 각 속성에 대한 응답을 생성하는 단계; 및
상기 각 속성에 대하여 생성된 응답을 모두 포함하는 서비스 응답을 생성하는 단계를 포함하는,
확장형 게시-구독 메시징 서비스 방법.
Receiving a publication message including a publication node ID, a publication topic, and a service requirement from a broker;
The subscription node generating a service response including a response to the service requirement;
The subscription node sending the broker a response message including the publishing node ID, the subscription node ID, and the service response;
Receiving, via the broker from the publishing node, a conversation message generated as a result of selecting the subscription node as a conversation state by a publication node indicated by the publication node ID,
The service requirement includes:
And one or more attributes indicating a service requirement item,
Wherein the generating the service response comprises:
Generating a response to each attribute of the service requirement; And
And generating a service response including all of the generated responses for each of the attributes.
Expanded publishing-subscription messaging service method.
토픽에 대한 게시 메시지를 전송하고 상기 게시 메시지에 대한 응답으로 응답 메시지를 수신하며 상기 응답 메시지에 대한 응답으로 대화 메시지를 전송하는 게시 노드;
상기 게시 메시지를 수신하고 상기 게시 메시지에 대한 응답으로 응답 메시지를 전송하며 상기 응답 메시지에 대한 응답으로 상기 대화 메시지를 수신하는 구독 노드; 및
상기 게시 메시지를 수신하면 상기 구독 노드에 전송하고 상기 응답 메시지를 수신하면 상기 게시 노드에 전송하며, 상기 게시 노드로부터 상기 대화 메시지를 수신하면 상기 대화 메시지를 상기 구독 노드에 전송하는 브로커를 포함하되,
상기 게시 메시지는,
상기 게시 노드의 아이디, 상기 토픽 및 상기 토픽에 대한 서비스 요구 사항을 포함하며,
상기 응답 메시지는,
상기 구독 노드의 아이디, 상기 게시 노드의 아이디 및 상기 토픽에 대한 서비스 응답을 포함하며,
상기 대화 메시지는,
상기 구독 노드의 아이디 및 대화 내용을 포함하는,
확장형 게시-구독 메시징 서비스 시스템.
A publishing node for transmitting a posting message for a topic, receiving a response message in response to the posting message, and transmitting a conversation message in response to the response message;
A subscription node receiving the publication message, transmitting a response message in response to the publication message, and receiving the conversation message in response to the response message; And
And a broker which transmits the message to the subscription node upon receiving the message, transmits the message to the node when receiving the response message, and transmits the message to the subscription node upon receiving the message from the node,
The posting message includes:
An identity of the publishing node, a service requirement for the topic and the topic,
The response message includes:
An identity of the subscription node, an identity of the publishing node, and a service response to the topic,
The conversation message includes:
The identity of the subscription node and the content of the conversation,
Expanded publishing - subscription messaging service system.
제11항에 있어서,
상기 게시 노드는,
상기 게시 메시지 전송 전에 상기 브로커에 상기 게시 노드 아이디 및 상기 토픽을 포함하는 게시 등록 요청 메시지를 전송하고,
상기 구독 노드는,
상기 게시 메시지 수신 전에 상기 브로커에 상기 구독 노드 아이디 및 상기 토픽을 포함하는 구독 등록 요청 메시지를 전송하며,
상기 브로커는,
상기 토픽, 상기 게시 노드 아이디 및 상기 구독 노드 아이디를 포함하는 중계 정보를 저장하는 관리 DB(Database)를 포함하고, 상기 게시 등록 요청 메시지를 수신하면 상기 토픽에 대한 중계 정보에 상기 게시 노드 아이디를 추가하여 상기 중계 정보를 상기 관리 DB에 저장하며, 상기 구독 등록 요청 메시지를 수신하면 상기 토픽에 대한 중계 정보에 상기 구독 노드 아이디를 추가하여 상기 중계 정보를 상기 관리 DB에 저장하고, 상기 게시 메시지를 수신하면 상기 게시 메시지에 포함된 상기 토픽에 대한 상기 구독 노드 아이디를 상기 관리 DB에서 조회하여 상기 조회된 구독 노드 아이디에 대응되는 상기 구독 노드에 상기 게시 메시지를 전송하는,
확장형 게시-구독 메시징 서비스 시스템.
12. The method of claim 11,
The publishing node,
Transmits a publication registration request message including the publication node ID and the topic to the broker before transmission of the publication message,
The subscription node,
Transmits a subscription registration request message including the subscription node ID and the topic to the broker before receiving the publication message,
The broker includes:
And a management DB for storing relay information including the topic, the publication node ID, and the subscription node ID. When the publication registration request message is received, the publication node ID is added to the relay information for the topic Stores the relay information in the management DB, and upon receiving the subscription registration request message, adds the subscription node ID to the relay information for the topic, stores the relay information in the management DB, And transmits the publication message to the subscription node corresponding to the inquired subscription node ID by querying the management DB for the subscription node ID for the topic included in the publication message,
Expanded publishing - subscription messaging service system.
제 11항에 있어서,
상기 브로커는,
상기 응답 메시지를 수신하면 상기 응답 메시지에 포함된 상기 게시 노드 아이디에 대응되는 게시 노드에 상기 응답 메시지를 전송하고, 상기 대화 메시지를 수신하면 상기 대화 메시지에 포함된 수신 대상 노드에 대응되는 노드에 상기 대화 메시지를 전송하는,
확장형 게시-구독 메시징 서비스 시스템.
12. The method of claim 11,
The broker includes:
And when the response message is received, transmitting the response message to the publication node corresponding to the publication node ID included in the response message, and upon receiving the conversation message, transmitting, to the node corresponding to the reception subject node included in the conversation message, To send a conversation message,
Expanded publishing - subscription messaging service system.
KR1020140161797A 2014-11-19 2014-11-19 Expanded publish-subscribe messaging service method and system KR101609532B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140161797A KR101609532B1 (en) 2014-11-19 2014-11-19 Expanded publish-subscribe messaging service method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140161797A KR101609532B1 (en) 2014-11-19 2014-11-19 Expanded publish-subscribe messaging service method and system

Publications (1)

Publication Number Publication Date
KR101609532B1 true KR101609532B1 (en) 2016-04-20

Family

ID=55917569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140161797A KR101609532B1 (en) 2014-11-19 2014-11-19 Expanded publish-subscribe messaging service method and system

Country Status (1)

Country Link
KR (1) KR101609532B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180031852A (en) * 2016-09-19 2018-03-29 충남대학교산학협력단 Adapter for message queuing telemetry transport protocol interworking and data exchange system employing the same
KR20180052289A (en) 2016-11-10 2018-05-18 서강대학교산학협력단 A publish/subscribe-based contents delivery platform system which utilizes mashup through topic virtualization, a mashup server and a publish/subscribe-based contents delivery method
KR20190057604A (en) * 2017-11-20 2019-05-29 아주대학교산학협력단 Publish-Subscribe message service method
KR20200048907A (en) * 2018-10-31 2020-05-08 아주대학교산학협력단 Publish and subscribe communication system and method thereof
US10826979B2 (en) 2016-12-22 2020-11-03 University-Industry Cooperation Group Of Kyung-Hee University Apparatus and method for logically grouping client nodes in an IoT environment using client identifiers
CN115022392A (en) * 2022-06-24 2022-09-06 浪潮软件集团有限公司 IOT-oriented distributed publishing and subscribing service method and system
KR102477368B1 (en) * 2021-11-04 2022-12-15 주식회사 라온아이오티 Message delivery method and system between IoT devices using MQTT protocol

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018716A1 (en) 2001-02-21 2003-01-23 Brandyn Webb Populating online forums
US20050021622A1 (en) 2002-11-26 2005-01-27 William Cullen Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030018716A1 (en) 2001-02-21 2003-01-23 Brandyn Webb Populating online forums
US20050021622A1 (en) 2002-11-26 2005-01-27 William Cullen Dynamic subscription and message routing on a topic between publishing nodes and subscribing nodes

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180031852A (en) * 2016-09-19 2018-03-29 충남대학교산학협력단 Adapter for message queuing telemetry transport protocol interworking and data exchange system employing the same
KR101890310B1 (en) 2016-09-19 2018-08-22 충남대학교산학협력단 Adapter for message queuing telemetry transport protocol interworking and data exchange system employing the same
KR20180052289A (en) 2016-11-10 2018-05-18 서강대학교산학협력단 A publish/subscribe-based contents delivery platform system which utilizes mashup through topic virtualization, a mashup server and a publish/subscribe-based contents delivery method
US10826979B2 (en) 2016-12-22 2020-11-03 University-Industry Cooperation Group Of Kyung-Hee University Apparatus and method for logically grouping client nodes in an IoT environment using client identifiers
KR20190057604A (en) * 2017-11-20 2019-05-29 아주대학교산학협력단 Publish-Subscribe message service method
KR102022602B1 (en) 2017-11-20 2019-11-04 아주대학교산학협력단 Publish-Subscribe message service method
KR20200048907A (en) * 2018-10-31 2020-05-08 아주대학교산학협력단 Publish and subscribe communication system and method thereof
KR102127652B1 (en) 2018-10-31 2020-06-29 아주대학교산학협력단 Publish and subscribe communication system and method thereof
KR102477368B1 (en) * 2021-11-04 2022-12-15 주식회사 라온아이오티 Message delivery method and system between IoT devices using MQTT protocol
CN115022392A (en) * 2022-06-24 2022-09-06 浪潮软件集团有限公司 IOT-oriented distributed publishing and subscribing service method and system
CN115022392B (en) * 2022-06-24 2024-04-30 浪潮软件集团有限公司 IOT-oriented distributed publishing and subscribing service method and system

Similar Documents

Publication Publication Date Title
KR101609532B1 (en) Expanded publish-subscribe messaging service method and system
KR102605458B1 (en) Analysis function discovery method and device
RU2495535C2 (en) System, method and client for joining group
US20050228895A1 (en) Method, Web service gateway (WSG) for presence, and presence server for presence information filtering and retrieval
US7802304B2 (en) Method and system of providing an integrated reputation service
JP5847185B2 (en) Content sharing method and apparatus using group change information in content-centric network environment
CN103326929B (en) Method and device for transmitting messages
KR20140072044A (en) Distributing multi-source push notifications to multiple targets
CN101505458A (en) Providing relevant advertisements or other content based on a communications identifier
JP2016066882A (en) Communication system, node device, node program, and communication program
KR20070052038A (en) Method for providing application program interface in open mobile business supporting system
WO2014187397A1 (en) Multimedia message publishing method and device
KR101513472B1 (en) Apparatus for confirming buddy based on telephone number and method thereof
KR20090087791A (en) Converged ip messaging service system and method for interworking with non-converged ip messaging services
KR101790883B1 (en) Operating method of intelligent network server for switching between telephone counseling and chatting counseling in intelligent network environment, and intelligent network server thereof
US20110191427A1 (en) Communication method adapted for users using multiple communication facilities
RU2658157C1 (en) Method for constructing temporary channels for data transmission between the im clients that use different communication protocols
KR20110065917A (en) The communication middleware for providing publish/subscribe service in regard to latency optimization
JP2013539296A (en) Location-based message transmission / reception system and method thereof
CN116155852A (en) Feed stream implementation method, device, terminal and storage medium
CN111128184B (en) Voice interaction method and device between devices
JP6369273B2 (en) Print control server and print control method
US20130117371A1 (en) Apparatus for transmitting scheduled messages classified by transmission mode
JP2014178822A (en) Message transmission method and device and system for transmitting message
JP2009110165A (en) Load balancing processing method in publish/subscribe communication, and execution device and processing program therefor

Legal Events

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

Payment date: 20190304

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200302

Year of fee payment: 5