KR101997629B1 - Method for generating service infrastructure using modeling language and apparatus therefor - Google Patents

Method for generating service infrastructure using modeling language and apparatus therefor Download PDF

Info

Publication number
KR101997629B1
KR101997629B1 KR1020180172870A KR20180172870A KR101997629B1 KR 101997629 B1 KR101997629 B1 KR 101997629B1 KR 1020180172870 A KR1020180172870 A KR 1020180172870A KR 20180172870 A KR20180172870 A KR 20180172870A KR 101997629 B1 KR101997629 B1 KR 101997629B1
Authority
KR
South Korea
Prior art keywords
metamodel
service infrastructure
infrastructure
hardware
software
Prior art date
Application number
KR1020180172870A
Other languages
Korean (ko)
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 KR1020180172870A priority Critical patent/KR101997629B1/en
Application granted granted Critical
Publication of KR101997629B1 publication Critical patent/KR101997629B1/en

Links

Images

Classifications

    • G06F17/5086
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM]
    • G05B19/41885Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS], computer integrated manufacturing [CIM] characterised by modeling, simulation of the manufacturing system
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/408Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/4202Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine preparation of the programme medium using a drawing, a model
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Abstract

According to an embodiment of the present invention, provided are a method for generating a service infrastructure using a modeling language and an apparatus thereof. According to an embodiment of the present invention, the method for generating the service infrastructure using a modeling language in an apparatus for generating a service infrastructure comprises the steps of: receiving design data configured with the modeling language from a computing device to generate a service infrastructure for a plurality of devices; converting the received design data into a specification consisting of specific codes; and requesting the plurality of devices to generate the service infrastructure based on the converted specification.

Description

모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법 및 그 장치 {METHOD FOR GENERATING SERVICE INFRASTRUCTURE USING MODELING LANGUAGE AND APPARATUS THEREFOR}Method of generating service infrastructure using modeling language and its device {METHOD FOR GENERATING SERVICE INFRASTRUCTURE USING MODELING LANGUAGE AND APPARATUS THEREFOR}

본 발명은 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법 및 그 장치를 제공한다.The present invention provides a method and apparatus for generating a service infrastructure using a modeling language.

일반적으로 서비스로서의 인프라스트럭처(Infrastructure as a Service, IaaS)는 서버, 스토리지 또는 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있도록 서비스를 제공하는 형태이다. 이러한 IaaS는 클라우드 서비스(Cloud service)에서 사용되는 물리적 머신을 기반으로 하는 베어 메탈(Bare Metal), 가상 머신(Virtual Machine, VM)을 기반으로 하는 가상화(Virtualization) 및 컨테이너 기반 컨테이너리제이션(containerization)과 같은 컴퓨팅 리소스(computing resource)를 제공한다. In general, infrastructure as a service (IaaS) is a form of providing a service so that an infrastructure resource can be used as needed by making a server, storage, or network into a virtualized environment. These IaaSs are bare metal based on physical machines used in cloud services, virtualization based on virtual machines, and container-based containerization based on virtual machines. It provides computing resources such as

이러한 IaaS를 배치(deploying)하는 것이 좀 더 복잡해지고, 리눅스 클러스터(Linux cluster)가 계속적으로 확장됨에 따라 IaaS를 지원하는 서비스 인프라스트럭처를 생성하는 것이 점차 어려워지고 있다. Deploying these IaaSs is becoming more complex, and as Linux clusters continue to expand, creating a service infrastructure that supports IaaS becomes increasingly difficult.

종래에는 서비스 인프라스트럭처를 생성하기 위해 사용자가 서비스 인프라스트럭처에서 사용되는 코드를 이용하여 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 설계하였다. Conventionally, in order to create a service infrastructure, a user designed a hardware environment and a software environment of a service infrastructure by using a code used in the service infrastructure.

이러한 경우, 하드웨어 환경 및 소프트웨어 환경뿐만 아니라 그들 사이의 관계성을 설계해야 하므로, 많은 시간과 노동이 소요된다. 또한, 서비스 인프라스트럭처 생성을 위해 각 호스트에서 필요한 소프트웨어 및 구성 파일이 서로 다르기 때문에, 구성 파일을 재사용하기 어렵다는 문제점이 있다.In this case, the hardware environment and the software environment, as well as the relationship between them, must be designed, which takes a lot of time and labor. In addition, since the software and configuration files required for each host to create a service infrastructure are different, there is a problem that it is difficult to reuse the configuration file.

따라서, 보다 빠르고 효율적으로 서비스 인프라스트럭처를 생성하기 위한 방법이 요구된다.Therefore, there is a need for a method for creating a service infrastructure faster and more efficiently.

본 발명이 해결하고자 하는 과제는 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법 및 그 장치를 제공하는 것이다. The problem to be solved by the present invention is to provide a method and apparatus for creating a service infrastructure using a modeling language.

구체적으로, 본 발명이 해결하고자 하는 과제는 그래픽 객체를 모델링 언어로서 이용한 설계 툴을 제공하여 보다 빠르고 효율적으로 서비스 인프라스트럭처를 생성하기 위한 서비스 인프라스트럭처 생성 방법 및 그 장치를 제공하는 것이다.More specifically, the present invention has been made in an effort to provide a service infrastructure generation method and apparatus for quickly and efficiently generating a service infrastructure by providing a design tool using a graphic object as a modeling language.

본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects that are not mentioned will be clearly understood by those skilled in the art from the following description.

전술한 바와 같은 과제를 해결하기 위하여 본 발명의 실시예에 따른 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법 및 그 장치가 제공된다. 본 발명의 실시예에 따른 서비스 인프라스트럭처(infrastructure) 생성 장치에서 모델링 언어를 이용한 서비스 인프라스트럭처를 생성하기 위한 방법에 있어서, 복수의 장치들에 대한 서비스 인프라스트럭처를 생성하기 위해 컴퓨팅 장치로부터 상기 모델링 언어로 이루어진 설계 데이터를 수신하는 단계; 상기 수신된 설계 데이터를 특정 코드로 이루어진 명세서로 변환하는 단계; 및 상기 변환된 명세서를 기초로 상기 서비스 인프라스트럭처에 대한 생성을 상기 복수의 장치들로 요청하는 단계를 포함한다.In order to solve the above problems, there is provided a method and apparatus for creating a service infrastructure using a modeling language according to an embodiment of the present invention. In the method for generating a service infrastructure using a modeling language in a service infrastructure generation device according to an embodiment of the present invention, the modeling language from the computing device to generate a service infrastructure for a plurality of devices Receiving design data consisting of; Converting the received design data into a specification consisting of a specific code; And requesting the plurality of devices to create the service infrastructure based on the converted specification.

본 발명의 실시예에 따른 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치는, 컴퓨팅 장치 및 복수의 장치들과 통신하도록 구성된 통신부, 저장부; 및 상기 통신부 및 상기 저장부와 동작 가능하게 연결된 프로세서를 포함하고, 상기 프로세서는, 상기 복수의 장치들에 대한 서비스 인프라스트럭처(infrastructure)를 생성하기 위해 상기 컴퓨팅 장치로부터 상기 모델링 언어로 이루어진 설계 데이터를 수신하고, 상기 수신된 설계 데이터를 특정 코드로 이루어진 명세서로 변환하고, 상기 변환된 명세서를 기초로 상기 서비스 인프라스트럭처에 대한 생성을 상기 복수의 장치들로 요청한다.An apparatus for generating a service infrastructure using a modeling language according to an embodiment of the present invention includes a communication unit and a storage unit configured to communicate with a computing device and a plurality of devices; And a processor operatively connected to the communication unit and the storage unit, wherein the processor is configured to generate design data of the modeling language from the computing device to generate a service infrastructure for the plurality of devices. Receive, convert the received design data into a specification consisting of a specific code, and request generation of the service infrastructure to the plurality of devices based on the converted specification.

기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Specific details of other embodiments are included in the detailed description and drawings.

본 발명은 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 자동으로 구축하기 위해 그래픽 객체를 모델링 언어로서 이용하여 서비스 인프라스트럭처를 간단하게 설계할 수 있는 설계 툴을 제공함으로써, 서비스 인프라 구축을 위한 설계 과정이 단순화되어 사용자가 쉽고 편리하게 서비스 인프라스트럭처를 생성할 수 있다.The present invention provides a design tool for easily designing a service infrastructure using a graphic object as a modeling language to automatically build a hardware and software environment of a service infrastructure, thereby providing a design process for building a service infrastructure. Simplification allows users to create service infrastructures easily and conveniently.

또한, 본 발명은 서비스 인프라스트럭처 생성을 위해 소요되는 시간 및 노동을 최소화하여 보다 빠르고 효율적으로 서비스 인프라스트럭처를 생성할 수 있다.In addition, the present invention can minimize the time and labor required to create a service infrastructure to create a service infrastructure more quickly and efficiently.

또한, 본 발명은 사용자가 설계 툴을 이용하여 서비스 인프라스트럭처의 하드웨어 및/또는 소프트웨어 구성 컴포넌트에 해당하는 그래픽 객체의 배치를 통해 서비스 인프라스트럭처를 구성함으로써, 서비스 인프라스트럭처를 구성하는 구성 컴포넌트의 재사용성이 향상될 수 있다.In addition, the present invention provides a reusability of the configuration component constituting the service infrastructure by the user to configure the service infrastructure through the placement of graphic objects corresponding to the hardware and / or software configuration components of the service infrastructure using a design tool This can be improved.

본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 발명 내에 포함되어 있다.Effects according to the present invention are not limited by the contents exemplified above, and more various effects are included in the present invention.

도 1은 본 발명의 실시예에 따른 메타 모델 기반 서비스 인프라스트럭처 생성 시스템의 개략도이다.
도 2는 본 발명의 실시예에 따른 컴퓨팅 장치를 설명하기 위한 블럭도이다.
도 3은 본 발명의 실시예에 따른 서비스 제공 서버를 설명하기 위한 블럭도이다.
도 4는 본 발명의 실시 예에 따른 서비스 인프라 생성을 위해 사용되는 각 컴포넌트에 대응하여 미리 정의된 XML 데이터를 나타내는 예시도이다.
도 5는 본 발명의 실시예에 따른 서비스 인프라의 하드웨어 환경에 해당하는 하드웨어 디스크립션 메타 모델의 다이어그램이다.
도 6는 본 발명의 실시예에 따른 서비스 인프라의 하드웨어 환경에 해당하는 네트워크 장치 메타 모델의 다이어그램이다.
도 7은 본 발명의 실시예에 따른 서비스 인프라의 하드웨어 환경에 해당하는 하드웨어 연결 메타 모델의 다이어그램이다.
도 8은 본 발명의 실시예에 따른 서비스 인프라의 소프트웨어 환경에 해당하는 베어 메탈 인프라 메타 모델의 다이어그램이다.
도 9은 본 발명의 실시예에 따른 서비스 인프라의 소프트웨어 환경에 해당하는 가상 인프라 메타 모델의 다이어그램이다.
도 10은 본 발명의 실시예에 따른 BPMN 메타 모델의 다이어그램이다.
도 11a 및 도 11b는 본 발명의 실시예에 따른 설계 툴에 대한 인터페이스 화면을 설명하기 위한 예시도들이다.
도 12는 본 발명의 실시예에 따른 설계 툴에 대한 인터페이스 화면을 설명하기 위한 예시도이다.
도 13은 본 발명의 실시예에 따른 서비스 제공 장치의 프로세서 및 저장부를 설명하기 위한 블록도이다.
도 14는 본 발명의 실시예에 따른 모델링 언어를 이용한 서비스 인트라스트럭처 생성 장치에서 서비스 인트라스트럭처를 생성하기 위한 방법을 나타내는 흐름도이다.
1 is a schematic diagram of a metamodel based service infrastructure generation system according to an embodiment of the present invention.
2 is a block diagram illustrating a computing device according to an embodiment of the present invention.
3 is a block diagram illustrating a service providing server according to an exemplary embodiment of the present invention.
4 is an exemplary diagram illustrating XML data predefined in correspondence with each component used to create a service infrastructure according to an embodiment of the present invention.
5 is a diagram of a hardware description metamodel corresponding to a hardware environment of a service infrastructure according to an embodiment of the present invention.
6 is a diagram of a network device metamodel corresponding to a hardware environment of a service infrastructure according to an embodiment of the present invention.
7 is a diagram of a hardware connection metamodel corresponding to a hardware environment of a service infrastructure according to an embodiment of the present invention.
8 is a diagram of a bare metal infrastructure metamodel corresponding to a software environment of a service infrastructure according to an embodiment of the present invention.
9 is a diagram of a virtual infrastructure metamodel corresponding to a software environment of a service infrastructure according to an embodiment of the present invention.
10 is a diagram of a BPMN metamodel according to an embodiment of the invention.
11A and 11B are exemplary diagrams for describing an interface screen for a design tool according to an exemplary embodiment of the present invention.
12 is an exemplary view for explaining an interface screen for a design tool according to an embodiment of the present invention.
13 is a block diagram illustrating a processor and a storage unit of a service providing apparatus according to an exemplary embodiment of the present invention.
14 is a flowchart illustrating a method for generating a service intrastructure in an apparatus for generating a service intrastructure using a modeling language according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, only the present embodiments to make the disclosure of the present invention complete, and common knowledge in the art to which the present invention pertains. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims.

비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.Although the first, second, etc. are used to describe various components, these components are of course not limited by these terms. These terms are only used to distinguish one component from another. Therefore, of course, the first component mentioned below may be the second component within the technical spirit of the present invention.

명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Like reference numerals refer to like elements throughout.

본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.Each of the features of the various embodiments of the present invention may be combined or combined with each other in part or in whole, various technically interlocking and driving as can be understood by those skilled in the art, each of the embodiments may be implemented independently of each other It may be possible to carry out together in an association.

본 명세서에서 “프로비저닝”이란, 사용자의 요구에 따라 자원을 할당, 배치 및 배포하는 절차를 포괄하여 의미한다. 여기서, 자원이란 서버의 메모리, CPU 등을 의미할 수 있다. As used herein, the term "provisioning" refers to a procedure of allocating, arranging, and distributing resources according to a user's request. Here, the resource may mean a memory of the server, a CPU, or the like.

이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시예에 따른 메타 모델 기반 서비스 인프라스트럭처(infrastructure, 이하 '인프라'라고 함) 생성 시스템의 개략도이다.1 is a schematic diagram of a meta-model based service infrastructure generation system according to an embodiment of the present invention.

도 1을 참조하면, 서비스 인프라 생성 시스템(100)은 사용자의 컴퓨팅 장치(110), 서비스 제공 서버(120) 및 복수의 장치들(130)을 포함한다.Referring to FIG. 1, the service infrastructure generation system 100 includes a user's computing device 110, a service providing server 120, and a plurality of devices 130.

컴퓨팅 장치(110)는 서비스 제공 서버(120)와 무선 또는 유선으로 연결되고, 인터넷 또는 인트라넷에 접속 가능한 휴대용 단말기, 스마트 TV, 스마트 TV, PC(Personal Computer), 노트북 등을 포함할 수 있다. 컴퓨팅 장치(110)는 서비스 제공 서버(120)로부터 제공된, 복수의 장치들(130)에 대한 서비스 인프라를 설계하기 위한 사용자 인터페이스를 제공하는 장치로서, 해당 사용자 인터페이스를 표시하는 표시부를 구비할 수 있다. 이러한 사용자 인터페이스는 컴퓨팅 장치(110)에 설치된 웹 브라우저, 어플리케이션, 프로그램 또는 위젯 등을 통해 제공될 수 있다.The computing device 110 may include a portable terminal, a smart TV, a smart TV, a personal computer (PC), a laptop, and the like, connected to the service providing server 120 by wireless or wired and connected to the Internet or an intranet. The computing device 110 is a device that provides a user interface for designing a service infrastructure for the plurality of devices 130, which is provided from the service providing server 120, and may include a display unit displaying a corresponding user interface. . Such a user interface may be provided through a web browser, an application, a program, or a widget installed in the computing device 110.

컴퓨팅 장치(110)는 사용자 인터페이스를 통해 복수의 장치들(130)에 대한 서비스 인프라 구축을 위한 설계 데이터를 생성하고, 생성된 설계 데이터를 서비스 제공 서버(120)로 전달할 수 있다. 구체적으로, 컴퓨팅 장치(110)는 복수의 장치들(130)에 구축될 수 있는 서비스 인프라에 관련된 하드웨어 또는/및 소프트웨어 관련 그래픽 객체들을 나타내는 객체 공간과, 해당 그래픽 객체들을 배치하는 배치 공간을 포함하는 사용자 인터페이스를 표시할 수 있다. 여기서, 그래픽 객체는 설계를 위한 모델링 언어로서 제공될 수 있다. 예를 들어, 객체 공간은 하드웨어 환경을 구성하기 위해 사용되는 각 컴포넌트에 대응하는 복수의 그래픽 객체들을 포함하거나, 소프트웨어 환경을 구성하기 위해 사용되는 각 컴포넌트 대응하는 복수의 그래픽 객체들을 포함할 수 있다. 객체 공간에 포함된 복수의 그래픽 객체들 중 사용자에 의해서 선택된 그래픽 객체들은 사용자의 요청에 의해 배치 공간으로 이동될 수 있다. 사용자는 마우스 등과 같이 입력 인터페이스 장치를 이용하여 그래픽 객체들 중 적어도 하나를 클릭 및 드래그를 통해 배치 공간으로 이동시킬 수 있다. 사용자에 의해 서비스 인프라에 대한 하드웨어 환경 또는/및 소프트웨어 환경에 대응하는 하드웨어 또는/및 소프트웨어 그래픽 객체에 대한 배치가 완료되면 컴퓨팅 장치(110)는 이에 대한 설계 데이터를 생성하고, 생성된 설계 데이터를 서비스 제공 서버(120)로 전달할 수 있다.The computing device 110 may generate design data for building a service infrastructure for the plurality of devices 130 through a user interface, and transfer the generated design data to the service providing server 120. In detail, the computing device 110 includes an object space representing hardware or / or software related graphic objects related to a service infrastructure that may be built in the plurality of devices 130, and an arrangement space in which the graphic objects are disposed. The user interface can be displayed. Here, the graphic object may be provided as a modeling language for design. For example, the object space may include a plurality of graphic objects corresponding to each component used to construct a hardware environment, or may include a plurality of graphic objects corresponding to each component used to construct a software environment. Graphic objects selected by the user among the plurality of graphic objects included in the object space may be moved to the layout space by a user's request. The user may move at least one of the graphic objects to the layout space by clicking and dragging using an input interface device such as a mouse. When the user completes the arrangement of hardware or / and software graphic objects corresponding to the hardware environment and / or the software environment of the service infrastructure, the computing device 110 generates design data therefor and services the generated design data. It may be delivered to the providing server 120.

서비스 제공 서버(120)는 복수의 장치들(130)에 대한 장치 정보를 획득하고, 획득된 장치 정보를 이용하여 복수의 장치들(130)에 대한 서비스 인프라를 설계하기 위한 사용자 인터페이스를 컴퓨팅 장치(110)로 제공할 수 있다. 구체적으로, 서비스 제공 서버(120)는 네트워크 부팅을 통해 서비스 제공 서버(120)와 연결된 복수의 장치들(130)에 대한 하드웨어 감지를 수행할 수 있다. 서비스 제공 서버(120)는 복수의 장치들(130)로부터 장치 정보를 수신하고, 수신된 장치 정보를 이용하여 서비스 인프라를 설계하기 위한 사용자 인터페이스를 컴퓨팅 장치(110)로 제공할 수 있다. 여기서, 장치 정보는 복수의 장치들(130) 각각에 대한 종류, 연결 방식, 용량, 읽기 속도, 쓰기 속도 등을 포함하는 하드웨어 정보를 포함할 수 있다. 이러한 하드웨어 정보는 서비스 인프라를 설계하기 위해 사용되는 몇몇의 소프트웨어의 배치를 위해 사용될 수 있다. The service providing server 120 obtains device information about the plurality of devices 130, and uses the obtained device information to generate a user interface for designing a service infrastructure for the plurality of devices 130. 110). In detail, the service providing server 120 may perform hardware detection on the plurality of devices 130 connected to the service providing server 120 through a network boot. The service providing server 120 may receive device information from the plurality of devices 130, and provide the computing device 110 with a user interface for designing a service infrastructure using the received device information. Here, the device information may include hardware information including a type, a connection method, a capacity, a read speed, a write speed, and the like for each of the plurality of devices 130. This hardware information can be used for the deployment of some software used to design the service infrastructure.

서비스 인프라를 설계하기 위한 사용자 인터페이스는 복수의 장치들(130)의 장치 정보에 기반하여 서비스 인프라의 하드웨어 환경 및 소프트웨어 환경을 설계하기 위한 모델링 언어에 해당하는 복수의 그래픽 객체들과, 각 그래픽 객체를 하드웨어 배치 계획 또는 소프트웨어 배치 계획에 따라 배치할 수 있는 배치 공간을 제공할 수 있다. 각 그래픽 객체는 데이터 센터 환경을 구축하기 위해 사용되는 하드웨어 환경의 메타 모델(metamodel) 및 소프트웨어 환경의 메타 모델 각각을 구성하는 컴포넌트에 대응할 수 있다. 여기서, 하드웨어 환경의 메타 모델은 하드웨어 디스크립션 메타 모델(Hardware Description Meta Model), 네트워크 장치 메타 모델(Network Device Meta Model), 하드웨어 연결 메타 모델(Hardware Connection Meta Model)을 포함하고, 소프트웨어 환경의 메타 모델은 베어 메탈 인프라 메타 모델(Bare Metal Infra Meta Model), 가상 인프라 메타 모델(Virtual Infra Meta Model) 및 컨테이너 인프라 메타 모델(container Infra Meta Model)을 포함할 수 있다. 이에 따라, 사용자는 이러한 사용자 인터페이스를 통해 복수의 장치들(130)에 대한 서비스 인프라 생성을 위해 서비스 인프라의 하드웨어 환경 및/또는 소프트웨어 환경을 설계한 설계 데이터를 생성할 수 있다. The user interface for designing a service infrastructure includes a plurality of graphic objects corresponding to a modeling language for designing a hardware environment and a software environment of the service infrastructure based on device information of the plurality of devices 130, and each graphic object. You can provide a deployment space that can be deployed according to a hardware deployment plan or a software deployment plan. Each graphic object may correspond to a component constituting each of a metamodel of a hardware environment and a metamodel of a software environment used to build a data center environment. Here, the metamodel of the hardware environment includes a hardware description metamodel, a network device metamodel, and a hardware connection metamodel. A bare metal infrastructure metamodel may include a bare metal infrastructure metamodel, a virtual infrastructure metamodel, and a container infrastructure metamodel. Accordingly, the user may generate design data for designing a hardware environment and / or a software environment of the service infrastructure to generate a service infrastructure for the plurality of devices 130 through the user interface.

서비스 제공 서버(120)는 컴퓨팅 장치(110)로부터 이러한 모델링 언어로 이루어진 서비스 인프라에 대한 설계 데이터를 수신할 수 있다. 설계 데이터는 사용자에 의해서 구축하고자 하는 서비스 인프라에 대한 하드웨어 배치 계획 및/또는 소프트웨어 배치 계획에 따라 배치된 복수의 그래픽 객체들의 배치 구조를 나타내는 데이터일 수 있다. 복수의 그래픽 객체들 각각은 서비스 인프라의 데이터 센터를 구축하기 위해 사용되는 하드웨어 메타 모델 및 소프트웨어 메타 모델 각각을 구성하는 컴포넌트에 대응할 수 있다. The service providing server 120 may receive design data for a service infrastructure including the modeling language from the computing device 110. The design data may be data representing a layout structure of a plurality of graphic objects arranged according to a hardware deployment plan and / or a software deployment plan for a service infrastructure to be built by a user. Each of the plurality of graphic objects may correspond to a component constituting each of a hardware metamodel and a software metamodel used to build a data center of a service infrastructure.

서비스 제공 서버(120)는 수신된 설계 데이터를 특정 코드로 이루어진 명세서(specification)로 변환하고, 변환된 명세서에 기반하여 복수의 장치들(130)에 대한 서비스 인프라 구축을 위한 시스템 구성을 설정할 수 있다. 여기서, 특정 코드는 XML(Extensible Markup Language), JSON, YAML 등과 같은 다양한 데이터 양식을 포함할 수 있다. 제시된 실시예에서는 설계 데이터가 XML로 이루어진 명세서로 변환되는 것을 설명하나, 이에 한정되지 않으며, 설계 데이터가 JSON, YAML 등과 같은 코드로 이루어진 명세서로 변환될 수 있다. The service providing server 120 may convert the received design data into a specification consisting of a specific code and set a system configuration for constructing a service infrastructure for the plurality of devices 130 based on the converted specification. . Here, the specific code may include various data formats such as XML (Extensible Markup Language), JSON, YAML, and the like. In the illustrated embodiment, the design data is converted into a specification made of XML, but is not limited thereto. The design data may be converted into a specification made of code such as JSON and YAML.

예를 들어, 서비스 제공 서버(120)는 설계 데이터를 XML 파일로 변환할 수 있다. 설계 데이터를 XML로 변환하기 위해 복수의 그래픽 객체들 각각에 대응하여 XML 스키마(schema)가 정의될 수 있다. 각 그래픽 객체는 메타 모델을 구성하는 각 컴포넌트 또는/및 컴포넌트를 구성하는 각 서브 컴포넌트에 해당하는 XML 데이터가 정의될 수 있다. 서비스 제공 서버(120)는 이와 같이 XML로 이루어진 명세서를 포함하는 요청 데이터를 복수의 장치들(130)로 전달하여 복수의 장치들(130)이 명세서를 기초로 서비스 인프라 생성 동작을 수행하도록 할 수 있다. 여기서, 서비스 인프라 생성 동작은 명세서를 기초로 서비스 인프라 생성을 위한 하드웨어 또는/및 소프트웨어 배치 계획에 관련된 시스템 구성 파일을 로딩(loading)하고, 소프트웨어 패키지를 설치하는 동작을 포함할 수 있다. For example, the service providing server 120 may convert the design data into an XML file. An XML schema may be defined corresponding to each of the plurality of graphic objects to convert the design data into XML. Each graphic object may define XML data corresponding to each component constituting the metamodel and / or each subcomponent constituting the component. The service providing server 120 may transmit the request data including the specification made of XML to the plurality of devices 130 so that the plurality of devices 130 may perform the service infrastructure generation operation based on the specification. have. Here, the operation of generating the service infrastructure may include loading a system configuration file related to a hardware or / and software deployment plan for generating the service infrastructure and installing a software package based on the specification.

다양한 실시예에서 서비스 제공 서버(120)는 명세서를 기초로 하여 복수의 장치들(130)에 대한 서비스 인프라 생성 동작을 수행할 수도 있다. 서비스 제공 서버(120)는 복수의 장치들(130)로 서비스 인프라 생성을 요청하지 않고, 복수의 장치들(130)에 대한 서비스 인프라 생성 동작을 수행하는 프로비저닝(provisioning) 장치로서 동작할 수 있다. In various embodiments, the service providing server 120 may perform a service infrastructure generation operation for the plurality of devices 130 based on the specification. The service providing server 120 may operate as a provisioning device that performs a service infrastructure generation operation on the plurality of devices 130 without requesting the plurality of devices 130 to generate the service infrastructure.

복수의 장치들(130)은 서비스 제공 서버(120)로부터 서비스 인프라에 대한 생성을 요청하기 위한 요청 데이터를 수신하고, 수신된 요청 데이터에 포함된 명세서를 기초로 서비스 인프라 생성 동작을 수행할 수 있다. The plurality of devices 130 may receive request data for requesting generation of a service infrastructure from the service providing server 120 and perform a service infrastructure generation operation based on a specification included in the received request data. .

이를 통해서 복수의 장치들(130)의 서비스 인프라 생성을 위한 하드웨어 또는/및 소프트웨어 환경을 설계하는 과정이 단순화되고, 서비스 인프라의 하드웨어 또는/및 소프트웨어 환경을 구성하는 각 컴포넌트에 대한 재사용성이 개선될 수 있다.This simplifies the process of designing a hardware or / and software environment for creating a service infrastructure of the plurality of devices 130, and improves the reusability of each component constituting the hardware or / and software environment of the service infrastructure. Can be.

상술한 컴퓨팅 장치(110) 및 서비스 제공 서버(120)에 대해서 도 2 및 도 3을 참조하여 보다 상세하게 설명하도록 한다.The computing device 110 and the service providing server 120 described above will be described in more detail with reference to FIGS. 2 and 3.

도 2는 본 발명의 실시예에 따른 컴퓨팅 장치를 설명하기 위한 블럭도이다. 2 is a block diagram illustrating a computing device according to an embodiment of the present invention.

도 2를 참조하면, 컴퓨팅 장치(110)는 통신부(112), 저장부(114), 표시부(116) 및 프로세서(118)를 포함한다.Referring to FIG. 2, the computing device 110 includes a communication unit 112, a storage unit 114, a display unit 116, and a processor 118.

통신부(112)는 컴퓨팅 장치(110)가 외부 장치와 통신 가능하도록 연결한다. 통신부(112)는 유선 또는 무선 통신을 이용하여 서비스 제공 서버(120)와 연결될 수 있다. 구체적으로, 통신부(112)는 서비스 제공 서버(120)로부터 서비스 인프라를 생성하기 위해 사용되는 사용자 인터페이스에 대한 정보를 수신할 수 있다.The communication unit 112 connects the computing device 110 to communicate with an external device. The communication unit 112 may be connected to the service providing server 120 using wired or wireless communication. In detail, the communication unit 112 may receive information on a user interface used to generate a service infrastructure from the service providing server 120.

저장부(114)는 데이터를 저장하기 위한 매체로서, 하드 디스크 드라이브(Hard Disk Drive; HDD), SSD(Solid State Drive), SD(Secure Digital) 카드, CD(Compact Disk), DVD(Digital Video Disc) 등과 같은 다양한 저장 매체로 구성될 수 있다. 상기 저장부(114)는 서비스 제공 서버(120)로부터 수신된 사용자 인터페이스에 대한 정보를 저장할 수 있다. The storage unit 114 is a medium for storing data, and includes a hard disk drive (HDD), a solid state drive (SSD), a secure digital (SD) card, a compact disk (CD), and a digital video disc (DVD). And various storage media such as The storage unit 114 may store information on a user interface received from the service providing server 120.

표시부(116)는 사용자에게 각종 콘텐트(예: 텍스트, 이미지, 비디오, 아이콘, 배너 또는 심볼 등)를 표시할 수 있다. 구체적으로, 표시부(116)는 통신부(112)를 통해 서비스 제공 서버(120)로부터 수신된 사용자 인터페이스에 대한 정보를 이용하여 사용자 인터페이스를 표시할 수 있다. 다양한 실시예에서 디스플레이(110)는 터치스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치(touch), 제스처(gesture), 근접, 드래그(drag), 스와이프(swipe) 또는 호버링(hovering) 입력 등을 수신할 수 있다.The display unit 116 may display various contents (eg, text, images, videos, icons, banners, or symbols) to the user. In detail, the display unit 116 may display the user interface using information on the user interface received from the service providing server 120 through the communication unit 112. In various embodiments, the display 110 may include a touch screen, for example, a touch, a gesture, a proximity, a drag, or a swipe using an electronic pen or a part of a user's body. a swipe or hovering input may be received.

프로세서(118)는 통신부(112), 저장부(114) 및 표시부(116)와 동작 가능하게 연결되며, 서비스 인프라 생성을 위한 컴퓨팅 장치(110)의 동작을 제어할 수 있다. 구체적으로, 프로세서(118)는 서비스 제공 서버(120)로부터 제공된 사용자 인터페이스를 표시부(116)를 통해서 표시할 수 있다. 표시부(116)를 통해서 표시되는 사용자 인터페이스는 복수의 장치들(130)의 장치 정보에 기반하여 서비스 인프라의 하드웨어 환경 및/또는 소프트웨어 환경을 설계하기 위한 복수의 그래픽 객체들을 나타내는 객체 공간과, 각 그래픽 객체를 배치하기 위한 배치 공간을 포함할 수 있다. 복수의 그래픽 객체들은 하드웨어 환경을 구축하기 위한 하드웨어 메타 모델의 각 컴포넌트 및 소프트웨어 환경을 구축하기 위한 소프트웨어 메타 모델의 각 컴포넌트에 대응하는 모델링 언어로서 정의될 수 있다. 다양한 실시 예에서 배치 공간은 각 컴포넌트를 구성하는 복수의 서브 컴포넌트들의 배치 구조를 나타내는 서브 배치 공간을 더 포함할 수도 있다. 서브 배치 공간은 복수의 서브 컴포넌트들 각각에 대응하는 서브 그래픽 객체를 포함할 수 있다. The processor 118 is operatively connected with the communication unit 112, the storage unit 114, and the display unit 116, and controls the operation of the computing device 110 for generating a service infrastructure. In detail, the processor 118 may display the user interface provided from the service providing server 120 through the display unit 116. The user interface displayed through the display unit 116 includes an object space representing a plurality of graphic objects for designing a hardware environment and / or a software environment of the service infrastructure based on the device information of the plurality of devices 130, and each graphic. It may include a layout space for placing the object. The plurality of graphic objects may be defined as a modeling language corresponding to each component of the hardware metamodel for building a hardware environment and each component of the software metamodel for building a software environment. According to various embodiments of the present disclosure, the layout space may further include a sub layout space indicating an arrangement structure of a plurality of subcomponents constituting each component. The sub layout space may include sub graphic objects corresponding to each of the plurality of sub components.

사용자 인터페이스는 복수의 장치들(130)에 대한 서비스 인프라를 생성하기 위해 하드웨어 환경 또는 소프트웨어 환경을 설계하기 위한 객체 공간 및 배치 공간을 제공할 뿐만 아니라, 복수의 그래픽 객체들의 배치 구조에 대한 제약 위반(constraint violation)을 확인할 수 있는 유효성 검사 기능, 복수의 그래픽 객체들의 배치 구조를 나타내는 설계 데이터를 생성하기 위한 생성 기능 및/또는 생성된 설계 데이터를 특정 코드로 이루어진 명세서로 변환하기 위한 변환 기능을 더 제공할 수 있다. The user interface not only provides an object space and a layout space for designing a hardware environment or a software environment to create a service infrastructure for the plurality of devices 130, but also violates constraints on the layout structure of the plurality of graphic objects. further provides a validation function to check constraint violations, a generation function for generating design data representing a layout structure of a plurality of graphic objects, and / or a conversion function for converting the generated design data into a specific code specification. can do.

프로세서(118)는 이와 같이 사용자 인터페이스를 통해 생성된 설계 데이터 또는 특정 코드로 이루어진 명세서를 통신부(112)를 통해서 서비스 제공 서버(120)로 전달할 수 있다.The processor 118 may transmit the specification of the design data or the specific code generated through the user interface to the service providing server 120 through the communication unit 112.

도 3은 본 발명의 실시예에 따른 서비스 제공 서버를 설명하기 위한 블럭도이다.3 is a block diagram illustrating a service providing server according to an exemplary embodiment of the present invention.

도 3을 참조하면, 서비스 제공 서버(120)는 통신부(122), 저장부(124) 및 프로세서(126)를 포함할 수 있다.Referring to FIG. 3, the service providing server 120 may include a communication unit 122, a storage unit 124, and a processor 126.

통신부(122)는 서비스 제공 서버(120)가 외부 장치와 통신 가능하도록 연결한다. 통신부(122)는 유선 또는 무선 통신을 이용하여 컴퓨팅 장치(110) 및 복수의 장치들(130)과 연결될 수 있다. 구체적으로, 통신부(122)는 복수의 장치들(130)로부터 복수의 장치들(130)에 대한 장치 정보를 수신할 수 있다. 통신부(122)는 서비스 인프라를 생성하기 위해 사용되는 사용자 인터페이스에 대한 정보를 컴퓨팅 장치(110)로 전달하고, 컴퓨팅 장치(110)로부터 사용자 인터페이스를 통해 생성된 설계 데이터 또는 특정 코드로 이루어진 명세서를 수신할 수 있다. 통신부(122)는 명세서를 기초로 서비스 인프라에 대한 생성을 요청하는 요청 데이터를 복수의 장치들(130)로 전달할 수 있다.The communication unit 122 connects the service providing server 120 to communicate with an external device. The communicator 122 may be connected to the computing device 110 and the plurality of devices 130 using wired or wireless communication. In detail, the communication unit 122 may receive device information about the plurality of devices 130 from the plurality of devices 130. The communicator 122 transmits information about a user interface used to generate a service infrastructure to the computing device 110, and receives a specification of design data or specific codes generated through the user interface from the computing device 110. can do. The communicator 122 may transmit request data for requesting generation of the service infrastructure to the plurality of devices 130 based on the specification.

저장부(124)는 데이터를 저장하기 위한 매체로서, 하드 디스크 드라이브, SSD, SD 카드, CD, DVD 등과 같은 다양한 저장 매체로 구성될 수 있다. 저장부(124)는 통신부(122)를 통해서 수신된 복수의 장치들(130)에 대한 장치 정보를 저장하고, 장치 정보에 기반하여 복수의 장치들(130)의 서비스 인프라 생성을 위한 사용자 인터페이스에 대한 정보를 저장할 수 있다. 저장부(124)는 컴퓨팅 장치(110)로부터 수신된 설계 데이터 또는 특정 코드로 이루어진 명세서를 저장할 수 있다. The storage unit 124 is a medium for storing data, and may be configured with various storage media such as a hard disk drive, SSD, SD card, CD, DVD, and the like. The storage unit 124 stores device information about the plurality of devices 130 received through the communication unit 122, and stores the device information on the user interface for generating a service infrastructure of the plurality of devices 130 based on the device information. Can store information about The storage unit 124 may store a specification consisting of specific data or design data received from the computing device 110.

프로세서(126)는 통신부(122) 및 저장부(124)와 동작 가능하게 연결되며, 서비스 인프라 생성을 위한 사용자 인터페이스를 제공하고, 컴퓨팅 장치(110)로부터 수신된 설계 데이터를 이용하여 서비스 인프라 생성을 요청하는 서비스 제공 서버(120)의 동작을 제어할 수 있다. The processor 126 is operatively connected with the communication unit 122 and the storage unit 124, provides a user interface for creating a service infrastructure, and generates service infrastructure using design data received from the computing device 110. The operation of the requesting service providing server 120 may be controlled.

구체적으로, 프로세서(126)는 서비스 인프라를 생성하고자 하는 복수의 장치들(130)에 대한 장치 정보를 획득할 수 있다. 프로세서(126)는 네트워크 부팅을 수행하여 복수의 장치들(130)에 대한 장치 정보를 수집할 수 있다. 프로세서(126)는 획득된 장치 정보에 기반하여 복수의 장치들(130)에 대한 서비스 인프라 생성을 위해 하드웨어 환경 또는/및 소프트웨어 환경을 설계하기 위한 사용자 인터페이스를 컴퓨팅 장치(110)로 제공할 수 있다. 예를 들어, 사용자 인터페이스는 웹 브라우저를 통해 제공되는 설계 툴(design tool)일 수 있다. 이러한 설계 툴은 설계 툴을 제어하기 위한 버튼들, 서비스 인프라 생성을 위한 적어도 하나의 메타 모델 또는 각 메타 모델을 구성하는 컴포넌트들의 배치 구조에 대한 예시를 보여주는 브라우저(browser), 각 컴포넌트에 대응하는 그래픽 객체를 보여주는 선택 바(bar)를 포함할 수 있다. 선택 바에 보여지는 그래픽 객체는 사용자의 드래그 앤 드롭(drag and drop) 동작에 의해 브라우저로 이동될 수 있다. 설계 툴은 사용자에 의해 설계되는 하드웨어 환경 또는 소프트웨어 환경의 계층적 구성을 보여주는 오브젝트 브라우저 및 사용자의 의해 선택된 메타 모델 또는 컴포넌트의 기본 특성 및 다른 속성들을 수정할 수 있는 속성 에디터를 더 포함할 수 있다. 설계 툴의 버튼들은 사용자에 의해서 설계가 완료된 하드웨어 환경 또는 소프트웨어 환경에 해당하는 컴포넌트들의 배치 구조의 유효성을 검사하기 위한 유효성 검사 버튼, 사용자에 의해서 설계가 완료된 설계 데이터를 생성하기 위한 생성 버튼을 포함할 수 있다. 다양한 실시예에서 설계 툴의 버튼들은 설계 데이터를 특정 코드(예: XML, JSON 또는 YAML 등)로 이루어진 명세서로 변환하기 위한 변환 버튼을 더 포함할 수 있다. 프로세서(126)는 웹 브라우저를 통해 이러한 설계 툴을 컴퓨팅 장치(110)로 제공할 수 있다. In detail, the processor 126 may obtain device information about the plurality of devices 130 for generating a service infrastructure. The processor 126 may perform network booting to collect device information about the plurality of devices 130. The processor 126 may provide the computing device 110 with a user interface for designing a hardware environment and / or a software environment for generating a service infrastructure for the plurality of devices 130 based on the obtained device information. . For example, the user interface may be a design tool provided through a web browser. Such a design tool includes a button for controlling the design tool, at least one metamodel for generating a service infrastructure, or a browser showing an example of an arrangement of components constituting each metamodel, and a graphic corresponding to each component. It may include a selection bar that shows the object. The graphic object shown in the selection bar may be moved to the browser by a drag and drop operation of the user. The design tool may further include an object browser showing a hierarchical configuration of the hardware environment or software environment designed by the user, and an attribute editor that can modify basic properties and other properties of the metamodel or component selected by the user. The buttons of the design tool may include a validation button for validating a layout structure of components corresponding to a hardware environment or a software environment that has been designed by a user, and a generate button for generating design data that has been designed by a user. Can be. In various embodiments, the buttons of the design tool may further include a convert button for converting the design data into a specification made of specific code (eg, XML, JSON, or YAML). Processor 126 may provide this design tool to computing device 110 via a web browser.

프로세서(126)는 통신부(122)를 통해 컴퓨팅 장치(110)로부터 사용자에 의해서 설계된 설계 데이터를 수신하고, 수신된 설계 데이터를 XML, JSON 또는 YAML 등으로 이루어진 명세서로 변환할 수 있다. 구체적으로, 하드웨어 환경 또는/및 소프트웨어 환경을 구성하기 위한 적어도 하나의 메타 모델, 각 메타 모델을 구성하는 컴포넌트들 및 각 컴포넌트를 구성하는 서브 컴포넌트들 각각에 대응하는 XML 데이터, JSON 데이터 또는 YAML 데이터 등은 미리 정의될 수 있다. 프로세서(126)는 이와 같이 미리 정의된 XML, JSON 또는 YAML 데이터 등을 이용하여 설계 데이터를 XML, JSON 또는 YAML 파일 등으로 변환할 수 있다. 예를 들어, 설계 데이터를 XML로 이루어진 명세서로 변환하는 과정에 대해서 구체적으로 도 4를 참조하여 보다 상세하게 설명하도록 한다. The processor 126 may receive design data designed by a user from the computing device 110 through the communication unit 122, and convert the received design data into a specification including XML, JSON, or YAML. Specifically, at least one metamodel for constructing a hardware environment and / or software environment, XML data, JSON data, YAML data, etc. corresponding to each of the meta-models and the sub-components constituting each component, etc. May be predefined. The processor 126 may convert the design data into an XML, JSON, or YAML file using the predefined XML, JSON, or YAML data. For example, a process of converting design data into a specification made of XML will be described in detail with reference to FIG. 4.

도 4는 본 발명의 실시 예에 따른 서비스 인프라 생성을 위해 사용되는 각 컴포넌트에 대응하여 미리 정의된 XML 데이터를 나타내는 예시도이다.4 is an exemplary diagram illustrating XML data predefined in correspondence with each component used to create a service infrastructure according to an embodiment of the present invention.

도 4를 참조하면, 소프트웨어 디스크립션 메타 모델의 어플리케이션 소프트웨어 컴포넌트에 해당하는 CephOSD는 시작 서브 컴포넌트(400), Unified Package 서브 컴포넌트(402), Postscript 서브 컴포넌트(404), 종료 서브 컴포넌트(406) 및 3개의 서브 시퀀스 화살표(408, 410, 412)로 구성되며, 도 4의 (a)와 같은 배치 구조를 가질 수 있다. 각 컴포넌트 또는 서브 컴포넌트는 미리 정의된 XML 데이터가 존재하며, 예를 들어, 시작 서브 컴포넌트(400)에 대응하여 미리 정의된 XML 데이터는 도 4의 (b)와 같이 나타낼 수 있다. Referring to FIG. 4, the CephOSD corresponding to the application software component of the software description metamodel includes a start subcomponent 400, a Unified Package subcomponent 402, a Postscript subcomponent 404, an end subcomponent 406, and three It is composed of sub-sequence arrows 408, 410, and 412 and may have an arrangement structure as shown in FIG. 4A. Each component or subcomponent has predefined XML data. For example, the predefined XML data corresponding to the start subcomponent 400 may be represented as shown in FIG.

이러한 경우 프로세서(126)는 각 컴포넌트에 대응하여 미리 정의된 XML 데이터를 배치 구조에 따라 조합하고, 조합된 컴포넌트별 XML 데이터를 하나의 XML 파일로 생성할 수 있다. 다양한 실시예에서 프로세서(126)는 설계 데이터의 각 컴포넌트를 각 컴포넌트에 대응하여 미리 정의된 XML 데이터로 변환하고, 변환된 컴포넌트별 XML 데이터를 하나의 XML 파일로 생성할 수도 있다.In this case, the processor 126 may combine the predefined XML data corresponding to each component according to the arrangement structure, and generate the combined component-specific XML data into one XML file. In various embodiments, the processor 126 may convert each component of the design data into predefined XML data corresponding to each component, and generate the converted component-specific XML data into one XML file.

다시 도 3을 참조하면, 프로세서(126)는 XML, JSON 또는 YAML 파일 등을 기초로 복수의 장치들(130)에 대한 서비스 인프라 생성 요청을 복수의 장치들(130)로 전달할 수 있다. 예를 들어, 서비스 인프라 생성에 대한 요청은 변환된 XML, JSON 또는 YAML 파일 등을 포함할 수 있다. 이러한 경우 요청을 수신한 복수의 장치들(130)은 요청에 포함된 명세서를 기초로 서비스 인프라 생성 동작을 수행할 수 있다.Referring back to FIG. 3, the processor 126 may transmit a service infrastructure generation request for the plurality of devices 130 to the plurality of devices 130 based on the XML, JSON, or YAML file. For example, a request to create a service infrastructure may include translated XML, JSON, or YAML files. In this case, the plurality of devices 130 receiving the request may perform a service infrastructure generation operation based on the specification included in the request.

다양한 실시예에서 프로세서(126)는 변환된 XML, JSON 또는 YAML 파일 등을 기초로 복수의 장치들(130)에 대한 서비스 인프라 생성 동작을 수행할 수 있다. 구체적으로, 프로세서(126)는 XML, JSON 또는 YAML 파일 등을 기초로 복수의 장치들(130)에 서비스 인프라 생성을 위한 하드웨어 또는/및 소프트웨어 배치 계획에 관련된 시스템 구성 파일을 로딩하고, 소프트웨어 패키지를 설치할 수 있다.In various embodiments, the processor 126 may perform a service infrastructure generation operation on the plurality of devices 130 based on the converted XML, JSON, or YAML file. In detail, the processor 126 loads a system configuration file related to a hardware or / and software deployment plan for generating a service infrastructure to the plurality of devices 130 based on an XML, JSON, or YAML file, and the like, and loads a software package. Can be installed.

하기에서는 데이터 센터 환경을 구축하기 위해 사용되는 하드웨어 환경의 메타 모델 및 소프트웨어 환경의 메타 모델 각각을 구성하는 컴포넌트 및 각 컴포넌트를 구성하는 서브 컴포넌트에 대해서 도 5 내지 도 9를 참조하여 보다 상세하게 설명하도록 한다. 특히, 도 5 내지 도 7은 본 발명의 실시예에 따른 하드웨어 환경의 메타 모델들에 대한 다이어그램들을 나타내고, 도 8 내지 도 9는 본 발명의 실시예에 따른 소프트웨어 환경의 메타 모델들에 대한 다이어그램들을 나타낸다.Hereinafter, the components constituting the metamodel of the hardware environment and the metamodel of the software environment and subcomponents constituting each component, which are used to build a data center environment, will be described in more detail with reference to FIGS. 5 to 9. do. In particular, FIGS. 5-7 illustrate diagrams of metamodels of a hardware environment in accordance with an embodiment of the present invention, and FIGS. 8-9 illustrate diagrams of metamodels of a software environment in accordance with an embodiment of the present invention. Indicates.

도 5는 본 발명의 실시예에 따른 서비스 인프라의 하드웨어 환경에 해당하는 하드웨어 디스크립션 메타 모델의 다이어그램이다.5 is a diagram of a hardware description metamodel corresponding to a hardware environment of a service infrastructure according to an embodiment of the present invention.

도 5를 참조하면, 하드웨어 디스크립션 메타 모델(500)은 데이터 센터의 하드웨어 컴포넌트들을 정의할 수 있다. 하드웨어 디스크립션 메타 모델(500)은 통합 스위치(Aggregation Switch)(502), 코어 라우터(Core Router)(504), 서버 랙(506) 및 오토 크리에이터 서버(Auto Creator Server)(508) 중 적어도 일부에 해당하는 컴포넌트들을 포함할 수 있다. 서버 랙(506)은 호스트 장치가 위치하는 기기로서, 서버들을 관리하고, 보안을 보장할 수 있다. 서버 랙(506)은 호스트(510) 및 Tor 스위치(512)와 같은 서브 컴포넌트들을 포함할 수 있고, 호스트(510)는 NIC(Network Interface Card)(514) 및 디스크(Disk)(516)와 같은 서브 컴포넌트들을 포함할 수 있다.Referring to FIG. 5, the hardware description metamodel 500 may define hardware components of a data center. The hardware description metamodel 500 corresponds to at least some of an aggregation switch 502, a core router 504, a server rack 506, and an auto creator server 508. It may include components to. The server rack 506 is a device in which a host device is located, and manages servers and ensures security. Server rack 506 may include subcomponents such as host 510 and Tor switch 512, and host 510 may include network interface card (NIC) 514 and disk 516. It may include subcomponents.

도 6는 본 발명의 실시예에 따른 서비스 인프라의 하드웨어 환경에 해당하는 네트워크 장치 메타 모델의 다이어그램이다.6 is a diagram of a network device metamodel corresponding to a hardware environment of a service infrastructure according to an embodiment of the present invention.

도 6을 참조하면, 네트워크 장치 메타 모델(600)은 호스트 장치에 연결하기 위한 모든 네트워크 장치들을 포함할 수 있다. 네트워크 장치 메타 모델(600)은 네트워크 장치를 연결하기 위한 네트워크 장치 포트를 나타내는 포트 베이스(Port Base)(602)를 가질 수 있다. 네트워크 장치 메타 모델(600)은 코어 라우터(604), 통합 스위치(606) 및 Tor 스위치(608)를 포함하고, 포트 베이스(602)는 업링크 포트(Uplink Pot)(610) 및 포트(612)를 포함할 수 있다.Referring to FIG. 6, the network device metamodel 600 may include all network devices for connecting to a host device. The network device metamodel 600 may have a Port Base 602 that represents a network device port for connecting a network device. The network device metamodel 600 includes a core router 604, an integrated switch 606, and a Tor switch 608, and the port base 602 is an uplink pot 610 and a port 612. It may include.

도 7은 본 발명의 실시예에 따른 서비스 인프라의 하드웨어 환경에 해당하는 하드웨어 연결 메타 모델의 다이어그램이다.7 is a diagram of a hardware connection metamodel corresponding to a hardware environment of a service infrastructure according to an embodiment of the present invention.

도 7을 참조하면, 하드웨어 연결 메타 모델은 광 케이블(fiber cable)(700) 및 구리 케이블(copper cable)(702)과 같은 네트워크 케이블 컴포넌트들을 포함할 수 있다. 광 케이블(700)은 오토 크리에이터 서버(704) 또는 서버 랙(706)의 연결을 위해 사용되고, 구리 케이블(702)은 호스트(708) 또는 포트 베이스(710)의 연결을 위해 사용될 수 있다. Referring to FIG. 7, the hardware connection metamodel may include network cable components, such as fiber cable 700 and copper cable 702. The optical cable 700 may be used for the connection of the auto creator server 704 or the server rack 706, and the copper cable 702 may be used for the connection of the host 708 or the port base 710.

도 8은 본 발명의 실시예에 따른 서비스 인프라의 소프트웨어 환경에 해당하는 베어 메탈 인프라 메타 모델의 다이어그램이다.8 is a diagram of a bare metal infrastructure metamodel corresponding to a software environment of a service infrastructure according to an embodiment of the present invention.

도 8을 참조하면, 베어 메탈 인프라 메타 모델(800)은 베이스(Base)(802), 훅(Hook)(804) 및 어플리케이션 소프트웨어(Application Software)(806)와 같은 3가지 컴포넌트들을 포함할 수 있다. 베이스(802)는 설치 과정 동안 배치될 수 있는 기본 컴포넌트이고, 디스크 레이아웃(Disk Layout)(808), 시스템 소프트웨어 컨피그(System Software Config)(810) 및 시스템 소프트웨어(System Software)(812)를 포함할 수 있다. 디스크 레이아웃(808)은 하드 디스크들의 디스크 레이아웃을 배치할 수 있다. 시스템 소프트웨어 컨피그(810)는 운영 체제에 관련된 다양한 시스템을 명시하기 위한 호스트 이름(host name), 루트 비밀번호(root password), 타임 존(time zone), 키보드 타입(keyboard type) 및 디스크 레이아웃(disk layout)과 같은 명령어부로서 동작할 수 있다. 시스템 소프트웨어(812)는 사용자에 의해서 배치될 수 있는 CENTOS(814), DEBIAN(816) 및 UBUNTU(818)를 포함하는 리눅스 운영 시스템을 정의할 수 있다.Referring to FIG. 8, the bare metal infrastructure metamodel 800 may include three components, such as a base 802, a hook 804, and an application software 806. . Base 802 is a basic component that can be deployed during the installation process and includes a disk layout 808, a System Software Config 810, and a System Software 812. Can be. The disk layout 808 may arrange a disk layout of hard disks. The system software config 810 may include a host name, root password, time zone, keyboard type, and disk layout to specify various systems related to the operating system. Can be operated as a command unit. System software 812 may define a Linux operating system including CENTOS 814, DEBIAN 816, and UBUNTU 818, which may be deployed by a user.

훅(804)은 디스크 파티션(disk partition), 시스템 소프트웨어 설치(system software installation) 및 패키지 설치(package installation)와 같은 태스크에 삽입될 수 있는 스크립트 함수(script function)일 수 있다. Hook 804 may be a script function that can be inserted into tasks such as disk partitions, system software installations, and package installations.

복수의 장치들(130)에 설치되는 소프트웨어는 시스템 소프트웨어 및 어플리케이션 소프트웨어를 포함할 수 있다. 시스템 소프트웨어는 컴퓨터 하드웨어를 동작시키고, 컴퓨터 하드웨어의 기능을 통합시킬 수 있다. 이를 통해서 사용자는 하드웨어와 직접적으로 상호작용할 수 있다. The software installed in the plurality of devices 130 may include system software and application software. System software can operate computer hardware and integrate the functionality of the computer hardware. This allows the user to interact directly with the hardware.

베어 메탈 인프라 메타 모델(800)의 어플리케이션 소프트웨어(806)는 파일(File)(820), 패키지(Package)(822) 및 포스트 스크립트(Post script)(824)를 포함할 수 있다. 파일(820)은 타겟 통로(Target Path)에 복사될 수 있는 구성 컨텐츠를 포함할 수 있다. 패키지(822)는 소프트웨어 설명문(software description)에 대한 정보 및 파일들의 아카이브(archive)를 포함할 수 있다. 패키지(822)는 통합 패키지(Unified Package)(826) 및 병합 마운트 패키지(Union Mount Package)(828)을 포함하고, 병합 마운트 패키지(828)는 이미지(Image)(830)를 포함할 수 있다. 포스트 스크립트(824)는 소프트웨어 설치 이후에 실행되는 구성 스크립트일 수 있다. The application software 806 of the bare metal infrastructure metamodel 800 may include a File 820, a Package 822, and a Post Script 824. The file 820 may include configuration content that may be copied to a target path. Package 822 may include an information about a software description and an archive of files. The package 822 may include a unified package 826 and a union mount package 828, and the merge mount package 828 may include an image 830. Postscript 824 may be a configuration script that runs after software installation.

도 9은 본 발명의 실시예에 따른 서비스 인프라의 소프트웨어 환경에 해당하는 가상 인프라 메타 모델의 다이어그램이다.9 is a diagram of a virtual infrastructure metamodel corresponding to a software environment of a service infrastructure according to an embodiment of the present invention.

도 9를 참조하면, 가상 인프라 메타 모델(900)은 클라우드 환경을 생성하기 위해 OpenNebula 또는 OpenStack과 같은 소프트웨어 플랫폼을 기반으로 하여 정의될 수 있다. 가상 인프라 메타 모델(900)은 클라우드 운영 시스템(Cloud Operating System)(902), 하이퍼바이저(Hypervisor)(904) 및 디스크 이미지(Disk Image)(906)를 포함할 수 있다. Referring to FIG. 9, the virtual infrastructure metamodel 900 may be defined based on a software platform such as OpenNebula or OpenStack to create a cloud environment. The virtual infrastructure metamodel 900 may include a cloud operating system 902, a hypervisor 904, and a disk image 906.

클라우드 운영 시스템(902)은 스탠다드 클라우드 운영 시스템(Standard Cloud Operating System)(908) 및 논-스탠다드 클라우드 운영 시스템(Non-Standard Cloud Operating System)(910)을 포함할 수 있다. 스탠다드 클라우드 운영 시스템(908)은 오픈 소스 소프트웨어 플랫폼(Open source platform)인 OpenNebula(912) 및 OpenStack(914)를 포함할 수 있다. The cloud operating system 902 may include a Standard Cloud Operating System 908 and a Non-Standard Cloud Operating System 910. The standard cloud operating system 908 may include OpenNebula 912 and OpenStack 914, which are open source platform.

하이퍼바이저(904)는 가상 머신을 생성 및 동작시키기 위한 프로그램일 수 있다. 하이퍼바이저(904)는 리눅스 가상화 소프트웨어(Linux Virtualization software)인 XEN(916) 및 KVM(Kernel-based Virtual Machine)(918)를 포함할 수 있다. The hypervisor 904 may be a program for creating and operating a virtual machine. The hypervisor 904 may include XEN 916, which is Linux Virtualization software, and a Kernel-based Virtual Machine (KVM) 918.

가상 머신 서비스를 위해 기본 모듈인 노드(920)가 제공될 수 있다. 노드(920)는 제어 노드(Control node)(922) 및 컴퓨트 노드(Compute Node)(924)를 포함할 수 있다. 제어 노드(922)는 대시보드(dashboard), 이미지 저장(image store) 및 ID 서비스(identity service)로 불리는 웹 기반 관리 페이지를 포함할 수 있다. 컴퓨트 노드(924)는 다중 가상 머신에서 동작하는 가상화 소프트웨어인 Xen-node(926) 및 Kvm-node(928)를 포함할 수 있다. Node 920, which is a basic module, may be provided for a virtual machine service. The node 920 may include a control node 922 and a compute node 924. Control node 922 may include a web-based management page called a dashboard, an image store, and an identity service. Compute node 924 may include Xen-node 926 and Kvm-node 928, which are virtualization software that operates on multiple virtual machines.

가상 머신을 생성하기 위해, 디스크 이미지(906)는 베어 메탈 인프라(930)로 확장되고, 이와 같이 확장된 디스크 이미지(906)는 사용자 맞춤에 따른 서로 다른 타입의 디스크 이미지를 자동으로 생성할 수 있다. In order to create a virtual machine, the disk image 906 is extended to the bare metal infrastructure 930, and the expanded disk image 906 can automatically generate different types of disk images according to user customization. .

