KR20150137766A - System and method for creating stack of virtual machine - Google Patents

System and method for creating stack of virtual machine Download PDF

Info

Publication number
KR20150137766A
KR20150137766A KR1020140066228A KR20140066228A KR20150137766A KR 20150137766 A KR20150137766 A KR 20150137766A KR 1020140066228 A KR1020140066228 A KR 1020140066228A KR 20140066228 A KR20140066228 A KR 20140066228A KR 20150137766 A KR20150137766 A KR 20150137766A
Authority
KR
South Korea
Prior art keywords
virtual machine
script
virtual
stack
machine stack
Prior art date
Application number
KR1020140066228A
Other languages
Korean (ko)
Other versions
KR102156656B1 (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 KR1020140066228A priority Critical patent/KR102156656B1/en
Publication of KR20150137766A publication Critical patent/KR20150137766A/en
Application granted granted Critical
Publication of KR102156656B1 publication Critical patent/KR102156656B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The present invention provides a virtual machine stack generation system and a method thereof. According to an embodiment of the present invention, the virtual machine stack system has multiple virtual machines interconnected to one another to configure one set in order to provide a specific service for a user terminal. The system includes: a virtual machine generation unit which receives virtual machine stack information including an N-tier structure from a user terminal and generates multiple virtual machines according to the virtual machine stack information; and a script identification unit which 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. The virtual machine generation unit generates the scripts to generate a minimal virtual machine stack including N virtual machines and completes the virtual machine stack based on the minimal virtual machine stack and the scripts.

Description

가상머신 스택 생성 시스템 및 방법 {SYSTEM AND METHOD FOR CREATING STACK OF VIRTUAL MACHINE}SYSTEM AND METHOD FOR CREATING STACK OF VIRTUAL MACHINE [0002]

본 발명의 실시예들은 가상머신 스택 생성 시스템 및 방법에 관한 것으로, 보다 상세하게는 클라우드 서비스에서 가상머신 스택을 효율적으로 생성하기 위한 기술에 관한 것이다.
Embodiments of the present invention relate to a virtual machine stack creation system and method, and more particularly to a technique for efficiently creating a virtual machine stack in a cloud service.

가상머신(Virtual Machine)이란 특정 코드(예를 들어, 자바 바이너리 코드)와 실제 프로그램 명령어를 실행하는 마이크로프로세서 간의 인터페이스 역할을 담당하는 소프트웨어로서, 가상머신의 제공을 위해서는 가상머신 이미지가 필요하다. 사용자의 다양한 요구를 만족시키기 위해서는 각 요구에 맞는 다양한 가상머신 이미지가 필요하며, 스토리지와 각 이미지의 생성 및 수정을 위해서는 시간적, 비용적 측면의 노력이 필요하다.A virtual machine is software that acts as an interface between a specific code (for example, Java binary code) and a microprocessor that executes actual program instructions. In order to provide a virtual machine, a virtual machine image is required. In order to satisfy various users' needs, various virtual machine images corresponding to each requirement are required. In order to create and modify storage and each image, time and cost efforts are required.

이를 개선하기 위해 서비스 관리자가 필요로 하는 소프트웨어 패키지 정보나 여러 가지 환경 설정들을 미리 정해진 형식으로 기록하는 자동 환경 설정 방법이 사용된다. 서비스 관리자는 기본 가상머신 이미지를 이용하여 가상머신을 생성한 후 미리 저장되어 있는 자동 환경 설정 정보를 이용하여 필요한 서비스 모듈을 설치하거나 여러 가지 환경 설정을 완료한다. 이를 통해 스토리지의 낭비를 줄이고 가상머신 이미지 생성 및 수정을 위한 노력을 줄일 수 있다. 그러나, 이 경우에도 여전히 각 가상머신 환경의 구성에 따른 자동 환경 설정 정보들을 생성 및 관리하기 위한 노력이 필요하다. 특히, N-티어(tier) 구조를 갖는 가상머신 스택의 환경을 사용자의 요구에 맞게 제공하기 위해서는 많은 노력이 필요하다. 각 사용자의 요구 사항에 맞는 이미지 세트나 스크립트 세트를 생성하여 관리해야 하기 때문이다.
To improve this, an automatic configuration method for recording software package information required by a service manager and various environment settings in a predetermined format is used. The service manager creates a virtual machine using the basic virtual machine image, and installs necessary service modules or completes various environment settings using pre-stored automatic configuration information. This reduces storage wastage and reduces the effort required to create and modify virtual machine images. However, in this case, it is still necessary to generate and manage automatic configuration information according to the configuration of each virtual machine environment. In particular, much effort is required to provide an environment of a virtual machine stack having an N-tier structure in accordance with a user's demand. This is because it is necessary to create and manage image sets or script sets that meet the requirements of each user.

대한민국 공개특허공보 제2013-0012603호 (2013.02.05)Korean Patent Laid-Open Publication No. 2013-0012603 (Feb.

본 발명의 실시예들은 클라우드 서비스에서 효율적인 서비스 제공을 위한 가상머신 스택 생성 시스템 및 방법을 제공하기 위한 것이다.
Embodiments of the present invention 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, there is provided a system for creating a virtual machine stack in which a plurality of virtual machines are associated with each other to provide a specific service to a user terminal, a virtual machine generation unit for receiving virtual machine stack information having a tier structure and generating a plurality of virtual machines according to the virtual machine stack information; And a script identification unit for receiving the virtual machine stack information from the virtual machine creation unit and transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine creation unit, A virtual machine stack creation system is provided for creating a minimum-virtual machine stack comprising N said virtual machines and completing said virtual machine stack based on said script and said minimum-virtual machine stack.

상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션(replication) 방법 중 하나 이상을 포함할 수 있다.The virtual machine stack information includes at least one of a type of a service module to be installed in the user terminal, a number of the service modules, a clustering method between the service modules, and a replication method between the service modules Or more.

상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다.Wherein 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 .

상기 가상머신 생성부는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시켜 상기 최소-가상머신 스택을 생성할 수 있다.The virtual machine generation unit may generate 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개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시켜 상기 가상머신 스택을 완성할 수 있다.Wherein the virtual machine creation unit executes an installation script and an update script for a part of service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines and updates the N virtual machines and the remaining virtual machines The clustering script for some of the included service modules may be executed to complete the virtual machine stack.

상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행하고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시켜 상기 가상머신 스택을 완성할 수 있다.Wherein the virtual machine creation unit executes an installation script and an update script for a part of service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines, The replication script for some of the included service modules may be executed to complete the virtual machine stack.

본 발명의 다른 예시적인 실시예에 따르면, 사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 방법으로서, 가상머신 생성부가, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하는 단계; 상기 가상머신 생성부가, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 단계; 스크립트 식별부가, 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하는 단계; 상기 스크립트 식별부가, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 단계; 상기 가상머신 생성부가, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하는 단계; 및 상기 가상머신 생성부가, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는 단계를 포함하는, 가상머신 스택 생성 방법이 제공된다.According to another exemplary embodiment of the present invention, there is provided a method for creating a virtual machine stack in which a plurality of virtual machines are associated with one another to provide a specific service to a user terminal, Receiving virtual machine stack information having an N-tier structure from a terminal; The virtual machine generation unit generating a plurality of virtual machines according to the virtual machine stack information; A script identification unit receiving the virtual machine stack information from the virtual machine generation unit; The script identification unit transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine creation unit; The virtual machine generation unit generating a minimum-virtual machine stack including N virtual machines using the script; And completing the virtual machine stack based on the script and the min-virtual machine stack, wherein the virtual machine generator is provided.

상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다.The virtual machine stack information includes at least one of a type of a service module to be installed to provide a specific service to the user terminal, a number of the service modules, a clustering method between the service modules, and a replication method between the service modules can do.

상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다.Wherein 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 .

상기 최소-가상머신 스택을 생성하는 단계는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킬 수 있다.The step of creating the minimum-virtual machine stack may execute an installation script and an update script for different service modules in each of the N virtual machines.

상기 가상머신 스택을 완성하는 단계는, 상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및 상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시키는 단계를 포함할 수 있다.The step of completing the virtual machine stack may include: executing the installation script and the update script for a part of the service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines; And executing the clustering script for a portion of the service modules included in the N virtual machines and the remaining virtual machines.

상기 가상머신 스택을 완성하는 단계는, 상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및 상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시키는 단계를 포함할 수 있다.
The step of completing the virtual machine stack may include: executing the installation script and the update script for a part of the service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines; And executing the replication script for a portion of the service modules included in the N virtual machines and the remaining virtual machines.

본 발명의 실시예들에 따르면, 최소-가상머신 스택에서 사용된 스크립트를 재사용함으로써 사용자의 요구에 맞는 다양한 가상머신 스택의 환경을 생성할 수 있다. 특히, 해당 서비스 모듈의 스크립트들은 설치, 업데이트, 클러스터링, 레플리케이션 등의 작업 및 단계별로 모듈화되어 있기 때문에 이들을 조합하거나 재사용함으로써 가상머신 스택을 용이하게 관리할 수 있다. According to embodiments of the present invention, it is possible to create environments of various virtual machine stacks suited to the needs of users by reusing the scripts used in the minimum-virtual machine stack. In particular, the script of the service module is modularized by tasks such as installation, update, clustering, and replication, and can be easily managed by combining or reusing them.

또한, 본 발명의 실시예들에 따르면, 최소-가상머신 스택에서 사용된 스크립트를 재사용함으로써, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움을 방지할 수 있다.
Also, according to the embodiments of the present invention, it is possible to prevent the hassle of verifying and managing a series of processes leading to creation of the virtual machine stack by reusing the script used in the minimum-virtual machine stack.

도 1은 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템의 상세 구성을 나타낸 블록도
도 2는 본 발명의 일 실시예에 따른 가상머신 생성부가 최소-가상머신 스택을 생성하는 과정을 설명하기 위한 도면
도 3은 본 발명의 일 실시예에 따른 가상머신 생성부가 최소-가상머신 스택을 기반으로 가상머신 스택을 완성하는 과정을 설명하기 위한 도면
도 4는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템을 적용하였을 때 서비스 모듈의 환경 설정에 관한 스크립트를 효율적으로 관리할 수 있는 효과를 설명하기 위한 도면
도 5는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템을 적용하였을 때 가상머신 스택을 효율적으로 생성할 수 있는 효과를 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 가상머신 스택 생성 방법을 설명하기 위한 순서도
1 is a block diagram showing a detailed configuration of a virtual machine stack creation system according to an embodiment of the present invention;
FIG. 2 is a view for explaining a process of creating a virtual-machine stack according to an embodiment of the present invention; FIG.
3 is a view for explaining a process of completing a virtual machine stack based on a minimum-virtual machine stack according to an embodiment of the present invention;
FIG. 4 is a diagram for explaining an effect of efficiently managing a script relating to environment setting of a service module when a virtual machine stack generating system according to an embodiment of the present invention is applied, compared with the related art
5 is a view for explaining an effect of efficiently creating a virtual machine stack when a virtual machine stack creation system according to an embodiment of the present invention is applied,
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 an exemplary embodiment only and the present invention is not limited thereto.

본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for efficiently describing the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.

도 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 stack creation system 100 according to an embodiment of the present invention. The virtual machine stack creation system 100 according to an exemplary embodiment of the present invention is a system for creating a virtual machine stack that provides a specific service to a user terminal 150. [ The user terminal 150 may be a desktop computer, a notebook computer, a smart phone, a tablet computer, or the like, for receiving a specific service through a virtual machine stack. Here, the virtual machine stack refers to a set of a plurality of virtual machines stacked in a specific hierarchical structure and linked to each other so that a specific service can be provided to the user terminal 150. The virtual machine stack can be of an N-tier architecture. At this time, each layer may include one or more service modules. The service module refers to an application, a middleware, a software package, or a set thereof providing a specific service, for example, a web server, a web application server, a database, a proxy server, a compiler, an IDE, and the like. The virtual machine stack can have, for example, a three-tier structure of a web server, a web application server, and a database. In the virtual machine stack, a web server, a web application, One, three, or two, respectively. Hereinafter, a detailed configuration of the virtual machine stack creation system 100 will be described with reference to FIG.

도 1에 도시된 바와 같이, 가상머신 스택 생성 시스템(100)은 가상머신 생성부(102), 스크립트 식별부(104), 스크립트 저장부(106), 내부 저장부(108), 외부 저장부(110) 및 가상머신(112)을 포함한다. 여기서, 가상머신 스택 생성 시스템(100)의 각 구성들은 클라우드 서비스 시스템(미도시) 내부에 위치할 수 있다. 다만, 이에 한정되는 것은 아니며, 가상머신 스택 생성 시스템(100)의 일부 구성, 예를 들어 스크립트 식별부(104), 스크립트 저장부(106), 외부 저장부(110) 등은 클라우드 서비스 시스템 외부에 위치할 수도 있다. 1, the virtual machine stack creation system 100 includes a virtual machine creation unit 102, a script identification unit 104, a script storage unit 106, an internal storage unit 108, an external storage unit 110 and a virtual machine 112. Here, each configuration of the virtual machine stack creation system 100 may be located inside a cloud service system (not shown). A part of the configuration of the virtual machine stack creation system 100, for example, the script identification unit 104, the script storage unit 106, the external storage unit 110, and the like may be provided outside the cloud service system It may be located.

가상머신 생성부(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 machine generation unit 102 receives virtual machine stack information having an N-tier structure from the user terminal 150 and generates a plurality of virtual machine stack information (for example, M, M > N) virtual machine. The virtual machine stack information may include at least one of a type of service module to be installed to provide a specific service to the user terminal 150, a number of service modules, a clustering method between service modules, and a replication method between service modules . For example, the virtual machine stack information includes information about a three-tier virtual machine stack environment consisting of one NginX web server, three Tomcat web application servers (WAS), two MySQL databases (DB) Information about the stack environment in which the Tomcat web application server is clustered, and information about the stack environment in which two MySQL databases are replicated to each other.

가상머신 생성부(102)는 사용자 단말(150)로부터 수신한 가상머신 스택정보에 따라 복수 개의 가상머신(112)을 생성할 수 있다. 예를 들어, 가상머신 스택정보에 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 3개, MySQL 데이터베이스 2개로 이루어지는 3-티어 가상머신 스택 환경에 관한 정보가 포함되어 있는 경우, 가상머신 생성부(102)는 6개의 가상머신(112)을 일괄적으로 생성할 수 있다. 가상머신 생성부(102)는 가상머신 이미지를 이용하여 가상머신(112)을 생성할 수 있다. 이후, 가상머신 생성부(102)는 생성한 가상머신(112)에 CPU, 메모리, 네트워크 등의 클라우드 자원을 할당할 수 있다. The virtual machine generation unit 102 may generate a plurality of virtual machines 112 according to the virtual machine stack information received from the user terminal 150. [ For example, if the virtual machine stack information includes information about a three-tier virtual machine stack environment composed of one NginX web server, three Tomcat web application servers, and two MySQL databases, It is possible to collectively create six virtual machines 112. The virtual machine creation unit 102 can create the virtual machine 112 using the virtual machine image. Then, the virtual machine generation unit 102 can allocate a cloud resource such as a CPU, a memory, and a network to the generated virtual machine 112. [

또한, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신한다. 가상머신 생성부(102)는 복수 개의 가상머신(112)을 생성한 후 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수 있으나, 이에 한정되는 것은 아니다. 가상머신 생성부(102)는 복수 개의 가상머신(112)을 생성하는 과정에서 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수도 있으며, 스크립트 식별부(104)로 가상머신 스택정보를 송신한 후 복수 개의 가상머신(112)을 생성할 수도 있다. 스크립트 식별부(104)는 가상머신 스택정보에 대응되는 하나 이상의 특정 스크립트를 스크립트 저장부(106)에 요청할 수 있다. 스크립트 식별부(104)는 스크립트 저장부(106)로부터 해당 스크립트를 수신한 후 이를 가상머신 생성부(102)로 송신할 수 있다.In addition, the virtual machine generation unit 102 transmits the virtual machine stack information to the script identification unit 104. The virtual machine generation unit 102 may generate a plurality of virtual machines 112 and then transmit the virtual machine stack information to the script identification unit 104. However, the present invention is not limited thereto. The virtual machine generation unit 102 may transmit the virtual machine stack information to the script identification unit 104 in the process of generating the plurality of virtual machines 112 and may transmit the virtual machine stack information to the script identification unit 104 A plurality of virtual machines 112 may be created. The script identification unit 104 may request the script storage unit 106 for one or more specific scripts corresponding to the virtual machine stack information. The script identification unit 104 may receive the script from the script storage unit 106 and then transmit the script to the virtual machine generation unit 102. [

가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트를 이용하여 최소-가상머신 스택을 생성한다. 여기서, 최소-가상머신 스택이란 N-티어 구조를 만족하되, 최소 개수(N개)의 가상머신(112)으로 구성되는 가상머신 스택의 환경을 의미한다. 예를 들어, 최종적으로 생성되어야 하는 가상머신 스택이 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 3개, MySQL 데이터베이스 2개로 이루어질 경우, 최소-가상머신 스택은 NginX 웹 서버 1개, Tomcat 웹 어플리케이션 서버 1개, MySQL 데이터베이스 1개로 이루어질 수 있다. 즉, 최소-가상머신 스택은 서로 다른 서비스 모듈이 설치되는 가상머신(112) N개를 포함하도록 구성된다. 가상머신 생성부(102)가 최소-가상머신 스택을 생성하는 구체적인 과정은 도 2를 참조하여 후술하기로 한다.The virtual machine generation unit 102 generates a minimum-virtual machine stack using the script received from the script identification unit 104. [ Here, the minimum-virtual machine stack refers to the environment of the virtual machine stack that satisfies the N-tier structure and is composed of the minimum number (N) of virtual machines 112. For example, if the virtual machine stack to be eventually created consists of one NginX web server, three Tomcat web application servers, and two MySQL databases, then the minimum - virtual machine stack is one NginX web server, one Tomcat web application server 1 , And a single MySQL database. That is, the minimum-virtual machine stack is configured to include N virtual machines 112 in which different service modules are installed. The specific process by which the virtual machine generation unit 102 generates the minimum-virtual machine stack will be described later with reference to FIG.

가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트 및 최소-가상머신 스택을 기반으로 가상머신 스택을 완성한다. 가상머신 생성부(102)는 생성된 M개(단, M≥N)의 가상머신(112) 각각에 서비스 모듈을 순차적으로 설치 및 환경 설정(configuration)하는 것이 아니라, 먼저 N개의 가상머신(112)에 서비스 모듈을 설치 및 환경 설정하여 최소-가상머신 스택을 구성한 후, 이를 이용하여 가상머신 스택의 나머지 구조를 완성할 수 있다. 가상머신 생성부(102)가 가상머신 스택을 완성하는 구체적인 과정은 도 3을 참조하여 후술하기로 한다.The virtual machine generation unit 102 completes the virtual machine stack based on the script received from the script identification unit 104 and the minimum-virtual machine stack. The virtual machine generation unit 102 does not sequentially install and configure the service modules in each of the M virtual machines 112 (M? N) ), The service module is installed and configured to configure the minimum-virtual machine stack, and then the remaining structure of the virtual machine stack can be completed by using this. A concrete procedure of the virtual machine generation unit 102 to complete the virtual machine stack will be described later with reference to FIG.

스크립트 식별부(104)는 가상머신 생성부(102)로부터 가상머신 스택정보를 수신하고, 스크립트 저장부(106)로부터 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 수신하여 가상머신 생성부(102)로 송신한다. 여기서, 스크립트는 가상머신 스택정보에 포함된 서비스 모듈을 설치하기 위한 설치 스크립트, 해당 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 해당 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 해당 서비스 모듈을 레플리케이션(replication)하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다. 서비스 모듈의 환경 설정이란 예를 들어, 서비스 모듈의 동작 설정, 호스트 네임 설정, 서비스 모듈 간의 연결 관계 설정, 통신 상태 설정, SSH(Secure Shell)에의 접속 허용 여부 설정 등을 포함하는 넓은 의미로 사용된다. 각 스크립트들은 가상머신(112)에서 실행될 수 있는 형태로 이루어져 스크립트 저장부(106)에 저장되어 있을 수 있다. 각 스크립트들은 해당 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일 또는 레플리케이션 파일을 내부 저장부(108) 또는 외부 저장부(110)에 요청하는 명령어들의 집합으로 이루어질 수 있다. 스크립트가 가상머신(112)에서 실행되면, 가상머신(112)은 내부 저장부(108) 또는 외부 저장부(110)에 해당 서비스 모듈에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청하여 이를 수신한 후, 해당 서비스 모듈에 대한 설치, 업데이트, 클러스터링, 레플리케이션 작업 등을 수행할 수 있다.The script identification unit 104 receives the virtual machine stack information from the virtual machine generation unit 102, receives one or more scripts corresponding to the virtual machine stack information from the script storage unit 106, . Here, the script includes an installation script for installing the service module included in the virtual machine stack information, an update script for setting the environment of the service module, a clustering script for clustering the service module, Lt; RTI ID = 0.0 > and / or < / RTI > The environment setting of the service module is used in a broad sense including, for example, setting the operation of the service module, setting the host name, setting the connection relation between the service modules, setting the communication state, and setting whether to allow connection to the SSH . Each script may be stored in the script storage unit 106 in a form executable in the virtual machine 112. Each script may be a set of instructions for requesting the internal storage unit 108 or the external storage unit 110 for an installation file, an update file, a clustering file, or a replication file of the corresponding service module. When the script is executed in the virtual machine 112, the virtual machine 112 stores an installation file, an update file, a clustering file, a replication file, and the like for the service module in the internal storage unit 108 or the external storage unit 110 After receiving the request, it can perform installation, update, clustering, and replication operations for the service module.

스크립트 저장부(106)는 기설정된 서비스 모듈에 대한 스크립트들이 저장되어 있는 장소로서, 서비스 모듈에 대한 스크립트들은 모듈화되어 저장되어 있을 수 있다. 예를 들어, Tomcat 웹 어플리케이션 서버에 관한 스크립트는, Tomcat 웹 어플리케이션 서버의 설치 스크립트, Tomcat 웹 어플리케이션 서버의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트 등으로 각각 나뉘어 스크립트 저장부(106)에 저장되어 있을 수 있다. 스크립트 저장부(106)는 스크립트 식별부(104)의 스크립트 요청에 따라 해당 스크립트를 스크립트 식별부(104)로 송신할 수 있다. The script storage unit 106 is a place where scripts for a predetermined service module are stored, and the scripts for the service module may be modularized and stored. For example, the script related to the Tomcat web application server is divided into an installation script of the Tomcat web application server, an update script of the Tomcat web application server, a clustering script of the Tomcat web application server, etc. and stored in the script storage unit 106 . The script storage unit 106 may transmit the script to the script identification unit 104 in response to a script request of the script identification unit 104. [

내부 저장부(108)는 기설정된 스크립트에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 저장하고 있는 장소이다. 상술한 바와 같이, 특정 서비스 모듈에 대한 스크립트가 가상머신(112)에서 실행되면, 가상머신(112)은 내부 저장부(108)로 해당 서비스 모듈에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청할 수 있다. 이에 따라, 내부 저장부(108)는 해당 파일을 가상머신(112)에 송신할 수 있다. 예를 들어, 가상머신(112)에서 Tomcat 웹 어플리케이션 서버의 설치 스크립트가 실행되면, 가상머신(112)은 내부 저장소(108)에 Tomcat 웹 어플리케이션 서버의 설치 파일을 요청하여 이를 수신하고, 이에 따라 Tomcat 웹 어플리케이션 서버를 설치할 수 있다. 내부 저장부(108)는 클라우드 서비스 시스템(미도시) 내부에 존재할 수 있다. The internal storage unit 108 stores a setup file, an update file, a clustering file, a replication file, and the like for a predetermined script. As described above, when a script for a specific service module is executed in the virtual machine 112, the virtual machine 112 stores the installation file, the update file, the clustering file, the replication File, and so on. Accordingly, the internal storage unit 108 can transmit the file to the virtual machine 112. [ For example, when the installation script of the Tomcat web application server is executed in the virtual machine 112, the virtual machine 112 requests the installation file of the Tomcat web application server to the internal storage 108, You can install a web application server. The internal storage 108 may reside within a cloud service system (not shown).

외부 저장부(110)는 기설정된 스크립트에 대한 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 저장하고 있는 장소로서, 내부 저장부(108)와 동일한 기능을 수행한다. 다만, 외부 저장부(110)는 클라우드 서비스 시스템 외부에 존재할 수 있다. 상술한 바와 같이, 각 스크립트들은 해당 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일 또는 레플리케이션 파일을 내부 저장부(108) 또는 외부 저장부(110)에 요청하는 명령어들의 집합으로 이루어질 수 있으며, 가상머신(112)은 해당 스크립트에 따라 내부 저장부(108) 또는 외부 저장부(110)에 해당 서비스 모듈에 대한 파일을 요청할 수 있다. The external storage unit 110 stores the installation file, the update file, the clustering file, the application file, and the like of the predetermined script. The external storage unit 110 performs the same function as the internal storage unit 108. However, the external storage unit 110 may exist outside the cloud service system. As described above, each script may be composed of a set of instructions for requesting the internal storage unit 108 or the external storage unit 110 for an installation file, an update file, a clustering file, or an application file of the corresponding service module, The machine 112 may request a file for the service module in the internal storage 108 or the external storage 110 according to the script.

가상머신(112)은 사용자 단말(150)에 제공되는 소프트웨어 모듈로서, 가상머신 생성부(102)에 의해 생성될 수 있다. 상술한 특정 서비스 모듈에 대한 스크립트들은 가상머신(112) 내에서 실행될 수 있다. 가상머신(112)은 스크립트의 실행에 따라 내부 저장부(108) 또는 외부 저장부(110)에 서비스 모듈의 설치 파일, 업데이트 파일, 클러스터링 파일, 레플리케이션 파일 등을 요청하고 이를 수신하여 해당 서비스 모듈의 설치, 업데이트, 클러스터링, 레플리케이션 작업 등을 수행할 수 있다.
The virtual machine 112 is a software module that is provided to the user terminal 150 and can be generated by the virtual machine creation unit 102. The scripts for the particular service module described above may be executed within the virtual machine 112. [ The virtual machine 112 requests an installation file, an update file, a clustering file, a replication file, and the like of the service module to the internal storage unit 108 or the external storage unit 110 according to the execution of the script, Update, clustering, replication, and so on.

도 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 of generating a virtual-machine stack 200 by a virtual-machine creation unit 102 according to an embodiment of the present invention. 2 (a) shows a process of installing and updating a specific service module in the first virtual machine 112-1, the second virtual machine 112-2, and the fifth virtual machine 112-5 And FIG. 2 (b) is a diagram showing a state in which the minimum-virtual machine stack 200 is created. 2 and 3 below, a three-tier virtual machine stack environment consisting of one NginX Web server, three Tomcat web application servers (WAS), and two MySQL databases (DB) is added to the virtual machine stack information , Information about the stack environment in which three Tomcat web application servers are clustered, and information about the stack environment in which two MySQL databases are replicated to each other.

도 2의 (a)를 참조하면, 가상머신 생성부(102)는 먼저 사용자 단말(102)로부터 가상머신 스택정보를 수신하고, 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 일괄적으로 생성할 수 있다.2, a virtual machine generation unit 102 first receives virtual machine stack information from a user terminal 102, and generates virtual machine information for six virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6 can be collectively generated.

다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신할 수 있다. 스크립트 식별부(104)는 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 스크립트 저장부(106)에 요청한 후, 스크립트 저장부(106)로부터 해당 스크립트를 수신할 수 있다. 구체적으로, 스크립트 식별부(104)는 NginX 웹 서버의 설치 스크립트, Tomcat 웹 어플리케이션 서버의 설치 스크립트, MySQL 데이터베이스의 설치 스크립트, NginX 웹 서버의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 업데이트 스크립트, MySQL 데이터베이스의 업데이트 스크립트, Tomcat 웹 어플리케이션 서버의 클러스터링 스크립트, MySQL 데이터베이스의 레플리케이션 스크립트를 스크립트 저장부(106)에 요청한 후, 이들 스크립트를 스크립트 저장부(106)로부터 수신할 수 있다.Next, the virtual machine generation unit 102 can transmit the virtual machine stack information to the script identification unit 104. [ The script identifying unit 104 may request one or more scripts corresponding to the virtual machine stack information to the script storage unit 106 and then receive the script from the script storage unit 106. [ Specifically, the script identification unit 104 includes an NginX web server installation script, a Tomcat web application server installation script, a MySQL database installation script, an NginX web server update script, a Tomcat web application server update script, A script, a clustering script of the Tomcat web application server, and a replication script of the MySQL database to the script storage unit 106, and then receive these scripts from the script storage unit 106.

다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로부터 해당 스크립트를 수신할 수 있다.Next, the virtual machine generation unit 102 can receive the script from the script identification unit 104. [

다음으로, 가상머신 생성부(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 machine generation unit 102 can generate the minimum-virtual machine stack 200 including the three virtual machines 112-1, 112-2, and 112-5 using the received script . To this end, the virtual machine creation unit 102 first executes the installation script and the update script for the different service modules in each of the three virtual machines 112-1, 112-2, and 112-5. Specifically, the virtual machine generation unit 102 executes the installation script of the NginX Web server and the update script of the NginX Web server in the first virtual machine 112-1, The installation script of the application server and the update script of the Tomcat web application server can be executed, and the installation script of the MySQL database and the update script of the MySQL database can be executed in the fifth virtual machine 112-5. As the script is executed, the first virtual machine 112-1 requests the installation file of the NginX Web server and the update file of the NginX Web server to the internal storage unit 108 or the external storage unit 110, The second virtual machine 112-2 requests the installation file of the Tomcat web application server and the update file of the Tomcat web application server to the internal storage unit 108 or the external storage unit 110 and receives the update file, The DB server 112-5 can request the installation file of the MySQL database and the update file of the MySQL database to the internal storage unit 108 or the external storage unit 110 and receive the update file. The first virtual machine 112-1, the second virtual machine 112-2 and the fifth virtual machine 112-5 store the service modules received from the internal storage 108 or the external storage 110 The service module can be installed and updated by using the file and the update file. As the update script of the service module is executed, the connection relationship between each service module can be defined. For example, the NginX web server and the Tomcat web application server can be connected, and the Tomcat web application server and the MySQL database can be interconnected.

도 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), through the above process, three virtual machines 112-1, 112-2, A minimum-virtual machine stack including the virtual machine 112-5 is created. Meanwhile, the virtual machine generation unit 102 collectively generates six virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6, and then performs the above- Virtual machine stack 200 can be created through three virtual machines of the six virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6 Virtual machine stack 200 is generated as soon as the virtual machines 112-1, 112-2, and 112-5 are generated, and the generated three virtual machines 112-1, 112-2, and 112-5 are Virtual machine stack 200, which includes the < RTI ID = 0.0 >

도 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 diagram illustrating a process of the virtual machine generation unit 102 completing the virtual machine stack 300 based on the minimum-virtual machine stack 200 according to an embodiment of the present invention. FIG. 3A is a diagram illustrating a process of installing and updating a specific service module in the third virtual machine 112-3, the fourth virtual machine 112-4, and the sixth virtual machine 112-6 3B shows a service module installed in the third virtual machine 112-3, the fourth virtual machine 112-4 and the sixth virtual machine 112-6 in the minimum-virtual machine stack 200, FIG. 2 is a diagram illustrating a process of clustering or replication with a service module installed in a network. 3 (c) is a diagram showing a state in which the virtual machine stack 300 is completed.

도 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)로부터 수신한 서비스 모듈의 설치 파일 및 업데이트 파일을 이용하여 해당 서비스 모듈을 설치 및 업데이트할 수 있다. 3 (a), the virtual machine creation unit 102 creates a virtual machine 100 in which the virtual machines 112-1, 112-2, and 112-5 included in the minimum- (112-3, 112-4, and 112-6) executes the installation script and the update script for the specific service module. Specifically, the virtual machine creation unit 102 executes the installation script of the Tomcat web application server and the update script of the Tomcat web application server in the third virtual machine 112-3 and the fourth virtual machine 112-4, respectively , The installation script of the MySQL database and the update script of the MySQL database can be executed in the sixth virtual machine 112-6. Accordingly, the third virtual machine 112-3 and the fourth virtual machine 112-4 can access the internal storage 108 or the external storage 110 with the installation file of the Tomcat web application server and the installation file of the Tomcat web application server The sixth virtual machine 112-6 requests the update file of the MySQL database and the update file of the MySQL database to the internal storage unit 108 or the external storage unit 110 and receives the update file . The third virtual machine 112-3, the fourth virtual machine 112-4 and the sixth virtual machine 112-6 are installed in the internal storage 108 or the external storage 110, The service module can be installed and updated by using the file and the update file.

도 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 FIG. 3B, the virtual machine creation unit 102 creates a virtual machine 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6, Some can be clustering or replication. In general, clustering is a process of bundling data into one or more sets based on concepts such as similarity. In this case, it means that service modules providing the same service are bundled into one set. Replication generally refers to copying (or copying) data from a host computer to another computer. In this case, it means sharing specific information (or copying specific information) between service modules having the same function. The virtual machine creation unit 102 creates a Tomcat web application server installed in the third virtual machine 106-3 and the fourth virtual machine 106-4 and a Tomcat web application server installed in the second virtual machine 106-2 And DB replication between the MySQL database installed in the sixth virtual machine 106-6 and the MySQL database installed in the fifth virtual machine 106-5 can be performed. To this end, the virtual machine creation unit 102 executes the clustering script of the Tomcat web application server in the second virtual machine 112-2, the third virtual machine 112-3, and the fourth virtual machine 112-4 And execute the replication script of the MySQL database in the fifth virtual machine 106-5 and the sixth virtual machine 106-6. The second virtual machine 112-2, the third virtual machine 112-3 and the fourth virtual machine 112-4 are connected to the internal storage unit 108 or the external storage unit 110 by clustering the Tomcat web application server You can request a file and receive it. The fifth virtual machine 106-5 and the sixth virtual machine 112-6 can request and receive a replication file of the MySQL database in the internal storage 108 or the external storage 110 . The second virtual machine 112-2, the third virtual machine 112-3 and the fourth virtual machine 112-4 store the service modules received from the internal storage unit 108 or the external storage unit 110, And the fifth virtual machine 106-5 and the sixth virtual machine 106-6 can use the file received from the internal storage 108 or the external storage 110 The corresponding service module can be replicated using the module's replication file.

도 3의 (c)를 참조하면, 위와 같은 과정을 통해 6개의 가상머신(112-1, 112-2, 112-3, 112-4, 112-5, 112-6)을 포함하는 가상머신 스택(300)이 완성된다. 본 발명의 실시예들에 따르면, 최소-가상머신 스택(200)에서 사용된 스크립트를 재사용함으로써 사용자의 요구에 맞는 다양한 가상머신 스택의 환경을 생성할 수 있다. 특히, 해당 서비스 모듈의 스크립트들은 설치, 업데이트, 클러스터링, 레플리케이션 등의 작업 및 단계별로 모듈화되어 있기 때문에 이들을 조합하거나 재사용함으로써 가상머신 스택을 용이하게 관리할 수 있다. 이에 따라, 클라우드 서비스 제공자는 더 적은 노력으로 사용자의 요구를 효율적으로 만족시킬 수 있다.
Referring to FIG. 3 (c), the virtual machine stack including six virtual machines 112-1, 112-2, 112-3, 112-4, 112-5, and 112-6 through the above- (300) is completed. According to embodiments of the present invention, it is possible to create environments of various virtual machine stacks that meet the needs of users by reusing the scripts used in the minimum-virtual machine stack 200. [ In particular, the script of the service module is modularized by tasks such as installation, update, clustering, and replication, and can be easily managed by combining or reusing them. As a result, the cloud service provider can efficiently satisfy the user's demand with less effort.

도 4는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)을 적용하였을 때 서비스 모듈의 환경 설정에 관한 스크립트를 효율적으로 관리할 수 있는 효과를 설명하기 위한 도면이다.4 is a diagram for explaining an effect of efficiently managing scripts related to environment setting of a service module when the virtual machine stack creation system 100 according to an embodiment of the present invention is applied, .

도 4의 (a)는 종래 기술에 따라 서비스 모듈의 환경 설정에 관한 스크립트를 관리하는 방법을 나타낸 도면이며, 도 4의 (b)는 본 발명의 일 실시예에 따라 서비스 모듈의 환경 설정에 관한 스크립트를 관리하는 방법을 나타낸 도면이다.FIG. 4A is a diagram illustrating a method of managing scripts related to environment setting of a service module according to the related art, and FIG. 4B is a diagram illustrating a configuration of a service module according to an embodiment of the present invention. And shows a method of managing a script.

도 4의 (a)를 참조하면, 종래에는 가상머신을 생성한 후, 미리 저장되어 있는 자동 환경 구성 스크립트(#1 ~ #N) 중 일부를 이용하여 필요한 서비스 모듈을 설치하고 여러 가지 환경 설정 작업을 수행하였다. 그러나, 종래 기술에 따르면, 다양한 사용자의 요구를 만족시키기 위해 다양한 자동 환경 구성 스크립트를 구성하여야 하였으며, 이들 자동 환경 구성 스크립트를 일일이 검증 및 관리하여야 하는 번거로움이 있었다. 4A, conventionally, after a virtual machine is created, necessary service modules are installed using some of the pre-stored automatic environment configuration scripts (# 1 to #N) Respectively. However, according to the related art, various automatic environment configuration scripts have to be configured to satisfy various users' needs, and it has been troublesome to individually verify and manage these automatic environment configuration scripts.

그러나, 도 4의 (b)에서 볼 수 있는 바와 같이, 본 발명의 실시예들에 따르면, 최소-가상머신 스택 생성을 위한 최소의 스크립트 세트(패키지(또는 서비스 모듈) #1 설치 스크립트, 패키지 #1 업데이트 스크립트, 패키지 #2 설치 스크립트, 패키지 #2 업데이트 스크립트, 패키지 #3 설치 스크립트, 패키지 #3 업데이트 스크립트 등)를 구성한 후, 이들을 조합하거나 재사용함으로써 다양한 가상머신 스택을 생성할 수 있다. 만약, 새로운 서비스 모듈이 추가될 경우, 해당 서비스 모듈을 위한 설치 스크립트와 업데이트 스크립트만을 추가하여 위와 동일한 방식으로 새로운 가상머신 스택 환경을 용이하게 구성할 수 있다. 또한, 본 발명의 실시예들에 따르면, 사용(검증)된 스크립트를 조합하거나 재사용함으로써, 스크립트 검증에 따른 시간적, 비용적 낭비를 줄일 수 있으며 가상머신 스택 관리에 따른 부담을 줄일 수 있다.
However, as can be seen in Figure 4 (b), according to embodiments of the present invention, a minimum set of scripts (package (or service module) # 1 install script, package # A plurality of virtual machine stacks can be created by combining and reusing them after configuring one or more update scripts, package # 2 install scripts, package # 2 update scripts, package # 3 install scripts, package # 3 update scripts, and the like. If a new service module is added, a new virtual machine stack environment can be easily configured in the same manner by adding only an install script and an update script for the service module. In addition, according to embodiments of the present invention, it is possible to reduce the time and cost wasted by the script verification and to reduce the burden on the virtual machine stack management by combining or reusing the used (verified) scripts.

도 5는 종래 기술과 비교하여 본 발명의 일 실시예에 따른 가상머신 스택 생성 시스템(100)을 적용하였을 때 가상머신 스택을 효율적으로 생성할 수 있는 효과를 설명하기 위한 도면이다. 도 5의 (a)는 종래 기술에 따라 가상머신 스택을 생성하는 방법을 나타낸 도면이며, 도 5의 (b)는 본 발명의 일 실시예에 따라 가상머신 스택을 생성하는 방법을 나타낸 도면이다.FIG. 5 is a diagram for explaining an effect of efficiently creating a virtual machine stack when a virtual machine stack creation system 100 according to an embodiment of the present invention is applied, compared with the prior art. FIG. 5A is a diagram illustrating a method for creating a virtual machine stack according to the related art, and FIG. 5B is a diagram illustrating a method for creating a virtual machine stack according to an embodiment of the present invention.

일반적으로, 가상머신 스택 환경을 제공하는데 걸리는 시간은 모든 가상머신들의 구성이 완료되는 데까지 걸리는 시간이다. 여기서, 가상머신의 생성과 서비스 모듈의 설치 과정에 대부분의 시간이 소요되며, 환경 설정에 걸리는 시간은 상대적으로 매우 적다. In general, the time it takes to provide the virtual machine stack environment is the time it takes to complete the configuration of all virtual machines. Here, it takes a lot of time to create the virtual machine and install the service module, and the time required for setting the environment is relatively small.

도 5의 (a)를 참조하면, 종래에는 가상머신을 생성하고 해당 가상머신에 클라우드 자원을 할당한 후, 서비스 모듈을 설치하고 환경을 설정하였다. 또한, 새로운 서비스 모듈을 추가하고자 할 경우 새롭게 가상머신을 생성하고 해당 가상머신에 클라우드 자원을 할당한 후, 해당 서비스 모듈을 설치하고 환경을 설정하였다. 즉, 종래에는 가상머신 스택의 구조, 서비스 모듈의 종류 및 개수 등에 관계없이 가상머신 스택 생성을 위한 일련의 과정들을 순차적으로 진행하였다. 종래 기술에 따르면, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움이 있었다.Referring to FIG. 5A, conventionally, a virtual machine is created and a cloud resource is allocated to the virtual machine, and then a service module is installed and an environment is set. In addition, when a new service module is to be added, a new virtual machine is created, cloud resources are allocated to the virtual machine, the service module is installed, and the environment is set. That is, conventionally, a series of processes for creating a virtual machine stack are sequentially performed regardless of the structure of the virtual machine stack, the type and number of service modules, and the like. According to the related art, it is troublesome to individually verify and manage a series of processes leading to creation of a virtual machine stack.

그러나, 도 5의 (b)에서 볼 수 있는 바와 같이, 본 발명의 실시예들에 따르면, 가상머신 스택 생성에 이르는 일련의 과정들 중 최소-가상머신 스택 생성을 위한 과정을 가장 먼저 진행한 후, 최소-가상머신 스택 생성 과정에서 사용된 스크립트(즉, 검증된 스크립트)를 재사용하거나 조합함으로써 추가적인 서비스 모듈을 설치하고 환경을 설정할 수 있다. 이에 따라, 가상머신 스택 생성에 이르는 일련의 과정들을 일일이 검증 및 관리하여야 하는 번거로움을 방지할 수 있다. 또한, 이 과정에서, 가장 많은 시간을 소요하는 가상머신의 생성 및 서비스 모듈의 설치 작업을 최대한 빨리 완료하고, 이후 빠르게 끝나는 작업들의 순서를 조정하여 가상머신 스택의 환경을 보다 빠르게 제공할 수 있다. 나아가, 모든 스크립트들은 작업 및 단계별로 모듈화되어 있기 때문에 새로운 서비스 모듈의 추가가 매우 용이하다. 즉, 가상머신에 추가하고자 하는 스크립트를 실행시킴으로써 새로운 서비스 모듈을 용이하게 추가할 수 있다.
However, as shown in FIG. 5B, according to the embodiments of the present invention, the process for creating the minimum-virtual machine stack among the series of processes leading to the creation of the virtual machine stack is performed first , You can install additional services modules and set up your environment by reusing or combining scripts (ie, verified scripts) used in the min-virtual machine stack creation process. Accordingly, it is possible to prevent the cumbersome process of verifying and managing a series of processes leading to the creation of the virtual machine stack. Also, in this process, it is possible to complete the creation of the virtual machine that takes the most time and the installation of the service module as soon as possible, and then to adjust the order of the operations that finish quickly, thereby providing the environment of the virtual machine stack more quickly. Furthermore, since all scripts are modular in their operations and stages, 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 generating a virtual machine stack according to an embodiment of the present invention.

먼저, 가상머신 생성부(102)는 사용자 단말(150)로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신한다(S602). 상술한 바와 같이, 가상머신 스택정보는, 사용자 단말(150)에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 서비스 모듈의 개수, 해당 서비스 모듈 간의 클러스터링 방법 및 해당 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함할 수 있다.First, the virtual machine generation unit 102 receives virtual machine stack information having an N-tier structure from the user terminal 150 (S602). As described above, the virtual machine stack information includes a type of service module to be installed in order to provide a specific service to the user terminal 150, a number of service modules, a clustering method between corresponding service modules, ≪ / RTI >

다음으로, 가상머신 생성부(102)는 가상머신 스택정보에 따라 복수 개의 가상머신을 생성한다(S604). 가상머신 생성부(102)는 가상머신 이미지를 이용하여 M(단, M≥N)개의 가상머신을 생성할 수 있다. Next, the virtual machine creation unit 102 creates a plurality of virtual machines according to the virtual machine stack information (S604). The virtual machine creation unit 102 can create M (M? N) virtual machines using the virtual machine image.

다음으로, 가상머신 생성부(102)는 최소-가상머신 스택을 생성한다(S606). 구체적으로, 가상머신 생성부(102)는 스크립트 식별부(104)로 가상머신 스택정보를 송신하며, 스크립트 식별부(104)는 스크립트 저장부(106)로부터 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 수신하여 이를 가상머신 생성부(102)로 송신한다. 여기서, 스크립트는, 가상머신 스택정보에 포함된 서비스 모듈을 설치하기 위한 설치 스크립트, 해당 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 해당 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 해당 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함할 수 있다. 가상머신 생성부(102)는 N개의 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 상기 업데이트 스크립트를 실행시켜 최소-가상머신 스택을 생성할 수 있다.Next, the virtual machine creation unit 102 creates a minimum-virtual machine stack (S606). More specifically, the virtual machine generation unit 102 transmits the virtual machine stack information to the script identification unit 104, and the script identification unit 104 receives one or more scripts corresponding to the virtual machine stack information from the script storage unit 106 And transmits it to the virtual machine generation unit 102. Here, the script includes an installation script for installing the service module included in the virtual machine stack information, an update script for environment setting of the service module, a clustering script for clustering the service module, And may include one or more of the replication scripts. The virtual machine creation unit 102 can execute the installation script and the update script for different service modules in each of the N virtual machines to create a minimum-virtual machine stack.

다음으로, 가상머신 생성부(102)는 스크립트 식별부(104)로부터 수신한 스크립트 및 최소-가상머신 스택을 기반으로, N개의 가상머신을 제외한 나머지 가상머신에서, N개의 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시킨다(S608). 또한, 가상머신 스택정보에 특정 서비스 모듈에 대한 클러스터링 또는 레플리케이션에 관한 정보가 포함되어 있는 경우, 가상머신 생성부(102)는 해당 서비스 모듈에 대한 클러스터링 스크립트 또는 레플리케이션 스크립트를 실행시킬 수 있다.Next, the virtual machine creating unit 102 creates a virtual machine in the virtual machine, excluding the N virtual machines, based on the script received from the script identifying unit 104 and the minimum-virtual machine stack, The install script and the update script for some of them (S608). In addition, when the virtual machine stack information includes information on clustering or replication for a specific service module, the virtual machine generating unit 102 may execute a clustering script or a replication script for the service module.

다음으로, 가상머신 생성부(102)는 남은 가상머신이 존재하는지 여부를 판별한 후(S610), 남은 가상머신이 존재하지 않는 경우 전체 가상머신 스택의 환경 설정 및 인터페이스 설정 작업을 완료한다(S612). 만약, S610 단계에서, 남은 가상머신이 존재하는 경우 S608 단계로 되돌아가 남은 가상 머신에 대한 설치 스크립트 및 업데이트 스크립트를 실행한다.
Next, the virtual machine creation unit 102 determines whether or not the remaining virtual machine exists (S610). If the remaining virtual machine does not exist, the virtual machine creation unit 102 completes configuration of the entire virtual machine stack and interface setting work (S612 ). If there is a remaining virtual machine in step S610, the process returns to step S608 to execute the installation script and the update script for the remaining virtual machine.

도 6에 도시된 방법은 가상머신 스택 생성 시스템(100)에 의해 수행될 수 있다. 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 상기 방법에 도시되지 않은 하나 이상의 단계들이 상기 방법과 함께 수행될 수도 있다.
The method shown in FIG. 6 may be performed by the virtual machine stack creation system 100. In the illustrated flowchart, the method is described as being divided into a plurality of steps, but at least some of the steps may be performed in sequence, combined with other steps, performed together, omitted, divided into sub-steps, One or more steps may be added and performed. Also, one or more steps not shown in the method according to the embodiment may be performed with the method.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended 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 creation unit
104:
106: Script storage unit
108: internal storage unit
110: External storage unit
150: User terminal
112-1, 112-2, 112-3, 112-4, 112-5, and 112-6: a virtual machine (VM)

Claims (12)

사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 시스템으로서,
상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 가상머신 생성부; 및
상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하고, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 스크립트 식별부를 포함하며,
상기 가상머신 생성부는, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하고, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
There is provided a system for creating a virtual machine stack in which a plurality of virtual machines are associated with 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
And a script identifying unit for receiving the virtual machine stack information from the virtual machine creating unit and transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine creating unit,
Wherein the virtual machine creation unit creates 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.
청구항 1에 있어서,
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션(replication) 방법 중 하나 이상을 포함하는, 가상머신 스택 생성 시스템.
The method according to claim 1,
The virtual machine stack information includes at least one of a type of a service module to be installed in the user terminal, a number of the service modules, a clustering method between the service modules, and a replication method between the service modules Gt; a < / RTI > virtual machine stack creation system.
청구항 2에 있어서,
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함하는, 가상머신 스택 생성 시스템.
The method of claim 2,
Wherein 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 Virtual machine stack creation system.
청구항 3에 있어서,
상기 가상머신 생성부는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시켜 상기 최소-가상머신 스택을 생성하는, 가상머신 스택 생성 시스템.
The method of claim 3,
Wherein the virtual machine generation unit executes the installation script and the update script for the different service modules in each of the N virtual machines to generate the minimum-virtual machine stack.
청구항 4에 있어서,
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시켜 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
The method of claim 4,
Wherein the virtual machine creation unit executes an installation script and an update script for a part of service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines and updates the N virtual machines and the remaining virtual machines And executing a clustering script for some of the included service modules to complete the virtual machine stack.
청구항 4에 있어서,
상기 가상머신 생성부는, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행하고, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시켜 상기 가상머신 스택을 완성하는, 가상머신 스택 생성 시스템.
The method of claim 4,
Wherein the virtual machine creation unit executes an installation script and an update script for a part of service modules installed in the N virtual machines in the remaining virtual machines other than the N virtual machines, And executes a replication script for some of the included service modules to complete the virtual machine stack.
사용자 단말에 특정 서비스를 제공하기 위해 복수 개의 가상머신이 서로 연계되어 하나의 집합을 이루는 가상머신 스택을 생성하기 위한 방법으로서,
가상머신 생성부가, 상기 사용자 단말로부터 N-티어(tier) 구조를 갖는 가상머신 스택정보를 수신하는 단계;
상기 가상머신 생성부가, 상기 가상머신 스택정보에 따라 복수 개의 가상머신을 생성하는 단계;
스크립트 식별부가, 상기 가상머신 생성부로부터 상기 가상머신 스택정보를 수신하는 단계;
상기 스크립트 식별부가, 상기 가상머신 스택정보에 대응되는 하나 이상의 스크립트를 상기 가상머신 생성부로 송신하는 단계;
상기 가상머신 생성부가, 상기 스크립트를 이용하여 N개의 상기 가상머신을 포함하는 최소-가상머신 스택을 생성하는 단계; 및
상기 가상머신 생성부가, 상기 스크립트 및 상기 최소-가상머신 스택을 기반으로 상기 가상머신 스택을 완성하는 단계를 포함하는, 가상머신 스택 생성 방법.
CLAIMS 1. A method for creating a virtual machine stack, wherein a plurality of virtual machines are associated with each other to provide a specific service to a user terminal,
The virtual machine generation unit includes: receiving virtual machine stack information having an N-tier structure from the user terminal;
The virtual machine generation unit generating a plurality of virtual machines according to the virtual machine stack information;
A script identification unit receiving the virtual machine stack information from the virtual machine generation unit;
The script identification unit transmitting one or more scripts corresponding to the virtual machine stack information to the virtual machine creation unit;
The virtual machine generation unit generating a minimum-virtual machine stack including N virtual machines using the script; And
Wherein the virtual machine creation step comprises completing the virtual machine stack based on the script and the minimal-virtual machine stack.
청구항 7에 있어서,
상기 가상머신 스택정보는, 상기 사용자 단말에 특정 서비스를 제공하기 위해 설치되어야 하는 서비스 모듈의 종류, 상기 서비스 모듈의 개수, 상기 서비스 모듈 간의 클러스터링 방법 및 상기 서비스 모듈 간의 레플리케이션 방법 중 하나 이상을 포함하는, 가상머신 스택 생성 방법.
The method of claim 7,
The virtual machine stack information includes at least one of a type of a service module to be installed to provide a specific service to the user terminal, a number of the service modules, a clustering method between the service modules, and a replication method between the service modules To create a virtual machine stack.
청구항 8에 있어서,
상기 스크립트는, 상기 서비스 모듈을 설치하기 위한 설치 스크립트, 상기 서비스 모듈의 환경 설정을 위한 업데이트 스크립트, 상기 서비스 모듈을 클러스터링하기 위한 클러스터링 스크립트 및 상기 서비스 모듈을 레플리케이션하기 위한 레플리케이션 스크립트 중 하나 이상을 포함하는, 가상머신 스택 생성 방법.
The method of claim 8,
Wherein 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 To create a virtual machine stack.
청구항 9에 있어서,
상기 최소-가상머신 스택을 생성하는 단계는, N개의 상기 가상머신 각각에서 서로 다른 서비스 모듈에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는, 가상머신 스택 생성 방법.
The method of claim 9,
Wherein the step of creating the minimal-virtual machine stack executes installation scripts and update scripts for different service modules in each of the N virtual machines.
청구항 10에 있어서,
상기 가상머신 스택을 완성하는 단계는,
상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및
상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 클러스터링 스크립트를 실행시키는 단계를 포함하는, 가상머신 스택 생성 방법.
The method of claim 10,
Wherein completing the virtual machine stack comprises:
Executing the installation script and the update script for a part of the service modules installed in the N virtual machines in the virtual machines other than the N virtual machines; And
Wherein the virtual machine generator comprises executing a clustering script for a portion of the service modules included in the N virtual machines and the remaining virtual machines.
청구항 11에 있어서,
상기 가상머신 스택을 완성하는 단계는,
상기 가상머신 생성부가, N개의 상기 가상머신을 제외한 나머지 가상머신에서 N개의 상기 가상머신에 설치된 서비스 모듈 중 일부에 대한 설치 스크립트 및 업데이트 스크립트를 실행시키는 단계; 및
상기 가상머신 생성부가, N개의 상기 가상머신 및 상기 나머지 가상머신에 포함된 서비스 모듈 중 일부에 대한 레플리케이션 스크립트를 실행시키는 단계를 포함하는, 가상머신 스택 생성 방법.
The method of claim 11,
Wherein completing the virtual machine stack comprises:
Executing the installation script and the update script for a part of the service modules installed in the N virtual machines in the virtual machines other than the N virtual machines; And
Wherein the virtual machine generator comprises executing a replication script for a portion of the N virtual machines and the service modules contained in the remaining virtual machines.
KR1020140066228A 2014-05-30 2014-05-30 System and method for creating stack of virtual machine KR102156656B1 (en)

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 true KR20150137766A (en) 2015-12-09
KR102156656B1 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)

Cited By (2)

* Cited by examiner, † Cited by third party
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 (4)

* Cited by examiner, † Cited by third party
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
KR20130012603A (en) 2011-07-26 2013-02-05 김재식 Method of creating virtual machine compatible with multiple operating system, and program recording media for virtual machine
KR20130134569A (en) * 2012-05-31 2013-12-10 삼성에스디에스 주식회사 System and method for coinstructing virtual cluster using the exectution history of analysis job

Patent Citations (4)

* Cited by examiner, † Cited by third party
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
KR20130012603A (en) 2011-07-26 2013-02-05 김재식 Method of creating virtual machine compatible with multiple operating system, and program recording media for virtual machine
KR20130134569A (en) * 2012-05-31 2013-12-10 삼성에스디에스 주식회사 System and method for coinstructing virtual cluster using the exectution history of analysis job

Cited By (2)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
KR102156656B1 (en) 2020-09-16

Similar Documents

Publication Publication Date Title
US10700947B2 (en) Life cycle management method and device for network service
US11656852B2 (en) System and method for autowiring of a microservice architecture
CN106537338B (en) Self-expanding clouds
US9684502B2 (en) Apparatus, systems, and methods for distributed application orchestration and deployment
JP6329547B2 (en) System and method for providing a service management engine for use in a cloud computing environment
CN111324571B (en) Container cluster management method, device and system
JP6658882B2 (en) Control device, VNF placement destination selection method and program
US8862933B2 (en) Apparatus, systems and methods for deployment and management of distributed computing systems and applications
WO2019184164A1 (en) Method for automatically deploying kubernetes worker node, device, terminal apparatus, and readable storage medium
US10310900B2 (en) Operating programs on a computer cluster
US20120102480A1 (en) High availability of machines during patching
US10922123B2 (en) Container migration in computing systems
CN108089913B (en) Virtual machine deployment method of super-fusion system
WO2019184116A1 (en) Method and device for automatically building kubernetes main node, terminal device and computer-readable storage medium
CN106708597A (en) Method, device and system for creating cluster environment on the basis of Openstack
US9893959B1 (en) Resource modeling language to specify and control the placement of resources in a cloud environment
TW201229795A (en) Web service patterns for globally distributed service fabric
US10728169B1 (en) Instance upgrade migration
WO2020093976A1 (en) Resource change method and device, apparatus, and storage medium
CN113645262A (en) Cloud computing service system and method
CN108737499A (en) server configuration method and device
US9626213B2 (en) System and method for file injection in virtual machine configuration
JP2021131897A (en) Scheduling method, device, equipment, storage equipment, and program
KR102156656B1 (en) System and method for creating stack of virtual machine
CN109660575B (en) Method and device for realizing NFV service deployment

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