KR102261042B1 - Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment - Google Patents

Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment Download PDF

Info

Publication number
KR102261042B1
KR102261042B1 KR1020200050124A KR20200050124A KR102261042B1 KR 102261042 B1 KR102261042 B1 KR 102261042B1 KR 1020200050124 A KR1020200050124 A KR 1020200050124A KR 20200050124 A KR20200050124 A KR 20200050124A KR 102261042 B1 KR102261042 B1 KR 102261042B1
Authority
KR
South Korea
Prior art keywords
message
module
message processing
processing
messages
Prior art date
Application number
KR1020200050124A
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 KR1020200050124A priority Critical patent/KR102261042B1/en
Application granted granted Critical
Publication of KR102261042B1 publication Critical patent/KR102261042B1/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/2866Architectures; Arrangements
    • H04L67/2895Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
    • 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/2842

Abstract

The present invention relates to a message processing method in an Internet of Things environment, a system thereof and a computer-readable medium thereof. More specifically, a service server includes a message queuing module and a message processing cluster module. The message queuing module receives and stores messages from an IoT device and distributes one or more messages, which can be processed in the message processing cluster module that processes the messages. The message processing cluster module classifies one or more received messages and processes corresponding data in each message processing module, thereby preventing overload of the service server.

Description

사물인터넷 환경에서의 메시지 처리 방법, 시스템 및 컴퓨터-판독가능 매체 {Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment}Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment

본 발명은 사물인터넷 환경에서의 메시지 처리 방법, 시스템 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 서비스서버는 메시지큐잉모듈 및 메시지처리클러스터모듈을 포함하고, 메시지큐잉모듈은 사물인터넷 기기로부터 메시지를 수신하여 보관하고, 메시지를 처리하는 메시지처리클러스터모듈에 처리 가능한 1 이상의 메시지를 분배하고, 메시지처리클러스터모듈은 수신한 1 이상의 메시지를 분류하여 각각의 메시지처리모듈에서 해당 데이터들을 처리하는 것으로, 서비스서버의 과부하를 방지할 수 있는, 사물인터넷 환경에서의 메시지 처리 방법, 시스템 및 컴퓨터-판독가능 매체에 관한 것이다.The present invention relates to a message processing method, system, and computer-readable medium in an IoT environment, and more particularly, a service server includes a message queuing module and a message processing cluster module, and the message queuing module is The message is received and stored, and one or more messages that can be processed are distributed to the message processing cluster module that processes the message, and the message processing cluster module classifies the received one or more messages and processes the corresponding data in each message processing module. , It relates to a message processing method, system and computer-readable medium in an Internet of Things environment, which can prevent overload of a service server.

글로벌 IT 시장조사기관인 가트너(Gartner)는 2017년 기준으로 사물인터넷 기기의 수가 84억대에 달하고, 2020년에는 최고 204억개에 이를 것으로 전망할 정도로 현재 사물인터넷 기술이 확산됨에 따라 사물인터넷 네트워크에 연결되는 사물인터넷 기기의 수가 크게 증가하고 있다.According to Gartner, a global IT market research institute, the number of IoT devices reached 8.4 billion in 2017 and is expected to reach a maximum of 20.4 billion by 2020. The number of IoT devices is increasing significantly.

이와 같이, 많은 수의 사물인터넷 기기에서 생성되는 방대한 메시지(데이터)는 사물인터넷 네트워크의 서버로 송신되고, 서버는 수신한 데이터들을 처리하여 네트워크의 각각의 주체에게 서비스를 제공할 수 있다. 일반적으로 사물인터넷 기기에서 생성되는 데이터의 크기는 상대적으로 작은 편에 해당하지만, 상술한 바와 같이 사물인터넷 기기의 수가 비약적으로 증가함에 따라 서버에서 수신하는 사물인터넷 메시지(데이터)의 양 또한 크게 증가하게 되고, 이에 따라 서버에서 수신하는 모든 메시지를 처리하기 위해서 서버는 더욱더 많은 리소스를 필요로 하고 있다.In this way, massive messages (data) generated by a large number of IoT devices are transmitted to the server of the IoT network, and the server may process the received data to provide a service to each subject of the network. In general, the size of data generated by IoT devices is relatively small, but as the number of IoT devices dramatically increases as described above, the amount of IoT messages (data) received from the server also increases significantly. Therefore, in order to process all messages received from the server, the server requires more and more resources.

한편, 서버에서 서버의 리소스를 초과하는 메시지를 수신하는 경우, 서버에 과부하가 발생하게 되고 서버에서 수행하는 메시지 처리에 문제가 발생할 수 있다. 또한 일반적으로 서버는 단순히 사물인터넷 기기에서의 메시지를 처리하는 역할만 수행하는 것이 아니라, 처리된 메시지를 서비스를 수용하는 각각의 주체에게 제공하거나 혹은 별도의 다양한 어플리케이션과의 데이터 처리 등 다양한 역할을 수행하기 때문에, 사물인터넷 기기로부터의 다량의 메시지로 인해 서버에 과부하가 발생하는 경우, 서버에서 수행하는 모든 서비스가 중단될 수 있는 위험이 존재한다.On the other hand, when the server receives a message exceeding the resource of the server, the server becomes overloaded and a problem may occur in message processing performed by the server. In addition, in general, the server does not simply perform a role of processing messages from IoT devices, but performs various roles such as providing the processed message to each subject accepting the service or data processing with various separate applications. Therefore, if the server is overloaded due to a large number of messages from the IoT device, there is a risk that all services performed by the server may be stopped.

이와 같은 문제를 해결하기 위한 종래의 방법으로 서버의 리소스를 확충하는 방법이 있으나, 서버를 확충하기 위한 비용이 과도하게 발생하고, 무한하게 서버를 늘리는 것은 사실상 어려운 현실이다. 또한, 다른 종래의 방법으로는 메시지 처리를 처리하는 각각의 프로세스의 부하를 통합적으로 관리하는 방법이 존재하나, 이와 같은 방법은 부하를 관리하는데 있어서 서버의 리소스를 상당한 정도로 요구하는 단점이 존재한다.As a conventional method to solve such a problem, there is a method of expanding the resources of the server, but the cost for expanding the server is excessively generated, and it is actually difficult to increase the server indefinitely. In addition, as another conventional method, there is a method of integrally managing the load of each process for processing a message, but this method has a disadvantage in that it requires a significant amount of resources of the server in managing the load.

따라서, 사물인터넷 기기로부터 다량의 메시지를 수신하더라도 서버에 과부하가 발생하지 않으면서, 과부하를 방지하기 위한 방법이 서버에 많은 리소스를 요구하지 않는 새로운 방법의 개발이 요구되고 있다.Therefore, there is a need to develop a new method that does not overload the server even when a large amount of messages are received from the IoT device and that the method for preventing overload does not require many resources on the server.

본 발명은 사물인터넷 환경에서의 메시지 처리 방법, 시스템 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 서비스서버는 메시지큐잉모듈 및 메시지처리클러스터모듈을 포함하고, 메시지큐잉모듈은 사물인터넷 기기로부터 메시지를 수신하여 보관하고, 메시지를 처리하는 메시지처리클러스터모듈에 처리 가능한 1 이상의 메시지를 분배하고, 메시지처리클러스터모듈은 수신한 1 이상의 메시지를 분류하여 각각의 메시지처리모듈에서 해당 데이터들을 처리하는 것으로, 서비스서버의 과부하를 방지할 수 있는, 사물인터넷 환경에서의 메시지 처리 방법, 시스템 및 컴퓨터-판독가능 매체를 제공하는 것이다.The present invention relates to a message processing method, system, and computer-readable medium in an IoT environment, and more particularly, a service server includes a message queuing module and a message processing cluster module, and the message queuing module is The message is received and stored, and one or more messages that can be processed are distributed to the message processing cluster module that processes the message, and the message processing cluster module classifies the received one or more messages and processes the corresponding data in each message processing module. , to provide a message processing method, system, and computer-readable medium in an Internet of Things environment, which can prevent overload of a service server.

상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법으로서, 상기 서비스서버는 메시지큐잉모듈 및 1 이상의 메시지처리모듈을 포함하는 1 이상의 메시지처리클러스터모듈을 포함하고, 상기 메시지큐잉모듈에 의하여, 복수의 사물인터넷 기기에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계; 상기 메시지처리클러스터모듈에 의하여, 상기 1 이상의 메시지처리모듈에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈로 송신하는 메시지요청단계; 상기 메시지큐잉모듈에 의하여, 상기 메시지처리클러스터모듈로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈로 송신하는 메시지분배단계; 및 상기 메시지처리클러스터모듈에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하는, 사물인터넷 환경에서의 메시지 처리 방법을 제공할 수 있다.In order to solve the above problems, an embodiment of the present invention is a message processing method in an Internet of Things environment performed in a service server including one or more processors and one or more memories, wherein the service server includes a message queuing module and one a message queuing step comprising one or more message processing cluster modules including the above message processing modules, and receiving and storing a plurality of messages transmitted from a plurality of IoT devices by the message queuing module; a message request step of deriving, by the message processing cluster module, message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules, and transmitting it to the message queuing module; a message distribution step of transmitting, by the message queuing module, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module to the message processing cluster module; and a message processing step of classifying, by the message processing cluster module, one or more messages received through the message distribution step according to a message processing type, and processing the classified message in a message processing module corresponding to the processing type; It is possible to provide a message processing method in an IoT environment.

본 발명의 일 실시예에서는, 상기 메시지요청단계는, 상기 1 이상의 메시지처리모듈에서 현재 처리하는 메시지의 개수 및 상기 메시지처리클러스터모듈에서 처리 가능한 최대 메시지의 개수에 기초하여 도출된 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출할 수 있다.In one embodiment of the present invention, the message request step is for new processing derived based on the number of messages currently processed by the one or more message processing modules and the maximum number of messages that can be processed by the message processing cluster module. Message request information including the number of messages can be derived.

본 발명의 일 실시예에서는, 상기 메시지요청단계는, 상기 1 이상의 메시지처리모듈에서 현재 처리하는 메시지에 대한 부하 및 상기 메시지처리클러스터모듈에서 처리 가능한 최대 메시지에 대한 부하에 기초하여 도출된 신규로 처리하기 위한 메시지에 대한 요청부하를 포함하는 메시지요청정보를 도출할 수 있다.In one embodiment of the present invention, the message request step is a new process derived based on the load on the message currently processed by the one or more message processing modules and the load on the maximum message that can be processed by the message processing cluster module. It is possible to derive the message request information including the request load for the message for

본 발명의 일 실시예에서는, 각각의 상기 메시지처리모듈은 2 이상의 상이한 프로세스를 처리할 수 있고, 상기 서비스서버에는, 상기 복수의 사물인터넷 기기로부터 수신하는 각각의 메시지의 처리유형에 따른 부하 사용값을 포함하는 매핑테이블이 저장되어 있고, 상기 메시지분배단계는, 상기 요청부하 및 상기 매핑테이블에 기초하여 해당 메시지처리클러스터모듈에 송신할 1 이상의 메시지를 도출하여 상기 메시지처리클러스터모듈로 송신할 수 있다.In an embodiment of the present invention, each of the message processing modules may process two or more different processes, and the service server includes a load usage value according to the processing type of each message received from the plurality of IoT devices. is stored, and in the message distribution step, one or more messages to be transmitted to the corresponding message processing cluster module are derived based on the request load and the mapping table and transmitted to the message processing cluster module. .

본 발명의 일 실시예에서는, 상기 메시지처리단계는, 상기 분류된 메시지의 처리유형에 상응하는 메시지처리모듈이 상기 메시지처리클러스터모듈에 포함되지 않는 경우, 해당 처리유형에 상응하는 별도의 메시지처리모듈을 생성하는 메시지처리모듈생성단계;를 포함할 수 있다.In one embodiment of the present invention, in the message processing step, when the message processing module corresponding to the processing type of the classified message is not included in the message processing cluster module, a separate message processing module corresponding to the processing type It may include; a message processing module generating step for generating a.

본 발명의 일 실시예에서는, 상기 서비스서버는, 상기 메시지큐잉모듈에 보관된 복수의 메시지의 개수가 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈을 더 포함할 수 있다.In one embodiment of the present invention, the service server, when the number of a plurality of messages stored in the message queuing module exceeds a threshold value, a cluster performing a cluster generating step of creating a separate message processing cluster module; It may further include a management module.

본 발명의 일 실시예에서는, 상기 서비스서버는, 기설정된 시간동안의 상기 메시지큐잉모듈에 보관된 메시지의 개수의 증가량을 산출하고, 상기 증가량이 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈을 더 포함할 수 있다.In an embodiment of the present invention, the service server calculates an increase in the number of messages stored in the message queuing module for a preset time, and when the increase exceeds a threshold, a separate message processing cluster module It may further include a cluster management module for performing;

상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에 의하여 구현되는 사물인터넷 환경에서의 메시지 처리 시스템으로서, 상기 서비스서버는 메시지큐잉모듈 및 1 이상의 메시지처리모듈을 포함하는 메시지처리클러스터모듈을 포함하고, 상기 메시지큐잉모듈에 의하여, 복수의 사물인터넷 기기에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계; 상기 메시지처리클러스터모듈에 의하여, 상기 1 이상의 메시지처리모듈에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈로 송신하는 메시지요청단계; 상기 메시지큐잉모듈에 의하여, 상기 메시지처리클러스터모듈로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈로 송신하는 메시지분배단계; 및 상기 메시지처리클러스터모듈에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 수행하는, 사물인터넷 환경에서의 메시지 처리 시스템을 제공할 수 있다.In order to solve the above problems, in an embodiment of the present invention, as a message processing system in an Internet of Things environment implemented by a service server including one or more processors and one or more memories, the service server includes a message queuing module and a message processing cluster module including one or more message processing modules, the message queuing step of receiving and storing a plurality of messages transmitted from a plurality of IoT devices by the message queuing module; a message request step of deriving, by the message processing cluster module, message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules, and transmitting it to the message queuing module; a message distribution step of transmitting, by the message queuing module, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module to the message processing cluster module; and a message processing step of classifying, by the message processing cluster module, one or more messages received through the message distribution step according to a message processing type, and processing the classified message in a message processing module corresponding to the processing type; It is possible to provide a message processing system in an IoT environment.

상기와 같은 과제를 해결하기 위하여, 본 발명의 일 실시예에서는, 상술한 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법을 수행하기 위한 프로그램이 기록된 컴퓨터-판독가능 매체를 제공할 수 있다.In order to solve the above problems, in an embodiment of the present invention, a program for performing a message processing method in an Internet of Things environment performed in a service server including one or more processors and one or more memories described above is recorded. A computer-readable medium may be provided.

본 발명의 일 실시예에 따르면, 메시지큐잉모듈은 1차적으로 사물인터넷 기기에서 송신하는 메시지를 수신하여 보관하고 보관된 메시지를 분배하므로 서비스서버의 과부하를 예방할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the message queuing module primarily receives and stores messages transmitted from IoT devices and distributes the stored messages, so that it is possible to prevent overload of the service server.

