KR102094933B1 - Edge-based Load-Shedding System for Fast-Data Analysis and the operating method thereof - Google Patents

Edge-based Load-Shedding System for Fast-Data Analysis and the operating method thereof Download PDF

Info

Publication number
KR102094933B1
KR102094933B1 KR1020160084537A KR20160084537A KR102094933B1 KR 102094933 B1 KR102094933 B1 KR 102094933B1 KR 1020160084537 A KR1020160084537 A KR 1020160084537A KR 20160084537 A KR20160084537 A KR 20160084537A KR 102094933 B1 KR102094933 B1 KR 102094933B1
Authority
KR
South Korea
Prior art keywords
edge
data
analysis server
server
information
Prior art date
Application number
KR1020160084537A
Other languages
Korean (ko)
Other versions
KR20170049367A (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 US15/227,583 priority Critical patent/US10091110B2/en
Publication of KR20170049367A publication Critical patent/KR20170049367A/en
Application granted granted Critical
Publication of KR102094933B1 publication Critical patent/KR102094933B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/23Bit dropping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 일면에 따른 엣지 기반 로드 쉐딩 시스템은 서버/엣지 분할 실행할 것을 결정하고, 하기 엣지 머신에 분석 애플리케이션의 일부 연산 모듈을 전송하고 오프로딩하도록 요청을 하고, 하기 엣지 머신으로부터 선처리 데이터를 수신하여 분석하는 분석 서버; 및 상기 분석 서버로부터 연산 모듈을 수신하여 오프로딩하고, 센서로부터 수집한 센서 데이터를 오프로딩된 연산 모듈을 이용하여 선처리하고, 선처리 데이터를 분석 서버에 전송하는 엣지 머신을 포함한다.The edge-based load shedding system according to an aspect of the present invention determines to perform server / edge partitioning, transmits some computational modules of the analysis application to the following edge machine, requests to offload, and receives preprocessing data from the following edge machine An analysis server to analyze; And an edge machine that receives and offloads the calculation module from the analysis server, preprocesses sensor data collected from the sensor using the offloaded calculation module, and transmits the preprocessing data to the analysis server.

Description

패스트 데이터 분석을 위한 엣지 기반 로드 쉐딩 시스템 및 그 운영방법{Edge-based Load-Shedding System for Fast-Data Analysis and the operating method thereof}Edge-based Load-Shedding System for Fast-Data Analysis and the operating method thereof

본 발명은 패스트 데이터 분석을 위한 서버/엣지 분할 실행에 기반한 로드 쉐딩 기법에 관한 것으로서, 사람과 사람 사이의 연결이 아닌 사물과 사물 사이의 연결을 의미하는 사물인터넷(Internet of Things: IoT)이 최대 화두가 되고 있으며, 이렇게 네트워크로 연결된 수많은 시스템에서 생성되는 데이터는 빅데이터(Big Data)를 넘어서 패스트 데이터(Fast Data) 환경으로 급속도로 변화하고 있다.The present invention relates to a load shedding technique based on server / edge segmentation execution for fast data analysis, and the Internet of Things (IoT), which means a connection between an object and an object, not a connection between a person and a person, is the maximum. It is becoming a hot topic, and data generated by a large number of networked systems is rapidly changing to a Fast Data environment beyond Big Data.

이러한 패스트 데이터 환경은 빅데이터와 달리 수집 데이터를 고속으로 적재하여, 실시간 또는 준 실시간으로 분석 결과를 고속으로 응답하는 특징을 가지고 있으며, 이러한 고속 데이터 처리에 필수적인 스트림 데이터 처리에 대한 다양한 기법들이 연구되고 있다. Unlike the big data, such a fast data environment loads collected data at high speed, and has a feature of responding to analysis results at high speed in real time or semi real time, and various techniques for stream data processing essential to such high speed data processing are being studied. have.

본 발명은 고속 스트림 데이터 처리 과정에서 응용을 보다 빠르게 분석하기 위해서 엣지 기반의 데이터 필터링 기법에 관한 것이다.The present invention relates to an edge-based data filtering technique in order to analyze an application more quickly in a high-speed stream data processing process.

최근 많은 분산 응용들이 사용되면서 지속적인 정보 흐름이 분산 시스템으로부터 발생하고 있다. 예를 들어 침입탐지 시스템에 사용되는 네트워크 트래픽 데이터, 센서 네트워크 데이터, 주식 시세 데이터 등이 대표적인 정보 흐름의 예이다. 정보 흐름에서 유용한 정보를 얻기 위해서는 이를 지속적으로 적시에 처리해야 하는데, 전통적인 데이터베이스 관리 시스템(DBMS)에서는 정보를 얻기 전에 먼저 데이터를 저장하고, 인덱스 등을 생성하는 과정을 거쳐야 하기 때문에 이러한 요구 사항을 충실히 수행하기가 어렵다. 대안으로, 데이터 스트림 관리 시스템(data stream management system: DSMS)이 있으며, 이를 통해 지속적으로 흘러 들어오는 데이터의 흐름에서 스트림 처리가 가능한 형태의 시스템이 널리 사용되고 있다.As many distributed applications have been used in recent years, continuous information flow has been generated from distributed systems. For example, network traffic data, sensor network data, and stock quote data used in intrusion detection systems are examples of typical information flows. In order to obtain useful information from the information flow, it must be continuously processed in a timely manner. In a traditional database management system (DBMS), this requirement is faithfully fulfilled because data must be stored and indexed before being acquired. It is difficult to perform. As an alternative, there is a data stream management system (DSMS), through which a system capable of stream processing in a continuously flowing data stream is widely used.

센서 데이터의 특성상, 일반적인 원시 데이터를 바로 분석 애플리케이션에 적용하기는 어려우며, 원시 데이터를 가공, 정제, 적재하는 과정을 사전에 거쳐야 하는 초기 선처리(preprocessing) 과정을 거치게 된다.Due to the nature of the sensor data, it is difficult to apply general raw data directly to an analysis application, and it undergoes an initial preprocessing process in which raw data must be processed, purified, and loaded in advance.

종래의 로드 쉐딩 기술은 서버의 자원 및 네트워크 트래픽을 고려하여, 일부 부하를 무시하는 방법으로 로드 쉐딩이 이루어지므로, 시스템의 안정적인 운영에는 도움이 되나 분석 대상이 되는 일부 입력 데이터는 무시하게 되어 분석 결과의 정확도가 떨어지는 문제가 있게 된다.In the conventional load shedding technology, load shedding is performed in a way that ignores some loads in consideration of server resources and network traffic, which helps in stable operation of the system, but ignores some input data to be analyzed. There is a problem that the accuracy of the drop.

본 발명은 전술한 문제를 해결하기 위하여 분석 애플리케이션의 전체 처리 과정 중 일부인 선처리 과정을 센서 데이터를 수집하는 엣지 머신이 처리하는 엣지 기반의 로드 쉐딩 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide an edge-based load shedding method that is processed by an edge machine that collects sensor data in a pre-processing process, which is a part of the entire processing process of the analysis application, to solve the above-mentioned problems.

본 발명에서는 일반적인 로드 쉐딩 방법과 달리, 입력 부하가 증가할 때, 자동적으로 낮추는 역할을 수행하는 수동적인 방법이 아니라, 입력 부하에 따라, 입력 데이터의 흐름에 따른 분석 애플리케이션이 포함하는 연산 모듈 중 선처리 과정에 해당하는 연산 모듈을 엣지 머신에 오프로딩하여, 엣지 머신에서 입력 데이터를 오프로딩된 연산 모듈이 처리하는 방법에 의하여 분석 서버의 부하를 경감시키는 엣지 기반의 적응형 로드 쉐딩 방법을 제공하는 것을 목적으로 한다. In the present invention, unlike the general load shedding method, when the input load increases, it is not a passive method that automatically lowers the role, but preprocesses among the calculation modules included in the analysis application according to the input data flow according to the input load. Providing an edge-based adaptive load shedding method that offloads the analysis server by a method of offloading the computation module corresponding to the process to the edge machine, and processing the input data from the edge machine by the offloaded computation module. The purpose.

본 발명은 빅데이터 환경에서 패스트 데이터 환경으로 변화하는 추세에 맞추어, 기존의 데이터 분석을 위한 입력 데이터를 분석 애플리케이션에 적재하기 전에 선결적으로 적용할 수 있는 방법으로 분산 처리 기술을 응용하여 데이터 분석 소프트웨어의 처리 효율을 높일 수 있는 방법을 제공하는 것을 목적으로 한다.In accordance with the trend of changing from a big data environment to a fast data environment, the present invention applies data analysis software by applying distributed processing technology in a method that can be applied pre-emptively before loading the input data for analysis of the existing data into the analysis application. It is an object to provide a method that can increase the processing efficiency of.

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

본 발명의 일면에 따른 엣지 기반 로드 쉐딩 시스템은 서버/엣지 분할 실행할 것을 결정하고, 하기 엣지 머신에 분석 애플리케이션의 일부 연산 모듈을 전송하고 오프로딩하도록 요청을 하고, 하기 엣지 머신으로부터 선처리 데이터를 수신하여 분석하는 분석 서버; 및 상기 분석 서버로부터 연산 모듈을 수신하여 오프로딩하고, 센서로부터 수집한 센서 데이터를 오프로딩된 연산 모듈을 이용하여 선처리하고, 선처리 데이터를 분석 서버에 전송하는 엣지 머신을 포함한다.The edge-based load shedding system according to an aspect of the present invention determines to perform server / edge partitioning, transmits some computational modules of the analysis application to the following edge machine, requests to offload, and receives preprocessing data from the following edge machine An analysis server to analyze; And an edge machine that receives and offloads the calculation module from the analysis server, preprocesses sensor data collected from the sensor using the offloaded calculation module, and transmits the preprocessing data to the analysis server.

본 발명의 다른 일면에 따른 엣지 머신이 선처리한 센서 데이터를 분석하는 분석 서버, 센서로부터 센서 데이터를 수집하고 상기 센서 데이터를 가공하여 분석 서버로 전송하는 하나 이상의 엣지 머신을 포함하는 엣지 기반 로드 쉐딩 시스템의 운영 방법은, 상기 분석 서버가 (1) 분석 애플리케이션이 포함하는 연산 모듈들의 프로파일 정보를 작성하는 단계; (2) 스스로의 자원 정보 및 네트워크 정보를 수집하는 단계; (3) 엣지 머신의 자원 정보를 수집하는 단계; (4) 상기 프로파일 정보, 상기 스스로의 자원 정보 및 네트워크 정보 및 상기 엣지 머신의 자원 정보를 토대로 서버/엣지 분할 실행할 것을 결정하는 단계; (5) 오프로딩할 엣지 머신 및 오프로딩될 연산 모듈을 결정하는 단계; (6) 상기 오프로딩할 엣지 머신에 상기 오프로딩될 연산 모듈을 전송하는 단계; 및 (7) 상기 오프로딩할 엣지 머신에게 오프로딩할 것을 요청하는 단계;를 포함한다.Edge-based load shedding system including an analysis server that analyzes sensor data pre-processed by an edge machine according to another aspect of the present invention, and one or more edge machines that collect sensor data from a sensor and process the sensor data and transmit it to an analysis server. The operating method of the operation server comprises: (1) creating profile information of calculation modules included in the analysis application; (2) collecting own resource information and network information; (3) collecting resource information of the edge machine; (4) determining to perform server / edge partitioning based on the profile information, its own resource information and network information, and resource information of the edge machine; (5) determining an edge machine to be offloaded and a calculation module to be offloaded; (6) transmitting the operation module to be offloaded to the edge machine to be offloaded; And (7) requesting to offload the edge machine to be offloaded.

본 발명에 따르면, 엣지 머신을 이용하여 분석 서버의 부하를 분산시켜 분석 서버의 로드 쉐딩 효과가 발생한다. 분석 서버 및 엣지 머신의 현재 상황을 고려하여 로드 밸런싱을 하는 것이므로, 보다 효율적인 시스템을 구축하는 효과가 있다.According to the present invention, a load shedding effect of the analysis server occurs by distributing the load of the analysis server using an edge machine. Since load balancing is performed in consideration of the current situation of the analysis server and the edge machine, there is an effect of constructing a more efficient system.

복수의 엣지 머신은 병렬시스템의 성격을 가지므로, 시스템 전체의 로드를 고려하여 손쉽게 엣지 머신을 추가/제거할 수 있고, 최근 기술 발전으로 엣지 머신의 가격 대비 성능이 향상되어 분석 서버 시스템을 대형화하지 않고도 경제적인 시스템을 구축하는 효과가 있다.Since multiple edge machines have the characteristics of a parallel system, it is easy to add / remove the edge machines in consideration of the overall system load, and the recent advancement in technology has improved the price / performance ratio of the edge machines, making the analysis server system large. It has the effect of building an economical system without it.

본 발명에서는 오프로딩 기술을 이용하여 각각의 엣지 머신을 수기로 관리하는 것이 아니라 분석 서버를 이용하여 효율적으로 관리할 수 있는 효과가 있다.In the present invention, each edge machine is not manually managed using an offloading technique, but has an effect that can be efficiently managed using an analysis server.

본 발명에서 제안하는 연산자 오프로딩에 기반한 서버/엣지 분할 실행이 가능한 로드 쉐딩 방법은 종래의 서버 중심의 데이터 분석에서 서버/엣지 협업 데이터 분석이 가능하게 되며, IoT(Internet of Things)에서 생성되는 다양한 데이터를 좀 더 지능적으로 분석할 수 있는 효과를 가질 수 있게 된다.The load shedding method capable of executing server / edge segmentation based on operator offloading proposed by the present invention enables server / edge collaborative data analysis in a conventional server-centric data analysis, and is generated in the Internet of Things (IoT). It will have the effect of analyzing data more intelligently.

도 1은 로드 쉐딩 기법이 적용된 시스템에서의 부하 감소 방법을 설명하기 위한 예시도.
도 2는 본 발명에 따른 엣지 기반 로드 쉐딩 시스템의 구성도.
도 3은 엣지 머신에서 오프로딩에 의한 로드 쉐딩 시스템의 운영방법을 설명하기 위한 블록도.
도 4는 오프로딩이 없는 경우의 로드 쉐딩 시스템의 분석 과정을 설명하기 위한 구조도.
도 5는 본 발명에 다른 오프로딩에 의한 로드 쉐딩 시스템의 운영방법을 설명하기 위한 블록도.
도 6은 빈도수 기반의 로드 쉐딩 방법을 설명하기 위한 예시도.
도 7은 본 발명에 따른 오프로딩에 의한 로드 쉐딩 방법을 설명하기 위한 예시도.
도 8은 본 발명의 부분 실시예에 따른 자식 데몬에서의 오프로딩 절차를 설명하기 위한 블록도.
도 9는 본 발명에 따른 로드 쉐딩 시스템의 전체 구성을 설명하기 위한 블록도.
1 is an exemplary view for explaining a load reduction method in a system to which a load shedding technique is applied.
2 is a block diagram of an edge-based road shedding system according to the present invention.
3 is a block diagram for explaining a method of operating a load shedding system by offloading at an edge machine.
4 is a structural diagram for explaining the analysis process of the load shedding system in the absence of offloading.
5 is a block diagram for explaining a method of operating a road shedding system by offloading according to the present invention.
6 is an exemplary view for explaining a frequency-based load shedding method.
7 is an exemplary view for explaining a load shedding method by offloading according to the present invention.
8 is a block diagram illustrating an offloading procedure in a child daemon according to a partial embodiment of the present invention.
9 is a block diagram illustrating the overall configuration of a road shedding system according to the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성소자, 단계, 동작 및/또는 소자는 하나 이상의 다른 구성소자, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.Advantages and features of the present invention, and methods for achieving them will be clarified with reference to embodiments described below in detail together with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but will be implemented in various different forms, and only the present embodiments allow the disclosure of the present invention to be complete, and the ordinary knowledge in the technical field to which the present invention pertains. It is provided to fully inform the holder of the scope of the invention, and the invention is only defined by the scope of the claims. Meanwhile, the terms used in the present specification are for explaining the embodiments and are not intended to limit the present invention. In this specification, the singular form also includes the plural form unless otherwise specified in the phrase. As used herein, "comprises" and / or "comprising" refers to the components, steps, operations and / or elements mentioned above, the presence of one or more other components, steps, operations and / or elements. Or do not exclude additions.

이하, 본 발명의 바람직한 실시예에 대하여 첨부한 도면을 참조하여 상세히 설명하기로 한다. Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 로드 쉐딩 기법이 적용된 시스템에서의 부하 감소 방법을 설명하기 위한 예시도이다.1 is an exemplary diagram for describing a load reduction method in a system to which a load shedding technique is applied.

로드 쉐딩(Load Shedding)은 일반적으로 데이터 스트림 관리 시스템(DSMS, Data Stream Manage System)에서 입력되는 데이터가 증가하여, 처리 엔진이 처리할 수 있는 한계 부하에 비해 데이터 입력률이 높을 때, 입력 데이터를 적절히 버림으로써, 부하를 자동적으로 낮추는 역할을 수행하는 기법이다.Load shedding (Load Shedding) generally increases the data input from the data stream management system (DSMS, Data Stream Managed System), and when the data input rate is higher than the limit load that the processing engine can handle, the input data is appropriately It is a technique that performs the role of automatically lowering the load by discarding.

도 1에서와 같이 시간에 따라 입력 요청 부하가 증가하는 서버를 생각해보자. 일정 시간이 경과하면, 부하가 100%에 이르게 된다. 실제로 부하가 100%가 될 경우에는 서버가 정상적으로 작동하지 않으므로, 부하가 일정 수준에 이르면 로드 쉐딩 기법이 적용된다. 이를 입력 부하 적응 로드 쉐딩 방법이라 한다. 이에 따르면, 일부 데이터는 로드 쉐딩 방법에 따라 무시되어 입력 부하 수준이 일정 수준으로 유지된다.Consider a server in which the input request load increases with time as shown in FIG. 1. After a certain period of time, the load reaches 100%. In fact, when the load reaches 100%, the server does not operate normally, so when the load reaches a certain level, a load shedding technique is applied. This is called the input load adaptive load shedding method. According to this, some data is ignored according to the load shedding method, so that the input load level is maintained at a constant level.

여기서 부하(Load)란 네트워크 트래픽, CPU 성능, 메모리 용량 등에 따라 결정되는 값으로 어느 하나의 부하만 100%에 이르면 다른 요인들과 무관하게 서버는 정상적으로 작동하지 않을 수 있다. 로드 쉐딩(부하 경감) 방법은 일부 입력 데이터가 무시되는 단점이 있으나, 서버에 입력되는 부하가 높더라도 서버가 정상적으로 작동하는 장점이 있다.Here, the load is a value determined according to network traffic, CPU performance, memory capacity, etc. If only one load reaches 100%, the server may not operate normally regardless of other factors. The load shedding (load reduction) method has the disadvantage that some input data is ignored, but it has the advantage that the server operates normally even if the load input to the server is high.

본 발명의 부분 실시예에 따른 로드 쉐딩 방법은 분석 서버는 서버의 자원 및 네트워크 자원에 따른 부하를 실시간으로 측정하며, 부하가 일정 수준 이하일 경우에는 로드 쉐딩 방법을 사용하지 않고, 분석 서버(210)가 센서(230)가 생성한 센서 데이터(raw data)를 엣지 머신(220)을 통하여 수신하여 처리한다. 부하가 일정 수준을 초과하게 되면, 분석 서버(210)는 엣지 머신(220)에게 데이터 로드 쉐딩 요청(특정 연산 모듈의 오프로딩 요청)을 하여 엣지 머신이 선처리(preprocessing)한 데이터를 수신하게 된다.In the load shedding method according to the partial embodiment of the present invention, the analysis server measures the load according to the resources of the server and network resources in real time, and when the load is below a certain level, the load shedding method is not used, and the analysis server 210 The sensor data generated by the sensor 230 is received and processed through the edge machine 220. When the load exceeds a certain level, the analysis server 210 makes a data load shedding request (offloading request of a specific operation module) to the edge machine 220 to receive data preprocessed by the edge machine.

도 2는 본 발명에 따른 엣지 기반 로드 쉐딩 시스템의 구조도이다.2 is a structural diagram of an edge-based road shedding system according to the present invention.

본 발명에 따른 로드 쉐딩 시스템은 데이터를 분석하는 하나 이상의 분석 서버(210), 센서(220)로부터 센서 데이터를 전송받아 그대로 분석 서버에 전달하거나 이를 가공하여 가공된 데이터를 전송하는 하나 이상의 엣지 머신(220), 센서 데이터를 엣지 머신(220)에게 전송하는 하나 이상의 센서(230)를 포함한다.The load shedding system according to the present invention includes one or more analysis servers 210 that analyze data, one or more edge machines that receive sensor data from the sensor 220 and transmit the processed data to the analysis server as it is or process the data. 220), one or more sensors 230 for transmitting sensor data to the edge machine 220.

