KR102456900B1 - Data analysis system based on edge computing and method thereof - Google Patents

Data analysis system based on edge computing and method thereof Download PDF

Info

Publication number
KR102456900B1
KR102456900B1 KR1020180126929A KR20180126929A KR102456900B1 KR 102456900 B1 KR102456900 B1 KR 102456900B1 KR 1020180126929 A KR1020180126929 A KR 1020180126929A KR 20180126929 A KR20180126929 A KR 20180126929A KR 102456900 B1 KR102456900 B1 KR 102456900B1
Authority
KR
South Korea
Prior art keywords
analysis model
edge
update
data
server
Prior art date
Application number
KR1020180126929A
Other languages
Korean (ko)
Other versions
KR20200052403A (en
Inventor
이규열
최효근
이태훈
임선열
Original Assignee
삼성에스디에스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성에스디에스 주식회사 filed Critical 삼성에스디에스 주식회사
Priority to KR1020180126929A priority Critical patent/KR102456900B1/en
Publication of KR20200052403A publication Critical patent/KR20200052403A/en
Application granted granted Critical
Publication of KR102456900B1 publication Critical patent/KR102456900B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

에지 컴퓨팅 기반 데이터 분석 시스템이 제공된다. 상기 데이터 분석 시스템은 복수의 그룹을 형성하는 복수의 단말 기기 중 적어도 일부로부터 수집된 데이터를 기초로 업데이트용 분석 모델을 생성하고 배포하는 서버 및 상기 복수의 단말 기기 중 적어도 일부와 연결되고, 상기 서버로부터 상기 업데이트용 분석 모델을 수신함에 응답하여, 기존 분석 모델과 상기 업데이트용 분석 모델에 대한 성능 평가를 수행하며, 상기 성능 평가 결과에 기초하여 상기 기존 분석 모델에 대한 업데이트 수행 여부를 결정하는 복수의 에지 장치를 포함할 수 있다. 이때, 상기 서버는, 상기 복수의 에지 장치의 분석 모델 업데이트 수행 결과에 기초하여, 상기 복수의 단말 기기 중 적어도 일부의 소속 그룹을 조정할 수 있다An edge computing based data analysis system is provided. The data analysis system is connected to a server for generating and distributing an analysis model for update based on data collected from at least some of a plurality of terminal devices forming a plurality of groups, and at least some of the plurality of terminal devices, the server In response to receiving the update analysis model from Edge devices may be included. In this case, the server may adjust a group belonging to at least some of the plurality of terminal devices based on a result of performing the update of the analysis model of the plurality of edge devices.

Description

에지 컴퓨팅 기반 데이터 분석 시스템 및 그 방법{DATA ANALYSIS SYSTEM BASED ON EDGE COMPUTING AND METHOD THEREOF}DATA ANALYSIS SYSTEM BASED ON EDGE COMPUTING AND METHOD THEREOF

본 발명은 에지 컴퓨팅 기반 데이터 분석 시스템 및 그 방법에 관한 것이다. 보다 자세하게는, 분석 모델을 생성하고 배포하는 서버와 배포된 분석 모델을 이용하여 연결된 단말 기기의 데이터를 분석하는 에지 장치를 포함하는 데이터 분석 시스템 및 그 시스템에서 수행되는 방법에 관한 것이다.The present invention relates to an edge computing-based data analysis system and a method therefor. More particularly, it relates to a data analysis system including a server for generating and distributing an analysis model, and an edge device for analyzing data of a connected terminal device using the distributed analysis model, and a method performed in the system.

사물 인터넷(Internet of Things; IoT) 기술이 보편화됨에 따라 다양한 환경에 IoT 플랫폼이 구축되고 있다. 가령, 스마트 홈, 스마트 빌딩, 스마트 시티 등을 구현하기 위해 홈, 빌딩 등의 환경에 IoT 플랫폼이 구축될 수 있다.As the Internet of Things (IoT) technology becomes common, IoT platforms are being built in various environments. For example, an IoT platform may be built in an environment such as a home or a building to implement a smart home, a smart building, a smart city, and the like.

종래의 IoT 플랫폼은 IoT 기기, 다수의 IoT 기기를 인터넷과 연결해주는 IoT 게이트웨이, IoT 기기로부터 수집된 센서 데이터를 분석하여 IoT 기기에 대한 전반적인 관리 및 제어를 수행하는 서버로 구성된다. 통상적으로, 서버는 동일한 종류의 IoT 기기에 대해 동일한 분석 모델을 이용하여 분석을 수행한다. 가령, 스마트 빌딩에서 서버가 다수의 에어컨을 제어하는 경우, 서버는 에어컨의 설치 위치 등에 관계없이 각 에어컨으로부터 수집된 센서 데이터를 하나의 분석 모델을 이용하여 분석하고, 분석 결과를 기초로 다수의 에어컨을 각각 제어한다.The conventional IoT platform consists of an IoT device, an IoT gateway that connects multiple IoT devices to the Internet, and a server that analyzes sensor data collected from the IoT device to perform overall management and control of the IoT device. Typically, the server performs analysis using the same analysis model for the same type of IoT device. For example, when a server controls a plurality of air conditioners in a smart building, the server analyzes sensor data collected from each air conditioner using one analysis model regardless of the installation location of the air conditioners, and based on the analysis results, the server analyzes the plurality of air conditioners. control each.

그러나, 위와 같은 종래의 IoT 플랫폼의 경우 몇 가지 문제점이 존재한다.However, in the case of the conventional IoT platform as described above, several problems exist.

먼저, IoT 기기의 센서 데이터가 IoT 게이트웨이를 거쳐 서버에 도달할 때까지 데이터 분석이 지연되기 때문에, IoT 기기에 대한 즉각적인 제어가 이루어지기 어렵다는 문제가 있다.First, since the data analysis is delayed until the sensor data of the IoT device reaches the server through the IoT gateway, there is a problem in that it is difficult to immediately control the IoT device.

또한, 동일한 종류의 IoT 기기에 대해 하나의 분석 모델이 일괄 적용되기 때문에, 분석 결과의 정확도가 떨어진다는 문제가 있다. 가령, 분석 모델이 IoT 기기의 이상 여부를 예측하는 모델이라고 가정해보면, 동일한 종류의 IoT 기기(e.g. 에어컨)라고 하더라도, 제조사(e.g. 삼성 에어컨, LG 에어컨) 또는 기기 모델에 따라 정상과 이상을 판단하는 기준이 달라질 수 있다. 또는, 제조사까지 동일한 IoT 기기라 하더라도, 주변 환경의 영향으로 인해 설치 위치에 따라 정상과 이상을 판단하는 기준이 달라질 수 있다. 따라서, 동일한 종류의 IoT 기기라고 하더라도 다수의 IoT 기기로부터 수집된 데이터를 하나의 분석 모델을 통해 분석하면, 분석 결과의 정확도는 떨어질 수 밖에 없다.In addition, since one analysis model is collectively applied to the same type of IoT device, there is a problem in that the accuracy of the analysis result is lowered. For example, assuming that the analysis model is a model that predicts whether an IoT device is abnormal, even if it is the same type of IoT device (e.g. air conditioner), it is possible to judge normal and abnormal according to the manufacturer (e.g. Samsung air conditioner, LG air conditioner) or device model. Standards may vary. Alternatively, even for the same IoT device up to the manufacturer, the criteria for judging normality and abnormality may vary depending on the installation location due to the influence of the surrounding environment. Therefore, even for the same type of IoT device, if data collected from a plurality of IoT devices is analyzed through one analysis model, the accuracy of the analysis result is inevitably reduced.

한국공개특허 제10-2017-0112467호 (2017.10.12 공개)Korean Patent Publication No. 10-2017-0112467 (published on October 12, 2017)

본 발명의 실시예를 통해 해결하고자 하는 기술적 과제는, 분석 모델에 대한 점진적 업데이트 기능이 구비된 데이터 분석 시스템 및 그 시스템에서 수행되는 방법을 제공하는 것이다.A technical problem to be solved through embodiments of the present invention is to provide a data analysis system having a gradual update function for an analysis model and a method performed in the system.

본 발명의 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 복수의 단말 기기의 대한 그룹 조정 기능을 지원하는 데이터 분석 시스템 및 그 시스템에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through an embodiment of the present invention is to provide a data analysis system supporting a group adjustment function for a plurality of terminal devices and a method performed in the system.

본 발명의 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, IoT 환경에서 대용량의 IoT 데이터에 대한 효율적이고 정확한 분석을 수행할 수 있는 데이터 분석 시스템 및 그 시스템에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through the embodiments of the present invention is to provide a data analysis system capable of efficiently and accurately analyzing a large amount of IoT data in an IoT environment and a method performed in the system.

본 발명의 실시예를 통해 해결하고자 하는 다른 기술적 과제는, 특정 단말 기기에 특화된 분석 모델을 자동으로 생성하고 배포하는 서버 및 그 서버에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through an embodiment of the present invention is to provide a server for automatically generating and distributing an analysis model specialized for a specific terminal device, and a method performed by the server.

본 발명의 실시예를 통해 해결하고자 하는 또 다른 기술적 과제는, 연결된 단말 기기에 적합한 최적의 분석 모델로 업데이트를 수행하는 에지 장치 및 그 에지 장치에서 수행되는 방법을 제공하는 것이다.Another technical problem to be solved through embodiments of the present invention is to provide an edge device for performing an update to an optimal analysis model suitable for a connected terminal device, and a method performed by the edge device.

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

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 에지 컴퓨팅 기반 데이터 분석 시스템은 복수의 그룹을 형성하는 복수의 단말 기기 중 적어도 일부로부터 수집된 데이터를 기초로 업데이트용 분석 모델을 생성하고 배포하는 서버 및 상기 복수의 단말 기기 중 적어도 일부와 연결되고, 상기 서버로부터 상기 업데이트용 분석 모델을 수신함에 응답하여, 기존 분석 모델과 상기 업데이트용 분석 모델에 대한 성능 평가를 수행하며, 상기 성능 평가 결과에 기초하여 상기 기존 분석 모델에 대한 업데이트 수행 여부를 결정하는 복수의 에지 장치를 포함하되, 상기 서버는, 상기 복수의 에지 장치의 분석 모델 업데이트 수행 결과에 기초하여, 상기 복수의 단말 기기 중 적어도 일부의 소속 그룹을 조정할 수 있다.In order to solve the above technical problem, an edge computing-based data analysis system according to an embodiment of the present invention generates an analysis model for update based on data collected from at least some of a plurality of terminal devices forming a plurality of groups, and It is connected to at least a part of a server to distribute and the plurality of terminal devices, and in response to receiving the analysis model for update from the server, performs performance evaluation on the existing analysis model and the analysis model for update, the performance evaluation and a plurality of edge devices for determining whether to update the existing analysis model based on a result, wherein the server includes at least one of the plurality of terminal devices based on the results of performing the update of the analysis model of the plurality of edge devices. Some groups can be adjusted.

일 실시예에서, 상기 서버는, 상기 복수의 에지 장치 중에서 상기 업데이트용 분석 모델로 업데이트를 수행한 에지 장치를 선별하고, 상기 선별된 에지 장치에 연결된 단말 기기가 동일한 그룹에 소속되도록 상기 복수의 단말 기기의 소속 그룹을 조정할 수 있다.In an embodiment, the server selects an edge device that has been updated with the analysis model for update from among the plurality of edge devices, and the plurality of terminals so that the terminal device connected to the selected edge device belongs to the same group You can adjust the group membership of the device.

일 실시예에서, 상기 기존 분석 모델은 상기 복수의 단말 기기 전부로부터 수집된 데이터에 기초하여 생성된 모델이고, 상기 업데이트용 분석 모델은 상기 복수의 단말 기기 중 일부로부터 수집된 데이터에 기초하여 생성된 모델일 수 있다.In an embodiment, the existing analysis model is a model generated based on data collected from all of the plurality of terminal devices, and the analysis model for update is generated based on data collected from some of the plurality of terminal devices. can be a model.

일 실시예에서, 상기 기존 분석 모델은 상기 복수의 단말 기기 중 적어도 일부로부터 제1 기간 동안 수집된 데이터에 기초하여 생성된 모델이고, 상기 업데이트용 분석 모델은 상기 복수의 단말 기기 중 적어도 일부로부터 상기 제1 기간 이후에 수집된 데이터에 기초하여 생성된 모델일 수 있다.In an embodiment, the existing analysis model is a model generated based on data collected during a first period from at least some of the plurality of terminal devices, and the analysis model for update is generated from at least some of the plurality of terminal devices. It may be a model generated based on data collected after the first period.

일 실시예에서, 상기 복수의 그룹은 계층적 구조로 구성되고, 상기 복수의 그룹 중 제1 그룹은 상기 제1 그룹의 하위 계층 그룹인 제2 그룹에 소속된 단말 기기를 포함하며, 상기 서버는, 상기 제1 그룹의 단말 기기로부터 수집된 데이터를 기초로 생성된 제1 업데이트용 분석 모델을 상기 복수의 에지 장치 중 상기 제1 그룹의 단말 기기와 연결된 에지 장치로 배포하고, 상기 제2 그룹의 단말 기기로부터 수집된 데이터를 기초로 생성된 제2 업데이트용 분석 모델을 상기 복수의 에지 장치 중 상기 제2 그룹의 단말 기기와 연결된 에지 장치로 배포할 수 있다.In an embodiment, the plurality of groups are configured in a hierarchical structure, and a first group of the plurality of groups includes a terminal device belonging to a second group that is a lower hierarchical group of the first group, and the server includes , a first update analysis model generated based on data collected from the first group of terminal devices is distributed among the plurality of edge devices to an edge device connected to the first group of terminal devices, and the second group of The second update analysis model generated based on data collected from the terminal device may be distributed to edge devices connected to the second group of terminal devices among the plurality of edge devices.

일 실시예에서, 상기 복수의 에지 장치 중 제1 에지 장치는, 기 저장된 평가용 데이터를 이용하여 상기 기존 분석 모델과 상기 업데이트용 분석 모델에 대한 성능 평가를 수행하되, 상기 기 저장된 평가용 데이터는 거짓 긍정(false positive) 오류 또는 거짓 부정(false negative) 오류가 발생한 데이터를 포함할 수 있다.In an embodiment, the first edge device among the plurality of edge devices performs performance evaluation on the existing analysis model and the update analysis model using pre-stored data for evaluation, wherein the pre-stored data for evaluation is It may contain data in which a false positive error or a false negative error occurred.

일 실시예에서, 상기 복수의 에지 장치 중 제1 에지 장치는, 가용 리소스가 임계치 이상이라는 판정에 응답하여, 상기 제1 에지 장치에 연결된 단말 기기로부터 수집된 데이터를 기초로 제1 업데이트용 분석 모델을 직접 생성할 수 있다.In an embodiment, a first edge device of the plurality of edge devices, in response to determining that an available resource is above a threshold, based on data collected from a terminal device connected to the first edge device, an analysis model for a first update can be created directly.

상기 기술적 과제를 해결하기 위한, 본 발명의 다른 실시예에 따른 에지 컴퓨팅 기반 데이터 분석 시스템은, 타깃 단말 기기를 포함하는 복수의 단말 기기 중 적어도 일부로부터 수집된 데이터를 기초로 분석 모델을 생성하고 배포하는 서버 및 상기 타깃 단말 기기와 연결되고, 상기 타깃 단말 기기로부터 데이터를 수집하여 상기 서버로 전달하고, 상기 서버에 의해 배포된 분석 모델을 이용하여 상기 타깃 단말 기기로부터 수신된 데이터를 분석하는 에지 장치를 포함하되, 상기 서버는, 상기 복수의 단말 기기로부터 수집된 데이터를 기초로 상기 복수의 단말 기기와 연관된 범용 분석 모델을 생성하여 상기 에지 장치로 배포하고, 모델 업데이트 조건이 만족되었다는 판정에 응답하여 상기 타깃 단말 기기로부터 수집된 데이터를 기초로 상기 타깃 단말 기기와 연관된 업데이트용 분석 모델을 생성하여 상기 에지 장치로 배포할 수 있다.In order to solve the above technical problem, an edge computing-based data analysis system according to another embodiment of the present invention generates and distributes an analysis model based on data collected from at least some of a plurality of terminal devices including a target terminal device an edge device that is connected to a server and the target terminal device, collects data from the target terminal device, transmits the data to the server, and analyzes data received from the target terminal device using an analysis model distributed by the server wherein the server generates and distributes a general-purpose analysis model associated with the plurality of terminal devices based on data collected from the plurality of terminal devices to the edge device, and in response to determining that a model update condition is satisfied An update analysis model associated with the target terminal device may be generated based on the data collected from the target terminal device and distributed to the edge device.

일 실시예에서, 상기 모델 업데이트 조건은 상기 에지 장치로부터 상기 범용 분석 모델에 대한 업데이트 요청 메시지가 수신되는 것이고, 상기 에지 장치는, 상기 타깃 단말 기기로부터 수신된 데이터를 상기 범용 분석 모델에 적용하여 예측 결과를 출력하고, 상기 예측 결과에 오류가 존재한다는 판정에 응답하여 업데이트 지수를 증가시키며, 상기 증가된 업데이트 지수가 임계치 이상이라는 판정에 응답하여 상기 서버로 상기 업데이트 요청 메시지를 전송할 수 있다.In an embodiment, the model update condition is that an update request message for the general-purpose analysis model is received from the edge device, and the edge device applies data received from the target terminal device to the general-purpose analysis model to predict output a result, increase an update index in response to determining that an error exists in the prediction result, and transmit the update request message to the server in response to determining that the increased update index is greater than or equal to a threshold.

일 실시예에서, 상기 모델 업데이트 조건은 상기 에지 장치로부터 상기 범용 분석 모델에 대한 업데이트 요청 메시지가 수신되는 것이고, 상기 범용 분석 모델은 상기 복수의 단말 기기로부터 제1 기간 동안 수집된 데이터에 기초하여 생성된 분석 모델이며, 상기 서버는, 상기 업데이트 요청 메시지가 수신된 경우, 상기 타깃 단말 기기로부터 수집된 데이터의 양이 임계치 미만인지 여부를 판정하고, 상기 임계치 미만이라는 판정에 응답하여 상기 제1 기간 이후에 상기 복수의 단말 기기로부터 수집된 데이터를 기초로 상기 범용 분석 모델을 업데이트하며, 상기 업데이트된 범용 분석 모델을 상기 에지 장치로 배포할 수 있다.In an embodiment, the model update condition is that an update request message for the general-purpose analysis model is received from the edge device, and the general-purpose analysis model is generated based on data collected from the plurality of terminal devices during a first period analyzed model, wherein the server, when the update request message is received, determines whether the amount of data collected from the target terminal device is less than a threshold value, and in response to the determination that the amount of data collected from the target terminal device is less than the threshold value, after the first period may update the general-purpose analysis model based on data collected from the plurality of terminal devices, and distribute the updated general-purpose analysis model to the edge device.

일 실시예에서, 상기 복수의 단말 기기는 계층 구조로 그룹핑된 복수의 그룹 중에서 제1 그룹에 속하고, 상기 타깃 단말 기기는 상기 제1 그룹의 하위 계층 그룹인 제2 그룹에 속할 수 있다.In an embodiment, the plurality of terminal devices may belong to a first group among a plurality of groups grouped in a hierarchical structure, and the target terminal device may belong to a second group that is a lower hierarchical group of the first group.

상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 서버는, 타깃 단말 기기를 포함하는 복수의 단말 기기 중 적어도 일부와 연결된 복수의 에지 장치와 통신하는 통신 인터페이스, 하나 이상의 인스트럭션들(instructions)을 저장하는 메모리 및 상기 하나 이상의 인스트럭션들을 실행함으로써, 상기 복수의 단말 기기로부터 수집된 데이터를 기초로 범용 분석 모델을 생성하고, 상기 범용 분석 모델을 상기 복수의 단말 기기와 연결된 에지 장치로 배포하며, 타깃 모델 생성 조건이 만족됨에 응답하여, 상기 타깃 단말 기기로부터 수집된 데이터를 기초로 타깃 분석 모델을 생성하고, 상기 타깃 분석 모델을 상기 타깃 단말 기기와 연결된 타깃 에지 장치로 배포하는 프로세서를 포함할 수 있다.A server according to another embodiment of the present invention for solving the above technical problem includes a communication interface for communicating with a plurality of edge devices connected to at least some of a plurality of terminal devices including a target terminal device, and one or more instructions ( instructions) and executing the one or more instructions to generate a general-purpose analysis model based on data collected from the plurality of terminal devices, and distribute the general-purpose analysis model to edge devices connected to the plurality of terminal devices and a processor for generating a target analysis model based on data collected from the target terminal device in response to a target model generation condition being satisfied, and distributing the target analysis model to a target edge device connected to the target terminal device can do.

상술한 기술적 과제를 해결하기 위한 본 발명의 또 다른 실시예에 따른 컴퓨터 프로그램은, 컴퓨팅 장치와 결합되어, 복수의 단말 기기로부터 수집된 데이터를 기초로 범용 분석 모델을 생성하는 단계, 상기 범용 분석 모델을 상기 복수의 단말 기기와 연결된 에지 장치로 배포하는 단계, 타깃 모델 생성 조건이 만족됨에 응답하여, 상기 타깃 단말 기기로부터 수집된 데이터를 기초로 타깃 분석 모델을 생성하는 단계 및 상기 타깃 분석 모델을 상기 타깃 단말 기기와 연결된 타깃 에지 장치로 배포하는 단계를 실행시키기 위하여, 컴퓨터로 판독가능한 기록매체에 저장될 수 있다.A computer program according to another embodiment of the present invention for solving the above-described technical problem is combined with a computing device, generating a general-purpose analysis model based on data collected from a plurality of terminal devices, the general-purpose analysis model distributing to an edge device connected to the plurality of terminal devices; generating a target analysis model based on data collected from the target terminal device in response to a target model generation condition being satisfied; and generating the target analysis model as the target analysis model. In order to execute the step of distributing to the target edge device connected to the target terminal device, it may be stored in a computer-readable recording medium.

도 1은 본 발명의 일 실시예에 따른 데이터 분석 시스템을 나타내는 구성도이다.
도 2는 본 발명의 다른 실시예에 따른 데이터 분석 시스템을 나타내는 구성도이다.
도 3은 본 발명의 일 실시예에 따른 서버를 나타내는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 에지 장치를 나타내는 블록도이다.
도 5는 본 발명의 몇몇 실시예들에 따른 서버 및 에지 장치를 구현할 수 있는 예시적인 컴퓨팅 장치를 나타내는 하드웨어 구성도이다.
도 6은 본 발명의 일 실시예에 따른 데이터 분석 시스템의 분석 모델 업데이트 방법을 나타내는 흐름도이다.
도 7은 도 6에 도시된 분석 모델 배포 단계(S30 or S50)의 상세 흐름도이다.
도 8은 도 6에 도시된 업데이트용 분석 모델 생성 단계(S40)의 상세 흐름도이다.
도 9는 도 6에 도시된 분석 모델 업데이트 단계(S60)의 상세 흐름도이다.
도 10은 본 발명의 일 실시예에 따른 에지 장치의 분석 모델 업데이트 요청 방법을 나타내는 흐름도이다.
도 11은 본 발명의 일 실시예에 따른 에지 장치의 분석 모델 생성 방법을 나타내는 흐름도이다.
도 12 내지 도 15는 본 발명의 일 실시예에 따라 계층적 구조를 갖는 데이터 분석 시스템에서 수행되는 분석 모델 업데이트 방법을 설명하기 위한 예시도이다.
도 16은 본 발명의 일 실시예에 따른 데이터 분석 시스템의 기기 그룹 조정 방법을 나타내는 흐름도이다.
도 17 및 도 18은 본 발명의 일 실시예에 따라 계층적 구조를 갖는 데이터 분석 시스템에서 수행되는 기기 그룹 조정 방법을 나타내는 흐름도이다.
도 19는 본 발명의 일 활용예에 따른 스마트 빌딩 관리 시스템을 나타내는 구성도이다.
1 is a block diagram showing a data analysis system according to an embodiment of the present invention.
2 is a block diagram illustrating a data analysis system according to another embodiment of the present invention.
3 is a block diagram illustrating a server according to an embodiment of the present invention.
4 is a block diagram illustrating an edge device according to an embodiment of the present invention.
5 is a hardware configuration diagram illustrating an exemplary computing device capable of implementing a server and an edge device according to some embodiments of the present invention.
6 is a flowchart illustrating a method of updating an analysis model of a data analysis system according to an embodiment of the present invention.
7 is a detailed flowchart of the analysis model distribution step (S30 or S50) shown in FIG.
FIG. 8 is a detailed flowchart of the step S40 of generating an analysis model for updating shown in FIG. 6 .
9 is a detailed flowchart of the analysis model update step S60 shown in FIG. 6 .
10 is a flowchart illustrating a method for requesting an analysis model update of an edge device according to an embodiment of the present invention.
11 is a flowchart illustrating a method of generating an analysis model of an edge device according to an embodiment of the present invention.
12 to 15 are exemplary diagrams for explaining an analysis model update method performed in a data analysis system having a hierarchical structure according to an embodiment of the present invention.
16 is a flowchart illustrating a device group adjustment method of a data analysis system according to an embodiment of the present invention.
17 and 18 are flowcharts illustrating a device group adjustment method performed in a data analysis system having a hierarchical structure according to an embodiment of the present invention.
19 is a configuration diagram illustrating a smart building management system according to an application example of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only these embodiments allow the disclosure of the present invention to be complete, and common knowledge in the technical field to which the present invention pertains It is provided to fully inform those who have the scope of the invention, and the present invention is only defined by the scope of the claims.

각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.In adding reference numerals to the components of each drawing, it should be noted that the same components are given the same reference numerals as much as possible even though they are indicated on different drawings. In addition, in describing the present invention, if it is determined that a detailed description of a related known configuration or function may obscure the gist of the present invention, the detailed description thereof will be omitted.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural, unless specifically stated otherwise in the phrase.

또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In addition, in describing the components of the present invention, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. When it is described that a component is “connected”, “coupled” or “connected” to another component, the component may be directly connected or connected to the other component, but another component is between each component. It should be understood that elements may be “connected,” “coupled,” or “connected.”

명세서에서 사용되는 "포함한다 (comprises)" 및/또는 "포함하는 (comprising)"은 언급된 구성 요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성 요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.As used herein, "comprises" and/or "comprising" refers to the presence of one or more other components, steps, operations and/or elements mentioned. or addition is not excluded.

이하, 본 발명의 몇몇 실시예들에 대하여 첨부된 도면에 따라 상세하게 설명한다.Hereinafter, some embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 데이터 분석 시스템을 나타내는 구성도이다.1 is a block diagram showing a data analysis system according to an embodiment of the present invention.

도 1을 참조하면, 상기 데이터 분석 시스템은 서버(100), 복수의 에지 장치(200) 및 복수의 단말 기기(300)를 포함할 수 있다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일 뿐이며, 필요에 따라 일부 구성 요소가 추가되거나 삭제될 수 있음은 물론이다. 또한, 도 1에 도시된 데이터 분석 시스템의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.Referring to FIG. 1 , the data analysis system may include a server 100 , a plurality of edge devices 200 , and a plurality of terminal devices 300 . However, this is only a preferred embodiment for achieving the object of the present invention, and it goes without saying that some components may be added or deleted as needed. In addition, it should be noted that each of the components of the data analysis system shown in FIG. 1 represents functionally separated functional elements, and a plurality of components may be implemented in a form that is integrated with each other in an actual physical environment.

상기 데이터 분석 시스템에서, 서버(100)는 에지 장치(200)를 통해 수집된 단말 기기(300)의 데이터를 통합 관리하고, 상기 수집된 데이터를 분석하기 위한 분석 모델을 생성 및 배포하는 컴퓨팅 장치이다. 여기서, 상기 컴퓨팅 장치는, 노트북, 데스크톱(desktop), 랩탑(laptop) 등이 될 수 있으나, 이에 국한되는 것은 아니며 컴퓨팅 기능 및 통신 기능이 구비된 모든 종류의 장치를 포함할 수 있다. 다만, 다수의 단말 기기(300)와 에지 장치(200)가 존재하는 경우라면, 서버(100)는 고성능의 컴퓨팅 장치로 구현되는 것이 바람직할 수 있다.In the data analysis system, the server 100 is a computing device that manages the data of the terminal device 300 collected through the edge device 200 and creates and distributes an analysis model for analyzing the collected data. . Here, the computing device may be a notebook computer, a desktop computer, a laptop computer, and the like, but is not limited thereto and may include any type of device equipped with a computing function and a communication function. However, if a plurality of terminal devices 300 and edge devices 200 exist, the server 100 may be preferably implemented as a high-performance computing device.

상기 분석 모델은 단말 기기(300)로부터 수집된 데이터를 분석하기 위해 에지 장치(200)에 의해 이용되는 임의의 모델을 의미한다. 가령, 상기 분석 모델은 단말 기기(300)의 이상 여부를 예측하는 모델 등이 될 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The analysis model refers to any model used by the edge device 200 to analyze data collected from the terminal device 300 . For example, the analysis model may be a model for predicting whether the terminal device 300 is abnormal, but the scope of the present invention is not limited thereto.

몇몇 실시예에서, 서버(100)는 특정 단말 기기에 특화된 분석 모델을 생성하여 배포할 수 있다. 가령, 데이터가 충분하게 수집되지 않은 시스템 초기에, 서버(100)는 다수의 단말 기기(300)로부터 수집된 데이터를 기초로 다수의 단말 기기(300)에 범용적으로 적용될 수 있는 범용 분석 모델을 생성하여 배포할 수 있다. 이후, 특정 단말 기기로부터 데이터가 충분하게 수집되면, 서버(100)는 상기 특정 단말 기기로부터 수집된 데이터를 기초로 상기 특정 단말 기기에 특화된 분석 모델을 생성하여 배포할 수 있다. 본 실시예에 따르면, 단말 기기(300)의 설치 환경, 자체 특성 등을 고려하여 각 단말 기기(300)에 특화된 맞춤형 분석 모델이 제공될 수 있다. 이에 따라, 데이터 분석의 정확도가 향상될 수 있다. 본 실시예에 대한 보다 자세한 설명은 도 6 내지 도 15를 참조하여 후술하도록 한다.In some embodiments, the server 100 may generate and distribute an analysis model specialized for a specific terminal device. For example, in the early stage of the system in which data is not sufficiently collected, the server 100 generates a general-purpose analysis model that can be universally applied to a plurality of terminal devices 300 based on data collected from a plurality of terminal devices 300 . can be created and distributed. Thereafter, when sufficient data is collected from the specific terminal device, the server 100 may generate and distribute an analysis model specialized for the specific terminal device based on the data collected from the specific terminal device. According to the present embodiment, a customized analysis model specialized for each terminal device 300 may be provided in consideration of the installation environment of the terminal device 300 , its own characteristics, and the like. Accordingly, the accuracy of data analysis may be improved. A more detailed description of the present embodiment will be described later with reference to FIGS. 6 to 15 .

참고로, 본 명세서에서, 범용 분석 모델은 특정 단말 기기에 특화된 분석 모델과 서로 상대적인 의미로 사용되는 것임에 유의하여야 한다. 가령, 제1 분석 모델은 제2 분석 모델에 비교할 때 범용 분석 모델이 될 수 있으나, 제3 분석 모델에 비교할 때는 특화된 분석 모델이 될 수도 있다.For reference, it should be noted that, in this specification, a general-purpose analysis model is used in a relative meaning with an analysis model specialized for a specific terminal device. For example, the first analysis model may be a general-purpose analysis model when compared to the second analysis model, but may be a specialized analysis model when compared to the third analysis model.

몇몇 실시예에서, 서버(100)는 복수의 단말 기기(300)에 대한 소속 그룹을 설정하고, 다양한 업데이트용 분석 모델을 생성하여 복수의 단말 기기(300)와 연결된 에지 장치(200)로 배포할 수 있다. 이때, 에지 장치(200)는 기존 분석 모델과 상기 업데이트용 분석 모델에 대한 성능 평가 결과에 기초하여 기존 분석 모델에 대한 업데이트를 수행하거나 보류할 수 있다. 또한, 서버(100)는 에지 장치(200)의 분석 모델 업데이트 결과에 기초하여 단말 기기(300)의 소속 그룹에 대한 조정을 수행할 수 있다. 가령, 서버(100)는 동일 분석 모델을 이용하는 에지 장치(200)에 연결된 단말 기기(300)들이 동일한 그룹에 속하도록 소속 그룹을 조정할 수 있다. 본 실시예에 따르면, 특성 또는 주변 환경이 유사한 단말 기기들이 동일한 그룹에 소속되도록 조정됨으로써, 관리의 용이성이 향상될 수 있다. 또한, 소속 그룹이 조정된 이후에, 특성이 유사한 단말 기기(즉, 동일 그룹에 속한 단말 기기들)의 데이터를 종합하여 다시 업데이트용 분석 모델이 생성될 수 있기 때문에, 분석 결과의 정확도가 더욱 향상될 수 있다. 본 실시예에 대한 보다 자세한 설명은 도 16 내지 도 18을 참조하여 후술하도록 한다.In some embodiments, the server 100 sets affiliation groups for the plurality of terminal devices 300 , generates various update analysis models, and distributes them to the edge devices 200 connected to the plurality of terminal devices 300 . can In this case, the edge device 200 may perform or withhold the update of the existing analysis model based on the performance evaluation result of the existing analysis model and the analysis model for update. Also, the server 100 may adjust the group belonging to the terminal device 300 based on the update result of the analysis model of the edge device 200 . For example, the server 100 may adjust the belonging group so that the terminal devices 300 connected to the edge device 200 using the same analysis model belong to the same group. According to the present embodiment, by adjusting terminal devices having similar characteristics or surrounding environments to belong to the same group, ease of management may be improved. In addition, since an analysis model for update can be generated again by synthesizing data of terminal devices with similar characteristics (ie, terminal devices belonging to the same group) after group membership is adjusted, the accuracy of analysis results is further improved can be A more detailed description of the present embodiment will be described later with reference to FIGS. 16 to 18 .

몇몇 실시예에서, 도 2에 도시된 바와 같이, 서버(100)의 기능은 다수의 컴퓨팅 장치로 구성된 클라우드(10) 형태로 구현될 수도 있다. 같은 맥락에서, 에지 장치(200)의 기능 또한 다수의 컴퓨팅 장치로 구성된 포그(fog) 형태로 구현될 수도 있다. 다만, 이하에서는, 이해의 편의를 제공하기 위해, 도 1에 도시된 시스템 구성을 가정하여 설명을 이어가도록 한다.In some embodiments, as shown in FIG. 2 , the functions of the server 100 may be implemented in the form of a cloud 10 composed of a plurality of computing devices. In the same context, the function of the edge device 200 may also be implemented in the form of a fog consisting of a plurality of computing devices. However, in the following, in order to provide convenience of understanding, the description will be continued by assuming the system configuration shown in FIG. 1 .

서버(100)의 세부 구성 및 동작에 대한 보다 자세한 설명은 도 3, 도 6 내지 도 18을 참조하여 후술하도록 한다.A more detailed description of the detailed configuration and operation of the server 100 will be described later with reference to FIGS. 3 and 6 to 18 .

상기 데이터 분석 시스템에서, 에지 장치(200)는 서버(100)에 의해 배포된 분석 모델을 이용하여 연결된 단말 기기(300)로부터 수집된 데이터를 분석하고, 분석 결과에 따른 처리를 수행하는 컴퓨팅 장치이다. 또한, 에지 장치(200)는 연결된 단말 기기(300)로부터 수집된 데이터를 서버(100)에게 전달한다. 상기 데이터 분석 시스템이 IoT(Internet of Things) 환경에 구축된 경우, 에지 장치(200)는 IoT 게이트웨이로 구현될 수 있다.In the data analysis system, the edge device 200 is a computing device that analyzes data collected from the connected terminal device 300 using the analysis model distributed by the server 100 and performs processing according to the analysis result. . Also, the edge device 200 transmits data collected from the connected terminal device 300 to the server 100 . When the data analysis system is built in an Internet of Things (IoT) environment, the edge device 200 may be implemented as an IoT gateway.

몇몇 실시예에서, 에지 장치(200)는 서버(100)로부터 분석 모델을 수신하지 않고, 자체적으로 분석 모델을 생성할 수도 있다. 구체적으로, 에지 장치(200)는 가용 리소스가 충분하다는 판정에 응답하여, 서버(100)에게 분석 모델의 업데이트를 요청하지 않고, 자체적으로 분석 모델을 생성할 수 있다. 본 실시예에 따르면, 서버(100)의 부담이 경감되고, 에지 장치(200)의 리소스가 효율적으로 활용될 수 있다. 본 실시예에 대한 자세한 설명은 도 11을 참조하여 추후 부연 설명하도록 한다.In some embodiments, the edge device 200 may generate the analysis model itself without receiving the analysis model from the server 100 . Specifically, in response to determining that the available resources are sufficient, the edge device 200 may generate the analysis model itself without requesting the server 100 to update the analysis model. According to the present embodiment, the load on the server 100 may be reduced, and the resources of the edge device 200 may be efficiently utilized. A detailed description of the present embodiment will be described later in more detail with reference to FIG. 11 .

에지 장치(200)의 구성 및 동작에 대한 보다 자세한 설명은 도 4, 도 6 내지 도 18을 참조하여 후술하도록 한다.A more detailed description of the configuration and operation of the edge device 200 will be described later with reference to FIGS. 4 and 6 to 18 .

상기 데이터 분석 시스템에서, 단말 기기(300)는 분석 대상이 되는 데이터를 제공하는 장치이다. 가령, 데이터 분석 시스템이 IoT 환경에 구축된 경우, 단말 기기(300)는 각종 센서 데이터를 제공하는 IoT 기기에 대응될 수 있다.In the data analysis system, the terminal device 300 is a device that provides data to be analyzed. For example, when the data analysis system is built in an IoT environment, the terminal device 300 may correspond to an IoT device that provides various sensor data.

도 1에 도시된 데이터 분석 시스템의 구성 요소는 네트워크를 통해 통신할 수 있다. 여기서, 상기 네트워크는 근거리 통신망(Local Area Network; LAN), 광역 통신망(Wide Area Network; WAN), 이동 통신망(mobile radio communication network), Wibro(Wireless Broadband Internet) 등과 같은 모든 종류의 유/무선 네트워크로 구현될 수 있다.The components of the data analysis system shown in FIG. 1 may communicate via a network. Here, the network includes all types of wired/wireless networks such as a local area network (LAN), a wide area network (WAN), a mobile radio communication network, and a Wibro (Wireless Broadband Internet). can be implemented.

지금까지 도 1 및 도 2를 참조하여 본 발명의 실시예에 따른 데이터 분석 시스템에 대하여 간략하게 설명하였다. 이하에서는, 도 3 및 도 4를 참조하여 데이터 분석 시스템의 구성 요소인 서버(100)와 에지 장치(200)의 구성 및 동작에 대하여 보다 상세하게 설명하도록 한다.So far, a data analysis system according to an embodiment of the present invention has been briefly described with reference to FIGS. 1 and 2 . Hereinafter, the configuration and operation of the server 100 and the edge device 200, which are components of the data analysis system, will be described in more detail with reference to FIGS. 3 and 4 .

도 3은 본 발명의 일 실시예에 따른 서버(100)를 나타내는 블록도이다.3 is a block diagram illustrating the server 100 according to an embodiment of the present invention.

도 3을 참조하면, 서버(100)는 데이터 수집부(110), 데이터 DB(130), 모델 관리부(150) 및 기기/에지 정보 관리부(170)를 포함할 수 있다. 다만, 도 3에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 3에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 물론, 도 3에 도시된 구성요소들 중 일부가 생략되는 형태로 서버(100)가 구현될 수도 있다.Referring to FIG. 3 , the server 100 may include a data collection unit 110 , a data DB 130 , a model management unit 150 , and a device/edge information management unit 170 . However, only the components related to the embodiment of the present invention are shown in FIG. 3 . Accordingly, those skilled in the art to which the present invention pertains can see that other general-purpose components other than those shown in FIG. 3 may be further included. Of course, the server 100 may be implemented in a form in which some of the components shown in FIG. 3 are omitted.

또한, 도 3에 도시된 서버(100)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.In addition, it should be noted that each of the components of the server 100 shown in FIG. 3 represents functionally separated functional elements, and a plurality of components may be implemented in a form that is integrated with each other in an actual physical environment.

각 구성 요소를 살펴보면, 데이터 수집부(110)는 복수의 에지 장치(200)로부터 단말 기기(300)의 데이터를 수집한다. 수집된 데이터는 데이터 DB(130)에 저장될 수 있다.Looking at each component, the data collection unit 110 collects data of the terminal device 300 from the plurality of edge devices 200 . The collected data may be stored in the data DB 130 .

다음으로, 데이터 DB(130)는 단말 기기(300)로부터 수집된 데이터를 통합 관리하는 저장소이다.Next, the data DB 130 is a storage for integrated management of data collected from the terminal device 300 .

다음으로, 모델 관리부(150)는 분석 모델에 대한 전반적인 관리를 수행한다. 모델 관리부(150)는 모델 정보 관리부(151), 모델 생성부(153) 및 모델 배포부(155)를 포함할 수 있다.Next, the model management unit 150 performs overall management of the analysis model. The model management unit 150 may include a model information management unit 151 , a model generation unit 153 , and a model distribution unit 155 .

모델 정보 관리부(150)는 분석 모델에 대한 배포 이력, 각 에지 장치(200)의 분석 모델 정보 등 분석 모델의 배포 및 업데이트와 연관된 각종 정보를 관리한다.The model information management unit 150 manages various types of information related to distribution and update of an analysis model, such as a distribution history of the analysis model and analysis model information of each edge device 200 .

다음으로, 모델 생성부(153)는 데이터 DB(130)에 저장된 데이터를 기초로 다양한 분석 모델을 생성한다.Next, the model generator 153 generates various analysis models based on the data stored in the data DB 130 .

다음으로, 모델 배포부(155)는 모델 생성부(153)에 의해 생성된 분석 모델을 에지 장치(200)로 배포한다. 구체적으로, 모델 배포부(155)는 분석 모델이 적용될 단말 기기(300)를 결정하고, 기기/에지 정보 관리부(170)의 관리 정보에 기초하여 상기 결정된 단말 기기(300)와 연결된 에지 장치(200)를 배포 대상으로 결정한다.Next, the model distribution unit 155 distributes the analysis model generated by the model generation unit 153 to the edge device 200 . Specifically, the model distribution unit 155 determines the terminal device 300 to which the analysis model is applied, and the edge device 200 connected to the determined terminal device 300 based on the management information of the device/edge information management unit 170 . ) as the distribution target.