본 발명의 일 실시예에 따르면, 메시지처리클러스터모듈은 분배된 1 이상의 메시지를 메시지의 처리유형에 따라 분류하고, 분류된 메시지의 처리유형에 상응하는 메시지처리모듈에서 해당 메시지를 처리하도록 하므로, 서비스서버의 리소스를 효율적으로 사용할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the message processing cluster module classifies the distributed one or more messages according to the processing type of the message, and the message processing module corresponding to the processing type of the classified message processes the message, so that the service It can exert the effect of efficiently using the server's resources.

본 발명의 일 실시예에 따르면, 메시지처리클러스터모듈은 메시지처리클러스터모듈에 포함된 각각의 메시지처리모듈에서 처리하고 있는 메시지의 개수 및 메시지처리클러스터모듈에서 처리 가능한 최대 메시지의 개수를 고려하여 메시지큐잉모듈로부터 분배 받을 메시지의 개수를 포함하는 메시지요청정보를 도출하므로, 메시지처리클러스터모듈의 과부하를 방지할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the message processing cluster module performs message queuing in consideration of the number of messages being processed by each message processing module included in the message processing cluster module and the maximum number of messages that can be processed by the message processing cluster module. Since message request information including the number of messages to be distributed is derived from the module, it is possible to exert the effect of preventing overload of the message processing cluster module.

본 발명의 일 실시예에 따르면, 메시지처리클러스터모듈은 메시지처리클러스터모듈에 포함된 각각의 메시지처리모듈에서 처리하고 있는 메시지에 대한 부하 및 메시지처리클러스터모듈에서 처리 가능한 최대 메시지에 대한 부하를 고려하여 메시지큐잉모듈로부터 분배 받을 메시지에 대한 요청부하를 포함하는 메시지요청정보를 도출하므로, 메시지처리클러스터모듈의 과부하를 방지할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the message processing cluster module considers the load on the message being processed by each message processing module included in the message processing cluster module and the load on the maximum message that can be processed by the message processing cluster module. Since the message request information including the request load for the message to be distributed is derived from the message queuing module, the overload of the message processing cluster module can be prevented.

본 발명의 일 실시예에 따르면, 메시지처리클러스터모듈은 분류된 메시지의 처리유형에 상응하는 메시지처리모듈을 포함하지 않는 경우, 해당 처리유형에 상응하는 별도의 메시지처리모듈을 자동적으로 생성하므로, 메시지처리클러스터모듈의 효율을 향상시킬 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, when the message processing cluster module does not include a message processing module corresponding to the processing type of the classified message, a separate message processing module corresponding to the processing type is automatically generated, It is possible to exhibit the effect of improving the efficiency of the processing cluster module.

본 발명의 일 실시예에 따르면, 클러스터관리모듈은 메시지큐잉모듈에 보관된 메시지의 개수에 따라 별도의 메시지처리클러스터모듈을 추가하므로, 수신한 메시지를 효율적으로 처리할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the cluster management module adds a separate message processing cluster module according to the number of messages stored in the message queuing module, it is possible to efficiently process received messages.

도 1은 본 발명의 일 실시예에 따른 사물인터넷 환경에서의 메시지 처리 방법을 수행하는 서비스서버 및 서비스서버와 통신을 수행하는 구성요소들을 개략적으로 도시한다.
도 2는 본 발명의 일 실시예에 따른 메시지처리클러스터모듈의 내부구성을 개략적으로 도시한다.
도 3은 본 발명의 일 실시예에 따른 사물인터넷 환경에서의 메시지 처리하기 위한 단계들을 개략적으로 도시한다.
도 4는 본 발명의 일 실시예에 따른 메시지처리클러스터모듈에 포함된 메시지요청부에서의 메시지요청정보를 생성하는 과정을 개략적으로 도시한다.
도 5는 본 발명의 일 실시예에 따른 메시지큐잉모듈에서 매핑테이블을 사용하여 보관된 메시지를 분배하는 과정을 개략적으로 도시한다.
도 6은 본 발명의 일 실시예에 따른 메시지처리단계에서 별도의 메시지처리모듈을 생성하는 메시지처리모듈생성단계를 개략적으로 도시한다.
도 7은 본 발명의 일 실시예에 따른 클러스터관리모듈에서 별도의 메시지처리클러스터모듈을 생성하기 위한 단계들을 개략적으로 도시한다.
도 8은 본 발명의 일 실시예에 따른 메시지 처리유형에 따른 메시지처리모듈의 메시지 처리 과정들을 개략적으로 도시한다.
도 9는 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.
1 schematically illustrates a service server performing a message processing method in an Internet of Things environment and components communicating with the service server according to an embodiment of the present invention.
2 schematically shows the internal configuration of a message processing cluster module according to an embodiment of the present invention.
3 schematically shows steps for processing a message in an IoT environment according to an embodiment of the present invention.
4 schematically illustrates a process of generating message request information in the message request unit included in the message processing cluster module according to an embodiment of the present invention.
5 schematically illustrates a process of distributing a stored message using a mapping table in the message queuing module according to an embodiment of the present invention.
6 schematically illustrates a message processing module creation step of generating a separate message processing module in the message processing step according to an embodiment of the present invention.
7 schematically shows steps for creating a separate message processing cluster module in the cluster management module according to an embodiment of the present invention.
8 schematically illustrates message processing processes of a message processing module according to a message processing type according to an embodiment of the present invention.
9 schematically illustrates an internal configuration of a computing device according to an embodiment of the present invention.

이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.Hereinafter, various embodiments and/or aspects are disclosed with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth to provide a thorough understanding of one or more aspects. However, it will also be recognized by one of ordinary skill in the art that such aspect(s) may be practiced without these specific details. The following description and accompanying drawings set forth in detail certain illustrative aspects of one or more aspects. These aspects are illustrative, however, and some of the various methods in principles of various aspects may be employed, and the descriptions set forth are intended to include all such aspects and their equivalents.

또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.Further, various aspects and features will be presented by a system that may include a number of devices, components and/or modules, and the like. It is also noted that various systems may include additional devices, components, and/or modules, etc. and/or may not include all of the devices, components, modules, etc. discussed in connection with the figures. must be understood and recognized.

본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.As used herein, “embodiment”, “example”, “aspect”, “exemplary”, etc. may not be construed as an advantage or advantage in any aspect or design described above over other aspects or designs. . The terms '~part', 'component', 'module', 'system', 'interface', etc. used below generally mean a computer-related entity, for example, hardware, hardware A combination of and software may mean software.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.Also, the terms "comprises" and/or "comprising" mean that the feature and/or element is present, but excludes the presence or addition of one or more other features, elements, and/or groups thereof. should be understood as not

또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Also, terms including an ordinal number, such as first, second, etc., may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

또한, 본 발명에서 기재하는 '메시지'는 사물인터넷 네트워크 상의 사물인터넷 기기에서 서비스서버로 송신되는 모든 종류의 통신 데이터를 포함할 수 있다.In addition, the 'message' described in the present invention may include all kinds of communication data transmitted from the IoT device on the IoT network to the service server.

또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.In addition, in the embodiments of the present invention, unless otherwise defined, all terms used herein, including technical or scientific terms, are generally understood by those of ordinary skill in the art to which the present invention belongs. have the same meaning as Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and unless explicitly defined in the embodiment of the present invention, an ideal or excessively formal meaning is not interpreted as

도 1은 본 발명의 일 실시예에 따른 사물인터넷 환경에서의 메시지 처리 방법을 수행하는 서비스서버(1000) 및 서비스서버(1000)와 통신을 수행하는 구성요소들을 개략적으로 도시한다.1 schematically illustrates a service server 1000 performing a message processing method in an Internet of Things environment and components communicating with the service server 1000 according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 복수의 사물인터넷 기기(2000)는 서비스서버(1000)와 통신을 수행하여, 사물인터넷 기기(2000)에서 생성되는 다양한 메시지들을 상기 서비스서버(1000)로 송신한다. 이와 같이 사물인터넷 기기(2000)와 서비스서버(1000)간의 통신을 수행하기 위하여 LoRaWAN(LoRa Wide Area Network), LTE-M, Narrowband-IoT(NB-IoT), ZigBee, Bluetooth Low Energy(BLE)와 같은 사물인터넷 네트워크에서 일반적으로 사용하는 다양한 통신망을 사용하고, 메시지 송수신을 위하여 Message Queuing Telemetry Transport(MQTT), Constrained Application Protocol(CoAP), HTTP 등의 다양한 프로토콜을 사용할 수 있다.As shown in FIG. 1 , a plurality of IoT devices 2000 communicate with the service server 1000 and transmit various messages generated by the IoT device 2000 to the service server 1000 . In this way, in order to perform communication between the IoT device 2000 and the service server 1000, LoRaWAN (LoRa Wide Area Network), LTE-M, Narrowband-IoT (NB-IoT), ZigBee, Bluetooth Low Energy (BLE) and Various communication networks generally used in the same IoT network are used, and various protocols such as Message Queuing Telemetry Transport (MQTT), Constrained Application Protocol (CoAP), and HTTP can be used to transmit and receive messages.

한편, 사물인터넷 기기(2000)는 가전제품, 모바일 디바이스, 웨어러블 디바이스 등 다양한 형태의 임베디드 시스템을 포함하여 통신을 수행할 수 있는 모든 형태의 기기에 해당될 수 있다. 도 1에서 도시된 바와 같이 사물인터넷 기기(2000)는 조명관련 사물인터넷 기기(2100), 영상관련 사물인터넷 기기(2200), 전력관련 사물인터넷 기기(2300), 온도관련 사물인터넷 기기(2400) 및 공기정화관련 사물인터넷 기기(2500)를 포함하며, 이외에도 모든 종류의 사물인터넷 기기(2000)를 포함할 수 있다. 사물인터넷 기기(2000)에서 송신하는 메시지는 수신하는 서비스서버(1000)로부터 해당 메시지에 대한 응답메시지를 요구하는 등의 양방향의 메시지를 송신할 수 있으나, 바람직하게는 상기 사물인터넷 기기(2000)는 단방향의 푸시형태의 메시지를 서비스서버(1000)로 송신한다.Meanwhile, the IoT device 2000 may correspond to any type of device capable of performing communication, including various types of embedded systems such as home appliances, mobile devices, and wearable devices. As shown in FIG. 1 , the IoT device 2000 includes a lighting-related IoT device 2100 , an image-related IoT device 2200 , a power-related IoT device 2300 , a temperature-related IoT device 2400 and The air purification-related IoT device 2500 may be included, and in addition, all kinds of IoT devices 2000 may be included. The message transmitted from the IoT device 2000 may transmit a bidirectional message, such as requesting a response message to the corresponding message from the receiving service server 1000, but preferably, the IoT device 2000 A unidirectional push type message is transmitted to the service server 1000 .

서비스서버(1000)는 사물인터넷 기기(2000)에서 생성된 메시지를 수신한다. 도 1에서 도시된 바와 같이 서비스서버(1000)는 사물인터넷 기기(2000)로부터 직접 해당 메시지를 수신할 수도 있고, 도 1에서는 도시되지 않았으나, 사물인터넷 기기(2000) 및 서비스서버(1000)간의 통신을 매개하는 게이트웨이를 통해 서비스서버(1000)는 해당 메시지를 수신할 수도 있다.The service server 1000 receives the message generated by the IoT device 2000 . As shown in FIG. 1 , the service server 1000 may receive a corresponding message directly from the IoT device 2000 , and although not shown in FIG. 1 , communication between the IoT device 2000 and the service server 1000 . The service server 1000 may receive the corresponding message through the gateway that mediates the .

구체적으로, 서비스서버(1000)에 포함되는 메시지큐잉모듈(1100)은 사물인터넷 기기(2000)에서 송신하는 메시지를 수신하여 보관하며, 보관된 메시지를 후술하는 각각의 메시지처리클러스터모듈(1200)에서 송신하는 메시지요청정보에 기초하여 분배하는 역할을 수행한다. 한편, 상기 메시지큐잉모듈(1100)은 수신한 메시지들을 다양한 방법으로 보관할 수 있으나, 바람직하게는 수신한 순서에 따라 순차적으로 보관하고, 먼저 보관된 메시지부터 순차적으로 분배하는 First In, First Out(FIFO) 방식으로 구현될 수도 있다.Specifically, the message queuing module 1100 included in the service server 1000 receives and stores a message transmitted from the IoT device 2000, and in each message processing cluster module 1200, which will be described later, the stored message. It serves to distribute based on the message request information to be transmitted. On the other hand, the message queuing module 1100 may store the received messages in various ways, but preferably, sequentially store them according to the received order, and sequentially distribute the first stored messages from the First In, First Out (FIFO). ) can also be implemented in this way.

따라서 메시지큐잉모듈(1100)을 통해 우선적으로 메시지들을 보관하고 이후에 메시지를 처리하는 각각의 메시지처리클러스터모듈(1200)로 메시지를 분배함으로써 실시간으로 변화하는 메시지의 수신량에 대해 안정적으로 메시지를 처리할 수 있고, 결과적으로 서비스서버(1000)의 과부하를 예방함과 동시에 서비스서버(1000)의 리소스 혹은 부하를 효율적으로 사용할 수 있는 효과를 발휘할 수 있다. 한편, 상술한 메시지큐잉모듈(1100)에서의 메시지 분배의 구체적인 과정은 후술하도록 한다.Therefore, messages are stored in the first place through the message queuing module 1100 and then distributed to each message processing cluster module 1200 that processes the messages, thereby stably processing the messages in response to the amount of receiving messages changing in real time. As a result, it is possible to prevent overload of the service server 1000 and to effectively use resources or loads of the service server 1000 . Meanwhile, a detailed process of message distribution in the aforementioned message queuing module 1100 will be described later.

서비스서버(1000)에 포함되는 메시지처리클러스터모듈(1200)은 신규로 처리하고자 하는 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈(1100)로 송신하고, 메시지큐잉모듈(1100)에서의 메시지 분배에 따라 수신한 메시지를 처리하는 역할을 수행한다. 한편, 상기 서비스서버(1000)에는 1 이상의 메시지처리클러스터모듈(1200)이 포함될 수 있고, 복수의 메시지처리클러스터모듈(1200)이 상기 서비스서버(1000)에 포함되어 있는 경우에는 각각의 메시지처리클러스터모듈(1200)은 병렬적으로 메시지들을 처리하므로 안정적으로 메시지를 처리할 수 있는 효과를 발휘할 수 있다. 한편, 메시지처리클러스터모듈(1200)에서의 메시지를 처리하는 과정들은 도 2에서 자세하게 설명하도록 한다.The message processing cluster module 1200 included in the service server 1000 derives message request information for requesting a message to be newly processed and transmits it to the message queuing module 1100, and in the message queuing module 1100 It handles the received message according to the message distribution. On the other hand, the service server 1000 may include one or more message processing cluster modules 1200, and when a plurality of message processing cluster modules 1200 are included in the service server 1000, each message processing cluster Since the module 1200 processes messages in parallel, it is possible to achieve the effect of stably processing messages. Meanwhile, the process of processing a message in the message processing cluster module 1200 will be described in detail with reference to FIG. 2 .

