KR20210036226A - A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof - Google Patents

A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof Download PDF

Info

Publication number
KR20210036226A
KR20210036226A KR1020190118453A KR20190118453A KR20210036226A KR 20210036226 A KR20210036226 A KR 20210036226A KR 1020190118453 A KR1020190118453 A KR 1020190118453A KR 20190118453 A KR20190118453 A KR 20190118453A KR 20210036226 A KR20210036226 A KR 20210036226A
Authority
KR
South Korea
Prior art keywords
model
information
edge
cloud
analysis
Prior art date
Application number
KR1020190118453A
Other languages
Korean (ko)
Other versions
KR102310187B1 (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 KR1020190118453A priority Critical patent/KR102310187B1/en
Priority to PCT/KR2019/014551 priority patent/WO2021060609A1/en
Publication of KR20210036226A publication Critical patent/KR20210036226A/en
Application granted granted Critical
Publication of KR102310187B1 publication Critical patent/KR102310187B1/en

Links

Images

Classifications

    • 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
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • 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
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

According to the present invention, a method for providing a model for utilizing adaptive intelligence in a distributed computing environment including a plurality of edges and a cloud that receives data from the edges, processes the same, and delivers the processing results to the edges comprises the following steps of: generating a model for collected data in a cloud; storing the generated model in a model storage; distributing an application from the cloud to edges; and searching and downloading, by the edges, one or more models matching the distributed application from the model storage.

Description

복수의 엣지와 클라우드를 포함하는 분산 컴퓨팅 시스템 및 이의 적응적 지능 활용을 위한 분석 모델 제공 방법{A DISTRIBUTED COMPUTING SYSTEM INCLUDING MULTIPLE EDGES AND CLOUD, AND METHOD FOR PROVIDING MODEL FOR USING ADAPTIVE INTELLIGENCE THEREOF}A DISTRIBUTED COMPUTING SYSTEM INCLUDING MULTIPLE EDGES AND CLOUD, AND METHOD FOR PROVIDING MODEL FOR USING ADAPTIVE INTELLIGENCE THEREOF}

본 발명은 분산 컴퓨팅 환경에서의 적응적 지능 활용을 위한 시스템 및 분석 모델 제공 방법에 관한 것이다.The present invention relates to a system and a method of providing an analysis model for utilizing adaptive intelligence in a distributed computing environment.

IoT 기기의 보급으로 인해 다양한 장소에서 IoT 센서로부터 다양한 데이터 수집이 가능해졌다. With the spread of IoT devices, it has become possible to collect various data from IoT sensors in various places.

수집된 센서 데이터 결과값은 현장에서는 소정의 규칙에 따라 의미를 파악하는 정도의 간단한 분석이 적용되고, 전문적이고 고도화된 분석을 위해서는 수집된 데이터를 클라우드로 보내어 심층 분석하고 그 결과를 다시 사용자에게 전송하는 방식이 보편적으로 이용되고 있다. For the collected sensor data result value, simple analysis is applied to understand the meaning according to a predetermined rule in the field, and for professional and advanced analysis, the collected data is sent to the cloud for in-depth analysis, and the result is sent back to the user. This method is commonly used.

이러한 클라우드 기반 분석은 구글 빅쿼리, 아마존 웹서비스 같이, 클라우드 인프라에서 데이터를 관리하고 분석하는 것이 현시점의 보편적인 기술 트렌드이다.In this cloud-based analysis, managing and analyzing data in cloud infrastructure, such as Google Big Query and Amazon Web Services, is a common technology trend at this time.

이와 같이 클라우드 컴퓨팅 기술의 발전으로 클라우드를 이용한 데이터 학습 및 분석이 대중화되고 있으나, 여기에는 다음과 같은 여러 가지 문제점이 있다.As described above, with the development of cloud computing technology, data learning and analysis using the cloud is becoming popular, but there are several problems as follows.

- 프라이버시 침해 문제: 개별 데이터를 클라우드로 전송해야 함에 따라 프라이버시 침해 문제가 발생할 수 있음-Privacy invasion problem: Privacy invasion may occur as individual data needs to be transmitted to the cloud.

- 네트워크 의존성: 클라우드에 데이터를 전송한다는 것은 물리/논리적으로 거리가 있는 곳에 데이터를 보내고 그 결과를 받아야 한다는 것이므로 네트워크가 제대로 동작하지 않을 경우에는 서비스 제공이 불가능함-Network Dependency: Sending data to the cloud means sending data to a physical/logically distant place and receiving the result, so if the network does not work properly, it is impossible to provide a service.

- 네트워크 자원 소모: 네트워크의 성능이 뒷받침된다고 하더라도, 많은 양의 데이터를 전송해야 하기 때문에 대역폭(bandwidth)의 소모가 크며, 많은 자원을 사용할 경우에는 서비스가 어려워질 수 있음-Network resource consumption: Even if the performance of the network is supported, the consumption of bandwidth is large because a large amount of data needs to be transmitted, and service may become difficult if a large amount of resources is used.

- 반응 속도: 물리적으로 거리가 있는 곳에 데이터를 주고 받아야 하므로 이에 따른 분석 반응 속도가 느려져 빠른 피드백을 요하는 실시간 서비스에는 활용하기가 어려움-Response speed: It is difficult to use for real-time services that require fast feedback because data must be sent and received in a physically distant place.

한편, 이러한 클라우드 분석의 단점을 극복하기 위해 엣지(edge) 또는 포그(fog) 컴퓨팅이 대안으로 도입되고 있다. Meanwhile, edge or fog computing is being introduced as an alternative to overcome the shortcomings of cloud analysis.

엣지는 클라우드의 물리적 거리와 제약을 극복하기 위해 개발된 것으로, 사용자가 서비스를 이용하는 곳과 가까운 위치에서 프라이빗하게 사용할 수 있는 시스템이다. Edge was developed to overcome the physical distance and limitations of the cloud, and it is a system that can be used privately in a location close to the place where users use the service.

엣지는 클라우드와 사용자의 중간 위치에서 필요한 기능을 수행함으로써 클라우드의 단점을 극복할 수 있다. The edge can overcome the shortcomings of the cloud by performing the necessary functions in the middle of the cloud and the user.

그러나 이러한 기존의 엣지-클라우드간 협업 분석 프레임워크에서는, 클라우드에서 엣지로 분석 엔진이 단순 배포되어 엣지가 분석 모델(AI 모델 또는 기계 학습 모델)을 활용할 수 있도록 단순 위임하고 있는 한계 때문에, 현재의 엣지 기반 분석은 초기 기술 개발 단계로 범용적이고 간단한 타스크 수행시에는 적합하나 다양한 개별 엣지 특성은 고려할 수 없고 특정 기업의 클라우드 시스템에 종속되는 문제가 있다.However, in the existing edge-cloud collaboration analysis framework, because the analysis engine is simply deployed from the cloud to the edge, and the edge simply delegates to utilize the analysis model (AI model or machine learning model), the current edge Base analysis is an early stage of technology development and is suitable for performing general and simple tasks, but it cannot consider various individual edge characteristics and has a problem that is dependent on a specific company's cloud system.

또한, 엣지는 클라우드만큼 프로세싱 성능이 좋지 않고 많은 양의 데이터를 처리하기가 어려워 복잡한 연산 처리가 곤란하고, 각 엣지마다 성능의 차이가 커서 엣지마다 처리할 수 있는 타스크의 개수와 특성이 매우 다르므로 일괄적으로 모델을 배포하는 데 무리가 있다. In addition, edge processing performance is not as good as the cloud, and it is difficult to process a large amount of data, making it difficult to process complex calculations, and the number and characteristics of tasks that can be processed for each edge are very different due to the large difference in performance for each edge. It is difficult to distribute models in batches.

한편, 모든 경우에 AI 모델을 설계하고 구현하려면 개발 시간과 전문 지식이 필요하다. 이러한 이유로, 숙련된 AI 모델은 파일에 저장하고, AI 모델을 다른 AI 모델과 비교하며, 새 데이터로 모델을 테스트 하는 등 다양한 용도로 재사용할 수 있어야 한다.On the other hand, in all cases, designing and implementing an AI model requires development time and expertise. For this reason, experienced AI models should be able to be reused for a variety of purposes, such as saving to a file, comparing AI models to other AI models, testing models with new data, and so on.

이와 관련하여, TensorFlow나 Caffe와 같은 많은 오픈 소스 기계 학습 라이브러리는 중복 작업을 줄이기 위해 모델 저장 및 복원에 유용한 클래스를 제공한다. 이들은 변수, 그래프 및 그래프의 메타 데이터를 포함해 훈련된 모델 정보를 저장하고 로드할 수 있다.In this regard, many open source machine learning libraries such as TensorFlow and Caffe provide useful classes for saving and restoring models to reduce redundant work. They can store and load trained model information, including variables, graphs, and metadata of graphs.

한편, 기계학습 모델을 바이트 스트림으로 변환하는 메커니즘을 직렬화(Serialization)라고 하며, 역직렬화(Deserialization)는 직렬화(Serialization)된 형식을 사용하여 실제 AI 모델을 메모리에 다시 만드는 역 과정을 말한다.Meanwhile, the mechanism for converting a machine learning model into a byte stream is called serialization, and deserialization refers to the reverse process of re-creating an actual AI model in memory using a serialized format.

최근 클라우드 플랫폼은 온라인 기계학습 서비스 호스팅 솔루션을 제공하는데, 퍼블릭 클라우드 환경에서 완전히 훈련된 기계학습 모델을 호스팅할 수 있다. 이러한 서비스의 전제 조건은 지원되는 직렬화된 AI 모델을 먼저 등록하는 것에 있다.Recent cloud platforms provide online machine learning service hosting solutions, which can host fully trained machine learning models in a public cloud environment. The prerequisite for these services is to first register a supported serialized AI model.

하지만, 이러한 플랫폼은 현재 특정 엣지 장치에 공통의 AI 모델을 등록하고 사용하는 데에 초점이 맞추어져 있다.However, these platforms are currently focused on registering and using common AI models for specific edge devices.

엣지 장치는 상대적으로 성능이 낮고 로컬 영역에 위치하며, 개인 정보가 들어있는 데이터를 처리할 가능성이 크다. Edge devices have relatively low performance, are located in a local area, and are likely to process data containing personal information.

따라서 클라우드 플랫폼들은 엣지의 이러한 특성을 고려한 모델 배포 방법을 통해 다양한 비즈니스 영역에서 사용할 수 있도록 해야 한다. Therefore, cloud platforms need to be used in various business areas through a model deployment method that considers these characteristics of the edge.

또한, 엣지에서 기계 학습 및 심층 학습 모델을 효율적으로 사용하려면 보다 구조화된 모델 관리 시스템이 필요하다.In addition, a more structured model management system is required to efficiently use machine learning and deep learning models at the edge.

본 발명의 실시예는 전술한 문제점을 해결하기 위하여, 엣지가 AI 모델을 보다 유연하게 선택할 수 있고, 단일 인공지능 모델이 두 개 이상의 부분으로 분할되는 경우 이를 여러 엣지에 분산되어 사용할 수 있도록 하는 분산 컴퓨팅 환경에서의 적응적 지능 활용을 위한 시스템 및 모델 제공 방법을 제공한다.In an embodiment of the present invention, in order to solve the above-described problem, an edge can more flexibly select an AI model, and when a single artificial intelligence model is divided into two or more parts, it is distributed to be used by being distributed to several edges. Provides a method of providing a system and model for adaptive intelligence utilization in a computing environment.

또한, 본 발명의 실시예는 엣지와 클라우드 또는 복수의 엣지 간의 원활한 통신 및 협업을 지원하며, 엣지로의 모델의 배포 및 엣지에 의한 모델의 선택이 가능하도록 하는 시스템 및 방법을 제공한다.In addition, an embodiment of the present invention provides a system and method that supports smooth communication and collaboration between an edge and a cloud or a plurality of edges, and enables distribution of a model to an edge and selection of a model by the edge.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 복수의 엣지와, 상기 엣지로부터 데이터를 받아 처리하고 처리 결과를 엣지로 전달하는 클라우드를 포함하는 분산 컴퓨팅 환경에서의 적응적 지능 활용을 위한 모델 제공 방법은 상기 클라우드에서 상기 수집한 데이터를 위한 모델을 생성하는 단계; 상기 생성된 모델을 모델 저장소에 저장하는 단계; 상기 클라우드에서 상기 엣지로 어플리케이션을 배포하는 단계; 및 상기 엣지가 상기 배포된 어플리케이션에 매칭되는 하나 이상의 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 단계를 포함한다.As a technical means for achieving the above-described technical problem, adaptation in a distributed computing environment including a plurality of edges according to the first aspect of the present invention, and a cloud that receives data from the edges and processes them and transfers the processing results to the edges. A method of providing a model for utilizing enemy intelligence comprises: generating a model for the collected data in the cloud; Storing the generated model in a model storage; Distributing an application from the cloud to the edge; And searching and downloading one or more models in which the edge matches the deployed application from the model repository.

일 실시예로, 상기 생성된 모델을 모델 저장소에 저장하는 단계는, 상기 엣지의 서칭에 필요한 메타데이터 정보를 상기 모델에 포함되도록 하여 상기 모델 저장소에 저장할 수 있다.In an embodiment, the storing of the generated model in the model storage may include metadata information required for searching of the edge in the model, and may be stored in the model storage.

일 실시예로, 상기 모델 저장소에 저장된 모델은 상기 서칭을 위한 기본 정보, 모델 분할 관련 정보 및 모델 트레이닝 정보를 포함할 수 있다.In an embodiment, the model stored in the model storage may include basic information for the search, model division-related information, and model training information.

