[go: up one dir, main page]

KR102443202B1 - Apparatus and method for applying environment of computing infrastructure based on comparison of price rule according to cloud service provider - Google Patents

Apparatus and method for applying environment of computing infrastructure based on comparison of price rule according to cloud service provider Download PDF

Info

Publication number
KR102443202B1
KR102443202B1 KR1020200121381A KR20200121381A KR102443202B1 KR 102443202 B1 KR102443202 B1 KR 102443202B1 KR 1020200121381 A KR1020200121381 A KR 1020200121381A KR 20200121381 A KR20200121381 A KR 20200121381A KR 102443202 B1 KR102443202 B1 KR 102443202B1
Authority
KR
South Korea
Prior art keywords
computing infrastructure
csp
infrastructure environment
information
price
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020200121381A
Other languages
Korean (ko)
Other versions
KR20220038944A (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 KR1020200121381A priority Critical patent/KR102443202B1/en
Publication of KR20220038944A publication Critical patent/KR20220038944A/en
Application granted granted Critical
Publication of KR102443202B1 publication Critical patent/KR102443202B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0283Price estimation or determination

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Accounting & Taxation (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치는 복수의 CSP(Cloud Service Provider)에 대한 가격 정책을 수집하여 상기 가격 정책을 마크업 언어로 구성한 가격 정책 정보를 생성하는 가격 정책부; 상기 복수의 CSP에 대한 상기 가격 정책 정보를 저장하는 프로비저닝 데이터베이스; 상기 복수의 CSP 중 사용자가 입력한 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 하나 이상의 CSP를 결정하는 CSP 선택부; 상기 결정된 CSP에 대해 상기 가격 정책 정보에 기초하여 상기 마크업 언어 중 가격을 결정하는 인자를 파싱하는 파싱부; 및 상기 파싱된 인자와 매핑되어 있는 상기 가격 정책 정보에 기초하여, 상기 파싱된 인자를 지원하는 컴퓨팅 인프라 환경에 대해 상기 결정된 CSP에 지불하게 되는 가격을 도출하는 변환부를 포함할 수 있다. A computing infrastructure environment support apparatus according to an embodiment of the present invention includes: a pricing unit that collects pricing policies for a plurality of CSPs (Cloud Service Providers) and generates pricing policy information in which the pricing policies are configured in a markup language; a provisioning database for storing the pricing policy information for the plurality of CSPs; a CSP selection unit for determining one or more CSPs in which a computing infrastructure environment composed of a markup language input by a user from among the plurality of CSPs operates; a parsing unit that parses a price determining factor among the markup languages based on the price policy information for the determined CSP; and a conversion unit deriving a price to be paid to the determined CSP for a computing infrastructure environment supporting the parsed factor, based on the price policy information mapped with the parsed factor.

Description

CSP에 따른 가격 정책 비교 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법{APPARATUS AND METHOD FOR APPLYING ENVIRONMENT OF COMPUTING INFRASTRUCTURE BASED ON COMPARISON OF PRICE RULE ACCORDING TO CLOUD SERVICE PROVIDER}Apparatus and method for supporting computing infrastructure environment based on price policy comparison according to CSP

본 발명은 CSP(Cloud Service Provider)에 따른 가격 정책 비교 기반의 컴퓨팅 인프라 환경 지원 장치 및 방법에 관한 것이다. The present invention relates to an apparatus and method for supporting a computing infrastructure environment based on price policy comparison 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.

다만, 이와 같이 다양한 클라우드 컴퓨팅 서비스가 출시됨에 따라 각 클라우드 컴퓨팅 서비스가 제공하는 기능과 요금이 상이하기 때문에, 사용자 입장에서는 자신이 구축하려는 컴퓨팅 인프라 환경에 대해 각 CSP 마다 일일이 가격과 기능을 비교하고 최종적인 선택을 결정하는 데에 상당한 노력과 시간이 소요된다는 문제가 있다. However, as the various cloud computing services are released, the functions and charges provided by each cloud computing service are different, so from the user's point of view, each CSP compares the price and function for the computing infrastructure environment they want to build, and finally There is a problem that a considerable amount of effort and time is required to make the right choice.

또한, 사용자는 기존 사용 중인 컴퓨팅 인프라 환경에서 새로운 기능을 확장하기 위해 다른 클라우드 컴퓨팅 서비스를 사용하고자 하거나, 특정 국가에서 이미 구축한 컴퓨팅 인프라 환경을 다른 국가로 진입시키기 위해 다른 클라우드 컴퓨팅 서비스를 사용하고자 할 때(ex. 미국에서 AWS를 이용해 제공 중인 서비스를, 중국에서 Aliyun을 이용하여 제공하려는 경우), 새로운 컴퓨팅 인프라 환경 구축을 위해 클라우드 컴퓨팅 서비스 마다 요구하는 규격이 서로 상이하기 때문에 교체를 위한 막대한 시간과 비용이 발생한다는 문제가 있다. In addition, users may want to use other cloud computing services to expand new functions in the computing infrastructure environment they are using, or to use other cloud computing services to enter the computing infrastructure environment already built in one country into another country. When (ex. When you want to provide a service that is being provided using AWS in the US and Aliyun in China), it takes a huge amount of time for replacement and There is a problem with the cost.

한국 공개특허공보 제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 to automatically calculate the price to be paid when each of a plurality of CSPs (Cloud Service Providers) is selected in building the computing infrastructure environment required by the user. We want to provide technology that allows people to minimize the time and effort they spend in choosing the CSP that is right for them.

다만, 본 발명의 실시예가 이루고자 하는 기술적 과제는 이상에서 언급한 과제로 제한되지 않으며, 이하에서 설명할 내용으로부터 통상의 기술자에게 자명한 범위 내에서 다양한 기술적 과제가 도출될 수 있다.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에 대한 상기 가격 정책 정보를 저장하는 프로비저닝 데이터베이스; 상기 복수의 CSP 중 사용자가 입력한 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 CSP를 결정하는 CSP 선택부; 상기 결정된 CSP에 대해 상기 가격 정책 정보에 기초하여 상기 마크업 언어 중 가격을 결정하는 인자를 파싱하는 파싱부; 및 상기 파싱된 인자와 매핑되어 있는 상기 가격 정책 정보에 기초하여, 상기 파싱된 인자를 지원하는 컴퓨팅 인프라 환경에 대해 상기 결정된 CSP에 지불하게 되는 가격을 도출하는 변환부를 포함할 수 있다. A computing infrastructure environment support apparatus according to an embodiment of the present invention includes: a pricing unit that collects pricing policies for a plurality of CSPs (Cloud Service Providers) and generates pricing policy information in which the pricing policies are configured in a markup language; a provisioning database for storing the pricing policy information for the plurality of CSPs; a CSP selection unit for determining a CSP in which a computing infrastructure environment composed of a markup language input by a user from among the plurality of CSPs operates; a parsing unit that parses a price determining factor among the markup languages based on the price policy information for the determined CSP; and a conversion unit deriving a price to be paid to the determined CSP for a computing infrastructure environment supporting the parsed factor, based on the price policy information mapped with the parsed factor.

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

또한, 상기 가격 정책부는 CSP가 직접 제공하는 상기 가격을 결정하는 인자에 대한 가격 정책 및 CSP가 운영하는 웹페이지에 게시된 상기 가격을 결정하는 인자에 대한 가격 정책을 크롤링한 정보를 포함할 수 있다. In addition, the price policy unit may include crawled information about the price policy for the price determining factor directly provided by the CSP and the price policy for the price determining factor posted on a web page operated by the CSP. .

또한, 상기 가격 정책부는 상기 가격을 결정하는 인자를 상기 마크업 언어로 구성하고 상기 복수의 CSP 별로 상기 가격을 결정하는 인자에 대한 가격을 매핑하여 상기 가격 정책 정보를 생성할 수 있다. In addition, the price policy unit may generate the price policy information by configuring the price determining factor in the markup language and mapping the price to the price determining factor for each of the plurality of CSPs.

또한, 상기 변환부는 상기 컴퓨팅 인프라 환경에서 리소스, 속성, 속성값 또는 인자값을 변경하여 선택할 수 있는 인터페이스를 상기 사용자에게 제공하고, 상기 인터페이스를 통한 리소스, 속성, 속성값 또는 인자값에 대한 상기 사용자의 선택에 따라, 상기 선택된 리소스, 속성, 속성값 또는 인자값와 매핑되어 있는 상기 가격 정책 정보에 기초하여 상기 사용자가 선택한 컴퓨팅 인프라 환경의 가격을 도출할 수 있다. In addition, the conversion unit provides the user with an interface that can be selected by changing the resource, attribute, attribute value or factor value in the computing infrastructure environment, and the user for the resource, attribute, attribute value or factor value through the interface According to the selection of , the price of the computing infrastructure environment selected by the user may be derived based on the price policy information mapped with the selected resource, attribute, attribute value, or factor value.

또한, 상기 장치는 컴퓨팅 인프라 환경에 대한 정보를 마크업 언어로 구성하는 마크업 언어 생성부를 더 포함할 수 있다. 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를 포함하는 규격 정보를 더 저장하고, 상기 파싱부는 상기 결정된 CSP의 규격 정보에 기초하여 상기 마크업 언어 중 변환되어야 할 인자를 파싱할 수 있다. In addition, the provisioning database further stores specification information including specifications for factors constituting a computing infrastructure environment and a CSP function call API, and the parsing unit is converted among the markup languages based on the determined specification information of the CSP. You can parse the argument to do.

또한, 상기 변환부는 상기 변환되어야 할 인자가 상기 결정된 CSP의 규격 정보에 맞도록 변환되어야 하는 변환 정보를 결정하고, 상기 변환 정보에 기반하여 상기 마크업 언어를 재구성할 수 있다.Also, the conversion unit may determine conversion information to be converted so that the factor to be converted conforms to the determined standard information of the CSP, and reconstruct the markup language based on the conversion information.

또한, 상기 장치는 상기 재구성된 마크업 언어를 이용하여 상기 결정된 CSP에 컴퓨팅 인프라 환경을 요청하는 적용부를 더 포함할 수 있다. In addition, the apparatus may further include an application unit for requesting a computing infrastructure environment from the determined CSP using the reconfigured 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.

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

본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 방법은 복수의 CSP(Cloud Service Provider)에 대한 가격 정책을 수집하여 상기 가격 정책을 마크업 언어로 구성한 가격 정책 정보를 생성하는 단계; 상기 복수의 CSP에 대한 상기 가격 정책 정보를 저장하는 단계; 상기 복수의 CSP 중 사용자가 입력한 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 하나 이상의 CSP를 결정하는 단계; 상기 결정된 CSP에 대해 상기 가격 정책 정보에 기초하여 상기 마크업 언어 중 가격을 결정하는 인자를 파싱하는 단계; 및 상기 파싱된 인자와 매핑되어 있는 상기 가격 정책 정보에 기초하여, 상기 파싱된 인자를 지원하는 컴퓨팅 인프라 환경에 대해 상기 결정된 CSP에 지불하게 되는 가격을 도출하는 단계를 포함할 수 있다. A method for supporting a computing infrastructure environment according to an embodiment of the present invention includes the steps of: collecting price policies for a plurality of Cloud Service Providers (CSPs) and generating price policy information in which the price policies are configured in a markup language; storing the pricing policy information for the plurality of CSPs; determining one or more CSPs in which a computing infrastructure environment composed of a markup language input by a user from among the plurality of CSPs will operate; parsing a price determining factor in the markup language based on the pricing policy information for the determined CSP; and deriving a price to be paid to the determined CSP for a computing infrastructure environment supporting the parsed factor based on the price policy information mapped with the parsed factor.

본 발명의 실시예에 따르면, 복수의 CSP(Cloud Service Provider)에 대한 가격 정책을 마크업 언어 기반으로 통합 관리하여 특정 컴퓨팅 인프라 환경을 구축하는 데에 필요한 가격을 복수의 CSP 별로 신속하게 도출할 수 있으며, 이에 따라 사용자는 CSP 선택에 들이는 시간과 노력을 최소화할 수 있다. According to an embodiment of the present invention, it is possible to quickly derive the price required to build a specific computing infrastructure environment for each of the plurality of CSPs by integrating and managing the pricing policies for a plurality of CSPs (Cloud Service Providers) based on the markup language. Accordingly, the user can minimize the time and effort required for CSP selection.

또한, 사용자는 CSP에 컴퓨팅 인프라 환경을 처음 구축하거나 CSP를 교체하는 경우에도 개발 시간이나 자원을 추가적으로 투입할 필요 없이, 사용자가 원하는 CSP의 선택에 따라 컴퓨팅 인프라 환경을 구성하는 마크업 언어를 각 CSP의 규격 정보에 따라 재구성함으로써, 컴퓨팅 인프라 환경의 구축을 위해 필요한 리소스를 간편하게 CSP에 요청할 수 있다.In addition, users do not need to invest additional development time or resources even when building a computing infrastructure environment in CSP for the first time or replacing CSP. By reconfiguring according to the specification information of the CSP, it is possible to easily request the resources required for the construction of 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은 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치가 마크업 언어 기반으로 구성된 가격 정책 정보를 기초로 컴퓨팅 인프라 환경을 구축하는 데에 필요한 가격을 복수의 CSP 별로 도출한 예시도이다.
도 7은 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 방법의 흐름도이다.
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 an exemplary diagram in which a price required for a computing infrastructure environment support apparatus to build a computing infrastructure environment based on markup language-based pricing policy information according to an embodiment of the present invention is derived for each of a plurality of CSPs.
7 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) 각각을 선택하게 될 경우 지불하게 될 가격을 산정하는 기술을 제공한다. 더하여, 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치(100)는 사용하기로 결정된 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 on a computing infrastructure environment required by a user, and builds a cloud-based computing infrastructure environment. It provides a technology for calculating the price to be paid when each of a plurality of Cloud Service Providers (CSPs) are selected. In addition, the computing infrastructure environment support apparatus 100 according to an embodiment of the present invention automatically reconfigures information about the computing infrastructure environment input by the user according to the standard supported by the CSP determined to be used, and the standard of the corresponding CSP. It provides the technology to request the resources required for the computing infrastructure environment that the user wants to meet the needs of the user.

본 발명의 설명에서 지칭하는 컴퓨팅 인프라 환경이란 물리적으로 다른 위치에 존재하는 컴퓨팅 노드가 가상화 기술과 분산처리 기술을 활용하여 인터넷으로 제공하는 클라우드 기반 컴퓨팅 리소스(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)는 가격 정책부(105), 마크업 언어 생성부(110), 프로비저닝 데이터베이스(120), CSP 선택부(130), 파싱부(140), 변환부(150) 및 적용부(160)의 구성을 포함할 수 있고, 이하 각 구성의 역할에 대해 설명한다. In order to provide the above-described technology, the computing infrastructure environment support device 100 according to an embodiment of the present invention includes a price policy unit 105 , a markup language generation unit 110 , a provisioning database 120 , and a CSP selection unit. 130 , the parsing unit 140 , the transform unit 150 , and the application unit 160 may include the configuration, and the role of each configuration will be described below.

가격 정책부(105)는 복수의 CSP에 대한 가격 정책을 수집하고, 수집한 가격 정책에 대한 정보를 마크업 언어로 변환한 가격 정책 정보를 생성할 수 있다. 가격 정책부(105)는 상기 복수의 CSP에 대한 가격 정책 및 상기 가격 정책 정보를 저장할 수 있다. 가격 정책부(105)는 다양한 실시예에 따라 저장된 가격 정책 및 가격 정책 정보를 복수의 CSP로부터 새로 수신하여 동기화할 수 있다. 예를 들어, 가격 정책부(105)는 실시간 또는 기 설정된 주기에 따라 CSP의 가격을 동기화하거나, CSP에서 가격 정책이 변경되었을 때 동기화하거나, CSP에서 신규상품이 출시되었을 때 동기화하거나, 가격 정책부(105)에서 계산한 가격과 실제 CSP에 적용한 경우 가격이 상이하여 에러가 발생할 경우 동기화할 수 있다. The price policy unit 105 may collect price policies for a plurality of CSPs and generate price policy information obtained by converting the collected price policy information into a markup language. The price policy unit 105 may store price policies for the plurality of CSPs and the price policy information. The price policy unit 105 may newly receive and synchronize the stored pricing policy and price policy information from a plurality of CSPs according to various embodiments. For example, the price policy unit 105 synchronizes the price of the CSP in real time or according to a preset cycle, synchronizes when the price policy is changed in the CSP, synchronizes when a new product is released in the CSP, or the price policy unit If the price calculated in (105) is different from the actual CSP applied to the CSP, and an error occurs, it can be synchronized.

CSP는 사용자에게 제공하는 리소스 등의 인자 별로 제공하는 서비스의 가격을 책정할 수 있고, 각 CSP 별 가격 정책은 인자 별로 상이할 수 있다. 이때 가격을 결정하는 인자는 클라우드 기반 컴퓨팅 인프라 환경의 리소스, 속성, 속성값 또는 인자값을 포함할 수 있다. 리소스, 속성, 속성값 또는 인자값에 대한 상세한 설명은 후술하기로 한다.The CSP may set a price of a service provided for each factor such as a resource provided to the user, and a price policy for each CSP may be different for each factor. In this case, the factor determining the price may include a resource, an attribute, an attribute value, or a factor value of a cloud-based computing infrastructure environment. A detailed description of the resource, attribute, attribute value, or factor value will be described later.

가격 정책부(105)는 CSP가 자체적으로 정형화한 데이터 형식으로 제공하는 데이터를 획득할 수 있고, CSP 마다 자체적으로 사용하는 데이터 형식이 상이하기 때문에, 본 발명의 실시예에서 통일된 규격으로 사용되는 형식인 마크업 언어로 제공받은 데이터를 변환하여 가격 정책 정보를 생성할 수 있다.The pricing unit 105 can acquire data provided by the CSP in a standardized data format, and since the data format used by each CSP is different, it is used as a unified standard in the embodiment of the present invention. Pricing information can be generated by transforming the data provided in the markup language, which is a format.

한편, CSP가 직접 제공하는 데이터에는 가격을 결정하는 모든 인자에 대한 가격 정보가 포함되어 있지 않을 수 있기 때문에, 가격 정책부(105)는 CSP가 운영하는 웹페이지에 게시된 가격을 결정하는 인자에 대한 가격 정책을 크롤링한 정보를 획득할 수 있다. On the other hand, since the data directly provided by the CSP may not include price information for all factors determining the price, the price policy unit 105 determines the price posted on the web page operated by the CSP. It is possible to obtain crawled information about the price policy for

가격 정책부(105)는 가격을 결정하는 인자에 대한 정보를 마크업 언어로 구성하고, 가격을 결정하는 인자에 대해 복수의 CSP 별 가격을 매핑하여 가격 정책 정보를 생성할 수 있다. The price policy unit 105 may generate price policy information by composing information on price determining factors in a markup language and mapping prices for a plurality of CSPs with respect to price determining factors.

마크업 언어 생성부(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 in 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에 대하여 가격 정책부(105)가 생성한 가격 정책 정보와, 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격(또는 형식) 및 CSP 기능 호출 API 규격(또는 형식)을 포함하는 규격 정보를 저장할 수 있다. The provisioning database 120 provides pricing policy information generated by the pricing unit 105 for a plurality of CSPs, standards (or formats) for factors constituting the computing infrastructure environment, and CSP function call API standards (or formats). It can store standard information including.

여기서, 인자는 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.

가격 정책 정보는 CSP에 컴퓨팅 인프라 환경을 구성하기 위해 가격을 결정하는 인자인 리소스, 리소스 간 종속관계, 리소스 간 그룹관계, 속성, 속성값, 인자값 등을 마크업 언어로 특정하여 저장하고, 해당 마크업 언어에 대응되는 CSP 별 가격 정책에 대한 정보를 매핑하여 저장할 수 있다. Pricing policy information specifies and stores resources, dependency relationships between resources, group relationships between resources, properties, property values, and factor values, which are factors that determine the price in CSP to compose a computing infrastructure environment, in a markup language, and stores the corresponding Information on the price policy for each CSP corresponding to the markup language may be mapped and stored.

규격 정보는 각 CSP가 제공하는 인자를 특정하는 명칭, 인자를 요청하기 위한 방식, 인자 간 종속 관계, 인자 사용을 위한 설정에 사용되는 규격 등을 포함하는 정보를 포함할 수 있다. The specification 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), 파싱부(140), 변환부(150)의 동작은, 복수의 CSP 각각을 선택하게 될 경우 지불하게 될 가격을 산정하는 제1 실시예에 따른 설명과, CSP가 지원하는 규격에 따라 사용자가 입력한 컴퓨팅 인프라 환경에 대한 정보를 재구성하여 해당 CSP의 규격에 맞도록 컴퓨팅 인프라 환경에 필요한 리소스를 요청하는 제2 실시예에 따른 설명을 구분하여 설명한다. Hereinafter, the operations of the CSP selection unit 130 , the parsing unit 140 , and the conversion unit 150 which are components of the embodiment of the present invention to be described are the first to calculate the price to be paid when each of a plurality of CSPs is selected. According to the second embodiment of reconfiguring information about the computing infrastructure environment input by the user according to the description according to the first embodiment and the standards supported by the CSP, and requesting the resources required for the computing infrastructure environment to meet the standards of the corresponding CSP. Separate the descriptions.

먼저, 복수의 CSP 각각의 가격을 산정하는 제1 실시예의 동작을 수행하는 경우, CSP 선택부(130), 파싱부(140), 변환부(150)의 동작을 설명한다. First, when the operation of the first embodiment of calculating the price of each of a plurality of CSPs is performed, the operations of the CSP selection unit 130 , the parsing unit 140 , and the conversion unit 150 will be described.

CSP 선택부(130)는 사용자가 원하는 컴퓨팅 인프라 환경을 표현하는 마크업 언어를 사용자로부터 직접 입력 받거나, 사용자가 원하는 컴퓨팅 인프라 환경에 대한 정보를 기초로 마크업 언어 생성부(110)가 생성한 마크업 언어를 획득하여, 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 CSP를 결정할 수 있다. 이때 CSP 선택부(130)는 사용자의 선택에 따라 복수의 CSP 중 하나 이상의 CSP가 선택할 수 있으며, 또는 복수의 CSP 중 하나 이상의 CSP가 기본적으로 선택되도록 설정되어 기본 설정 대로 CSP를 선택할 수 있다. The CSP selection unit 130 receives a markup language expressing the computing infrastructure environment desired by the user directly from the user, or a mark generated by the markup language generation unit 110 based on information on the computing infrastructure environment desired by the user. By acquiring the up language, it is possible to determine the CSP on which the computing infrastructure environment configured in the markup language will operate. In this case, the CSP selection unit 130 may select one or more CSPs from among the plurality of CSPs according to the user's selection, or may be set to select one or more CSPs from among the plurality of CSPs by default, and may select a CSP according to the default setting.

예를 들어, CSP 선택부(130)는 컴퓨팅 인프라 환경이 각 CSP에서 동작하는 경우의 성능, 비용, 가용성 등 품질기준(SLA)과 같은 항목 중 사용자가 설정한 우선 순위의 항목을 기준으로 최적의 CSP를 결정할 수 있다. 이를 위해, CSP 선택부(130)는 특정 컴퓨팅 인프라 환경이 각 CSP에서 동작하는 경우의 성능, 비용(ex. 장기 계약 기준 또는 단기 계약 기준 등으로 나누는 경우 포함), 가용성 등 품질기준(SLA)을 평가할 수 있는 RULE 정보를 저장할 수 있다.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 selection unit 130 selects a quality standard (SLA) such as performance, cost (eg, divided into long-term contract standards or short-term contract standards, etc.), availability, etc. when a specific computing infrastructure environment operates in each CSP. RULE information that can be evaluated can be stored.

파싱부(140)는 CSP 선택부(130)에 의해 결정된 하나 이상의 CSP에 대해 프로비저닝 데이터베이스(120)에 저장된 가격 정책 정보에 기초하여 사용자가 입력한 컴퓨팅 인프라 환경을 나타내는 마크업 언어 중 가격을 결정하는 인자를 파싱할 수 있다. 예를 들어, 파싱부(140)는 입력된 마크업 언어 중 가격을 결정하는 인자인 리소스, 리소스 간 종속관계, 리소스 간 그룹관계, 속성, 속성값, 인자값 등을 파싱할 수 있다. 이때 파싱부(140)는 파싱된 인자를 지원하는 서비스가 결정된 CSP에 부재하는 경우, 프로비저닝 데이터베이스(120)에 저장된 규격 정보에 기초하여 유사한 서비스를 추천할 수 없으며, 유사한 서비스가 부재하는 경우, 파싱된 인자를 지원하는 서비스가 없음을 사용자에게 알릴 수 있다.The parsing unit 140 determines the price among markup languages representing the computing infrastructure environment input by the user based on the pricing policy information stored in the provisioning database 120 for one or more CSPs determined by the CSP selection unit 130. Arguments can be parsed. For example, the parsing unit 140 may parse a resource, a dependency relationship between resources, a group relationship between resources, an attribute, an attribute value, a factor value, etc. which are factors determining a price among the input markup languages. 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.

파싱부(140)는 특정 리소스, 속성, 속성값, 인자값에 대해 CSP에서 여러 개의 상품이 존재하는 경우, 성능, 비용, 최신 출시일 중 어느 하나를 기준으로 선별한 상품의 서비스를 매핑시킬 수 있다. The parsing unit 140 may map the service of the selected product based on any one of performance, cost, and the latest release date when there are multiple products in the CSP for a specific resource, attribute, attribute value, and factor value. .

변환부(150)는 가격 정책 정보에서 파싱부(140)에 의해 파싱된 인자와 매핑되어 있는 가격에 기초하여, 파싱된 인자를 지원하는 컴퓨팅 인프라 환경을 각 CSP에 요청하는 경우 지불하게 될 가격을 산정할 수 있다. 또한, 변환부(150)는 처음 입력했던 컴퓨팅 인프라 환경의 세팅값과 달리, 리소스, 속성, 속성값 또는 인자값을 변경하여 선택할 수 있도록 하는 인터페이스를 사용자에게 제공하고, 사용자가 인터페이스를 통해 리소스, 속성, 속성값 또는 인자값을 변경하여 선택함에 따라, 새롭게 선택된 리소스, 속성, 속성값 또는 인자값을 기준으로 가격 정책 정보에 매핑되어 있는 가격에 기초하여 새로운 세팅에 따른 각 CSP 별 가격을 도출할 수 있다. Based on the price mapped with the factor parsed by the parsing unit 140 in the price policy information, the conversion unit 150 determines the price to be paid when each CSP requests a computing infrastructure environment supporting the parsed factor. can be calculated In addition, the conversion unit 150 provides the user with an interface that allows the user to select by changing the resource, property, property value or factor value, unlike the setting value of the computing infrastructure environment that was initially input, and the user uses the resource, As the attribute, attribute value, or factor value is changed and selected, the price for each CSP according to the new setting can be derived based on the price mapped to the pricing policy information based on the newly selected resource, attribute, attribute value or factor value. can

도 6은 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 장치가 마크업 언어 기반으로 구성된 가격 정책 정보를 기초로 컴퓨팅 인프라 환경을 구축하는 데에 필요한 가격을 복수의 CSP 별로 도출한 예시도이다. 6 is an exemplary diagram in which a price required for a computing infrastructure environment support apparatus to build a computing infrastructure environment based on markup language-based pricing policy information according to an embodiment of the present invention is derived for each of a plurality of CSPs.

도 6과 함께 다시 도 2를 참조하면, 마크업 언어 생성부(110)는 도 2와 같이 사용자가 입력한 컴퓨팅 인프라 환경을 표현하는 마크업 언어를 생성하고, CSP 선택부(130)가 복수의 CSP 중 AWS, Aliyun, GCP(Google Cloud Platform), Azure 에 해당하는 4가지 CSP에 대한 가격을 분석하기로 결정한 경우, 파싱부(140)는 마크업 언어 생성부(110)가 생성한 마크업 언어 중 가격을 결정하는 인자(ex. Network, Storage, Database, Compute)를 파싱하고, 변환부(150)는 파싱된 인자(ex. Network, Storage, Database, Compute)와 매핑되어 있는 가격(ex. AWS, Aliyun, GCP, Azure에 대해 프로비저닝 데이터베이스(120)에 저장된 가격 정책 정보)에 기초하여, 파싱된 인자를 지원하는 컴퓨팅 인프라 환경의 가격(ex. AWS- 15.07 달러, Aliyun - 18.25 달러, GCP- 39.65 달러, Azure- 12.49 달러)을 산정할 수 있다. 이에 따라, 사용자는 가격과 성능을 고려하여 CSP 선택부(130)를 통해 자신이 사용할 CSP를 선택할 수 있다. 예를 들면, 도 6의 예시의 경우 낮은 가격을 기준으로 AWS를 선택할 수 있다. Referring back to FIG. 2 together with FIG. 6 , the markup language generating unit 110 generates a markup language representing the computing infrastructure environment input by the user as shown in FIG. 2 , and the CSP selection unit 130 includes a plurality of When it is decided to analyze the prices for four CSPs corresponding to AWS, Aliyun, Google Cloud Platform (GCP), and Azure among CSPs, the parsing unit 140 generates the markup language generated by the markup language generation unit 110 . Parsing the factors determining the price (ex. Network, Storage, Database, Compute), and the conversion unit 150 is the price (ex. AWS) mapped with the parsed factors (ex. Network, Storage, Database, Compute) , Aliyun, Google Cloud, pricing information stored in the provisioning database 120 for Azure), based on the price of the computing infrastructure environment that supports the parsed factor (eg AWS- $ 15.07, Aliyun - $ 18.25, GCP- 39.65) dollars, Azure - $ 12.49). Accordingly, the user may select the CSP to be used by the user through the CSP selection unit 130 in consideration of price and performance. For example, in the example of FIG. 6 , AWS may be selected based on a low price.