센서 데이터는 센서(230)가 생성하는 가공하지 않은 데이터를 의미하고, 선처리 데이터란 센서 데이터가 하나 이상의 특정 연산 모듈에 의하여 처리되어 분산 서버에 전송되는 데이터를 의미한다. The sensor data refers to raw data generated by the sensor 230, and pre-processing data refers to data processed by one or more specific calculation modules and transmitted to a distributed server.

분석 서버(210), 엣지 머신(220) 및 센서(230)는 네트워크로 연결되어 있는데, 통상 분석 서버(210)와 엣지 머신(220) 사이는 IEEE 802.3을 따르는 이더넷 프로토콜이나 IEEE 802.11 또는 그 하위 호환을 따르는 무선 네트워크로 연결될 수 있고, 엣지 머신(220)과 센서(230) 사이는 IEEE 802.15.4를 따르는 센서 네트워크로 연결될 수 있다. 다만, 연결된 네트워크 프로토콜 종류에 따라 발명의 범위가 제한되는 것은 아니다.The analysis server 210, the edge machine 220, and the sensor 230 are connected by a network. Typically, between the analysis server 210 and the edge machine 220 is an Ethernet protocol conforming to IEEE 802.3 or IEEE 802.11 or lower compatibility. It may be connected to a wireless network conforming to, and between the edge machine 220 and the sensor 230 may be connected to a sensor network conforming to IEEE 802.15.4. However, the scope of the invention is not limited according to the type of the network protocol connected.