일 실시예로, 상기 서칭을 위한 기본 정보는 모델 사용 비용 정보, 모델 성능 정보, 모델에 요구되는 디바이스 성능 정보 및 개인정보 보호 능력 정보 중 하나 이상을 포함할 수 있다.In an embodiment, the basic information for the search may include one or more of model usage cost information, model performance information, device performance information required for the model, and personal information protection capability information.

일 실시예로, 상기 모델 저장소는 상기 모델의 분할 여부 정보, 버전 정보 및 다운로드 파일 정보 중 하나 이상을 포함하고, 상기 엣지가 상기 배포된 어플리케이션에 매칭되는 하나 이상의 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 단계는, 상기 모델 저장소에 저장된 정보에 기초하여 상기 엣지가 상기 모델로 액세스 및 다운로드할 수 있다.In one embodiment, the model repository includes one or more of information on whether to divide the model, version information, and download file information, and searches and downloads one or more models whose edges match the deployed application from the model repository. In the step of, the edge may access and download the model based on information stored in the model repository.

일 실시예로, 상기 모델의 분할 여부 정보는 분할되지 않은 전체 모델이 저장된 디렉토리 정보 및 상기 모델이 두 개 이상으로 분할된 모델이 저장된 디렉토리 정보를 포함할 수 있다.In an embodiment, the information on whether to divide the model may include directory information in which all undivided models are stored and directory information in which a model divided into two or more models is stored.

일 실시예로, 상기 엣지가 상기 배포된 어플리케이션에 매칭되는 하나 이상의 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 단계는, 상기 엣지가 상기 매칭되는 모델을 서칭함에 따라, Rest API를 사용하여 상기 서칭된 모델을 다운로드하되, 상기 Rest API는 상기 서칭된 모델의 이름 정보, 버전 정보, 분할 여부 정보 및 해당 모델의 분할된 순서 정보를 포함할 수 있다.In one embodiment, the step of searching and downloading one or more models in which the edge matches the deployed application from the model repository, the searched using the Rest API, as the edge searches for the matching model. The model is downloaded, but the Rest API may include name information of the searched model, version information, information about whether to be divided, and information about the order of division of the corresponding model.

본 발명에 따른 모델 제공 방법은 일 실시예로, 상기 클라우드와 엣지 간의 타스크의 분산 및 협업 처리를 위해 또는 상기 엣지 간의 타스크의 분산 및 협업 처리를 위해 상기 복수의 엣지가 상기 다운로드된 모델에 기초하여 각각 또는 협업하여 타스크를 처리하는 단계를 더 포함할 수 있다.In one embodiment, the method for providing a model according to the present invention includes the plurality of edges based on the downloaded model for distributing and cooperative processing of tasks between the cloud and the edge or for distributing and cooperative processing of tasks between the edges. It may further include the step of processing the task individually or in collaboration.

또한, 본 발명의 제 2 측면에 따른 복수의 엣지와, 상기 엣지로부터 데이터를 받아 처리하고 처리 결과를 엣지로 전달하는 클라우드를 포함하는 분산 컴퓨팅 시스템은 상기 수집한 데이터의 처리를 위해 모델을 생성하고, 상기 생성된 모델을 모델 저장소에 저장하며, 상기 엣지로 어플리케이션을 배포하는 클라우드, 상기 생성된 모델을 저장 및 관리하는 모델 저장소 및 상기 배포된 어플리케이션에 매칭되는 하나 이상의 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 엣지를 포함한다. 이때, 상기 클라우드와 엣지 간의 타스크의 분산 및 협업 처리를 위해 또는 상기 엣지 간의 타스크의 분산 및 협업 처리를 위해 상기 복수의 엣지가 상기 다운로드된 모델에 기초하여 각각 또는 협업하여 상기 타스크를 처리한다.In addition, a distributed computing system including a plurality of edges according to the second aspect of the present invention and a cloud that receives and processes data from the edges and transmits the processing results to the edges generates a model for processing the collected data, and , The generated model is stored in a model storage, and a cloud for distributing an application to the edge, a model storage for storing and managing the generated model, and one or more models matching the deployed application are searched from the model storage and Includes Edge to download. At this time, for the distribution and cooperative processing of the task between the cloud and the edge, or for the distribution and cooperative processing of the task between the edges, the plurality of edges respectively or cooperately process the task based on the downloaded model.

일 실시예로, 상기 클라우드는 상기 엣지의 서칭에 필요한 메타데이터 정보를 상기 모델에 포함되도록 하여 상기 모델 저장소에 저장하되, 상기 메타데이터의 정보는 상기 서칭을 위한 기본 정보, 모델 분할 관련 정보 및 모델 트레이닝 정보를 포함할 수 있다.In one embodiment, the cloud includes metadata information necessary for the edge search in the model and stores it in the model storage, but the metadata information includes basic information for the search, information related to model division, and a model. Training information may be included.

일 실시예로, 상기 서칭을 위한 기본 정보는 모델 사용 비용 정보, 모델 성능 정보, 모델에 요구되는 디바이스 성능 정보 및 개인정보 보호 능력 정보 중 하나 이상을 포함할 수 있다.In an embodiment, the basic information for the search may include one or more of model usage cost information, model performance information, device performance information required for the model, and personal information protection capability information.

일 실시예로, 상기 모델 저장소는 상기 모델의 분할 여부 정보, 버전 정보 및 다운로드 파일 정보 중 하나 이상을 포함하고, 상기 엣지는 상기 모델 저장소에 저장된 정보에 기초하여 상기 모델로의 액세스 및 다운로드할 수 있다.In one embodiment, the model storage includes at least one of information on whether to divide the model, version information, and download file information, and the edge may access and download the model based on information stored in the model storage. have.

일 실시예로, 상기 모델의 분할 여부 정보는 분할되지 않은 전체 모델이 저장된 디렉토리 정보 및 상기 모델이 두 개 이상으로 분할된 모델이 저장된 디렉토리 정보를 포함할 수 있다.In an embodiment, the information on whether to divide the model may include directory information in which all undivided models are stored and directory information in which a model divided into two or more models is stored.

일 실시예로, 상기 엣지는 상기 매칭되는 모델을 서칭함에 따라, Rest API를 사용하여 상기 서칭된 모델을 다운로드하되, 상기 Rest API는 상기 서칭된 모델의 이름 정보, 버전 정보, 분할 여부 정보 및 해당 모델의 분할된 순서 정보를 포함할 수 있다.In one embodiment, as the edge searches the matching model, the searched model is downloaded using a Rest API, but the Rest API is the name information, version information, partitioning information, and corresponding information of the searched model. It may include information about the order of division of the model.

또한, 본 발명의 제 3 측면에 따른 복수의 엣지와, 상기 엣지로부터 데이터를 받아 처리하고 처리 결과를 엣지로 전달하는 클라우드를 포함하는 분산 컴퓨팅 시스템은 상기 클라우드는, 상기 수집한 데이터의 처리를 위해 모델을 생성하는 모델 생성부와, 상기 생성된 모델을 모델 저장소에 저장하는 모델 저장부와, 상기 엣지로 어플리케이션을 배포하는 배포부를 포함하고, 상기 엣지는, 상기 배포된 어플리케이션에 매칭되는 하나 이상의 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 모델 다운로드부를 포함한다.In addition, a distributed computing system including a plurality of edges according to the third aspect of the present invention, and a cloud that receives and processes data from the edge and transmits the processing result to the edge, the cloud is used for processing the collected data. A model generation unit for generating a model, a model storage unit for storing the generated model in a model storage unit, and a distribution unit for distributing an application to the edge, wherein the edge includes at least one model matching the deployed application And a model download unit for searching and downloading from the model repository.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium for recording a computer program for executing the method may be further provided.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 엣지는 고정된 어플리케이션의 특정에 종속되지 않고 능동적으로 원하는 모델을 클라우드 또는 모델 저장소를 통해 선택적으로 사용할 수 있다. 이때, 엣지는 모델의 성능, 목적 및 가격 등의 다양한 조건에 기반한 선택이 가능하다.According to any one of the above-described problem solving means of the present invention, the edge is not dependent on the specificity of a fixed application and can actively selectively use a desired model through a cloud or a model storage. At this time, the edge can be selected based on various conditions such as model performance, purpose, and price.

또한, 모델과 어플리케이션을 분리하여 엣지로 제공하는 것을 특징으로 하는바, 보다 유연한 이용이 가능하다는 장점이 있다.In addition, since the model and the application are separated and provided as an edge, there is an advantage that more flexible use is possible.

또한, 어플리케이션이 배포된 이후에도 모델 등을 상황에 맞도록 업데이트하는 것이 가능하다는 장점이 있다. 예를 들어, 종래 기술의 경우는 모델이 고정되어 있기 때문에, 경우에 따라 어떤 엣지에서는 사용이 어려운 문제가 있으나, 본 발명의 일 실시예에 따르면 엣지가 스스로의 상황 조건에 맞는 모델을 유연하게 선택할 수 있게 된다.In addition, even after the application is distributed, there is an advantage that it is possible to update the model according to the situation. For example, in the case of the prior art, since the model is fixed, there is a problem that it is difficult to use at a certain edge in some cases, but according to an embodiment of the present invention, the edge flexibly selects a model suitable for its own situation conditions. You will be able to.

도 1은 클라우드 및 엣지 기반의 컴퓨팅 환경을 설명하기 위한 개략도이다.
도 2는 종래 기술과 본 발명의 일 실시예 간의 차이점을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템을 설명하기 위한 도면이다.
도 4는 모델 저장소의 구조를 설명하기 위한 일 예시를 도시한 도면이다.
도 5는 메타데이터 구조의 일 예시를 도시한 도면이다.
도 6은 본 발명의 일 실시예에 따른 클라우드 및 엣지를 하드웨어를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 모델 제공 방법의 순서도이다.
도 8은 제 1 실시예에 따른 클라우드-엣지 분산 처리 방법의 개념도이다.
도 9는 도 8에 나타낸 제 1 실시예의 개념을 구현하기 위한 클라우드-엣지의 예시적 구성도이다.
도 10은 제 2 실시예에 따른 클라우드-엣지 분산 처리 방법의 개념도를 도시한 도면이다.
도 11은 도 10에 나타낸 제 2 실시예의 개념을 구현하기 위한 클라우드-엣지의 예시적 구성도이다.
도 12는 제 3 실시예에 따른 클라우드-엣지 분산 처리 방법의 예시적 개념도이다.
도 13은 도 12에 나타낸 제 3 실시예의 개념을 구현하기 위한 클라우드-엣지의 예시적 구성도이다.
1 is a schematic diagram illustrating a cloud and edge-based computing environment.
2 is a view for explaining the difference between the prior art and an embodiment of the present invention.
3 is a diagram illustrating a distributed computing system according to an embodiment of the present invention.
4 is a diagram illustrating an example for explaining the structure of a model storage.
5 is a diagram illustrating an example of a metadata structure.
6 is a diagram for explaining hardware for a cloud and an edge according to an embodiment of the present invention.
7 is a flowchart of a method for providing a model according to an embodiment of the present invention.
8 is a conceptual diagram of a cloud-edge distributed processing method according to the first embodiment.
9 is an exemplary configuration diagram of a cloud-edge for implementing the concept of the first embodiment shown in FIG. 8.
10 is a diagram showing a conceptual diagram of a cloud-edge distributed processing method according to a second embodiment.
11 is an exemplary configuration diagram of a cloud-edge for implementing the concept of the second embodiment shown in FIG. 10.
12 is an exemplary conceptual diagram of a cloud-edge distributed processing method according to a third embodiment.
13 is an exemplary configuration diagram of a cloud-edge for implementing the concept of the third embodiment shown in FIG. 12.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those of ordinary skill in the art can easily implement the present invention. However, the present invention may be implemented in various different forms and is not limited to the embodiments described herein. In the drawings, parts not related to the description are omitted in order to clearly describe the present invention.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the entire specification, when a certain part "includes" a certain component, it means that other components may be further included rather than excluding other components unless otherwise stated.

이하 본 발명의 설명에서는 먼저, 클라우드 및 엣지 기반의 컴퓨팅 환경에 대하여 개략적으로 설명하고, 현 기술의 문제점 및 이를 해결하기 위해 엣지에서 모델 저장소에 저장된 모델을 선택하는 본 발명의 실시예에 대하여 설명하도록 한다. 그리고 마지막으로 클라우드 서버에서 엣지로 모델을 배포하는 방법에 대하여 추가적으로 설명하도록 한다.Hereinafter, in the description of the present invention, first, a cloud and edge-based computing environment will be outlined, and an embodiment of the present invention in which a model stored in a model storage at an edge is selected in order to solve the problems and problems of the current technology will be described. do. And finally, how to distribute the model from the cloud server to the edge will be additionally explained.

도 1은 클라우드 및 엣지 기반의 컴퓨팅 환경을 설명하기 위한 개략도이다.1 is a schematic diagram illustrating a cloud and edge-based computing environment.

본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템은, 다수의 IoT 센서(미도시)와 다수의 액추에이터(미도시)가 포함된 포괄적 구성요소인 사물측(Things)(30)에 연결되어 이로부터 각종 데이터를 받고 이로 제어신호를 보내주는 처리를 수행하는 등의 엣지 컴퓨팅을 실행하는 다수의 엣지(Edge)(20: 20a, 20b, 20c, ...)와, 엣지로부터 데이터를 받아 클라우드 컴퓨팅을 실행하고 엣지로 실행 결과를 전달하는 클라우드(Cloud)(10)로 이루어진다. Distributed computing system according to an embodiment of the present invention is connected to the things (Things) 30, which is a comprehensive component including a plurality of IoT sensors (not shown) and a plurality of actuators (not shown), and various Multiple Edges (20: 20a, 20b, 20c, ...) that execute edge computing, such as performing processing to receive data and send control signals to it, and execute cloud computing by receiving data from the edge. It consists of a cloud (10) that delivers the execution result to the edge.