다음으로, 제1 실시예의 동작에 따라 CSP가 선택된 상태에서, 선택된 CSP가 요구하는 규격에 맞도록 컴퓨팅 인프라 환경에 대한 정보를 재구성하여 리소스를 요청하는 제2 실시예에 따른 CSP 선택부(130), 파싱부(140), 변환부(150)의 동작을 설명한다.Next, in a state in which the CSP is selected according to the operation of the first embodiment, the CSP selector 130 according to the second embodiment that reconfigures information about the computing infrastructure environment to meet the standard required by the selected CSP and requests a resource , the parsing unit 140 and the operation of the converting unit 150 will be described.

CSP 선택부(130)는 상술한 제1 실시예에 의해 사용자가 선택한 CSP를 입력 받을 수 있다.The CSP selector 130 may receive the CSP selected by the user according to the first embodiment described above.

파싱부(140)는 CSP 선택부(130)에 의해 결정된 CSP와 프로비저닝 데이터베이스(120)에 저장된 규격 정보에 기초하여 마크업 언어 중 결정된 CSP에 맞도록 변환되어야 할 인자를 파싱할 수 있다. 파싱부(140)는 마크업 언어에 포함된 리소스, 속성, 속성값, 인자값 등을 포함하는 인자들을 파싱하여, 프로비저닝 데이터베이스(120)에 해당 인자와 매핑되어 있는 CSP 규격 정보를 검색할 수 있다. The parsing unit 140 may parse the factor to be converted to fit the CSP determined 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. .