여기서 엣지 머신(220)은 휴대폰, PC, 서버, 휴대용 단말기 등 정보처리가 가능한 각종의 장치를 포함한다. 또한, 센서 데이터를 취합하고 선처리 과정을 수행하여 분석 서버로 전송할 수 있는 라즈베리 파이와 같이 가볍고 저렴한 장치가 엣지 머신(220)이 될 수 있다.Here, the edge machine 220 includes various devices capable of processing information, such as a mobile phone, a PC, a server, and a portable terminal. In addition, the edge machine 220 may be a light and inexpensive device such as a Raspberry Pi that can collect sensor data and perform a pre-processing process to transmit it to an analysis server.

엣지 머신(220)에서 실행되는 엣지 데몬은 센서(230)로부터 센서 데이터를 수신하고 그대로 분석 서버(210)에 전달하거나, 센서 데이터를 가공하여 분석 서버(210)에 전송할 수 있고, 이러한 의미에서 엣지 머신(220)은 게이트웨이의 역할도 수행한다.The edge daemon running on the edge machine 220 can receive sensor data from the sensor 230 and deliver it to the analysis server 210 as it is, or process the sensor data and transmit it to the analysis server 210, in this sense the edge The machine 220 also serves as a gateway.

도 3은 엣지 머신에서 오프로딩에 의한 로드 쉐딩 시스템의 운영방법을 설명하기 위한 블록도를 나타낸다.3 shows a block diagram for explaining a method of operating a load shedding system by offloading at an edge machine.

엣지 머신(220)은 엣지 데몬을 실행하고, 엣지 데몬은 부모 데몬(parent process)과 자식 데몬(child process)을 포함한다.The edge machine 220 executes an edge daemon, and the edge daemon includes a parent process and a child process.

분석 서버에서 수행될 분석 과정의 일부 연산(operation)을 떼어서 엣지 머신(220)에서 수행하는데 이를 오프로딩(Off-loading)이라 한다.Some operations of the analysis process to be performed by the analysis server are separated and performed by the edge machine 220, which is referred to as off-loading.

오프로딩의 방법으로 (a) 입력 파라미터의 정보, 출력 파라미터의 정보 및 입력 파라미터를 출력 파라미터로 변환하는 명세를 기재한 파일(입출력 파라미터 매핑 테이블)을 교환하여 처리하는 방법, (b) 분석 서버로부터 분석 애플리케이션의 일부인 연산 모듈을 전송받아 엣지 머신에서 실행하는 방법으로서 자식 데몬(320)이 실행 중에 오프로딩할 연산자를 자식 데몬(320)에 오프로딩하는 방법, (c) 자식 데몬(320)의 실행을 잠시 중단 시키고 오프로딩할 연산 모듈을 포함하여 자식 데몬을 재실행하는 방법을 사용할 수 있다.As a method of offloading (a) A method of exchanging and processing a file (input / output parameter mapping table) that describes input parameter information, output parameter information, and specifications for converting input parameters to output parameters, (b) from an analysis server As a method of receiving an operation module that is part of the analysis application and executing it on the edge machine, a method of offloading an operator to offload to the child daemon 320 while the child daemon 320 is running, (c) execution of the child daemon 320 You can use the method of re-executing the child daemon, including the operation module to temporarily stop and offload.

상기 (a) 방법은 적용할 수 있는 폭이 좁고, (c) 방법은 다양한 연산 모듈에 적용이 가능하나, 자식 데몬의 실행을 중지시키는 사이 서비스가 중단되어 오버헤드가 큰 단점이 존재하므로, 오프로딩 연산 모듈을 자식 데몬에 로딩하는 방법으로서 (b) 방법이 주요한 수단이 될 수 있다. 다만, 경우에 따라서 (b) 방법에 의하여 연산 모듈을 오프로딩할 수 없을 수 있고, 이때는 (c) 방법을 이용하도록 한다.The method (a) has a narrow width that can be applied, and the method (c) can be applied to a variety of operation modules. However, since the service is interrupted while stopping the execution of the child daemon, there is a big overhead, so there is a disadvantage. As a method of loading the loading operation module into the child daemon, the method (b) may be the main means. However, in some cases, it may not be possible to offload the operation module by the method (b), and in this case, the method (c) is used.

패스트 데이터 시스템은 업데이트율이 극도로 높은 실시간 요청을 처리하는 특징과 부정확하고 다양한 비정형 자료를 그 처리 대상으로 하는 특징이 있어 패스트 데이터 시스템은 로 데이터(raw data)의 형식을 사전에 정의하지 못할 수 있으며, 분석해야 할 비정형 센서 데이터를 생성하는 새로운 센서가 추가되면, 해당 센서 데이터의 자료 형식에 맞추어 사후적으로 분석 애플리케이션을 수정해야 할 수 있다.The fast data system may not be able to predefine the format of raw data because it has the characteristics of processing real-time requests with extremely high update rates and targeting inaccurate and various unstructured data. In addition, when a new sensor is added to generate atypical sensor data to be analyzed, it may be necessary to modify the analysis application in accordance with the data format of the corresponding sensor data.

특정 센서의 센서 데이터는 분석 서버에 분석 도구가 갖춰진 상태에서 분석 서버에 전송되는 것이 원칙이나 분석 서버에 분석 도구가 갖춰지지 않은 상태에서 센서 데이터가 분석 서버에 도달할 수도 있고, 이때는 분석 서버는 해당 센서 데이터를 무시하게 된다. In principle, the sensor data of a specific sensor is transmitted to the analysis server when the analysis server is equipped with the analysis tool, but the sensor data may reach the analysis server without the analysis server equipped with the analysis server. Sensor data is ignored.

사후적으로 분석 도구를 갖추었을 경우, 해당 센서 데이터에 대한 분석 서버의 분석 애플리케이션에 포함된 일부 연산을 엣지 머신으로 오프로딩할 수 있다. 오프로딩 기능은 새로운 형식의 센서 데이터를 생성하는 센서에 대한 분석을 진행하는 경우, 적응형 분석 도구(adaptive analytic tools)로서 매우 유용하다 할 것이다. 이와 같이 일부 연산 모듈을 엣지 머신에 오프로딩하여 분석 서버(210)와 엣지 머신(220)의 연산을 기능적으로 분할하는 방법을 서버/엣지 분할 실행이라 한다. If you have a post-analysis tool, you can offload some of the operations included in the analytics application of the analytics server for that sensor data to the edge machine. The offloading function is very useful as an adaptive analytic tool when analyzing a sensor that generates new types of sensor data. As described above, a method of functionally dividing the calculations of the analysis server 210 and the edge machine 220 by offloading some operation modules to the edge machine is called server / edge division execution.

엣지 머신(220)의 엣지 데몬은 부모 데몬(310)과 자식 데몬(320)을 포함하고, 부모 데몬(310)는 자식 데몬(320)을 실행할 수 있고, 그 실행을 중지시킬 수 있다. 즉, 부모 데몬(310)은 자식 데몬(320)을 관리하는 역할을 한다. 부모 데몬은 분석 서버로부터 오프로딩 연산 모듈(분석 애플리케이션의 일부로서 엣지 머신에서 오프로딩이 가능한 연산 모듈)을 전송받아 저장하고, 자식 데몬이 저장된 연산 모듈을 오프로딩하여 실행할 수 있도록 요청한다. 부모 데몬은 미리 정하여진 위치에 오프로딩 연산 모듈 파일을 저장하여 자식 데몬이 오프로딩할 연산 모듈에 접근하여 해당 연산 모듈을 오프로딩할 수 있게 한다. 또한 자식 데몬을 중지(kill process)시키고, 자식 데몬이 상기 오프로딩 연산 모듈을 오프로딩하여 수행할 수 있도록 자식 데몬을 재실행할 수도 있다.The edge daemon of the edge machine 220 includes the parent daemon 310 and the child daemon 320, and the parent daemon 310 can execute the child daemon 320 and stop the execution. That is, the parent daemon 310 serves to manage the child daemon 320. The parent daemon receives and stores the offloading calculation module (the calculation module that can be offloaded from the edge machine as part of the analysis application) from the analysis server, and requests to be executed by offloading the calculation module where the child daemon is stored. The parent daemon stores the offloading operation module file in a predetermined location so that the child daemon can access the operation module to be offloaded and offload the operation module. It is also possible to kill the child daemon and re-run the child daemon so that the child daemon can perform the offloading operation module offloading.

엣지 머신의 입력 데이터와 출력 데이터가 모두 텍스트 타입이거나, 이진형식이라도 사전적으로 정의된 데이터 구조의 매핑이 가능한 경우, 입력 데이터의 데이터 형식, 출력 데이터의 형식, 입력 데이터와 출력 데이터의 매칭 정의 파일(입출력 데이터 매핑 테이블)을 교환하는 것으로 특정 연산을 오프로딩하는 것이 가능하다. 본질적으로 데이터 오프로딩에 해당하는 것이나, 단순한 데이터 처리의 경우에는 연산 모듈을 직접 복사하는 것과 동일한 기능을 구현하는 것이 가능하다.If the input data and output data of the edge machine are both text type or binary format, it is possible to map a predefined data structure, and the input data data format, output data format, and input data output data matching definition file ( It is possible to offload specific operations by exchanging input / output data mapping table). In essence, this corresponds to data offloading, but in the case of simple data processing, it is possible to implement the same function as directly copying an operation module.