예를 들면, 사물측(30)의 IoT 센서, 어플리케이션, 사용자 디바이스는 많은 데이터(예컨대, 빅데이터)를 생산한다. For example, IoT sensors, applications, and user devices of the object side 30 produce a lot of data (eg, big data).

엣지(20)는 기본적으로, 사물측(30)으로부터 데이터(빅데이터) 수집; 빅데이터 활용을 위한 데이터 정제, 빅데이터의 본 처리를 위한 클리닝, 샘플링, 결합 등의 전처리를 수행하고, 그 결과를 클라우드(30)로 전달한다. The edge 20 basically collects data (big data) from the object side 30; Pre-processing such as data purification for the use of big data, cleaning, sampling, and combining for the main processing of big data is performed, and the result is delivered to the cloud 30.

엣지(20)의 기능을 다양하게 설계할 수 있는데, 예를 들어, 클라우드(30)로 보내지 않고도 자체적으로 처리하도록 설계할 수도 있고, 상기 기본적 기능만을 수행하고 핵심 타스크는 모두 클라우드(30)로 넘기도록 설계할 수도 있다. The functions of the edge 20 can be designed in various ways, for example, it can be designed to process itself without sending it to the cloud 30, performing only the basic functions and passing all of the core tasks to the cloud 30 It can also be designed to be

클라우드(30)는 주로 딥러닝 등의 심층 학습 및 그에 관련된 분석, 추론 등을 수행하며 엣지(20)에서 넘겨받은 타스크(들)를 종합적으로 수행하거나 특정 엣지(20)에 타스크를 일부 분배하는 등, 핵심 처리를 수행한다. The cloud 30 mainly performs deep learning such as deep learning and related analysis, inference, etc., comprehensively performing the task(s) handed over from the edge 20, or distributing some of the tasks to a specific edge 20, etc. , Carry out the core processing.

클라우드(30)에서 처리된 결과는(또는 엣지(20)에서 자체 처리된 결과는) 사물측(30)의 액추에이터로 인가되어, 상황과 판단에 의거한 IoT 컨트롤이 이루어지게 된다. The result processed by the cloud 30 (or the result processed by the edge 20) is applied to the actuator of the object side 30 to perform IoT control based on the situation and judgment.

본 발명에서와 같이 클라우드와 엣지간의 분산 처리 방법을 구현하기 위해서는 기본적으로 엣지(20)와 클라우드(30) 간에 처리 분배(operation allot)를 하기 위한 분배방식 또는 분배규칙이 필요하다. 이 분배규칙의 설계에 따라 본 발명의 클라우드-엣지 분산 처리 방법은 다양한 방식으로 구현될 수 있을 것이다. In order to implement the distributed processing method between the cloud and the edge as in the present invention, basically, a distribution method or distribution rule for performing an operation allot between the edge 20 and the cloud 30 is required. According to the design of this distribution rule, the cloud-edge distributed processing method of the present invention may be implemented in various ways.

한편, 클라우드 및 엣지를 포함하는 분산 컴퓨팅 환경에서 모델을 생성 및 배포하는 종래 기술의 일 예로는 다음과 같다.Meanwhile, an example of the prior art for generating and distributing a model in a distributed computing environment including a cloud and an edge is as follows.

아마존은 '머신러닝(기계학습)'을 보다 쉽게 활용할 수 있는 도구인 'AWS 딥렌즈(AWS DeepLense)'를 발표하였다. 또한, 아마존은 '아마존 세이지메이커(Amazon SageMaker)'라는 손쉽게 기계학습 모델을 만들고 학습 및 배포할 수 있는 서비스로 로컬 디바이스에서 머신러닝을 사용할 때 발생하는 어려움을 없애기 위한 기술을 도입하였다.Amazon announced'AWS DeepLense', a tool that makes'machine learning' easier to use. In addition, Amazon introduced a technology to eliminate the difficulties that arise when using machine learning on a local device as a service that can easily create, train, and deploy machine learning models called'Amazon SageMaker'.

이와 더불어, Caffe는 Model Zoo에 많은 엔지니어들이 만든 다양한 아키텍쳐와 데이터로 작업한 모델들을 저장하고 이를 제공하는 역할을 수행한다.In addition, Caffe plays a role of storing and providing models working with various architectures and data created by many engineers in the Model Zoo.

또한, 'Amazon Azure machine learning service'는 이미 생성된 모델을 디바이스에 배포, 실행 및 관리하기 위한 방법을 제안하고 엣지에서 사용 가능하도록 하는 기능을 제공한다.In addition,'Amazon Azure machine learning service' proposes a method for deploying, running, and managing models that have already been created on devices, and provides functions that make them available at the edge.

이러한 아마존 등의 대기업들은 엣지에 지능을 부여하여 활용하기 위해 트레이닝된 AI 모델을 디바이스에 배포하는 방법을 취하고 있다.Large companies such as Amazon are taking a method of distributing trained AI models to devices in order to use them by giving intelligence to the edge.

일 예로, 위 기술들은 일반적으로 다음과 같은 절차를 따른다.As an example, the above technologies generally follow the following procedure.

1. 모델 등록(Register the model)1.Register the model

2. 배포 준비(Prepare to deploy(specify assets, usage, compute target))2. Prepare to deploy (specify assets, usage, compute target)

3. 타겟으로의 모델 배포(Deploy the mode to the compute target)3. Deploy the mode to the compute target

4. 배포된 모델의 테스트 및 웹사이트 호출(Test the deployed model, also called web site)4. Test the deployed model, also called web site

이와 같은 종래 기술은, 첫째로 엣지에서 AI 응용 프로그램을 동작시키기 위해 클라우드에서 특정 AI 모델을 포함한 컨테이너를 엣지로 함께 배포하는 것이 일반적이다.In such a conventional technique, first, in order to run an AI application program at the edge, it is common to deploy a container including a specific AI model in the cloud to the edge together.

즉, 엣지에서 AI 응용 프로그램을 실행시키려면 특정 AI 모델이 포함된 컨테이너를 클라우드에서 엣지로 배포해야 한다.In other words, to run an AI application at the edge, a container containing a specific AI model must be deployed from the cloud to the edge.

이를 위해서는 먼저 모델을 등록하고, 등록된 모델로 어플리케이션을 컨테이너화한 후, 컨테이너를 대상 엣지로 배포해야 한다. To do this, first register the model, containerize the application with the registered model, and then deploy the container to the target edge.

이와 같이 컨테이너화된 응용 프로그램은 특정 AI 모델에 따라 상이하다는 특징이 있다. 예를 들어, 엣지에 대해 한 방향으로 배치되고, 초기 인공지능 모델에 따라 달라지며, 실시간으로 엣지의 상황 변화를 고려하여 수정하기도 쉽지가 않다. 또한, 컨테이너 장치의 AI 모델은 엣지의 성능과 목적에 따라 변경될 수도 없다.Containerized applications like this are characterized in that they are different depending on the specific AI model. For example, it is arranged in one direction to the edge, depends on the initial artificial intelligence model, and it is not easy to correct it in consideration of changes in the situation of the edge in real time. Also, the AI model of the container device cannot be changed depending on the performance and purpose of the edge.

그리고 각각의 엣지는 다양한 성능과 목적을 가지고 있기 때문에, 이러한 엣지에서 AI 학습 모델을 유연하게 사용하기 위해 엣지는 AI 모델을 동적으로 선택할 수 있어야만 한다.And since each edge has a variety of performance and purpose, the edge must be able to dynamically select the AI model in order to flexibly use the AI learning model at this edge.

이를 위해 본 발명의 일 실시예는 AI 모델과 응용 프로그램 컨테이너를 분리하여 엣지 측면에서 올바른 지능을 동적으로 선택할 수 있도록 하는 기능을 제공할 수 있다. To this end, an embodiment of the present invention may provide a function to dynamically select the correct intelligence in terms of the edge by separating the AI model and the application program container.

또한, 본 발명의 일 실시예는 추가적인 모델 저장소와 엣지가 상호 통신함으로써, 응용 프로그램 컨테이너를 통해 직접 최적의 모델을 다운로드할 수 있도록 한다.In addition, according to an embodiment of the present invention, the additional model storage and the edge communicate with each other, so that the optimal model can be downloaded directly through the application program container.

둘째로, 종래 기술에 있어 두 개 이상의 어플리케이션 컨테이너를 연결하여 사용하는 경우를 고려한 방법이 필요한 경우가 있다.Second, in the prior art, there is a case in which a method considering the case of connecting and using two or more application containers is required.

즉, 단일 장치는 일반적으로 단일 독립 AI 모델을 사용하나, 성능이 다양한 엣지에서의 추론의 관점에서 모든 장치가 성능 제한으로 인해 특정 AI 응용 프로그램을 실행시킬 수 있는 것은 아니다. 따라서, 하나의 AI 응용 프로그램을 분할하여 여러 엣지에 분산시키는 다른 방법에 대한 고려가 필요하다.In other words, a single device typically uses a single independent AI model, but not all devices are capable of running a specific AI application due to performance limitations in terms of inference at the edges with varying performance. Therefore, it is necessary to consider another method of dividing an AI application program and distributing it across multiple edges.

예를 들어, 두 개의 엣지를 A와 B라 가정한다. A는 인증된 장치이지만 성능이 좋지 않은 반면, B는 고성능이지만 사용자에게 인증되지 않은 장치이다. 사용자가 개인 정보 보호 문제로 인해 A에만 데이터를 저장하고 원래 데이터를 처리하도록 허용하면 제한된 성능으로 인해 제대로 타스크를 수행할 수 없는 경우가 있게 된다.For example, assume two edges are A and B. A is an authenticated device, but its performance is poor, while B is a high-performance device that is not authenticated to the user. If the user is allowed to store data only in A and process the original data due to privacy concerns, there are cases in which the task cannot be performed properly due to limited performance.

이러한 문제를 해결하는 가장 좋은 방법은 A와 B 간의 공동 작업이다. 개인 정보가 없는 원본 데이터에서 필터링된 기능 정보는 A에서 B로 전송하도록 하고, 선택한 정보를 전송한 후에 B가 이 부분 정보로 작업을 완료할 수 있다. 이러한 공동 작업 시나리오를 통해 다양한 엣지에서 유연한 AI 응용 프로그램을 제작 및 실행시킬 수 있게 된다.The best way to solve this problem is collaboration between A and B. Filtered functional information from the original data without personal information is sent from A to B, and after sending the selected information, B can complete the work with this partial information. Through these collaborative scenarios, it will be possible to create and run flexible AI applications at various edges.

도 2는 종래 기술과 본 발명의 일 실시예 간의 차이점을 설명하기 위한 도면이다.2 is a view for explaining the difference between the prior art and an embodiment of the present invention.

본 발명의 일 실시예에 따른 분산 컴퓨팅 환경에서의 적응적 지능 활용을 위한 시스템 및 모델 제공 방법은 엣지에 배포될 컨테이너화된 어플리케이션(Containeraized application)이 주 AI 모델을 고정적으로 포함하지 않으며, 엣지가 모델 저장소에서 필요한 모델을 직접 가져오는 것을 특징으로 한다.In the method for providing a system and model for adaptive intelligence utilization in a distributed computing environment according to an embodiment of the present invention, a containerized application to be deployed at the edge does not include a main AI model fixedly, and the edge is a model. It is characterized by directly fetching the required model from the repository.

다시 말해, 엣지는 고정된 AI 모델을 클라우드 서버로부터 제공받을 수도 있으나, 서비스의 실시간 필요에 의해 적절한 AI 모델을 모델 저장소로부터 서칭하여 다운로드 및 사용할 수 있는 것을 특징으로 한다.In other words, Edge may receive a fixed AI model from a cloud server, but it is characterized in that it can search for and download and use an appropriate AI model from the model repository according to the real-time needs of the service.

또한, 본 발명의 일 실시예는 두 개 이상의 엣지 간에 지능을 공유하는 것을 특징으로 한다. 즉, 진화하는 엣지 환경에서 적극적으로 디바이스를 활용하기 위해서 각 엣지 장치 간의 지능을 공유할 수 있는 것을 특징으로 한다. 이에 따라, 본 발명의 일 실시예는 복수의 엣지 간 AI 데이터(AI 모델)와 어플리케이션을 모델 저장소를 통해 공유할 수 있다.In addition, an embodiment of the present invention is characterized in that intelligence is shared between two or more edges. In other words, in order to actively use the device in an evolving edge environment, intelligence can be shared between each edge device. Accordingly, an embodiment of the present invention may share AI data (AI model) and an application between a plurality of edges through a model storage.

도 2를 참조하면, 종래 기술의 경우(a)에는 모델을 포함한 어플리케이션이 일방적으로 엣지에 배포되나, 본 발명의 일 실시예(b)에 따르면 엣지에 배포된 어플리케이션이 상황을 고려하여 필요한 모델을 모델 저장소에서 서칭 및 제공받는 것을 특징으로 한다.Referring to FIG. 2, in the case of the prior art (a), an application including a model is unilaterally distributed to the edge, but according to an embodiment (b) of the present invention, an application distributed to the edge is required to determine the required model in consideration of the situation It is characterized by being searched and provided in the model repository.