클러스터관리모듈(1300)은 메시지큐잉모듈(1100)에 보관된 메시지의 양을 고려하여 별도의 메시지처리클러스터모듈(1200)을 생성하는 역할을 수행한다. 구체적으로 상기 클러스터관리모듈(1300)은 메시지큐잉모듈(1100)에 보관된 메시지의 양에 따라서 별도의 메시지처리클러스터모듈(1200)을 생성할 수 있으나, 바람직하게는 서비스서버(1000)에서 가용 가능한 리소스를 더 고려하여 별도의 메시지처리클러스터모듈(1200)을 생성할 수 있으며, 따라서 상기 클러스터관리모듈(1300)에 의해 추가적으로 생성되기 위하여 상기 메시지처리클러스터모듈(1200)은 소프트웨어적으로 구성되는 것이 바람직하다.The cluster management module 1300 serves to generate a separate message processing cluster module 1200 in consideration of the amount of messages stored in the message queuing module 1100 . Specifically, the cluster management module 1300 may generate a separate message processing cluster module 1200 according to the amount of messages stored in the message queuing module 1100, but preferably, it is available in the service server 1000. It is possible to create a separate message processing cluster module 1200 in consideration of resources. Therefore, in order to be additionally generated by the cluster management module 1300, the message processing cluster module 1200 is preferably configured in software. Do.

또한, 서비스서버(1000)는 DB(1400)를 더 포함하고, 상기 DB(1400)에는 매핑테이블(1410) 및 처리데이터(1420)가 저장될 수 있다. 구체적으로 상기 매핑테이블(1410)은 사물인터넷 기기(2000)로부터 수신하는 각각의 메시지의 처리유형에 따른 부하 혹은 리소스의 사용값을 포함하고, 상기 메시지큐잉모듈(1100)은 메시지처리클러스터모듈(1200)로부터 수신하는 메시지요청정보 및 상기 매핑테이블(1410)에 기초하여 보관된 메시지의 일부를 해당 메시지처리클러스터모듈(1200)로 분배할 수 있다.In addition, the service server 1000 may further include a DB 1400 , and a mapping table 1410 and processing data 1420 may be stored in the DB 1400 . Specifically, the mapping table 1410 includes a load or resource usage value according to a processing type of each message received from the IoT device 2000, and the message queuing module 1100 includes the message processing cluster module 1200. ), a part of the stored message may be distributed to the corresponding message processing cluster module 1200 based on the message request information received from the mapping table 1410 and the mapping table 1410 .

한편, 상기 메시지처리클러스터모듈(1200)에서 처리한 메시지에 해당하는 처리데이터(1420) 또한 상기 DB(1400)에 저장될 수도 있다. 이와 같이 상기 DB(1400)에 저장된 1 이상의 처리데이터(1420)는 다양한 형태로 사용될 수 있다. 예를 들어, 온도관련 사물인터넷 기기(2400)에서 송신하는 1 이상의 메시지가 처리데이터(1420)로 DB(1400)에 저장될 수 있고, 해당 처리데이터(1420)는 평균온도를 도출하는데 활용될 수 있다. 또한 영상관련 사물인터넷 기기(2200)에서 송신하는 1 이상의 메시지가 처리데이터(1420)로 DB(1400)에 저장될 수 있고, 해당 처리데이터(1420)는 영상에 포함된 사물 혹은 인물을 학습하기 위한 학습데이터로 활용될 수 있다.Meanwhile, the processing data 1420 corresponding to the message processed by the message processing cluster module 1200 may also be stored in the DB 1400 . As such, the one or more processed data 1420 stored in the DB 1400 may be used in various forms. For example, one or more messages transmitted from the temperature-related IoT device 2400 may be stored in the DB 1400 as processed data 1420, and the corresponding processed data 1420 may be utilized to derive an average temperature. have. In addition, one or more messages transmitted from the image-related IoT device 2200 may be stored in the DB 1400 as processed data 1420, and the processed data 1420 is used for learning objects or people included in the image. It can be used as learning data.

한편, 도 1에 도시된 서비스서버(1000)의 내부구성은 사물인터넷 환경에서의 메시지 처리 방법을 용이하게 설명하기 위한 일 실시예에 해당하고, 사물인터넷 기기(2000) 외의 별도의 어플리케이션과의 통신을 통해 데이터를 처리하기 위한 요소 등과 같이 추가적인 구성요소들을 더 포함할 수 있다.Meanwhile, the internal configuration of the service server 1000 shown in FIG. 1 corresponds to an embodiment for easily explaining a message processing method in an IoT environment, and communication with a separate application other than the IoT device 2000 . It may further include additional components, such as an element for processing data through the .

도 2는 본 발명의 일 실시예에 따른 메시지처리클러스터모듈(1200)의 내부구성을 개략적으로 도시한다.2 schematically shows the internal configuration of a message processing cluster module 1200 according to an embodiment of the present invention.

도 2에 도시된 바와 같이 상기 메시지처리클러스터모듈(1200)은 메시지요청부(1210), 메시지분류부(1220), 1 이상의 메시지처리모듈(1230) 및 메시지처리모듈관리부(1240)를 포함할 수 있다.2, the message processing cluster module 1200 may include a message request unit 1210, a message classification unit 1220, one or more message processing modules 1230, and a message processing module management unit 1240. have.

상기 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하고, 상기 메시지요청정보를 메시지큐잉모듈(1100)로 송신한다. 또한 상기 메시지큐잉모듈(1100)에서 해당 메시지요청정보에 기초하여 송신하는 1 이상의 메시지를 수신한다.The message requesting unit 1210 derives message request information for requesting one or more messages to be newly processed in consideration of the message throughput in one or more message processing modules 1230 included in the corresponding message processing cluster module 1200 . and transmits the message request information to the message queuing module 1100 . In addition, one or more messages transmitted from the message queuing module 1100 based on the corresponding message request information are received.

상기 메시지요청부(1210)에서 상기 메시지큐잉모듈(1100)이 송신한 1 이상의 메시지를 수신하는 경우, 상기 메시지분류부(1220) 및 상기 1 이상의 메시지처리모듈(1230)에 의해 수신한 1 이상의 메시지가 처리될 수 있다. 구체적으로, 상기 메시지분류부(1220)는 수신한 1 이상의 메시지를 메시지의 처리유형에 따라 분류한다.When the message requesting unit 1210 receives one or more messages transmitted by the message queuing module 1100 , the one or more messages received by the message classifying unit 1220 and the one or more message processing modules 1230 . can be processed. Specifically, the message classifying unit 1220 classifies one or more received messages according to the message processing type.

메시지의 처리유형은 예를 들어 온도관련 사물인터넷 기기(2400)에서 현재 온도정보를 포함하는 메시지를 송신하는 경우, 현재 온도가 설정된 온도보다 높은지 판별하여 높은 경우에, 경고정보를 도출하는 일련의 메시지의 처리 방법과 같이, 사물인터넷 기기(2000)에서 송신하는 메시지에 따라 결과를 도출하기 위하여 처리하기 위한 유형에 해당한다.The processing type of the message is, for example, when the temperature-related IoT device 2400 transmits a message including the current temperature information, it is determined whether the current temperature is higher than the set temperature, and when it is high, a series of messages to derive warning information Like the processing method of , it corresponds to a type for processing in order to derive a result according to a message transmitted from the IoT device 2000 .

상기 메시지의 처리유형은 사물인터넷 기기(2000)의 종류에 따라 구분될 수 있으나, 바람직하게는 같은 종류의 사물인터넷 기기(2000)라 하더라도 해당 사물인터넷 기기(2000)의 메시지 혹은 해당 메시지에 따라 서비스를 받는 주체의 설정에 따라 처리 유형은 상이할 수도 있다. 예를 들어, 영상관련 사물인터넷 기기(2200)라는 같은 종류의 사물인터넷 기기임에도 특정 영상관련 사물인터넷 기기(2200)에서는 영상내의 사물의 움직임을 감지하기 위한 메시지를 송신할 수 있고, 또 다른 영상관련 사물인터넷 기기(2200)에서는 영상내의 인물을 식별하기 위한 메시지를 송신할 수도 있다. 따라서 특정 결과를 얻기 위하여 메시지를 처리하는 방식에 따라 메시지의 처리유형이 구분될 수 있다.The message processing type may be classified according to the type of the IoT device 2000, but preferably even the same type of IoT device 2000 provides a service according to the message of the corresponding IoT device 2000 or the corresponding message. Depending on the setting of the receiving subject, the processing type may be different. For example, even though the image-related IoT device 2200 is the same type of IoT device, the specific image-related IoT device 2200 may transmit a message for detecting the motion of an object in the image, and another image-related IoT device 2200 may be used. The IoT device 2200 may transmit a message for identifying a person in the image. Therefore, message processing types can be classified according to a message processing method in order to obtain a specific result.

한편, 메시지처리모듈(1230)은 메시지분류부(1220)에 의해 분류된 메시지를 처리하며, 상기 메시지처리모듈(1230) 각각은 분류된 메시지의 처리유형 가운데 특정 처리유형을 처리할 수 있다. 예를 들어, 특정 메시지처리모듈(1230)은 메시지에 포함된 센싱된 온도정보를 기설정된 온도와 비교하여 높은 경우 경고정보를 생성하는 처리유형을 수행할 수 있고, 또 다른 특정 메시지처리모듈(1230)은 메시지에 포함된 전력정보에 따라 누적 전력량을 계산하는 처리유형을 수행할 수 있는 것으로 가정하고, 상기 메시지요청부(1210)에서 온도에 대한 경고정보를 생성하기 위한 센싱된 온도정보를 포함하는 메시지 및 누적 전력량을 계산하기 위한 전력정보를 포함하는 메시지를 수신하는 경우, 상기 메시지분류부(1220)는 메시지의 처리유형에 따라 각각의 메시지를 경고정보 및 누적 전력량에 대한 처리유형에 따라 분류하고, 경고정보를 생성하는 메시지처리모듈(1230)에서는 경고정보에 대한 처리유형으로 분류된 메시지를 처리하고, 누적 전력량을 계산하는 메시지처리모듈(1230)에서는 누적 전력량에 대한 처리유형으로 분류된 메시지를 처리할 수 있다.Meanwhile, the message processing module 1230 processes the message classified by the message classification unit 1220 , and each of the message processing modules 1230 may process a specific processing type among the processing types of the classified message. For example, the specific message processing module 1230 may compare the sensed temperature information included in the message with a preset temperature and perform a processing type of generating warning information when it is high, and another specific message processing module 1230 ) assumes that it is possible to perform a processing type of calculating the amount of accumulated power according to the power information included in the message, and includes sensed temperature information for generating warning information about the temperature in the message requesting unit 1210 When receiving a message including a message and power information for calculating the accumulated power amount, the message classifying unit 1220 classifies each message according to the processing type of the warning information and the accumulated power amount according to the processing type of the message and , the message processing module 1230 for generating the warning information processes the message classified as the processing type for the warning information, and the message processing module 1230 for calculating the accumulated power amount processes the message classified as the processing type for the accumulated power amount. can be processed

메시지처리모듈관리부(1240)는 상기 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)을 관리하는 역할을 수행한다. 구체적으로 상기 메시지처리모듈관리부(1240)는 상기 메시지분류부(1220)에서 분류하는 메시지의 각각의 처리유형 혹은 각 처리유형 별 메시지의 개수에 따라서 별도의 메시지처리모듈(1230)을 추가로 생성할 수 있다. 또한 상기 메시지처리모듈관리부(1240)는 서비스서버(1000)의 현재 가용한 리소스를 추가적으로 고려하여 별도의 메시지처리모듈(1230)을 추가로 생성할 수 있고, 따라서 상기 메시지처리모듈관리부(1240)를 통해 서비스서버(1000)의 과부하를 발생시키지 않으면서도 효율적으로 메시지를 처리할 수 있는 효과를 발휘 할 수 있고, 상기 메시지처리모듈(1230)은 상기 메시지처리모듈관리부(1240)에 의해 자동적으로 생성될 수 있도록 소프트웨어적으로 구성됨이 바람직하다.The message processing module management unit 1240 serves to manage one or more message processing modules 1230 included in the message processing cluster module 1200 . Specifically, the message processing module management unit 1240 may additionally generate a separate message processing module 1230 according to each processing type of the message classified by the message classification unit 1220 or the number of messages for each processing type. can In addition, the message processing module management unit 1240 may additionally create a separate message processing module 1230 in consideration of the currently available resources of the service server 1000, and thus the message processing module management unit 1240 Through this, it is possible to exhibit the effect of efficiently processing a message without generating an overload of the service server 1000, and the message processing module 1230 can be automatically generated by the message processing module management unit 1240. It is desirable to be configured in software so that

도 3은 본 발명의 일 실시예에 따른 사물인터넷 환경에서의 메시지 처리하기 위한 단계들을 개략적으로 도시한다.3 schematically shows steps for processing a message in an IoT environment according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버(1000)에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법으로서, 상기 서비스서버(1000)는 메시지큐잉모듈(1100) 및 1 이상의 메시지처리모듈(1230)을 포함하는 1 이상의 메시지처리클러스터모듈(1200)을 포함하고, 상기 메시지큐잉모듈(1100)에 의하여, 복수의 사물인터넷 기기(2000)에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계; 상기 메시지처리클러스터모듈(1200)에 의하여, 상기 1 이상의 메시지처리모듈(1230)에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈(1100)로 송신하는 메시지요청단계; 상기 메시지큐잉모듈(1100)에 의하여, 상기 메시지처리클러스터모듈(1200)로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈(1200)로 송신하는 메시지분배단계; 및 상기 메시지처리클러스터모듈(1200)에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈(1230)에서 처리하는 메시지처리단계;를 포함할 수 있다.As shown in FIG. 3 , as a message processing method in an Internet of Things environment performed in a service server 1000 including one or more processors and one or more memories, the service server 1000 includes a message queuing module 1100 and It includes one or more message processing cluster modules 1200 including one or more message processing modules 1230, and receives a plurality of messages transmitted from a plurality of IoT devices 2000 by the message queuing module 1100. a message queuing step to store; By the message processing cluster module 1200, the message queuing module 1100 derives message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules 1230. ) to send a message request step; A message distribution step of transmitting, by the message queuing module 1100, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module 1200 to the message processing cluster module 1200 ; and by the message processing cluster module 1200, classifying one or more messages received through the message distribution step according to the message processing type, and processing the classified message in the message processing module 1230 corresponding to the processing type message processing step; may include.

구체적으로, 서비스서버(1000)에 포함되는 메시지큐잉모듈(1100)은 사물인터넷 기기(2000)에서 송신하는 복수의 메시지를 수신(S10)한다. 상기 사물인터넷 기기(2000)는 1 이상의 개수로 구비될 수 있고, 각각의 사물인터넷 기기(2000)는 다양한 처리유형을 필요로 하는 다양한 형태의 데이터를 생성하여 상기 메시지큐잉모듈(1100)로 송신할 수 있다.Specifically, the message queuing module 1100 included in the service server 1000 receives a plurality of messages transmitted from the IoT device 2000 ( S10 ). The IoT device 2000 may be provided in one or more number, and each IoT device 2000 generates various types of data requiring various processing types and transmits it to the message queuing module 1100 . can