베어 메타 인프라의 소프트웨어를 배치하기 위해 운영 시스템 및 관련 시스템 구성을 서술하는 기본 컴포넌트 모델인 BPMN 메타 모델(Business Model and Notation Meta Model)이 사용될 수 있다. 이러한 BPMN 메타 모델에 대해서 도 10을 참조하여 보다 상세하게 설명하도록 한다.The BPMN Meta Model (Business Model and Notation Meta Model), a basic component model that describes the operating system and related system configurations, can be used to deploy the software of the bare meta infrastructure. This BPMN metamodel will be described in more detail with reference to FIG. 10.

도 10은 본 발명의 실시예에 따른 BPMN 메타 모델의 다이어그램이다.10 is a diagram of a BPMN metamodel according to an embodiment of the invention.

도 10을 참조하면, BPMN 메타 모델(BPMN Component)(1000)은 각 컴포넌트 또는 서브 컴포넌트의 상세 시퀀스 및 동작 완료를 위한 정보 흐름을 서술하기 위해 사용될 수 있다. BPMN 메타 모델(1000)은 Activity(1002), Data Object(1004), Gateway(1006) 및 Event(1008)를 포함할 수 있다. Activity(1002)는 Software Component(1010), Post script(1012), Package(1014)를 포함할 수 있다. Activity(1002)는 시스템에 의해 수행되는 특정 액티비티 또는 태스크일 수 있다. Data Object(1004)는 File(1016)을 포함하고, File(1016)은 Post script(1012)가 구현 동작을 수행하는 동안 디렉토리에 복사되는 구성 파일을 도시하기 위해 데이터 오브젝트를 확장할 수 있다. Gateway(1006)는 조건 또는 이벤트에 기반하여 경로를 조절하는 결정 포인트로서 동작하고, Exclusive(1018) 및 Parallel(1020)을 포함할 수 있다. Event(1008)는 Initial(1022) 및 End(1024)를 포함하고, Initial(1022)는 동작의 시작을 나타내고, End(1024)는 동작의 끝을 나타낼 수 있다.Referring to FIG. 10, the BPMN Meta Model 1000 may be used to describe a detailed sequence of each component or subcomponent and an information flow for completing an operation. The BPMN metamodel 1000 may include an Activity 1002, a Data Object 1004, a Gateway 1006, and an Event 1008. The activity 1002 may include a software component 1010, a post script 1012, and a package 1014. Activity 1002 may be a specific activity or task performed by the system. Data Object 1004 includes File 1016, which may extend Data Objects to illustrate configuration files that are copied to a directory while Post script 1012 performs an implementation operation. The gateway 1006 operates as a decision point for adjusting a path based on a condition or event, and may include Exclusive 1018 and Parallel 1020. Event 1008 may include Initial 1022 and End 1024, Initial 1022 may indicate the beginning of the operation, and End 1024 may indicate the end of the operation.

이와 같이 하드웨어 환경 및 소프트웨어 환경을 자동으로 구축하기 위해 상술한 하드웨어/소프트웨어 메타 모델들, 각 메타 모델에 포함되는 컴포넌트들 및 각 컴포넌트에 포함되는 서브 컴포넌트들이 사용될 수 있다. 이러한 메타 모델, 컴포넌트 및 서브 컴포넌트에 대응하는 그래픽 객체를 이용하여 서비스 인프라를 간단하게 설계할 수 있는 설계 툴이 제공됨으로써, 서비스 인프라 구축을 위한 설계 과정이 단순화되고, 서비스 인프라스트럭처를 구성하는 구성 컴포넌트의 재사용성이 향상될 수 있다.As described above, the hardware / software metamodels, the components included in each metamodel, and the subcomponents included in each component may be used to automatically build a hardware environment and a software environment. By providing a design tool that can easily design a service infrastructure using graphic objects corresponding to these metamodels, components, and subcomponents, the design process for building a service infrastructure is simplified, and the components that constitute a service infrastructure are provided. Can be improved.

하기에서는 서비스 제공 서버(120)에서 제공하는 설계 툴에 대해서 도 11a, 도 11b 및 도 12를 참조하여 보다 상세하게 설명하도록 한다.Hereinafter, a design tool provided by the service providing server 120 will be described in more detail with reference to FIGS. 11A, 11B, and 12.

도 11a 및 도 11b는 본 발명의 실시예에 따른 설계 툴에 대한 인터페이스 화면을 설명하기 위한 예시도들이다. 11A and 11B are exemplary diagrams for describing an interface screen for a design tool according to an exemplary embodiment of the present invention.

도 1, 도 2 및 도 11a를 참조하면, 복수의 장치들(130)에 대한 서비스 인프라 생성을 위해 하드웨어/소프트웨어 환경을 설계하는 설계 툴의 인터페이스 화면(1100)이 컴퓨팅 장치(110)의 표시부(116)를 통해 표시될 수 있다. 하기에서 설명하는 동작들은 컴퓨터 장치(110) 또는/및 서비스 제공 서버(120)에 의해서 수행될 수 있다.1, 2, and 11A, an interface screen 1100 of a design tool for designing a hardware / software environment for generating a service infrastructure for a plurality of devices 130 is displayed on the display unit of the computing device 110. 116. Operations described below may be performed by computer device 110 or / and service providing server 120.

설계 툴의 인터페이스 화면(1100)은 설계 툴을 제어하기 위한 버튼들(1110), 서비스 인프라 생성을 위한 적어도 하나의 메타 모델 또는 각 메타 모델을 구성하는 컴포넌트들 각각에 대응하는 그래픽 객체를 포함하는 선택 바 영역(1120) 및 서비스 인프라 생성을 위한 적어도 하나의 메타 모델 또는 각 메타 모델을 구성하는 컴포넌트들의 배치 구조에 대한 예시를 나타내는 브라우저 영역(1130)을 포함할 수 있다. 인터페이스 화면(1100)은 특정 컴포넌트를 구성하는 서브 컴포넌트들의 상세 배치 구조에 대한 예시를 나타내는 서브 브라우저 영역(1140)을 더 포함할 수 있다. 예를 들어, 설계 툴을 제어 하기 위한 버튼들(1110)은 설계 데이터를 생성하는 생성 버튼, 설계 데이터를 특정 코드로 이루어진 명세서로 변환하는 변환 버튼 및 설계 데이터의 검증을 수행하는 검증 버튼을 포함할 수 있다. 선택 바 영역(1120)은 하드웨어 메타 모델에 관련된 각 컴포넌트에 대응하는 그래픽 객체(1122, 1124, 1126, 1128)를 포함할 수 있다. 예를 들어, 하드웨어 디스크립션 메타 모델의 경우 선택 바 영역(1120)은 통합 스위치에 대응하는 그래픽 객체(1122), 오토 크리에이터 서버에 대응하는 그래픽 객체(1124), 코어 라우터에 대응하는 그래픽 객체(1126) 및 서버 랙에 대응하는 그래픽 객체(1128)를 포함할 수 있다. The interface screen 1100 of the design tool may include a button 1110 for controlling the design tool, at least one metamodel for generating a service infrastructure, or a graphic object corresponding to each of the components constituting each metamodel. It may include a bar area 1120 and a browser area 1130 that illustrates an example of an arrangement structure of components constituting each metamodel or at least one metamodel for generating a service infrastructure. The interface screen 1100 may further include a sub browser area 1140 representing an example of a detailed arrangement structure of subcomponents constituting a specific component. For example, the buttons 1110 for controlling the design tool may include a generation button for generating design data, a conversion button for converting the design data into a specification made of a specific code, and a verification button for performing design data verification. Can be. The selection bar area 1120 may include graphic objects 1122, 1124, 1126, and 1128 corresponding to each component related to the hardware metamodel. For example, in the case of the hardware description metamodel, the selection bar area 1120 may include a graphic object 1122 corresponding to the integrated switch, a graphic object 1124 corresponding to the auto creator server, and a graphic object 1126 corresponding to the core router. And a graphic object 1128 corresponding to the server rack.

하드웨어 디스크립션 메타 모델을 구성하기 위해 사용자는 선택 바 영역(1120)에 포함된 그래픽 객체들 중 적어도 일부를 드래그 앤 드롭 동작을 통해 브라우저 영역(1130)으로 이동시켜 하드웨어 디스크립션 메타 모델의 배치 구조에 따라 그래픽 객체들을 배치할 수 있다. 예를 들어, 하드웨어 디스크립션 메타 모델은 브라우저 영역(1130)을 통해 도시된 바와 같이 하나의 코어 라우터에 대응하는 그래픽 객체, 2개의 통합 스위치들에 대응하는 그래픽 객체들, 4개의 서버 랙들에 대응하는 그래픽 객체들 및 이들을 연결하기 위한 케이블에 대응하는 그래픽 객체들이 배치될 수 있다.In order to construct the hardware description metamodel, the user moves at least some of the graphic objects included in the selection bar area 1120 to the browser area 1130 by dragging and dropping the graphics according to the layout structure of the hardware description metamodel. You can place objects. For example, the hardware description metamodel may include a graphic object corresponding to one core router, graphic objects corresponding to two integrated switches, and graphic corresponding to four server racks, as shown through browser area 1130. Graphic objects corresponding to the objects and the cables for connecting them can be arranged.

사용자에 의해서 특정 서버 랙에 대응하는 그래픽 객체(1132)가 선택되면 서브 브라우저 영역(1140)은 특정 서버 랙(1132)을 구성하는 서브 컴포넌트들의 상세 배치 구조에 대한 예시를 나타낼 수 있다. 서버 랙을 구성하기 위해 사용자는 선택 바 영역(1120)에 포함된 그래픽 객체들 중 적어도 일부를 드래그 앤 드롭 동작을 통해 서브 브라우저 영역(1140)으로 이동시켜 사용자가 구성하고자 하는 서버 랙의 배치 구조에 따라 그래픽 객체들을 배치할 수 있다. 예를 들어, 특정 서버 랙의 배치 구조는 서브 브라우저 영역(1140)을 통해 도시된 바와 같이 사용자에 의해서 배치된 하나의 Tor 스위치, 4개의 호스트들 및 이들을 연결하기 위한 케이블로 이루어질 수 있다.When the graphic object 1132 corresponding to the specific server rack is selected by the user, the sub browser area 1140 may show an example of the detailed arrangement structure of the subcomponents constituting the specific server rack 1132. In order to configure the server rack, the user moves at least some of the graphic objects included in the selection bar area 1120 to the sub-browser area 1140 by dragging and dropping to the layout structure of the server rack to be configured by the user. You can arrange graphic objects accordingly. For example, the layout structure of a particular server rack may be comprised of one Tor switch, four hosts, and a cable for connecting them, arranged by the user as shown through the sub-browser area 1140.

다양한 실시예에서 하드웨어 메타 모델의 각 컴포넌트를 구성하는 적어도 하나의 서브 컴포넌트들은 미리 정의된 배치 구조를 가질 수 있다. 예를 들어, 서버 랙의 경우 4개의 호스트, 1개의 Tor 스위치 및 4개의 호스트 각각과 Tor 스위치를 연결하는 케이블에 대한 배치 구조가 템플릿으로서 미리 정의될 수 있다. 이러한 경우 사용자에 의해 특정 서버 랙에 대응하는 그래픽 객체(1132)가 선택되면 특정 서버 랙의 미리 정의된 배치 구조를 나타내는 템플릿에 대한 예시가 서브 브라우저 영역(1140)에 표시될 수 있다. 사용자는 서브 브라우저 영역(1140)에 표시된 각 컴포넌트에 대응하는 그래픽 객체를 이동, 수정 또는 삭제 등을 통해 특정 서버 랙의 배치 구조를 변경할 수 있다.In various embodiments, at least one subcomponent constituting each component of the hardware metamodel may have a predefined layout structure. For example, in the case of a server rack, a layout structure for four hosts, one Tor switch, and a cable connecting each of the four hosts and the Tor switch may be predefined as a template. In this case, when the graphic object 1132 corresponding to the specific server rack is selected by the user, an example of a template representing a predefined layout structure of the specific server rack may be displayed in the sub-browser area 1140. The user may change a layout structure of a specific server rack by moving, modifying, or deleting a graphic object corresponding to each component displayed in the sub browser area 1140.

사용자에 의해서 하드웨어 디스크립션 메타 모델에 대한 설계가 완료되어 검증 버튼이 선택되면 컴퓨팅 장치(110)는 하드웨어 디스크립션 메타 모델에 대한 배치 구조를 검증하기 위한 요청을 서비스 제공 서버(120)로 전달할 수 있다. 도 11b를 참조하면, 서비스 제공 서버(120)로부터 요청에 따른 검증 결과를 나타내는 정보가 수신되면 컴퓨팅 장치(110)는 수신된 정보를 서브 브라우저 영역(1140)을 통해 표시할 수 있다. 예를 들어, 서브 브라우저 영역(1140)은 하드웨어 디스크립션 메타 모델에 관한 검증 결과를 나타내는 정보(1150), 검증 결과의 표시를 제어하기 위한 버튼들(1152)을 포함할 수 있다. 이를 통해서 사용자는 자신이 설계한 하드웨어 디스크립션 메타 모델의 오류 또는 설계 미스 등을 파악할 수 있어 쉽고 편리하게 오류를 검출하거나, 오류가 검출된 설계 데이터에 대한 수정 또는 변경이 가능하다.When the design of the hardware description metamodel is completed by the user and the verify button is selected, the computing device 110 may transmit a request to the service providing server 120 to verify the deployment structure of the hardware description metamodel. Referring to FIG. 11B, when information indicating a verification result according to a request is received from the service providing server 120, the computing device 110 may display the received information through the sub browser area 1140. For example, the sub-browser area 1140 may include information 1150 representing a verification result regarding the hardware description metamodel, and buttons 1152 for controlling the display of the verification result. Through this, the user can grasp the error or design error of the hardware description metamodel designed by the user, so that the user can easily and conveniently detect the error or correct or change the detected design data.

도 12는 본 발명의 실시예에 따른 설계 툴에 대한 인터페이스 화면을 설명하기 위한 예시도이다. 12 is an exemplary view for explaining an interface screen for a design tool according to an embodiment of the present invention.

도 1, 도 2 및 도 12를 참조하면, 복수의 장치들(130)에 대한 서비스 인프라 생성을 위해 하드웨어/소프트웨어 환경을 설계하는 설계 툴의 인터페이스 화면(1200)이 컴퓨팅 장치(110)의 표시부(116)를 통해 표시될 수 있다. 하기에서 설명하는 동작들은 컴퓨터 장치(110) 또는/및 서비스 제공 서버(120)에 의해서 수행될 수 있다.1, 2, and 12, an interface screen 1200 of a design tool for designing a hardware / software environment for generating a service infrastructure for a plurality of devices 130 is displayed on the display unit of the computing device 110. 116. Operations described below may be performed by computer device 110 or / and service providing server 120.