도 3은 본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템(100)을 설명하기 위한 도면이다.3 is a diagram illustrating a distributed computing system 100 according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템(100)은 클라우드(10), 모델 저장소(A) 및 복수의 엣지(20)를 포함한다.The distributed computing system 100 according to an embodiment of the present invention includes a cloud 10, a model storage A, and a plurality of edges 20.

클라우드(10)는 엣지(20)로부터 데이터를 받아 처리하고 처리 결과를 엣지(20)로 전달한다. 또한, 클라우드(10)는 수집한 데이터의 처리를 위해 모델을 생성하고, 생성된 모델을 모델 저장소(A)에 저장하며, 엣지(20)로 모델이 포함되지 않은 어플리케이션을 배포한다.The cloud 10 receives data from the edge 20, processes it, and transmits the processing result to the edge 20. In addition, the cloud 10 generates a model for processing the collected data, stores the generated model in the model storage A, and distributes an application without a model to the edge 20.

즉, 종래 기술의 경우에는 클라우드가 어플리케이션에 AI 모델을 포함하여 배포하는 것이었으나, 본 발명의 일 실시예는 클라우드(10)가 엣지(20)로 AI 모델이 포함되지 않은 어플리케이션을 배포하고, 엣지(20)는 추후 적합한 AI 모델을 클라우드(10) 또는 모델 저장소(A)를 통해 스스로 서칭하는 것을 특징으로 한다.That is, in the case of the prior art, the cloud was to distribute the application including the AI model, but in an embodiment of the present invention, the cloud 10 distributes the application without the AI model to the edge 20, and (20) is characterized by self-searching a suitable AI model through the cloud 10 or the model storage (A) in the future.

모델 저장소(A)는 클라우드(10)에 의해 생성된 모델을 저장 및 관리한다.The model storage A stores and manages the model generated by the cloud 10.

도 4는 모델 저장소(A)의 구조를 설명하기 위한 일 예시를 도시한 도면이다.4 is a diagram showing an example for explaining the structure of the model storage (A).

모델 저장소(A)는 모델의 분할 여부 정보, 모델의 버전 정보 및 다운로드 파일 정보 중 하나 이상의 정보를 포함하도록 구성된다.The model storage A is configured to include one or more of information on whether to divide a model, information on a version of a model, and information on a download file.

일 예시로, 도 4는 수정된 VGG16 모델의 여러 변형된 형태가 저장된 구조를 도시한 것으로서, 각 모델의 구조는 전체(Full) 및 부분(Partial)으로 구분될 수 있다.As an example, FIG. 4 shows a structure in which several modified forms of the modified VGG16 model are stored, and the structure of each model may be divided into a full and a partial.

Full은 분할되지 않은 일반적인 전체 모델이 저장된 디렉토리 정보를 의미하며, Partial은 두 개 이상으로 분할된 모델이 저장된 디렉토리 정보를 의미한다.Full refers to directory information in which general undivided models are stored, and Partial refers to directory information in which two or more divided models are stored.

일 실시예로, 이러한 각각의 모델들은 버전 별로 관리될 수 있다.In one embodiment, each of these models may be managed for each version.

또한, 하위 폴더에는 저장된 모델의 메타 데이터와 가장자리에서 다운로드할 파일을 설명하는 JSON 파일을 포함하고 있다.In addition, the subfolder contains the metadata of the saved model and a JSON file that describes the file to be downloaded from the edge.

이와 같은 구조를 기반으로, 본 발명의 일 실시예에서의 엣지(20)는 모델 저장소(A)에 저장된 정보에 기초하여 모델로의 액세스 및 다운로드를 할 수 있다.Based on this structure, the edge 20 in an embodiment of the present invention can access and download a model based on information stored in the model storage A.

다시 도 3을 참조하면, 엣지(20)는 클라우드(10)로부터 배포된 어플리케이션에 매칭되는 하나 이상의 모델을 모델 저장소(A)로부터 서칭 및 다운로드한다.Referring back to FIG. 3, the edge 20 searches and downloads one or more models matching the application distributed from the cloud 10 from the model storage A.

이때, 엣지(20)는 특정 어플리케이션에 적합한 모델 하나만을 서칭 및 다운로드할 수 있음은 물론이며, 복수 개의 모델을 서칭 및 다운로드할 수도 있다. 그리고 복수 개의 모델인 경우 엣지(20)는 가장 적합한 모델을 찾아 다운로드할 수 있다.In this case, the edge 20 may search and download only one model suitable for a specific application, as well as search and download a plurality of models. In addition, in the case of a plurality of models, the edge 20 may find and download the most suitable model.

한편, 일 실시예로 클라우드(10)는 엣지(20)의 모델 서칭에 필요한 메타데이터 정보를 모델에 포함되도록 하여 모델 저장소(A)에 저장할 수 있다.Meanwhile, in an embodiment, the cloud 10 may store metadata information necessary for model search of the edge 20 in the model to be included in the model storage A.

즉, 엣지(20)가 모델 저장소(A)에 저장된 모델을 서칭하기 위해서 각 모델은 검색에 필요한 메타데이터 정보를 포함하고 있어야 한다.That is, in order for the edge 20 to search for a model stored in the model storage A, each model must include metadata information necessary for the search.

도 5는 메타데이터 구조의 일 예시를 도시한 도면이다.5 is a diagram illustrating an example of a metadata structure.

메타데이터의 정보는 도 5에 도시된 일 예시와 같이, 서칭을 위한 기본 정보(model_information), 모델 분할 관련 정보(partial_information) 및 모델 트레이닝 정보(training_information)를 포함할 수 있다.The metadata information may include basic information for searching (model_information), model division related information (partial_information), and model training information (training_information), as in the example illustrated in FIG. 5.

여기에서 서칭을 위한 기본 정보(model_information)는 엣지(20)가 모델 서칭을 하기 위한 기본 정보를 포함한다. 일 예시로, 모델 사용 비용 정보, 모델 성능 정보, 모델에 요구되는 디바이스 성능 정보 및 개인정보 보호 능력 정보 중 하나 이상을 포함할 수 있으며, 이를 기반으로 엣지(20)는 자신에게 적합한 모델을 서칭할 수 있다.Here, the basic information for the search (model_information) includes basic information for the edge 20 to perform a model search. As an example, it may include one or more of model usage cost information, model performance information, device performance information required for the model, and personal information protection capability information, and based on this, the edge 20 searches for a model suitable for itself. I can.

구체적으로, 서칭을 위한 기본 정보(model_information)는 서칭과 관련된 다음과 같은 정보 등을 포함할 수 있다.Specifically, basic information (model_information) for searching may include the following information related to searching.

- 모델이 동작 가능한 최소 사양(GPU 여부/사양, CPU 사양, 최소 메모리 크기 등), 모델의 가격, 모델의 성능, 모델의 목적, 모델의 인풋과 아웃풋의 형식, 모델 공급자 정보, 모델의 처리 속도, 디바이스 간 협력 가능 여부 및 그 정보(Full, Partial)-Minimum specifications for model operation (GPU availability/specifications, CPU specifications, minimum memory size, etc.), model price, model performance, model purpose, model input and output types, model supplier information, model processing speed , Whether cooperation between devices is possible and its information (Full, Partial)

한편, 본 발명의 일 실시예는 엣지(20)가 매칭되는 모델을 서칭함에 따라, Rest API를 사용하여 서칭된 모델을 다운로드할 수 있다.Meanwhile, according to an exemplary embodiment of the present invention, as the edge 20 searches for a matching model, the searched model may be downloaded using the Rest API.

이때, Rest API는 서칭된 모델의 이름 정보, 버전 정보, 분할 여부 정보 및 해당 모델의 분할된 순서 정보를 포함할 수 있다.In this case, the Rest API may include name information of the searched model, version information, information on whether to be divided, and information on the order of division of the corresponding model.

예를들어,E.g,

http://server.com/model?model_name=VGG16&model_version=[v1.0]&partial_mode=Partial&partial_num=1의 형태인 경우, VGG가 16이고, 모델 버전은 1이며, partial_mode는 분할되어 있고, 분할된 첫번째 모델을 다운로드하는 Rest API로 사용될 수 있다. In the form of http://server.com/model?model_name=VGG16&model_version=[v1.0]&partial_mode=Partial&partial_num=1, VGG is 16, model version is 1, partial_mode is divided, and the first divided model It can be used as a Rest API to download.

NameName Required/Required/
OptionalOptional
TypeType DescriptionDescription ExampleExample
Model_nameModel_name RequiredRequired StringString 분류할 수 있고 미래 상태를 예측할 수 있는 여러 AI 모델을 제공함
- 우선, 엣지는 다운로드하기 위해 올바른 모델 이름을 알아야 하며, 어플리케이션 컨테이너는 설명 된 정보를 기반으로 모델을 다운로드하고 관리할 수 있어야 함
Provides multiple AI models that can be classified and predict future conditions
-First of all, Edge must know the correct model name to download, and the application container must be able to download and manage the model based on the described information.
model_name=Yolo_v3
model_name=Yolo_v3
Model_versionModel_version OptionalOptional StringString AI 모델의 버전을 관리함AI 모델이 수정되거나 개선될 수 있기 때문에 변경 내역을 유지해야 함
- 본 발명에서 제안하는 방법으로 해당 모델 버전을 다운로드하여 사용할 수 있음
Versioning of the AI model Must maintain a history of changes as the AI model can be modified or improved
-The model version can be downloaded and used by the method proposed in the present invention.
model_version=[v1.0]model_version=[v1.0]
Partial_modePartial_mode RequiredRequired StringString 모델에는 Full과 Partial의 두 가지 유형이 있음본 발명에서 제안하는 방법에 따르면 독립적으로 타스크를 수행할 수 있으며. 클라우드/엣지 혹은 엣지/엣지가 협력 하는 것을 지원할 수 있음
- 모델 저장소는 단일 AI 모델 또는 분할된 AI 모델을 제공할 수 있는 것을 특징으로 함
There are two types of models: Full and Partial. According to the method proposed in the present invention, tasks can be performed independently. Can support cloud/edge or edge/edge working together
-The model repository is characterized by being able to provide a single AI model or a divided AI model.
partial_mode=Fullpartial_mode=Full
Partial_numberPartial_number OptionalOptional integerinteger 엣지에 적합한 모델을 다운로드하려면 분할된 순서 정보가 필요함전체 모드(Full) 모델의 경우 부분 번호는 항상 0
- N개로 분할된 모델이 사용될 경우에는 1에서 N까지 설정된 모델 정보가 필요함
Segmented order information is required to download a model suitable for the edge. For full models, the part number is always 0.
-If a model divided into N is used, model information set from 1 to N is required.
partial_number=1
partial_number=1

이와 같이 엣지(20)가 어플리케이션 및 이에 매칭되는 하나 이상의 모델을 다운로드하게 되면, 클라우드(10)와 엣지(20) 간의 타스크의 분산 및 협업을 위해, 또는 복수의 엣지(20) 간의 타스크의 분산 및 협업 처리를 위해, 복수의 엣지(20)가 다운로드된 모델에 기초하여 각각 또는 상호 간에 협업하여 타스크를 처리하게 된다.한편, Partial이라는 하위 디렉토리는 분할된 모델의 데이터를 저장하며, 모델이 여러 엣지(20) 간 협업을 위해 여러 하위 모델로 분할된 후 이를 저장한다. 여기에서 부분 디렉토리(P1, P2)의 세분은 버전별로 그룹화될 수 있다. 또한, 하위 디렉토리에는 분할된 모델의 순서 정보를 포함할 수 있다.In this way, when the edge 20 downloads an application and one or more models matching it, for the distribution and collaboration of tasks between the cloud 10 and the edge 20, or the distribution of tasks between a plurality of edges 20 and For collaborative processing, a plurality of edges 20 cooperate with each other or each other to process a task based on the downloaded model. On the other hand, a sub-directory called Partial stores the data of the divided model, and the model has multiple edges. (20) It is divided into several sub-models for collaboration and then saved. Here, subdivisions of the partial directories P1 and P2 may be grouped by version. In addition, the sub-directory may include order information of the divided models.

한편, 본 발명의 일 실시예에서 클라우드(10)와 모델 저장소(A)가 도시된 도 3에서는 각각 독립되는 구성인 것으로 도시하였으나, 반드시 이에 한정되지 않는다. 즉, 하나의 서버 내에 복수의 프로그램을 통해 상기 기능이 각각 제공될 수 있음은 물론이며, 복수의 하드웨어로 구성된 서버가 각각 독립적인 서버 컴퓨터로 구성되어 상호 운영되는 형태로 실시될 수도 있다.Meanwhile, in FIG. 3 in which the cloud 10 and the model storage A are illustrated in an exemplary embodiment of the present invention, they are illustrated as being independent configurations, but are not limited thereto. That is, each of the above functions may be provided through a plurality of programs in one server, and the servers composed of a plurality of hardware may each be configured as independent server computers and implemented in a form in which they are interoperable.

도 6은 본 발명의 일 실시예에 따른 클라우드(10) 및 엣지(20)를 하드웨어를 설명하기 위한 도면이다.6 is a diagram for explaining hardware of the cloud 10 and the edge 20 according to an embodiment of the present invention.

또한, 본 발명의 일 실시예에서 클라우드(10), 엣지(20)는 도 6에 도시된 바와 같이 통신모듈(110), 메모리(120) 및 상기 메모리(120)에 저장된 프로그램을 실행시키는 프로세서(130)를 포함하도록 구성될 수 있다.In addition, in an embodiment of the present invention, the cloud 10 and the edge 20 are a communication module 110, a memory 120, and a processor that executes a program stored in the memory 120 as shown in FIG. 130).

