[go: up one dir, main page]

KR102839818B1 - Artificial intelligence-based cloud learning device and method - Google Patents

Artificial intelligence-based cloud learning device and method

Info

Publication number
KR102839818B1
KR102839818B1 KR1020210176147A KR20210176147A KR102839818B1 KR 102839818 B1 KR102839818 B1 KR 102839818B1 KR 1020210176147 A KR1020210176147 A KR 1020210176147A KR 20210176147 A KR20210176147 A KR 20210176147A KR 102839818 B1 KR102839818 B1 KR 102839818B1
Authority
KR
South Korea
Prior art keywords
learning
cloud
execution
cloud computing
computing device
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020210176147A
Other languages
Korean (ko)
Other versions
KR20230087314A (en
KR102839818B9 (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 KR1020210176147A priority Critical patent/KR102839818B1/en
Publication of KR20230087314A publication Critical patent/KR20230087314A/en
Application granted granted Critical
Publication of KR102839818B1 publication Critical patent/KR102839818B1/en
Publication of KR102839818B9 publication Critical patent/KR102839818B9/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 인공지능 기반 클라우드 학습장치 및 방법에 관한 것으로, 상기 장치는 사용자 학습 서비스 조건을 수신하는 학습 서비스 조건 수신부; 제1 클라우드 컴퓨팅 장치를 통한 사용자 학습코드의 실행을 모니터링 하는 학습코드 수행 모니터링부; 상기 모니터링의 과정에서 상기 사용자 학습 서비스 조건이 만족되지 않으면 상기 사용자 학습코드의 실행 상태를 저장하는 학습코드 실행 상태 저장부; 및 상기 사용자 학습 서비스 조건을 만족시키는 제2 클라우드 컴퓨팅 장치를 검출하고 상기 사용자 학습코드의 실행 상태를 상기 제2 클라우드 컴퓨팅 장치에 제공하여 상기 사용자 학습코드의 실행을 이어가는 클라우드 학습 수행부;를 포함한다.The present invention relates to an artificial intelligence-based cloud learning device and method, comprising: a learning service condition receiving unit for receiving a user learning service condition; a learning code execution monitoring unit for monitoring the execution of a user learning code through a first cloud computing device; a learning code execution status storage unit for storing an execution status of the user learning code if the user learning service condition is not satisfied during the monitoring process; and a cloud learning execution unit for detecting a second cloud computing device that satisfies the user learning service condition and providing the execution status of the user learning code to the second cloud computing device to continue execution of the user learning code.

Description

인공지능 기반 클라우드 학습장치 및 방법{ARTIFICIAL INTELLIGENCE-BASED CLOUD LEARNING DEVICE AND METHOD}Artificial Intelligence-Based Cloud Learning Device and Method

본 발명은 클라우드 자원 활용 기술에 관한 것으로, 보다 상세하게는 인공지능을 활용하여 사용자의 학습코드를 클라우드 상에서 실행하기 위한 최적의 클라우드 환경을 동적으로 구성할 수 있는 인공지능 기반 클라우드 학습장치 및 방법에 관한 것이다.The present invention relates to a technology for utilizing cloud resources, and more specifically, to an artificial intelligence-based cloud learning device and method that can dynamically configure an optimal cloud environment for executing a user's learning code on the cloud by utilizing artificial intelligence.

최근 딥러닝 알고리즘은 다양한 분야에서 우수한 성능을 보이며 인공지능의 응용 사례를 넓히고 있다. 딥러닝 모델의 학습은 단시간에 많은 컴퓨팅 자원을 필요로 하기 때문에 주로 클라우드 환경 하에서 학습 작업이 이루어지고 있다.Recently, deep learning algorithms have demonstrated outstanding performance in various fields, expanding the application of artificial intelligence. Because training deep learning models requires a large amount of computing resources in a short period of time, training tasks are primarily performed in cloud environments.

하지만, 클라우드 컴퓨팅 서비스를 통해서 제공되는 자원의 종류가 너무 많은 탓에 사용자들은 다양한 서비스를 활용하여 최적의 딥러닝 학습 환경을 구축하는데 큰 어려움을 겪고 있다. 클라우드 인스턴스들 간의 가격 역시 큰 차이를 보이기에 성능 및 비용 측면에서 최적의 효율을 보이는 인스턴스를 선택하여 학습 작업을 진행하는 것은 매우 중요하면서도 어려운 일이다.However, due to the vast array of resources available through cloud computing services, users face significant challenges in leveraging these diverse services to build an optimal deep learning training environment. The prices of cloud instances also vary significantly, making it crucial yet challenging to select the instance that offers the best performance and cost efficiency for training tasks.

한편, 딥러닝(인공지능) 플랫폼은 인공지능 기술들, 예를 들어 영상처리, 음성인식, 자연어처리 등을 이용하여 필요에 의해서 사용자가 사용이 가능하게 해주는 제품이나 서비스를 개발하기 위한 도구를 의미할 수 있다. 최근 구현되고 있는 인공지능의 핵심 기술들은 다양한 분야로 응용 가능한 범용적인 특성을 갖고 있으며, 인공지능은 딥러닝 플랫폼의 핵심 기술에 해당할 수 있다.Meanwhile, a deep learning (AI) platform can refer to a tool for developing products or services that utilize AI technologies, such as image processing, speech recognition, and natural language processing, enabling users to use them as needed. The core AI technologies currently being implemented possess universal characteristics that allow them to be applied across diverse fields, and AI can be considered a core technology of deep learning platforms.

한국공개특허 제10-2017-0078012호 (2017.07.07)Korean Patent Publication No. 10-2017-0078012 (July 7, 2017)

본 발명의 일 실시예는 인공지능을 활용하여 사용자의 학습코드를 클라우드 상에서 실행하기 위한 최적의 클라우드 환경을 동적으로 구성할 수 있는 인공지능 기반 클라우드 학습장치 및 방법을 제공하고자 한다.One embodiment of the present invention provides an artificial intelligence-based cloud learning device and method that can dynamically configure an optimal cloud environment for executing a user's learning code on the cloud by utilizing artificial intelligence.

실시예들 중에서, 인공지능 기반 클라우드 학습장치는 사용자 학습 서비스 조건을 수신하는 학습 서비스 조건 수신부; 제1 클라우드 컴퓨팅 장치를 통한 사용자 학습코드의 실행을 모니터링 하는 학습코드 수행 모니터링부; 상기 모니터링의 과정에서 상기 사용자 학습 서비스 조건이 만족되지 않으면 상기 사용자 학습코드의 실행 상태를 저장하는 학습코드 실행 상태 저장부; 및 상기 사용자 학습 서비스 조건을 만족시키는 제2 클라우드 컴퓨팅 장치를 검출하고 상기 사용자 학습코드의 실행 상태를 상기 제2 클라우드 컴퓨팅 장치에 제공하여 상기 사용자 학습코드의 실행을 이어가는 클라우드 학습 수행부;를 포함한다.Among the embodiments, the artificial intelligence-based cloud learning device includes a learning service condition receiving unit that receives a user learning service condition; a learning code execution monitoring unit that monitors execution of a user learning code through a first cloud computing device; a learning code execution status storage unit that stores an execution status of the user learning code if the user learning service condition is not satisfied during the monitoring process; and a cloud learning execution unit that detects a second cloud computing device that satisfies the user learning service condition and provides the execution status of the user learning code to the second cloud computing device to continue execution of the user learning code.

상기 학습 서비스 조건 수신부는 클라우드 컴퓨팅 장치를 통한 상기 사용자 학습코드의 실행에 따른 비용-성능 조건을 상기 사용자 학습 서비스 조건으로서 수신할 수 있다.The above learning service condition receiving unit can receive cost-performance conditions according to execution of the user learning code through a cloud computing device as the user learning service conditions.

상기 학습코드 수행 모니터링부는 상기 사용자 학습 서비스 조건에 따라 상기 제1 클라우드 컴퓨팅 장치를 선택하고 상기 사용자 학습코드의 실행에 따른 비용-성능 경과를 추적할 수 있다.The above learning code execution monitoring unit can select the first cloud computing device according to the user learning service conditions and track the cost-performance progress according to the execution of the user learning code.

상기 학습코드 수행 모니터링부는 상기 비용-성능 경과에서 특정 기준 이상의 비용 또는 성능 편차를 검출할 수 있다.The above learning code execution monitoring unit can detect a cost or performance deviation exceeding a specific standard in the above cost-performance progress.

상기 학습코드 실행 상태 저장부는 상기 사용자 학습코드의 실행을 멈추고 상기 사용자 학습코드의 실행에 따른 모델의 가중치 값을 저장할 수 있다.The above learning code execution status storage unit can stop the execution of the user learning code and store the weight values of the model according to the execution of the user learning code.

상기 클라우드 학습 수행부는 상기 저장의 과정에서 특정 시간 동안 상기 제1 클라우드 컴퓨팅 장치의 로드의 변화를 분석할 수 있다.The above cloud learning execution unit can analyze changes in the load of the first cloud computing device over a specific period of time during the above storage process.

상기 클라우드 학습 수행부는 상기 로드의 변화량 추세가 감소할 것으로 예상되는 경우에는 상기 사용자 학습 서비스 조건에 있는 비용 증가가 특정 범위 이내인지를 결정하고 그렇다면 상기 제1 클라우드 컴퓨팅 장치에서 상기 사용자 학습코드의 실행을 지속할 수 있다.The above cloud learning execution unit determines whether the cost increase in the user learning service condition is within a specific range when the change trend of the load is expected to decrease, and if so, can continue executing the user learning code on the first cloud computing device.

실시예들 중에서, 인공지능 기반 클라우드 학습방법은 사용자 학습 서비스 조건을 수신하는 단계; 제1 클라우드 컴퓨팅 장치를 통한 사용자 학습코드의 실행을 모니터링 하는 단계; 상기 모니터링의 과정에서 상기 사용자 학습 서비스 조건이 만족되지 않으면 상기 사용자 학습코드의 실행 상태를 저장하는 단계; 및 상기 사용자 학습 서비스 조건을 만족시키는 제2 클라우드 컴퓨팅 장치를 검출하고 상기 사용자 학습코드의 실행 상태를 상기 제2 클라우드 컴퓨팅 장치에 제공하여 상기 사용자 학습코드의 실행을 이어가는 단계;를 포함한다.Among the embodiments, an artificial intelligence-based cloud learning method includes the steps of: receiving a user learning service condition; monitoring execution of a user learning code through a first cloud computing device; storing an execution status of the user learning code if the user learning service condition is not satisfied during the monitoring process; and detecting a second cloud computing device that satisfies the user learning service condition and providing an execution status of the user learning code to the second cloud computing device to continue execution of the user learning code.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The disclosed technology may have the following effects. However, this does not mean that a particular embodiment must include all or only the following effects, and thus the scope of the disclosed technology should not be construed as being limited thereby.

본 발명의 일 실시예에 따른 인공지능 기반 클라우드 학습장치 및 방법은 인공지능을 활용하여 사용자의 학습코드를 클라우드 상에서 실행하기 위한 최적의 클라우드 환경을 동적으로 구성할 수 있다.An artificial intelligence-based cloud learning device and method according to one embodiment of the present invention can dynamically configure an optimal cloud environment for executing a user's learning code on the cloud by utilizing artificial intelligence.

도 1은 본 발명에 따른 클라우드 학습 시스템을 설명하는 도면이다.
도 2는 도 1의 클라우드 학습 장치의 시스템 구성을 설명하는 도면이다.
도 3은 도 1의 클라우드 학습 장치의 기능적 구성을 설명하는 도면이다.
도 4는 본 발명에 따른 인공지능 기반 클라우드 학습방법을 설명하는 순서도이다.
도 5는 본 발명에 따른 클라우드 학습 과정의 일 실시예를 설명하는 흐름도이다.
Figure 1 is a drawing illustrating a cloud learning system according to the present invention.
Fig. 2 is a drawing explaining the system configuration of the cloud learning device of Fig. 1.
Figure 3 is a drawing explaining the functional configuration of the cloud learning device of Figure 1.
Figure 4 is a flowchart explaining an artificial intelligence-based cloud learning method according to the present invention.
Figure 5 is a flowchart illustrating one embodiment of a cloud learning process according to the present invention.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural and functional explanation, and therefore, the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, since the embodiments can be modified in various ways and can take various forms, the scope of the present invention should be understood to include equivalents that can realize the technical idea. In addition, the purposes or effects presented in the present invention do not mean that a specific embodiment must include all of them or only such effects, and therefore, the scope of the present invention should not be construed as being limited thereby.

한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in this application should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.Terms such as "first" and "second" are intended to distinguish one component from another, and the scope of the rights should not be limited by these terms. For example, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is said to be "connected" to another component, it should be understood that while it may be directly connected to that other component, there may also be other components intervening. Conversely, when a component is said to be "directly connected" to another component, it should be understood that there are no other intervening components. Similarly, other expressions describing relationships between components, such as "between" and "directly between," or "adjacent to" and "directly adjacent to," should be interpreted similarly.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Singular expressions should be understood to include plural expressions unless the context clearly indicates otherwise, and terms such as "comprises" or "have" should be understood to specify the presence of a feature, number, step, operation, component, part or combination thereof, but not to exclude the possibility of the presence or addition of one or more other features, numbers, steps, operations, components, parts or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.For each step, the identifiers (e.g., a, b, c, etc.) are used for convenience of explanation and do not describe the order of the steps. The steps may occur in a different order than stated unless the context clearly dictates a specific order. That is, the steps may occur in the same order as stated, may be performed substantially simultaneously, or may be performed in the opposite order.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The present invention can be implemented as computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all types of recording devices that store data that can be read by a computer system. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices. Furthermore, the computer-readable recording medium can be distributed across network-connected computer systems, so that the computer-readable code can be stored and executed in a distributed manner.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.Unless otherwise defined, all terms used herein have the same meaning as commonly understood by those of ordinary skill in the art to which this invention pertains. Terms defined in commonly used dictionaries should be interpreted to be consistent with their meaning within the context of the relevant technology, and should not be interpreted as having an idealized or overly formal meaning unless explicitly defined herein.

도 1은 본 발명에 따른 클라우드 학습 시스템을 설명하는 도면이다.Figure 1 is a drawing illustrating a cloud learning system according to the present invention.

도 1을 참조하면, 클라우드 학습 시스템(100)은 사용자 단말(110), 클라우드 학습 장치(130), 클라우드 컴퓨팅 장치(150) 및 데이터베이스(170)를 포함할 수 있다.Referring to FIG. 1, a cloud learning system (100) may include a user terminal (110), a cloud learning device (130), a cloud computing device (150), and a database (170).

사용자 단말(110)은 클라우드 서비스를 이용할 수 있는 컴퓨팅 장치에 해당할 수 있고, 스마트폰, 노트북 또는 컴퓨터로 구현될 수 있으며, 반드시 이에 한정되지 않고, 태블릿 PC 등 다양한 디바이스로도 구현될 수 있다. 사용자 단말(110)은 클라우드 학습 장치(130)와 네트워크를 통해 연결될 수 있고, 복수의 사용자 단말(110)들은 클라우드 학습 장치(130)와 동시에 연결될 수 있다. 또한, 사용자 단말(110)은 클라우드 컴퓨팅 장치(150)와 직접 연결될 수 있으며, 클라우드 서비스 이용을 위한 전용 프로그램 또는 애플리케이션을 설치하여 실행시킬 수 있다.The user terminal (110) may correspond to a computing device capable of utilizing cloud services, and may be implemented as a smartphone, laptop, or computer, but is not necessarily limited thereto, and may also be implemented as various devices such as a tablet PC. The user terminal (110) may be connected to the cloud learning device (130) via a network, and multiple user terminals (110) may be simultaneously connected to the cloud learning device (130). In addition, the user terminal (110) may be directly connected to the cloud computing device (150) and may install and execute a dedicated program or application for utilizing the cloud service.

클라우드 학습 장치(130)는 클라우드 컴퓨팅 환경에서 사용자 학습코드를 기반으로 하는 딥러닝 관련 작업 시 사용자 학습 서비스 조건에 적합한 최적의 환경을 구성하도록 실행 상태 모니터링 및 컴퓨팅 장치의 이전 관리를 수행하는 시스템, 또는 이에 해당하는 서버로 구현될 수 있다. 클라우드 학습 장치(130)는 사용자 단말(110)과 네트워크를 통해 연결될 수 있고 관련 데이터를 주고받을 수 있다.The cloud learning device (130) may be implemented as a system or corresponding server that performs execution status monitoring and previous management of computing devices to configure an optimal environment suitable for user learning service conditions when performing deep learning-related tasks based on user learning code in a cloud computing environment. The cloud learning device (130) may be connected to the user terminal (110) via a network and may exchange relevant data.

여기에서, 사용자 학습코드는 소정의 딥러닝 알고리즘을 구현한 딥러닝 학습코드로서 사용자에 의해 직접 생성되거나 입력된 학습코드에 해당할 수 있다. 즉, 사용자 학습코드의 실행을 통해 딥러닝 알고리즘이 구현된 결과 소정의 테스트 데이터셋에 관한 학습 동작이 수행될 수 있으며, 클라우드 학습 장치(130)는 학습 과정에 대한 모니터링을 통해 딥러닝 학습에 관한 다양한 성능 메트릭(metric)이 측정될 수 있다. 또한, 사용자 학습코드는 소정의 프로그래밍 언어에 따라 작성될 수 있으며, 딥러닝 알고리즘의 특성이나 딥러닝 학습 방식에 따라 복수의 코드 섹션들을 포함할 수 있다. 예를 들어, 코드 섹션은 사용자 학습코드의 연산 구간, 함수 구간 및 반복 구간 등에 해당할 수 있다.Here, the user learning code may correspond to a deep learning learning code that implements a predetermined deep learning algorithm and may correspond to a learning code directly generated or input by the user. That is, as a result of implementing a deep learning algorithm through execution of the user learning code, a learning operation on a predetermined test dataset may be performed, and the cloud learning device (130) may measure various performance metrics related to deep learning through monitoring the learning process. In addition, the user learning code may be written according to a predetermined programming language and may include multiple code sections depending on the characteristics of the deep learning algorithm or the deep learning learning method. For example, the code sections may correspond to an operation section, a function section, and a repetition section of the user learning code.

또한, 클라우드 학습 장치(130)는 사용자 단말(110)과 연동하여 사용자 학습코드의 수신을 위한 전용 인터페이스를 제공할 수 있으며, 사용자 단말(110)로부터 수신된 사용자 학습코드를 데이터베이스(170)에 저장하여 보관할 수 있다.In addition, the cloud learning device (130) can provide a dedicated interface for receiving a user learning code in conjunction with a user terminal (110), and can store the user learning code received from the user terminal (110) in a database (170).

또한, 클라우드 학습 장치(130)는 적어도 하나의 외부 시스템과 연동하여 동작할 수 있다. 예를 들어, 외부 시스템은 클라우드 서비스를 위한 클라우드 서버, 딥러닝 학습을 위한 인공지능 서버, 서비스 결제를 위한 결제 서버 또는 사용자 인증을 위한 인증 서버 등을 포함할 수 있다. 특히, 클라우드 학습 장치(130)는 복수의 클라우드 컴퓨팅 장치(150)와 연결되어 동작할 수 있으며, 클라우드 컴퓨팅 장치(150)들 중에서 사용자 학습코드의 실행에 적합한 장치를 사용자 학습 서비스 조건에 따라 동적으로 결정할 수 있다.Additionally, the cloud learning device (130) can operate in conjunction with at least one external system. For example, the external system may include a cloud server for cloud services, an artificial intelligence server for deep learning, a payment server for service payment, or an authentication server for user authentication. In particular, the cloud learning device (130) can operate in conjunction with multiple cloud computing devices (150), and can dynamically determine a device suitable for executing user learning code among the cloud computing devices (150) based on user learning service conditions.

일 실시예에서, 클라우드 학습 장치(130)는 데이터베이스(170)와 연동하여 사용자 학습 서비스 조건에 따른 클라우드 컴퓨팅 환경을 제공하기 위하여 딥러닝 작업을 위해 작성된 사용자 학습코드의 실행을 모니터링하고 사용자 학습 서비스 조건을 충족하지 않는 경우 다른 클라우드 컴퓨팅 장치(150)로의 이전을 위한 동작을 수행할 수 있다. 또한, 클라우드 학습 장치(130)는 프로세서, 메모리, 사용자 입출력부 및 네트워크 입출력부를 포함하여 구현될 수 있으며, 이에 대해서는 도 2에서 보다 자세히 설명한다.In one embodiment, the cloud learning device (130) monitors the execution of user learning code written for deep learning tasks in order to provide a cloud computing environment according to user learning service conditions in conjunction with a database (170), and if the user learning service conditions are not met, performs an operation for transferring to another cloud computing device (150). In addition, the cloud learning device (130) may be implemented to include a processor, a memory, a user input/output unit, and a network input/output unit, which will be described in more detail in FIG. 2.

클라우드 컴퓨팅 장치(150)는 클라우드 환경을 제공하는 서버에 해당할 수 있다. 클라우드 컴퓨팅 장치(150)는 사용자 학습 서비스 조건에 적합한 다양한 클라우드 리소스를 제공할 수 있으며, 클라우드 리소스들의 조합을 다양한 인스턴스로 구현하여 제공할 수 있다. 이를 위해, 클라우드 컴퓨팅 장치(150)는 복수의 자원풀(resource pool)들과 연결되어 구현될 수 있다. The cloud computing device (150) may correspond to a server that provides a cloud environment. The cloud computing device (150) may provide a variety of cloud resources suitable for user learning service conditions, and may implement and provide combinations of cloud resources as various instances. To this end, the cloud computing device (150) may be implemented in connection with multiple resource pools.

일 실시예에서, 클라우드 컴퓨팅 장치(150)는 고유의 자원풀을 관리하도록 구현될 수 있고, 이에 따라 복수의 클라우드 컴퓨팅 장치(150)들이 클라우드 학습 장치(130)와 연결되어 동작할 수 있다. 클라우드 컴퓨팅 장치(150)는 클라우드 학습 장치(130)와 네트워크를 통해 연결될 수 있으며, 필요에 따라 사용자 단말(110)과 직접 연결될 수도 있다. 클라우드 컴퓨팅 장치(150)는 클라우드 학습 장치(130)에서 수행되는 딥러닝 학습을 위한 다양한 클라우드 인스턴스들을 제공할 수 있으며, 일 실시예에서 클라우드 컴퓨팅 장치(150)는 딥러닝 플랫폼을 제공하는 서버의 역할을 수행할 수 있다.In one embodiment, the cloud computing device (150) may be implemented to manage its own resource pool, and thus, a plurality of cloud computing devices (150) may be connected to and operate with the cloud learning device (130). The cloud computing device (150) may be connected to the cloud learning device (130) via a network, and may also be directly connected to the user terminal (110) as needed. The cloud computing device (150) may provide various cloud instances for deep learning training performed in the cloud learning device (130), and in one embodiment, the cloud computing device (150) may serve as a server that provides a deep learning platform.

데이터베이스(170)는 클라우드 학습 장치(130)의 동작 과정에서 필요한 다양한 정보들을 저장하는 저장장치에 해당할 수 있다. 데이터베이스(170)는 사용자 학습코드와 사용자 학습 서비스 조건에 관한 정보를 저장할 수 있고, 딥러닝 알고리즘 및 클라우드 환경에 관한 정보를 저장할 수 있으며, 반드시 이에 한정되지 않고, 인공지능 기반 클라우드 학습 과정에서 다양한 형태로 수집 또는 가공된 정보들을 저장할 수 있다.The database (170) may correspond to a storage device that stores various information required during the operation of the cloud learning device (130). The database (170) may store information regarding user learning codes and user learning service conditions, and may store information regarding deep learning algorithms and cloud environments. However, the database (170) is not limited thereto and may store information collected or processed in various forms during the artificial intelligence-based cloud learning process.

도 2는 도 1의 클라우드 학습 장치의 시스템 구성을 설명하는 도면이다.Fig. 2 is a drawing explaining the system configuration of the cloud learning device of Fig. 1.

도 2를 참조하면, 클라우드 학습 장치(130)는 프로세서(210), 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)를 포함하여 구현될 수 있다.Referring to FIG. 2, a cloud learning device (130) can be implemented including a processor (210), a memory (230), a user input/output unit (250), and a network input/output unit (270).

프로세서(210)는 클라우드 학습 장치(130)가 동작하는 과정에서의 각 단계들을 처리하는 프로시저를 실행할 수 있고, 그 과정 전반에서 읽혀지거나 작성되는 메모리(230)를 관리할 수 있으며, 메모리(230)에 있는 휘발성 메모리와 비휘발성 메모리 간의 동기화 시간을 스케줄할 수 있다. 프로세서(210)는 클라우드 학습 장치(130)의 동작 전반을 제어할 수 있고, 메모리(230), 사용자 입출력부(250) 및 네트워크 입출력부(270)와 전기적으로 연결되어 이들 간의 데이터 흐름을 제어할 수 있다. 프로세서(210)는 클라우드 학습 장치(130)의 CPU(Central Processing Unit)로 구현될 수 있다.The processor (210) can execute a procedure for processing each step in the process of operating the cloud learning device (130), manage the memory (230) that is read or written throughout the process, and schedule a synchronization time between the volatile memory and the non-volatile memory in the memory (230). The processor (210) can control the overall operation of the cloud learning device (130), and is electrically connected to the memory (230), the user input/output unit (250), and the network input/output unit (270) to control the data flow therebetween. The processor (210) can be implemented as a CPU (Central Processing Unit) of the cloud learning device (130).

메모리(230)는 SSD(Solid State Drive) 또는 HDD(Hard Disk Drive)와 같은 비휘발성 메모리로 구현되어 클라우드 학습 장치(130)에 필요한 데이터 전반을 저장하는데 사용되는 보조기억장치를 포함할 수 있고, RAM(Random Access Memory)과 같은 휘발성 메모리로 구현된 주기억장치를 포함할 수 있다.The memory (230) may include an auxiliary memory device implemented with non-volatile memory such as an SSD (Solid State Drive) or an HDD (Hard Disk Drive) and used to store all data required for the cloud learning device (130), and may include a main memory device implemented with volatile memory such as a RAM (Random Access Memory).

사용자 입출력부(250)는 사용자 입력을 수신하기 위한 환경 및 사용자에게 특정 정보를 출력하기 위한 환경을 포함할 수 있다. 예를 들어, 사용자 입출력부(250)는 터치 패드, 터치 스크린, 화상 키보드 또는 포인팅 장치와 같은 어댑터를 포함하는 입력장치 및 모니터 또는 터치스크린과 같은 어댑터를 포함하는 출력장치를 포함할 수 있다. 일 실시예에서, 사용자 입출력부(250)는 원격 접속을 통해 접속되는 컴퓨팅 장치에 해당할 수 있고, 그러한 경우, 클라우드 학습 장치(130)는 서버로서 수행될 수 있다.The user input/output unit (250) may include an environment for receiving user input and an environment for outputting specific information to the user. For example, the user input/output unit (250) may include an input device including an adapter such as a touchpad, a touch screen, a virtual keyboard, or a pointing device, and an output device including an adapter such as a monitor or a touch screen. In one embodiment, the user input/output unit (250) may correspond to a computing device accessed via remote access, in which case the cloud learning device (130) may function as a server.

네트워크 입출력부(270)은 네트워크를 통해 외부 장치 또는 시스템과 연결하기 위한 환경을 포함하고, 예를 들어, LAN(Local Area Network), MAN(Metropolitan Area Network), WAN(Wide Area Network) 및 VAN(Value Added Network) 등의 통신을 위한 어댑터를 포함할 수 있다.The network input/output unit (270) includes an environment for connecting to an external device or system via a network, and may include an adapter for communication such as a local area network (LAN), a metropolitan area network (MAN), a wide area network (WAN), and a value added network (VAN).

도 3은 도 1의 클라우드 학습 장치의 기능적 구성을 설명하는 도면이다.Figure 3 is a drawing explaining the functional configuration of the cloud learning device of Figure 1.

도 3을 참조하면, 클라우드 학습 장치(130)는 학습 서비스 조건 수신부(310), 학습코드 수행 모니터링부(330), 학습코드 실행 상태 저장부(350), 클라우드 학습 수행부(370) 및 제어부(390)를 포함할 수 있다.Referring to FIG. 3, the cloud learning device (130) may include a learning service condition receiving unit (310), a learning code execution monitoring unit (330), a learning code execution status storage unit (350), a cloud learning execution unit (370), and a control unit (390).

학습 서비스 조건 수신부(310)는 사용자 학습 서비스 조건을 수신할 수 있다. 학습 서비스 조건 수신부(310)는 사용자 단말(110)과 연결되어 동작할 수 있으며, 사용자 단말(110)로부터 사용자 학습 서비스 조건을 수신하여 데이터베이스(170)에 저장할 수 있다. 학습 서비스 조건 수신부(310)는 사용자 단말(110)에게 사용자 학습 서비스 조건의 입력을 위한 전용 인터페이스를 제공할 수 있다. 즉, 사용자는 사용자 단말(110) 상에서 제공되는 전용 인터페이스를 통해 사용자 학습 서비스 조건을 입력할 수 있으며, 필요에 따라 사용자 학습코드를 함께 입력하여 사용자 학습코드에 관한 실행을 요청할 수 있다.The learning service condition receiving unit (310) can receive user learning service conditions. The learning service condition receiving unit (310) can be connected to and operate with a user terminal (110), and can receive user learning service conditions from the user terminal (110) and store them in a database (170). The learning service condition receiving unit (310) can provide a dedicated interface for inputting user learning service conditions to the user terminal (110). That is, the user can input user learning service conditions through the dedicated interface provided on the user terminal (110), and, if necessary, input a user learning code together to request execution of the user learning code.

일 실시예에서, 학습 서비스 조건 수신부(310)는 클라우드 컴퓨팅 장치(150)를 통한 사용자 학습코드의 실행에 따른 비용-성능 조건을 사용자 학습 서비스 조건으로서 수신할 수 있다. 사용자 학습 서비스 조건은 사용자가 사용자 학습코드의 실행 과정에서 요구하는 클라우드 환경에 관한 서비스 조건에 해당할 수 있으며, 특히 클라우드 서비스를 이용함에 있어 필요한 성능 조건 및 비용 조건을 포함할 수 있다.In one embodiment, the learning service condition receiving unit (310) may receive cost-performance conditions for executing user learning code via a cloud computing device (150) as user learning service conditions. The user learning service conditions may correspond to service conditions regarding a cloud environment requested by a user during the execution of the user learning code, and may particularly include performance conditions and cost conditions required for using cloud services.

또한, 사용자 학습 서비스 조건에는 서비스 이용 시간이나 위치, 특정 리소스에 관한 조건 등이 더 포함될 수 있다. 학습 서비스 조건 수신부(310)는 전용 인터페이스를 통해 학습 서비스 조건에 관한 선택 옵션을 제공할 수 있으며, 사용자는 해당 선택 옵션을 통해 조건 항목 및 조건 내용을 구체적으로 입력할 수 있다. 또한, 학습 서비스 조건 수신부(310)는 선택 옵션으로서 비용-성능 조건에 관한 다양한 조합들을 제공할 수 있다. 이를 통해, 사용자는 단지 사전에 정의된 선택 옵션들 중 어느 하나를 선택함으로써 비용-성능에 관한 사용자 학습 서비스 조건을 간단하게 입력할 수 있다.Additionally, user learning service conditions may further include conditions regarding service usage time, location, and specific resources. The learning service condition receiving unit (310) may provide selection options regarding learning service conditions via a dedicated interface, and users may specifically input condition items and condition contents through these selection options. Furthermore, the learning service condition receiving unit (310) may provide various combinations of cost-performance conditions as selection options. This allows users to simply input user learning service conditions regarding cost-performance by simply selecting one of the predefined selection options.

학습코드 수행 모니터링부(330)는 제1 클라우드 컴퓨팅 장치를 통한 사용자 학습코드의 실행을 모니터링 할 수 있다. 학습코드 수행 모니터링부(330)는 현재 사용 가능한 클라우드 컴퓨팅 장치(150)들 중에서 제1 클라우드 컴퓨팅 장치를 선택할 수 있고, 제1 클라우드 컴퓨팅 장치에게 실행이 필요한 사용자 학습코드를 제공할 수 있다. 제1 클라우드 컴퓨팅 장치는 사용자 학습 서비스 조건 및 사용자 학습코드를 분석하여 사용자 학습코드의 실행에 필요한 클라우드 환경을 제공할 수 있다.The learning code execution monitoring unit (330) can monitor the execution of the user learning code through the first cloud computing device. The learning code execution monitoring unit (330) can select the first cloud computing device from among the currently available cloud computing devices (150) and provide the user learning code that needs to be executed to the first cloud computing device. The first cloud computing device can analyze the user learning service conditions and the user learning code and provide a cloud environment necessary for executing the user learning code.

보다 구체적으로, 제1 클라우드 컴퓨팅 장치는 사용자 학습코드의 실행에 필요한 기본 리소스 구성을 결정할 수 있고, 사용자 학습 서비스 조건에 따라 기본 리소스 구성을 조정할 수 있다. 이후, 제1 클라우드 컴퓨팅 장치는 조정된 리소스 구성에 따라 리소스를 할당한 다음 클라우드 인스턴스를 생성하여 사용자 학습코드의 실행에 관한 동작을 개시할 수 있다. 학습코드 수행 모니터링부(330)는 제1 클라우드 컴퓨팅 장치와 연동하여 사용자 학습코드의 실행이 개시된 시점부터 실행에 따른 모니터링 정보를 수집할 수 있다. 이때, 모니터링 정보에는 사용자 학습코드의 실행으로 구현된 딥러닝 알고리즘의 특징 정보 및 리소스 정보에 관한 다양한 메트릭(metric)들이 포함될 수 있다.More specifically, the first cloud computing device can determine the basic resource configuration required for executing the user learning code and adjust the basic resource configuration according to the user learning service conditions. Thereafter, the first cloud computing device can allocate resources according to the adjusted resource configuration and then create a cloud instance to initiate operations related to executing the user learning code. The learning code execution monitoring unit (330) can collect monitoring information according to the execution of the user learning code from the time the execution of the user learning code is initiated in conjunction with the first cloud computing device. At this time, the monitoring information can include various metrics related to the characteristics and resource information of the deep learning algorithm implemented by executing the user learning code.

일 실시예에서, 학습코드 수행 모니터링부(330)는 사용자 학습 서비스 조건에 따라 제1 클라우드 컴퓨팅 장치를 선택하고 사용자 학습코드의 실행에 따른 비용-성능 경과를 추적할 수 있다. 학습코드 수행 모니터링부(330)는 현재 사용 가능한 클라우드 컴퓨팅 장치(150)들 중에서 사용자 학습 서비스 조건을 충족하는 장치들을 선별할 수 있고 해당 장치들 중에서 제1 클라우드 컴퓨팅 장치를 결정할 수 있다. 학습코드 수행 모니터링부(330)는 제1 클라우드 컴퓨팅 장치와 연동하여 사용자 학습코드의 실행 시점부터 종료 시점까지의 비용 메트릭과 성능 메트릭을 각각 수집할 수 있다.In one embodiment, the learning code execution monitoring unit (330) can select a first cloud computing device according to the user learning service conditions and track the cost-performance progress according to the execution of the user learning code. The learning code execution monitoring unit (330) can select devices that satisfy the user learning service conditions from among the currently available cloud computing devices (150) and determine the first cloud computing device among the devices. The learning code execution monitoring unit (330) can collect cost metrics and performance metrics from the execution time of the user learning code to the end time in conjunction with the first cloud computing device.

특히, 학습코드 수행 모니터링부(330)는 제1 클라우드 컴퓨팅 장치에 관해 사전 예측된 비용-성능 메트릭과 실제 측정된 비용-성능 메트릭을 구분하여 해당 변화 과정을 독립적으로 추적할 수 있다. 추적된 비용-성능 경과 데이터는 제1 클라우드 컴퓨팅 장치와 연관되어 데이터베이스(170)에 저장될 수 있으며, 이후 제1 클라우드 컴퓨팅 장치의 특성 정보로서 사용될 수 있다.In particular, the learning code execution monitoring unit (330) can independently track the change process by distinguishing between pre-predicted cost-performance metrics and actually measured cost-performance metrics regarding the first cloud computing device. The tracked cost-performance progress data can be stored in a database (170) in association with the first cloud computing device and subsequently used as characteristic information of the first cloud computing device.

일 실시예에서, 학습코드 수행 모니터링부(330)는 비용-성능 경과에서 특정 기준 이상의 비용 또는 성능 편차를 검출할 수 있다. 학습코드 수행 모니터링부(330)는 제1 클라우드 컴퓨팅 장치에서의 사용자 학습코드의 실행에 관한 비용-성능 경과를 추적할 수 있으며, 비용-성능 메트릭에 관한 변화를 기준으로 제1 클라우드 컴퓨팅 장치의 상태 변화를 검출할 수 있다. 예를 들어, 비용 메트릭 또는 성능 메트릭의 변화량(또는 편차)이 기 설정된 특정 기준을 초과하는 경우 학습코드 수행 모니터링부(330)는 제1 클라우드 컴퓨팅 장치의 동작 환경에 이상이 발생한 것으로 결정할 수 있다. 이때, 동작 환경의 이상은 사용자 학습 서비스 조건의 불충족 상태임을 나타낼 수 있으며, 불충족 상태는 비용 조건 또는 성능 조건에 관한 충족 범위를 벗어난 상태에 해당할 수 있다.In one embodiment, the learning code execution monitoring unit (330) can detect a cost or performance deviation exceeding a specific standard in the cost-performance progress. The learning code execution monitoring unit (330) can track the cost-performance progress of the execution of the user learning code on the first cloud computing device, and can detect a change in the status of the first cloud computing device based on a change in the cost-performance metric. For example, if the change (or deviation) in the cost metric or performance metric exceeds a preset specific standard, the learning code execution monitoring unit (330) can determine that an abnormality has occurred in the operating environment of the first cloud computing device. In this case, the abnormality in the operating environment can indicate that the user learning service condition is not satisfied, and the unsatisfied condition can correspond to a state outside the satisfaction range of the cost condition or performance condition.

학습코드 실행 상태 저장부(350)는 모니터링의 과정에서 사용자 학습 서비스 조건이 만족되지 않으면 사용자 학습코드의 실행 상태를 저장할 수 있다. 학습코드 실행 상태 저장부(350)는 사용자 학습 서비스 조건의 불충족 상태가 검출된 경우 해당 검출 시점을 기준으로 제1 클라우드 컴퓨팅 장치에서 수행 중인 사용자 학습코드의 실행 상태를 저장할 수 있다. 이때, 저장되는 실행 상태 정보에는 클라우드 환경에 관한 정보, 사용자 학습코드에 관한 정보, 딥러닝 알고리즘의 학습 진행에 관한 정보 등이 포함될 수 있다.The learning code execution status storage unit (350) can store the execution status of the user learning code if the user learning service conditions are not satisfied during the monitoring process. If the user learning service conditions are not satisfied, the learning code execution status storage unit (350) can store the execution status of the user learning code being executed in the first cloud computing device based on the detection time when the user learning service conditions are not satisfied. At this time, the stored execution status information can include information about the cloud environment, information about the user learning code, and information about the learning progress of the deep learning algorithm.

일 실시예에서, 학습코드 실행 상태 저장부(350)는 사용자 학습코드의 실행을 멈추고 사용자 학습코드의 실행에 따른 모델의 가중치 값을 저장할 수 있다. 사용자 학습코드의 실행에 따라 딥러닝 알고리즘이 구현되고 그에 따른 딥러닝 학습 과정이 수행될 수 있다. 사용자 학습코드의 실행이 중단되면 딥러닝 학습 과정이 종료될 수 있으며, 특히 딥러닝 학습 과정 중 인공지능 연산의 전 단계 또는 후 단계에서 중단 지점이 결정될 수 있다. 학습코드 실행 상태 저장부(350)는 해당 중단 지점을 기초로 기 구축된 딥러닝 모델의 가중치 값을 사용자 학습코드의 실행 상태에 관한 정보로서 저장할 수 있다. 이때, 딥러닝 모델의 가중치 값은 매트릭스(행렬) 형태로 표현될 수 있으나, 반드시 이에 한정되지 않음은 물론이다. 만약 인공지능 연산이 매트릭스 연산(또는 행렬 연산)에 해당하는 경우, 학습코드 실행 상태 저장부(350)는 해당 매트릭스 연산의 입력 또는 출력을 사용자 학습코드의 실행 상태에 관한 정보로서 저장할 수 있다.In one embodiment, the learning code execution status storage unit (350) may stop the execution of the user learning code and store the weight values of the model according to the execution of the user learning code. A deep learning algorithm may be implemented and a deep learning learning process may be performed according to the execution of the user learning code. When the execution of the user learning code is stopped, the deep learning learning process may be terminated, and in particular, the stopping point may be determined before or after the artificial intelligence operation during the deep learning learning process. The learning code execution status storage unit (350) may store the weight values of the deep learning model that has been constructed based on the stopping point as information regarding the execution status of the user learning code. At this time, the weight values of the deep learning model may be expressed in the form of a matrix, but the present invention is not necessarily limited thereto. If the artificial intelligence operation corresponds to a matrix operation (or matrix operation), the learning code execution status storage unit (350) may store the input or output of the corresponding matrix operation as information regarding the execution status of the user learning code.

클라우드 학습 수행부(370)는 사용자 학습 서비스 조건을 만족시키는 제2 클라우드 컴퓨팅 장치를 검출하고 사용자 학습코드의 실행 상태를 제2 클라우드 컴퓨팅 장치에 제공하여 사용자 학습코드의 실행을 이어갈 수 있다. 즉, 클라우드 학습 수행부(370)는 사용자 학습코드의 실행을 제1 클라우드 컴퓨팅 장치에서 제2 클라우드 컴퓨팅 장치로 이전(migration)할 수 있다. 제2 클라우드 컴퓨팅 장치는 현재 사용 가능한 클라우드 컴퓨팅 장치(150)들 중에서 선택될 수 있으며, 사용자 학습 서비스 조건을 충족하는 클라우드 컴퓨팅 장치(150)에 해당할 수 있다. 또한, 클라우드 학습 수행부(370)는 현재 사용 가능한 클라우드 컴퓨팅 장치(150)들 중에서 이전 시 소요 비용을 고려하여 제2 클라우드 컴퓨팅 장치를 결정할 수 있다. 제2 클라우드 컴퓨팅 장치에서 사용자 학습코드의 실행은 이전 단계에서 저장된 사용자 학습코드의 실행 상태를 기준으로 복원될 수 있다.The cloud learning execution unit (370) can detect a second cloud computing device that satisfies the user learning service conditions and provide the execution status of the user learning code to the second cloud computing device to continue executing the user learning code. That is, the cloud learning execution unit (370) can migrate the execution of the user learning code from the first cloud computing device to the second cloud computing device. The second cloud computing device can be selected from among the currently available cloud computing devices (150) and can correspond to a cloud computing device (150) that satisfies the user learning service conditions. In addition, the cloud learning execution unit (370) can determine the second cloud computing device from among the currently available cloud computing devices (150) by considering the cost required for migration. The execution of the user learning code on the second cloud computing device can be restored based on the execution status of the user learning code saved in the previous step.

일 실시예에서, 클라우드 학습 수행부(370)는 사용자 학습코드의 실행 상태를 저장하는 과정에서 특정 시간 동안 제1 클라우드 컴퓨팅 장치의 로드의 변화를 분석할 수 있다. 클라우드 학습 수행부(370)는 실행 상태의 저장 시점을 기준으로 전/후 동안의 제1 시간 구간 내에서 제1 클라우드 컴퓨팅 장치 상에서의 로드(load) 변화를 모니터링할 수 있으며, 로드 변화를 기초로 제1 시간 구간에 연속하는 제2 시간 구간에서의 로드 변화를 예측할 수 있다. 이때, 제2 시간 구간은 제1 시간 구간보다 더 길게 설정될 수 있다. 클라우드 학습 수행부(370)는 제1 클라우드 컴퓨팅 장치의 로드의 변화에 관한 예측 결과에 따라 제2 클라우드 컴퓨팅 장치로의 이전 동작을 수행하지 않을 수 있다.In one embodiment, the cloud learning execution unit (370) may analyze changes in the load of the first cloud computing device for a specific period of time during the process of saving the execution status of the user learning code. The cloud learning execution unit (370) may monitor changes in the load on the first cloud computing device within a first time interval before and after the time point at which the execution status is saved, and may predict changes in the load in a second time interval that is continuous with the first time interval based on the changes in the load. At this time, the second time interval may be set to be longer than the first time interval. The cloud learning execution unit (370) may not perform a transfer operation to the second cloud computing device based on the predicted results regarding changes in the load of the first cloud computing device.

일 실시예에서, 클라우드 학습 수행부(370)는 제1 클라우드 컴퓨팅 장치의 로드의 변화량 추세가 감소할 것으로 예상되는 경우에는 사용자 학습 서비스 조건에 있는 비용 증가가 특정 범위 이내인지를 결정하고 그렇다면 제1 클라우드 컴퓨팅 장치에서 사용자 학습코드의 실행을 지속할 수 있다. 클라우드 학습 수행부(370)는 제2 클라우드 컴퓨팅 장치로의 이전이 결정된 경우라도 제1 클라우드 컴퓨팅 장치에서의 로드가 일정 시간 이내에 감소할 것으로 예측된 경우 사용자 학습 서비스 조건의 비용 조건에 따라 제2 클라우드 컴퓨팅 장치로의 이전을 무시할 수 있다. 즉, 현재 시점에서 비용 조건에 대해 불충족 상태(또는 비용 초과 상태)라 하더라도 불충족의 정도가 특정 범위 이내이고 향후 로드의 감소에 따라 비용 불충족 상태가 해소될 것으로 예상되는 경우 클라우드 학습 수행부(370)는 제1 클라우드 컴퓨팅 장치에서 사용자 학습코드의 실행을 계속할 수 있다.In one embodiment, if the change trend of the load of the first cloud computing device is expected to decrease, the cloud learning execution unit (370) determines whether the cost increase in the user learning service conditions is within a specific range, and if so, the execution of the user learning code can continue on the first cloud computing device. Even if the transfer to the second cloud computing device is determined, the cloud learning execution unit (370) can ignore the transfer to the second cloud computing device according to the cost condition of the user learning service conditions if the load on the first cloud computing device is expected to decrease within a specific period of time. That is, even if the cost condition is not met (or is in a cost excess state) at the current point in time, if the degree of the non-satisfaction is within a specific range and the cost non-satisfaction condition is expected to be resolved as the load decreases in the future, the cloud learning execution unit (370) can continue executing the user learning code on the first cloud computing device.

한편, 클라우드 학습 수행부(370)는 제1 클라우드 컴퓨팅 장치의 로드의 변화량 추세를 예측하기 위하여 회귀분석 기반의 서버 부하량 산출 모델을 이용할 수 있다. 서버 부하량 산출 모델은 현재 서버 상태를 입력으로 수신하여 미래의 시점에서의 서버 부하량을 출력으로 생성하는 학습 모델에 해당할 수 있으며, 회귀분석 기반의 모델로 구현될 수 있다. 이때, 서버 상태는 서버 자원 분포(예를 들어, 리소스 유형 및 용량 등), 사용율 및 예약율 등에 관한 특징 벡터로 표현될 수 있다.Meanwhile, the cloud learning execution unit (370) may utilize a regression analysis-based server load calculation model to predict the change trend in the load of the first cloud computing device. The server load calculation model may correspond to a learning model that receives the current server status as input and produces the server load at a future point in time as output, and may be implemented as a regression analysis-based model. In this case, the server status may be expressed as a feature vector regarding server resource distribution (e.g., resource type and capacity, etc.), utilization rate, and reservation rate.

제어부(390)는 클라우드 학습 장치(130)의 전체적인 동작을 제어하고, 학습 서비스 조건 수신부(310), 학습코드 수행 모니터링부(330), 학습코드 실행 상태 저장부(350) 및 클라우드 학습 수행부(370) 간의 제어 흐름 또는 데이터 흐름을 관리할 수 있다.The control unit (390) controls the overall operation of the cloud learning device (130) and can manage the control flow or data flow between the learning service condition receiving unit (310), the learning code execution monitoring unit (330), the learning code execution status storage unit (350), and the cloud learning execution unit (370).

도 4는 본 발명에 따른 인공지능 기반 클라우드 학습방법을 설명하는 순서도이다.Figure 4 is a flowchart explaining an artificial intelligence-based cloud learning method according to the present invention.

도 4를 참조하면, 클라우드 학습 장치(130)는 학습 서비스 조건 수신부(310)를 통해 사용자 학습 서비스 조건을 수신할 수 있다(단계 S410). 클라우드 학습 장치(130)는 학습코드 수행 모니터링부(330)를 통해 제1 클라우드 컴퓨팅 장치를 통한 사용자 학습코드의 실행을 모니터링 할 수 있다(단계 S430).Referring to FIG. 4, the cloud learning device (130) can receive user learning service conditions through the learning service condition receiving unit (310) (step S410). The cloud learning device (130) can monitor the execution of the user learning code through the first cloud computing device through the learning code execution monitoring unit (330) (step S430).

클라우드 학습 장치(130)는 학습코드 실행 상태 저장부(350)를 통해 모니터링의 과정에서 사용자 학습 서비스 조건이 만족되지 않으면 사용자 학습코드의 실행 상태를 저장할 수 있다(단계 S450).The cloud learning device (130) can store the execution status of the user learning code if the user learning service condition is not satisfied during the monitoring process through the learning code execution status storage unit (350) (step S450).

클라우드 학습 장치(130)는 클라우드 학습 수행부(370)를 통해 사용자 학습 서비스 조건을 만족시키는 제2 클라우드 컴퓨팅 장치를 검출하고 사용자 학습코드의 실행 상태를 제2 클라우드 컴퓨팅 장치에 제공하여 사용자 학습코드의 실행을 이어갈 수 있다(단계 S470).The cloud learning device (130) can detect a second cloud computing device that satisfies the user learning service conditions through the cloud learning execution unit (370) and provide the execution status of the user learning code to the second cloud computing device to continue executing the user learning code (step S470).

도 5는 본 발명에 따른 클라우드 학습 과정의 일 실시예를 설명하는 흐름도이다.Figure 5 is a flowchart illustrating one embodiment of a cloud learning process according to the present invention.

도 5를 참조하면, 클라우드 학습 장치(130)는 사용자 학습 서비스 조건을 수신하면 사용자 학습코드와 함께 제1 클라우드 컴퓨팅 장치(151)에게 전송하여 사용자 학습코드의 실행을 요청할 수 있다. 제1 클라우드 컴퓨팅 장치(151)는 해당 요청에 따라 사용자 학습코드의 실행을 위한 클라우드 환경을 생성할 수 있다. 먼저, 제1 클라우드 컴퓨팅 장치(151)는 리소스 구성을 결정하여 리소스를 할당할 수 있다. 이때, 각 리소스는 클라우드 컴퓨팅 장치(150)와 연결된 자원풀을 통해 관리될 수 있다. 제1 클라우드 컴퓨팅 장치(151)는 리소스 구성에 따라 클라우드 인스턴스를 생성할 수 있고, 해당 클라우드 인스턴스를 통해 사용자 학습코드를 실행할 수 있다.Referring to FIG. 5, when a cloud learning device (130) receives a user learning service condition, it may transmit the user learning code to a first cloud computing device (151) to request execution of the user learning code. The first cloud computing device (151) may create a cloud environment for executing the user learning code according to the request. First, the first cloud computing device (151) may determine a resource configuration and allocate resources. At this time, each resource may be managed through a resource pool connected to the cloud computing device (150). The first cloud computing device (151) may create a cloud instance according to the resource configuration and execute the user learning code through the cloud instance.

이후, 클라우드 학습 장치(130)는 제1 클라우드 컴퓨팅 장치와 연결되어 사용자 학습코드의 실행에 관한 모니터링 정보를 수집할 수 있다. 이때, 모니터링 정보에는 비용-성능 경과에 관한 메트릭 정보가 포함될 수 있다. 클라우드 학습 장치(130)는 모니터링의 과정에서 사용자 학습 서비스 조건이 만족되지 않으면 사용자 학습코드를 실행하는 클라우드 컴퓨팅 장치(150)의 이전을 결정할 수 있다.Thereafter, the cloud learning device (130) can be connected to the first cloud computing device and collect monitoring information regarding the execution of the user learning code. The monitoring information may include metric information regarding cost-performance progress. If the user learning service conditions are not met during the monitoring process, the cloud learning device (130) may decide to relocate the cloud computing device (150) executing the user learning code.

클라우드 학습 장치(130)는 이전이 결정된 경우 제1 클라우드 컴퓨팅 장치(151)를 통해 사용자 학습코드의 실행 상태를 저장할 수 있으며, 현재 사용 가능한 클라우드 컴퓨팅 장치(150)들 중에서 제2 클라우드 컴퓨팅 장치(153)를 검출하고 실행 상태에 관한 정보를 전송할 수 있다. 클라우드 학습 장치(130)는 제2 클라우드 컴퓨팅 장치(153)를 통해 중단된 사용자 학습코드에 관한 실행을 계속할 수 있다. 이때, 제2 클라우드 컴퓨팅 장치(153)는 리소스 할당, 인스턴스 생성 및 사용자 학습코드의 실행 상태를 복구하는 일련의 동작을 처리할 수 있으며, 클라우드 학습 장치(130)는 제2 클라우드 컴퓨팅 장치(153)를 통해 비용-성능에 관한 모니터링 동작을 수행할 수 있다.The cloud learning device (130) can store the execution status of the user learning code through the first cloud computing device (151) when the transfer is determined, and can detect the second cloud computing device (153) among the currently available cloud computing devices (150) and transmit information about the execution status. The cloud learning device (130) can continue the execution of the interrupted user learning code through the second cloud computing device (153). At this time, the second cloud computing device (153) can process a series of operations for allocating resources, creating instances, and restoring the execution status of the user learning code, and the cloud learning device (130) can perform a monitoring operation regarding cost-performance through the second cloud computing device (153).

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described above with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various modifications and changes may be made to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below.

100: 클라우드 학습 시스템
110: 사용자 단말 130: 클라우드 학습 장치
150: 클라우드 컴퓨팅 장치 170: 데이터베이스
210: 프로세서 230: 메모리
250: 사용자 입출력부 270: 네트워크 입출력부
310: 학습 서비스 조건 수신부 330: 학습코드 수행 모니터링부
350: 학습코드 실행 상태 저장부 370: 클라우드 학습 수행부
390: 제어부
100: Cloud Learning System
110: User terminal 130: Cloud learning device
150: Cloud computing devices 170: Databases
210: Processor 230: Memory
250: User input/output section 270: Network input/output section
310: Learning service condition receiving unit 330: Learning code execution monitoring unit
350: Learning code execution status storage unit 370: Cloud learning execution unit
390: Control Unit

Claims (8)

사용자 학습코드의 실행에 따른 비용-성능 조건을 사용자 학습 서비스 조건으로서 수신하는 학습 서비스 조건 수신부;
현재 사용 가능한 클라우드 컴퓨팅 장치들 중에서 제1 클라우드 컴퓨팅 장치를 선택하고 상기 제1 클라우드 컴퓨팅 장치를 통해 상기 비용-성능 조건을 분석하고 기본 리소스 구성을 조정하여 상기 사용자 학습코드의 실행에 필요한 클라우드 환경을 제공하며 상기 사용자 학습코드의 실행을 모니터링 하는 학습코드 수행 모니터링부;
상기 모니터링의 과정에서 상기 비용-성능 조건이 만족되지 않으면 상기 사용자 학습코드의 실행 상태를 저장하는 학습코드 실행 상태 저장부; 및
상기 현재 사용 가능한 클라우드 컴퓨팅 장치들 중에서 상기 비용-성능 조건을 만족시키는 제2 클라우드 컴퓨팅 장치를 검출하고 상기 저장의 전후 구간에서 상기 제1 클라우드 컴퓨팅 장치의 로드 변화를 모니터링하여 상기 제2 클라우드 컴퓨팅 장치로의 이전 여부를 결정하며 상기 이전이 결정되면 상기 사용자 학습코드의 실행 상태를 상기 제2 클라우드 컴퓨팅 장치에 제공하여 상기 사용자 학습코드의 실행을 이어가는 클라우드 학습 수행부;를 포함하는 인공지능 기반 클라우드 학습장치.
A learning service condition receiving unit that receives cost-performance conditions according to execution of user learning code as user learning service conditions;
A learning code execution monitoring unit that selects a first cloud computing device from among currently available cloud computing devices, analyzes the cost-performance conditions through the first cloud computing device, adjusts the basic resource configuration, provides a cloud environment necessary for executing the user learning code, and monitors the execution of the user learning code;
A learning code execution status storage unit that stores the execution status of the user learning code if the cost-performance condition is not satisfied during the above monitoring process; and
An artificial intelligence-based cloud learning device comprising a cloud learning execution unit that detects a second cloud computing device that satisfies the cost-performance condition among the currently available cloud computing devices, monitors a load change of the first cloud computing device before and after the storage period to determine whether to transfer to the second cloud computing device, and, if the transfer is determined, provides the execution status of the user learning code to the second cloud computing device to continue executing the user learning code.
삭제delete 제1항에 있어서, 상기 학습코드 수행 모니터링부는
상기 사용자 학습 서비스 조건에 따라 상기 제1 클라우드 컴퓨팅 장치를 선택하고 상기 사용자 학습코드의 실행에 따른 비용-성능 경과를 추적하는 것을 특징으로 하는 인공지능 기반 클라우드 학습장치.
In the first paragraph, the learning code execution monitoring unit
An artificial intelligence-based cloud learning device characterized in that it selects the first cloud computing device according to the user learning service conditions and tracks the cost-performance progress according to the execution of the user learning code.
제3항에 있어서, 상기 학습코드 수행 모니터링부는
상기 비용-성능 경과에서 특정 기준 이상의 비용 또는 성능 편차를 검출하는 것을 특징으로 하는 인공지능 기반 클라우드 학습장치.
In the third paragraph, the learning code execution monitoring unit
An artificial intelligence-based cloud learning device characterized in that it detects a cost or performance deviation exceeding a specific standard in the above cost-performance progress.
제1항에 있어서, 상기 학습코드 실행 상태 저장부는
상기 사용자 학습코드의 실행을 멈추고 상기 사용자 학습코드의 실행에 따른 모델의 가중치 값을 저장하는 것을 특징으로 하는 인공지능 기반 클라우드 학습장치.
In the first paragraph, the learning code execution status storage unit
An artificial intelligence-based cloud learning device characterized in that it stops the execution of the user learning code and stores the weight values of the model according to the execution of the user learning code.
제1항에 있어서, 상기 클라우드 학습 수행부는
상기 저장의 전후 특정 시간 동안 상기 제1 클라우드 컴퓨팅 장치의 로드의 변화를 분석하는 것을 특징으로 하는 인공지능 기반 클라우드 학습장치.

In the first paragraph, the cloud learning execution unit
An artificial intelligence-based cloud learning device characterized by analyzing changes in the load of the first cloud computing device during a specific time before and after the above storage.

제6항에 있어서, 상기 클라우드 학습 수행부는
상기 로드의 변화량 추세가 감소할 것으로 예상되는 경우에는 상기 사용자 학습 서비스 조건에 있는 비용 증가가 특정 범위 이내인지를 결정하고 그렇다면 상기 제1 클라우드 컴퓨팅 장치에서 상기 사용자 학습코드의 실행을 지속하는 것을 특징으로 하는 인공지능 기반 클라우드 학습장치.
In the sixth paragraph, the cloud learning execution unit
An artificial intelligence-based cloud learning device characterized in that, when the change trend of the above load is expected to decrease, it is determined whether the cost increase in the user learning service condition is within a specific range, and if so, it continues to execute the user learning code on the first cloud computing device.
컴퓨팅 장치에 의해 수행되는 인공지능 기반 클라우드 학습방법에 있어서,
사용자 학습코드의 실행에 따른 비용-성능 조건을 사용자 학습 서비스 조건으로서 수신하는 단계;
현재 사용 가능한 클라우드 컴퓨팅 장치들 중에서 제1 클라우드 컴퓨팅 장치를 선택하고 상기 제1 클라우드 컴퓨팅 장치를 통해 상기 비용-성능 조건을 분석하고 기본 리소스 구성을 조정하여 상기 사용자 학습코드의 실행에 필요한 클라우드 환경을 제공하며 상기 사용자 학습코드의 실행을 모니터링 하는 단계;
상기 모니터링의 과정에서 상기 비용-성능 조건이 만족되지 않으면 상기 사용자 학습코드의 실행 상태를 저장하는 단계; 및
상기 현재 사용 가능한 클라우드 컴퓨팅 장치들 중에서 상기 비용-성능 조건을 만족시키는 제2 클라우드 컴퓨팅 장치를 검출하고 상기 저장의 전후 구간에서 상기 제1 클라우드 컴퓨팅 장치의 로드 변화를 모니터링하여 상기 제2 클라우드 컴퓨팅 장치로의 이전 여부를 결정하며 상기 이전이 결정되면 상기 사용자 학습코드의 실행 상태를 상기 제2 클라우드 컴퓨팅 장치에 제공하여 상기 사용자 학습코드의 실행을 이어가는 단계;를 포함하는 인공지능 기반 클라우드 학습방법.

In an artificial intelligence-based cloud learning method performed by a computing device,
A step of receiving cost-performance conditions according to execution of user learning code as user learning service conditions;
A step of selecting a first cloud computing device from among currently available cloud computing devices, analyzing the cost-performance conditions through the first cloud computing device, adjusting the basic resource configuration to provide a cloud environment necessary for executing the user learning code, and monitoring the execution of the user learning code;
A step of saving the execution status of the user learning code if the cost-performance condition is not satisfied during the above monitoring process; and
An artificial intelligence-based cloud learning method comprising: a step of detecting a second cloud computing device that satisfies the cost-performance condition among the currently available cloud computing devices, monitoring a load change of the first cloud computing device before and after the storage period to determine whether to transfer to the second cloud computing device, and providing the execution status of the user learning code to the second cloud computing device when the transfer is determined to continue the execution of the user learning code.

KR1020210176147A 2021-12-09 2021-12-09 Artificial intelligence-based cloud learning device and method Active KR102839818B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210176147A KR102839818B1 (en) 2021-12-09 2021-12-09 Artificial intelligence-based cloud learning device and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210176147A KR102839818B1 (en) 2021-12-09 2021-12-09 Artificial intelligence-based cloud learning device and method

Publications (3)

Publication Number Publication Date
KR20230087314A KR20230087314A (en) 2023-06-16
KR102839818B1 true KR102839818B1 (en) 2025-07-30
KR102839818B9 KR102839818B9 (en) 2025-10-15

Family

ID=86948435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210176147A Active KR102839818B1 (en) 2021-12-09 2021-12-09 Artificial intelligence-based cloud learning device and method

Country Status (1)

Country Link
KR (1) KR102839818B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021179776A (en) 2020-05-13 2021-11-18 株式会社日立製作所 Job placement support system and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170078012A (en) 2015-12-29 2017-07-07 전자부품연구원 Method and System for Optimizing Resource Allocation with Cloud Resources Monitoring and Estimating
KR102062037B1 (en) * 2018-05-16 2020-01-03 국민대학교산학협력단 Apparatus and method of providing a cloud-based batch service
KR20200122589A (en) * 2019-04-18 2020-10-28 한국전자통신연구원 Apparatus and method for allocating cloud resources
KR102308105B1 (en) * 2019-05-20 2021-10-01 주식회사 에이젠글로벌 Apparatus and method of ariticial intelligence predictive model based on dipersion parallel

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021179776A (en) 2020-05-13 2021-11-18 株式会社日立製作所 Job placement support system and method

Also Published As

Publication number Publication date
KR20230087314A (en) 2023-06-16
KR102839818B9 (en) 2025-10-15

Similar Documents

Publication Publication Date Title
US9367803B2 (en) Predictive analytics for information technology systems
KR101867487B1 (en) System and method of migration based fuzzy in cloud environment
US9251027B2 (en) Information handling system performance optimization system
US8996890B2 (en) Method for power conservation in virtualized environments
US9485160B1 (en) System for optimization of input/output from a storage array
US20160335131A1 (en) Dynamic Resource Scheduling
Riahi et al. A multi-objective decision support framework for virtual machine placement in cloud data centers: a real case study
US11797370B2 (en) Optimized diagnostics plan for an information handling system
KR101990411B1 (en) System for scaling resource based on priority in cloud system, apparatus and method thereof
JP6424273B2 (en) Utilizing semi-supervised machine learning for policy self-adjustment in computer infrastructure management
WO2020134364A1 (en) Virtual machine migration method, cloud computing management platform, and storage medium
EP3956771B1 (en) Timeout mode for storage devices
KR102839818B1 (en) Artificial intelligence-based cloud learning device and method
KR102918293B1 (en) Artificial intelligence-based cloud learning device and method
US10594620B1 (en) Bit vector analysis for resource placement in a distributed system
US12367185B1 (en) Replication system for data migration
US12468569B2 (en) Application usage and auto maintenance driven migration of applications and their dependencies
KR102613365B1 (en) Apparatus and method for determining ai-based cloud service server
KR20240119646A (en) Multi-cloud based user-customized instance recommendation device and method
KR102792245B1 (en) Cloud learning device and method through artificial intelligence-based resource utilization pattern prediction
KR102613366B1 (en) Artificial intelligence-based cloud service device and method
JP4778538B2 (en) Storage data management system and storage data management program
KR20230087312A (en) Artificial intelligence-based cloud learning device and method
KR20230087319A (en) Artificial intelligence-based cloud learning device and method
KR102227644B1 (en) Method for measuring workload by learning on micro data center environment

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

P22-X000 Classification modified

St.27 status event code: A-2-2-P10-P22-nap-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

Q13 Ip right document published

Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q13-NAP-PG1601 (AS PROVIDED BY THE NATIONAL OFFICE)

P14 Amendment of ip right document requested

Free format text: ST27 STATUS EVENT CODE: A-5-5-P10-P14-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P14-X000 Amendment of ip right document requested

St.27 status event code: A-5-5-P10-P14-nap-X000

R15 Change to inventor requested

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R15-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R15-X000 Change to inventor requested

St.27 status event code: A-5-5-R10-R15-oth-X000

P16 Ip right document amended

Free format text: ST27 STATUS EVENT CODE: A-5-5-P10-P16-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

P16-X000 Ip right document amended

St.27 status event code: A-5-5-P10-P16-nap-X000

Q16 A copy of ip right certificate issued

Free format text: ST27 STATUS EVENT CODE: A-4-4-Q10-Q16-NAP-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

Q16-X000 A copy of ip right certificate issued

St.27 status event code: A-4-4-Q10-Q16-nap-X000

R16 Change to inventor recorded

Free format text: ST27 STATUS EVENT CODE: A-5-5-R10-R16-OTH-X000 (AS PROVIDED BY THE NATIONAL OFFICE)

R16-X000 Change to inventor recorded

St.27 status event code: A-5-5-R10-R16-oth-X000

P19 Errors in documents containing ipogçös decisions corrected

Free format text: ST27 STATUS EVENT CODE: A-5-5-P10-P19-OTH-PG1701 (AS PROVIDED BY THE NATIONAL OFFICE)

PG1701 Publication of correction

St.27 status event code: A-5-5-P10-P19-oth-PG1701

Patent document republication publication date: 20251015

Republication note text: Request for Correction Notice

Gazette number: 1028398180000

Gazette reference publication date: 20250730

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000