KR101809365B1 - Message Fragmentation Method using a MQTT Protocol in M2M/IoT Platforms - Google Patents

Message Fragmentation Method using a MQTT Protocol in M2M/IoT Platforms Download PDF

Info

Publication number
KR101809365B1
KR101809365B1 KR1020160055528A KR20160055528A KR101809365B1 KR 101809365 B1 KR101809365 B1 KR 101809365B1 KR 1020160055528 A KR1020160055528 A KR 1020160055528A KR 20160055528 A KR20160055528 A KR 20160055528A KR 101809365 B1 KR101809365 B1 KR 101809365B1
Authority
KR
South Korea
Prior art keywords
message
mqtt
specifying
parameter
data type
Prior art date
Application number
KR1020160055528A
Other languages
Korean (ko)
Other versions
KR20170125252A (en
Inventor
최성찬
김재호
안일엽
윤재석
Original Assignee
전자부품연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전자부품연구원 filed Critical 전자부품연구원
Priority to KR1020160055528A priority Critical patent/KR101809365B1/en
Publication of KR20170125252A publication Critical patent/KR20170125252A/en
Application granted granted Critical
Publication of KR101809365B1 publication Critical patent/KR101809365B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/108Resource delivery mechanisms characterised by resources being split in blocks or fragments
    • 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/06Message adaptation to terminal or network requirements
    • H04L61/3045
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/327
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/345Types of network names containing wildcard characters

Abstract

M2M/IoT 시스템에서 MQTT 프로토콜을 활용한 메시지 전달 방법이 제공된다. 본 발명의 실시예에 따른 메시지 전달 방법은, 특정 표준에 따른 메시지를 단편화하여 MQTT 발행 메시지의 페이로드에 수록하고, 단편화된 메시지의 단편화 정보를 MQTT 발행 메시지의 토픽 이름에 명시한다. 이에 의해, 클라이언트가 토픽 이름에 명시된 단편화 정보를 참조하여 MQTT 메시지의 페이로드에 수록된 메시지의 재조합을 보다 용이하게 할 수 있게 된다A message delivery method using an MQTT protocol is provided in an M2M / IoT system. In the message delivery method according to the embodiment of the present invention, a message according to a specific standard is fragmented and recorded in a payload of an MQTT publication message, and fragmentation information of the fragmented message is specified in a topic name of an MQTT publication message. This allows the client to refer to the fragmentation information specified in the topic name to facilitate the reassembly of the message contained in the payload of the MQTT message

Description

M2M/IoT 플랫폼에서 MQTT 프로토콜을 활용한 메시지 단편화 방법{Message Fragmentation Method using a MQTT Protocol in M2M/IoT Platforms}{Message Fragmentation Method using a MQTT Protocol in M2M / IoT Platform}

본 발명은 M2M/IoT(Machine to Machine/Internet of Things) 기술에 관한 것으로, 더욱 상세하게는 M2M/IoT 플랫폼에서 MQTT(Message Queue Telemetry Transport) 프로토콜을 이용하여 메시지를 전달하는 방법에 관한 것이다.The present invention relates to a M2M / IoT (Machine to Machine / Internet of Things) technology, and more particularly, to a method for transmitting a message using a Message Queue Telemetry Transport (MQTT) protocol in an M2M / IoT platform.

M2M 플랫폼에서 MQTT 프로토콜을 활용하여 M2M 메시지를 전달할 필요성이 존재한다.There is a need to utilize the MQTT protocol to convey M2M messages on the M2M platform.

MQTT(Message Queue Telemetry Transport) 프로토콜은 메시지 전달을 위해 발행-구독(Publish-Subscribe) 모델을 이용하며, 종단 간 데이터 전달을 위해 브로커가 메시지를 중계하는 구조이다. 도 1에 MQTT 프로토콜에 따른 메시지 전달 방식을 나타내었다.The Message Queue Telemetry Transport (MQTT) protocol uses a publish-subscribe model for message delivery, and a broker relays messages for end-to-end data delivery. FIG. 1 shows a message transmission scheme according to the MQTT protocol.

MQTT 프로토콜에서 모든 클라이언트들은 브로커에게 연결이 되어 있어야 하며, 이때 토픽 이름을 가지고 구독한다.In the MQTT protocol, all clients must be connected to the broker, which then subscribes with the topic name.

토픽 이름은 브로커가 발행 메시지들을 포워딩할 때 이용하는 것으로, 브로커는 발행 메시지의 토픽을 구독한 종단에게 발행 메시지를 전달한다.The topic name is used by the broker to forward published messages, which the broker delivers to a terminal subscribed to a topic in the published message.

한편, M2M 클라이언트들도 데이터를 보내기 위해서 MQTT 프로토콜을 이용하는 것이 가능하며, 메세지를 보낼 때 토픽 이름을 명시하여 보낸다. 그러면, 브로커는 해당 토픽 이름에 매칭되는 클라이언트에게 해당 메시지를 보내고 해당 클라이언트는 메시지를 수신한다.On the other hand, M2M clients can also use the MQTT protocol to send data, and send a topic name explicitly when sending a message. The broker then sends the message to the client that matches the topic name and the client receives the message.

도 2에는 MQTT 메시지 형식을, 도 3에는 MQTT 토픽 이름 형식을, 각각 나타내었다. 도 3에 도시된 바와 같이, MQTT 토픽 이름은 계층적으로 구성되며, 각각의 계층은 '/'로 구분된다.FIG. 2 shows the MQTT message format, and FIG. 3 shows the MQTT topic name format. As shown in FIG. 3, the MQTT topic name is hierarchically structured, and each hierarchy is divided into '/'.

M2M 클라이언트가 데이터를 보내기 위해서는, MQTT 메시지의 페이로드에 M2M 데이터가 담기게 되는데, 이론적으로 MQTT 페이로드는 256MB를 지원한다.In order for the M2M client to send data, the payload of the MQTT message contains M2M data. Theoretically, the MQTT payload supports 256MB.

하지만, IoT 환경에서 대량의 데이터를 한 번에 보내는 것은 손실이 많은 네트워크 환경에서 전송 데이터 패킷의 오류가 발생하거나 데이터 전달 실패 시, 대량의 데이터를 다시 재전송해야 하는 상황이 발생한다.However, in the IoT environment, sending a large amount of data at a time causes a situation in which a large amount of data is retransmitted when an error occurs in a transmission data packet or a data transmission failure occurs in a lossy network environment.

따라서, 대량의 데이터를 한번에 보내는 것은 비효율적인 방법으로 지적되고 있으며, 이에 한 번에 전송하는 페이로드 사이즈를 줄이기 위한 방안의 모색이 ㅇ요청된다.Therefore, sending a large amount of data at once is pointed out in an inefficient way, and a search for a method for reducing the payload size to be transmitted at once is requested.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, M2M 메시지를 단편화하여 MQTT 메시지의 페이로드에 담아 전달하되, MQTT 메시지의 토픽 이름에 페이로드에 수록된 메시지의 단편화 정보를 명시하여 MQTT 메시지를 발행하는 메시지 단편화 방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been conceived to solve the above problems, and it is an object of the present invention to provide an MQTT message fragmentation method, an MQTT message fragmentation method, an MQTT message fragmentation method, And to issue an MQTT message.

상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른, 메시지 전달 방법은, 특정 표준에 따른 메시지를 단편화하여 MQTT(Message Queue Telemetry Transport) 발행 메시지의 페이로드에 수록하는 단계; 및 단편화된 메시지의 단편화 정보를 상기 MQTT 발행 메시지의 토픽 이름에 명시하는 단계;를 포함한다.According to an aspect of the present invention, there is provided a message delivery method including fragmenting a message according to a specific standard and storing it in a payload of a Message Queue Telemetry Transport (MQTT) issue message; And specifying fragmentation information of the fragmented message in the topic name of the MQTT issue message.

그리고, 상기 단편화 정보는, MQTT 발행 메시지의 단편화 번호와 전체 단편화 번호를 포함할 수 있다.The fragmentation information may include a fragmentation number and an entire fragmentation number of the MQTT release message.

또한, 상기 토픽 이름은, 상기 특정 표준을 명시하기 위한 파라미터, 요청 또는 응답임을 명시하기 위한 파라미터, 발신자를 명시하기 위한 파라미터 및 수신자를 명시하기 위한 파라미터, 메시지의 데이터 타입 중 적어도 하나를 포함할 수 있다.In addition, the topic name may include at least one of a parameter for specifying the specific standard, a parameter for specifying a request or a response, a parameter for specifying a sender and a parameter for specifying a receiver, and a data type of a message have.

그리고, 상기 단편화 정보는, 상기 데이터 타입의 뒤에 명시될 수 있다.The fragmentation information may be specified after the data type.

또한, 상기 토픽 이름에 데이터 타입이 명시된 MQTT 발행 메시지를 수신하기 위해, MQTT 구독 신청 메시지에 수록하는 토픽 이름에서 데이터 타입을 와일드 카드를 이용하여 명시하는 단계;를 더 포함할 수 있다.Further, in order to receive the MQTT issue message in which the data type is specified in the topic name, the data type may be specified using a wildcard in the topic name included in the MQTT subscription message.

그리고, 구독할 MQTT 메시지의 페이로드에 수록될 데이터 타입을 지정하기 위해, MQTT 구독 신청 메시지의 페이로드에 데이터 타입을 명시한 파라미터를 수록하는 단계;를 더 포함할 수 있다.And recording a parameter specifying a data type in a payload of the MQTT subscription message in order to specify a data type to be recorded in a payload of the MQTT message to be subscribed.

또한, 상기 특정 표준은, M2M 관련 표준일 수 있다.In addition, the specific standard may be an M2M related standard.

한편, 본 발명의 다른 실시예에 따른, 메시지 처리 방법은, 특정 표준에 따른 메시지가 단편화되어 페이로드에 수록된 MQTT 발행 메시지들을 수신하는 단계; 및 수신된 상기 MQTT 발행 메시지들의 토픽 이름에 명시된 단편화 정보를 참조하여, 상기 MQTT 발행 메시지들을 재조합하는 단계;를 포함한다.According to another aspect of the present invention, there is provided a message processing method comprising: receiving MQTT release messages fragmented in a payload according to a predetermined standard; And reassembling the MQTT release messages with reference to the fragmentation information specified in the topic name of the received MQTT release messages.

이상 설명한 바와 같이, 본 발명의 실시예들에 따르면, MQTT 메시지의 토픽 이름에 페이로드에 수록된 메시지의 단편화 정보를 명시하여 MQTT 메시지를 발행함으로써, 클라이언트가 토픽 이름에 명시된 단편화 정보를 참조하여 MQTT 메시지의 페이로드에 수록된 메시지의 재조합을 보다 용이하게 할 수 있게 된다.As described above, according to the embodiments of the present invention, the MQTT message is issued by specifying the fragmentation information of the message included in the payload in the topic name of the MQTT message, so that the client refers to the fragmentation information specified in the topic name, The reassembly of the messages stored in the payload of the mobile terminal can be facilitated.

도 1은 MQTT 프로토콜에 따른 메시지 전달 방식을 나타낸 도면,
도 2는 MQTT 메시지 형식,
도 3은 MQTT 토픽 이름 형식,
도 4는 M2M/IoT 시스템에서 MQTT 프로토콜을 활용한 메시지 전달 방법의 설명에 제공되는 도면,
도 5는 M2M 메시지의 데이터를 다수로 단편화하여 다수의 MQTT 메시지에 수록하는 기법,
도 6은 MQTT 토픽 이름을 활용한 단편화 정보를 명시/제공 방법의 설명에 제공되는 도면,
도 7은 MQTT 구독 신청 메시지에 수록되는 토픽 이름을 예시한 도면, 그리고,
도 8은 클라이언트(발행자) 디바이스의 상세 블럭도이다.
1 is a diagram illustrating a message delivery method according to an MQTT protocol,
Figure 2 shows the MQTT message format,
Figure 3 shows the MQTT topic name format,
FIG. 4 is a diagram illustrating a message delivery method using an MQTT protocol in an M2M / IoT system; FIG.
5 illustrates a technique of fragmenting data of an M2M message into a plurality of MQTT messages,
FIG. 6 is a view showing a fragmented information providing / explaining method of specifying / providing fragmentation information using an MQTT topic name;
7 is a diagram illustrating a topic name included in an MQTT subscription request message,
8 is a detailed block diagram of a client (issuer) device.

이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.Hereinafter, the present invention will be described in detail with reference to the drawings.

도 4는 M2M/IoT(Machine to Machine/Internet of Things) 시스템에서 MQTT(Message Queue Telemetry Transport) 프로토콜을 활용한 메시지 전달 방법의 설명에 제공되는 도면이다.FIG. 4 is a diagram illustrating a method of transmitting a message using an MQTT (Message Queue Telemetry Transport) protocol in an M2M / IoT (Machine to Machine / Internet of Things) system.

M2M/IoT 시스템에서도, 도 4에 도시된 바와 같이, 클라이언트(구독자)(300)가 브로커(200)에 구독 신청을 하면, 클라이언트(발행자)(100)의 MQTT 발행 메시지가 브로커(200)의 중계에 의해 클라이언트(구독자)(300)에게 전달된다.4, when the client (subscriber) 300 subscribes to the broker 200, the MQTT issuance message of the client (issuer) 100 is relayed to the broker 200 To the client (subscriber)

MQTT 발행 메시지의 페이로드(Payload)에는 M2M 표준에 따른 메시지(이하, 'M2M 메시지'로 약칭)가 수록 가능한데, M2M 메시지의 크기가 클 경우 여러 개의 메시지로 단편화(Fragmentation) 하고, 단편화된 메시지 개수 만큼의 MQTT 발행 메시지를 생성하여 발행한다.A message according to the M2M standard (hereinafter abbreviated as 'M2M message') can be recorded in the payload of the MQTT issue message. When the size of the M2M message is large, the message is fragmented into a plurality of messages, Lt; RTI ID = 0.0 > MQTT < / RTI >

도 5에는 M2M 메시지의 데이터를 다수로 단편화하여 다수의 MQTT 메시지에 수록하는 기법이 도시되어 있다. 도 5에는 하나의 M2M 메시지를 9개로 단편화하여 9개의 MQTT 메시지에 수록하는 것으로 도시되어 있는데 예시적인 것에 불과하다. 단편화 개수에 대한 제한은 없다.FIG. 5 illustrates a technique of fragmenting a plurality of pieces of data of an M2M message into a plurality of MQTT messages. In FIG. 5, one M2M message is fragmented into 9 pieces and recorded in 9 MQTT messages, which is merely an example. There is no restriction on the number of fragmentation.

수신단인 클라이언트(구독자)(300)가 다수로 단편화된 MQTT 발행 메시지들을 재조합하여 M2M 메시지를 복원하기 위해서는 단편화 정보가 필요하다. 여기서, 단편화 정보란 MQTT 발행 메시지의 페이로드에 수록되어 있는 데이터가 M2M 메시지로부터 단편화된 데이터 중 몇 번째인지를 나타내는 정보이다.Fragmentation information is necessary for the client (subscriber) 300, which is the receiving end, to reconstruct the M2M message by recombining a plurality of fragmented MQTT release messages. Here, the fragmentation information is information indicating how many pieces of data included in the payload of the MQTT issue message are fragmented from the M2M message.

본 발명의 실시예에서는 MQTT 메시지의 헤더에 수록되는 토픽 이름을 활용하여 단편화 정보를 명시/제공하는 바, 이하에서 상세히 설명한다.In the embodiment of the present invention, fragmentation information is specified / provided by using the topic name included in the header of the MQTT message, which will be described in detail below.

도 6은 MQTT 토픽 이름을 활용한 단편화 정보를 명시/제공 방법의 설명에 제공되는 도면이다. 도 6에서 토픽 이름의 후단 부분, 구체적으로 메시지의 데이터 타입(xml,json)의 이후 부분에 수록된, "1/9", "2/9", "3/9", "4/9" 등과 "1/10", "2/10", "3/10", "4/10" 등이 단편화 정보이다.FIG. 6 is a diagram provided for explaining a method of specifying / providing fragmentation information using an MQTT topic name; FIG. Quot ;, " 1/9 ", " 2/9 ", "3/9 "," 4/9 ", etc. recorded in the rear portion of the topic name, specifically, "1/10", "2/10", "3/10", and "4/10" are fragmentation information.

도 6에 제시된 토픽 이름에서, "oneM2M"은 원래 메시지의 표준 규격을 명시하는 파라미터이고, "req"와 "resp"는 요청과 응답을 각각 명시하는 파라미터이며, <originator>와 <receiver>는 발신자와 수신자를 명시하 파라미터이고, 'xml'과 'json'은 메시지의 데이터 타입을 명시하 파라미터이다.6, " oneM2M "is a parameter specifying the standard specification of the original message," req "and" resp "are parameters specifying respective requests and responses, 'Xml' and 'json' are parameters specifying the data type of the message.

도 6에 나타난 바와 같이, 단편화 정보의 형식은 '해당 메시지의 단편화 번호(current fragmentation No.)' / '전체 단편화 번호(total fragmentation No.)'이다. 이에 따라,As shown in FIG. 6, the format of the fragmentation information is 'current fragmentation number' / 'total fragmentation number'. Accordingly,

1) "1/9"는 단편화된 9개의 메시지 중 1 번째 메시지임을 나타내고,1) "1/9" indicates that the message is the first message among 9 fragmented messages,