상기 메시지큐잉모듈(1100)은 사물인터넷 기기(2000)로부터 수신한 복수의 메시지를 보관(S11)한다. 수신한 복수의 메시지의 보관방법에 있어서는 먼저 수신한 순서대로 보관되었다가, 메시지처리클러스터모듈(1200)의 메시지요청에 따라 먼저 수신한 메시지부터 순차적으로 각각의 메시지처리클러스터모듈(1200)로 분배되는 선입선출(First In, First Out) 방식의 일반적으로 사용하는 큐(Queue) 시스템의 방법을 사용할 수 있으며, 이외에도 통상적으로 사용하는 다양한 보관방법을 사용할 수 있다.The message queuing module 1100 stores a plurality of messages received from the IoT device 2000 (S11). In the storage method of a plurality of received messages, they are stored in the order they are received first, and are sequentially distributed to each message processing cluster module 1200 from the first received message according to the message request of the message processing cluster module 1200. A method of a generally used queue system of a First In, First Out method can be used, and in addition, various commonly used storage methods can be used.

상기 메시지처리클러스터모듈(1200)은 신규로 처리하고자 하는 1 이상의 메시지를 요청하는 메시지요청정보를 도출(S12)하고, 도출된 메시지요청정보를 상기 메시지큐잉모듈(1100)로 송신(S13)한다. 구체적으로, 상기 메시지처리클러스터모듈(1200)의 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)의 메시지 처리량을 고려하여 신규로 처리하고자 하는 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈(1100)에 송신한다.The message processing cluster module 1200 derives message request information for requesting one or more messages to be newly processed (S12), and transmits the derived message request information to the message queuing module 1100 (S13). Specifically, the message request unit 1210 of the message processing cluster module 1200 considers the message processing amount of one or more message processing modules 1230 included in the corresponding message processing cluster module 1200 to newly process 1 The message request information for requesting the above message is derived and transmitted to the message queuing module 1100 .

상기 메시지요청정보는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)의 현재 처리하는 메시지의 개수 혹은 현재 처리하는 메시지에 대한 부하(리소스) 및 해당 메시지처리클러스터모듈(1200)에서 처리할 수 있는 최대 메시지의 개수 혹은 메시지를 최대로 처리하기 위해 필요한 부하(리소스)에 기초하여 도출될 수 있다.The message request information includes the number of messages currently processed by one or more message processing modules 1230 included in the corresponding message processing cluster module 1200 or a load (resource) for the currently processed message and the corresponding message processing cluster module 1200. ) can be derived based on the maximum number of messages that can be processed or the load (resource) required for maximally processing the messages.

상기 메시지처리클러스터모듈(1200)로부터 메시지요청정보를 수신한 메시지큐잉모듈(1100)은 상기 메시지요청정보에 기초하여 1 이상의 메시지를 도출(S14)한다. 예를 들어, 상기 메시지요청정보가 100개의 메시지를 요청하는 경우에 상기 메시지큐잉모듈(1100)은 보관된 메시지 가운데 100개의 메시지를 도출할 수 있다. 또는 상기 메시지요청정보가 70의 요청부하를 포함하는 경우에 상기 메시지큐잉모듈(1100)은 보관된 메시지 가운데 70의 요청부하에 상응하는 메시지의 개수를 도출할 수 있다.Upon receiving the message request information from the message processing cluster module 1200, the message queuing module 1100 derives one or more messages based on the message request information (S14). For example, when the message request information requests 100 messages, the message queuing module 1100 may derive 100 messages from among the stored messages. Alternatively, when the message request information includes a request load of 70, the message queuing module 1100 may derive the number of messages corresponding to the request load of 70 among stored messages.

이와 같이, 상기 메시지큐잉모듈(1100)은 메시지요청정보에 기초하여 도출한 1 이상의 메시지를 해당 메시지요청정보를 송신한 메시지처리클러스터모듈(1200)로 송신(S15)하여 메시지큐잉모듈(1100)에 보관된 메시지가 각각의 메시지처리클러스터모듈(1200)로 분배될 수 있도록 한다.In this way, the message queuing module 1100 transmits (S15) one or more messages derived based on the message request information to the message processing cluster module 1200 that has transmitted the corresponding message request information to the message queuing module 1100. It enables the stored message to be distributed to each message processing cluster module 1200 .

한편, 메시지처리클러스터모듈(1200)의 메시지요청부(1210)는 1 이상의 메시지를 수신하고, 메시지분류부(1220)는 상기 메시지요청부(1210)에서 수신한 1 이상의 메시지 각각을 처리유형에 따라 분류(S16)한다.On the other hand, the message request unit 1210 of the message processing cluster module 1200 receives one or more messages, and the message classification unit 1220 processes each of the one or more messages received from the message request unit 1210 according to the processing type. Sort (S16).

상기 메시지분류부(1220)에 의해 처리유형별로 분류된 1 이상의 메시지들은 각각의 처리유형에 상응하는 메시지처리모듈(1230)에서 소정의 처리방법에 의해 처리(S17)된다. 이와 같이, 메시지처리모듈(1230)에 의해 사물인터넷 기기(2000)에서 송신한 메시지들이 처리될 수 있고, 메시지처리모듈(1230)에서 도출된 메시지의 처리데이터(1420)는 해당 메시지에 대한 서비스를 제공받고자 하는 주체에게 제공되거나 혹은 처리데이터(1420)에 기초하여 별도의 서비스정보를 도출하여 해당 주체에게 제공될 수 있다.One or more messages classified by processing type by the message classifying unit 1220 are processed by a predetermined processing method in the message processing module 1230 corresponding to each processing type (S17). In this way, the messages transmitted from the IoT device 2000 may be processed by the message processing module 1230, and the processing data 1420 of the message derived from the message processing module 1230 provides a service for the message. It may be provided to a subject to be provided, or separate service information may be derived based on the processing data 1420 and provided to the subject.

도 4는 본 발명의 일 실시예에 따른 메시지처리클러스터모듈(1200)에 포함된 메시지요청부(1210)에서의 메시지요청정보를 생성하는 과정을 개략적으로 도시한다.4 schematically illustrates a process of generating message request information in the message request unit 1210 included in the message processing cluster module 1200 according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 상기 메시지요청단계는, 상기 1 이상의 메시지처리모듈(1230)에서 현재 처리하는 메시지에 대한 부하 및 상기 메시지처리클러스터모듈(1200)에서 처리 가능한 최대 메시지에 대한 부하에 기초하여 신규로 처리하기 위한 메시지에 대한 요청부하를 포함하는 메시지요청정보를 도출할 수 있다.As shown in FIG. 4 , the message request step is based on the load on the message currently processed by the one or more message processing modules 1230 and the load on the maximum message that can be processed by the message processing cluster module 1200 . Thus, it is possible to derive message request information including a request load for a message to be newly processed.

구체적으로, 상기 메시지요청단계를 수행하는 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)에서 현재 처리하는 메시지에 대한 부하 및 해당 메시지처리클러스터모듈(1200)에서 최대의 메시지를 처리하기 위한 부하에 기초하여 신규로 처리하기 위한 메시지에 대한 요청부하를 포함하는 메시지요청정보를 도출한다.Specifically, the message requesting unit 1210 performing the message requesting step is configured to load a message currently processed by one or more message processing modules 1230 included in the corresponding message processing cluster module 1200 and the corresponding message processing cluster module. In step 1200 , message request information including a request load for a message to be newly processed is derived based on the load for processing the maximum message.

상기 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230) 각각으로부터 현재 처리하는 메시지에 대한 부하에 대한 정보를 수신하여 해당 메시지처리클러스터모듈(1200) 전체의 현재 처리하는 메시지에 대한 부하에 대한 정보를 도출하거나, 해당 메시지처리클러스터모듈(1200) 혹은 서비스서버(1000)로부터 해당 메시지처리클러스터모듈(1200) 전체의 현재 처리하는 메시지에 대한 부하에 대한 정보를 직접적으로 수신할 수도 있다.The message request unit 1210 receives information on the load for the message currently processed from each of the one or more message processing modules 1230 included in the corresponding message processing cluster module 1200, and receives the corresponding message processing cluster module 1200. Information on the load of all messages currently processed, or the load of the message processing cluster module 1200 as a whole from the message processing cluster module 1200 or the service server 1000 Information may also be received directly.

한편, 상기 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)의 개수에 기초하여 최대의 메시지를 처리하기 위한 부하에 대한 정보를 산출하거나, 해당 메시지처리클러스터모듈(1200) 혹은 서비스서버(1000)로부터 해당 메시지처리클러스터모듈(1200)에서 최대의 메시지를 처리하기 위한 부하에 대한 정보를 직접적으로 수신할 수도 있다.On the other hand, the message request unit 1210 calculates information on the load for processing the maximum message based on the number of one or more message processing modules 1230 included in the corresponding message processing cluster module 1200, or Information on the load for processing the maximum message in the message processing cluster module 1200 may be directly received from the message processing cluster module 1200 or the service server 1000 .

이후, 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에서 현재 처리하는 메시지에 대한 부하 및 최대의 메시지를 처리하기 위한 부하에 기초하여 요청부하를 포함하는 메시지요청정보를 도출한다.Thereafter, the message request unit 1210 derives message request information including the request load based on the load for the message currently processed by the message processing cluster module 1200 and the load for processing the maximum message.

구체적으로, 요청부하는 메시지처리클러스터모듈(1200)에서 신규로 메시지를 처리하기 위한 부하(리소스)에 해당하고, 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에서의 처리 가능한 최대 메시지에 대한 부하 및 해당 메시지처리클러스터모듈(1200)에서의 현재 처리하는 메시지에 대한 부하의 차이에 기초하여 상기 요청부하를 도출할 수 있다.Specifically, the request load corresponds to a load (resource) for processing a new message in the message processing cluster module 1200, and the message request unit 1210 is the maximum message that can be processed in the message processing cluster module 1200. The requested load may be derived based on the difference between the load on the , and the load on the message currently processed by the message processing cluster module 1200 .

바람직하게는, 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에서의 처리 가능한 최대 메시지에 대한 부하 및 해당 메시지처리클러스터모듈(1200)에서의 현재 처리하는 메시지에 대한 부하의 차이뿐만 아니라 서비스서버(1000)에서의 가용 가능한 부하(리소스)를 더 고려하여 요청부하를 도출할 수 있다. 예를 들어, 상기 차이가 상기 서비스서버(1000)에서의 가용 가능한 부하보다 큰 경우에 상기 메시지요청부(1210)는 상기 가용 가능한 부하 이내에서 상기 요청부하를 도출할 수 있다.Preferably, the message request unit 1210 not only the difference between the load for the maximum message that can be processed in the corresponding message processing cluster module 1200 and the load on the message currently processed by the corresponding message processing cluster module 1200, but also The requested load may be derived by further considering the load (resource) available in the service server 1000 . For example, when the difference is greater than the load available in the service server 1000 , the message requesting unit 1210 may derive the request load within the available load.

본 발명의 다른 실시예에서는, 서비스서버(1000)는 사물인터넷 기기(2000)로부터의 메시지를 처리하는 것뿐만 아니라, 타 어플리케이션으로부터 수신한 데이터 처리 등 다양한 연산을 수행할 수 있으므로, 상기 메시지요청부(1210)는 서비스서버(1000)에서 해당 메시지처리클러스터모듈(1200)에 추가적으로 할당할 수 있는 부하(리소스)를 더 고려하여 상기 요청부하를 도출할 수도 있다. 따라서 서비스서버(1000)에서 제공하는 타 서비스의 기능을 저해하지 않으면서 사물인터넷 기기(2000)에서 생성된 메시지를 처리할 수 있는 효과를 발휘할 수 있다.In another embodiment of the present invention, since the service server 1000 can perform various operations such as processing data received from other applications as well as processing messages from the IoT device 2000, the message requesting unit 1210 may derive the request load by further considering a load (resource) that can be additionally allocated to the corresponding message processing cluster module 1200 in the service server 1000 . Accordingly, it is possible to exhibit the effect of processing the message generated by the IoT device 2000 without impairing the functions of other services provided by the service server 1000 .

메시지큐잉모듈(1100)은 메시지요청부(1210)로부터 요청부하를 포함하는 메시지요청정보를 수신하여, 요청부하에 따른 메시지의 개수를 산출하여 산출된 1 이상의 메시지를 해당 메시지처리클러스터모듈(1200)로 분배할 수 있고, 요청부하에 따른 메시지의 개수를 산출하는 방법들은 도 5에서 후술하도록 한다.The message queuing module 1100 receives the message request information including the request load from the message request unit 1210, calculates the number of messages according to the request load, and sends one or more messages calculated to the corresponding message processing cluster module 1200. , and methods of calculating the number of messages according to the request load will be described later with reference to FIG. 5 .

한편, 상기 메시지요청부(1210)에서 메시지요청정보를 도출하기 위한 본 발명의 다른 실시예로서, 상기 메시지요청단계는, 상기 1 이상의 메시지처리모듈(1230)에서 현재 처리하는 메시지의 개수 및 상기 메시지처리클러스터모듈(1200)에서 처리 가능한 최대 메시지의 개수에 기초하여 도출된 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출할 수 있다.On the other hand, as another embodiment of the present invention for deriving message request information from the message request unit 1210 , the message request step includes the number of messages currently processed by the one or more message processing modules 1230 and the message Message request information including the number of messages to be newly processed may be derived based on the maximum number of messages that can be processed by the processing cluster module 1200 .

구체적으로, 상기 메시지요청부(1210)에서는 상술한 바와 같이 메시지처리클러스터모듈(1200)에서의 부하에 따라 메시지요청정보를 도출하는 방법 이외에도 메시지처리클러스터모듈(1200)에서 현재 처리하는 메시지의 개수 및 처리 가능한 메시지의 개수에 기초하여 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출할 수 있다.Specifically, in the message request unit 1210, in addition to the method of deriving message request information according to the load in the message processing cluster module 1200 as described above, the number of messages currently processed by the message processing cluster module 1200 and Based on the number of processable messages, message request information including the number of messages to be newly processed may be derived.

상기 신규로 처리하기 위한 메시지의 개수는 메시지처리클러스터모듈(1200)에서 신규로 메시지를 처리할 수 있는 메시지의 개수에 해당하고, 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에서의 처리 가능한 최대 메시지의 개수 및 해당 메시지처리클러스터모듈(1200)에서의 현재 처리하는 메시지의 개수의 차이에 기초하여 상기 신규로 처리하기 위한 메시지의 개수를 도출할 수 있다.The number of messages to be newly processed corresponds to the number of messages that can be newly processed by the message processing cluster module 1200, and the message requesting unit 1210 is configured in the message processing cluster module 1200. Based on the difference between the maximum number of messages that can be processed and the number of messages currently processed by the corresponding message processing cluster module 1200, the number of messages to be newly processed can be derived.

이와 같이, 상기 메시지요청부(1210)에서 해당 메시지처리클러스터모듈(1200)에서 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈(1100)로 송신하는 경우, 상기 메시지큐잉모듈(1100)은 보관된 메시지 중 메시지요청정보에 포함된 메시지의 개수만큼을 해당 메시지처리클러스터모듈(1200)로 분배할 수 있으므로, 상기 메시지큐잉모듈(1100)에서 복잡한 연산을 수행하지 않더라도 메시지를 분배할 수 있는 효과를 발휘할 수 있다.In this way, when the message request unit 1210 derives message request information including the number of messages to be newly processed by the corresponding message processing cluster module 1200 and transmits it to the message queuing module 1100, the Since the message queuing module 1100 can distribute as much as the number of messages included in the message request information among the stored messages to the corresponding message processing cluster module 1200, even if the message queuing module 1100 does not perform a complex operation It can have the effect of distributing the message.