이때 입출력 데이터의 형식은 JSON 형식, markup language, SQL 데이터 형식 및 사용자 정의 형식 등을 이용할 수 있고, 입출력 데이터 매핑 테이블도 상기 형식으로 작성하는 것이 가능하므로 엣지 머신의 OS나 사용 프로그램이 상이하더라도 JSON 이나 xml parser는 대부분의 프로그램 언어에서 기본적으로 제공하는 라이브러리이므로 필드 매칭 형식으로 오프로딩할 수 있게 된다.At this time, the format of input / output data can use JSON format, markup language, SQL data format, and user-defined format, and input / output data mapping table can also be written in the above format, so even if the OS of the edge machine or the program used differs, JSON or The xml parser is a library provided by most programming languages, so it can be offloaded in a field matching format.

자식 데몬(320)은 멀티 프로세서일 수 있고, 명칭에도 불구하고 멀티 쓰레드일 수 있다. 엣지 머신의 자원 상황에 따라 하나 이상의 자식 데몬이 실행되나, 모든 자식 데몬은 기본적으로 동일한 기능을 수행한다. 외부의 센서는 연결된 엣지 머신에서 실행되는 어느 자식 데몬에게도 데이터 입력이 가능하므로, 자식 데몬이 오프로딩된 연산 모듈이 상이할 경우, 센서(230)가 오프로딩되지 아니한 자식 데몬에 센서 데이터를 입력할 경우 연산 모듈 실행이 실패할 수 있다. 다만, 필요한 연산 모듈이 오프로딩되지 아니한 경우라도 자식 데몬은 입력된 데이터를 그대로 분석 서버에 전송할 수 있다. 자식 데몬에 연산 모듈이 오프로딩된 경우, 오프로딩된 연산 모듈을 이용하여 선처리한 후 선처리된 데이터를 분석 서버에 전송한다.The child daemon 320 may be multi-processor, or multi-threaded despite the name. Depending on the resource conditions of the edge machine, one or more child daemons are executed, but all child daemons basically perform the same function. Since the external sensor can input data to any child daemon running on the connected edge machine, when the calculation module in which the child daemon is offloaded is different, the sensor 230 inputs sensor data to the child daemon that is not offloaded. In this case, execution of the operation module may fail. However, even if the necessary operation module is not offloaded, the child daemon can transmit the input data to the analysis server as it is. When the calculation module is offloaded to the child daemon, the preprocessed data is transmitted to the analysis server after being preprocessed using the offloaded calculation module.

도 4는 오프로딩이 없는 경우의 로드 쉐딩 시스템의 분석 과정을 설명하기 위한 구조도를 나타낸다.4 shows a structural diagram for explaining an analysis process of a load shedding system when there is no offloading.

도 4에서의 엣지 머신은 게이트웨이로서 기능하며, 다른 기능을 가지지 않는다. 최근 라즈베리 파이와 같은 가볍고 저렴하면서 가격 대비 성능이 뛰어난 장치들이 많이 개발되고 있어 데이터 수집 및 전송하는 기능 외에 종래 서버가 제공하는 기능 중 일부를 충분히 수행할 수 있게 되었다.The edge machine in Fig. 4 functions as a gateway and has no other functions. Recently, many lightweight, inexpensive, and cost-effective devices such as the Raspberry Pi have been developed, making it possible to perform some of the functions provided by conventional servers in addition to the data collection and transmission functions.

분석 서버는 여러 연산 모듈들(연산 1, 연산 2, 연산 3, 연산 4)을 이용하여 분석 결과를 출력한다. 도 4에서의 분석 서버는 서버/엣지 분할 실행되지 않는 경우이며, 센서 데이터(raw data)를 분석할 수 있고, 엣지 머신이 선처리한 데이터를 분석할 수도 있다. 이를 위해 분석 서버는 엣지 머신으로부터 수신하는 데이터가 센서 데이터 그대로 인지, 선처리 과정을 거친 데이터인지 구분할 수 있고, 연산 모듈이 오프로딩되지 않아 센서 데이터를 그대로 수신한 경우 분석 서버에서 분석 애플리케이션이 수행하는 모든 연산이 수행된다.The analysis server outputs an analysis result using various calculation modules (operation 1, operation 2, operation 3, operation 4). The analysis server in FIG. 4 is a case where the server / edge division is not executed, and the sensor data can be analyzed, and the data preprocessed by the edge machine can be analyzed. To this end, the analysis server can distinguish whether the data received from the edge machine is sensor data or data that has been preprocessed, and when the sensor module receives the sensor data as it is not offloaded, the analysis server performs all of the analysis applications. Operation is performed.

이하 각 연산 모듈이 수행하는 연산을 구체적인 예를 들어 설명한다. 로그 데이터에 대한 분석의 경우, 입력 데이터가 "Warning : server is overloaded", "Error : server network connections are refused", "Error : too many connections", "Warning : out of memory" 와 같은 형태이고, 네트워크(network)에 관련 오류(Error) 개수를 알고자 분석하는 경우, 예컨대, 연산 1은 로그 데이터를 띄어쓰기 단위로 분할하는 연산 모듈이고, 연산 2는 각 문장에서 첫 단어가 "Error"인 것을 추출하는 연산 모듈이고, 연산 3은 "Error"가 포함된 문장에 포함된 단어 수를 카운팅하는 연산 모듈이고, 연산 4는 연산 3에서 카운팅된 단어 수를 기준으로 정렬하여 카운팅된 단어 수가 동일한 로그의 수를 산출하는 연산 모듈이라 하면, 순차적인 연산에 의하여 발생한 Error 로그 중 단어수가 많은 것 순서대로인 목록 데이터를 분석할 수 있다. 이러한 분석은 분석 서버에서 모두 이루어져도 문제되지 아니하나, 일부 연산을 엣지 머신에서 분할하여 실행할 수 있고, 이는 도 5에서 더 살펴볼 것이다. Hereinafter, an operation performed by each operation module will be described with specific examples. For analysis of log data, the input data is in the form of "Warning: server is overloaded", "Error: server network connections are refused", "Error: too many connections", "Warning: out of memory", and the network When analyzing to know the number of related errors in (network), for example, operation 1 is an operation module that divides log data into space units, and operation 2 extracts that the first word in each sentence is "Error" Operation module, operation 3 is the operation module for counting the number of words included in the sentence containing "Error", operation 4 is sorted by the number of words counted in operation 3, and the number of words counted is the same number of logs Speaking of the calculation module, it is possible to analyze the list data in order of the number of words among the error logs generated by sequential calculation. This analysis is not a problem even if it is all done in the analysis server, but some operations can be divided and executed on the edge machine, which will be further described in FIG. 5.

도 5는 본 발명에 다른 오프로딩에 의한 로드 쉐딩 시스템의 운영방법을 설명하기 위한 블록도이다.5 is a block diagram illustrating a method of operating a load shedding system by offloading according to the present invention.

도 4와 같이 데이터 수집이 이루어지지만 도 5에서는 엣지 머신(220)에서 연산 모듈 중 연산 1과 연산 2가 실행되며, 연산 3과 연산 4는 분석 서버(210)에서 실행되는 점이 가장 큰 차이이다. 이를 서버/엣지 분할 실행이라 한다. 여기서 연산 1과 연산 2는 오프로딩이 가능한 연산 모듈이며, 연산 3과 연산 4는 오프로딩이 불가능한 연산 모듈일 수 있다.Although data collection is performed as shown in FIG. 4, in FIG. 5, operation 1 and operation 2 of the operation modules are executed in the edge machine 220, and operation 3 and operation 4 are the biggest differences in that they are executed in the analysis server 210. This is called server / edge split execution. Here, operation 1 and operation 2 may be off-loading operation modules, and operation 3 and operation 4 may be off-loading operation operation modules.

분석 서버의 입력 로드가 낮을 때는 도 4와 같이 실행되어도 분석 서버의 안정성에 큰 영향을 주지 않는다. 그러나, 도 1에서 살펴본 바와 같이 입력 로드가 일정 수준을 초과하게 되면, 분석 서버(210)가 정상적으로 작동하지 않게 되므로, 분석 서버(210)의 분석 애플리케이션 중 일부 연산 모듈을 엣지 머신(220)에 오프로딩하여 실행하게 된다. When the input load of the analysis server is low, even if it is executed as shown in FIG. 4, the stability of the analysis server is not significantly affected. However, as shown in FIG. 1, when the input load exceeds a certain level, the analysis server 210 does not operate normally, and thus, some of the analysis modules of the analysis application of the analysis server 210 are turned off to the edge machine 220. It is loaded and executed.

분석 서버는 하나 이상의 분석 애플리케이션을 포함하고, 각 분석 애플리케이션은 하나 이상의 연산 모듈을 포함한다. 분석 서버는 하나의 분석 애플리케이션 내에서 연산 모듈의 실행 순서, 연산 모듈 실행시 필요 자원량, 입력 파라미터의 정보, 출력 파라미터의 정보, 입출력 파라미터의 매핑 테이블 등 연산 모듈에 관한 프로파일 정보를 가지고 있고, 특정 엣지 머신에 특정 연산 모듈을 오프로딩하는 경우, 해당 연산 모듈의 프로파일 정보도 엣지 머신에 함께 전송하게 되므로, 전송받은 프로파일 정보를 기반으로 엣지 머신은 연산 모듈의 실행 순서 및 각 연산 모듈의 입력 파라미터와 출력 파라미터의 포맷을 알게 된다. The analysis server includes one or more analysis applications, and each analysis application includes one or more calculation modules. The analysis server has profile information about the calculation module, such as the execution order of the calculation module, the amount of resources required when the calculation module is executed, the information of the input parameters, the information of the output parameters, and the mapping table of the input / output parameters, and has a specific edge. When offloading a specific operation module to a machine, the profile information of the operation module is also transmitted to the edge machine, so the edge machine executes the operation order of the operation module and input parameters and outputs of each operation module based on the received profile information. Know the format of the parameters.

