KR102156656B1 - System and method for creating stack of virtual machine - Google Patents
System and method for creating stack of virtual machine Download PDFInfo
- Publication number
- KR102156656B1 KR102156656B1 KR1020140066228A KR20140066228A KR102156656B1 KR 102156656 B1 KR102156656 B1 KR 102156656B1 KR 1020140066228 A KR1020140066228 A KR 1020140066228A KR 20140066228 A KR20140066228 A KR 20140066228A KR 102156656 B1 KR102156656 B1 KR 102156656B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual machine
- script
- virtual
- stack
- machine stack
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
Abstract
가상머신 스택 생성 시스템 및 방법에 제공된다. 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템은, 사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 시스템으로서, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 가상머신 생성부; 및 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 스크립트 식별부를 포함하며, 상기 가상머신 생성부는, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하고, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성한다.It is provided in a system and method for creating a virtual machine stack. A virtual machine stack generation system according to an embodiment of the present invention is a system for creating a virtual machine stack in which a plurality of virtual machines are linked to each other to form a set in order to provide a specific service to a user terminal, the user terminal A virtual machine generator configured to receive virtual machine stack information having an N-tier structure from and to generate a plurality of virtual machines according to the virtual machine stack information; And a script identification unit that receives the virtual machine stack information from the virtual machine generation unit and transmits one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit, wherein the virtual machine generation unit generates the script. A minimum-virtual machine stack including N virtual machines is created using the virtual machine stack, and the virtual machine stack is completed based on the script and the minimum-virtual machine stack.
Description
본 발명의 실시예들은 가상머신 스택 생성 시스템 및 방법에 관한 것으로, 보다 상세하게는 클라우드 서비스에서 가상머신 스택을 효율적으로 생성하기 위한 기술에 관한 것이다.
Embodiments of the present invention relate to a system and method for creating a virtual machine stack, and more particularly, to a technology for efficiently generating a virtual machine stack in a cloud service.
가상머신(Virtual Machine)이란 특정 코드(예를 들어, 자바 바이너리 코드)와 실제 프로그램 명령어를 실행하는 마이크로프로세서 간의 인터페이스 역할을 담당하는 소프트웨어로서, 가상머신의 제공을 위해서는 가상머신 이미지가 필요하다. 사용자의 다양한 요구를 만족시키기 위해서는 각 요구에 맞는 다양한 가상머신 이미지가 필요하며, 스토리지와 각 이미지의 생성 및 수정을 위해서는 시간적, 비용적 측면의 노력이 필요하다.A virtual machine is software that serves as an interface between a specific code (for example, Java binary code) and a microprocessor that executes actual program instructions, and a virtual machine image is required to provide a virtual machine. In order to satisfy the various needs of users, various virtual machine images are required for each request, and efforts in terms of time and cost are required for storage and creation and modification of each image.
이를 개선하기 위해 서비스 관리자가 필요로 하는 소프트웨어 패키지 정보나 여러 가지 환경 설정들을 미리 정해진 형식으로 기록하는 자동 환경 설정 방법이 사용된다. 서비스 관리자는 기본 가상머신 이미지를 이용하여 가상머신을 생성한 후 미리 저장되어 있는 자동 환경 설정 정보를 이용하여 필요한 서비스 모듈을 설치하거나 여러 가지 환경 설정을 완료한다. 이를 통해 스토리지의 낭비를 줄이고 가상머신 이미지 생성 및 수정을 위한 노력을 줄일 수 있다. 그러나, 이 경우에도 여전히 각 가상머신 환경의 구성에 따른 자동 환경 설정 정보들을 생성 및 관리하기 위한 노력이 필요하다. 특히, N-티어(tier) 구조를 갖는 가상머신 스택의 환경을 사용자의 요구에 맞게 제공하기 위해서는 많은 노력이 필요하다. 각 사용자의 요구 사항에 맞는 이미지 세트나 스크립트 세트를 생성하여 관리해야 하기 때문이다.
To improve this, an automatic environment setting method is used that records software package information or various environment settings required by a service manager in a predetermined format. The service manager creates a virtual machine using the basic virtual machine image, and then installs necessary service modules or completes various environment settings using the automatic environment setting information stored in advance. This can reduce the waste of storage and reduce the effort for creating and modifying virtual machine images. However, even in this case, efforts are still required to create and manage automatic environment setting information according to the configuration of each virtual machine environment. In particular, a lot of effort is required to provide an environment of a virtual machine stack having an N-tier structure according to the user's needs. This is because it is necessary to create and manage a set of images or scripts that suit each user's requirements.
본 발명의 실시예들은 클라우드 서비스에서 효율적인 서비스 제공을 위한 가상머신 스택 생성 시스템 및 방법을 제공하기 위한 것이다.
Embodiments of the present invention are to provide a system and method for creating a virtual machine stack for efficient service provision in a cloud service.
본 발명의 예시적인 실시예에 따르면, 사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 시스템으로서, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 가상머신 생성부; 및 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 스크립트 식별부를 포함하며, 상기 가상머신 생성부는, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하고, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템이 제공된다.According to an exemplary embodiment of the present invention, a system for creating a virtual machine stack in which a plurality of virtual machines are linked to each other to form a set in order to provide a specific service to a user terminal, the N-tier ( tier) a virtual machine generation unit that receives the virtual machine stack information having a structure and generates a plurality of virtual machines according to the virtual machine stack information; And a script identification unit that receives the virtual machine stack information from the virtual machine generation unit and transmits one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit, wherein the virtual machine generation unit generates the script. A virtual machine stack generation system is provided for creating a minimum-virtual machine stack including the N virtual machines using the virtual machine stack and completing the virtual machine stack based on the script and the minimum-virtual machine stack.
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션(replication) 방법 중 하나 이상을 포함할 수 있다.The virtual machine stack information is one of a type of service module to be installed to provide a specific service to the user terminal, the number of service modules, a clustering method between the service modules, and a replication method between the service modules. It may include more than one.
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다.The script includes at least one of an installation script for installing the service module, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication script for replicating the service module. Can include.
상기 가상머신 생성부는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시켜 상기 최소-가상머신 스택을 생성할 수 있다.The virtual machine generator may generate the minimum-virtual machine stack by executing an installation script and an update script for different service modules in each of the N virtual machines.
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시켜 상기 가상머신 스택을 완성할 수 있다.The virtual machine generation unit executes an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines except for the N virtual machines, and to the N virtual machines and the remaining virtual machines. The virtual machine stack may be completed by executing a clustering script for some of the included service modules.
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행하고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시켜 상기 가상머신 스택을 완성할 수 있다.The virtual machine creation unit executes an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines, and performs the N virtual machines and the remaining virtual machines. The virtual machine stack may be completed by executing a replication script for some of the included service modules.
본 발명의 다른 예시적인 실시예에 따르면, 사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 방법으로서, 가상머신 생성부가, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하는 단계; 상기 가상머신 생성부가, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 단계; 스크립트 식별부가, 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하는 단계; 상기 스크립트 식별부가, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 단계; 상기 가상머신 생성부가, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하는 단계; 및 상기 가상머신 생성부가, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는 단계를 포함하는, 가상머신 스택 생성 방법이 제공된다.According to another exemplary embodiment of the present invention, a method for generating a virtual machine stack in which a plurality of virtual machines are linked to each other to form a set in order to provide a specific service to a user terminal, wherein the virtual machine generation unit Receiving virtual machine stack information having an N-tier structure from a terminal; Generating, by the virtual machine generation unit, a plurality of virtual machines according to the virtual machine stack information; Receiving, by a script identification unit, the virtual machine stack information from the virtual machine generation unit; Transmitting, by the script identification unit, one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit; Generating, by the virtual machine generation unit, a minimum-virtual machine stack including N virtual machines by using the script; And completing the virtual machine stack based on the script and the minimum-virtual machine stack, by the virtual machine generating unit.
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다.The virtual machine stack information includes at least one of a type of service module to be installed to provide a specific service to the user terminal, the number of service modules, a clustering method between the service modules, and a replication method between the service modules. can do.
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다.The script includes at least one of an installation script for installing the service module, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication script for replicating the service module. Can include.
상기 최소-가상머신 스택을 생성하는 단계는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킬 수 있다.In the step of generating the minimal-virtual machine stack, installation scripts and update scripts for different service modules may be executed in each of the N virtual machines.
상기 가상머신 스택을 완성하는 단계는, 상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및 상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시키는 단계를 포함할 수 있다.Completing the virtual machine stack may include: executing, by the virtual machine generation unit, an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines; And executing, by the virtual machine generation unit, a clustering script for some of the N virtual machines and service modules included in the remaining virtual machines.
상기 가상머신 스택을 완성하는 단계는, 상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및 상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시키는 단계를 포함할 수 있다.
Completing the virtual machine stack may include: executing, by the virtual machine generation unit, an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines; And executing, by the virtual machine generation unit, a replication script for some of the N virtual machines and service modules included in the remaining virtual machines.
본 발명의 실시예들에 따르면, 최소-가상머신 스택에서 사용된 스크립트를 재사용함으로써 사용자의 요구에 맞는 다양한 가상머신 스택의 환경을 생성할 수 있다. 특히, 해당 서비스 모듈의 스크립트들은 설치, 업데이트, 클러스터링, 레플리케이션 등의 작업 및 단계별로 모듈화되어 있기 때문에 이들을 조합하거나 재사용함으로써 가상머신 스택을 용이하게 관리할 수 있다. According to embodiments of the present invention, by reusing a script used in a minimal-virtual machine stack, it is possible to create an environment of various virtual machine stacks that meet the user's needs. In particular, since the scripts of the corresponding service module are modularized in stages and tasks such as installation, update, clustering, and replication, the virtual machine stack can be easily managed by combining or reusing them.
또한, 본 발명의 실시예들에 따르면, 최소-가상머신 스택에서 사용된 스크립트를 재사용함으로써, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움을 방지할 수 있다.
In addition, according to embodiments of the present invention, by reusing the script used in the minimum-virtual machine stack, it is possible to prevent the hassle of having to manually verify and manage a series of processes leading to the creation of the virtual machine stack.
도 1은 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 가상머신 생성부가 최소-가상머신 스택을 생성하는 과정을 설명하기 위한 도면
도 3은 본 발명의 일 실시예에 따른 가상머신 생성부가 최소-가상머신 스택을 기반으로 가상머신 스택을 완성하는 과정을 설명하기 위한 도면
도 4는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템을 적용하였을 때 서비스 모듈의 환경 설정에 관한 스크립트를 효율적으로 관리할 수 있는 효과를 설명하기 위한 도면
도 5는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템을 적용하였을 때 가상머신 스택을 효율적으로 생성할 수 있는 효과를 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 가상머신 스택 생성 방법을 설명하기 위한 순서도1 is a block diagram showing a detailed configuration of a virtual machine stack generation system according to an embodiment of the present invention
2 is a view for explaining a process of generating a virtual machine generation unit according to an embodiment of the present invention minimal-virtual machine stack
3 is a view for explaining a process of completing a virtual machine stack based on a minimum-virtual machine stack by a virtual machine generation unit according to an embodiment of the present invention
4 is a view for explaining the effect of efficiently managing a script related to environment setting of a service module when the system for creating a virtual machine stack according to an embodiment of the present invention is applied compared to the prior art
5 is a view for explaining the effect of efficiently generating a virtual machine stack when a virtual machine stack generation system according to an embodiment of the present invention is applied compared to the prior art
6 is a flowchart illustrating a method of creating a virtual machine stack according to an embodiment of the present invention
이하, 도면을 참조하여 본 발명의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 한정되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is only an exemplary embodiment, and the present invention is not limited thereto.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the present invention, when it is determined that a detailed description of known technologies related to the present invention may unnecessarily obscure the subject matter of the present invention, a detailed description thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention and may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout this specification.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are only one means for efficiently explaining the technical idea of the present invention to those of ordinary skill in the art.
도 1은 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)의 상세 구성을 나타낸 블록도이다. 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)은 사용자 단말(150)에 특정 서비스를 제공하는 가상머신 스택을 생성하기 위한 시스템이다. 사용자 단말(150)은 가상머신 스택을 통해 특정 서비스를 제공받기 위한 장치로서, 예를 들어 데스크탑 컴퓨터, 노트북 컴퓨터, 스마트폰, 태블릿 컴퓨터 등이 될 수 있다. 여기서, 가상머신 스택이란 사용자 단말(150)에 특정 서비스를 제공할 수 있도록 복수 개의 가상머신이 특정 계층 구조로 쌓이고 서로 연계되는 하나의 집합을 의미한다. 가상머신 스택은 N-티어(tier) 구조로 이루어질 수 있다. 이때, 각 층에는 서비스 모듈이 하나 이상 포함될 수 있다. 서비스 모듈은 특정 서비스를 제공하는 어플리케이션, 미들웨어, 소프트웨어 패키지 또는 이들의 집합을 의미하며, 예를 들어, 웹 서버, 웹 어플리케이션 서버, 데이터베이스, 프록시 서버, 컴파일러, IDE 등이 될 수 있다. 가상머신 스택은 예를 들어, 웹 서버(Web Server) - 웹 어플리케이션 서버(Web Application Server) - 데이터베이스(Database)의 3-티어 구조를 가질 수 있으며, 가상머신 스택 내에는 웹 서버, 웹 어플리케이션 및 데이터베이스가 각각 1개, 3개, 2개 포함될 수 있다. 이하에서는, 도 1을 참조하여 가상머신 스택 생성 시스템(100)의 상세 구성에 대해 살펴보기로 한다.1 is a block diagram showing a detailed configuration of a virtual machine
도 1에 도시된 바와 같이, 가상머신 스택 생성 시스템(100)은 가상머신 생성부(102), 스크립트 식별부(104), 스크립트 저장부(106), 내부 저장부(108), 외부 저장부(110) 및 가상머신(112)을 포함한다. 여기서, 가상머신 스택 생성 시스템(100)의 각 구성들은 클라우드 서비스 시스템(미도시) 내부에 위치할 수 있다. 다만, 이에 한정되는 것은 아니며, 가상머신 스택 생성 시스템(100)의 일부 구성, 예를 들어 스크립트 식별부(104), 스크립트 저장부(106), 외부 저장부(110) 등은 클라우드 서비스 시스템 외부에 위치할 수도 있다. 1, the virtual machine
가상머신 생성부(102)는 사용자 단말(150)로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 가상머신 스택정보에 따라 복수 개(예를 들어, M개, 단 M≥N)의 가상머신을 생성한다. 가상머신 스택정보는 사용자 단말(150)에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 서비스 모듈의 개수, 서비스 모듈 간의 클러스터링 방법 및 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다. 예를 들어, 가상머신 스택정보에는 NginX 웹 서버(Web Server) 1개, Tomcat 웹 어플리케이션 서버(WAS) 3개, MySQL 데이터베이스(DB) 2개로 이루어지는 3-티어 가상머신 스택 환경에 관한 정보, 3개의 Tomcat 웹 어플리케이션 서버가 클러스터링되는 스택 환경에 관한 정보, 2개의 MySQL 데이터베이스가 서로 레플리케이션되는 스택 환경에 관한 정보 등이 포함되어 있을 수 있다. The virtual
가상머신 생성부(102)는 사용자 단말(150)로부터 수신한 가상머신 스택정보에 따라 복수 개의 가상머신(112)을 생성할 수 있다. 예를 들어, 가상머신 스택정보에 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 3개, MySQL 데이터베이스 2개로 이루어지는 3-티어 가상머신 스택 환경에 관한 정보가 포함되어 있는 경우, 가상머신 생성부(102)는 6개의 가상머신(112)을 일괄적으로 생성할 수 있다. 가상머신 생성부(102)는 가상머신 이미지를 이용하여 가상머신(112)을 생성할 수 있다. 이후, 가상머신 생성부(102)는 생성한 가상머신(112)에 CPU, 메모리, 네트워크 등의 클라우드 자원을 할당할 수 있다. The virtual
또한, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신한다. 가상머신 생성부(102)는 복수 개의 가상머신(112)을 생성한 후 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수 있으나, 이에 한정되는 것은 아니다. 가상머신 생성부(102)는 복수 개의 가상머신(112)을 생성하는 과정에서 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수도 있으며, 스크립트 식별부(104)로 가상머신 스택정보를 송신한 후 복수 개의 가상머신(112)을 생성할 수도 있다. 스크립트 식별부(104)는 가상머신 스택정보에 대응되는 하나 이상의 특정 스크립트를 스크립트 저장부(106)에 요청할 수 있다. 스크립트 식별부(104)는 스크립트 저장부(106)로부터 해당 스크립트를 수신한 후 이를 가상머신 생성부(102)로 송신할 수 있다.In addition, the virtual
가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트를 이용하여 최소-가상머신 스택을 생성한다. 여기서, 최소-가상머신 스택이란 N-티어 구조를 만족하되, 최소 개수(N개)의 가상머신(112)으로 구성되는 가상머신 스택의 환경을 의미한다. 예를 들어, 최종적으로 생성되어야 하는 가상머신 스택이 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 3개, MySQL 데이터베이스 2개로 이루어질 경우, 최소-가상머신 스택은 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 1개, MySQL 데이터베이스 1개로 이루어질 수 있다. 즉, 최소-가상머신 스택은 서로 다른 서비스 모듈이 설치되는 가상머신(112) N개를 포함하도록 구성된다. 가상머신 생성부(102)가 최소-가상머신 스택을 생성하는 구체적인 과정은 도 2를 참조하여 후술하기로 한다.The virtual
가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트 및 최소-가상머신 스택을 기반으로 가상머신 스택을 완성한다. 가상머신 생성부(102)는 생성된 M개(단, M≥N)의 가상머신(112) 각각에 서비스 모듈을 순차적으로 설치 및 환경 설정(configuration)하는 것이 아니라, 먼저 N개의 가상머신(112)에 서비스 모듈을 설치 및 환경 설정하여 최소-가상머신 스택을 구성한 후, 이를 이용하여 가상머신 스택의 나머지 구조를 완성할 수 있다. 가상머신 생성부(102)가 가상머신 스택을 완성하는 구체적인 과정은 도 3을 참조하여 후술하기로 한다.The virtual
스크립트 식별부(104)는 가상머신 생성부(102)로부터 가상머신 스택정보를 수신하고, 스크립트 저장부(106)로부터 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 수신하여 가상머신 생성부(102)로 송신한다. 여기서, 스크립트는 가상머신 스택정보에 포함된 서비스 모듈을 설치하기 위한 설치 스크립트, 해당 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 해당 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 해당 서비스 모듈을 레플리케이션(replication)하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다. 서비스 모듈의 환경 설정이란 예를 들어, 서비스 모듈의 동작 설정, 호스트 네임 설정, 서비스 모듈 간의 연결 관계 설정, 통신 상태 설정, SSH(Secure Shell)에의 접속 허용 여부 설정 등을 포함하는 넓은 의미로 사용된다. 각 스크립트들은 가상머신(112)에서 실행될 수 있는 형태로 이루어져 스크립트 저장부(106)에 저장되어 있을 수 있다. 각 스크립트들은 해당 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일 또는 레플리케이션 파일을 내부 저장부(108) 또는 외부 저장부(110)에 요청하는 명령어들의 집합으로 이루어질 수 있다. 스크립트가 가상머신(112)에서 실행되면, 가상머신(112)은 내부 저장부(108) 또는 외부 저장부(110)에 해당 서비스 모듈에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청하여 이를 수신한 후, 해당 서비스 모듈에 대한 설치, 업데이트, 클러스터링, 레플리케이션 작업 등을 수행할 수 있다.The
스크립트 저장부(106)는 기설정된 서비스 모듈에 대한 스크립트들이 저장되어 있는 장소로서, 서비스 모듈에 대한 스크립트들은 모듈화되어 저장되어 있을 수 있다. 예를 들어, Tomcat 웹 어플리케이션 서버에 관한 스크립트는, Tomcat 웹 어플리케이션 서버의 설치 스크립트, Tomcat 웹 어플리케이션 서버의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트 등으로 각각 나뉘어 스크립트 저장부(106)에 저장되어 있을 수 있다. 스크립트 저장부(106)는 스크립트 식별부(104)의 스크립트 요청에 따라 해당 스크립트를 스크립트 식별부(104)로 송신할 수 있다. The
내부 저장부(108)는 기설정된 스크립트에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 저장하고 있는 장소이다. 상술한 바와 같이, 특정 서비스 모듈에 대한 스크립트가 가상머신(112)에서 실행되면, 가상머신(112)은 내부 저장부(108)로 해당 서비스 모듈에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청할 수 있다. 이에 따라, 내부 저장부(108)는 해당 파일을 가상머신(112)에 송신할 수 있다. 예를 들어, 가상머신(112)에서 Tomcat 웹 어플리케이션 서버의 설치 스크립트가 실행되면, 가상머신(112)은 내부 저장소(108)에 Tomcat 웹 어플리케이션 서버의 설치 파일을 요청하여 이를 수신하고, 이에 따라 Tomcat 웹 어플리케이션 서버를 설치할 수 있다. 내부 저장부(108)는 클라우드 서비스 시스템(미도시) 내부에 존재할 수 있다. The
외부 저장부(110)는 기설정된 스크립트에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 저장하고 있는 장소로서, 내부 저장부(108)와 동일한 기능을 수행한다. 다만, 외부 저장부(110)는 클라우드 서비스 시스템 외부에 존재할 수 있다. 상술한 바와 같이, 각 스크립트들은 해당 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일 또는 레플리케이션 파일을 내부 저장부(108) 또는 외부 저장부(110)에 요청하는 명령어들의 집합으로 이루어질 수 있으며, 가상머신(112)은 해당 스크립트에 따라 내부 저장부(108) 또는 외부 저장부(110)에 해당 서비스 모듈에 대한 파일을 요청할 수 있다. The
가상머신(112)은 사용자 단말(150)에 제공되는 소프트웨어 모듈로서, 가상머신 생성부(102)에 의해 생성될 수 있다. 상술한 특정 서비스 모듈에 대한 스크립트들은 가상머신(112) 내에서 실행될 수 있다. 가상머신(112)은 스크립트의 실행에 따라 내부 저장부(108) 또는 외부 저장부(110)에 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청하고 이를 수신하여 해당 서비스 모듈의 설치, 업데이트, 클러스터링, 레플리케이션 작업 등을 수행할 수 있다.
The
도 2는 본 발명의 일 실시예에 따른 가상머신 생성부(102)가 최소-가상머신 스택(200)을 생성하는 과정을 설명하기 위한 도면이다. 도 2의 (a)는 제 1 가상머신(112-1), 제 2 가상머신(112-2) 및 제 5 가상머신(112-5)에 특정 서비스 모듈을 설치 및 업데이트하는 과정을 나타낸 도면이며, 도 2의 (b)는 최소-가상머신 스택(200)이 생성된 상태를 나타내는 도면이다. 이하의 도 2 및 도 3에서는, 가상머신 스택정보에 NginX 웹 서버(Web Server) 1개, Tomcat 웹 어플리케이션 서버(WAS) 3개, MySQL 데이터베이스(DB) 2개로 이루어지는 3-티어 가상머신 스택 환경에 관한 정보, 3개의 Tomcat 웹 어플리케이션 서버가 클러스터링되는 스택 환경에 관한 정보, 2개의 MySQL 데이터베이스가 서로 레플리케이션되는 스택 환경에 관한 정보가 포함되어 있는 것으로 가정한다.FIG. 2 is a diagram for explaining a process in which the virtual
도 2의 (a)를 참조하면, 가상머신 생성부(102)는 먼저 사용자 단말(102)로부터 가상머신 스택정보를 수신하고, 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 일괄적으로 생성할 수 있다.Referring to Figure 2 (a), the virtual
다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수 있다. 스크립트 식별부(104)는 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 스크립트 저장부(106)에 요청한 후, 스크립트 저장부(106)로부터 해당 스크립트를 수신할 수 있다. 구체적으로, 스크립트 식별부(104)는 NginX 웹 서버의 설치 스크립트, Tomcat 웹 어플리케이션 서버의 설치 스크립트, MySQL 데이터베이스의 설치 스크립트, NginX 웹 서버의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 업데이트 스크립트, MySQL 데이터베이스의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트, MySQL 데이터베이스의 레플리케이션 스크립트를 스크립트 저장부(106)에 요청한 후, 이들 스크립트를 스크립트 저장부(106)로부터 수신할 수 있다.Next, the virtual
다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로부터 해당 스크립트를 수신할 수 있다.Next, the virtual
다음으로, 가상머신 생성부(102)는 수신한 스크립트를 이용하여 3개의 가상머신(112-1, 112-2, 112-5)을 포함하는 최소-가상머신 스택(200)을 생성할 수 있다. 이를 위해, 가상머신 생성부(102)는 먼저 3개의 가상머신(112-1, 112-2, 112-5) 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킨다. 구체적으로, 가상머신 생성부(102)는 제 1 가상머신(112-1)에서 NginX 웹 서버의 설치 스크립트 및 NginX 웹 서버의 업데이트 스크립트를 실행시키고, 제 2 가상머신(112-2)에서 Tomcat 웹 어플리케이션 서버의 설치 스크립트 및 Tomcat 웹 어플리케이션 서버의 업데이트 스크립트를 실행시키고, 제 5 가상머신(112-5)에서 MySQL 데이터베이스의 설치 스크립트 및 MySQL 데이터베이스의 업데이트 스크립트를 실행시킬 수 있다. 스크립트가 실행됨에 따라, 제 1 가상머신(112-1)은 내부 저장부(108) 또는 외부 저장부(110)에 NginX 웹 서버의 설치 파일 및 NginX 웹 서버의 업데이트 파일을 요청하여 이를 수신하고, 제 2 가상머신(112-2)은 내부 저장부(108) 또는 외부 저장부(110)에 Tomcat 웹 어플리케이션 서버의 설치 파일 및 Tomcat 웹 어플리케이션 서버의 업데이트 파일을 요청하여 이를 수신하고, 제 5 가상머신(112-5)은 내부 저장부(108) 또는 외부 저장부(110)에 MySQL 데이터베이스의 설치 파일 및 MySQL 데이터베이스의 업데이트 파일을 요청하여 이를 수신할 수 있다. 제 1 가상머신(112-1), 제 2 가상머신(112-2) 및 제 5 가상머신(112-5)는 내부 저장부(108) 또는 외부 저장부(110)로부터 수신한 서비스 모듈의 설치 파일 및 업데이트 파일을 이용하여 해당 서비스 모듈을 설치 및 업데이트할 수 있다. 서비스 모듈의 업데이트 스크립트가 실행됨에 따라, 각 서비스 모듈 간의 연결 관계가 정의될 수 있다. 예를 들어, NginX 웹 서버와 Tomcat 웹 어플리케이션 서버가 연결되고, Tomcat 웹 어플리케이션 서버와 MySQL 데이터베이스가 서로 연결될 수 있다.Next, the virtual
도 2의 (b)를 참조하면, 위와 같은 과정을 통해 3-티어 구조를 만족하되 3개의 가상머신, 즉 제 1 가상머신(112-1), 제 2 가상머신(112-2) 및 제 5 가상머신(112-5)을 포함하는 최소-가상머신 스택이 생성된다. 한편, 가상머신 생성부(102)는 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 일괄적으로 생성한 후 상술한 과정을 통해 최소-가상머신 스택(200)을 생성할 수 있으나, 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6) 중 3개의 가상머신(112-1, 112-2, 112-5)이 생성되는 즉시 최소-가상머신 스택(200) 생성 과정을 수행하여, 생성된 3개의 가상머신(112-1, 112-2, 112-5)을 포함하는 최소-가상머신 스택(200)을 생성할 수도 있다.
Referring to FIG. 2(b), the 3-tier structure is satisfied through the above process, but there are three virtual machines, namely, the first virtual machine 112-1, the second virtual machine 112-2, and the fifth. A minimal-virtual machine stack including the virtual machine 112-5 is created. Meanwhile, the virtual
도 3은 본 발명의 일 실시예에 따른 가상머신 생성부(102)가 최소-가상머신 스택(200)을 기반으로 가상머신 스택(300)을 완성하는 과정을 설명하기 위한 도면이다. 도 3의 (a)는 제 3 가상머신(112-3), 제 4 가상머신(112-4) 및 제 6 가상머신(112-6)에 특정 서비스 모듈을 설치 및 업데이트하는 과정을 나타낸 도면이며, 도 3의 (b)는 제 3 가상머신(112-3), 제 4 가상머신(112-4) 및 제 6 가상머신(112-6)에 설치된 서비스 모듈을 최소-가상머신 스택(200)에 설치된 서비스 모듈과 클러스터링 또는 레플리케이션하는 과정을 나타낸 도면이다. 또한, 도 3의 (c)는 가상머신 스택(300)이 완성된 상태를 나타내는 도면이다.3 is a view for explaining a process of completing the
도 3의 (a)를 참조하면, 가상머신 생성부(102)는, 최소-가상머신 스택(200)에 포함된 가상머신(112-1, 112-2, 112-5)을 제외한 나머지 가상머신(112-3, 112-4, 112-6)에서 특정 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킨다. 구체적으로, 가상머신 생성부(102)는 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)에서 Tomcat 웹 어플리케이션 서버의 설치 스크립트 및 Tomcat 웹 어플리케이션 서버의 업데이트 스크립트를 각각 실행시키고, 제 6 가상머신(112-6)에서 MySQL 데이터베이스의 설치 스크립트 및 MySQL 데이터베이스의 업데이트 스크립트를 실행시킬 수 있다. 이에 따라, 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)은 내부 저장부(108) 또는 외부 저장부(110)에 Tomcat 웹 어플리케이션 서버의 설치 파일 및 Tomcat 웹 어플리케이션 서버의 업데이트 파일을 요청하여 이를 수신하고, 제 6 가상머신(112-6)은 내부 저장부(108) 또는 외부 저장부(110)에 MySQL 데이터베이스의 설치 파일 및 MySQL 데이터베이스의 업데이트 파일을 요청하여 이를 수신할 수 있다. 제 3 가상머신(112-3), 제 4 가상머신(112-4) 및 제 6 가상머신(112-6)는 내부 저장부(108) 또는 외부 저장부(110)로부터 수신한 서비스 모듈의 설치 파일 및 업데이트 파일을 이용하여 해당 서비스 모듈을 설치 및 업데이트할 수 있다. Referring to Figure 3 (a), the virtual
도 3의 (b)를 참조하면, 가상머신 생성부(102)는 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)에 설치된 서비스 모듈 중 일부를 클러스터링(clustering)하거나 레플리케이션(replication)할 수 있다. 일반적으로 클러스터링이란 유사성 등의 개념에 기초하여 데이터를 하나 이상의 집합으로 묶는 것으로서, 여기서는 동일한 서비스를 제공하는 서비스 모듈을 일 집합으로 묶는 것을 의미한다. 또한, 레플리케이션은 일반적으로 데이터를 호스트 컴퓨터에서 다른 컴퓨터로 복사(또는 복제)하는 것으로, 여기서는 동일한 기능을 갖는 서비스 모듈 간에 특정 정보를 공유(또는 특정 정보의 복사)하는 것을 의미한다. 가상머신 생성부(102)는 제 3 가상머신(106-3) 및 제 4 가상머신(106-4)에 설치된 Tomcat 웹 어플리케이션 서버와 제 2 가상머신(106-2)에 설치된 Tomcat 웹 어플리케이션 서버를 클러스터링할 수 있으며, 제 6 가상머신(106-6)에 설치된 MySQL 데이터베이스와 제 5 가상머신(106-5)에 설치된 MySQL 데이터베이스 간의 DB 레플리케이션을 수행할 수 있다. 이를 위해, 가상머신 생성부(102)는 제 2 가상머신(112-2), 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)에서 Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트를 실행시키고, 제 5 가상머신(106-5) 및 제 6 가상머신(106-6)에서 MySQL 데이터베이스의 레플리케이션 스크립트를 실행시킬 수 있다. 제 2 가상머신(112-2), 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)은 내부 저장부(108) 또는 외부 저장부(110)에 Tomcat 웹 어플리케이션 서버의 클러스터링 파일을 요청하여 이를 수신할 수 있다. 또한, 제 5 가상머신(106-5) 및 제 6 가상머신(112-6)은 내부 저장부(108) 또는 외부 저장부(110)에 MySQL 데이터베이스의 레플리케이션 파일을 요청하여 이를 수신할 수 있다. 제 2 가상머신(112-2), 제 3 가상머신(112-3) 및 제 4 가상머신(112-4)은 내부 저장부(108) 또는 외부 저장부(110)로부터 수신한 서비스 모듈의 클러스터링 파일을 이용하여 해당 서비스 모듈을 클러스터링할 수 있으며, 제 5 가상머신(106-5) 및 제 6 가상머신(106-6)은 내부 저장부(108) 또는 외부 저장부(110)로부터 수신한 서비스 모듈의 레플리케이션 파일을 이용하여 해당 서비스 모듈을 레플리케이션할 수 있다.Referring to (b) of FIG. 3, the virtual
도 3의 (c)를 참조하면, 위와 같은 과정을 통해 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 포함하는 가상머신 스택(300)이 완성된다. 본 발명의 실시예들에 따르면, 최소-가상머신 스택(200)에서 사용된 스크립트를 재사용함으로써 사용자의 요구에 맞는 다양한 가상머신 스택의 환경을 생성할 수 있다. 특히, 해당 서비스 모듈의 스크립트들은 설치, 업데이트, 클러스터링, 레플리케이션 등의 작업 및 단계별로 모듈화되어 있기 때문에 이들을 조합하거나 재사용함으로써 가상머신 스택을 용이하게 관리할 수 있다. 이에 따라, 클라우드 서비스 제공자는 더 적은 노력으로 사용자의 요구를 효율적으로 만족시킬 수 있다.
3(c), a virtual machine stack including six virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6 through the above process. 300 is completed. According to embodiments of the present invention, by reusing the script used in the minimum-
도 4는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)을 적용하였을 때 서비스 모듈의 환경 설정에 관한 스크립트를 효율적으로 관리할 수 있는 효과를 설명하기 위한 도면이다.4 is a view for explaining the effect of efficiently managing a script related to environment setting of a service module when the
도 4의 (a)는 종래 기술에 따라 서비스 모듈의 환경 설정에 관한 스크립트를 관리하는 방법을 나타낸 도면이며, 도 4의 (b)는 본 발명의 일 실시예에 따라 서비스 모듈의 환경 설정에 관한 스크립트를 관리하는 방법을 나타낸 도면이다.FIG. 4A is a diagram showing a method of managing a script related to environment setting of a service module according to the prior art, and FIG. 4B is a diagram showing a method of managing an environment setting of a service module according to an embodiment of the present invention. It is a diagram showing a method of managing a script.
도 4의 (a)를 참조하면, 종래에는 가상머신을 생성한 후, 미리 저장되어 있는 자동 환경 구성 스크립트(#1 ~ #N) 중 일부를 이용하여 필요한 서비스 모듈을 설치하고 여러 가지 환경 설정 작업을 수행하였다. 그러나, 종래 기술에 따르면, 다양한 사용자의 요구를 만족시키기 위해 다양한 자동 환경 구성 스크립트를 구성하여야 하였으며, 이들 자동 환경 구성 스크립트를 일일이 검증 및 관리하여야 하는 번거로움이 있었다. Referring to Figure 4(a), after creating a virtual machine in the prior art, using some of the pre-stored automatic environment configuration scripts (#1 to #N), necessary service modules are installed and various environment setting tasks Was performed. However, according to the prior art, in order to satisfy the needs of various users, various automatic environment configuration scripts have to be configured, and there is a hassle in having to manually verify and manage these automatic environment configuration scripts.
그러나, 도 4의 (b)에서 볼 수 있는 바와 같이, 본 발명의 실시예들에 따르면, 최소-가상머신 스택 생성을 위한 최소의 스크립트 세트(패키지(또는 서비스 모듈) #1 설치 스크립트, 패키지 #1 업데이트 스크립트, 패키지 #2 설치 스크립트, 패키지 #2 업데이트 스크립트, 패키지 #3 설치 스크립트, 패키지 #3 업데이트 스크립트 등)를 구성한 후, 이들을 조합하거나 재사용함으로써 다양한 가상머신 스택을 생성할 수 있다. 만약, 새로운 서비스 모듈이 추가될 경우, 해당 서비스 모듈을 위한 설치 스크립트와 업데이트 스크립트만을 추가하여 위와 동일한 방식으로 새로운 가상머신 스택 환경을 용이하게 구성할 수 있다. 또한, 본 발명의 실시예들에 따르면, 사용(검증)된 스크립트를 조합하거나 재사용함으로써, 스크립트 검증에 따른 시간적, 비용적 낭비를 줄일 수 있으며 가상머신 스택 관리에 따른 부담을 줄일 수 있다.
However, as can be seen in (b) of FIG. 4, according to embodiments of the present invention, a minimum-minimum set of scripts (package (or service module)) for creating a virtual machine stack #1 installation script, package # 1 After configuring the update script, package #2 installation script, package #2 update script, package #3 installation script, package #3 update script, etc.), various virtual machine stacks can be created by combining or reusing them. If a new service module is added, it is possible to easily configure a new virtual machine stack environment in the same manner as above by adding only an installation script and an update script for the service module. In addition, according to embodiments of the present invention, by combining or reusing used (verified) scripts, it is possible to reduce time and cost waste due to script verification and reduce the burden of virtual machine stack management.
도 5는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)을 적용하였을 때 가상머신 스택을 효율적으로 생성할 수 있는 효과를 설명하기 위한 도면이다. 도 5의 (a)는 종래 기술에 따라 가상머신 스택을 생성하는 방법을 나타낸 도면이며, 도 5의 (b)는 본 발명의 일 실시예에 따라 가상머신 스택을 생성하는 방법을 나타낸 도면이다.5 is a view for explaining an effect of efficiently generating a virtual machine stack when the virtual machine
일반적으로, 가상머신 스택 환경을 제공하는데 걸리는 시간은 모든 가상머신들의 구성이 완료되는 데까지 걸리는 시간이다. 여기서, 가상머신의 생성과 서비스 모듈의 설치 과정에 대부분의 시간이 소요되며, 환경 설정에 걸리는 시간은 상대적으로 매우 적다. In general, the time it takes to provide a virtual machine stack environment is the time it takes to complete the configuration of all virtual machines. Here, most of the time is required for the creation of the virtual machine and the installation of the service module, and the time required for setting the environment is relatively very small.
도 5의 (a)를 참조하면, 종래에는 가상머신을 생성하고 해당 가상머신에 클라우드 자원을 할당한 후, 서비스 모듈을 설치하고 환경을 설정하였다. 또한, 새로운 서비스 모듈을 추가하고자 할 경우 새롭게 가상머신을 생성하고 해당 가상머신에 클라우드 자원을 할당한 후, 해당 서비스 모듈을 설치하고 환경을 설정하였다. 즉, 종래에는 가상머신 스택의 구조, 서비스 모듈의 종류 및 개수 등에 관계없이 가상머신 스택 생성을 위한 일련의 과정들을 순차적으로 진행하였다. 종래 기술에 따르면, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움이 있었다.Referring to FIG. 5A, in the related art, after creating a virtual machine and allocating cloud resources to the virtual machine, a service module is installed and an environment is set. In addition, when adding a new service module, a new virtual machine was created, cloud resources were allocated to the virtual machine, and then the service module was installed and the environment was set. That is, in the related art, a series of processes for creating a virtual machine stack were sequentially performed regardless of the structure of the virtual machine stack and the type and number of service modules. According to the prior art, there is an inconvenience of having to manually verify and manage a series of processes leading to the creation of a virtual machine stack.
그러나, 도 5의 (b)에서 볼 수 있는 바와 같이, 본 발명의 실시예들에 따르면, 가상머신 스택 생성에 이르는 일련의 과정들 중 최소-가상머신 스택 생성을 위한 과정을 가장 먼저 진행한 후, 최소-가상머신 스택 생성 과정에서 사용된 스크립트(즉, 검증된 스크립트)를 재사용하거나 조합함으로써 추가적인 서비스 모듈을 설치하고 환경을 설정할 수 있다. 이에 따라, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움을 방지할 수 있다. 또한, 이 과정에서, 가장 많은 시간을 소요하는 가상머신의 생성 및 서비스 모듈의 설치 작업을 최대한 빨리 완료하고, 이후 빠르게 끝나는 작업들의 순서를 조정하여 가상머신 스택의 환경을 보다 빠르게 제공할 수 있다. 나아가, 모든 스크립트들은 작업 및 단계별로 모듈화되어 있기 때문에 새로운 서비스 모듈의 추가가 매우 용이하다. 즉, 가상머신에 추가하고자 하는 스크립트를 실행시킴으로써 새로운 서비스 모듈을 용이하게 추가할 수 있다.
However, as can be seen in (b) of FIG. 5, according to embodiments of the present invention, the process for generating the minimum-virtual machine stack among the series of processes leading to the virtual machine stack generation is first performed. , By reusing or combining scripts (ie, verified scripts) used in the process of creating the minimal-virtual machine stack, additional service modules can be installed and the environment can be set. Accordingly, it is possible to prevent the hassle of having to manually verify and manage a series of processes leading to the creation of a virtual machine stack. In addition, in this process, the virtual machine stack environment can be provided more quickly by completing the creation of the virtual machine and the installation of the service module, which take the most time, as soon as possible, and by adjusting the order of the tasks that finish quickly thereafter. Furthermore, since all scripts are modularized by tasks and steps, it is very easy to add new service modules. That is, a new service module can be easily added by executing a script to be added to the virtual machine.
도 6은 본 발명의 일 실시예에 따른 가상머신 스택 생성 방법을 설명하기 위한 순서도이다.6 is a flowchart illustrating a method of creating a virtual machine stack according to an embodiment of the present invention.
먼저, 가상머신 생성부(102)는 사용자 단말(150)로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신한다(S602). 상술한 바와 같이, 가상머신 스택정보는, 사용자 단말(150)에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 서비스 모듈의 개수, 해당 서비스 모듈 간의 클러스터링 방법 및 해당 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다.First, the virtual
다음으로, 가상머신 생성부(102)는 가상머신 스택정보에 따라 복수 개의 가상머신을 생성한다(S604). 가상머신 생성부(102)는 가상머신 이미지를 이용하여 M(단, M≥N)개의 가상머신을 생성할 수 있다. Next, the virtual
다음으로, 가상머신 생성부(102)는 최소-가상머신 스택을 생성한다(S606). 구체적으로, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신하며, 스크립트 식별부(104)는 스크립트 저장부(106)로부터 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 수신하여 이를 가상머신 생성부(102)로 송신한다. 여기서, 스크립트는, 가상머신 스택정보에 포함된 서비스 모듈을 설치하기 위한 설치 스크립트, 해당 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 해당 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 해당 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다. 가상머신 생성부(102)는 N개의 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 상기 업데이트 스크립트를 실행시켜 최소-가상머신 스택을 생성할 수 있다.Next, the virtual
다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트 및 최소-가상머신 스택을 기반으로, N개의 가상머신을 제외한 나머지 가상머신에서, N개의 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킨다(S608). 또한, 가상머신 스택정보에 특정 서비스 모듈에 대한 클러스터링 또는 레플리케이션에 관한 정보가 포함되어 있는 경우, 가상머신 생성부(102)는 해당 서비스 모듈에 대한 클러스터링 스크립트 또는 레플리케이션 스크립트를 실행시킬 수 있다.Next, the virtual
다음으로, 가상머신 생성부(102)는 남은 가상머신이 존재하는지 여부를 판별한 후(S610), 남은 가상머신이 존재하지 않는 경우 전체 가상머신 스택의 환경 설정 및 인터페이스 설정 작업을 완료한다(S612). 만약, S610 단계에서, 남은 가상머신이 존재하는 경우 S608 단계로 되돌아가 남은 가상 머신에 대한 설치 스크립트 및 업데이트 스크립트를 실행한다.
Next, the virtual
도 6에 도시된 방법은 가상머신 스택 생성 시스템(100)에 의해 수행될 수 있다. 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 상기 방법에 도시되지 않은 하나 이상의 단계들이 상기 방법과 함께 수행될 수도 있다.
The method shown in FIG. 6 may be performed by the virtual machine
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
Although the present invention has been described in detail through the exemplary embodiments above, those of ordinary skill in the art to which the present invention pertains have found that various modifications can be made to the above embodiments without departing from the scope of the present invention. I will understand. Therefore, the scope of the present invention is limited to the described embodiments and should not be determined, and should not be determined by the claims to be described later, but also by those equivalents to the claims.
100 : 가상머신 스택 생성 시스템
102 : 가상머신 생성부
104 : 스크립트 식별부
106 : 스크립트 저장부
108 : 내부 저장부
110 : 외부 저장부
150 : 사용자 단말
112-1, 112-2, 112-3, 112-4, 112-5, 112-6 : 가상머신(VM)100: virtual machine stack creation system
102: virtual machine generation unit
104: script identification unit
106: script storage unit
108: internal storage
110: external storage unit
150: user terminal
112-1, 112-2, 112-3, 112-4, 112-5, 112-6: Virtual machine (VM)
Claims (12)
상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 가상머신 생성부; 및
상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 스크립트 식별부를 포함하며,
상기 가상머신 생성부는, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하고, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
As a system for creating a virtual machine stack in which a plurality of virtual machines are linked to each other to provide a specific service to a user terminal,
A virtual machine generation unit for receiving virtual machine stack information having an N-tier structure from the user terminal and generating a plurality of virtual machines according to the virtual machine stack information; And
A script identification unit receiving the virtual machine stack information from the virtual machine generation unit and transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit,
The virtual machine generation unit generates a minimum-virtual machine stack including N virtual machines using the script, and completes the virtual machine stack based on the script and the minimum-virtual machine stack. Stack creation system.
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션(replication) 방법 중 하나 이상을 포함하는, 가상머신 스택 생성 시스템.
The method according to claim 1,
The virtual machine stack information is one of a type of service module to be installed to provide a specific service to the user terminal, the number of service modules, a clustering method between the service modules, and a replication method between the service modules. A virtual machine stack creation system including the above.
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함하는, 가상머신 스택 생성 시스템.
The method according to claim 2,
The script includes at least one of an installation script for installing the service module, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication script for replicating the service module. Including, virtual machine stack creation system.
상기 가상머신 생성부는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시켜 상기 최소-가상머신 스택을 생성하는, 가상머신 스택 생성 시스템.
The method of claim 3,
The virtual machine generation unit generates the minimum-virtual machine stack by executing installation scripts and update scripts for different service modules in each of the N virtual machines.
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시켜 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
The method of claim 4,
The virtual machine generation unit executes an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines except for the N virtual machines, and to the N virtual machines and the remaining virtual machines. A virtual machine stack creation system for completing the virtual machine stack by executing a clustering script for some of the included service modules.
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행하고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시켜 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
The method of claim 4,
The virtual machine creation unit executes an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines, and performs the N virtual machines and the remaining virtual machines. A virtual machine stack creation system for completing the virtual machine stack by executing a replication script for some of the included service modules.
가상머신 생성부가, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하는 단계;
상기 가상머신 생성부가, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 단계;
스크립트 식별부가, 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하는 단계;
상기 스크립트 식별부가, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 단계;
상기 가상머신 생성부가, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하는 단계; 및
상기 가상머신 생성부가, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는 단계를 포함하는, 가상머신 스택 생성 방법.
As a method for creating a virtual machine stack in which a plurality of virtual machines are linked to each other to form a set in order to provide a specific service to a user terminal,
Receiving, by a virtual machine generation unit, virtual machine stack information having an N-tier structure from the user terminal;
Generating, by the virtual machine generation unit, a plurality of virtual machines according to the virtual machine stack information;
Receiving, by a script identification unit, the virtual machine stack information from the virtual machine generation unit;
Transmitting, by the script identification unit, one or more scripts corresponding to the virtual machine stack information to the virtual machine generation unit;
Generating, by the virtual machine generation unit, a minimum-virtual machine stack including N virtual machines by using the script; And
Comprising the step of completing the virtual machine stack based on the script and the minimum-virtual machine stack, the virtual machine generation unit, virtual machine stack generation method.
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함하는, 가상머신 스택 생성 방법.
The method of claim 7,
The virtual machine stack information includes at least one of a type of service module to be installed to provide a specific service to the user terminal, the number of service modules, a clustering method between the service modules, and a replication method between the service modules. How to create a virtual machine stack.
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함하는, 가상머신 스택 생성 방법.
The method of claim 8,
The script includes at least one of an installation script for installing the service module, an update script for setting the environment of the service module, a clustering script for clustering the service module, and a replication script for replicating the service module. Containing, virtual machine stack creation method.
상기 최소-가상머신 스택을 생성하는 단계는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는, 가상머신 스택 생성 방법.
The method of claim 9,
The generating of the minimal-virtual machine stack includes executing installation scripts and update scripts for different service modules in each of the N virtual machines.
상기 가상머신 스택을 완성하는 단계는,
상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및
상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시키는 단계를 포함하는, 가상머신 스택 생성 방법.
The method of claim 10,
Completing the virtual machine stack,
Executing, by the virtual machine generation unit, an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines; And
And executing, by the virtual machine generation unit, a clustering script for some of the N virtual machines and service modules included in the remaining virtual machines.
상기 가상머신 스택을 완성하는 단계는,
상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및
상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시키는 단계를 포함하는, 가상머신 스택 생성 방법.The method of claim 10,
Completing the virtual machine stack,
Executing, by the virtual machine generation unit, an installation script and an update script for some of the service modules installed in the N virtual machines in the remaining virtual machines excluding the N virtual machines; And
And executing, by the virtual machine generation unit, a replication script for some of the N virtual machines and service modules included in the remaining virtual machines.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140066228A KR102156656B1 (en) | 2014-05-30 | 2014-05-30 | System and method for creating stack of virtual machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140066228A KR102156656B1 (en) | 2014-05-30 | 2014-05-30 | System and method for creating stack of virtual machine |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150137766A KR20150137766A (en) | 2015-12-09 |
KR102156656B1 true KR102156656B1 (en) | 2020-09-16 |
Family
ID=54873659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140066228A KR102156656B1 (en) | 2014-05-30 | 2014-05-30 | System and method for creating stack of virtual machine |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102156656B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102247629B1 (en) | 2019-12-17 | 2021-05-04 | 부산대학교 산학협력단 | Apparatus and method for optimizing cloud virtual machine resources based on machine-learning |
KR102637540B1 (en) * | 2023-03-10 | 2024-02-15 | 주식회사 빅스테크놀로지 | System for configuring cloud computing environment and automating opertation based on standard stack and intelligent operator |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163194A1 (en) | 2007-01-02 | 2008-07-03 | Daniel Manuel Dias | Method and apparatus for deploying a set of virtual software resource templates to a set of nodes |
US20100313200A1 (en) | 2009-06-04 | 2010-12-09 | Microsoft Corporation | Efficient virtual machine management |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101254756B1 (en) | 2011-07-26 | 2013-04-15 | 김재식 | Method of creating virtual machine compatible with multiple operating system, and program recording media for virtual machine |
KR101374120B1 (en) * | 2012-05-31 | 2014-03-13 | 삼성에스디에스 주식회사 | System and method for coinstructing virtual cluster using the exectution history of analysis job |
-
2014
- 2014-05-30 KR KR1020140066228A patent/KR102156656B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080163194A1 (en) | 2007-01-02 | 2008-07-03 | Daniel Manuel Dias | Method and apparatus for deploying a set of virtual software resource templates to a set of nodes |
US20100313200A1 (en) | 2009-06-04 | 2010-12-09 | Microsoft Corporation | Efficient virtual machine management |
Also Published As
Publication number | Publication date |
---|---|
KR20150137766A (en) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10657061B1 (en) | Resource distribution using attributes of versioned hash rings | |
CN106537338B (en) | Self-expanding clouds | |
US10585691B2 (en) | Distribution system, computer, and arrangement method for virtual machine | |
US9529613B2 (en) | Methods and apparatus to reclaim resources in virtual computing environments | |
US8584121B2 (en) | Using a score-based template to provide a virtual machine | |
CN111324571B (en) | Container cluster management method, device and system | |
US8793344B2 (en) | System and method for generating a response plan for a hypothetical event | |
US11948014B2 (en) | Multi-tenant control plane management on computing platform | |
US20120102480A1 (en) | High availability of machines during patching | |
US10310900B2 (en) | Operating programs on a computer cluster | |
US20180159845A1 (en) | Systems and methods to facilitate certificate and trust management across a distributed environment | |
US11095648B2 (en) | Dashboard as remote computing services | |
US9893959B1 (en) | Resource modeling language to specify and control the placement of resources in a cloud environment | |
US10620928B2 (en) | Global cloud applications management | |
TW201229795A (en) | Web service patterns for globally distributed service fabric | |
US11086685B1 (en) | Deployment of virtual computing resources with repeatable configuration as a resource set | |
US20150128139A1 (en) | Virtual machine deployment method, recording medium, and information processing apparatus | |
Kirschnick et al. | Towards an architecture for deploying elastic services in the cloud | |
CN105704188A (en) | Deployment method and apparatus of applications and services | |
EP3879875A1 (en) | Resource change method and device, apparatus, and storage medium | |
KR102156656B1 (en) | System and method for creating stack of virtual machine | |
JP2021131897A (en) | Scheduling method, device, equipment, storage equipment, and program | |
US11295018B1 (en) | File system modification | |
US11017032B1 (en) | Document recovery utilizing serialized data | |
US11977926B1 (en) | Deployment of pod cohorts |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |