KR102437052B1 - Apparatus and method for applying environment of computing infrastructure based on reorganizing markup language according to cloud service provider - Google Patents

Apparatus and method for applying environment of computing infrastructure based on reorganizing markup language according to cloud service provider Download PDF

Info

Publication number
KR102437052B1
KR102437052B1 KR1020200121376A KR20200121376A KR102437052B1 KR 102437052 B1 KR102437052 B1 KR 102437052B1 KR 1020200121376 A KR1020200121376 A KR 1020200121376A KR 20200121376 A KR20200121376 A KR 20200121376A KR 102437052 B1 KR102437052 B1 KR 102437052B1
Authority
KR
South Korea
Prior art keywords
csp
computing infrastructure
infrastructure environment
markup language
information
Prior art date
Application number
KR1020200121376A
Other languages
Korean (ko)
Other versions
KR20220038942A (en
Inventor
박민영
조성식
최기훈
Original Assignee
주식회사 디투오
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 디투오 filed Critical 주식회사 디투오
Priority to KR1020200121376A priority Critical patent/KR102437052B1/en
Publication of KR20220038942A publication Critical patent/KR20220038942A/en
Application granted granted Critical
Publication of KR102437052B1 publication Critical patent/KR102437052B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치는 복수의 CSP에 대하여 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격 및 CSP 기능 호출 API 규격을 포함하는 규격 정보를 저장하는 프로비저닝 데이터베이스; 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 CSP를 결정하는 CSP 선택부; 상기 결정된 CSP의 규격 정보에 기초하여 상기 마크업 언어 중 변환되어야 할 인자를 파싱하는 파싱부; 상기 파싱된 인자가 상기 결정된 CSP의 규격 정보에 맞도록 변환되어야 하는 변환 정보를 결정하고, 상기 변환 정보에 기반하여 상기 마크업 언어를 재구성하는 변환부; 및 상기 재구성된 마크업 언어를 이용하여 상기 결정된 CSP에 컴퓨팅 인프라 환경을 요청하는 적용부를 포함할 수 있다. A computing infrastructure environment support apparatus according to an embodiment of the present invention includes: a provisioning database for storing specification information including specifications for factors constituting a computing infrastructure environment for a plurality of CSPs and specification information including CSP function call API specifications; a CSP selection unit that determines a CSP in which a computing infrastructure environment composed of a markup language operates; a parsing unit that parses a factor to be converted among the markup language based on the determined standard information of the CSP; a conversion unit that determines conversion information to be converted so that the parsed factor conforms to the determined standard information of the CSP, and reconstructs the markup language based on the conversion information; and an application unit for requesting a computing infrastructure environment from the determined CSP using the reconfigured markup language.

Description

CSP에 따른 마크업 언어 재구성 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법{APPARATUS AND METHOD FOR APPLYING ENVIRONMENT OF COMPUTING INFRASTRUCTURE BASED ON REORGANIZING MARKUP LANGUAGE ACCORDING TO CLOUD SERVICE PROVIDER}Apparatus and method for supporting computing infrastructure environment based on markup language reconstruction according to CSP

본 발명은 CSP(Cloud Service Provider)에 따른 마크업 언어 재구성 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for supporting a computing infrastructure environment based on a markup language reconfiguration according to a Cloud Service Provider (CSP).

클라우드 컴퓨팅은 컴퓨팅 인프라 환경(서버, 메모리, CPU, 스토리지 등)을 구축하는 데에 필요한 리소스를 물리적으로 다른 위치에 존재하는 컴퓨팅 노드가 가상화 기술과 분산처리 기술을 활용하여 인터넷으로 제공하는 컴퓨팅 서비스이다.Cloud computing is a computing service that provides the resources necessary to build a computing infrastructure environment (server, memory, CPU, storage, etc.) over the Internet by computing nodes located in physically different locations using virtualization and distributed processing technology. .

이에 따라, 인터넷 연결이 제공된다면 사용자 만의 컴퓨팅 환경을 시간과 장소에 구애받지 않고 사용할 수 있으며, 하드웨어/소프트웨어의 사후 서비스 등과 같은 모든 서비스를 클라우드 컴퓨팅 환경에서 제공 받을 수 있기 때문에 시스템 유지, 보수 비용, 하드웨어/소프트웨어 구매 비용, 에너지 절감 등의 효과를 기대할 수 있다.Accordingly, if an Internet connection is provided, the user's own computing environment can be used regardless of time and place, and all services such as hardware/software after-sales service can be provided in the cloud computing environment. Hardware/software purchase costs and energy savings can be expected.

이러한 클라우드 컴퓨팅 서비스가 크게 각광 받기 시작하면서 구글, 아마존, 애플, 마이크로소프트, 알리바바, 텐센트와 같은 CSP(Cloud Service Provider)들이 각각 자신만의 클라우드 컴퓨팅 서비스(ex. Google cloud, AWS, iCloud, Azure, Aliyun, Tengxunyun 등)를 출시하며 클라우드 컴퓨팅 시대를 열어가고 있다. As these cloud computing services begin to be in the spotlight, CSPs (Cloud Service Providers) such as Google, Amazon, Apple, Microsoft, Alibaba, and Tencent each have their own cloud computing services (ex. Google cloud, AWS, iCloud, Azure, Aliyun, Tengxunyun, etc.), ushering in the era of cloud computing.

다만, 이와 같이 다양한 클라우드 컴퓨팅 서비스가 출시됨에 따라 각 클라우드 컴퓨팅 서비스가 제공하는 기능과 요금이 상이하고, 국가마다 주로 사용되는 클라우드 컴퓨팅 서비스가 상이하다는 점에 의해 발생하는 문제가 있다. 이러한 경우, 사용자 입장에서는 기존 사용 중인 컴퓨팅 인프라 환경에서 새로운 기능을 확장하기 위해 다른 클라우드 컴퓨팅 서비스를 사용하고자 하거나, 특정 국가에서 이미 구축한 컴퓨팅 인프라 환경을 다른 국가로 진입시키기 위해 다른 클라우드 컴퓨팅 서비스를 사용하고자 할 때(ex. 미국에서 AWS를 이용해 제공 중인 서비스를, 중국에서 Aliyun을 이용하여 제공하려는 경우), 새로운 컴퓨팅 인프라 환경 구축을 위해 클라우드 컴퓨팅 서비스 마다 요구하는 규격이 서로 상이하기 때문에 교체를 위한 막대한 시간과 비용이 발생한다는 문제가 있다. However, as various cloud computing services are released as described above, there is a problem caused by the fact that the functions and charges provided by each cloud computing service are different, and the cloud computing services mainly used in each country are different. In this case, the user wants to use other cloud computing services to expand new functions in the existing computing infrastructure environment, or use other cloud computing services to enter the computing infrastructure environment already built in one country into another country. When you want to (ex. When you want to provide a service that is being provided using AWS in the US and Aliyun in China), there is a huge amount for replacement because the specifications required for each cloud computing service are different to build a new computing infrastructure environment. There is a problem in that time and money are incurred.

한국 공개특허공보 제10-2013-0046155호: 클라우드 컴퓨팅 서비스에서의 접근제어 시스템Korean Patent Application Laid-Open No. 10-2013-0046155: Access control system in cloud computing service

본 발명의 실시예에서 해결하고자 하는 과제는 사용자가 원하는 CSP(Cloud Service Provider)의 선택에 따라 클라우드 기반의 컴퓨팅 인프라 환경의 설계부터 구축까지 자동적으로 수행되어, 사용자가 원하는 CSP에 대해 컴퓨팅 인프라 환경의 구축을 위해 필요한 리소스를 요청하는 기술을 제공하고자 한다.The problem to be solved in the embodiment of the present invention is automatically performed from design to construction of a cloud-based computing infrastructure environment according to the user's selection of a desired CSP (Cloud Service Provider), We want to provide the technology to request the necessary resources for deployment.

다만, 본 발명의 실시예가 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 도출될 수 있다.However, the technical tasks to be achieved by the embodiments of the present invention are not limited to the tasks mentioned above, and various technical tasks may be derived from the content to be described below within the scope obvious to those skilled in the art.

본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치는 복수의 CSP(Cloud Service Provider)에 대하여 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격 및 CSP 기능 호출 API 규격을 포함하는 규격 정보를 저장하는 프로비저닝 데이터베이스; 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 CSP를 결정하는 CSP 선택부; 상기 결정된 CSP의 규격 정보에 기초하여 상기 마크업 언어 중 변환되어야 할 인자를 파싱하는 파싱부; 상기 파싱된 인자가 상기 결정된 CSP의 규격 정보에 맞도록 변환되어야 하는 변환 정보를 결정하고, 상기 변환 정보에 기반하여 상기 마크업 언어를 재구성하는 변환부; 및 상기 재구성된 마크업 언어를 이용하여 상기 결정된 CSP에 컴퓨팅 인프라 환경을 요청하는 적용부를 포함할 수 있다. A computing infrastructure environment support device according to an embodiment of the present invention is a provisioning database for storing specification information including specifications for factors constituting a computing infrastructure environment for a plurality of Cloud Service Providers (CSPs) and specification information including CSP function call API specifications. ; a CSP selection unit that determines a CSP in which a computing infrastructure environment composed of a markup language operates; a parsing unit that parses a factor to be converted in the markup language based on the determined standard information of the CSP; a conversion unit that determines conversion information to be converted so that the parsed factor conforms to the determined standard information of the CSP, and reconstructs the markup language based on the conversion information; and an application unit for requesting a computing infrastructure environment from the determined CSP using the reconfigured markup language.

또한, 상기 장치는 컴퓨팅 인프라 환경에 대한 정보를 마크업 언어로 구성하는 마크업 언어 생성부를 더 포함할 수 있다. In addition, the device may further include a markup language generating unit for configuring information on the computing infrastructure environment in a markup language.

또한, 상기 변환부는 상기 결정된 CSP의 규격 정보에 기초하여, 상기 마크업 언어에 포함된 컴퓨팅 인프라 환경에 대한 리소스를 요청할 API를 결정할 수 있다. Also, the conversion unit may determine an API to request a resource for a computing infrastructure environment included in the markup language, based on the determined standard information of the CSP.

또한, 상기 변환부는 상기 결정된 CSP의 규격 정보에 기초하여, 상기 마크업 언어에서 구성된 인자의 배열 순서 및 상기 API의 호출 순서를 결정하여 상기 변환 정보를 생성할 수 있다. Also, the conversion unit may generate the conversion information by determining an arrangement order of factors configured in the markup language and an API call order based on the determined standard information of the CSP.

또한, 상기 변환부는 상기 인자를 상기 변환 정보에 따라 변환하고, 상기 인자의 배열 순서 및 상기 API의 호출 순서에 따라 상기 마크업 언어를 재구성할 수 있다. In addition, the conversion unit may convert the factor according to the conversion information, and reconstruct the markup language according to the arrangement order of the factors and the calling order of the API.

또한, 상기 변환부는 상기 결정된 CSP의 규격 정보에 기초하여 상기 재구성된 마크업 언어에 대하여 디버깅을 수행할 수 있다. Also, the conversion unit may perform debugging on the reconstructed markup language based on the determined standard information of the CSP.

또한, 상기 인자는 컴퓨팅 인프라 환경의 리소스, 속성, 속성값 또는 인자값을 포함할 수 있다. Also, the factor may include a resource, an attribute, an attribute value, or a factor value of a computing infrastructure environment.

또한, 상기 마크업 언어는 XML 또는 JSON을 포함할 수 있다. Also, the markup language may include XML or JSON.

본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 방법은 복수의 CSP(Cloud Service Provider)에 대하여 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격 및 CSP 기능 호출 API 규격을 포함하는 규격 정보를 저장하는 단계; 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 CSP를 결정하는 단계; 상기 결정된 CSP의 규격 정보에 기초하여 상기 마크업 언어 중 변환되어야 할 인자를 파싱하는 단계; 상기 파싱된 인자가 상기 결정된 CSP의 규격 정보에 맞도록 변환되어야 하는 변환 정보를 결정하고, 상기 변환 정보에 기반하여 상기 마크업 언어를 재구성하는 단계; 및 상기 재구성된 마크업 언어를 이용하여 상기 결정된 CSP에 컴퓨팅 인프라 환경을 요청하는 단계를 포함할 수 있다. A method for supporting a computing infrastructure environment according to an embodiment of the present invention includes: storing specification information including specifications for factors constituting a computing infrastructure environment for a plurality of Cloud Service Providers (CSPs) and CSP function call API specifications; determining a CSP in which a computing infrastructure environment configured in a markup language will operate; parsing a factor to be converted in the markup language based on the determined standard information of the CSP; determining conversion information to be converted so that the parsed factor conforms to the determined standard information of the CSP, and reconstructing the markup language based on the conversion information; and requesting a computing infrastructure environment to the determined CSP using the reconfigured markup language.

본 발명의 실시예에 따르면, CSP(Cloud Service Provider)에 컴퓨팅 인프라 환경을 처음 구축하거나 CSP를 교체하는 경우에도 개발 시간이나 자원을 추가적으로 투입할 필요 없이, 사용자가 원하는 CSP의 선택에 따라 컴퓨팅 인프라 환경을 구성하는 마크업 언어를 각 CSP의 규격 정보에 따라 재구성함으로써, 컴퓨팅 인프라 환경의 구축을 위해 필요한 리소스를 간편하게 CSP에 요청할 수 있다.According to an embodiment of the present invention, there is no need to invest additional development time or resources even when initially building a computing infrastructure environment in a CSP (Cloud Service Provider) or replacing a CSP, and according to the user's choice of the desired CSP, the computing infrastructure environment By reconfiguring the markup language constituting the CSP according to the specification information of each CSP, it is possible to easily request the CSP for the resources required to build the computing infrastructure environment.

이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition, various effects directly or indirectly identified through this document may be provided.

도 1은 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치의 기능 블록도다.
도 2는 본 발명의 일 실시예에 따른 클라우드 기반의 컴퓨팅 인프라 환경에 대한 정보의 예시도이다.
도 3은 본 발명의 일 실시예에 따른 프로비저닝 데이터베이스에 저장된 규약 정보의 예시도이다.
도 4는 구글 클라우드의 CSP에서 제공하는 리소스 간의 종속 관계를 나타낸 예시도이다.
도 5는 아마존 AWS의 CSP에서 제공하는 리소스 간의 종속 관계를 나타낸 예시도이다.
도 6은 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 방법의 흐름도이다.
1 is a functional block diagram of an apparatus for supporting a computing infrastructure environment according to an embodiment of the present invention.
2 is an exemplary diagram of information on a cloud-based computing infrastructure environment according to an embodiment of the present invention.
3 is an exemplary diagram of agreement information stored in a provisioning database according to an embodiment of the present invention.
4 is an exemplary diagram illustrating a dependency relationship between resources provided by CSP of Google Cloud.
5 is an exemplary diagram illustrating a dependency relationship between resources provided by CSP of Amazon AWS.
6 is a flowchart of a method for supporting a computing infrastructure environment according to an embodiment of the present invention.

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

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 실제로 필요한 경우 외에는 생략될 것이다.  그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.  그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, a detailed description of a well-known function or configuration will be omitted unless it is actually necessary. In addition, the terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.

도면에 표시되고 아래에 설명되는 기능 블록들은 가능한 구현의 예들일 뿐이다. 다른 구현들에서는 상세한 설명의 사상 및 범위를 벗어나지 않는 범위에서 다른 기능 블록들이 사용될 수 있다. 또한 본 발명의 하나 이상의 기능 블록이 개별 블록들로 표시되지만, 본 발명의 기능 블록 중 하나 이상은 동일 기능을 실행하는 다양한 하드웨어 및 소프트웨어 구성의 조합일 수 있다.The functional blocks shown in the drawings and described below are merely examples of possible implementations. Other functional blocks may be used in other implementations without departing from the spirit and scope of the detailed description. Also, although one or more functional blocks of the present invention are represented as separate blocks, one or more of the functional blocks of the present invention may be combinations of various hardware and software configurations that perform the same function.

또한 어떤 구성 요소들을 포함한다는 표현은 개방형의 표현으로서 해당 구성 요소들이 존재하는 것을 단순히 지칭할 뿐이며, 추가적인 구성 요소들을 배제하는 것으로 이해되어서는 안 된다.In addition, the expression including certain components is an open expression and merely refers to the existence of the corresponding components, and should not be construed as excluding additional components.

나아가 어떤 구성 요소가 다른 구성 요소에 연결되어 있다거나 접속되어 있다고 언급될 때에는, 그 다른 구성 요소에 직접적으로 연결 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 한다. Furthermore, when it is said that a component is connected or connected to another component, it may be directly connected or connected to the other component, but it should be understood that another component may exist in the middle.

또한 '제1, 제2' 등과 같은 표현은 복수의 구성을 구분하기 위한 용도로만 사용된 표현으로써, 구성들 사이의 순서나 기타 특징들을 한정하지 않는다. In addition, expressions such as 'first, second', etc. are used only for distinguishing a plurality of components, and do not limit the order or other characteristics between the components.

이하에서는 도면들을 참조하여 본 발명의 실시예들에 대해 설명하도록 한다. Hereinafter, embodiments of the present invention will be described with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치(100)의 기능 블록도다.1 is a functional block diagram of an apparatus 100 for supporting a computing infrastructure environment according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치(100)는 사용자가 필요로 하는 컴퓨팅 인프라 환경(Computing Infrastructure Environment)에 대한 정보를 입력 받아, 복수의 CSP(Cloud Service Provider) 중 사용하기로 결정된 CSP가 지원하는 규격에 따라 사용자가 입력한 컴퓨팅 인프라 환경에 대한 정보를 자동으로 재구성하여 해당 CSP에 사용자가 원하는 컴퓨팅 인프라 환경에 필요한 리소스를 요청하는 기술을 제공한다. Referring to FIG. 1 , an apparatus 100 for supporting a computing infrastructure environment according to an embodiment of the present invention receives information about a computing infrastructure environment required by a user, and receives a plurality of Cloud Service Providers (CSPs) ), it automatically reconfigures the information on the computing infrastructure environment input by the user according to the standards supported by the CSP decided to use, and provides the CSP with the technology to request the resources required for the computing infrastructure environment that the user wants.

본 발명의 설명에서 지칭하는 컴퓨팅 인프라 환경이란 물리적으로 다른 위치에 존재하는 컴퓨팅 노드가 가상화 기술과 분산처리 기술을 활용하여 인터넷으로 제공하는 클라우드 기반 컴퓨팅 리소스(ex. 서버, 메모리, CPU, 스토리지 등)를 의미할 수 있다. The computing infrastructure environment referred to in the description of the present invention is cloud-based computing resources (ex. server, memory, CPU, storage, etc.) can mean

CSP란 클라우드 기반의 컴퓨팅 리소스를 제공하는 서비스 서버를 의미한다. 예를 들어, CSP는 구글의 Google cloud, 아마존의 AWS, 애플의 iCloud, 마이크로소프트의 Azure, 알리바바의 Aliyun, 텐센트의 Tengxunyun 등과 같은 다양한 서비스 서버를 포함할 수 있다. CSP refers to a service server that provides cloud-based computing resources. For example, the CSP may include various service servers such as Google's Google cloud, Amazon's AWS, Apple's iCloud, Microsoft's Azure, Alibaba's Aliyun, Tencent's Tengxunyun, etc.

상술한 기술을 제공하기 위해, 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치(100)는 마크업 언어 생성부(110), 프로비저닝 데이터베이스(120), CSP 선택부(130), 파싱부(140), 변환부(150) 및 적용부(160)의 구성을 포함할 수 있고, 이하 각 구성의 역할에 대해 설명한다. In order to provide the above-described technology, the apparatus 100 for supporting a computing infrastructure environment according to an embodiment of the present invention includes a markup language generation unit 110 , a provisioning database 120 , a CSP selection unit 130 , a parsing unit ( 140), the conversion unit 150, and the configuration of the application unit 160, the role of each component will be described below.

