KR20220058132A - Method and device to manage cloud orchestration template with version management system - Google Patents

Method and device to manage cloud orchestration template with version management system Download PDF

Info

Publication number
KR20220058132A
KR20220058132A KR1020200143533A KR20200143533A KR20220058132A KR 20220058132 A KR20220058132 A KR 20220058132A KR 1020200143533 A KR1020200143533 A KR 1020200143533A KR 20200143533 A KR20200143533 A KR 20200143533A KR 20220058132 A KR20220058132 A KR 20220058132A
Authority
KR
South Korea
Prior art keywords
template
resource information
version
cloud orchestration
virtual machine
Prior art date
Application number
KR1020200143533A
Other languages
Korean (ko)
Other versions
KR102471532B1 (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 KR1020200143533A priority Critical patent/KR102471532B1/en
Publication of KR20220058132A publication Critical patent/KR20220058132A/en
Application granted granted Critical
Publication of KR102471532B1 publication Critical patent/KR102471532B1/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
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/72Code refactoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances

Abstract

A method and an apparatus for managing a cloud orchestration template are disclosed. The method for managing the cloud orchestration template includes: identifying a user request included in an initiation request, in response to the initiation request of a virtual machine (VM); searching for a template with a version, determined by the user request, in an object storage; and initiating the VM that implements the user request in an orchestrator by transmitting a first template, which is searched and found in the object storage, to the orchestrator.

Description

버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법 및 장치{METHOD AND DEVICE TO MANAGE CLOUD ORCHESTRATION TEMPLATE WITH VERSION MANAGEMENT SYSTEM}Method and device for managing cloud orchestration template applying version control system

본 발명은, 클라우드 오케스트레이션 템플릿을 관리하는 시스템 및 프로세스를 제안 함으로써, 사용자 요구사항 맞춤형 클라우드 환경을 구축하기 위한, 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법 및 장치를 제공한다.The present invention provides a cloud orchestration template management method and apparatus to which a version management system is applied to build a cloud environment customized to user requirements by proposing a system and process for managing a cloud orchestration template.

특히, 본 발명에서는, 사용자의 요구사항에 따른 버전의 가상머신을 생성 및 관리할 수 있는 템플릿을 사용함으로써, 탄력적인 클라우드 환경을 구축하는 기반 구조로 활용할 수 있게 하는, 클라우드 오케스트레이션 템플릿 관리 방법 및 장치를 제안한다.In particular, in the present invention, by using a template that can create and manage a version of a virtual machine according to a user's requirements, it can be used as an infrastructure to build an elastic cloud environment, a cloud orchestration template management method and apparatus suggest

종래에는, 오픈스택 기반의 클라우드 오케스트레이션 방법 및 장치, 클라우드 컴퓨팅 환경에서 다목적 가상머신 배치 방법 및 장치 만을 한정하여 기술하고 있다.Conventionally, only the open stack-based cloud orchestration method and device, and the multi-purpose virtual machine deployment method and device in the cloud computing environment are limited and described.

예컨대, 한국 등록번호 제2106223호(2020.04.23)에서는, 템플릿 스크립트의 생성 요청에 연동하여, 상기 생성 요청에 포함되는 사용자 요구사항을 분류하는 단계, 상기 사용자 요구사항을 기능적 요구사항으로 분류하는 경우, 상기 기능적 요구사항에 속한 선택 요구사항(Option PR)에 의해 결정된 선택 항목에 대해 쉘 스크립트를 작성하는 단계, 및 상기 쉘 스크립트를 실행하는 템플릿 스크립트를 생성 함으로써, 상기 템플릿 스크립트를 전달 받은 히트 오케스트레이터(Heat Orchestrator)에서 상기 기능적 요구사항을 구현하는 VM(Virtual Machine)이 구동하도록 하는 단계를 포함하는, 오픈스택 기반의 클라우드 오케스트레이션 방법을 개시하고 있다.For example, in Korea Registration No. 2106223 (2020.04.23), in conjunction with the generation request of the template script, classifying user requirements included in the creation request, classifying the user requirements into functional requirements , creating a shell script for a selection item determined by a selection requirement (Option PR) belonging to the functional requirement, and generating a template script that executes the shell script, thereby receiving the template script from the hit orchestrator Disclosed is an OpenStack-based cloud orchestration method, including the step of driving a VM (Virtual Machine) implementing the functional requirements in (Heat Orchestrator).

한국 등록번호 제2106223호는, 오픈소스 클라우드 플랫폼인 오픈스택에서 사용자 요구사항을 기능적, 비기능적 요구사항으로 분류하여 템플릿 스크립트를 생성하는 데에 구성을 한정하고 있다. 이 때, 템플릿 스크립트는 클라우드 오케스트레이션을 위해 매핑 테이블에 기반하여 생성되어 사용된다.Korea Registration No. 2106223 limits the configuration of creating template scripts by classifying user requirements into functional and non-functional requirements in OpenStack, an open source cloud platform. At this time, the template script is generated and used based on the mapping table for cloud orchestration.

또한, 한국 등록번호 제2129389호는, 가상머신 배치장치에 의해 수행되고, 가상머신(VM)을 배치하기 위한 서비스 요청에 따라 리스트를 생성하는 리스트 생성 과정; 상기 생성된 리스트와 연관된 상기 서비스 요청의 목적에 대해 가중치(weight)를 계산하는 가중치 계산 과정; 상기 가중치에 따라 다목적 함수와 연관된 상기 서비스 요청의 목적에 대한 평가를 수행하는 목적 함수 평가 과정; 및 해당 가상머신(VM)의 평가 점수가 초기 선정된 VM의 평가 점수보다 높으면 상기 해당 가상머신을 타겟 머신으로 선정하는 타겟 머신 선정 과정을 포함하여, 클라우드 환경을 통해 데이터 센터 자원을 가상머신 배치 방식을 통해 언제 어디서나 관리할 수 있게 하는, 클라우드 컴퓨팅 환경에서의 다목적 가상머신 배치 방법을 개시하고 있다.In addition, Korea Registration No. 2129389, a list creation process that is performed by a virtual machine placement device, and generates a list according to a service request for placing a virtual machine (VM); a weight calculation process of calculating a weight for the purpose of the service request associated with the generated list; an objective function evaluation process of evaluating the purpose of the service request associated with the multipurpose function according to the weight; and a target machine selection process of selecting the corresponding virtual machine as a target machine when the evaluation score of the corresponding virtual machine (VM) is higher than the evaluation score of the initially selected VM; Discloses a multi-purpose virtual machine deployment method in a cloud computing environment that can be managed anytime, anywhere through

한국 등록번호 제2129389호는, 서비스 요청에 따라 생성할 수 있는 가상머신의 리스트를 나타내고 목적 함수 평가 과정을 거친 뒤 타겟 머신을 선정하여 배치하는 데에 한정되어 있다. 한국 등록번호 제2129389호에서는 각각의 가상머신이 초기 선정된 가상머신과 평가 점수를 통해서 비교되며, 리소스 낭비와 전력 소비에 관한 제한조건을 만족시키는 것을 특징으로 하는 배치 방법을 개시하고 있다.Korea Registration No. 2129389 indicates a list of virtual machines that can be created according to a service request, and is limited to selecting and deploying a target machine after going through an objective function evaluation process. Korea Registration No. 2129389 discloses a deployment method characterized in that each virtual machine is compared with an initially selected virtual machine through an evaluation score, and constraint conditions regarding resource waste and power consumption are satisfied.

따라서, 종래 개시되어 있는 발명들과 차별되도록, 사용자 맞춤형 클라우드 환경을 구축하기 위해, 기본 템플릿을 관리 및 제공하여 가상머신의 변경이 필요할 시 활용하며, 이 후 가상머신의 자원이 변경되는 부분을 정확하게 식별하는 기술이 필수적으로 요구되고 있다.Therefore, in order to build a user-customized cloud environment to be differentiated from the previously disclosed inventions, a basic template is managed and provided to be used when a change of the virtual machine is required, and the part where the virtual machine's resources are changed after that is accurately identified Identification skills are essential.

본 발명의 실시예는, 사용자 맞춤형 클라우드 환경을 구축하기 위해, 기본 템플릿을 관리 및 제공하여 가상머신의 변경이 필요할 시 활용하며, 이 후 가상머신의 자원이 변경되는 부분을 정확하게 식별하는, 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법 및 장치를 제공하는 것을 해결과제로 한다.An embodiment of the present invention manages and provides a basic template to build a user-customized cloud environment and utilizes it when a virtual machine needs to be changed, and thereafter, version management that accurately identifies the part where the virtual machine's resources are changed A task to solve is to provide a method and device for managing a cloud orchestration template to which the system is applied.

또한, 본 발명의 실시예는, 식별된 자원의 변경사항을 바탕으로 갱신된 버전을 가지는 새로운 템플릿을 생성하거나, 또는 기존의 템플릿을 재사용하는 방법을 활용하여 가상머신을 자동으로 배치 및 효율적으로 관리하는 것을 목적으로 한다.In addition, according to an embodiment of the present invention, a new template having an updated version is created based on the identified resource changes, or a virtual machine is automatically arranged and efficiently managed by using a method of reusing an existing template. aim to do

본 발명의 일실시예에 따른, 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법은, 가상머신(VM, Virtual Machine)의 구동 요청에 연동하여, 상기 구동 요청에 포함되는 사용자 요구사항을 식별하는 단계; 상기 사용자 요구사항에 의해 정해지는 버전의 템플릿을, 오브젝트 스토리지(Object Storage)에서 검색하는 단계; 및 상기 오브젝트 스토리지로부터 검색된 제1 템플릿을 오케스트레이터(Orchestrator)로 전달 함으로써, 상기 오케스트레이터에서 상기 사용자 요구사항을 구현하는 가상머신을 구동하도록 하는 단계를 포함할 수 있다.According to an embodiment of the present invention, there is provided a method for managing a cloud orchestration template to which a version management system is applied, comprising: identifying a user requirement included in the driving request by interworking with a driving request of a virtual machine (VM); retrieving the version of the template determined by the user requirement from object storage; and transmitting the first template retrieved from the object storage to an orchestrator, so that the orchestrator drives a virtual machine implementing the user requirements.

또한, 본 발명의 실시예에 따른, 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치는, 가상머신(VM, Virtual Machine)의 구동 요청에 연동하여, 상기 구동 요청에 포함되는 사용자 요구사항을 식별하는 식별부; 상기 사용자 요구사항에 의해 정해지는 버전의 템플릿을, 오브젝트 스토리지(Object Storage)에서 검색하는 검색부; 및 상기 오브젝트 스토리지로부터 검색된 제1 템플릿을 오케스트레이터(Orchestrator)로 전달 함으로써, 상기 오케스트레이터에서 상기 사용자 요구사항을 구현하는 가상머신을 구동하도록 하는 처리부를 포함하여 구성할 수 있다.In addition, the cloud orchestration template management apparatus to which the version management system is applied according to an embodiment of the present invention identifies a user requirement included in the driving request by interworking with a driving request of a virtual machine (VM) wealth; a search unit that searches object storage for a version of the template determined by the user requirements; and a processing unit that transmits the first template retrieved from the object storage to an orchestrator to drive a virtual machine that implements the user requirements in the orchestrator.

본 발명의 일실시예에 따르면, 사용자 맞춤형 클라우드 환경을 구축하기 위해, 기본 템플릿을 관리 및 제공하여 가상머신의 변경이 필요할 시 활용하며, 이 후 가상머신의 자원이 변경되는 부분을 정확하게 식별하는, 클라우드 오케스트레이션 템플릿 관리 방법 및 장치를 제공 할 수 있다.According to an embodiment of the present invention, in order to build a user-customized cloud environment, a basic template is managed and provided to be used when a change of the virtual machine is required, and thereafter, the part where the resource of the virtual machine is changed is accurately identified. A cloud orchestration template management method and device may be provided.

또한, 본 발명의 일실시예에 따르면, 식별된 자원의 변경사항을 바탕으로 갱신된 버전을 가지는 새로운 템플릿을 생성하거나, 또는 기존의 템플릿을 재사용하는 방법을 활용하여 가상머신을 자동으로 배치 및 효율적으로 관리 할 수 있다.In addition, according to an embodiment of the present invention, a new template having an updated version is created based on the identified resource changes, or a virtual machine is automatically deployed and efficiently using a method of reusing an existing template. can be managed with

도 1은 본 발명의 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치의 구성을 도시한 블록도이다.
도 2는 본 발명에서 제시하는 클라우드 오케스트레이션 템플릿 관리 장치의 동작을 나타내는 구조도이다.
도 3은 본 발명에 따른, 버전 관리 시스템의 프로세스에 대한 흐름도이다.
도 4는 본 발명의 일실시예에 따른, 사용자의 요구상항에 따라, Ubuntu Linux 64-bit를 선택한 경우를 보여주는 도면이다.
도 5는 도 4와 관련하여, HOT 템플릿을 통해 VM을 생성하는 일례를 보여주는 도면이다.
도 6은 본 발명의 다른 실시예에 따른, 사용자의 요구상항에 따라, CentOS 7 x86-64를 선택한 경우를 보여주는 도면이다.
도 7은 도 6와 관련하여, HOT 템플릿을 통해 VM을 생성하는 일례를 보여주는 도면이다.
도 8은 Major 버전이 갱신된 index파일의 일례를 설명하기 위한 도면이다.
도 9는 본 발명의 다른 실시예에 따른, 사용자에 따른, 사용자의 요구상항에 따라, C언어를 선택한 경우를 보여주는 도면이다.
도 10은 도 9와 관련하여, HOT 템플릿을 통해 VM을 생성하는 일례를 보여주는 도면이다.
도 11은 본 발명의 다른 실시예에 따른, 사용자의 요구상항에 따라, C++언어를 선택한 경우를 보여주는 도면이다.
도 12는 도 11과 관련하여, HOT 템플릿을 통해 VM을 생성하는 일례를 보여주는 도면이다.
도 13은 Major 버전이 갱신된 index파일의 일례를 설명하기 위한 도면이다.
도 14는 사용자의 요구상항에 따라, 학생 10명을 선택한 경우를 보여주는 도면이다.
도 15는 사용자의 요구상항에 따라, 학생 100명을 선택한 경우를 보여주는 도면이다.
도 16은 도 14와 도 15와 관련하여, Minor 버전이 갱신된 index파일의 일례를 보여주는 도면이다.
도 17은 각 버전의 리소스 정보를 포함하고 있는 인덱스 파일의 일례를 보여주는 도면이다.
도 18은 템플릿 파일과 인덱스 파일이 저장된 오브젝트 스토리지의 일례를 보여주는 도면이다.
도 19는 본 발명의 일실시예에 따른, 클라우드 오케스트레이션 템플릿 관리 방법을 도시한 흐름도이다.
1 is a block diagram showing the configuration of a cloud orchestration template management apparatus to which the version management system of the present invention is applied.
2 is a structural diagram showing the operation of the cloud orchestration template management apparatus presented in the present invention.
3 is a flowchart of a process of a version control system according to the present invention;
4 is a diagram showing a case in which Ubuntu Linux 64-bit is selected according to a user's requirements, according to an embodiment of the present invention.
FIG. 5 is a diagram illustrating an example of creating a VM through a HOT template in relation to FIG. 4 .
6 is a view showing a case in which CentOS 7 x86-64 is selected according to a user's requirements, according to another embodiment of the present invention.
7 is a diagram illustrating an example of creating a VM through a HOT template in relation to FIG. 6 .
8 is a diagram for explaining an example of an index file whose major version is updated.
9 is a diagram illustrating a case in which C language is selected according to a user, according to a user's requirements, according to another embodiment of the present invention.
FIG. 10 is a diagram illustrating an example of creating a VM through a HOT template in relation to FIG. 9 .
11 is a diagram illustrating a case in which C++ language is selected according to a user's requirements, according to another embodiment of the present invention.
12 is a diagram illustrating an example of creating a VM through a HOT template in relation to FIG. 11 .
13 is a diagram for explaining an example of an index file whose major version is updated.
14 is a diagram illustrating a case in which 10 students are selected according to a user's requirements.
15 is a diagram illustrating a case in which 100 students are selected according to a user's requirements.
16 is a view showing an example of an index file in which the minor version is updated in relation to FIGS. 14 and 15 .
17 is a diagram showing an example of an index file including resource information of each version.
18 is a diagram illustrating an example of object storage in which a template file and an index file are stored.
19 is a flowchart illustrating a cloud orchestration template management method according to an embodiment of the present invention.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, since various changes may be made to the embodiments, the scope of the patent application is not limited or limited by these embodiments. It should be understood that all modifications, equivalents and substitutes for the embodiments are included in the scope of the rights.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for the purpose of description only, and should not be construed as limiting. The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that a feature, number, step, operation, component, part, or a combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which the embodiment belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In addition, in the description with reference to the accompanying drawings, the same components are given the same reference numerals regardless of the reference numerals, and the overlapping description thereof will be omitted. In describing the embodiment, if it is determined that a detailed description of a related known technology may unnecessarily obscure the gist of the embodiment, the detailed description thereof will be omitted.

도 1은 본 발명의 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of a cloud orchestration template management device to which the version management system of the present invention is applied.

도 1을 참조하면, 본 발명의 일실시예에 따른, 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치(이하, '클라우드 오케스트레이션 템플릿 관리 장치'라 약칭함, 100)는, 식별부(110), 검색부(120), 및 처리부(130)를 포함하여 구성할 수 있다. 또한, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 실시예에 따라, 리소스 관리부(140)를 추가적으로 포함할 수 있다.1, according to an embodiment of the present invention, a cloud orchestration template management apparatus to which a version management system is applied (hereinafter, abbreviated as 'cloud orchestration template management apparatus', 100) is an identification unit 110, a search It may be configured to include the unit 120 and the processing unit 130 . In addition, the cloud orchestration template management apparatus 100 may additionally include the resource management unit 140 according to an embodiment.

식별부(110)는 가상머신(VM, Virtual Machine)의 구동 요청에 연동하여, 상기 구동 요청에 포함되는 사용자 요구사항을 식별한다. 즉, 식별부(110)는 사용자가 원하는 사양(specifications)으로 구동되는 가상머신의 활성화를 위해, 상기 사용자로부터 입력된 구동 요청에서, 사용자 요구사항을 추출하는 역할을 할 수 있다.The identification unit 110 identifies a user requirement included in the driving request by interworking with a driving request of a virtual machine (VM). That is, the identification unit 110 may serve to extract user requirements from a driving request input from the user in order to activate a virtual machine driven by specifications desired by the user.

상기 사용자 요구사항은, 구동될 가상머신이 보유하고 있어야 하는 기능별 요구(기능적 요구사항)와, 상기 가상머신으로의 접속에 관한 외적 요구(비기능 요구사항)를 포함하는 개념일 수 있다.The user requirement may be a concept including a function-specific request (functional requirement) that the virtual machine to be driven must have, and an external request (non-functional requirement) related to a connection to the virtual machine.

검색부(120)는 상기 사용자 요구사항에 의해 정해지는 버전의 템플릿을, 오브젝트 스토리지(Object Storage)에서 검색한다. 즉, 검색부(120)는 사용자 요구사항을 모두 만족하는 기작성된 템플릿이, 오브젝트 스토리지에 저장되어 있는 경우, 해당 버전의 템플릿을 오브젝트 스토리지로부터 검색하는 역할을 할 수 있다.The search unit 120 searches for a template of a version determined by the user's requirement from object storage. That is, when a pre-written template that satisfies all user requirements is stored in the object storage, the search unit 120 may serve to search for a template of the corresponding version from the object storage.

예컨대, 사용자 요구사항으로서, [사용자수 '15', Disk '40GB', image 'windows 8.1', RAM '4096MB']이 식별되는 경우, 검색부(120)는, 해당 사용자 요구사항을 모두 가지고 있는, 버전 V1.1의 템플릿을 오브젝트 스토리지로부터 검색할 수 있다.For example, when [the number of users '15', Disk '40GB', image 'windows 8.1', RAM '4096MB'] is identified as user requirements, the search unit 120 has all of the user requirements. , the template of version V1.1 can be retrieved from object storage.

처리부(130)는 상기 오브젝트 스토리지로부터 검색된 제1 템플릿을 오케스트레이터(Orchestrator)로 전달 함으로써, 상기 오케스트레이터에서 상기 사용자 요구사항을 구현하는 가상머신을 구동하도록 한다. 즉, 처리부(130)는 사용자 요구사항을 모두 만족하여 오브젝트 스토리지로부터 검색된 템플릿(제1 템플릿)을 이용하여 템플릿 스크립트를 생성한 후 오케스트레이터에 전달 함으로써, 상기 템플릿 스크립트를 전달 받은 오케스트레이터에서 상기 사용자 요구사항을 구현하는 가상머신(VM)을 구동하도록 하는 역할을 할 수 있다. 여기서 템플릿 스크립트는, 오케스트레이터를 통해 사용자 요구사항을 가상환경 하에서 실현하도록 하는 명령어, 명령구문 등 일 수 있다.The processing unit 130 transmits the first template retrieved from the object storage to an orchestrator, so that the orchestrator drives a virtual machine that implements the user requirements. That is, the processing unit 130 generates a template script using a template (first template) retrieved from object storage by satisfying all user requirements, and then transmits it to the orchestrator, so that the user in the orchestrator receiving the template script It can serve to run a virtual machine (VM) that implements the requirements. Here, the template script may be a command, command syntax, etc. that enables the user's requirements to be realized in a virtual environment through the orchestrator.

만약, 상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않으면, 처리부(130)는, 기본 템플릿(Base Template)을 이용하여, 상기 버전에 해당하는 제1 템플릿을 작성한다. 즉, 처리부(130)는 사용자 요구사항을 모두 만족하는 기작성된 템플릿이, 오브젝트 스토리지에 저장되어 있지 않는 경우, 규정의 기본 템플릿을 원형으로 하여, 해당 버전의 템플릿을 직접 작성하는 역할을 할 수 있다.If the version of the template is not stored in the object storage, the processing unit 130 creates a first template corresponding to the version by using a base template. That is, when the pre-written template that satisfies all user requirements is not stored in the object storage, the processing unit 130 uses the basic template of the regulation as a prototype, and can serve to directly create the corresponding version of the template. .

상술의 예시에서, 기본 템플릿이 [사용자수 '1', Disk '20GB', image 'windows 8.1', RAM '20458MB']로 규정되는 경우, 처리부(130)는 이러한 기본 템플릿에서, 사용자수/ Disk/RAM을 변경하여, 상기 사용자 요구사항 [사용자수 '15', Disk '40GB', image 'windows 8.1', RAM '4096MB']을 모두 가지는, 버전 V1.1의 템플릿을 직접 작성할 수 있다.In the above example, if the basic template is defined as [number of users '1', Disk '20GB', image 'windows 8.1', RAM '20458MB'], the processing unit 130 in this basic template, the number of users / Disk By changing /RAM, you can directly create a template of version V1.1, which has all of the above user requirements [number of users '15', Disk '40GB', image 'windows 8.1', RAM '4096MB'].

이후, 처리부(130)는 상기 작성된 제1 템플릿을 상기 오케스트레이터로 전달할 수 있다. 즉, 처리부(130)는 직접 작성한 제1 템플릿을 이용하여 생성되는 템플릿 스크립트를 오케스트레이터에 전달 함으로써, 상기 오케스트레이터에서, 상기 템플릿 스크립트에 의거하여, 상기 사용자 요구사항을 구현하는 가상머신(VM)을 구동하도록 할 수 있다.Thereafter, the processing unit 130 may transmit the created first template to the orchestrator. That is, the processing unit 130 transmits the template script generated using the first template directly written to the orchestrator, and in the orchestrator, based on the template script, a virtual machine (VM) that implements the user requirements. can be made to run.

사용자가 요구하는 버전의 템플릿이, 오브젝트 스토리지에 저장되는지를 확인하기 위해, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 리소스 관리부(140)를 추가적으로 포함할 수 있다.In order to check whether the version of the template requested by the user is stored in the object storage, the cloud orchestration template management apparatus 100 may additionally include a resource management unit 140 .

리소스 관리부(140)는 인덱스 파일(Index File)을 통해, 상기 오브젝트 스토리지에 저장되는 모든 템플릿에 대한 리소스 정보를 확인한다. 즉, 리소스 관리부(140)는 오브젝트 스토리지와 연동되어 템플릿의 리소스 정보를 기록하는 인덱스 파일로부터, 오브젝트 스토리지에 저장되어 있는 템플릿 각각에 대한 리소스 정보를 제공받아 확인하는 역할을 할 수 있다.The resource management unit 140 checks resource information on all templates stored in the object storage through an index file. That is, the resource management unit 140 may play a role of receiving and checking resource information for each template stored in the object storage from an index file that interworks with the object storage and records resource information of the template.

또한, 리소스 관리부(140)는, 상기 리소스 정보에서, 상기 사용자 요구사항에 상응하는 리소스 정보를 찾지 못하면, 상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않는 것으로 확인할 수 있다. 즉, 리소스 관리부(140)는 리소스 정보를 분석하여, 사용자 요구사항에 해당되는 리소스 정보가 없다고 판별 함으로써, 요구되는 버전의 템플릿이, 오브젝트 스토리지에 실제 저장되지 않음을 확인할 수 있다.Also, if the resource information does not find resource information corresponding to the user's requirement in the resource information, the resource management unit 140 may determine that the version of the template is not stored in the object storage. That is, the resource management unit 140 analyzes the resource information and determines that there is no resource information corresponding to the user requirement, thereby confirming that the required version of the template is not actually stored in the object storage.

상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않음에 따라, 처리부(130)는, 상기 기본 템플릿의 리소스 정보를, 상기 사용자 요구사항에 상응하도록 수정할 수 있다. 즉, 처리부(130)는 규정의 기본 템플릿이 갖는 리소스 정보를, 사용자 요구사항에 맞춰 조정할 수 있다.As the version of the template is not stored in the object storage, the processing unit 130 may modify the resource information of the basic template to correspond to the user requirement. That is, the processing unit 130 may adjust the resource information of the basic template of the regulation according to the user requirements.

이후, 처리부(130)는, 상기 기본 템플릿에 상기 수정된 리소스 정보를 대응시켜, 상기 제1 템플릿으로 작성할 수 있다. 즉, 처리부(130)는 조정된 리소스 정보가 대응되는 기본 템플릿을, 제1 템플릿으로서 새로 작성할 수 있다.Thereafter, the processing unit 130 may create the first template by making the modified resource information correspond to the basic template. That is, the processing unit 130 may newly create a basic template corresponding to the adjusted resource information as the first template.

또한, 처리부(130)는, 상기 수정에 따른, 상기 기본 템플릿의 리소스 정보로부터의 변경되는 정도를, 'Major' 또는 'Minor'로 구분하여, 상기 제1 템플릿의 리소스 정보에 기재한다. 즉, 처리부(130)는 작성된 제1 템플릿이, 기본 템플릿과 어느 정도로 차이가 나는지를, 'Major' 또는 'Minor'로 태깅하여 구분할 수 있다.Also, the processing unit 130 classifies the degree of change from the resource information of the basic template according to the modification into 'Major' or 'Minor', and describes it in the resource information of the first template. That is, the processing unit 130 may identify how different the created first template is from the basic template by tagging it with 'Major' or 'Minor'.

기본 템플릿에서, 하드웨어 리소스인 '사용자수/Disk/RAM'이 변경되는 버전 V1.1의 템플릿을 작성하는 상술의 예시에 대해, 처리부(130)는 버전 V1.1의 템플릿에 'Minor'로 태깅하여 구분할 수 있다.For the above-described example of creating a template of version V1.1 in which 'number of users/Disk/RAM', which is a hardware resource, is changed in the basic template, the processing unit 130 tags the template of version V1.1 as 'Minor' can be distinguished by

만약, 기본 템플릿에서, 하드웨어 리소스, 뿐만 아니라 운영체계인 image까지 변경되는 버전2.0 [사용자수 '60', Disk '80GB', image 'Ubuntu 18.04', RAM '8192MB']에 대해, 처리부(130)는 버전 V2.0의 템플릿에 'Major'로 태깅하여 구분할 수 있다.If, in the basic template, for version 2.0 [number of users '60', Disk '80GB', image 'Ubuntu 18.04', RAM '8192MB'] that changes not only the hardware resources, but also the operating system image, the processing unit 130 can be identified by tagging the template of version V2.0 with 'Major'.

또한, 리소스 관리부(140)는, 상기 제1 템플릿의 리소스 정보를 상기 인덱스 파일에 기록하는 동시에, 상기 오브젝트 스토리에 상기 제1 템플릿을 저장할 수 있다. 즉, 리소스 관리부(140)는, 직접 작성한 템플릿에 대해, 리소스 정보를 인덱스 파일에 기록하여, 인덱스 파일에서 리소스 정보가 체계적으로 관리되게 하고, 또한 작성한 템플릿을 오브젝트 스토리에 보관되게 하여, 추후 템플릿에 대한 검색에 대응되게 할 수 있다.Also, the resource management unit 140 may record the resource information of the first template in the index file and store the first template in the object story. That is, the resource management unit 140 records the resource information in the index file for the template directly created, so that the resource information is systematically managed in the index file, and the created template is stored in the object story, so that the template is later It can be made to correspond to a search for

상기 사용자 요구사항에 대한 변화가 발생하면, 처리부(130)는, 상기 제1 템플릿과 연관되어, 상기 가상머신이 구동 중인지를 판단하고, 상기 판단 결과, 구동 중이면, 상기 제1 템플릿의 리소스 정보를, 인덱스 파일에서 추출하며, 상기 추출된 제1 템플릿의 리소스 정보를, 상기 변화된 사용자 요구사항에 상응하도록 수정하고, 상기 제1 템플릿에 상기 수정된 리소스 정보를 대응시켜, 제2 템플릿으로 갱신할 수 있다.When a change in the user requirements occurs, the processing unit 130 is associated with the first template, determines whether the virtual machine is running, and as a result of the determination, if it is running, resource information of the first template is extracted from the index file, the extracted resource information of the first template is modified to correspond to the changed user requirements, the modified resource information is matched to the first template, and the second template is updated. can

즉, 처리부(130)는 기존 사용자 요구사항에 따른 제1 템플릿이 가상머신으로 구현되는 도중에, 사용자 요구사항에 변화가 발생하면, 제1 템플릿의 리소스 정보를 조정하여, 변화된 사용자 요구사항에 맞는 템플릿을 작성한 후, 제2 템플릿으로 갱신함으로써, 변화된 사용자 요구사항에 따른 제2 템플릿이 가상머신으로 구현되도록 할 수 있다.That is, the processing unit 130 adjusts the resource information of the first template when a change occurs in user requirements while the first template according to the existing user requirements is implemented as a virtual machine, and a template that meets the changed user requirements After writing , by updating the second template, the second template according to the changed user requirements can be implemented as a virtual machine.

반면, 상기 판단 결과, 구동 중이 아니면, 처리부(130)는, 기본 템플릿의 리소스 정보를, 상기 변화된 사용자 요구사항에 상응하도록 수정하고, 상기 기본 템플릿에 상기 수정된 리소스 정보가 대응시켜, 상기 제2 템플릿으로 작성할 수 있다.On the other hand, as a result of the determination, if it is not being driven, the processing unit 130 modifies the resource information of the basic template to correspond to the changed user requirements, and the modified resource information corresponds to the basic template, and the second It can be written as a template.

즉, 처리부(130)는 제1 템플릿이 가상머신으로 현재 구현되지 않고, 단지 오브젝트 스토리지에 유지되고 있다면, 변화된 사용자 요구사항에 따른 템플릿을, 기본 템플릿의 리소스 정보에 대한 조정을 통해 작성한 후, 이를 제2 템플릿으로서 오케스트레이터로 전달 함으로써, 오케스트레이터에서 변화된 사용자 요구사항을 구현하는 가상머신을 구동하도록 할 수 있다.That is, if the first template is not currently implemented as a virtual machine and is only maintained in object storage, the processing unit 130 creates a template according to the changed user requirements by adjusting the resource information of the basic template, and then By passing it to the orchestrator as a second template, the orchestrator can run a virtual machine that implements the changed user requirements.

본 발명의 일실시예에 따르면, 사용자 맞춤형 클라우드 환경을 구축하기 위해, 기본 템플릿을 관리 및 제공하여 가상머신의 변경이 필요할 시 활용하며, 이 후 가상머신의 자원이 변경되는 부분을 정확하게 식별하는, 클라우드 오케스트레이션 템플릿 관리 방법 및 장치를 제공 할 수 있다.According to an embodiment of the present invention, in order to build a user-customized cloud environment, a basic template is managed and provided to be used when a change of the virtual machine is required, and thereafter, the part where the resource of the virtual machine is changed is accurately identified. A cloud orchestration template management method and device may be provided.

또한, 본 발명의 일실시예에 따르면, 식별된 자원의 변경사항을 바탕으로 갱신된 버전을 가지는 새로운 템플릿을 생성하거나, 또는 기존의 템플릿을 재사용하는 방법을 활용하여 가상머신을 자동으로 배치 및 효율적으로 관리 할 수 있다.In addition, according to an embodiment of the present invention, a new template having an updated version is created based on the identified resource changes, or a virtual machine is automatically deployed and efficiently using a method of reusing an existing template. can be managed with

도 2는 본 발명에서 제시하는 클라우드 오케스트레이션 템플릿 관리 장치의 동작을 나타내는 구조도이다.2 is a structural diagram showing the operation of the cloud orchestration template management apparatus presented in the present invention.

도 2에 포함되는 주요 수단(컴포넌트)의 역할 및 동작은 아래와 같다.The roles and operations of the main means (components) included in FIG. 2 are as follows.

Version Management System(210)은 오케스트레이션 템플릿의 버전을 관리하는 역할을 할 수 있다. Version Management System(210)은 사용자의 요구사항을 바탕으로 Object Storage(220)에서 템플릿의 버전 탐색을 수행하고, 기존에 저장된 템플릿을 재사용하거나, 새로운 버전의 템플릿을 생성함으로써 클라우드 환경을 구축하기 위한 요소들을 관리하는 역할을 할 수 있다.The Version Management System 210 may serve to manage versions of the orchestration template. The Version Management System 210 performs a version search of a template in the Object Storage 220 based on the user's requirements, reuses an existing stored template, or creates a new version of a template to build a cloud environment. can play a role in managing them.

Object Storage(220)는 객체를 저장하는 저장소일 수 있다. Object Storage(220)는 버전 정보를 가진 오케스트레이션 템플릿과, 각각의 템플릿 파일에 대한 연결 정보를 가지고 있는 Index File(240)을 저장할 수 있다.The Object Storage 220 may be a storage for storing objects. The Object Storage 220 may store an orchestration template having version information and an Index File 240 having connection information for each template file.

Orchestrator(230)는 클라우드 자원을, 오케스트레이션 템플릿을 기반으로 통합하는 일련의 작업을 수행하는 장치로서, 오케스트레이션 템플릿을 해석하여 가상머신을 생성시키는 엔진일 수 있다.The Orchestrator 230 is a device that performs a series of tasks for integrating cloud resources based on an orchestration template, and may be an engine that generates a virtual machine by interpreting the orchestration template.

Index File(240)은 Object Storage(220)에 저장된 모든 버전들의 리소스 정보를 가지고 있는 파일일 수 있다. Version Management System(210)은 Index File(240)을 통해, 템플릿 버전 탐색을 수행하고, 새로운 템플릿 버전을 만들어 내는 등의 작업을 할 수 있다. 즉, Index File(240)은 각각의 버전에 해당하는 템플릿 파일과 버전 관리 시스템을 연결해주는 역할을 할 수 있다.The Index File 240 may be a file having resource information of all versions stored in the Object Storage 220 . The Version Management System 210 may perform a template version search, create a new template version, and the like, through the Index File 240 . That is, the Index File 240 may serve to connect the template file corresponding to each version and the version management system.

기본 템플릿(Base Template)은 V1.0에 해당하는 초기 버전으로, 오케스트레이션 템플릿이 가져야 할 리소스 정보 및 버전 정보를 포함할 수 있다. 각 버전의 오케스트레이션 템플릿은, 기본 템플릿에서 나타내는 형태로 구성되며, 변경된 리소스 정보의 수정 수준에 따라 Major와 Minor로 구분되어 갱신될 수 있다.The base template is an initial version corresponding to V1.0, and may include resource information and version information that the orchestration template should have. The orchestration template of each version is configured in the form indicated by the basic template, and can be divided into Major and Minor and updated according to the modification level of the changed resource information.

Version Management System(210)은 아래의 프로세스로 동작한다.The Version Management System 210 operates in the following process.

(1)Version Management System(210)은, 사용자가 요청한 요구사항을 수신한다. Version Management System(210)은, 사용자로부터 사용자 자신이 필요로 하는 가상머신의 환경에 대한 요구사항(CPU, Memory, Disk 사용량, 이미지 등)을 요청 받을 수 있다.(1) The Version Management System 210 receives the requirements requested by the user. The Version Management System 210 may receive a request from the user for requirements (CPU, Memory, Disk usage, images, etc.) for the environment of the virtual machine that the user needs.

(2)Version Management System(210)은, 요청된 요구사항에 기반한 템플릿 버전을 탐색할 수 있다. Version Management System(210)은, 사용자의 요구사항에 상응하는 정보를 기반으로, 해당 가상머신을 생성하기 위한 템플릿에 대한 버전 탐색을 수행할 수 있다. 만약 요구사항에 맞는 템플릿이 존재하는 경우, Version Management System(210)은, 탐색된 버전의 템플릿을 반환한다. 만약, 요구사항에 맞는 템플릿이 존재하지 않는 경우, Version Management System(210)은, 템플릿 버전 관리 규칙에 기반하여, 기본 템플릿을 활용하여 새로운 템플릿을 생성한다.(2) The Version Management System 210 may search for a template version based on the requested requirement. The Version Management System 210 may perform a version search for a template for creating a corresponding virtual machine based on information corresponding to a user's requirements. If there is a template that meets the requirements, the Version Management System 210 returns the searched version of the template. If there is no template that meets the requirements, the Version Management System 210 creates a new template by using the default template, based on the template version management rule.

(3)Version Management System(210)은, 가상머신(VM)을 생성할 수 있게 한다. Version Management System(210)은, 탐색된 템플릿 또는 생성된 템플릿을 Orchestrator(230)에 전달하여, Orchestrator(230)에서 템플릿 파일에 적합한 자원들이 할당된 가상머신을 생성할 수 있게 한다. (3) The Version Management System 210 makes it possible to create a virtual machine (VM). The Version Management System 210 transmits the discovered template or the created template to the Orchestrator 230 , so that the Orchestrator 230 creates a virtual machine to which resources appropriate to the template file are allocated.

(4)Version Management System(210)은, 사용자가 요구사항을 변경하면 이를 수신한다. 변경된 요구사항의 수신에 따라, 앞서 생성되어 운영 중인 가상머신에 대해, 하드웨어나 운영체제 등의 변경이 발생하면, Version Management System(210)은, 규정된 템플릿 버전 관리 규칙에 따라 템플릿과 버전 정보를 갱신한다.(4) The Version Management System 210 receives it when a user changes a requirement. Upon receipt of the changed requirements, when a change in hardware or operating system occurs for a previously created and operated virtual machine, the Version Management System 210 updates the template and version information according to the prescribed template version management rules. do.

또한, Version Management System(210)은, 기본 템플릿이 저장된 Object Storage(220)에 새로 생성된 템플릿을 저장한다. 또한, Version Management System(210)은, 템플릿 파일의 저장과 동시에 Index File(240)의 갱신을 통해, 템플릿 간의 버전 추적 관계를 형성할 수 있다.In addition, the Version Management System 210 stores the newly created template in the Object Storage 220 in which the basic template is stored. In addition, the Version Management System 210 may form a version tracking relationship between templates by updating the Index File 240 at the same time as saving the template file.

[표 1]은 템플릿 간의 버전 추적 관계를 저장하는 버전 관리 테이블의 일례이다.[Table 1] is an example of a version control table that stores the version tracking relationship between templates.

Figure pat00001
Figure pat00001

[표 1]은 템플릿 버전 관리 규칙에 따라, 저장된 템플릿과 버전 정보가 관리되는 일례를 보여준다.[Table 1] shows an example in which the stored template and version information are managed according to the template version management rule.

[표 1]에서, 버전 V1.0에서 V1.1로 업데이트되는 경우에는, 여러 개의 항목이 변경되었지만 모두 하드웨어 리소스 (Disk, RAM, 사용자 수) 만이 추가되거나 개선된 것임을 알 수 있다.In [Table 1], it can be seen that, in the case of updating from version V1.0 to V1.1, several items were changed, but only hardware resources (Disk, RAM, number of users) were added or improved in all.

Version Management System(210)은, 하드웨어 리소스 만이 변경되는, 버전 V1.0에서 V1.1로의 업데이트시에, 변경되는 항목의 개수와 관계없이 <Minor Version>을 적용할 수 있다.The Version Management System 210 may apply <Minor Version> regardless of the number of changed items when updating from version V1.0 to V1.1, in which only hardware resources are changed.

반면, 버전 V1.0에서, V2.0 또는 V3.0으로 업데이트되는 경우는, image(운영체제)가 바뀌는 케이스이고 이는 대규모 변경이 될 수 있다. 이에 따라, Version Management System(210)은, 하드웨어 리소스의 변경 여부와는 관계없이, 버전 V1.0에서, V2.0 또는 V3.0으로 업데이트시에 <Major Version>을 적용할 수 있다.On the other hand, when it is updated from version V1.0 to V2.0 or V3.0, the image (operating system) is changed and this can be a large-scale change. Accordingly, the Version Management System 210 may apply <Major Version> when updating from version V1.0 to V2.0 or V3.0 regardless of whether the hardware resource is changed.

Version Management System(210)은, 클라우드 환경에서 탄력적인 운영이 가능하게 하도록 템플릿 파일에 대해 버전 관리를 적용하고 있다.The Version Management System 210 applies version management to the template file to enable flexible operation in the cloud environment.

처음 생성되는 템플릿 파일은, 기본 템플릿으로 정의하고, 표 1에서와 같이 V1.0의 버전명으로 기재한다.The first created template file is defined as a basic template, and is written as the version name of V1.0 as shown in Table 1.

또한, 변경된 리소스 정보의 수정 수준에 따라, Version Management System(210)은, <Major Version>, <Minor Version> 개념을 정의한다.Also, according to the modification level of the changed resource information, the Version Management System 210 defines the <Major Version> and <Minor Version> concepts.

<Major Version>은 대규모 변경이 발생했을 때, 버전 번호를 갱신하는 것을 의미한다. 예를 들어, 기본 템플릿에서 운영체제를 변경하는 경우에는, <Major Version>의 유형으로 구분할 수 있다.<Major Version> means to update the version number when a large-scale change occurs. For example, when changing the operating system in the basic template, it can be classified as a <Major Version> type.

<Minor Version>은 기존 버전에 없던 기능이 추가되거나 개선되었을 때, 버전 번호를 갱신하는 것을 의미한다. 예를 들어, 기본 템플릿에서 하드웨어 리소스를 변경하는 경우에는, <Minor Version>의 유형으로 구분할 수 있다.<Minor Version> means updating the version number when a function that was not in the previous version is added or improved. For example, when changing hardware resources in the basic template, it can be classified as a <Minor Version> type.

도 3은 본 발명에 따른, 버전 관리 시스템의 프로세스에 대한 흐름도이다.3 is a flowchart of a process of a version control system according to the present invention;

단계 310에서, 버전 관리 시스템은, 서비스 UI를 통하여 가상 머신의 환경에 대한 요구사항을 요청할 수 있다.In step 310, the version control system may request a requirement for the environment of the virtual machine through the service UI.

단계 320에서, 버전 관리 시스템은, 토큰(Token)을 자동 발급할 수 있다.In step 320, the version control system may automatically issue a token (Token).

단계 330에서, 버전 관리 시스템은, 해당 요구사항에 상응하는 템플릿(Template) 파일 버전을 검색할 수 있다.In operation 330, the version control system may search for a template file version corresponding to the corresponding requirement.

단계 340에서, 버전 관리 시스템은, 해당 요구사항에 상응하는 템플릿(Template) 파일 버전이 있는지를 판단한다.In step 340, the version control system determines whether there is a template file version corresponding to the requirement.

파일 버전이 없을 경우(단계 340의 No 방향), 단계 350에서, 버전 관리 시스템은, 제안된 요구사항에 따라 템플릿(Template) 파일 저장 및 버전을 갱신한다.If there is no file version (No direction in step 340), in step 350, the version control system stores and updates the version of the template file according to the proposed requirements.

파일 버전이 있는 경우(단계 310의 Yes 방향), 단계 360에서, 버전 관리 시스템은, 해당 버전의 템플릿(Template) 파일을 기반으로 가상머신을 생성한다.If there is a file version (Yes direction in step 310), in step 360, the version control system creates a virtual machine based on the template file of the corresponding version.

단계 370에서, 버전 관리 시스템은, 생성된 가상머신에서 리소스를 변경할 것인지를 판단한다.In step 370, the version control system determines whether to change the resource in the created virtual machine.

리소스 변경이 있는 경우(단계 370의 Yes 방향), 버전 관리 시스템은, 단계 310으로 리턴한다.If there is a resource change (in the Yes direction of step 370), the version control system returns to step 310 .

리소스 변경이 없는 경우(단계 370의 No 방향), 버전 관리 시스템은 종료한다.If there is no resource change (direction No in step 370), the version control system ends.

이하에서는, 본 발명의 클라우드 오케스트레이션 템플릿 관리 장치를, 코딩 교육 시스템에 적용한 사례를 예시하여 설명한다.Hereinafter, the cloud orchestration template management apparatus of the present invention will be described by way of example applied to a coding education system.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 강의 개설을 위한 강사의 가상머신을 생성할 수 있다.The cloud orchestration template management apparatus 100 may create an instructor's virtual machine for opening a lecture.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 강사의 요구사항에 따라, 학생을 가르치기 위해 강의실 역할을 하는 가상머신을 생성할 수 있다. 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 생성한 가상머신을 통해 교육 영상 혹은 프로그램 코드와 같은 파일을 제공할 수 있고, 해당 가상머신에 접속한 학생들에게 제공받은 자료로 교육 서비스를 제공 할 수 있다.The cloud orchestration template management apparatus 100 may create a virtual machine serving as a classroom to teach students according to the requirements of the instructor. The cloud orchestration template management apparatus 100 may provide a file such as an educational image or a program code through the created virtual machine, and may provide an education service with data provided to students accessing the virtual machine.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 가상머신 리소스 조정에 의한 버전을 갱신할 수 있다.The cloud orchestration template management apparatus 100 may update the version by adjusting the virtual machine resource.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 사용하고 있는 가상머신의 리소스가 현재 환경에서 적합하지 않을 시, 버전 갱신을 수행할 수 있다. 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 운영체제나 새로운 교육 언어와 같은 대규모 변경을 Major로 정할 수 있다. 또는, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 가상머신의 오버로드를 줄이기 위한 컴퓨트 환경(시스템 리소스)의 변화에 대해, Minor로 정한 후 해당하는 기준에 따라 가장 적합한 환경의 템플릿을 사용할 수 있다.The cloud orchestration template management apparatus 100 may perform version update when the resource of the virtual machine being used is not suitable in the current environment. The cloud orchestration template management apparatus 100 may set a major change, such as an operating system or a new educational language, as a major. Alternatively, the cloud orchestration template management apparatus 100 may use a template of the most suitable environment according to a corresponding criterion after determining as a Minor for a change in a compute environment (system resource) for reducing the overload of the virtual machine. .

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 시나리오별 요구사항에 따른 리소스를 조정할 수 있다.The cloud orchestration template management apparatus 100 may adjust resources according to requirements for each scenario.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 최초 생성한 가상머신에서 여러 상황에 따라 리소스 조정을 필요로 할 수 있다.The cloud orchestration template management apparatus 100 may require resource adjustment according to various situations in the initially created virtual machine.

[표 2]는 클라우드 기반의 코딩 교육 시스템에서 템플릿 버전 관리를 위한 매핑 테이블이다.[Table 2] is a mapping table for template version management in the cloud-based coding education system.

Figure pat00002
Figure pat00002

[표 2]는 교육 환경을 구축하기 위한 조건과 변수를 나타낸 것으로, 각 변수에 따라 조정되는 리소스를 각각 다르게 설정하고 있음을 알 수 있다.[Table 2] shows the conditions and variables for building an educational environment, and it can be seen that the resources adjusted according to each variable are set differently.

Major 버전을 갱신하는 조건 중 하나는 이미지(운영체제)이다.One of the conditions for updating the major version is the image (operating system).

도 4는 본 발명의 일실시예에 따른, 사용자의 요구상항에 따라, Ubuntu Linux 64-bit를 선택한 경우를 보여주는 도면이다.4 is a diagram showing a case in which Ubuntu Linux 64-bit is selected according to a user's requirements, according to an embodiment of the present invention.

도 5는 도 4와 관련하여, HOT 템플릿을 통해 VM을 생성하는 일례를 보여주는 도면이다.FIG. 5 is a diagram illustrating an example of creating a VM through a HOT template in relation to FIG. 4 .

강사가 도 4에서와 같이, 웹 인터페이스를 통해 Ubuntu Linux 64-bit의 운영체제를 선택하면, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 이를 바탕으로 도 5와 같은, HOT 템플릿을 통해 VM을 생성할 수 있다.When the instructor selects the operating system of Ubuntu Linux 64-bit through the web interface as in FIG. 4, the cloud orchestration template management device 100 can create a VM through the HOT template, as shown in FIG. 5, based on this. there is.

도 6은 본 발명의 다른 실시예에 따른, 사용자의 요구상항에 따라, CentOS 7 x86-64를 선택한 경우를 보여주는 도면이다.6 is a diagram illustrating a case in which CentOS 7 x86-64 is selected according to a user's requirements, according to another embodiment of the present invention.

도 7은 도 6와 관련하여, HOT 템플릿을 통해 VM을 생성하는 일례를 보여주는 도면이다.7 is a diagram illustrating an example of creating a VM through a HOT template in relation to FIG. 6 .

강사가 도 6에서와 같이, 웹 인터페이스를 통해 CentOS 7 x86-64의 운영체제를 선택하면, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 이를 바탕으로 도 7과 같은, HOT 템플릿을 통해 VM을 생성할 수 있다.When the instructor selects the operating system of CentOS 7 x86-64 through the web interface as shown in FIG. 6 , the cloud orchestration template management device 100 can create a VM through the HOT template as shown in FIG. 7 based on this. there is.

도 8은 Major 버전이 갱신된 index파일의 일례를 설명하기 위한 도면이다.8 is a diagram for explaining an example of an index file whose major version is updated.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 도 8과 같이, 기존에 없는 이미지(운영체제)의 코딩 환경을 생성 함으로써, 갱신된 Major 버전을 index 파일에 저장할 수 있다.The cloud orchestration template management apparatus 100 may store the updated major version in the index file by creating a coding environment of an image (operating system) that does not exist before, as shown in FIG. 8 .

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 어떤 ‘코딩 언어(Language)’를 가르칠 것인가에 따라 실행하기 위해 필요한 소프트웨어를 자동으로 설치할 수 있다. 해당 조건은 Software Configuration을 통해 구현되며 복수 선택이 가능한 항목으로, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 선택한 언어 중 하나라도 다른 경우 Major 버전으로 구분할 수 있다.The cloud orchestration template management apparatus 100 may automatically install software necessary for execution according to which 'coding language' is to be taught. The corresponding condition is implemented through Software Configuration and is an item that can be selected in multiple ways, and the cloud orchestration template management apparatus 100 may classify it as a major version when even one of the selected languages is different.

도 9는 본 발명의 다른 실시예에 따른, 사용자에 따른, 사용자의 요구상항에 따라, C언어를 선택한 경우를 보여주는 도면이다.9 is a diagram illustrating a case in which C language is selected according to a user, according to a user's requirements, according to another embodiment of the present invention.

도 10은 도 9와 관련하여, HOT 템플릿을 통해 VM을 생성하는 일례를 보여주는 도면이다.FIG. 10 is a diagram illustrating an example of creating a VM through a HOT template in relation to FIG. 9 .

도 9와 도 10에서, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, C언어를 선택할 시 생성되는 템플릿을 통해, C언어를 컴파일 할 수 있는 gcc 컴파일러가 설치된 VM을 생성할 수 있다.9 and 10 , the cloud orchestration template management apparatus 100 may generate a VM in which a gcc compiler capable of compiling C language is installed through a template generated when C language is selected.

도 11은 본 발명의 다른 실시예에 따른, 사용자의 요구상항에 따라, C++언어를 선택한 경우를 보여주는 도면이다.11 is a diagram illustrating a case in which C++ language is selected according to a user's requirements, according to another embodiment of the present invention.

도 12는 도 11과 관련하여, HOT 템플릿을 통해 VM을 생성하는 일례를 보여주는 도면이다.12 is a diagram illustrating an example of creating a VM through a HOT template in relation to FIG. 11 .

도 11과 도 12에서, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, C++ 언어를 선택할 시 생성되는 템플릿을 통해, C++언어를 컴파일 할 수 있는 g++ 컴파일러가 설치된 VM을 생성할 수 있다.11 and 12 , the cloud orchestration template management apparatus 100 may generate a VM in which a g++ compiler capable of compiling a C++ language is installed through a template generated when a C++ language is selected.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 기존에 없는 언어의 코딩 환경을 생성하여, Major 버전을 갱신할 수 있다.The cloud orchestration template management apparatus 100 may update a major version by creating a coding environment of a language that does not exist.

도 13은 Major 버전이 갱신된 index파일의 일례를 설명하기 위한 도면이다.13 is a diagram for explaining an example of an index file whose major version is updated.

가상머신의 탄력적인 운영을 위하여 교육이 끝난 가상머신은, 자동으로 종료할 수 있도록 한다. 이 때, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 교육 데이터를 유지할 수 있는 기간을 지정하여 교육이 끝난 이후에도 지정한 기간동안 가상머신이 유지되게 함으로써 교육에 사용된 자료들을 이용할 수 있도록 한다.For flexible operation of virtual machines, virtual machines that have been trained are automatically shut down. At this time, the cloud orchestration template management apparatus 100 designates a period for maintaining the education data, so that the virtual machine is maintained for the specified period even after the education is finished, so that materials used for education can be used.

Minor 버전 갱신의 첫 번째 조건은, 사용자 수이다. 가상머신에 접속하는 사용자가 많을수록 증가하는 오버헤드를 처리하기 위해서는, CPU의 개수를 늘이거나 RAM의 크기를 키워야 한다. 반대로 접속하는 사람에 비해 리소스가 많이 주어져 있다면, 자원의 낭비를 피하기 위해서는, 리소스 할당을 줄여주어야 한다.The first condition for minor version update is the number of users. In order to handle the overhead that increases as the number of users accessing the virtual machine increases, the number of CPUs or the size of RAM must be increased. Conversely, if more resources are given compared to the person connecting, in order to avoid wasting resources, resource allocation should be reduced.

예컨대, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 사용자 20명을 기준으로 하나의 CPU를 제공한다.For example, the cloud orchestration template management apparatus 100 provides one CPU based on 20 users.

도 14는 사용자의 요구상항에 따라, 학생 10명을 선택한 경우를 보여주는 도면이다.14 is a diagram illustrating a case in which 10 students are selected according to a user's requirements.

도 15는 사용자의 요구상항에 따라, 학생 100명을 선택한 경우를 보여주는 도면이다.15 is a diagram illustrating a case in which 100 students are selected according to a user's requirements.

도 16은 도 14와 도 15와 관련하여, Minor 버전이 갱신된 index파일의 일례를 보여주는 도면이다.16 is a view showing an example of an index file in which the minor version is updated in relation to FIGS. 14 and 15 .

도 14의 10명의 학생의 경우, 도 15의 100명의 학생의 경우에 대해, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 도 16에서와 같이, 학생수에 따라 flavor를 각각 “m1.small”, “m1.xlarge”로 할당 할 수 있다.In the case of 10 students in FIG. 14 and in the case of 100 students in FIG. 15 , the cloud orchestration template management device 100 sets the flavor according to the number of students as “m1.small”, “m1” as shown in FIG. .xlarge” can be allocated.

또한 도 16에서와 같이, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, flavor가 변경될 경우 minor버전을 갱신할 수 있다.Also, as shown in FIG. 16 , the cloud orchestration template management apparatus 100 may update a minor version when a flavor is changed.

그리고 교육 기간에 따라서 가상머신이 저장해야 할 파일의 양이 많아질 것이므로, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 교육을 오래 할수록 큰 용량의 Storage를 배치해준다.And since the amount of files to be stored by the virtual machine will increase according to the training period, the cloud orchestration template management apparatus 100 arranges a large-capacity storage as the training becomes longer.

또한, 시험과 같은 특수한 경우, 가상머신의 사용자 수가 급격히 증가할 수 있으므로, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 해당 이벤트 기간의 오버헤드를 처리할 수 있도록 flavor를 교체해준다.In addition, in a special case such as a test, since the number of users of the virtual machine may increase rapidly, the cloud orchestration template management apparatus 100 replaces the flavor so as to handle the overhead of the corresponding event period.

도 17은 각 버전의 리소스 정보를 포함하고 있는 인덱스 파일의 일례를 보여주는 도면이다.17 is a diagram showing an example of an index file including resource information of each version.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 도 17에서와 같이, Major와 Minor로 정한 기준에 따라 버전을 구분하고 버전에 따른 리소스 정보를 인덱스 파일에 저장할 수 있다.As shown in FIG. 17 , the cloud orchestration template management apparatus 100 may classify versions according to criteria determined by Major and Minor and store resource information according to the versions in an index file.

도 18은 템플릿 파일과 인덱스 파일이 저장된 오브젝트 스토리지의 일례를 보여주는 도면이다.18 is a diagram showing an example of object storage in which a template file and an index file are stored.

클라우드 오케스트레이션 템플릿 관리 장치(100)는, 도 18과 같이, 생성된 모든 템플릿 파일을, 오브젝트 스토리지에 저장할 수 있다. 또한, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 사용자 요구사항의 변경 또는 클라우드 운영 환경의 변화에 따라, 저장된 템플릿을 재사용하여 사용자 맞춤형 클라우드 환경을 구축할 수 있다.The cloud orchestration template management apparatus 100 may store all the generated template files in the object storage, as shown in FIG. 18 . In addition, the cloud orchestration template management apparatus 100 may build a user-customized cloud environment by reusing the stored template according to a change in user requirements or a change in the cloud operating environment.

이하, 도 19에서는 본 발명의 실시예들에 따른 클라우드 오케스트레이션 템플릿 관리 장치(100)의 작업 흐름을 상세히 설명한다.Hereinafter, a work flow of the cloud orchestration template management apparatus 100 according to embodiments of the present invention will be described in detail with reference to FIG. 19 .

본 실시예에 따른 클라우드 오케스트레이션 템플릿 관리 방법은 클라우드 오케스트레이션 템플릿 관리 장치(100)에 의해 수행될 수 있다.The cloud orchestration template management method according to the present embodiment may be performed by the cloud orchestration template management apparatus 100 .

도 6은 본 발명의 일실시예에 따른, 클라우드 오케스트레이션 템플릿 관리 방법을 도시한 흐름도이다.6 is a flowchart illustrating a cloud orchestration template management method according to an embodiment of the present invention.

우선, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 가상머신의 구동 요청에 연동하여, 상기 구동 요청에 포함되는 사용자 요구사항을 식별한다(1910). 단계(1910)는 사용자가 원하는 사양으로 구동되는 가상머신의 활성화를 위해, 상기 사용자로부터 입력된 구동 요청에서, 사용자 요구사항을 추출하는 과정일 수 있다.First, the cloud orchestration template management apparatus 100 identifies a user requirement included in the driving request by interworking with the driving request of the virtual machine ( S1910 ). Step 1910 may be a process of extracting user requirements from a driving request input from the user to activate a virtual machine driven with a specification desired by the user.

상기 사용자 요구사항은, 구동될 가상머신이 보유하고 있어야 하는 기능별 요구(기능적 요구사항)와, 상기 가상머신으로의 접속에 관한 외적 요구(비기능 요구사항)를 포함하는 개념일 수 있다.The user requirement may be a concept including a function-specific request (functional requirement) that the virtual machine to be driven must have, and an external request (non-functional requirement) related to a connection to the virtual machine.

또한, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 상기 사용자 요구사항에 의해 정해지는 버전의 템플릿을, 오브젝트 스토리지에서 검색한다(1920). 단계(1920)는 사용자 요구사항을 모두 만족하는 기작성된 템플릿이, 오브젝트 스토리지에 저장되어 있는 경우, 해당 버전의 템플릿을 오브젝트 스토리지로부터 검색하는 과정일 수 있다.Also, the cloud orchestration template management apparatus 100 searches for a template of a version determined by the user requirement from the object storage (S20). Step 1920 may be a process of searching for a template of a corresponding version from the object storage when a pre-written template that satisfies all user requirements is stored in the object storage.

예컨대, 사용자 요구사항으로서, [사용자수 '15', Disk '40GB', image 'windows 8.1', RAM '4096MB']이 식별되는 경우, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 해당 사용자 요구사항을 모두 가지고 있는, 버전 V1.1의 템플릿을 오브젝트 스토리지로부터 검색할 수 있다.For example, when [the number of users '15', Disk '40GB', image 'windows 8.1', RAM '4096MB'] is identified as a user requirement, the cloud orchestration template management device 100 performs the user requirements You can retrieve all of the templates from version V1.1 from object storage, which you have.

계속해서, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 상기 오브젝트 스토리지로부터 검색된 제1 템플릿을 오케스트레이터로 전달 함으로써, 상기 오케스트레이터에서 상기 사용자 요구사항을 구현하는 가상머신을 구동하도록 한다(1930). 단계(1930)는 사용자 요구사항을 모두 만족하여 오브젝트 스토리지로부터 검색된 템플릿(제1 템플릿)을 이용하여 템플릿 스크립트를 생성한 후 오케스트레이터에 전달 함으로써, 상기 템플릿 스크립트를 전달 받은 오케스트레이터에서 상기 사용자 요구사항을 구현하는 가상머신(VM)을 구동하도록 하는 과정일 수 있다. 여기서 템플릿 스크립트는, 오케스트레이터를 통해 사용자 요구사항을 가상환경 하에서 실현하도록 하는 명령어, 명령구문 등 일 수 있다.Subsequently, the cloud orchestration template management apparatus 100 transmits the first template retrieved from the object storage to the orchestrator, thereby driving the virtual machine implementing the user requirements in the orchestrator (1930). In step 1930, a template script is generated using a template (first template) retrieved from the object storage by satisfying all user requirements, and then delivered to the orchestrator, so that the orchestrator that has received the template script receives the user requirements It may be a process of driving a virtual machine (VM) that implements . Here, the template script may be a command, command syntax, etc. that enables the user's requirements to be realized in a virtual environment through the orchestrator.

만약, 상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않으면, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 기본 템플릿을 이용하여, 상기 버전에 해당하는 제1 템플릿을 작성한다. 즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 사용자 요구사항을 모두 만족하는 기작성된 템플릿이, 오브젝트 스토리지에 저장되어 있지 않는 경우, 규정의 기본 템플릿을 원형으로 하여, 해당 버전의 템플릿을 직접 작성할 수 있다.If the version of the template is not stored in the object storage, the cloud orchestration template management apparatus 100 creates a first template corresponding to the version by using the basic template. That is, the cloud orchestration template management device 100 can directly create a template of the corresponding version by using the basic template of the regulation as a prototype when a pre-written template that satisfies all user requirements is not stored in the object storage. .

상술의 예시에서, 기본 템플릿이 [사용자수 '1', Disk '20GB', image 'windows 8.1', RAM '20458MB']로 규정되는 경우, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 이러한 기본 템플릿에서, 사용자수/ Disk/RAM을 변경하여, 상기 사용자 요구사항 [사용자수 '15', Disk '40GB', image 'windows 8.1', RAM '4096MB']을 모두 가지는, 버전 V1.1의 템플릿을 직접 작성할 수 있다.In the above example, if the default template is defined as [the number of users '1', Disk '20GB', image 'windows 8.1', RAM '20458MB'], the cloud orchestration template management device 100 in this basic template, By changing the number of users/Disk/RAM, create your own template of version V1.1, which has all of the above user requirements [number of users '15', Disk '40GB', image 'windows 8.1', RAM '4096MB'] can

이후, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 상기 작성된 제1 템플릿을 상기 오케스트레이터로 전달할 수 있다. 즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 직접 작성한 제1 템플릿을 이용하여 생성되는 템플릿 스크립트를 오케스트레이터에 전달 함으로써, 상기 오케스트레이터에서, 상기 템플릿 스크립트에 의거하여, 상기 사용자 요구사항을 구현하는 가상머신(VM)을 구동하도록 할 수 있다.Thereafter, the cloud orchestration template management apparatus 100 may transmit the created first template to the orchestrator. That is, the cloud orchestration template management device 100 transmits a template script generated using the first template directly created to the orchestrator, and in the orchestrator, based on the template script, virtual implementation of the user requirements You can make it run a machine (VM).

사용자가 요구하는 버전의 템플릿이, 오브젝트 스토리지에 저장되는지를 확인하기 위해, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 인덱스 파일(Index File)을 통해, 상기 오브젝트 스토리지에 저장되는 모든 템플릿에 대한 리소스 정보를 확인한다. 즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 오브젝트 스토리지와 연동되어 템플릿의 리소스 정보를 기록하는 인덱스 파일로부터, 오브젝트 스토리지에 저장되어 있는 템플릿 각각에 대한 리소스 정보를 제공받아 확인 할 수 있다.In order to check whether the version of the template requested by the user is stored in the object storage, the cloud orchestration template management device 100 uses an index file (Index File) to store resource information on all templates stored in the object storage. Check it. That is, the cloud orchestration template management apparatus 100 may receive and check resource information for each template stored in the object storage from an index file that is linked with the object storage and records resource information of the template.

또한, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 상기 리소스 정보에서, 상기 사용자 요구사항에 상응하는 리소스 정보를 찾지 못하면, 상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않는 것으로 확인할 수 있다. 즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 리소스 정보를 분석하여, 사용자 요구사항에 해당되는 리소스 정보가 없다고 판별 함으로써, 요구되는 버전의 템플릿이, 오브젝트 스토리지에 실제 저장되지 않음을 확인할 수 있다.Also, if the cloud orchestration template management apparatus 100 does not find resource information corresponding to the user requirement in the resource information, it may be determined that the version of the template is not stored in the object storage. That is, the cloud orchestration template management apparatus 100 analyzes the resource information and determines that there is no resource information corresponding to the user requirement, thereby confirming that the required version of the template is not actually stored in the object storage.

상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않음에 따라, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 상기 기본 템플릿의 리소스 정보를, 상기 사용자 요구사항에 상응하도록 수정할 수 있다. 즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 규정의 기본 템플릿이 갖는 리소스 정보를, 사용자 요구사항에 맞춰 조정할 수 있다.As the version of the template is not stored in the object storage, the cloud orchestration template management apparatus 100 may modify resource information of the basic template to correspond to the user requirement. That is, the cloud orchestration template management apparatus 100 may adjust the resource information of the basic template of the regulation according to user requirements.

이후, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 상기 기본 템플릿에 상기 수정된 리소스 정보를 대응시켜, 상기 제1 템플릿으로 작성할 수 있다. 즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 조정된 리소스 정보가 대응되는 기본 템플릿을, 제1 템플릿으로서 새로 작성할 수 있다.Thereafter, the cloud orchestration template management apparatus 100 may create the first template by making the modified resource information correspond to the basic template. That is, the cloud orchestration template management apparatus 100 may newly create a basic template corresponding to the adjusted resource information as the first template.

또한, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 상기 수정에 따른, 상기 기본 템플릿의 리소스 정보로부터의 변경되는 정도를, 'Major' 또는 'Minor'로 구분하여, 상기 제1 템플릿의 리소스 정보에 기재한다. 즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 작성된 제1 템플릿이, 기본 템플릿과 어느 정도로 차이가 나는지를, 'Major' 또는 'Minor'로 태깅하여 구분할 수 있다.In addition, the cloud orchestration template management apparatus 100 classifies the degree of change from the resource information of the basic template according to the modification into 'Major' or 'Minor', and describes it in the resource information of the first template do. That is, the cloud orchestration template management apparatus 100 may identify how different the created first template is from the basic template by tagging it with 'Major' or 'Minor'.

기본 템플릿에서, 하드웨어 리소스인 '사용자수/Disk/RAM'이 변경되는 버전 V1.1의 템플릿을 작성하는 상술의 예시에 대해, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 버전 V1.1의 템플릿에 'Minor'로 태깅하여 구분할 수 있다.With respect to the above example of creating a template of version V1.1 in which 'number of users/Disk/RAM', which is a hardware resource, is changed in the basic template, the cloud orchestration template management device 100 is 'in the template of version V1.1' They can be identified by tagging them as 'Minor'.

만약, 기본 템플릿에서, 하드웨어 리소스, 뿐만 아니라 운영체계인 image까지 변경되는 버전2.0 [사용자수 '60', Disk '80GB', image 'Ubuntu 18.04', RAM '8192MB']에 대해, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 버전 V2.0의 템플릿에 'Major'로 태깅하여 구분할 수 있다.Cloud orchestration template management for version 2.0 [number of users '60', disk '80GB', image 'Ubuntu 18.04', RAM '8192MB'] that changes not only hardware resources, but also the operating system image in the basic template The device 100 can be identified by tagging the template of version V2.0 with 'Major'.

또한, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 상기 제1 템플릿의 리소스 정보를 상기 인덱스 파일에 기록하는 동시에, 상기 오브젝트 스토리에 상기 제1 템플릿을 저장할 수 있다. 즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 직접 작성한 템플릿에 대해, 리소스 정보를 인덱스 파일에 기록하여, 인덱스 파일에서 리소스 정보가 체계적으로 관리되게 하고, 또한 작성한 템플릿을 오브젝트 스토리에 보관되게 하여, 추후 템플릿에 대한 검색에 대응되게 할 수 있다.Also, the cloud orchestration template management apparatus 100 may record the resource information of the first template in the index file and store the first template in the object story. That is, the cloud orchestration template management apparatus 100 records the resource information in the index file for the template directly created, so that the resource information is systematically managed in the index file, and the created template is stored in the object story, It can be made to correspond to a search for a template later.

상기 사용자 요구사항에 대한 변화가 발생하면, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 상기 제1 템플릿과 연관되어, 상기 가상머신이 구동 중인지를 판단하고, 상기 판단 결과, 구동 중이면, 상기 제1 템플릿의 리소스 정보를, 인덱스 파일에서 추출하며, 상기 추출된 제1 템플릿의 리소스 정보를, 상기 변화된 사용자 요구사항에 상응하도록 수정하고, 상기 제1 템플릿에 상기 수정된 리소스 정보를 대응시켜, 제2 템플릿으로 갱신할 수 있다.When a change in the user requirements occurs, the cloud orchestration template management apparatus 100 determines whether the virtual machine is running in association with the first template, and as a result of the determination, if it is running, the first Extracting the resource information of the template from the index file, modifying the extracted resource information of the first template to correspond to the changed user requirements, and matching the modified resource information to the first template, a second The template can be updated.

즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 기존 사용자 요구사항에 따른 제1 템플릿이 가상머신으로 구현되는 도중에, 사용자 요구사항에 변화가 발생하면, 제1 템플릿의 리소스 정보를 조정하여, 변화된 사용자 요구사항에 맞는 템플릿을 작성한 후, 제2 템플릿으로 갱신함으로써, 변화된 사용자 요구사항에 따른 제2 템플릿이 가상머신으로 구현되도록 할 수 있다.That is, the cloud orchestration template management apparatus 100 adjusts the resource information of the first template when a change occurs in user requirements while the first template according to the existing user requirements is implemented as a virtual machine, and the changed user requirements After creating a template that meets the requirements and updating the second template, the second template according to the changed user requirements can be implemented as a virtual machine.

반면, 상기 판단 결과, 구동 중이 아니면, 클라우드 오케스트레이션 템플릿 관리 장치(100)는, 기본 템플릿의 리소스 정보를, 상기 변화된 사용자 요구사항에 상응하도록 수정하고, 상기 기본 템플릿에 상기 수정된 리소스 정보가 대응시켜, 상기 제2 템플릿으로 작성할 수 있다.On the other hand, as a result of the determination, if not in operation, the cloud orchestration template management apparatus 100 modifies the resource information of the basic template to correspond to the changed user requirements, and the modified resource information corresponds to the basic template , can be written as the second template.

즉, 클라우드 오케스트레이션 템플릿 관리 장치(100)는 제1 템플릿이 가상머신으로 현재 구현되지 않고, 단지 오브젝트 스토리지에 유지되고 있다면, 변화된 사용자 요구사항에 따른 템플릿을, 기본 템플릿의 리소스 정보에 대한 조정을 통해 작성한 후, 이를 제2 템플릿으로서 오케스트레이터로 전달 함으로써, 오케스트레이터에서 변화된 사용자 요구사항을 구현하는 가상머신을 구동하도록 할 수 있다.That is, if the first template is not currently implemented as a virtual machine and is only maintained in object storage, the cloud orchestration template management device 100 adjusts the template according to the changed user requirements to the resource information of the basic template. After writing it, by passing it to the orchestrator as a second template, the orchestrator can run a virtual machine that implements the changed user requirements.

본 발명의 일실시예에 따르면, 사용자 맞춤형 클라우드 환경을 구축하기 위해, 기본 템플릿을 관리 및 제공하여 가상머신의 변경이 필요할 시 활용하며, 이 후 가상머신의 자원이 변경되는 부분을 정확하게 식별하는, 클라우드 오케스트레이션 템플릿 관리 방법 및 장치를 제공 할 수 있다.According to an embodiment of the present invention, in order to build a user-customized cloud environment, a basic template is managed and provided to be used when a change of the virtual machine is required, and thereafter, the part where the resource of the virtual machine is changed is accurately identified. A cloud orchestration template management method and device may be provided.

또한, 본 발명의 일실시예에 따르면, 식별된 자원의 변경사항을 바탕으로 갱신된 버전을 가지는 새로운 템플릿을 생성하거나, 또는 기존의 템플릿을 재사용하는 방법을 활용하여 가상머신을 자동으로 배치 및 효율적으로 관리 할 수 있다.In addition, according to an embodiment of the present invention, a new template having an updated version is created based on the identified resource changes, or a virtual machine is automatically deployed and efficiently using a method of reusing an existing template. can be managed with

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or apparatus, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in an order different from the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

100 : 클라우드 오케스트레이션 템플릿 관리 장치
110 : 식별부 120 : 검색부
130 : 처리부 140 : 리소스 관리부
100: Cloud orchestration template management device
110: identification unit 120: search unit
130: processing unit 140: resource management unit

Claims (17)

가상머신(VM, Virtual Machine)의 구동 요청에 연동하여,
상기 구동 요청에 포함되는 사용자 요구사항을 식별하는 단계;
상기 사용자 요구사항에 의해 정해지는 버전의 템플릿을, 오브젝트 스토리지(Object Storage)에서 검색하는 단계; 및
상기 오브젝트 스토리지로부터 검색된 제1 템플릿을 오케스트레이터(Orchestrator)로 전달 함으로써, 상기 오케스트레이터에서 상기 사용자 요구사항을 구현하는 가상머신을 구동하도록 하는 단계
를 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법.
In conjunction with the request to run a virtual machine (VM, Virtual Machine),
identifying user requirements included in the driving request;
retrieving a version of the template determined by the user requirement from object storage; and
By transferring the first template retrieved from the object storage to an orchestrator, the orchestrator drives a virtual machine that implements the user requirements.
A cloud orchestration template management method with a version control system that includes
제1항에 있어서,
상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않으면,
기본 템플릿(Base Template)을 이용하여, 상기 버전에 해당하는 제1 템플릿을 작성하는 단계; 및
상기 작성된 제1 템플릿을 상기 오케스트레이터로 전달하는 단계
를 더 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법.
According to claim 1,
If the version of the template is not stored in the object storage,
creating a first template corresponding to the version by using a base template; and
transmitting the created first template to the orchestrator
A cloud orchestration template management method with a version control system that further includes.
제2항에 있어서,
인덱스 파일(Index File)을 통해, 상기 오브젝트 스토리지에 저장되는 모든 템플릿에 대한 리소스 정보를 확인하는 단계; 및
상기 리소스 정보에서, 상기 사용자 요구사항에 상응하는 리소스 정보를 찾지 못하면,
상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않는 것으로 확인하는 단계
를 더 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법.
3. The method of claim 2,
checking resource information on all templates stored in the object storage through an index file; and
In the resource information, if resource information corresponding to the user requirement is not found,
confirming that the version of the template is not stored in the object storage;
A cloud orchestration template management method with a version control system that further includes.
제3항에 있어서,
상기 제1 템플릿을 작성하는 단계는,
상기 기본 템플릿의 리소스 정보를, 상기 사용자 요구사항에 상응하도록 수정하는 단계; 및
상기 기본 템플릿에 상기 수정된 리소스 정보를 대응시켜, 상기 제1 템플릿으로 작성하는 단계
를 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법.
4. The method of claim 3,
Creating the first template comprises:
modifying the resource information of the basic template to correspond to the user requirements; and
Corresponding the modified resource information to the basic template, creating the first template
A cloud orchestration template management method with a version control system that includes
제4항에 있어서,
상기 제1 템플릿을 작성하는 단계는,
상기 수정에 따른, 상기 기본 템플릿의 리소스 정보로부터의 변경되는 정도를, 'Major' 또는 'Minor'로 구분하여, 상기 제1 템플릿의 리소스 정보에 기재하는 단계
를 더 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법.
5. The method of claim 4,
Creating the first template comprises:
Classifying the degree of change from the resource information of the basic template according to the modification into 'Major' or 'Minor', and writing in the resource information of the first template
A cloud orchestration template management method with a version control system that further includes.
제4항에 있어서,
상기 클라우드 오케스트레이션 템플릿 관리 방법은,
상기 제1 템플릿의 리소스 정보를 상기 인덱스 파일에 기록하는 동시에, 상기 오브젝트 스토리에 상기 제1 템플릿을 저장하는 단계
를 더 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법.
5. The method of claim 4,
The cloud orchestration template management method comprises:
Recording the resource information of the first template in the index file and storing the first template in the object story
A cloud orchestration template management method with a version control system that further includes.
제1항에 있어서,
상기 사용자 요구사항에 대한 변화가 발생하면,
상기 제1 템플릿과 연관되어, 상기 가상머신이 구동 중인지를 판단하는 단계;
상기 판단 결과, 구동 중이면,
상기 제1 템플릿의 리소스 정보를, 인덱스 파일에서 추출하는 단계;
상기 추출된 제1 템플릿의 리소스 정보를, 상기 변화된 사용자 요구사항에 상응하도록 수정하는 단계; 및
상기 제1 템플릿에 상기 수정된 리소스 정보를 대응시켜, 제2 템플릿으로 갱신하는 단계
를 더 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법.
According to claim 1,
When changes to the above user requirements occur,
In association with the first template, determining whether the virtual machine is running;
As a result of the determination, if it is running,
extracting the resource information of the first template from an index file;
modifying the resource information of the extracted first template to correspond to the changed user requirements; and
Corresponding the modified resource information to the first template and updating to a second template
A cloud orchestration template management method with a version control system that further includes.
제7항에 있어서,
상기 판단 결과, 구동 중이 아니면,
기본 템플릿의 리소스 정보를, 상기 변화된 사용자 요구사항에 상응하도록 수정하는 단계; 및
상기 기본 템플릿에 상기 수정된 리소스 정보가 대응시켜, 상기 제2 템플릿으로 작성하는 단계
를 더 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 방법.
8. The method of claim 7,
As a result of the above determination, if it is not running,
modifying the resource information of the basic template to correspond to the changed user requirements; and
Corresponding the modified resource information to the basic template, creating the second template
A cloud orchestration template management method with a version control system that further includes.
가상머신(VM, Virtual Machine)의 구동 요청에 연동하여,
상기 구동 요청에 포함되는 사용자 요구사항을 식별하는 식별부;
상기 사용자 요구사항에 의해 정해지는 버전의 템플릿을, 오브젝트 스토리지(Object Storage)에서 검색하는 검색부; 및
상기 오브젝트 스토리지로부터 검색된 제1 템플릿을 오케스트레이터(Orchestrator)로 전달 함으로써, 상기 오케스트레이터에서 상기 사용자 요구사항을 구현하는 가상머신을 구동하도록 하는 처리부
를 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치.
In conjunction with the request to run a virtual machine (VM, Virtual Machine),
an identification unit for identifying user requirements included in the driving request;
a search unit that searches for a version of the template determined by the user requirement from object storage; and
A processing unit that transmits the first template retrieved from the object storage to an orchestrator to drive a virtual machine that implements the user requirements in the orchestrator
A cloud orchestration template management device with a version control system that includes
제9항에 있어서,
상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않으면,
상기 처리부는,
기본 템플릿(Base Template)을 이용하여, 상기 버전에 해당하는 제1 템플릿을 작성하고,
상기 작성된 제1 템플릿을 상기 오케스트레이터로 전달하는
버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치.
10. The method of claim 9,
If the version of the template is not stored in the object storage,
The processing unit,
Using a base template, create a first template corresponding to the version,
delivering the created first template to the orchestrator
Cloud orchestration template management device with version control system applied.
제10항에 있어서,
인덱스 파일(Index File)을 통해, 상기 오브젝트 스토리지에 저장되는 모든 템플릿에 대한 리소스 정보를 확인하고, 상기 리소스 정보에서, 상기 사용자 요구사항에 상응하는 리소스 정보를 찾지 못하면, 상기 버전의 템플릿이, 상기 오브젝트 스토리지에 저장되지 않는 것으로 확인하는 리소스 관리부
를 더 포함하는 버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치.
11. The method of claim 10,
Check resource information for all templates stored in the object storage through an index file, and if resource information corresponding to the user requirement is not found in the resource information, the version of the template is Resource management plane that confirms that it is not stored in object storage
A cloud orchestration template management device to which a version control system is applied further comprising a.
제11항에 있어서,
상기 처리부는,
상기 기본 템플릿의 리소스 정보를, 상기 사용자 요구사항에 상응하도록 수정하고,
상기 기본 템플릿에 상기 수정된 리소스 정보를 대응시켜, 상기 제1 템플릿으로 작성하는
버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치.
12. The method of claim 11,
The processing unit,
Modify the resource information of the basic template to correspond to the user requirements,
Corresponding the modified resource information to the basic template to create the first template
Cloud orchestration template management device with version control system applied.
제12항에 있어서,
상기 처리부는,
상기 수정에 따른, 상기 기본 템플릿의 리소스 정보로부터의 변경되는 정도를, 'Major' 또는 'Minor'로 구분하여, 상기 제1 템플릿의 리소스 정보에 기재하는
버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치.
13. The method of claim 12,
The processing unit,
According to the modification, the degree of change from the resource information of the basic template is divided into 'Major' or 'Minor', which is described in the resource information of the first template
Cloud orchestration template management device with version control system applied.
제12항에 있어서,
상기 리소스 관리부는,
상기 제1 템플릿의 리소스 정보를 상기 인덱스 파일에 기록하는 동시에, 상기 오브젝트 스토리에 상기 제1 템플릿을 저장하는
버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치.
13. The method of claim 12,
The resource management unit,
Recording the resource information of the first template in the index file and storing the first template in the object story
Cloud orchestration template management device with version control system applied.
제9항에 있어서,
상기 사용자 요구사항에 대한 변화가 발생하면,
상기 처리부는,
상기 제1 템플릿과 연관되어, 상기 가상머신이 구동 중인지를 판단하고,
상기 판단 결과, 구동 중이면,
상기 제1 템플릿의 리소스 정보를, 인덱스 파일에서 추출하며, 상기 추출된 제1 템플릿의 리소스 정보를, 상기 변화된 사용자 요구사항에 상응하도록 수정하고, 상기 제1 템플릿에 상기 수정된 리소스 정보를 대응시켜, 제2 템플릿으로 갱신하는
버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치.
10. The method of claim 9,
When changes to the above user requirements occur,
The processing unit,
In association with the first template, it is determined whether the virtual machine is running,
As a result of the determination, if it is running,
Extracting the resource information of the first template from the index file, modifying the extracted resource information of the first template to correspond to the changed user requirements, and matching the modified resource information to the first template , to update with the second template
Cloud orchestration template management device with version control system applied.
제15항에 있어서,
상기 판단 결과, 구동 중이 아니면,
상기 처리부는,
기본 템플릿의 리소스 정보를, 상기 변화된 사용자 요구사항에 상응하도록 수정하고,
상기 기본 템플릿에 상기 수정된 리소스 정보가 대응시켜, 상기 제2 템플릿으로 작성하는
버전 관리 시스템을 적용한 클라우드 오케스트레이션 템플릿 관리 장치.
16. The method of claim 15,
As a result of the above determination, if it is not running,
The processing unit,
Modify the resource information of the basic template to correspond to the changed user requirements,
The modified resource information corresponds to the basic template to create the second template
Cloud orchestration template management device with version control system applied.
제1항 내지 제8항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium recording a program for executing the method of any one of claims 1 to 8.
KR1020200143533A 2020-10-30 2020-10-30 Method and device to manage cloud orchestration template with version management system KR102471532B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200143533A KR102471532B1 (en) 2020-10-30 2020-10-30 Method and device to manage cloud orchestration template with version management system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200143533A KR102471532B1 (en) 2020-10-30 2020-10-30 Method and device to manage cloud orchestration template with version management system

Publications (2)

Publication Number Publication Date
KR20220058132A true KR20220058132A (en) 2022-05-09
KR102471532B1 KR102471532B1 (en) 2022-11-28

Family

ID=81582356

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200143533A KR102471532B1 (en) 2020-10-30 2020-10-30 Method and device to manage cloud orchestration template with version management system

Country Status (1)

Country Link
KR (1) KR102471532B1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011117958A1 (en) * 2010-03-20 2011-09-29 株式会社Pfu Virtual machine management device, virtual machine management method, and program
US20160014042A1 (en) * 2010-10-05 2016-01-14 Accenture Global Services Limited System and method for cloud enterprise services
US20160366233A1 (en) * 2015-06-10 2016-12-15 Platform9, Inc. Private Cloud as a service
US20190340037A1 (en) * 2012-06-29 2019-11-07 Emc Corporation Blueprint-driven environment template creation in a virtual infrastructure
KR20200042702A (en) * 2018-10-16 2020-04-24 부산대학교 산학협력단 Method and device of cloud orchestration based in openstack

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011117958A1 (en) * 2010-03-20 2011-09-29 株式会社Pfu Virtual machine management device, virtual machine management method, and program
US20160014042A1 (en) * 2010-10-05 2016-01-14 Accenture Global Services Limited System and method for cloud enterprise services
US20190340037A1 (en) * 2012-06-29 2019-11-07 Emc Corporation Blueprint-driven environment template creation in a virtual infrastructure
US20160366233A1 (en) * 2015-06-10 2016-12-15 Platform9, Inc. Private Cloud as a service
KR20200042702A (en) * 2018-10-16 2020-04-24 부산대학교 산학협력단 Method and device of cloud orchestration based in openstack

Also Published As

Publication number Publication date
KR102471532B1 (en) 2022-11-28

Similar Documents

Publication Publication Date Title
EP3204849B1 (en) Systems and methods to update source code files
US11150877B2 (en) Automatically generating machine learning models for software tools that operate on source code
CN103493028B (en) Virtual disk memory technology
US11842174B2 (en) Translating between programming languages using machine learning
US8498887B2 (en) Estimating project size
CN104423983B (en) For developing, testing and the method and apparatus of application deployment
JP2017062767A5 (en)
BR102019003207A2 (en) use of machine learning model and natural language processing to manage and assign tasks
US20080126925A1 (en) Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems
US20080263258A1 (en) Method and System for Migrating Virtual Machines Between Hypervisors
US11256484B2 (en) Utilizing natural language understanding and machine learning to generate an application
CN106528201B (en) Method and device for loading animation in game
US20190188049A1 (en) Apparatus and method to select services for executing a user program based on a code pattern included therein
US20150370583A1 (en) System and method for simulating virtual machine (vm) placement in virtual datacenters
CN109542410A (en) Rule engine system, method, equipment and storage medium
US20190068458A1 (en) Methods and apparatus to generate user interface virtual resource provisioning request forms
CN106201657A (en) A kind of network interface card information processing method based on virtual machine and device
CN105446725A (en) Method and system for model driven development
US11183076B2 (en) Cognitive content mapping and collating
US20130144803A1 (en) Method and System for Generating One Flow Models from Runtime Service Delivery Process
US11061739B2 (en) Dynamic infrastructure management and processing
KR102471532B1 (en) Method and device to manage cloud orchestration template with version management system
CN111352664B (en) Distributed machine learning task starting method, system, equipment and storage medium
Borgenholt et al. Audition: a DevOps-oriented service optimization and testing framework for cloud environments
US20140089886A1 (en) Using multiple technical writers to produce a specified software documentation package

Legal Events

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