2) "2/9"는 단편화된 9개의 메시지 중 2 번째 메시지임을 나타내며,2) "2/9" indicates the second message among 9 fragmented messages,

3) "3/9"는 단편화된 9개의 메시지 중 3 번째 메시지임을 나타내고,3) "3/9" indicates the third message among the nine fragmented messages,

4) "4/9"는 단편화된 9개의 메시지 중 4 번째 메시지임을 나타낸다.4) "4/9" indicates the fourth message among 9 fragmented messages.

이와 같이, MQTT 메시지를 발행하는 클라이언트(발행자)(100)는, MQTT 메시지의 헤더에 수록되는 토픽 이름에 페이로드에 수록된 메시지의 단편화 정보를 명시하여, MQTT 메시지를 발행한다.As described above, the client (issuer) 100 issuing the MQTT message issues fragmentation information of the message included in the payload to the topic name included in the header of the MQTT message, and issues the MQTT message.

브로커(200)를 통해 클라이언트(발신자)(100)로부터 MQTT 발행 메시지를 수신한 클라이언트(구독자)(300)는 토픽 이름을 통해 페이로드에 수록된 메시지의 단편화 정보를 파악하고, 이를 기반으로 MQTT 발행 메시지를 재조합하게 된다.The client (subscriber) 300 receiving the MQTT issue message from the client (sender) 100 through the broker 200 grasps the fragmentation information of the message recorded in the payload through the topic name, .