마크업 언어 생성부(110)는 사용자가 필요로 하는 컴퓨팅 인프라 환경에 대한 정보를 마크업 언어(Markup Language)로 변환하고 변환된 마크업 언어를 저장할 수 있다. 마크업 언어는 문서나 이미지가 표시되는 형식을 텍스트로 나타내거나, 데이터의 논리적인 구조를 명시하기 위한 텍스트의 규칙들을 정의한 언어이다. The markup language generating unit 110 may convert information on a computing infrastructure environment required by a user into a markup language and store the converted markup language. A markup language is a language in which text rules are defined to express the format in which documents or images are displayed or to specify the logical structure of data.

도 2는 본 발명의 일 실시예에 따른 클라우드 기반의 컴퓨팅 인프라 환경에 대한 정보의 예시도이다.2 is an exemplary diagram of information on a cloud-based computing infrastructure environment according to an embodiment of the present invention.

도 2를 참조하면, 사용자가 필요로 하는 컴퓨팅 인프라 환경에 대한 정보는 시스템 아키텍처의 형태로 입력될 수 있다. 도 2의 시스템 아키텍처는 컴퓨팅 인프라 환경에 포함될 구성들(ex. 도 2의 instance1, blockstorage1, securitygroup1, securitygroup2), 구성들 간의 연결관계(ex. 도 2의 구성 간 연결선), 구성들 간의 그룹관계(ex. 도 2의 구성들을 둘러싼 사각형), 구성들의 종속관계, 그 외 다양한 인자 등에 대한 정보 등을 포함할 수 있다. Referring to FIG. 2 , information on a computing infrastructure environment required by a user may be input in the form of a system architecture. The system architecture of FIG. 2 shows the components to be included in the computing infrastructure environment (eg, instance1, blockstorage1, securitygroup1, securitygroup2 in FIG. 2), the connection relationship between the components (ex. the connection line between the components in FIG. 2), and the group relationship between the components ( ex. The rectangle surrounding the components of FIG. 2), the dependencies of the components, and information about various other factors, etc. may be included.