설계 툴의 인터페이스 화면(1200)은 설계 툴을 제어하기 위한 버튼들(1210), 서비스 인프라 생성을 위한 적어도 하나의 메타 모델 또는 각 메타 모델을 구성하는 컴포넌트들 각각에 대응하는 그래픽 객체를 포함하는 선택 바 영역(1220) 및 서비스 인프라 생성을 위한 적어도 하나의 메타 모델 또는 각 메타 모델을 구성하는 컴포넌트들의 배치 구조에 대한 예시를 나타내는 브라우저 영역(1230)을 포함할 수 있다. 인터페이스 화면(1200)은 특정 컴포넌트를 구성하는 서브 컴포넌트들의 상세 배치 구조에 대한 예시를 나타내는 서브 브라우저 영역(1240)을 더 포함할 수 있다. 예를 들어, 설계 툴을 제어 하기 위한 버튼들(1210)은 설계 데이터를 생성하는 생성 버튼, 설계 데이터를 특정 코드로 이루어진 명세서로 변환하는 변환 버튼 및 설계 데이터의 검증을 수행하는 검증 버튼을 포함할 수 있다. 선택 바 영역(1220)은 베어 메탈 인프라 메타 모델에 관련된 각 컴포넌트에 대응하는 그래픽 객체(1221, 1222, 1223, 1224, 1225, 1226, 1227)를 포함할 수 있다. 예를 들어, 베어 메탈 인프라 메타 모델의 경우 선택 바 영역(1220)은 어플리케이션 소프트웨어에 대응하는 그래픽 객체(1221), 베이스에 대응하는 그래픽 객체(1222), End에 대응하는 그래픽 객체(1223), Exclusive에 해당하는 그래픽 객체(1224), 훅에 해당하는 그래픽 객체(1225), Initial에 대응하는 그래픽 객체(1226) 및 Parallel에 대응하는 그래픽 객체(1227) 등을 포함할 수 있다. The interface screen 1200 of the design tool includes a selection including buttons 1210 for controlling the design tool, at least one metamodel for generating a service infrastructure, or a graphic object corresponding to each of the components constituting each metamodel. It may include a bar area 1220 and a browser area 1230 showing an example of an arrangement structure of components constituting each metamodel or at least one metamodel for generating a service infrastructure. The interface screen 1200 may further include a sub browser area 1240 that shows an example of a detailed arrangement structure of subcomponents constituting a specific component. For example, the buttons 1210 for controlling the design tool may include a generation button for generating design data, a conversion button for converting the design data into a specification composed of specific codes, and a verification button for performing design data validation. Can be. The selection bar area 1220 may include graphic objects 1221, 1222, 1223, 1224, 1225, 1226, and 1227 corresponding to each component related to the bare metal infrastructure metamodel. For example, in the bare metal infrastructure metamodel, the selection bar area 1220 may include the graphic object 1221 corresponding to the application software, the graphic object 1222 corresponding to the base, the graphic object 1223 corresponding to the end, and the exclusive. It may include a graphic object 1224 corresponding to, a graphic object 1225 corresponding to the hook, a graphic object 1226 corresponding to Initial, and a graphic object 1227 corresponding to Parallel.

베어 메탈 인프라 메타 모델을 구성하기 위해 사용자는 선택 바 영역(1220)에 포함된 그래픽 객체들 중 적어도 일부를 드래그 앤 드롭 동작을 통해 브라우저 영역(1230)으로 이동시켜 베어 메탈 인프라 메타 모델의 배치 구조에 따라 그래픽 객체들을 배치할 수 있다. 예를 들어, 베어 메탈 인프라 메타 모델은 브라우저 영역(1230)을 통해 도시된 바와 같이 Initial에 대응하는 그래픽 객체, 베이스에 대응하는 그래픽 객체, CephBase에 해당하는 그래픽 객체, 2개의 Parallel에 대응하는 그래픽 객체들, SSH에 대응하는 그래픽 객체, APACHE에 대응하는 그래픽 객체, CephOSD에 대응하는 그래픽 객체 및 End에 대응하는 그래픽 객체가 배치될 수 있다.To construct the bare metal infrastructure metamodel, a user moves at least some of the graphic objects included in the selection bar area 1220 to the browser area 1230 by dragging and dropping to the layout structure of the bare metal infrastructure metamodel. You can arrange graphic objects accordingly. For example, the bare metal infrastructure metamodel may be a graphic object corresponding to Initial, a graphic object corresponding to a base, a graphic object corresponding to CephBase, and a graphic object corresponding to two parallels, as shown through the browser area 1230. For example, a graphic object corresponding to SSH, a graphic object corresponding to APACHE, a graphic object corresponding to CephOSD, and a graphic object corresponding to End may be disposed.

사용자에 의해서 CephOSD에 대응하는 그래픽 객체(1232)가 선택되면 서브 브라우저 영역(1240)은 CephOSD을 구성하는 서브 컴포넌트들의 상세 배치 구조에 대한 예시를 나타낼 수 있다. CephOSD를 구성하기 위해 사용자는 선택 바 영역(1220)에 포함된 그래픽 객체들 중 적어도 일부를 드래그 앤 드롭 동작을 통해 서브 브라우저 영역(1240)으로 이동시켜 사용자가 구성하고자 하는 CephOSD의 배치 구조에 따라 그래픽 객체들을 배치할 수 있다. 예를 들어, 사용자는 시작에 해당하는 Initial를 배치하고, Initial 이후에 통합 패키지(unified package)를 배치하여 소프트웨어 패키지들이 설치되도록 하고, 특정 파일(file)이 첫번째 포스트스크립트(postscript)에 적용되도록 배치하여 특정 파일의 페이지를 기술하도록 하고, 첫번째 포스트스크립트 다음에 두번째 포스트 스크립트를 배치하여 특정 파일이 적용된 페이지를 기술하도록 한 후 End를 배치하여 종료하도록 한다. 이와 같이 배치된 CephOSD의 배치 구조는 도 12의 서브 브라우저 영역(1140)을 통해 도시된 바와 같이 Initial, 통합 패키지, 파일, 2개의 포스트스크립트들 및 End로 이루어질 수 있다. 이를 통해 사용자는 소프트웨어 환경을 설계하기 위해 메타 모델을 구성하는 컴포넌트들뿐만 아니라 각 컴포넌트를 기술하기 위한 시스템 구성, 구성 파일 또는 소프트웨어 설정(예: 파일, 포스트스크립트 등) 등에 해당하는 서브 컴포넌트를 그래픽 객체를 통해 쉽고 편리하게 설계할 수 있다.When the graphic object 1232 corresponding to CephOSD is selected by the user, the sub browser area 1240 may represent an example of a detailed arrangement structure of subcomponents constituting CephOSD. In order to configure CephOSD, the user moves at least some of the graphic objects included in the selection bar area 1220 to the sub-browser area 1240 by dragging and dropping the graphic according to the layout structure of CephOSD that the user wants to configure. You can place objects. For example, a user can deploy an Initial for startup, an unified package after Initial so that software packages are installed, and a specific file is applied to the first postscript. To describe the page of a specific file, place the second postscript after the first postscript to describe the page to which the particular file is applied, and then end by placing the End. The arrangement structure of the CephOSD disposed as described above may be composed of Initial, an integrated package, a file, two PostScripts, and an End, as shown through the sub-browser area 1140 of FIG. 12. This allows the user to view not only the components that make up the metamodel to design the software environment, but also subcomponents corresponding to system configurations, configuration files, or software settings (such as files, PostScript, etc.) to describe each component. The design makes it easy and convenient.

다양한 실시예에서 소프트웨어 메타 모델의 각 컴포넌트를 구성하는 적어도 하나의 서브 컴포넌트들은 미리 정의된 배치 구조를 가질 수 있다. 예를 들어, CephOSD의 경우 Initial, 통합 패키지, 파일, 2개의 포스트 스크립트들 및 End에 대한 배치 구조가 미리 정의될 수 있다. 이러한 경우 사용자에 의해 CephOSD에 대응하는 그래픽 객체(1232)가 선택되면 CephOSD의 미리 정의된 배치 구조에 대한 예시가 서브 브라우저 영역(1240)에 표시될 수 있다. 사용자는 서브 브라우저 영역(1240)에 표시된 각 컴포넌트에 대응하는 그래픽 객체를 이동, 수정 또는 삭제 등을 통해 CephOSD의 배치 구조를 변경할 수 있다.In various embodiments, at least one subcomponent constituting each component of the software metamodel may have a predefined layout structure. For example, in the case of CephOSD, a layout structure for Initial, an integrated package, a file, two postscripts, and an End may be predefined. In this case, when the graphic object 1232 corresponding to the CephOSD is selected by the user, an example of the predefined layout structure of the CephOSD may be displayed in the sub browser area 1240. The user may change the arrangement structure of the CephOSD by moving, modifying, or deleting a graphic object corresponding to each component displayed in the sub browser area 1240.

사용자에 의해서 베어 메탈 인프라 메타 모델에 대한 설계가 완료되어 검증 버튼이 선택되면 컴퓨팅 장치(110)는 베어 메탈 인프라 메타 모델에 대한 배치 구조를 검증하기 위한 요청을 서비스 제공 서버(120)로 전달할 수 있다. 서비스 제공 서버(120)로부터 요청에 따른 검증 결과를 나타내는 정보가 수신되면 컴퓨팅 장치(110)는 도 11b에서 상술한 바와 유사하게 수신된 정보를 서브 브라우저 영역(1240)을 통해 표시할 수 있다. 예를 들어, 서브 브라우저 영역(1240)은 베어 메탈 인프라 메타 모델에 관한 검증 결과를 나타내는 정보 및 검증 결과의 표시를 제어하기 위한 버튼들을 포함할 수 있다. 이를 통해서 사용자는 자신이 설계한 베어 메탈 인프라 메타 모델의 오류 또는 설계 미스 등을 파악할 수 있어 쉽고 편리하게 오류를 검출하거나, 오류가 검출된 설계 데이터에 대한 수정 또는 변경이 가능하다.When the design of the bare metal infrastructure metamodel is completed by the user and the verify button is selected, the computing device 110 may transmit a request to the service providing server 120 to verify the deployment structure of the bare metal infrastructure metamodel. . When the information indicating the verification result according to the request is received from the service providing server 120, the computing device 110 may display the received information through the sub-browser area 1240, similarly as described above with reference to FIG. 11B. For example, the sub browser area 1240 may include information indicating a verification result regarding the bare metal infrastructure metamodel and buttons for controlling display of the verification result. Through this, the user can identify errors or design errors of the bare metal infrastructure metamodel designed by the user, so that the user can easily and conveniently detect errors or correct or change the detected design data.

이와 같이 제공되는 설계 툴을 이용하여 사용자는 복수의 장치들(130)에 대한 서비스 인프라 생성을 위한 하드웨어/소프트웨어 환경을 단순하고 편리하게 설계할 수 있고, 각 컴포넌트에 대한 재사용성이 향상될 수 있다.By using the design tool provided as described above, a user may simply and conveniently design a hardware / software environment for generating a service infrastructure for a plurality of devices 130, and reusability of each component may be improved. .

하기에서는 변환된 명세서를 기초로 복수의 장치들(130)에 대한 서비스 인프라 생성 동작을 수행하는 서비스 제공 서버(120)의 프로세서(126) 및 저장부(124)에 대해서 도 13을 참조하여 보다 상세하게 설명하도록 한다.Hereinafter, the processor 126 and the storage unit 124 of the service providing server 120 performing a service infrastructure generation operation on the plurality of devices 130 based on the converted specification will be described in more detail with reference to FIG. 13. Explain it.

도 13은 본 발명의 실시예에 따른 서비스 제공 장치의 프로세서 및 저장부를 설명하기 위한 블록도이다.13 is a block diagram illustrating a processor and a storage unit of a service providing apparatus according to an exemplary embodiment of the present invention.

도 13을 참조하면, 프로세서(126)는 서비스 인프라 프로비저닝 관리부(1300), 소프트웨어 관리부(1310), 호스트 모니터링부(1320) 및 복구 관리부(1330)를 포함하고, 저장부(124)는 소프트웨어 저장부(1340), 컴포넌트 모듈 저장부(1342) 및 로그 데이터 저장부(1344)를 포함할 수 있다. Referring to FIG. 13, the processor 126 includes a service infrastructure provisioning management unit 1300, a software management unit 1310, a host monitoring unit 1320, and a recovery management unit 1330, and the storage unit 124 includes a software storage unit. 1340, a component module storage unit 1342, and a log data storage unit 1344 may be included.

서비스 인프라 프로비저닝 관리부(1300)는 배치 계획 분석부(1301), 실행 관리부(1302), 베어 메탈 인프라 생성 관리부(1303), 컨테이너 인프라 생성 관리부(1304), 가상 인프라 생성 관리부(1305) 및 컴포넌트 모듈 실행부(1306)를 포함할 수 있다. 서비스 인프라 프로비저닝 관리부(1300)는 배치 계획 분석부(1301) 및 실행 관리부(1302)를 호출하여 명세서를 기초로 복수의 장치들(130)의 전체 시스템 및 소프트웨어에 대한 자동 배치 및 자동 구성을 수행할 수 있다. The service infrastructure provisioning management unit 1300 executes a deployment plan analysis unit 1301, execution management unit 1302, bare metal infrastructure generation management unit 1303, container infrastructure generation management unit 1304, virtual infrastructure generation management unit 1305, and component module execution. It may include a portion 1306. The service infrastructure provisioning management unit 1300 calls the deployment plan analysis unit 1301 and the execution management unit 1302 to perform automatic deployment and automatic configuration of the entire system and software of the plurality of devices 130 based on the specification. Can be.

배치 계획 분석부(1301)는 데몬(daemon)으로서 동작하는데, 호스트의 하드웨어 설명문(hardware specificaion)을 검출하고, 검출된 하드웨어 설명문이 명세서의 하드웨어 설명문과 일치하는지를 검증할 수 있다. 만약 일치하면 배치 계획 분석부(1301)는 배치를 위한 서비스 인프라 타입들과 컴포넌트 리스트를 실행 관리부(1302)로 전달할 수 있다. 일치하는 하드웨어 설명문이 없으면 배치 계획 분석부(1301)는 기본 소프트웨어를 복수의 장치들(130) 각각에 자동으로 설치할 수 있다. The deployment plan analyzer 1301 may operate as a daemon, detect a hardware specificaion of the host, and verify whether the detected hardware description matches the hardware description of the specification. If there is a match, the deployment plan analyzer 1301 may transmit the service infrastructure types and the component list for the deployment to the execution manager 1302. If there is no matching hardware description, the deployment plan analyzer 1301 may automatically install the basic software in each of the plurality of devices 130.

실행 관리부(1302)는 베어 메탈 인프라, 가상 인프라 및 컨테이너 인프라에 대한 서비스 인프라 생성 동작을 관리할 수 있다. 배치 계획 분석부(1301)로부터 서비스 인프라 타입들과 컴포넌트 리스트가 수신되면 실행 관리부(1302)는 어떠한 서비스 인프라를 실행할지 결정할 수 있다. The execution manager 1302 may manage a service infrastructure generation operation for the bare metal infrastructure, the virtual infrastructure, and the container infrastructure. When the service infrastructure types and the component list are received from the deployment plan analyzer 1301, the execution manager 1302 may determine which service infrastructure to execute.