한편, MQTT 메시지의 토픽 이름에는 페이로드에 수록된 메시지의 데이터 타입(JSON, XML 등)도 명시되어 있다. 따라서, 클라이언트(구독자)(300)는 토픽 이름을 통해 페이로드에 수록된 메시지의 인코딩 방식을 파악할 수 있어, 이를 기반으로 메시지를 디코딩할 수 있다.On the other hand, the topic name of the MQTT message also specifies the data type (JSON, XML, etc.) of the message included in the payload. Therefore, the client (subscriber) 300 can recognize the encoding method of the message stored in the payload through the topic name, and can decode the message based on the encoding method.

토픽 네임에서 데이터 타입은 선택적일 수 있다. 즉, 토픽 네임에 데이터 타입이 명시되지 않는 경우에도 본 발명의 기술적 사상이 적용될 수 있다.The data type in the topic name may be optional. That is, even if the data type is not specified in the topic name, the technical idea of the present invention can be applied.

토픽 이름에 데이터 타입이 명시된 MQTT 발행 메시지를 구독하기 위해, 클라이언트(구독자)(300)는 MQTT에서 지원되는 와일드 카드(wild card) "#"을 이용하여, MQTT 구독 신청 메시지를 생성할 수 있다.To subscribe to an MQTT publish message with a data type specified in the topic name, the client (subscriber) 300 can generate an MQTT subscription message using a wildcard "#" supported in the MQTT.