마크업 언어 생성부(110)는 컴퓨팅 인프라 환경에 포함될 구성들, 구성들 간의 연결관계, 구성들 간의 그룹관계, 구성들 간의 종속관계, 그 외 다양한 인자 등에 대한 정보를 마크업 언어로 변환함으로써, 사용자가 입력한 시스템 아키텍처의 정보를 텍스트로 표현하는 마크업 언어를 생성할 수 있다. 시스템 아키텍처를 마크업 언어로 변환하는 기술은 JQuery/Javascript 데이터 변환 알고리즘 등 다양한 알고리즘을 사용할 수 있고, 마크업 언어는 XML, JSON, HTML 등을 포함할 수 있다. The markup language generating unit 110 converts information about the components to be included in the computing infrastructure environment, the connection relationship between the components, the group relationship between the components, the dependency relationship between the components, and various other factors into a markup language, You can create a markup language that expresses the information of the system architecture entered by the user as text. A technology for converting the system architecture into a markup language may use various algorithms, such as a JQuery/Javascript data conversion algorithm, and the markup language may include XML, JSON, HTML, and the like.

프로비저닝 데이터베이스(120)는 복수의 CSP에 대하여 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격(또는 형식) 및 CSP 기능 호출 API 규격(또는 형식)을 포함하는 규격 정보를 저장할 수 있다. The provisioning database 120 may store standard information including a standard (or format) for factors constituting a computing infrastructure environment for a plurality of CSPs and a CSP function call API standard (or format).

여기서, 인자는 CSP에 컴퓨팅 인프라 환경을 구성하기 위해 특정되는 객체, 객체들의 속성, 객체들의 관계 등에 대한 모든 정보를 포함할 수 있다. 예를 들어, 인자는 리소스, 리소스 간 종속관계, 리소스 간 그룹관계, 속성, 속성값, 인자값 등을 포함할 수 있다. 또한, 규격 정보는 각 CSP가 제공하는 인자를 특정하는 명칭, 인자를 요청하기 위한 방식, 인자 간 종속 관계, 인자 사용을 위한 설정에 사용되는 규격 등을 포함하는 정보를 포함할 수 있다. Here, the factor may include all information on objects specified in the CSP to configure the computing infrastructure environment, properties of objects, relationships between objects, and the like. For example, the factor may include a resource, a dependency relationship between resources, a group relationship between resources, an attribute, an attribute value, a factor value, and the like. In addition, the standard information may include information including a name for specifying a factor provided by each CSP, a method for requesting a factor, a dependency relationship between factors, a standard used for setting for parameter use, and the like.

다양한 클라우드 컴퓨팅 서비스가 출시됨에 따라 각 CSP에 대하여 사용자가 자신이 원하는 컴퓨팅 인프라 환경에 대한 인자들을 요청하기 위해, CSP에 대해 요청해야 하는 언어 규격 및 API 등은 모두 상이할 수 있다. 이러한 규격들을 통합하기 위해, 프로비저닝 데이터베이스(120)는 마크업 언어에서의 소정의 인자를 지칭하는 정보와, 각 CSP에서 해당 인자에 대한 규격 정보를 매핑하여 저장하고, 해당 인자를 사용하기 위한 CSP 별 API를 매칭시켜 저장할 수 있다. As various cloud computing services are released, language standards, APIs, etc. that a user needs to request for a CSP in order to request factors for a computing infrastructure environment desired by a user for each CSP may all be different. In order to unify these standards, the provisioning database 120 maps and stores information indicating a predetermined factor in the markup language and specification information for the corresponding factor in each CSP, and each CSP for using the corresponding factor. You can save by matching API.

이하, 프로비저닝 데이터베이스(120)가 다양한 인자 중 리소스, 속성, 속성값/인자값에 대한 규격 정보를 저장하는 방식을 예시한다. Hereinafter, a method in which the provisioning database 120 stores standard information about resources, attributes, and attribute values/factor values among various factors is exemplified.

리소스는 CSP에서 제공하는 상품단위를 의미한다. 예를 들어, 보안관리를 처리하는 기능은 다양한 CSP에서 제공할 수 있으나, 보안관리를 특정하는 각자의 명칭과 생성방식, 해당 리소스가 구성되는 종속관계 등이 상이할 수 있으므로, 프로비저닝 데이터베이스(120)는 보안관리를 의미하는 마크업 언어와, 각 CSP에서 보안관리를 요청하기 위해 해당 리소스를 특정하는 명칭, 생성방식, 종속관계 등에 대한 규격 정보를 매칭하여 저장할 수 있다. Resource means product unit provided by CSP. For example, a function for processing security management may be provided by various CSPs, but the name and creation method of each specifying security management, the dependency relationship in which the resource is configured, etc. may be different, so the provisioning database 120 can match and store the markup language meaning security management and standard information on the name, creation method, dependency, etc. that specify the resource to request security management from each CSP.

속성은 CSP에서 각 리소스에 대해 제공할 수 있는 세부 기능을 의미한다. 예를 들어, 가상 네트워크라는 리소스 중 네트워크 대역에 대한 속성에 대한 설정은 다양한 CSP에서 제공할 수 있으나, 각자의 명칭과 생성하는 방식 등이 상이할 수 있으므로, 프로비저닝 데이터베이스(120)는 가상 네트워크의 네트워크 대역에 대한 속성에 대한 정보를 의미하는 마크업 언어와, 각 CSP에서 네트워크 대역의 설정을 특정하는 명칭과 생성방식, 명령어 등에 대한 규격 정보를 매칭하여 저장할 수 있다.Attributes mean detailed functions that CSP can provide for each resource. For example, various CSPs may provide a setting for a network band attribute among resources called a virtual network, but since their names and creation methods may be different, the provisioning database 120 is a virtual network network. It is possible to match and store the markup language meaning information on the properties of the band and the standard information on the name, generation method, command, etc. for specifying the setting of the network band in each CSP.

속성값/인자값은 CSP에서 제공하는 속성의 세부 설정값을 의미한다. 예를 들어, 보안그룹이라는 리소스에 대해 AWS는 특정 IP를 허용하라는 정보를 allow라는 속성값과 IP 정보에 대한 인자값을 통해 입력하도록 하지만, Aliyun에서는 accept라는 속성값과 IP 정보에 대한 인자값을 통해 입력하도록 한다. 이에 따라, 프로비저닝 데이터베이스(120)는 보안그룹의 특정 IP 허용이라는 속성값/인자값에 대한 정보를 의미하는 마크업 언어와, 각 CSP에서 보안그룹의 특정 IP 허용을 설정하는 명칭, 생성방식, 속성값/인자값을 지칭하는 명령 등을 매칭하여 도 3과 같이 저장할 수 있다. The attribute value/argument value means the detailed setting value of the attribute provided by CSP. For example, for a resource called a security group, AWS allows information to allow a specific IP through an attribute value of allow and an argument value for IP information, but Aliyun sets an attribute value of accept and an argument value for IP information. to be entered through Accordingly, the provisioning database 120 includes a markup language meaning information on attribute value/factor value of allowing a specific IP of the security group, and a name, creation method, and attribute for setting a specific IP permission of the security group in each CSP. A command indicating a value/argument value may be matched and stored as shown in FIG. 3 .