변환부(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)의 구성 요소들, 예를 들어, 가격 정책부(105), 마크업 언어 생성부(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 pricing unit 105 , the markup language generation unit 110 , and the provisioning database 120 . , the CSP selection unit 130 , the parsing unit 140 , the converting unit 150 , and the applying unit 160 may be controlled.

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

도 7은 본 발명의 일 실시예에 따른 컴퓨팅 인프라 환경 지원 방법의 흐름도이다. 도 7에 따른 컴퓨팅 인프라 환경 지원 방법의 각 단계는 도 1을 통해 설명된 컴퓨팅 인프라 환경 지원 장치(100)에 의해 수행될 수 있으며, 각 단계를 설명하면 다음과 같다.7 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. 7 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 동작에서, 가격 정책부(105)는 복수의 CSP에 대한 가격 정책을 수집하여 가격 정책을 마크업 언어로 구성한 가격 정책 정보를 생성할 수 있다. In operation S510 , the price policy unit 105 may collect price policies for a plurality of CSPs and generate price policy information in which the price policies are configured in a markup language.

S520 동작에서, 프로비저닝 데이터베이스(120)는 복수의 CSP에 대한 가격 정책 정보를 저장할 수 있다. In operation S520 , the provisioning database 120 may store pricing policy information for a plurality of CSPs.

S530 동작에서, CSP 선택부(130)는 사용자가 입력한 마크업 언어로 구성된 컴퓨팅 인프라 환경이 동작할 CSP를 결정할 수 있다. In operation S530, the CSP selector 130 may determine a CSP in which the computing infrastructure environment configured in the markup language input by the user will operate.

S540 동작에서, 파싱부(140)는 결정된 CSP에 기초하여 마크업 언어 중 가격을 결정하는 인자를 파싱할 수 있다. In operation S540 , the parsing unit 140 may parse a price determining factor among markup languages based on the determined CSP.

S550 동작에서, 변환부(150)는 파싱된 인자와 매핑되어 있는 가격 정책 정보에 기초하여, 파싱된 인자를 지원하는 컴퓨팅 인프라 환경에 대해 결정된 CSP에 지불하게 되는 가격을 도출할 수 있다. In operation S550, the conversion unit 150 may derive a price to be paid to the CSP determined for the computing infrastructure environment supporting the parsed factor, based on the price policy information mapped with the parsed factor.

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

상술한 실시예와 같은 방식을 이용할 경우, 복수의 CSP에 대한 가격 정책을 마크업 언어 기반으로 통합 관리하여 특정 컴퓨팅 인프라 환경을 구축하는 데에 필요한 가격을 복수의 CSP 별로 신속하게 도출할 수 있으며, 이에 따라 사용자는 CSP 선택에 들이는 시간과 노력을 최소화할 수 있다. 또한, 사용자는 CSP에 컴퓨팅 인프라 환경을 처음 구축하거나 CSP를 교체하는 경우에도 개발 시간이나 자원을 추가적으로 투입할 필요 없이, 사용자가 원하는 CSP의 선택에 따라 컴퓨팅 인프라 환경을 구성하는 마크업 언어를 각 CSP의 규격 정보에 따라 재구성함으로써, 컴퓨팅 인프라 환경의 구축을 위해 필요한 리소스를 간편하게 CSP에 요청할 수 있다. When using the same method as in the above-described embodiment, price policies for a plurality of CSPs are integrated and managed based on a markup language, so that the price required to build a specific computing infrastructure environment can be quickly derived for each of the plurality of CSPs, Accordingly, the user can minimize the time and effort required for CSP selection. In addition, users do not need to invest additional development time or resources even when building a computing infrastructure environment in CSP for the first time or replacing CSP. By reconfiguring according to the specification information of the CSP, it is possible to easily request the resources required for the construction of 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 (16)

복수의 CSP(Cloud Service Provider)에 대하여 컴퓨팅 인프라 환경을 구성하는 인자에 대한 규격을 포함하는 규격 정보와, 상기 규격 정보에 대응하는 자원 사용의 가격 정책 정보를 수집하는 가격 정책부;
상기 복수의 CSP 별 규격 정보 및 가격 정책 정보를 저장하는 프로비저닝 데이터베이스;
사용자가 사용할 컴퓨팅 인프라 환경에 포함될 구성, 상기 구성 간의 연결 관계, 상기 구성 간의 그룹관계, 상기 구성 간의 종속 관계에 대한 정보를 마크업 언어로 구성하는 마크업 언어 생성부;
상기 사용자가 사용할 컴퓨팅 인프라 환경이 동작할 적어도 하나의 CSP를 결정하는 CSP 선택부;
상기 규격 정보에 기초하여 상기 마크업 언어 중 상기 결정된 CSP에 자원을 요청하기 위해 변환되어야 할 인자를 파싱하는 파싱부; 및
상기 결정된 CSP에 요청할 자원의 규격 정보에 대응되도록 상기 파싱된 인자에 입력되어야 하는 변환 정보를 결정하고, 상기 결정된 변환 정보에 매핑되어 있는 가격 정책 정보에 기초하여, 상기 변환 정보를 지원하는 컴퓨팅 인프라 환경에 대해 상기 결정된 CSP에 지불하게 되는 가격을 도출하는 변환부를 포함하는,
컴퓨팅 인프라 환경 지원 장치.
a pricing unit for collecting standard information including standards for factors constituting a computing infrastructure environment for a plurality of Cloud Service Providers (CSPs), and pricing policy information for resource use corresponding to the standard information;
a provisioning database for storing the plurality of CSP-specific standard information and price policy information;
a markup language generation unit configured to configure information about a configuration to be included in a 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 that determines at least one CSP in which the computing infrastructure environment to be used by the user operates;
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 standard information; and
A computing infrastructure environment that determines conversion information to be input to the parsed factor so as to correspond to the standard information of a resource to be requested from the determined CSP, and supports the conversion information based on the pricing policy information mapped to the determined conversion information Containing a conversion unit for deriving the price to be paid for the determined CSP,
Computing infrastructure environment support devices.
제1항에 있어서,
상기 변환 정보는,
컴퓨팅 인프라 환경의 리소스, 속성, 속성값 또는 인자값을 포함하는,
컴퓨팅 인프라 환경 지원 장치.
According to claim 1,
The conversion information is
Including the resource, attribute, attribute value or argument value of the computing infrastructure environment,
Computing infrastructure environment support devices.
제2항에 있어서,
상기 가격 정책부는,
CSP가 직접 제공하는 가격을 결정하는 인자에 대한 가격 정책 및 CSP가 운영하는 웹페이지에 게시된 가격을 결정하는 인자에 대한 가격 정책을 크롤링한 정보를 포함하는,
컴퓨팅 인프라 환경 지원 장치.
3. The method of claim 2,
The price policy department,
Including crawled information on the pricing policy for the price determining factor directly provided by the CSP and the price determining factor posted on the web page operated by the CSP,
Computing infrastructure environment support devices.
제3항에 있어서,
상기 가격 정책부는,
상기 규격 정보 및 상기 가격 정책 정보를 마크업 언어로 구성하여 상기 프로비저닝 데이터베이스에 저장하는,
컴퓨팅 인프라 환경 지원 장치.
4. The method of claim 3,
The price policy department,
Composing the specification information and the pricing policy information in a markup language and storing them in the provisioning database,
Computing infrastructure environment support devices.
제4항에 있어서,
상기 변환부는,
상기 컴퓨팅 인프라 환경에서 리소스, 속성, 속성값 또는 인자값을 변경하여 선택할 수 있는 인터페이스를 상기 사용자에게 제공하고, 상기 인터페이스를 통한 리소스, 속성, 속성값 또는 인자값에 대한 상기 사용자의 선택에 따라, 상기 선택된 리소스, 속성, 속성값 또는 인자값와 매핑되어 있는 상기 가격 정책 정보에 기초하여 상기 사용자가 선택한 컴퓨팅 인프라 환경의 가격을 도출하는,
컴퓨팅 인프라 환경 지원 장치.
5. The method of claim 4,
The conversion unit,
Provide the user with an interface that can be selected by changing the resource, attribute, attribute value or factor value in the computing infrastructure environment, and according to the user's selection of the resource, attribute, attribute value or factor value through the interface, Deriving the price of the computing infrastructure environment selected by the user based on the price policy information mapped with the selected resource, attribute, attribute value or factor value,
Computing infrastructure environment support devices.
삭제delete 삭제delete 제1항에 있어서,
상기 변환부는,
상기 변환 정보에 기반하여 상기 마크업 언어를 재구성하는,
컴퓨팅 인프라 환경 지원 장치.
According to claim 1,
The conversion unit,
reconstructing the markup language based on the transformation information,
Computing infrastructure environment support devices.
제8항에 있어서,
상기 장치는,
상기 재구성된 마크업 언어를 이용하여 상기 결정된 CSP에 컴퓨팅 인프라 환경을 요청하는 적용부를 더 포함하는,
컴퓨팅 인프라 환경 지원 장치.
9. The method of claim 8,
The device is
Using the reconstructed markup language further comprising an application unit for requesting a computing infrastructure environment to the determined CSP,
Computing infrastructure environment support devices.
제8항에 있어서,
상기 변환부는,
상기 결정된 CSP의 규격 정보에 기초하여, 상기 마크업 언어에 포함된 컴퓨팅 인프라 환경에 대한 리소스를 요청할 API를 결정하는,
컴퓨팅 인프라 환경 지원 장치.
9. The method of claim 8,
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.
제10항에 있어서,
상기 변환부는,
상기 결정된 CSP의 규격 정보에 기초하여, 상기 마크업 언어에서 구성된 인자의 배열 순서 및 상기 API의 호출 순서를 결정하여 상기 변환 정보를 생성하는,
컴퓨팅 인프라 환경 지원 장치.
11. The method of claim 10,
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.
제11항에 있어서,
상기 변환부는,
상기 인자를 상기 변환 정보에 따라 변환하고, 상기 인자의 배열 순서 및 상기 API의 호출 순서에 따라 상기 마크업 언어를 재구성하는,
컴퓨팅 인프라 환경 지원 장치.
12. The method of claim 11,
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.
제12항에 있어서,
상기 변환부는,
상기 결정된 CSP의 규격 정보에 기초하여 상기 재구성된 마크업 언어에 대하여 디버깅을 수행하고,
컴퓨팅 인프라 환경 지원 장치.
13. The method of claim 12,
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.
제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 별 규격 정보 및 가격 정책 정보를 저장하는 단계;
사용자가 사용할 컴퓨팅 인프라 환경에 포함될 구성, 상기 구성 간의 연결 관계, 상기 구성 간의 그룹관계, 상기 구성 간의 종속 관계에 대한 정보를 마크업 언어로 구성하는 단계;
상기 사용자가 사용할 컴퓨팅 인프라 환경이 동작할 적어도 하나의 CSP를 결정하는 단계;
상기 규격 정보에 기초하여 상기 마크업 언어 중 상기 결정된 CSP에 자원을 요청하기 위해 변환되어야 할 인자를 파싱하는 단계; 및
상기 결정된 CSP에 요청할 자원의 규격 정보에 대응되도록 상기 파싱된 인자에 입력되어야 하는 변환 정보를 결정하고, 상기 결정된 변환 정보에 매핑되어 있는 가격 정책 정보에 기초하여, 상기 변환 정보를 지원하는 컴퓨팅 인프라 환경에 대해 상기 결정된 CSP에 지불하게 되는 가격을 도출하는 단계를 포함하는,
컴퓨팅 인프라 환경 지원 방법.
In the computing infrastructure environment support method performed by the computing infrastructure environment support device,
collecting standard information including standards for factors constituting a computing infrastructure environment for a plurality of Cloud Service Providers (CSPs), and pricing policy information of resource use corresponding to the standard information;
storing standard information and price policy information for each of the plurality of CSPs;
composing information about a configuration to be included in a 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 at least one CSP in which a computing infrastructure environment to be used by the user will operate;
parsing a factor to be converted in order to request a resource from the determined CSP among the markup languages based on the standard information; and
A computing infrastructure environment that determines conversion information to be input to the parsed factor so as to correspond to the standard information of a resource to be requested from the determined CSP, and supports the conversion information based on the pricing policy information mapped to the determined conversion information deriving a price to be paid to the determined CSP for
How to support your computing infrastructure environment.
제15항의 방법을 프로세서가 수행하도록 하는 컴퓨터 판독 가능 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a computer readable recording medium for causing a processor to perform the method of claim 15 .
KR1020200121381A 2020-09-21 2020-09-21 Apparatus and method for applying environment of computing infrastructure based on comparison of price rule according to cloud service provider Active KR102443202B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200121381A KR102443202B1 (en) 2020-09-21 2020-09-21 Apparatus and method for applying environment of computing infrastructure based on comparison of price rule according to cloud service provider

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200121381A KR102443202B1 (en) 2020-09-21 2020-09-21 Apparatus and method for applying environment of computing infrastructure based on comparison of price rule according to cloud service provider

Publications (2)

Publication Number Publication Date
KR20220038944A KR20220038944A (en) 2022-03-29
KR102443202B1 true KR102443202B1 (en) 2022-09-14

Family

ID=80995669

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200121381A Active KR102443202B1 (en) 2020-09-21 2020-09-21 Apparatus and method for applying environment of computing infrastructure based on comparison of price rule according to cloud service provider

Country Status (1)

Country Link
KR (1) KR102443202B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140075032A1 (en) 2012-09-07 2014-03-13 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services

Family Cites Families (5)

* 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
KR102427276B1 (en) * 2016-03-28 2022-07-29 오라클 인터내셔날 코포레이션 Pre-formed commands for mobile cloud service
KR20170112889A (en) * 2016-03-29 2017-10-12 한국전자통신연구원 Cloud service compatibility verification apparatus and method therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140075032A1 (en) 2012-09-07 2014-03-13 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103294475B (en) The business automatic creation system of graphic based business scenario and domain template and method
US8751558B2 (en) Mashup infrastructure with learning mechanism
Grassi et al. From design to analysis models: a kernel language for performance and reliability analysis of component-based systems
US10938669B2 (en) Intelligent information adapter generation for service management
US9912760B2 (en) Dynamically generating solution stacks
US10915378B1 (en) Open discovery service
Cretella et al. A semantic engine for porting applications to the cloud and among clouds
US11847509B2 (en) Infrastructure base model API
Hosono A DevOps framework to shorten delivery time for cloud applications
Bocciarelli et al. A model-driven method for building distributed simulation systems from business process models
US20200081700A1 (en) Intention-based command optimization
Park et al. Approach for selecting and integrating cloud services to construct hybrid cloud
KR102443199B1 (en) Apparatus and method for applying environment of computing infrastructure which recommends environment of computing infrastructure based on service profile
Wang et al. SaaS-based enterprise application integration approach and case study
Grassi et al. Klaper: An intermediate language for model-driven predictive analysis of performance and reliability
Chernyshov et al. Intelligence search engine and automatic integration system for web-services and cloud-based data pro-viders based on semantics
Bau et al. A cloud-based architecture for an interoperable, resilient, and scalable C2 information system
Andrikopoulos et al. Design support for cost-efficient application distribution in the cloud
KR102443202B1 (en) Apparatus and method for applying environment of computing infrastructure based on comparison of price rule according to cloud service provider
US20180341463A1 (en) Software object definition and integration
KR102437052B1 (en) Apparatus and method for applying environment of computing infrastructure based on reorganizing markup language according to cloud service provider
Almeida et al. A component-based adaptation approach for multi-cloud applications
Hossny et al. Stager: Semantic-based framework for generating adapters of service-based generic-api for portable cloud applications
CN116232896A (en) A cloud manufacturing resource service encapsulation and release method based on tensor theory
Xu et al. Research on dynamic business composition based on web service proxies

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20200921

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20220222

Patent event code: PE09021S01D

PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20220825

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20220907

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20220907

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20250702

Start annual number: 4

End annual number: 4