다음으로, 기기/에지 정보 관리부(170)는 단말 기기(300)의 그룹 정보, 단말 기기(300)와 에지 장치(200) 간의 연결 관계 등 단말 기기(300)와 에지 장치(200)와 연관된 각종 정보를 관리한다.Next, the device/edge information management unit 170 performs various types of information related to the terminal device 300 and the edge device 200 , such as group information of the terminal device 300 and a connection relationship between the terminal device 300 and the edge device 200 . Manage information

도 3에 도시된 서버(100)의 구성 요소에 대한 자세한 설명은 도 6 내지 도 18의 설명 부분을 더 참조하도록 한다.For a detailed description of the components of the server 100 illustrated in FIG. 3 , refer to the description portion of FIGS. 6 to 18 .

도 4는 본 발명의 일 실시예에 따른 에지 장치(200)를 나타내는 블록도이다.4 is a block diagram illustrating an edge device 200 according to an embodiment of the present invention.

도 4를 참조하면, 에지 장치(200)는 데이터 수집부(210), 데이터 전달부(220), 분석부(230), 데이터 DB(240), 모델 관리부(250), 리소스 모니터링부(260) 및 피드백 수집부(270)를 포함할 수 있다. 다만, 도 4에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 4에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다. 물론, 도 4에 도시된 구성요소들 중 일부가 생략되는 형태로 에지 장치(200)가 구현될 수도 있다.Referring to FIG. 4 , the edge device 200 includes a data collection unit 210 , a data transmission unit 220 , an analysis unit 230 , a data DB 240 , a model management unit 250 , and a resource monitoring unit 260 . and a feedback collecting unit 270 . However, only the components related to the embodiment of the present invention are shown in FIG. 4 . Accordingly, those skilled in the art to which the present invention pertains can see that other general-purpose components other than the components shown in FIG. 4 may be further included. Of course, the edge device 200 may be implemented in a form in which some of the components shown in FIG. 4 are omitted.