이와 같은 통신 모듈(110)은 무선 통신 모듈로 구성됨이 바람직하나 이는 유선 통신 모듈을 배제하는 것은 아니다. 무선 통신 모듈은 WLAN(wireless LAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, 무선 USB 기술 및 무선 HDMI 기술 등으로 구현될 수 있다. 또한, 유선 통신 모듈은 전력선 통신 장치, 전화선 통신 장치, 케이블 홈(MoCA), 이더넷(Ethernet), IEEE1294, 통합 유선 홈 네트워크 및 RS-485 제어 장치로 구현될 수 있다. The communication module 110 is preferably composed of a wireless communication module, but this does not exclude a wired communication module. The wireless communication module may be implemented with WLAN (wireless LAN), Bluetooth, HDR WPAN, UWB, ZigBee, Impulse Radio, 60GHz WPAN, Binary-CDMA, wireless USB technology, and wireless HDMI technology. In addition, the wired communication module may be implemented as a power line communication device, a telephone line communication device, a cable home (MoCA), Ethernet, IEEE1294, an integrated wired home network, and an RS-485 control device.

메모리(120)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 및 휘발성 저장장치를 통칭하는 것이다. 예를 들어, 메모리(120)는 콤팩트 플래시(compact flash; CF) 카드, SD(secure digital) 카드, 메모리 스틱(memory stick), 솔리드 스테이트 드라이브(solid-state drive; SSD) 및 마이크로(micro) SD 카드 등과 같은 낸드 플래시 메모리(NAND flash memory), 하드 디스크 드라이브(hard disk drive; HDD) 등과 같은 마그네틱 컴퓨터 기억 장치 및 CD-ROM, DVD-ROM 등과 같은 광학 디스크 드라이브(optical disc drive) 등을 포함할 수 있다.The memory 120 collectively refers to a nonvolatile storage device and a volatile storage device that continuously maintains stored information even when power is not supplied. For example, the memory 120 may be a compact flash (CF) card, a secure digital (SD) card, a memory stick, a solid-state drive (SSD), and a micro SD card. Magnetic computer storage devices such as NAND flash memory, hard disk drives (HDDs) such as cards, and optical disc drives such as CD-ROMs, DVD-ROMs, etc. I can.

참고로, 본 발명의 실시예에 따른 도 1 내지 도 6에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 형태로 구현될 수 있으며, 소정의 역할들을 수행할 수 있다.For reference, the components shown in FIGS. 1 to 6 according to an embodiment of the present invention may be implemented in software or in hardware such as a field programmable gate array (FPGA) or an application specific integrated circuit (ASIC). Can play roles.

그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.However,'components' are not meant to be limited to software or hardware, and each component may be configured to be in an addressable storage medium or configured to reproduce one or more processors.

따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.Thus, as an example, components are components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, procedures, and sub- Includes routines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays and variables.

구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.Components and functions provided within the components can be combined into a smaller number of components or further divided into additional components.

이하에서는 도 7을 참조하여, 본 발명의 일 실시예에 따른 분산 컴퓨팅 시스템(100)에서의 적응적 지능 활용을 위한 모델 제공 방법에 대하여 설명하도록 한다.Hereinafter, a method of providing a model for utilizing adaptive intelligence in the distributed computing system 100 according to an embodiment of the present invention will be described with reference to FIG. 7.

도 7은 본 발명의 일 실시예에 따른 모델 제공 방법의 순서도이다.7 is a flowchart of a method for providing a model according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 모델 제공 방법은 먼저, 클라우드에서 수집한 데이터를 위한 모델을 생성한다(S110).In the method for providing a model according to an embodiment of the present invention, first, a model for data collected from the cloud is generated (S110).

다음으로, 생성된 모델을 모델 저장소에 저장한다(S120).Next, the generated model is stored in the model storage (S120).

다음으로, 클라우드에서 엣지로 어플리케이션을 배포한다(S130).Next, the application is distributed from the cloud to the edge (S130).

다음으로, 엣지가 배포된 어플리케이션에 매칭되는 하나 이상의 모델을 모델 저장소로부터 서칭 및 다운로드한다(S140).Next, one or more models matching the application to which the edge is deployed are searched and downloaded from the model repository (S140).

상술한 설명에서, 단계 S110 내지 단계 S140는 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 1 내지 도 6에서의 분산 컴퓨팅 시스템(100)에 관하여 이미 기술된 내용은 도 7에서의 모델 제공 방법에도 적용된다.In the above description, steps S110 to S140 may be further divided into additional steps or may be combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted as necessary, or the order between steps may be changed. In addition, even if other contents are omitted, the contents already described with respect to the distributed computing system 100 in FIGS. 1 to 6 are also applied to the method of providing a model in FIG. 7.

이하에서는 도 8 내지 도 13을 참조하여, 클라우드(10)에서 엣지(20)로 모델을 배포하는 방법에 대하여 추가적으로 설명하도록 한다.Hereinafter, a method of distributing a model from the cloud 10 to the edge 20 will be additionally described with reference to FIGS. 8 to 13.

본 발명에서와 같이 클라우드(10)와 엣지(20) 간의 분산 처리 방법을 구현하기 위해서는 기본적으로 엣지(20)와 클라우드(10) 간에 처리 분배(operation allot)를 하기 위한 분배방식 또는 분배규칙이 필요하다. 이 분배규칙의 설계에 따라 본 발명의 클라우드-엣지 분산 처리 방법은 다양한 방식으로 구현될 수 있을 것이다. In order to implement the distributed processing method between the cloud 10 and the edge 20 as in the present invention, a distribution method or a distribution rule is basically required to perform an operation allot between the edge 20 and the cloud 10. Do. According to the design of this distribution rule, the cloud-edge distributed processing method of the present invention may be implemented in various ways.

한편, 본 발명의 설명에서 '처리(operation)'라는 용어는 엣지-클라우드 기반의 IoT 컴퓨팅 환경에서 수행되는 데이터 수집, 가공, 학습, 분석, 추론 등의 행위를 모두 포괄하는 의미로 사용되었으며, 또한, '모델' 또는 '엔진'은 이러한 IoT 처리를 위해 필요한 학습 모델(엔진), 분석 모델(엔진), 추론 모델(엔진), AI 모델 등을 포괄하는 의미로 사용되었다. Meanwhile, in the description of the present invention, the term'operation' has been used to encompass all actions such as data collection, processing, learning, analysis, and reasoning performed in an edge-cloud based IoT computing environment. ,'Model' or'engine' was used to encompass learning models (engines), analytic models (engines), inference models (engines), and AI models required for IoT processing.

제 1 실시예는 클라우드(10)에서 다수의 모델을 생성하고 이들 생성된 모델 중에서 일부를 엣지(20)에 분배하여 엣지(20)에서 '경량' 처리를 수행하도록 하여 엣지-클라우드 분산 처리를 하도록 하는 방식이다. 이러한 개념에 따라 편의상, 제 1 실시예는 '경량 모델 활용을 위한 선택적 모델 분배 기법' 또는 모델 경량화'라고 명명한다.In the first embodiment, a plurality of models are generated in the cloud 10 and some of the generated models are distributed to the edge 20 to perform'lightweight' processing at the edge 20 to perform edge-cloud distributed processing. This is the way to do it. According to this concept, for convenience, the first embodiment is referred to as'selective model distribution technique for utilizing a lightweight model' or model weight reduction.

도 8은 제 1 실시예에 따른 클라우드-엣지 분산 처리 방법의 개념도이다. 8 is a conceptual diagram of a cloud-edge distributed processing method according to the first embodiment.

도 8에 따르면, 클라우드(10)에서 모델 또는 엔진(11a, 11b, 11c, 11d, 11e, ...)을 생성한다. IoT 환경상, 엣지(20a, b, c, ...)에서 이러한 모델의 생성 및 학습/분석 처리가 곤란한 경우에, 클라우드(10)에서 본 처리(main operation)를 위한 다수의 모델(엔진)을 생성하고, 엣지(20)에서는 자체 처리가능한 모델만 가져와서(또는 분배받아서) 처리하는 것이다.According to FIG. 8, models or engines 11a, 11b, 11c, 11d, 11e, ...) are generated in the cloud 10. In the IoT environment, when it is difficult to generate and learn/analyze such models at the edges (20a, b, c, ...), a number of models (engines) for the main operation are used in the cloud 10. It is generated, and processed by importing (or distributing) only a model that can be processed by itself at the edge 20.

클라우드(10)로부터의 모델 분배(allot)는 엣지의 상황(프로세싱 성능, 메모리용량 등)에 따라 엣지(20) 측에서 또는 클라우드(10) 측에서 주도할 수 있다. Model allocation from the cloud 10 may be led from the edge 20 side or the cloud 10 side according to the situation of the edge (processing performance, memory capacity, etc.).

엣지의 성능에 따라 엣지에 분배되는 모델의 종류와 수가 달라질 수 있다. Depending on the edge's performance, the type and number of models distributed to the edge may vary.

도 8에서는 첫 번째 엣지(20a)에 모델 11a가 한 개 분배되고, 두 번째 엣지(20b)에는 두 개의 모델 11b, 11e가 분배되고, 세 번째 엣지(20c)에는 한 개의 모델 11c가 분배된 예를 나타내었다. In FIG. 8, one model 11a is distributed to the first edge 20a, two models 11b and 11e are distributed to the second edge 20b, and one model 11c is distributed to the third edge 20c. Is shown.

클라우드(10)에서 생성되는 모델은 큰 것, 작은 것, 고성능, 저성능 등 다양한 것들이 있으므로, 이들 모델들 중에서 각 엣지(20)의 성능이나 용량에 맞는 것을 선택하여 그에 적정한 처리 결과를 낼 수 있도록 함으로써 전체 IoT 컴퓨팅 시스템의 효율을 극대화할 수 있도록 한다. Since there are a variety of models created in the cloud 10 such as large, small, high-performance, and low-performance, among these models, select the one that suits the performance or capacity of each edge 20 so that appropriate processing results can be produced. By doing so, it can maximize the efficiency of the entire IoT computing system.

즉, 각 엣지가 자신이 낼 수 있는 최상의 퍼포먼스를 내도록 하기 위하여, 다수의 엣지 간에 모델을 분담하여 처리(distributed operation)하고자 한다.In other words, in order for each edge to produce the best performance it can achieve, the model is shared among multiple edges and processed (distributed operation).

도 9는 도 8에 나타낸 제 1 실시예의 개념을 구현하기 위한 클라우드(10)-엣지(20) 구성도를 나타낸다. 기본적으로 클라우드(10)에는 클라우드 컴퓨팅부(12)가 있어서 본연의 클라우드 연산(처리)을 수행하며 모델 생성부(14)에서 모델을 생성한다. 9 shows a configuration diagram of a cloud 10-an edge 20 for implementing the concept of the first embodiment shown in FIG. 8. Basically, there is a cloud computing unit 12 in the cloud 10 to perform the original cloud operation (processing), and the model generation unit 14 generates a model.

즉, 클라우드(10)는 높은 프로세싱 파워와 저장 능력을 바탕으로 대용량 데이터를 저장하며 여러 상황에 맞는 하나 이상의 모델을 생성한다. 또한 엣지(20)에는 엣지 컴퓨팅부(21)가 있어서 엣지(20)에 필요한 연산(처리)을 수행한다. That is, the cloud 10 stores large amounts of data based on high processing power and storage capacity, and creates one or more models suitable for various situations. In addition, the edge 20 includes an edge computing unit 21 to perform operations (processing) required for the edge 20.

본 제 1 실시예에 따른 엣지-클라우드 분산 처리를 구현하기 위하여, 클라우드(10)와 엣지(20)에 사전에 정한 모델분배 규칙(13, 22)을 추가하여, 이 규칙에 의거하여 제 1 실시예의 기법을 진행할 수 있다. In order to implement the edge-cloud distributed processing according to the first embodiment, a pre-determined model distribution rule (13, 22) is added to the cloud 10 and the edge 20, and the first implementation is carried out based on this rule. You can proceed with courtesy techniques.

엣지(20)의 모델 선택부(23)는 모델분배 규칙(22)을 사용하여 동적으로 변하는 자신의 상황에 따라, 클라우드(10)에서 생성된 어떤 모델을 어떻게 사용할지 판단하여 모델을 선택한다. The model selection unit 23 of the edge 20 uses the model distribution rule 22 to determine which model generated in the cloud 10 and how to use it according to its dynamically changing situation and selects a model.

엣지(20)에서의 모델 선택은, 1) 엣지(20)의 고정된 프로세스 처리 능력, 2) 실시간으로 가용한(available) 프로세스 자원의 두 가지를 고려하여 처리 가능한 모델과 그 개수를 결정할 수 있다. Model selection at the edge 20 may determine the number of models and the number of models that can be processed in consideration of two things: 1) fixed process processing capability of the edge 20, and 2) process resources available in real time. .

엣지(20)가 모델을 선택(23)하면 엣지의 모델분배 규칙(22)에 연동되는 클라우드의 모델분배 규칙(13)에 따라 클라우드(10)의 모델 분배부(15)는 상기 선택된 모델을 해당 엣지(20)로 분배한다. 엣지(20)에는 본연의 엣지 연산(처리)을 수행하는 엣지 컴퓨팅부(21)가 동작하여 분배받은 AI 모델을 이용한 처리를 수행한다. When the edge 20 selects a model (23), the model distribution unit 15 of the cloud 10 corresponds to the selected model according to the model distribution rule 13 of the cloud linked to the model distribution rule 22 of the edge. Distribute to the edge (20). The edge computing unit 21 that performs the original edge operation (processing) operates on the edge 20 to perform processing using the distributed AI model.