구체적으로, MQTT 구독 신청 메시지에 수록되는 토픽 이름에서 데이터 타입을 "#"로 명시하는 것이다. 토픽 이름에 데이터 타입이 명시된 MQTT 발행 메시지를 수신할 수 있음을 의미하는 메시지로, MQTT 구독 신청 메시지에 수록되는 토픽 이름은 도 7에 예시되어 있다.Specifically, the data type is specified as "#" in the topic name included in the MQTT subscription message. The topic name contained in the MQTT subscription message is illustrated in FIG. 7, which means that it is possible to receive an MQTT publish message with a data type specified in the topic name.

나아가, 토픽 이름에 데이터 타입 및/또는 단편화 정보가 명시된 MQTT 발행 메시지를 구독하기 위해, 클라이언트(구독자)(300)는 MQTT에서 지원되는 와일드 카드(wild card) "#"을 이용하여, MQTT 구독 신청 메시지를 생성할 수 있다.Further, the client (subscriber) 300 can use the wildcard "#" supported in the MQTT to subscribe to the MQTT issue message in which the data type and / or fragmentation information is specified in the topic name, Message can be generated.

이를 위한 MQTT 구독 신청 메시지의 형식도, 도 7에 예시된 바와 같이 구현가능하다.The format of the MQTT subscription message for this purpose can also be implemented as illustrated in FIG.

