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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/2895—Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols 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
Description
본 발명은 사물인터넷 환경에서의 메시지 처리 방법, 시스템 및 컴퓨터-판독가능 매체에 관한 것으로서, 더욱 상세하게는 서비스서버는 메시지큐잉모듈 및 메시지처리클러스터모듈을 포함하고, 메시지큐잉모듈은 사물인터넷 기기로부터 메시지를 수신하여 보관하고, 메시지를 처리하는 메시지처리클러스터모듈에 처리 가능한 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
도 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
한편, 사물인터넷 기기(2000)는 가전제품, 모바일 디바이스, 웨어러블 디바이스 등 다양한 형태의 임베디드 시스템을 포함하여 통신을 수행할 수 있는 모든 형태의 기기에 해당될 수 있다. 도 1에서 도시된 바와 같이 사물인터넷 기기(2000)는 조명관련 사물인터넷 기기(2100), 영상관련 사물인터넷 기기(2200), 전력관련 사물인터넷 기기(2300), 온도관련 사물인터넷 기기(2400) 및 공기정화관련 사물인터넷 기기(2500)를 포함하며, 이외에도 모든 종류의 사물인터넷 기기(2000)를 포함할 수 있다. 사물인터넷 기기(2000)에서 송신하는 메시지는 수신하는 서비스서버(1000)로부터 해당 메시지에 대한 응답메시지를 요구하는 등의 양방향의 메시지를 송신할 수 있으나, 바람직하게는 상기 사물인터넷 기기(2000)는 단방향의 푸시형태의 메시지를 서비스서버(1000)로 송신한다.Meanwhile, the
서비스서버(1000)는 사물인터넷 기기(2000)에서 생성된 메시지를 수신한다. 도 1에서 도시된 바와 같이 서비스서버(1000)는 사물인터넷 기기(2000)로부터 직접 해당 메시지를 수신할 수도 있고, 도 1에서는 도시되지 않았으나, 사물인터넷 기기(2000) 및 서비스서버(1000)간의 통신을 매개하는 게이트웨이를 통해 서비스서버(1000)는 해당 메시지를 수신할 수도 있다.The
구체적으로, 서비스서버(1000)에 포함되는 메시지큐잉모듈(1100)은 사물인터넷 기기(2000)에서 송신하는 메시지를 수신하여 보관하며, 보관된 메시지를 후술하는 각각의 메시지처리클러스터모듈(1200)에서 송신하는 메시지요청정보에 기초하여 분배하는 역할을 수행한다. 한편, 상기 메시지큐잉모듈(1100)은 수신한 메시지들을 다양한 방법으로 보관할 수 있으나, 바람직하게는 수신한 순서에 따라 순차적으로 보관하고, 먼저 보관된 메시지부터 순차적으로 분배하는 First In, First Out(FIFO) 방식으로 구현될 수도 있다.Specifically, the
따라서 메시지큐잉모듈(1100)을 통해 우선적으로 메시지들을 보관하고 이후에 메시지를 처리하는 각각의 메시지처리클러스터모듈(1200)로 메시지를 분배함으로써 실시간으로 변화하는 메시지의 수신량에 대해 안정적으로 메시지를 처리할 수 있고, 결과적으로 서비스서버(1000)의 과부하를 예방함과 동시에 서비스서버(1000)의 리소스 혹은 부하를 효율적으로 사용할 수 있는 효과를 발휘할 수 있다. 한편, 상술한 메시지큐잉모듈(1100)에서의 메시지 분배의 구체적인 과정은 후술하도록 한다.Therefore, messages are stored in the first place through the
서비스서버(1000)에 포함되는 메시지처리클러스터모듈(1200)은 신규로 처리하고자 하는 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈(1100)로 송신하고, 메시지큐잉모듈(1100)에서의 메시지 분배에 따라 수신한 메시지를 처리하는 역할을 수행한다. 한편, 상기 서비스서버(1000)에는 1 이상의 메시지처리클러스터모듈(1200)이 포함될 수 있고, 복수의 메시지처리클러스터모듈(1200)이 상기 서비스서버(1000)에 포함되어 있는 경우에는 각각의 메시지처리클러스터모듈(1200)은 병렬적으로 메시지들을 처리하므로 안정적으로 메시지를 처리할 수 있는 효과를 발휘할 수 있다. 한편, 메시지처리클러스터모듈(1200)에서의 메시지를 처리하는 과정들은 도 2에서 자세하게 설명하도록 한다.The message
클러스터관리모듈(1300)은 메시지큐잉모듈(1100)에 보관된 메시지의 양을 고려하여 별도의 메시지처리클러스터모듈(1200)을 생성하는 역할을 수행한다. 구체적으로 상기 클러스터관리모듈(1300)은 메시지큐잉모듈(1100)에 보관된 메시지의 양에 따라서 별도의 메시지처리클러스터모듈(1200)을 생성할 수 있으나, 바람직하게는 서비스서버(1000)에서 가용 가능한 리소스를 더 고려하여 별도의 메시지처리클러스터모듈(1200)을 생성할 수 있으며, 따라서 상기 클러스터관리모듈(1300)에 의해 추가적으로 생성되기 위하여 상기 메시지처리클러스터모듈(1200)은 소프트웨어적으로 구성되는 것이 바람직하다.The
또한, 서비스서버(1000)는 DB(1400)를 더 포함하고, 상기 DB(1400)에는 매핑테이블(1410) 및 처리데이터(1420)가 저장될 수 있다. 구체적으로 상기 매핑테이블(1410)은 사물인터넷 기기(2000)로부터 수신하는 각각의 메시지의 처리유형에 따른 부하 혹은 리소스의 사용값을 포함하고, 상기 메시지큐잉모듈(1100)은 메시지처리클러스터모듈(1200)로부터 수신하는 메시지요청정보 및 상기 매핑테이블(1410)에 기초하여 보관된 메시지의 일부를 해당 메시지처리클러스터모듈(1200)로 분배할 수 있다.In addition, the
한편, 상기 메시지처리클러스터모듈(1200)에서 처리한 메시지에 해당하는 처리데이터(1420) 또한 상기 DB(1400)에 저장될 수도 있다. 이와 같이 상기 DB(1400)에 저장된 1 이상의 처리데이터(1420)는 다양한 형태로 사용될 수 있다. 예를 들어, 온도관련 사물인터넷 기기(2400)에서 송신하는 1 이상의 메시지가 처리데이터(1420)로 DB(1400)에 저장될 수 있고, 해당 처리데이터(1420)는 평균온도를 도출하는데 활용될 수 있다. 또한 영상관련 사물인터넷 기기(2200)에서 송신하는 1 이상의 메시지가 처리데이터(1420)로 DB(1400)에 저장될 수 있고, 해당 처리데이터(1420)는 영상에 포함된 사물 혹은 인물을 학습하기 위한 학습데이터로 활용될 수 있다.Meanwhile, the
한편, 도 1에 도시된 서비스서버(1000)의 내부구성은 사물인터넷 환경에서의 메시지 처리 방법을 용이하게 설명하기 위한 일 실시예에 해당하고, 사물인터넷 기기(2000) 외의 별도의 어플리케이션과의 통신을 통해 데이터를 처리하기 위한 요소 등과 같이 추가적인 구성요소들을 더 포함할 수 있다.Meanwhile, the internal configuration of the
도 2는 본 발명의 일 실시예에 따른 메시지처리클러스터모듈(1200)의 내부구성을 개략적으로 도시한다.2 schematically shows the internal configuration of a message
도 2에 도시된 바와 같이 상기 메시지처리클러스터모듈(1200)은 메시지요청부(1210), 메시지분류부(1220), 1 이상의 메시지처리모듈(1230) 및 메시지처리모듈관리부(1240)를 포함할 수 있다.2, the message
상기 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)에서의 메시지 처리량을 고려하여 신규로 처리하기 위한 1 이상의 메시지를 요청하는 메시지요청정보를 도출하고, 상기 메시지요청정보를 메시지큐잉모듈(1100)로 송신한다. 또한 상기 메시지큐잉모듈(1100)에서 해당 메시지요청정보에 기초하여 송신하는 1 이상의 메시지를 수신한다.The
상기 메시지요청부(1210)에서 상기 메시지큐잉모듈(1100)이 송신한 1 이상의 메시지를 수신하는 경우, 상기 메시지분류부(1220) 및 상기 1 이상의 메시지처리모듈(1230)에 의해 수신한 1 이상의 메시지가 처리될 수 있다. 구체적으로, 상기 메시지분류부(1220)는 수신한 1 이상의 메시지를 메시지의 처리유형에 따라 분류한다.When the
메시지의 처리유형은 예를 들어 온도관련 사물인터넷 기기(2400)에서 현재 온도정보를 포함하는 메시지를 송신하는 경우, 현재 온도가 설정된 온도보다 높은지 판별하여 높은 경우에, 경고정보를 도출하는 일련의 메시지의 처리 방법과 같이, 사물인터넷 기기(2000)에서 송신하는 메시지에 따라 결과를 도출하기 위하여 처리하기 위한 유형에 해당한다.The processing type of the message is, for example, when the temperature-related
상기 메시지의 처리유형은 사물인터넷 기기(2000)의 종류에 따라 구분될 수 있으나, 바람직하게는 같은 종류의 사물인터넷 기기(2000)라 하더라도 해당 사물인터넷 기기(2000)의 메시지 혹은 해당 메시지에 따라 서비스를 받는 주체의 설정에 따라 처리 유형은 상이할 수도 있다. 예를 들어, 영상관련 사물인터넷 기기(2200)라는 같은 종류의 사물인터넷 기기임에도 특정 영상관련 사물인터넷 기기(2200)에서는 영상내의 사물의 움직임을 감지하기 위한 메시지를 송신할 수 있고, 또 다른 영상관련 사물인터넷 기기(2200)에서는 영상내의 인물을 식별하기 위한 메시지를 송신할 수도 있다. 따라서 특정 결과를 얻기 위하여 메시지를 처리하는 방식에 따라 메시지의 처리유형이 구분될 수 있다.The message processing type may be classified according to the type of the
한편, 메시지처리모듈(1230)은 메시지분류부(1220)에 의해 분류된 메시지를 처리하며, 상기 메시지처리모듈(1230) 각각은 분류된 메시지의 처리유형 가운데 특정 처리유형을 처리할 수 있다. 예를 들어, 특정 메시지처리모듈(1230)은 메시지에 포함된 센싱된 온도정보를 기설정된 온도와 비교하여 높은 경우 경고정보를 생성하는 처리유형을 수행할 수 있고, 또 다른 특정 메시지처리모듈(1230)은 메시지에 포함된 전력정보에 따라 누적 전력량을 계산하는 처리유형을 수행할 수 있는 것으로 가정하고, 상기 메시지요청부(1210)에서 온도에 대한 경고정보를 생성하기 위한 센싱된 온도정보를 포함하는 메시지 및 누적 전력량을 계산하기 위한 전력정보를 포함하는 메시지를 수신하는 경우, 상기 메시지분류부(1220)는 메시지의 처리유형에 따라 각각의 메시지를 경고정보 및 누적 전력량에 대한 처리유형에 따라 분류하고, 경고정보를 생성하는 메시지처리모듈(1230)에서는 경고정보에 대한 처리유형으로 분류된 메시지를 처리하고, 누적 전력량을 계산하는 메시지처리모듈(1230)에서는 누적 전력량에 대한 처리유형으로 분류된 메시지를 처리할 수 있다.Meanwhile, the
메시지처리모듈관리부(1240)는 상기 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)을 관리하는 역할을 수행한다. 구체적으로 상기 메시지처리모듈관리부(1240)는 상기 메시지분류부(1220)에서 분류하는 메시지의 각각의 처리유형 혹은 각 처리유형 별 메시지의 개수에 따라서 별도의 메시지처리모듈(1230)을 추가로 생성할 수 있다. 또한 상기 메시지처리모듈관리부(1240)는 서비스서버(1000)의 현재 가용한 리소스를 추가적으로 고려하여 별도의 메시지처리모듈(1230)을 추가로 생성할 수 있고, 따라서 상기 메시지처리모듈관리부(1240)를 통해 서비스서버(1000)의 과부하를 발생시키지 않으면서도 효율적으로 메시지를 처리할 수 있는 효과를 발휘 할 수 있고, 상기 메시지처리모듈(1230)은 상기 메시지처리모듈관리부(1240)에 의해 자동적으로 생성될 수 있도록 소프트웨어적으로 구성됨이 바람직하다.The message processing
도 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
구체적으로, 서비스서버(1000)에 포함되는 메시지큐잉모듈(1100)은 사물인터넷 기기(2000)에서 송신하는 복수의 메시지를 수신(S10)한다. 상기 사물인터넷 기기(2000)는 1 이상의 개수로 구비될 수 있고, 각각의 사물인터넷 기기(2000)는 다양한 처리유형을 필요로 하는 다양한 형태의 데이터를 생성하여 상기 메시지큐잉모듈(1100)로 송신할 수 있다.Specifically, the
상기 메시지큐잉모듈(1100)은 사물인터넷 기기(2000)로부터 수신한 복수의 메시지를 보관(S11)한다. 수신한 복수의 메시지의 보관방법에 있어서는 먼저 수신한 순서대로 보관되었다가, 메시지처리클러스터모듈(1200)의 메시지요청에 따라 먼저 수신한 메시지부터 순차적으로 각각의 메시지처리클러스터모듈(1200)로 분배되는 선입선출(First In, First Out) 방식의 일반적으로 사용하는 큐(Queue) 시스템의 방법을 사용할 수 있으며, 이외에도 통상적으로 사용하는 다양한 보관방법을 사용할 수 있다.The
상기 메시지처리클러스터모듈(1200)은 신규로 처리하고자 하는 1 이상의 메시지를 요청하는 메시지요청정보를 도출(S12)하고, 도출된 메시지요청정보를 상기 메시지큐잉모듈(1100)로 송신(S13)한다. 구체적으로, 상기 메시지처리클러스터모듈(1200)의 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)의 메시지 처리량을 고려하여 신규로 처리하고자 하는 1 이상의 메시지를 요청하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈(1100)에 송신한다.The message
상기 메시지요청정보는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)의 현재 처리하는 메시지의 개수 혹은 현재 처리하는 메시지에 대한 부하(리소스) 및 해당 메시지처리클러스터모듈(1200)에서 처리할 수 있는 최대 메시지의 개수 혹은 메시지를 최대로 처리하기 위해 필요한 부하(리소스)에 기초하여 도출될 수 있다.The message request information includes the number of messages currently processed by one or more
상기 메시지처리클러스터모듈(1200)로부터 메시지요청정보를 수신한 메시지큐잉모듈(1100)은 상기 메시지요청정보에 기초하여 1 이상의 메시지를 도출(S14)한다. 예를 들어, 상기 메시지요청정보가 100개의 메시지를 요청하는 경우에 상기 메시지큐잉모듈(1100)은 보관된 메시지 가운데 100개의 메시지를 도출할 수 있다. 또는 상기 메시지요청정보가 70의 요청부하를 포함하는 경우에 상기 메시지큐잉모듈(1100)은 보관된 메시지 가운데 70의 요청부하에 상응하는 메시지의 개수를 도출할 수 있다.Upon receiving the message request information from the message
이와 같이, 상기 메시지큐잉모듈(1100)은 메시지요청정보에 기초하여 도출한 1 이상의 메시지를 해당 메시지요청정보를 송신한 메시지처리클러스터모듈(1200)로 송신(S15)하여 메시지큐잉모듈(1100)에 보관된 메시지가 각각의 메시지처리클러스터모듈(1200)로 분배될 수 있도록 한다.In this way, the
한편, 메시지처리클러스터모듈(1200)의 메시지요청부(1210)는 1 이상의 메시지를 수신하고, 메시지분류부(1220)는 상기 메시지요청부(1210)에서 수신한 1 이상의 메시지 각각을 처리유형에 따라 분류(S16)한다.On the other hand, the
상기 메시지분류부(1220)에 의해 처리유형별로 분류된 1 이상의 메시지들은 각각의 처리유형에 상응하는 메시지처리모듈(1230)에서 소정의 처리방법에 의해 처리(S17)된다. 이와 같이, 메시지처리모듈(1230)에 의해 사물인터넷 기기(2000)에서 송신한 메시지들이 처리될 수 있고, 메시지처리모듈(1230)에서 도출된 메시지의 처리데이터(1420)는 해당 메시지에 대한 서비스를 제공받고자 하는 주체에게 제공되거나 혹은 처리데이터(1420)에 기초하여 별도의 서비스정보를 도출하여 해당 주체에게 제공될 수 있다.One or more messages classified by processing type by the
도 4는 본 발명의 일 실시예에 따른 메시지처리클러스터모듈(1200)에 포함된 메시지요청부(1210)에서의 메시지요청정보를 생성하는 과정을 개략적으로 도시한다.4 schematically illustrates a process of generating message request information in the
도 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
구체적으로, 상기 메시지요청단계를 수행하는 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)에서 현재 처리하는 메시지에 대한 부하 및 해당 메시지처리클러스터모듈(1200)에서 최대의 메시지를 처리하기 위한 부하에 기초하여 신규로 처리하기 위한 메시지에 대한 요청부하를 포함하는 메시지요청정보를 도출한다.Specifically, the
상기 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230) 각각으로부터 현재 처리하는 메시지에 대한 부하에 대한 정보를 수신하여 해당 메시지처리클러스터모듈(1200) 전체의 현재 처리하는 메시지에 대한 부하에 대한 정보를 도출하거나, 해당 메시지처리클러스터모듈(1200) 혹은 서비스서버(1000)로부터 해당 메시지처리클러스터모듈(1200) 전체의 현재 처리하는 메시지에 대한 부하에 대한 정보를 직접적으로 수신할 수도 있다.The
한편, 상기 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에 포함된 1 이상의 메시지처리모듈(1230)의 개수에 기초하여 최대의 메시지를 처리하기 위한 부하에 대한 정보를 산출하거나, 해당 메시지처리클러스터모듈(1200) 혹은 서비스서버(1000)로부터 해당 메시지처리클러스터모듈(1200)에서 최대의 메시지를 처리하기 위한 부하에 대한 정보를 직접적으로 수신할 수도 있다.On the other hand, the
이후, 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에서 현재 처리하는 메시지에 대한 부하 및 최대의 메시지를 처리하기 위한 부하에 기초하여 요청부하를 포함하는 메시지요청정보를 도출한다.Thereafter, the
구체적으로, 요청부하는 메시지처리클러스터모듈(1200)에서 신규로 메시지를 처리하기 위한 부하(리소스)에 해당하고, 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에서의 처리 가능한 최대 메시지에 대한 부하 및 해당 메시지처리클러스터모듈(1200)에서의 현재 처리하는 메시지에 대한 부하의 차이에 기초하여 상기 요청부하를 도출할 수 있다.Specifically, the request load corresponds to a load (resource) for processing a new message in the message
바람직하게는, 메시지요청부(1210)는 해당 메시지처리클러스터모듈(1200)에서의 처리 가능한 최대 메시지에 대한 부하 및 해당 메시지처리클러스터모듈(1200)에서의 현재 처리하는 메시지에 대한 부하의 차이뿐만 아니라 서비스서버(1000)에서의 가용 가능한 부하(리소스)를 더 고려하여 요청부하를 도출할 수 있다. 예를 들어, 상기 차이가 상기 서비스서버(1000)에서의 가용 가능한 부하보다 큰 경우에 상기 메시지요청부(1210)는 상기 가용 가능한 부하 이내에서 상기 요청부하를 도출할 수 있다.Preferably, the
본 발명의 다른 실시예에서는, 서비스서버(1000)는 사물인터넷 기기(2000)로부터의 메시지를 처리하는 것뿐만 아니라, 타 어플리케이션으로부터 수신한 데이터 처리 등 다양한 연산을 수행할 수 있으므로, 상기 메시지요청부(1210)는 서비스서버(1000)에서 해당 메시지처리클러스터모듈(1200)에 추가적으로 할당할 수 있는 부하(리소스)를 더 고려하여 상기 요청부하를 도출할 수도 있다. 따라서 서비스서버(1000)에서 제공하는 타 서비스의 기능을 저해하지 않으면서 사물인터넷 기기(2000)에서 생성된 메시지를 처리할 수 있는 효과를 발휘할 수 있다.In another embodiment of the present invention, since the
메시지큐잉모듈(1100)은 메시지요청부(1210)로부터 요청부하를 포함하는 메시지요청정보를 수신하여, 요청부하에 따른 메시지의 개수를 산출하여 산출된 1 이상의 메시지를 해당 메시지처리클러스터모듈(1200)로 분배할 수 있고, 요청부하에 따른 메시지의 개수를 산출하는 방법들은 도 5에서 후술하도록 한다.The
한편, 상기 메시지요청부(1210)에서 메시지요청정보를 도출하기 위한 본 발명의 다른 실시예로서, 상기 메시지요청단계는, 상기 1 이상의 메시지처리모듈(1230)에서 현재 처리하는 메시지의 개수 및 상기 메시지처리클러스터모듈(1200)에서 처리 가능한 최대 메시지의 개수에 기초하여 도출된 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출할 수 있다.On the other hand, as another embodiment of the present invention for deriving message request information from the
구체적으로, 상기 메시지요청부(1210)에서는 상술한 바와 같이 메시지처리클러스터모듈(1200)에서의 부하에 따라 메시지요청정보를 도출하는 방법 이외에도 메시지처리클러스터모듈(1200)에서 현재 처리하는 메시지의 개수 및 처리 가능한 메시지의 개수에 기초하여 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출할 수 있다.Specifically, in the
상기 신규로 처리하기 위한 메시지의 개수는 메시지처리클러스터모듈(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
이와 같이, 상기 메시지요청부(1210)에서 해당 메시지처리클러스터모듈(1200)에서 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출하여 상기 메시지큐잉모듈(1100)로 송신하는 경우, 상기 메시지큐잉모듈(1100)은 보관된 메시지 중 메시지요청정보에 포함된 메시지의 개수만큼을 해당 메시지처리클러스터모듈(1200)로 분배할 수 있으므로, 상기 메시지큐잉모듈(1100)에서 복잡한 연산을 수행하지 않더라도 메시지를 분배할 수 있는 효과를 발휘할 수 있다.In this way, when the
도 5는 본 발명의 일 실시예에 따른 메시지큐잉모듈(1100)에서 매핑테이블(1410)을 사용하여 보관된 메시지를 분배하는 과정을 개략적으로 도시한다.5 schematically illustrates a process of distributing a stored message using the mapping table 1410 in the
도 5에 도시된 바와 같이, 각각의 상기 메시지처리모듈(1230)은 2 이상의 상이한 프로세스를 처리할 수 있고, 상기 서비스서버(1000)에는, 상기 복수의 사물인터넷 기기(2000)로부터 수신하는 각각의 메시지의 처리유형에 따른 부하 사용값을 포함하는 매핑테이블(1410)이 저장되어 있고, 상기 메시지분배단계는, 상기 요청부하 및 상기 매핑테이블(1410)에 기초하여 해당 메시지처리클러스터모듈(1200)에 송신할 1 이상의 메시지를 도출하여 상기 메시지처리클러스터모듈(1200)로 송신할 수 있다.As shown in FIG. 5 , each of the
구체적으로, 도 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
상기 매핑테이블(1410)은 서비스서버(1000)의 DB(1400)에 저장되어 있고, 상기 매핑테이블(1410)에는 각각의 메시지의 처리유형이 설정되어 있고, 각각의 메시지의 처리유형별로 처리에 필요한 부하 사용값이 매핑되어 있다.The mapping table 1410 is stored in the
예를 들어, 온도센서에서 생성되는 센싱 시점에서의 온도정보를 포함하는 메시지에 기초하여 해당 온도정보가 기설정된 온도정보보다 높은 경우에 경고정보를 생성하는 일련의 처리유형을 처리하기 위한 부하 사용값은 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
구체적으로, 상기 메시지큐잉모듈(1100)은 보관된 복수의 메시지에서 해당 메시지처리클러스터모듈(1200)로 송신할 1 이상의 메시지 각각의 부하 사용값의 합이 상기 요청부하에 상응하도록 상기 매핑테이블(1410)을 사용하여 상기 1 이상의 메시지를 도출할 수 있다.Specifically, the
예를 들어, 도 5의 (A)에 도시된 메시지의 처리유형과 같이 상기 메시지큐잉모듈(1100)에 순차적으로 보관된 복수의 메시지 각각의 처리유형이 '온도센서의 메시지에 대한 처리유형', '조도센서의 메시지에 대한 처리유형', '온도센서의 메시지에 대한 처리유형' 및 '전력센서의 메시지에 대한 처리유형'이라고 가정한다.For example, the processing type of each of the plurality of messages sequentially stored in the
한편, 메시지큐잉모듈(1100)이 메시지요청부(1210)로부터 40의 요청부하를 포함하는 메시지요청정보를 수신하는 경우, 메시지큐잉모듈(1100)은 매핑테이블(1410)을 통해 총 부하 사용값이 요청부하에 해당하는 40을 초과하지 않으면서 40에 가장 근접한 총 부하 사용값을 갖는 메시지를 산출할 수 있다.On the other hand, when the
따라서, 도 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
반면에 상술한 가정과 동일하나, 메시지큐잉모듈(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
본 발명의 다른 실시예에서 상기 메시지큐잉모듈(1100)에서 보관된 메시지를 순서에 관계없이 임의대로 도출하여 분배할 수 있는 경우에는 상기 요청부하 값에 가장 근접한 1 이상의 메시지를 보관 순서에 상관없이 도출하여 해당 메시지처리클러스터모듈(1200)로 송신할 수도 있다.In another embodiment of the present invention, when the messages stored in the
이와 같이, 메시지요청부(1210)에서 1 이상의 메시지처리모듈(1230)에서의 부하(리소스)의 관점에서 요청부하를 포함하는 메시지요청정보를 도출하고, 상기 메시지큐잉모듈(1100)에서 상기 요청부하에 따라 보관된 메시지 중 1 이상의 메시지를 도출하여 해당 메시지처리클러스터모듈(1200)로 도출된 1 이상의 메시지를 송신할 수 있으므로, 더욱더 서비스서버(1000)의 리소스를 효율적으로 활용할 수 있는 효과를 발휘할 수 있다.In this way, the
한편, 상기 메시지요청부(1210)에서 수행하는 메시지요청단계는 기설정된 주기에 따라 상기 메시지요청정보를 도출하거나, 혹은 상기 메시지요청부(1210)는 이전에 도출한 메시지요청정보에 따라 상기 메시지큐잉모듈(1100)로부터 1 이상의 메시지를 수신할 때마다 상기 메시지요청단계를 수행하여 상기 메시지요청정보를 도출할 수 있다.Meanwhile, the message requesting step performed by the
바람직하게는 기설정된 주기에 따라 상기 메시지요청정보를 도출하는 구성 및 이전에 도출한 메시지요청정보에 따른 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
도 6은 본 발명의 일 실시예에 따른 메시지처리단계에서 별도의 메시지처리모듈(1230)을 생성하는 메시지처리모듈생성단계를 개략적으로 도시한다.6 schematically illustrates a message processing module generation step of generating a separate
도 6에 도시된 바와 같이, 상기 메시지처리단계는, 상기 분류된 메시지의 처리유형에 상응하는 메시지처리모듈(1230)이 상기 메시지처리클러스터모듈(1200)에 포함되지 않는 경우, 해당 처리유형에 상응하는 별도의 메시지처리모듈(1230)을 생성하는 메시지처리모듈생성단계;를 포함할 수 있다.As shown in FIG. 6 , the message processing step corresponds to the processing type when the
구체적으로, 메시지분류부(1220)에 의해 메시지큐잉모듈(1100)로부터 수신한 1 이상의 메시지 각각은 메시지의 처리유형에 따라 분류되고, 메시지처리모듈관리부(1240)는 분류된 메시지의 처리유형에 상응하는 메시지처리모듈(1230)이 해당 메시지처리클러스터모듈(1200)에 포함되어 있는지 여부를 판별(S20)한다.Specifically, each of the one or more messages received from the
상기 단계(S20)를 통해 분류된 처리유형에 상응하는 메시지처리모듈(1230)이 포함되어 있는 경우, 해당 메시지처리모듈(1230)에서 해당 처리유형으로 분류된 메시지가 처리된다.When the
한편, 분류된 처리유형에 상응하는 메시지처리모듈(1230)이 포함되어 있지 않은 경우, 상기 메시지처리모듈관리부(1240)는 해당 처리유형에 상응하는 별도의 메시지처리모듈(1230)을 생성(S21)한다.On the other hand, if the
본 발명의 다른 실시예에서는, 상기 메시지처리모듈관리부(1240)는 분류된 처리유형에 상응하는 메시지처리모듈(1230)이 존재하지 않는 경우 외에도, 특정 처리유형으로 분류된 메시지가 기설된 개수를 초과하거나 혹은 해당 처리유형에 상응하는 메시지처리모듈(1230)의 최대 처리 개수보다 많은 경우에 추가적으로 해당 처리유형에 상응하는 메시지처리모듈(1230)을 생성하여, 분류된 메시지를 보다 신속하게 처리할 수도 있다.In another embodiment of the present invention, the message processing
한편, 메시지처리모듈관리부(1240)에서 생성하는 메시지처리모듈(1230)의 개수는 기설정된 최대 개수만큼만 생성되거나 혹은 서비스서버(1000)의 가용 가능한 부하(리소스)를 고려하여 생성될 수 있는 최대 개수가 결정될 수 있다. 또한, 메시지처리모듈관리부(1240)는 해당 메시지처리클러스터모듈(1200)에 포함된 메시지처리모듈(1230) 중 기설정된 주기동안 메시지를 처리하지 않는 메시지처리모듈(1230)에 대해서는 제거하거나 혹은 타 처리유형에 상응하는 메시지처리모듈(1230)로 변경될 수도 있다. 따라서, 상기 메시지처리모듈관리부(1240)를 통해 메시지처리클러스터모듈(1200)은 능동적으로 분배된 1 이상의 메시지의 처리에 대응할 수 있는 효과를 발휘할 수 있다.On the other hand, the number of
도 7은 본 발명의 일 실시예에 따른 클러스터관리모듈(1300)에서 별도의 메시지처리클러스터모듈(1200)을 생성하기 위한 단계들을 개략적으로 도시한다.7 schematically shows steps for creating a separate message
도 7의 (A)는 본 발명의 일 실시예에 따른 메시지큐잉모듈(1100)에서 사물인터넷 기기(2000)로부터 수신한 메시지를 보관하는 구성을 도시한 도면에 해당한다.FIG. 7A is a diagram illustrating a configuration of storing a message received from the
구체적으로, 도 7의 (A)에 도시된 메시지큐잉모듈(1100)은 선입선출 방식의 큐 시스템에 해당하고, 사물인터넷 기기(2000)로부터 순차적으로 수신한 메시지 M #1, M #2 및 M #N이 순차적으로 보관되어 있고, 메시지요청정보에 따라 보관된 메시지 중 1 이상의 메시지를 분배하는 경우, 가장 먼저 보관된 순서대로 1 이상의 메시지가 분배될 수 있다.Specifically, the
한편, 본 발명의 다른 실시예에서는 사물인터넷 기기(2000)로부터 수신한 메시지를 보관하고, 보관된 순서에 상관없이 1 이상의 메시지를 메시지처리클러스터모듈(1200)로 분배할 수도 있다.Meanwhile, in another embodiment of the present invention, messages received from the
도 7의 (B)는 클러스터관리모듈(1300)에서 별도의 메시지처리클러스터모듈(1200)을 생성하는 방법의 일 실시예를 도시한 도면이다.FIG. 7B is a diagram illustrating an embodiment of a method for generating a separate message
도 7의 (B)에 도시된 바와 같이, 상기 서비스서버(1000)는, 상기 메시지큐잉모듈(1100)에 보관된 복수의 메시지의 개수가 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈(1200)을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈(1300)을 더 포함할 수 있다.As shown in (B) of Figure 7, the
구체적으로, 클러스터관리모듈(1300)은 메시지큐잉모듈(1100)에 보관된 메시지의 개수가 기설정된 임계값을 초과하는지 판별(S30)한다. 한편, 상기 클러스터관리모듈(1300)은 상기 메시지큐잉모듈(1100)에 보관된 메시지의 개수에 대한 정보를 직접 도출하거나 혹은 상기 메시지큐잉모듈(1100)로부터 수신할 수 있다.Specifically, the
한편, 메시지큐잉모듈(1100)에 보관된 메시지의 개수가 기설정된 임계값을 초과하는 것으로 판별되는 경우에, 상기 클러스터관리모듈(1300)은 별도의 메시지처리클러스터모듈(1200)을 생성(S31)한다.On the other hand, when it is determined that the number of messages stored in the
본 발명의 다른 실시예에서 상기 클러스터관리모듈(1300)은 별도의 메시지처리클러스터모듈(1200)을 생성한 이후에 메시지큐잉모듈(1100)에 보관된 메시지의 개수가 임계값 미만으로 감소되는 경우에 추가로 생성된 메시지처리클러스터모듈(1200)을 제거할 수도 있다.In another embodiment of the present invention, when the number of messages stored in the
따라서, 상기 클러스터관리모듈(1300)에 의해 상기 메시지큐잉모듈(1100)에 보관된 메시지의 개수에 따라 유동적으로 메시지처리클러스터모듈(1200)이 생성될 수 있으므로, 서비스서버(1000)의 과부하를 유발하지 않으면서 메시지를 효율적으로 처리할 수 있는 효과를 발휘할 수 있다. Accordingly, since the message
도 7의 (C)는 클러스터관리모듈(1300)에서 별도의 메시지처리클러스터모듈(1200)을 생성하는 방법의 다른 실시예를 도시한 도면이다.FIG. 7C is a diagram illustrating another embodiment of a method for generating a separate message
도 7의 (C)에 도시된 바와 같이, 상기 서비스서버(1000)는, 기설정된 시간동안의 상기 메시지큐잉모듈(1100)에 보관된 메시지의 개수에 증가량을 산출하고, 상기 증가량이 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈(1200)을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈(1300)을 더 포함할 수 있다.As shown in (C) of FIG. 7, the
구체적으로, 클러스터관리모듈(1300)은 기설정된 시간동안 메시지큐잉모듈(1100)에 보관된 메시지의 개수의 증가량을 산출(S40)한다. 한편, 상기 클러스터관리모듈(1300)은 상기 메시지큐잉모듈(1100)에 보관된 메시지의 개수에 대한 시간대별 정보를 직접 도출하거나 혹은 상기 메시지큐잉모듈(1100)로부터 수신할 수 있다.Specifically, the
이후 클러스터관리모듈(1300)은 산출한 기설정된 시간동안의 증가량이 별도로 기설정된 임계값을 초과하는지 판별(S41)하고, 상기 증가량이 기설정된 임계값을 초과하는 것으로 판별되는 경우에, 상기 클러스터관리모듈(1300)은 별도의 메시지처리클러스터모듈(1200)을 생성(S42)한다.Thereafter, the
본 발명의 다른 실시예에서 상기 클러스터관리모듈(1300)은 상기 증가량에 따라 별도의 메시지처리클러스터모듈(1200)을 생성한 이후에 메시지큐잉모듈(1100)에 보관된 메시지의 개수의 기설정된 시간동안의 증가량이 상기 임계값 미만으로 감소되는 경우에 추가로 생성된 메시지처리클러스터모듈(1200)을 제거할 수도 있다.In another embodiment of the present invention, the
한편, 본 발명의 또 다른 실시예에서 상기 클러스터관리모듈(1300)은 상술한 도 7의 (B)에 도시된 클러스터관리모듈(1300)에서의 별도의 메시지처리클러스터모듈(1200)을 생성하는 방법 및 상술한 도 7의 (C)에 도시된 클러스터관리모듈(1300)에서의 별도의 메시지처리클러스터모듈(1200)을 생성하는 방법을 결합하여 사용할 수도 있다.Meanwhile, in another embodiment of the present invention, the
예를 들어, 상기 클러스터관리모듈(1300)은 메시지큐잉모듈(1100)에 보관된 메시지의 총 개수가 제1임계값을 초과하고, 해당 제1임계값을 초과한 메시지의 총 개수의 증가량이 제2임계값을 초과하는 경우에 별도의 메시지처리클러스터 모듈을 생성할 수도 있으며, 이와 같은 구성을 통해 상기 클러스터관리모듈(1300)은 더욱 엄격한 조건을 충족하는 경우에 별도의 메시지처리클러스터모듈(1200)을 생성할 수 있으므로, 서비스서버(1000)의 자원을 더욱 효율적으로 사용할 수 있는 효과를 발휘할 수 있다.For example, the
또한, 본 발명의 일 실시예에서는 1차적으로는 메시지큐잉모듈(1100)에 보관되는 메시지의 개수 혹은 증가량에 따라 별도의 메시지처리클러스터모듈(1200)을 생성하고, 도 6에서 설명한 바와 같이, 2차적으로는 메시지처리클러스터모듈(1200)에 포함된 메시지처리모듈관리부(1240)에 의해 분배 받은 메시지의 개수 혹은 메시지의 처리유형에 따라 별도의 메시지처리모듈(1230)을 생성하므로, 수신하는 메시지에 따라 더욱 유동적으로 메시지를 처리할 수 있는 효과를 발휘할 수 있다.In addition, in an embodiment of the present invention, a separate message
도 8은 본 발명의 일 실시예에 따른 메시지 처리유형에 따른 메시지처리모듈(1230)의 메시지 처리 과정들을 개략적으로 도시한다.8 schematically illustrates message processing processes of the
도 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
해당 메시지의 처리유형에 상응하는 메시지처리모듈(1230)은 메시지처리단계를 통해 온도센서를 기반으로 하는 사물인터넷 기기에서 생성된 메시지를 입력 받는 단계(S50)를 수행한다.The
이후, 해당 메시지처리모듈(1230)은 해당 사물인터넷 기기에서 최근 1시간 동안 송신한 메시지들에 기초하여 평균온도정보를 계산하는 단계(S51)를 수행한다. 해당 사물인터넷 기기에서 과거에 송신한 메시지 혹은 해당 메시지에 대한 처리데이터는 서비스서버(1000)의 DB(1400)에 저장되어 있고, 해당 메시지처리모듈(1230)에 의해 호출될 수 있다.Thereafter, the corresponding
단계 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
도 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
해당 메시지의 처리유형에 상응하는 메시지처리모듈(1230)은 메시지처리단계를 통해 조도센서를 기반으로 하는 사물인터넷 기기에서 생성된 메시지를 입력 받는 단계(S60)를 수행한다.The
이후, 입력 받은 메시지에 포함된 시간정보에 따라 분류하고, 분류된 시간정보에 따른 조도값 정보를 저장하는 단계(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
한편, 상기 메시지처리모듈(1230)은 DB(1400)에 저장된 복수의 시간정보에 따른 조도값 정보를 학습하는 단계(S62)를 수행한다. 해당 학습을 통해 상기 조도센서를 기반으로 하는 사물인터넷 기기를 사용하는 공간의 적정 조도값을 결과로 하는 결과정보를 도출할 수 있고, 상기 메시지처리모듈(1230)은 도출된 결과정보를 저장하는 단계(S63)를 수행한다.On the other hand, the
이와 같이 상기 메시지처리모듈(1230)에 의해 저장된 결과정보는 해당 사물인터넷 기기로부터 서비스를 제공받고자 하는 주체에게 제공될 수 있다.As described above, the result information stored by the
도 8의 (A) 및 (B)는 각각의 메시지의 처리유형에 상응하는 메시지처리모듈(1230)에서 수행하는 메시지 처리 방법에 대한 실시예를 도시한 도면에 해당할 뿐, 메시지의 처리유형 혹은 메시지 처리 방법이 이에 한정되지 않는다. 또한, 특정 사물인터넷 기기에서 생성된 메시지의 처리유형은 하나의 처리유형에 국한되지 않고, 동일한 사물인터넷 기기에서 생성된 메시지라 할지라도 다양한 처리유형으로 분류될 수도 있다.8(A) and (B) only correspond to diagrams showing an embodiment of a message processing method performed by the
도 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
도 9에 도시된 바와 같이, 컴퓨팅장치(11000)는 적어도 하나의 프로세서(processor)(11100), 메모리(memory)(11200), 주변장치 인터페이스(peripheral interface)(11300), 입/출력 서브시스템(I/Osubsystem)(11400), 전력 회로(11500) 및 통신 회로(11600)를 적어도 포함할 수 있다. 이때, 컴퓨팅장치(11000)는 도 1에 도시된 서비스서버(1000)에 해당될 수 있다.9, the
메모리(11200)는, 일례로 고속 랜덤 액세스 메모리(high-speed random access memory), 자기 디스크, 에스램(SRAM), 디램(DRAM), 롬(ROM), 플래시 메모리 또는 비휘발성 메모리를 포함할 수 있다. 메모리(11200)는 컴퓨팅장치(11000)의 동작에 필요한 소프트웨어 모듈, 명령어 집합 또는 그밖에 다양한 데이터를 포함할 수 있다.The
이때, 프로세서(11100)나 주변장치 인터페이스(11300) 등의 다른 컴포넌트에서 메모리(11200)에 액세스하는 것은 프로세서(11100)에 의해 제어될 수 있다.In this case, access to the
주변장치 인터페이스(11300)는 컴퓨팅장치(11000)의 입력 및/또는 출력 주변장치를 프로세서(11100) 및 메모리 (11200)에 결합시킬 수 있다. 프로세서(11100)는 메모리(11200)에 저장된 소프트웨어 모듈 또는 명령어 집합을 실행하여 컴퓨팅장치(11000)을 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
입/출력 서브시스템은 다양한 입/출력 주변장치들을 주변장치 인터페이스(11300)에 결합시킬 수 있다. 예를 들어, 입/출력 서브시스템은 모니터나 키보드, 마우스, 프린터 또는 필요에 따라 터치스크린이나 센서 등의 주변장치를 주변장치 인터페이스(11300)에 결합시키기 위한 컨트롤러를 포함할 수 있다. 다른 측면에 따르면, 입/출력 주변장치들은 입/출력 서브시스템을 거치지 않고 주변장치 인터페이스(11300)에 결합될 수도 있다.The input/output subsystem may couple various input/output peripherals to the
전력 회로(11500)는 단말기의 컴포넌트의 전부 또는 일부로 전력을 공급할 수 있다. 예를 들어 전력 회로(11500)는 전력 관리 시스템, 배터리나 교류(AC) 등과 같은 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기나 인버터, 전력 상태 표시자 또는 전력 생성, 관리, 분배를 위한 임의의 다른 컴포넌트들을 포함할 수 있다.The
통신 회로(11600)는 적어도 하나의 외부 포트를 이용하여 다른 컴퓨팅장치와 통신을 가능하게 할 수 있다.The
또는 상술한 바와 같이 필요에 따라 통신 회로(11600)는 RF 회로를 포함하여 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신함으로써, 다른 컴퓨팅장치와 통신을 가능하게 할 수도 있다.Alternatively, as described above, if necessary, the
이러한 도 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
본 발명의 실시예에 따른 방법들은 다양한 컴퓨팅장치를 통하여 수행될 수 있는 프로그램 명령(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 이상의 메시지처리모듈에서 현재 처리하는 메시지의 개수 및 상기 메시지처리클러스터모듈에서 처리 가능한 최대 메시지의 개수에 기초하여 도출된 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출하는, 사물인터넷 환경에서의 메시지 처리 방법.
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.
상기 서비스서버는 메시지큐잉모듈 및 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 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하고,
상기 메시지처리단계는,
상기 분류된 메시지의 처리유형에 상응하는 메시지처리모듈이 상기 메시지처리클러스터모듈에 포함되지 않는 경우, 해당 처리유형에 상응하는 별도의 메시지처리모듈을 생성하는 메시지처리모듈생성단계;를 포함하는, 사물인터넷 환경에서의 메시지 처리 방법.
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 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하고,
상기 서비스서버는,
상기 메시지큐잉모듈에 보관된 복수의 메시지의 개수가 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈을 더 포함하는, 사물인터넷 환경에서의 메시지 처리 방법.
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 이상의 메시지를 메시지 처리유형에 따라 분류하고, 분류된 메시지를 처리유형에 상응하는 메시지처리모듈에서 처리하는 메시지처리단계;를 포함하고,
상기 서비스서버는,
기설정된 시간동안의 상기 메시지큐잉모듈에 보관된 메시지의 개수의 증가량을 산출하고, 상기 증가량이 임계값을 초과하는 경우, 별도의 메시지처리클러스터모듈을 생성하는 클러스터생성단계;를 수행하는 클러스터관리모듈을 더 포함하는, 사물인터넷 환경에서의 메시지 처리 방법.
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 이상의 메시지처리모듈에서 현재 처리하는 메시지의 개수 및 상기 메시지처리클러스터모듈에서 처리 가능한 최대 메시지의 개수에 기초하여 도출된 신규로 처리하기 위한 메시지의 개수를 포함하는 메시지요청정보를 도출하는, 사물인터넷 환경에서의 메시지 처리 시스템.
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.
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.
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)
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 |
-
2020
- 2020-04-24 KR KR1020200050124A patent/KR102261042B1/en active IP Right Grant
Patent Citations (2)
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 |