이와 같이 하나 이상의 모델을 분산처리 규칙에 따라 분담하여 각 엣지(20)는 예측 가능한 경량 모델을 선별적으로 사용함으로써 전체 IoT 시스템의 예측률을 높이고 모든 상황에 플렉서블하게 대응할 수 있게 된다.In this way, by dividing one or more models according to distributed processing rules, each edge 20 selectively uses a predictable lightweight model, thereby increasing the prediction rate of the entire IoT system and flexibly responding to all situations.

이상 및 이하의 실시예 설명에서, 클라우드(10)의 구성요소들을 클라우드 컴퓨팅부(12), 모델 생성부(14), 모델 분배부(15)로, 그리고 엣지(20)의 구성요소들을 엣지 컴퓨팅부(21), 모델 선택부(23)로, '~부'라는 이름으로 명명하였지만, 이는 명확한 설명을 위한 편의적 방편에서 그러한 것일 뿐이다. 비록 이러한 이름들이 물리적 존재 또는 하드웨어장치를 암시할 수도 있겠지만, 이들은 하드웨어장치뿐만 아니라 비물리적 존재 또는 소프트웨어의 기능, 루틴, 처리 단위 등을 의미하기도 함은 당업자에게 자명하다. 이하, 다른 제 2, 제 3 실시예의 경우에도 동일하다.In the above and below, the components of the cloud 10 are converted to the cloud computing unit 12, the model generation unit 14, the model distribution unit 15, and the components of the edge 20 are edge computing. The part 21 and the model selection part 23 were named as'~ part', but this is only for convenience for clarification. Although these names may imply a physical existence or a hardware device, it is obvious to those skilled in the art that they mean not only a hardware device but also a non-physical entity or a function, routine, processing unit, etc. of software. Hereinafter, the same applies to the other second and third embodiments.

제 2 실시예는 클라우드와 엣지가 각자 처리한 중간 데이터를 주고 받는 것을 기반으로 한다. 이러한 개념에 따라, 제 2 실시예는 '클라우드-엣지간의 유기적 협업(cooperation)에 기반한 처리 고도화 기법'으로 명명할 수 있을 것이다. The second embodiment is based on exchanging intermediate data processed by the cloud and the edge. According to this concept, the second embodiment may be referred to as a'processing enhancement technique based on organic cooperation between cloud and edge'.

사물측에서 크리티컬한 정보(가령 개인정보, 사진, 음성 등 프라이버시 보호가 필요한 정보)를 클라우드로 보내면 안 될 경우가 있다. 그렇다고 하여 엣지가 정보를 처리하는 것은 그 데이터 크기나 유형 등의 문제로 곤란할 경우가 많다. 엣지는 일반적으로 처리 능력이 약하기 때문이다. There are cases in which things should not send critical information (for example, information that needs privacy protection such as personal information, photos, voices, etc.) to the cloud. However, it is often difficult for the edge to process information due to problems such as the size and type of the data. This is because the edge is generally weak in processing power.

이를 해결하기 위하여, 클라우드는 학습을 통해 점진적으로 분석 엔진(모델)을 최적화하고 엣지에 배포한다. To solve this problem, the cloud gradually optimizes the analysis engine (model) through learning and distributes it to the edge.

엣지는 사물측으로부터 수집한 데이터를 분리하여 일부분에 대하여 즉각적으로 일차 학습/분석 또는 전처리를 하여 선별적 데이터를 클라우드로 보낸다. Edge separates the collected data from the object side and immediately performs primary learning/analysis or pre-processing on a part and sends selective data to the cloud.

클라우드는 엣지로부터 전달받은 데이터를 기반으로 본 처리를 진행하여 빠르게 의사 결정된 결과를 엣지로 전달한다. The cloud processes this process based on the data received from the edge, and quickly delivers the decision-making results to the edge.

이와 같이 엣지에서 원래 데이터가 일차 학습 혹은 전처리된 상태로 클라우드로 전송되어 역분석 불가한 형태로 전송됨으로써 개인정보(프라이버시)를 보호할 수 있으면서도, 일차 학습/분석 결과를 클라우드로 보내면서 원래 데이터 보다 더 작은 데이터를 보낼 수 있게 되므로 전송 대역폭을 절약할 수 있다.In this way, the original data from the edge is transmitted to the cloud in a state of primary learning or pre-processing and transmitted in a form that cannot be reverse-analyzed, thereby protecting personal information (privacy), while sending the primary learning/analysis results to the cloud, and more than the original data. Since it is possible to send less data, it can save transmission bandwidth.

도 10은 제 2 실시예에 따른 클라우드-엣지 분산 처리 방법의 개념도이다.10 is a conceptual diagram of a cloud-edge distributed processing method according to a second embodiment.

사물측(30)에서 엣지(20)로 크리티컬 정보

Figure pat00001
(31)를 보내면 엣지(20)는 이 정보 중에서 A와 B를 분리한다. Critical information from the object side (30) to the edge (20)
Figure pat00001
Sending (31) the edge 20 separates A and B from this information.

분리된 일부분, 예를 들어

Figure pat00002
(32)는 그대로 클라우드(10)로 보내고 엣지(20)에서는 다른 일부분(A 부분)만을 처리하고 그 처리결과인
Figure pat00003
(33)를 클라우드(10)로 보낸다. Separate parts, for example
Figure pat00002
(32) is sent to the cloud 10 as it is, and at the edge 20, only the other part (part A) is processed, and the result of the processing is
Figure pat00003
Send (33) to the cloud (10).

클라우드(10)는 분리되어 받은

Figure pat00004
(32)와
Figure pat00005
(33)를 기반으로 처리한 완전한 처리 결과
Figure pat00006
(34)를 엣지(20)로 보내 준다. Cloud (10) is received separately
Figure pat00004
(32) and
Figure pat00005
(33) Complete treatment results based on
Figure pat00006
Send (34) to the edge (20).

엣지(20)는 이를 받아서 최종 결과 데이터로서 사물측(30)으로 전달한다. 이를 위해 클라우드(10)에서는 사전에 크리티컬 정보(31) 전체를 처리할 수 있는 모델(16), A부분만 처리할 수 있는 모델(16'), B부분만 처리할 수 있는 모델(16")을 생성하며, 엣지(20)가 A부분만을 처리할 수 있도록 모델(16')을 엣지(20)에 분배해 놓는다. The edge 20 receives this and transmits it to the object side 30 as final result data. To this end, in the cloud 10, a model 16 that can process the entire critical information 31 in advance, a model that can process only part A (16'), and a model that can process only part B (16") And the model 16' is distributed to the edge 20 so that the edge 20 can process only part A.

즉, 클라우드(10)는 엣지(20)에게 엣지(20)의 처리 능력에 맞는 역할을 부여하는 것이며, 이 역할 부여는 엣지(20)에 한정된 처리만 하도록 그 범위를 정하는 것이 바람직하다. That is, the cloud 10 is to give the edge 20 a role appropriate to the processing capability of the edge 20, and this role assignment is preferably set to a range so that only processing limited to the edge 20.

이와 같이 엣지(20)는 크리티컬 정보(31) 전체를 클라우드(10)로 보내지 않으며, 이를 분리하여 엣지(20)와 클라우드(10)가 따로따로 처리하는 협업을 함으로써 프라이버시 침해의 우려를 제거할 수 있다. 따라서 데이터의 분리는 각 분리된 A부분과 B부분만으로는 프라이버시 침해 문제가 일어나지 않는 범위로 수행되어야 할 것이다. In this way, the edge 20 does not send the entire critical information 31 to the cloud 10, and separates it and collaborates to process the edge 20 and the cloud 10 separately, thereby eliminating the concern of privacy invasion. have. Therefore, the separation of data should be performed to the extent that the privacy invasion problem does not occur only with the separated parts A and B.

도 11은 도 10에 나타낸 제 2 실시예의 개념을 구현하기 위한 클라우드(10)-엣지(20)의 예시적 구성도를 나타낸다. FIG. 11 shows an exemplary configuration diagram of a cloud 10-an edge 20 for implementing the concept of the second embodiment shown in FIG. 10.

여기서도 기본적으로 클라우드(10)에는 클라우드 컴퓨팅부(12)가 있어서 본연의 클라우드 연산(처리)을 수행하며 모델 생성부(14)에서 모델을 생성한다. Basically, there is a cloud computing unit 12 in the cloud 10 to perform the original cloud operation (processing), and the model generation unit 14 generates a model.

즉, 클라우드(10)는 높은 프로세싱 파워와 저장 능력을 바탕으로 대용량 데이터를 저장하고 여러 상황에 맞는 하나 이상의 모델을 생성한다. 또한 엣지(20)에는 엣지 컴퓨팅부(21)가 있어서 엣지(20)에 필요한 연산(처리)을 수행한다.That is, the cloud 10 stores large amounts of data based on high processing power and storage capacity, and creates one or more models suitable for various situations. In addition, the edge 20 includes an edge computing unit 21 to perform operations (processing) required for the edge 20.

본 제 2 실시예에 따른 협업 기법을 구현하기 위하여, 클라우드(10)는 AI 모델을 생성하고(14) 이를 엣지(20)로 분배한다(15). 엣지(20)는 사물측으로부터 정보를 수신하면 이를 데이터 분리부(26)에서 프라이버시 문제가 발생하지 않는 범위로 분리하고, 일부에 대해서 즉각적 일차 학습/분석(25) 및/또는 전처리(24)를 수행한다. In order to implement the collaboration technique according to the second embodiment, the cloud 10 generates an AI model (14) and distributes it to the edge 20 (15). When the edge 20 receives information from the object side, it separates it into a range where the privacy problem does not occur in the data separation unit 26, and performs immediate primary learning/analysis (25) and/or preprocessing (24) for some. Carry out.

그리고 이 즉각적 일차 학습/분석 및/또는 전처리된 일부분의 데이터를 클라우드(10)로 보낸다. 클라우드(10)에서는 생성되어 있는 모델을 이용하여 이 데이터에 대한 본 처리(main operation), 예를 들어, 추론을 진행한다(17).Then, the immediate primary learning/analysis and/or preprocessed partial data is sent to the cloud 10. In the cloud 10, a main operation for this data, for example, inference, is performed using the generated model (17).

여기서 즉각 학습(25), 전처리(24), 본 처리(17)는 각각 엣지(20)와 클라우드(10)에서 엣지 컴퓨팅부(21)와 클라우드 컴퓨팅부(12)에 의해 수행되는 처리(operation)의 예를 나타낸 것임을 밝힌다.Here, immediate learning (25), preprocessing (24), and main processing (17) are operations performed by the edge computing unit 21 and the cloud computing unit 12 at the edge 20 and the cloud 10, respectively. Indicate that it shows an example of.

이 실시예의 설명에서도 앞에서 언급한 것과 같이 '~부'라는 이름으로 설명한 것은 하드웨어장치의 기능뿐만 아니라 소프트웨어의 기능, 루틴, 처리 단위 등을 의미한다. In the description of this embodiment, as mentioned above, the description with the name'~ unit' means not only the function of the hardware device, but also the function of the software, a routine, a processing unit, and the like.

제 3 실시예는 클라우드에서 처리해야 할 다수의 타스크를 여러 엣지가 일부씩 분담 처리하는 것으로, '엣지에서의 독립적/유기적 처리가 가능한 처리 모듈화'라 명명할 수 있다. In the third embodiment, a number of tasks to be processed in the cloud are partially processed by several edges, and may be referred to as'processing modularization capable of independent/organic processing at the edge'.

클라우드는 여러 개의 서로 다른 다양한 기능을 담당하는 모델들을 생성한다. 엣지는 클라우드에서 받은 다양한 모델을 자신의 상태에 맞게 조합적으로 사용하여 처리를 수행할 수 있다. The cloud creates models responsible for several different functions. Edge can perform processing by using various models received from the cloud in combination according to its own state.

도 12는 제 3 실시예에 따른 클라우드-엣지 분산 처리 방법의 개념도이다. 12 is a conceptual diagram of a cloud-edge distributed processing method according to a third embodiment.

클라우드(10)에서 처리해야 할 타스크가 여러 개 있다(a, b, c). 예를 들어 사물측(30)으로부터 사진 정보가 들어올 때 이 사진으로부터 사람을 식별하는 타스크(a), 성별을 파악하는 타스크(b), 나이를 추정하는 타스크(c)라고 가정하자. There are several tasks to be processed in the cloud 10 (a, b, c). For example, suppose that when photo information comes in from the object side 30, the task is to identify a person from the photo (a), a task to determine gender (b), and a task to estimate age (c).

각 타스크를 처리하는 모델들이 각각 존재할 수 있다. 엣지(20)의 능력상 이들 타스크를 모두 다 처리할 수 없으므로 엣지(20)별로 필요한 또는 적합한 타스크만 처리하도록 필요한 모델을 분배하고 각 모델에 의해 수행될 타스크를 분배한다. There may be models for each task. Since all of these tasks cannot be processed due to the capabilities of the edge 20, the necessary models are distributed so that only necessary or appropriate tasks are processed for each edge 20, and the tasks to be performed by each model are distributed.

예를 들어, 도 12에서 첫 번째 엣지(20a)는 타스크 a만, 두 번째 엣지(20b)는 타스크 a와 b만, 세 번째 엣지(20a)는 타스크 a와 c만 처리하도록, 각 엣지(20)와 클라우드(10)는 타스크 분배 규칙(도 13 참조)에 의거하여 각 엣지가 각자에게 분배된 타스크를 처리하도록 한다.For example, in FIG. 12, each edge 20 so that the first edge 20a processes only task a, the second edge 20b processes only tasks a and b, and the third edge 20a processes only tasks a and c. ) And the cloud 10 allow each edge to process a task distributed to each of them according to a task distribution rule (see FIG. 13).