또한, 특정 CSP에 소정의 인자를 요청하는 경우, 해당 CSP에 기 정해진 인자 간 종속관계에 따라서 요청해야 하는 인자들의 순서 및 호출해야 하는 API의 순서가 결정될 수 있다. 다만, 각 CSP는 도 4 및 도 5와 같이 각 리소스 별 종속관계가 서로 다르게 설정되어 있다. 이처럼 CSP 마다 상이한 종속관계에 따라서, 요청해야 하는 리소스의 순서 및 호출해야 하는 API의 순서가 결정될 수 있다. 프로비저닝 데이터베이스(120)는 각 CSP의 인자 간 종속관계에 기초하여, 인자에 대한 정보를 의미하는 마크업 언어와, 각 CSP에서의 인자 간 종속관계에 따라 마크업 언어에서 요청해야 하는 인자 간의 배열 순서 및 인자를 요청하기 위한 API의 호출 순서를 매핑하여 저장할 수 있다. In addition, when a predetermined factor is requested from a specific CSP, the order of the factors to be requested and the order of the API to be called may be determined according to the dependency relationship between the factors predetermined in the corresponding CSP. However, in each CSP, a dependency relationship for each resource is set differently as shown in FIGS. 4 and 5 . As described above, the order of resources to be requested and the order of APIs to be called may be determined according to different dependencies for each CSP. Provisioning database 120, based on the dependency relationship between the factors of each CSP, the markup language, which means information about the factors, and the arrangement order between the factors to be requested in the markup language according to the dependency relationship between the factors in each CSP and an API call order for requesting an argument may be mapped and stored.

CSP 선택부(130)는 마크업 언어를 사용자로부터 직접 입력 받거나, 마크업 언어 생성부(110)가 생성한 마크업 언어를 획득하여, 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 CSP를 결정할 수 있다. CSP는 사용자의 선택에 의해 결정되거나, 또는 CSP에 따라 해당 마크업 언어가 구현될 환경의 성능과 가격에 기초하여 결정될 수 있다. 예를 들어, CSP 선택부(130)는 컴퓨팅 인프라 환경이 각 CSP에서 동작하는 경우의 성능, 비용, 가용성 등 품질기준(SLA)과 같은 항목 중 사용자가 설정한 우선 순위의 항목을 기준으로 최적의 CSP를 결정할 수 있다. 이를 위해, CSP 선택부(130)는 특정 컴퓨팅 인프라 환경이 각 CSP에서 동작하는 경우의 성능, 비용, 가용성 등 품질기준(SLA)을 평가할 수 있는 RULE 정보를 저장할 수 있다. 파싱부(140)는 CSP 선택부(130)에 의해 결정된 CSP와 프로비저닝 데이터베이스(120)에 저장된 규격 정보에 기초하여 마크업 언어 중 선택된 CSP에 맞도록 변환되어야 할 인자를 파싱할 수 있다. 파싱부(140)는 마크업 언어에 포함된 리소스, 속성, 속성값, 인자값 등을 포함하는 인자들을 파싱하여, 프로비저닝 데이터베이스(120)에 해당 인자와 매핑되어 있는 CSP 규격 정보를 검색할 수 있다. 이때 파싱부(140)는 파싱된 인자를 지원하는 서비스가 결정된 CSP에 부재하는 경우, 프로비저닝 데이터베이스(120)에 저장된 규격 정보에 기초하여 유사한 서비스를 추천할 수 없으며, 유사한 서비스가 부재하는 경우, 파싱된 인자를 지원하는 서비스가 없음을 사용자에게 알릴 수 있다. The CSP selection unit 130 may receive a markup language directly from the user, or obtain the markup language generated by the markup language generation unit 110, and determine the CSP in which the computing infrastructure environment composed of the markup language will operate. have. The CSP may be determined by the user's selection, or may be determined based on the performance and price of the environment in which the corresponding markup language will be implemented according to the CSP. For example, the CSP selector 130 may determine the optimal value based on the priority item set by the user among items such as quality standards (SLA) such as performance, cost, and availability when the computing infrastructure environment operates in each CSP. CSP can be determined. To this end, the CSP selector 130 may store RULE information capable of evaluating a quality standard (SLA) such as performance, cost, and availability when a specific computing infrastructure environment operates in each CSP. The parsing unit 140 may parse a factor to be converted to fit the CSP selected among the markup languages based on the CSP determined by the CSP selection unit 130 and the standard information stored in the provisioning database 120 . The parsing unit 140 may parse factors including resources, attributes, attribute values, factor values, etc. included in the markup language, and search the provisioning database 120 for CSP specification information mapped to the corresponding factors. . At this time, when the service supporting the parsed factor is absent from the determined CSP, the parsing unit 140 cannot recommend a similar service based on the standard information stored in the provisioning database 120. It can notify the user that there is no service that supports the specified argument.

변환부(150)는 파싱된 인자가 결정된 CSP의 규격 정보에 맞도록 변환되어야 하는 변환 정보를 결정할 수 있다. 예를 들어, 마크업 언어에서 파싱된 인자가 "보안그룹에서 특정 IP 허용"을 의미하는 속성값이고, 결정된 CSP가 AWS인 경우, 변환부(150)는 다양한 CSP의 보안그룹에서 특정 IP를 허용하게끔 하기 위한 규격 정보(ex. 인자: 특정 IP 허용 <-> AWS: allow, Aliyun: accept, ...) 중 AWS의 "allow"를 변환 정보로 결정할 수 있다. The conversion unit 150 may determine conversion information to be converted so that the parsed factor conforms to the determined standard information of the CSP. For example, if the argument parsed in the markup language is an attribute value meaning "allow a specific IP in the security group", and the determined CSP is AWS, the conversion unit 150 allows a specific IP in the security group of various CSPs Among the specification information (ex. argument: allow specific IP <-> AWS: allow, Aliyun: accept, ...), AWS "allow" can be determined as conversion information.

또한, 변환부(150)는 규격 정보를 기초로 마크업 언어에 포함된 컴퓨팅 인프라 환경에 대한 인자를 요청할 API를 결정할 수 있다. 예를 들어, 마크업 언어에서 파싱된 인자가 "보안그룹에서 특정 IP 허용"을 의미하는 속성값이고, 결정된 CSP가 AWS인 경우, AWS에서 보안그룹 리소스의 생성을 요청할 수 있는 API를 로딩하여 해당 속성값이 반영되도록 변환 정보를 생성할 수 있다. 이때 요청할 리소스와 API가 복수 개가 있는 경우, 변환부(150)는 결정된 CSP의 규격 정보에 기초하여, 마크업 언어에서 구성된 인자의 배열 순서 및 API의 호출 순서를 결정하여 변환 정보를 생성할 수 있다. Also, the conversion unit 150 may determine an API to request a factor for the computing infrastructure environment included in the markup language based on the standard information. For example, if the argument parsed in the markup language is an attribute value that means "allow a specific IP from the security group", and the determined CSP is AWS, AWS loads an API that can request the creation of a security group resource. Conversion information can be generated to reflect the attribute value. At this time, if there are a plurality of resources and APIs to be requested, the conversion unit 150 may generate conversion information by determining the arrangement order of the factors configured in the markup language and the calling order of the API, based on the determined standard information of the CSP. .