상기 필요 자원량이란 연산 모듈이 실행시 필요로 하는 CPU 사용량, 메모리 사용량 등을 고려하여 산출되는 값이고, 상기 입출력 파라미터의 매핑 테이블이란 입력 파라미터를 출력 파라미터로 변환하는 명세를 기재한 파일을 의미한다. 일부 연산 모듈에 있어서는 상기 매핑 테이블을 엣지 머신에 전송함으로써 연산 모듈을 오프로딩하는 것과 동일한 효과를 얻을 수 있다.The required resource amount is a value calculated in consideration of CPU usage, memory usage, etc. required when the operation module is executed, and the mapping table of the input / output parameters means a file that describes specifications for converting input parameters to output parameters. In some calculation modules, the same effect as offloading the calculation module can be obtained by transmitting the mapping table to the edge machine.

분석 서버(210)는 현 시스템에 관한 정보를 수집한다. 엣지 머신의 사양 즉, 엣지 머신의 CPU 성능, 메모리 용량, 저장 공간 등의 정보와 엣지 머신의 현재 로드, 현재 연산 모듈을 오프로딩하였는지 등의 정보, 분석 서버와 엣지 머신 사이의 네트워크의 트래픽량 및 네트워크 대역폭 등의 정보를 수집한다.The analysis server 210 collects information about the current system. The specifications of the edge machine, that is, information such as CPU performance, memory capacity, storage space of the edge machine, the current load of the edge machine, whether the current computation module is offloaded, the traffic volume of the network between the analysis server and the edge machine, and Information such as network bandwidth is collected.

수집한 정보를 바탕으로 분석 서버는 엣지 머신에 연산 모듈을 오프로딩할지를 결정하게 된다.Based on the collected information, the analysis server decides whether to offload the computation module to the edge machine.

분석 서버가 특정 연산 모듈을 특정 엣지 머신에 오프로딩할 것으로 결정한 경우, 분석 서버는 해당 연산 모듈을 해당 엣지 머신에 전송하고, 엣지 머신이 수신한 연산 모듈을 저장소에 저장하고, 분석 서버로부터 오프로딩 요청을 받게 되면 연산 모듈을 오프로딩하고 오프로딩된 연산 모듈을 이용하여 입력 데이터를 선처리한다.If the analysis server decides to offload a specific computational module to a specific edge machine, the analysis server sends the computational module to the edge machine, stores the computational module received by the edge machine in storage, and offloads from the analysis server. When a request is received, the calculation module is offloaded and input data is preprocessed using the offloaded calculation module.

엣지 머신에서 연산 모듈을 오프로딩하더라도 오프로딩된 연산 모듈을 이용하여 입력 데이터를 선처리하지 않을 수 있다. 연산 모듈의 특징과 시스템 환경에 따라 서버/엣지 분할 실행이 전체 시스템의 관점에서 항상 효율적인 것은 아니기 때문이다. 다만, 오프로딩하는 과정은 오버헤드가 크므로, 연산 모듈을 오프로딩만 하고, 상황에 따라 오프로딩된 연산 모듈로 데이터 처리를 할지를 결정할 수 있다.Even if the operation module is offloaded at the edge machine, input data may not be preprocessed using the offloaded operation module. This is because server / edge partition execution is not always efficient from the perspective of the entire system depending on the characteristics of the operation module and the system environment. However, since the offloading process has a large overhead, it is only possible to offload the calculation module and determine whether to process data with the offloaded calculation module according to the situation.

엣지 머신의 오프로딩하기 전 엣지 머신의 부하가 이미 높은 상태에 있다면, 엣지 머신에 네트워크로 연결된 센서로부터 센서 데이터가 대량 유입되어 센서 데이터를 그대로 분석 서버로 전달하는 것만으로도 엣지 머신의 자원이 부족하다고 판단할 수 있으므로, 특정 연산 모듈이 이미 오프로딩 되어 있다고 하더라도, 오프로딩 연산 모듈을 사용하지 않을 수 있다. 그러나, 엣지 머신의 CPU 로드 및 메모리 로드는 충분한데 단지 네트워크 사용량이 많은 경우에, 오프로딩된 연산 모듈에 의하여 출력 데이터가 입력 데이터보다 작다면, 오프로딩 요청을 할 수 있다. 출력 데이터가 입력 데이터보다 작은지 여부는 입력 파라미터 정보와 출력 파라미터 정보로부터 판단할 수 있다.If the load of the edge machine is already high before the edge machine is offloaded, the sensor machine has insufficient resources by simply sending the sensor data to the analysis server as a large amount of sensor data flows from the sensor connected to the edge machine. Since it can be determined that the specific calculation module is already offloaded, the offloading calculation module may not be used. However, the CPU load and the memory load of the edge machine are sufficient, but when the network usage is high, if the output data is smaller than the input data by the offloaded operation module, an offloading request may be made. Whether the output data is smaller than the input data can be determined from input parameter information and output parameter information.

각각의 엣지 머신의 CPU와 메모리는 분석 서버에 비하여 그 성능과 용량이 작은 것이 일반적이나, 엣지 머신(220)은 통상 복수로 구성되어 있으므로, 분석 서버(210)의 일부 기능을 엣지 머신(220)이 수행하는 것만으로도 로드 쉐딩(부하 경감)의 기능을 하게 된다.The CPU and memory of each edge machine are generally smaller in performance and capacity than the analysis server, but since the edge machine 220 is usually composed of a plurality, the edge machine 220 performs some functions of the analysis server 210. Just by doing this, it functions as load shedding (load reduction).

엣지 머신(220)과 분석 서버(210)의 기능을 분산한 측면에서 로드 쉐딩 시스템은 일종의 분산 처리 시스템으로 볼 수 있고, 각각의 엣지 머신이 서로 상이한 연산자를 오프로딩하는 차이점은 존재하나, 일반적으로 복수의 엣지 머신들은 동일한 기능을 수행한다.In terms of distributing the functions of the edge machine 220 and the analysis server 210, the load shedding system can be viewed as a kind of distributed processing system, and there is a difference in that each edge machine offloads different operators, but generally Multiple edge machines perform the same function.

하나 이상의 엣지 머신(220)은 병렬 처리 시스템으로 볼 수 있고, 부하가 높은 엣지 머신이 존재할 경우, 가격이 저렴한 엣지 머신을 용이하게 추가하여 엣지 머신의 전체적인 부하 수준을 경감시킬 수 있다.One or more edge machines 220 may be viewed as a parallel processing system, and when a high-load edge machine is present, an inexpensive edge machine can be easily added to reduce the overall load level of the edge machine.

다수의 엣지 머신을 관리하기 어려운 측면이 있으나, 분석 서버(210)가 본 발명에서 제시하는 오프로딩 기술을 이용하여 엣지 머신을 관리할 수 있고, 이러한 관리는 시스템의 상황에 따라 자동적으로 이루어지므로, 사람이 직접 유지 보수하는 부담을 줄이면서 안정성 있는 시스템을 운영할 수 있다.Although it is difficult to manage a plurality of edge machines, the analysis server 210 can manage the edge machine using the offloading technology presented in the present invention, and such management is automatically performed according to the situation of the system. It can operate a stable system while reducing the burden of manual maintenance.

분석 서버는 오프로딩할 연산 모듈이 실행될 때 필요로 하는 CPU 로드 및 메모리 로드 등의 필요 자원 정보를 가지고 있다. 분석 서버는 이를 스스로 테스트해서 얻은 값과 엣지 머신의 성능을 고려하여 필요 자원 정보를 생성할 수 있고, 엣지 머신이 산출한 필요 자원 정보를 수신하여 필요 자원 정보를 생성할 수 있다. 엣지 머신이 오프로딩 연산 모듈을 실행할 때 필요한 자원 정보를 주기적으로 산출하여 분석 서버로 전달하면, 분석 서버는 가중치를 고려하여 자신이 가지고 있는 필요 자원 정보를 갱신할 수 있다.The analysis server has necessary resource information such as CPU load and memory load required when the operation module to be offloaded is executed. The analysis server may generate necessary resource information in consideration of the value obtained by testing it by itself and the performance of the edge machine, and may generate required resource information by receiving the required resource information calculated by the edge machine. When the edge machine periodically calculates and delivers the necessary resource information to the analysis server when executing the offloading calculation module, the analysis server can update the required resource information owned by the weighted server.

상기 필요 자원 정보는 특정 엣지 머신에 특정 연산 모듈을 오프로딩할 때, 엣지 머신의 여유 자원 정보와 해당 연산 모듈을 오프로딩하여 실행하기 위한 필요 자원 정보를 비교하여 오프로딩 여부를 결정하는데 이용할 수 있다.The required resource information may be used to determine whether to offload by comparing the free resource information of the edge machine with the required resource information for executing the offloading of the corresponding operation module when offloading a specific operation module to a specific edge machine. .

시스템 구성상 취합된 데이터 전체로부터 특정 정보를 추출하는 등의 작업은 오프로딩이 불가능한 연산 모듈로서 분석 서버에서만 처리된다. Due to the system configuration, tasks such as extracting specific information from all collected data are processed by the analysis server only as an offloading-notable computation module.

엣지 머신(220)은 데이터 정제, 데이터 추출, 데이터 검증과 같은 사전에 처리해야 할 연산 모듈들을 오프로딩하여 선처리할 수 있고, 선처리 과정이 진행되는 만큼 분석 서버의 부하를 감소시키는 효과가 있으며, 엣지 머신에서 선처리된 데이터는 입력 데이터보다 용량이 작을 수 있고, 선처리 과정에서 무의미한 센서 데이터는 분석 서버에 전송하지 않으므로 네트워크 측면에서도 트래픽이 경감된다. The edge machine 220 can pre-process the pre-processing operation modules such as data purification, data extraction, and data verification, and has an effect of reducing the load of the analysis server as the pre-processing process progresses. The data pre-processed in the machine may have a smaller capacity than the input data, and in the pre-processing, meaningless sensor data is not transmitted to the analysis server, so traffic is also reduced on the network side.