도 13은 도 12에 나타낸 제 3 실시예의 개념을 구현하기 위한 클라우드(10)-엣지(20)의 예시적 구성도를 나타낸다. 13 shows an exemplary configuration diagram of a cloud 10-an edge 20 for implementing the concept of the third embodiment shown in FIG. 12.

여기서도 기본적으로 클라우드(10)에는 클라우드 컴퓨팅부(12)가 있어서 본연의 클라우드 연산(처리)을 수행하며 모델 생성부(14)에서 모델을 생성한다. 즉, 클라우드(10)는 높은 프로세싱 파워와 저장 능력을 바탕으로 대용량 데이터를 저장하고 여러 상황에 맞는 하나 이상의 모델을 생성한다. 또한 엣지(20)에는 엣지 컴퓨팅부(21)가 있어서 엣지(20)에 필요한 연산(처리)을 수행한다.Basically, there is a cloud computing unit 12 in the cloud 10 to perform the original cloud operation (processing), and the model generation unit 14 generates a model. That is, the cloud 10 stores large amounts of data based on high processing power and storage capacity, and creates one or more models suitable for various situations. In addition, the edge 20 includes an edge computing unit 21 to perform operations (processing) required for the edge 20.

본 제 3 실시예을 구현하기 위하여, 클라우드(10)와 엣지(20)에 사전에 정한 타스크 분배규칙(19, 27)을 추가하여, 이 규칙에 의거하여 제 3 실시예의 기법을 진행할 수 있다. 엣지(20)는 타스크 분배규칙(27)을 적용하여 자신의 상황에 따라, 클라우드(10)에서 생성된 어떤 타스크를 처리할지(결국 어떤 타스크 처리 모델을 사용할지) 선택하여 클라우드(10)로부터 타스크를 분배받는다(18). In order to implement the third embodiment, by adding the task distribution rules 19 and 27 previously determined to the cloud 10 and the edge 20, the technique of the third embodiment can be carried out based on this rule. The edge 20 applies the task distribution rule 27 to select a task created in the cloud 10 (eventually, a task processing model to be used) and select a task from the cloud 10 according to its own situation. Is distributed (18).

좀 더 구체적으로 엣지(20)가 타스크를 선택하면 엣지의 타스크 분배규칙(27)에 연동되는 클라우드의 타스크 분배규칙(19)에 따라 클라우드(10)의 타스크 분배부(18)는 상기 선택된 타스크(및 그에 따른 모델)를 해당 엣지(20)로 분배한다. More specifically, when the edge 20 selects a task, the task distribution unit 18 of the cloud 10 according to the task distribution rule 19 of the cloud that is linked to the task distribution rule 27 of the edge, the selected task ( And the corresponding model) is distributed to the corresponding edge 20.

엣지(20)의 엣지 컴퓨팅부(21)는 분배받은 모델을 사용하여 해당 타스크 처리를 수행한다. The edge computing unit 21 of the edge 20 performs the task processing using the distributed model.

이러한 제 3 실시예가 제 1 실시예와 다른점은 같은 목적의 여러 개의 엔진(모델)을 병렬적으로 분담 사용하여 데이터 처리를 하는 것이 아니라, 다른 목적의 타스크를 수행하는 여러 모델들을 시리얼(serial)하게 사용하여 타스크 분담처리를 한다는 것이다. 물론, 타스크의 분담 처리 능력 및 범위는 엣지의 상태(가령, 의사결정 상황)에 따라 달라진다.The difference between this third embodiment and the first embodiment is that data processing is not performed using multiple engines (models) for the same purpose in parallel, but multiple models that perform tasks for different purposes are serialized. It means that the task is shared by using it properly. Of course, the task's shared processing power and scope depend on the state of the edge (eg, the decision-making situation).

이 실시예 설명에서도 앞에서 언급한 것과 같이 '~부'라는 이름으로 설명한 것은 하드웨어장치의 기능뿐만 아니라 소프트웨어의 기능, 루틴, 처리 단위를 의미함은 동일하다. In the description of this embodiment, as mentioned above, what is described by the name'~ unit' means not only the functions of the hardware device but also the functions, routines, and processing units of software.

전술한 본 발명의 일 실시예에 따르면, 다음과 같은 효과를 기대할 수 있다.According to the above-described embodiment of the present invention, the following effects can be expected.

엣지 기반 분산 지능 프레임워크 제공: 클라우드와 다양한 엣지 들의 고정/유동적 특성을 고려하여 분석을 위임/공유하고 유기적으로 협업하여 최적의 분석 결과를 도출하며 산업계의 적용 및 응용을 고려한 프레임워크 형태의 제공이 가능해진다.Edge-based distributed intelligence framework: Delegating/sharing the analysis considering the fixed/fluid characteristics of the cloud and various edges, cooperating organically to derive the optimal analysis result, and providing a framework that considers the application and application of the industry. It becomes possible.

엣지의 자원과 특성을 고려한 분석 최적화: 폐쇄적인 네트워크 환경과 도메인 의존적이며 고정/유동적 능력이 다양한 엣지의 특성을 고려하여 분석 모델과 성능, 분석 범위를 적응적으로 결정하고 상황에 따라 이를 변경하여 최적의 분석 성능 활용이 가능하다. Analysis optimization considering the resources and characteristics of the edge: The analysis model, performance, and analysis range are adaptively determined by considering the characteristics of the edge with a closed network environment and domain-dependent, fixed/fluid capabilities, and changed according to the situation. It is possible to utilize the analysis performance of

엣지 분석 활용성 증대: 엣지 기반 분석 엔진을 손쉽게 활용하고 배포할 수 있도록 주요 기능을 모듈화하여 엣지 분석 활용성이 증대된다.Increasing the usability of edge analysis: The usability of edge analysis is increased by modularizing the main functions so that the edge-based analysis engine can be easily utilized and deployed.

엣지와 클라우드간 유기적 협업: 이전에는 클라우드는 빅데이터 처리를 위한 인프라로, 엣지는 간단한 서비스를 실행하는 단말로써 각각 독립적으로 타스크를 수행하였고, 엣지-클라우드 간 분석 협업 방식이 1) 일방적으로 클라우드에서 엣지에 추론 엔진을 위임/배포 하거나, 2) 비교적 단순 형태의 사용자 데이터로 엣지 학습 모델을 로컬 최적화하는 방식으로 진행되고 있는 기술 개발 초기 단계였으나, 본 발명에 따르면, 엣지와 클라우드는 상대 디바이스를 보완 혹은 협업하는 매개체로 진화할 것이며 협업을 통해 각 디바이스의 장점을 극대화하고 단점을 보완할 수 있도록 하여 점진적으로 분석 성능을 개선할 수 있다. Organic collaboration between edge and cloud: In the past, the cloud was an infrastructure for big data processing, and the edge was a terminal that ran simple services, each independently performed tasks, and the analysis collaboration method between edge and cloud was 1) unilaterally in the cloud. Although it was in the early stages of technology development in progress by delegating/distributing inference engines to the edge, or 2) locally optimizing the edge learning model with relatively simple user data, according to the present invention, the edge and the cloud complement the other device. Or it will evolve into a collaborative medium, and through collaboration, the strengths of each device can be maximized and the weaknesses can be compensated, thereby gradually improving the analysis performance.

엣지-엣지로의 확장: 본 발명 기술은 엣지-클라우드 뿐만 아니라 엣지-엣지 간 분석의 위임, 선택, 배포 등 협업으로 확장 가능하다. 예를 들면, 협업하는 엣지들 사이에서는 임의의 엣지가 주변 엣지가 모델 저장소에 직접 액세스하여 다운로딩 한 분할된 AI모델 또는 단일 AI 모델을 주변 엣지로부터 가지고 올 수도 있다. 다시 말해, 임의의 엣지는 분할된 AI 모델을 모델 저장소로부터 직접 가지고 올 수도 있으나, 자신의 리소스가 늘어나는 경우, AI 모델의 이름, 버전, 분할 여부, 해당 모델의 분할된 순서 정보를 고려하여 적절한 분할된 AI 모델을 주변 엣지로부터 서칭하여 다운로드 및 사용할 수 있다. 이 경우, 엣지들은 자신들이 모델 저장소로부터 직접 가지고 온 AI 모델의 이름, 버전, 분할 여부, 해당 모델의 분할된 순서 정보를 서로 공유할 수 있다.Edge-to-edge extension: The technology of the present invention can be extended through collaboration such as delegation, selection, and distribution of analysis between edge and edge as well as edge-cloud. For example, between the collaborating edges, an arbitrary edge may directly access the model repository by the surrounding edge and download a segmented AI model or a single AI model from the surrounding edge. In other words, an arbitrary edge can directly import a segmented AI model from the model repository, but if its own resources increase, the appropriate segmentation takes into account the AI model's name, version, whether it is segmented, and the segmented order information of the model. The created AI model can be searched from the surrounding edge and downloaded and used. In this case, the edges can share the AI model name, version, partitioning status, and partitioning order information of the model that they directly brought from the model repository.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다. An embodiment of the present invention may be implemented in the form of a computer program stored in a medium executed by a computer or a recording medium including instructions executable by a computer. Computer-readable media can be any available media that can be accessed by a computer, and includes both volatile and nonvolatile media, removable and non-removable media. Further, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general-purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The above description of the present invention is for illustrative purposes only, and those of ordinary skill in the art to which the present invention pertains will be able to understand that other specific forms can be easily modified without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative and non-limiting in all respects. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the claims to be described later rather than the detailed description, and all changes or modified forms derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. do.

10: 클라우드
20: 엣지
30: 사물
A: 모델 저장소
100: 분산 컴퓨팅 시스템
110: 통신모듈
120: 메모리
130: 프로세서
10: the cloud
20: edge
30: things
A: Model repository
100: distributed computing system
110: communication module
120: memory
130: processor

Claims (15)