이에 따라, 변환부(150)는 마크업 언어에 포함된 인자들을 상기 변환 정보에 따라 변환하고, 상기 변환 정보에 포함된 인자의 배열 순서 및 API의 호출 순서에 따라 마크업 언어를 재구성할 수 있다. 더하여, 변환부(150)는 재구성된 마크업 언어에 대하여 결정된 CSP의 규격 정보에 기초하여 디버깅을 미리 수행하여 오류가 존재하는 경우, CSP가 제공하는 규격 정보를 새롭게 수신하여 프로비저닝 데이터베이스(120)의 규격 정보를 업데이트 후 상술한 파싱, 변환, 디버깅의 과정을 재수행 할 수 있다. Accordingly, the conversion unit 150 may convert the factors included in the markup language according to the conversion information, and reconstruct the markup language according to the arrangement order of the factors included in the conversion information and the calling order of the API. . In addition, the conversion unit 150 performs debugging in advance based on the standard information of the CSP determined for the reconstructed markup language, and when there is an error, newly receives the standard information provided by the CSP, and After updating the specification information, the above-described parsing, conversion, and debugging processes may be re-performed.

적용부(160)는 변환부(150)가 재구성한 마크업 언어를 이용하여 결정된 CSP에 사용자가 입력하였던 클라우드 기반의 컴퓨팅 인프라 환경을 구성해 줄 것을 요청할 수 있다. The application unit 160 may request to configure the cloud-based computing infrastructure environment input by the user to the determined CSP using the markup language reconstructed by the conversion unit 150 .

또한, 컴퓨팅 인프라 환경 지원 장치(100)는 프로세서(미도시), 입출력 인터페이스(미도시), 및/또는 메모리(미도시)를 더 포함할 수 있다. 상기 프로세서는, 중앙 처리 장치(CPU; central processing unit) 등을 포함하여 다양한 데이터의 처리 및 연산을 수행 할 수 있다. 예를 들어, 상기 프로세서의 제어에 기초하여, 컴퓨팅 인프라 환경 지원 장치(100)의 구성 요소들, 예를 들어, 마크업 언어 생성부(110), 프로비저닝 데이터베이스(120), CSP 선택부(130), 파싱부(140), 변환부(150) 및 적용부(160)가 제어될 수 있다. In addition, the computing infrastructure environment support apparatus 100 may further include a processor (not shown), an input/output interface (not shown), and/or a memory (not shown). The processor, including a central processing unit (CPU), and the like, may perform processing and operation of various data. For example, based on the control of the processor, components of the computing infrastructure environment support apparatus 100 , for example, the markup language generation unit 110 , the provisioning database 120 , and the CSP selection unit 130 . , the parsing unit 140 , the converting unit 150 , and the applying unit 160 may be controlled.

또한, 본 발명의 실시예에 따르면, 마크업 언어 생성부(110), 프로비저닝 데이터베이스(120), CSP 선택부(130), 파싱부(140), 변환부(150) 및 적용부(160)는 상기 프로세서에 포함될 수 있다. 예를 들어, 마크업 언어 생성부(110), 프로비저닝 데이터베이스(120), CSP 선택부(130), 파싱부(140), 변환부(150) 및 적용부(160)의 동작은 상기 프로세서에 의한 동작으로 이해될 수 있다.In addition, according to an embodiment of the present invention, the markup language generating unit 110 , the provisioning database 120 , the CSP selection unit 130 , the parsing unit 140 , the transforming unit 150 and the applying unit 160 are may be included in the processor. For example, the operations of the markup language generating unit 110 , the provisioning database 120 , the CSP selection unit 130 , the parsing unit 140 , the converting unit 150 , and the applying unit 160 are performed by the processor. It can be understood as an action.

도 6는 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 방법의 흐름도이다. 도 6에 따른 컴퓨팅 인프라 환경 지원 방법의 각 단계는 도 1을 통해 설명된 컴퓨팅 인프라 환경 지원 장치(100)에 의해 수행될 수 있으며, 각 단계를 설명하면 다음과 같다.6 is a flowchart of a method for supporting a computing infrastructure environment according to an embodiment of the present invention. Each step of the computing infrastructure environment support method according to FIG. 6 may be performed by the computing infrastructure environment support apparatus 100 described with reference to FIG. 1 , and each step is described as follows.

S510 동작에서, 프로비저닝 데이터베이스(120)는 복수의 CSP(Cloud Service Provider)에 대하여 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격 및 CSP 기능 호출 API 규격을 포함하는 규격 정보를 저장할 수 있다. In operation S510 , the provisioning database 120 may store standard information including standards for factors constituting a computing infrastructure environment for a plurality of Cloud Service Providers (CSPs) and CSP function call API standards.

S520 동작에서, CSP 결정부는 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 CSP를 결정할 수 있다. In operation S520, the CSP determining unit may determine the CSP in which the computing infrastructure environment configured in the markup language will operate.

S530 동작에서, 파싱부(140)는 결정된 CSP의 규격 정보에 기초하여 마크업 언어 중 변환되어야 할 인자를 파싱할 수 있다. In operation S530, the parsing unit 140 may parse a factor to be converted among markup languages based on the determined standard information of the CSP.

S540 동작에서, 변환부(150)는 파싱된 인자가 결정된 CSP의 규격 정보에 맞도록 변환되어야 하는 변환 정보를 결정하고, 변환 정보에 기반하여 마크업 언어를 재구성할 수 있다. In operation S540, the conversion unit 150 may determine conversion information to be converted so that the parsed factor conforms to the determined standard information of the CSP, and reconstruct the markup language based on the conversion information.

S550 동작에서, 적용부(160)는 재구성된 마크업 언어를 이용하여 결정된 CSP에 컴퓨팅 인프라 환경을 요청할 수 있다. In operation S550, the application unit 160 may request the computing infrastructure environment from the determined CSP using the reconfigured markup language.

한편, 상술한 각 단계의 주체가 해당 단계를 실시하기 위한 상세 과정은 도 1 내지 도 5와 함께 설명하였으므로 중복된 설명은 생략한다.Meanwhile, since the detailed process for the subject of each of the above-described steps to perform the corresponding step has been described with reference to FIGS. 1 to 5 , a redundant description will be omitted.

상술한 실시예와 같은 방식을 이용할 경우, CSP에 컴퓨팅 인프라 환경을 처음 구축하거나 CSP를 교체하는 경우에도 개발 시간이나 자원을 추가적으로 투입할 필요 없이, 사용자가 원하는 CSP의 선택에 따라 컴퓨팅 인프라 환경을 구성하는 마크업 언어를 각 CSP의 규격 정보에 따라 재구성함으로써, 컴퓨팅 인프라 환경의 구축을 위해 필요한 리소스를 간편하게 CSP에 요청할 수 있다. When using the same method as in the above-described embodiment, the computing infrastructure environment is configured according to the user's choice of the CSP without the need to invest additional development time or resources even when the computing infrastructure environment is first built in the CSP or the CSP is replaced. By reconfiguring the markup language to be used according to the specification information of each CSP, it is possible to easily request the CSP for the resources required to build the computing infrastructure environment.