실제 예를 들어서 도 5의 상황을 설명하면, 도 4와 같이 입력 데이터가 "Warning : server overloaded", "Error : server network connections are refused", "Error : too manay connections", "Warning : out of memory" 와 같은 형식이고, 네트워크(network)에 관련된 오류(Error) 개수(count)를 알고자 분석한다면, 로그 데이터를 띄어쓰기 단위로 분할하는 연산 모듈인 연산 1과, 각 문장에서 첫 단어가 "Error"인 것을 추출하는 연산 모듈인 연산 2는 엣지 머신에서 실행되고, "Error"가 포함된 문장에 포함된 단어수를 카운팅하는 연산 모듈인 연산 3과 연산 3에서 카운팅된 단어 수를 기준으로 정렬하여 카운팅된 단어 수가 동일한 로그의 수를 산출하는 연산 모듈인 연산 4는 분석 서버에서 실행되어 서버/엣지 분할 실행이 이루어진다. 분석 서버의 부하를 경감하면서 순차적인 연산에 의하여 발생한 Error 로그 중 단어수가 많은 것 순서대로인 목록 데이터를 분석하는 결과는 도 4에서와 같다. As an actual example, when describing the situation of FIG. 5, as shown in FIG. 4, input data is "Warning: server overloaded", "Error: server network connections are refused", "Error: too manay connections", "Warning: out of memory If it is analyzed in order to know the number of errors related to the network in the same format as ", operation 1, which is an operation module that divides log data into space units, and the first word in each sentence is" Error " Arithmetic module 2, which is an operation module that extracts the thing, is executed on the edge machine, and counts by sorting based on the number of words counted in operations 3 and 3, which are operations modules that count the number of words included in the sentence containing "Error" Operation 4, which is an operation module that calculates the number of logs having the same number of words, is executed in the analysis server to perform server / edge division execution. The results of analyzing the list data in order of the number of words among the error logs generated by sequential operations while reducing the load on the analysis server are as shown in FIG. 4.

도 6은 빈도수 기반의 로드 쉐딩 방법을 설명하기 위한 예시도이다.6 is an exemplary diagram for explaining a frequency-based load shedding method.

로드 쉐딩과 관련된 기법들 중에서 가장 일반적인 방법은 샘플링에 기반한 방법이다. 분석 서버의 자원 및 네트워크 대역폭 등을 고려하여 확률에 기반하여 적절한 수의 입력 데이터를 무시하는 방법으로 부하를 경감시킨다. 도 6과 같이 시간별로 t0, t01, t02, t03기에 생성된 데이터 중 일부만을 샘플링하여 처리하는 방법이다. 엣지 머신(220)에서 데이터가 수집되고, 분석 서버에서 연산 1, 연산 2, 연산 3, 연산 4가 순차적으로 이루어지게 된다. Among the techniques related to load shedding, the most common method is a sampling-based method. Reducing the load by ignoring the appropriate number of input data based on probability considering the resource and network bandwidth of the analysis server. This is a method of sampling and processing only part of the data generated in t0, t01, t02, and t03 by time as shown in FIG. 6. Data is collected from the edge machine 220, and operation 1, operation 2, operation 3, and operation 4 are sequentially performed in the analysis server.

예컨대, 도 6에서 현재 로드 상황 상 각각의 시간 구간 별로 2개의 입력 데이터만을 분석 대상으로 삼고자 한다면, 랜덤 제너레이터에 의하여 구간별로 2개의 입력 데이터가 선택된다. 2개 이하일 경우에는 모두 선택하며, 2개 이상의 입력 데이터가 존재하는 시간 구간에 대하여는 2개 정도의 입력 데이터가 선택될 수 있도록 랜덤 제너레이터의 확률을 정하되, 이미 2개의 입력 데이터가 선택된 경우 남은 데이터는 무시하고, 남은 데이터의 수가 선택할 데이터의 수와 동일한 경우, 남은 데이터를 모두 선택하여 2개의 입력 데이터가 선택될 수 있도록 할 수 있다. 선택할 입력 데이터 수는 모든 구간에서 동일한 것은 아니고 분석 서버의 부하 상황에 따라 다르게 설정된다.For example, in FIG. 6, if only two input data are to be analyzed for each time section in the current load situation, two input data are selected for each section by a random generator. If there are two or fewer, select all, and for a time period in which two or more input data exist, determine the probability of the random generator so that two or more input data can be selected.However, if two input data are already selected, the remaining data is Ignoring, if the number of remaining data is the same as the number of data to be selected, all the remaining data can be selected so that two input data can be selected. The number of input data to be selected is not the same in all sections and is set differently according to the load situation of the analysis server.

도 6에서 검은색의 표시된 점은 해당 구간에서 선택된 2개의 입력 데이터를 의미한다.In FIG. 6, black dots indicate two input data selected in the corresponding section.

도 7은 본 발명에 따른 오프로딩에 의한 로드 쉐딩 방법을 설명하기 위한 예시도이다.7 is an exemplary view for explaining a load shedding method by offloading according to the present invention.

도 6과 동일한 입력 데이터를 대상으로 설명한다. 예컨대 특정 온도의 범위 내에서 필터링하는 연산의 경우로서, 이 연산자를 엣지 데몬에 오프로딩하여, 로드 쉐딩 연산자는 각각의 시간 구간에서 랜덤 변수에 의하여 샘플링하는 것이 아니라, 오프로딩된 연산자에 의해 필터링되는 데이터만을 분석 서버에 전송하게 된다. 엣지 머신(220)에서 일부 연산을 수행하는 분산 처리 기법에 의하여 결과적으로 로드 쉐딩하는 결과를 얻을 수 있다.The same input data as in Fig. 6 will be described. For example, in the case of an operation for filtering within a range of a specific temperature, by offloading this operator to the edge daemon, the load shedding operator is filtered by an offloaded operator, rather than sampling by a random variable in each time interval. Only data is sent to the analysis server. As a result, a result of load shedding may be obtained by a distributed processing technique that performs some operations on the edge machine 220.

도 5의 경우를 생각하면 전체 로그 데이터 중에 "Error" 시작하는 센서 데이터만을 선처리한 가공 데이터를 분석 서버로 전송하게 되므로, 분석 서버의 부하를 경감시킬 수 있다.Considering the case of FIG. 5, since the processed data preprocessed only the sensor data starting “Error” among the entire log data is transmitted to the analysis server, the load of the analysis server can be reduced.

도 7에서 검은색 점으로 표시된 입력 데이터는 엣지 데몬이 오프로딩된 연산자에 의해 필터링되어 분석 서버로 전송하기로 결정한 데이터를 의미하는데, 전송되는 데이터는 상이하나 로드 쉐딩 효과는 유사하다 할 것이다. In FIG. 7, the input data indicated by a black dot means data determined by the edge daemon to be filtered by the offloaded operator and transmitted to the analysis server. The transmitted data is different, but the load shedding effect will be similar.

다만, 도 6은 랜덤 변수에 의해 임의로 선택된 입력 데이터가 제거되는 것에 반해, 도 7에서는 필요한 데이터는 모두 처리하면서도 분석 서버의 부하를 경감시키는 장점이 있다. 또한, 선처리 과정이 엣지 머신에서 이루어지는 만큼 분석 서버의 부하가 경감되므로, 시간 구간별 처리할 입력 데이터 수를 도 6에서 보다 높게 설정할 수 있다.However, while FIG. 6 removes randomly selected input data by a random variable, FIG. 7 has an advantage of reducing the load of the analysis server while processing all necessary data. In addition, since the load of the analysis server is reduced as the pre-processing is performed on the edge machine, the number of input data to be processed for each time section can be set higher in FIG. 6.

오프로딩된 연산 모듈은 분석 서버에서 처리하는 것이 바람직한 대용량 데이터 처리 및 데이터 통계 산출 등을 제외한 비교적인 단순한 연산에 한정된다. 분석 서버의 종합적인 분석 전에 이루어지는 데이터 가공 등의 선처리 연산에 쉽게 적용 가능하다 할 것이다.The offloaded calculation module is limited to comparatively simple calculations excluding large data processing and data statistics calculation, which are preferably processed by the analysis server. It can be easily applied to pre-processing operations such as data processing before comprehensive analysis of the analysis server.

도 8은 본 발명의 부분 실시예에 따른 자식 데몬에서의 오프로딩 절차를 설명하기 위한 블록도이다.8 is a block diagram illustrating an offloading procedure in a child daemon according to a partial embodiment of the present invention.

자식 데몬(320)은 수집된 데이터를 가공하지 않고 그대로 분석 서버(210)에 전송하거나, 부모 데몬(310)으로부터 오프로딩 실행 명령을 수신하여 수집된 데이터를 오프로딩한 연산자에 의하여 데이터를 처리하고, 처리된 데이터를 분석 서버(210)에 전송하는 역할을 한다.The child daemon 320 transmits the collected data to the analysis server 210 without processing, or receives an offloading execution command from the parent daemon 310 and processes the data by an operator that offloads the collected data. , Serves to transmit the processed data to the analysis server 210.

메모리(840)는 자식 데몬(320)에 의하여 shared memory, semaphore의 형태로 공유될 수 있다. 이러한 기술은 자식 데몬(320)과 부모 데몬(310) 사이에서도 적용 가능하다.The memory 840 may be shared by the child daemon 320 in the form of shared memory or semaphore. This technique is also applicable between the child daemon 320 and the parent daemon 310.

자식 데몬(320)은 데이터 수집부(810), 데이터 처리부(820), 데이터 출력부(830)를 포함한다.The child daemon 320 includes a data collection unit 810, a data processing unit 820, and a data output unit 830.

데이터 수집부(810)는 센서로부터 센서 데이터(raw data)를 수집하고, 데이터 처리부(820)는 연산자의 오프로딩 여부에 따라 센서 데이터를 처리한다. 데이터 전송부(830)는 처리된 데이터를 분석 서버(210)로 전송한다.The data collection unit 810 collects sensor data from the sensor, and the data processing unit 820 processes the sensor data according to whether the operator is offloaded. The data transmission unit 830 transmits the processed data to the analysis server 210.

자식 데몬(320)은 오프로딩 제어부를 더 포함할 수 있다.The child daemon 320 may further include an offloading control unit.

분석 서버는 부모 데몬(310)에게 오프로딩할 연산 모듈을 전송하고, 오프로딩 요청을 부모 데몬(310)에게 하는데, 부모 데몬(310)은 전송받은 연산 모듈을 저장하고, 자식 데몬(320)에게 오프로딩 연산 모듈이 저장된 위치를 알려주고, 해당 연산 모듈(도 5에서의 연산 1 및 연산 2)을 오프로딩할 수 있도록 자식 데몬(320)에 요청하고, 자식 데몬이 해당 연산 모듈을 오프로딩한 경우에는 부모 데몬(310)이 자식 데몬에게 오프로딩된 연산 모듈의 실행을 요청하여 자식 데몬(320)이 센서 데이터를 데이터 처리부에서 선처리할 수 있도록 한다. 이를 수신한 자식 데몬(310)의 오프로딩 제어부(870)는 해당 연산 모듈을 오프로딩하여 데이터 처리부(820)가 해당 연산 모듈을 실행한다. The analysis server sends an operation module to be offloaded to the parent daemon 310, and makes an offloading request to the parent daemon 310. The parent daemon 310 stores the received operation module and sends it to the child daemon 320. When the offloading operation module stores the location, and requests the child daemon 320 to offload the operation modules (operation 1 and operation 2 in FIG. 5), and the child daemon offloads the operation module In, the parent daemon 310 requests the child daemon to execute the offloaded operation module so that the child daemon 320 can preprocess the sensor data in the data processing unit. The offloading control unit 870 of the child daemon 310 receiving this, offloads the corresponding calculation module, and the data processing unit 820 executes the corresponding calculation module.