분산 컴퓨팅 환경에서의 적응적 지능 활용을 위한 분석 모델 제공 방법에 있어서,
클라우드 서버에서 분석 모델을 생성하는 단계;
상기 생성된 분석 모델을 모델 저장소에 저장하는 단계;
상기 클라우드 서버에서 엣지 장치로 어플리케이션을 배포하는 단계; 및
상기 엣지 장치가 상기 배포된 어플리케이션에 매칭되는 하나 이상의 분석 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 단계를 포함하는 분석 모델 제공 방법.
In a method of providing an analysis model for adaptive intelligence utilization in a distributed computing environment,
Generating an analysis model in a cloud server;
Storing the generated analysis model in a model storage;
Distributing an application from the cloud server to an edge device; And
And searching and downloading one or more analysis models matching the deployed application by the edge device from the model storage.
제 1 항에 있어서,
상기 생성된 분석 모델을 모델 저장소에 저장하는 단계는,
상기 엣지 장치의 서칭에 필요한 메타데이터 정보를 상기 분석 모델에 포함되도록 하여 상기 모델 저장소에 저장하는 것인 분석 모델 제공 방법.
The method of claim 1,
Storing the generated analysis model in a model storage comprises:
The method for providing an analysis model to include metadata information necessary for searching of the edge device in the analysis model and storing it in the model storage.
제 2 항에 있어서,
상기 모델 저장소에 저장된 분석 모델은 상기 서칭을 위한 기본 정보, 모델 분할 관련 정보 및 모델 트레이닝 정보를 포함하는 것인 분석 모델 제공 방법.
The method of claim 2,
The analysis model stored in the model repository includes basic information for the search, model division-related information, and model training information.
제 3 항에 있어서,
상기 서칭을 위한 기본 정보는 모델 사용 비용 정보, 모델 성능 정보, 모델에 요구되는 디바이스 성능 정보 및 개인정보 보호 능력 정보 중 하나 이상을 포함하는 것인 분석 모델 제공 방법.
The method of claim 3,
The basic information for the search includes at least one of model usage cost information, model performance information, device performance information required for the model, and personal information protection capability information.
제 1 항에 있어서,
상기 모델 저장소는 상기 분석 모델의 분할 여부 정보, 버전 정보 및 다운로드 파일 정보 중 하나 이상을 포함하고,
상기 엣지 장치가 상기 배포된 어플리케이션에 매칭되는 하나 이상의 분석 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 단계는, 상기 모델 저장소에 저장된 정보에 기초하여 상기 엣지 장치가 상기 분석 모델로 액세스 및 다운로드하는 것인 분석 모델 제공 방법.
The method of claim 1,
The model storage includes at least one of information on whether to divide the analysis model, version information, and download file information,
The step of searching and downloading one or more analysis models matching the deployed application by the edge device from the model storage includes the edge device accessing and downloading the analysis model based on information stored in the model storage. How to provide an analysis model.
제 5 항에 있어서,
상기 분석 모델의 분할 여부 정보는 분할되지 않은 전체 분석 모델이 저장된 디렉토리 정보 및 두 개 이상으로 분할된 분석 모델이 저장된 디렉토리 정보를 포함하는 것인 분석 모델 제공 방법.
The method of claim 5,
The analysis model providing method, wherein the information on whether the analysis model is divided includes directory information in which the entire analysis model is not divided and directory information in which the analysis model divided into two or more is stored.
제 1 항에 있어서,
상기 엣지 장치가 상기 배포된 어플리케이션에 매칭되는 하나 이상의 분석 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 단계는,
상기 엣지 장치가 상기 매칭되는 분석 모델을 서칭함에 따라, Rest API를 사용하여 상기 서칭된 모델을 다운로드하되,
상기 Rest API는 상기 서칭된 분석 모델의 이름 정보, 버전 정보, 분할 여부 정보 및 해당 분석 모델의 분할된 순서 정보를 포함하는 것인 분석 모델 제공 방법.
The method of claim 1,
The step of searching and downloading one or more analysis models matching the deployed application by the edge device from the model repository,
As the edge device searches for the matched analysis model, the searched model is downloaded using Rest API,
The Rest API is an analysis model providing method that includes name information, version information, information about whether to be divided, and information about the order of division of the searched analysis model.
제 1 항에 있어서,
상기 클라우드 서버와 엣지 장치 간의 타스크의 분산 및 협업 처리를 위해 또는 상기 엣지 장치들 간의 타스크의 분산 및 협업 처리를 위해 둘 이상의 엣지 장치들이 상기 다운로드된 분석 모델에 기초하여 각각 또는 협업하여 타스크를 처리하는 단계를 더 포함하는 분석 모델 제공 방법.
The method of claim 1,
For distributing and cooperative processing of tasks between the cloud server and the edge device, or for distributing and cooperative processing of tasks between the edge devices, two or more edge devices process tasks individually or in collaboration based on the downloaded analysis model Analysis model providing method further comprising the step.
수집한 데이터의 처리를 위해 분석 모델을 생성하고, 상기 생성된 분석 모델을 모델 저장소에 저장하며, 엣지 장치로 어플리케이션을 배포하는 클라우드 서버,
상기 생성된 분석 모델을 저장 및 관리하는 모델 저장소 및
상기 배포된 어플리케이션에 매칭되는 하나 이상의 분석 모델을 상기 모델 저장소로부터 서칭 및 다운로드하는 엣지 장치를 포함하는 분산 컴퓨팅 시스템.
A cloud server that creates an analysis model for processing the collected data, stores the generated analysis model in a model storage, and distributes an application to an edge device,
A model repository for storing and managing the generated analysis model,
Distributed computing system comprising an edge device for searching and downloading one or more analysis models matching the deployed application from the model storage.
제 9 항에 있어서,
상기 엣지 장치는 둘 이상의 엣지 장치들을 포함하고,
상기 엣지 장치들은 상기 다운로드된 분석 모델에 기초하여 각각 또는 협업하여 상기 타스크를 처리하는 것인 분산 컴퓨팅 시스템.
The method of claim 9,
The edge device includes two or more edge devices,
The distributed computing system wherein the edge devices respectively or cooperately process the task based on the downloaded analysis model.
제 9 항에 있어서,
상기 클라우드 서버는 상기 엣지 장치의 서칭에 필요한 메타데이터 정보를 상기 모델에 포함되도록 하여 상기 모델 저장소에 저장하되,
상기 메타데이터의 정보는 상기 서칭을 위한 기본 정보, 모델 분할 관련 정보 및 모델 트레이닝 정보를 포함하는 것이고,
상기 서칭을 위한 기본 정보는 모델 사용 비용 정보, 모델 성능 정보, 모델에 요구되는 디바이스 성능 정보 및 개인정보 보호 능력 정보 중 하나 이상을 포함하는 것인 분산 컴퓨팅 시스템.
The method of claim 9,
The cloud server stores metadata information necessary for searching of the edge device in the model to be included in the model and stored in the model storage,
The information of the metadata includes basic information for the search, information related to model division, and model training information,
The basic information for the search includes at least one of model usage cost information, model performance information, device performance information required for the model, and personal information protection capability information.
제 9 항에 있어서,
상기 모델 저장소는 상기 분석 모델의 분할 여부 정보, 버전 정보 및 다운로드 파일 정보 중 하나 이상을 포함하고,
상기 엣지 장치는 상기 모델 저장소에 저장된 정보에 기초하여 상기 분석 모델을 액세스 및 다운로드하는 것인 분산 컴퓨팅 시스템.
The method of claim 9,
The model storage includes at least one of information on whether to divide the analysis model, version information, and download file information,
Wherein the edge device accesses and downloads the analysis model based on information stored in the model storage.
제 12 항에 있어서,
상기 분석 모델의 분할 여부 정보는 분할되지 않은 전체 모델이 저장된 디렉토리 정보 및 두 개 이상으로 분할된 분석 모델들이 저장된 디렉토리 정보를 포함하는 것인 분산 컴퓨팅 시스템.
The method of claim 12,
The information on whether the analysis model is divided includes directory information in which all undivided models are stored and directory information in which two or more divided analysis models are stored.
제 9 항에 있어서,
상기 엣지 장치는 상기 매칭되는 분석 모델을 서칭함에 따라, Rest API를 사용하여 상기 서칭된 분석 모델을 다운로드하되,
상기 Rest API는 상기 서칭된 분석 모델의 이름 정보, 버전 정보, 분할 여부 정보 및 해당 분석 모델의 분할된 순서 정보를 포함하는 것인 분산 컴퓨팅 시스템.
The method of claim 9,
As the edge device searches for the matched analysis model, it downloads the searched analysis model using Rest API,
The Rest API is a distributed computing system that includes name information, version information, information about whether to be divided, and information about the order of division of the searched analysis model.
하나 이상의 엣지 장치와 클라우드 서버를 포함하는 분산 컴퓨팅 시스템에 있어서,
상기 클라우드 서버는, 데이터의 처리를 위한 분석 모델을 생성하는 모델 생성부와, 상기 엣지 장치로 어플리케이션을 배포하는 배포부를 포함하고,
상기 엣지 장치는, 상기 배포된 어플리케이션에 매칭되는 하나 이상의 분석 모델을 서칭 및 다운로드하는 모델 다운로드부를 포함하는 분산 컴퓨팅 시스템.
In a distributed computing system comprising one or more edge devices and a cloud server,
The cloud server includes a model generation unit for generating an analysis model for processing data, and a distribution unit for distributing an application to the edge device,
The edge device is a distributed computing system including a model download unit for searching and downloading one or more analysis models matching the distributed application.
KR1020190118453A 2019-09-25 2019-09-25 A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof KR102310187B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190118453A KR102310187B1 (en) 2019-09-25 2019-09-25 A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof
PCT/KR2019/014551 WO2021060609A1 (en) 2019-09-25 2019-10-31 Distributed computing system comprising plurality of edges and cloud and method for providing model for adaptive intelligence usage thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190118453A KR102310187B1 (en) 2019-09-25 2019-09-25 A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof

Publications (2)

Publication Number Publication Date
KR20210036226A true KR20210036226A (en) 2021-04-02
KR102310187B1 KR102310187B1 (en) 2021-10-08

Family

ID=75166331

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190118453A KR102310187B1 (en) 2019-09-25 2019-09-25 A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof

Country Status (2)

Country Link
KR (1) KR102310187B1 (en)
WO (1) WO2021060609A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220051130A (en) * 2020-10-12 2022-04-26 쿠팡 주식회사 System and Method for Local Randomized Distribution of Test Dataset
KR102405726B1 (en) 2021-09-08 2022-06-07 에이엠스퀘어 주식회사 Neuron model based control device for optimization of cloud data transmission information amount and control method thereof
KR20220125459A (en) * 2021-03-05 2022-09-14 성균관대학교산학협력단 Security Systems Using Privacy Security Graph Models and Method thereby
KR20230034078A (en) 2021-09-02 2023-03-09 주식회사 나눔기술 Cloud edge platform for controlling function of self-healing and linkage
KR20230035775A (en) 2021-09-06 2023-03-14 주식회사 인포지아 Intelligent edge control system flow-based and method thereof
KR20230134960A (en) * 2022-03-15 2023-09-22 (주)에스디플렉스 Equipment control system and method based on hybrid digital twin model for optimized operation
KR20230159971A (en) 2022-05-16 2023-11-23 성균관대학교산학협력단 Apparatus, system and method for detecting object based on deep neural network
KR20230166569A (en) 2022-05-31 2023-12-07 성균관대학교산학협력단 Apparatus, system and method for detecting object based on deep neural network

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102500341B1 (en) 2022-02-10 2023-02-16 주식회사 노타 Method for providing information about neural network model and electronic apparatus for performing the same
CN114327689B (en) * 2022-03-15 2022-07-12 浙江云针信息科技有限公司 Strategy scheduling method and system for complex edge computing environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018508874A (en) * 2015-01-22 2018-03-29 株式会社Preferred Networks Machine learning heterogeneous edge devices, methods, and systems
KR20180067502A (en) * 2015-08-27 2018-06-20 포그혼 시스템스 인코포레이티드 Edge Intelligence Platform and Objects Internet Sensor Stream System
US20180373988A1 (en) * 2017-06-27 2018-12-27 Hcl Technologies Limited System and method for tuning and deploying an analytical model over a target eco-system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2629247B1 (en) * 2012-02-15 2014-01-08 Alcatel Lucent Method for mapping media components employing machine learning
WO2014126779A1 (en) * 2013-02-15 2014-08-21 Qualcomm Incorporated On-line behavioral analysis engine in mobile device with multiple analyzer model providers
US10778412B2 (en) * 2017-12-28 2020-09-15 Intel Corporation Multi-domain convolutional neural network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018508874A (en) * 2015-01-22 2018-03-29 株式会社Preferred Networks Machine learning heterogeneous edge devices, methods, and systems
KR20180067502A (en) * 2015-08-27 2018-06-20 포그혼 시스템스 인코포레이티드 Edge Intelligence Platform and Objects Internet Sensor Stream System
US20180373988A1 (en) * 2017-06-27 2018-12-27 Hcl Technologies Limited System and method for tuning and deploying an analytical model over a target eco-system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220051130A (en) * 2020-10-12 2022-04-26 쿠팡 주식회사 System and Method for Local Randomized Distribution of Test Dataset
US11620210B2 (en) 2020-10-12 2023-04-04 Coupang Corp. Systems and methods for local randomization distribution of test datasets
KR20220125459A (en) * 2021-03-05 2022-09-14 성균관대학교산학협력단 Security Systems Using Privacy Security Graph Models and Method thereby
KR20230034078A (en) 2021-09-02 2023-03-09 주식회사 나눔기술 Cloud edge platform for controlling function of self-healing and linkage
KR20230035775A (en) 2021-09-06 2023-03-14 주식회사 인포지아 Intelligent edge control system flow-based and method thereof
KR102405726B1 (en) 2021-09-08 2022-06-07 에이엠스퀘어 주식회사 Neuron model based control device for optimization of cloud data transmission information amount and control method thereof
KR20230134960A (en) * 2022-03-15 2023-09-22 (주)에스디플렉스 Equipment control system and method based on hybrid digital twin model for optimized operation
KR20230159971A (en) 2022-05-16 2023-11-23 성균관대학교산학협력단 Apparatus, system and method for detecting object based on deep neural network
KR20230166569A (en) 2022-05-31 2023-12-07 성균관대학교산학협력단 Apparatus, system and method for detecting object based on deep neural network

Also Published As

Publication number Publication date
WO2021060609A1 (en) 2021-04-01
KR102310187B1 (en) 2021-10-08

Similar Documents

Publication Publication Date Title
KR102310187B1 (en) A distributed computing system including multiple edges and cloud, and method for providing model for using adaptive intelligence thereof
Abd Elaziz et al. IoT workflow scheduling using intelligent arithmetic optimization algorithm in fog computing
KR102225822B1 (en) Apparatus and method for generating learning data for artificial intelligence performance
CN105144121B (en) Cache content addressable data block is for Storage Virtualization
Zeng et al. Distributed data mining: a survey
Ahmad et al. Multilevel data processing using parallel algorithms for analyzing big data in high-performance computing
Zhao et al. Packaging and sharing machine learning models via the acumos ai open platform
US20190079744A1 (en) Systems and methods for a policy-driven orchestration of deployment of distributed applications
US11461119B2 (en) Virtual containers configured to support multiple machine learning models
Lei et al. CREST: Towards fast speculation of straggler tasks in MapReduce
US11620207B2 (en) Power efficient machine learning in cloud-backed mobile systems
JP2023544904A (en) Distributed resource-aware training for machine learning pipelines
Kjorveziroski et al. Webassembly orchestration in the context of serverless computing
Marzuni et al. Cross-MapReduce: Data transfer reduction in geo-distributed MapReduce
Cai et al. Deployment and verification of machine learning tool-chain based on kubernetes distributed clusters: This paper is submitted for possible publication in the special issue on high performance distributed computing
Spillner et al. Intent-based placement of microservices in computing continuums
Kumar et al. Replication-Based Query Management for Resource Allocation Using Hadoop and MapReduce over Big Data
Kotilainen et al. Towards Liquid AI in IoT with WebAssembly: A Prototype Implementation
Shabeera et al. A novel approach for improving data locality of mapreduce applications in cloud environment through intelligent data placement
Marian et al. Analysis of Different SaaS Architectures from a Trust Service Provider Perspective
Qiang et al. Open ICT‐PaaS platform enabling 5G network slicing
Manoj et al. RDAD: an efficient distributed multi-layered resource handler in jungle computing
Geng et al. Research of construction and application of cloud storage in the environment of industry 4.0
US11714614B2 (en) Code generation tool for cloud-native high-performance computing
Tang et al. A Survey on Scheduling Techniques in Computing and Network Convergence

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right