상술한 본 발명의 실시예들은 다양한 수단을 통해 구현될 수 있다. 예를 들어, 본 발명의 실시예들은 하드웨어, 펌웨어(firmware), 소프트웨어 또는 그것들의 결합 등에 의해 구현될 수 있다.The above-described embodiments of the present invention may be implemented through various means. For example, embodiments of the present invention may be implemented by hardware, firmware, software, or a combination thereof.

하드웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 프로세서, 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.In the case of implementation by hardware, the method according to embodiments of the present invention may include one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), and Programmable Logic Devices (PLDs). , FPGAs (Field Programmable Gate Arrays), processors, controllers, microcontrollers, microprocessors, and the like.

펌웨어나 소프트웨어에 의한 구현의 경우, 본 발명의 실시예들에 따른 방법은 이상에서 설명된 기능 또는 동작을 수행하는 모듈, 절차 또는 함수 등의 형태로 구현될 수 있다. 소프트웨어 코드 등이 기록된 컴퓨터 프로그램은 컴퓨터 판독 가능 기록 매체 또는 메모리 유닛에 저장되어 프로세서에 의해 구동될 수 있다. 메모리 유닛은 프로세서 내부 또는 외부에 위치하여, 이미 공지된 다양한 수단에 의해 프로세서와 데이터를 주고받을 수 있다.In the case of implementation by firmware or software, the method according to the embodiments of the present invention may be implemented in the form of a module, procedure, or function that performs the functions or operations described above. A computer program in which a software code or the like is recorded may be stored in a computer-readable recording medium or a memory unit and driven by a processor. The memory unit may be located inside or outside the processor, and may exchange data with the processor by various known means.

또한 본 발명에 첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 인코딩 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방법으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Also, combinations of each block in the block diagram attached to the present invention and each step in the flowchart may be performed by computer program instructions. These computer program instructions may be embodied in an encoding processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions executed by the encoding processor of the computer or other programmable data processing equipment may correspond to each block of the block diagram or Each step of the flowchart creates a means for performing the functions described. These computer program instructions may also be stored in a computer-usable or computer-readable memory that may direct a computer or other programmable data processing equipment to implement a function in a particular way, and thus the computer-usable or computer-readable memory. It is also possible for the instructions stored in the block diagram to produce an article of manufacture containing instruction means for performing a function described in each block of the block diagram or each step of the flowchart. The computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It is also possible that instructions for performing the processing equipment provide steps for performing the functions described in each block of the block diagram and each step of the flowchart.

더불어 각 블록 또는 각 단계는 특정된 논리적 기능을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or each step may represent a module, segment, or part of code including one or more executable instructions for executing a specified logical function. It should also be noted that it is also possible for the functions recited in blocks or steps to occur out of order in some alternative embodiments. For example, it is possible that two blocks or steps shown one after another may in fact be performed substantially simultaneously, or that the blocks or steps may sometimes be performed in the reverse order according to the corresponding function.

이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.As such, those skilled in the art to which the present invention pertains will understand that the present invention may be embodied in other specific forms without changing the technical spirit or essential characteristics thereof. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. The scope of the present invention is indicated by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalent concepts should be construed as being included in the scope of the present invention. .

Claims (10)

복수의 CSP(Cloud Service Provider)에 대하여 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격 및 CSP 기능 호출 API 규격을 포함하는 규격 정보를 저장하는 프로비저닝 데이터베이스;
사용자가 사용할 제1 컴퓨팅 인프라 환경에 포함될 구성, 상기 구성 간의 연결 관계, 상기 구성 간의 그룹관계, 상기 구성 간의 종속 관계에 대한 정보를 마크업 언어로 구성하는 마크업 언어 생성부;
상기 복수의 CSP 중 상기 제1 컴퓨팅 인프라 환경이 동작할 CSP를 결정하는 CSP 선택부;
상기 프로비저닝 데이터베이스에 저장된 복수의 CSP 별 규격 정보에 기초하여, 상기 마크업 언어 중 상기 결정된 CSP에 자원을 요청하기 위해 변환되어야 할 인자를 파싱하는 파싱부;
상기 제1 컴퓨팅 인프라 환경에 대한 인자가 상기 결정된 CSP에서 지칭되고 있는 규격 정보에 기초해 상기 파싱된 인자에 입력되어야 하는 변환 정보를 결정하고, 상기 파싱된 인자를 상기 변환 정보로 변환하여 상기 마크업 언어를 재구성하는 변환부; 및
상기 재구성된 마크업 언어를 이용하여 상기 결정된 CSP에 상기 제1 컴퓨팅 인프라 환경을 요청하는 적용부를 포함하는,
컴퓨팅 인프라 환경 지원 장치.
Provisioning database for storing specification information including specifications and CSP function call API specifications for factors constituting a computing infrastructure environment for a plurality of CSPs (Cloud Service Providers);
a markup language generating unit configured to configure information about a configuration to be included in a first computing infrastructure environment to be used by a user, a connection relationship between the configurations, a group relationship between the configurations, and a dependency relationship between the configurations in a markup language;
a CSP selection unit for determining a CSP in which the first computing infrastructure environment will operate among the plurality of CSPs;
a parsing unit that parses a factor to be converted in order to request a resource from the determined CSP among the markup languages, based on the plurality of CSP-specific standard information stored in the provisioning database;
The factor for the first computing infrastructure environment determines conversion information to be input to the parsed factor based on standard information referred to in the determined CSP, and converts the parsed factor into the conversion information to markup a conversion unit for reconstructing a language; and
Using the reconstructed markup language, comprising an application unit for requesting the first computing infrastructure environment to the determined CSP,
Computing infrastructure environment support devices.
삭제delete 제1항에 있어서,
상기 변환부는,
상기 결정된 CSP의 규격 정보에 기초하여, 상기 마크업 언어에 포함된 컴퓨팅 인프라 환경에 대한 리소스를 요청할 API를 결정하는,
컴퓨팅 인프라 환경 지원 장치.
According to claim 1,
The conversion unit,
Based on the determined standard information of the CSP, determining an API to request a resource for the computing infrastructure environment included in the markup language,
Computing infrastructure environment support devices.
제3항에 있어서,
상기 변환부는,
상기 결정된 CSP의 규격 정보에 기초하여, 상기 마크업 언어에서 구성된 인자의 배열 순서 및 상기 API의 호출 순서를 결정하여 상기 변환 정보를 생성하는,
컴퓨팅 인프라 환경 지원 장치.
4. The method of claim 3,
The conversion unit,
Based on the determined standard information of the CSP, determining the arrangement order of the arguments configured in the markup language and the calling order of the API to generate the conversion information,
Computing infrastructure environment support devices.
제4항에 있어서,
상기 변환부는,
상기 인자를 상기 변환 정보에 따라 변환하고, 상기 인자의 배열 순서 및 상기 API의 호출 순서에 따라 상기 마크업 언어를 재구성하는,
컴퓨팅 인프라 환경 지원 장치.
5. The method of claim 4,
The conversion unit,
converting the argument according to the conversion information, and reconstructing the markup language according to the arrangement order of the argument and the call order of the API,
Computing infrastructure environment support devices.
제5항에 있어서,
상기 변환부는,
상기 결정된 CSP의 규격 정보에 기초하여 상기 재구성된 마크업 언어에 대하여 디버깅을 수행하고,
컴퓨팅 인프라 환경 지원 장치.
6. The method of claim 5,
The conversion unit,
Debugging is performed on the reconstructed markup language based on the determined standard information of the CSP,
Computing infrastructure environment support devices.
제3항 내지 제6항 중 어느 한 항에 있어서,
상기 인자는,
컴퓨팅 인프라 환경의 리소스, 속성, 속성값 또는 인자값을 포함하는
컴퓨팅 인프라 환경 지원 장치.
7. The method according to any one of claims 3 to 6,
The factor is
Resources, properties, property values or argument values of the computing infrastructure environment.
Computing infrastructure environment support devices.
제1항에 있어서,
상기 마크업 언어는,
XML 또는 JSON을 포함하는,
컴퓨팅 인프라 환경 지원 장치.
According to claim 1,
The markup language is
containing XML or JSON;
Computing infrastructure environment support devices.
컴퓨팅 인프라 환경 지원 장치가 수행하는 컴퓨팅 인프라 환경 지원 방법에 있어서,
복수의 CSP(Cloud Service Provider)에 대하여 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격 및 CSP 기능 호출 API 규격을 포함하는 규격 정보를 저장하는 단계;
사용자가 사용할 제1 컴퓨팅 인프라 환경에 포함될 구성, 상기 구성 간의 연결 관계, 상기 구성 간의 그룹관계, 상기 구성 간의 종속 관계에 대한 정보를 마크업 언어로 구성하는 단계;
상기 복수의 CSP 중 상기 제1 컴퓨팅 인프라 환경이 동작할 CSP를 결정하는 단계;
상기 저장된 복수의 CSP 별 규격 정보에 기초하여, 상기 마크업 언어 중 상기 결정된 CSP에 자원을 요청하기 위해 변환되어야 할 인자를 파싱하는 단계;
상기 제1 컴퓨팅 인프라 환경에 대한 인자가 상기 결정된 CSP에서 지칭되고 있는 규격 정보에 기초해 상기 파싱된 인자에 입력되어야 하는 변환 정보를 결정하고, 상기 파싱된 인자를 상기 변환 정보로 변환하여 상기 마크업 언어를 재구성하는 단계; 및
상기 재구성된 마크업 언어를 이용하여 상기 결정된 CSP에 상기 제1 컴퓨팅 인프라 환경을 요청하는 단계를 포함하는,
컴퓨팅 인프라 환경 지원 방법.
In the computing infrastructure environment support method performed by the computing infrastructure environment support device,
Storing standard information including standards for factors constituting a computing infrastructure environment and CSP function call API standards for a plurality of CSPs (Cloud Service Providers);
composing information about a configuration to be included in a first computing infrastructure environment to be used by a user, a connection relationship between the configurations, a group relationship between the configurations, and a dependency relationship between the configurations in a markup language;
determining a CSP in which the first computing infrastructure environment will operate among the plurality of CSPs;
parsing a factor to be converted in order to request a resource from the determined CSP among the markup languages based on the stored standard information for each CSP;
The factor for the first computing infrastructure environment determines conversion information to be input to the parsed factor based on standard information referred to in the determined CSP, and converts the parsed factor into the conversion information to markup reconstructing the language; and
requesting the first computing infrastructure environment to the determined CSP using the reconstructed markup language;
How to support your computing infrastructure environment.
제9항의 방법을 프로세서가 수행하도록 하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer-readable recording medium for causing a processor to perform the method of claim 9 .
KR1020200121376A 2020-09-21 2020-09-21 Apparatus and method for applying environment of computing infrastructure based on reorganizing markup language according to cloud service provider KR102437052B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200121376A KR102437052B1 (en) 2020-09-21 2020-09-21 Apparatus and method for applying environment of computing infrastructure based on reorganizing markup language according to cloud service provider

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200121376A KR102437052B1 (en) 2020-09-21 2020-09-21 Apparatus and method for applying environment of computing infrastructure based on reorganizing markup language according to cloud service provider