오프로딩 제어부(870)를 통하여 해당 연산 모듈을 오프로딩할 수 없는 경우에는 부모 데몬(310)은 자식 데몬(320)의 실행을 중지(kill)시키고 재실행하여 오프로딩될 수 있도록 처리할 수 있다.When the operation module cannot be offloaded through the offloading control unit 870, the parent daemon 310 may stop execution of the child daemon 320 and re-execute it so that it can be offloaded.

오프로딩된 연산 모듈들에 의하여 선처리된 가공 데이터(출력 데이터)는 데이터 전송부(830)가 분석 서버(210)로 전송하게 된다.The processing data (output data) preprocessed by the offloaded calculation modules is transmitted by the data transmission unit 830 to the analysis server 210.

도 9는 본 발명에 따른 로드 쉐딩 시스템의 전체 구성을 설명하기 위한 블록도이다.9 is a block diagram illustrating the overall configuration of a road shedding system according to the present invention.

센서(230)로부터 생성된 센서 데이터를 자식 데몬(320)의 데이터 수집부(810)가 수집하고, 데이터 처리부(820)가 처리한 후, 데이터 전송부(830)가 분석 서버로 전송한다. 분석 서버(210)의 데이터 수신부(910)가 이를 수신하여, 데이터 분석부(915)가 분석하고, 출력부(920)가 출력하게 된다.After the sensor data generated from the sensor 230 is collected by the data collection unit 810 of the child daemon 320, and processed by the data processing unit 820, the data transmission unit 830 transmits the data to the analysis server. The data receiving unit 910 of the analysis server 210 receives this, and the data analyzing unit 915 analyzes it, and the output unit 920 outputs it.

분석 서버(210)의 프로파일 생성부(930)는 연산 모듈의 오프로딩 가능 여부, 필요 자원량, 실행 시간, 입력 파라미터 정보, 출력 파라미터 정보, 입출력 파라미터 매핑 테이블 등의 정보를 담고 있는 프로파일을 생성하고, 프로파일 정보에 따라 로드 쉐딩 제어부는 로드 쉐딩 여부를 결정한다. The profile generation unit 930 of the analysis server 210 generates a profile containing information such as whether an operation module can be offloaded, required resource amount, execution time, input parameter information, output parameter information, and input / output parameter mapping table, The load shedding control unit determines whether to load shed according to the profile information.

제1 모니터링부(935)는 서버의 CPU 사용량, 메모리 사용량, 네트워크 트래픽 및 네트워크 대역폭 등의 서버 자원 정보를 수집하고, 로드 쉐딩 제어부는 서버 자원 정보를 토대로 로드 쉐딩 여부를 결정한다.The first monitoring unit 935 collects server resource information such as CPU usage, memory usage, network traffic, and network bandwidth of the server, and the load shedding control unit determines whether to load shed based on the server resource information.

제3 모니터링부(950)는 엣지 머신(220)의 제2 모니터링부(955)로부터 각 엣지 머신의 CPU 성능, CPU 사용량, 메모리 용량, 메모리 사용량, 오프로딩한 연산자의 수, 연결된 센서의 수 등의 엣지 자원 정보 및 상태 정보를 수신하여 전체 네트워크 상에 존재하는 엣지 머신의 자원 정보를 토대로 로드 쉐딩 제어부(940)가 로드 쉐딩 여부를 결정할 수 있도록 한다.The third monitoring unit 950, from the second monitoring unit 955 of the edge machine 220, the CPU performance, CPU usage, memory capacity, memory usage, number of offloaded operators, the number of connected sensors, etc. Receives the edge resource information and the status information of the load shedding control unit 940 based on the resource information of the edge machine existing on the entire network to determine whether or not load shedding.

로드 쉐딩 제어부(940)가 로드 쉐딩할 것을 결정한다는 것은 본 발명에서는 로드 쉐딩 제어부가 특정 엣지 머신에 특정 연산 모듈을 오프로딩하여 서버/엣지 분할 실행할 것을 결정한 것을 의미한다. The load shedding control unit 940 determines that the load shedding means in the present invention that the load shedding control unit determines to execute server / edge partitioning by offloading a specific operation module to a specific edge machine.

먼저 연산자 전송부(960)에 의하여, 오프로딩할 연산 모듈을 엣지 머신(220)에서 실행되는 부모 데몬(310)의 연산자 수신부(965)에 전송하면, 연산자 수신부(965)는 이를 수신하여 저장소에 저장한다. First, when the operator module 960 transmits an operation module to be offloaded to the operator receiver 965 of the parent daemon 310 running on the edge machine 220, the operator receiver 965 receives it and stores it in the storage. To save.

오프로딩 요청부(970)는 오프로딩부(973)에 전송된 연산 모듈을 오프로딩할 것을 요청하며, 해당 연산 모듈이 전송되지 않은 경우에는 아무런 행동을 하지 않거나, 연산자 전송부(960)에 연산 모듈의 재전송을 요청한다. 시스템 오버헤드를 줄이기 위하여, 로드 쉐딩 제어부(940)에서 새로운 오프로딩 요청이 오기 전까지 오프로딩 요청부는 아무런 행동을 하지 않게 된다. 이미 연산 모듈이 오프로딩된 경우에는 제어 요청부(976)가 오프로딩 제어부(870)에 오프로딩된 연산 모듈에 의하여 데이터를 처리할 것을 요청한다.The offloading request unit 970 requests to offload the operation module transmitted to the offloading unit 973, and if the operation module is not transmitted, no action is taken or the operator transmission unit 960 is operated Request retransmission of the module. In order to reduce the system overhead, the offloading request unit does not perform any action until a new offloading request is received from the load shedding control unit 940. When the calculation module is already offloaded, the control request unit 976 requests the offloading control unit 870 to process data by the offloading calculation module.

오프로딩부(973)은 연산 모듈이 전송된 후 오프로딩 제어부(870)에 해당 연산 모듈을 데이터 처리부에 실제로 오프로딩할 것을 요청한다. 순차적으로 제어 요청부(976)는 오프로딩 제어부(870)에 오프로딩된 연산 모듈에 의하여 데이터를 처리할 것을 요청한다.After the calculation module is transmitted, the offloading unit 973 requests the offloading control unit 870 to actually offload the calculation module to the data processing unit. Subsequently, the control request unit 976 requests the offloading control unit 870 to process data by the offloading operation module.

이상, 본 발명의 구성에 대하여 첨부 도면을 참조하여 상세히 설명하였으나, 이는 예시에 불과한 것으로서, 본 발명이 속하는 기술 분야에 통상의 지식을 가진 자라면 본 발명의 기술적 사상의 범위 내에서 다양한 변형과 변경이 가능함은 물론이다. 따라서 본 발명의 보호 범위는 전술한 실시예에 국한되어서는 아니 되며 이하의 특허청구범위의 기재에 의하여 정해져야 할 것이다.The configuration of the present invention has been described in detail with reference to the accompanying drawings, but this is only an example, and those skilled in the art to which the present invention pertains have various modifications and changes within the scope of the technical spirit of the present invention. Of course this is possible. Therefore, the protection scope of the present invention should not be limited to the above-described embodiments and should be defined by the following claims.

210: 분석 서버
220: 엣지 머신
230: 센서
310: 부모 데몬
320: 자식 데몬
810: 데이터 수집부
820: 데이터 처리부
830: 데이터 전송부
840: 메모리
850: 프로세서
860: 수신부
870: 오프로딩 제어부
910: 데이터 수신부
915: 데이터 분석부
920: 출력부
930: 프로파일 생성부
935: 제1 모니터링부
940: 로드 쉐딩 제어부
950: 제3 모니터링부
955: 제2 모니터링부
960: 연산자 전송부
965: 연산자 수신부
970: 오프로딩 요청부
973: 오프로딩부
976: 제어 요청부
210: analysis server
220: edge machine
230: sensor
310: parent daemon
320: child daemon
810: data collection unit
820: data processing unit
830: data transmission unit
840: memory
850: processor
860: receiver
870: offloading control
910: data receiving unit
915: data analysis department
920: output
930: Profile generation unit
935: first monitoring unit
940: road shedding control
950: third monitoring unit
955: second monitoring unit
960: operator transmission
965: operator receiver
970: offloading request unit
973: offloading unit
976: control request unit

Claims (13)