도 5는 본 발명의 일 실시예에 따른 메시지큐잉모듈(1100)에서 매핑테이블(1410)을 사용하여 보관된 메시지를 분배하는 과정을 개략적으로 도시한다.5 schematically illustrates a process of distributing a stored message using the mapping table 1410 in the message queuing module 1100 according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 각각의 상기 메시지처리모듈(1230)은 2 이상의 상이한 프로세스를 처리할 수 있고, 상기 서비스서버(1000)에는, 상기 복수의 사물인터넷 기기(2000)로부터 수신하는 각각의 메시지의 처리유형에 따른 부하 사용값을 포함하는 매핑테이블(1410)이 저장되어 있고, 상기 메시지분배단계는, 상기 요청부하 및 상기 매핑테이블(1410)에 기초하여 해당 메시지처리클러스터모듈(1200)에 송신할 1 이상의 메시지를 도출하여 상기 메시지처리클러스터모듈(1200)로 송신할 수 있다.As shown in FIG. 5 , each of the message processing modules 1230 can process two or more different processes, and the service server 1000 includes each message received from the plurality of IoT devices 2000 . A mapping table 1410 including a load usage value according to a message processing type is stored, and the message distribution step is performed in the message processing cluster module 1200 based on the request load and the mapping table 1410. One or more messages to be transmitted may be derived and transmitted to the message processing cluster module 1200 .

구체적으로, 도 5의 (A)는 메시지큐잉모듈(1100)에서 메시지를 분배하기 위하여 사용하는 매핑테이블(1410)의 일 실시예를 도시한 도면에 해당하고, 도 5의 (B)는 메시지큐잉모듈(1100)에서 상기 매핑테이블(1410)을 사용하여 보관된 메시지 가운데 1 이상의 메시지를 도출하는 과정을 개략적으로 도시한 도면에 해당한다.Specifically, (A) of FIG. 5 corresponds to a diagram illustrating an embodiment of a mapping table 1410 used for distributing messages in the message queuing module 1100, and (B) of FIG. 5 is message queuing This corresponds to a diagram schematically illustrating a process of deriving one or more messages among stored messages using the mapping table 1410 in the module 1100 .

상기 매핑테이블(1410)은 서비스서버(1000)의 DB(1400)에 저장되어 있고, 상기 매핑테이블(1410)에는 각각의 메시지의 처리유형이 설정되어 있고, 각각의 메시지의 처리유형별로 처리에 필요한 부하 사용값이 매핑되어 있다.The mapping table 1410 is stored in the DB 1400 of the service server 1000, and the processing type of each message is set in the mapping table 1410, and the processing type of each message is required for processing. Load usage values are mapped.

예를 들어, 온도센서에서 생성되는 센싱 시점에서의 온도정보를 포함하는 메시지에 기초하여 해당 온도정보가 기설정된 온도정보보다 높은 경우에 경고정보를 생성하는 일련의 처리유형을 처리하기 위한 부하 사용값은 10에 해당할 수 있다. 또한, 조도센서에서 생성되는 센싱 시점에서의 조도정보에 기초하여 사용자의 시간대별 조명밝기를 학습하는 일련의 처리유형을 처리하기 위한 부하 사용값은 30에 해당할 수 있다.For example, a load use value for processing a series of processing types that generate warning information when the corresponding temperature information is higher than the preset temperature information based on a message including the temperature information at the sensing time generated by the temperature sensor may correspond to 10. In addition, the load use value for processing a series of processing types for learning the user's lighting brightness for each time period based on the illuminance information at the sensing time point generated by the illuminance sensor may correspond to 30.

이와 같이, 매핑테이블(1410)에는 사물인터넷 기기에서 생성된 메시지 각각의 처리유형 및 해당 처리유형을 연산하기 위한 부하(리소스)의 사용값이 매핑될 수 있다.In this way, the mapping table 1410 may be mapped to a processing type of each message generated by the IoT device and a load (resource) usage value for calculating the corresponding processing type.

한편, 특정 센서 혹은 사물인터넷 기기에서 생성된 메시지가 하나의 처리유형에만 대응되지 않을 수도 있다. 예를 들어, 동일한 온도센서에서 생성된 온도정보를 포함하는 메시지라 하더라도 앞서 예를 든 것과 같이 해당 메시지는 기설정된 온도정보보다 높은 경우에 경고정보를 생성하는 처리유형에 해당할 수도 있고, 혹은 해당 온도센서가 센싱한 위치의 온도변화를 생성하기 위한 처리유형에 해당할 수도 있다.On the other hand, a message generated by a specific sensor or IoT device may not correspond to only one processing type. For example, even if it is a message including temperature information generated by the same temperature sensor, as in the previous example, the message may correspond to a processing type that generates warning information when higher than preset temperature information, or It may correspond to a processing type for generating a temperature change of a position sensed by the temperature sensor.

따라서 동일한 사물인터넷 기기에서 생성된 메시지라 할지라도 메시지의 처리유형은 상이할 수 있으며, 메시지 별 처리유형에 대한 정보는 사물인터넷 기기에서 생성되는 메시지 자체에 포함되거나 혹은 사물인터넷 기기가 서비스서버(1000)에 등록되는 과정에서 설정될 수도 있고, 혹은 해당 사물인터넷 기기에서 생성된 정보에 기초하여 서비스를 제공받고자 하는 주체에 의해 설정될 수도 있다.Therefore, even for messages generated by the same IoT device, the processing type of the message may be different, and the information on the processing type for each message is included in the message itself generated by the IoT device, or the IoT device uses the service server (1000). ), or may be set by a subject who wants to receive a service based on information generated by the IoT device.

도 5의 (B)에 도시된 바와 같이, 메시지큐잉모듈(1100)은 상기 메시지처리클러스터모듈(1200)의 메시지요청부(1210)로부터 요청부하를 포함하는 메시지요청정보를 수신하는 경우, 상술한 매핑테이블(1410)에 기초하여 해당 메시지처리클러스터모듈(1200)에 송신할 메시지를 도출할 수 있다.As shown in FIG. 5B, the message queuing module 1100 receives the message request information including the request load from the message request unit 1210 of the message processing cluster module 1200. A message to be transmitted to the corresponding message processing cluster module 1200 may be derived based on the mapping table 1410 .

구체적으로, 상기 메시지큐잉모듈(1100)은 보관된 복수의 메시지에서 해당 메시지처리클러스터모듈(1200)로 송신할 1 이상의 메시지 각각의 부하 사용값의 합이 상기 요청부하에 상응하도록 상기 매핑테이블(1410)을 사용하여 상기 1 이상의 메시지를 도출할 수 있다.Specifically, the message queuing module 1100 configures the mapping table 1410 so that the sum of the load usage values of each of one or more messages to be transmitted to the corresponding message processing cluster module 1200 in the plurality of stored messages corresponds to the request load. ) can be used to derive the one or more messages.

예를 들어, 도 5의 (A)에 도시된 메시지의 처리유형과 같이 상기 메시지큐잉모듈(1100)에 순차적으로 보관된 복수의 메시지 각각의 처리유형이 '온도센서의 메시지에 대한 처리유형', '조도센서의 메시지에 대한 처리유형', '온도센서의 메시지에 대한 처리유형' 및 '전력센서의 메시지에 대한 처리유형'이라고 가정한다.For example, the processing type of each of the plurality of messages sequentially stored in the message queuing module 1100 like the processing type of the message shown in (A) of FIG. 5 is 'processing type for the message of the temperature sensor', It is assumed that 'processing type for message from light sensor', 'processing type for message from temperature sensor' and 'processing type for message from power sensor'.

한편, 메시지큐잉모듈(1100)이 메시지요청부(1210)로부터 40의 요청부하를 포함하는 메시지요청정보를 수신하는 경우, 메시지큐잉모듈(1100)은 매핑테이블(1410)을 통해 총 부하 사용값이 요청부하에 해당하는 40을 초과하지 않으면서 40에 가장 근접한 총 부하 사용값을 갖는 메시지를 산출할 수 있다.On the other hand, when the message queuing module 1100 receives the message request information including the request load of 40 from the message requesting unit 1210, the message queuing module 1100 uses the total load through the mapping table 1410. It is possible to produce a message having a total load usage value closest to 40 without exceeding 40 corresponding to the requested load.

따라서, 도 5의 (A)에 도시된 매핑테이블(1410)에는 '온도센서의 메시지에 대한 처리유형'의 부하 사용값이 10이고, '조도센서의 메시지에 대한 처리유형'이 30이므로, 선입선출 방식의 메시지큐잉모듈(1100)의 경우, 가장 먼저 보관된 순서대로 '온도센서의 메시지에 대한 처리유형'(부하 사용값 10)에 해당하는 메시지 및 '조도센서의 메시지에 대한 처리유형'(부하 사용값 30)에 해당하는 메시지를 도출하여 해당 메시지처리클러스터모듈(1200)로 송신할 수 있다.Therefore, in the mapping table 1410 shown in (A) of FIG. 5, the load use value of 'Processing type for message from temperature sensor' is 10, and 'Processing type for message from illuminance sensor' is 30, so first-in In the case of the message queuing module 1100 of the election method, the message corresponding to the 'processing type for the temperature sensor's message' (load use value 10) and 'processing type for the message from the illuminance sensor' ( A message corresponding to the load use value 30) may be derived and transmitted to the corresponding message processing cluster module 1200 .

반면에 상술한 가정과 동일하나, 메시지큐잉모듈(1100)이 메시지요청부(1210)로부터 15의 요청부하를 포함하는 메시지요청정보를 수신하는 경우, 선입선출 방식의 메시지큐잉모듈(1100)의 경우, 가장 먼저 보관된 '온도센서의 메시지에 대한 처리유형'(부하 사용값 10)에 해당하는 메시지만을 도출하여 해당 메시지처리클러스터모듈(1200)로 송신할 수 있다. 이와 같은 경우, 도출된 총 부하 사용값이 10에 해당하고, 요청부하가 15에 해당하여 5만큼의 요청부하를 충족하지 못하지만 다음에 보관된 '조도센서의 메시지에 대한 처리유형'의 부하 사용값이 30이므로 해당 메시지까지 도출되는 경우 요청부하의 값을 초과하므로 송신될 수 없다.On the other hand, it is the same as the above assumption, but when the message queuing module 1100 receives message request information including a request load of 15 from the message request unit 1210, in the case of the first-in-first-out message queuing module 1100 First, only a message corresponding to the stored 'processing type of the temperature sensor message' (load use value 10) may be derived and transmitted to the corresponding message processing cluster module 1200 . In this case, the derived total load use value corresponds to 10, and the requested load corresponds to 15, which does not satisfy the requested load of 5, but the load use value of 'Processing Type for Messages from Light Sensor' stored next Since this is 30, when the corresponding message is derived, it cannot be transmitted because it exceeds the value of the request load.

본 발명의 다른 실시예에서 상기 메시지큐잉모듈(1100)에서 보관된 메시지를 순서에 관계없이 임의대로 도출하여 분배할 수 있는 경우에는 상기 요청부하 값에 가장 근접한 1 이상의 메시지를 보관 순서에 상관없이 도출하여 해당 메시지처리클러스터모듈(1200)로 송신할 수도 있다.In another embodiment of the present invention, when the messages stored in the message queuing module 1100 can be arbitrarily derived and distributed regardless of order, one or more messages closest to the request load value are derived regardless of the order of storage. Thus, it may be transmitted to the corresponding message processing cluster module 1200 .

이와 같이, 메시지요청부(1210)에서 1 이상의 메시지처리모듈(1230)에서의 부하(리소스)의 관점에서 요청부하를 포함하는 메시지요청정보를 도출하고, 상기 메시지큐잉모듈(1100)에서 상기 요청부하에 따라 보관된 메시지 중 1 이상의 메시지를 도출하여 해당 메시지처리클러스터모듈(1200)로 도출된 1 이상의 메시지를 송신할 수 있으므로, 더욱더 서비스서버(1000)의 리소스를 효율적으로 활용할 수 있는 효과를 발휘할 수 있다.In this way, the message request unit 1210 derives the message request information including the request load from the viewpoint of the load (resource) in the one or more message processing modules 1230, and the request load in the message queuing module 1100 Since one or more messages from among the stored messages can be derived and one or more messages derived from the message processing cluster module 1200 can be transmitted, it is possible to exert the effect of more efficiently utilizing the resources of the service server 1000 have.

한편, 상기 메시지요청부(1210)에서 수행하는 메시지요청단계는 기설정된 주기에 따라 상기 메시지요청정보를 도출하거나, 혹은 상기 메시지요청부(1210)는 이전에 도출한 메시지요청정보에 따라 상기 메시지큐잉모듈(1100)로부터 1 이상의 메시지를 수신할 때마다 상기 메시지요청단계를 수행하여 상기 메시지요청정보를 도출할 수 있다.Meanwhile, the message requesting step performed by the message requesting unit 1210 derives the message request information according to a preset period, or the message requesting unit 1210 performs the message queuing according to the previously derived message request information. Whenever one or more messages are received from the module 1100, the message request step may be performed to derive the message request information.

바람직하게는 기설정된 주기에 따라 상기 메시지요청정보를 도출하는 구성 및 이전에 도출한 메시지요청정보에 따른 1 이상의 메시지를 수신할 때마다 상기 메시지요청정보를 도출하는 구성은 복합적으로 상기 메시지요청부(1210)에서 사용될 수 있다. 예를 들어, 최초로 메시지요청정보를 도출하여 메시지큐잉모듈(1100)로 송신하는 경우에는 기설정된 주기에 따라 메시지요청정보를 도출하여 송신하고, 상기 메시지큐잉모듈(1100)로부터 해당 메시지요청정보에 따라 1 이상의 메시지를 수신할 때에 새로운 메시지요청정보를 도출할 수도 있다.Preferably, the configuration for deriving the message request information according to a preset period and the configuration for deriving the message request information every time one or more messages according to the previously derived message request information are received include the message requesting unit ( 1210) can be used. For example, when the message request information is first derived and transmitted to the message queuing module 1100, the message request information is derived and transmitted according to a preset period, and from the message queuing module 1100 according to the corresponding message request information. When one or more messages are received, new message request information may be derived.

도 6은 본 발명의 일 실시예에 따른 메시지처리단계에서 별도의 메시지처리모듈(1230)을 생성하는 메시지처리모듈생성단계를 개략적으로 도시한다.6 schematically illustrates a message processing module generation step of generating a separate message processing module 1230 in the message processing step according to an embodiment of the present invention.

도 6에 도시된 바와 같이, 상기 메시지처리단계는, 상기 분류된 메시지의 처리유형에 상응하는 메시지처리모듈(1230)이 상기 메시지처리클러스터모듈(1200)에 포함되지 않는 경우, 해당 처리유형에 상응하는 별도의 메시지처리모듈(1230)을 생성하는 메시지처리모듈생성단계;를 포함할 수 있다.As shown in FIG. 6 , the message processing step corresponds to the processing type when the message processing module 1230 corresponding to the processing type of the classified message is not included in the message processing cluster module 1200 . and a message processing module generating step of generating a separate message processing module 1230.