Publications (2)

Publication Number Publication Date
KR20220038942A KR20220038942A (en) 2022-03-29
KR102437052B1 true KR102437052B1 (en) 2022-09-29

Family

ID=80995702

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200121376A KR102437052B1 (en) 2020-09-21 2020-09-21 Apparatus and method for applying environment of computing infrastructure based on reorganizing markup language according to cloud service provider

Country Status (1)

Country Link
KR (1) KR102437052B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130204849A1 (en) 2010-10-01 2013-08-08 Peter Chacko Distributed virtual storage cloud architecture and a method thereof

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781205B2 (en) * 2011-09-12 2017-10-03 Microsoft Technology Licensing, Llc Coordination engine for cloud selection
KR20130046155A (en) 2011-10-27 2013-05-07 인텔렉추얼디스커버리 주식회사 Access control system for cloud computing service
US9508095B2 (en) * 2014-06-11 2016-11-29 Fugue, Inc. System and method for optimizing the selection of cloud services based on price and performance
JP6871943B2 (en) * 2016-03-28 2021-05-19 オラクル・インターナショナル・コーポレイション Preformed instructions for mobile cloud services

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130204849A1 (en) 2010-10-01 2013-08-08 Peter Chacko Distributed virtual storage cloud architecture and a method thereof

Also Published As

Publication number Publication date
KR20220038942A (en) 2022-03-29

Similar Documents

Publication Publication Date Title
WO2018019232A1 (en) Method, device and system for stream computation
US10185558B2 (en) Language-independent program composition using containers
Yang et al. A profile-based approach to just-in-time scalability for cloud applications
US11429353B1 (en) Dynamic service provisioning using templatized infrastructure resources
Inzinger et al. Generic event‐based monitoring and adaptation methodology for heterogeneous distributed systems
US10581696B2 (en) Intelligent information adapter generation for service management
CN112698921A (en) Logic code operation method and device, computer equipment and storage medium
US11847509B2 (en) Infrastructure base model API
Hosono A DevOps framework to shorten delivery time for cloud applications
Zalila et al. A model-driven tool chain for OCCI
US20230385044A1 (en) Meta-operators for managing operator groups
US11693649B2 (en) Autonomous Kubernetes operator creation and management
Chernyshov et al. Intelligence search engine and automatic integration system for web-services and cloud-based data pro-viders based on semantics
KR102437052B1 (en) Apparatus and method for applying environment of computing infrastructure based on reorganizing markup language according to cloud service provider
Yangui et al. The SPD approach to deploy service‐based applications in the cloud
US10705824B2 (en) Intention-based command optimization
KR102443202B1 (en) Apparatus and method for applying environment of computing infrastructure based on comparison of price rule according to cloud service provider
CN115964042A (en) Menu generation method and device, storage medium and electronic equipment
CN115878860A (en) Menu generation method, device, server equipment and medium
US11726778B2 (en) Translating clusters of a monolith application to microservices
Verginadis et al. Data and cloud polymorphic application modelling in multi-clouds and fog environments
Selvakumar et al. A survey on RESTful web services composition
KR102443199B1 (en) Apparatus and method for applying environment of computing infrastructure which recommends environment of computing infrastructure based on service profile
Almeida et al. A component-based adaptation approach for multi-cloud applications
CN114968395B (en) Starting optimization method and device based on Spring framework and computer equipment

Legal Events

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