베어 메탈 인프라 생성 관리부(1303)는 베어 메탈 도메인 내 컴포넌트 모듈의 배치를 관리할 수 있다. 여기서, 컴포넌트 모듈은 도 5 내지 도 10을 참조하여 상술한 컴포넌트들 및 각 컴포넌트를 구성하는 서브 컴포넌트들을 의미할 수 있다. 각 컴포넌트 모듈은 설치를 위한 특정 정보를 포함할 수 있다. 베어 메탈 인프라 생성 관리부(1303)는 베어 메탈 프로비저닝 계획을 복수의 서브 계획들로 분리할 수 있다. 베어 메탈 인프라를 구성하는 컴포넌트 모듈들은 베이스 컴포넌트 모듈, 훅 컴포넌트 모듈 및 어플리케이션 소프트웨어 컴포넌트 모듈로 구분될 수 있다. 이러한 컴포넌트 모듈들은 컴포넌트 모듈 실행부(1306)를 통해 연속적으로 실행될 수 있다. 예를 들어, 베이스 컴포넌트 모듈은 시스템 소프트웨어 구성 모듈, 디스크 파티션 모듈 및 시스템 소프트웨어 모듈을 포함할 수 있다. 시스템 소프트웨어 구성 모듈은 호스트 이름, 루트 비밀번호, 타임 존 및 키보드 타입과 같은 명령어 변수들을 포함할 수 있다. 이러한 명령어 변수들은 운영 시스템 설치를 위해 사용될 수 있다. 디스크 파티션 모듈은 시스템 소프트웨어 모듈이 설치되기 전에 실행될 수 있다. 시스템 소프트웨어 모듈은 리눅스 운영 시스템을 나타낼 수 있다. 설치 속도를 높이기 위해 운영 시스템이 tar 패키지로 패키지화되고, 이러한 패키지가 저장부(124)에 저장될 수 있다. 어플리케이션 소프트웨어 컴포넌트 모듈은 소프트웨어 배치 및 구성을 나타낼 수 있다. 시스템 소프트웨어가 설치된 후에 어플리케이션 소프트웨어 컴포넌트 모듈의 패키지 모듈이 실행될 수 있다. 패키지 모듈이 실행되기 전에 운영 시스템의 타입과 버전에 따른 소프트웨어 패키지가 검색되고, 검색된 소프트웨어 패키지가 설치될 수 있다. 소프트웨어 패키지가 설치된 이후에 사용자에 의해서 정의된 스크립트 모듈이 실행될 수 있다. The bare metal infrastructure generation manager 1303 may manage placement of component modules in the bare metal domain. Here, the component module may refer to the components described above with reference to FIGS. 5 to 10 and subcomponents constituting each component. Each component module may include specific information for installation. The bare metal infrastructure generation manager 1303 may divide the bare metal provisioning plan into a plurality of sub plans. Component modules constituting the bare metal infrastructure may be classified into a base component module, a hook component module, and an application software component module. These component modules may be continuously executed through the component module execution unit 1306. For example, the base component module may include a system software configuration module, a disk partition module, and a system software module. The system software configuration module may include command variables such as host name, root password, time zone and keyboard type. These command variables can be used for operating system installation. The disk partition module can be executed before the system software module is installed. System software modules may represent the Linux operating system. The operating system may be packaged in a tar package to speed up the installation, and such a package may be stored in the storage unit 124. The application software component module may represent software deployment and configuration. After the system software is installed, the package module of the application software component module can be executed. Before the package module is executed, the software package according to the type and version of the operating system is searched and the searched software package may be installed. After the software package is installed, a script module defined by the user can be executed.

컨테이너 인프라 생성 관리부(1304)는 컨테이너 도메인 내 컴포넌트 모듈의 배치를 관리할 수 있다. 컨테이너 인프라 생성 관리부(1304)는 컨테이너들의 생성을 지원하는 컨테이너리제이션 모듈(containerization module)과, 컨테이너들을 관리 및 배치하는 컨테이너 관리자 모듈(container manager module)과, 디스크 이미지와 같은 컨테이너를 생성하는 도커 파일 모듈(Dockerfile module)을 포함할 수 있다. The container infrastructure generation manager 1304 may manage placement of component modules in the container domain. The container infrastructure creation management unit 1304 includes a containerization module that supports creation of containers, a container manager module that manages and deploys containers, and a docker file that creates a container such as a disk image. It may include a module (Dockerfile module).

가상 인프라 생성 관리부(1305)는 가상 인프라 도메인 내 컴포넌트 모듈의 배치를 관리할 수 있다. 가상 인프라 생성 관리부(1305)는 하이퍼바이저에 의해 운영 시스템 상에서 동작할 수 있다. 가상 인프라의 컴포넌트 모듈은 클라우드 운영 시스템, 하이퍼바이저 및 디스크 이미지를 포함하는 베어 메탈 컴포넌트 모듈 및 관련 가상화 모듈을 포함할 수 있다. 클라우드 운영 시스템은 가상화 환경에서 동작하고, 가상 머신 및 가상 인프라의 관리를 지원하는 운영 시스템일 수 있다. 하이퍼바이저는 가상 머신을 동작하기 위한 컴퓨터 소프트웨어일 수 있다. 클라우드 환경을 배치하기 위해 하이퍼바이저는 먼저 설치될 수 있다. 디스크 이미지는 가상 머신을 위한 하드 디스크의 데이터 구성의 컨텐츠를 포함할 수 있다. 이러한 디스크 이미지는 가상 머신을 위해 배치될 소프트웨어를 도시할 수 있다. 가상 머신은 시스템 소프트웨어 및 어플리케이션 소프트웨어를 설치하기 위해 사용될 수 있다. The virtual infrastructure generation management unit 1305 may manage placement of component modules in the virtual infrastructure domain. The virtual infrastructure generation management unit 1305 may operate on the operating system by the hypervisor. Component modules of the virtual infrastructure may include bare metal component modules including cloud operating systems, hypervisors, and disk images, and associated virtualization modules. The cloud operating system may be an operating system that operates in a virtualized environment and supports management of virtual machines and virtual infrastructure. The hypervisor may be computer software for operating a virtual machine. To deploy a cloud environment, the hypervisor can be installed first. The disk image may include the contents of the data configuration of the hard disk for the virtual machine. Such a disk image can illustrate the software to be deployed for the virtual machine. The virtual machine can be used to install system software and application software.

컴포넌트 모듈 실행부(1306)는 각 컴포넌트 모듈을 실행할 수 있다. 컴포넌트 모듈 실행부(1306)는 컴포넌트 모듈을 파싱하여 자동 배치 및 구성을 실행할 수 있다.The component module execution unit 1306 may execute each component module. The component module execution unit 1306 may parse the component module and execute automatic placement and configuration.

소프트웨어 관리부(1310)는 DHCP(Dynamic Host Configuration Protocol) 서버(1312), TFTP(Trivial File Transfer Protocol) 서버(1314) 및 NFS(Network File System) 서버(1316)를 포함할 수 있다. 소프트웨어 관리부(1310)는 DHCP 서버(1312), TFTP 서버(1314) 및 NFS 서버(1316)를 관리할 수 있다. The software manager 1310 may include a Dynamic Host Configuration Protocol (DHCP) server 1312, a Trivial File Transfer Protocol (TFTP) server 1314, and a Network File System (NFS) server 1316. The software manager 1310 may manage the DHCP server 1312, the TFTP server 1314, and the NFS server 1316.

호스트 모니터링부(1320)는 호스트의 설치 과정을 모니터링하고, 로그 데이터를 수집할 수 있다. The host monitoring unit 1320 may monitor the installation process of the host and collect log data.

복구 관리부(1330)는 설치 실패 시 설치가 실패된 호스트에 대한 재설치 멍령어를 실행할 수 있다. 재설치 오류가 발생되면 복구 관리부(1330)는 구성 파일에 대한 수정을 요청하거나 호스트의 하드웨어를 체크할 수 있다.The recovery management unit 1330 may execute the reinstallation command for the host on which the installation failed when the installation fails. When the reinstallation error occurs, the recovery management unit 1330 may request modification of the configuration file or check hardware of the host.

저장부(124)는 소프트웨어 저장부(1340), 컴포넌트 모듈 저장부(1342) 및 로그 데이터 저장부(1344)를 포함할 수 있다. 소프트웨어 저장부(1340)는 소프트웨어 패키지를 저장하고, 컴포넌트 모듈 저장부(1342)는 구성을 위한 컴포넌트 모듈을 저장하며, 로그 데이터 저장부(1344)는 복구 관리부(1330)에 의해서 수집되는 로그 데이터를 저장할 수 있다.The storage unit 124 may include a software storage unit 1340, a component module storage unit 1342, and a log data storage unit 1344. The software storage unit 1340 stores a software package, the component module storage unit 1342 stores a component module for configuration, and the log data storage unit 1344 stores log data collected by the recovery management unit 1330. Can be stored.

서비스 인프라 생성을 위한 서비스 인프라 프로비저닝 관리부(130)의 동작에 대해서 보다 구체적으로 설명하도록 한다. 서비스 인프라 생성을 위해 배치 계획 분석부(1301)는 복수의 장치들(130)에 설치된 호스트의 하드웨어 정보를 검출하고, 명세서로부터 해당 호스트의 태그를 검색할 수 있다. 배치 계획 분석부(1301)로부터 검색 결과가 수신되면 실행 관리부(1302)는 배치될 시스템 정보를 포함하는 컴포넌트 모듈을 생성하기 위해 적절한 인프라 생성 관리부를 호출할 수 있다. 예를 들어, 베어 메탈 인프라를 생성하기 위해 베어 메탈 인프라 생성 관리부(1303)가 호출될 수 있다. 메탈 인프라 생성 관리부(1303)는 베이스 및 어플리케이션 소프트웨어 등과 같은 컴포넌트 모듈들을 생성할 수 있다. 컴포넌트 모듈 실행부(1306)는 클라이언트 설치 과정 동안 컴포넌트 모듈에 기반하여 특정 태스크들을 실행할 수 있다.The operation of the service infrastructure provisioning management unit 130 for creating a service infrastructure will be described in more detail. In order to generate the service infrastructure, the deployment plan analyzer 1301 may detect hardware information of a host installed in the plurality of devices 130, and search for a tag of the corresponding host from the specification. When a search result is received from the deployment plan analyzer 1301, the execution manager 1302 may call an appropriate infrastructure generation manager to generate a component module including system information to be deployed. For example, the bare metal infrastructure generation manager 1303 may be called to generate a bare metal infrastructure. The metal infrastructure generation management unit 1303 may generate component modules such as base and application software. The component module execution unit 1306 may execute specific tasks based on the component module during the client installation process.

이를 통해서, 별도의 제어 장치가 존재하지 않더라도 도 13에서 상술한 서비스 제공 서버(120)를 통해 복수의 장치들(130)의 서비스 인프라스트럭처를 생성할 수 있다.Through this, even if a separate control device does not exist, the service infrastructure of the plurality of devices 130 may be generated through the service providing server 120 described above with reference to FIG. 13.

도 14는 본 발명의 실시예에 따른 모델링 언어를 이용한 서비스 인트라스트럭처 생성 장치에서 서비스 인트라스트럭처를 생성하기 위한 방법을 나타내는 흐름도이다. 제시된 실시예에서 서비스 인트라스트럭처 생성 장치는 도 1의 서비스 제공 서버(120)일 수 있다.14 is a flowchart illustrating a method for generating a service intrastructure in an apparatus for generating a service intrastructure using a modeling language according to an embodiment of the present invention. In the illustrated embodiment, the apparatus for generating a service infrastructure may be the service providing server 120 of FIG. 1.

도 1 및 도 14를 참조하면, 서비스 인트라스트럭처 생성 장치는 복수의 장치들(130)에 대한 서비스 인프라스트럭처를 생성하기 위해 컴퓨팅 장치(110)로부터 모델링 언어로 이루어진 설계 데이터를 수신할 수 있다(S1400). 구체적으로, 서비스 인트라스트럭처 생성 장치인 서비스 제공 서버(120)는 서비스 인프라를 생성하고자 하는 복수의 장치들(130)에 대한 장치 정보를 획득하고, 획득된 장치 정보에 기반하여 서비스 인프라 구축을 위한 하드웨어/소프트웨어 환경을 설계하기 위한 사용자 인터페이스에 해당하는 설계 툴을 컴퓨팅 장치(110)로 제공할 수 있다. 컴퓨팅 장치(110)로부터 수신된 설계 데이터는 서비스 인프라 생성을 위해 사용자의 배치 계획에 따라 배치된 적어도 하나의 메타 모델, 각 메타 모델을 구성하는 컴포넌트들, 각 컴포넌트를 구성하는 서브 컴포넌트들에 대응하는 그래픽 객체들에 대한 배치 구조를 나타내는 데이터일 수 있다. Referring to FIGS. 1 and 14, the apparatus for generating a service infrastructure may receive design data in a modeling language from the computing device 110 in order to generate a service infrastructure for the plurality of devices 130 (S1400). ). In detail, the service providing server 120, which is a device for generating a service infrastructure, acquires device information about a plurality of devices 130 to create a service infrastructure, and builds hardware for building a service infrastructure based on the obtained device information. A design tool corresponding to a user interface for designing a software environment may be provided to the computing device 110. The design data received from the computing device 110 may correspond to at least one metamodel, components constituting each metamodel, and subcomponents constituting each component arranged according to a user's deployment plan for generating a service infrastructure. It may be data representing a layout structure for graphic objects.

서비스 인트라스트럭처 생성 장치는 수신된 설계 데이터를 특정 코드로 이루어지는 명세서로 변환할 수 있다(S1410). 구체적으로, 서비스 제공 서버(120)는 적어도 하나의 메타 모델, 각 메타 모델을 구성하는 컴포넌트들, 각 컴포넌트를 구성하는 서브 컴포넌트들 각각에 대응하여 미리 정의된 XML, JSON 또는 YAML 데이터 등을 이용하여 설계 데이터를 XML, JSON 또는 YAML 파일 등으로 변환할 수 있다.The apparatus for generating a service infrastructure may convert the received design data into a specification including a specific code (S1410). In detail, the service providing server 120 uses at least one metamodel, components constituting each metamodel, and XML, JSON, or YAML data predefined in correspondence with each of the subcomponents constituting each component. You can convert design data into XML, JSON, or YAML files.

서비스 인트라스트럭처 생성 장치는 변환된 명세서를 기초로 서비스 인프라스트럭처에 대한 생성을 복수의 장치들(130)로 요청할 수 있다(S1420). 구체적으로, 서비스 제공 서버(120)는 XML, JSON 또는 YAML 등으로 이루어진 명세서를 포함하는 요청 데이터를 복수의 장치들(130)로 전달하여 복수의 장치들(130)이 명세서를 기초로 서비스 인프라 생성 동작을 수행하도록 할 수 있다. 여기서, 서비스 인프라 생성 동작은 명세서를 기초로 서비스 인프라 생성을 위한 하드웨어 또는/및 소프트웨어 배치 계획에 관련된 시스템 구성 파일을 로딩하고, 소프트웨어 패키지를 설치하는 동작을 포함할 수 있다.The apparatus for generating service infrastructure may request generation of the service infrastructure from the plurality of devices 130 based on the converted specification in operation S1420. In detail, the service providing server 120 delivers request data including a specification made of XML, JSON, YAML, etc. to the plurality of devices 130 so that the plurality of devices 130 generate the service infrastructure based on the specification. To perform the operation. Here, the service infrastructure generation operation may include an operation of loading a system configuration file related to a hardware or / and software deployment plan for creating a service infrastructure and installing a software package based on the specification.