구체적으로, 메시지분류부(1220)에 의해 메시지큐잉모듈(1100)로부터 수신한 1 이상의 메시지 각각은 메시지의 처리유형에 따라 분류되고, 메시지처리모듈관리부(1240)는 분류된 메시지의 처리유형에 상응하는 메시지처리모듈(1230)이 해당 메시지처리클러스터모듈(1200)에 포함되어 있는지 여부를 판별(S20)한다.Specifically, each of the one or more messages received from the message queuing module 1100 by the message classification unit 1220 is classified according to the processing type of the message, and the message processing module management unit 1240 corresponds to the processing type of the classified message. It is determined whether the message processing module 1230 is included in the corresponding message processing cluster module 1200 (S20).

상기 단계(S20)를 통해 분류된 처리유형에 상응하는 메시지처리모듈(1230)이 포함되어 있는 경우, 해당 메시지처리모듈(1230)에서 해당 처리유형으로 분류된 메시지가 처리된다.When the message processing module 1230 corresponding to the processing type classified through the step S20 is included, the message classified by the corresponding processing type is processed in the corresponding message processing module 1230.

한편, 분류된 처리유형에 상응하는 메시지처리모듈(1230)이 포함되어 있지 않은 경우, 상기 메시지처리모듈관리부(1240)는 해당 처리유형에 상응하는 별도의 메시지처리모듈(1230)을 생성(S21)한다.On the other hand, if the message processing module 1230 corresponding to the classified processing type is not included, the message processing module management unit 1240 generates a separate message processing module 1230 corresponding to the processing type (S21). do.

본 발명의 다른 실시예에서는, 상기 메시지처리모듈관리부(1240)는 분류된 처리유형에 상응하는 메시지처리모듈(1230)이 존재하지 않는 경우 외에도, 특정 처리유형으로 분류된 메시지가 기설된 개수를 초과하거나 혹은 해당 처리유형에 상응하는 메시지처리모듈(1230)의 최대 처리 개수보다 많은 경우에 추가적으로 해당 처리유형에 상응하는 메시지처리모듈(1230)을 생성하여, 분류된 메시지를 보다 신속하게 처리할 수도 있다.In another embodiment of the present invention, the message processing module management unit 1240 includes a case in which the message processing module 1230 corresponding to the classified processing type does not exist, and the number of messages classified as a specific processing type exceeds the preset number. Alternatively, if there are more than the maximum number of processing of the message processing module 1230 corresponding to the processing type, a message processing module 1230 corresponding to the processing type may be additionally generated to process the classified message more quickly. .

한편, 메시지처리모듈관리부(1240)에서 생성하는 메시지처리모듈(1230)의 개수는 기설정된 최대 개수만큼만 생성되거나 혹은 서비스서버(1000)의 가용 가능한 부하(리소스)를 고려하여 생성될 수 있는 최대 개수가 결정될 수 있다. 또한, 메시지처리모듈관리부(1240)는 해당 메시지처리클러스터모듈(1200)에 포함된 메시지처리모듈(1230) 중 기설정된 주기동안 메시지를 처리하지 않는 메시지처리모듈(1230)에 대해서는 제거하거나 혹은 타 처리유형에 상응하는 메시지처리모듈(1230)로 변경될 수도 있다. 따라서, 상기 메시지처리모듈관리부(1240)를 통해 메시지처리클러스터모듈(1200)은 능동적으로 분배된 1 이상의 메시지의 처리에 대응할 수 있는 효과를 발휘할 수 있다.On the other hand, the number of message processing modules 1230 generated by the message processing module management unit 1240 is generated only by a preset maximum number, or the maximum number that can be generated in consideration of the available load (resource) of the service server 1000 . can be determined. In addition, the message processing module management unit 1240 removes or otherwise processes the message processing module 1230 that does not process a message during a preset period among the message processing modules 1230 included in the corresponding message processing cluster module 1200. It may be changed to the message processing module 1230 corresponding to the type. Accordingly, the message processing cluster module 1200 through the message processing module management unit 1240 can exhibit the effect of responding to the processing of one or more actively distributed messages.

도 7은 본 발명의 일 실시예에 따른 클러스터관리모듈(1300)에서 별도의 메시지처리클러스터모듈(1200)을 생성하기 위한 단계들을 개략적으로 도시한다.7 schematically shows steps for creating a separate message processing cluster module 1200 in the cluster management module 1300 according to an embodiment of the present invention.

도 7의 (A)는 본 발명의 일 실시예에 따른 메시지큐잉모듈(1100)에서 사물인터넷 기기(2000)로부터 수신한 메시지를 보관하는 구성을 도시한 도면에 해당한다.FIG. 7A is a diagram illustrating a configuration of storing a message received from the IoT device 2000 in the message queuing module 1100 according to an embodiment of the present invention.

구체적으로, 도 7의 (A)에 도시된 메시지큐잉모듈(1100)은 선입선출 방식의 큐 시스템에 해당하고, 사물인터넷 기기(2000)로부터 순차적으로 수신한 메시지 M #1, M #2 및 M #N이 순차적으로 보관되어 있고, 메시지요청정보에 따라 보관된 메시지 중 1 이상의 메시지를 분배하는 경우, 가장 먼저 보관된 순서대로 1 이상의 메시지가 분배될 수 있다.Specifically, the message queuing module 1100 shown in FIG. 7A corresponds to a first-in-first-out queue system, and messages M #1, M #2, and M sequentially received from the IoT device 2000. When #N is stored sequentially and one or more messages among the stored messages are distributed according to the message request information, one or more messages may be distributed in the order of the first stored.

한편, 본 발명의 다른 실시예에서는 사물인터넷 기기(2000)로부터 수신한 메시지를 보관하고, 보관된 순서에 상관없이 1 이상의 메시지를 메시지처리클러스터모듈(1200)로 분배할 수도 있다.Meanwhile, in another embodiment of the present invention, messages received from the IoT device 2000 may be stored, and one or more messages may be distributed to the message processing cluster module 1200 irrespective of the stored order.

도 7의 (B)는 클러스터관리모듈(1300)에서 별도의 메시지처리클러스터모듈(1200)을 생성하는 방법의 일 실시예를 도시한 도면이다.FIG. 7B is a diagram illustrating an embodiment of a method for generating a separate message processing cluster module 1200 in the cluster management module 1300 .

도 7의 (B)에 도시된 바와 같이, 상기 서비스서버(1000)는, 상기 메시지큐잉모듈(1100)에 보관된 복수의 메시지의 개수가 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈(1200)을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈(1300)을 더 포함할 수 있다.As shown in (B) of Figure 7, the service server 1000, when the number of a plurality of messages stored in the message queuing module 1100 exceeds a threshold value, a separate message processing cluster module ( It may further include a cluster management module 1300 for performing; cluster generation step of generating (1200).

구체적으로, 클러스터관리모듈(1300)은 메시지큐잉모듈(1100)에 보관된 메시지의 개수가 기설정된 임계값을 초과하는지 판별(S30)한다. 한편, 상기 클러스터관리모듈(1300)은 상기 메시지큐잉모듈(1100)에 보관된 메시지의 개수에 대한 정보를 직접 도출하거나 혹은 상기 메시지큐잉모듈(1100)로부터 수신할 수 있다.Specifically, the cluster management module 1300 determines whether the number of messages stored in the message queuing module 1100 exceeds a preset threshold (S30). Meanwhile, the cluster management module 1300 may directly derive information on the number of messages stored in the message queuing module 1100 or receive it from the message queuing module 1100 .

한편, 메시지큐잉모듈(1100)에 보관된 메시지의 개수가 기설정된 임계값을 초과하는 것으로 판별되는 경우에, 상기 클러스터관리모듈(1300)은 별도의 메시지처리클러스터모듈(1200)을 생성(S31)한다.On the other hand, when it is determined that the number of messages stored in the message queuing module 1100 exceeds a preset threshold value, the cluster management module 1300 generates a separate message processing cluster module 1200 (S31) do.

본 발명의 다른 실시예에서 상기 클러스터관리모듈(1300)은 별도의 메시지처리클러스터모듈(1200)을 생성한 이후에 메시지큐잉모듈(1100)에 보관된 메시지의 개수가 임계값 미만으로 감소되는 경우에 추가로 생성된 메시지처리클러스터모듈(1200)을 제거할 수도 있다.In another embodiment of the present invention, when the number of messages stored in the message queuing module 1100 is reduced below a threshold value after the cluster management module 1300 creates a separate message processing cluster module 1200 The additionally generated message processing cluster module 1200 may be removed.

따라서, 상기 클러스터관리모듈(1300)에 의해 상기 메시지큐잉모듈(1100)에 보관된 메시지의 개수에 따라 유동적으로 메시지처리클러스터모듈(1200)이 생성될 수 있으므로, 서비스서버(1000)의 과부하를 유발하지 않으면서 메시지를 효율적으로 처리할 수 있는 효과를 발휘할 수 있다. Accordingly, since the message processing cluster module 1200 can be dynamically generated according to the number of messages stored in the message queuing module 1100 by the cluster management module 1300, overload of the service server 1000 is caused. It is possible to exert the effect of efficiently processing the message without doing so.

도 7의 (C)는 클러스터관리모듈(1300)에서 별도의 메시지처리클러스터모듈(1200)을 생성하는 방법의 다른 실시예를 도시한 도면이다.FIG. 7C is a diagram illustrating another embodiment of a method for generating a separate message processing cluster module 1200 in the cluster management module 1300 .

도 7의 (C)에 도시된 바와 같이, 상기 서비스서버(1000)는, 기설정된 시간동안의 상기 메시지큐잉모듈(1100)에 보관된 메시지의 개수에 증가량을 산출하고, 상기 증가량이 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈(1200)을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈(1300)을 더 포함할 수 있다.As shown in (C) of FIG. 7, the service server 1000 calculates an increase in the number of messages stored in the message queuing module 1100 for a preset time, and the increase is a threshold value. When it exceeds, the cluster management module 1300 for performing; a cluster generation step of generating a separate message processing cluster module 1200 may be further included.

구체적으로, 클러스터관리모듈(1300)은 기설정된 시간동안 메시지큐잉모듈(1100)에 보관된 메시지의 개수의 증가량을 산출(S40)한다. 한편, 상기 클러스터관리모듈(1300)은 상기 메시지큐잉모듈(1100)에 보관된 메시지의 개수에 대한 시간대별 정보를 직접 도출하거나 혹은 상기 메시지큐잉모듈(1100)로부터 수신할 수 있다.Specifically, the cluster management module 1300 calculates an increase in the number of messages stored in the message queuing module 1100 for a preset time (S40). Meanwhile, the cluster management module 1300 may directly derive information for each time period on the number of messages stored in the message queuing module 1100 or may receive it from the message queuing module 1100 .

이후 클러스터관리모듈(1300)은 산출한 기설정된 시간동안의 증가량이 별도로 기설정된 임계값을 초과하는지 판별(S41)하고, 상기 증가량이 기설정된 임계값을 초과하는 것으로 판별되는 경우에, 상기 클러스터관리모듈(1300)은 별도의 메시지처리클러스터모듈(1200)을 생성(S42)한다.Thereafter, the cluster management module 1300 determines whether the calculated increase amount for a preset time exceeds a separately preset threshold value (S41), and when it is determined that the increase amount exceeds a preset threshold value, the cluster management The module 1300 creates a separate message processing cluster module 1200 (S42).

본 발명의 다른 실시예에서 상기 클러스터관리모듈(1300)은 상기 증가량에 따라 별도의 메시지처리클러스터모듈(1200)을 생성한 이후에 메시지큐잉모듈(1100)에 보관된 메시지의 개수의 기설정된 시간동안의 증가량이 상기 임계값 미만으로 감소되는 경우에 추가로 생성된 메시지처리클러스터모듈(1200)을 제거할 수도 있다.In another embodiment of the present invention, the cluster management module 1300 generates a separate message processing cluster module 1200 according to the increase amount, and then for a preset time of the number of messages stored in the message queuing module 1100. When the increase amount of is reduced to less than the threshold value, the additionally generated message processing cluster module 1200 may be removed.

한편, 본 발명의 또 다른 실시예에서 상기 클러스터관리모듈(1300)은 상술한 도 7의 (B)에 도시된 클러스터관리모듈(1300)에서의 별도의 메시지처리클러스터모듈(1200)을 생성하는 방법 및 상술한 도 7의 (C)에 도시된 클러스터관리모듈(1300)에서의 별도의 메시지처리클러스터모듈(1200)을 생성하는 방법을 결합하여 사용할 수도 있다.Meanwhile, in another embodiment of the present invention, the cluster management module 1300 is a method of generating a separate message processing cluster module 1200 in the cluster management module 1300 shown in (B) of FIG. and the method of generating a separate message processing cluster module 1200 in the cluster management module 1300 shown in FIG. 7C may be combined and used.

예를 들어, 상기 클러스터관리모듈(1300)은 메시지큐잉모듈(1100)에 보관된 메시지의 총 개수가 제1임계값을 초과하고, 해당 제1임계값을 초과한 메시지의 총 개수의 증가량이 제2임계값을 초과하는 경우에 별도의 메시지처리클러스터 모듈을 생성할 수도 있으며, 이와 같은 구성을 통해 상기 클러스터관리모듈(1300)은 더욱 엄격한 조건을 충족하는 경우에 별도의 메시지처리클러스터모듈(1200)을 생성할 수 있으므로, 서비스서버(1000)의 자원을 더욱 효율적으로 사용할 수 있는 효과를 발휘할 수 있다.For example, the cluster management module 1300 determines that the total number of messages stored in the message queuing module 1100 exceeds a first threshold, and the amount of increase in the total number of messages exceeding the first threshold is the second. A separate message processing cluster module may be created when the threshold value of 2 is exceeded, and through such a configuration, the cluster management module 1300 is a separate message processing cluster module 1200 when a more stringent condition is satisfied. can be created, it is possible to exert the effect of using the resources of the service server 1000 more efficiently.

또한, 본 발명의 일 실시예에서는 1차적으로는 메시지큐잉모듈(1100)에 보관되는 메시지의 개수 혹은 증가량에 따라 별도의 메시지처리클러스터모듈(1200)을 생성하고, 도 6에서 설명한 바와 같이, 2차적으로는 메시지처리클러스터모듈(1200)에 포함된 메시지처리모듈관리부(1240)에 의해 분배 받은 메시지의 개수 혹은 메시지의 처리유형에 따라 별도의 메시지처리모듈(1230)을 생성하므로, 수신하는 메시지에 따라 더욱 유동적으로 메시지를 처리할 수 있는 효과를 발휘할 수 있다.In addition, in an embodiment of the present invention, a separate message processing cluster module 1200 is primarily generated according to the number or increase in the number of messages stored in the message queuing module 1100, and as described in FIG. 6, 2 Specifically, since a separate message processing module 1230 is generated according to the number of messages distributed or received by the message processing module management unit 1240 included in the message processing cluster module 1200 or the type of message processing, the received message Accordingly, it is possible to exert the effect of more flexible message processing.

도 8은 본 발명의 일 실시예에 따른 메시지 처리유형에 따른 메시지처리모듈(1230)의 메시지 처리 과정들을 개략적으로 도시한다.8 schematically illustrates message processing processes of the message processing module 1230 according to a message processing type according to an embodiment of the present invention.

도 8의 (A)는 본 발명의 일 실시예에 따른 특정 메시지처리모듈(1230)에서 온도센서를 기반으로 하는 사물인터넷 기기에서 생성되는 메시지를 처리하는 단계를 도시한 도면에 해당한다.FIG. 8A corresponds to a diagram illustrating a step of processing a message generated by an IoT device based on a temperature sensor in a specific message processing module 1230 according to an embodiment of the present invention.

해당 메시지의 처리유형에 상응하는 메시지처리모듈(1230)은 메시지처리단계를 통해 온도센서를 기반으로 하는 사물인터넷 기기에서 생성된 메시지를 입력 받는 단계(S50)를 수행한다.The message processing module 1230 corresponding to the processing type of the message performs a step (S50) of receiving a message generated by the IoT device based on the temperature sensor through the message processing step.

이후, 해당 메시지처리모듈(1230)은 해당 사물인터넷 기기에서 최근 1시간 동안 송신한 메시지들에 기초하여 평균온도정보를 계산하는 단계(S51)를 수행한다. 해당 사물인터넷 기기에서 과거에 송신한 메시지 혹은 해당 메시지에 대한 처리데이터는 서비스서버(1000)의 DB(1400)에 저장되어 있고, 해당 메시지처리모듈(1230)에 의해 호출될 수 있다.Thereafter, the corresponding message processing module 1230 performs a step S51 of calculating average temperature information based on messages transmitted from the corresponding IoT device for the last one hour. A message transmitted in the past from the IoT device or processing data for the message is stored in the DB 1400 of the service server 1000 and may be called by the message processing module 1230 .

단계 S51에서 계산된 평균온도정보 및 단계 S50에서 입력 받은 메시지에 포함된 온도정보를 비교하는 단계(S52)를 수행하고, 온도 차가 기설정된 임계값을 초과하는 경우에 알람정보를 생성하는 단계(S53)를 수행한다.Comparing the average temperature information calculated in step S51 and the temperature information included in the message input in step S50 (S52), and generating alarm information when the temperature difference exceeds a preset threshold (S53) ) is performed.