또한, 도 4에 도시된 에지 장치(200)의 각각의 구성 요소들은 기능적으로 구분되는 기능 요소들을 나타낸 것으로서, 복수의 구성 요소가 실제 물리적 환경에서는 서로 통합되는 형태로 구현될 수도 있음에 유의한다.In addition, it should be noted that each component of the edge device 200 shown in FIG. 4 represents functionally separated functional elements, and a plurality of components may be implemented in a form integrated with each other in an actual physical environment.

데이터 수집부(210)는 연결된 단말 기기(300)로부터 데이터를 수집한다. 수집된 데이터의 일부 또는 전부는 데이터 DB(240)에 저장될 수 있다.The data collection unit 210 collects data from the connected terminal device 300 . Some or all of the collected data may be stored in the data DB 240 .

다음으로, 데이터 전달부(220)는 연결된 단말 기기(300)로부터 수집된 데이터를 서버(100)로 전달한다. 이외에도, 데이터 전달부(220)는 피드백 수집부(270)에 의해 수집된 피드백 정보, 분석부(230)가 제공하는 분석 결과 등의 각종 데이터를 서버(100)로 전달할 수 있다.Next, the data transfer unit 220 transfers the data collected from the connected terminal device 300 to the server 100 . In addition, the data transmitting unit 220 may transmit various data such as feedback information collected by the feedback collecting unit 270 and the analysis result provided by the analyzing unit 230 to the server 100 .

다음으로, 분석부(230)는 모델 관리부(250)의 분석 모델에 기초하여 연결된 단말 기기(300)로부터 수집된 데이터를 분석한다. 상기 분석 결과 또한 데이터 DB(240)에 저장될 수 있다.Next, the analysis unit 230 analyzes data collected from the connected terminal device 300 based on the analysis model of the model management unit 250 . The analysis result may also be stored in the data DB 240 .

다음으로, 데이터 DB(240)는 연결된 단말 기기(300)로부터 수집된 데이터, 상기 데이터의 분석 결과 등의 각종 데이터를 관리하는 저장소이다.Next, the data DB 240 is a storage for managing various data such as data collected from the connected terminal device 300 and analysis results of the data.

다음으로, 모델 관리부(250)는 에지 장치(200)의 분석 모델에 대한 전반적인 관리를 수행한다. 모델 관리부(250)는 모델 업데이트부(251), 모델 평가부(253) 및 모델 생성부(255)를 포함할 수 있다.Next, the model manager 250 performs overall management of the analysis model of the edge device 200 . The model manager 250 may include a model updater 251 , a model evaluator 253 , and a model generator 255 .

모델 업데이트부(251)는 기존 분석 모델에 대한 업데이트를 수행한다. 구체적으로, 모델 업데이트부(251)는 서버(100)로부터 업데이트용 분석 모델을 수신한 경우, 모델 평가부(253)로부터 상기 업데이트용 분석 모델과 기존 분석 모델에 대한 성능 평가 결과를 제공받는다. 또한, 모델 업데이트부(251)는 상기 업데이트용 분석 모델의 성능이 더 우수한 경우, 상기 기존 분석 모델을 상기 업데이트용 분석 모델로 대체할 수 있다.The model update unit 251 updates the existing analysis model. Specifically, when the model update unit 251 receives the update analysis model from the server 100 , the model evaluation unit 253 provides the update analysis model and performance evaluation results for the existing analysis model. Also, when the performance of the analysis model for update is better, the model update unit 251 may replace the existing analysis model with the analysis model for update.

또한, 모델 업데이트부(251)는 분석 모델의 오류에 기초하여 업데이트 지수를 증가시키고, 상기 업데이트 지수가 임계치 이상이라는 판정에 응답하여 서버(100)로 업데이트 요청 메시지를 전송할 수 있다.Also, the model update unit 251 may increase the update index based on the error of the analysis model, and transmit an update request message to the server 100 in response to determining that the update index is greater than or equal to a threshold value.

다음으로, 모델 평가부(253)는 분석 모델에 대한 성능 평가를 수행한다. 이때, 상기 성능 평가의 메트릭(metric)으로 정확도(accuracy), 재현율(recall), 정밀도(precision), 민감도(sensitivity), 특이도(specificity), F-점수(e.g. F1, F2 등) 등이 이용될 수 있다.Next, the model evaluation unit 253 performs performance evaluation on the analysis model. In this case, accuracy, recall, precision, sensitivity, specificity, F-score (e.g. F1, F2, etc.) are used as metrics of the performance evaluation. can be

다음으로, 모델 생성부(255)는 데이터 DB(240)에 저장된 데이터를 기초로 분석 모델을 자체적으로 생성한다. 가령, 모델 생성부(255)는 리소스 모니터링부(260)로부터 가용 리소스에 대한 정보를 제공받고, 상기 가용 리소스가 임계치 이상이라는 판정에 응답하여 상기 분석 모델을 자체적으로 생성할 수 있다.Next, the model generator 255 generates an analysis model by itself based on the data stored in the data DB 240 . For example, the model generating unit 255 may receive information on available resources from the resource monitoring unit 260 , and generate the analysis model by itself in response to determining that the available resources are greater than or equal to a threshold.

다음으로, 리소스 모니터링부(260)는 에지 장치(200)의 리소스 상태를 모니터링한다.Next, the resource monitoring unit 260 monitors the resource state of the edge device 200 .

다음으로, 피드백 수집부(270)는 분석부(230)의 분석 결과에 대한 피드백을 수집한다. 이때, 상기 피드백은 분석 결과에 오류(e.g. 거짓 긍정, 거짓 부정 오류 등)가 존재하는지 여부에 대한 것일 수 있다. 피드백 수집부(270)가 상기 피드백을 수집하는 방식은 어떠한 방식이 되더라도 무방하다.Next, the feedback collecting unit 270 collects feedback on the analysis result of the analyzing unit 230 . In this case, the feedback may be about whether an error (e.g. false positive, false negative error, etc.) exists in the analysis result. The feedback collection unit 270 may use any method for collecting the feedback.

도 4에 도시된 에지 장치(200)의 구성 요소에 대한 자세한 설명은 도 6 내지 도 18의 설명 부분을 더 참조하도록 한다.For a detailed description of the components of the edge device 200 shown in FIG. 4 , refer to the description part of FIGS. 6 to 18 .

도 3 및 도 4의 각 구성 요소는 소프트웨어(Software) 또는, FPGA(Field Programmable Gate Array)나 ASIC(Application-Specific Integrated Circuit)과 같은 하드웨어(Hardware)를 의미할 수 있다. 그렇지만, 상기 구성 요소들은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 어드레싱(Addressing)할 수 있는 저장 매체에 있도록 구성될 수도 있고, 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 상기 구성 요소들 안에서 제공되는 기능은 더 세분화된 구성 요소에 의하여 구현될 수 있으며, 복수의 구성 요소들을 합하여 특정한 기능을 수행하는 하나의 구성 요소로 구현될 수도 있다.Each component of FIGS. 3 and 4 may mean software or hardware such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC). However, the above components are not meant to be limited to software or hardware, and may be configured to be in an addressable storage medium or configured to execute one or more processors. The functions provided in the components may be implemented by more subdivided components, or may be implemented as one component that performs a specific function by combining a plurality of components.

도 5는 본 발명의 몇몇 실시예들에 따른 서버(100) 및 에지 장치(200)를 구현할 수 있는 예시적인 컴퓨팅 장치(400)를 나타내는 하드웨어 구성도이다.5 is a hardware configuration diagram illustrating an exemplary computing device 400 that may implement the server 100 and the edge device 200 according to some embodiments of the present invention.

도 5를 참조하면, 컴퓨팅 장치(400)는 컴퓨팅 장치(400)는 하나 이상의 프로세서(410), 버스(450), 통신 인터페이스(470), 프로세서(410)에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리(430)와, 데이터 분석 소프트웨어(491)를 저장하는 스토리지(490)를 포함할 수 있다. 다만, 도 5에는 본 발명의 실시예와 관련 있는 구성요소들만이 도시되어 있다. 따라서, 본 발명이 속한 기술분야의 통상의 기술자라면 도 5에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.Referring to FIG. 5 , the computing device 400 loads a computer program executed by one or more processors 410 , a bus 450 , a communication interface 470 , and the processor 410 . ) may include a memory 430 and a storage 490 for storing data analysis software 491 . However, only the components related to the embodiment of the present invention are illustrated in FIG. 5 . Accordingly, those skilled in the art to which the present invention pertains can see that other general-purpose components other than the components shown in FIG. 5 may be further included.

프로세서(410)는 컴퓨팅 장치(400)의 각 구성의 전반적인 동작을 제어한다. 프로세서(410)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 발명의 기술 분야에 잘 알려진 임의의 형태의 프로세서를 포함하여 구성될 수 있다. 또한, 프로세서(410)는 본 발명의 실시예들에 따른 방법을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(400)는 하나 이상의 프로세서를 구비할 수 있다.The processor 410 controls the overall operation of each component of the computing device 400 . The processor 410 includes a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), or any type of processor well known in the art. can be In addition, the processor 410 may perform an operation on at least one application or program for executing the method according to the embodiments of the present invention. Computing device 400 may include one or more processors.

메모리(430)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(430)는 본 발명의 실시예들에 따른 데이터 분석 방법을 실행하기 위하여 스토리지(490)로부터 하나 이상의 프로그램(491)을 로드할 수 있다.The memory 430 stores various data, commands and/or information. The memory 430 may load one or more programs 491 from the storage 490 in order to execute the data analysis method according to embodiments of the present invention.

메모리(430)에 컴퓨터 프로그램(491)이 로드되면, 메모리(430) 상에 도 3 또는 도 4에 도시된 모듈이 구현될 수 있다. 예를 들어, 컴퓨터 프로그램(491)이 서버(100)의 동작을 수행하는 프로그램인 경우, 도 3에 도시된 서버(100)의 모듈이 메모리(430) 상에 구현될 수 있다. 다른 예를 들어, 컴퓨터 프로그램(491)이 에지 장치(200)의 동작을 수행하는 프로그램인 경우, 도 4에 도시된 에지 장치(200)의 모듈이 메모리(430) 상에 구현될 수 있다.When the computer program 491 is loaded into the memory 430 , the module shown in FIG. 3 or FIG. 4 may be implemented on the memory 430 . For example, when the computer program 491 is a program that performs an operation of the server 100 , the module of the server 100 illustrated in FIG. 3 may be implemented on the memory 430 . As another example, when the computer program 491 is a program that performs the operation of the edge device 200 , the module of the edge device 200 illustrated in FIG. 4 may be implemented on the memory 430 .

버스(450)는 컴퓨팅 장치(400)의 구성 요소 간 통신 기능을 제공한다. 버스(450)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다.The bus 450 provides communication functions between components of the computing device 400 . The bus 450 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus.

통신 인터페이스(470)는 컴퓨팅 장치(400)의 유무선 인터넷 통신을 지원한다. 또한, 통신 인터페이스(470)는 인터넷 통신 외의 다양한 통신 방식을 지원할 수도 있다. 이를 위해, 통신 인터페이스(470)는 본 발명의 기술 분야에 잘 알려진 통신 모듈을 포함하여 구성될 수 있다.The communication interface 470 supports wired/wireless Internet communication of the computing device 400 . Also, the communication interface 470 may support various communication methods other than Internet communication. To this end, the communication interface 470 may be configured to include a communication module well known in the art.

스토리지(490)는 상기 하나 이상의 프로그램(491), 각종 데이터를 비임시적으로 저장할 수 있다.The storage 490 may non-temporarily store the one or more programs 491 and various data.

스토리지(490)는 ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다.The storage 490 is a non-volatile memory, such as a read only memory (ROM), an erasable programmable ROM (EPROM), an electrically erasable programmable ROM (EEPROM), a flash memory, a hard disk, a removable disk, or well in the art to which the present invention pertains. It may be configured to include any known computer-readable recording medium.

컴퓨터 프로그램(491)은 본 발명의 몇몇 실시예들에 따른 방법들을 수행하도록 하는 하나 이상의 인스트럭션들(instructions)을 포함할 수 있다. 여기서, 인스트럭션은 기능을 기준으로 묶인 일련의 명령어들로서 컴퓨터 프로그램의 구성 요소이자 프로세서(410)에 의해 실행되는 것을 가리킨다. 컴퓨터 프로그램(491)이 메모리(430)에 로드되고, 프로세서(410)가 컴퓨터 프로그램(491)을 구성하는 하나 이상의 인스트럭션들을 실행함으로써, 본 발명의 몇몇 실시예들에 따른 방법들이 수행될 수 있다.Computer program 491 may include one or more instructions to perform methods according to some embodiments of the present invention. Here, the instruction refers to a series of instructions grouped based on a function, which is a component of a computer program and is executed by the processor 410 . Methods according to some embodiments of the present invention may be performed by loading the computer program 491 into the memory 430 and the processor 410 executing one or more instructions constituting the computer program 491 .

예를 들어, 컴퓨터 프로그램(491)은 복수의 단말 기기로부터 수집된 데이터를 기초로 범용 분석 모델을 생성하는 동작, 상기 범용 분석 모델을 상기 복수의 단말 기기와 연결된 에지 장치로 배포하는 동작, 모델 업데이트 조건이 만족됨에 응답하여, 상기 타깃 단말 기기로부터 수집된 데이터를 기초로 업데이트용 분석 모델을 생성하는 동작, 상기 업데이트용 분석 모델을 상기 타깃 단말 기기와 연결된 에지 장치로 배포하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 컴퓨터 프로그램(491)이 메모리(430)에 로드되고, 프로세서(410)에 의해 상기 하나 이상의 인스트럭션들이 실행되면, 컴퓨팅 장치(400)는 서버(100)로 동작할 수 있다.For example, the computer program 491 may generate a general-purpose analysis model based on data collected from a plurality of terminal devices, distribute the general-purpose analysis model to an edge device connected to the plurality of terminal devices, and update a model In response to a condition being satisfied, instructions for generating an analysis model for update based on the data collected from the target terminal device and distributing the analysis model for update to an edge device connected to the target terminal device may include When the computer program 491 is loaded into the memory 430 and the one or more instructions are executed by the processor 410 , the computing device 400 may operate as the server 100 .