이를 통해서 본 발명은 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 자동으로 구축하기 위해 그래픽 객체를 모델링 언어로서 이용하여 서비스 인프라스트럭처를 간단하게 설계할 수 있는 설계 툴을 제공함으로써, 서비스 인프라 구축을 위한 설계 과정이 단순화되어 사용자가 쉽고 편리하게 서비스 인프라스트럭처를 생성할 수 있다.Through this, the present invention provides a design tool that can easily design a service infrastructure using a graphic object as a modeling language to automatically build a hardware and software environment of the service infrastructure, thereby designing a service infrastructure. The process is simplified, allowing the user to easily and conveniently create a service infrastructure.

또한, 본 발명은 서비스 인프라스트럭처 생성을 위해 소요되는 시간 및 노동을 최소화하여 보다 빠르고 효율적으로 서비스 인프라스트럭처를 생성할 수 있다.In addition, the present invention can minimize the time and labor required to create a service infrastructure to create a service infrastructure more quickly and efficiently.

또한, 본 발명은 사용자가 설계 툴을 이용하여 서비스 인프라스트럭처의 하드웨어 또는/및 소프트웨어 구성 컴포넌트에 해당하는 그래픽 객체의 배치를 통해 서비스 인프라스트럭처를 구성함으로써, 서비스 인프라스트럭처를 구성하는 구성 컴포넌트의 재사용성이 향상될 수 있다.In addition, the present invention provides a reusability of the components constituting the service infrastructure by the user to configure the service infrastructure through the placement of the graphical objects corresponding to the hardware or / and software configuration components of the service infrastructure using the design tool This can be improved.

본 발명의 실시예에 따른 장치 및 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.Apparatus and method according to an embodiment of the present invention can be implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. Computer-readable media may include, alone or in combination with the program instructions, data files, data structures, and the like.

컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The program instructions recorded on the computer readable medium may be those specially designed and constructed for the present invention, or may be known and available to those skilled in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Hardware devices specially configured to store and execute program instructions such as magneto-optical media and ROM, RAM, flash memory and the like. In addition, the above-described medium may be a transmission medium such as an optical or metal wire, a waveguide, or the like including a carrier wave for transmitting a signal specifying a program command, a data structure, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.Although the embodiments of the present invention have been described in more detail with reference to the accompanying drawings, the present invention is not necessarily limited to these embodiments, and various modifications can be made without departing from the spirit of the present invention. . Therefore, the embodiments disclosed in the present invention are not intended to limit the technical idea of the present invention but to describe the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the equivalent scope should be interpreted as being included in the scope of the present invention.

100: 서비스 인프라스트럭처 생성 시스템
110: 컴퓨팅 장치
120: 서비스 제공 서버
130: 복수의 장치들
100: service infrastructure generation system
110: computing device
120: service providing server
130: a plurality of devices

Claims (14)

서비스 인프라스트럭처(infrastructure) 생성 장치에서 모델링 언어를 이용한 서비스 인프라스트럭처를 생성하기 위한 방법에 있어서,
복수의 장치들에 대한 서비스 인프라스트럭처를 생성하기 위해 컴퓨팅 장치로부터 상기 모델링 언어로 이루어진 설계 데이터를 수신하는 단계;
상기 수신된 설계 데이터를 특정 코드로 이루어진 명세서로 변환하는 단계; 및
상기 변환된 명세서를 기초로 상기 서비스 인프라스트럭처에 대한 생성을 상기 복수의 장치들로 요청하는 단계를 포함하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.
A method for generating a service infrastructure using a modeling language in a device for generating a service infrastructure,
Receiving design data in the modeling language from a computing device to create a service infrastructure for a plurality of devices;
Converting the received design data into a specification consisting of a specific code; And
Requesting the plurality of devices to create the service infrastructure based on the converted specification.
제1항에 있어서,
상기 복수의 장치들에 대한 장치 정보를 획득하는 단계; 및
상기 장치 정보에 기반하여 상기 복수의 장치들에 대한 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 설계하기 위한 사용자 인터페이스를 상기 컴퓨팅 장치로 제공하는 단계를 더 포함하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.
The method of claim 1,
Acquiring device information for the plurality of devices; And
Providing a user interface for designing a hardware environment and a software environment of a service infrastructure for the plurality of devices to the computing device based on the device information, the service infrastructure generation method using a modeling language. .
제2항에 있어서, 상기 사용자 인터페이스는,
상기 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 구축하기 위해 사용되는 하드웨어 메타 모델(Hardware Meta Model) 및 소프트웨어 메타 모델(Software Meta Model) 각각을 구성하는 복수의 컴포넌트들 각각에 대응하는 그래픽 객체 및 상기 그래픽 객체를 배치하기 위한 배치 공간을 제공하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.
The method of claim 2, wherein the user interface,
A graphic object corresponding to each of a plurality of components constituting each of a hardware metamodel and a software metamodel used to build a hardware environment and a software environment of the service infrastructure; A method of creating a service infrastructure using a modeling language that provides a layout space for placing objects.
제3항에 있어서,
상기 하드웨어 메타 모델은, 하드웨어 디스크립션 메타 모델(Hardware Description Meta Model), 네트워크 장치 메타 모델(Network Device Meta Model), 하드웨어 연결 메타 모델(Hardware Connection Meta Model)을 포함하고,
상기 소프트웨어 메타 모델은, 베어 메탈 인프라 메타 모델(Bare Metal Infra Meta Model), 가상 인프라 메타 모델(Virtual Infra Meta Model) 및 컨테이너 인프라 메타 모델(container Infra Meta Model)을 포함하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.
The method of claim 3,
The hardware metamodel includes a hardware description metamodel, a network device metamodel, a hardware connection metamodel, and a hardware connection metamodel.
The software metamodel includes a bare metal infrastructure metamodel, a virtual infrastructure metamodel, and a container infrastructure metamodel, a service infrastructure using a modeling language. How to create a structure.
제3항에 있어서, 상기 설계 데이터는,
상기 컴퓨팅 장치의 사용자에 의해 상기 사용자 인터페이스를 통해 생성되고, 상기 사용자의 하드웨어 배치 계획 및/또는 소프트웨어 배치 계획에 따라 배치된 복수의 그래픽 객체들의 배치 구조를 나타내는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.
The method of claim 3, wherein the design data,
A method of generating a service infrastructure using a modeling language, which is generated by a user of the computing device through the user interface and represents a layout structure of a plurality of graphic objects arranged according to a hardware layout plan and / or a software layout plan of the user. .
제5항에 있어서, 상기 특정 코드는 XML(Extensible Markup Language), JSON 또는 YAML을 포함하고,
상기 복수의 컴포넌트들 각각에 대응하는 XML, JSON 또는 YAML 데이터가 미리 정의되는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.
The method of claim 5, wherein the specific code includes Extensible Markup Language (XML), JSON, or YAML.
XML, JSON or YAML data corresponding to each of the plurality of components is predefined, the service infrastructure generation method using a modeling language.
제6항에 있어서, 상기 수신된 설계 데이터를 상기 특정 코드로 이루어진 명세서로 변환하는 단계는,
상기 설계 데이터의 상기 복수의 객체들 각각에 대응하는 컴포넌트를 상기 컴포넌트에 대응하여 미리 정의된 XML, JSON 또는 YAML 데이터로 변환하는 단계를 포함하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.
The method of claim 6, wherein the converting of the received design data into a specification consisting of the specific code comprises:
And converting a component corresponding to each of the plurality of objects of the design data into XML, JSON, or YAML data predefined in correspondence to the component.
컴퓨팅 장치 및 복수의 장치들과 통신하도록 구성된 통신부,
저장부; 및
상기 통신부 및 상기 저장부와 동작 가능하게 연결된 프로세서를 포함하고,
상기 프로세서는,
상기 복수의 장치들에 대한 서비스 인프라스트럭처(infrastructure)를 생성하기 위해 상기 컴퓨팅 장치로부터 모델링 언어로 이루어진 설계 데이터를 수신하고,
상기 수신된 설계 데이터를 특정 코드로 이루어진 명세서로 변환하고,
상기 변환된 명세서를 기초로 상기 서비스 인프라스트럭처에 대한 생성을 상기 복수의 장치들로 요청하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.
A communication unit configured to communicate with the computing device and the plurality of devices,
Storage unit; And
A processor operatively connected with the communication unit and the storage unit,
The processor,
Receive design data in a modeling language from the computing device to create a service infrastructure for the plurality of devices,
Converting the received design data into a specification consisting of a specific code,
And requesting the plurality of devices to generate the service infrastructure based on the converted specification.
제8항에 있어서, 상기 프로세서는,
상기 복수의 장치들에 대한 장치 정보를 획득하고,
상기 장치 정보에 기반하여 상기 복수의 장치들에 대한 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 설계하기 위한 사용자 인터페이스를 상기 컴퓨팅 장치로 제공하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.
The method of claim 8, wherein the processor,
Obtaining device information about the plurality of devices,
And providing the computing device with a user interface for designing a hardware environment and a software environment of a service infrastructure for the plurality of devices based on the device information.
제9항에 있어서, 상기 사용자 인터페이스는,
상기 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 구축하기 위해 사용되는 하드웨어 메타 모델(Hardware Meta Model) 및 소프트웨어 메타 모델(Software Meta Model) 각각을 구성하는 복수의 컴포넌트들 각각에 대응하는 그래픽 객체 및 상기 그래픽 객체를 배치하기 위한 배치 공간을 제공하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.
The method of claim 9, wherein the user interface,
A graphic object corresponding to each of a plurality of components constituting each of a hardware metamodel and a software metamodel used to build a hardware environment and a software environment of the service infrastructure; An apparatus for creating a service infrastructure using a modeling language, which provides a layout space for placing an object.
제10항에 있어서,
상기 하드웨어 메타 모델은, 하드웨어 디스크립션 메타 모델(Hardware Description Meta Model), 네트워크 장치 메타 모델(Network Device Meta Model), 하드웨어 연결 메타 모델(Hardware Connection Meta Model)을 포함하고,
상기 소프트웨어 메타 모델은, 베어 메탈 인프라 메타 모델(Bare Metal Infra Meta Model), 가상 인프라 메타 모델(Virtual Infra Meta Model) 및 컨테이너 인프라 메타 모델(container Infra Meta Model)을 포함하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.
The method of claim 10,
The hardware metamodel includes a hardware description metamodel, a network device metamodel, a hardware connection metamodel, and a hardware connection metamodel.
The software metamodel includes a bare metal infrastructure metamodel, a virtual infrastructure metamodel, and a container infrastructure metamodel, a service infrastructure using a modeling language. Structure generation device.
제10항에 있어서, 상기 설계 데이터는,
상기 컴퓨팅 장치의 사용자에 의해 상기 사용자 인터페이스를 통해 생성되고, 상기 사용자의 하드웨어 배치 계획 및/또는 소프트웨어 배치 계획에 따라 배치된 복수의 그래픽 객체들의 배치 구조를 나타내는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.
The method of claim 10, wherein the design data,
A device for generating a service infrastructure using a modeling language, which is generated by a user of the computing device through the user interface and represents a layout structure of a plurality of graphic objects arranged according to a hardware layout plan and / or a software layout plan of the user. .
제12항에 있어서, 상기 특정 코드는 XML(Extensible Markup Language), JSON 또는 YAML을 포함하고,
상기 복수의 컴포넌트들 각각에 대응하는 XML, JSON 또는 YAML 데이터가 미리 정의되는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.
The method of claim 12, wherein the specific code includes Extensible Markup Language (XML), JSON, or YAML.
The service infrastructure generation device using a modeling language, XML, JSON or YAML data corresponding to each of the plurality of components is predefined.
제13항에 있어서, 상기 프로세서는,
상기 설계 데이터의 상기 복수의 객체들 각각에 대응하는 컴포넌트를 상기 컴포넌트에 대응하여 미리 정의된 XML, JSON 또는 YAML 데이터로 변환하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.
The processor of claim 13, wherein the processor comprises:
And converting a component corresponding to each of the plurality of objects of the design data into XML, JSON, or YAML data predefined in correspondence to the component.
KR1020180172870A 2018-12-28 2018-12-28 Method for generating service infrastructure using modeling language and apparatus therefor KR101997629B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180172870A KR101997629B1 (en) 2018-12-28 2018-12-28 Method for generating service infrastructure using modeling language and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180172870A KR101997629B1 (en) 2018-12-28 2018-12-28 Method for generating service infrastructure using modeling language and apparatus therefor

Publications (1)

Publication Number Publication Date
KR101997629B1 true KR101997629B1 (en) 2019-10-01

Family

ID=68207520

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180172870A KR101997629B1 (en) 2018-12-28 2018-12-28 Method for generating service infrastructure using modeling language and apparatus therefor

Country Status (1)

Country Link
KR (1) KR101997629B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170019192A (en) * 2015-08-11 2017-02-21 한국전자통신연구원 Method and apparatus for formal verification of network service in network function virtualization
KR20180091070A (en) * 2015-12-10 2018-08-14 어펌드 네트웍스, 인크. Data-driven automation provisioning for telecommunications applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170019192A (en) * 2015-08-11 2017-02-21 한국전자통신연구원 Method and apparatus for formal verification of network service in network function virtualization
KR20180091070A (en) * 2015-12-10 2018-08-14 어펌드 네트웍스, 인크. Data-driven automation provisioning for telecommunications applications

Similar Documents

Publication Publication Date Title
JP7481421B2 (en) Binding of backend service endpoints to API functions in an API registry
US9710259B2 (en) System and method for customizing a deployment plan for a multi-tier application in a cloud infrastructure
US20180101371A1 (en) Deployment manager
US9274784B2 (en) Automatic deployment and update of hybrid applications
US8938523B2 (en) System and method for deploying and maintaining software applications
US9686154B2 (en) Generating a service-catalog entry from discovered attributes of provisioned virtual machines
US9720668B2 (en) Creating and maintaining multi-tenant applications in a platform-as-a-service (PaaS) environment of a cloud computing system
US9052961B2 (en) System to generate a deployment plan for a cloud infrastructure according to logical, multi-tier application blueprint
US20200133651A1 (en) Release automation service in software development tools
US20130232497A1 (en) Execution of a distributed deployment plan for a multi-tier application in a cloud infrastructure
CN113678100A (en) Unified and automated installation, deployment, configuration and management of software defined storage assets
US10951469B2 (en) Consumption-based elastic deployment and reconfiguration of hyper-converged software-defined storage
US9547486B2 (en) Creating a virtual resource package
KR20220092615A (en) Just-In-Time Containers
US20200059401A1 (en) Management pod deployment with the cloud provider pod (cpod)
US9733918B2 (en) Using cloud patterns for installation on unmanaged physical machines and appliances
Harzenetter et al. Automated Generation of Management Workflows for Running Applications by Deriving and Enriching Instance Models.
KR101997629B1 (en) Method for generating service infrastructure using modeling language and apparatus therefor
US11010149B2 (en) Shared middleware layer containers
US9824224B2 (en) Security-minded cloning method, system and program
WO2022199136A1 (en) Application modification method, and system, cluster, medium and program product
CN110221910A (en) Method and apparatus for executing MPI operation
KR20110075393A (en) The image forming apparatus which operates based on framework can owns function among a plurality of bundle and method for installing of bundle in the image forming apparatus
US20210271458A1 (en) Managing an app method and system
US11514073B2 (en) Methods and apparatus to generate virtual resource provisioning visualizations