이와 같이 상기 메시지처리모듈(1230)에서 생성된 알람정보는 해당 사물인터넷 기기로부터 서비스를 제공받고자 하는 주체에게 제공될 수 있다.As described above, the alarm information generated by the message processing module 1230 may be provided to a subject who wants to receive a service from the corresponding IoT device.

도 8의 (B)는 본 발명의 일 실시예에 따른 또 다른 특정 메시지처리모듈(1230)에서 조도센서를 기반으로 하는 사물인터넷 기기에서 생성되는 메시지를 처리하는 단계를 도시한 도면에 해당한다. FIG. 8B is a diagram illustrating a step of processing a message generated by an IoT device based on an illuminance sensor in another specific message processing module 1230 according to an embodiment of the present invention.

해당 메시지의 처리유형에 상응하는 메시지처리모듈(1230)은 메시지처리단계를 통해 조도센서를 기반으로 하는 사물인터넷 기기에서 생성된 메시지를 입력 받는 단계(S60)를 수행한다.The message processing module 1230 corresponding to the processing type of the corresponding message performs a step (S60) of receiving a message generated by the IoT device based on the illumination sensor through the message processing step.

이후, 입력 받은 메시지에 포함된 시간정보에 따라 분류하고, 분류된 시간정보에 따른 조도값 정보를 저장하는 단계(S61)를 수행한다. 상기 분류된 시간정보에 따른 조도값 정보는 서비스서버(1000)의 DB(1400)에 저장될 수 있다.Thereafter, a step (S61) of classifying according to time information included in the received message and storing illuminance value information according to the classified time information is performed. The illuminance value information according to the classified time information may be stored in the DB 1400 of the service server 1000 .

한편, 상기 메시지처리모듈(1230)은 DB(1400)에 저장된 복수의 시간정보에 따른 조도값 정보를 학습하는 단계(S62)를 수행한다. 해당 학습을 통해 상기 조도센서를 기반으로 하는 사물인터넷 기기를 사용하는 공간의 적정 조도값을 결과로 하는 결과정보를 도출할 수 있고, 상기 메시지처리모듈(1230)은 도출된 결과정보를 저장하는 단계(S63)를 수행한다.On the other hand, the message processing module 1230 performs the step (S62) of learning the illuminance value information according to a plurality of time information stored in the DB (1400). Through corresponding learning, it is possible to derive result information that results in an appropriate illuminance value of a space using the IoT device based on the illuminance sensor, and the message processing module 1230 stores the derived result information. (S63) is performed.

이와 같이 상기 메시지처리모듈(1230)에 의해 저장된 결과정보는 해당 사물인터넷 기기로부터 서비스를 제공받고자 하는 주체에게 제공될 수 있다.As described above, the result information stored by the message processing module 1230 may be provided to a subject who wants to receive a service from the corresponding IoT device.

도 8의 (A) 및 (B)는 각각의 메시지의 처리유형에 상응하는 메시지처리모듈(1230)에서 수행하는 메시지 처리 방법에 대한 실시예를 도시한 도면에 해당할 뿐, 메시지의 처리유형 혹은 메시지 처리 방법이 이에 한정되지 않는다. 또한, 특정 사물인터넷 기기에서 생성된 메시지의 처리유형은 하나의 처리유형에 국한되지 않고, 동일한 사물인터넷 기기에서 생성된 메시지라 할지라도 다양한 처리유형으로 분류될 수도 있다.8(A) and (B) only correspond to diagrams showing an embodiment of a message processing method performed by the message processing module 1230 corresponding to the processing type of each message, and the message processing type or The message processing method is not limited thereto. In addition, the processing type of a message generated by a specific IoT device is not limited to one processing type, and even a message generated by the same IoT device may be classified into various processing types.

도 9는 본 발명의 일 실시예에 따른 컴퓨팅장치의 내부 구성을 개략적으로 도시한다.9 schematically illustrates an internal configuration of a computing device according to an embodiment of the present invention.

상술한 도 1에 도시된 서비스서버(1000)는 상기 도 9에 도시된 컴퓨팅장치의 구성요소들을 포함할 수 있다.The above-described service server 1000 illustrated in FIG. 1 may include components of the computing device illustrated in FIG. 9 .

도 9에 도시된 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/Osubsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅장치(11000)는 도 1에 도시된 서비스서버(1000)에 해당될 수 있다.9, the computing device 11000 includes at least one processor 11100, a memory 11200, a peripheral interface 11300, an input/output subsystem ( I/O subsystem) 11400 , a power circuit 11500 , and a communication circuit 11600 may be included at least. In this case, the computing device 11000 may correspond to the service server 1000 illustrated in FIG. 1 .

메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.The memory 11200 may include, for example, a high-speed random access memory, a magnetic disk, an SRAM, a DRAM, a ROM, a flash memory, or a non-volatile memory. have. The memory 11200 may include a software module, an instruction set, or other various data necessary for the operation of the computing device 11000 .

이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.In this case, access to the memory 11200 from other components such as the processor 11100 or the peripheral interface 11300 may be controlled by the processor 11100 .

주변장치 인터페이스(11300)는 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.Peripheral interface 11300 may couple input and/or output peripherals of computing device 11000 to processor 11100 and memory 11200 . The processor 11100 may execute a software module or an instruction set stored in the memory 11200 to perform various functions for the computing device 11000 and process data.

입/출력 서브시스템은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.The input/output subsystem may couple various input/output peripherals to the peripheral interface 11300 . For example, the input/output subsystem may include a controller for coupling peripherals such as a monitor or keyboard, mouse, printer, or a touch screen or sensor as needed to the peripheral interface 11300 . According to another aspect, input/output peripherals may be coupled to peripheral interface 11300 without going through an input/output subsystem.

전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.The power circuit 11500 may supply power to all or some of the components of the terminal. For example, the power circuit 11500 may include a power management system, one or more power sources such as batteries or alternating current (AC), a charging system, a power failure detection circuit, a power converter or inverter, a power status indicator, or a power source. It may include any other components for creation, management, and distribution.

통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다.The communication circuit 11600 may enable communication with another computing device using at least one external port.

또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.Alternatively, as described above, if necessary, the communication circuit 11600 may transmit and receive an RF signal, also known as an electromagnetic signal, including an RF circuit, thereby enabling communication with other computing devices.

이러한 도 9의 실시예는, 컴퓨팅장치(11000)의 일례일 뿐이고, 컴퓨팅장치(11000)은 도 9에 도시된 일부 컴포넌트가 생략되거나, 도 9에 도시되지 않은 추가의 컴포넌트를 더 구비하거나, 2개 이상의 컴포넌트를 결합시키는 구성 또는 배치를 가질 수 있다. 예를 들어, 모바일 환경의 통신 단말을 위한 컴퓨팅장치는 도 9에 도시된 컴포넌트들 외에도, 터치스크린이나 센서 등을 더 포함할 수도 있으며, 통신 회로(11600)에 다양한 통신방식(WiFi, 3G, LTE, Bluetooth, NFC, Zigbee 등)의 RF 통신을 위한 회로가 포함될 수도 있다. 컴퓨팅장치(11000)에 포함 가능한 컴포넌트들은 하나 이상의 신호 처리 또는 어플리케이션에 특화된 집적 회로를 포함하는 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.This embodiment of FIG. 9 is only an example of the computing device 11000, and the computing device 11000 may omit some components shown in FIG. 9 or further include additional components not shown in FIG. 9, or 2 It may have a configuration or arrangement that combines two or more components. For example, a computing device for a communication terminal in a mobile environment may further include a touch screen or a sensor in addition to the components shown in FIG. 9 , and may include various communication methods (WiFi, 3G, LTE) in the communication circuit 11600 . , Bluetooth, NFC, Zigbee, etc.) may include a circuit for RF communication. Components that may be included in the computing device 11000 may be implemented as hardware, software, or a combination of both hardware and software including an integrated circuit specialized for one or more signal processing or applications.