다른 예를 들어, 예를 들어, 컴퓨터 프로그램(491)은 연결된 단말 기기로부터 수집된 데이터를 상기 서버로 전달하는 동작, 상기 서버에 의해 배포된 업데이트용 분석 모델을 수신하는 동작, 기존 분석 모델과 상기 업데이트용 분석 모델에 대한 성능 평가 결과에 기초하여 상기 기존 분석 모델에 대한 업데이트 수행 여부를 결정하는 동작을 수행하도록 하는 인스트럭션들을 포함할 수 있다. 이와 같은 컴퓨터 프로그램(491)이 메모리(430)에 로드되고, 프로세서(410)에 의해 상기 하나 이상의 인스트럭션들이 실행되면, 컴퓨팅 장치(400)는 에지 장치(200)로 동작할 수 있다.For another example, for example, the computer program 491 performs an operation of transmitting data collected from a connected terminal device to the server, an operation of receiving an analysis model for update distributed by the server, an existing analysis model and the and instructions for determining whether to update the existing analysis model based on a performance evaluation result of the analysis model for update. When the computer program 491 is loaded into the memory 430 and the one or more instructions are executed by the processor 410 , the computing device 400 may operate as the edge device 200 .

지금까지, 도 5를 참조하여 본 발명의 실시예에 따른 서버(100) 또는 에지 장치(200)를 구현할 수 있는 예시적인 컴퓨팅 장치(400)의 구성 및 동작에 대하여 설명하였다. 이하에서는, 본 발명의 실시예에 따른 데이터 분석 시스템에 수행되는 방법들에 대하여 설명하도록 한다.So far, the configuration and operation of an exemplary computing device 400 capable of implementing the server 100 or the edge device 200 according to an embodiment of the present invention has been described with reference to FIG. 5 . Hereinafter, methods performed in the data analysis system according to an embodiment of the present invention will be described.

설명의 편의를 위해, 이하에서 후술될 방법에 포함되는 각 단계의 동작 주체는 그 기재가 생략될 수도 있다. 또한, 상기 방법의 각 단계는 프로세서에 의해 실행되는 컴퓨터 프로그램의 인스트럭션들로 구현될 수 있다.For convenience of description, the description of the operating subject of each step included in the method to be described below may be omitted. In addition, each step of the method may be implemented with instructions of a computer program executed by a processor.

도 6은 본 발명의 일 실시예에 따른 분석 모델 업데이트 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.6 is a flowchart illustrating a method for updating an analysis model according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, and it goes without saying that some steps may be added or deleted as necessary.

도 6을 참조하면, 상기 분석 모델 업데이트 방법은 서버(100)가 적어도 하나의 에지 장치(200)로부터 데이터를 수집하는 단계(S10)로부터 시작된다. 상기 데이터는 에지 장치(200)와 연결된 단말 기기(300)로부터 수집된 데이터이다. 즉, 본 단계(S10)에서, 각각의 에지 장치(200)는 연결된 단말 기기(300)로부터 데이터를 수집하고, 수집된 데이터를 서버(100)로 전달한다.Referring to FIG. 6 , the method for updating the analysis model starts with the server 100 collecting data from at least one edge device 200 ( S10 ). The data is data collected from the terminal device 300 connected to the edge device 200 . That is, in this step S10 , each edge device 200 collects data from the connected terminal device 300 , and transmits the collected data to the server 100 .

참고로, 에지 장치의 개수는 실시예에 따라 얼마든지 달라질 수 있다. 또한, 하나의 에지 장치가 하나의 물리적 장치로 구현될 필요는 없고, 하나의 물리적 장치에 다수의 에지 장치가 구현될 수도 있음에 유의하여야 한다.For reference, the number of edge devices may vary according to embodiments. Also, it should be noted that one edge device need not be implemented as one physical device, and multiple edge devices may be implemented in one physical device.

단계(S20)에서, 서버(100)는 수집된 데이터를 기초로 분석 모델을 생성한다. 예를 들어, 서버(100)는 수집된 데이터에 대한 기계 학습을 통해 분석 모델을 생성할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In step S20, the server 100 generates an analysis model based on the collected data. For example, the server 100 may generate an analysis model through machine learning on the collected data, but the scope of the present invention is not limited thereto.

본 단계(S20)에서, 서버(100)는 수집된 데이터의 개수, 품질, 클래스별 데이터의 비율 등에 기초하여 분석 모델의 생성이 가능한지 여부를 판정하고, 생성 가능하다는 판정에 응답하여 분석 모델을 생성할 수 있다.In this step (S20), the server 100 determines whether generation of an analysis model is possible based on the number, quality, ratio of data by class, etc. of the collected data, and generates an analysis model in response to the determination that generation is possible can do.

단계(S30)에서, 서버(100)는 생성된 분석 모델을 에지 장치(200)로 배포한다. 구체적으로, 도 7에 도시된 바와 같이, 서버(100)는 복수의 에지 장치(200) 중에서 배포 대상 에지 장치를 결정하고(S31), 상기 배포 대상 에지 장치로 분석 모델을 배포한다(S33).In step S30 , the server 100 distributes the generated analysis model to the edge device 200 . Specifically, as shown in FIG. 7 , the server 100 determines a distribution target edge device from among a plurality of edge devices 200 ( S31 ), and distributes the analysis model to the distribution target edge device ( S33 ).

몇몇 실시예에서, 서버(100)는 분석 모델의 기초 데이터를 제공한 단말 기기와 연결된 에지 장치를 배포 대상으로 결정할 수 있다. 가령, 제1 복수의 단말 기기로부터 수집된 데이터를 기초로 제1 분석 모델을 생성한 경우, 서버(100)는 상기 제1 복수의 단말 기기와 연결된 에지 장치로 상기 제1 분석 모델을 배포할 수 있다.In some embodiments, the server 100 may determine, as a distribution target, an edge device connected to a terminal device that has provided basic data of the analysis model. For example, when a first analysis model is generated based on data collected from a plurality of first terminal devices, the server 100 may distribute the first analysis model to an edge device connected to the first plurality of terminal devices. have.

단계(S40)에서, 서버(100)는 소정의 모델 업데이트 조건이 만족됨에 응답하여 업데이트용 분석 모델을 생성한다.In step S40, the server 100 generates an analysis model for update in response to a predetermined model update condition being satisfied.

몇몇 실시예에서, 상기 업데이트용 분석 모델은 특정 단말 기기에 특화된 분석 모델일 수 있다. 예를 들어, 서버(100)는 단계(S20)에서 복수의 단말 기기로부터 수집된 데이터를 기초로 범용 분석 모델을 생성하고, 본 단계(S40)에서 상기 복수의 단말 기기 중 일부 단말 기기로부터 수집된 데이터를 기초로 상기 일부 단말 기기에 특화된 분석 모델을 생성할 수 있다. 본 실시예에 따르면, 에지 장치(200)는 상기 특화된 분석 모델을 이용하여 상기 일부 단말 기기로부터 수집된 데이터를 분석할 것인 바, 데이터 분석의 정확도가 향상될 수 있다.In some embodiments, the analysis model for update may be an analysis model specialized for a specific terminal device. For example, the server 100 generates a general-purpose analysis model based on data collected from a plurality of terminal devices in step S20, and collects data collected from some of the plurality of terminal devices in step S40. Based on the data, it is possible to generate an analysis model specialized for some of the terminal devices. According to the present embodiment, the edge device 200 will analyze the data collected from the some terminal devices using the specialized analysis model, so that the accuracy of data analysis can be improved.

몇몇 실시예에서, 상기 업데이트용 분석 모델은 최근 데이터에 기반한 것일 수 있다. 예를 들어, 서버(100)는 단계(S20)에서 제1 기간 동안 단말 기기로부터 수집된 데이터를 학습하여 제1 분석 모델을 생성하고, 본 단계(S40)에서 상기 제1 기간 이후에 수집된 데이터를 추가 학습을 수행하여 상기 제1 분석 모델을 업데이트할 수 있다. 또는, 서버(100)는 상기 제1 기간 이후에 수집된 데이터를 새롭게 학습하여 제2 분석 모델을 생성할 수도 있다.In some embodiments, the analytic model for updating may be based on recent data. For example, the server 100 generates a first analysis model by learning the data collected from the terminal device during the first period in step S20, and the data collected after the first period in step S40 may update the first analysis model by performing additional learning. Alternatively, the server 100 may generate a second analysis model by newly learning the data collected after the first period.

몇몇 실시예에서, 상기 업데이트용 분석 모델은 하이퍼파라미터(hyperparameter), 학습 알고리즘 중 적어도 하나의 요소가 기존 분석 모델과 상이한 것일 수 있다. 예를 들어, 서버(100)는 단계(S20)에서 제1 학습 알고리즘을 이용하여 제1 분석 모델을 생성하고, 본 단계(S40)에서 제2 학습 알고리즘을 이용하여 제2 분석 모델을 생성할 수 있다.In some embodiments, at least one element of a hyperparameter and a learning algorithm of the analysis model for update may be different from an existing analysis model. For example, the server 100 may generate a first analysis model using the first learning algorithm in step S20 and generate a second analysis model using the second learning algorithm in this step S40. have.

몇몇 실시예에서, 상기 업데이트용 분석 모델은 전술한 실시예들의 조합에 의해 생성될 수 있다. 예를 들어, 서버(100)는 일부 단말 기기로부터 수집된 최근 데이터를 기초로 상기 일부 단말 기기에 특화된 분석 모델을 생성하거나, 상기 수집된 최근 데이터에 기존 분석 모델과 다른 학습 알고리즘을 적용하여 상기 일부 단말 기기에 특화된 분석 모델을 생성할 수 있다. 또한, 서버(100)는 전술한 실시예들에 따라 복수개의 업데이트용 분석 모델을 생성하여 배포할 수도 있다.In some embodiments, the analysis model for update may be generated by a combination of the above-described embodiments. For example, the server 100 generates an analysis model specialized for the partial terminal device based on recent data collected from some terminal devices, or applies a learning algorithm different from the existing analysis model to the collected recent data to apply the partial It is possible to create an analysis model specialized for a terminal device. Also, the server 100 may generate and distribute a plurality of update analysis models according to the above-described embodiments.

한편, 전술한 모델 업데이트 조건은 실시예에 따라 달라질 수 있다.Meanwhile, the above-described model update condition may vary according to embodiments.

몇몇 실시예에서, 상기 모델 업데이트 조건은 에지 장치(200)로부터 업데이트 요청 메시지를 수신하는 것일 수 있다. 예를 들어, 서버(100)는 에지 장치(200)로부터 업데이트 요청 메시지를 수신함에 응답하여 업데이트용 분석 모델을 생성할 수 있다. 에지 장치(200)가 업데이트 요청 메시지를 전송하는 동작에 대한 자세한 설명은 도 10을 참조하여 후술하도록 한다.In some embodiments, the model update condition may be to receive an update request message from the edge device 200 . For example, the server 100 may generate an analysis model for update in response to receiving the update request message from the edge device 200 . A detailed description of an operation of the edge device 200 transmitting the update request message will be described later with reference to FIG. 10 .

몇몇 실시예에서, 상기 모델 업데이트 조건은 서버(100)에 미리 설정된 조건일 수 있다. 즉, 업데이트용 분석 모델을 생성하는 동작이 에지 장치(200)의 요청에 관계없이 서버(100)의 자체적인 판단에 의해 트리거될 수 있다. 예를 들어, 서버(100)는 지정된 주기에 따라 최근 데이터에 기반한 분석 모델을 생성하여 배포할 수 있다. 다른 예를 들어, 서버(100)는 제1 단말 기기로부터 수집된 데이터가 임계치 이상이라는 판정에 응답하여 상기 제1 단말 기기에 특화된 제1 분석 모델을 생성하고, 제2 단말 기기로부터 수집된 데이터가 임계치 이상이라는 판정에 응답하여 상기 제2 단말 기기에 특화된 제2 분석 모델을 생성하여 배포할 수 있다. 또 다른 예를 들어, 서버(100)는 복수의 에지 장치(200)로부터 분석 모델에 대한 성능 평가 결과를 수집하고, 특정 분석 모델의 성능이 임계치 미만이 경우, 상기 특정 분석 모델에 대한 업데이트용 분석 모델을 생성할 수 있다. 이때, 서버(100)는 상기 업데이트용 분석 모델을 상기 특정 분석 모델을 이용하고 있는 에지 장치(200)로 배포할 수 있다.In some embodiments, the model update condition may be a condition preset in the server 100 . That is, the operation of generating the analysis model for update may be triggered by the server 100's own determination regardless of the request of the edge device 200 . For example, the server 100 may generate and distribute an analysis model based on recent data according to a specified period. In another example, the server 100 generates a first analysis model specialized for the first terminal device in response to determining that the data collected from the first terminal device is greater than or equal to a threshold, and the data collected from the second terminal device A second analysis model specialized for the second terminal device may be generated and distributed in response to the determination that the threshold is higher. As another example, the server 100 collects performance evaluation results for an analysis model from a plurality of edge devices 200 , and when the performance of a specific analysis model is less than a threshold, an update analysis for the specific analysis model You can create a model. In this case, the server 100 may distribute the update analysis model to the edge device 200 using the specific analysis model.

몇몇 실시예에서, 상기 모델 업데이트 조건은 전술한 실시예들의 조합에 기초하여 결정될 수 있다.In some embodiments, the model update condition may be determined based on a combination of the above-described embodiments.

한편, 몇몇 실시예에서, 본 단계(S40)의 세부 과정은 도 8에 도시된 흐름도에 따라 수행될 수 있다. 구체적으로, 에지 장치(200)로부터 업데이트 요청 메시지가 수신되면, 서버(100)는 에지 장치(200)에서 이용 중인 기존 분석 모델보다 특화된 분석 모델이 생성 가능한지 판단한다(S41, S43). 여기서, 기존 분석 모델보다 특화된 분석 모델이라는 것은 상기 기존 분석 모델보다 더 적은 수의 단말 기기로부터 수집된 데이터를 기초로 생성된 분석 모델을 의미한다. 가령, 에지 장치(200)의 기존 분석 모델이 에지 장치(200)와 연결된 타깃 단말 기기를 포함하는 복수의 단말 기기의 데이터를 기초로 생성된 것이고, 상기 타깃 단말 기기로부터 수집된 데이터 데이터가 임계치 이상인 경우, 서버(100)는 상기 타깃 단말 기기에 특화된 분석 모델의 생성이 가능하다고 판단할 수 있다. 또한, 생성 가능 판정에 응답하여, 서버(100)는 상기 타깃 단말 기기에 특화된 분석 모델을 생성할 수 있다. 반대의 경우, 서버(100)는 최근 데이터를 기초로 에지 장치(200)의 기존 분석 모델을 업데이트할 수 있다(S45, S47).Meanwhile, in some embodiments, the detailed process of this step S40 may be performed according to the flowchart shown in FIG. 8 . Specifically, when an update request message is received from the edge device 200 , the server 100 determines whether an analysis model more specialized than the existing analysis model being used in the edge device 200 can be generated ( S41 , S43 ). Here, the analysis model more specialized than the existing analysis model means an analysis model generated based on data collected from a smaller number of terminal devices than the existing analysis model. For example, the existing analysis model of the edge device 200 is generated based on data of a plurality of terminal devices including the target terminal device connected to the edge device 200 , and the data data collected from the target terminal device is equal to or greater than a threshold value. In this case, the server 100 may determine that it is possible to generate an analysis model specialized for the target terminal device. Also, in response to the generation possibility determination, the server 100 may generate an analysis model specialized for the target terminal device. In the opposite case, the server 100 may update the existing analysis model of the edge device 200 based on the latest data (S45 and S47).

단계(S50)에서, 서버(100)는 업데이트용 분석 모델을 에지 장치(200)로 배포한다. 구체적으로, 서버(100)는 복수의 에지 장치(200) 중에서 배포 대상 에지 장치를 결정하고, 상기 배포 대상 에지 장치로 업데이트용 분석 모델을 배포할 수 있다.In step S50 , the server 100 distributes the analysis model for update to the edge device 200 . Specifically, the server 100 may determine a distribution target edge device from among the plurality of edge devices 200 , and distribute an analysis model for update to the distribution target edge device.

몇몇 실시예에서, 서버(100)는 업데이트 요청 메시지를 전송한 에지 장치(200)를 배포 대상으로 결정할 수 있다.In some embodiments, the server 100 may determine the edge device 200 that has transmitted the update request message as a distribution target.

몇몇 실시예에서, 서버(100)는 업데이트용 분석 모델의 기초 데이터를 제공한 단말 기기와 연결된 에지 장치(200)를 배포 대상으로 결정할 수 있다. 가령, 특정 단말 기기(300)로부터 수집된 데이터를 기초로 특정 단말 기기(300)에 특화된 제1 분석 모델을 생성한 경우, 서버(100)는 특정 단말 기기(300)와 연결된 에지 장치(200)를 상기 제1 분석 모델의 배포 대상으로 결정할 수 있다.In some embodiments, the server 100 may determine, as a distribution target, the edge device 200 connected to the terminal device that has provided the basic data of the analysis model for update. For example, when a first analysis model specialized for a specific terminal device 300 is generated based on data collected from the specific terminal device 300 , the server 100 may be configured to connect the edge device 200 to the specific terminal device 300 . may be determined as a distribution target of the first analysis model.

몇몇 실시예에서, 서버(100)는 복수의 에지 장치(200)로부터 수집된 분석 모델의 성능 평가 결과를 기초로 배포 대상을 결정할 수 있다. 가령, 서버(100)는 성능이 임계치 미만인 분석 모델을 이용하고 있는 에지 장치(200)를 배포 대상으로 결정할 수 있다.In some embodiments, the server 100 may determine a distribution target based on a performance evaluation result of the analysis model collected from the plurality of edge devices 200 . For example, the server 100 may determine the edge device 200 using the analysis model whose performance is less than a threshold as a distribution target.

몇몇 실시예에서, 서버(100)는 복수의 에지 장치(200) 중에서 랜덤하게 배포 대상을 결정할 수 있다. 가령, 서버(100)는 에지 장치(200)에게 최적의 분석 모델을 선택할 기회를 제공하기 위해 다양한 업데이트용 분석 모델을 생성하고, 생성된 업데이트용 분석 모델을 무작위로 배포할 수 있다.In some embodiments, the server 100 may randomly determine a distribution target from among the plurality of edge devices 200 . For example, the server 100 may generate various analysis models for update in order to provide the edge device 200 with an opportunity to select an optimal analysis model, and randomly distribute the generated analysis models for update.

몇몇 실시예에서, 전술한 실시예들의 조합에 기초하여 배포 대상이 결정될 수 있다.In some embodiments, a distribution target may be determined based on a combination of the above-described embodiments.

단계(S60)에서, 에지 장치(200)는 업데이트용 분석 모델이 수신됨에 응답하여 기존 분석 모델에 대한 업데이트를 수행하거나 보류한다. 본 단계(S60)의 상세 과정은 도 9에 도시되어 있다. 도 9에 도시된 바와 같이, 에지 장치(200)는 업데이트용 분석 모델이 수신됨에 응답하여 기존 분석 모델과 업데이트용 분석 모델에 대한 성능 평가를 수행한다(S61, S63). 또한, 에지 장치(200)는 업데이트용 분석 모델의 성능이 더 우수하다는 판정에 응답하여 기존 분석 모델에 대한 업데이트를 수행한다(S65, S67). 가령, 에지 장치(200)는 기존 분석 모델을 업데이트용 분석 모델로 대체할 수 있다.In step S60 , the edge device 200 performs or withholds the update of the existing analysis model in response to the receiving of the analysis model for update. The detailed process of this step (S60) is shown in FIG. As shown in FIG. 9 , the edge device 200 performs performance evaluation on the existing analysis model and the analysis model for update in response to receiving the analysis model for update ( S61 and S63 ). Also, the edge device 200 updates the existing analysis model in response to the determination that the performance of the analysis model for update is better ( S65 and S67 ). For example, the edge device 200 may replace an existing analysis model with an analysis model for update.

