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 PDFInfo
- 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
Links
Images
Classifications
-
- G06F17/5086—
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/41885—Total 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
- G05B19/056—Programming the PLC
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical 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/408—Numerical 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording 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/4202—Recording 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Abstract
Description
본 발명은 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법 및 그 장치를 제공한다.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
컴퓨팅 장치(110)는 서비스 제공 서버(120)와 무선 또는 유선으로 연결되고, 인터넷 또는 인트라넷에 접속 가능한 휴대용 단말기, 스마트 TV, 스마트 TV, PC(Personal Computer), 노트북 등을 포함할 수 있다. 컴퓨팅 장치(110)는 서비스 제공 서버(120)로부터 제공된, 복수의 장치들(130)에 대한 서비스 인프라를 설계하기 위한 사용자 인터페이스를 제공하는 장치로서, 해당 사용자 인터페이스를 표시하는 표시부를 구비할 수 있다. 이러한 사용자 인터페이스는 컴퓨팅 장치(110)에 설치된 웹 브라우저, 어플리케이션, 프로그램 또는 위젯 등을 통해 제공될 수 있다.The
컴퓨팅 장치(110)는 사용자 인터페이스를 통해 복수의 장치들(130)에 대한 서비스 인프라 구축을 위한 설계 데이터를 생성하고, 생성된 설계 데이터를 서비스 제공 서버(120)로 전달할 수 있다. 구체적으로, 컴퓨팅 장치(110)는 복수의 장치들(130)에 구축될 수 있는 서비스 인프라에 관련된 하드웨어 또는/및 소프트웨어 관련 그래픽 객체들을 나타내는 객체 공간과, 해당 그래픽 객체들을 배치하는 배치 공간을 포함하는 사용자 인터페이스를 표시할 수 있다. 여기서, 그래픽 객체는 설계를 위한 모델링 언어로서 제공될 수 있다. 예를 들어, 객체 공간은 하드웨어 환경을 구성하기 위해 사용되는 각 컴포넌트에 대응하는 복수의 그래픽 객체들을 포함하거나, 소프트웨어 환경을 구성하기 위해 사용되는 각 컴포넌트 대응하는 복수의 그래픽 객체들을 포함할 수 있다. 객체 공간에 포함된 복수의 그래픽 객체들 중 사용자에 의해서 선택된 그래픽 객체들은 사용자의 요청에 의해 배치 공간으로 이동될 수 있다. 사용자는 마우스 등과 같이 입력 인터페이스 장치를 이용하여 그래픽 객체들 중 적어도 하나를 클릭 및 드래그를 통해 배치 공간으로 이동시킬 수 있다. 사용자에 의해 서비스 인프라에 대한 하드웨어 환경 또는/및 소프트웨어 환경에 대응하는 하드웨어 또는/및 소프트웨어 그래픽 객체에 대한 배치가 완료되면 컴퓨팅 장치(110)는 이에 대한 설계 데이터를 생성하고, 생성된 설계 데이터를 서비스 제공 서버(120)로 전달할 수 있다.The
서비스 제공 서버(120)는 복수의 장치들(130)에 대한 장치 정보를 획득하고, 획득된 장치 정보를 이용하여 복수의 장치들(130)에 대한 서비스 인프라를 설계하기 위한 사용자 인터페이스를 컴퓨팅 장치(110)로 제공할 수 있다. 구체적으로, 서비스 제공 서버(120)는 네트워크 부팅을 통해 서비스 제공 서버(120)와 연결된 복수의 장치들(130)에 대한 하드웨어 감지를 수행할 수 있다. 서비스 제공 서버(120)는 복수의 장치들(130)로부터 장치 정보를 수신하고, 수신된 장치 정보를 이용하여 서비스 인프라를 설계하기 위한 사용자 인터페이스를 컴퓨팅 장치(110)로 제공할 수 있다. 여기서, 장치 정보는 복수의 장치들(130) 각각에 대한 종류, 연결 방식, 용량, 읽기 속도, 쓰기 속도 등을 포함하는 하드웨어 정보를 포함할 수 있다. 이러한 하드웨어 정보는 서비스 인프라를 설계하기 위해 사용되는 몇몇의 소프트웨어의 배치를 위해 사용될 수 있다. The
서비스 인프라를 설계하기 위한 사용자 인터페이스는 복수의 장치들(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
서비스 제공 서버(120)는 컴퓨팅 장치(110)로부터 이러한 모델링 언어로 이루어진 서비스 인프라에 대한 설계 데이터를 수신할 수 있다. 설계 데이터는 사용자에 의해서 구축하고자 하는 서비스 인프라에 대한 하드웨어 배치 계획 및/또는 소프트웨어 배치 계획에 따라 배치된 복수의 그래픽 객체들의 배치 구조를 나타내는 데이터일 수 있다. 복수의 그래픽 객체들 각각은 서비스 인프라의 데이터 센터를 구축하기 위해 사용되는 하드웨어 메타 모델 및 소프트웨어 메타 모델 각각을 구성하는 컴포넌트에 대응할 수 있다. The
서비스 제공 서버(120)는 수신된 설계 데이터를 특정 코드로 이루어진 명세서(specification)로 변환하고, 변환된 명세서에 기반하여 복수의 장치들(130)에 대한 서비스 인프라 구축을 위한 시스템 구성을 설정할 수 있다. 여기서, 특정 코드는 XML(Extensible Markup Language), JSON, YAML 등과 같은 다양한 데이터 양식을 포함할 수 있다. 제시된 실시예에서는 설계 데이터가 XML로 이루어진 명세서로 변환되는 것을 설명하나, 이에 한정되지 않으며, 설계 데이터가 JSON, YAML 등과 같은 코드로 이루어진 명세서로 변환될 수 있다. The
예를 들어, 서비스 제공 서버(120)는 설계 데이터를 XML 파일로 변환할 수 있다. 설계 데이터를 XML로 변환하기 위해 복수의 그래픽 객체들 각각에 대응하여 XML 스키마(schema)가 정의될 수 있다. 각 그래픽 객체는 메타 모델을 구성하는 각 컴포넌트 또는/및 컴포넌트를 구성하는 각 서브 컴포넌트에 해당하는 XML 데이터가 정의될 수 있다. 서비스 제공 서버(120)는 이와 같이 XML로 이루어진 명세서를 포함하는 요청 데이터를 복수의 장치들(130)로 전달하여 복수의 장치들(130)이 명세서를 기초로 서비스 인프라 생성 동작을 수행하도록 할 수 있다. 여기서, 서비스 인프라 생성 동작은 명세서를 기초로 서비스 인프라 생성을 위한 하드웨어 또는/및 소프트웨어 배치 계획에 관련된 시스템 구성 파일을 로딩(loading)하고, 소프트웨어 패키지를 설치하는 동작을 포함할 수 있다. For example, the
다양한 실시예에서 서비스 제공 서버(120)는 명세서를 기초로 하여 복수의 장치들(130)에 대한 서비스 인프라 생성 동작을 수행할 수도 있다. 서비스 제공 서버(120)는 복수의 장치들(130)로 서비스 인프라 생성을 요청하지 않고, 복수의 장치들(130)에 대한 서비스 인프라 생성 동작을 수행하는 프로비저닝(provisioning) 장치로서 동작할 수 있다. In various embodiments, the
복수의 장치들(130)은 서비스 제공 서버(120)로부터 서비스 인프라에 대한 생성을 요청하기 위한 요청 데이터를 수신하고, 수신된 요청 데이터에 포함된 명세서를 기초로 서비스 인프라 생성 동작을 수행할 수 있다. The plurality of
이를 통해서 복수의 장치들(130)의 서비스 인프라 생성을 위한 하드웨어 또는/및 소프트웨어 환경을 설계하는 과정이 단순화되고, 서비스 인프라의 하드웨어 또는/및 소프트웨어 환경을 구성하는 각 컴포넌트에 대한 재사용성이 개선될 수 있다.This simplifies the process of designing a hardware or / and software environment for creating a service infrastructure of the plurality of
상술한 컴퓨팅 장치(110) 및 서비스 제공 서버(120)에 대해서 도 2 및 도 3을 참조하여 보다 상세하게 설명하도록 한다.The
도 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
통신부(112)는 컴퓨팅 장치(110)가 외부 장치와 통신 가능하도록 연결한다. 통신부(112)는 유선 또는 무선 통신을 이용하여 서비스 제공 서버(120)와 연결될 수 있다. 구체적으로, 통신부(112)는 서비스 제공 서버(120)로부터 서비스 인프라를 생성하기 위해 사용되는 사용자 인터페이스에 대한 정보를 수신할 수 있다.The
저장부(114)는 데이터를 저장하기 위한 매체로서, 하드 디스크 드라이브(Hard Disk Drive; HDD), SSD(Solid State Drive), SD(Secure Digital) 카드, CD(Compact Disk), DVD(Digital Video Disc) 등과 같은 다양한 저장 매체로 구성될 수 있다. 상기 저장부(114)는 서비스 제공 서버(120)로부터 수신된 사용자 인터페이스에 대한 정보를 저장할 수 있다. The
표시부(116)는 사용자에게 각종 콘텐트(예: 텍스트, 이미지, 비디오, 아이콘, 배너 또는 심볼 등)를 표시할 수 있다. 구체적으로, 표시부(116)는 통신부(112)를 통해 서비스 제공 서버(120)로부터 수신된 사용자 인터페이스에 대한 정보를 이용하여 사용자 인터페이스를 표시할 수 있다. 다양한 실시예에서 디스플레이(110)는 터치스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치(touch), 제스처(gesture), 근접, 드래그(drag), 스와이프(swipe) 또는 호버링(hovering) 입력 등을 수신할 수 있다.The
프로세서(118)는 통신부(112), 저장부(114) 및 표시부(116)와 동작 가능하게 연결되며, 서비스 인프라 생성을 위한 컴퓨팅 장치(110)의 동작을 제어할 수 있다. 구체적으로, 프로세서(118)는 서비스 제공 서버(120)로부터 제공된 사용자 인터페이스를 표시부(116)를 통해서 표시할 수 있다. 표시부(116)를 통해서 표시되는 사용자 인터페이스는 복수의 장치들(130)의 장치 정보에 기반하여 서비스 인프라의 하드웨어 환경 및/또는 소프트웨어 환경을 설계하기 위한 복수의 그래픽 객체들을 나타내는 객체 공간과, 각 그래픽 객체를 배치하기 위한 배치 공간을 포함할 수 있다. 복수의 그래픽 객체들은 하드웨어 환경을 구축하기 위한 하드웨어 메타 모델의 각 컴포넌트 및 소프트웨어 환경을 구축하기 위한 소프트웨어 메타 모델의 각 컴포넌트에 대응하는 모델링 언어로서 정의될 수 있다. 다양한 실시 예에서 배치 공간은 각 컴포넌트를 구성하는 복수의 서브 컴포넌트들의 배치 구조를 나타내는 서브 배치 공간을 더 포함할 수도 있다. 서브 배치 공간은 복수의 서브 컴포넌트들 각각에 대응하는 서브 그래픽 객체를 포함할 수 있다. The
사용자 인터페이스는 복수의 장치들(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
프로세서(118)는 이와 같이 사용자 인터페이스를 통해 생성된 설계 데이터 또는 특정 코드로 이루어진 명세서를 통신부(112)를 통해서 서비스 제공 서버(120)로 전달할 수 있다.The
도 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
통신부(122)는 서비스 제공 서버(120)가 외부 장치와 통신 가능하도록 연결한다. 통신부(122)는 유선 또는 무선 통신을 이용하여 컴퓨팅 장치(110) 및 복수의 장치들(130)과 연결될 수 있다. 구체적으로, 통신부(122)는 복수의 장치들(130)로부터 복수의 장치들(130)에 대한 장치 정보를 수신할 수 있다. 통신부(122)는 서비스 인프라를 생성하기 위해 사용되는 사용자 인터페이스에 대한 정보를 컴퓨팅 장치(110)로 전달하고, 컴퓨팅 장치(110)로부터 사용자 인터페이스를 통해 생성된 설계 데이터 또는 특정 코드로 이루어진 명세서를 수신할 수 있다. 통신부(122)는 명세서를 기초로 서비스 인프라에 대한 생성을 요청하는 요청 데이터를 복수의 장치들(130)로 전달할 수 있다.The
저장부(124)는 데이터를 저장하기 위한 매체로서, 하드 디스크 드라이브, SSD, SD 카드, CD, DVD 등과 같은 다양한 저장 매체로 구성될 수 있다. 저장부(124)는 통신부(122)를 통해서 수신된 복수의 장치들(130)에 대한 장치 정보를 저장하고, 장치 정보에 기반하여 복수의 장치들(130)의 서비스 인프라 생성을 위한 사용자 인터페이스에 대한 정보를 저장할 수 있다. 저장부(124)는 컴퓨팅 장치(110)로부터 수신된 설계 데이터 또는 특정 코드로 이루어진 명세서를 저장할 수 있다. The
프로세서(126)는 통신부(122) 및 저장부(124)와 동작 가능하게 연결되며, 서비스 인프라 생성을 위한 사용자 인터페이스를 제공하고, 컴퓨팅 장치(110)로부터 수신된 설계 데이터를 이용하여 서비스 인프라 생성을 요청하는 서비스 제공 서버(120)의 동작을 제어할 수 있다. The
구체적으로, 프로세서(126)는 서비스 인프라를 생성하고자 하는 복수의 장치들(130)에 대한 장치 정보를 획득할 수 있다. 프로세서(126)는 네트워크 부팅을 수행하여 복수의 장치들(130)에 대한 장치 정보를 수집할 수 있다. 프로세서(126)는 획득된 장치 정보에 기반하여 복수의 장치들(130)에 대한 서비스 인프라 생성을 위해 하드웨어 환경 또는/및 소프트웨어 환경을 설계하기 위한 사용자 인터페이스를 컴퓨팅 장치(110)로 제공할 수 있다. 예를 들어, 사용자 인터페이스는 웹 브라우저를 통해 제공되는 설계 툴(design tool)일 수 있다. 이러한 설계 툴은 설계 툴을 제어하기 위한 버튼들, 서비스 인프라 생성을 위한 적어도 하나의 메타 모델 또는 각 메타 모델을 구성하는 컴포넌트들의 배치 구조에 대한 예시를 보여주는 브라우저(browser), 각 컴포넌트에 대응하는 그래픽 객체를 보여주는 선택 바(bar)를 포함할 수 있다. 선택 바에 보여지는 그래픽 객체는 사용자의 드래그 앤 드롭(drag and drop) 동작에 의해 브라우저로 이동될 수 있다. 설계 툴은 사용자에 의해 설계되는 하드웨어 환경 또는 소프트웨어 환경의 계층적 구성을 보여주는 오브젝트 브라우저 및 사용자의 의해 선택된 메타 모델 또는 컴포넌트의 기본 특성 및 다른 속성들을 수정할 수 있는 속성 에디터를 더 포함할 수 있다. 설계 툴의 버튼들은 사용자에 의해서 설계가 완료된 하드웨어 환경 또는 소프트웨어 환경에 해당하는 컴포넌트들의 배치 구조의 유효성을 검사하기 위한 유효성 검사 버튼, 사용자에 의해서 설계가 완료된 설계 데이터를 생성하기 위한 생성 버튼을 포함할 수 있다. 다양한 실시예에서 설계 툴의 버튼들은 설계 데이터를 특정 코드(예: XML, JSON 또는 YAML 등)로 이루어진 명세서로 변환하기 위한 변환 버튼을 더 포함할 수 있다. 프로세서(126)는 웹 브라우저를 통해 이러한 설계 툴을 컴퓨팅 장치(110)로 제공할 수 있다. In detail, the
프로세서(126)는 통신부(122)를 통해 컴퓨팅 장치(110)로부터 사용자에 의해서 설계된 설계 데이터를 수신하고, 수신된 설계 데이터를 XML, JSON 또는 YAML 등으로 이루어진 명세서로 변환할 수 있다. 구체적으로, 하드웨어 환경 또는/및 소프트웨어 환경을 구성하기 위한 적어도 하나의 메타 모델, 각 메타 모델을 구성하는 컴포넌트들 및 각 컴포넌트를 구성하는 서브 컴포넌트들 각각에 대응하는 XML 데이터, JSON 데이터 또는 YAML 데이터 등은 미리 정의될 수 있다. 프로세서(126)는 이와 같이 미리 정의된 XML, JSON 또는 YAML 데이터 등을 이용하여 설계 데이터를 XML, JSON 또는 YAML 파일 등으로 변환할 수 있다. 예를 들어, 설계 데이터를 XML로 이루어진 명세서로 변환하는 과정에 대해서 구체적으로 도 4를 참조하여 보다 상세하게 설명하도록 한다. The
도 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
이러한 경우 프로세서(126)는 각 컴포넌트에 대응하여 미리 정의된 XML 데이터를 배치 구조에 따라 조합하고, 조합된 컴포넌트별 XML 데이터를 하나의 XML 파일로 생성할 수 있다. 다양한 실시예에서 프로세서(126)는 설계 데이터의 각 컴포넌트를 각 컴포넌트에 대응하여 미리 정의된 XML 데이터로 변환하고, 변환된 컴포넌트별 XML 데이터를 하나의 XML 파일로 생성할 수도 있다.In this case, the
다시 도 3을 참조하면, 프로세서(126)는 XML, JSON 또는 YAML 파일 등을 기초로 복수의 장치들(130)에 대한 서비스 인프라 생성 요청을 복수의 장치들(130)로 전달할 수 있다. 예를 들어, 서비스 인프라 생성에 대한 요청은 변환된 XML, JSON 또는 YAML 파일 등을 포함할 수 있다. 이러한 경우 요청을 수신한 복수의 장치들(130)은 요청에 포함된 명세서를 기초로 서비스 인프라 생성 동작을 수행할 수 있다.Referring back to FIG. 3, the
다양한 실시예에서 프로세서(126)는 변환된 XML, JSON 또는 YAML 파일 등을 기초로 복수의 장치들(130)에 대한 서비스 인프라 생성 동작을 수행할 수 있다. 구체적으로, 프로세서(126)는 XML, JSON 또는 YAML 파일 등을 기초로 복수의 장치들(130)에 서비스 인프라 생성을 위한 하드웨어 또는/및 소프트웨어 배치 계획에 관련된 시스템 구성 파일을 로딩하고, 소프트웨어 패키지를 설치할 수 있다.In various embodiments, the
하기에서는 데이터 센터 환경을 구축하기 위해 사용되는 하드웨어 환경의 메타 모델 및 소프트웨어 환경의 메타 모델 각각을 구성하는 컴포넌트 및 각 컴포넌트를 구성하는 서브 컴포넌트에 대해서 도 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
도 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
도 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
도 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
훅(804)은 디스크 파티션(disk partition), 시스템 소프트웨어 설치(system software installation) 및 패키지 설치(package installation)와 같은 태스크에 삽입될 수 있는 스크립트 함수(script function)일 수 있다.
복수의 장치들(130)에 설치되는 소프트웨어는 시스템 소프트웨어 및 어플리케이션 소프트웨어를 포함할 수 있다. 시스템 소프트웨어는 컴퓨터 하드웨어를 동작시키고, 컴퓨터 하드웨어의 기능을 통합시킬 수 있다. 이를 통해서 사용자는 하드웨어와 직접적으로 상호작용할 수 있다. The software installed in the plurality of
베어 메탈 인프라 메타 모델(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
도 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
클라우드 운영 시스템(902)은 스탠다드 클라우드 운영 시스템(Standard Cloud Operating System)(908) 및 논-스탠다드 클라우드 운영 시스템(Non-Standard Cloud Operating System)(910)을 포함할 수 있다. 스탠다드 클라우드 운영 시스템(908)은 오픈 소스 소프트웨어 플랫폼(Open source platform)인 OpenNebula(912) 및 OpenStack(914)를 포함할 수 있다. The
하이퍼바이저(904)는 가상 머신을 생성 및 동작시키기 위한 프로그램일 수 있다. 하이퍼바이저(904)는 리눅스 가상화 소프트웨어(Linux Virtualization software)인 XEN(916) 및 KVM(Kernel-based Virtual Machine)(918)를 포함할 수 있다. The
가상 머신 서비스를 위해 기본 모듈인 노드(920)가 제공될 수 있다. 노드(920)는 제어 노드(Control node)(922) 및 컴퓨트 노드(Compute Node)(924)를 포함할 수 있다. 제어 노드(922)는 대시보드(dashboard), 이미지 저장(image store) 및 ID 서비스(identity service)로 불리는 웹 기반 관리 페이지를 포함할 수 있다. 컴퓨트 노드(924)는 다중 가상 머신에서 동작하는 가상화 소프트웨어인 Xen-node(926) 및 Kvm-node(928)를 포함할 수 있다.
가상 머신을 생성하기 위해, 디스크 이미지(906)는 베어 메탈 인프라(930)로 확장되고, 이와 같이 확장된 디스크 이미지(906)는 사용자 맞춤에 따른 서로 다른 타입의 디스크 이미지를 자동으로 생성할 수 있다. In order to create a virtual machine, the
베어 메타 인프라의 소프트웨어를 배치하기 위해 운영 시스템 및 관련 시스템 구성을 서술하는 기본 컴포넌트 모델인 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
이와 같이 하드웨어 환경 및 소프트웨어 환경을 자동으로 구축하기 위해 상술한 하드웨어/소프트웨어 메타 모델들, 각 메타 모델에 포함되는 컴포넌트들 및 각 컴포넌트에 포함되는 서브 컴포넌트들이 사용될 수 있다. 이러한 메타 모델, 컴포넌트 및 서브 컴포넌트에 대응하는 그래픽 객체를 이용하여 서비스 인프라를 간단하게 설계할 수 있는 설계 툴이 제공됨으로써, 서비스 인프라 구축을 위한 설계 과정이 단순화되고, 서비스 인프라스트럭처를 구성하는 구성 컴포넌트의 재사용성이 향상될 수 있다.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
도 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
설계 툴의 인터페이스 화면(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
하드웨어 디스크립션 메타 모델을 구성하기 위해 사용자는 선택 바 영역(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
사용자에 의해서 특정 서버 랙에 대응하는 그래픽 객체(1132)가 선택되면 서브 브라우저 영역(1140)은 특정 서버 랙(1132)을 구성하는 서브 컴포넌트들의 상세 배치 구조에 대한 예시를 나타낼 수 있다. 서버 랙을 구성하기 위해 사용자는 선택 바 영역(1120)에 포함된 그래픽 객체들 중 적어도 일부를 드래그 앤 드롭 동작을 통해 서브 브라우저 영역(1140)으로 이동시켜 사용자가 구성하고자 하는 서버 랙의 배치 구조에 따라 그래픽 객체들을 배치할 수 있다. 예를 들어, 특정 서버 랙의 배치 구조는 서브 브라우저 영역(1140)을 통해 도시된 바와 같이 사용자에 의해서 배치된 하나의 Tor 스위치, 4개의 호스트들 및 이들을 연결하기 위한 케이블로 이루어질 수 있다.When the
다양한 실시예에서 하드웨어 메타 모델의 각 컴포넌트를 구성하는 적어도 하나의 서브 컴포넌트들은 미리 정의된 배치 구조를 가질 수 있다. 예를 들어, 서버 랙의 경우 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
사용자에 의해서 하드웨어 디스크립션 메타 모델에 대한 설계가 완료되어 검증 버튼이 선택되면 컴퓨팅 장치(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
도 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
설계 툴의 인터페이스 화면(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
베어 메탈 인프라 메타 모델을 구성하기 위해 사용자는 선택 바 영역(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
사용자에 의해서 CephOSD에 대응하는 그래픽 객체(1232)가 선택되면 서브 브라우저 영역(1240)은 CephOSD을 구성하는 서브 컴포넌트들의 상세 배치 구조에 대한 예시를 나타낼 수 있다. CephOSD를 구성하기 위해 사용자는 선택 바 영역(1220)에 포함된 그래픽 객체들 중 적어도 일부를 드래그 앤 드롭 동작을 통해 서브 브라우저 영역(1240)으로 이동시켜 사용자가 구성하고자 하는 CephOSD의 배치 구조에 따라 그래픽 객체들을 배치할 수 있다. 예를 들어, 사용자는 시작에 해당하는 Initial를 배치하고, Initial 이후에 통합 패키지(unified package)를 배치하여 소프트웨어 패키지들이 설치되도록 하고, 특정 파일(file)이 첫번째 포스트스크립트(postscript)에 적용되도록 배치하여 특정 파일의 페이지를 기술하도록 하고, 첫번째 포스트스크립트 다음에 두번째 포스트 스크립트를 배치하여 특정 파일이 적용된 페이지를 기술하도록 한 후 End를 배치하여 종료하도록 한다. 이와 같이 배치된 CephOSD의 배치 구조는 도 12의 서브 브라우저 영역(1140)을 통해 도시된 바와 같이 Initial, 통합 패키지, 파일, 2개의 포스트스크립트들 및 End로 이루어질 수 있다. 이를 통해 사용자는 소프트웨어 환경을 설계하기 위해 메타 모델을 구성하는 컴포넌트들뿐만 아니라 각 컴포넌트를 기술하기 위한 시스템 구성, 구성 파일 또는 소프트웨어 설정(예: 파일, 포스트스크립트 등) 등에 해당하는 서브 컴포넌트를 그래픽 객체를 통해 쉽고 편리하게 설계할 수 있다.When the
다양한 실시예에서 소프트웨어 메타 모델의 각 컴포넌트를 구성하는 적어도 하나의 서브 컴포넌트들은 미리 정의된 배치 구조를 가질 수 있다. 예를 들어, 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
사용자에 의해서 베어 메탈 인프라 메타 모델에 대한 설계가 완료되어 검증 버튼이 선택되면 컴퓨팅 장치(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
이와 같이 제공되는 설계 툴을 이용하여 사용자는 복수의 장치들(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
하기에서는 변환된 명세서를 기초로 복수의 장치들(130)에 대한 서비스 인프라 생성 동작을 수행하는 서비스 제공 서버(120)의 프로세서(126) 및 저장부(124)에 대해서 도 13을 참조하여 보다 상세하게 설명하도록 한다.Hereinafter, the
도 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
서비스 인프라 프로비저닝 관리부(1300)는 배치 계획 분석부(1301), 실행 관리부(1302), 베어 메탈 인프라 생성 관리부(1303), 컨테이너 인프라 생성 관리부(1304), 가상 인프라 생성 관리부(1305) 및 컴포넌트 모듈 실행부(1306)를 포함할 수 있다. 서비스 인프라 프로비저닝 관리부(1300)는 배치 계획 분석부(1301) 및 실행 관리부(1302)를 호출하여 명세서를 기초로 복수의 장치들(130)의 전체 시스템 및 소프트웨어에 대한 자동 배치 및 자동 구성을 수행할 수 있다. The service infrastructure
배치 계획 분석부(1301)는 데몬(daemon)으로서 동작하는데, 호스트의 하드웨어 설명문(hardware specificaion)을 검출하고, 검출된 하드웨어 설명문이 명세서의 하드웨어 설명문과 일치하는지를 검증할 수 있다. 만약 일치하면 배치 계획 분석부(1301)는 배치를 위한 서비스 인프라 타입들과 컴포넌트 리스트를 실행 관리부(1302)로 전달할 수 있다. 일치하는 하드웨어 설명문이 없으면 배치 계획 분석부(1301)는 기본 소프트웨어를 복수의 장치들(130) 각각에 자동으로 설치할 수 있다. The
실행 관리부(1302)는 베어 메탈 인프라, 가상 인프라 및 컨테이너 인프라에 대한 서비스 인프라 생성 동작을 관리할 수 있다. 배치 계획 분석부(1301)로부터 서비스 인프라 타입들과 컴포넌트 리스트가 수신되면 실행 관리부(1302)는 어떠한 서비스 인프라를 실행할지 결정할 수 있다. The
베어 메탈 인프라 생성 관리부(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
컨테이너 인프라 생성 관리부(1304)는 컨테이너 도메인 내 컴포넌트 모듈의 배치를 관리할 수 있다. 컨테이너 인프라 생성 관리부(1304)는 컨테이너들의 생성을 지원하는 컨테이너리제이션 모듈(containerization module)과, 컨테이너들을 관리 및 배치하는 컨테이너 관리자 모듈(container manager module)과, 디스크 이미지와 같은 컨테이너를 생성하는 도커 파일 모듈(Dockerfile module)을 포함할 수 있다. The container
가상 인프라 생성 관리부(1305)는 가상 인프라 도메인 내 컴포넌트 모듈의 배치를 관리할 수 있다. 가상 인프라 생성 관리부(1305)는 하이퍼바이저에 의해 운영 시스템 상에서 동작할 수 있다. 가상 인프라의 컴포넌트 모듈은 클라우드 운영 시스템, 하이퍼바이저 및 디스크 이미지를 포함하는 베어 메탈 컴포넌트 모듈 및 관련 가상화 모듈을 포함할 수 있다. 클라우드 운영 시스템은 가상화 환경에서 동작하고, 가상 머신 및 가상 인프라의 관리를 지원하는 운영 시스템일 수 있다. 하이퍼바이저는 가상 머신을 동작하기 위한 컴퓨터 소프트웨어일 수 있다. 클라우드 환경을 배치하기 위해 하이퍼바이저는 먼저 설치될 수 있다. 디스크 이미지는 가상 머신을 위한 하드 디스크의 데이터 구성의 컨텐츠를 포함할 수 있다. 이러한 디스크 이미지는 가상 머신을 위해 배치될 소프트웨어를 도시할 수 있다. 가상 머신은 시스템 소프트웨어 및 어플리케이션 소프트웨어를 설치하기 위해 사용될 수 있다. The virtual infrastructure
컴포넌트 모듈 실행부(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
호스트 모니터링부(1320)는 호스트의 설치 과정을 모니터링하고, 로그 데이터를 수집할 수 있다. The
복구 관리부(1330)는 설치 실패 시 설치가 실패된 호스트에 대한 재설치 멍령어를 실행할 수 있다. 재설치 오류가 발생되면 복구 관리부(1330)는 구성 파일에 대한 수정을 요청하거나 호스트의 하드웨어를 체크할 수 있다.The
저장부(124)는 소프트웨어 저장부(1340), 컴포넌트 모듈 저장부(1342) 및 로그 데이터 저장부(1344)를 포함할 수 있다. 소프트웨어 저장부(1340)는 소프트웨어 패키지를 저장하고, 컴포넌트 모듈 저장부(1342)는 구성을 위한 컴포넌트 모듈을 저장하며, 로그 데이터 저장부(1344)는 복구 관리부(1330)에 의해서 수집되는 로그 데이터를 저장할 수 있다.The
서비스 인프라 생성을 위한 서비스 인프라 프로비저닝 관리부(130)의 동작에 대해서 보다 구체적으로 설명하도록 한다. 서비스 인프라 생성을 위해 배치 계획 분석부(1301)는 복수의 장치들(130)에 설치된 호스트의 하드웨어 정보를 검출하고, 명세서로부터 해당 호스트의 태그를 검색할 수 있다. 배치 계획 분석부(1301)로부터 검색 결과가 수신되면 실행 관리부(1302)는 배치될 시스템 정보를 포함하는 컴포넌트 모듈을 생성하기 위해 적절한 인프라 생성 관리부를 호출할 수 있다. 예를 들어, 베어 메탈 인프라를 생성하기 위해 베어 메탈 인프라 생성 관리부(1303)가 호출될 수 있다. 메탈 인프라 생성 관리부(1303)는 베이스 및 어플리케이션 소프트웨어 등과 같은 컴포넌트 모듈들을 생성할 수 있다. 컴포넌트 모듈 실행부(1306)는 클라이언트 설치 과정 동안 컴포넌트 모듈에 기반하여 특정 태스크들을 실행할 수 있다.The operation of the service infrastructure
이를 통해서, 별도의 제어 장치가 존재하지 않더라도 도 13에서 상술한 서비스 제공 서버(120)를 통해 복수의 장치들(130)의 서비스 인프라스트럭처를 생성할 수 있다.Through this, even if a separate control device does not exist, the service infrastructure of the plurality of
도 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
도 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
서비스 인트라스트럭처 생성 장치는 수신된 설계 데이터를 특정 코드로 이루어지는 명세서로 변환할 수 있다(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
서비스 인트라스트럭처 생성 장치는 변환된 명세서를 기초로 서비스 인프라스트럭처에 대한 생성을 복수의 장치들(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
이를 통해서 본 발명은 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 자동으로 구축하기 위해 그래픽 객체를 모델링 언어로서 이용하여 서비스 인프라스트럭처를 간단하게 설계할 수 있는 설계 툴을 제공함으로써, 서비스 인프라 구축을 위한 설계 과정이 단순화되어 사용자가 쉽고 편리하게 서비스 인프라스트럭처를 생성할 수 있다.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)
복수의 장치들에 대한 서비스 인프라스트럭처를 생성하기 위해 컴퓨팅 장치로부터 상기 모델링 언어로 이루어진 설계 데이터를 수신하는 단계;
상기 수신된 설계 데이터를 특정 코드로 이루어진 명세서로 변환하는 단계; 및
상기 변환된 명세서를 기초로 상기 서비스 인프라스트럭처에 대한 생성을 상기 복수의 장치들로 요청하는 단계를 포함하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.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.
상기 복수의 장치들에 대한 장치 정보를 획득하는 단계; 및
상기 장치 정보에 기반하여 상기 복수의 장치들에 대한 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 설계하기 위한 사용자 인터페이스를 상기 컴퓨팅 장치로 제공하는 단계를 더 포함하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.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. .
상기 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 구축하기 위해 사용되는 하드웨어 메타 모델(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.
상기 하드웨어 메타 모델은, 하드웨어 디스크립션 메타 모델(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.
상기 컴퓨팅 장치의 사용자에 의해 상기 사용자 인터페이스를 통해 생성되고, 상기 사용자의 하드웨어 배치 계획 및/또는 소프트웨어 배치 계획에 따라 배치된 복수의 그래픽 객체들의 배치 구조를 나타내는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법.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. .
상기 복수의 컴포넌트들 각각에 대응하는 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.
상기 설계 데이터의 상기 복수의 객체들 각각에 대응하는 컴포넌트를 상기 컴포넌트에 대응하여 미리 정의된 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.
상기 복수의 장치들에 대한 장치 정보를 획득하고,
상기 장치 정보에 기반하여 상기 복수의 장치들에 대한 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 설계하기 위한 사용자 인터페이스를 상기 컴퓨팅 장치로 제공하는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.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.
상기 서비스 인프라스트럭처의 하드웨어 환경 및 소프트웨어 환경을 구축하기 위해 사용되는 하드웨어 메타 모델(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.
상기 하드웨어 메타 모델은, 하드웨어 디스크립션 메타 모델(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.
상기 컴퓨팅 장치의 사용자에 의해 상기 사용자 인터페이스를 통해 생성되고, 상기 사용자의 하드웨어 배치 계획 및/또는 소프트웨어 배치 계획에 따라 배치된 복수의 그래픽 객체들의 배치 구조를 나타내는, 모델링 언어를 이용한 서비스 인프라스트럭처 생성 장치.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. .
상기 복수의 컴포넌트들 각각에 대응하는 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.
상기 설계 데이터의 상기 복수의 객체들 각각에 대응하는 컴포넌트를 상기 컴포넌트에 대응하여 미리 정의된 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.
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)
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 |
-
2018
- 2018-12-28 KR KR1020180172870A patent/KR101997629B1/en active
Patent Citations (2)
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 |