본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(instruction) 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 특히, 본 실시예에 따른 프로그램은 PC 기반의 프로그램 또는 모바일 단말 전용의 어플리케이션으로 구성될 수 있다. 본 발명이 적용되는 애플리케이션은 파일 배포 시스템이 제공하는 파일을 통해 이용자 단말에 설치될 수 있다. 일 예로, 파일 배포 시스템은 이용자 단말기의 요청에 따라 상기 파일을 전송하는 파일 전송부(미도시)를 포함할 수 있다.Methods according to embodiments of the present invention may be implemented in the form of program instructions that can be executed through various computing devices and recorded in computer-readable media. In particular, the program according to the present embodiment may be configured as a PC-based program or an application dedicated to a mobile terminal. The application to which the present invention is applied may be installed in the user terminal through a file provided by the file distribution system. For example, the file distribution system may include a file transmission unit (not shown) that transmits the file according to a request of the user terminal.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The device described above may be implemented as a hardware component, a software component, and/or a combination of the hardware component and the software component. For example, the apparatus and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that can include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로 (collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨팅장치 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computing devices, and may be stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

본 발명의 일 실시예에 따르면, 메시지큐잉모듈은 1차적으로 사물인터넷 기기에서 송신하는 메시지를 수신하여 보관하고 보관된 메시지를 분배하므로 서비스서버의 과부하를 예방할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the message queuing module primarily receives and stores messages transmitted from IoT devices and distributes the stored messages, so that it is possible to prevent overload of the service server.

본 발명의 일 실시예에 따르면, 메시지처리클러스터모듈은 분배된 1 이상의 메시지를 메시지의 처리유형에 따라 분류하고, 분류된 메시지의 처리유형에 상응하는 메시지처리모듈에서 해당 메시지를 처리하도록 하므로, 서비스서버의 리소스를 효율적으로 사용할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the message processing cluster module classifies the distributed one or more messages according to the processing type of the message, and the message processing module corresponding to the processing type of the classified message processes the message, so that the service It can exert the effect of efficiently using the server's resources.

본 발명의 일 실시예에 따르면, 메시지처리클러스터모듈은 메시지처리클러스터모듈에 포함된 각각의 메시지처리모듈에서 처리하고 있는 메시지의 개수 및 메시지처리클러스터모듈에서 처리 가능한 최대 메시지의 개수를 고려하여 메시지큐잉모듈로부터 분배받을 메시지의 개수를 포함하는 메시지요청정보를 도출하므로, 메시지처리클러스터모듈의 과부하를 방지할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the message processing cluster module performs message queuing in consideration of the number of messages being processed by each message processing module included in the message processing cluster module and the maximum number of messages that can be processed by the message processing cluster module. Since message request information including the number of messages to be distributed is derived from the module, it is possible to exert the effect of preventing overload of the message processing cluster module.

본 발명의 일 실시예에 따르면, 메시지처리클러스터모듈은 메시지처리클러스터모듈에 포함된 각각의 메시지처리모듈에서 처리하고 있는 메시지에 대한 부하 및 메시지처리클러스터모듈에서 처리 가능한 최대 메시지에 대한 부하를 고려하여 메시지큐잉모듈로부터 분배 받을 메시지에 대한 요청부하를 포함하는 메시지요청정보를 도출하므로, 메시지처리클러스터모듈의 과부하를 방지할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, the message processing cluster module considers the load on the message being processed by each message processing module included in the message processing cluster module and the load on the maximum message that can be processed by the message processing cluster module. Since the message request information including the request load for the message to be distributed is derived from the message queuing module, the overload of the message processing cluster module can be prevented.

본 발명의 일 실시예에 따르면, 메시지처리클러스터모듈은 분류된 메시지의 처리유형에 상응하는 메시지처리모듈을 포함하지 않는 경우, 해당 처리유형에 상응하는 별도의 메시지처리모듈을 자동적으로 생성하므로, 메시지처리클러스터모듈의 효율을 향상시킬 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, when the message processing cluster module does not include a message processing module corresponding to the processing type of the classified message, a separate message processing module corresponding to the processing type is automatically generated, It is possible to exhibit the effect of improving the efficiency of the processing cluster module.

본 발명의 일 실시예에 따르면, 클러스터관리모듈은 메시지큐잉모듈에 보관된 메시지의 개수에 따라 별도의 메시지처리클러스터모듈을 추가하므로, 수신한 메시지를 효율적으로 처리할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, since the cluster management module adds a separate message processing cluster module according to the number of messages stored in the message queuing module, it is possible to efficiently process received messages.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited embodiments and drawings, various modifications and variations are possible from the above description by those skilled in the art. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (9)

1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법으로서,
상기 서비스서버는 메시지큐잉모듈 및 1 이상의 메시지처리모듈을 포함하는 1 이상의 메시지처리클러스터모듈을 포함하고,
상기 메시지큐잉모듈에 의하여, 복수의 사물인터넷 기기에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계;
상기 메시지처리클러스터모듈에 의하여, 상기 1 이상의 메시지처리모듈에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈로 송신하는 메시지요청단계;
상기 메시지큐잉모듈에 의하여, 상기 메시지처리클러스터모듈로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈로 송신하는 메시지분배단계; 및
상기 메시지처리클러스터모듈에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하고,
상기 메시지요청단계는,
상기 1 이상의 메시지처리모듈에서 현재 처리하는 메시지의 개수 및 상기 메시지처리클러스터모듈에서 처리 가능한 최대 메시지의 개수에 기초하여 도출된 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출하는, 사물인터넷 환경에서의 메시지 처리 방법.
As a message processing method in an Internet of Things environment performed in a service server including one or more processors and one or more memories,
The service server includes one or more message processing cluster modules including a message queuing module and one or more message processing modules,
a message queuing step of receiving and storing, by the message queuing module, a plurality of messages transmitted from a plurality of IoT devices;
a message request step of deriving, by the message processing cluster module, message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules, and transmitting it to the message queuing module;
a message distribution step of transmitting, by the message queuing module, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module to the message processing cluster module; and
A message processing step of classifying, by the message processing cluster module, one or more messages received through the message distribution step according to a message processing type, and processing the classified message in a message processing module corresponding to the processing type; and ,
The message request step is
A thing for deriving message request information including the number of messages to be processed newly derived based on the number of messages currently processed by the one or more message processing modules and the maximum number of messages that can be processed by the message processing cluster module Message processing method in Internet environment.
삭제delete 삭제delete 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법으로서,
상기 서비스서버는 메시지큐잉모듈 및 1 이상의 메시지처리모듈을 포함하는 1 이상의 메시지처리클러스터모듈을 포함하고,
상기 메시지큐잉모듈에 의하여, 복수의 사물인터넷 기기에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계;
상기 메시지처리클러스터모듈에 의하여, 상기 1 이상의 메시지처리모듈에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈로 송신하는 메시지요청단계;
상기 메시지큐잉모듈에 의하여, 상기 메시지처리클러스터모듈로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈로 송신하는 메시지분배단계; 및
상기 메시지처리클러스터모듈에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하고,
상기 메시지요청단계는,
상기 1 이상의 메시지처리모듈에서 현재 처리하는 메시지에 대한 부하 및 상기 메시지처리클러스터모듈에서 처리 가능한 최대 메시지에 대한 부하에 기초하여 도출된 신규로 처리하기 위한 메시지에 대한 요청부하를 포함하는 메시지요청정보를 도출하고,
각각의 상기 메시지처리모듈은 2 이상의 상이한 프로세스를 처리할 수 있고,
상기 서비스서버에는,
상기 복수의 사물인터넷 기기로부터 수신하는 각각의 메시지의 처리유형에 따른 부하 사용값을 포함하는 매핑테이블이 저장되어 있고,
상기 메시지분배단계는,
상기 요청부하 및 상기 매핑테이블에 기초하여 해당 메시지처리클러스터모듈에 송신할 1 이상의 메시지를 도출하여 상기 메시지처리클러스터모듈로 송신하는, 사물인터넷 환경에서의 메시지 처리 방법.
As a message processing method in an Internet of Things environment performed in a service server including one or more processors and one or more memories,
The service server includes one or more message processing cluster modules including a message queuing module and one or more message processing modules,
a message queuing step of receiving and storing, by the message queuing module, a plurality of messages transmitted from a plurality of IoT devices;
a message request step of deriving, by the message processing cluster module, message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules, and transmitting it to the message queuing module;
a message distribution step of transmitting, by the message queuing module, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module to the message processing cluster module; and
A message processing step of classifying, by the message processing cluster module, one or more messages received through the message distribution step according to a message processing type, and processing the classified message in a message processing module corresponding to the processing type; and ,
The message request step is
Message request information including a load for a message currently processed by the one or more message processing modules and a request load for a message to be newly processed derived based on a load for the maximum message that can be processed by the message processing cluster module derive,
Each of the message processing module can handle two or more different processes,
In the service server,
a mapping table including a load usage value according to a processing type of each message received from the plurality of IoT devices is stored;
The message distribution step is
A message processing method in an Internet of Things environment, wherein one or more messages to be transmitted to a corresponding message processing cluster module are derived based on the request load and the mapping table and transmitted to the message processing cluster module.
1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법으로서,
상기 서비스서버는 메시지큐잉모듈 및 1 이상의 메시지처리모듈을 포함하는 1 이상의 메시지처리클러스터모듈을 포함하고,
상기 메시지큐잉모듈에 의하여, 복수의 사물인터넷 기기에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계;
상기 메시지처리클러스터모듈에 의하여, 상기 1 이상의 메시지처리모듈에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈로 송신하는 메시지요청단계;
상기 메시지큐잉모듈에 의하여, 상기 메시지처리클러스터모듈로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈로 송신하는 메시지분배단계; 및
상기 메시지처리클러스터모듈에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하고,
상기 메시지처리단계는,
상기 분류된 메시지의 처리유형에 상응하는 메시지처리모듈이 상기 메시지처리클러스터모듈에 포함되지 않는 경우, 해당 처리유형에 상응하는 별도의 메시지처리모듈을 생성하는 메시지처리모듈생성단계;를 포함하는, 사물인터넷 환경에서의 메시지 처리 방법.
As a message processing method in an Internet of Things environment performed in a service server including one or more processors and one or more memories,
The service server includes one or more message processing cluster modules including a message queuing module and one or more message processing modules,
a message queuing step of receiving and storing, by the message queuing module, a plurality of messages transmitted from a plurality of IoT devices;
a message request step of deriving, by the message processing cluster module, message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules, and transmitting it to the message queuing module;
a message distribution step of transmitting, by the message queuing module, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module to the message processing cluster module; and
A message processing step of classifying, by the message processing cluster module, one or more messages received through the message distribution step according to a message processing type, and processing the classified message in a message processing module corresponding to the processing type; and ,
The message processing step is
When the message processing module corresponding to the processing type of the classified message is not included in the message processing cluster module, a message processing module generating step of generating a separate message processing module corresponding to the processing type; How to process messages in the Internet environment.
1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법으로서,
상기 서비스서버는 메시지큐잉모듈 및 1 이상의 메시지처리모듈을 포함하는 1 이상의 메시지처리클러스터모듈을 포함하고,
상기 메시지큐잉모듈에 의하여, 복수의 사물인터넷 기기에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계;
상기 메시지처리클러스터모듈에 의하여, 상기 1 이상의 메시지처리모듈에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈로 송신하는 메시지요청단계;
상기 메시지큐잉모듈에 의하여, 상기 메시지처리클러스터모듈로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈로 송신하는 메시지분배단계; 및
상기 메시지처리클러스터모듈에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하고,
상기 서비스서버는,
상기 메시지큐잉모듈에 보관된 복수의 메시지의 개수가 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈을 더 포함하는, 사물인터넷 환경에서의 메시지 처리 방법.
As a message processing method in an Internet of Things environment performed in a service server including one or more processors and one or more memories,
The service server includes one or more message processing cluster modules including a message queuing module and one or more message processing modules,
a message queuing step of receiving and storing, by the message queuing module, a plurality of messages transmitted from a plurality of IoT devices;
a message request step of deriving, by the message processing cluster module, message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules, and transmitting it to the message queuing module;
a message distribution step of transmitting, by the message queuing module, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module to the message processing cluster module; and
A message processing step of classifying, by the message processing cluster module, one or more messages received through the message distribution step according to a message processing type, and processing the classified message in a message processing module corresponding to the processing type; and ,
The service server is
When the number of a plurality of messages stored in the message queuing module exceeds a threshold value, a cluster creation step of generating a separate message processing cluster module; message in the Internet of Things environment, further comprising a cluster management module performing; processing method.
1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법으로서,
상기 서비스서버는 메시지큐잉모듈 및 1 이상의 메시지처리모듈을 포함하는 1 이상의 메시지처리클러스터모듈을 포함하고,
상기 메시지큐잉모듈에 의하여, 복수의 사물인터넷 기기에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계;
상기 메시지처리클러스터모듈에 의하여, 상기 1 이상의 메시지처리모듈에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈로 송신하는 메시지요청단계;
상기 메시지큐잉모듈에 의하여, 상기 메시지처리클러스터모듈로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈로 송신하는 메시지분배단계; 및
상기 메시지처리클러스터모듈에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하고,
상기 서비스서버는,
기설정된 시간동안의 상기 메시지큐잉모듈에 보관된 메시지의 개수의 증가량을 산출하고, 상기 증가량이 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈을 더 포함하는, 사물인터넷 환경에서의 메시지 처리 방법.
As a message processing method in an Internet of Things environment performed in a service server including one or more processors and one or more memories,
The service server includes one or more message processing cluster modules including a message queuing module and one or more message processing modules,
a message queuing step of receiving and storing, by the message queuing module, a plurality of messages transmitted from a plurality of IoT devices;
a message request step of deriving, by the message processing cluster module, message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules, and transmitting it to the message queuing module;
a message distribution step of transmitting, by the message queuing module, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module to the message processing cluster module; and
A message processing step of classifying, by the message processing cluster module, one or more messages received through the message distribution step according to a message processing type, and processing the classified message in a message processing module corresponding to the processing type; and ,
The service server is
A cluster management module performing a cluster creation step of calculating an increase in the number of messages stored in the message queuing module for a preset time, and generating a separate message processing cluster module when the increase exceeds a threshold value. Further comprising, a message processing method in an IoT environment.
1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에 의하여 구현되는 사물인터넷 환경에서의 메시지 처리 시스템으로서,
상기 서비스서버는 메시지큐잉모듈 및 1 이상의 메시지처리모듈을 포함하는 메시지처리클러스터모듈을 포함하고,
상기 메시지큐잉모듈에 의하여, 복수의 사물인터넷 기기에서 송신하는 복수의 메시지를 수신하여 보관하는 메시지큐잉단계;
상기 메시지처리클러스터모듈에 의하여, 상기 1 이상의 메시지처리모듈에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈로 송신하는 메시지요청단계;
상기 메시지큐잉모듈에 의하여, 상기 메시지처리클러스터모듈로부터 수신한 메시지요청정보에 따라 보관된 복수의 메시지 중 1 이상의 메시지를 상기 메시지처리클러스터모듈로 송신하는 메시지분배단계; 및
상기 메시지처리클러스터모듈에 의하여, 상기 메시지분배단계를 통해 수신한 1 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 수행하고,
상기 메시지요청단계는,
상기 1 이상의 메시지처리모듈에서 현재 처리하는 메시지의 개수 및 상기 메시지처리클러스터모듈에서 처리 가능한 최대 메시지의 개수에 기초하여 도출된 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출하는, 사물인터넷 환경에서의 메시지 처리 시스템.
As a message processing system in an Internet of Things environment implemented by a service server including one or more processors and one or more memories,
The service server includes a message queuing module and a message processing cluster module including one or more message processing modules,
a message queuing step of receiving and storing, by the message queuing module, a plurality of messages transmitted from a plurality of IoT devices;
a message request step of deriving, by the message processing cluster module, message request information for requesting one or more messages for new processing in consideration of the amount of message processing in the one or more message processing modules, and transmitting it to the message queuing module;
a message distribution step of transmitting, by the message queuing module, one or more messages among a plurality of stored messages according to the message request information received from the message processing cluster module to the message processing cluster module; and
A message processing step of classifying, by the message processing cluster module, one or more messages received through the message distribution step according to a message processing type, and processing the classified message in a message processing module corresponding to the processing type; and ,
The message request step is
A thing for deriving message request information including the number of messages to be processed newly derived based on the number of messages currently processed by the one or more message processing modules and the maximum number of messages that can be processed by the message processing cluster module A message processing system in the Internet environment.
청구항 1에 따르는 1 이상의 프로세서 및 1 이상의 메모리를 포함하는 서비스서버에서 수행되는 사물인터넷 환경에서의 메시지 처리 방법을 수행하기 위한 프로그램이 기록된 컴퓨터-판독가능 매체.
A computer-readable medium in which a program for performing a message processing method in an Internet of Things environment performed in a service server comprising one or more processors and one or more memories according to claim 1 is recorded.
KR1020200050124A 2020-04-24 2020-04-24 Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment KR102261042B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200050124A KR102261042B1 (en) 2020-04-24 2020-04-24 Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200050124A KR102261042B1 (en) 2020-04-24 2020-04-24 Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment

Publications (1)

Publication Number Publication Date
KR102261042B1 true KR102261042B1 (en) 2021-06-04

Family

ID=76392006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200050124A KR102261042B1 (en) 2020-04-24 2020-04-24 Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment

Country Status (1)

Country Link
KR (1) KR102261042B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101600743B1 (en) * 2015-02-26 2016-03-07 삼성에스디에스 주식회사 Apparatus and method for processing data
KR20190105146A (en) * 2018-02-19 2019-09-16 서경대학교 산학협력단 APPARATUS AND METHOD FOR CLASSIFICATION IoT SERVICE BASED ON SERVICE OPERATION CHARACTERISTIC

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101600743B1 (en) * 2015-02-26 2016-03-07 삼성에스디에스 주식회사 Apparatus and method for processing data
KR20190105146A (en) * 2018-02-19 2019-09-16 서경대학교 산학협력단 APPARATUS AND METHOD FOR CLASSIFICATION IoT SERVICE BASED ON SERVICE OPERATION CHARACTERISTIC

Similar Documents

Publication Publication Date Title
US10067805B2 (en) Technologies for offloading and on-loading data for processor/coprocessor arrangements
CN107003887B (en) CPU overload setting and cloud computing workload scheduling mechanism
US9075659B2 (en) Task allocation in a computer network
US7328259B2 (en) Systems and methods for policy-based application management
Choudhary et al. A critical analysis of energy efficient virtual machine placement techniques and its optimization in a cloud computing environment
JP6224244B2 (en) Power balancing to increase working density and improve energy efficiency
US10528119B2 (en) Dynamic power routing to hardware accelerators
US20120324111A1 (en) Task allocation in a computer network
JP2012118987A (en) Computer implementation method, computer program, and system for memory usage query governor (memory usage query governor)
US20230136612A1 (en) Optimizing concurrent execution using networked processing units
CN115934307A (en) Metric and security based accelerator service rescheduling and auto-scaling using programmable network devices
US20160019089A1 (en) Method and system for scheduling computing
Zhengbing et al. Resource management in a distributed computer system with allowance for the level of trust to computational components
US20220100566A1 (en) Metrics-based scheduling for hardware accelerator resources in a service mesh environment
US11039404B2 (en) Method for control and distribution of the amount of power to be lowered or raised in a multi-load system
KR102261042B1 (en) Methods, Systems and Computer-Readable Medium for Messages Processing in Internet of Things Environment
Zhou et al. A dynamic resource broker and fuzzy logic based scheduling algorithm in Grid environment
US11816042B2 (en) Platform framework telemetry
KR102187382B1 (en) Container VirtualOS Integrated Monitoring Operating Methods Based on Cloud Infrastructure
US20220390996A1 (en) System performance using optimal adapter efficiency
Hou et al. Real-time optimization of dynamic speed scaling for distributed data centers
KR20230063015A (en) Apparatus and method for managing virtual machine cpu resource in virtualization server
US20210044497A1 (en) Hybrid approach for rate limiting in distributed systems
Alghamdi et al. Fog Network Area Management Model for Managing Fog-cloud Resources in IoT Environment
US20230195201A1 (en) Coprocessor power management in hybrid architectures

Legal Events

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