단계(S70)에서, 업데이트용 분석 모델을 수신한 에지 장치(200)는 업데이트 수행 결과를 서버(100)에게 보고한다.In step S70 , the edge device 200 receiving the analysis model for update reports the update performance result to the server 100 .

전술한 단계(S10 내지 S70) 중에서, 단계(S10)는 데이터 수집부(110)에 의해 수행되고, 단계(S20, S40)는 모델 생성부(153)에 의해 수행되며, 단계(S30, S50)는 모델 배포부(155)에 의해 수행될 수 있다. 또한, 단계(S60, S70)는 모델 업데이트부(251)와 모델 평가부(253)에 의해 수행될 수 있다.Among the above-described steps (S10 to S70), step (S10) is performed by the data collection unit 110, steps (S20, S40) are performed by the model generation unit 153, and steps (S30, S50) may be performed by the model distribution unit 155 . Also, steps S60 and S70 may be performed by the model updater 251 and the model evaluator 253 .

지금까지 도 6 내지 도 9를 참조하여 본 발명의 일 실시예에 따른 분석 모델 업데이트 방법에 대하여 설명하였다. 상술한 방법에 따르면, 단말 기기(300)의 설치 환경, 자체 특성 등을 고려하여 각 단말 기기(300)에 특화된 맞춤형 분석 모델이 제공될 수 있다. 이에 따라, 데이터 분석의 정확도가 향상될 수 있다.So far, an analysis model update method according to an embodiment of the present invention has been described with reference to FIGS. 6 to 9 . According to the above-described method, a customized analysis model specialized for each terminal device 300 may be provided in consideration of the installation environment of the terminal device 300 , its own characteristics, and the like. Accordingly, the accuracy of data analysis may be improved.

도 10은 본 발명의 일 실시예에 따라 에지 장치(200)가 분석 모델 업데이트 요청하는 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.10 is a flowchart illustrating a method for requesting an analysis model update by the edge device 200 according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, and it goes without saying that some steps may be added or deleted as necessary.

도 10을 참조하면, 상기 분석 모델 업데이트 요청 방법은 에지 장치(200)가 분석 모델의 예측 결과에 대한 피드백을 수신하는 단계(S110)에서 시작된다. 구체적으로, 에지 장치(200)는 분석 모델을 통해 단말 기기(300)로부터 수신된 데이터를 분석하여 예측 결과를 출력하고, 상기 예측 결과에 오류가 존재하는지에 대한 피드백을 제공받을 수 있다. 이때, 상기 피드백은 어떠한 방식으로 제공되더라도 무방하다.Referring to FIG. 10 , the analysis model update request method starts in step S110 in which the edge device 200 receives a feedback on a prediction result of the analysis model. Specifically, the edge device 200 may analyze data received from the terminal device 300 through an analysis model, output a prediction result, and receive feedback on whether an error exists in the prediction result. In this case, the feedback may be provided in any way.

가령, 상기 분석 모델이 단말 기기(300)의 이상 여부를 예측하는 모델이라고 가정하자. 또한, 에지 장치(200)는 단말 기기(300)의 상태가 이상으로 예측된 경우 단말 기기(300)의 전원을 차단하거나 관리자에게 알람을 제공하는 등의 제어 동작을 수행한다고 가정하자. 그러면, 에지 장치(200)는 관리자 또는 상기 단말 기기로부터 상기 제어 동작에 대한 피드백을 받을 수 있다. 예를 들어, 관리자가 단말 기기(300)를 점검하여 이상이 없는 경우 예측 결과에 오류가 존재한다는 피드백을 제공할 수 있다. 다른 예를 들어, 단말 기기(300)가 빌트인 테스트(built-in test)를 통해 자체적으로 상태를 점검하고, 이상이 없는 경우 예측 결과에 오류가 존재한다는 피드백을 제공할 수 있다.For example, it is assumed that the analysis model is a model for predicting whether the terminal device 300 is abnormal. Also, it is assumed that the edge device 200 performs a control operation such as shutting off the power of the terminal device 300 or providing an alarm to the manager when the state of the terminal device 300 is predicted to be abnormal. Then, the edge device 200 may receive feedback on the control operation from the manager or the terminal device. For example, when the manager checks the terminal device 300 and there is no abnormality, it is possible to provide feedback that there is an error in the prediction result. As another example, the terminal device 300 may check the state by itself through a built-in test, and if there is no abnormality, it may provide feedback indicating that there is an error in the prediction result.

단계(S130)에서, 에지 장치(200)는 제공받은 피드백을 기초로 예측 결과에 오류가 존재하는지 여부를 판정한다. 오류가 존재한다는 판정에 응답하여 다음 단계(S150)가 수행될 수 있다.In step S130 , the edge device 200 determines whether an error exists in the prediction result based on the received feedback. In response to determining that an error exists, the next step S150 may be performed.

단계(S150 내지 S190)에서, 에지 장치(200)는 업데이트 지수를 증가시키고, 증가된 업데이트 지수가 임계치 이상이라는 판정에 응답하여 업데이트 요청 메시지를 서버(100)로 전송할 수 있다.In steps S150 to S190 , the edge device 200 may increase the update index, and may transmit an update request message to the server 100 in response to determining that the increased update index is equal to or greater than the threshold.

다만, 몇몇 실시예에서, 상기 피드백을 통해 확인된 오류가 미리 설정된 심각한 오류에 해당하는 경우, 에지 장치(200)는 업데이트 지수에 관계없이 곧바로 업데이트 요청 메시지를 서버(100)로 전송할 수 있다. 예를 들어, 해당 시스템에서 거짓 긍정 오류가 심각한 오류인 경우, 에지 장치(200)는 상기 오류가 거짓 긍정 오류에 해당하면 곧바로 업데이트 요청 메시지를 서버(100)로 전송할 수 있다. 다른 예를 들어, 해당 시스템에서 거짓 부정 오류가 심각한 오류인 경우, 에지 장치(200)는 상기 오류가 거짓 부정 오류에 해당하면 곧바로 업데이트 요청 메시지를 서버(100)로 전송할 수 있다.However, in some embodiments, when the error identified through the feedback corresponds to a preset serious error, the edge device 200 may directly transmit an update request message to the server 100 irrespective of the update index. For example, when a false positive error is a serious error in the corresponding system, the edge device 200 may immediately transmit an update request message to the server 100 if the error corresponds to a false positive error. For another example, when a false negative error is a serious error in the corresponding system, the edge device 200 may immediately transmit an update request message to the server 100 when the error corresponds to a false negative error.

몇몇 실시예에서, 에지 장치(200)는 피드백을 통해 확보한 거짓 긍정 오류 또는 거짓 부정 오류가 발생된 데이터셋을 저장하고 활용할 수 있다. 예를 들어, 에지 장치(200)는 상기 데이터셋을 평가용 데이터로 활용할 수 있다. 구체적으로, 에지 장치(200)는 기존 분석 모델과 업데이트용 분석 모델에 대한 성능 평가를 수행할 때(e.g. 단계 S63), 상기 데이터셋을 활용하여 성능 평가를 수행할 수 있다. 여기서, 에지 장치(200)는 심각한 오류와 연관된 데이터셋에 더 높은 평가 가중치를 두고 성능 평가를 수행할 수도 있다. 다른 예를 들어, 에지 장치(200)는 상기 데이터셋을 서버(100)로 전달하여 분석 모델의 생성에 활용되도록 할 수 있다. 구체적으로, 서버(100)는 상기 데이터셋에 더 높은 학습 가중치를 부여하고, 상기 부여된 학습 가중치를 기초로 학습을 수행하여 업데이트용 분석 모델을 생성하고 배포할 수 있다. 가령, 서버(100)는 제1 에지 장치로부터 오류 정보에 대한 데이터셋을 전달받은 경우, 상기 데이터셋을 더 높은 학습 가중치로 학습하여 업데이트용 분석 모델을 생성할 수 있다. 또한, 서버(100)는 상기 업데이트용 분석 모델을 상기 제1 에지 장치로 배포할 수 있다. 여기서, 상기 업데이트용 분석 모델은 기존 분석 모델에 비해 해당 오류에 강인할 것인 바, 데이터 분석의 정확도가 더욱 향상될 수 있다.In some embodiments, the edge device 200 may store and utilize a data set in which a false positive error or a false negative error obtained through feedback is generated. For example, the edge device 200 may use the dataset as data for evaluation. Specifically, when performing performance evaluation on the existing analysis model and the analysis model for update (e.g. step S63), the edge device 200 may perform performance evaluation using the dataset. Here, the edge device 200 may perform performance evaluation with a higher evaluation weight on a dataset associated with a serious error. As another example, the edge device 200 may transmit the data set to the server 100 to be utilized for generating an analysis model. Specifically, the server 100 may assign a higher learning weight to the dataset, perform learning based on the assigned learning weight, and generate and distribute an analysis model for update. For example, when receiving a dataset for error information from the first edge device, the server 100 may learn the dataset with a higher learning weight to generate an update analysis model. Also, the server 100 may distribute the update analysis model to the first edge device. Here, the update analysis model will be more robust against corresponding errors compared to the existing analysis model, so that the accuracy of data analysis can be further improved.

전술한 단계(S110 내지 S190)에서, 단계(S110)은 피드백 수집부(270)에 의해 수행되고, 나머지 단계(S130 내지 S190)은 모델 업데이트부(251)에 의해 수행될 수 있다.In the aforementioned steps S110 to S190 , step S110 may be performed by the feedback collector 270 , and the remaining steps S130 to S190 may be performed by the model updater 251 .

지금까지 도 10을 참조하여 에지 장치(200)에서 수행되는 본 발명의 일 실시예에 따른 분석 모델 업데이트 요청 방법에 대하여 설명하였다. 이하에서는, 도 11을 참조하여 에지 장치(200)가 자체적으로 분석 모델을 생성하는 방법에 대하여 설명하도록 한다.So far, a method for requesting an analysis model update according to an embodiment of the present invention performed in the edge device 200 has been described with reference to FIG. 10 . Hereinafter, a method in which the edge device 200 generates an analysis model by itself will be described with reference to FIG. 11 .

도 11은 본 발명의 일 실시예에 따라 에지 장치(200)가 자체적으로 분석 모델을 생성하는 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.11 is a flowchart illustrating a method of generating an analysis model by the edge device 200 by itself according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, and it goes without saying that some steps may be added or deleted as necessary.

도 11을 참조하면, 상기 분석 모델 생성 방법은 에지 장치(200)가 리소스를 모니터링하는 단계에서 시작된다(S210).Referring to FIG. 11 , the method for generating the analysis model starts at the edge device 200 monitoring a resource ( S210 ).

단계(S230)에서, 에지 장치(200)는 가용 리소스가 충분한지 여부를 판정한다. 가령, 에지 장치(200)는 일정 시간 동안 프로세서의 점유율이 지속적으로 임계치 미만인 경우, 가용 리소스가 충분하다고 판단할 수 있다. 그러나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가용 리소스가 충분하다는 판정에 응답하여 다음 단계(S250)가 수행될 수 있다.In step S230, the edge device 200 determines whether the available resources are sufficient. For example, the edge device 200 may determine that the available resources are sufficient when the occupancy of the processor is continuously less than the threshold for a predetermined time. However, the scope of the present invention is not limited thereto. In response to determining that the available resources are sufficient, the next step S250 may be performed.

단계(S250)에서, 에지 장치(200)는 연결된 단말 기기(300)로부터 수집된 데이터를 기초로 업데이트용 분석 모델을 생성하고, 기존 분석 모델에 대한 업데이트를 수행한다. 전술한 바와 같이, 에지 장치(200)는 업데이트용 분석 모델의 성능이 기존 분석 모델보다 우수한 경우에 한하여 업데이트를 수행할 수 있다.In step S250 , the edge device 200 generates an analysis model for update based on data collected from the connected terminal device 300 , and updates the existing analysis model. As described above, the edge device 200 may perform the update only when the performance of the analysis model for update is superior to that of the existing analysis model.

몇몇 실시예에서, 연결된 단말 기기로부터 수집된 데이터가 충분하지 않은 경우, 에지 장치(200)는 서버(100)를 통해 추가 데이터를 확보하고, 상기 추가 데이터를 더 이용하여 업데이트용 분석 모델을 생성할 수 있다. 가령, 서버(100)는 제1 에지 장치로부터 추가 데이터를 요청받은 경우, 상기 제1 에지 장치에 연결된 제1 단말 기기와 유사한 단말 기기의 데이터를 상기 제1 에지 장치에게 제공할 수 있다. 이때, 상기 유사한 단말 기기는 상기 제1 단말 기기와 동일한 그룹에 속한 단말 기기, 가까운 위치에 배치된 단말 기기 등이 될 수 있다. 또는, 복수의 단말 기기(300)가 도 12에 도시된 바와 같이 계층 구조의 그룹을 형성하는 경우, 상기 계층 구조 상에서 상기 제1 단말 기기의 소속 그룹과 가까운 거리에 위치한 그룹의 단말 기기가 상기 유사한 단말 기기가 될 수 있다.In some embodiments, when the data collected from the connected terminal device is not sufficient, the edge device 200 secures additional data through the server 100, and further uses the additional data to generate an analysis model for update. can For example, when receiving a request for additional data from the first edge device, the server 100 may provide data of a terminal device similar to the first terminal device connected to the first edge device to the first edge device. In this case, the similar terminal device may be a terminal device belonging to the same group as the first terminal device, a terminal device disposed at a nearby location, or the like. Alternatively, when a plurality of terminal devices 300 form a hierarchical group as shown in FIG. 12 , in the hierarchical structure, a terminal device of a group located at a close distance to a group belonging to the first terminal device is similar to the group. It may be a terminal device.

단계(S270)에서, 에지 장치(200)는 서버(100)로 업데이트 수행 결과를 보고한다.In step S270 , the edge device 200 reports the update performance result to the server 100 .

몇몇 실시예에서, 에지 장치(200)는 상기 업데이트 수행 결과와 함께 단계(S250)에서 생성된 분석 모델을 서버(100)에게 제공할 수 있다. 서버(100)는 제공받은 분석 모델을 다른 에지 장치에게 배포함으로써 에지 장치(200)가 생성한 분석 모델을 에지 장치와 공유할 수 있다.In some embodiments, the edge device 200 may provide the analysis model generated in step S250 to the server 100 together with the update performance result. The server 100 may share the analysis model generated by the edge device 200 with the edge device by distributing the provided analysis model to other edge devices.

전술한 단계(S210 내지 S270) 중에서, 단계(S210)는 리소스 모니터링부(260)에 의해 수행되고, 단계(S230, S250, S270)는 모델 관리부(250)에 의해 수행될 수 있다.Among the above-described steps S210 to S270 , step S210 may be performed by the resource monitoring unit 260 , and steps S230 , S250 , and S270 may be performed by the model management unit 250 .

지금까지 도 12를 참조하여 에지 장치(200)에서 분석 모델을 직접 생성하는 방법에 대하여 설명하였다. 상술한 방법에 따르면, 서버(100)에 의존하지 않고, 에지 장치(200)가 자신의 가용 리소스를 이용하여 분석 모델을 생성하고, 생성된 분석 모델을 서버(100)를 통해 다른 에지 장치와 공유할 수 있다. 이에 따라, 서버(100)의 부담이 경감되고, 에지 장치(200)의 리소스가 효율적으로 활용될 수 있다.A method of directly generating an analysis model in the edge device 200 has been described with reference to FIG. 12 . According to the above-described method, the edge device 200 generates an analysis model using its available resources without relying on the server 100 , and shares the generated analysis model with other edge devices through the server 100 . can do. Accordingly, the load on the server 100 may be reduced, and resources of the edge device 200 may be efficiently utilized.

이하에서는, 보다 이해의 편의를 제공하기 위해, 도 12 내지 도 15에 도시된 계층 구조를 갖는 데이터 분석 시스템에서 분석 모델이 업데이트되는 과정에 대하여 설명하도록 한다. 특히, 도 12 내지 도 15는 서버(100)가 점진적으로 특화된 분석 모델을 배포하는 것을 가정하고 있다. 또한 도 12 내지 도 15는 다수의 단말 기기(1 내지 8)가 계층적 그룹(501 내지 527)으로 관리되는 경우를 예시하고 있다. 다만, 본 발명의 기술적 사상이 적용되기 위해 다수의 단말 기기(1 내지 8)가 도 12에 도시된 바와 같이 계층적으로 그룹핑되어야 하는 것은 아니다.Hereinafter, in order to provide more convenience of understanding, a process of updating an analysis model in the data analysis system having a hierarchical structure shown in FIGS. 12 to 15 will be described. In particular, it is assumed that the server 100 gradually distributes the specialized analysis model in FIGS. 12 to 15 . Also, FIGS. 12 to 15 exemplify a case in which a plurality of terminal devices 1 to 8 are managed as hierarchical groups 501 to 527 . However, it is not necessary that the plurality of terminal devices 1 to 8 be hierarchically grouped as shown in FIG. 12 in order to apply the technical spirit of the present invention.

참고로, 이하의 도면에서 그룹 노드(e.g. 521, 523)에 인접하여 분석 모델이 표시된 것은 해당 그룹에 속한 모든 에지 장치가 해당 분석 모델을 이용하고 있다는 것을 의미한다. 또한, 에지 장치 노드에 인접하여 분석 모델이 표시된 것은 해당 에지 장치만이 해당 분석 모델을 이용하고 있다는 것을 의미한다. 또한, 분석 모델에 표시된 식별자(e.g. 1, 1-2)는 상기 식별자에 매칭되는 그룹에 속한 단말 기기의 데이터를 기초로 해당 분석 모델이 생성되었다는 것을 의미한다.For reference, in the drawings below, the display of the analysis model adjacent to the group nodes (e.g. 521 and 523) means that all edge devices belonging to the corresponding group use the corresponding analysis model. In addition, the display of the analysis model adjacent to the edge device node means that only the corresponding edge device is using the corresponding analysis model. In addition, the identifiers (e.g. 1 and 1-2) displayed on the analysis model mean that the corresponding analysis model is generated based on data of a terminal device belonging to a group matching the identifier.