서버/엣지 분할 실행할 것을 결정하고, 하기 엣지 머신에 분석 애플리케이션의 일부 연산 모듈을 전송하고 오프로딩하도록 요청을 하고, 하기 엣지 머신으로부터 선처리 데이터를 수신하여 분석하는 분석 서버; 및
상기 분석 서버로부터 연산 모듈을 수신하여 오프로딩하고, 센서로부터 수집한 센서 데이터를 오프로딩된 연산 모듈을 이용하여 선처리하고, 선처리 데이터를 분석 서버에 전송하는 엣지 머신을 포함하고,
상기 분석 서버는,
프로파일 정보를 토대로 서버/엣지 분할 실행할 것을 결정하고, 상기 프로파일 정보는 연산 모듈의 실행 순서 및 필요 자원량, 입력 파라미터의 정보 및 출력 파라미터의 정보를 포함하는 것인 엣지 기반 로드 쉐딩 시스템.
An analysis server for deciding to perform server / edge partitioning, requesting to send and offload some computational modules of the analysis application to the following edge machine, and receiving and analyzing preprocessing data from the edge machine; And
An edge machine for receiving and offloading a calculation module from the analysis server, preprocessing sensor data collected from a sensor using an offloaded calculation module, and transmitting preprocessing data to the analysis server,
The analysis server,
An edge-based load shedding system that determines whether to perform server / edge partitioning based on profile information, and wherein the profile information includes execution order and required resource amount of the calculation module, information of input parameters, and information of output parameters.
제1항에 있어서,
상기 분석 서버는 CPU 사용량, 메모리 사용량 및 네트워크 트래픽을 고려하여, 서버/엣지 분할 실행할 것을 결정하는 것인
엣지 기반 로드 쉐딩 시스템.
According to claim 1,
The analysis server is to determine whether to execute the server / edge partition, considering the CPU usage, memory usage and network traffic
Edge-based road shedding system.
제1항에 있어서,
상기 분석 서버는 하나 이상의 엣지 머신으로부터 수신한 엣지 머신의 CPU 사용량 및 메모리 사용량 정보를 토대로 서버/엣지 분할 실행할 것을 결정하는 것인
엣지 기반 로드 쉐딩 시스템.
According to claim 1,
The analysis server is to determine whether to perform server / edge partitioning based on CPU usage and memory usage information of the edge machines received from one or more edge machines.
Edge-based road shedding system.
삭제delete 삭제delete 제 1항에 있어서,
상기 분석 애플리케이션은 오프로딩이 가능한 모듈과 오프로딩이 불가능한 모듈을 포함하는 것을 특징으로 하는
엣지 기반 로드 쉐딩 시스템.
According to claim 1,
The analysis application is characterized in that it comprises an offloadable module and a non-offloadable module.
Edge-based road shedding system.
제 1항에 있어서,
상기 엣지 머신은
상기 연산 모듈의 오프로딩을 제어하고, 센서로부터 센서 데이터를 수집하여 선처리한 후, 상기 분석 서버에 전송하는 자식 데몬과,
스스로의 CPU 사용량 및 메모리 사용량을 모니터링하여 상기 분석 서버에 모니터링 정보를 전송하고, 상기 분석 서버로부터 연산 모듈을 수신하여 저장하고, 상기 자식 데몬에게 연산 모듈을 오프로딩하여 데이터 선처리할 것을 요청하는 부모 데몬을 포함하는 것을 특징으로 하는
엣지 기반 로드 쉐딩 시스템.
According to claim 1,
The edge machine
A child daemon that controls offloading of the computation module, collects sensor data from the sensor, preprocesses it, and transmits it to the analysis server;
Parent daemon that monitors its own CPU usage and memory usage, transmits monitoring information to the analysis server, receives and stores a computation module from the analysis server, and requests the child daemon to pre-process the data by offloading the computation module. Characterized in that it comprises
Edge-based road shedding system.
엣지 머신이 선처리한 센서 데이터를 분석하는 분석 서버, 센서로부터 센서 데이터를 수집하고 상기 센서 데이터를 가공하여 분석 서버로 전송하는 하나 이상의 엣지 머신을 포함하는 엣지 기반 로드 쉐딩 시스템의 운영 방법에 있어서,
상기 분석 서버가
(1) 분석 애플리케이션이 포함하는 연산 모듈들의 프로파일 정보를 작성하는 단계;
(2) 스스로의 자원 정보 및 네트워크 정보를 수집하는 단계;
(3) 엣지 머신의 자원 정보를 수집하는 단계;
(4) 상기 프로파일 정보, 상기 스스로의 자원 정보 및 네트워크 정보 및 상기 엣지 머신의 자원 정보를 토대로 서버/엣지 분할 실행할 것을 결정하는 단계;
(5) 오프로딩할 엣지 머신 및 오프로딩될 연산 모듈을 결정하는 단계;
(6) 상기 오프로딩할 엣지 머신에 상기 오프로딩될 연산 모듈을 전송하는 단계;
(7) 상기 오프로딩할 엣지 머신에게 오프로딩할 것을 요청하는 단계;를 포함하고,
상기 프로파일 정보는 연산 모듈의 실행 순서 및 필요 자원량, 입력 파라미터의 정보 및 출력 파라미터의 정보를 포함하는 것인 엣지 기반 로드 쉐딩 시스템의 운영 방법.
In the operating method of the edge-based load shedding system comprising an analysis server for analyzing the sensor data pre-processed by the edge machine, one or more edge machines to collect the sensor data from the sensor and process the sensor data to transmit to the analysis server,
The analysis server
(1) creating profile information of calculation modules included in the analysis application;
(2) collecting own resource information and network information;
(3) collecting resource information of the edge machine;
(4) determining to perform server / edge partitioning based on the profile information, its own resource information and network information, and resource information of the edge machine;
(5) determining an edge machine to be offloaded and a calculation module to be offloaded;
(6) transmitting the operation module to be offloaded to the edge machine to be offloaded;
(7) requesting to offload the edge machine to be offloaded;
The profile information includes the execution order of the operation module and the required resource amount, information of an input parameter, and information of an output parameter.
삭제delete 제8항에 있어서,
상기 스스로의 자원 정보는 CPU 사용량, 메모리 사용량 및 네트워크 트래픽을 포함하는 것인
엣지 기반 로드 쉐딩 시스템의 운영 방법
The method of claim 8,
The resource information of itself includes CPU usage, memory usage, and network traffic.
How to operate the edge-based road shedding system
제8항에 있어서,
상기 필요 자원량은 상기 연산 모듈을 상기 엣지 머신에서 실행할 때,
필요한 CPU 로드 및 메모리 로드, 연산 모듈의 실행 시간을 고려하여 산출된 값인
엣지 기반 로드 쉐딩 시스템의 운영 방법.
The method of claim 8,
The required resource amount is when the calculation module is executed on the edge machine,
This is a value calculated considering the required CPU load, memory load, and execution time of the calculation module.
How to operate an edge-based road shedding system.
제8항에 있어서,
상기 엣지 머신이
(a) 상기 센서로부터 센서 데이터를 수집하는 단계;
(b) 상기 수집한 데이터를 오프로딩된 연산자를 이용하여 처리하는 단계;
(c) 상기 처리한 데이터를 분석 서버로 전송하는 단계;
상기 분석 서버가
(d) 상기 전송받은 데이터를 분석하는 단계; 및
(e) 상기 분석된 데이터를 출력하는 단계
를 더 포함하는 엣지 기반 로드 쉐딩 시스템의 운영 방법.
The method of claim 8,
The edge machine
(a) collecting sensor data from the sensor;
(b) processing the collected data using an offloaded operator;
(c) transmitting the processed data to an analysis server;
The analysis server
(d) analyzing the received data; And
(e) outputting the analyzed data
Method of operating an edge-based road shedding system further comprising a.
제8항에 있어서,
상기 엣지 머신이
① 스스로의 CPU 사용량, 메모리 사용량의 정보를 모니터링하는 단계;
② 상기 분석 서버로부터 연산 모듈을 수신하는 단계;
③ 상기 연산 모듈을 저장소에 저장하는 단계;
④ 상기 저장소에 저장된 연산 모듈을 오프로딩하는 단계; 및
⑤ 상기 오프로딩된 연산 모듈에 의하여 데이터 처리를 요청하는 단계;
를 더 포함하는 엣지 기반 로드 쉐딩 시스템의 운영 방법.

The method of claim 8,
The edge machine
① Monitoring information of own CPU usage and memory usage;
② receiving a calculation module from the analysis server;
③ storing the operation module in a storage;
④ offloading the calculation module stored in the storage; And
⑤ requesting data processing by the offloaded operation module;
Method of operating an edge-based road shedding system further comprising a.

KR1020160084537A 2015-10-28 2016-07-05 Edge-based Load-Shedding System for Fast-Data Analysis and the operating method thereof KR102094933B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/227,583 US10091110B2 (en) 2015-10-28 2016-08-03 Edge-based load shedding system for fast data analysis and operating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150150504 2015-10-28
KR20150150504 2015-10-28

Publications (2)

Publication Number Publication Date
KR20170049367A KR20170049367A (en) 2017-05-10
KR102094933B1 true KR102094933B1 (en) 2020-03-30

Family

ID=58744054

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160084537A KR102094933B1 (en) 2015-10-28 2016-07-05 Edge-based Load-Shedding System for Fast-Data Analysis and the operating method thereof

Country Status (1)

Country Link
KR (1) KR102094933B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112368997A (en) * 2018-07-06 2021-02-12 现代自动车株式会社 Resource management method and device
CN109462643A (en) * 2018-10-31 2019-03-12 南京东大智能化系统有限公司 A kind of internet of things data acquisition methods based on edge calculations
KR102075791B1 (en) * 2019-04-10 2020-03-02 주식회사 와이드티엔에스 System For Prosessing Fast Data Using Linking IoT Device In Edge Computing
KR102547103B1 (en) * 2021-10-28 2023-06-23 한국전자기술연구원 oneM2M platform-based computing offloading method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120122136A (en) * 2011-04-28 2012-11-07 삼성전자주식회사 A method of controlling a load shedding for data stream management system and an apparatus therefor
KR20150086904A (en) * 2014-01-21 2015-07-29 한국전자통신연구원 Rate-adaptive data stream management system and method for controlling thereof

Also Published As

Publication number Publication date
KR20170049367A (en) 2017-05-10

Similar Documents

Publication Publication Date Title
US10091110B2 (en) Edge-based load shedding system for fast data analysis and operating method thereof
KR102094933B1 (en) Edge-based Load-Shedding System for Fast-Data Analysis and the operating method thereof
US20160188376A1 (en) Push/Pull Parallelization for Elasticity and Load Balance in Distributed Stream Processing Engines
CN108197261A (en) A kind of wisdom traffic operating system
CN108900374B (en) Data processing method and device applied to DPI equipment
CN111274095A (en) Log data processing method, device, equipment and computer readable storage medium
CN203933662U (en) A kind of O&M Apparatus and system of cloud storage server cluster
US20160080267A1 (en) Monitoring device, server, monitoring system, monitoring method and program recording medium
CN105071954A (en) Resource pool fault diagnosis and positioning processing method based on probe technology
CN113612819A (en) Edge computing system
CN111641531B (en) DPDK-based data packet distribution and feature extraction method
CN114039900A (en) Efficient network data packet protocol analysis method and system
CN113206797A (en) Flow control method and device, electronic equipment and storage medium
CN114116172A (en) Flow data acquisition method, device, equipment and storage medium
CN114051716B (en) Method, cloud platform, system, computing device and medium for configuring priority
KR100984282B1 (en) An enterprise security management system using an memory cache
Zhang et al. A load-aware pluggable cloud framework for real-time video processing
CN108989456B (en) A kind of network implementation approach based on big data
TW201303753A (en) Dispersing-type algorithm system applicable to image monitoring platform
CN115080363B (en) System capacity evaluation method and device based on service log
CN103227730A (en) Method and system for analyzing large log
CN113722182A (en) Parallel asynchronous efficient acquisition and analysis method and system thereof
CN105446707A (en) Data conversion method
CN103258009A (en) Method and system for acquiring and analyzing method performance data
CN100403273C (en) Distributed monitoring method based on bidirectional information flow

Legal Events

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