도 8은 클라이언트(발행자)(100) 디바이스의 상세 블럭도이다. 도 8에 도시된 바와 같이, 클라이언트(발행자)(100)는 통신부(110), 프로세서(120) 및 저장부(130)를 포함한다.8 is a detailed block diagram of the client (issuer) 100 device. 8, the client (issuer) 100 includes a communication unit 110, a processor 120, and a storage unit 130. As shown in FIG.

통신부(110)는 브로커(200)와 통신 연결을 설정하고 유지하며, 프로세서(120)는 MQTT 발행 메시지를 생성하여 통신부(110)를 통해 브로커(200)로 발신한다.The communication unit 110 establishes and maintains a communication connection with the broker 200. The processor 120 generates an MQTT issuance message and transmits the MQTT issuance message to the broker 200 through the communication unit 110. [

저장부(130)는 프로세서(120)가 메시지를 생성하여 발신함에 있어 필요한 저장 공간을 제공한다.The storage unit 130 provides necessary storage space for the processor 120 to generate and send a message.

M2M 메시지를 MQTT 발행 메시지로 발신하는 것도 가능한데, M2M 메시지의 크기가 큰 경우 프로세서(120)는 이를 다수의 MQTT 발행 메시지로 단편화한다. 이때, 프로세서(120)는 단편화 정보를 토픽 이름에 명시한다.It is also possible to send an M2M message as an MQTT issue message. If the size of the M2M message is large, the processor 120 fragment it into a plurality of MQTT issue messages. At this time, the processor 120 specifies fragmentation information in the topic name.

지금까지, M2M/IoT 시스템에서 MQTT 프로토콜을 활용한 메시지 전달 방법에 대해 바람직한 실시예를 들어 상세히 설명하였다.Up to now, a preferred embodiment of a message delivery method using the MQTT protocol in the M2M / IoT system has been described in detail.

위 실시예에서 언급한 oneM2M은 M2M 관련 표준의 일종으로 언급한 것이다. 다른 종류의 M2M 관련 표준에 대한 메시지를 MQTT 발행 메시지에 수록하는 경우도 위 실시예에서 제시한 방법들이 적용될 수 있다.OneM2M mentioned in the above embodiment is referred to as a kind of M2M related standard. The method shown in the above embodiment may be applied to the case where a message for another type of M2M related standard is recorded in the MQTT issue message.

위 실시예에서 데이터 타입으로 언급한 xml과 json은 예시적인 것에 불과하다. 다른 종류의 데이터 타입이 적용되는 경우에도, 본 발명의 기술적 사상이 적용될 수 있음은 물론이다.The xml and json referred to as data types in the above embodiment are merely illustrative. It goes without saying that the technical idea of the present invention can be applied to other types of data types.

그리고, 토픽 이름에 데이터 타입이 명시된 MQTT 발행 메시지를 지정하기 위해 사용한 와일드 카드 "#"는 다른 와일드 카드로 대체될 수 있음은 물론, 다른 지시자로 대체될 수도 있다.The wildcard "#" used to designate the MQTT issue message with the data type specified in the topic name may be replaced with another wildcard, or may be replaced with another indicator.

한편, 본 실시예에 따른 장치와 방법의 기능을 수행하게 하는 컴퓨터 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체에도 본 발명의 기술적 사상이 적용될 수 있음은 물론이다. 또한, 본 발명의 다양한 실시예에 따른 기술적 사상은 컴퓨터로 읽을 수 있는 기록매체에 기록된 컴퓨터로 읽을 수 있는 코드 형태로 구현될 수도 있다. 컴퓨터로 읽을 수 있는 기록매체는 컴퓨터에 의해 읽을 수 있고 데이터를 저장할 수 있는 어떤 데이터 저장 장치이더라도 가능하다. 예를 들어, 컴퓨터로 읽을 수 있는 기록매체는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광디스크, 하드 디스크 드라이브, 등이 될 수 있음은 물론이다. 또한, 컴퓨터로 읽을 수 있는 기록매체에 저장된 컴퓨터로 읽을 수 있는 코드 또는 프로그램은 컴퓨터간에 연결된 네트워크를 통해 전송될 수도 있다.It goes without saying that the technical idea of the present invention can also be applied to a computer-readable recording medium having a computer program for performing the functions of the apparatus and method according to the present embodiment. In addition, the technical idea according to various embodiments of the present invention may be embodied in computer-readable code form recorded on a computer-readable recording medium. The computer-readable recording medium is any data storage device that can be read by a computer and can store data. For example, the computer-readable recording medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical disk, a hard disk drive, or the like. In addition, the computer readable code or program stored in the computer readable recording medium may be transmitted through a network connected between the computers.

또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the present invention.

100 : 클라이언트(Publisher)
200 : 브로커
300 : 클라이언트(Subscriber)
100: Publisher (Publisher)
200: Broker
300: Subscriber

Claims (8)

특정 표준에 따른 메시지를 단편화하여 MQTT(Message Queue Telemetry Transport) 발행 메시지의 페이로드에 수록하는 단계; 및
단편화된 메시지의 단편화 정보를 상기 MQTT 발행 메시지의 토픽 이름에 명시하는 단계;를 포함하고,
상기 토픽 이름은,
상기 특정 표준을 명시하기 위한 파라미터, 요청 또는 응답임을 명시하기 위한 파라미터, 발신자를 명시하기 위한 파라미터 및 수신자를 명시하기 위한 파라미터, 메시지의 데이터 타입 중 적어도 하나를 포함하며,
상기 단편화 정보는,
상기 데이터 타입의 뒤에 명시되고,
상기 단편화 정보는,
MQTT 발행 메시지의 단편화 번호와 전체 단편화 번호를 포함하며,
MQTT 발행 메시지의 단편화 번호와 전체 단편화 번호는,
상기 특정 표준을 명시하기 위한 파라미터, 요청 또는 응답임을 명시하기 위한 파라미터, 발신자를 명시하기 위한 파라미터 및 수신자를 명시하기 위한 파라미터 및 메시지의 데이터 타입을 구분하기 위한 구분자와 동일한 구분자로 구분되어 있는 것을 특징으로 하는 메시지 전달 방법.
Fragmenting a message according to a specific standard and storing it in a payload of a Message Queue Telemetry Transport (MQTT) issued message; And
And specifying fragmentation information of the fragmented message in a topic name of the MQTT issue message,
The topic name,
A parameter for specifying a specific standard, a parameter for specifying a request or a response, a parameter for specifying a sender and a parameter for specifying a receiver, and a data type of a message,
Wherein the fragmentation information comprises:
Specified after the data type,
Wherein the fragmentation information comprises:
The fragmentation number of the MQTT release message and the total fragmentation number,
The fragmentation number and the total fragmentation number of the MQTT-
A parameter for specifying a specific standard, a parameter for specifying a request or a response, a parameter for specifying a sender, a parameter for specifying a receiver, and a delimiter for identifying a data type of a message &Lt; / RTI &gt;
삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 토픽 이름에 데이터 타입이 명시된 MQTT 발행 메시지를 수신하기 위해, MQTT 구독 신청 메시지에 수록하는 토픽 이름에서 데이터 타입을 와일드 카드를 이용하여 명시하는 단계;를 더 포함하는 것을 특징으로 하는 메시지 전달 방법.
The method according to claim 1,
Specifying a data type in a topic name included in an MQTT subscription message using a wildcard to receive an MQTT issue message having a data type specified in the topic name.
청구항 1에 있어서,
구독할 MQTT 메시지의 페이로드에 수록될 데이터 타입을 지정하기 위해, MQTT 구독 신청 메시지의 페이로드에 데이터 타입을 명시한 파라미터를 수록하는 단계;를 더 포함하는 것을 특징으로 하는 메시지 전달 방법.
The method according to claim 1,
Further comprising: storing a parameter specifying a data type in a payload of an MQTT subscription message to specify a data type to be recorded in a payload of an MQTT message to be subscribed.
청구항 1에 있어서,
상기 특정 표준은,
M2M 관련 표준인 것을 특징으로 하는 메시지 전달 방법.
The method according to claim 1,
The above-
M2M-related standard.
특정 표준에 따른 메시지가 단편화되어 페이로드에 수록된 MQTT 발행 메시지들을 수신하는 단계; 및
수신된 상기 MQTT 발행 메시지들의 토픽 이름에 명시된 단편화 정보를 참조하여, 상기 MQTT 발행 메시지들을 재조합하는 단계;를 포함하고,
상기 토픽 이름은,
상기 특정 표준을 명시하기 위한 파라미터, 요청 또는 응답임을 명시하기 위한 파라미터, 발신자를 명시하기 위한 파라미터 및 수신자를 명시하기 위한 파라미터, 메시지의 데이터 타입 중 적어도 하나를 포함하며,
상기 단편화 정보는,
상기 데이터 타입의 뒤에 명시되고,
상기 단편화 정보는,
MQTT 발행 메시지의 단편화 번호와 전체 단편화 번호를 포함하며,
MQTT 발행 메시지의 단편화 번호와 전체 단편화 번호는,
상기 특정 표준을 명시하기 위한 파라미터, 요청 또는 응답임을 명시하기 위한 파라미터, 발신자를 명시하기 위한 파라미터 및 수신자를 명시하기 위한 파라미터 및 메시지의 데이터 타입을 구분하기 위한 구분자와 동일한 구분자로 구분되어 있는 것을 특징으로 하는 메시지 처리 방법.
Receiving MQTT publish messages in a payload that are fragmented in accordance with a particular standard; And
And reconfiguring the MQTT issue messages with reference to the fragmentation information specified in the topic name of the received MQTT issue messages,
The topic name,
A parameter for specifying a specific standard, a parameter for specifying a request or a response, a parameter for specifying a sender and a parameter for specifying a receiver, and a data type of a message,
Wherein the fragmentation information comprises:
Specified after the data type,
Wherein the fragmentation information comprises:
The fragmentation number of the MQTT release message and the total fragmentation number,
The fragmentation number and the total fragmentation number of the MQTT-
A parameter for specifying a specific standard, a parameter for specifying a request or a response, a parameter for specifying a sender, a parameter for specifying a receiver, and a delimiter for identifying a data type of a message Gt;
KR1020160055528A 2016-05-04 2016-05-04 Message Fragmentation Method using a MQTT Protocol in M2M/IoT Platforms KR101809365B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160055528A KR101809365B1 (en) 2016-05-04 2016-05-04 Message Fragmentation Method using a MQTT Protocol in M2M/IoT Platforms

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160055528A KR101809365B1 (en) 2016-05-04 2016-05-04 Message Fragmentation Method using a MQTT Protocol in M2M/IoT Platforms

Publications (2)

Publication Number Publication Date
KR20170125252A KR20170125252A (en) 2017-11-14
KR101809365B1 true KR101809365B1 (en) 2017-12-14

Family

ID=60387458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160055528A KR101809365B1 (en) 2016-05-04 2016-05-04 Message Fragmentation Method using a MQTT Protocol in M2M/IoT Platforms

Country Status (1)

Country Link
KR (1) KR101809365B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101996598B1 (en) * 2017-11-20 2019-07-04 광운대학교 산학협력단 Priority-based MQTT System and method to provide Differentiated IoT Services
KR102036154B1 (en) * 2017-11-30 2019-10-24 한림대학교 산학협력단 Message manage apparatus and method for supporting service in internet of things
CN108134801B (en) * 2018-01-23 2020-09-01 重庆邮电大学 MQTT protocol intelligent home identification method based on message filtering algorithm
KR102074916B1 (en) * 2018-08-01 2020-02-07 충북대학교 산학협력단 Distributed MQTT Broker Architecture based on RPL
CN113596140B (en) * 2021-07-26 2023-09-22 深圳Tcl新技术有限公司 Information publishing method and device based on MQTT protocol

Also Published As

Publication number Publication date
KR20170125252A (en) 2017-11-14

Similar Documents

Publication Publication Date Title
KR101809365B1 (en) Message Fragmentation Method using a MQTT Protocol in M2M/IoT Platforms
KR101792404B1 (en) Message Delivery Method using a MQTT Protocol in M2M/IoT Systems
US7702917B2 (en) Data transfer using hyper-text transfer protocol (HTTP) query strings
JP5246332B2 (en) Enhanced messaging platform
CA2710036C (en) A method and system for the delivery of large content assets to a mobile device over a mobile network
CN102685203A (en) Method and equipment for data resource transmission
CN102355426A (en) Method for transmitting off-line file and system
KR101990184B1 (en) Communication Method and System based on MQTT/HTTP for IoT Gateway Using Private-IP Address
CN103733568A (en) Stream processing using a client-server architecture
CN110808948B (en) Remote procedure calling method, device and system
CN102098330A (en) Method, device and system for asynchronous transmission based on json data format
JP2009515489A (en) Method and apparatus for fragmenting system information messages in a wireless network
CN111901230B (en) Internet of things gateway and system supporting equipment access verification and equipment access verification method
CN107181794B (en) DICOM network transmission method based on DIMSE message sending and receiving
KR101504362B1 (en) Mobile communication system and method for requesting disposition notification of im message for each of group members
US20150026123A1 (en) Size-based data synchronization
CN106790728A (en) information push method and system
CN101420392B (en) Method and customer terminal for instant communication customer terminal displaying pop-up window
CN110798495A (en) Method and server for end-to-end message push in cluster architecture mode
CN110677443A (en) Data transmitting and receiving method, transmitting end, receiving end, system and storage medium
CN109548088B (en) Method and equipment for configuring QoS rule
KR20120052444A (en) File transmission management system and file transmission mangement method for supporting file transmission in mobile messaging service
KR102113814B1 (en) Constrained application protocol compression communication method
CN112799796A (en) Timed task management method, device and storage medium
JP6396882B2 (en) Information processing apparatus, mail transmission / reception system, mail transmission / reception method, and computer program

Legal Events

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