도 12 내지 도 15와 도 16 및 도 17을 설명함에 있어서, 그룹은 그룹 노드에 표시된 참조 번호로 지칭하며, 에지 장치와 단말 기기는 에지 장치 노 드 및 단말 기기 노드에 표시된 번호(1 내지 8)에 "#" 표시를 병기하여 지칭하도록 한다. 가령, 그룹 1은 그룹(551)으로 지칭되고, 에지 장치 1은 에지 장치(#1)로 지칭될 수 있다. 또한, 설명의 편의상, 특정 그룹에 속한 단말 기기로부터 수집된 데이터는 상기 특정 그룹의 데이터로 요약하여 서술될 수 있고, 상기 특정 그룹에 속한 에지 장치로 분석 모델을 배포하는 것은 상기 특정 그룹으로 분석 모델을 배포하는 것으로 요약하여 서술될 수 있다.12 to 15 and 16 and 17, a group is referred to as a reference number indicated on a group node, and the edge device and the terminal device are numbered 1 to 8 indicated on the edge device node and the terminal device node. It is indicated by adding a "#" mark to it. For example, group 1 may be referred to as group 551 and edge device 1 may be referred to as edge device #1. In addition, for convenience of explanation, data collected from a terminal device belonging to a specific group may be summarized and described as data of the specific group, and distributing the analysis model to the edge device belonging to the specific group is the analysis model to the specific group It can be summarized as distributing

도 12를 참조하면, 다수의 단말 기기(#1 내지 #8)가 계층적 그룹(501 내지 527)을 형성하고 있다. 이와 같은 그룹은 관리의 편의를 위해 관리자에 의해 수동으로 설정되거나, 단말 기기(또는 에지 장치)의 배치 위치, 단말 기기(또는 에지 장치)의 종류 등에 기초하여 자동으로 설정될 수도 있다.Referring to FIG. 12 , a plurality of terminal devices #1 to #8 form hierarchical groups 501 to 527 . Such a group may be manually set by an administrator for convenience of management, or may be automatically set based on the arrangement position of the terminal device (or edge device), the type of the terminal device (or edge device), or the like.

참고로, 도 12에 도시된 에지 장치(#1 내지 #8)는 논리적 장치에 대응되는 것으로, 복수의 에지 장치가 하나의 물리적 장치로 구현될 수도 있다. 이와 같은 경우, 상기 하나의 물리적 에지 장치는 복수의 그룹에 소속될 수도 있다. 여기서, 에지 장치가 그룹에 소속된다는 것은 에지 장치에 연결된 단말 기기가 상기 그룹에 속한다는 것을 의미한다.For reference, the edge devices #1 to #8 shown in FIG. 12 correspond to logical devices, and a plurality of edge devices may be implemented as one physical device. In this case, the one physical edge device may belong to a plurality of groups. Here, that the edge device belongs to the group means that the terminal device connected to the edge device belongs to the group.

도 12에 도시된 바와 같이, 최상위 계층의 그룹(501)에는 모든 단말 기기(#1 내지 #8)가 속하고, 그룹(501)의 하위 계층에 위치한 그룹(511)에는 5대의 단말 기기(#1 내지 #5)가 속하며, 그룹(511)의 하위 계층에 위치한 그룹(521)에는 3대의 단말 기기(#1 내지 #3)가 속하게 된다.As shown in FIG. 12 , all terminal devices #1 to #8 belong to the group 501 of the uppermost layer, and five terminal devices (#) are included in the group 511 located in the lower layer of the group 501 . 1 to #5), and three terminal devices #1 to #3 belong to the group 521 located in the lower layer of the group 511.

도 13은 서버(100)가 다수의 단말 기기(#1 내지 #8)에 적용될 수 있는 범용 분석 모델(531)을 배포하는 것을 예시하고 있다. 구체적으로, 서버(100)는 최상위 그룹(501)의 데이터를 기초로 범용 분석 모델(531)을 생성하고 배포할 수 있다. 이때, 범용 분석 모델(531)의 배포 대상은 그룹(501)에 속한 에지 장치(#1 내지 #8)가 될 수 있다. 범용 분석 모델(531)은 다수의 단말 기기(#1 내지 #8)로부터 수집된 데이터를 기초로 생성되었기 때문에, 특정 단말 기기의 데이터를 분석하는 데에는 다소 부정확할 수 있다.13 illustrates that the server 100 distributes a general-purpose analysis model 531 that can be applied to a plurality of terminal devices #1 to #8. Specifically, the server 100 may generate and distribute the general-purpose analysis model 531 based on the data of the highest group 501 . In this case, the distribution target of the general-purpose analysis model 531 may be the edge devices #1 to #8 belonging to the group 501 . Since the general-purpose analysis model 531 is generated based on data collected from a plurality of terminal devices #1 to #8, it may be somewhat inaccurate in analyzing data of a specific terminal device.

도 14는 서버(100)가 일부 단말 기기(#6 내지 #8)에 특화된 분석 모델(541)을 업데이트용으로 배포하는 것을 예시하고 있다.14 illustrates that the server 100 distributes the analysis model 541 specialized for some terminal devices (#6 to #8) for update.

예를 들어, 서버(100)는 그룹(513)의 데이터가 충분하게 수집되었다고 판단한 경우, 단말 기기(#6 내지 #8)에 특화된 분석 모델(541)을 생성할 수 있다. 또한, 서버(100)는 분석 모델(541)을 그룹(513)에 속한 에지 장치(#6 내지 #8)로 배포할 수 있다.For example, when it is determined that the data of the group 513 is sufficiently collected, the server 100 may generate the analysis model 541 specialized for the terminal devices #6 to #8. Also, the server 100 may distribute the analysis model 541 to the edge devices #6 to #8 belonging to the group 513 .

다른 예를 들어, 서버(100)는 그룹(513)에 속한 에지 장치(#6 내지 #8)로부터 업데이트 요청 메시지를 수신하고, 상기 업데이트 요청 메시지의 수신에 응답하여 특화된 분석 모델(541)을 생성할 수 있다. 구체적으로, 서버(100)가 에지 장치(#6)로부터 업데이트 요청 메시지를 수신한 경우, 서버(100)는 에지 장치(#6)의 분석 모델 정보를 확인한다. 또한, 서버(100)는 확인된 분석 모델 정보를 기초로 에지 장치(#6)의 분석 모델(531)보다 더 특화된 분석 모델을 생성할 수 있는지 판단한다. 여기서, 분석 모델(531)이 최상위 계층(계층 1)에 대응되는 모델이므로, 상기 특화된 분석 모델은 상기 최상위 계층의 하위 계층(계층 2 or 3)에 대응되는 분석 모델이 된다. 자세하게는, 상기 특화된 분석 모델은 그룹(513 or 525)의 데이터를 기초로 생성된 모델이 될 수 있다. 따라서, 서버(100)는 단말 기기(#6 내지 #8)로부터 수집된 데이터를 기초로 분석 모델(541)을 생성하고, 분석 모델(541)을 에지 장치(#6 내지 #8)로 배포한다. 이와 같은 경우, 에지 장치(#7, #8)는 업데이트 요청 메시지를 전송하지 않았음에도 다른 에지 장치(#6)의 업데이트 요청에 의해 업데이트용 분석 모델(541)을 수신하게 된다. 참고로, 단말 기기(#6 내지 #8)로부터 수집된 데이터가 충분하지 않은 경우, 서버(100)는 최근 데이터를 기초로 에지 장치(#6)의 기존 분석 모델(531)을 업데이트하고, 업데이트된 분석 모델을 에지 장치(#6 내지 #8)로 배포할 수도 있다.As another example, the server 100 receives an update request message from the edge devices #6 to #8 belonging to the group 513 and generates a specialized analysis model 541 in response to the reception of the update request message. can do. Specifically, when the server 100 receives the update request message from the edge device #6, the server 100 checks the analysis model information of the edge device #6. In addition, the server 100 determines whether a more specialized analysis model can be generated than the analysis model 531 of the edge device #6 based on the checked analysis model information. Here, since the analysis model 531 is a model corresponding to the uppermost layer (layer 1), the specialized analysis model becomes an analysis model corresponding to the lower layer (layer 2 or 3) of the uppermost layer. In detail, the specialized analysis model may be a model generated based on data of the group 513 or 525 . Accordingly, the server 100 generates the analysis model 541 based on the data collected from the terminal devices #6 to #8, and distributes the analysis model 541 to the edge devices #6 to #8. . In this case, the edge devices #7 and #8 receive the update analysis model 541 by the update request of the other edge devices #6 even though the update request message is not transmitted. For reference, if the data collected from the terminal devices #6 to #8 is not sufficient, the server 100 updates the existing analysis model 531 of the edge device #6 based on the latest data, and updates The analyzed model can also be distributed to edge devices (#6 to #8).

도 15는 에지 장치(#6 내지 #8)의 모델 업데이트 결과를 도시하고 있다.15 shows the model update results of the edge devices #6 to #8.

도 15를 참조하면, 각 에지 장치(#6 내지 #8)는 기존 분석 모델(531)과 업데이트용 분석 모델(541)에 대한 성능 평가를 수행하고, 성능 평가 결과에 기초하여 기존 분석 모델(531)에 대한 업데이트 수행 여부를 결정할 수 있다. 특히, 도 15는 에지 장치(#6, #8)는 모델 업데이트를 수행하기로 결정하고, 에지 장치(7)는 모델 업데이트를 수행하지 않기로 결정한 경우를 예시하고 있다.Referring to FIG. 15 , each edge device (#6 to #8) performs performance evaluation on the existing analysis model 531 and the analysis model for update 541, and based on the performance evaluation result, the existing analysis model 531 ) can be determined whether to perform the update. In particular, FIG. 15 exemplifies a case where the edge devices #6 and #8 decide to perform the model update, and the edge device 7 decides not to perform the model update.

몇몇 실시예에서, 서버(100)는 업데이트용 분석 모델(541)에 대한 성능 평가 결과를 에지 장치(#6 내지 #8)로부터 수신할 수 있다. 이때, 업데이트용 분석 모델(541)의 성능이 임계치 이상인 경우, 서버(100)는 업데이트용 분석 모델(541)을 다른 에지 장치에게 추가 배포할 수 있다. 가령, 서버(100)는 계층 구조 상에서 에지 장치(#6 내지 #8)의 소속 그룹(513)과 가깝게 위치한 그룹(e.g. 511)의 에지 장치(#1 내지 #5)로 업데이트용 분석 모델(541)을 추가 배포할 수 있다. 또는, 서버(100)는 임의의 에지 장치로 업데이트용 분석 모델(541)을 추가 배포할 수도 있다.In some embodiments, the server 100 may receive the performance evaluation result for the analysis model 541 for update from the edge devices #6 to #8. In this case, when the performance of the analysis model 541 for update is equal to or greater than the threshold, the server 100 may additionally distribute the analysis model 541 for update to other edge devices. For example, the server 100 may update the analysis model 541 for updating to the edge devices #1 to #5 of the group (e.g. 511) located close to the group 513 to which the edge devices #6 to #8 belong on the hierarchical structure. ) can be further distributed. Alternatively, the server 100 may additionally distribute the analysis model 541 for update to any edge device.

지금까지 도 12 내지 도 15에 도시된 예를 참조하여 계층 구조를 갖는 데이터 분석 시스템에서 모델 업데이트가 수행되는 과정에 대하여 설명하였다. 상술한 바에 따르면, 시스템 초기에 다수의 단말 기기로부터 수집된 데이터를 기초로 범용 분석 모델이 빠르게 생성되어 배포될 수 있다. 또한, 상기 다수의 단말 기기로부터 데이터가 축적될수록, 점점 더 특화된 분석 모델이 업데이트용으로 배포되는 바, 시간이 지날수록 데이터 분석의 정확도가 점점 향상되는 효과가 달성될 수 있다. 나아가, 에지 장치는 기존 분석 모델과 업데이트용 분석 모델의 성능 비교를 통해 연결된 단말 기기에 적합한 최적의 분석 모델을 선택하게 되는 바, 전반적인 시스템 성능이 더욱 향상될 수 있다.Up to now, a process in which a model update is performed in a data analysis system having a hierarchical structure has been described with reference to the examples shown in FIGS. 12 to 15 . According to the above description, a general-purpose analysis model can be quickly generated and distributed based on data collected from a plurality of terminal devices at the initial stage of the system. In addition, as data is accumulated from the plurality of terminal devices, more and more specialized analysis models are distributed for update, so that the accuracy of data analysis can be improved as time goes by. Furthermore, the edge device selects an optimal analysis model suitable for the connected terminal device by comparing the performance of the existing analysis model and the analysis model for update, so that overall system performance can be further improved.

이하에서는, 도 16 내지 도 18을 참조하여 분석 모델의 업데이트 결과에 기초하여 단말 기기(300)의 소속 그룹을 조정하는 방법에 대하여 설명하도록 한다.Hereinafter, a method of adjusting a group belonging to the terminal device 300 based on the update result of the analysis model will be described with reference to FIGS. 16 to 18 .

도 16은 본 발명의 일 실시예에 따른 기기 그룹 조정 방법을 나타내는 흐름도이다. 단, 이는 본 발명의 목적을 달성하기 위한 바람직한 실시예일뿐이며, 필요에 따라 일부 단계가 추가되거나 삭제될 수 있음은 물론이다.16 is a flowchart illustrating a device group adjustment method according to an embodiment of the present invention. However, this is only a preferred embodiment for achieving the object of the present invention, and it goes without saying that some steps may be added or deleted as necessary.

도 16을 참조하면, 상기 기기 그룹 조정 방법은 서버(100)가 복수의 단말 기기(300)의 소속 그룹을 설정하는 단계(S310)부터 시작된다. 예를 들어, 서버(100)는 관리자의 선택에 기초하여 복수의 단말 기기(300)의 소속 그룹을 설정할 수 있다. 다른 예를 들어, 서버(100)는 단말 기기(300) 또는 에지 장치(200)의 배치 위치에 기초하여 복수의 단말 기기(300)의 소속 그룹을 설정할 수 있다.Referring to FIG. 16 , the device group adjustment method starts with the step ( S310 ) of the server 100 setting the group belonging to the plurality of terminal devices 300 . For example, the server 100 may set a group belonging to the plurality of terminal devices 300 based on the selection of the administrator. As another example, the server 100 may set the group belonging to the plurality of terminal devices 300 based on the arrangement position of the terminal device 300 or the edge device 200 .

단계(S320, S330)에서, 서버(100)는 상기 소속 그룹에 기초하여 업데이트용 분석 모델을 생성하여 배포한다. 가령, 서버(100)는 제1 그룹에 속한 제1 단말 기기로부터 수집된 데이터를 기초로 제1 업데이트용 분석 모델을 생성하고, 상기 제1 업데이트용 분석 모델을 상기 제1 그룹에 속한 에지 장치로 배포할 수 있다. 본 단계(S320, S330)에 대한 설명은 전술한 단계(S40, S50)를 더 참조하도록 한다.In steps S320 and S330, the server 100 generates and distributes an analysis model for update based on the affiliated group. For example, the server 100 generates a first analysis model for update based on data collected from the first terminal device belonging to the first group, and converts the first analysis model for update to an edge device belonging to the first group. can be distributed. For the description of these steps (S320, S330), refer to the above-described steps (S40, S50) further.

단계(S340)에서, 에지 장치(200)는 기존 분석 모델에 대한 업데이트를 수행하거나 보류한다. 즉, 본 단계(S340)에서 제1 에지 장치는 기존 분석 모델을 업데이트하고, 제2 에지 장치는 업데이트를 보류할 수 있다. 따라서, 업데이트가 진행됨에 따라, 각각의 에지 장치(200)가 이용하는 분석 모델은 점차 서로 달라질 수 있다. 본 단계(S340)에 대한 설명은 전술한 단계(S60)를 더 참조하도록 한다.In step S340 , the edge device 200 performs or withholds the update of the existing analysis model. That is, in this step S340 , the first edge device may update the existing analysis model, and the second edge device may withhold the update. Accordingly, as the update progresses, the analysis model used by each edge device 200 may gradually change from each other. For the description of this step (S340), refer to the above-described step (S60) further.

단계(S350)에서, 에지 장치(200)는 업데이트 수행 결과를 보고한다. 본 단계(S350)에 대한 설명은 전술한 단계(S70)를 더 참조하도록 한다.In step S350 , the edge device 200 reports the update performance result. For the description of this step (S350), refer to the above-described step (S70) further.

단계(S360)에서, 서버(100)는 복수의 에지 장치(200)로부터 수신된 업데이트 수행 결과에 기초하여 복수의 단말 기기(300)의 소속 그룹을 조정한다. 구체적으로, 서버(100)는 에지 장치(200)의 업데이트 수행 결과(e.g. 현재 이용중인 분석 모델 정보)에 기초하여 동일한 분석 모델을 이용하는 에지 장치(200)에 연결된 단말 기기(300)들이 동일한 그룹에 소속되도록 조정할 수 있다.In step S360 , the server 100 adjusts the group belonging to the plurality of terminal devices 300 based on the update execution results received from the plurality of edge devices 200 . Specifically, the server 100 determines that the terminal devices 300 connected to the edge device 200 using the same analysis model based on the update performance result (e.g., the currently used analysis model information) of the edge device 200 are in the same group. You can adjust it to fit in.

분석 모델을 기준으로 소속 그룹을 조정하는 이유는 동일한 분석 모델이 적용되는 단말 기기(300)들은 서로 유사한 특성을 가지고 있을 확률이 높기 때문이다. 가령, 상기 분석 모델이 이상 여부를 판단하는 모델이라고 할 때, 동일한 분석 모델이 적용되는 단말 기기(300)들은 이상 여부를 판단하는 기준이 매우 유사하다는 것을 의미한다. 따라서, 유사한 특성을 지닌 단말 기기(300)들끼리 그룹이 형성되면, 일괄적인 관리가 가능한 바 관리의 편의성이 증대될 수 있다. 게다가, 서버(100)는 유사한 특성을 지닌 단말 기기(300)들의 데이터를 기초로 업데이트용 분석 모델을 생성하여 배포할 수 있는 바, 데이터 분석의 정확도가 더욱 향상될 수 있다.The reason for adjusting the belonging group based on the analysis model is that the terminal devices 300 to which the same analysis model is applied have a high probability of having similar characteristics. For example, when the analysis model is a model for determining whether the analysis model is abnormal, it means that the terminal devices 300 to which the same analysis model is applied have very similar criteria for determining whether the analysis model is abnormal. Accordingly, when a group is formed among the terminal devices 300 having similar characteristics, the convenience of managing the bar can be increased for collective management. In addition, the server 100 can generate and distribute an analysis model for update based on data of the terminal devices 300 having similar characteristics, so that the accuracy of data analysis can be further improved.

몇몇 실시예에서, 서버(100)는 미리 설정된 조건이 만족됨에 응답하여 단말 기기(300)의 소속 그룹을 조정할 수 있다. 예를 들어, 서버(100)는 기 설정된 주기마다 복수의 단말 기기(300)의 소속 그룹을 조정할 수 있다. 다른 예를 들어, 서버(100)는 동일한 그룹에 속한 에지 장치(200)의 분석 모델이 일정 수준 이상 달라진 경우, 해당 그룹에 속한 단말 기기(300)의 소속을 조정할 수 있다.In some embodiments, the server 100 may adjust the affiliation group of the terminal device 300 in response to a preset condition being satisfied. For example, the server 100 may adjust the group belonging to the plurality of terminal devices 300 every preset period. For another example, when the analysis model of the edge device 200 belonging to the same group is changed by a certain level or more, the server 100 may adjust the belonging of the terminal device 300 belonging to the corresponding group.

지금까지 도 16을 참조하여 본 발명의 일 실시예에 따른 기기 그룹 조정 방법에 대하여 설명하였다. 이하에서는, 보다 이해의 편의를 제공하기 위해, 도 17 및 도 18을 참조하여 계층 구조를 갖는 데이터 분석 시스템에서 기기 그룹의 조정이 일어나는 과정에 대하여 설명하도록 한다.So far, a device group adjustment method according to an embodiment of the present invention has been described with reference to FIG. 16 . Hereinafter, in order to provide more convenience of understanding, a process in which a device group is adjusted in a data analysis system having a hierarchical structure will be described with reference to FIGS. 17 and 18 .

도 17은 전술한 몇몇 실시예들에 따른 분석 모델 업데이트 결과를 도시한다. 도 17에서 음영 표시된 에지 장치(#1 내지 #3, #7)는 그룹 조정의 대상이 되는 단말 기기(#1 내지 #3, #7)와 연결된 에지 장치를 의미한다.17 illustrates an analysis model update result according to some embodiments described above. In FIG. 17 , the shaded edge devices #1 to #3 and #7 mean edge devices connected to the terminal devices #1 to #3 and #7 that are the target of group adjustment.

도 17을 참조하면, 에지 장치(#3)는 같은 그룹(571)에 속한 다른 에지 장치(#1, #2)와 다른 분석 모델을 이용하고 있다. 가령, 에지 장치(#3)는 자체적으로 분석 모델을 생성하여 업데이트한 것일 수 있다. 또한, 에지 장치(#3)에 의해 생성된 분석 모델은 서버(100)를 통해 다른 에지 장치(#1, #2)에도 배포되었을 것이나, 에지 장치(#1, #2)는 기존 분석 모델의 성능이 더 우수하여 업데이트를 수행하지 않은 것일 수 있다.Referring to FIG. 17 , an edge device #3 uses a different analysis model from other edge devices #1 and #2 belonging to the same group 571 . For example, the edge device #3 may generate and update an analysis model by itself. In addition, the analysis model generated by the edge device (#3) would have been distributed to other edge devices (#1, #2) through the server 100, but the edge devices (#1, #2) are the existing analysis models. It is possible that the update was not performed due to better performance.

그룹(577)에 속한 에지 장치(#7)는 에지 장치(#8)보다 더 범용적인 분석 모델을 이용하고 있다. 이는, 그룹(577)의 데이터를 기초로 생성된 업데이트용 분석 모델이 그룹(577)에 속한 에지 장치(#7, #8)에게 배포되었으나, 에지 장치(#7)는 기존 분석 모델의 성능이 더 우수하여 업데이트를 수행하지 않은 것일 수 있다. 또한, 에지 장치(#8)는 상기 업데이트용 분석 모델의 성능이 더 우수하여 업데이트를 수행한 것일 수 있다.The edge device #7 belonging to the group 577 uses a more general analysis model than the edge device #8. In this case, the analysis model for update generated based on the data of the group 577 was distributed to the edge devices #7 and #8 belonging to the group 577, but the edge device #7 had poor performance of the existing analysis model. It may be better that you haven't done the update. Also, the edge device #8 may have performed the update because the performance of the analysis model for update is better.

도 17에 도시된 바와 같이, 모델 업데이트가 수행됨에 따라 동일한 그룹에 속한 에지 장치들의 분석 모델이 점차 서로 달라지게 되는 것을 알 수 있다. 이와 같은 경우, 서버(100)는 분석 모델을 기준으로 에지 장치(#1 내지 #8)에 연결된 단말 기기(#1 내지 #8)의 소속 그룹을 조정할 수 있다.As shown in FIG. 17 , as the model update is performed, it can be seen that the analysis models of edge devices belonging to the same group are gradually changed from each other. In this case, the server 100 may adjust the group belonging to the terminal devices #1 to #8 connected to the edge devices #1 to #8 based on the analysis model.

도 18은 서버(100)가 단말 기기(#1 내지 #8)의 소속 그룹을 조정한 결과를 도시한다.18 illustrates a result of the server 100 adjusting the group belonging to the terminal devices #1 to #8.

도 18에 도시된 바와 같이, 그룹(571) 내에서 에지 장치(#1 내지 #3)의 분석 모델이 달라진 경우, 해당 그룹(571)의 하위 계층에 새로운 그룹(581, 583)이 생성될 수 있다. 이와 같은 그룹 조정 결과에 따르면, 서버(100)는 그룹(581)의 데이터를 기초로 업데이트용 분석 모델을 생성하고, 생성된 업데이트용 분석 모델을 에지 장치(#1, #2)로 배포할 수 있게 된다. 여기서, 상기 업데이트용 분석 모델은 에지 장치(#1, #2)의 분석 모델보다 더 특화된 모델인 바, 그룹 조정 결과로 데이터 분석의 정확도가 더욱 향상될 수 있게 된다.As shown in FIG. 18 , when the analysis model of the edge devices #1 to #3 within the group 571 is changed, new groups 581 and 583 may be created in the lower layer of the corresponding group 571 . have. According to the group adjustment result, the server 100 may generate an analysis model for update based on the data of the group 581 and distribute the generated analysis model for update to the edge devices #1 and #2. there will be Here, the update analysis model is a more specialized model than the analysis model of the edge devices #1 and #2, so that the accuracy of data analysis can be further improved as a result of group adjustment.

에지 장치(#4, #5)의 경우, 동일한 분석 모델을 이용하고 있으므로, 서버(100)는 단말 기기(#4, #5)에 대해서는 소속 그룹을 조정하지 않는다.In the case of the edge devices #4 and #5, since the same analysis model is used, the server 100 does not adjust the group belonging to the terminal devices #4 and #5.

에지 장치(#6)는 단독으로 그룹(575)에 소속되어 있는 바, 단말 기기(#6)에 대해서는 별도의 그룹 조정이 수행될 필요가 없다.Since the edge device #6 belongs to the group 575 alone, there is no need to separately perform group adjustment for the terminal device #6.

그룹(577)에 속한 에지 장치(#7, #8)는 서로 다른 분석 모델을 이용하므로, 서버(100)는 단말 기기(#7, #8)의 소속 그룹을 조정한다. 구체적으로, 서버(100)는 에지 장치(#7)와 동일한 분석 모델을 이용하는 에지 장치(#6)의 소속 그룹이 그룹(575)인 것을 확인하고, 단말 기기(#7)가 그룹(575)에 소속되도록 조정한다. 이와 같은 그룹 조정 결과에 따르면, 서버(100)는 그룹(575)의 데이터를 기초로 업데이트용 분석 모델을 생성하고, 생성된 업데이트용 분석 모델을 에지 장치(#6, #7)로 배포할 수 있게 된다. 여기서, 상기 업데이트용 분석 모델은 에지 장치(#6, #7)의 분석 모델보다 더 특화된 모델인 바, 그룹 조정 결과로 데이터 분석의 정확도가 더욱 향상될 수 있게 된다.Since the edge devices #7 and #8 belonging to the group 577 use different analysis models, the server 100 adjusts the group belonging to the terminal devices #7 and #8. Specifically, the server 100 confirms that the group belonging to the edge device #6 using the same analysis model as the edge device #7 is the group 575, and the terminal device #7 is the group 575. adjust to belong to According to this group adjustment result, the server 100 may generate an analysis model for update based on the data of the group 575 and distribute the generated analysis model for update to the edge devices (#6, #7). there will be Here, the update analysis model is a more specialized model than the analysis model of the edge devices #6 and #7, so that the accuracy of data analysis can be further improved as a result of group adjustment.

한편, 신규 단말 기기 또는 신규 에지 장치가 데이터 분석 시스템에 동적으로 참여하는 경우가 있을 수 있다. 가령, 신규 단말 기기가 참여한다고 가정하자. 이와 같은 경우, 서버(100)는 상기 신규 단말 기기의 참여 요청에 응답하여 기 생성된 복수의 분석 모델을 상기 신규 단말 기기와 연결된 특정 에지 장치로 배포할 수 있다. 다음으로, 서버(100)는 상기 특정 에지 장치로부터 상기 기 생성된 복수의 분석 모델에 대한 성능 평가 결과를 획득할 수 있다. 구체적으로, 상기 특정 에지 장치는 상기 신규 단말 기기의 데이터로 상기 기 생성된 복수의 분석 모델 각각에 대한 성능 평가를 수행하고, 성능 평가 결과를 서버(100)로 전달할 수 있다. 그러면, 서버(100)는 상기 획득된 성능 평가 결과에 기초하여 상기 신규 단말 기기의 소속 그룹을 결정할 수 있다. 예를 들어, 상기 기 생성된 복수의 분석 모델 중에서 제1 분석 모델의 성능이 가장 우수한 경우, 서버(100)는 상기 제1 분석 모델이 적용되는 그룹에 상기 신규 단말 기기를 참여시킬 수 있다. 신규 에지 장치가 동적으로 참여하는 경우에도, 위와 유사한 과정에 따라 소속 그룹이 결정될 수 있다.On the other hand, there may be a case where a new terminal device or a new edge device dynamically participates in the data analysis system. For example, it is assumed that a new terminal device participates. In this case, the server 100 may distribute a plurality of pre-generated analysis models in response to the request for participation of the new terminal device to a specific edge device connected to the new terminal device. Next, the server 100 may obtain a performance evaluation result for the plurality of pre-generated analysis models from the specific edge device. Specifically, the specific edge device may perform a performance evaluation on each of the plurality of pre-generated analysis models with the data of the new terminal device, and transmit the performance evaluation result to the server 100 . Then, the server 100 may determine the affiliation group of the new terminal device based on the obtained performance evaluation result. For example, when the performance of the first analysis model is the best among the plurality of previously generated analysis models, the server 100 may join the new terminal device to a group to which the first analysis model is applied. Even when a new edge device participates dynamically, a membership group may be determined according to a process similar to the above.

지금까지 도 17 및 도 18을 참조하여 계층 구조를 갖는 데이터 분석 시스템에서 기기 그룹의 조정이 일어나는 과정에 대하여 설명하였다. 이하에서는, 도 19을 참조하여 본 발명의 기술적 사상이 IoT 플랫폼에 활용된 예에 대하여 간략하게 언급하도록 한다. 특히 도 19는 IoT 플랫폼 기반으로 스마트 빌딩 관리 시스템이 구축된 것을 예시하고 있다.So far, the process of adjusting the device group in the data analysis system having a hierarchical structure has been described with reference to FIGS. 17 and 18 . Hereinafter, an example in which the technical idea of the present invention is utilized in an IoT platform will be briefly mentioned with reference to FIG. 19 . In particular, FIG. 19 exemplifies that a smart building management system is built based on the IoT platform.

도 19에 도시된 바와 같이, 상기 스마트 빌딩 관리 시스템은 서버(600), 복수의 IoT 게이트웨이(611, 631, 651)와 복수의 IoT 기기(613, 633, 663)를 포함할 수 있다. 이때, 제1 빌딩(610)에 제1 IoT 게이트웨이(611)와 제1 복수의 IoT 기기(613)들이 설치되고, 제2 빌딩(630)에 제2 IoT 게이트웨이(631)와 제2 복수의 IoT 기기(633)들이 설치될 수 있다. 또한, 제3 빌딩(650)에 제3 IoT 게이트웨이(651)와 제3 복수의 IoT 기기(653)들이 설치될 수 있다.19 , the smart building management system may include a server 600 , a plurality of IoT gateways 611 , 631 , and 651 , and a plurality of IoT devices 613 , 633 , 663 . In this case, the first IoT gateway 611 and the first plurality of IoT devices 613 are installed in the first building 610 , and the second IoT gateway 631 and the second plurality of IoT devices are installed in the second building 630 . Devices 633 may be installed. Also, a third IoT gateway 651 and a plurality of third IoT devices 653 may be installed in the third building 650 .

서버(600)는 전술한 본 발명의 실시예들에 따른 서버(100)에 대응될 수 있다. 복수의 IoT 게이트웨이(611, 631, 651) 각각은 전술한 본 발명의 실시예들에 따른 에지 장치(200)에 대응될 수 있다. 복수의 IoT 기기(613, 633, 663)들은 전술한 단말 기기(300)에 대응될 수 있다.The server 600 may correspond to the server 100 according to the above-described embodiments of the present invention. Each of the plurality of IoT gateways 611 , 631 , and 651 may correspond to the edge device 200 according to the above-described embodiments of the present invention. The plurality of IoT devices 613 , 633 , and 663 may correspond to the aforementioned terminal device 300 .

상기 스마트 빌딩 관리 시스템이 제공하는 기능은 분석 모델의 종류에 따라 얼마든지 달라질 수 있다.The functions provided by the smart building management system may vary according to the type of analysis model.

예를 들어, 상기 스마트 빌딩 관리 시스템은 IoT 기기(613, 633, 663)로부터 수집된 센서 데이터를 분석하여 빌딩(610, 630, 650)의 에너지 사용량을 예측하고, 빌딩의 에너지 사용량이 절감되도록 IoT 기기(613, 633, 653) 또는 각종 설비들을 제어하는 시스템일 수 있다. 이와 같은 경우, 서버(600)는 상기 수집된 센서 데이터를 분석하여 빌딩의 에너지 사용량을 예측하는 분석 모델을 각 IoT 게이트웨이(611, 631, 651)로 배포할 수 있다.For example, the smart building management system analyzes sensor data collected from the IoT devices 613 , 633 , and 663 to predict the energy use of the buildings 610 , 630 , and 650 , and to reduce the energy use of the building IoT. It may be a system for controlling the devices 613 , 633 , 653 or various facilities. In this case, the server 600 may distribute the analysis model for predicting the energy use of the building by analyzing the collected sensor data to each IoT gateway 611 , 631 , and 651 .

다른 예를 들어, 상기 스마트 빌딩 관리 시스템은 빌딩 내 설비의 오작동과 같은 긴급 상황을 실시간으로 감지하고 대처하는 시스템일 수 있다. 이와 같은 경우, 서버(600)는 IoT 기기(613, 633, 653)로부터 수집된 센서 데이터를 분석하여 IoT 기기(613, 633, 653) 또는 각종 설비의 이상 여부를 예측하는 분석 모델을 각 IoT 게이트웨이(611, 631, 651)로 배포할 수 있다.As another example, the smart building management system may be a system that detects and responds to emergency situations such as malfunction of equipment in a building in real time. In this case, the server 600 analyzes the sensor data collected from the IoT devices 613 , 633 , and 653 to generate an analysis model for predicting whether the IoT devices 613 , 633 , 653 or various facilities are abnormal for each IoT gateway. (611, 631, 651).

본 발명의 몇몇 실시예들에 따르면, 서버(600) 단에서 데이터 분석 및 예측이 수행되는 것이 아니라, IoT 게이트웨이(611, 631, 651) 단에서 데이터 분석 및 예측이 수행될 수 있다. 따라서, 서버(600)의 부담이 크게 경감되고, 데이터 분석 및 예측이 신속하게 수행되어 이상 상황에 대한 즉각적인 대응이 이루어질 수 있다.According to some embodiments of the present invention, data analysis and prediction may be performed at the IoT gateways 611 , 631 , and 651 rather than data analysis and prediction at the server 600 end. Accordingly, the load on the server 600 is greatly reduced, and data analysis and prediction are performed quickly, so that an immediate response to an abnormal situation can be made.

또한, 본 발명의 몇몇 실시예들에 따르면, 서버(600)는 점진적으로 각 IoT 기기(613, 633, 653)에 특화된 업데이트용 분석 모델을 IoT 게이트웨이(611, 631, 651)로 배포할 수 있다. 이에 따라, 데이터 분석의 정확도가 더욱 향상될 수 있다. 가령, 동일한 IoT 기기라고 하더라도 설치된 빌딩(610, 630, 650)의 환경적 영향으로 인해 IoT 기기 데이터의 분석 기준이 미세하게 달라질 수 있다. 따라서, 동일한 IoT 기기라고 하더라도 주변 환경 등을 고려하여 맞춤화된 분석 모델이 배포되는 경우, 데이터 분석의 정확도는 향상될 수 있는 것이다.In addition, according to some embodiments of the present invention, the server 600 may gradually distribute an update analysis model specialized for each IoT device 613 , 633 , 653 to the IoT gateways 611 , 631 , 651 . . Accordingly, the accuracy of data analysis may be further improved. For example, even with the same IoT device, the analysis criteria of IoT device data may be slightly different due to the environmental impact of the installed buildings 610 , 630 , and 650 . Therefore, even for the same IoT device, when a customized analysis model is distributed in consideration of the surrounding environment, the accuracy of data analysis may be improved.

또한, 본 발명의 몇몇 실시예들에 따르면, IoT 기기(613, 633, 653)에 대한 초기 그룹이 설정되고, 서버(600)는 IoT 게이트웨이(611, 631, 651)의 모델 업데이트 결과에 기초하여 IoT 기기(613, 633, 653)의 소속 그룹을 조정할 수 있다. 이에 따라, 유사한 특성을 가진 IoT 기기(613, 633, 653)이 새롭게 그룹을 형성하게 되는 바, 관리의 용이성이 증대될 수 있다, 또한, 서버(600)는 유사한 특성을 가진 IoT 기기(613, 633, 653)들의 데이터를 종합하여 업데이트용 분석 모델을 생성하고 재배포할 것인 바, 전반적인 데이터 분석의 정확도가 더욱 향상될 수 있다.In addition, according to some embodiments of the present invention, an initial group for the IoT devices 613 , 633 , and 653 is set, and the server 600 is based on the model update result of the IoT gateways 611 , 631 , 651 . A group belonging to the IoT devices 613 , 633 , and 653 may be adjusted. Accordingly, as the IoT devices 613, 633, and 653 having similar characteristics are newly formed as a group, the ease of management can be increased. 633, 653) data are synthesized to generate and redistribute an analysis model for update, so that the accuracy of overall data analysis can be further improved.

지금까지 도 19를 참조하여 본 발명의 기술적 사상이 IoT 플랫폼에 활용된 예에 대하여 간략하게 살펴보았다.Up to now, an example in which the technical idea of the present invention is utilized in an IoT platform has been briefly reviewed with reference to FIG. 19 .

지금까지 도 1 내지 도 19를 참조하여 본 발명의 몇몇 실시예들 및 그 실시예들에 따른 효과들을 언급하였다. 본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.So far, some embodiments of the present invention and effects according to the embodiments have been described with reference to FIGS. 1 to 19 . Effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

지금까지 도 1 내지 도 19를 참조하여 설명된 본 발명의 개념은 컴퓨터가 읽을 수 있는 매체 상에 컴퓨터가 읽을 수 있는 코드로 구현될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체는, 예를 들어 이동형 기록 매체(CD, DVD, 블루레이 디스크, USB 저장 장치, 이동식 하드 디스크)이거나, 고정식 기록 매체(ROM, RAM, 컴퓨터 구비 형 하드 디스크)일 수 있다. 상기 컴퓨터로 읽을 수 있는 기록 매체에 기록된 상기 컴퓨터 프로그램은 인터넷 등의 네트워크를 통하여 다른 컴퓨팅 장치에 전송되어 상기 다른 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 다른 컴퓨팅 장치에서 사용될 수 있다.The concept of the present invention described so far with reference to FIGS. 1 to 19 may be implemented as computer readable code on a computer readable medium. The computer-readable recording medium may be, for example, a removable recording medium (CD, DVD, Blu-ray disk, USB storage device, removable hard disk) or a fixed recording medium (ROM, RAM, computer-equipped hard disk). can The computer program recorded in the computer-readable recording medium may be transmitted to another computing device through a network such as the Internet and installed in the other computing device, thereby being used in the other computing device.

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다.In the above, even though all the components constituting the embodiment of the present invention are described as being combined or operating in combination, the present invention is not necessarily limited to this embodiment. That is, within the scope of the object of the present invention, all of the components may operate by selectively combining one or more.

도면에서 동작들이 특정한 순서로 도시되어 있지만, 반드시 동작들이 도시된 특정한 순서로 또는 순차적 순서로 실행되어야만 하거나 또는 모든 도시 된 동작들이 실행되어야만 원하는 결과를 얻을 수 있는 것으로 이해되어서는 안 된다. 특정 상황에서는, 멀티태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에 설명한 실시예들에서 다양한 구성들의 분리는 그러한 분리가 반드시 필요한 것으로 이해되어서는 안 되고, 설명된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 다수의 소프트웨어 제품으로 패키지 될 수 있음을 이해하여야 한다.Although acts are shown in a particular order in the drawings, it should not be understood that the acts must be performed in the specific order or sequential order shown, or that all depicted acts must be performed to obtain a desired result. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of the various components in the embodiments described above should not be construed as necessarily requiring such separation, and the program components and systems described may generally be integrated together into a single software product or packaged into multiple software products. It should be understood that there is

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing the technical spirit or essential features. can understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the equivalent range should be construed as being included in the scope of the present invention.

Claims (17)

복수의 그룹을 형성하는 복수의 단말 기기 중 적어도 일부로부터 수집된 데이터를 기초로 업데이트용 분석 모델을 생성하고 배포하는 서버; 및
상기 복수의 단말 기기 중 적어도 일부와 연결되고, 상기 서버로부터 상기 업데이트용 분석 모델을 수신함에 응답하여, 기존 분석 모델과 상기 업데이트용 분석 모델에 대한 성능 평가를 수행하며, 상기 성능 평가 결과에 기초하여 상기 기존 분석 모델에 대한 업데이트 수행 여부를 결정하는 복수의 에지 장치를 포함하되,
상기 서버는,
상기 복수의 에지 장치의 분석 모델 업데이트 수행 결과에 기초하여, 상기 복수의 단말 기기 중 적어도 일부의 소속 그룹을 조정하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
a server for generating and distributing an analysis model for update based on data collected from at least some of a plurality of terminal devices forming a plurality of groups; and
It is connected to at least some of the plurality of terminal devices, and in response to receiving the analysis model for update from the server, performs performance evaluation on the existing analysis model and the analysis model for update, based on the performance evaluation result A plurality of edge devices that determine whether to perform an update to the existing analysis model,
The server is
based on a result of performing the update of the analysis model of the plurality of edge devices, characterized in that at least a part of the group belonging to the plurality of terminal devices is adjusted,
Edge computing based data analysis system.
제1 항에 있어서,
상기 서버는,
상기 복수의 에지 장치 중에서 상기 업데이트용 분석 모델로 업데이트를 수행한 에지 장치를 선별하고, 상기 선별된 에지 장치에 연결된 단말 기기가 동일한 그룹에 소속되도록 상기 복수의 단말 기기의 소속 그룹을 조정하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
The method of claim 1,
The server is
Selecting an edge device that has been updated with the analysis model for update from among the plurality of edge devices, and adjusting the belonging group of the plurality of terminal devices so that the terminal devices connected to the selected edge devices belong to the same group to do,
Edge computing based data analysis system.
제1 항에 있어서,
상기 기존 분석 모델은 상기 복수의 단말 기기 전부로부터 수집된 데이터에 기초하여 생성된 모델이고,
상기 업데이트용 분석 모델은 상기 복수의 단말 기기 중 일부로부터 수집된 데이터에 기초하여 생성된 모델인 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
The method of claim 1,
The existing analysis model is a model generated based on data collected from all of the plurality of terminal devices,
The update analysis model is a model generated based on data collected from some of the plurality of terminal devices,
Edge computing based data analysis system.
제1 항에 있어서,
상기 기존 분석 모델은 상기 복수의 단말 기기 중 적어도 일부로부터 제1 기간 동안 수집된 데이터에 기초하여 생성된 모델이고,
상기 업데이트용 분석 모델은 상기 복수의 단말 기기 중 적어도 일부로부터 상기 제1 기간 이후에 수집된 데이터에 기초하여 생성된 모델인 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
The method of claim 1,
The existing analysis model is a model generated based on data collected during a first period from at least some of the plurality of terminal devices,
The analysis model for update is a model generated based on data collected after the first period from at least some of the plurality of terminal devices,
Edge computing based data analysis system.
제1 항에 있어서,
상기 복수의 그룹은 계층적 구조로 구성되고,
상기 복수의 그룹 중 제1 그룹은 상기 제1 그룹의 하위 계층 그룹인 제2 그룹에 소속된 단말 기기를 포함하며,
상기 서버는,
상기 제1 그룹의 단말 기기로부터 수집된 데이터를 기초로 생성된 제1 업데이트용 분석 모델을 상기 복수의 에지 장치 중 상기 제1 그룹의 단말 기기와 연결된 에지 장치로 배포하고,
상기 제2 그룹의 단말 기기로부터 수집된 데이터를 기초로 생성된 제2 업데이트용 분석 모델을 상기 복수의 에지 장치 중 상기 제2 그룹의 단말 기기와 연결된 에지 장치로 배포하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
The method of claim 1,
The plurality of groups are configured in a hierarchical structure,
A first group among the plurality of groups includes a terminal device belonging to a second group that is a lower hierarchical group of the first group,
The server is
Distributing a first update analysis model generated based on data collected from the first group of terminal devices to an edge device connected to the first group of terminal devices among the plurality of edge devices,
Distributing a second update analysis model generated based on data collected from the second group of terminal devices to an edge device connected to the second group of terminal devices among the plurality of edge devices,
Edge computing based data analysis system.
제1 항에 있어서,
상기 서버는,
신규 단말 기기의 참여 요청에 응답하여, 기 생성된 복수의 분석 모델을 상기 신규 단말 기기와 연결된 제1 에지 장치로 배포하고, 상기 제1 에지 장치로부터 상기 기 생성된 복수의 분석 모델에 대한 성능 평가 결과를 획득하며, 상기 획득된 성능 평가 결과에 기초하여 상기 신규 단말 기기의 소속 그룹을 결정하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
The method of claim 1,
The server is
In response to a request for participation of a new terminal device, a plurality of pre-generated analysis models are distributed to a first edge device connected to the new terminal device, and performance evaluation of the plurality of analysis models generated from the first edge device Obtaining a result, characterized in that the group belonging to the new terminal device is determined based on the obtained performance evaluation result,
Edge computing based data analysis system.
제1 항에 있어서,
상기 복수의 에지 장치 중 제1 에지 장치는,
기 저장된 평가용 데이터를 이용하여 상기 기존 분석 모델과 상기 업데이트용 분석 모델에 대한 성능 평가를 수행하되,
상기 기 저장된 평가용 데이터는 거짓 긍정(false positive) 오류 또는 거짓 부정(false negative) 오류가 발생한 데이터를 포함하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
The method of claim 1,
A first edge device among the plurality of edge devices,
Perform performance evaluation on the existing analysis model and the update analysis model using the previously stored evaluation data,
The pre-stored evaluation data is characterized in that it includes data in which a false positive error or a false negative error occurs,
Edge computing based data analysis system.
제1 항에 있어서,
상기 복수의 에지 장치 중 제1 에지 장치는,
가용 리소스가 임계치 이상이라는 판정에 응답하여, 상기 제1 에지 장치에 연결된 단말 기기로부터 수집된 데이터를 기초로 제1 업데이트용 분석 모델을 직접 생성하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
The method of claim 1,
A first edge device among the plurality of edge devices,
Directly generating an analysis model for a first update based on data collected from a terminal device connected to the first edge device in response to determining that the available resources are above a threshold,
Edge computing based data analysis system.
제8 항에 있어서,
상기 제1 에지 장치는,
상기 서버를 통해 상기 제1 업데이트용 분석 모델을 상기 복수의 에지 장치 중 제2 에지 장치와 공유하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
9. The method of claim 8,
The first edge device,
characterized in that the first update analysis model is shared with a second edge device among the plurality of edge devices through the server,
Edge computing based data analysis system.
타깃 단말 기기를 포함하는 복수의 단말 기기 중 적어도 일부로부터 수집된 데이터를 기초로 분석 모델을 생성하고 배포하는 서버; 및
상기 타깃 단말 기기와 연결되고, 상기 타깃 단말 기기로부터 데이터를 수집하여 상기 서버로 전달하고, 상기 서버에 의해 배포된 분석 모델을 이용하여 상기 타깃 단말 기기로부터 수신된 데이터를 분석하는 에지 장치를 포함하되,
상기 서버는,
상기 복수의 단말 기기로부터 수집된 데이터를 기초로 상기 복수의 단말 기기와 연관된 범용 분석 모델을 생성하여 상기 에지 장치로 배포하고, 모델 업데이트 조건이 만족되었다는 판정에 응답하여 상기 타깃 단말 기기로부터 수집된 데이터를 기초로 상기 타깃 단말 기기와 연관된 업데이트용 분석 모델을 생성하여 상기 에지 장치로 배포하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
a server for generating and distributing an analysis model based on data collected from at least some of a plurality of terminal devices including a target terminal device; and
an edge device connected to the target terminal device, collecting data from the target terminal device, transmitting the data to the server, and analyzing data received from the target terminal device using an analysis model distributed by the server ,
The server is
A general-purpose analysis model associated with the plurality of terminal devices is generated based on the data collected from the plurality of terminal devices and distributed to the edge device, and data collected from the target terminal device in response to a determination that a model update condition is satisfied Based on the generation of an analysis model for update associated with the target terminal device, characterized in that the distribution to the edge device,
Edge computing based data analysis system.
제10 항에 있어서,
상기 에지 장치는,
상기 범용 분석 모델에 의해 거짓 긍정 오류 또는 거짓 부정 오류가 발생한 제1 데이터를 상기 서버에게 전달하고,
상기 서버는,
상기 타깃 단말 기기로부터 수집된 데이터 중에서 상기 제1 데이터에 더 높은 가중치를 부여하고, 상기 부여된 가중치를 기초로 학습을 수행하여 상기 업데이트용 분석 모델을 생성하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
11. The method of claim 10,
The edge device,
transmits the first data in which a false positive error or a false negative error occurs to the server by the general-purpose analysis model;
The server is
Characterized in that a higher weight is given to the first data among the data collected from the target terminal device, and the analysis model for the update is generated by performing learning based on the assigned weight,
Edge computing based data analysis system.
제10 항에 있어서,
상기 모델 업데이트 조건은 상기 에지 장치로부터 상기 범용 분석 모델에 대한 업데이트 요청 메시지가 수신되는 것이고,
상기 에지 장치는,
상기 타깃 단말 기기로부터 수신된 데이터를 상기 범용 분석 모델에 적용하여 예측 결과를 출력하고, 상기 예측 결과에 오류가 존재한다는 판정에 응답하여 업데이트 지수를 증가시키며, 상기 증가된 업데이트 지수가 임계치 이상이라는 판정에 응답하여 상기 서버로 상기 업데이트 요청 메시지를 전송하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
11. The method of claim 10,
The model update condition is that an update request message for the universal analysis model is received from the edge device,
The edge device,
applying the data received from the target terminal device to the general-purpose analysis model to output a prediction result, increasing the update index in response to determining that an error exists in the prediction result, and determining that the increased update index is greater than or equal to a threshold Characterized in transmitting the update request message to the server in response to,
Edge computing based data analysis system.
제12 항에 있어서,
상기 에지 장치는,
상기 오류가 미리 설정된 특정 오류에 해당한다는 판정에 응답하여, 상기 업데이트 지수에 관계없이 상기 서버로 상기 업데이트 요청 메시지를 전송하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
13. The method of claim 12,
The edge device,
In response to determining that the error corresponds to a preset specific error, transmitting the update request message to the server regardless of the update index,
Edge computing based data analysis system.
제10 항에 있어서,
상기 모델 업데이트 조건은 상기 에지 장치로부터 상기 범용 분석 모델에 대한 업데이트 요청 메시지가 수신되는 것이고,
상기 범용 분석 모델은 상기 복수의 단말 기기로부터 제1 기간 동안 수집된 데이터에 기초하여 생성된 분석 모델이며,
상기 서버는,
상기 업데이트 요청 메시지가 수신된 경우, 상기 타깃 단말 기기로부터 수집된 데이터의 양이 임계치 미만인지 여부를 판정하고, 상기 임계치 미만이라는 판정에 응답하여 상기 제1 기간 이후에 상기 복수의 단말 기기로부터 수집된 데이터를 기초로 상기 범용 분석 모델을 업데이트하며, 상기 업데이트된 범용 분석 모델을 상기 에지 장치로 배포하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
11. The method of claim 10,
The model update condition is that an update request message for the universal analysis model is received from the edge device,
The general-purpose analysis model is an analysis model generated based on data collected during a first period from the plurality of terminal devices,
The server is
When the update request message is received, it is determined whether the amount of data collected from the target terminal device is less than a threshold, and in response to the determination that the amount of data is less than the threshold, collected from the plurality of terminal devices after the first period updating the general-purpose analysis model based on data, and distributing the updated general-purpose analysis model to the edge device,
Edge computing based data analysis system.
제10 항에 있어서,
상기 복수의 단말 기기는 계층 구조로 그룹핑된 복수의 그룹 중에서 제1 그룹에 속하고,
상기 타깃 단말 기기는 상기 제1 그룹의 하위 계층 그룹인 제2 그룹에 속하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
11. The method of claim 10,
The plurality of terminal devices belong to a first group among a plurality of groups grouped in a hierarchical structure,
The target terminal device is characterized in that it belongs to a second group that is a lower hierarchical group of the first group,
Edge computing based data analysis system.
제15 항에 있어서,
상기 데이터 분석 시스템은 상기 에지 장치 외에 상기 복수의 단말 기기 중 일부와 연결된 다른 에지 장치를 더 포함하고,
상기 서버는,
상기 범용 분석 모델을 상기 다른 에지 장치에게도 배포하고, 상기 업데이트용 분석 모델은 상기 에지 장치에게만 배포하는 것을 특징으로 하는,
에지 컴퓨팅 기반 데이터 분석 시스템.
16. The method of claim 15,
The data analysis system further includes other edge devices connected to some of the plurality of terminal devices in addition to the edge devices,
The server is
Distributing the general-purpose analysis model also to the other edge devices, and distributing the analysis model for update only to the edge devices,
Edge computing based data analysis system.
타깃 단말 기기를 포함하는 복수의 단말 기기 중 적어도 일부와 연결된 복수의 에지 장치와 통신하는 통신 인터페이스;
하나 이상의 인스트럭션들(instructions)을 저장하는 메모리; 및
상기 하나 이상의 인스트럭션들을 실행함으로써,
상기 복수의 단말 기기로부터 수집된 데이터를 기초로 범용 분석 모델을 생성하고, 상기 범용 분석 모델을 상기 복수의 단말 기기와 연결된 에지 장치로 배포하며, 타깃 모델 생성 조건이 만족됨에 응답하여, 상기 타깃 단말 기기로부터 수집된 데이터를 기초로 타깃 분석 모델을 생성하고, 상기 타깃 분석 모델을 상기 타깃 단말 기기와 연결된 타깃 에지 장치로 배포하는 프로세서를 포함하는,
서버.
a communication interface for communicating with a plurality of edge devices connected to at least some of the plurality of terminal devices including the target terminal device;
a memory storing one or more instructions; and
By executing the one or more instructions,
Generating a general-purpose analysis model based on data collected from the plurality of terminal devices, and distributing the general-purpose analysis model to an edge device connected to the plurality of terminal devices, in response to a target model generation condition being satisfied, the target terminal A processor for generating a target analysis model based on data collected from a device and distributing the target analysis model to a target edge device connected to the target terminal device,
server.
KR1020180126929A 2018-10-23 2018-10-23 Data analysis system based on edge computing and method thereof KR102456900B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180126929A KR102456900B1 (en) 2018-10-23 2018-10-23 Data analysis system based on edge computing and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180126929A KR102456900B1 (en) 2018-10-23 2018-10-23 Data analysis system based on edge computing and method thereof

Publications (2)

Publication Number Publication Date
KR20200052403A KR20200052403A (en) 2020-05-15
KR102456900B1 true KR102456900B1 (en) 2022-10-19

Family

ID=70679050

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180126929A KR102456900B1 (en) 2018-10-23 2018-10-23 Data analysis system based on edge computing and method thereof

Country Status (1)

Country Link
KR (1) KR102456900B1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102317935B1 (en) * 2020-09-28 2021-10-28 한국생산기술연구원 Dualized closed-loop data analytics system
KR20220092227A (en) * 2020-12-24 2022-07-01 한국공학대학교산학협력단 Factory automation system based on distributed edge computing
KR102311787B1 (en) * 2021-01-06 2021-10-08 한전케이디엔주식회사 Apparatus and method for preventing performance degradation of ai model
CN113759854B (en) * 2021-09-18 2023-09-05 富联裕展科技(深圳)有限公司 Intelligent factory management and control system and method based on edge calculation
CN113642936B (en) * 2021-10-13 2022-09-09 中国电力科学研究院有限公司 Method, terminal and system for analyzing edge of demand side carbon flow

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160217388A1 (en) 2015-01-22 2016-07-28 Preferred Networks, Inc. Machine learning heterogeneous edge device, method, and system
US20180032915A1 (en) 2016-07-29 2018-02-01 Splunk Inc. Transmitting machine learning models to edge devices for edge analytics
US20180184232A1 (en) 2016-12-23 2018-06-28 Accenture Global Solutions Limited Detecting trigger conditions to dynamically update a model based on sensor data in a fog computing environment

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170112467A (en) 2016-03-31 2017-10-12 주식회사 이노템즈 Machine care system based iot sensor and operating method thereof
KR102071266B1 (en) * 2016-06-21 2020-01-30 한국전자통신연구원 Device and method for scent emission by multiple sensors
KR101995419B1 (en) * 2016-11-08 2019-07-02 한국전자통신연구원 System and method for location measurement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160217388A1 (en) 2015-01-22 2016-07-28 Preferred Networks, Inc. Machine learning heterogeneous edge device, method, and system
US20180032915A1 (en) 2016-07-29 2018-02-01 Splunk Inc. Transmitting machine learning models to edge devices for edge analytics
US20180184232A1 (en) 2016-12-23 2018-06-28 Accenture Global Solutions Limited Detecting trigger conditions to dynamically update a model based on sensor data in a fog computing environment

Also Published As

Publication number Publication date
KR20200052403A (en) 2020-05-15

Similar Documents

Publication Publication Date Title
KR102456900B1 (en) Data analysis system based on edge computing and method thereof
KR102154446B1 (en) Method for fast scheduling for resource balanced allocation on distributed and collaborative container platform environment
WO2018076791A1 (en) Resource load balancing control method and cluster scheduler
US9432257B2 (en) Traffic behavior driven dynamic zoning for distributed traffic engineering in SDN
US10051056B2 (en) Resource planning method, system, and apparatus for cluster computing architecture
AU2019201625B2 (en) Elastic storage volume type selection and optimization engine for public cloud environments
US10404616B2 (en) Virtual resource automatic selection system and method
JP2008225995A (en) Policy preparation support method, policy preparation support system, and program
US11669374B2 (en) Using machine-learning methods to facilitate experimental evaluation of modifications to a computational environment within a distributed system
CN106030536A (en) Method, computer program and node for management of resources
CN110162379B (en) Virtual machine migration method and device and computer equipment
US11416302B2 (en) Computer system and method for determining of resource allocation
US11310125B2 (en) AI-enabled adaptive TCA thresholding for SLA assurance
WO2019222941A1 (en) Method for evaluating application deployment, apparatus, computer program product, and readable medium
US11245545B2 (en) Implementation of internet of things-enabled connectivity devices for processing operation information of devices lacking network connectivity
JP6198628B2 (en) Independent control system, independent control device, independent control method and program
CN115658287A (en) Method, apparatus, medium, and program product for scheduling execution units
US10862803B2 (en) Repurposing a target endpoint to execute a management task
KR20140122966A (en) Apparatus and method for sharing topic between autonomic computing devices
CN114281474A (en) Resource adjusting method and device
JP6750498B2 (en) Control device, control method, control program, and control system
EP3599547A1 (en) Elastic storage volume type selection and optimization engine for public cloud environments
KR102439056B1 (en) Method and apparatus for node labeling
WO2023119623A1 (en) Management device, communication system, control method, and non-transitory computer-readable medium
KR102405933B1 (en) Platform system and method for managing execution of machine learning based on learning

Legal Events

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